
:root{
  --ink:#111111; --ink2:#181818; --paper:#f5f2eb; --white:#fff;
  --gold:#b99a62; --gold2:#d2b77e; --muted:#aaa49a; --line:rgba(185,154,98,.35);
  --max:1240px; --serif:"Cormorant Garamond", Georgia, serif; --sans:Inter, Arial, sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}
a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.nav{position:sticky;top:0;z-index:50;background:rgba(17,17,17,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:150px;height:54px;object-fit:contain;object-position:center;filter:none;mix-blend-mode:normal}
.nav-links{display:flex;gap:26px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#eee}
.nav-links a:hover{color:var(--gold2)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--gold);padding:12px 19px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;cursor:pointer}
.nav-cta{color:#111;background:var(--gold)}.btn-dark{background:var(--ink);color:#fff}.btn-outline{color:#fff;border-color:#aaa}.btn-gold{background:var(--gold);color:#111}
.menu{display:none;background:none;border:0;color:#fff;font-size:26px}
.hero{background:var(--ink);color:#fff;min-height:650px;display:grid;grid-template-columns:1fr 1fr}
.hero-copy{padding:110px max(24px,calc((100vw - var(--max))/2)) 90px 24px;display:flex;flex-direction:column;justify-content:center}
.eyebrow{color:var(--gold2);font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:600}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.98;margin:14px 0}
h1{font-size:clamp(54px,6vw,88px)}h2{font-size:clamp(42px,5vw,62px)}h3{font-size:30px}
.italic{font-style:italic;color:var(--gold2)}.lead{max-width:600px;color:#d3d0ca;font-size:17px}
.hero-actions{display:flex;gap:12px;margin:30px 0 34px;flex-wrap:wrap}.trust{display:flex;gap:22px;color:#bcb8b0;font-size:11px;flex-wrap:wrap}.trust span{border-left:1px solid var(--gold);padding-left:12px}
.hero-image{min-height:650px;background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.18)),url("assets/hero-office.svg") center/cover;position:relative}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,rgba(185,154,98,.15))}
.placeholder-note{position:absolute;bottom:18px;right:18px;color:#ddd;font-size:10px;opacity:.7}
.split-choice{background:#fff;border-bottom:1px solid #ddd}.choice{display:grid;grid-template-columns:1fr 1fr}.choice a{padding:28px 40px;display:flex;align-items:center;justify-content:center;gap:22px;border-right:1px solid #ddd}.choice a:last-child{border:0}.choice strong{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.choice small{color:#777}
.section{padding:100px 0}.section-dark{background:var(--ink);color:#fff}.section-head{max-width:700px;margin-bottom:48px}.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.grid4{display:grid;grid-template-columns:repeat(4,1fr)}.practice{border:1px solid #d9d4ca;padding:34px 28px;min-height:300px;transition:.25s;background:#f8f6f1}.practice:hover{transform:translateY(-5px);border-color:var(--gold)}.practice .num{font-family:var(--serif);font-size:42px;color:var(--gold)}.practice p{color:#666;font-size:14px}.more{color:#9c7c43;text-transform:uppercase;font-size:10px;letter-spacing:.1em;font-weight:bold}
.compliance{background:var(--ink);color:#fff;padding:95px 0;overflow:hidden}.compliance-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.compliance h2{max-width:580px}.goldline{width:55px;height:1px;background:var(--gold);margin:25px 0}.cycle{width:390px;height:390px;border:1px solid var(--gold);border-radius:50%;margin:auto;position:relative;display:grid;place-items:center}.cycle .center{width:150px;height:150px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:55px;color:var(--gold2)}.cycle span{position:absolute;background:var(--ink);padding:8px;color:#ddd;font-size:11px;text-align:center}.cycle .a{top:10px;left:130px}.cycle .b{top:100px;right:-25px}.cycle .c{bottom:75px;right:-20px}.cycle .d{bottom:0;left:115px}.cycle .e{bottom:75px;left:-30px}.cycle .f{top:100px;left:-35px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d9d4ca}.stat{background:#f8f6f1;padding:45px 30px}.stat b{font-family:var(--serif);font-size:45px;color:var(--gold)}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid #ddd;padding:28px}.card .tag{font-size:10px;text-transform:uppercase;color:#9c7c43;letter-spacing:.1em}.card p{font-size:14px;color:#666}
.cta{background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.78)),url("assets/city.svg") center/cover;color:#fff;padding:90px 0}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{max-width:700px}
.footer{background:#0c0c0c;color:#aaa;padding:60px 0 25px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.footer img{width:150px;filter:none;mix-blend-mode:normal}.footer h4{color:#fff;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.footer a{display:block;font-size:13px;margin:7px 0}.copyright{border-top:1px solid #292929;margin-top:35px;padding-top:18px;font-size:11px;display:flex;justify-content:space-between}
.page-hero{background:var(--ink);color:#fff;padding:110px 0 90px}.page-hero h1{max-width:900px}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#d8d2c8}.service-item{background:#f8f6f1;padding:45px}.service-item p{color:#666}.service-item ul{padding-left:20px;color:#555}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;padding:15px;border:1px solid #ccc;background:#fff;font:inherit}.form textarea{min-height:160px}
@media(max-width:900px){.nav-links,.nav-cta{display:none}.menu{display:block}.hero{grid-template-columns:1fr}.hero-image{min-height:420px}.hero-copy{padding:75px 24px}.grid4{grid-template-columns:1fr 1fr}.compliance-wrap,.contact-grid{grid-template-columns:1fr}.cycle{width:320px;height:320px}.resource-grid,.footer-grid{grid-template-columns:1fr 1fr}.cta-box{display:block}}
@media(max-width:600px){.container{width:min(100% - 32px,var(--max))}.nav-inner{height:68px}.brand img{width:125px}.grid4,.service-list,.resource-grid,.footer-grid{grid-template-columns:1fr}.choice{grid-template-columns:1fr}.choice a{border-right:0;border-bottom:1px solid #ddd}.section{padding:70px 0}.hero{min-height:auto}.hero-image{min-height:300px}.trust{display:grid}.cycle{width:286px;height:286px;margin:20px auto;overflow:visible}.cycle .center{width:108px;height:108px;font-size:38px}
.cycle span{font-size:9px;line-height:1.15;max-width:78px;padding:4px}
.cycle .a{top:7px;left:50%;transform:translateX(-50%)}
.cycle .b{top:70px;right:-4px}
.cycle .c{bottom:65px;right:-4px}
.cycle .d{bottom:7px;left:50%;transform:translateX(-50%)}
.cycle .e{bottom:65px;left:-4px}
.cycle .f{top:70px;left:-4px}
.copyright{display:block}.copyright span{display:block;margin-top:8px}}

/* Logo variants: white logo only on dark surfaces; dark transparent logo on light surfaces. */
.logo-light{display:block}
.logo-dark{display:none}
.light-surface .logo-light{display:none}
.light-surface .logo-dark{display:block}

/* Contrast safeguard: light cards must never inherit white text from a dark parent. */
.practice,.stat,.card{color:var(--ink)}
.practice h3,.stat h3,.card h3{color:var(--ink)}
.practice p,.stat p,.card p{color:#666}
.practice .more,.stat .more,.card .more{color:#9c7c43}
