/* Allies Way site styles. Official brand palette, used softly:
   strong colors only for headings, buttons, labels, and thin lines;
   light tints of the same colors for large areas. Light only, no black backgrounds. */
:root{
  /* official brand colors */
  --green:#021a17;    /* headings */
  --gold:#fac431;     /* accent lines */
  --olive:#809604;    /* brand olive */
  --olive-ink:#667803;/* olive, slightly deeper so button and link text stays readable */
  --cream:#fffff0;    /* page background */
  --burgundy:#6b1f2a; /* labels and accents */
  --tan:#d2c3a5;      /* dividers */
  /* soft tints for large areas */
  --gold-soft:#fdf6dc; --olive-soft:#eff3d6; --burgundy-soft:#f5e8ea; --tan-soft:#f4eee1;
  --surface:#ffffff; --ink:#24302b; --muted:#5b6660;
  --display:"Archivo","Arial Narrow",Arial,sans-serif;
  --body:"Figtree","Segoe UI",system-ui,sans-serif;
  --gutter:clamp(16px,4vw,48px); --max:1180px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font:400 17px/1.6 var(--body);margin:0}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--burgundy);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--olive-ink);color:#fff;padding:10px 14px;z-index:99;border-radius:8px}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.04;color:var(--green)}
h2{font-size:clamp(32px,5vw,56px);font-weight:900;font-stretch:72%;text-transform:uppercase;letter-spacing:-.01em}
h3{font-size:24px;font-weight:800;font-stretch:85%}
.eyebrow{font:800 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy)}
p{margin:0;max-width:64ch}
section{padding-block:clamp(56px,8vw,100px)}
.stack{display:grid;gap:16px}
.muted{color:var(--muted)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 16px/1 var(--body);padding:15px 22px;border-radius:999px;text-decoration:none;border:2px solid transparent;transition:transform .15s,box-shadow .15s;cursor:pointer}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 rgba(2,26,23,.08)}
.btn-gold{background:var(--gold);color:var(--green)}
.btn-leaf{background:var(--olive-ink);color:#fff}
.btn-berry{background:var(--burgundy);color:#fff}
.btn-line{border-color:var(--olive-ink);background:var(--surface);color:var(--olive-ink)}
.actions{display:flex;flex-wrap:wrap;gap:14px}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:3px solid var(--gold)}
.top .wrap{display:flex;align-items:center;gap:18px;padding-block:8px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:900 24px/1 var(--display);font-stretch:80%;text-transform:uppercase;color:var(--green)}
.brand img{width:56px;height:56px}
.nav{display:flex;gap:22px;margin-left:auto;font-weight:700;font-size:15px}
.nav a{text-decoration:none}
.nav a:hover,.nav a[aria-current="page"]{color:var(--burgundy)}
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:6px}
.top .btn{padding:11px 20px}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;font-weight:800;padding:10px 14px;border:2px solid var(--olive-ink);border-radius:999px;color:var(--olive-ink)}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:0;top:calc(100% + 10px);background:var(--surface);border:2px solid var(--tan);border-radius:16px;padding:10px;display:grid;min-width:210px;box-shadow:0 10px 30px rgba(2,26,23,.1)}
.menu nav a{padding:10px 12px;text-decoration:none;font-weight:700;border-radius:10px}
.menu nav a:hover{background:var(--gold-soft)}
@media (max-width:960px){.nav{display:none}.menu{display:block;margin-left:auto}}
@media (max-width:440px){.brand span{display:none}.top .btn{padding:11px 16px}}

