/* ============================================================
   ANH SƠN MOVEMENT — DESIGN SYSTEM
   Heard. Valued. Seen.

   1.  Tokens            6.  Sections / layout
   2.  Reset & base      7.  Home
   3.  Typography        8.  Story · Values · Stories
   4.  Buttons           9.  Donate · Nominate · Legal
   5.  Cards & surfaces  10. Nav · Footer · Modal · Assistant

   Palette: Deep Navy #0D1F3D · Warm Gold #C8922E
            Soft Cream #F5E7D2 · White #FFFFFF
   Type:    Montserrat (display) · Lato (body)
   ============================================================ */
@import url("fonts.css");

/* ============================================================
   1. TOKENS
   ============================================================ */
:root{
 /* --- brand --- */
 --navy:#0D1F3D;
 --navy-700:#15305A;
 --navy-500:#274873;
 --navy-300:#5A7093;
 --gold:#C8922E;
 --gold-400:#DCAE55;
 --gold-200:#EBD3A0;
 --gold-ink:#8A5D1B;          /* gold that carries text — AA on white & cream */
 --cream:#F5E7D2;
 --cream-lite:#FBF5EA;
 --cream-deep:#EEDCC0;
 --white:#FFFFFF;

 /* --- ink --- */
 --ink:#0D1F3D;
 --ink-soft:#3B4B63;
 --muted:#635E55;             /* AA on white and cream */
 --muted-lite:#7A756B;        /* decorative / large text only */
 --line:#E7DECD;
 --line-soft:#F0E9DC;

 /* --- semantic --- */
 --ok:#2E7D53;
 --warn-bg:#FDF4E3;
 --warn-line:#E8D3A6;
 --warn-ink:#6B4A16;
 --err-bg:#FBEDE9;
 --err-line:#EFC7BB;
 --err-ink:#8A3A22;

 /* --- surfaces --- */
 --surface:#FFFFFF;
 --surface-warm:#FBF5EA;
 --surface-navy:#0D1F3D;

 /* --- spacing scale --- */
 --s1:4px;  --s2:8px;   --s3:12px; --s4:16px; --s5:24px;
 --s6:32px; --s7:48px;  --s8:64px; --s9:96px; --s10:128px;

 /* --- radii --- */
 --r-xs:8px; --r-sm:12px; --r:18px; --r-lg:26px; --r-xl:34px; --r-2xl:44px;
 --r-pill:999px;

 /* --- elevation --- */
 --sh-1:0 1px 2px rgba(13,31,61,.04), 0 2px 8px rgba(13,31,61,.04);
 --sh-2:0 2px 4px rgba(13,31,61,.04), 0 10px 24px -8px rgba(13,31,61,.10);
 --sh-3:0 4px 8px rgba(13,31,61,.04), 0 20px 44px -14px rgba(13,31,61,.16);
 --sh-4:0 8px 16px rgba(13,31,61,.05), 0 36px 72px -24px rgba(13,31,61,.24);
 --sh-gold:0 14px 34px -14px rgba(200,146,46,.55);
 --sh-navy:0 18px 40px -16px rgba(13,31,61,.45);

 /* --- motion --- */
 --ease:cubic-bezier(.22,.8,.25,1);
 --ease-out:cubic-bezier(.16,1,.3,1);
 --t-fast:.18s; --t:.32s; --t-slow:.6s;

 /* --- layout --- */
 --maxw:1200px;
 --gutter:32px;
 --nav-h:76px;

 /* legacy aliases kept so no rule silently loses its colour */
 --coral:var(--navy);
 --bright:var(--navy-500);
 --amber:var(--gold);
 --soft:var(--muted);
 --soft2:var(--muted-lite);
 --paper:var(--cream-lite);
 --cream2:var(--cream);
 --blush:var(--cream-deep);
 --plum:var(--navy);
 --sun:linear-gradient(135deg,#0D1F3D 0%,#15305A 55%,#274873 100%);
}

/* ============================================================
   2. RESET & BASE
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
 font-family:'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 font-size:17px; line-height:1.75; font-weight:400;
 background:var(--white); color:var(--ink);
 -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
 overflow-x:hidden; text-rendering:optimizeLegibility;
}
/* Vietnamese is set in Montserrat throughout: Lato has no Vietnamese subset,
   and per-glyph fallback would mix two faces inside a single word. */
body.lang-vn{font-family:'Montserrat',-apple-system,sans-serif;font-size:16.5px;line-height:1.72;}
body.lang-en .vn{display:none;}
body.lang-vn .en{display:none;}
img,svg,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
::selection{background:var(--gold-200);color:var(--navy);}

/* focus — visible, on-brand, never clipped */
:focus{outline:none;}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px;}
.btn:focus-visible{outline-offset:4px;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
.grain{display:none;}

/* skip link */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--navy);color:#fff;
 padding:14px 22px;border-radius:0 0 var(--r-sm) 0;font-weight:700;font-size:14px;}
.skip:focus{left:0;}

/* ============================================================
   3. TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5,.serif,.display{
 font-family:'Montserrat',-apple-system,sans-serif;
 color:var(--ink); font-weight:700; line-height:1.12; letter-spacing:-.02em;
}
h1,.h1{font-size:clamp(38px,5.6vw,72px);font-weight:800;line-height:1.03;letter-spacing:-.03em;}
h2,.h2{font-size:clamp(28px,3.9vw,50px);font-weight:800;letter-spacing:-.028em;line-height:1.08;}
h3,.h3{font-size:clamp(20px,2.1vw,27px);font-weight:700;letter-spacing:-.015em;line-height:1.2;}
h4{font-size:19px;font-weight:700;letter-spacing:-.01em;}
p{max-width:68ch;}
strong,b{font-weight:700;color:var(--ink);}
em{font-style:italic;}

/* the tagline device — HEARD. VALUED. SEEN. */
.tagline{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;
 letter-spacing:.30em;text-transform:uppercase;color:var(--gold-ink);}

/* eyebrow: small caps label with a short gold rule */
.eyebrow{display:inline-flex;align-items:center;gap:12px;
 font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;
 letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink);}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--gold);border-radius:2px;flex:none;}
.sectionhead .eyebrow{margin-bottom:var(--s4);}
.sectionhead .eyebrow::after{content:"";width:28px;height:2px;background:var(--gold);border-radius:2px;flex:none;}

/* `.hand` was a handwriting font — now a quiet, premium accent label */
.hand{display:inline-block;font-family:'Montserrat',sans-serif!important;
 font-size:12px!important;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
 color:var(--gold-ink)!important;transform:none!important;margin-bottom:var(--s3);line-height:1.6;}
.hand::after{content:"";display:block;width:34px;height:2px;background:var(--gold);
 border-radius:2px;margin-top:10px;}

.lead-p{font-size:19px;color:var(--muted);line-height:1.72;}

/* ============================================================
   4. BUTTONS
   ============================================================ */
.btn{
 display:inline-flex;align-items:center;justify-content:center;gap:10px;
 font-family:'Montserrat',sans-serif;font-weight:700;font-size:14.5px;letter-spacing:.01em;
 border:2px solid transparent;border-radius:var(--r-pill);
 padding:14px 30px;min-height:50px;cursor:pointer;position:relative;overflow:hidden;
 transition:background var(--t) var(--ease),color var(--t) var(--ease),
            border-color var(--t) var(--ease),transform var(--t) var(--ease),
            box-shadow var(--t) var(--ease);
 will-change:transform;text-align:center;
}
.btn::after{ /* ripple */
 content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
 background:radial-gradient(circle at var(--rx,50%) var(--ry,50%),rgba(255,255,255,.5),transparent 60%);
 opacity:0;transition:opacity .5s ease;
}
.btn:active::after{opacity:1;transition:none;}
.btn:active{transform:translateY(0) scale(.985);}

