:root{--navy:#060d1c;--navy2:#0d1d38;--navy3:#040a17;--ink:#0b1c35;--yellow:#f2c94c;--lemon:#ffff12;--text:#fff;--soft:#dfe7f3;--mute:#b9c7da;--dim:#9fb0c8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Nunito Sans',sans-serif;background:var(--navy);color:var(--text);overflow-x:hidden}
a{color:var(--yellow)}a:hover{color:#fff}
p{margin:0}
@keyframes fade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes planIn{from{opacity:0}to{opacity:1}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.4);opacity:0}}
@keyframes slide{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes sheet{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.float{animation:none}.pulse{animation:none}}

/* hero */
.hero{position:relative;width:100%;height:100vh;height:100svh;min-height:640px;overflow:hidden;background:var(--navy);user-select:none;-webkit-user-select:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent;cursor:grab}
.hero.dragging{cursor:grabbing}
.glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 62% 52% at 50% 60%,rgba(34,78,142,.46),rgba(6,13,28,0) 72%)}
.grid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:30px 30px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 55%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 70% 70% at 50% 55%,#000 30%,transparent 100%)}
.stage{position:absolute;inset:0;perspective:1900px;perspective-origin:50% 45%}
.tilt{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(5deg) rotateY(0deg);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.hero.dragging .tilt{transition:none}
.plan{position:absolute;left:50%;top:56%;transform-origin:center center;transition:transform .18s ease-out;will-change:transform}
.hero.dragging .plan{transition:none}
.float{position:absolute;inset:0;animation:floatY 7s ease-in-out infinite}
.plan-img{width:100%;height:100%;object-fit:fill;display:block;pointer-events:none;opacity:0}
.plan.ready .plan-img{animation:planIn 1.4s ease both}
#pins{opacity:0;transition:opacity .6s ease .5s}
.plan.ready #pins{opacity:1}
.pin{position:absolute;display:flex;align-items:center;gap:7px;padding:6px 12px 6px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(6,13,28,.78);color:#fff;font-weight:800;font-size:11px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;font-family:inherit;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.45);transition:background .18s,border-color .18s,box-shadow .18s;z-index:2}
.pin:hover{box-shadow:0 8px 24px rgba(0,0,0,.5)}
.pin.active{background:var(--yellow);border-color:var(--yellow);color:var(--ink);z-index:3}
.pin .d{display:inline-block;width:9px;height:9px;border-radius:5px;flex-shrink:0}
.pin .pulse{position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;border:2px solid;opacity:0;animation:pulse 2.8s ease-out infinite;pointer-events:none}
.pin.active .pulse{display:none}
.scene{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.scene canvas{display:block;width:100%;height:100%}
.scene .labels{position:absolute;left:0;top:0;pointer-events:none}
.scene .labels .pin{pointer-events:auto;position:absolute}
.hero.is3d .scene{opacity:1}
.hero.is3d .stage,.hero.is3d .grid{display:none}
.hero.is3d{cursor:default}
.h3d{display:none}.hero.is3d .h3d{display:inline}.hero.is3d .h2d{display:none}
.hero.is3d .glow{background:radial-gradient(ellipse 62% 52% at 50% 62%,rgba(34,78,142,.55),rgba(6,13,28,0) 72%)}
.fade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,13,28,.9) 0%,rgba(6,13,28,.45) 12%,rgba(6,13,28,0) 24%,rgba(6,13,28,0) 78%,rgba(6,13,28,.7) 92%,var(--navy) 100%)}
.hdr{position:absolute;left:0;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 48px;animation:fade .9s ease both;z-index:5}
.logo{display:flex;align-items:center;gap:6px;font-weight:800;font-size:22px;letter-spacing:-.2px;color:#fff;text-decoration:none}
.mark{background:var(--lemon);color:var(--ink);padding:2px 8px;font-weight:800;letter-spacing:1px}
.nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700}
.nav a{color:#fff;text-decoration:none}
.nav a[aria-current=page]{color:var(--yellow)}
.hdr-r{display:flex;align-items:center;gap:12px}
.donate{color:var(--ink);background:var(--yellow);padding:10px 18px;border-radius:999px;font-size:14px;font-weight:800;text-decoration:none}
.donate:hover{color:var(--ink);filter:brightness(1.06)}
.menu{display:none;width:42px;height:42px;border-radius:21px;border:1px solid rgba(255,255,255,.3);background:rgba(6,13,28,.7);cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.menu span{display:block;width:16px;height:2px;border-radius:1px;background:#fff}
.hdr.solid{position:sticky;top:0;background:rgba(6,13,28,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08);animation:none;z-index:20}
.title{position:absolute;left:0;top:70px;width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;animation:fade 1.2s ease .3s both;z-index:3}
.title h1{margin:0;font-family:'Oswald',sans-serif;font-weight:700;font-size:42px;line-height:1;letter-spacing:8px;text-transform:uppercase;text-align:center;text-shadow:0 4px 24px rgba(0,0,0,.7)}
.title p{font-size:14px;font-weight:600;color:var(--soft);letter-spacing:.5px;text-shadow:0 2px 10px rgba(0,0,0,.7);text-align:center}
.ctl{position:absolute;right:48px;bottom:36px;display:flex;align-items:center;gap:10px;animation:fade 1.2s ease 1s both;z-index:4}
.ctl button{height:38px;border-radius:19px;border:1px solid rgba(255,255,255,.28);background:rgba(6,13,28,.82);color:#fff;cursor:pointer;font-family:inherit}
.ctl .round{width:38px;font-size:20px;line-height:1;padding:0}
.ctl .reset{padding:0 14px;font-size:12px;font-weight:700}
.zoomLabel{min-width:54px;text-align:center;font-size:13px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.hint{font-size:12px;color:var(--soft);font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.7);margin-right:6px}
.hint-m{display:none}
.card{position:absolute;left:48px;bottom:36px;display:flex;align-items:center;gap:14px;padding:10px 14px 10px 10px;border-radius:14px;background:rgba(6,13,28,.82);border:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none;animation:fade 1.2s ease 1s both;z-index:4}
.card img{width:132px;height:72px;object-fit:cover;border-radius:8px;display:block}
.card-k{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--yellow);font-weight:800}
.card-t{font-size:14px;font-weight:700;margin-top:3px}
.card-s{font-size:12px;color:var(--mute);margin-top:3px}
.chev{position:absolute;left:50%;bottom:28px;margin-left:-20px;width:40px;height:40px;border-radius:20px;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;animation:fade 1.2s ease 1.2s both;z-index:4}
.tip{position:absolute;width:290px;padding:14px 16px;border-radius:14px;background:rgba(6,13,28,.96);border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 40px rgba(0,0,0,.55);pointer-events:none;z-index:6}
.tip[hidden]{display:none}
.tip-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tip-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.5px;line-height:1}
.tip-dims{font-size:11px;font-weight:700;color:var(--yellow);white-space:nowrap}
.tip-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}
.tip-list li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}
.tip-list .d{display:inline-block;width:7px;height:7px;border-radius:4px;flex-shrink:0}
.tip-foot{font-size:11px;color:var(--dim);margin-top:8px}
.panel{position:absolute;right:0;top:0;width:470px;height:100%;padding:28px 34px;background:rgba(6,13,28,.96);border-left:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:7;overflow:auto;animation:slide .32s ease both}
.panel[hidden]{display:none}
.panel-head{display:flex;align-items:center;justify-content:space-between}
.panel-hub{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:var(--yellow)}
.panel-hub .dot{display:inline-block;width:10px;height:10px;border-radius:5px}
.close{width:38px;height:38px;border-radius:19px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;font-family:inherit;font-size:18px}
.panel-meta{display:flex;gap:14px;font-size:13px;font-weight:700;color:var(--mute);flex-wrap:wrap}
.panel-desc{font-size:15px;line-height:1.6;color:#e6ecf5}
.panel-k{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);font-weight:800;margin-top:4px}
.panel-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.panel-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4}
.panel-list li::before{content:"";width:7px;height:7px;border-radius:4px;background:var(--yellow);display:inline-block;margin-top:7px;flex-shrink:0}
.grow{flex-grow:1}