/* home hero */
.hero{background:linear-gradient(135deg,var(--cream) 0%,var(--gold-soft) 55%,var(--olive-soft) 100%);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center;padding-block:clamp(44px,7vw,84px)}
.hero h1{font-size:clamp(44px,7vw,92px);font-weight:900;font-stretch:66%;text-transform:uppercase;max-width:12ch;letter-spacing:-.01em}
.hero h1 em,.page-hero h1 em{font-style:normal;color:var(--burgundy)}
.hero p{font-size:clamp(18px,2vw,21px);margin-top:22px;max-width:46ch}
.hero .actions{margin-top:30px}
.where{margin-top:30px;font:700 13px/1.5 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--olive-ink)}
.photo{position:relative;min-width:0}
.photo::before{content:"";position:absolute;inset:18px -18px -18px 18px;background:var(--olive-soft);border:2px solid var(--tan);border-radius:28px}
.photo img{position:relative;border-radius:28px;aspect-ratio:4/3;object-fit:cover;width:100%;border:6px solid #fff}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.photo{margin-right:18px}}

/* inner page hero */
.page-hero{background:linear-gradient(135deg,var(--cream) 0%,var(--gold-soft) 60%,var(--olive-soft) 100%);border-bottom:1px solid var(--tan)}
.page-hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,5vw,56px);align-items:center;padding-block:clamp(40px,6vw,72px)}
.page-hero h1{font-size:clamp(40px,6vw,76px);font-weight:900;font-stretch:66%;text-transform:uppercase;letter-spacing:-.01em}
.page-hero p{font-size:clamp(17px,1.8vw,20px);margin-top:18px;max-width:52ch}
.page-hero .actions{margin-top:26px}
.page-hero.solo .wrap{grid-template-columns:1fr}
@media (max-width:860px){.page-hero .wrap{grid-template-columns:1fr}}

/* message band */
.truth{background:var(--olive-soft);padding-block:clamp(40px,6vw,64px);border-block:1px solid var(--tan)}
.truth .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.truth blockquote{margin:0;font:800 clamp(24px,3vw,34px)/1.15 var(--display);font-stretch:80%;color:var(--green)}
.path{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font:900 clamp(22px,2.6vw,30px)/1 var(--display);font-stretch:70%;text-transform:uppercase}
.path span:not(.arrow){background:#fff;color:var(--green);padding:8px 12px;border-radius:8px;border:2px solid var(--gold)}
.path .arrow{color:var(--burgundy)}
.truth small{display:block;margin-top:16px;font:500 16px/1.5 var(--body);max-width:52ch}
@media (max-width:800px){.truth .wrap{grid-template-columns:1fr}}

/* section heads */
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:40px}
.head p{color:var(--muted)}

