@font-face{font-family:'Articulat CF';src:url(/fonts/articulatcf-regular.otf) format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Articulat CF';src:url(/fonts/articulatcf-medium.otf) format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:'Articulat CF';src:url(/fonts/articulatcf-bold.otf) format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:'Articulat CF';src:url(/fonts/articulatcf-heavy.otf) format('opentype');font-weight:900;font-display:swap}
:root{--green:#00271A;--green-light:#003d29;--chartreuse:#EAFB71;--cream:#FCFEF0;--orange:#E24F24;--black:#171717;--white:#FFFFFF;--font:'Articulat CF',-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--black);background:var(--cream);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}picture img{width:100%;height:auto}
a{color:inherit}.sr,.hp{position:absolute;left:-9999px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-weight:900;text-transform:uppercase;line-height:1.02;letter-spacing:-.01em;margin:0 0 .4em}
h1{font-size:clamp(2.4rem,8vw,5.2rem)}h2{font-size:clamp(1.8rem,5vw,3.2rem)}h3{font-size:1.25rem}
.eyebrow{color:var(--orange);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;margin:0 0 12px}
.lede{font-size:1.25rem;font-weight:500;max-width:34ch}.center{text-align:center}.center .lede{margin-left:auto;margin-right:auto}
.small{font-size:.85rem;opacity:.8}
.bar{position:sticky;top:0;z-index:50;background:var(--cream);color:var(--green);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid rgba(0,39,26,.1)}
.wordmark{font-weight:900;font-size:1.25rem;text-decoration:none;letter-spacing:-.01em}.wordmark span{color:var(--orange)}
.menu{background:none;border:2px solid var(--green);border-radius:999px;padding:6px 14px;font:700 .85rem var(--font);color:var(--green);text-transform:uppercase}
nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;padding:12px 20px 20px;gap:12px;border-bottom:1px solid rgba(0,39,26,.1)}
nav.open{display:flex}nav a{text-decoration:none;font-weight:700;text-transform:uppercase;font-size:.95rem}nav a[aria-current]{color:var(--orange)}
@media(min-width:900px){.menu{display:none}nav{display:flex;position:static;flex-direction:row;align-items:center;padding:0;border:0;gap:26px}}
.btn{display:inline-block;background:var(--orange);color:#fff;border:2px solid var(--orange);border-radius:999px;padding:12px 24px;font:700 .95rem var(--font);text-transform:uppercase;letter-spacing:.04em;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}.btn[aria-disabled]{opacity:.55;pointer-events:none}
nav .btn{color:#fff;padding:9px 18px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0;justify-content:inherit}.center .ctas{justify-content:center}
section{padding:72px 0}.pad-s{padding:36px 0}
.green{background:var(--green);color:var(--cream)}.green h1,.green h2{color:var(--chartreuse)}
.cream{background:var(--cream);color:var(--green)}.dk{color:var(--green)}
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;color:var(--cream);overflow:hidden;padding:0}
.hero.short{min-height:62vh}
.hero .bg,.hero picture.bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero picture.bg{position:absolute;inset:0}
.overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,39,26,.35),rgba(0,39,26,.92))}
.herotext{position:relative;padding-bottom:56px;width:100%}.hero h1{color:var(--chartreuse);max-width:12ch}
.split{display:grid;gap:40px;align-items:center}@media(min-width:900px){.split{grid-template-columns:1fr 1fr}.split.rev>:first-child{order:2}.split.top{align-items:start}}
.strip{overflow:hidden;display:flex;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.strip ul{display:flex;gap:56px;list-style:none;margin:0;padding:0 28px;flex-shrink:0;animation:scroll 40s linear infinite}
.strip li{white-space:nowrap;font-weight:900;text-transform:uppercase;font-size:1.15rem;color:var(--cream);opacity:.85}
@keyframes scroll{to{transform:translateX(-100%)}}@media(prefers-reduced-motion:reduce){.strip ul{animation:none}}
.cards3,.cards2{display:grid;gap:24px;margin:28px 0}@media(min-width:900px){.cards3{grid-template-columns:repeat(3,1fr)}.cards2{grid-template-columns:1fr 1fr}}
.card{display:block;background:var(--green-light);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--cream);padding-bottom:20px}
.card picture img,.card .bookimg{aspect-ratio:4/3;object-fit:cover;width:100%}.card .bookimg{display:flex;align-items:center;justify-content:center;background:#001a11}.card .bookimg img{height:88%;width:auto}
.card h3,.card p,.card .more{padding:0 20px}.card h3{margin-top:18px;color:var(--chartreuse)}.card .more{color:var(--orange);font-weight:700;text-transform:uppercase;font-size:.85rem}
.card.plain{background:#fff;color:var(--green);padding:28px}.card.plain h3{color:var(--green);padding:0}.card.plain p{padding:0}.icon{width:56px;height:auto;margin-bottom:12px}
.q{background:#fff;border-radius:18px;padding:32px;margin:0 0 20px;position:relative;color:var(--green)}
.q p{font-size:1.35rem;font-weight:700;margin:0 0 12px}
.q::before{content:'\201C';position:absolute;top:-10px;left:18px;font-size:5rem;color:currentColor;opacity:.35;font-weight:900;line-height:1}
.q cite{font-style:normal;font-size:.9rem;opacity:.85}.q.dark{background:var(--green);color:var(--cream)}
.rot{display:grid}.rot .q{grid-area:1/1;transition:opacity .6s}.rot .q.off{opacity:0;pointer-events:none}
.masonry{columns:1;column-gap:20px}@media(min-width:900px){.masonry{columns:3}}.masonry .q{break-inside:avoid}
.ph{display:inline-block;background:var(--chartreuse);color:var(--green);border:2px dashed var(--orange);font:700 .72rem var(--font);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:6px;margin:6px 0;vertical-align:middle}
.phbox{border:2px dashed var(--orange);border-radius:18px;min-height:260px;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;background:rgba(234,251,113,.15)}.phbox.wide{aspect-ratio:16/9;min-height:0;margin:20px 0}
.phone{width:260px;margin:0 auto;border:10px solid #000;border-radius:36px;background:var(--green-light);aspect-ratio:9/19;padding:24px;display:flex;align-items:center}
.screen{text-align:center;width:100%}.screen img{width:90px;margin:0 auto 12px}.big{font-weight:900;font-size:1.6rem;color:var(--chartreuse);text-transform:uppercase;line-height:1.05}
.bigmatch{width:120px;margin:0 auto 24px;border-radius:12px}.closing{padding:96px 0}
.rounded img{border-radius:18px}picture.wide img{max-height:560px;object-fit:cover}section:has(>picture.wide){padding:0}
.clip{margin:0}.vwrap{background:#000;border-radius:18px;overflow:hidden}.vwrap video{width:100%;max-height:72vh;margin:0 auto}
.clip figcaption{font-size:.9rem;margin-top:10px;opacity:.85}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0 24px}
.chips li{border-radius:999px;padding:6px 14px;font-weight:700;font-size:.85rem;text-transform:uppercase;background:var(--chartreuse);color:var(--green)}
.chips li:nth-child(2n){background:var(--orange);color:#fff}
.timeline{list-style:none;padding:0;margin:36px 0;display:grid;gap:0}
.timeline li{position:relative;padding:0 0 28px 36px;border-left:3px solid var(--orange);font-weight:700;text-transform:uppercase}
.timeline li::before{content:'';position:absolute;left:-10px;top:2px;width:17px;height:17px;border-radius:50%;background:var(--chartreuse)}
.timeline li.end{border-color:transparent;color:var(--chartreuse)}
@media(min-width:900px){.timeline{grid-template-columns:repeat(4,1fr)}.timeline li{border-left:0;border-top:3px solid var(--orange);padding:24px 12px 0 0}.timeline li::before{top:-10px;left:0}.timeline li.end{border-color:var(--orange)}}

.stats,.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}@media(min-width:900px){.stats{grid-template-columns:repeat(3,1fr)}.facts{grid-template-columns:repeat(4,1fr)}}
.stats b,.facts b{display:block;color:var(--chartreuse);font-weight:900;font-size:clamp(2.2rem,6vw,4rem);line-height:1;text-transform:uppercase}.facts b{font-size:clamp(1.4rem,3vw,2rem)}
.facts div{background:var(--green-light);border-radius:16px;padding:20px}
.bookimg.big img{max-width:360px;margin:0 auto;box-shadow:0 30px 60px rgba(0,0,0,.5);transform:perspective(900px) rotateY(-12deg)}
.logogrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;padding:0;margin:28px 0}@media(min-width:900px){.logogrid{grid-template-columns:repeat(4,1fr)}}
.logogrid li{border:1px solid rgba(252,254,240,.25);border-radius:14px;padding:22px 14px;text-align:center;font-weight:900;text-transform:uppercase;font-size:.9rem;display:flex;align-items:center;justify-content:center;min-height:90px}
.bform{display:grid;gap:14px;margin-top:24px}.bform label{display:grid;gap:6px;font-weight:700;font-size:.85rem;text-transform:uppercase}
.bform input,.bform select,.bform textarea{font:400 1rem var(--font);padding:12px 14px;border:2px solid rgba(0,39,26,.25);border-radius:12px;background:#fff;color:var(--black);width:100%}
.bform input:focus,.bform select:focus,.bform textarea:focus{outline:none;border-color:var(--orange)}.bform .btn{justify-self:start}
.foot{background:var(--green);color:var(--cream);padding:64px 0 40px}.foot h2{color:var(--chartreuse);font-size:clamp(1.5rem,4vw,2.4rem);max-width:22ch}
.foot .match{width:40px;height:auto;margin-bottom:16px;border-radius:6px}
.subform{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 28px;max-width:520px}.subform input{flex:1;min-width:200px;font:1rem var(--font);padding:12px 16px;border-radius:999px;border:0}
.links a{color:var(--chartreuse)}
.prose{max-width:760px}.prose img{height:auto;border-radius:10px;margin:16px 0}.arch{font-size:clamp(1.8rem,5vw,3rem)}
.banner{background:var(--chartreuse);color:var(--green);padding:12px 16px;border-radius:10px;font-weight:700;margin-bottom:24px}
.alist{list-style:none;padding:0;margin:32px 0}.alist li{padding:12px 0;border-bottom:1px solid rgba(0,39,26,.15);display:flex;justify-content:space-between;gap:12px}.alist span{opacity:.6;font-size:.85rem;white-space:nowrap}
.hero picture.bg img{object-position:50% 20%}
.phone.shot{display:block;padding:0;overflow:hidden;background:#FCFEF0}.phone.shot picture,.phone.shot img{width:100%;height:100%;object-fit:cover;object-position:top}
