:root{
  --ink:#0A1F3D;
  --ink-2:#2C3E5C;
  --rust:#AA4F30;
  --rust-dark:#9F4B2D;
  --rust-lo:#F1DDD2;
  --ochre:#C9862F;
  --cream:#FAF7F2;
  --sand:#F4EEE3;
  --restore:#2D6A4A;
  --restore-lo:#DEF0E2;
  --muted:#5F6D81;
  --line:#E4DCD1;
  --disp:'Fraunces',Georgia,serif;
  --body:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',monospace;
  --pad:clamp(1.25rem,5vw,4rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--disp);line-height:1.06;letter-spacing:-.02em;margin:0}
p{margin:0}
a{color:inherit}
button,a,input,select,textarea{touch-action:manipulation}
.wrap{width:min(1120px,100%);margin:0 auto;padding-inline:var(--pad)}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.7rem 1rem;border-radius:8px}
.site-nav{background:rgba(250,247,242,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.nav-in{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{font-family:var(--disp);font-size:24px;font-weight:700;text-decoration:none}
.nav-actions{display:flex;align-items:center;gap:1.1rem}
.nav-actions a{font-size:14px;font-weight:600;text-decoration:none}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--rust)}
.page-hero{padding:clamp(4.5rem,9vw,7rem) 0 clamp(3.5rem,7vw,5.5rem);background:var(--ink);color:#fff;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;width:50vw;height:50vw;right:-17vw;top:-25vw;border-radius:50%;background:radial-gradient(circle,rgba(184,92,56,.3),transparent 64%)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.65rem,7vw,5.25rem);max-width:14ch;margin-top:1rem}
.page-hero .intro{font-size:clamp(1.02rem,1.8vw,1.2rem);color:rgba(255,255,255,.76);max-width:58ch;margin-top:1.25rem}
.page-hero .crumb{display:inline-flex;color:rgba(255,255,255,.7);font-size:14px;text-decoration:none;margin-bottom:1.4rem}
.page-hero .crumb:hover{color:#fff}
.section{padding:clamp(4rem,8vw,6.5rem) 0}
.section.sand{background:var(--sand)}
.section.dark{background:var(--ink);color:#fff}
.section h2{font-size:clamp(2rem,5vw,3.7rem);max-width:17ch}
.lede{font-size:clamp(1rem,1.7vw,1.16rem);color:var(--muted);max-width:62ch;margin-top:1.3rem}
.dark .lede{color:rgba(255,255,255,.72)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:48px;border-radius:100px;padding:.8rem 1.45rem;border:1.5px solid transparent;font-family:var(--body);font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{cursor:not-allowed;opacity:.62;transform:none}
.btn-primary{background:var(--rust);color:#fff}.btn-primary:hover{background:var(--rust-dark)}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}.btn-outline:hover{background:var(--ink);color:#fff}
.btn-light{border-color:rgba(255,255,255,.4);color:#fff}.btn-light:hover{border-color:#fff}
.btn-full{width:100%}
.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.7rem}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:2.4rem}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(1.35rem,3vw,2rem)}
.card h3{font-size:1.35rem}.card p{font-size:15px;color:var(--muted);margin-top:.7rem}
.card .tag{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--rust);margin-bottom:.75rem}
.content-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.prose{max-width:72ch}.prose h2{margin-top:2.6rem}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.3rem;margin-top:2rem}.prose p,.prose li{color:var(--ink-2)}.prose p{margin-top:1rem}.prose ul{padding-left:1.2rem}.prose li+li{margin-top:.5rem}
.callout{background:var(--restore-lo);border:1px solid #BEDDC7;border-radius:16px;padding:1.35rem 1.5rem;color:#244E36}
.callout strong{font-family:var(--disp);font-size:1.2rem}.callout p{font-size:14.5px;margin-top:.45rem}
.status-line{display:flex;gap:.65rem;align-items:flex-start;font-size:14px;color:var(--muted);margin-top:1rem}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--ochre);margin-top:.45rem;flex:none}
.site-footer{background:#071730;color:rgba(255,255,255,.64);padding:3.5rem 0;font-size:14px}
.site-footer .footer-grid{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start}.site-footer .footer-brand{font-family:var(--disp);font-size:22px;font-weight:700;color:#fff}.site-footer nav{display:flex;flex-wrap:wrap;gap:1.2rem}.site-footer a{text-decoration:none;color:rgba(255,255,255,.72)}.site-footer a:hover{color:#fff}.site-footer .fine{margin-top:1.4rem;color:rgba(255,255,255,.58);max-width:66ch;font-size:12.5px}
:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
@media(max-width:820px){.cards,.content-grid{grid-template-columns:1fr}.nav-actions a:not(.btn){display:none}.site-footer .footer-grid{grid-template-columns:1fr}}
@media(max-width:520px){
  :root{--pad:1.125rem}
  body{font-size:16px}
  .nav-in{min-height:62px}
  .brand{font-size:22px}
  .nav-actions{gap:.55rem}
  .nav-actions .btn{min-height:44px;padding:.58rem .85rem;font-size:13px}
  .page-hero{padding:3.7rem 0 3.25rem}
  .page-hero h1{font-size:2.55rem}
  .section{padding:3.5rem 0}
  .button-row .btn{width:100%}
  .btn{min-height:48px}
  .site-footer{padding:3rem 0 calc(3.5rem + env(safe-area-inset-bottom))}
  .site-footer nav a{display:inline-flex;align-items:center;min-height:44px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}