/* cards */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{background:var(--surface);border:1px solid var(--tan);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.card>img{aspect-ratio:5/4;object-fit:cover;width:100%}
.card .body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.tag{font:800 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--olive-ink)}
.card p{color:var(--muted);font-size:16px}
.more{margin-top:auto;padding-top:6px;font-weight:700;color:var(--olive-ink);text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:5px}
.card.mint{background:var(--olive-soft)}
.card.lemon{background:var(--gold-soft)}
.card.peach{background:var(--burgundy-soft)}
.pill{display:inline-block;font:800 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:99px;background:var(--burgundy);color:#fff;margin-left:6px;vertical-align:3px}
@media (max-width:900px){.grid-3{grid-template-columns:1fr}}
@media (max-width:640px){.grid-2{grid-template-columns:1fr}}

/* lanes (programs page) */
.lane{display:grid;grid-template-columns:220px 1fr;gap:28px;padding-block:36px;border-top:3px solid var(--gold)}
.lane.ember{border-color:var(--burgundy)}.lane.green{border-color:var(--olive)}
.lane-label{font:900 15px/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.lane-label span{display:block;color:var(--muted);font:500 14px/1.4 var(--body);letter-spacing:0;text-transform:none;margin-top:6px}
.sub{border-top:2px dashed var(--tan);padding-top:12px;margin-top:4px;font-size:15px}
.sub b{font-family:var(--display);font-stretch:85%;font-size:17px;color:var(--green)}
@media (max-width:900px){.lane{grid-template-columns:1fr;gap:16px}}

/* impact */
.impact{background:var(--gold-soft);border-block:1px solid var(--tan)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.stat{padding:26px 22px;border-radius:20px;min-width:0;background:var(--surface);border:1px solid var(--tan);border-top:6px solid var(--gold)}
.stat .n{font:900 clamp(46px,6vw,70px)/1 var(--display);font-stretch:65%;font-variant-numeric:tabular-nums;color:var(--green)}
.stat:nth-child(1){border-top-color:var(--olive)}.stat:nth-child(1) .n{color:var(--olive-ink)}
.stat:nth-child(2){border-top-color:var(--green)}
.stat:nth-child(3){border-top-color:var(--burgundy)}.stat:nth-child(3) .n{color:var(--burgundy)}
.stat .what{font-weight:800;margin-top:10px}
.stat .when{font-size:14px;color:var(--muted);margin-top:4px}
.fine{margin-top:28px;font-size:15px;color:var(--muted);max-width:80ch}
@media (max-width:860px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:440px){.stats{grid-template-columns:1fr}}

/* video + recognition */
.story{display:grid;grid-template-columns:300px 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.reel{width:100%;max-width:300px;aspect-ratio:9/16;border-radius:24px;overflow:hidden;border:6px solid var(--gold-soft);outline:1px solid var(--tan);background:var(--olive-soft);position:relative;display:block;color:#fff;text-decoration:none}
.reel iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.reel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel .play{position:absolute;inset:auto 0 0 0;padding:22px;background:linear-gradient(transparent,rgba(2,26,23,.75))}
.reel .circle{width:64px;height:64px;border-radius:50%;background:var(--gold);display:grid;place-items:center;margin-bottom:12px}
.reel .circle::before{content:"";border-left:20px solid var(--green);border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}
.reel b{font:800 20px/1.1 var(--display)}
.award{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--tan);border-radius:20px;padding:14px}
.award img{aspect-ratio:3/2;object-fit:cover;border-radius:12px;object-position:50% 22%}
.award p{font-size:15px;color:var(--muted)}
@media (max-width:760px){.story{grid-template-columns:1fr}.reel{margin-inline:auto}.award{grid-template-columns:1fr}}

/* giving */
.give{background:var(--olive-soft);border-block:1px solid var(--tan)}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tier{background:var(--surface);border:1px solid var(--tan);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:10px;min-width:0}
.tier.featured{border:3px solid var(--gold);transform:translateY(-8px)}
.tier .amt{font:900 58px/1 var(--display);font-stretch:65%;color:var(--green)}
.tier .amt small{font:600 16px var(--body)}
.tier .name{font:800 14px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--burgundy)}
.tier p{font-size:16px}
.tier .btn{margin-top:auto}
.band{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;margin-top:28px;padding:24px;background:var(--surface);border:1px solid var(--tan);border-radius:24px}
.legal{margin-top:18px;font-size:14px;color:var(--muted);max-width:none}
@media (max-width:860px){.tiers{grid-template-columns:1fr}.tier.featured{transform:none}}

/* color panels */
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.panel{padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;gap:14px;min-width:0;border-radius:28px;border:1px solid var(--tan);color:var(--ink)}
.panel.berry{background:var(--burgundy-soft)}
.panel.ember{background:var(--gold-soft)}
.panel.leaf{background:var(--olive-soft)}
.panel ul{margin:0;padding-left:20px;display:grid;gap:6px;font-weight:600}
.panel .btn{align-self:flex-start;margin-top:8px}
@media (max-width:800px){.split{grid-template-columns:1fr}}

/* steps (real sequences only) */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;counter-reset:s}
.steps li{background:var(--surface);border:1px solid var(--tan);border-radius:20px;padding:22px;counter-increment:s;min-width:0;display:grid;gap:8px;align-content:start}
.steps li::before{content:counter(s);font:900 44px/1 var(--display);font-stretch:65%;color:var(--olive)}
.steps b{font:800 20px/1.1 var(--display);font-stretch:85%;color:var(--green)}
.steps p{font-size:15px;color:var(--muted)}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* lists, notes, prose */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{padding-left:34px;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:var(--olive-ink)}
.checks li::after{content:"";position:absolute;left:7px;top:8px;width:8px;height:5px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg)}
.note{background:var(--surface);border:1px solid var(--tan);border-left:6px solid var(--gold);border-radius:16px;padding:20px 22px}
.note b{color:var(--green)}
.prose{max-width:72ch;display:grid;gap:14px}
.prose h2{font-size:clamp(26px,3.4vw,36px);margin-top:18px}
.prose h3{margin-top:8px}
.prose ul{margin:0;padding-left:22px;display:grid;gap:6px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,56px);align-items:start}
@media (max-width:820px){.two-col{grid-template-columns:1fr}}
.alt{background:var(--surface);border-block:1px solid var(--tan)}

