:root{
  --navy:#0E1A2E; --ivory:#F5F3EE; --paper:#FBFAF7; --gold:#C9A15E; --gold-ink:#9A7440;
  --slate:#C9CFD8; --ink:#0E1A2E; --text:#3E4756; --muted:#6B7484; --rule:#DAD8D1; --rule-dark:#2A3648;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:'Manrope',system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6;color:var(--text);background:var(--ivory);font-feature-settings:"ss01","cv11"}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}
.hero :focus-visible,footer :focus-visible{outline-color:var(--gold)}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ivory);color:var(--ink);padding:8px 12px;border-radius:4px}
.skip:focus{left:16px;z-index:10}

/* header and hero */
.hero{background:var(--navy);color:var(--ivory)}
.nav{display:flex;justify-content:space-between;align-items:center;padding:30px 0 0}
.nav .logo{display:block;line-height:0}
.nav .logo svg,.nav .logo img{height:34px;width:auto;display:block}
.nav ul{list-style:none;display:flex;gap:30px;margin:0;padding:0;font-size:15px;font-weight:500}
.nav a{color:var(--slate);text-decoration:none}
.nav a:hover{color:var(--ivory)}
.hero-body{padding:104px 0 120px;max-width:900px}
h1{font-weight:300;font-size:clamp(38px,5.4vw,66px);line-height:1.06;letter-spacing:-0.018em;margin:0 0 34px;color:var(--ivory)}
.hero-body .lockup{display:block;height:clamp(96px,12vw,136px);width:auto;margin:0 0 48px}
.lede{font-size:clamp(18px,2vw,21px);line-height:1.55;color:var(--slate);max-width:620px;margin:0 0 40px}
.mail{color:var(--ivory);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px;font-size:18px}
.mail:hover{border-bottom-width:2px}

/* body sections */
main{background:var(--ivory)}
.section{padding:80px 0;border-top:1px solid var(--rule)}
.section.first{border-top:0}
.grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px}
h2{font-size:15px;font-weight:600;letter-spacing:.01em;margin:4px 0 0;color:var(--ink)}
.services{margin:0;padding:0;list-style:none;max-width:680px}
.services li{padding:26px 0;border-top:1px solid var(--rule)}
.services li:first-child{padding-top:0;border-top:0}
.services h3{font-size:21px;font-weight:600;margin:0 0 8px;color:var(--ink);letter-spacing:-.005em}
.services p{margin:0}
.approach{max-width:680px}
.approach p{margin:0 0 20px}
.approach p:last-child{margin:0}
.approach b{color:var(--ink);font-weight:600}
.bio{max-width:680px}
.bio p{margin:0 0 18px}
dl.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 28px;margin:32px 0 0;font-size:15px;max-width:680px}
dl.facts dt{color:var(--muted);margin:0}
dl.facts dd{margin:0;color:var(--ink)}
.disclosure{background:var(--paper);border-left:3px solid var(--gold-ink);padding:26px 30px;max-width:680px}
.disclosure p{margin:0 0 14px}
.disclosure p:last-child{margin:0}
.contact{max-width:680px}
.contact .big{display:inline-block;color:var(--ink);font-size:clamp(22px,3vw,30px);font-weight:500;text-decoration:none;border-bottom:1px solid var(--gold-ink);padding-bottom:4px;margin:0 0 22px;letter-spacing:-.01em}
.contact p{margin:0 0 12px}

/* footer */
footer{background:var(--navy);color:var(--slate);padding:44px 0;font-size:14px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.foot .logo svg,.foot .logo img{height:52px;width:auto;display:block}
.foot nav a{color:var(--slate);text-decoration:none;margin-left:22px}
.foot nav a:hover{color:var(--ivory)}
.foot .legal{width:100%;margin-top:18px;padding-top:18px;border-top:1px solid var(--rule-dark);color:var(--muted);max-width:none}

/* article pages */
.page{padding:72px 0 96px}
.page .inner{max-width:720px}
.page h1{color:var(--ink);font-size:clamp(30px,4vw,44px);font-weight:400;margin:0 0 12px;letter-spacing:-.015em}
.page .meta{color:var(--muted);font-size:15px;margin:0 0 40px}
.page h2{font-size:21px;font-weight:600;margin:40px 0 12px}
.page h3{font-size:17px;font-weight:600;margin:24px 0 8px;color:var(--ink)}
.page p,.page li{font-size:16px}
.page ul{padding-left:20px}
.page .lang{margin-top:64px;padding-top:40px;border-top:1px solid var(--rule)}
.topbar{background:var(--navy);padding:22px 0}
.topbar .logo svg,.topbar .logo img{height:34px;width:auto;display:block}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center}
.topbar a.back{color:var(--slate);text-decoration:none;font-size:15px}

@media (max-width:820px){
  .grid{grid-template-columns:1fr;gap:18px}
  .hero-body{padding:72px 0 88px}
  .nav{padding-top:22px}
  .nav ul{gap:18px;font-size:14px}
  .nav .logo svg,.nav .logo img{height:30px}
  .hero-body .lockup{height:84px;margin-bottom:36px}
  .foot .logo svg,.foot .logo img{height:44px}
  .section{padding:60px 0}
  dl.facts{grid-template-columns:1fr;gap:4px 0}
  dl.facts dd{margin-bottom:10px}
}
@media (max-width:480px){
  .nav{flex-direction:column;align-items:flex-start;gap:18px}
}