/* primary — deep navy, gold on hover */
.btn.primary{background:var(--navy);color:#fff;box-shadow:var(--sh-navy);}
.btn.primary:hover{background:var(--gold);color:var(--navy);transform:translateY(-3px);box-shadow:var(--sh-gold);}

/* gold — the giving button */
.btn.gold{background:var(--gold);color:var(--navy);box-shadow:var(--sh-gold);}
.btn.gold:hover{background:var(--navy);color:#fff;transform:translateY(-3px);box-shadow:var(--sh-navy);}

/* secondary — gold outline, navy text */
.btn.ghost{background:transparent;border-color:var(--gold);color:var(--navy);}
.btn.ghost:hover{background:var(--gold);color:var(--navy);transform:translateY(-3px);box-shadow:var(--sh-gold);}

/* on navy / photographic backgrounds */
.btn.white{background:#fff;color:var(--navy);box-shadow:0 14px 30px -14px rgba(0,0,0,.5);}
.btn.white:hover{background:var(--gold);color:var(--navy);transform:translateY(-3px);}
.btn.outline-light{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;}
.btn.outline-light:hover{background:#fff;color:var(--navy);border-color:#fff;transform:translateY(-3px);}

.btn.big{padding:17px 38px;font-size:15.5px;min-height:58px;}
.btn.sm{padding:10px 20px;font-size:13px;min-height:40px;}

/* ============================================================
   5. CARDS, SURFACES & ICONS
   ============================================================ */
.card,
.pcard,.wcard,.scard,.istcard,.step,.nomstep,.nomcard,.facecard,.bstat,.dstat,.hgstep{
 background:var(--white);
 border:1px solid var(--line);
 border-radius:var(--r-lg);
 box-shadow:var(--sh-1);
 transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t) var(--ease);
}
.pcard,.wcard{padding:var(--s7) var(--s6);cursor:pointer;}
.scard,.istcard,.nomcard{padding:var(--s6);}
.step,.nomstep,.hgstep{padding:var(--s7) var(--s6);text-align:center;}
.facecard{padding:var(--s5) var(--s6);}
.bstat,.dstat{padding:var(--s6) var(--s4);text-align:center;}

.pcard:hover,.wcard:hover,.istcard:hover,.facecard:hover,.step:hover,.bstat:hover,.hgstep:hover{
 transform:translateY(-6px);
 box-shadow:var(--sh-3);
 border-color:var(--gold-200);
}

/* ---- icon system: one outlined style, drawn from the logo's language ---- */
.icons-sprite{position:absolute;width:0;height:0;overflow:hidden;}
.ic{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;
 stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
 transition:transform var(--t) var(--ease);}
.ic-lg{width:34px;height:34px;stroke-width:1.5;}

/* icon medallion — cream disc with gold line icon */
.imed{
 width:64px;height:64px;border-radius:var(--r);flex:none;
 display:flex;align-items:center;justify-content:center;
 background:var(--cream);color:var(--gold-ink);
 transition:background var(--t) var(--ease),color var(--t) var(--ease),transform var(--t) var(--ease);
}
.imed .ic{width:30px;height:30px;stroke-width:1.6;}
.pcard:hover .imed,.wcard:hover .imed{background:var(--navy);color:var(--gold-400);transform:scale(1.06) rotate(-2deg);}
.imed.navy{background:var(--navy);color:var(--gold-400);}
.imed.gold{background:var(--gold);color:var(--navy);}
.imed.round{border-radius:50%;}
.imed.xl{width:104px;height:104px;border-radius:50%;}
.imed.xl .ic{width:48px;height:48px;stroke-width:1.4;}

/* the old single-heart mark, kept as a graceful fallback */
.bigheart{width:48%;height:48%;}

/* ---- section rhythm & backgrounds ---- */
.band{padding:var(--s10) 0;}
.band-warm{background:var(--surface-warm);}
.band-cream{background:var(--cream);}
.band-navy{background:var(--navy);color:#fff;}
.band-navy h1,.band-navy h2,.band-navy h3,.band-navy h4{color:#fff;}
.band-navy p{color:rgba(255,255,255,.82);}

/* mountain-ridge divider, from the logo silhouette */
.ridge{display:block;width:100%;height:70px;color:var(--surface-warm);}
.ridge svg{width:100%;height:100%;display:block;}

/* flowing-path hairline */
.pathline{width:100%;height:26px;opacity:.5;}

/* sunrise glow */
.sunglow{position:absolute;pointer-events:none;border-radius:50%;
 background:radial-gradient(circle,rgba(200,146,46,.30),rgba(200,146,46,0) 68%);filter:blur(18px);}

/* ============================================================
   6. VIEWS & REVEALS
   ============================================================ */
.view{display:none;position:relative;z-index:2;}
.view.show{display:block;animation:vfade .55s var(--ease-out);}
@keyframes vfade{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.reveal{opacity:0;transform:translateY(28px);
 transition:opacity .85s var(--ease-out),transform .85s var(--ease-out);}
.reveal.in{opacity:1;transform:none;}
.reveal:nth-child(2){transition-delay:.06s}
.reveal:nth-child(3){transition-delay:.12s}
.reveal:nth-child(4){transition-delay:.18s}

.sectionhead{text-align:center;max-width:800px;margin:0 auto var(--s8);}
.sectionhead h2{margin-top:var(--s2);}
.sectionhead p{color:var(--muted);font-size:18px;margin:var(--s4) auto 0;}

/* ============================================================
   7. HOME
   ============================================================ */
/* ---- hero ---- */
.hero{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:var(--s8);
 align-items:center;padding-top:calc(var(--s9) + 20px);padding-bottom:var(--s9);}
.hglow{position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);
 z-index:0;pointer-events:none;
 background:
  radial-gradient(40% 58% at 22% 16%,rgba(200,146,46,.15),transparent 72%),
  radial-gradient(38% 52% at 78% 76%,rgba(13,31,61,.08),transparent 72%);}
.hglow i{display:none;}
.hero .ht{position:relative;z-index:2;}
.hero h1{margin-top:var(--s2);}
/* Gold underline drawn with a background gradient rather than an absolutely
   positioned SVG: it follows the text correctly when the phrase wraps —
   which Vietnamese headlines regularly do. */
.hero h1 .u{position:relative;color:var(--gold-ink);
 background-image:linear-gradient(var(--gold),var(--gold));background-repeat:no-repeat;
 background-position:0 100%;background-size:0 .075em;padding-bottom:.09em;
 -webkit-box-decoration-break:clone;box-decoration-break:clone;
 animation:uline 1s var(--ease-out) .8s forwards;}
@keyframes uline{to{background-size:100% .075em;}}
.hero h1 .u svg{display:none;}
.hero .sub{margin-top:var(--s5);font-size:19px;color:var(--muted);max-width:34em;line-height:1.72;}
.hero .cta{display:flex;gap:var(--s4);margin-top:var(--s7);flex-wrap:wrap;}

.counter{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line);
 display:flex;align-items:baseline;gap:var(--s4);}
.counter .num{font-family:'Montserrat',sans-serif;font-weight:800;font-size:46px;
 color:var(--navy);letter-spacing:-.03em;line-height:1;}
.counter .clabel{font-size:13.5px;color:var(--muted);max-width:240px;line-height:1.5;}

.hero-visual{position:relative;display:flex;justify-content:center;z-index:2;}
.hvid{position:relative;width:min(500px,100%);aspect-ratio:4/5;border-radius:var(--r-2xl);
 overflow:hidden;box-shadow:var(--sh-4);background:var(--navy);}
.hvid::after{content:"";position:absolute;inset:0;border-radius:inherit;
 border:1px solid rgba(255,255,255,.14);pointer-events:none;}
.hvid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hv-shade{position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(13,31,61,.05) 35%,rgba(13,31,61,.78));}
.hv-cap{position:absolute;left:var(--s6);right:var(--s6);bottom:var(--s6);
 display:flex;align-items:center;gap:14px;color:#fff;z-index:2;}
.hv-cap svg{width:26px;height:26px;flex:none;stroke:var(--gold-400);}
.hv-cap span{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12.5px;
 letter-spacing:.2em;text-transform:uppercase;line-height:1.6;text-shadow:0 2px 10px rgba(13,31,61,.9);}

/* ---- impact statistics ---- */
.statsband{padding:var(--s9) 0;background:var(--surface-warm);
 border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.statgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s4);}
.bstat .num{font-family:'Montserrat',sans-serif;font-weight:800;
 font-size:clamp(28px,3vw,40px);color:var(--navy);letter-spacing:-.03em;display:inline-block;}
.bstat .num.tick{animation:nticks .55s var(--ease);}
@keyframes nticks{0%{transform:scale(1);color:var(--navy)}45%{transform:scale(1.12);color:var(--gold-ink)}100%{transform:scale(1);color:var(--navy)}}
.bstat .l{font-size:12.5px;color:var(--muted);margin-top:var(--s2);line-height:1.45;}
.statnote{max-width:640px;margin:var(--s6) auto 0;text-align:center;font-size:13px;
 color:var(--muted);line-height:1.6;}
.liveline{display:flex;align-items:center;justify-content:center;gap:11px;
 margin-top:var(--s5);font-size:14.5px;color:var(--muted);}
.livedot{width:9px;height:9px;border-radius:50%;background:var(--ok);flex:none;
 box-shadow:0 0 0 0 rgba(46,125,83,.6);animation:lpulse 2s infinite;}
@keyframes lpulse{0%{box-shadow:0 0 0 0 rgba(46,125,83,.45)}70%{box-shadow:0 0 0 12px rgba(46,125,83,0)}100%{box-shadow:0 0 0 0 rgba(46,125,83,0)}}
.livetxt{font-weight:700;color:var(--ink);}

/* ---- the three values (home strip) ---- */
.promise{padding-top:var(--s10);padding-bottom:var(--s9);}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);}
.pcard h3{margin-top:var(--s5);}
.pcard .vn-acc{font-size:14px;color:var(--gold-ink);margin-top:var(--s1);font-weight:700;
 letter-spacing:.02em;}
.pcard p{font-size:15.5px;color:var(--muted);margin-top:var(--s3);}
.pcard .pi{width:auto;height:auto;background:none;display:block;}

/* ---- gallery ---- */
.gallery{padding-bottom:var(--s10);}
.polas{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);}
.polaroid{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
 padding:0;overflow:hidden;box-shadow:var(--sh-2);transform:none;width:auto;max-width:none;
 transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease);}
.polaroid:hover{transform:translateY(-8px);box-shadow:var(--sh-4);}
.pimg{border-radius:0;height:330px;overflow:hidden;position:relative;}
.pimg::after{content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,transparent 55%,rgba(13,31,61,.34));}
.polaroid figcaption{font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;
 color:var(--ink);text-align:left;padding:var(--s5) var(--s5) var(--s6);letter-spacing:-.01em;}
.galnote{text-align:center;color:var(--muted);font-size:14px;margin-top:var(--s7);}

/* ---- split (story teaser) ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center;
 padding-bottom:var(--s10);}
.split.rev .si{order:2;}
.split h2{letter-spacing:-.028em;}
.split p{color:var(--muted);font-size:18px;margin-top:var(--s4);}
.split .btn{margin-top:var(--s6);}
.split .panel{border-radius:var(--r-xl);background:var(--navy);min-height:420px;
 display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-4);overflow:hidden;}

/* ---- give CTA ---- */
.givecta{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;align-items:stretch;
 background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);
 overflow:hidden;box-shadow:var(--sh-2);margin:0 0 var(--s10);}
.gc-illus{background:var(--cream);padding:0;display:flex;align-items:stretch;}
.gc-text{padding:var(--s8) var(--s8);}
.gc-text h2{margin-top:0;}
.gc-text h2 em{font-style:normal;color:var(--gold-ink);}
.gc-text p{color:var(--muted);font-size:17px;margin-top:var(--s4);}
.gc-chips{display:flex;gap:var(--s2);margin:var(--s5) 0 var(--s6);flex-wrap:wrap;}
.gc-chips span{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;
 color:var(--navy);background:var(--cream);border:1px solid var(--cream-deep);
 padding:9px 18px;border-radius:var(--r-pill);}

/* ---- ways to help ---- */
.wayssec{padding-bottom:var(--s10);}
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);}
.wcard h3{margin-top:var(--s5);}
.wcard p{font-size:15px;color:var(--muted);margin-top:var(--s3);}
.wi{width:auto;height:auto;background:none;display:block;}
.wlink{display:inline-flex;align-items:center;gap:7px;margin-top:var(--s5);
 font-family:'Montserrat',sans-serif;color:var(--gold-ink);font-weight:700;font-size:14px;
 transition:gap var(--t) var(--ease);}
.wcard:hover .wlink{gap:13px;}

/* ---- reel ---- */
.reelband{padding-bottom:var(--s10);}
.reelwrap{display:grid;grid-template-columns:1fr auto;gap:var(--s8);align-items:center;
 background:var(--cream);border:1px solid var(--cream-deep);border-radius:var(--r-xl);
 padding:var(--s8);}
