:root{
    --black:#050506;
    --ink:#121214;
    --deep:#1d1d20;
    --gray:#737373;
    --line:rgba(216,191,141,.22);
    --gold:#d8bf8d;
    --gold-soft:#f3e4c6;
    --paper:#f7f4ee;
    --white:#ffffff;
    --radius:28px;
    --shadow:0 24px 80px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
    color:var(--paper);
    background:var(--black);
    line-height:1.75;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;height:auto}
button,input,textarea{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.site-header{
    position:sticky;
    top:0;
    z-index:20;
    backdrop-filter:blur(18px);
    background:rgba(5,5,6,.86);
    border-bottom:1px solid var(--line);
}
.header-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    max-width:1220px;
    margin:0 auto;
    padding:18px 22px 12px;
}
.brand-logo{display:inline-flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.08em}
.brand-mark{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid var(--gold);
    border-radius:50%;
    color:var(--gold-soft);
    background:radial-gradient(circle at 30% 20%,rgba(216,191,141,.28),rgba(0,0,0,.2));
}
.brand-text{font-size:18px;color:var(--gold-soft)}
.site-nav{display:flex;align-items:center;gap:18px;font-size:14px;color:rgba(247,244,238,.78)}
.site-nav a{padding:8px 0;border-bottom:1px solid transparent}
.site-nav a:hover{color:var(--gold-soft);border-color:var(--gold)}
.nav-toggle{display:none;color:var(--paper);background:transparent;border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.search-row{
    max-width:1220px;
    margin:0 auto;
    padding:0 22px 16px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
}
.search-row input{
    width:100%;
    color:var(--paper);
    background:rgba(255,255,255,.06);
    border:1px solid var(--line);
    border-radius:999px;
    padding:12px 18px;
    outline:none;
}
.search-row button,.btn{
    border:0;
    border-radius:999px;
    padding:12px 22px;
    cursor:pointer;
    font-weight:700;
}
.search-row button,.btn-primary{color:#1b160f;background:linear-gradient(135deg,var(--gold-soft),var(--gold))}
.btn-secondary{color:var(--gold-soft);background:rgba(255,255,255,.08);border:1px solid var(--line)}
.search-row p{grid-column:1/-1;margin:0;color:rgba(247,244,238,.58);font-size:13px}
.section,.hero,.page-hero{
    max-width:1220px;
    margin:0 auto;
    padding:84px 22px;
}
.section-dark{
    background:
        radial-gradient(circle at 20% 0,rgba(216,191,141,.16),transparent 34%),
        linear-gradient(135deg,#09090b,#1a1a1d 55%,#060607);
    border:1px solid var(--line);
    border-radius:0 0 var(--radius) var(--radius);
}
.hero{
    display:grid;
    grid-template-columns:1.02fr .98fr;
    gap:44px;
    align-items:center;
    min-height:720px;
}
.hero-copy h1,.page-hero h1{
    margin:0 0 24px;
    font-size:clamp(38px,6vw,78px);
    line-height:1.05;
    letter-spacing:-.05em;
    color:var(--gold-soft);
}
.hero-lead,.page-hero p,.section-intro{font-size:18px;color:rgba(247,244,238,.74);max-width:780px}
.eyebrow{
    margin:0 0 14px;
    color:var(--gold);
    letter-spacing:.22em;
    text-transform:uppercase;
    font-size:13px;
    font-weight:700;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0}
.trust-points{display:grid;gap:10px;margin:28px 0 0;padding:0;list-style:none;color:rgba(247,244,238,.7)}
.trust-points li{padding-left:18px;position:relative}
.trust-points li:before{content:"";position:absolute;left:0;top:.82em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.hero-media,.section-space figure,.case-card figure,.video-card figure{margin:0;position:relative}
.hero-media img,.section-space img,.case-card img,.video-card video{
    border-radius:var(--radius);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    object-fit:cover;
    width:100%;
}
.hero-media figcaption,.section-space figcaption,.case-card figcaption,.video-card figcaption{
    margin-top:12px;
    color:rgba(247,244,238,.5);
    font-size:12px;
}
h2{font-size:clamp(30px,4.5vw,54px);line-height:1.12;letter-spacing:-.04em;margin:0 0 24px;color:var(--gold-soft)}
h3{color:var(--gold-soft);line-height:1.28;margin:0 0 12px}
p{margin-top:0}.section>p,.section li{color:rgba(247,244,238,.72)}
.card-grid{display:grid;gap:18px}.card-grid.four{grid-template-columns:repeat(4,1fr)}.card-grid.three{grid-template-columns:repeat(3,1fr)}
.service-card,.review-card,.contact-cards article,.timeline article,.content-block{
    background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
    border:1px solid var(--line);
    border-radius:24px;
    padding:26px;
}
.service-card span,.tags span{display:inline-flex;margin-bottom:14px;color:#1b160f;background:var(--gold);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.timeline strong{display:block;color:var(--gold-soft);font-size:18px;margin-bottom:10px}
.section-space{display:grid;grid-template-columns:.92fr 1.08fr;gap:42px;align-items:center}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px}
.video-card{
    background:rgba(255,255,255,.045);
    border:1px solid var(--line);
    border-radius:28px;
    overflow:hidden;
}
.video-card figure{background:#111}
.video-card video{aspect-ratio:16/10;border:0;border-radius:0 0 22px 22px;background:#111}
.play-button{
    position:absolute;
    inset:0;
    width:86px;
    height:86px;
    margin:auto;
    border-radius:50%;
    border:1px solid var(--gold);
    background:rgba(216,191,141,.88);
    color:#14100a;
    opacity:0;
    transform:scale(.9);
    transition:.24s ease;
    font-size:0;
}
.play-button:after{content:"▶";font-size:28px;margin-left:4px}
.video-card:hover .play-button,.video-card:focus-within .play-button{opacity:1;transform:scale(1)}
.video-body{padding:24px}.video-body p{color:rgba(247,244,238,.68)}
.video-stats{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0;color:var(--gold-soft);font-size:14px}
.video-stats span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:rgba(0,0,0,.18)}
.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{margin:0;background:rgba(216,191,141,.16);color:var(--gold-soft);border:1px solid var(--line)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stars{color:var(--gold);letter-spacing:.08em;margin-bottom:14px}
.review-card p{color:rgba(247,244,238,.73)}.review-card span{color:rgba(247,244,238,.48)}
.faq-list{display:grid;gap:14px}.faq-list details{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.045);padding:20px}.faq-list summary{cursor:pointer;color:var(--gold-soft);font-weight:700}.faq-list p{margin:14px 0 0;color:rgba(247,244,238,.7)}
.section-appointment{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,rgba(216,191,141,.13),rgba(255,255,255,.04))}
.json-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.json-links a{border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--gold-soft);background:rgba(255,255,255,.04)}
.page-hero{min-height:380px;display:grid;align-content:center;margin-bottom:18px}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.case-card{border:1px solid var(--line);border-radius:28px;overflow:hidden;background:rgba(255,255,255,.045)}.case-card div{padding:22px}.case-card img{border:0;border-radius:0;aspect-ratio:3/2}
.check-list{padding-left:20px}.contact-panel{max-width:980px}.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.contact-cards h3{font-size:16px}.contact-cards p{word-break:break-word;color:rgba(247,244,238,.74)}
.appointment-form{display:grid;gap:16px}.appointment-form label{display:grid;gap:8px;color:var(--gold-soft)}.appointment-form input,.appointment-form textarea{width:100%;border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:rgba(255,255,255,.06);color:var(--paper);outline:none}.appointment-form textarea{min-height:120px;resize:vertical}.form-tip{font-size:13px;color:rgba(247,244,238,.52)}
.site-footer{border-top:1px solid var(--line);background:#070708;padding:58px 22px 24px}.footer-grid{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:38px}.footer-grid h2{font-size:22px}.footer-grid p,.footer-grid li{color:rgba(247,244,238,.65)}.contact-list,.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:9px}.footer-bottom{max-width:1220px;margin:34px auto 0;border-top:1px solid var(--line);padding-top:18px;color:rgba(247,244,238,.5);font-size:13px}.footer-logo{margin-bottom:20px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:rgba(216,191,141,.96);color:#17120b;border-radius:999px;padding:12px 18px;font-weight:700;opacity:0;pointer-events:none;transition:.22s ease;z-index:50}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media (max-width:980px){
    .header-bar{align-items:flex-start}.nav-toggle{display:inline-flex}.site-nav{position:absolute;left:22px;right:22px;top:72px;display:none;flex-direction:column;align-items:flex-start;background:rgba(10,10,12,.98);border:1px solid var(--line);border-radius:20px;padding:18px}.site-nav.open{display:flex}
    .hero,.section-space,.footer-grid{grid-template-columns:1fr}.hero{min-height:auto}.card-grid.four,.card-grid.three,.timeline,.review-grid,.case-grid,.contact-cards{grid-template-columns:1fr 1fr}.video-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
    .section,.hero,.page-hero{padding:56px 16px}.section-dark{border-radius:0 0 22px 22px}.search-row{grid-template-columns:1fr;padding-inline:16px}.search-row button{width:100%}.hero-copy h1,.page-hero h1{font-size:38px}.card-grid.four,.card-grid.three,.timeline,.review-grid,.case-grid,.contact-cards{grid-template-columns:1fr}.hero-actions{display:grid}.btn{text-align:center}.site-footer{padding-inline:16px}
}
