
:root{
 --navy:#081b2a; --navy2:#10283a; --cream:#f4efe6; --paper:#fffdfa;
 --gold:#d8a86d; --gold2:#efc590; --ink:#13222c; --muted:#60707a; --line:#d9d2c8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
img{display:block;max-width:100%} a{color:inherit}
.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,64px);background:rgba(8,27,42,.97);border-bottom:1px solid rgba(255,255,255,.08)}
.brand img{width:185px;height:58px;object-fit:contain;background:white;border-radius:10px;padding:5px}
nav{display:flex;align-items:center;gap:15px}nav a{color:white;text-decoration:none;font-weight:750;font-size:.78rem}
.nav-donate{background:var(--gold);color:var(--navy)!important;padding:10px 16px;border-radius:8px}
.menu-btn{display:none;background:transparent;color:white;border:1px solid rgba(255,255,255,.35);padding:9px 14px;border-radius:8px;font-weight:700}
.kicker{font-size:.75rem;letter-spacing:.18em;font-weight:850;color:#9e6e35;margin:0 0 12px}.kicker.light{color:var(--gold2)}
.script{font-family:"Snell Roundhand","Segoe Script",cursive;color:var(--gold2);font-size:clamp(3rem,7vw,6rem);line-height:.9;margin:0 0 16px}
.hero{min-height:700px;position:relative;display:flex;align-items:center;background:url('kit-firetruck.jpg') center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,31,.97) 0%,rgba(5,20,31,.88) 43%,rgba(5,20,31,.35) 72%,rgba(5,20,31,.15) 100%)}
.hero-copy{position:relative;z-index:2;max-width:780px;padding:90px clamp(24px,6vw,86px);color:white}
.hero h1,.page-hero h1{font-family:Georgia,serif;text-transform:uppercase;font-size:clamp(3.8rem,8vw,7.4rem);line-height:.9;letter-spacing:-.05em;margin:0 0 24px}
.hero h1 span{font-family:"Snell Roundhand","Segoe Script",cursive;text-transform:none;color:var(--gold2);font-weight:400}
.hero p{font-size:1.1rem;max-width:650px}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;padding:14px 22px;border-radius:8px}
.gold{background:var(--gold);color:var(--navy)}.navy{background:var(--navy);color:white}.outline-light{border:1px solid rgba(255,255,255,.72);color:white}
.mission-band{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);border-bottom:1px solid var(--line)}
.mission-band article{text-align:center;padding:30px 20px;border-right:1px solid var(--line)}.mission-band article:last-child{border-right:0}
.mission-band h3{font-family:Georgia,serif;text-transform:uppercase;margin:4px 0}.mission-band p{margin:0;color:var(--muted);font-size:.92rem}.icon{font-size:2.2rem}
.section{padding:88px clamp(24px,7vw,100px)}.cream{background:var(--cream)}.dark{background:var(--navy);color:white}
.section h2,.resources h2{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,5rem);line-height:1.02;margin:0 0 18px}
.section-heading{max-width:850px;margin-bottom:42px}.section-heading p:last-child{color:var(--muted)}.dark .section-heading p:last-child{color:rgba(255,255,255,.68)}
.text-link{font-weight:850;color:#9a642b;text-decoration:none}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.intro-grid img{border-radius:24px;box-shadow:0 24px 60px rgba(8,27,42,.14)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{text-decoration:none;background:white;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(8,27,42,.08)}
.feature-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.feature-card h3,.feature-card p{padding-left:20px;padding-right:20px}.feature-card h3{font-family:Georgia,serif;font-size:1.5rem;margin-bottom:4px}.feature-card p{padding-bottom:20px;color:var(--muted)}
.simple article{padding:26px;background:white;border:1px solid var(--line);border-radius:18px}.simple h3{font-family:Georgia,serif;font-size:1.6rem}
.resources{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:end;padding:85px clamp(24px,7vw,100px);background:var(--navy2);color:white}.resources p{color:rgba(255,255,255,.72)}.resources .actions{justify-content:flex-end}
.page-hero{padding:100px clamp(24px,7vw,100px);min-height:430px;display:flex;flex-direction:column;justify-content:center}
.page-hero p:last-child{max-width:760px}.dark-page{background:linear-gradient(135deg,#081b2a,#13364a);color:white}.dark-page>p:last-child{color:rgba(255,255,255,.72)}
.kit-page-hero{background:linear-gradient(rgba(8,27,42,.84),rgba(8,27,42,.88)),url('kit-firetruck.jpg') center/cover;color:white}
.drinks-page-hero{background:linear-gradient(rgba(8,27,42,.83),rgba(8,27,42,.9)),url('kits-table.jpg') center/cover;color:white}
.merch-page-hero{background:linear-gradient(rgba(8,27,42,.84),rgba(8,27,42,.9)),url('merch-promise-keeper.jpg') center/cover;color:white}
.story-page-grid,.story-second,.kit-page-grid,.involved-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.story-main-photo,.story-second img,.kit-page-grid img,.involved-photo-grid img{width:100%;border-radius:24px;box-shadow:0 20px 50px rgba(8,27,42,.14)}
.story-second img{max-height:680px;object-fit:cover}.reverse{grid-template-columns:1fr 1fr}
.price-callout{display:flex;align-items:center;gap:15px;margin:24px 0}.price-callout strong{font-family:Georgia,serif;font-size:4rem;color:#9a642b}.price-callout span{max-width:260px}
.gallery-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.request-panel{display:flex;justify-content:space-between;gap:30px;align-items:center}.request-panel p{color:rgba(255,255,255,.7)}
.impact-story{max-width:850px;margin-bottom:35px}.impact-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.impact-page-grid figure{margin:0;background:var(--cream);border-radius:18px;overflow:hidden}.impact-page-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.impact-page-grid figcaption{padding:14px 16px;font-weight:700}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats div{padding:22px;border-top:2px solid var(--gold);background:rgba(255,255,255,.05)}.stats strong{display:block;font-family:Georgia,serif;font-size:2.5rem;color:var(--gold2)}.stats span{color:rgba(255,255,255,.66)}
.merch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.merch-grid article{background:white;padding:14px;border-radius:18px}.merch-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}.merch-grid h3{text-align:center;font-family:Georgia,serif}
.center{text-align:center;margin-top:30px}.resource-page-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.resource-box{padding:30px;border-radius:20px;background:var(--cream)}.resource-box.secondary{background:white;border:1px solid var(--line)}
footer{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:38px clamp(24px,7vw,100px);background:#05131d;color:white}footer img{width:170px;background:white;border-radius:10px;padding:5px}footer p,footer a{color:rgba(255,255,255,.66)}.legal{grid-column:1/-1;font-size:.78rem}
@media(max-width:1100px){nav{gap:10px}nav a{font-size:.7rem}}
@media(max-width:900px){
 .menu-btn{display:block}nav{display:none;position:absolute;top:82px;left:14px;right:14px;flex-direction:column;align-items:stretch;background:var(--navy);padding:18px;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.25)}nav.open{display:flex}
 .mission-band{grid-template-columns:1fr 1fr}.mission-band article:nth-child(2){border-right:0}
 .intro-grid,.story-page-grid,.story-second,.kit-page-grid,.involved-photo-grid,.resources,.resource-page-grid{grid-template-columns:1fr}
 .cards-3,.merch-grid{grid-template-columns:1fr 1fr}.impact-page-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}
 .resources .actions{justify-content:flex-start}
}
@media(max-width:560px){
 .brand img{width:150px;height:50px}.hero{min-height:580px}.hero-copy{padding-top:65px}.hero h1,.page-hero h1{font-size:clamp(3rem,15vw,4.8rem)}
 .mission-band{grid-template-columns:1fr}.mission-band article{border-right:0;border-bottom:1px solid var(--line)}
 .cards-3,.merch-grid,.impact-page-grid,.stats,.gallery-strip{grid-template-columns:1fr}
 .request-panel{flex-direction:column;align-items:flex-start}.btn{width:100%}
 footer{grid-template-columns:1fr}
}


/* More personal Meet Tyler page */
.meet-personal-hero{
  min-height:520px;
  background:
    linear-gradient(90deg,rgba(8,27,42,.96),rgba(8,27,42,.78)),
    url('tyler-save-date.jpg') center 42%/cover no-repeat;
}
.meet-personal-hero h1{max-width:980px}
.meet-personal-hero>p:last-child{max-width:820px;font-size:1.12rem;color:rgba(255,255,255,.78)}

.personal-intro-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:55px;
  align-items:center;
}
.personal-main-photo{
  width:100%;
  border-radius:26px;
  box-shadow:0 24px 60px rgba(8,27,42,.16);
}
.personal-copy p{font-size:1.08rem;color:#495962}

.little-things .section-heading{max-width:900px}
.memory-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.memory-grid article{
  padding:28px;
  background:white;
  border:1px solid var(--line);
  border-radius:20px;
}
.memory-grid h3{
  font-family:Georgia,serif;
  font-size:1.7rem;
  margin:0 0 10px;
}
.memory-grid p{color:var(--muted);margin:0}

.love-story-section{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:55px;
  align-items:center;
}
.love-story-copy p{font-size:1.08rem;color:#495962}
.love-story-photo img{
  width:100%;
  border-radius:26px;
  box-shadow:0 24px 60px rgba(8,27,42,.16);
}
.personal-quote{
  font-family:Georgia,serif;
  font-size:1.7rem!important;
  color:#9a642b!important;
  font-style:italic;
}

.deeper-story-grid{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:55px;
  align-items:center;
}
.deeper-story-grid img{
  width:100%;
  max-height:720px;
  object-fit:cover;
  border-radius:24px;
}
.deeper-story-grid p{color:rgba(255,255,255,.74);font-size:1.06rem}
.deeper-story-grid h2{color:white}
.personal-signoff{
  font-family:Georgia,serif;
  font-size:1.35rem!important;
  color:var(--gold2)!important;
  font-weight:700;
}

@media(max-width:900px){
  .personal-intro-grid,.love-story-section,.deeper-story-grid{grid-template-columns:1fr}
  .memory-grid{grid-template-columns:1fr}
}

/* V8 impact, family, nomination and social additions */
.impact-number-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.impact-number-grid article{background:var(--navy);color:white;padding:28px 22px;border-radius:18px;border-top:3px solid var(--gold)}
.impact-number-grid strong{display:block;font-family:Georgia,serif;font-size:3.6rem;line-height:1;color:var(--gold2)}
.impact-number-grid span{display:block;margin-top:10px;color:rgba(255,255,255,.72)}
.disciplines{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.disciplines span{padding:9px 14px;border:1px solid var(--line);border-radius:999px;font-weight:750;background:white}
.map-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}
.state-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}
.state-list span{background:white;border:1px solid var(--line);padding:12px;border-radius:10px}
.state-list b{display:inline-grid;place-items:center;width:38px;height:38px;margin-right:8px;border-radius:50%;background:var(--navy);color:var(--gold2)}
.us-map{position:relative;min-height:390px}
.map-shape{position:absolute;inset:20px 0;background:#d7d0c5;clip-path:polygon(4% 20%,17% 13%,27% 18%,38% 16%,49% 21%,60% 18%,71% 22%,79% 17%,88% 22%,94% 34%,91% 46%,96% 55%,88% 61%,84% 76%,76% 74%,69% 83%,60% 79%,54% 88%,46% 82%,38% 86%,31% 75%,22% 73%,17% 62%,10% 58%,7% 44%,2% 36%);border:1px solid #bdb4a8}
.map-dot{position:absolute;font-weight:900;color:var(--navy);font-size:.8rem}.map-dot i{display:block;width:15px;height:15px;border:4px solid white;background:var(--gold);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.map-dot.ok{left:50%;top:55%}.map-dot.sc{left:75%;top:59%}.map-dot.ny{left:83%;top:31%}.map-dot.ct{left:89%;top:35%}
.sponsor-dept,.nominate-section{display:flex;justify-content:space-between;gap:35px;align-items:center}.sponsor-dept>div,.nominate-section>div{max-width:780px}.sponsor-dept p,.nominate-section p{color:rgba(255,255,255,.72)}
.family-section{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center;background:#fffdfa}
.family-copy p{font-size:1.06rem;color:#4e5e67}.family-photo img{width:100%;border-radius:24px;box-shadow:0 24px 60px rgba(8,27,42,.14)}
.family-emphasis{font-family:Georgia,serif;font-size:1.35rem!important;color:#9a642b!important;font-style:italic}
.social-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}.social-links a{font-weight:750;text-decoration:none;color:var(--gold2)}
@media(max-width:900px){
 .impact-number-grid{grid-template-columns:1fr 1fr}.map-layout,.family-section{grid-template-columns:1fr}.sponsor-dept,.nominate-section{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
 .impact-number-grid,.state-list{grid-template-columns:1fr}.us-map{min-height:290px}
}

/* V9 Share Your Story */
.share-story-section{background:#fffdfa}
.share-story-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.share-story-copy p{font-size:1.05rem;color:#4e5e67}
.share-note{font-size:.88rem!important;color:#78858d!important;font-style:italic}
.share-story-card{position:relative;background:var(--cream);border:1px solid var(--line);border-radius:22px;padding:38px;overflow:hidden}
.story-mark{position:absolute;right:22px;top:-18px;font-family:Georgia,serif;font-size:8rem;line-height:1;color:rgba(216,168,109,.25)}
.share-story-card h3{position:relative;font-family:Georgia,serif;font-size:2rem;margin:0 0 12px}
.share-story-card p{position:relative;color:var(--muted)}
.story-involved{display:flex;justify-content:space-between;gap:35px;align-items:center}
.story-involved>div{max-width:800px}
.footer-story-link{display:inline-block;margin-top:8px;font-weight:750;color:var(--gold2)!important;text-decoration:none}
@media(max-width:900px){
  .share-story-inner{grid-template-columns:1fr}
  .story-involved{flex-direction:column;align-items:flex-start}
}

/* V10 COPLINE resource */
.copline-card{background:white;border:1px solid var(--line)}
.hotline-number{font-family:Georgia,serif;font-size:2.25rem!important;line-height:1.2;color:var(--navy)!important;margin:22px 0}
.hotline-number span{font-size:1.45rem;color:#9a642b}

/* V11 cleaner states-reached section */
.states-reached-section{background:var(--cream)}
.centered{text-align:center;max-width:820px;margin:0 auto 34px}
.states-reached-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1100px;margin:0 auto}
.state-reached-card{display:flex;align-items:center;gap:16px;background:white;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(8,27,42,.05)}
.state-abbr{flex:0 0 62px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold2);font-family:Georgia,serif;font-size:1.35rem;font-weight:800}
.state-reached-card h3{margin:0 0 4px;font-family:Georgia,serif;font-size:1.2rem;color:var(--navy)}
.state-reached-card p{margin:0;color:#687780;font-size:.92rem}
.states-note{text-align:center;max-width:800px;margin:28px auto 0;color:#50606a}
@media(max-width:900px){
  .states-reached-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .states-reached-grid{grid-template-columns:1fr}
  .state-reached-card{padding:18px}
  .state-abbr{flex-basis:56px;width:56px;height:56px}
}

/* V13 permanent SMS signup */
.text-promise-section{background:var(--navy);color:white}
.text-promise-card{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center}
.text-promise-card h2{color:white}
.text-promise-card>div:first-child>p:not(.kicker){color:rgba(255,255,255,.72)}
.text-promise-action{text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:30px}
.text-promise-action strong{display:block;font-family:Georgia,serif;font-size:2.6rem;color:var(--gold2);letter-spacing:.08em}
.text-promise-action>a:not(.btn){display:block;color:white;font-family:Georgia,serif;font-size:1.8rem;font-weight:800;text-decoration:none;margin:3px 0 18px}
.text-instruction{display:block;color:rgba(255,255,255,.72);text-transform:uppercase;font-size:.78rem;font-weight:800;letter-spacing:.18em}
.text-now-btn{margin:6px auto 12px}
.text-promise-action small{display:block;color:rgba(255,255,255,.55);font-size:.72rem;line-height:1.45}
.text-promise-compact{display:flex;justify-content:space-between;gap:35px;align-items:center;background:var(--cream)}
.text-promise-compact>div{max-width:800px}
.text-promise-compact small{color:#687780}
.text-promise-compact a:not(.btn){color:var(--navy)}
@media(max-width:800px){
 .text-promise-card{grid-template-columns:1fr}
 .text-promise-compact{flex-direction:column;align-items:flex-start}
}

/* V14 Drinks Still on Tyler SMS updates */
.drinks-text-section{background:var(--navy);color:white}
.drinks-text-card{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}
.drinks-text-card h2{color:white}
.drinks-text-card>div:first-child>p:not(.kicker){color:rgba(255,255,255,.72)}
.drinks-text-action{text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:28px}
.drinks-text-action>span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:800;color:rgba(255,255,255,.7)}
.drinks-text-action>strong{display:block;font-family:Georgia,serif;font-size:2.7rem;letter-spacing:.08em;color:var(--gold2)}
.drinks-text-action>a:not(.btn){display:block;color:white;text-decoration:none;font-family:Georgia,serif;font-size:1.75rem;font-weight:800;margin:3px 0 18px}
.drinks-text-action small{display:block;margin-top:12px;color:rgba(255,255,255,.55);font-size:.72rem;line-height:1.45}
@media(max-width:800px){.drinks-text-card{grid-template-columns:1fr}}
