:root{
  --ink:#141a22;--navy:#15202e;--navy-2:#1d2b3d;--paper:#f6f2ea;--paper-2:#ece6d9;--white:#fff;
  --brass:#85611f;--brass-light:#d4b176;--muted:#566070;--line:#d9d1c1;
  --serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r:10px;--wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--white);color:var(--ink);padding:10px 14px;border-radius:6px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--brass-light);outline-offset:3px;border-radius:4px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(21,32,46,.97);backdrop-filter:blur(8px);border-bottom:1px solid rgba(212,177,118,.25)}
.bar{display:flex;align-items:center;gap:20px;min-height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--white)}
.brand .mark{width:34px;height:34px;color:var(--brass-light);flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font:600 19px/1.1 var(--serif);letter-spacing:.02em}
.brand-text small{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-light);margin-top:3px}
nav{margin-left:auto}
nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
nav a{display:block;padding:8px 12px;border-radius:6px;text-decoration:none;color:#dfe5ee;font-size:15px}
nav a:hover,nav a[aria-current="page"]{color:var(--white);background:rgba(255,255,255,.08)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.3);color:var(--white);padding:8px 14px;border-radius:6px;font:inherit;font-size:14px;cursor:pointer}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:999px;background:var(--brass-light);color:#1a1307;font-weight:600;font-size:15px;text-decoration:none;border:1.5px solid var(--brass-light);transition:transform .15s,background .15s}
.btn:hover{background:#e2c48e;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.45)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-dark{background:var(--navy);color:var(--white);border-color:var(--navy)}
.btn-dark:hover{background:var(--navy-2)}
.btn-sm{padding:9px 18px;font-size:14px}

/* Hero */
.hero{background:radial-gradient(1100px 500px at 85% -10%,#2a3d57 0,transparent 60%),var(--navy);color:var(--white);padding:84px 0 92px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--brass-light),transparent);opacity:.5}
.hero-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:56px;align-items:center}
.eyebrow{font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-light);font-weight:600;margin:0 0 18px}
.hero h1{font:500 clamp(42px,6.4vw,76px)/1.02 var(--serif);margin:0 0 22px;letter-spacing:-.01em}
.hero .lede{font-size:clamp(18px,2vw,21px);color:#cfd8e4;max-width:34em;margin:0 0 34px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.facts{margin:0;padding:30px;border:1px solid rgba(212,177,118,.35);border-radius:var(--r);background:rgba(255,255,255,.04)}
.facts div{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.facts div:first-child{padding-top:0}.facts div:last-child{border:0;padding-bottom:0}
.facts dt{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-light);margin-bottom:2px}
.facts dd{margin:0;font:500 24px/1.25 var(--serif)}

/* Sections */
section{padding:84px 0}
.alt{background:var(--paper-2)}
.dark{background:var(--navy);color:var(--white)}
.sec-head{max-width:40em;margin-bottom:44px}
.sec-head .eyebrow{color:var(--brass)}
.dark .sec-head .eyebrow{color:var(--brass-light)}
h2{font:500 clamp(32px,4.2vw,48px)/1.1 var(--serif);margin:0 0 14px;letter-spacing:-.005em}
h3{font:600 24px/1.2 var(--serif);margin:0 0 10px}
.muted{color:var(--muted)}
.dark .muted{color:#b9c4d3}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:32px 28px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px -18px rgba(20,26,34,.35)}
.card .num{font:500 15px var(--serif);letter-spacing:.2em;color:var(--brass);margin-bottom:22px}
.card p{margin:0 0 22px;color:var(--muted);flex:1}
.more{font-weight:600;font-size:15px;color:var(--brass);text-decoration:none;border-bottom:1.5px solid currentColor;align-self:flex-start}
.more:hover{color:var(--ink)}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s}
.steps li{position:relative;padding:28px 24px 0 0;border-top:1px solid rgba(212,177,118,.45);counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font:500 15px var(--serif);letter-spacing:.2em;color:var(--brass-light);margin-bottom:14px}
.steps li::after{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--brass-light);border-radius:50%}
.steps h3{font-size:22px;color:var(--white)}
.steps p{margin:0;color:#b9c4d3;font-size:15.5px}

.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.principle{padding:26px 0;border-top:2px solid var(--brass)}
.principle p{margin:0;color:var(--muted);font-size:15.5px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.langs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 0;padding:0;list-style:none}
.langs li{padding:6px 16px;border:1px solid var(--brass);border-radius:999px;font-size:14px;color:var(--brass);font-weight:600}

details{border-top:1px solid var(--line);padding:0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;font:600 22px/1.3 var(--serif);position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:300 30px var(--sans);color:var(--brass)}
details[open] summary::after{content:"–"}
details p{margin:0 0 24px;color:var(--muted);max-width:44em}

.cta-band{text-align:center;padding:88px 0}
.cta-band h2{color:var(--white)}
.cta-band p{color:#cfd8e4;max-width:34em;margin:0 auto 30px}
.cta-band .cta-row{justify-content:center}

/* Inner pages */
.page-hero{background:var(--navy);color:var(--white);padding:64px 0 70px}
.crumbs{font-size:14px;color:#b9c4d3;margin:0 0 20px}
.crumbs a{color:var(--brass-light);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.page-hero h1{font:500 clamp(36px,5vw,58px)/1.08 var(--serif);margin:0 0 16px;max-width:18em}
.page-hero .lede{color:#cfd8e4;font-size:19px;max-width:38em;margin:0}
.content{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:64px;padding:70px 0 90px}
.prose h2{font-size:clamp(28px,3.4vw,38px);margin-top:46px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#2b333f}
.prose ul{padding-left:1.1em}
.prose li{margin:8px 0}
.aside{position:sticky;top:92px;align-self:start;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.aside h3{font-size:22px}
.aside p{color:var(--muted);font-size:15.5px;margin:0 0 18px}
.aside .btn{width:100%;justify-content:center;margin-bottom:10px}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{padding:20px 0;border-bottom:1px solid var(--line)}
.contact-list small{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:4px}
.contact-list a{font:500 clamp(24px,3vw,32px)/1.2 var(--serif);text-decoration:none;word-break:break-word}
.contact-list a:hover{color:var(--brass)}
.contact-list span{font:500 clamp(22px,2.6vw,28px) var(--serif)}

/* Footer */
.site-footer{background:#0f1722;color:#aab5c4;padding:56px 0 100px;font-size:15px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.site-footer h4{margin:0 0 14px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-light);font-weight:600}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:7px 0}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--white);text-decoration:underline}
.foot strong{color:var(--white);font:600 22px var(--serif)}
.disclaimer{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px;color:#8996a8}

/* Mobile bar */
.mobile-bar{display:none}

@media (max-width:960px){
  .hero-grid,.split,.content{grid-template-columns:1fr;gap:40px}
  .cards{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr;row-gap:36px}
  .principles{grid-template-columns:1fr 1fr}
  .aside{position:static}
  .foot{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:16.5px}
  section{padding:64px 0}
  .hero{padding:56px 0 64px}
  .nav-toggle{display:block}
  nav{position:absolute;left:0;right:0;top:100%;background:var(--navy);display:none;border-bottom:1px solid rgba(212,177,118,.25);padding:10px 20px 18px;margin:0}
  nav.open{display:block}
  nav ul{flex-direction:column}
  nav a{padding:12px 8px;font-size:17px}
  .bar>.btn-sm{display:none}
  .steps,.principles{grid-template-columns:1fr}
  .mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy);border-top:1px solid rgba(212,177,118,.4)}
  .mobile-bar a{padding:15px 8px;text-align:center;text-decoration:none;color:var(--white);font-weight:600;font-size:15px}
  .mobile-bar a:first-child{background:var(--brass-light);color:#1a1307}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.mobile-bar,.cta-band{display:none}body{background:#fff}}
