:root { --ink:#ffffff; --muted:#c8c8c8; --gold:#d1a15a; --gold-dark:#e2bc7f; --cream:#171717; --paper:#090909; --line:#353535; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist-sans),"PingFang SC","Microsoft YaHei",sans-serif; }
button,a { font:inherit; }
button { cursor:pointer; color:inherit; }
a { color:inherit; text-decoration:none; }
[hidden] { display:none !important; }
.site-header { position:sticky; top:0; z-index:30; height:82px; padding:0 max(5vw,28px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(9,9,9,.96); backdrop-filter:blur(18px); }
.brand { display:flex; align-items:center; gap:12px; font-weight:650; letter-spacing:.08em; }
.brand-mark { width:39px; height:39px; display:grid; place-items:center; background:#fff; color:#111; border-radius:50%; font-family:Georgia,serif; font-size:13px; letter-spacing:.06em; }
nav { display:flex; align-items:center; gap:34px; color:#fff; font-size:14px; font-weight:600; }
nav a { position:relative; }
nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--gold); transition:.25s; }
nav a:hover:after { right:0; }
.nav-cta,.primary-btn,.light-btn { border:0; display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:999px; font-weight:650; transition:.25s; }
.nav-cta { padding:12px 20px; color:#111; background:#fff; font-size:13px; }
.nav-cta:hover,.primary-btn:hover { background:var(--gold); color:#111; transform:translateY(-1px); }
.hero { min-height:calc(100vh - 82px); max-width:1480px; margin:auto; padding:70px max(5vw,28px) 52px; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:72px; overflow:hidden; }
.eyebrow { margin:0 0 22px; display:flex; align-items:center; gap:9px; color:var(--gold-dark); font-size:11px; font-weight:700; letter-spacing:.2em; }
.hero h1,.section h2,.contact-modal h2,.legal-hero h1 { margin:0; font-family:Georgia,"Songti SC",serif; font-weight:400; letter-spacing:-.045em; }
.hero h1 { font-size:clamp(58px,6.3vw,98px); line-height:.98; }
.hero h1 em { color:var(--gold); font-weight:400; }
.hero-desc { max-width:610px; margin:32px 0; color:#d1d1d1; font-size:17px; line-height:1.9; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.primary-btn { padding:17px 26px; background:#fff; color:#111; border:1px solid #fff; }
.text-btn { font-size:14px; border-bottom:1px solid var(--line); padding:10px 0; }
.text-btn span { margin-left:11px; color:var(--gold); }
.hero-proof { margin-top:56px; padding-top:28px; border-top:1px solid var(--line); display:flex; gap:40px; }
.hero-proof div { display:grid; gap:4px; }
.hero-proof strong { font-family:Georgia,"Songti SC",serif; font-size:24px; font-weight:400; }
.hero-proof span { color:var(--muted); font-size:12px; }
.hero-visual { position:relative; min-height:670px; }
.hero-image { position:absolute; inset:0 0 0 7%; border-radius:220px 220px 24px 24px; background:linear-gradient(160deg,#e7ddcf,#c9aa7d); background-image:url('/images/hero.png'); background-size:cover; background-position:center; box-shadow:0 30px 70px rgba(69,52,31,.15); }
.hero-visual:before { content:""; position:absolute; width:180px; height:180px; left:-35px; top:45px; border:1px solid #cbb894; border-radius:50%; }
.floating-card { position:absolute; left:-10px; bottom:54px; display:flex; align-items:center; gap:14px; padding:17px 20px; color:#111; border:1px solid rgba(255,255,255,.8); border-radius:18px; background:rgba(255,255,255,.92); backdrop-filter:blur(16px); box-shadow:0 18px 40px rgba(0,0,0,.28); }
.floating-icon { width:39px; height:39px; display:grid; place-items:center; border-radius:50%; background:#e9dfcf; color:var(--gold-dark); }
.floating-card div { display:grid; gap:4px; }
.floating-card strong { font-size:13px; }
.floating-card small { color:var(--muted); font-size:11px; }
.visual-note { position:absolute; right:-112px; bottom:160px; transform:rotate(90deg); font-size:9px; letter-spacing:.28em; color:#8d8173; }
.trust-strip { display:flex; justify-content:center; gap:clamp(22px,4vw,68px); padding:26px 30px; background:#050505; color:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-family:Georgia,"Songti SC",serif; letter-spacing:.12em; }
.trust-strip i { color:#d6ad72; font-style:normal; }
.section { max-width:1400px; margin:auto; padding:118px max(5vw,28px); }
.section-heading { display:grid; grid-template-columns:1.35fr .65fr; align-items:end; gap:70px; margin-bottom:56px; }
.section h2 { font-size:clamp(42px,4.5vw,68px); line-height:1.08; }
.section-heading>p,.showcase-copy>p { margin:0; color:var(--muted); line-height:1.9; }
.service-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.service-card { position:relative; min-height:275px; padding:28px 58px 28px 10px; display:grid; grid-template-columns:180px 46px 1fr; align-items:center; gap:18px; border-bottom:1px solid var(--line); transition:.25s; }
.service-card:nth-child(odd) { border-right:1px solid var(--line); padding-right:48px; }
.service-card:nth-child(even) { padding-left:48px; }
.service-card:hover { background:#151515; }
.service-photo { width:100%; height:220px; border-radius:18px; background-size:cover; background-repeat:no-repeat; box-shadow:0 18px 36px rgba(0,0,0,.28); }
.service-num { color:var(--gold); font-family:Georgia,serif; font-size:13px; }
.service-card h3 { margin:0 0 17px; font-family:Georgia,"Songti SC",serif; font-size:25px; font-weight:400; }
.service-card p { margin:0; color:var(--muted); line-height:1.8; font-size:14px; }
.card-arrow { position:absolute; right:18px; top:35px; width:37px; height:37px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--gold-dark); transition:.25s; }
.service-card:hover .card-arrow { background:var(--ink); border-color:var(--ink); color:#fff; }
.showcase { display:grid; grid-template-columns:.76fr 1.24fr; gap:90px; align-items:center; background:#141414; max-width:none; padding-left:max(calc((100vw - 1400px)/2 + 5vw),5vw); padding-right:max(calc((100vw - 1400px)/2 + 5vw),5vw); }
.showcase-copy>p { margin:30px 0; max-width:500px; }
.showcase-copy ul { padding:0; margin:0 0 34px; list-style:none; display:grid; gap:14px; }
.showcase-copy li { display:flex; align-items:center; gap:12px; font-size:14px; }
.showcase-copy li span { color:var(--gold-dark); }
.outline-btn { padding:15px 21px; display:inline-flex; gap:14px; align-items:center; border:1px solid #a99c89; border-radius:999px; background:transparent; transition:.25s; }
.outline-btn:hover { color:#fff; background:var(--ink); border-color:var(--ink); }
.showcase-images { min-height:630px; position:relative; }
.portrait { position:absolute; background-size:cover; background-position:center; box-shadow:0 22px 55px rgba(61,46,28,.16); }
.portrait-one { width:52%; height:82%; left:0; top:0; border-radius:180px 180px 10px 10px; background-image:url('/images/service-1.png'); background-color:#d5c0a0; }
.portrait-two { width:48%; height:66%; right:0; bottom:0; border:10px solid #141414; border-radius:10px 10px 150px 150px; background-image:url('/images/service-2.png'); background-color:#cdb48d; }
.image-caption { position:absolute; left:53%; top:4%; font-size:9px; letter-spacing:.24em; color:#c7c7c7; }
.compact { margin-bottom:44px; }
.compact h2 { font-size:clamp(40px,4vw,60px); }
.steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.steps li { padding:28px 26px 8px 0; min-height:190px; border-right:1px solid var(--line); }
.steps li+li { padding-left:26px; }
.steps li:last-child { border-right:0; }
.steps span { color:var(--gold); font-family:Georgia,serif; font-size:13px; }
.steps strong { display:block; margin:34px 0 13px; font-size:17px; }
.steps p { margin:0; color:var(--muted); line-height:1.75; font-size:13px; }
.cta-section { max-width:1280px; margin-bottom:80px; padding:78px 74px; display:flex; align-items:end; justify-content:space-between; gap:40px; border:1px solid #3a3a3a; border-radius:30px; background:#050505; color:#fff; }
.cta-section h2 { font-size:clamp(42px,4vw,64px); }
.light { color:#d8bb8b; }
.light-btn { flex-shrink:0; padding:17px 24px; background:#fff; color:#111; }
.light-btn:hover { background:#fff; transform:translateY(-2px); }
footer { padding:72px max(5vw,28px) 26px; background:#050505; border-top:1px solid #353535; }
.footer-main { max-width:1300px; margin:auto; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:40px; }
.footer-main>p { color:var(--muted); line-height:1.8; font-size:13px; }
.footer-contact { justify-self:end; display:grid; gap:7px; text-align:right; }
.footer-contact span { color:var(--muted); font-size:11px; letter-spacing:.12em; }
.footer-contact button { padding:0; border:0; background:none; font-weight:650; }
.footer-bottom { max-width:1300px; margin:58px auto 0; padding-top:22px; display:flex; justify-content:space-between; border-top:1px solid #353535; color:#d5d5d5; font-size:12px; }
.footer-bottom div { display:flex; gap:25px; }
.footer-bottom a:hover { color:var(--gold-dark); }
.mobile-contact { display:none; }
.modal-backdrop { position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:22px; background:rgba(27,24,20,.55); backdrop-filter:blur(9px); }
.contact-modal { width:min(560px,100%); max-height:90vh; overflow:auto; padding:34px; border:1px solid #383838; border-radius:27px; background:#111; box-shadow:0 35px 90px rgba(0,0,0,.55); }
.modal-head { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.contact-modal h2 { font-size:38px; }
.close-btn { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:transparent; font-size:25px; }
.modal-intro { margin:18px 0 24px; color:var(--muted); line-height:1.7; font-size:14px; }
.contact-list { display:grid; gap:10px; }
.contact-list a,.contact-list button { width:100%; padding:13px; display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:13px; color:#fff; border:1px solid var(--line); border-radius:14px; background:#1a1a1a; text-align:left; transition:.2s; }
.contact-list a:hover,.contact-list button:hover { border-color:var(--gold); background:#232323; }
.contact-mark { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#111; font-size:11px; font-weight:700; }
.contact-list a>span:nth-child(2),.contact-list button>span:nth-child(2) { display:grid; gap:3px; }
.contact-list small { color:var(--muted); }
.contact-list strong { font-size:14px; }
.contact-list b { color:var(--gold-dark); font-size:12px; }
.safe-note { margin:20px 0 0; color:#aaa; font-size:11px; line-height:1.6; }
.legal-hero { padding:110px max(5vw,28px) 70px; background:#141414; border-bottom:1px solid var(--line); text-align:center; }
.legal-hero h1 { font-size:clamp(48px,6vw,78px); }
.legal-hero p { max-width:680px; margin:24px auto 0; color:var(--muted); line-height:1.8; }
.legal-wrap { max-width:900px; margin:auto; padding:80px 30px 110px; }
.legal-wrap h2 { margin:50px 0 16px; font-family:Georgia,"Songti SC",serif; font-size:28px; font-weight:400; }
.legal-wrap p,.legal-wrap li { color:#d0d0d0; line-height:1.9; }
.legal-wrap .back-link { display:inline-flex; margin-bottom:30px; color:var(--gold-dark); }

@media (max-width:900px) {
  .site-header { height:70px; padding:0 18px; }
  nav { display:none; }
  .brand { font-size:14px; }
  .brand-mark { width:34px; height:34px; }
  .nav-cta { padding:10px 14px; }
  .hero { min-height:0; padding:50px 20px 44px; grid-template-columns:1fr; gap:40px; }
  .hero h1 { font-size:clamp(52px,15vw,72px); }
  .hero-desc { font-size:15px; margin:25px 0; }
  .hero-proof { margin-top:38px; gap:24px; }
  .hero-proof strong { font-size:20px; }
  .hero-visual { min-height:500px; }
  .hero-image { inset:0 0 0 0; border-radius:140px 140px 18px 18px; }
  .hero-visual:before,.visual-note { display:none; }
  .floating-card { left:14px; bottom:18px; }
  .trust-strip { justify-content:flex-start; overflow:hidden; white-space:nowrap; gap:20px; font-size:13px; }
  .section { padding:78px 20px; }
  .section-heading { grid-template-columns:1fr; gap:24px; margin-bottom:38px; }
  .section h2 { font-size:44px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card,.service-card:nth-child(odd),.service-card:nth-child(even) { padding:18px 44px 18px 0; border-right:0; grid-template-columns:112px 1fr; gap:16px; min-height:176px; }
  .service-photo { height:150px; border-radius:13px; }
  .service-num { display:none; }
  .showcase { grid-template-columns:1fr; gap:48px; }
  .showcase-images { min-height:500px; }
  .steps { grid-template-columns:1fr 1fr; }
  .steps li:nth-child(2) { border-right:0; }
  .steps li { padding:24px 18px 24px 0; }
  .steps li+li { padding-left:18px; }
  .steps li:nth-child(n+3) { border-top:1px solid var(--line); }
  .cta-section { margin:0 20px 55px; padding:52px 30px; flex-direction:column; align-items:flex-start; }
  footer { padding-bottom:86px; }
  .footer-main { grid-template-columns:1fr; }
  .footer-contact { justify-self:start; text-align:left; }
  .footer-bottom { flex-direction:column; gap:18px; }
  .footer-bottom div { flex-wrap:wrap; gap:18px; }
  .mobile-contact { position:fixed; left:16px; right:16px; bottom:14px; z-index:45; height:53px; display:flex; align-items:center; justify-content:center; gap:12px; border:1px solid rgba(255,255,255,.4); border-radius:999px; background:rgba(36,33,29,.94); backdrop-filter:blur(14px); color:#fff; box-shadow:0 12px 34px rgba(0,0,0,.2); }
}

@media (max-width:520px) {
  .nav-cta { font-size:0; width:42px; height:42px; padding:0; }
  .nav-cta span { font-size:16px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:10px; }
  .hero-proof { justify-content:space-between; gap:10px; }
  .hero-visual { min-height:430px; }
  .floating-card { right:10px; }
  .showcase-images { min-height:410px; }
  .image-caption { display:none; }
  .steps { grid-template-columns:1fr; }
  .steps li,.steps li:nth-child(2) { border-right:0; border-top:1px solid var(--line); }
  .contact-modal { padding:25px 18px; }
  .legal-hero { padding:78px 20px 52px; }
  .legal-wrap { padding:55px 20px 90px; }
}
