*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#0E1A14;color:#F2EFEA;font-family:Inter,system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:Archivo,Inter,sans-serif;margin:0;letter-spacing:-.03em;line-height:1}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid #E8611A;outline-offset:3px}

:root{
  --green:#1A3A29;
  --deep:#0E1A14;
  --putty:#E9E5DF;
  --ink:#14201A;
  --muted:#5A6660;
  --light:#F2EFEA;
  --accent:#E8611A;
}

.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:200;background:#fff;color:#14201A;padding:10px 14px;border-radius:4px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-weight:600;font-size:15px;letter-spacing:.01em;text-decoration:none;padding:14px 22px;min-height:46px;border:0;transition:transform .2s,background .2s,color .2s,box-shadow .2s}
.btn--accent{background:var(--accent);color:#fff;box-shadow:0 0 0 rgba(0,0,0,0)}
.btn--accent:hover{background:#ff7229;transform:translateY(-2px);box-shadow:0 10px 26px rgba(232,97,26,.32)}
.btn--light{background:var(--light);color:var(--ink)}
.btn--light:hover{background:#fff;transform:translateY(-2px)}
.btn--lg{padding:18px 30px;font-size:16px;min-height:56px}

.tlink{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:15px;text-decoration:none;color:var(--light);padding:8px 0;border-bottom:2px solid rgba(242,239,234,.3);min-height:44px}
.tlink:hover{border-bottom-color:var(--accent);color:#fff}
.tlink--dark{color:var(--ink);border-bottom-color:rgba(20,32,26,.25)}
.tlink--dark:hover{color:var(--green);border-bottom-color:var(--accent)}
.tlink--mail{border-bottom-color:rgba(242,239,234,.35)}

/* promo bar */
.promo{background:#0a120e;font-size:13.5px}
.promo__inner{max-width:1240px;margin:0 auto;padding:0 50px 0 22px;position:relative;display:flex;justify-content:center;align-items:center;min-height:42px}
.promo__link{color:#D9D5CE;text-decoration:none;text-align:center;font-weight:500;padding:10px 0;display:inline-block}
.promo__chev{color:#7d8a82}
.promo__accent{color:var(--accent);position:relative}
.promo__accent::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.promo__link:hover .promo__accent::after{transform:scaleX(1)}
.promo__close{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;color:#8b968f;font-size:20px;line-height:1;cursor:pointer;width:36px;height:36px}
.promo__close:hover{color:#fff}
.promo.is-hidden{display:none}

/* header */
.hdr{position:sticky;top:0;z-index:80;background:rgba(10,18,14,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(242,239,234,.1)}
.hdr__inner{max-width:1240px;margin:0 auto;padding:0 22px;display:flex;align-items:center;gap:18px;min-height:74px;transition:min-height .25s}
.hdr.is-small .hdr__inner{min-height:60px}
.brand{flex:0 0 auto;min-width:0}
.brand__logo{width:132px;mix-blend-mode:screen;transition:width .25s}
.hdr.is-small .brand__logo{width:112px}
.nav{margin-left:auto;min-width:0}
.nav__list{display:flex;gap:26px}
.nav__link{font-weight:500;font-size:15px;text-decoration:none;color:#CFD6D1;position:relative;padding:6px 0}
.nav__link:hover{color:#fff}
.nav__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav__link:hover::after{transform:scaleX(.5)}
.nav__link.is-active{color:#fff}
.nav__link.is-active::after{transform:scaleX(1)}
.hdr__cta{flex:0 0 auto}
.burger{display:none;background:none;border:1px solid rgba(242,239,234,.28);width:46px;height:44px;margin-left:auto;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:#F2EFEA;transition:transform .25s,opacity .2s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.drawer{position:fixed;inset:0;z-index:90;background:var(--green);padding:88px 22px 40px;overflow-y:auto;overflow-x:hidden}
.drawer__nav ul{display:flex;flex-direction:column;gap:4px;margin-bottom:26px}
.drawer__nav a{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(1.7rem,9vw,2.4rem);letter-spacing:-.03em;text-decoration:none;color:var(--light);display:block;padding:10px 0;border-bottom:1px solid rgba(242,239,234,.14)}
.drawer__nav a.is-active{color:var(--accent)}
.drawer__cta{width:100%}
.drawer__tag{margin-top:22px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,239,234,.55)}

/* grain */
.hero__grain,.pf__grain{position:absolute;inset:0;pointer-events:none;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:overlay}

/* HERO */
.hero{position:relative;background:var(--deep);overflow:hidden;isolation:isolate;padding:clamp(60px,10vw,120px) 0 clamp(76px,13vw,160px);clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 4vw))}
.hero__art{position:absolute;inset:-8% -8% -4% -8%;z-index:0;will-change:transform}
.hero__art img{width:100%;height:100%;object-fit:cover;object-position:62% 34%;opacity:.9;mix-blend-mode:screen;filter:saturate(1.15) contrast(1.05)}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:
  radial-gradient(72% 78% at 14% 62%,rgba(14,26,20,.96),rgba(14,26,20,.18) 74%),
  linear-gradient(to top,rgba(14,26,20,.94) 0%,rgba(14,26,20,.18) 52%,rgba(14,26,20,.5) 100%)}
.hero__grain{z-index:2}
.hero__inner{position:relative;z-index:3;max-width:1240px}
.hero__tag{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:clamp(14px,3vw,26px)}
.hero__h1{font-weight:800;font-size:clamp(2.7rem,9.2vw,7rem);line-height:.93;color:#fff;text-shadow:0 10px 46px rgba(0,0,0,.5)}
.hero__h1-em{color:var(--light);position:relative}
.hero__sub{margin-top:clamp(18px,3vw,28px);max-width:48ch;font-size:clamp(1rem,1.5vw,1.2rem);color:rgba(242,239,234,.9)}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;margin-top:clamp(26px,4vw,40px)}
.hero__meta{margin-top:clamp(34px,6vw,64px);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,239,234,.55)}

/* WHAT WE STAFF */
.staff{background:var(--putty);color:var(--ink);padding:clamp(64px,9vw,120px) 0 clamp(70px,10vw,130px);margin-top:-4vw;position:relative;z-index:4}
.staff__head{display:flex;flex-wrap:wrap;gap:12px 30px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(28px,5vw,52px)}
.staff__h{font-weight:800;font-size:clamp(1.9rem,5vw,3.4rem);color:var(--green)}
.staff__grid{display:grid;gap:14px;grid-template-columns:1fr}
.scard{min-width:0}
.scard__a{display:block;position:relative;height:100%;background:#fff;text-decoration:none;color:var(--ink);padding:26px 24px 62px;border-top:3px solid var(--green);transition:transform .25s,box-shadow .25s,background .25s}
.scard__a:hover{transform:translateY(-5px);box-shadow:14px 14px 0 rgba(26,58,41,.16)}
.scard__num{font-family:Archivo,sans-serif;font-weight:800;font-size:13px;letter-spacing:.06em;color:var(--accent)}
.scard__t{margin:12px 0 10px;font-weight:700;font-size:clamp(1.25rem,2.3vw,1.55rem);line-height:1.06;color:var(--green)}
.scard__d{font-size:15.5px;color:var(--muted);max-width:36ch}
.scard__go{position:absolute;left:24px;bottom:22px;font-size:19px;color:var(--green);transition:transform .25s,color .25s}
.scard__a:hover .scard__go{transform:translateX(6px);color:var(--accent)}
.scard--img .scard__a{background:var(--green);color:var(--light);border-top-color:var(--accent)}
.scard--img .scard__t{color:#fff}
.scard--img .scard__d{color:rgba(242,239,234,.8)}
.scard--img .scard__go{color:var(--light)}

/* PEOPLE FIRST */
.pf{position:relative;background:var(--green);overflow:hidden;isolation:isolate;padding:clamp(70px,10vw,140px) 0 clamp(70px,10vw,130px);clip-path:polygon(0 0,100% 3vw,100% 100%,0 100%)}
.pf__inner{position:relative;z-index:2;display:grid;gap:clamp(30px,5vw,60px);align-items:center}
.pf__eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.pf__h{font-weight:700;font-size:clamp(1.5rem,3.8vw,2.9rem);line-height:1.05;color:var(--light);margin-bottom:clamp(26px,4vw,38px);max-width:23ch}
.pf__media{margin:0;position:relative;min-width:0}
.pf__media img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 60%;box-shadow:-18px 18px 0 rgba(14,26,20,.5)}
.pf__media figcaption{margin-top:14px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:rgba(242,239,234,.55)}

/* RESOURCES */
.res{background:var(--putty);color:var(--ink);padding:clamp(64px,9vw,120px) 0 clamp(70px,10vw,130px)}
.res__head{display:flex;flex-wrap:wrap;gap:12px 30px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(28px,5vw,54px)}
.res__h{font-weight:800;font-size:clamp(2rem,5.4vw,3.7rem);color:var(--green);line-height:.96}
.res__grid{display:grid;gap:16px;grid-template-columns:1fr}
.acard{min-width:0;background:#fff;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.acard:hover{transform:translateY(-4px);box-shadow:12px 12px 0 rgba(26,58,41,.14)}
.acard__img{display:block;overflow:hidden;background:var(--green)}
.acard__img img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s}
.acard:hover .acard__img img{transform:scale(1.05)}
.acard__body{padding:20px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.acard__cat{align-self:flex-start;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green);text-decoration:none;background:rgba(26,58,41,.09);padding:7px 10px}
.acard__cat:hover{background:var(--accent);color:#fff}
.acard__t{font-weight:700;font-size:clamp(1.1rem,1.9vw,1.32rem);line-height:1.12;color:var(--ink)}
.acard__t a{text-decoration:none}
.acard__t a:hover{color:var(--green);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.acard__more{font-size:14px;font-weight:600;color:var(--accent);margin-top:auto}
.acard--lead .acard__t{font-size:clamp(1.35rem,3.4vw,2.15rem)}
.acard--lead .acard__body{padding:26px 24px 32px}

/* BAND */
.band{position:relative;background:var(--deep);overflow:hidden;isolation:isolate;padding:clamp(72px,11vw,140px) 0;clip-path:polygon(0 3vw,100% 0,100% 100%,0 100%)}
.band__inner{position:relative;z-index:2;text-align:center}
.band__h{font-weight:800;font-size:clamp(2rem,6.4vw,4.6rem);color:#fff;line-height:.95}
.band__sub{margin:22px auto 0;max-width:44ch;font-size:clamp(1rem,1.4vw,1.15rem);color:rgba(242,239,234,.82)}
.band__cta{margin-top:clamp(26px,4vw,42px);display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center;align-items:center}
.band__meta{margin-top:clamp(28px,5vw,48px);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,239,234,.45)}

/* FOOTER */
.ft{background:var(--green);padding:clamp(52px,7vw,80px) 0 30px}
.ft__inner{display:grid;gap:34px}
.ft__logo{width:150px;mix-blend-mode:screen;margin-bottom:20px}
.ft__addr{color:rgba(242,239,234,.8);font-size:15.5px}
.ft__mail{display:inline-block;margin-top:12px;font-weight:600;font-size:15.5px;text-decoration:none;color:var(--light);border-bottom:1.5px solid var(--accent);padding-bottom:2px}
.ft__mail:hover{color:var(--accent)}
.ft__links{display:flex;flex-direction:column;gap:6px}
.ft__links a{display:inline-block;padding:8px 0;font-size:15.5px;text-decoration:none;color:rgba(242,239,234,.85)}
.ft__links a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.ft__social{display:flex;gap:12px}
.ft__social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(242,239,234,.28);color:var(--light)}
.ft__social a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.ft__legal{margin-top:40px;padding-top:22px;border-top:1px solid rgba(242,239,234,.16)}
.ft__legal p{font-size:12.8px;color:rgba(242,239,234,.62);max-width:80ch}

/* reveal — visible by default; only hidden once JS confirms it can reveal them */
.reveal{opacity:1;transform:none}
html.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
html.js .reveal.is-in{opacity:1;transform:none}

/* responsive */
@media (max-width:920px){
  .nav,.hdr__cta{display:none}
  .burger{display:flex}
}
@media (min-width:700px){
  .staff__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .res__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft__inner{grid-template-columns:1.4fr .6fr auto;align-items:start}
  .ft__social{justify-content:flex-end}
  .ft__links{align-items:flex-start}
}
@media (min-width:901px){
  .pf__inner{grid-template-columns:1.05fr .95fr}
  .pf__media{margin-right:-6%}
  .pf__media img{aspect-ratio:4/5}
}
@media (min-width:961px){
  .res__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .acard--lead{grid-column:span 3;flex-direction:row;align-items:stretch}
  .acard--lead .acard__img{flex:0 0 58%;min-width:0}
  .acard--lead .acard__img img{height:100%;aspect-ratio:auto;min-height:340px}
  .acard--lead .acard__body{justify-content:center;padding:38px 40px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html.js .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}