.reel{position:relative;display:flex;flex-direction:column;align-items:center;}
.reel iframe{position:relative;z-index:2;width:330px;height:586px;max-width:100%;
 border-radius:var(--r-lg);background:transparent;border:1px solid var(--line);box-shadow:var(--sh-3);}
.reelposter{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:1;
 width:330px;max-width:100%;height:586px;border-radius:var(--r-lg);background:var(--navy);
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s4);
 color:#fff;text-align:center;padding:var(--s6);}
.reelposter .pl{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.14);
 border:2px solid var(--gold-400);display:flex;align-items:center;justify-content:center;
 font-size:22px;padding-left:5px;color:var(--gold-400);}
.reelposter b{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;}
.reelposter span{font-size:13.5px;opacity:.85;max-width:230px;}
.reel-fallback{margin-top:var(--s4);font-family:'Montserrat',sans-serif;font-size:13.5px;
 font-weight:700;color:var(--gold-ink);}
.reeltext h2{letter-spacing:-.028em;}
.reeltext p{color:var(--muted);font-size:17.5px;margin-top:var(--s4);max-width:44ch;}
.reel.ourvid video{width:330px;max-width:100%;border-radius:var(--r-lg);background:var(--navy);
 box-shadow:var(--sh-3);}
.vidcap{margin-top:var(--s4);font-size:13.5px;color:var(--muted);text-align:center;}

/* ---- join band ---- */
.joinband{margin:0 0 var(--s10);border-radius:var(--r-2xl);padding:var(--s9) var(--s8);
 display:grid;grid-template-columns:1.3fr auto;gap:var(--s8);align-items:center;color:#fff;
 background:var(--navy);box-shadow:var(--sh-4);position:relative;overflow:hidden;}
.joinband::before{content:"";position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(60% 100% at 8% 0%,rgba(200,146,46,.22),transparent 62%);}
.joinband::after{content:"";position:absolute;left:0;right:0;bottom:0;height:150px;
 pointer-events:none;opacity:.18;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 150' preserveAspectRatio='none'%3E%3Cpath d='M0 150 L150 74 L250 112 L400 40 L520 100 L660 22 L800 96 L940 56 L1080 106 L1200 60 L1200 150 Z' fill='%23C8922E' fill-opacity='.55'/%3E%3Cpath d='M0 150 L120 104 L280 132 L430 88 L600 128 L760 84 L920 126 L1080 92 L1200 124 L1200 150 Z' fill='%23C8922E'/%3E%3C/svg%3E") no-repeat bottom/100% 150px;}
.joinband > *{position:relative;z-index:2;}
.joinband h2{color:#fff;font-size:clamp(26px,3.4vw,42px);}
.joinband .jvn{font-size:18px;margin-top:var(--s3);color:rgba(255,255,255,.85);max-width:44ch;}
.joinband .scc{margin-top:var(--s5);font-family:'Montserrat',sans-serif;font-weight:700;
 font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-400);}
.joinband .jcta{margin-top:var(--s6);display:flex;gap:var(--s3);flex-wrap:wrap;}
.jqr{background:#fff;border-radius:var(--r-lg);padding:var(--s4);text-align:center;
 box-shadow:var(--sh-3);}
.jqr img{width:150px;height:150px;display:block;border-radius:var(--r-xs);}
.jqr span{display:block;font-family:'Montserrat',sans-serif;font-size:10.5px;letter-spacing:.2em;
 text-transform:uppercase;font-weight:700;color:var(--gold-ink);margin-top:var(--s3);}

/* ============================================================
   8. STORY · VALUES · STORIES
   ============================================================ */
.narr{padding-top:var(--s9);padding-bottom:var(--s6);}
.narr .lead{text-align:center;max-width:800px;margin:0 auto;}
.narr .lead h1{margin-top:var(--s2);}
.narr .lead h1 em{font-style:normal;color:var(--gold-ink);}
.beat{max-width:760px;margin:var(--s9) auto;text-align:center;}
.beat .n{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:800;letter-spacing:.3em;
 color:var(--gold-ink);margin-bottom:var(--s4);}
.beat .n::after{content:"";display:block;width:40px;height:2px;background:var(--gold);
 margin:var(--s3) auto 0;border-radius:2px;}
.beat p{font-family:'Montserrat',sans-serif;font-weight:500;
 font-size:clamp(20px,2.5vw,28px);line-height:1.5;color:var(--ink);letter-spacing:-.015em;
 max-width:none;}
.beat p b{font-weight:800;color:var(--gold-ink);}

.forone{padding:var(--s9) 0;background:var(--cream);
 border-top:1px solid var(--cream-deep);border-bottom:1px solid var(--cream-deep);}
.fo-rot{text-align:center;}
.fo-pre,.fo-post{display:block;font-family:'Montserrat',sans-serif;font-size:12px;
 letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.fo-line{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:800;
 font-size:clamp(26px,4.4vw,52px);line-height:1.2;color:var(--navy);margin:var(--s5) 0;
 min-height:1.25em;transition:opacity .45s ease;letter-spacing:-.03em;max-width:20ch;}

.faces{padding-bottom:var(--s10);}
.facegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);}
.facecard{display:flex;gap:var(--s4);align-items:flex-start;}
.facecard .fhk{width:26px;height:26px;flex:none;margin-top:3px;stroke:var(--gold);
 fill:none;stroke-width:1.7;}
.facecard p{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15.5px;
 line-height:1.5;color:var(--ink);letter-spacing:-.01em;}

.fnote{display:flex;gap:var(--s7);align-items:center;background:var(--cream);
 border:1px solid var(--cream-deep);border-radius:var(--r-xl);padding:var(--s8);
 margin:0 0 var(--s10);}
.fnav,.fnav .av{width:96px;height:96px;flex:none;}
.fnav .av{border-radius:50%;}
.fnq{font-family:'Montserrat',sans-serif;font-weight:600;font-style:normal;
 font-size:clamp(19px,2.3vw,25px);line-height:1.5;color:var(--ink);letter-spacing:-.015em;}
.fnsig{font-family:'Montserrat',sans-serif;font-weight:800;font-size:17px;color:var(--navy);
 margin-top:var(--s5);letter-spacing:-.01em;}
.fnsig.hand{font-size:17px!important;letter-spacing:-.01em;text-transform:none;
 color:var(--navy)!important;margin-bottom:0;}
.fnsig.hand::after{display:none;}
.fnrole{font-size:13px;color:var(--muted);margin-top:var(--s1);}

/* ---- values page ---- */
.vpage{padding-top:var(--s9);padding-bottom:var(--s6);}
.vbig{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s8);align-items:center;
 padding:var(--s9) 0;border-top:1px solid var(--line);}
.vbig:first-of-type{border-top:none;padding-top:var(--s6);}
.vbig.rev .vmark{order:2;}
.vmark{display:flex;align-items:center;justify-content:center;}
.vmark .disc{width:210px;height:210px;border-radius:50%;background:var(--cream);
 display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-2);
 border:1px solid var(--cream-deep);position:relative;color:var(--gold-ink);}
.vmark .disc::after{content:"";position:absolute;inset:-14px;border-radius:50%;
 border:1.5px dashed var(--gold-200);}
.vmark .disc .ic{width:84px;height:84px;stroke-width:1.3;}
.vbig .word{font-family:'Montserrat',sans-serif;font-weight:800;
 font-size:clamp(40px,6vw,74px);line-height:1;letter-spacing:-.04em;color:var(--navy);}
.vbig .word b{font-weight:800;color:var(--gold);}
.vbig .wvn{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;
 color:var(--gold-ink);margin-top:var(--s3);letter-spacing:.01em;}
.vbig .wp{font-size:18px;color:var(--muted);margin-top:var(--s5);max-width:48ch;}

/* ---- stories page ---- */
.stpage{padding-top:var(--s9);padding-bottom:var(--s6);}
.rotbox{max-width:900px;margin:0 auto var(--s9);text-align:center;background:var(--navy);
 border-radius:var(--r-2xl);padding:var(--s9) var(--s8);position:relative;overflow:hidden;
 box-shadow:var(--sh-4);}
.rotbox::before{content:"";position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(56% 90% at 50% 0%,rgba(200,146,46,.22),transparent 68%);}
.rotbox > *{position:relative;z-index:2;}
.qmark{font-family:'Montserrat',sans-serif;font-weight:800;font-size:76px;line-height:.6;
 color:var(--gold);opacity:.9;}
.rotlist{position:relative;min-height:170px;margin-top:var(--s5);}
.story{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;
 display:flex;align-items:center;justify-content:center;}
.story.on{opacity:1;}
.story .q{font-family:'Montserrat',sans-serif;font-weight:600;font-style:normal;
 font-size:clamp(19px,2.5vw,27px);line-height:1.5;color:#fff;letter-spacing:-.015em;max-width:26ch;}
.story .who{display:block;font-family:'Montserrat',sans-serif;font-size:11.5px;
 letter-spacing:.2em;text-transform:uppercase;color:var(--gold-400);margin-top:var(--s5);font-weight:700;}
.stdots{display:flex;gap:9px;justify-content:center;margin-top:var(--s6);}
.stdots b{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.28);
 cursor:pointer;transition:.3s;}
.stdots b.on{background:var(--gold);width:28px;border-radius:10px;}
.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);}
.scard .q{font-family:'Montserrat',sans-serif;font-weight:600;font-size:16px;line-height:1.55;
 color:var(--ink);letter-spacing:-.01em;}
.scard .who{font-size:12.5px;color:var(--muted);margin-top:var(--s4);font-weight:700;
 letter-spacing:.08em;text-transform:uppercase;}
.scav,.scav .av{width:44px;height:44px;margin-bottom:var(--s3);}
.scav .av{border-radius:50%;}

.vduo{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);margin:0 0 var(--s7);}
.vcard{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;
 box-shadow:var(--sh-3);}
.vcard video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.vcard::after{content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,transparent 52%,rgba(13,31,61,.72));}
.vcard figcaption{position:absolute;left:var(--s5);right:var(--s5);bottom:var(--s5);color:#fff;
 font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;z-index:2;letter-spacing:-.01em;
 text-shadow:0 2px 10px rgba(13,31,61,.9);}

