/* FSGI.IN — SHARED STYLESHEET · design system per spec */
:root{
  --deep-blue:#253B5E; --navy:#27367B; --cream:#F5E6D0; --paper:#efdfc4;
  --ink:#1b160f; --pink:#E8176A; --teal:#00A89C; --orange:#E85D04;
  --f-display:'Bebas Neue',sans-serif;
  --f-body:'Special Elite','Courier New',monospace;
  --f-hand:'Permanent Marker',cursive;
  --f-serif:'Fraunces',serif;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--f-display);letter-spacing:.01em;text-transform:uppercase;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75;}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-size:1.05rem;letter-spacing:.04em;padding:14px 26px;border:2px solid var(--ink);border-radius:2px;cursor:pointer;transition:transform .15s,box-shadow .15s;}
.btn-pink{background:var(--pink);color:var(--cream);border-color:var(--pink);box-shadow:4px 4px 0 var(--ink);}
.btn-pink:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy);}
.btn-outline:hover{background:var(--navy);color:var(--cream);}
.btn-lg{font-size:1.3rem;padding:18px 34px;}
.emergency{background:var(--ink);color:var(--cream);font-size:.78rem;text-align:center;padding:9px 24px;}
.emergency a{color:var(--pink);border-bottom:1px solid var(--pink);font-weight:bold;}
header{position:sticky;top:0;z-index:60;background:var(--cream);border-bottom:3px solid var(--ink);}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:var(--maxw);margin:0 auto;}
.brand img{height:38px;width:auto;}
nav.links{display:flex;gap:18px;align-items:center;}
nav.links a{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid transparent;padding-bottom:2px;}
nav.links a:hover,nav.links a.active{border-color:var(--pink);}
.navcta{background:var(--pink);color:var(--cream);font-family:var(--f-display);font-size:.95rem;padding:9px 18px;border-radius:2px;box-shadow:3px 3px 0 var(--ink);}
.navcta:hover{box-shadow:5px 5px 0 var(--ink);}
.burger{display:none;background:none;border:2px solid var(--ink);border-radius:4px;padding:8px 10px;cursor:pointer;font-size:1rem;}
#mobilenav{display:none;flex-direction:column;padding:10px 24px 18px;border-top:2px solid var(--ink);}
#mobilenav a{padding:10px 0;text-transform:uppercase;font-size:.85rem;border-bottom:1px dashed rgba(27,22,15,.25);}
#mobilenav .navcta{text-align:center;margin-top:10px;}
.sec{padding:76px 0;}
.sec-head{max-width:680px;margin-bottom:42px;}
.sec-head .eyebrow{color:var(--pink);font-weight:bold;margin-bottom:10px;}
.sec-head h2{font-size:clamp(2rem,4.4vw,3.1rem);color:var(--deep-blue);}
.sec-head p{font-family:var(--f-serif);font-size:1.05rem;margin-top:14px;}
.prose{max-width:760px;}
.prose p{font-family:var(--f-serif);font-size:1.08rem;margin-bottom:18px;}
.prose h2{font-size:clamp(1.7rem,3.6vw,2.4rem);color:var(--deep-blue);margin:44px 0 16px;}
.prose h3{font-size:1.4rem;color:var(--deep-blue);margin:30px 0 12px;}
.prose ul{margin:0 0 18px 22px;}
.prose li{font-family:var(--f-serif);font-size:1.05rem;margin-bottom:8px;}
.prose a.inline{color:var(--pink);border-bottom:1px solid var(--pink);}
.callout{border:2px solid var(--ink);border-radius:2px;padding:24px 26px;margin:26px 0;box-shadow:5px 5px 0 rgba(27,22,15,.15);}
.callout.pink{background:var(--pink);color:var(--cream);border-color:var(--pink);}
.callout.pink a{color:var(--cream);border-bottom:1px solid var(--cream);}
.callout.navy{background:var(--navy);color:var(--cream);border-color:var(--navy);}
.callout.navy a{color:var(--teal);border-bottom:1px solid var(--teal);}
.callout.teal{background:var(--teal);color:#04302d;border-color:#04302d;}
.callout h3{font-size:1.5rem;margin-bottom:10px;}
.callout p{font-family:var(--f-serif);font-size:1.02rem;margin-bottom:8px;}
.callout p:last-child{margin-bottom:0;}
.myth{font-size:.92rem;border-left:3px solid var(--pink);padding-left:12px;margin:14px 0;font-family:var(--f-serif);}
.myth b{color:var(--pink);}
.turn{background:var(--deep-blue);color:var(--cream);padding:60px 0;}
.turn-grid{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid rgba(245,230,208,.25);}
.turn-panel{padding:32px 26px;border-right:2px solid rgba(245,230,208,.25);}
.turn-panel:last-child{border-right:none;}
.turn-label{font-family:var(--f-display);font-size:.82rem;letter-spacing:.12em;margin-bottom:14px;display:inline-block;padding:3px 11px;border:1px solid;border-radius:20px;}
.turn-panel.before .turn-label{color:#c0b8a8;}
.turn-panel.now .turn-label{color:var(--teal);}
.turn-panel.gap .turn-label{color:var(--pink);}
.turn-panel p{font-family:var(--f-serif);font-size:1.04rem;}
.turn-panel p+p{margin-top:12px;}
.pin{font-family:var(--f-hand);font-size:1rem;color:var(--orange);}
.triage{background:var(--teal);color:#04302d;padding:64px 0;}
.triage h2,.triage .eyebrow,.triage .sec-head p{color:#04302d;}
.triage .eyebrow{opacity:.75;font-weight:bold;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid #04302d;background:rgba(255,255,255,.14);}
.step{padding:28px 24px;border-right:2px solid #04302d;}
.step:last-child{border-right:none;}
.step .n{font-family:var(--f-display);font-size:2.6rem;opacity:.35;}
.step h3{font-size:1.32rem;margin:4px 0 10px;}
.step p{font-size:.92rem;}
.step .warn{display:block;margin-top:10px;font-size:.82rem;border-left:3px solid var(--pink);padding-left:10px;}
.step .warn a{border-bottom:1px solid;}
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.card{background:var(--paper);border:2px solid var(--ink);padding:26px 24px;display:flex;flex-direction:column;gap:10px;box-shadow:5px 5px 0 rgba(27,22,15,.15);transition:transform .15s;}
.card:hover{transform:translateY(-4px);}
.card .q{font-family:var(--f-hand);color:var(--orange);font-size:1rem;}
.card h3{font-size:1.42rem;color:var(--deep-blue);}
.card p{font-size:.92rem;flex:1;}
.card .go{font-family:var(--f-display);font-size:.85rem;color:var(--pink);}
.services{background:var(--navy);color:var(--cream);padding:76px 0;}
.services .sec-head h2{color:var(--cream);}
.services .sec-head .eyebrow{color:var(--teal);}
.services .sec-head p{opacity:.9;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.svc{border:2px solid rgba(245,230,208,.35);padding:30px 26px;display:flex;flex-direction:column;gap:12px;background:rgba(0,0,0,.12);}
.svc .tag{font-family:var(--f-hand);font-size:.95rem;color:var(--teal);}
.svc h3{font-size:1.5rem;}
.svc p{font-size:.9rem;opacity:.9;flex:1;}
.svc ul{padding-left:17px;font-size:.86rem;opacity:.85;}
.svc li{margin-bottom:5px;}
.svc .go{font-family:var(--f-display);font-size:.86rem;color:var(--orange);}
.svc-note{margin-top:28px;border-top:1px dashed rgba(245,230,208,.3);padding-top:20px;font-size:.86rem;opacity:.8;font-family:var(--f-serif);}
.receipts{background:var(--paper);}
.tag-row{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.evidence-tag{perspective:1200px;height:235px;}
.tag-inner{position:relative;width:100%;height:100%;transition:transform .55s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d;cursor:pointer;}
.evidence-tag.flipped .tag-inner{transform:rotateY(180deg);}
.tag-face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:2px solid var(--ink);padding:22px;display:flex;flex-direction:column;justify-content:space-between;}
.tag-front{background:var(--cream);box-shadow:5px 5px 0 rgba(27,22,15,.2);}
.tag-front::after{content:"\21bb tap for the receipt";font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);opacity:.6;}
.tag-front p{font-family:var(--f-serif);font-size:1.08rem;color:var(--deep-blue);}
.tag-back{background:var(--navy);color:var(--cream);transform:rotateY(180deg);box-shadow:5px 5px 0 rgba(27,22,15,.35);}
.tag-back .stamp{font-family:var(--f-hand);color:var(--teal);font-size:.95rem;transform:rotate(-6deg);border:2px solid var(--teal);display:inline-block;padding:2px 10px;width:fit-content;}
.tag-back p{font-size:.83rem;}
.alarm{background:var(--pink);color:var(--cream);padding:70px 0;}
.alarm .wrap{display:flex;align-items:center;gap:50px;flex-wrap:wrap;}
.alarm-copy{flex:1;min-width:290px;}
.alarm h2{font-size:clamp(2rem,4.8vw,3.2rem);}
.alarm p{font-family:var(--f-serif);font-size:1.06rem;max-width:590px;margin:16px 0;}
.alarm .btn-outline{border-color:var(--cream);color:var(--cream);margin-top:10px;}
.alarm .btn-outline:hover{background:var(--cream);color:var(--pink);}
.alarm-stamp{font-family:var(--f-hand);font-size:2.1rem;border:4px solid var(--cream);border-radius:50%;width:180px;height:180px;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-9deg);line-height:1.05;}
.origin{background:var(--ink);color:var(--cream);padding:60px 0;}
.origin .wrap{display:flex;gap:44px;align-items:center;flex-wrap:wrap;}
.origin-photo{width:190px;height:190px;flex-shrink:0;border-radius:50%;border:4px solid var(--orange);background:linear-gradient(135deg,var(--navy),var(--deep-blue));display:flex;align-items:center;justify-content:center;font-family:var(--f-hand);color:rgba(245,230,208,.5);font-size:1.1rem;}
.origin-copy{flex:1;min-width:280px;}
.origin h2{font-size:2.2rem;color:var(--orange);margin-bottom:14px;}
.origin p{font-family:var(--f-serif);font-size:1.15rem;margin-bottom:12px;}
.origin a.go{font-family:var(--f-display);font-size:1rem;color:var(--orange);border-bottom:2px solid var(--orange);}
.survivors-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.survivor{background:var(--deep-blue);color:var(--cream);overflow:hidden;box-shadow:5px 5px 0 rgba(27,22,15,.2);}
.survivor-photo{aspect-ratio:1/1;background:linear-gradient(135deg,var(--navy),var(--deep-blue));display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:2.6rem;color:rgba(245,230,208,.3);border-bottom:2px solid var(--orange);}
.survivor-info{padding:16px 18px;}
.survivor-info h3{font-size:1.3rem;color:var(--orange);}
.survivor-info .form{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;opacity:.65;}
.survivor-info p{font-size:.83rem;margin-top:6px;opacity:.9;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.split-panel{padding:38px 34px;border:2px solid var(--ink);display:flex;flex-direction:column;gap:14px;}
.split-panel.vets{background:var(--teal);color:#04302d;}
.split-panel.guide{background:var(--deep-blue);color:var(--cream);}
.split-panel h3{font-size:1.9rem;}
.split-panel p{font-family:var(--f-serif);font-size:1rem;}
.split-panel ul{padding-left:18px;font-size:.89rem;}
.split-panel li{margin-bottom:5px;}
.split-panel .btn-outline{width:fit-content;margin-top:auto;}
.split-panel.vets .btn-outline{border-color:#04302d;color:#04302d;}
.split-panel.vets .btn-outline:hover{background:#04302d;color:var(--teal);}
.split-panel.guide .btn-outline{border-color:var(--cream);color:var(--cream);}
.split-panel.guide .btn-outline:hover{background:var(--cream);color:var(--deep-blue);}
.donate{background:var(--orange);color:var(--cream);padding:64px 0;text-align:center;}
.donate h2{font-size:clamp(2rem,5vw,3rem);}
.donate p{font-family:var(--f-serif);font-size:1.06rem;max-width:640px;margin:16px auto 26px;}
.page-hero{padding:60px 0 40px;position:relative;}
.page-hero .eyebrow{color:var(--navy);font-weight:bold;margin-bottom:14px;}
.page-hero h1{font-size:clamp(2.4rem,6vw,4.4rem);line-height:.98;color:var(--deep-blue);max-width:18ch;}
.page-hero h1 .pink{color:var(--pink);}
.page-hero .lede{font-family:var(--f-serif);font-size:1.22rem;max-width:660px;margin-top:22px;}
.page-hero .lede strong{background:var(--pink);color:var(--cream);padding:1px 6px;font-weight:600;}
.crumb{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;opacity:.7;padding:14px 0;}
.crumb a{border-bottom:1px solid transparent;}
.crumb a:hover{border-color:var(--pink);}
.cluster{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:20px 0;}
.cluster a{background:var(--paper);border:2px solid var(--ink);padding:16px 18px;font-family:var(--f-display);font-size:1.05rem;letter-spacing:.02em;color:var(--deep-blue);box-shadow:3px 3px 0 rgba(27,22,15,.15);transition:transform .12s;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.cluster a:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 rgba(27,22,15,.15);}
.cluster a span{color:var(--pink);}
.trust-strip{background:var(--deep-blue);color:var(--cream);padding:16px 0;}
.trust-strip .wrap{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;opacity:.85;}
.creds{background:var(--paper);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:34px 0;}
.creds .wrap{display:flex;align-items:center;justify-content:center;gap:44px;flex-wrap:wrap;}
.creds .cred{display:flex;flex-direction:column;align-items:center;gap:8px;}
.creds img{height:64px;width:auto;opacity:.9;transition:opacity .2s,transform .2s;}
.creds img:hover{opacity:1;transform:translateY(-2px);}
.creds .cred span{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6;text-align:center;max-width:14ch;}
.creds-note{text-align:center;margin-top:22px;font-size:.78rem;opacity:.7;font-family:var(--f-serif);}
.creds-note a{border-bottom:1px solid;}
footer{background:var(--ink);color:var(--cream);padding:56px 0 26px;}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;margin-bottom:40px;}
.foot-brand img.mark{height:46px;-webkit-filter:brightness(0) invert(1);filter:brightness(0) invert(1);margin-bottom:14px;}
.foot-brand .tag{font-family:var(--f-hand);color:var(--teal);font-size:1.3rem;margin-bottom:10px;}
.foot-brand .blurb{opacity:.7;font-size:.81rem;max-width:32ch;}
.foot-brand img.warriors{height:70px;margin-top:18px;opacity:.9;}
.foot-col h4{font-family:var(--f-display);font-size:.95rem;letter-spacing:.08em;color:var(--orange);margin-bottom:14px;}
.foot-col a,.foot-col p{display:block;font-size:.81rem;opacity:.85;margin-bottom:8px;}
.foot-legal{border-top:1px solid rgba(245,230,208,.2);padding-top:22px;font-size:.71rem;opacity:.65;line-height:1.6;}
.stage{height:360vh;position:relative;}
.sticky{position:sticky;top:0;height:100vh;overflow:hidden;}
#halftone{position:absolute;top:0;right:0;width:52%;height:100%;}
.hero-copy{position:absolute;left:0;top:0;height:100%;width:48%;display:flex;flex-direction:column;justify-content:center;padding:0 40px 0 max(24px,calc((100vw - 1180px)/2 + 24px));z-index:3;}
.beat{position:absolute;opacity:0;transform:translateY(14px);transition:opacity .55s,transform .55s;max-width:560px;}
.beat.on{opacity:1;transform:none;position:relative;}
.beat h1{font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:.95;color:var(--deep-blue);}
.beat h1 .pink{color:var(--pink);}
.beat h1 .teal{color:var(--teal);}
.beat p{font-family:var(--f-serif);font-size:1.15rem;margin-top:18px;max-width:44ch;}
.beat .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}
.readout{position:absolute;left:max(24px,calc((100vw - 1180px)/2 + 24px));bottom:36px;z-index:4;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);opacity:.45;}
.scrollcue{position:absolute;right:6%;bottom:30px;z-index:4;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);opacity:.45;text-align:center;}
@media(max-width:980px){
  .card-grid,.turn-grid,.steps,.tag-row,.split,.svc-grid{grid-template-columns:1fr;}
  .turn-panel,.step{border-right:none;border-bottom:2px solid rgba(245,230,208,.25);}
  .step{border-bottom-color:#04302d;}
  .survivors-grid{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr;}
  #halftone{width:100%;height:46%;top:0;}
  .hero-copy{width:100%;top:46%;height:54%;justify-content:flex-start;padding:24px;}
  .beat h1{font-size:clamp(1.9rem,7vw,2.6rem);}
  .beat p{font-size:1rem;}
  .readout{left:24px;bottom:14px;}
  .scrollcue{display:none;}
}
@media(max-width:760px){
  nav.links{display:none;}
  .burger{display:block;}
  #mobilenav.open{display:flex;}
  .foot-grid{grid-template-columns:1fr;}
  .alarm .wrap,.origin .wrap{flex-direction:column;text-align:center;}
  .creds .wrap{gap:26px;}
  .creds img{height:48px;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .tag-inner,.btn,.card{transition:none;}
}