/* people */
.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.person{background:var(--surface);border:1px solid var(--tan);border-radius:20px;padding:22px;display:grid;gap:10px;align-content:start;min-width:0}
.person .mono{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font:900 24px/1 var(--display);color:#fff;background:var(--olive-ink);overflow:hidden}
.person .mono img{width:100%;height:100%;object-fit:cover}
.person:nth-child(3n+2) .mono{background:var(--burgundy)}
.person:nth-child(3n) .mono{background:var(--green)}
.person h3{font-size:22px}
.person .role{font:800 12px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--burgundy)}
.person p{font-size:15px;color:var(--muted)}
@media (max-width:900px){.people{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.people{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.chips li{background:var(--surface);border:2px solid var(--tan);border-radius:999px;padding:8px 14px;font-weight:700}

/* contact */
.contact-card{background:var(--surface);border:1px solid var(--tan);border-radius:24px;padding:28px;display:grid;gap:18px}
.contact-card dt{font:800 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--burgundy)}
.contact-card dd{margin:6px 0 0;font-size:19px;font-weight:700;color:var(--green)}
.contact-card dl{margin:0;display:grid;gap:18px}

/* footer */
footer{background:var(--tan-soft);color:var(--ink);padding-block:56px 36px;font-size:15px;border-top:3px solid var(--gold)}
footer .brand{color:var(--green)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
footer h4{font:800 13px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--burgundy);margin:0 0 14px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer a{text-decoration:none}footer a:hover{color:var(--burgundy)}
.tagline{font:800 22px/1.15 var(--display);font-stretch:80%;margin-top:14px;max-width:22ch;color:var(--green)}
.base{margin-top:40px;padding-top:20px;border-top:1px solid var(--tan);color:var(--muted);font-size:13px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.fgrid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}

/* social icons */
.social{display:flex;gap:10px;margin-top:16px}
.social a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid var(--tan);color:var(--green);transition:background .15s,color .15s,border-color .15s}
.social a:hover{background:var(--olive-ink);border-color:var(--olive-ink);color:#fff}
.social svg{width:22px;height:22px}

/* forms */
.form{background:var(--surface);border:1px solid var(--tan);border-radius:24px;padding:clamp(20px,3vw,32px);display:grid;gap:16px;min-width:0}
.field{display:grid;gap:6px}
.field label{font-weight:700;color:var(--green);font-size:15px}
.field label span{color:var(--burgundy)}
.field input,.field select,.field textarea{font:400 16px/1.4 var(--body);color:var(--ink);background:var(--cream);border:2px solid var(--tan);border-radius:12px;padding:12px 14px;width:100%;min-width:0}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--olive-ink);background:#fff}
.form .btn{justify-self:start}
.form-note{font-size:13px;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* partner logo strip on a card */
.logo-strip{background:#fff;border-bottom:1px solid var(--tan);display:grid;place-items:center;padding:28px 20px;min-height:120px}
.logo-strip img{max-height:52px;width:auto;max-width:100%}

/* scarf model photos in the shop panel */
.models{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.models img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:50% 20%;border-radius:16px;border:4px solid #fff}