/* ---- join page ---- */
.jpage{padding-top:var(--s9);padding-bottom:var(--s6);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);margin:0 0 var(--s8);}
.step .sn{width:46px;height:46px;border-radius:50%;margin:0 auto var(--s4);
 background:var(--cream);border:1.5px solid var(--gold-200);color:var(--gold-ink);
 font-family:'Montserrat',sans-serif;font-size:17px;font-weight:800;
 display:flex;align-items:center;justify-content:center;transition:var(--t);}
.step:hover .sn{background:var(--gold);color:var(--navy);border-color:var(--gold);}
.step h3{font-size:20px;}
.step p{font-size:15px;color:var(--muted);margin-top:var(--s3);}
.nomcta{display:flex;align-items:center;justify-content:space-between;gap:var(--s7);
 background:var(--cream);border:1px solid var(--cream-deep);border-radius:var(--r-xl);
 padding:var(--s8);margin-bottom:var(--s7);}
.nomcta h3{margin-top:var(--s1);}
.nomcta p{font-size:16px;color:var(--muted);margin-top:var(--s3);}

/* ============================================================
   9. DONATE · NOMINATE · LEGAL
   ============================================================ */
.dpage{padding-top:var(--s9);padding-bottom:var(--s6);}
.dhero{display:grid;grid-template-columns:1fr .92fr;gap:var(--s8);align-items:center;}
.dhero h1 em{font-style:normal;color:var(--gold-ink);}
.dhero p{color:var(--muted);font-size:18px;margin-top:var(--s5);max-width:34em;}
.gtrust{margin-top:var(--s5);font-size:13.5px;color:var(--muted);font-weight:700;
 display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.gtrust .ic{width:16px;height:16px;stroke:var(--gold-ink);}
.dillus{background:var(--cream);border:1px solid var(--cream-deep);border-radius:var(--r-xl);
 overflow:hidden;box-shadow:var(--sh-3);}

.promisebox{margin:var(--s10) 0;background:var(--navy);color:#fff;border-radius:var(--r-2xl);
 padding:var(--s9) var(--s8);text-align:center;position:relative;overflow:hidden;}
.promisebox::before{content:"";position:absolute;inset:0;
 background:radial-gradient(58% 90% at 50% 0%,rgba(200,146,46,.28),transparent 70%);}
.promisebox .inner{position:relative;z-index:2;}
.big100{font-family:'Montserrat',sans-serif;font-size:clamp(60px,10vw,118px);font-weight:800;
 color:var(--gold);line-height:.9;letter-spacing:-.05em;}
.big100sub{font-size:14.5px;color:rgba(255,255,255,.78);max-width:46ch;
 margin:var(--s4) auto 0;line-height:1.6;}
.promisebox h2{color:#fff;margin-top:var(--s6);font-size:clamp(24px,3vw,36px);}
.promisebox > .inner > p{color:rgba(255,255,255,.8);max-width:66ch;margin:var(--s5) auto 0;font-size:16.5px;}
.gives{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-top:var(--s8);text-align:left;}
.give{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
 border-radius:var(--r);padding:var(--s6);transition:var(--t);}
.give:hover{background:rgba(255,255,255,.1);border-color:rgba(200,146,46,.5);}
.give h4{color:#fff;font-size:17px;}
.give p{color:rgba(255,255,255,.72);font-size:14px;margin-top:var(--s2);}

.howgift{margin:0 0 var(--s9);}
.hgsteps{display:flex;align-items:stretch;gap:var(--s4);justify-content:center;}
.hgstep{flex:1;}
.hgi{width:88px;height:88px;border-radius:50%;margin:0 auto var(--s5);
 display:flex;align-items:center;justify-content:center;overflow:hidden;
 background:var(--cream);color:var(--gold-ink);border:1px solid var(--cream-deep);}
.hgi .ic{width:40px;height:40px;stroke-width:1.5;}
.hgi.avat{background:transparent;border:none;}
.hgi.avat .av{width:88px;height:88px;border-radius:50%;}
.hgarrow{align-self:center;color:var(--gold);font-size:24px;font-weight:700;}
.hgstep h3{font-size:19px;}
.hgstep p{font-size:14.5px;color:var(--muted);margin-top:var(--s3);}

.impactstories{margin:0 0 var(--s9);}
.istgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);}
.istav,.istav .av{width:60px;height:60px;}
.istav.photo{width:60px;height:60px;border-radius:50%;overflow:hidden;flex:none;
 border:2px solid var(--cream-deep);}
.istcard .q{font-family:'Montserrat',sans-serif;font-weight:700;font-style:normal;font-size:18px;
 line-height:1.45;margin-top:var(--s5);color:var(--ink);letter-spacing:-.015em;}
.istcard p{font-size:14.5px;color:var(--muted);margin-top:var(--s3);}
.isttag{display:inline-block;margin-top:var(--s5);font-family:'Montserrat',sans-serif;font-size:10.5px;
 letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold-ink);
 background:var(--cream);border:1px solid var(--cream-deep);padding:6px 14px;border-radius:var(--r-pill);}

/* ---- gift widget ---- */
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);align-items:start;
 margin:0 0 var(--s10);scroll-margin-top:110px;}
.dwidget{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);
 padding:var(--s8);box-shadow:var(--sh-3);}
.dwidget h3{font-size:24px;}
.dsub{font-size:15px;color:var(--muted);margin-top:var(--s2);}
.dtype{display:flex;gap:6px;background:var(--cream);border-radius:var(--r);padding:5px;
 margin-top:var(--s5);}
.dt{flex:1;border:none;background:none;font-family:'Montserrat',sans-serif;font-weight:700;
 font-size:13.5px;color:var(--muted);padding:12px;border-radius:13px;cursor:pointer;
 transition:var(--t);min-height:44px;}
.dt.active{background:var(--white);color:var(--navy);box-shadow:var(--sh-1);}
.amounts{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s5);}
.amt{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:700;padding:14px 0;
 width:66px;min-height:52px;border-radius:var(--r-sm);border:1.5px solid var(--line);
 background:var(--white);color:var(--ink);cursor:pointer;transition:var(--t);}
.amt:hover{border-color:var(--gold);transform:translateY(-2px);}
.amt.active{background:var(--navy);color:#fff;border-color:var(--navy);}
.amt-custom{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;padding:14px;
 width:96px;min-height:52px;border-radius:var(--r-sm);border:1.5px solid var(--line);
 background:var(--white);color:var(--ink);}
.amt-custom:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(200,146,46,.16);}
.impact{margin-top:var(--s5);background:var(--cream);border:1px solid var(--cream-deep);
 border-radius:var(--r);padding:var(--s5);font-size:15.5px;color:var(--ink);min-height:74px;
 display:flex;flex-direction:column;gap:var(--s2);}
.impact .ihand{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;
 letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);}
.impact .ihand::after{display:none;}
.donate-btn{margin-top:var(--s5);width:100%;}
.dsecure{margin-top:var(--s3);font-size:12.5px;color:var(--muted);text-align:center;}

.goal{background:var(--cream);border:1px solid var(--cream-deep);border-radius:var(--r-xl);
 padding:var(--s7);}
.goal-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;
 color:var(--muted);gap:var(--s3);flex-wrap:wrap;}
.goal-row b{font-family:'Montserrat',sans-serif;color:var(--navy);font-size:24px;font-weight:800;
 letter-spacing:-.02em;}
.bar{height:14px;border-radius:var(--r-pill);background:var(--white);
 border:1px solid var(--cream-deep);overflow:hidden;margin:var(--s4) 0 var(--s3);}
.bar i{display:block;height:100%;width:0;border-radius:var(--r-pill);
 background:linear-gradient(90deg,var(--gold),var(--gold-400));
 transition:width 1.6s var(--ease-out);}
.dright.in .bar i{width:var(--w);}
.goal-sub{font-size:13px;color:var(--muted);font-weight:600;}
.goalnote{font-size:12.5px;color:var(--muted);margin-top:var(--s2);}
.twobars{display:grid;gap:var(--s2);}
.bar2{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:baseline;font-size:13px;color:var(--muted);}
.bar2 b{color:var(--navy);font-weight:700;font-family:'Montserrat',sans-serif;}
.dstats{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-top:var(--s4);}
.dstat .num{font-family:'Montserrat',sans-serif;font-weight:800;font-size:32px;color:var(--navy);
 letter-spacing:-.03em;}
.dstat .l{font-size:12.5px;color:var(--muted);margin-top:var(--s1);}

/* ---- trust ---- */
.trustsec{margin-bottom:var(--s6);}
.trustrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s6);
 color:var(--muted-lite);padding:var(--s5) 0;}
.dm-secure{margin-top:var(--s3);font-size:12px;color:var(--muted);text-align:center;}

/* ---- faq ---- */
.faq{margin:0 0 var(--s8);}
.faqlist{max-width:820px;margin:0 auto;}
.faqitem{border:1px solid var(--line);background:var(--white);border-radius:var(--r);
 margin-bottom:var(--s3);overflow:hidden;transition:border-color var(--t),box-shadow var(--t);}
.faqitem:hover{border-color:var(--gold-200);}
.faqitem.open{border-color:var(--gold-200);box-shadow:var(--sh-2);}
.faqq{width:100%;text-align:left;background:none;border:none;
 font-family:'Montserrat',sans-serif;font-size:17px;font-weight:700;color:var(--ink);
 padding:var(--s5) var(--s6);cursor:pointer;display:flex;justify-content:space-between;
 align-items:center;gap:var(--s4);min-height:64px;letter-spacing:-.01em;}
.fqi{font-family:'Montserrat',sans-serif;font-size:24px;font-weight:400;color:var(--gold);
 transition:transform var(--t) var(--ease);flex:none;line-height:1;}
.faqa{max-height:0;overflow:hidden;transition:max-height .45s var(--ease);}
.faqa p{padding:0 var(--s6) var(--s5);color:var(--muted);font-size:15.5px;max-width:none;}
.faqitem.open .faqa{max-height:400px;}
.faqitem.open .fqi{transform:rotate(45deg);}

/* ---- nominate ---- */
.nompage{padding-top:var(--s9);padding-bottom:var(--s7);}
.nomsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-bottom:var(--s6);}
.nomstep .ns{width:40px;height:40px;border-radius:50%;margin:0 auto var(--s3);
 background:var(--cream);border:1.5px solid var(--gold-200);color:var(--gold-ink);
 font-family:'Montserrat',sans-serif;font-size:15px;font-weight:800;
 display:flex;align-items:center;justify-content:center;}