/* buttons and type */
.btn-y{display:block;text-align:center;padding:14px 16px;background:var(--yellow);color:var(--ink);font-weight:800;font-size:15px;text-decoration:none;border-radius:999px}
.btn-o{display:block;text-align:center;padding:12px 16px;border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:700;font-size:14px;text-decoration:none;border-radius:999px}
.btn-n{padding:16px 30px;background:var(--ink);color:#fff;font-weight:800;font-size:16px;text-decoration:none;border-radius:999px;align-self:flex-start}
.inline{display:inline-block;align-self:flex-start;padding:12px 20px;font-size:14px;margin-top:6px}
.btn-y:hover{color:var(--ink);filter:brightness(1.05)}
.h{font-family:'Oswald',sans-serif;font-weight:700;line-height:1;text-transform:uppercase}
.h50{font-size:50px}.h46{font-size:46px}.h44{font-size:44px}.h42{font-size:42px}.h40{font-size:40px}.h36{font-size:36px}.h30{font-size:30px}.h22{font-size:22px}
.k{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--yellow);font-weight:800}
.k.muted{color:var(--dim)}
.muted{color:var(--mute);font-size:14px}
.small{font-size:14px}
.strong{font-size:15px;font-weight:700}

/* sections */
.sec{padding:72px 120px;background:var(--navy)}
.row{display:flex;gap:24px}
.col{display:flex;flex-direction:column;gap:18px}
.between{align-items:flex-end;justify-content:space-between}
.about{gap:56px;align-items:center}
.about-img{width:600px;height:400px;object-fit:cover;border-radius:16px;display:block;flex-shrink:0}
.lead{font-size:17px;line-height:1.6;color:var(--soft)}
.tag{font-family:'Oswald',sans-serif;font-weight:500;font-size:20px;color:var(--yellow);text-transform:uppercase;letter-spacing:1px}
.give-row{padding-top:0}
.box{flex-grow:1;display:flex;flex-direction:column;gap:14px;padding:34px 36px;border-radius:18px;background:var(--navy2);border:1px solid rgba(255,255,255,.1)}
.box p{font-size:15px;line-height:1.55;color:var(--soft)}
.box.side{width:400px;flex-grow:0;flex-shrink:0;gap:10px;background:transparent}
.box.outline{background:transparent}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.chip{padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-weight:800;font-size:14px;cursor:pointer;font-family:inherit}
.chip.on{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.chip.cad{padding:8px 14px;font-weight:700;font-size:13px}
.chip.cad.on{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:#fff}
.line{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.line.last{border-bottom:0}
.y{color:var(--yellow);font-weight:800}.g{color:var(--mute);font-weight:700}
.video{display:flex;flex-direction:column;align-items:center;gap:22px;background:var(--navy3)}
.center{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.vid{position:relative;width:100%;max-width:1200px;aspect-ratio:16/9;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55);background:#000}
.vid img,.vid iframe,.vshade{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid img{object-fit:cover}
.vshade{background:rgba(6,13,28,.28);display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;padding:0}
.play{width:96px;height:96px;border-radius:48px;background:var(--yellow);display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.45)}
.vcap{position:absolute;left:28px;bottom:24px;pointer-events:none}
.vsub{font-size:13px;color:var(--soft);font-weight:600;margin-top:2px}
.vid.playing img,.vid.playing .vshade,.vid.playing .vcap{display:none}
.hubs{display:flex;flex-direction:column;gap:26px}
.grid5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.hub{border-radius:16px;min-height:200px;display:flex;flex-direction:column;color:#fff;overflow:hidden}
.hub-photo{height:150px;background-size:cover;background-position:center;position:relative}
.hub-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,13,28,0) 55%,rgba(6,13,28,.55) 100%)}
.hub-body{padding:18px 22px 22px;display:flex;flex-direction:column;flex:1}
.hub.care{color:var(--ink)}
.hub .t{font-family:'Oswald',sans-serif;font-weight:700;font-size:24px;line-height:1;text-transform:uppercase}
.hub .g1{font-size:12px;font-weight:800;margin-top:6px;letter-spacing:.5px;opacity:.95}
.hub .g2{font-size:13px;line-height:1.5;margin-top:12px}
.hub .g3{font-size:12px;margin-top:12px;opacity:.85;font-weight:700}
.visit{padding-top:0}
.addr{font-size:16px;font-weight:700}
.contact{font-size:15px;color:var(--soft)}
.contact a{color:var(--soft);text-decoration:none}
.band{padding-top:56px;padding-bottom:56px;align-items:center;justify-content:space-between;background:var(--yellow);color:var(--ink)}
.band .col{gap:6px}
.foot{padding-top:26px;padding-bottom:26px;align-items:center;justify-content:space-between;font-size:13px;color:var(--dim);background:var(--navy3)}
.flogo{display:flex;align-items:center;gap:6px;font-weight:800;color:#fff;flex-wrap:wrap}
.flogo .mark{padding:1px 6px}
.fsub{color:var(--dim);font-weight:400;margin-left:10px}
.flinks{display:flex;gap:18px}
.flinks a{color:var(--dim);text-decoration:none}

@media (max-width:1100px){
  .chev{display:none}
  .sec{padding:56px 40px}
  .about-img{width:46%;height:auto;aspect-ratio:3/2}
  .box.side{width:320px}
  .grid5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .h50{font-size:40px}
}
@media (max-width:760px){
  .hero{min-height:560px}
  .sec{padding:44px 20px}
  .row{flex-direction:column}
  .h50,.h46,.h44,.h42,.h40{font-size:30px}.h36{font-size:28px}.h30{font-size:24px}
  .hdr{padding:14px 18px}.logo{font-size:18px}
  .menu{display:flex}.donate{padding:8px 14px;font-size:13px}
  .nav{display:none;position:absolute;right:14px;top:64px;flex-direction:column;align-items:stretch;gap:0;min-width:220px;padding:8px;border-radius:16px;background:rgba(6,13,28,.97);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 50px rgba(0,0,0,.6);z-index:30}
  .nav.open{display:flex}
  .nav a{padding:13px 14px;border-radius:10px;font-size:15px}
  .nav a:active{background:rgba(255,255,255,.08)}
  .title{top:62px;gap:6px}.title h1{font-size:28px;letter-spacing:4px}.title p{font-size:12px;padding:0 24px}
  .ctl{right:16px;left:16px;justify-content:center;bottom:16px;gap:8px}
  .ctl .reset{padding:0 12px}
  .hint-d{display:none}.hint-m{display:block;position:absolute;left:0;right:0;bottom:64px;text-align:center;margin:0;font-size:11px;z-index:4}
  .card,.chev{display:none}
  .pin{padding:0;width:28px;height:28px;justify-content:center;border-radius:14px;gap:0}
  .pin .l{display:none}
  .tip{display:none!important}
  .panel{top:auto;bottom:0;width:100%;height:78%;border-left:none;border-top:1px solid rgba(255,255,255,.14);border-radius:20px 20px 0 0;padding:20px 22px;animation:sheet .32s ease both}
  .about-img{width:100%;height:auto;aspect-ratio:3/2}
  .box.side{width:auto}
  .grid5{grid-template-columns:1fr 1fr}
  .band .btn-n{align-self:flex-start}
}

/* ---------- pages: About and Partner ---------- */
body.page{background:var(--navy)}
.h64{font-size:64px}
.maxw{max-width:420px}
.col.tight{gap:8px}
.center-row{justify-content:center}
.center-t{text-align:center}
.btn-y.big,.inline.big{padding:16px 30px;font-size:16px}
.sec.alt{background:var(--navy3)}
.phero{position:relative;padding:96px 120px 72px;background:radial-gradient(ellipse 70% 90% at 20% 0%,rgba(34,78,142,.5),rgba(6,13,28,0) 70%),var(--navy);overflow:hidden}
.phero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.2px);background-size:30px 30px;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
.phero-in{position:relative;z-index:1;max-width:880px;display:flex;flex-direction:column;gap:18px;animation:fade .8s ease both}
.phero h1{margin:0}
.plead{font-size:20px;line-height:1.55;color:var(--soft);max-width:760px}
.sec.narrow{max-width:1000px;margin:0 auto;padding-left:40px;padding-right:40px;display:flex;flex-direction:column;gap:18px}
.sec.narrow h2,.hubs h2,.partner-home h2,.formsec h2,.wall-sec h2{margin:0}
.prose{display:flex;flex-direction:column;gap:16px}
.prose p{font-size:18px;line-height:1.65;color:var(--soft)}
.prose strong{color:#fff}
.pull{font-family:'Oswald',sans-serif;font-weight:500;font-size:24px;line-height:1.3;color:var(--yellow);text-transform:uppercase;letter-spacing:.5px}
.big-pull{font-size:40px;font-weight:700;line-height:1.05;color:#fff}
.stack{margin:6px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0;border-left:3px solid var(--yellow)}
.stack li{padding:12px 0 12px 22px;font-size:18px;line-height:1.5;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.stack li:last-child{border-bottom:0}
.chips{margin:6px 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.chips li{padding:10px 16px;border-radius:999px;background:var(--navy2);border:1px solid rgba(255,255,255,.12);font-size:15px;font-weight:700;color:#fff}
.signoff{font-family:'Oswald',sans-serif;font-weight:500;font-size:26px;line-height:1.35;text-transform:uppercase;letter-spacing:.5px;color:#fff;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.signoff strong{color:var(--yellow);font-weight:700}
.about.split{align-items:flex-start}
.sec.last{padding-bottom:96px}
/* ways to partner */
.partner-home{display:flex;flex-direction:column;gap:28px}
.ways{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.way{padding:24px;border-radius:18px;background:var(--navy2);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:10px;transition:transform .2s ease,border-color .2s ease}
.way:hover{transform:translateY(-3px);border-color:rgba(242,201,76,.5)}
.way-n{font-family:'Oswald',sans-serif;font-weight:700;font-size:14px;letter-spacing:2px;color:var(--yellow)}
.way-t{font-family:'Oswald',sans-serif;font-weight:700;font-size:23px;line-height:1.05;text-transform:uppercase}
.way-d{font-size:15px;line-height:1.55;color:var(--soft)}
.way.sponsor{grid-column:span 2;background:linear-gradient(135deg,#12305c,#0d1d38);border-color:rgba(242,201,76,.35)}
.way-note{font-size:12px;color:var(--mute);line-height:1.4}
/* form */
.formsec{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start;background:var(--navy3);scroll-margin-top:80px}
.form-l{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}
.pform,.thanks{display:flex;flex-direction:column;gap:16px;padding:32px;border-radius:20px;background:var(--navy2);border:1px solid rgba(255,255,255,.1)}
.pform[hidden],.thanks[hidden],.room-note[hidden],.ferr[hidden]{display:none}
.thanks p{font-size:16px;line-height:1.6;color:var(--soft)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;letter-spacing:.3px;color:var(--soft)}
.fld input,.fld select,.fld textarea{width:100%;padding:13px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(6,13,28,.7);color:#fff;font:600 16px 'Nunito Sans',sans-serif}
.fld textarea{resize:vertical;min-height:120px}
.fld input::placeholder{color:#7f8ea8;font-weight:400}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--yellow);outline-offset:1px;border-color:transparent}
.fld select option{color:#0b1c35}
.checks{border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.checks legend{padding:0 6px;font-size:13px;font-weight:800;color:var(--soft)}
.checks label,.consent{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:600;line-height:1.35;cursor:pointer}
.checks input,.consent input{width:20px;height:20px;margin:1px 0 0;accent-color:#f2c94c;flex-shrink:0}
.consent{font-size:14px;color:var(--soft)}
.hp{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.ferr{padding:12px 14px;border-radius:12px;background:rgba(220,60,60,.16);border:1px solid rgba(255,120,120,.5);font-size:14px;font-weight:700}
.room-note{padding:10px 14px;border-radius:12px;background:rgba(242,201,76,.12);border:1px solid rgba(242,201,76,.4);color:var(--yellow);font-size:14px;font-weight:800}
.pform button{border:0;cursor:pointer;font-family:inherit}
.pform button:disabled{opacity:.6;cursor:default}
.fnote{font-size:12px;color:var(--mute)}
/* partner wall */
.wall-sec{display:flex;flex-direction:column;gap:30px}
.wall-sec[hidden]{display:none}
.wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.wall-k{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--yellow);font-weight:800;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14)}
.wall ul{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.wall li,.wall li a{font-family:'Oswald',sans-serif;font-weight:700;font-size:24px;line-height:1.1;text-transform:uppercase;color:#fff;text-decoration:none}
.wall li a:hover{color:var(--yellow)}
@media (max-width:1100px){
  .phero{padding:72px 40px 56px}
  .ways{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formsec{grid-template-columns:1fr;gap:32px}
  .form-l{position:static}
  .h64{font-size:50px}
}
@media (max-width:760px){
  .phero{padding:48px 20px 40px}
  .h64{font-size:38px}
  .plead{font-size:17px}
  .sec.narrow{padding-left:20px;padding-right:20px}
  .prose p,.stack li{font-size:16px}
  .big-pull{font-size:30px}
  .pull{font-size:20px}
  .signoff{font-size:21px}
  .ways{grid-template-columns:1fr}
  .way.sponsor{grid-column:auto}
  .frow,.checks{grid-template-columns:1fr}
  .pform,.thanks{padding:22px}
  .wall{grid-template-columns:1fr}
  .maxw{max-width:none}
}
.about.split .about-img{width:46%;height:auto;aspect-ratio:3/2}
.about.split .prose{flex:1;min-width:0}
@media (max-width:760px){.about.split .about-img{width:100%}}

/* life in action strip */
.life{display:flex;flex-direction:column;gap:26px;padding-left:0;padding-right:0;background:var(--navy3);overflow:hidden}
.life .row{padding:0 120px}
.strip{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.strip-track{display:flex;gap:14px;width:max-content;animation:strip 95s linear infinite}
.strip:hover .strip-track{animation-play-state:paused}
@keyframes strip{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tile{position:relative;flex:0 0 auto;width:320px;height:240px;border-radius:14px;overflow:hidden;background:var(--navy2)}
.tile img,.tile video{width:100%;height:100%;object-fit:cover;display:block}
.tile span{position:absolute;left:12px;bottom:10px;right:12px;font-size:12px;font-weight:800;letter-spacing:.3px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8);z-index:1}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,13,28,0) 60%,rgba(6,13,28,.7) 100%);pointer-events:none}
.tile-video{width:426px}
@media (prefers-reduced-motion:reduce){.strip-track{animation:none}.strip{overflow-x:auto}}
/* photo trios on the About and Partner pages */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:10px}
.trio-item{margin:0;border-radius:14px;overflow:hidden;background:var(--navy2);border:1px solid rgba(255,255,255,.08)}
.trio-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.trio-item figcaption{padding:10px 12px;font-size:13px;font-weight:700;color:var(--soft)}
/* page hero with a photo */
.phero.photo{background:linear-gradient(90deg,rgba(6,13,28,.96) 0%,rgba(6,13,28,.86) 45%,rgba(6,13,28,.45) 100%),var(--ph) center/cover no-repeat,var(--navy)}
.phero.photo::after{display:none}
@media (max-width:1100px){.life .row{padding:0 40px}}
@media (max-width:760px){
  .life .row{padding:0 20px}
  .tile{width:240px;height:180px}.tile-video{width:320px}
  .trio{grid-template-columns:1fr 1fr}.trio-item:nth-child(3){grid-column:span 2}
  .phero.photo{background:linear-gradient(180deg,rgba(6,13,28,.92) 0%,rgba(6,13,28,.8) 100%),var(--ph) center/cover no-repeat,var(--navy)}
}

/* phone spacing pass, 2026-10-02 */
@media (max-width:760px){
  .plan{top:53%}
  .hero{min-height:620px}
  .title{top:58px}
  .grid5{grid-template-columns:1fr;gap:12px}
  .hub{min-height:0}
  .hub-photo{height:150px}
  .hub .g2{margin-top:8px}
  .foot{flex-direction:column;align-items:flex-start;gap:16px;padding-top:28px;padding-bottom:36px}
  .flogo{gap:6px 6px}
  .flogo .fsub{margin-left:0;flex-basis:100%;font-size:12px}
  .flinks{flex-wrap:wrap;gap:10px 18px}
  .flinks a{white-space:nowrap;padding:4px 0}
  .band{gap:18px}
  .box{padding:24px 20px}
  .box.side{padding:22px 20px}
  .life{gap:20px}
  .about{gap:24px}
  .ways{gap:12px}
  .way{padding:20px}
  .formsec{gap:24px}
  .checks{gap:12px 16px}
  .checks label,.consent{font-size:15px;line-height:1.4}
  .checks input,.consent input{width:22px;height:22px}
  .pform button.btn-y{padding:16px}
  .fld input,.fld select,.fld textarea{font-size:16px;padding:14px}
  .nav a{font-size:16px;padding:14px 16px}
  .donate{padding:9px 14px}
}
@media (max-width:380px){
  .title h1{font-size:26px;letter-spacing:3px}
  .h50,.h46,.h44,.h42,.h40{font-size:27px}
  .sec{padding:40px 16px}
  .life .row{padding:0 16px}
}
