:root{
  --paper:#E7E4DD;
  --ink:#1B1A18;
  --ink-soft:#57534B;
  --red:#E5341E;
  --red-bright:#FF5A45;
  --cream:#F3EFE6;
  --line:rgba(27,26,24,.14);
  --maxw:1100px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Space Grotesk",system-ui,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
.eyebrow{font-family:"Space Grotesk";text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;color:var(--red);display:inline-block;margin-bottom:.7rem}

/* nav */
.bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem clamp(1rem,4vw,2.4rem);background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.mark{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-family:"Archivo",sans-serif;font-weight:800;font-size:1.1rem;color:var(--ink);letter-spacing:-.01em}
.markdot{width:12px;height:12px;border-radius:50%;background:var(--red);display:inline-block;flex:none}
.mark em{color:var(--red);font-style:normal}
.links{display:flex;align-items:center;gap:clamp(.6rem,2vw,1.5rem)}
.links a{text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem;border-bottom:2px solid transparent;padding:.2rem 0}
.links a:hover{border-bottom-color:var(--ink)}
.navcta{background:var(--ink);color:var(--cream)!important;padding:.4rem .85rem!important;border-radius:999px}
.navcta:hover{border-bottom-color:transparent!important;background:var(--red)}

/* buttons */
.btn{display:inline-block;border:1.6px solid var(--ink);border-radius:999px;font-family:"Space Grotesk";font-weight:700;font-size:1rem;padding:.65rem 1.25rem;text-decoration:none;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--ink);color:var(--cream)}
.btn.primary:hover{background:var(--red);border-color:var(--red)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{border-color:var(--red);color:var(--red)}
.btn.wide{display:block;width:100%;text-align:center}

/* hero */
.hero{border-bottom:1px solid var(--line)}
.herowrap{max-width:980px;margin:0 auto;padding:clamp(2.6rem,8vw,5.5rem) clamp(1rem,4vw,2.4rem)}
.bighead{font-family:"Archivo",sans-serif;font-weight:900;font-size:clamp(3rem,12vw,8rem);line-height:.9;letter-spacing:-.03em;margin:.2rem 0 .9rem}
.bighead em{font-style:normal;color:var(--red)}
.lead{max-width:54ch;font-size:clamp(1.05rem,2.4vw,1.32rem);margin:.3rem 0 .3rem}
.leadzh{color:var(--ink-soft);max-width:50ch;margin:.2rem 0 1.5rem}
.herocta{display:flex;gap:.7rem;flex-wrap:wrap}

/* filter bar */
.filterbar{position:sticky;top:53px;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
.fwrap{max-width:var(--maxw);margin:0 auto;padding:.55rem clamp(1rem,4vw,2.4rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.fnote{font-size:.8rem;color:var(--ink-soft);display:inline-flex;align-items:center;gap:.45rem}
.predot{width:10px;height:10px;border-radius:50%;background:var(--red);display:inline-block}
.filters{display:flex;gap:.4rem;flex-wrap:wrap}
.filt{font-family:"Space Grotesk";font-weight:700;font-size:.82rem;cursor:pointer;background:transparent;border:1.5px solid var(--ink);border-radius:999px;padding:.3rem .85rem;color:var(--ink);transition:background .12s ease,color .12s ease}
.filt:hover{background:rgba(27,26,24,.07)}
.filt.on{background:var(--ink);color:var(--cream)}

/* list */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1rem,4vw,2.4rem)}
.block{padding:clamp(2rem,5vw,3.4rem) 0;border-bottom:1px solid var(--line)}
.block:last-child{border-bottom:none}
.bhead{margin-bottom:1.2rem}
.btitle{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(1.6rem,4.5vw,2.5rem);letter-spacing:-.02em;margin:0}
.bzh{color:var(--ink-soft);font-weight:500;display:inline-block;margin:.15rem 0 .4rem;font-size:.95rem}
.bblurb{max-width:62ch;color:var(--ink-soft);margin:.2rem 0 0}
.list{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.row{display:flex;align-items:center;gap:.85rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);background:transparent;transition:border-color .12s ease,background .12s ease,transform .12s ease}
.row:hover{border-color:var(--ink);background:#fff;transform:translateY(-1px)}
.row.pri{border-left:3px solid var(--red)}
.num{font-family:"Space Grotesk";font-weight:700;font-size:.8rem;color:var(--ink-soft);min-width:1.5rem;flex:none}
.row.pri .num{color:var(--red)}
.who{display:flex;flex-direction:column;gap:.05rem;min-width:0;flex:1}
.nm{font-family:"Archivo",sans-serif;font-weight:700;font-size:1.02rem;line-height:1.18}
.meta{font-size:.82rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.go{margin-left:auto;font-weight:700;font-size:.82rem;color:var(--ink-soft);white-space:nowrap;flex:none}
.row:hover .go{color:var(--red)}
.go.none{color:var(--ink-soft);opacity:.5;font-weight:500}
.arr{font-weight:800}
.row.hide{display:none}

/* about */
.about{border-bottom:1px solid var(--line)}
.aboutwrap{max-width:760px;margin:0 auto;padding:clamp(2.4rem,6vw,4rem) clamp(1rem,4vw,2.4rem)}
.midhead{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(1.5rem,4vw,2.2rem);letter-spacing:-.01em;margin:.2rem 0 .8rem;line-height:1.08}
.about p{font-size:1.05rem;color:var(--ink-soft);max-width:62ch;margin:0 0 1rem}

/* contact */
.contact{background:var(--ink);color:var(--cream);border-top:1px solid var(--ink)}
.contactwrap{max-width:var(--maxw);margin:0 auto;padding:clamp(2.6rem,7vw,4.5rem) clamp(1rem,4vw,2.4rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,5vw,3.5rem);align-items:start}
.contact .eyebrow{color:var(--red-bright)}
.contact .midhead{color:#fff}
.contactlead p{color:rgba(243,239,230,.86);max-width:46ch}
.fineprint{font-size:.88rem;color:rgba(243,239,230,.62)}
.fineprint a{color:#fff;font-weight:700}
.form{background:var(--paper);border-radius:12px;padding:clamp(1.2rem,3vw,1.7rem)}
.field{display:block;margin-bottom:.9rem}
.field span{display:block;font-weight:700;font-size:.86rem;margin-bottom:.3rem;color:var(--ink)}
.field input,.field textarea{width:100%;font-family:inherit;font-size:1rem;padding:.6rem .7rem;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.field input:focus,.field textarea:focus{outline:3px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.contact .form .btn.primary{background:var(--red);border-color:var(--red);color:#fff}
.contact .form .btn.primary:hover{background:#c62a16;border-color:#c62a16}
.hp{position:absolute;left:-9999px}

/* doc pages */
.doc{min-height:60vh}
.docwrap{max-width:760px;margin:0 auto;padding:clamp(2.4rem,7vw,4.5rem) clamp(1rem,4vw,2.4rem)}
.docwrap.center{text-align:center}
.dochead{font-family:"Archivo",sans-serif;font-weight:900;font-size:clamp(2rem,6vw,3rem);letter-spacing:-.02em;line-height:1.04;margin:.2rem 0 1.2rem}
.doc h2{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.2rem;margin:1.8rem 0 .4rem}
.doc p,.doc li{font-size:1.04rem;color:var(--ink-soft)}
.doc li{margin:.2rem 0}
.back{margin-top:2rem}
.back a{font-weight:700;color:var(--ink);border-bottom:2px solid var(--red);text-decoration:none}

/* footer */
.foot{background:var(--ink);color:var(--cream)}
.footwrap{max-width:var(--maxw);margin:0 auto;padding:2rem clamp(1rem,4vw,2.4rem)}
.footrow{display:flex;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;align-items:flex-start}
.footnote{font-size:.95rem;line-height:1.5;color:var(--cream)}
.footlinks{display:flex;gap:1rem;flex-wrap:wrap}
.footlinks a{text-decoration:none;font-weight:700;color:var(--cream);border-bottom:2px solid var(--red)}

@media (max-width:720px){
  .list{grid-template-columns:1fr}
  .contactwrap{grid-template-columns:1fr}
  .links a:not(.navcta){display:none}
  .filterbar{top:49px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn:hover,.row:hover{transform:none}
}