.nomstep h4{font-size:17px;}
.nomstep p{font-size:14px;color:var(--muted);margin-top:var(--s2);}
.crisis{display:flex;gap:var(--s4);align-items:flex-start;background:var(--warn-bg);
 border:1px solid var(--warn-line);border-left:5px solid var(--gold);border-radius:var(--r);
 padding:var(--s5) var(--s6);margin-bottom:var(--s7);font-size:15px;line-height:1.65;
 color:var(--warn-ink);}
.crisis b{display:block;color:var(--navy);margin-bottom:var(--s1);font-family:'Montserrat',sans-serif;}
.crx{width:28px;height:28px;border-radius:50%;background:var(--gold);color:var(--navy);
 font-weight:800;display:flex;align-items:center;justify-content:center;flex:none;
 font-family:'Montserrat',sans-serif;}
.nomgrid{display:grid;grid-template-columns:1.4fr .6fr;gap:var(--s5);align-items:start;}
.nomform{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);
 padding:var(--s8);box-shadow:var(--sh-2);}
.nomform .frow{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);}
.nomform label{display:block;font-family:'Montserrat',sans-serif;font-size:13.5px;
 font-weight:700;color:var(--ink);margin-bottom:var(--s5);letter-spacing:.005em;}
.nomform label i{font-weight:400;color:var(--muted-lite);font-style:normal;font-family:'Lato',sans-serif;}
.nomform .req{color:var(--gold-ink);}
.nomform input[type=text],.nomform input[type=email],.nomform textarea,.nomform select{
 width:100%;margin-top:var(--s2);font-family:'Lato',sans-serif;font-size:16px;font-weight:400;
 color:var(--ink);background:var(--cream-lite);border:1.5px solid var(--line);
 border-radius:var(--r-sm);padding:15px 17px;min-height:54px;
 transition:border-color var(--t),box-shadow var(--t),background var(--t);}
.nomform input::placeholder,.nomform textarea::placeholder{color:var(--muted-lite);}
.nomform input:focus,.nomform textarea:focus,.nomform select:focus{
 outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(200,146,46,.16);background:var(--white);}
.nomform textarea{resize:vertical;min-height:130px;line-height:1.65;}
.nomform select{appearance:none;cursor:pointer;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%238A5D1B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:calc(100% - 18px) 50%;padding-right:46px;}
.anonbox{background:var(--cream-lite);border:1px solid var(--line);border-radius:var(--r);
 padding:var(--s5);margin:0 0 var(--s5);}
.chk{display:flex!important;align-items:center;gap:var(--s3);margin-bottom:0!important;cursor:pointer;}
.chk input{width:24px;height:24px;accent-color:var(--gold);flex:none;cursor:pointer;}
.anonnote{font-size:13px;color:var(--muted);margin:var(--s2) 0 0 37px;}
#youfields{margin-top:var(--s4);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.nomsubmit{width:100%;}
.nomnotice{background:var(--cream-lite);border:1px solid var(--line);border-radius:var(--r);
 padding:var(--s5);margin:var(--s5) 0;}
.nomnotice p{font-size:13px;line-height:1.7;color:var(--muted);max-width:none;}
.nomnotice p+p{margin-top:var(--s2);}
.nomnotice a{color:var(--gold-ink);font-weight:700;cursor:pointer;text-decoration:underline;}
.nomform small.warn{display:block;margin-top:var(--s3);font-size:13px;line-height:1.6;
 color:var(--warn-ink);background:var(--warn-bg);border:1px solid var(--warn-line);
 border-radius:var(--r-sm);padding:var(--s3) var(--s4);font-weight:400;font-family:'Lato',sans-serif;}
.formmsg{margin-top:var(--s4);border-radius:var(--r-sm);padding:0;font-size:15px;line-height:1.6;
 max-height:0;overflow:hidden;transition:max-height .4s,padding .4s;}
.formmsg.on{padding:var(--s5);max-height:360px;}
.formmsg.ok{background:#EDF6F0;border:1px solid #B9DCC6;color:#1F5C39;}
.formmsg.err{background:var(--err-bg);border:1px solid var(--err-line);color:var(--err-ink);}
.formnote{font-size:13px;color:var(--muted);margin-top:var(--s3);text-align:center;}
.nomside{display:flex;flex-direction:column;gap:var(--s4);}
.nomcard.quiet{background:var(--cream);border-color:var(--cream-deep);}
.nomcard h4{margin-bottom:var(--s2);}
.nomcard p{font-size:14.5px;color:var(--muted);}
.nomlist{list-style:none;margin-top:var(--s2);}
.nomlist li{font-size:14.5px;color:var(--muted);padding-left:26px;position:relative;margin-top:var(--s3);}
.nomlist li:before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;
 border-radius:50%;background:var(--gold);}
.nomcard .btn{margin-top:var(--s4);}

/* ---- legal ---- */
.legalpage{padding-top:var(--s9);padding-bottom:var(--s7);}
.legallist{max-width:900px;}
.legallist .faqa p{padding:0 var(--s6) var(--s4);color:var(--muted);font-size:15px;
 line-height:1.75;max-width:none;}
.legallist .faqa p strong{color:var(--ink);}
.legallist .faqa a{color:var(--gold-ink);font-weight:700;}
.legallist .faqa ul,.legallist .faqa ol{padding:0 var(--s6) var(--s4) 48px;color:var(--muted);
 font-size:15px;line-height:1.75;}
.legallist .faqa li{margin-bottom:var(--s2);}
.legallist .faqa h4{padding:var(--s2) var(--s6);font-size:16px;color:var(--ink);}
.legallist .faqa table{width:calc(100% - 64px);margin:0 var(--s6) var(--s4);
 border-collapse:collapse;font-size:14px;}
.legallist .faqa th,.legallist .faqa td{border:1px solid var(--line);padding:10px 12px;
 text-align:left;color:var(--muted);vertical-align:top;}
.legallist .faqa th{background:var(--cream-lite);color:var(--ink);font-weight:700;
 font-family:'Montserrat',sans-serif;}
.legalpage .faqitem.open .faqa{max-height:4200px;}

/* ---- photography ---- */
.pimg.photo{padding:0;background:var(--cream-deep);}
.pimg.photo img{width:100%;height:100%;object-fit:cover;display:block;}
.photopanel{position:relative;overflow:hidden;padding:0!important;}
.photopanel img{width:100%;height:100%;object-fit:cover;display:block;}
.panelveil{position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(150deg,rgba(13,31,61,.30),rgba(13,31,61,.04) 50%,rgba(200,146,46,.16));}
.split .panel.photopanel{height:460px;min-height:0;align-self:center;}
.dillus.photopanel{height:470px;min-height:0;align-self:center;}
.gc-illus.photopanel{height:auto;min-height:340px;border-radius:0;position:relative;}
.gc-illus.photopanel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.istav.photo img{width:100%;height:100%;object-fit:cover;display:block;}
.vid-panel{padding:0!important;overflow:hidden;position:relative;height:460px;}
.vid-panel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.vid-panel .hv-cap span{font-family:'Montserrat',sans-serif;font-size:12.5px;
 letter-spacing:.2em;text-transform:uppercase;font-weight:700;}
.givecta > *{min-width:0;} .split > *{min-width:0;} .dhero > *{min-width:0;}

.paynote{max-height:0;overflow:hidden;transition:max-height .4s,padding .4s;background:var(--navy);
 color:rgba(255,255,255,.9);border-radius:var(--r);padding:0 var(--s5);font-size:14.5px;
 line-height:1.6;text-align:center;}
.paynote.on{max-height:340px;padding:var(--s5);margin-top:var(--s4);}

/* ============================================================
   10. NAV · FOOTER · MODAL · ASSISTANT
   ============================================================ */
/* ---- navigation: transparent over hero, solid on scroll ---- */
.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;
 justify-content:space-between;gap:var(--s5);padding:var(--s4) var(--gutter);
 min-height:var(--nav-h);background:transparent;border-bottom:1px solid transparent;
 transition:background var(--t) var(--ease),box-shadow var(--t) var(--ease),
            border-color var(--t) var(--ease),padding var(--t) var(--ease);}
body.nav-solid .nav{background:rgba(255,255,255,.92);backdrop-filter:blur(16px) saturate(1.5);
 border-bottom-color:var(--line-soft);box-shadow:0 4px 24px -12px rgba(13,31,61,.18);}

.logo{display:flex;align-items:center;gap:12px;cursor:pointer;flex:none;}
.logo .lh{width:42px;height:42px;flex:none;transition:transform var(--t) var(--ease);}
.logo:hover .lh{transform:scale(1.06);}
.logo .lw{display:flex;flex-direction:column;line-height:1;}
.logo .lw-n{font-family:'Montserrat',sans-serif;font-weight:800;font-size:17px;
 letter-spacing:.055em;color:var(--navy);text-transform:uppercase;}
.logo .lw-m{font-family:'Montserrat',sans-serif;font-weight:700;font-size:9px;
 letter-spacing:.34em;color:var(--gold-ink);text-transform:uppercase;margin-top:4px;}
.logo span em{display:none;}

.links{display:flex;gap:2px;}
.links a{font-family:'Montserrat',sans-serif;color:var(--ink-soft);font-size:14px;
 font-weight:600;padding:10px 14px;border-radius:var(--r-pill);cursor:pointer;
 transition:color var(--t),background var(--t);position:relative;white-space:nowrap;}
.links a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;
 background:var(--gold);border-radius:2px;transform:scaleX(0);transform-origin:center;
 transition:transform var(--t) var(--ease);}
.links a:hover{color:var(--navy);}
.links a:hover::after{transform:scaleX(1);}
.links a.active{color:var(--navy);font-weight:700;}
.links a.active::after{transform:scaleX(1);}

.navright{display:flex;align-items:center;gap:var(--s4);flex:none;}
.langtoggle{display:flex;align-items:center;gap:3px;font-size:12px;color:var(--muted);
 background:var(--cream);border-radius:var(--r-pill);padding:3px;}
.langtoggle > span{display:none;}
.langbtn{background:none;border:none;font-family:'Montserrat',sans-serif;font-size:11.5px;
 letter-spacing:.08em;font-weight:800;color:var(--muted);cursor:pointer;padding:7px 11px;
 border-radius:var(--r-pill);transition:var(--t);min-height:34px;}
