:root{
  --ink:#080d18;
  --ink-2:#0d1423;
  --ink-3:#121b2c;
  --paper:#f5f0e6;
  --muted:#aeb6c5;
  --gold:#c8a45d;
  --gold-2:#e0c17d;
  --line:rgba(255,255,255,.1);
  --shell:min(1240px, calc(100% - 48px));
  --topbar-h:38px;
  --header-h:86px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:#eef1f6;font-family:'DM Sans',sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{max-width:100%}
.shell{width:var(--shell);margin-inline:auto}
.topbar{position:fixed;z-index:1002;left:0;right:0;top:0;height:var(--topbar-h);background:var(--gold);color:#151515;font-size:12px;font-weight:700;letter-spacing:.025em}
.topbar__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar__contacts{display:flex;gap:20px}.topbar a{text-decoration:none}.topbar a:hover{text-decoration:underline}
.site-header{position:fixed;z-index:1001;left:0;right:0;top:var(--topbar-h);height:var(--header-h);background:rgba(8,13,24,.86);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);transition:.25s ease}
.site-header.scrolled{background:rgba(8,13,24,.97);box-shadow:0 12px 34px rgba(0,0,0,.25)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;width:255px}.brand img{display:block;width:100%;height:auto}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.nav-links a{text-decoration:none;font-size:14px;font-weight:600;color:#dce1eb;transition:.2s}.nav-links a:hover{color:var(--gold-2)}
.nav-links .nav-cta{padding:10px 16px;border:1px solid rgba(200,164,93,.55);border-radius:999px;color:var(--gold-2)}
.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px 0}
main{padding-top:calc(var(--topbar-h) + var(--header-h))}
.hero{position:relative;min-height:calc(100vh - var(--topbar-h) - var(--header-h));display:flex;align-items:center;background:linear-gradient(90deg,rgba(7,11,20,.98) 0%,rgba(7,11,20,.85) 48%,rgba(7,11,20,.32) 100%),url('bg.png') center/cover no-repeat;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 22%,rgba(200,164,93,.12),transparent 32%),linear-gradient(180deg,transparent 75%,var(--ink));pointer-events:none}.hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.65fr);gap:80px;align-items:center;padding:90px 0 120px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--gold-2);margin:0 0 18px}.hero h1,.section-heading h2,.education h2,.contact-copy h2{font-family:'Playfair Display',serif;letter-spacing:-.025em}.hero h1{font-size:clamp(48px,5.7vw,82px);line-height:1.02;margin:0 0 28px;max-width:920px;font-weight:600}.hero h1 span,.section-heading h2 span,.education h2 span,.contact-copy h2 span{color:var(--gold-2)}
.hero__lead{font-size:18px;color:#c9d0db;max-width:760px;margin:0 0 34px}.hero__actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:4px;text-decoration:none;font-weight:700;font-size:14px;transition:.22s}.btn--gold{background:var(--gold);color:#111}.btn--gold:hover{background:var(--gold-2);transform:translateY(-2px)}.btn--ghost{border:1px solid var(--line);background:rgba(255,255,255,.03)}.btn--ghost:hover{border-color:rgba(200,164,93,.55);color:var(--gold-2)}
.hero__aside{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.25)}.hero-card{background:rgba(9,15,26,.84);padding:24px 26px;position:relative}.hero-card__index{position:absolute;right:18px;top:16px;color:rgba(200,164,93,.65);font-size:12px}.hero-card p{margin:0 0 4px;color:#99a4b5;font-size:13px}.hero-card strong{font-family:'Playfair Display',serif;font-size:20px;font-weight:600}.scroll-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:9px;align-items:center;text-decoration:none;color:#9fa8b8;font-size:11px;text-transform:uppercase;letter-spacing:.15em}.scroll-cue span{width:30px;height:1px;background:var(--gold)}
.section{padding:120px 0;scroll-margin-top:130px}.intro{background:var(--paper);color:#1d2330}.intro__grid,.practice__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.section-heading h2,.education h2,.contact-copy h2{font-size:clamp(36px,4vw,58px);line-height:1.12;margin:0;font-weight:600}.intro .section-heading h2 span{color:#8a6827}.intro__content{font-size:17px;color:#4b5260}.intro__content .lead{font-family:'Playfair Display',serif;font-size:27px;line-height:1.45;color:#171d29;margin-top:0}.signature-line{margin-top:34px;padding-top:24px;border-top:1px solid rgba(0,0,0,.12);display:flex;flex-direction:column;gap:3px}.signature-line strong{font-size:17px;color:#171d29}.signature-line span{font-size:13px;color:#727a88}
.services{background:linear-gradient(180deg,var(--ink-2),var(--ink))}.section-heading--row{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:end;margin-bottom:52px}.section-heading--row>p{margin:0;color:#aeb7c7}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:300px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:rgba(255,255,255,.01);transition:.25s}.service-card:hover{background:rgba(200,164,93,.045)}.service-card__num{font-size:12px;color:var(--gold);letter-spacing:.14em}.service-card h3{font-family:'Playfair Display',serif;font-size:28px;margin:38px 0 14px}.service-card p{color:#abb4c4;margin:0;max-width:580px}.service-card__tag{position:absolute;left:34px;bottom:28px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#7e899b}.service-card--accent{display:flex;flex-direction:column;justify-content:center;background:#c8a45d !important;color:#101216 !important}.service-card--accent .eyebrow{color:#4c3a17 !important}.service-card--accent h3{font-size:36px;margin:0 0 24px;color:#101216 !important}.service-card--accent a{font-weight:700;text-decoration:none;color:#101216 !important}.service-card--accent a span{margin-left:10px}
.education{background:#101725}.education__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;align-items:center}.education__visual{min-height:520px;border:1px solid var(--line);background:radial-gradient(circle at 20% 10%,rgba(200,164,93,.18),transparent 38%),linear-gradient(150deg,#172136,#0a101c);display:flex;flex-direction:column;justify-content:space-between;padding:42px}.education__monogram{font-family:'Playfair Display',serif;font-size:88px;color:var(--gold-2);line-height:1}.education__visual p{color:#aeb8c7;margin:0}.timeline{margin-top:44px}.timeline__item{display:grid;grid-template-columns:78px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line)}.timeline__item>span{color:var(--gold-2);font-size:13px;font-weight:700}.timeline__item h3{font-size:18px;margin:0 0 5px}.timeline__item p{margin:0;color:#aeb7c6}.education__note{color:#8f99aa;font-size:14px;margin-top:26px}
.practice{background:var(--paper);color:#1d2330}.practice .section-heading h2 span{color:#8a6827}.practice .section-heading>p:last-child{color:#646c78;font-size:17px}.practice-list{border-top:1px solid rgba(0,0,0,.12)}.practice-list>div{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid rgba(0,0,0,.12)}.practice-list span{color:#9b772f;font-size:12px;font-weight:700}.practice-list p{margin:0;font-family:'Playfair Display',serif;font-size:21px}
.contact-section{background:linear-gradient(135deg,#0c1423,#0a0f19)}.contact-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:90px;align-items:start}.contact-copy>p:not(.eyebrow){color:#aeb7c6;max-width:620px}.contact-actions{display:grid;gap:12px;margin-top:36px}.contact-link{display:flex;flex-direction:column;border-bottom:1px solid var(--line);padding:0 0 15px;text-decoration:none}.contact-link small{color:#7f8a9c;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.contact-link strong{font-size:21px;color:var(--gold-2)}.company-card{border:1px solid var(--line);background:rgba(255,255,255,.03);padding:34px}.company-card__head{display:flex;justify-content:space-between;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--line);font-weight:700}.status-dot{font-size:11px;color:#9da8b8;font-weight:500}.company-card dl{margin:10px 0 0}.company-card dl>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.company-card dt{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7f8a9c}.company-card dd{margin:0;color:#dce1e8}.company-card dd a{text-decoration:none}.company-card dd a:hover{color:var(--gold-2)}.map-link{display:flex;justify-content:space-between;gap:16px;margin-top:24px;color:var(--gold-2);text-decoration:none;font-weight:700}
.footer{background:#060a12;border-top:1px solid var(--line);padding:34px 0}.footer__inner{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;color:#7f8998;font-size:12px}.footer img{width:220px;display:block;margin-bottom:10px}.footer p{margin:0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:960px){:root{--shell:min(100% - 32px,1240px);--header-h:76px}.topbar__inner>span{display:none}.brand{width:210px}.nav-toggle{display:block;position:relative;z-index:3}.nav-links{position:fixed;top:calc(var(--topbar-h) + var(--header-h));right:0;width:min(360px,88vw);height:calc(100vh - var(--topbar-h) - var(--header-h));padding:34px;flex-direction:column;align-items:flex-start;background:#0b111d;border-left:1px solid var(--line);transform:translateX(100%);transition:.28s}.nav-links.open{transform:none}.nav-links a{font-size:18px}.hero__inner,.intro__grid,.education__grid,.practice__grid,.contact-grid,.section-heading--row{grid-template-columns:1fr;gap:44px}.hero__inner{padding:72px 0 110px}.hero__aside{max-width:560px}.services-grid{grid-template-columns:1fr}.education__visual{min-height:320px}.section{padding:90px 0}}
@media(max-width:640px){:root{--topbar-h:36px}.topbar__contacts{gap:12px;font-size:11px}.topbar__contacts a:first-child{display:none}.hero h1{font-size:44px}.hero__lead{font-size:16px}.hero__aside{display:none}.scroll-cue{display:none}.section{padding:72px 0}.section-heading h2,.education h2,.contact-copy h2{font-size:38px}.intro__content .lead{font-size:23px}.services-grid{border-left:0}.service-card{border-left:1px solid var(--line);min-height:280px;padding:28px}.service-card--accent h3{font-size:30px}.education__visual{padding:28px}.education__monogram{font-size:68px}.timeline__item{grid-template-columns:62px 1fr}.practice-list p{font-size:18px}.company-card{padding:24px}.company-card dl>div{grid-template-columns:1fr;gap:4px}.company-card__head,.footer__inner{flex-direction:column;align-items:flex-start}.footer__inner{display:flex}.footer img{width:190px}}

/* Hardening against horizontal overflow on narrower desktop/tablet widths */
.services-grid,.section-heading--row,.intro__grid,.education__grid,.practice__grid,.contact-grid{min-width:0}
.services-grid>* ,.section-heading--row>* ,.intro__grid>* ,.education__grid>* ,.practice__grid>* ,.contact-grid>*{min-width:0}
.service-card{overflow-wrap:anywhere}
