:root{
    --hero1:#13357e; --hero2:#1f47a6; --hero3:#3a2c7a;
    --navy:#0f1633; --navy2:#0a0f24;
    --orange:#e2780f; --orange-d:#c4640a;
    --green:#7fb519; --green-d:#5f9311;
    --purple:#6b2d8f; --purple-d:#4e1f70;
    --ink:#1c2230; --muted:#5f6573;
    --paper:#ffffff; --cream:#fbf6ee; --line:#ece7dd;
    --display:'Luckiest Guy',cursive; --body:'Poppins',system-ui,sans-serif;
    --wrap:1180px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
  .skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:200;border-radius:0 0 8px 0}
  .skip:focus{left:0}

  /* photo placeholders */
  .ph{position:relative;background:repeating-linear-gradient(135deg,#e9e4d9,#e9e4d9 14px,#e2dccf 14px,#e2dccf 28px);border:2px dashed #c9c1ae;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;color:#7d745f;font-size:.78rem;font-weight:500;padding:14px}
  .ph span{max-width:80%}

  /* HEADER */
  header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:74px}
  .logo{font-family:var(--display);font-size:1.9rem;line-height:.74;display:inline-flex;flex-direction:column}
  .logo .n{color:var(--green)} .logo .b{color:var(--orange);margin-left:5px;margin-top:-3px}
  .menu{display:flex;align-items:center;gap:26px}
  .menu a{font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);transition:color .15s}
  .menu a:hover{color:var(--orange)}
  .actions{display:flex;align-items:center;gap:12px}
  .pill{font-family:var(--display);font-size:.82rem;letter-spacing:.03em;padding:11px 22px;border-radius:30px;color:#fff;display:inline-block;transition:transform .15s,box-shadow .15s}
  .pill:hover{transform:translateY(-1px)}
  .pill.donate{background:var(--orange);box-shadow:0 6px 16px rgba(226,120,15,.32)}
  .pill.chapters{background:var(--navy);font-size:.7rem;padding:9px 16px}
  .burger{display:none;background:none;border:0;font-size:1.6rem;color:var(--navy);cursor:pointer}

  /* HERO */
  .hero{position:relative;background:linear-gradient(118deg,var(--hero1) 0%,var(--hero2) 48%,var(--hero3) 100%);overflow:hidden;color:#fff}
  .hero-inner{max-width:var(--wrap);margin:0 auto;padding:0 24px;min-height:520px;display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:10px}
  .wordmark{position:absolute;top:34px;left:0;right:0;text-align:center;font-family:var(--display);font-size:clamp(3.4rem,11vw,8.4rem);line-height:.82;color:rgba(255,255,255,.14);letter-spacing:.02em;pointer-events:none;user-select:none}
  .hero-copy{position:relative;z-index:3;padding:0 0 56px}
  .hero-copy h1{font-family:var(--display);font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.05;text-shadow:0 3px 14px rgba(0,0,0,.3);max-width:9em}
  .hero-copy p{margin:14px 0 22px;font-size:1.02rem;max-width:24em;color:#eaf0fb}
  .hero-cta{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-size:1.05rem;letter-spacing:.02em;background:var(--orange);color:#fff;padding:15px 30px;border-radius:34px;box-shadow:0 10px 26px rgba(0,0,0,.28);transition:transform .15s}
  .hero-cta:hover{transform:translateY(-2px)}
  .hero-cta .arr{font-family:var(--body);font-weight:700}
  .hero-sub{display:block;margin-top:14px;font-size:.82rem;color:#c4d0ea}
  .hero-sub a{text-decoration:underline;text-underline-offset:3px}
  .hero-photo{position:relative;z-index:2;height:480px;align-self:end}
  .hero-photo .ph{height:100%;border-radius:16px 16px 0 0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.14) 14px,rgba(255,255,255,.07) 14px,rgba(255,255,255,.07) 28px);border-color:rgba(255,255,255,.45);color:#e7eefb}
  .wave{display:block;width:100%;height:48px;margin-top:-1px}

  /* MAXWELL feature */
  .maxwell{background:linear-gradient(160deg,#11182e,#05080f);color:#fff}
  .maxwell .wrap{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:center;padding:40px 24px}
  .maxwell .ph{height:180px;background:repeating-linear-gradient(135deg,#1d2742,#1d2742 14px,#161e36 14px,#161e36 28px);border-color:#33405f;color:#aab4cf}
  .play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border:3px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:rgba(0,0,0,.25)}
  .kicker{font-family:var(--display);color:var(--green);font-size:.95rem;letter-spacing:.04em;margin-bottom:6px}
  .maxwell h2{font-family:var(--display);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.08;margin-bottom:10px}
  .maxwell p{color:#c4cad8;max-width:38em}
  .maxwell .link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:600;color:var(--green);font-size:.92rem}

  /* SECONDARY asks */
  .ways{padding:56px 0 48px;background:var(--cream)}
  .ways .eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;text-align:center}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .card{position:relative;border-radius:16px;padding:26px 22px;min-height:158px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;overflow:hidden;transition:transform .18s,box-shadow .18s}
  .card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.14)}
  .card.c1{background:linear-gradient(158deg,#f0901e,#c4640a)}
  .card.c2{background:linear-gradient(158deg,#7fb519,#557f0f)}
  .card.c3{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
  .card h3{font-family:var(--display);font-size:1.18rem;line-height:1.12;font-weight:400}
  .card.c3 h3{color:var(--green-d)}
  .card .go{font-weight:600;font-size:.82rem;letter-spacing:.02em;opacity:.95}
  .card.c3 .go{color:var(--green-d)}

  /* STAT bands */
  .band{padding:60px 0}
  .stat{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
  .stat .ph{height:280px}
  .quote{font-family:var(--display);font-size:1.5rem;line-height:1.22;color:var(--ink)}
  .quote-mark{font-family:var(--display);font-size:2.6rem;color:var(--orange);line-height:.6;display:block;margin-bottom:6px}
  .source{margin-top:16px;font-size:.82rem;font-weight:600;color:var(--hero1)}
  .source span{font-weight:400;color:var(--muted)}

  .band.green{background:linear-gradient(158deg,#7fb519,#5f9311);color:#fff}
  .band.green .quote{color:#fff}
  .band.green .quote-mark{color:rgba(255,255,255,.6)}
  .band.green .source{color:#fff}
  .band.green .source span{color:#eaf4d6}
  .band.green .ph{background:repeating-linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.16) 14px,rgba(255,255,255,.08) 14px,rgba(255,255,255,.08) 28px);border-color:rgba(255,255,255,.5);color:#f2f8e6}

  /* WHO WE ARE */
  .who{background:var(--navy);color:#fff;text-align:center;padding:64px 0}
  .who h2{font-family:var(--display);font-size:clamp(1.8rem,4vw,2.6rem)}
  .who .rule{width:120px;height:4px;background:var(--orange);margin:16px auto 20px;border-radius:2px}
  .who p{max-width:46em;margin:0 auto;color:#d3d8e6}

  /* VOLUNTEER */
  .vol{padding:64px 0}
  .vol .grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
  .vol-card{background:linear-gradient(158deg,#f0901e,#c4640a);color:#fff;border-radius:18px;padding:34px 32px}
  .vol-card h2{font-family:var(--display);font-size:1.7rem;font-weight:400}
  .vol-card .rule{width:96px;height:4px;background:#fff;border-radius:2px;margin:12px 0 16px}
  .vol-card p{color:#fff3e8;margin-bottom:22px}
  .vol .ph{height:300px}

  /* NEWSLETTER */
  .news{background:linear-gradient(120deg,var(--hero1),var(--hero3));color:#fff;text-align:center;padding:56px 0}
  .news h2{font-family:var(--display);font-size:clamp(1.5rem,3vw,2rem);margin-bottom:8px}
  .news p{color:#d3def3;max-width:34em;margin:0 auto 22px}
  .news form{display:flex;gap:10px;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center}
  .news input{flex:1;min-width:220px;border:0;border-radius:30px;padding:14px 20px;font-family:var(--body);font-size:.95rem}
  .news button{font-family:var(--display);background:var(--orange);color:#fff;border:0;padding:14px 28px;border-radius:30px;cursor:pointer;letter-spacing:.02em;transition:transform .15s}
  .news button:hover{transform:translateY(-2px)}

  /* FOOTER */
  footer{background:var(--navy2);color:#c4cbe0;font-size:.9rem}
  .foot-top{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:32px;padding:52px 24px;max-width:var(--wrap);margin:0 auto}
  .foot-brand .logo{font-size:2.4rem}
  .foot-brand p{margin-top:14px;max-width:24em;color:#9aa2bd;font-size:.86rem}
  .foot-col h4{font-family:var(--display);font-size:.95rem;color:#fff;font-weight:400;margin-bottom:14px;letter-spacing:.03em}
  .foot-col a{display:block;padding:5px 0;color:#b6bdd6;transition:color .15s}
  .foot-col a:hover{color:var(--green)}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.1)}
  .foot-bottom .wrap{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;flex-wrap:wrap;gap:12px}
  .social{display:flex;gap:14px}
  .social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#c4cbe0;transition:.15s}
  .social a:hover{background:var(--green);border-color:var(--green);color:#fff}
  .foot-bottom small{color:#8189a6;font-size:.8rem}

  /* reveal on load */
  .rise{opacity:0;transform:translateY(16px);animation:rise .7s ease forwards}
  @keyframes rise{to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){.rise{animation:none;opacity:1;transform:none}}

  /* RESPONSIVE */
  @media(max-width:900px){
    .menu{display:none}
    .burger{display:block}
    .hero-inner{grid-template-columns:1fr;min-height:auto;padding-top:30px}
    .hero-photo{height:300px}
    .hero-copy{padding-bottom:34px}
    .maxwell .wrap{grid-template-columns:1fr}
    .cards{grid-template-columns:1fr}
    .stat,.vol .grid{grid-template-columns:1fr;gap:24px}
    .foot-top{grid-template-columns:1fr 1fr}
  }
  @media(max-width:560px){.foot-top{grid-template-columns:1fr}}

/* ============================================================
   INTERIOR PAGE SYSTEM  (programs, campaigns, and most others)
   ============================================================ */

/* interior hero: brand banner with NB watermark + optional photo, flat edge */
.ihero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(118deg,var(--hero1),var(--hero2) 55%,var(--hero3))}
.ihero.muted{background:linear-gradient(118deg,#3f6f90,#4a7b9d)}
.ihero .wrap{position:relative;z-index:2;min-height:300px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px}
.ihero .mark{position:absolute;left:max(16px,calc(50% - var(--wrap)/2 + 16px));top:24px;font-family:var(--display);font-size:clamp(7rem,20vw,16rem);line-height:.7;color:rgba(255,255,255,.12);z-index:1;pointer-events:none;user-select:none}
.ihero-photo{height:300px;align-self:end}
.ihero-photo .ph{height:100%;border-radius:16px 16px 0 0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.16) 14px,rgba(255,255,255,.07) 14px,rgba(255,255,255,.07) 28px);border-color:rgba(255,255,255,.45);color:#e7eefb}
.ihero.solo .wrap{grid-template-columns:1fr;min-height:200px}

/* page title + intro */
.page-head{text-align:center;padding:48px 0 8px}
.page-head h1{font-family:var(--display);font-size:clamp(1.9rem,4.5vw,2.9rem);color:var(--ink)}
.page-head .accent{width:90px;height:4px;background:var(--orange);border-radius:2px;margin:14px auto 0}
.intro{max-width:48em;margin:0 auto;text-align:center;padding:18px 24px 8px;color:var(--muted);font-size:1.05rem}

/* quick-facts band */
.facts{background:var(--cream);padding:46px 0}
.facts .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px}
.fact h3{font-family:var(--display);font-size:1rem;font-weight:400;color:var(--ink);letter-spacing:.03em}
.fact .accent{width:46px;height:3px;background:var(--green);border-radius:2px;margin:8px 0 12px}
.fact p{color:var(--muted);font-size:.95rem}

/* content block: heading + body + image (alternates) */
.block{padding:60px 0}
.block .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.block.flip .grid{grid-template-columns:.9fr 1.1fr}
.block.flip .copy{order:2}
.block h2{font-family:var(--display);font-size:clamp(1.5rem,3vw,2rem);color:var(--ink)}
.block .accent{width:80px;height:4px;background:var(--orange);border-radius:2px;margin:12px 0 18px}
.block p{color:var(--ink);margin-bottom:14px}
.block .ph{height:300px}
.block ul{list-style:none;margin-top:8px}
.block ul li{position:relative;padding:7px 0 7px 26px;border-bottom:1px solid var(--line);color:var(--ink)}
.block ul li::before{content:"";position:absolute;left:0;top:15px;width:11px;height:11px;border-radius:50%;background:var(--green)}

/* step flow: how it works */
.steps{padding:60px 0;background:var(--paper)}
.steps .head{text-align:center;margin-bottom:38px}
.steps .head h2{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.1rem);color:var(--ink)}
.steps .head .accent{width:80px;height:4px;background:var(--orange);border-radius:2px;margin:12px auto 0}
.steps .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px}
.step{}
.step .ph{height:150px;margin-bottom:16px}
.step .num{font-family:var(--display);color:var(--orange);font-size:.85rem;letter-spacing:.06em}
.step h3{font-family:var(--display);font-size:1.1rem;font-weight:400;color:var(--ink);margin:4px 0 8px}
.step p{color:var(--muted);font-size:.92rem}

/* two-card grid (e.g. certification types) */
.duo{padding:20px 0 60px}
.duo .grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.duo .item{border:1.5px solid var(--line);border-radius:16px;padding:28px;background:var(--paper)}
.duo .item h3{font-family:var(--display);font-size:1.2rem;font-weight:400;color:var(--green-d);margin-bottom:6px}
.duo .item .accent{width:46px;height:3px;background:var(--green);border-radius:2px;margin:0 0 14px}
.duo .item p{color:var(--muted);font-size:.95rem}

/* Get involved band (Donate-led, others secondary) */
.getinvolved{background:linear-gradient(158deg,#f0901e,#c4640a);color:#fff;text-align:center;padding:54px 0}
.getinvolved h2{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:18px}
.getinvolved .gi-primary{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);background:#fff;color:var(--orange-d);padding:14px 30px;border-radius:32px;font-size:1.02rem;transition:transform .15s}
.getinvolved .gi-primary:hover{transform:translateY(-2px)}
.getinvolved .gi-secondary{margin-top:18px;display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
.getinvolved .gi-secondary a{color:#fff;font-weight:600;font-size:.92rem;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px}

@media(max-width:900px){
  .ihero .wrap{grid-template-columns:1fr}
  .ihero-photo{height:200px}
  .block .grid,.block.flip .grid,.duo .grid{grid-template-columns:1fr;gap:24px}
  .block.flip .copy{order:0}
}

/* ============================================================
   ADDITIONAL MODULES (donate, about, types, form, partners, stories)
   ============================================================ */

/* card grid: donate funds, sponsorship options */
.give{padding:54px 0}
.give .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.give .card2{border:1.5px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.give .card2:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.1)}
.give .card2 .ph{height:130px;border-radius:0}
.give .card2 .pad{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.give .card2 h3{font-family:var(--display);font-size:1.1rem;font-weight:400;color:var(--ink);margin-bottom:8px}
.give .card2 p{color:var(--muted);font-size:.92rem;margin-bottom:16px;flex:1}
.give .card2 .btn{align-self:flex-start;font-family:var(--display);font-size:.8rem;background:var(--orange);color:#fff;padding:9px 18px;border-radius:24px}
.give .lead{max-width:46em;margin:0 auto 8px;text-align:center;color:var(--muted)}
.legal{max-width:48em;margin:24px auto 0;text-align:center;font-size:.8rem;color:var(--muted)}

/* position / mission / goal trio */
.pmg{background:var(--cream);padding:50px 0}
.pmg .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.pmg .item h3{font-family:var(--display);font-size:1.05rem;font-weight:400;color:var(--orange-d)}
.pmg .item .accent{width:46px;height:3px;background:var(--green);border-radius:2px;margin:8px 0 12px}
.pmg .item p{color:var(--ink)}

/* stat counters */
.counters{padding:56px 0;text-align:center}
.counters .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.counters .num{font-family:var(--display);font-size:clamp(2.4rem,6vw,3.4rem);color:var(--orange);line-height:1}
.counters .lab{color:var(--muted);margin-top:6px;font-size:.95rem}
.counters .note{font-size:.78rem;color:var(--muted);margin-top:18px}
@media(max-width:700px){.counters .grid{grid-template-columns:1fr}}

/* type cards (bullying types, sponsorship) */
.typegrid{padding:54px 0}
.typegrid .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.typecard{border-radius:16px;padding:24px;color:#fff}
.typecard h3{font-family:var(--display);font-size:1.15rem;font-weight:400;margin-bottom:8px}
.typecard p{font-size:.92rem;color:rgba(255,255,255,.92)}
.t-orange{background:linear-gradient(158deg,#f0901e,#c4640a)}
.t-green{background:linear-gradient(158deg,#7fb519,#557f0f)}
.t-purple{background:linear-gradient(158deg,#7a35a8,#4e1f70)}
.t-blue{background:linear-gradient(158deg,#2f6fd0,#13357e)}

/* contact form */
.formwrap{max-width:640px;margin:0 auto;padding:10px 24px 64px}
.formwrap .field{margin-bottom:16px}
.formwrap label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:6px}
.formwrap input,.formwrap select,.formwrap textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-family:var(--body);font-size:.95rem;color:var(--ink)}
.formwrap textarea{min-height:130px;resize:vertical}
.formwrap button{font-family:var(--display);background:var(--orange);color:#fff;border:0;padding:13px 30px;border-radius:28px;cursor:pointer;font-size:.95rem;transition:transform .15s}
.formwrap button:hover{transform:translateY(-2px)}

/* partner logo wall */
.logos{padding:40px 0 64px}
.logos .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.logo-cell{border:1.5px solid var(--line);border-radius:12px;height:92px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;color:var(--muted);font-size:.82rem;font-weight:500;background:var(--paper)}

/* story index */
.stories{padding:54px 0}
.stories .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.storycard{border:1.5px solid var(--line);border-radius:16px;padding:24px;background:var(--paper);transition:transform .18s,box-shadow .18s}
.storycard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.1)}
.storycard .q{font-family:var(--display);color:var(--orange);font-size:1.6rem;line-height:.5}
.storycard p{color:var(--ink);margin:10px 0 14px;font-size:.95rem}
.storycard .byline{font-weight:600;color:var(--hero1);font-size:.85rem}

/* gentle variant (bereavement) */
.gentle .ihero{background:linear-gradient(118deg,#5b6b8c,#7d8aa6)}
.gentle .page-head h1{font-family:var(--body);font-weight:600;letter-spacing:0}
.gentle .accent{background:#9aa7c0}
.gentle .block h2{font-family:var(--body);font-weight:600}
.softnote{max-width:44em;margin:0 auto;padding:0 24px 60px;color:var(--ink);line-height:1.8;text-align:center}

/* real photos filling placeholder boxes */
.ph.has-img{border:none;background:none;padding:0;overflow:hidden;position:relative}
.ph.has-img span{display:none}
.ph.has-img img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.ihero-photo .ph.has-img{height:100%}

/* partner logo images */
.logo-cell img{max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain;display:block;margin:auto;mix-blend-mode:multiply}
.logo-cell{display:flex;align-items:center;justify-content:center;min-height:90px;padding:14px}

/* official logo artwork in header and footer */
.logo-img{height:56px;width:auto;display:block}
.foot-brand .logo .logo-img{height:60px}
.logo{font-size:0}

/* soften the photo panel edges: feather into the gradient */
.ihero-photo .ph.has-img{
  -webkit-mask-image: radial-gradient(130% 118% at 50% 42%, #000 70%, rgba(0,0,0,0) 100%);
  mask-image: radial-gradient(130% 118% at 50% 42%, #000 70%, rgba(0,0,0,0) 100%);
  border-radius:20px;
}

/* footer legal links (replaces social row) */
.foot-legal{display:flex;gap:18px;flex-wrap:wrap}
.foot-legal a{color:#8189a6;font-size:.8rem;transition:color .15s}
.foot-legal a:hover{color:#fff}
/* simple prose for policy and content pages */
.prose{max-width:820px;margin:0 auto;padding:0 24px 70px}
.prose h2{font-family:var(--display);font-weight:400;color:var(--ink);font-size:1.35rem;margin:30px 0 8px}
.prose p,.prose li{color:var(--ink);margin-bottom:12px}
.prose ul{padding-left:22px;margin-bottom:12px}
.prose .updated{color:var(--muted);font-size:.9rem;margin-bottom:24px}
.errpage{text-align:center;padding:90px 24px 100px}
.errpage .big{font-family:var(--display);color:var(--orange);font-size:clamp(3rem,12vw,7rem);line-height:1}

/* Maxwell click-to-load video */
.maxwell .ph.video-facade{padding:0;border-style:solid;overflow:hidden;height:auto;aspect-ratio:16/9;cursor:pointer}
.video-facade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:12px}
.video-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:12px}
.video-facade .play{cursor:pointer;color:#fff;z-index:2;transition:transform .15s,background .15s}
.video-facade:hover .play,.video-facade:focus-within .play{transform:scale(1.06);background:rgba(0,0,0,.5)}

/* full-bleed photo header with title overlay */
.ihero.hasbg{min-height:300px}
.ihero.hasbg .ph.has-img{position:absolute;inset:0;width:100%;height:100%;border-radius:0;z-index:0;-webkit-mask-image:none;mask-image:none}
.ihero.hasbg::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,12,40,.74),rgba(19,53,126,.5) 52%,rgba(58,44,122,.42))}
.ihero.hasbg::before{content:"";position:absolute;top:22px;left:max(16px,calc(50% - var(--wrap)/2 + 16px));width:104px;height:80px;background:url(images/logo-white.svg) no-repeat left center/contain;opacity:.95;z-index:2;pointer-events:none}
.ihero.hasbg .wrap{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;padding:24px 24px 30px;text-align:left}
.ihero.hasbg h1{font-family:var(--display);font-size:clamp(1.9rem,4.5vw,2.9rem);color:#fff;line-height:1.04;text-shadow:0 2px 12px rgba(0,0,0,.4);margin:0}
.ihero.hasbg .accent{width:90px;height:4px;background:var(--orange);border-radius:2px;margin:14px 0 0}
@media(max-width:760px){.ihero.hasbg,.ihero.hasbg .wrap{min-height:230px}.ihero.hasbg::before{width:78px;height:60px;top:16px}}