.langbtn:hover{color:var(--navy);}
.langbtn.active{color:var(--navy);background:var(--white);box-shadow:var(--sh-1);}
.navright .btn{padding:12px 26px;min-height:46px;font-size:14px;}

/* hamburger */
.burger{display:none;width:46px;height:46px;border:none;background:none;cursor:pointer;
 align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;flex:none;}
.burger i{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;
 transition:transform var(--t),opacity var(--t);}
body.menu-open .burger i:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.menu-open .burger i:nth-child(2){opacity:0;}
body.menu-open .burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobmenu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;z-index:59;
 background:var(--white);box-shadow:0 24px 48px -20px rgba(13,31,61,.28);
 border-bottom:1px solid var(--line);padding:var(--s3) var(--s5) var(--s7);
 animation:dmup .3s var(--ease-out);max-height:calc(100vh - var(--nav-h));overflow-y:auto;}
body.menu-open .mobmenu{display:block;}
.mobmenu a.mlink{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;
 color:var(--navy);padding:16px 6px;border-bottom:1px solid var(--line-soft);cursor:pointer;
 letter-spacing:-.01em;}
.mobmenu a.mlink.active{color:var(--gold-ink);}
.mobmenu .mrow{display:none;} /* the language toggle already lives in the bar above */

/* ---- footer ---- */
footer{position:relative;z-index:2;background:var(--navy);color:rgba(255,255,255,.72);
 padding:var(--s9) 0 var(--s7);font-size:14px;text-align:left;border-top:none;overflow:hidden;}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:280px;pointer-events:none;
 background:radial-gradient(52% 100% at 12% 0%,rgba(200,146,46,.16),transparent 66%);}
footer .wrap{position:relative;z-index:2;}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:var(--s8);
 padding-bottom:var(--s8);border-bottom:1px solid rgba(255,255,255,.12);}
.fbrand .femblem{width:96px;height:auto;margin-bottom:var(--s5);}
.fbrand .fname{font-family:'Montserrat',sans-serif;font-weight:800;font-size:19px;
 letter-spacing:.055em;color:#fff;text-transform:uppercase;}
.fbrand .fmv{font-family:'Montserrat',sans-serif;font-weight:700;font-size:9.5px;
 letter-spacing:.34em;color:var(--gold-400);text-transform:uppercase;margin-top:5px;}
.fbrand .ftag{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;
 letter-spacing:.26em;color:rgba(255,255,255,.6);text-transform:uppercase;margin-top:var(--s5);}
.fbrand .fmission{margin-top:var(--s5);font-size:14.5px;color:rgba(255,255,255,.68);
 line-height:1.7;max-width:34ch;}
.fcol h5{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:800;letter-spacing:.22em;
 text-transform:uppercase;color:var(--gold-400);margin-bottom:var(--s5);}
.fcol a,.fcol .fitem{display:block;color:rgba(255,255,255,.72);padding:7px 0;cursor:pointer;
 font-size:14.5px;transition:color var(--t),padding-left var(--t);}
.fcol a:hover{color:var(--gold-400);padding-left:6px;}
.fnews p{font-size:14.5px;color:rgba(255,255,255,.68);margin-bottom:var(--s4);max-width:34ch;}
.fnewsform{display:flex;gap:var(--s2);flex-wrap:wrap;}
.fnewsform input{flex:1;min-width:170px;font-family:'Lato',sans-serif;font-size:15px;
 background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.18);
 border-radius:var(--r-pill);padding:13px 20px;color:#fff;min-height:50px;transition:var(--t);}
.fnewsform input::placeholder{color:rgba(255,255,255,.45);}
.fnewsform input:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.12);}
.fsocial{display:flex;gap:var(--s3);margin-top:var(--s5);}
.fsocial a[hidden]{display:none!important;}
.fsocial a{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);
 display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);
 transition:var(--t);padding:0;}
.fsocial a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);
 transform:translateY(-3px);padding-left:0;}
.fsocial .ic{width:20px;height:20px;}
.fbottom{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);
 padding-top:var(--s6);flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.55);}
.fbottom a{color:rgba(255,255,255,.7);}
.fbottom a:hover{color:var(--gold-400);}
.fimprint{font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.7;max-width:none;}
.fimprint a{color:rgba(255,255,255,.7);}
footer .fh{display:none;}
footer .flinks{display:none;}
footer .hand{color:var(--gold-400)!important;}

/* ---- sticky give bar ---- */
.givebar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;align-items:center;
 justify-content:space-between;gap:var(--s4);
 padding:12px var(--s5) calc(12px + env(safe-area-inset-bottom));
 background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-top:1px solid var(--line);
 box-shadow:0 -14px 34px -20px rgba(13,31,61,.4);transform:translateY(110%);
 transition:transform .45s var(--ease);}
.givebar.show{transform:none;}
.givebar .gb-t{font-size:12px;color:var(--muted);font-weight:700;line-height:1.4;}
.givebar .gb-t b{display:block;color:var(--navy);font-size:17px;font-family:'Montserrat',sans-serif;
 font-weight:800;}
.givebar .btn{flex:none;padding:12px 26px;min-height:46px;}
@media(max-width:820px){.givebar{display:flex;}}

/* ---- gift modal ---- */
.dmodal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;
 padding:var(--s5);}
.dmodal[hidden]{display:none;}
.dm-backdrop{position:absolute;inset:0;background:rgba(13,31,61,.6);backdrop-filter:blur(6px);
 animation:dmfade .3s ease;}
@keyframes dmfade{from{opacity:0}}
@keyframes dmup{from{transform:translateY(24px);opacity:0}}
.dm-card{position:relative;z-index:2;width:min(540px,100%);max-height:min(88vh,800px);
 overflow:auto;overscroll-behavior:contain;background:var(--white);border-radius:var(--r-2xl);
 padding:var(--s8) var(--s7) var(--s7);box-shadow:0 60px 120px -40px rgba(13,31,61,.6);
 animation:dmup .45s var(--ease-out);}
.dm-x{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;border:none;
 background:var(--cream);color:var(--muted);font-size:16px;cursor:pointer;transition:var(--t);
 display:flex;align-items:center;justify-content:center;}
.dm-x:hover{background:var(--gold);color:var(--navy);}
.dm-heart{width:44px;height:44px;margin:0 auto var(--s3);display:block;stroke:var(--gold);}
.dm-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:26px;text-align:center;
 line-height:1.15;letter-spacing:-.025em;}
.dm-sub{text-align:center;font-size:14.5px;color:var(--muted);margin:var(--s3) auto 0;max-width:38ch;}
.dm-sum{display:flex;align-items:baseline;justify-content:center;gap:var(--s3);
 margin:var(--s5) 0 var(--s1);flex-wrap:wrap;}
.dm-amt{font-family:'Montserrat',sans-serif;font-weight:800;font-size:40px;color:var(--navy);
 line-height:1;letter-spacing:-.03em;}
.dm-per{font-size:12.5px;color:var(--muted);font-weight:700;}
.dm-edit{border:none;background:none;font-family:'Montserrat',sans-serif;font-size:12.5px;
 font-weight:700;color:var(--gold-ink);cursor:pointer;text-decoration:underline;padding:6px;}
.dm-tabs{display:flex;flex-wrap:wrap;gap:6px;background:var(--cream);border-radius:var(--r);
 padding:5px;margin:var(--s5) 0;}
.dm-tab{flex:1 1 44%;border:none;background:none;font-family:'Montserrat',sans-serif;
 font-weight:700;font-size:13px;color:var(--muted);padding:11px 8px;border-radius:13px;
 cursor:pointer;transition:var(--t);display:flex;align-items:center;justify-content:center;
 gap:7px;min-height:46px;}
.dm-tab.active{background:var(--white);color:var(--navy);box-shadow:var(--sh-1);}
.dm-tab svg{flex:none;}
.dm-panel{display:none;}
.dm-panel.on{display:block;animation:vfade .35s ease;}
.bankbox{border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--white);}
.bkrow{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
 padding:14px var(--s4);border-top:1px solid var(--line);font-size:14.5px;}
.bkrow:first-child{border-top:none;}
.bkrow .k{color:var(--muted);font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;
 letter-spacing:.12em;text-transform:uppercase;flex:none;}
.bkrow .v{font-weight:700;color:var(--ink);text-align:right;word-break:break-word;margin-left:auto;}
.copybtn{flex:none;border:1.5px solid var(--line);background:var(--white);border-radius:10px;
 font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:700;color:var(--gold-ink);
 padding:8px 12px;cursor:pointer;transition:var(--t);min-height:38px;}
.copybtn:hover{border-color:var(--gold);background:var(--cream);}
.copybtn.ok{background:#EDF6F0;border-color:var(--ok);color:var(--ok);}
.dm-hint{font-size:13px;color:var(--muted);margin-top:var(--s3);line-height:1.65;
 background:var(--cream-lite);border:1px solid var(--line-soft);border-radius:var(--r-sm);
 padding:12px var(--s4);}
.dm-hint b{color:var(--ink);}
.dm-remind a{color:var(--gold-ink);font-weight:700;text-decoration:underline;cursor:pointer;}
.paybtn{width:100%;}
.zlbtn{background:#0068FF;color:#fff;box-shadow:0 14px 30px -14px rgba(0,104,255,.7);}
.zlbtn:hover{background:#0055D4;color:#fff;transform:translateY(-3px);}
.dm-done{width:100%;margin-top:var(--s4);}
.dm-step{display:none;}
.dm-step.on{display:block;}
.tkheart{width:76px;height:76px;margin:var(--s2) auto var(--s3);display:block;
 stroke:var(--gold);animation:tkpop .7s cubic-bezier(.2,.9,.3,1.4);}
@keyframes tkpop{from{transform:scale(.4);opacity:0}}
.burst{position:fixed;width:18px;height:18px;z-index:95;pointer-events:none;
 animation:burst .95s var(--ease-out) forwards;color:var(--gold);}
@keyframes burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3);}25%{opacity:1;}
 100%{opacity:0;transform:translate(calc(-50% + var(--bx)),calc(-50% + var(--by))) scale(1);}}
.floaters{display:none;}

/* ---- assistant ---- */
.lynnbtn{position:fixed;right:22px;bottom:22px;z-index:70;display:flex;align-items:center;gap:10px;
 border:none;cursor:pointer;background:var(--navy);color:#fff;border-radius:var(--r-pill);
 padding:14px 22px 14px 16px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;
 box-shadow:var(--sh-navy);transition:transform var(--t) var(--ease),background var(--t),box-shadow var(--t);
 min-height:54px;}
.lynnbtn:hover{background:var(--gold);color:var(--navy);transform:translateY(-3px);box-shadow:var(--sh-gold);}
.lynnbtn svg{width:26px;height:26px;flex:none;}
.lynnbtn.nudge{animation:senpulse 1.6s ease 2;}
@keyframes senpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
body.gb-on .lynnbtn{bottom:92px;}
.lynnpanel{position:fixed;right:22px;bottom:22px;z-index:71;width:390px;
 max-width:calc(100vw - 32px);height:580px;max-height:calc(100vh - 44px);
 background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);
 box-shadow:0 40px 90px -34px rgba(13,31,61,.55);display:flex;flex-direction:column;
 overflow:hidden;opacity:0;pointer-events:none;transform:translateY(16px) scale(.97);
 transition:opacity var(--t),transform var(--t) var(--ease);}
.lynnpanel.open{opacity:1;pointer-events:auto;transform:none;}
.lynnhead{display:flex;align-items:center;justify-content:space-between;padding:var(--s4) var(--s5);
 background:var(--navy);color:#fff;}
.lynnid{display:flex;align-items:center;gap:12px;}
.lynnav{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);
 display:flex;align-items:center;justify-content:center;flex:none;color:var(--gold-400);}
.lynnav svg{width:22px;height:22px;}
.lynnid b{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:700;display:block;line-height:1.15;}
.lynnid small{font-size:11.5px;opacity:.75;}
.lynnclose{background:none;border:none;color:#fff;font-size:26px;line-height:1;cursor:pointer;
 opacity:.75;padding:0 6px;min-height:40px;}
.lynnclose:hover{opacity:1;}
.lynnlog{flex:1;overflow-y:auto;padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3);
 background:var(--cream-lite);}
.msg{max-width:86%;padding:12px 15px;border-radius:var(--r);font-size:14.5px;line-height:1.6;}
.msg.bot{align-self:flex-start;background:var(--white);border:1px solid var(--line);
 border-bottom-left-radius:6px;color:var(--ink);}
.msg.me{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:6px;}
.msg.bot.care{background:var(--warn-bg);border-color:var(--warn-line);}
.msg a.inline{color:var(--gold-ink);font-weight:700;cursor:pointer;text-decoration:underline;}
.msgact{display:flex;flex-wrap:wrap;gap:7px;margin-top:var(--s3);}
.msgact button{font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;
 border:1.5px solid var(--gold);background:var(--white);color:var(--gold-ink);
 border-radius:var(--r-pill);padding:8px 14px;cursor:pointer;transition:var(--t);min-height:38px;}
.msgact button:hover{background:var(--gold);color:var(--navy);}
.typing{display:flex;gap:4px;padding:14px 16px;}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted-lite);animation:tdot 1.1s infinite;}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tdot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.lynnquick{display:flex;flex-wrap:wrap;gap:7px;padding:0 var(--s5) var(--s3);background:var(--cream-lite);}
.lynnquick button{font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:600;
 border:1px solid var(--line);background:var(--white);color:var(--muted);border-radius:var(--r-pill);
 padding:8px 14px;cursor:pointer;transition:var(--t);min-height:38px;}
.lynnquick button:hover{border-color:var(--gold);color:var(--gold-ink);}
.lynninput{display:flex;gap:9px;padding:var(--s3) var(--s4);border-top:1px solid var(--line);
 background:var(--white);}
.lynninput input{flex:1;font-family:'Lato',sans-serif;font-size:15px;border:1.5px solid var(--line);
 background:var(--cream-lite);border-radius:var(--r-pill);padding:12px 18px;color:var(--ink);min-height:48px;}
.lynninput input:focus{outline:none;border-color:var(--gold);background:var(--white);}
.lynninput button{width:48px;height:48px;border-radius:50%;border:none;background:var(--navy);
 color:#fff;font-size:19px;cursor:pointer;flex:none;transition:var(--t);}
.lynninput button:hover{background:var(--gold);color:var(--navy);transform:scale(1.06);}
.lynndisc{font-size:11px;color:var(--muted-lite);text-align:center;padding:0 var(--s4) var(--s3);
 background:var(--white);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1080px){
 :root{--gutter:26px;--s9:76px;--s10:92px;}
 .fgrid{grid-template-columns:1.4fr 1fr 1.3fr;}
 .fnews{grid-column:1 / -1;}
}
@media(max-width:920px){
 .links{display:none;}
 .burger{display:flex;}
 .hero{grid-template-columns:1fr;gap:var(--s7);padding-top:var(--s7);}
 .hero-visual{order:-1;}
 .hvid{width:100%;aspect-ratio:5/4;border-radius:var(--r-xl);}
 .reelwrap,.split,.dhero,.dgrid,.givecta{grid-template-columns:1fr;}
 .split.rev .si{order:0;}
 .gc-illus.photopanel{min-height:260px;}
 .gc-text{padding:var(--s7) var(--s6);}
 .hgsteps{flex-direction:column;}
 .hgarrow{transform:rotate(90deg);}
 .nomgrid{grid-template-columns:1fr;}
 .statgrid{grid-template-columns:repeat(3,1fr);}
 .vbig{grid-template-columns:1fr;text-align:center;}
 .vbig.rev .vmark{order:0;}
 .vbig .wp{margin-left:auto;margin-right:auto;}
 .eyebrow,.hand{justify-content:center;}
 .vbig .vtext .eyebrow{justify-content:center;}
}
@media(max-width:760px){
 :root{--gutter:20px;--s7:36px;--s8:48px;--s9:60px;--s10:72px;--nav-h:68px;}
 body{font-size:16.5px;}
 .pgrid,.ways,.polas,.cardgrid,.istgrid,.steps,.nomsteps,.facegrid,.gives,.vduo{grid-template-columns:1fr;}
 .statgrid{grid-template-columns:repeat(2,1fr);}
 .joinband{grid-template-columns:1fr;text-align:center;padding:var(--s8) var(--s6);}
 .jqr{justify-self:center;}
 .joinband .jcta{justify-content:center;}
 .joinband .jvn,.joinband p{margin-left:auto;margin-right:auto;}
 .fnote{flex-direction:column;text-align:center;padding:var(--s7) var(--s6);}
 .nomcta{flex-direction:column;text-align:center;}
 .nomform .frow{grid-template-columns:1fr;}
 .fgrid{grid-template-columns:1fr;gap:var(--s7);}
 .fbottom{flex-direction:column;align-items:flex-start;}
 .rotbox{padding:var(--s8) var(--s5);}
 .split .panel.photopanel,.vid-panel{height:320px;}
 .dillus.photopanel{height:300px;}
 .pimg{height:260px;}
 .sectionhead{margin-bottom:var(--s7);}
 .eyebrow{justify-content:center;}
 .hero .eyebrow,.hero .hand,.dhero .hand,.gc-text .hand,.reeltext .hand{justify-content:flex-start;}
 .btn{width:auto;}
 .hero .cta .btn,.dhero .cta .btn{flex:1 1 auto;}
}
@media(max-width:640px){
 /* brand guideline: the AS monogram alone carries mobile navigation */
 .logo .lw{display:none;}
 .nav{gap:var(--s3);}
 .navright{gap:var(--s3);}
}
@media(max-width:560px){
 .lynnpanel{right:0;left:0;bottom:0;width:100%;max-width:100%;height:84vh;
  border-radius:var(--r-xl) var(--r-xl) 0 0;}
 .lynnbtn{right:16px;bottom:16px;padding:12px 18px 12px 14px;}
 .lynnlabel{display:none;}
 .dmodal{padding:0;align-items:flex-end;}
 .dm-card{width:100%;max-height:92dvh;border-radius:var(--r-2xl) var(--r-2xl) 0 0;
  padding:var(--s7) var(--s5) calc(var(--s6) + env(safe-area-inset-bottom));}
 .logo .lh{width:38px;height:38px;}
 .statgrid{grid-template-columns:1fr 1fr;gap:var(--s3);}
 .navright .btn{padding:11px 18px;font-size:13px;}
}
@media(max-width:380px){
 .navright{gap:var(--s2);}
 .langtoggle{display:none;}
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
  transition-duration:.01ms!important;scroll-behavior:auto!important;}
 .reveal{opacity:1!important;transform:none!important;}
 .hero h1 .u{background-size:100% .075em!important;}
 .goal .bar i{width:var(--w)!important;}
 .hvid video,.vid-panel video,.vcard video{display:none;}
 .floaters{display:none;}
}

/* ============================================================
   PRINT
   ============================================================ */
@media print{
 .nav,.mobmenu,.givebar,.lynnbtn,.lynnpanel,.dmodal,footer .fnews{display:none!important;}
 body{background:#fff;color:#000;font-size:12pt;}
 .view{display:block!important;}
}

/* ============================================================
   11. COMPONENT ADDENDA (rebrand)
   ============================================================ */
/* hero tagline device */
.hero .tagline{display:inline-block;margin-bottom:var(--s4);}
.hero .tagline::after{content:"";display:block;width:36px;height:2px;background:var(--gold);
 border-radius:2px;margin-top:10px;}

/* icon inheritance for <use> sprites */
.fhk{fill:none;stroke:var(--gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.dm-heart{fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

/* quote medallion — replaces the old clip-art avatars */
.av.avq{display:flex;align-items:center;justify-content:center;border-radius:50%;
 background:var(--cream);border:1px solid var(--cream-deep);color:var(--gold-ink);flex:none;}
.av.avq .ic{width:46%;height:46%;stroke-width:1.5;}
.fnav .av.avq{width:96px;height:96px;}
.istav .av.avq,.istav.photo{width:60px;height:60px;}
.scav .av.avq{width:44px;height:44px;}
.hgi.avat .av.avq{width:88px;height:88px;}

/* footer emblem */
.fbrand .femblem{width:96px;height:auto;opacity:.96;}

/* nav logo on dark surfaces */
.lh-light{}

/* give-bar aware assistant button already handled via body.gb-on */

/* wide trailing rule under the payment-security line */
.dm-secure.secure-wide{margin-bottom:var(--s8);}

/* card hover accent — a gold hairline that draws in along the top edge */
.pcard,.wcard,.istcard,.step,.hgstep,.bstat,.facecard,.polaroid{position:relative;}
.pcard::before,.wcard::before,.istcard::before,.step::before,.bstat::before{
 content:"";position:absolute;top:-1px;left:24px;right:24px;height:2px;border-radius:2px;
 background:var(--gold);transform:scaleX(0);transform-origin:center;
 transition:transform var(--t) var(--ease);}
.pcard:hover::before,.wcard:hover::before,.istcard:hover::before,.step:hover::before,
.bstat:hover::before{transform:scaleX(1);}

/* Vietnamese sets longer in all caps — ease the tracking so labels stay on one line */
body.lang-vn .tagline,body.lang-vn .eyebrow,body.lang-vn .hand,
body.lang-vn .hv-cap span{letter-spacing:.16em;font-size:11.5px;}
body.lang-vn .fbrand .ftag{letter-spacing:.16em;}
@media(max-width:760px){.eyebrow{letter-spacing:.18em;}}

/* Bold text keeps the surface colour on dark panels — the global rule
   below paints <b>/<strong> navy, which is invisible on navy. */
.lynnhead b,.lynnid b,.joinband b,.joinband strong,.promisebox b,.promisebox strong,
.rotbox b,.rotbox strong,.reelposter b,.give b,.give strong,.msg.me b,.msg.me strong,
footer b,footer strong,.band-navy b,.band-navy strong,.hv-cap b{color:inherit;}

/* payment marks: plain type, no clipped SVG text */
.trustrow{gap:var(--s7);}
.trustrow .pay{font-family:'Montserrat',sans-serif;font-weight:800;font-size:13px;
 letter-spacing:.04em;color:var(--muted-lite);white-space:nowrap;}
.trustrow .pay.i{font-style:italic;}
.trustrow .mc{display:inline-flex;align-items:center;}
.trustrow .mc i{width:15px;height:15px;border-radius:50%;background:currentColor;display:block;}
.trustrow .mc i:first-child{opacity:.45;margin-right:-6px;}
.trustrow .mc i:last-child{opacity:.8;}

/* ============================================================
   12. BRAND CRAFT — logo system, scroll, texture, motion
   ============================================================ */

/* ---- scroll progress ---- */
.scrollbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;pointer-events:none;
 background:transparent;}
.scrollbar i{display:block;height:100%;width:0;
 background:linear-gradient(90deg,var(--gold-400),var(--gold));
 box-shadow:0 0 12px rgba(200,146,46,.6);transition:width .1s linear;}

/* ---- navigation logo: the official emblem, monogram below 640px ---- */
:root{--nav-h:88px;}
.logo .lh-emblem{width:auto;height:54px;flex:none;
 transition:transform var(--t) var(--ease),filter var(--t) var(--ease);}
.logo .lh-mono{display:none;width:38px;height:34px;flex:none;}
.logo:hover .lh-emblem{transform:translateY(-2px) scale(1.04);
 filter:drop-shadow(0 8px 16px rgba(13,31,61,.22));}
.logo .lw-n{font-size:18px;}
@media(max-width:640px){
 .logo .lh-emblem{display:none;}
 .logo .lh-mono{display:block;}
}

/* ---- hero: emblem watermark + brand-only glow ---- */
.hero{overflow:visible;}
.hero-watermark{position:absolute;z-index:0;pointer-events:none;user-select:none;
 width:min(600px,46vw);height:auto;left:-19%;top:56%;transform:translateY(-50%);
 opacity:.04;filter:saturate(.45);}
.hero{position:relative;}
.hero-visual{position:relative;}
@media(max-width:920px){.hero-watermark{left:50%;transform:translate(-50%,-50%);width:78vw;opacity:.05;}}
/* the watermark must never widen the page */
.view,.hero{overflow-x:clip;}

/* ---- mountain-ridge section dividers ---- */
.ridge{display:block;line-height:0;position:relative;z-index:1;}
.ridge svg{display:block;width:100%;height:90px;}
.ridge-down{color:var(--surface-warm);margin-bottom:-1px;}
.ridge-up{color:var(--surface-warm);transform:rotate(180deg);margin-top:-1px;}
.statsband{border-top:none;border-bottom:none;padding-top:var(--s6);padding-bottom:var(--s7);}
@media(max-width:760px){.ridge svg{height:54px;}}

/* ---- organic brand texture on the plain sections ---- */
.view{
 background-image:
  radial-gradient(38% 30% at 100% 6%,rgba(200,146,46,.055),transparent 68%),
  radial-gradient(34% 26% at 0% 42%,rgba(13,31,61,.045),transparent 68%),
  radial-gradient(42% 24% at 88% 78%,rgba(200,146,46,.045),transparent 70%);
 background-repeat:no-repeat;
}
/* flowing path, drawn from the logo's river */
.wayssec,.gallery{position:relative;}
.wayssec::before,.gallery::before{content:"";position:absolute;inset:auto 0 -30px 0;height:190px;
 pointer-events:none;opacity:.5;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' fill='none'%3E%3Cpath d='M-20 150 C240 96 380 178 620 128 C860 78 980 156 1200 108 C1330 80 1400 96 1460 84' stroke='%23C8922E' stroke-opacity='.28' stroke-width='1.6'/%3E%3Cpath d='M-20 172 C260 124 400 196 640 150 C880 104 1000 176 1220 132 C1340 108 1410 120 1460 110' stroke='%230D1F3D' stroke-opacity='.14' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat center bottom/100% 190px;}

/* ---- story page: the journey becomes a real path ---- */
.narr{position:relative;}
.narr .beat{position:relative;padding-top:var(--s7);}
.narr .beat::before{content:"";position:absolute;left:50%;top:-58px;width:2px;height:56px;
 background:linear-gradient(180deg,transparent,var(--gold-200) 30%,var(--gold));
 transform:translateX(-50%);}
.narr .beat:first-of-type::before{display:none;}
.beat-node{position:absolute;left:50%;top:-8px;width:13px;height:13px;border-radius:50%;
 background:var(--white);border:2.5px solid var(--gold);transform:translateX(-50%);
 box-shadow:0 0 0 6px rgba(200,146,46,.13);}
.beat .n{margin-top:var(--s5);}

/* ---- promise box watermark ---- */
.promisebox{position:relative;}
.pb-watermark{position:absolute;right:-40px;bottom:-50px;width:340px;height:auto;
 opacity:.09;pointer-events:none;z-index:1;}
@media(max-width:760px){.pb-watermark{width:220px;right:-30px;bottom:-30px;}}

/* ---- footer: the full official lockup ---- */
.fbrand .flogo{width:min(230px,72%);height:auto;margin-bottom:var(--s5);}
.fbrand .fmission{margin-top:0;}
footer::after{content:"";position:absolute;left:0;right:0;top:0;height:90px;pointer-events:none;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 0 L170 40 L320 16 L480 48 L640 20 L800 52 L960 24 L1120 50 L1290 22 L1440 44 L1440 0 Z' fill='%23C8922E' fill-opacity='.12'/%3E%3C/svg%3E") no-repeat top/100% 90px;}

/* ---- image zoom on hover ---- */
.zoomwrap{display:block;width:100%;height:100%;overflow:hidden;}
.zoomwrap img{width:100%;height:100%;object-fit:cover;
 transition:transform .9s var(--ease-out),filter .6s var(--ease);}
.polaroid:hover .zoomwrap img{transform:scale(1.07);}
.istcard .istav.photo img,.photopanel img{transition:transform 1.1s var(--ease-out);}
.istcard:hover .istav.photo img{transform:scale(1.08);}
.givecta:hover .gc-illus img,.split:hover .panel.photopanel img{transform:scale(1.03);}

/* ---- link and icon micro-motion ---- */
.wlink::after{content:"";width:16px;height:1.8px;background:currentColor;border-radius:2px;
 transition:width var(--t) var(--ease);}
.wcard:hover .wlink::after{width:26px;}
.fcol a{position:relative;}
.faqq:hover .fqi{transform:scale(1.14);}
.faqitem.open .faqq .fqi{transform:rotate(45deg);}
.btn .ic{transition:transform var(--t) var(--ease);}
.btn:hover .ic{transform:translateX(3px);}

/* ---- card border draw, richer ---- */
.pcard::before,.wcard::before,.istcard::before,.step::before,.bstat::before{height:3px;}
.polaroid{position:relative;}
.polaroid::after{content:"";position:absolute;inset:0;border-radius:var(--r-lg);pointer-events:none;
 box-shadow:inset 0 0 0 0 var(--gold);transition:box-shadow var(--t) var(--ease);}
.polaroid:hover::after{box-shadow:inset 0 0 0 2px var(--gold);}

/* ---- depth on the dark panels ---- */
.joinband,.rotbox,.promisebox{isolation:isolate;}
.joinband::before{opacity:1;}

/* ---- parallax offsets, set from JS ---- */
.hero-watermark,.pb-watermark{will-change:transform;}
@media(prefers-reduced-motion:reduce){
 .scrollbar{display:none;}
 .zoomwrap img,.istcard .istav.photo img,.photopanel img{transition:none!important;transform:none!important;}
 .hero-watermark,.pb-watermark{transform:translateY(-50%)!important;}
}

/* ---- conversion fixes ---- */
.amounts.amounts-vnd .amt{width:auto;min-width:112px;padding-left:14px;padding-right:14px;font-size:14.5px;}
.amounts.amounts-vnd .amt-custom{width:120px;font-size:14px;}
.bank-fallback{background:var(--cream);border:1px solid var(--cream-deep);border-radius:var(--r);
 padding:var(--s5);margin-bottom:var(--s3);}
.bank-fallback p{font-size:14.5px;color:var(--muted);line-height:1.65;max-width:none;margin-bottom:var(--s4);}
.bank-fallback b{color:var(--ink);}
.bank-fallback .btn{width:100%;}
.goal-raised,.goal-target{font-variant-numeric:tabular-nums;}
/* payment marks inside the narrower modal */
.dm-card .trustrow{gap:var(--s5);}
.dm-card .trustrow .pay{font-size:11.5px;}
/* inline icons in trust lines must sit on the text baseline, not break the line */
.dsecure .ic,.gtrust .ic,.dm-secure .ic{display:inline-block;vertical-align:-3px;width:15px;height:15px;
 margin-right:6px;}
.dsecure,.dm-secure{display:block;}
.lo-amt,.lo-amt2{white-space:nowrap;}
