html{background:#fdfaf1}body{margin:0}img{max-width:100%}

.transfer-toggle{border:2px solid var(--rose-hot);cursor:pointer;font:inherit;}
.transfer-panel[hidden]{display:none!important;}
.transfer-panel.is-open{display:grid;animation:transferReveal .48s cubic-bezier(.2,.75,.25,1) both;}
@keyframes transferReveal{from{opacity:0;transform:translateY(-14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.needs-card{position:relative;overflow:visible;}
.need-tag{position:absolute;right:18px;top:-13px;background:var(--sage);color:#204a4d;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:3px;transform:rotate(2deg);box-shadow:0 3px 8px rgba(46,64,61,.14);}
.needs-note{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(46,64,61,.18);}
@media (prefers-reduced-motion:reduce){.transfer-panel.is-open{animation:none;}}


/* Balanced, centered closing footer */
footer{
  padding:64px 0 40px;
}
.footer-simple{
  max-width:780px;
  margin:0 auto;
  padding:38px 44px 26px;
  align-items:center!important;
  text-align:center;
  gap:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.70),rgba(253,250,241,.88));
  border:2px solid rgba(53,59,57,.07);
  border-radius:30px;
  box-shadow:0 24px 55px rgba(46,64,61,.09), inset 0 1px 0 rgba(255,255,255,.8);
  position:relative;
}
.footer-simple::before{
  content:"✦";
  position:absolute;
  left:24px;
  top:24px;
  color:var(--rose-hot);
  font-family:'Baloo 2',sans-serif;
  font-size:1.55rem;
  transform:rotate(-12deg);
  opacity:.8;
}
.footer-simple::after{
  content:"~";
  position:absolute;
  right:25px;
  bottom:34px;
  color:var(--sky);
  font-family:'Baloo 2',sans-serif;
  font-size:2.3rem;
  font-weight:800;
  transform:rotate(-8deg);
  opacity:.72;
}
.footer-brand-simple{
  max-width:600px;
  margin:0 auto;
  text-align:center;
}
.footer-brand-simple::after{
  left:50%;
  top:-14px;
  transform:translateX(-50%) rotate(-3deg);
}
.footer-simple .footlogo{
  width:176px;
  margin:0 auto 10px;
}
.footer-simple .footer-title{
  text-align:center;
}
.footer-summary{
  margin:6px auto 0;
  max-width:50ch;
  text-align:center;
}
.footer-socials-simple{
  justify-content:center;
  margin-top:4px;
}
.footer-copyright{
  width:100%;
  margin:4px 0 0;
  padding-top:15px;
  text-align:center;
}
@media(max-width:620px){
  footer{padding:48px 0 28px;}
  .footer-simple{padding:34px 24px 24px;border-radius:24px;}
  .footer-simple::before{left:15px;top:18px;font-size:1.3rem;}
  .footer-simple::after{right:16px;bottom:28px;font-size:1.9rem;}
  .footer-simple .footlogo{width:154px;}
}




/* ---------------------------------------------------------------
   Chạm — scrapbook / film-photo collage, one committed light look.
   Every color is painted explicitly so the page keeps its paper
   ground on any host theme.
----------------------------------------------------------------*/
:root{
  --paper:#fdfaf1;
  --paper-deep:#f6efe1;
  --card:#ffffff;
  --ink:#2e403d;
  --ink-2:#55635f;
  --ink-3:#6e7a76;
  --rose:#f3b7b5;
  --rose-ink:#7d3230;
  --rose-hot:#e37f7d;
  --sage:#a9dbdd;
  --sage-deep:#35696d;
  --butter:#f8b070;
  --tangerine:#ef9a52;
  --sky:#a8b8d0;
  --brick:#e07a78;
  --tape:rgba(226,205,160,0.55);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background-color:var(--paper);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.09'/%3E%3C/svg%3E");
  color:var(--ink);
  font-family:'Be Vietnam Pro',system-ui,sans-serif;
  font-size:17px;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,.chunk{font-family:'Baloo 2','Be Vietnam Pro',sans-serif;margin:0;line-height:1.08;text-wrap:balance;}
p{margin:0;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1120px;margin:0 auto;padding:0 26px;position:relative;}
section{position:relative;}
:focus-visible{outline:3px solid var(--sage-deep);outline-offset:3px;border-radius:4px;}
.skip{
  position:absolute;left:-9999px;top:8px;z-index:99;background:var(--ink);color:#fdfaf1;
  padding:10px 18px;border-radius:8px;text-decoration:none;font-weight:700;
}
.skip:focus{left:16px;}

/* ---------- tiny type utilities ---------- */
.eyebrow{
  font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-3);
}
.lead{font-size:1.08rem;color:var(--ink-2);}
.small{font-size:0.92rem;color:var(--ink-2);}

/* ---------- stickers, tape, doodles ---------- */
.tag{
  display:inline-block;background:var(--rose);color:var(--rose-ink);
  font-weight:700;font-size:0.85rem;padding:5px 14px;border-radius:3px;
  box-shadow:0 2px 5px rgba(80,40,55,0.18);white-space:nowrap;
}
.tag.mint{background:var(--sage);color:#204a4d;}
.tag.butter{background:var(--butter);color:#6b4a1c;}
.dood{position:absolute;pointer-events:none;z-index:6;}
.tape{
  position:absolute;width:96px;height:26px;z-index:5;
  background:linear-gradient(var(--tape),var(--tape)),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.25) 0 4px, rgba(190,165,115,0.16) 4px 9px);
  box-shadow:0 1px 3px rgba(60,45,20,0.16);
  clip-path:polygon(2% 8%,98% 0,100% 92%,0 100%);
}

/* ---------- photo frames ---------- */
.frame{
  position:relative;background:#fff;padding:11px 11px 46px;border-radius:2px;
  box-shadow:0 10px 26px rgba(46,64,61,0.22), 0 1px 0 rgba(0,0,0,0.05);
}
.frame img{width:100%;height:100%;object-fit:cover;border-radius:1px;}
.frame .cap{
  position:absolute;left:14px;right:14px;bottom:12px;
  font-family:'Be Vietnam Pro',sans-serif;font-weight:600;font-size:0.82rem;
  color:#55635f;line-height:1.3;
}
.frame.slim{padding:9px 9px 9px;}
@media (prefers-reduced-motion:no-preference){
  .frame{transition:transform .35s cubic-bezier(.2,.7,.3,1);}
}

/* ---------- nav ---------- */
nav.top{position:sticky;top:0;z-index:50;background:rgba(246,241,230,0.9);backdrop-filter:blur(8px);border-bottom:1px solid rgba(46,64,61,0.1);}
nav.top .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 26px;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;}
.brandmark{height:34px;width:auto;flex:none;}
@media (max-width:560px){.brandmark{height:26px;}.brand .est{display:none;}}
.brand .name{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.45rem;letter-spacing:-0.01em;}
.brand .est{font-size:0.66rem;letter-spacing:0.18em;font-weight:700;color:var(--ink-3);text-transform:uppercase;}
.navlinks{display:flex;align-items:center;gap:18px;}
nav.top ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;font-size:0.89rem;font-weight:600;}
nav.top a.nl{text-decoration:none;color:var(--ink-2);padding-bottom:2px;border-bottom:2px solid transparent;}
nav.top a.nl:hover{color:var(--ink);border-bottom-color:var(--rose-hot);}
.btn{
  display:inline-flex;align-items:center;gap:8px;font-family:'Be Vietnam Pro',sans-serif;
  font-weight:700;font-size:0.95rem;text-decoration:none;padding:12px 22px;border-radius:999px;
  border:2px solid var(--ink);background:var(--ink);color:#fdfaf1;
  box-shadow:3px 3px 0 rgba(46,64,61,0.18);
}
.btn.rose{background:var(--rose-hot);border-color:var(--rose-hot);color:#3a1614;}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:none;}
.btn.sm{padding:9px 17px;font-size:0.88rem;}

/* ---------- hero ---------- */
.hero{padding:64px 0 34px;}
.hero-grid{display:grid;grid-template-columns:1.02fr 0.98fr;gap:44px;align-items:center;}
h1.big{font-size:clamp(2.9rem,6.2vw,4.6rem);font-weight:800;letter-spacing:-0.015em;}
h1.big .out{
  color:#fff;
  -webkit-text-stroke:2px var(--ink);
  text-shadow:4px 4px 0 var(--sage);
  padding-right:.06em;
}
.hero-tags{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 0;align-items:center;}
.hero-tags .tag:nth-child(1){transform:rotate(-3deg);}
.hero-tags .tag:nth-child(2){transform:rotate(2.2deg);}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.collage{position:relative;height:470px;}
.collage .frame{position:absolute;}
.hero-socials{position:absolute;top:-8px;right:-10px;z-index:10;display:grid;grid-template-columns:auto auto auto;align-items:center;gap:8px;padding:10px 11px 10px 13px;background:#fffdf7;border:2px solid rgba(53,59,57,.12);border-radius:17px;box-shadow:0 16px 34px rgba(46,64,61,.18),0 4px 10px rgba(0,0,0,.06);transform:rotate(2deg);backdrop-filter:blur(5px);}
.hero-socials::before{content:"";position:absolute;width:42px;height:11px;background:rgba(247,224,170,.9);top:-8px;left:34px;transform:rotate(-5deg);border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.05);}
.hero-social-label{font-family:'Baloo 2',sans-serif;font-size:.78rem;font-weight:800;color:var(--ink-2);white-space:nowrap;margin-right:1px;}
.hero-socials .social-link{width:43px;height:43px;border-radius:13px;box-shadow:0 7px 16px rgba(0,0,0,.10);border:2px solid rgba(53,59,57,.06);}
.hero-socials .social-link:first-of-type{background:#f7d8df;color:#9b5060;transform:rotate(-3deg);}
.hero-socials .social-link:nth-of-type(2){background:#dcecf6;color:#456f91;transform:rotate(3deg);}
.hero-socials .social-link svg{width:21px;height:21px;}
.hero-socials .social-link:hover{transform:translateY(-3px) scale(1.05) rotate(0deg);box-shadow:0 10px 20px rgba(0,0,0,.14);}
@media (max-width:900px){.hero-socials{top:-3px;right:2px;}}
@media (max-width:560px){.hero-socials{top:2px;right:2px;padding:7px;gap:6px}.hero-social-label{display:none}.hero-socials .social-link{width:39px;height:39px;}}
.c-a{width:58%;height:236px;top:0;left:0;transform:rotate(-4.5deg);z-index:2;}
.c-b{width:41%;height:196px;top:118px;right:0;transform:rotate(5deg);z-index:3;}
.c-c{width:50%;height:186px;bottom:4px;left:2%;transform:rotate(2.4deg);z-index:4;}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:28px;}
  .collage{height:440px;}
}
@media (max-width:560px){
  .collage{height:400px;}
  .c-a{width:68%;height:196px;}
  .c-b{width:44%;height:168px;top:110px;}
  .c-c{width:56%;height:164px;left:0;}
}

/* ---------- ticker strip ---------- */
.strip{
  background:var(--ink);color:#f7efdd;margin-top:34px;padding:11px 0;transform:rotate(-1deg);
  box-shadow:0 6px 18px rgba(46,64,61,0.2);
}
.strip .row{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;
  font-size:0.8rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;}
.strip .row span{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:12px 22px;max-width:100%;}
@media (max-width:600px){
  .strip{padding:12px 16px;}
  .strip .row{font-size:0.7rem;letter-spacing:0.1em;}
}
@media (max-width:760px){
  nav.top ul{display:none;}
}
.strip .dot{color:var(--butter);}

/* ---------- section heads ---------- */
.sec{padding:74px 0;}
.sec-head{margin-bottom:38px;position:relative;}
h2.title{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-0.01em;}
h2.title .hl{
  background:linear-gradient(transparent 62%, var(--butter) 62% 92%, transparent 92%);
  padding:0 .08em;
}
h2.title .out{color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:3px 3px 0 var(--rose);}
.sec-head p{margin-top:14px;max-width:60ch;color:var(--ink-2);}

/* ---------- about: post-card mockup ---------- */
.about-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:46px;align-items:center;}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;}}
.postcard{
  background:var(--card);border-radius:16px;padding:0 0 20px;transform:rotate(-1.2deg);
  box-shadow:0 16px 34px rgba(46,64,61,0.2);overflow:hidden;position:relative;
}
.postcard .bar{display:flex;gap:7px;padding:13px 16px;border-bottom:1px solid rgba(46,64,61,0.08);}
.postcard .bar i{width:11px;height:11px;border-radius:50%;display:block;}
.postcard .body{padding:20px 24px 4px;}
.postcard h3{
  font-size:1.35rem;font-weight:800;display:flex;align-items:center;gap:11px;margin-bottom:12px;
}
.postcard h3::before{content:"";width:5px;height:26px;border-radius:3px;background:var(--brick);display:block;}
.postcard .icons{display:flex;gap:14px;padding:14px 24px 0;color:var(--ink-3);}
.mission-quote{
  font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.2rem;letter-spacing:0.01em;
  line-height:1.4;color:var(--sage-deep);margin-top:18px;
}
.about-photo{position:relative;}
.about-photo .frame{width:88%;margin:0 auto;transform:rotate(2.6deg);}
.about-photo .frame img{height:330px;}

/* ---------- filmstrip program section ---------- */
.filmpage{
  background:var(--card);border-radius:6px;padding:52px 46px;position:relative;
  box-shadow:0 18px 40px rgba(46,64,61,0.18);
}
.filmpage::before,.filmpage::after{
  content:"";position:absolute;top:0;bottom:0;width:26px;
  background-image:radial-gradient(circle 6px, var(--paper) 6px, transparent 6.5px);
  background-size:100% 40px;background-position:13px 18px;background-repeat:repeat-y;
}
.filmpage::before{left:0;}
.filmpage::after{right:0;}
@media (max-width:640px){.filmpage{padding:40px 34px;}}
.statline{display:flex;gap:30px;flex-wrap:wrap;margin:26px 0 34px;}
.statline .s{position:relative;padding:6px 4px;}
.statline .n{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.9rem;line-height:1;}
.statline .l{font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-3);margin-top:6px;}
.statline .s .ring{position:absolute;inset:-12px -14px;color:var(--rose-hot);opacity:.85;}
.notehand{
  font-size:1.02rem;line-height:1.75;color:var(--ink-2);max-width:66ch;
}
.notehand + .notehand{margin-top:14px;}
.pgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:38px;}
.pgrid .f1{grid-column:span 5;transform:rotate(-2deg);}
.pgrid .f2{grid-column:span 3;transform:rotate(2.6deg);}
.pgrid .f3{grid-column:span 4;transform:rotate(-1.4deg);}
.pgrid .frame img{height:210px;}
.pgrid .f2 .frame img{height:250px;}
@media (max-width:760px){
  .pgrid{grid-template-columns:repeat(2,1fr);}
  .pgrid .f1,.pgrid .f2,.pgrid .f3{grid-column:span 1;}
  .pgrid .frame img,.pgrid .f2 .frame img{height:180px;}
}
.tracks{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:46px;}
@media (max-width:860px){.tracks{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.tracks{grid-template-columns:1fr;}}
.sticky{
  padding:20px 20px 24px;border-radius:2px;box-shadow:2px 6px 16px rgba(46,64,61,0.18);
  min-height:100%;
}
.sticky:nth-child(1){background:#fbdcb4;transform:rotate(-1.6deg);}
.sticky:nth-child(2){background:#c6e6e8;transform:rotate(1.4deg);}
.sticky:nth-child(3){background:#f6cfcd;transform:rotate(-1deg);}
.sticky:nth-child(4){background:#d3dcea;transform:rotate(1.8deg);}
.sticky h4{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 7px;color:#2e403d;}
.sticky p{font-size:0.9rem;line-height:1.55;color:#4b5754;}

/* ---------- team ---------- */
.bandphoto{position:relative;margin-bottom:44px;}
.bandphoto .frame{transform:rotate(-0.8deg);}
.bandphoto .frame img{height:300px;}
@media (max-width:640px){.bandphoto .frame img{height:210px;}}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media (max-width:840px){.team{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.team{grid-template-columns:1fr;}}
.member{
  background:#fff;padding:11px 11px 20px;border-radius:2px;position:relative;
  box-shadow:0 10px 24px rgba(46,64,61,0.2);
}
.team .member:last-child:nth-child(3n+1){grid-column:2;}
@media (max-width:840px){.team .member:last-child:nth-child(3n+1){grid-column:auto;}}
.member:nth-child(3n+1){transform:rotate(-2deg);}
.member:nth-child(3n+2){transform:rotate(1.4deg);}
.member:nth-child(3n+3){transform:rotate(-0.8deg);}
.member .face{
  height:152px;border-radius:1px;display:flex;align-items:center;justify-content:center;
  font-family:'Baloo 2',sans-serif;font-weight:800;font-size:3.6rem;color:#fffdf6;position:relative;overflow:hidden;
  text-shadow:3px 3px 0 rgba(0,0,0,0.18);
}
.member .face::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(120% 100% at 30% 12%, rgba(255,255,255,0.35), transparent 58%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23g)' opacity='0.28'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.member .face .scrawl{
  position:absolute;font-family:'Be Vietnam Pro',sans-serif;font-weight:700;font-size:0.62rem;
  letter-spacing:0.1em;text-transform:uppercase;color:#fffdf6;opacity:.92;
}
.member .name{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.25rem;margin-top:12px;color:#2e403d;}
.member .role{font-size:0.76rem;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--sage-deep);margin-top:2px;}
.member .bio{font-size:0.88rem;color:var(--ink-2);margin-top:8px;line-height:1.5;}

/* ---------- what's new ---------- */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:820px){.news{grid-template-columns:1fr;}}
.newsnote{
  background:var(--card);border-radius:4px;padding:22px 22px 24px;position:relative;
  box-shadow:0 10px 22px rgba(46,64,61,0.14);border-top:6px solid var(--sage);
}
.newsnote:nth-child(2){border-top-color:var(--butter);transform:rotate(0.9deg);}
.newsnote:nth-child(3){border-top-color:var(--rose);transform:rotate(-0.7deg);}
.newsnote:nth-child(1){transform:rotate(-1.1deg);}
.newsnote .when{
  font-family:'Be Vietnam Pro',sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--sage-deep);
}
.newsnote:nth-child(2) .when{color:#b06b26;}
.newsnote:nth-child(3) .when{color:var(--rose-ink);}
.newsnote h3{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.1rem;margin-top:2px;}
.newsnote p{font-size:0.92rem;color:var(--ink-2);margin-top:8px;line-height:1.55;}

/* ---------- donate ---------- */
.give{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:860px){.give{grid-template-columns:1fr;}}
.gcard{
  background:var(--card);border:2px solid var(--ink);border-radius:12px;padding:26px 24px 24px;
  box-shadow:5px 6px 0 rgba(46,64,61,0.14);display:flex;flex-direction:column;gap:10px;
}
.gcard .gtop{display:flex;align-items:center;gap:10px;}
.gcard h3{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.22rem;}
.gcard p{font-size:0.94rem;color:var(--ink-2);line-height:1.6;}
.gcard .btn{margin-top:auto;align-self:flex-start;}
.usebar{
  display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:26px;padding:20px 24px;
  background:var(--paper-deep);border-radius:10px;
}
.usebar div{font-size:0.92rem;color:var(--ink-2);}
.usebar b{font-family:'Baloo 2',sans-serif;font-weight:800;color:var(--ink);}

/* ---------- funding transparency ---------- */
.fund-trust{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start;}
@media (max-width:860px){.fund-trust{grid-template-columns:1fr;}}
.ledger-card{
  position:relative;background:var(--card);border-radius:6px;padding:30px 28px 28px;
  box-shadow:0 16px 34px rgba(46,64,61,0.18);transform:rotate(-1.3deg);overflow:hidden;
  background-image:repeating-linear-gradient(transparent 0 35px,rgba(140,200,225,.22) 35px 36px);
}
.ledger-card::before{content:"";position:absolute;left:24px;top:0;bottom:0;width:2px;background:rgba(230,150,160,.65);}
.ledger-card::after{content:"FINANCE LOG";position:absolute;right:18px;top:16px;font-size:.64rem;font-weight:800;letter-spacing:.16em;color:var(--rose-ink);transform:rotate(3deg);}
.ledger-inner{padding-left:18px;}
.ledger-title{font-family:'Baloo 2',sans-serif;font-size:1.35rem;font-weight:800;margin-bottom:16px;}
.ledger-row{display:grid;grid-template-columns:28px 1fr;gap:11px;align-items:start;padding:10px 0;border-bottom:1px dashed rgba(46,64,61,.18);}
.ledger-row:last-child{border-bottom:none;}
.ledger-row svg{margin-top:2px;}
.ledger-row b{display:block;font-size:.91rem;color:var(--ink);}
.ledger-row span{display:block;font-size:.84rem;color:var(--ink-2);line-height:1.45;margin-top:2px;}
.ledger-note{margin-top:18px;background:#fbdcb4;padding:14px 16px;box-shadow:2px 4px 10px rgba(46,64,61,.12);transform:rotate(1.2deg);font-size:.85rem;line-height:1.5;color:var(--ink-2);}
.ledger-note strong{color:var(--ink);}
.fund-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch;}
@media (max-width:620px){.fund-flow{grid-template-columns:1fr;}}
.fund-step{
  position:relative;padding:24px 20px 22px;border-radius:5px;min-height:190px;
  box-shadow:0 10px 22px rgba(46,64,61,.15);border:1px solid rgba(46,64,61,.08);
}
.fund-step:nth-child(1){background:#fbdcb4;transform:rotate(-1.5deg);}
.fund-step:nth-child(2){background:#c6e6e8;transform:rotate(1deg);}
.fund-step:nth-child(3){background:#f6cfcd;transform:rotate(-.8deg);}
.fund-step .num{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:2rem;line-height:1;color:rgba(46,64,61,.28);}
.fund-step h3{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.2rem;margin-top:8px;}
.fund-step p{font-size:.88rem;color:var(--ink-2);line-height:1.55;margin-top:8px;}
.fund-arrow{position:absolute;right:-23px;top:44%;width:32px;height:22px;color:var(--rose-hot);z-index:3;transform:rotate(-4deg);}
.fund-step:nth-child(2) .fund-arrow{transform:rotate(5deg);}
@media (max-width:620px){.fund-arrow{display:none;}}
.fund-sources{margin-top:28px;padding-top:22px;border-top:1.5px dashed rgba(46,64,61,.2);}
.fund-sources .label{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1rem;margin-bottom:12px;}
.pills{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:0;align-items:stretch;}
.pill{
  background:var(--card);border:1.5px solid rgba(46,64,61,0.16);border-radius:999px;
  padding:8px 10px;font-size:0.78rem;font-weight:700;box-shadow:0 3px 0 rgba(46,64,61,0.07);
  display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;min-height:48px;
}
@media (max-width:1080px){.pills{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:620px){.pills{grid-template-columns:repeat(2,minmax(0,1fr));}.pill:last-child{grid-column:1/-1;}}


.sponsor-doc-note{
  position:relative;margin-top:22px;background:var(--card);border:2px solid var(--ink);border-radius:9px;
  padding:18px 18px 17px 54px;box-shadow:5px 6px 0 rgba(46,64,61,.12);transform:rotate(.7deg);
}
.sponsor-doc-note::before{content:"PRIVATE";position:absolute;top:-11px;right:18px;background:var(--rose);
  border:2px solid var(--ink);border-radius:999px;padding:4px 10px;font-size:.62rem;font-weight:800;
  letter-spacing:.12em;color:var(--ink);transform:rotate(2deg);}
.sponsor-doc-note .doc-icon{position:absolute;left:17px;top:19px;width:26px;height:26px;color:var(--sage-deep);}
.sponsor-doc-note b{display:block;font-family:'Baloo 2',sans-serif;font-size:1.02rem;font-weight:800;line-height:1.25;}
.sponsor-doc-note p{font-size:.84rem;color:var(--ink-2);line-height:1.5;margin-top:4px;}
.sponsor-doc-note .scribble{position:absolute;left:18px;bottom:-13px;width:72px;height:24px;color:var(--sky);transform:rotate(-4deg);}

/* ---------- roadmap ---------- */
.ruled{
  background:
    repeating-linear-gradient(var(--card) 0 43px, rgba(140,200,225,0.35) 43px 44px);
  border-radius:6px;padding:40px 44px 36px 66px;position:relative;
  box-shadow:0 16px 34px rgba(46,64,61,0.16);
}
.ruled::before{content:"";position:absolute;left:40px;top:0;bottom:0;width:2px;background:rgba(230,150,160,0.7);}
@media (max-width:620px){.ruled{padding:32px 24px 30px 40px;}.ruled::before{left:22px;}}
.step{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:14px 0;align-items:start;}
.step .box{margin-top:4px;color:var(--ink);width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(180deg,#fffdfa,#f6efe2);border:2px solid rgba(53,59,57,.08);box-shadow:0 12px 24px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.7);}
.step h3{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.16rem;}
.step p{font-size:0.95rem;color:var(--ink-2);margin-top:4px;max-width:62ch;}
.step.done h3{color:var(--sage-deep);}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:46px;align-items:start;}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;}}
.checks{display:flex;flex-direction:column;gap:14px;margin-top:24px;}
.checkrow{display:flex;gap:13px;align-items:flex-start;}
.checkrow .tick{flex:none;margin-top:3px;color:var(--sage-deep);}
.checkrow p{font-size:0.98rem;color:var(--ink-2);}
.card-index{
  background:var(--card);border-radius:4px;padding:30px 28px;position:relative;transform:rotate(1.4deg);
  box-shadow:0 14px 30px rgba(46,64,61,0.2);border-top:22px solid var(--rose);
}
.card-index .row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;align-items:center;border-bottom:1px dashed rgba(46,64,61,0.18);font-size:0.95rem;}
.card-index .row:last-child{border-bottom:none;}
.card-index .k{color:var(--ink-3);font-weight:600;}
.card-index a{color:var(--sage-deep);font-weight:700;text-decoration:none;word-break:break-all;display:inline-block;padding:7px 0;}

/* ---------- sponsor tiers ---------- */
.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:34px 0 0;align-items:stretch;max-width:none;}
@media (max-width:940px){.tiers{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.tiers{grid-template-columns:1fr;}}
@media (min-width:941px){
  .tier{padding:22px 16px;}
  .tier .tname{font-size:1.06rem;}
  .tier .amt{font-size:1.34rem;}
  .tier li{font-size:0.84rem;gap:7px;}
}
.tier{
  position:relative;background:var(--card);border:2px solid rgba(46,64,61,0.16);border-radius:12px;padding:24px 20px;
  display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 18px rgba(46,64,61,0.12);
}
.tier.pick{border-color:var(--ink);box-shadow:5px 6px 0 rgba(46,64,61,0.16);}
.tier .tname{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.15rem;}
.tier .amt{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.5rem;line-height:1.1;}
.tier .amt small{display:block;font-family:'Be Vietnam Pro',sans-serif;font-weight:600;font-size:0.76rem;
  letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;}
.tier ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.tier li{display:flex;gap:9px;align-items:flex-start;font-size:0.9rem;color:var(--ink-2);line-height:1.45;}
.tier li svg{flex:none;margin-top:3px;color:var(--sage-deep);}
.tier .flag{
  position:absolute;top:-12px;right:16px;background:var(--butter);color:#6b4a1c;font-size:0.68rem;
  font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;
  border:2px solid var(--ink);
}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:18px;}
@media (max-width:860px){.process{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.process{grid-template-columns:1fr;}}
.pstep{display:flex;gap:13px;align-items:flex-start;}
.pstep .pn{
  flex:none;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--paper);
  display:flex;align-items:center;justify-content:center;font-family:'Baloo 2',sans-serif;
  font-weight:700;font-size:0.92rem;
}
.pstep h4{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1rem;margin:0;}
.pstep p{font-size:0.9rem;color:var(--ink-2);margin-top:5px;line-height:1.55;}
.logorow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:30px;}
@media (max-width:760px){.logorow{grid-template-columns:repeat(2,1fr);}}
.logoslot{
  border:2px dashed rgba(46,64,61,0.22);border-radius:10px;height:88px;display:flex;
  align-items:center;justify-content:center;text-align:center;padding:8px;
  font-family:'Be Vietnam Pro',sans-serif;font-weight:600;font-size:0.74rem;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--ink-3);
}
.logoslot:nth-child(2){transform:rotate(-1.2deg);}
.logoslot:nth-child(4){transform:rotate(1deg);}
.inkind{margin-top:26px;padding:18px 22px;background:var(--paper-deep);border-radius:10px;font-size:0.95rem;color:var(--ink-2);}

/* ---------- QR / bank transfer ---------- */
.qrbox{
  margin-top:26px;background:var(--card);border:2px solid var(--ink);border-radius:14px;
  padding:26px;display:grid;grid-template-columns:230px 1fr;gap:30px;align-items:center;
  box-shadow:5px 6px 0 rgba(46,64,61,0.14);
}
@media (max-width:700px){.qrbox{grid-template-columns:1fr;gap:22px;padding:22px;}}
.qrframe{
  width:100%;aspect-ratio:1/1;border-radius:12px;background:var(--paper);
  border:3px dashed rgba(46,64,61,0.28);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;text-align:center;padding:16px;position:relative;
}
.qrframe img{width:100%;height:100%;object-fit:contain;border-radius:8px;}
.qrframe .ph{font-family:'Be Vietnam Pro',sans-serif;font-weight:600;font-size:0.8rem;letter-spacing:0.05em;
  text-transform:uppercase;color:var(--ink-3);line-height:1.5;}
.qrframe .corner{position:absolute;width:22px;height:22px;border:3px solid var(--sage-deep);opacity:.55;}
.qrframe .c1{top:10px;left:10px;border-right:none;border-bottom:none;border-radius:5px 0 0 0;}
.qrframe .c2{top:10px;right:10px;border-left:none;border-bottom:none;border-radius:0 5px 0 0;}
.qrframe .c3{bottom:10px;left:10px;border-right:none;border-top:none;border-radius:0 0 0 5px;}
.qrframe .c4{bottom:10px;right:10px;border-left:none;border-top:none;border-radius:0 0 5px 0;}
.qrtext h3{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.4rem;}
.qrtext p{margin-top:10px;color:var(--ink-2);font-size:0.96rem;}
.qrdetails{margin-top:16px;display:flex;flex-direction:column;gap:7px;}
.qrdetails div{display:flex;gap:10px;font-size:0.93rem;flex-wrap:wrap;}
.qrdetails .k{color:var(--ink-3);min-width:104px;font-weight:600;}
.qrdetails .v{font-weight:700;}

/* ---------- faq ---------- */
.faqgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 40px;}
@media (max-width:860px){.faqgrid{grid-template-columns:1fr;}}
.faqcol{display:flex;flex-direction:column;}
.faq-contact-card{margin:38px auto 0;max-width:680px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:26px 30px;background:#fffdf7;border:2px solid rgba(53,59,57,.09);border-radius:18px;box-shadow:0 16px 36px rgba(0,0,0,.09);transform:rotate(-.35deg);text-align:center;}
.faq-contact-card::before{content:"";position:absolute;top:-11px;left:48%;width:72px;height:23px;background:rgba(238,217,166,.76);transform:translateX(-50%) rotate(2deg);box-shadow:0 2px 4px rgba(0,0,0,.06);}
.faq-contact-icon{width:42px;height:42px;flex:0 0 auto;color:var(--sage-deep);filter:drop-shadow(0 4px 6px rgba(0,0,0,.08));}
.faq-contact-title{font-family:'Baloo 2',sans-serif;font-size:clamp(1.35rem,2vw,1.8rem);font-weight:800;line-height:1.05;color:var(--ink);}
.faq-contact-link{display:inline-block;margin-top:5px;font-family:'Be Vietnam Pro',sans-serif;font-size:.94rem;font-weight:700;color:var(--rose-ink);text-decoration:none;border-bottom:2px solid rgba(172,81,98,.24);}
.faq-contact-link:hover{border-color:currentColor;}
.faq-contact-card>div{text-align:center;}
.faq-contact-doodle{position:absolute;right:18px;bottom:-13px;width:72px;height:24px;color:var(--sky);transform:rotate(3deg);}
@media (max-width:620px){.faq-contact-card{padding:22px 20px;align-items:center}.faq-contact-icon{width:34px;height:34px}.faq-contact-doodle{display:none;}}
.faqcol h3{
  font-family:'Be Vietnam Pro',sans-serif;font-size:0.74rem;font-weight:700;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:12px;
}
details.q{
  background:var(--card);border-radius:9px;margin-bottom:10px;
  box-shadow:0 4px 12px rgba(46,64,61,0.08);border:1px solid rgba(46,64,61,0.09);
}
details.q summary{
  cursor:pointer;list-style:none;padding:15px 18px;display:flex;gap:14px;align-items:center;
  justify-content:space-between;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.02rem;color:var(--ink);
}
details.q summary::-webkit-details-marker{display:none;}
details.q summary .pm{flex:none;width:18px;height:18px;position:relative;}
details.q summary .pm::before,details.q summary .pm::after{
  content:"";position:absolute;background:var(--rose-hot);border-radius:2px;
}
details.q summary .pm::before{left:0;right:0;top:8px;height:3px;}
details.q summary .pm::after{top:0;bottom:0;left:8px;width:3px;transition:transform .18s ease;}
details.q[open] summary .pm::after{transform:scaleY(0);}
details.q .a{padding:0 18px 17px;font-size:0.95rem;color:var(--ink-2);line-height:1.65;}
details.q[open]{border-color:rgba(46,64,61,0.18);}

/* ---------- clay buddy ---------- */
.pet{
  position:fixed;right:16px;bottom:16px;z-index:60;
  display:flex;flex-direction:column;align-items:flex-end;gap:8px;
}
.pet[hidden]{display:none;}
.pet-bubble{
  background:var(--card);border:2px solid var(--ink);border-radius:14px;padding:11px 14px;
  max-width:230px;box-shadow:4px 5px 0 rgba(46,64,61,0.16);position:relative;
  font-family:'Be Vietnam Pro',sans-serif;font-weight:500;font-size:0.86rem;line-height:1.5;color:var(--ink);
  opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;
}
.pet-bubble::after{
  content:"";position:absolute;right:30px;bottom:-9px;width:14px;height:14px;
  background:var(--card);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);
  transform:rotate(45deg);
}
.pet-bubble.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.pet-bubble a{
  display:block;margin-top:4px;padding:7px 0 2px;font-family:'Be Vietnam Pro',sans-serif;font-weight:700;
  font-size:0.78rem;letter-spacing:0.04em;color:var(--sage-deep);text-decoration:none;
}
.pet-bubble a:hover{text-decoration:underline;}
.pet-btn{
  background:none;border:none;padding:0;cursor:pointer;width:104px;height:104px;line-height:0;
  filter:drop-shadow(0 8px 14px rgba(46,64,61,0.28));
}
.pet-btn svg{width:100%;height:100%;display:block;overflow:visible;}
.pet-peek{
  position:fixed;right:18px;bottom:18px;z-index:60;width:46px;height:46px;border-radius:50%;
  background:var(--card);border:2px solid var(--ink);cursor:pointer;padding:0;line-height:0;
  box-shadow:3px 4px 0 rgba(46,64,61,0.18);
}
.pet-peek[hidden]{display:none;}
.pet-peek svg{width:100%;height:100%;display:block;}
.pet-peek:hover{transform:translateY(-2px);}
@media (prefers-reduced-motion:no-preference){.pet-peek{transition:transform .16s ease;}}
.pet-close{
  position:absolute;top:-6px;right:-4px;width:28px;height:28px;border-radius:50%;
  border:2px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;
  font-size:12px;line-height:1;font-weight:700;opacity:0;transition:opacity .18s ease;z-index:2;
}
.pet:hover .pet-close,.pet:focus-within .pet-close{opacity:1;}
.pet .arm-r{transform-origin:150px 128px;}
.pet .eyes{transform-origin:100px 104px;}
@media (prefers-reduced-motion:no-preference){
  .pet-btn svg{animation:bob 3.4s ease-in-out infinite;}
  .pet .eyes{animation:blink 5.2s infinite;}
  .pet-btn:hover .arm-r,.pet-btn:focus-visible .arm-r{animation:wave .55s ease-in-out 2;}
}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(0.08)}}
@keyframes wave{0%,100%{transform:rotate(0)}30%{transform:rotate(-26deg)}70%{transform:rotate(12deg)}}
@media (max-width:560px){
  .pet{right:10px;bottom:10px;}
  .pet-btn{width:76px;height:76px;}
  .pet-bubble{max-width:190px;font-size:1.05rem;}
}

footer{padding:54px 0 34px;border-top:1px solid rgba(46,64,61,0.12);margin-top:20px;position:relative;overflow:hidden;}
.footer-grid{display:grid!important;grid-template-columns:minmax(260px,1.25fr) minmax(150px,.65fr) minmax(180px,.75fr);gap:46px;align-items:start!important;}
.footer-brand{position:relative;}
.footer-brand::after{content:"";position:absolute;left:10px;top:-18px;width:74px;height:18px;background:rgba(246,219,137,.72);transform:rotate(-3deg);border-radius:2px;opacity:.8;}
.footer-title{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.18rem;margin-top:12px;color:var(--ink);}
.footer-sub{font-size:.88rem;color:var(--ink-3);margin-top:4px;}
.footer-col h3{font-family:'Baloo 2',sans-serif;font-size:1rem;font-weight:800;margin:0 0 12px;color:var(--ink);}
.footer-links{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.footer-links a{color:var(--ink-2);font-size:.88rem;text-decoration:none;font-weight:600;position:relative;}
.footer-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--rose-hot);transition:right .2s ease;}
.footer-links a:hover::after{right:0;}
.footer-socials{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.social-link{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#fff;border:2px solid rgba(53,59,57,.08);box-shadow:0 8px 18px rgba(0,0,0,.07);color:var(--ink);text-decoration:none;transform:rotate(-2deg);transition:transform .2s ease,box-shadow .2s ease;}
.social-link:nth-child(2){transform:rotate(2deg);}
.social-link:hover{transform:translateY(-3px) rotate(0deg);box-shadow:0 12px 24px rgba(0,0,0,.1);}
.social-link svg{width:22px;height:22px;fill:currentColor;}
.footer-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:14px;flex-wrap:wrap;margin-top:38px;padding-top:20px;border-top:1px dashed rgba(46,64,61,.14);}
footer .small{color:var(--ink-3);}
.back-top{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-weight:800;font-size:.82rem;text-decoration:none;background:var(--butter);padding:8px 12px;border-radius:999px;box-shadow:0 5px 12px rgba(0,0,0,.06);}
.back-top svg{width:15px;height:15px;transform:rotate(-90deg);}
.footlogo{width:210px;height:auto;opacity:.95;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1/-1;}}
@media(max-width:540px){.footer-grid{grid-template-columns:1fr;gap:30px;}.footer-brand{grid-column:auto;}.footer-bottom{align-items:flex-start!important;flex-direction:column;}}




/* ---------- simplified closing footer + typography consistency ---------- */
button,input,select,textarea,option,.btn,.doc-btn,.transfer-toggle,.lang-btn,.form-submit{
  font-family:'Be Vietnam Pro',sans-serif!important;
}
footer,.footer-summary,.footer-copyright,.social-link{
  font-family:'Be Vietnam Pro',sans-serif;
}
footer{padding:52px 0 30px;border-top:1px solid rgba(46,64,61,.12);margin-top:20px;position:relative;overflow:hidden;}
.footer-simple{display:flex!important;flex-direction:column;align-items:flex-start;gap:18px;position:relative;}
.footer-brand-simple{max-width:540px;position:relative;}
.footer-brand-simple::after{content:"";position:absolute;left:8px;top:-13px;width:70px;height:17px;background:rgba(246,219,137,.72);transform:rotate(-3deg);border-radius:2px;opacity:.82;}
.footer-simple .footlogo{width:164px;height:auto;opacity:.96;display:block;margin-bottom:8px;}
.footer-simple .footer-title{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.22rem;line-height:1.1;color:var(--ink);margin:0;}
.footer-summary{font-size:.86rem;line-height:1.55;color:var(--ink-3);margin:5px 0 0;max-width:48ch;}
.footer-socials-simple{display:flex;gap:12px;align-items:center;margin-top:2px;}
.footer-socials-simple .social-link{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#fff;border:2px solid rgba(53,59,57,.08);box-shadow:0 8px 18px rgba(0,0,0,.07);color:var(--ink);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;}
.footer-socials-simple .social-link:first-child{transform:rotate(-2deg);}
.footer-socials-simple .social-link:nth-child(2){transform:rotate(2deg);}
.footer-socials-simple .social-link:hover{transform:translateY(-3px) rotate(0deg);box-shadow:0 12px 24px rgba(0,0,0,.1);}
.footer-socials-simple .social-link svg{width:22px;height:22px;fill:currentColor;}
.footer-copyright{font-size:.72rem;color:var(--ink-3);margin:2px 0 0;padding-top:14px;border-top:1px dashed rgba(46,64,61,.14);width:100%;}
@media(max-width:540px){footer{padding:44px 0 26px}.footer-simple .footlogo{width:146px}.footer-summary{font-size:.82rem}.footer-socials-simple .social-link{width:42px;height:42px}}


/* ===============================================================
   Motion layer — Chạm scrapbook motion system
   Inspired by the cinematic reveal / progressive motion language of
   modern event sites while preserving Chạm's original visual identity.
================================================================ */
body.intro-lock{overflow:hidden;}

.cham-intro{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:var(--paper);overflow:hidden;
  transition:visibility 0s linear 1.05s;
}
.cham-intro::before,.cham-intro::after{
  content:"";position:absolute;left:0;width:100%;height:51%;background:var(--ink);
  z-index:0;will-change:transform;
}
.cham-intro::before{top:0;transform-origin:top;animation:introCurtainTop .78s 1.05s cubic-bezier(.76,0,.24,1) forwards;}
.cham-intro::after{bottom:0;transform-origin:bottom;animation:introCurtainBottom .78s 1.05s cubic-bezier(.76,0,.24,1) forwards;}
.intro-inner{
  position:relative;z-index:2;text-align:center;color:var(--paper);padding:24px;
  animation:introInnerOut .45s 1.02s ease forwards;
}
.intro-word{
  display:flex;justify-content:center;align-items:flex-end;gap:.015em;
  font-family:'Baloo 2','Be Vietnam Pro',sans-serif;font-weight:800;
  font-size:clamp(4rem,14vw,9.5rem);line-height:.82;letter-spacing:-.055em;
}
.intro-word span{display:inline-block;opacity:0;transform:translateY(62px) rotate(4deg) scale(.88);filter:blur(8px);}
.intro-word span:nth-child(1){animation:introLetter .62s .08s cubic-bezier(.16,1,.3,1) forwards;}
.intro-word span:nth-child(2){animation:introLetter .62s .15s cubic-bezier(.16,1,.3,1) forwards;}
.intro-word span:nth-child(3){animation:introLetter .62s .22s cubic-bezier(.16,1,.3,1) forwards;}
.intro-word span:nth-child(4){animation:introLetter .62s .29s cubic-bezier(.16,1,.3,1) forwards;}
.intro-dot{
  width:clamp(12px,2vw,22px);height:clamp(12px,2vw,22px);border-radius:50%;
  background:var(--rose-hot);display:inline-block;margin:0 0 .11em .1em;
  opacity:0;transform:scale(0);animation:introDot .4s .52s cubic-bezier(.34,1.56,.64,1) forwards;
  box-shadow:0 0 0 8px rgba(243,183,181,.12);
}
.intro-sub{
  margin-top:22px;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:#efe6d5;opacity:0;transform:translateY(12px);animation:introSub .48s .48s ease forwards;
}
.intro-line{
  width:min(260px,58vw);height:2px;margin:18px auto 0;background:rgba(255,255,255,.18);overflow:hidden;
}
.intro-line::after{content:"";display:block;width:100%;height:100%;background:var(--butter);transform:scaleX(0);transform-origin:left;animation:introLine .65s .42s cubic-bezier(.2,.8,.2,1) forwards;}
.cham-intro.done{pointer-events:none;visibility:hidden;}

@keyframes introLetter{to{opacity:1;transform:translateY(0) rotate(0) scale(1);filter:blur(0);}}
@keyframes introDot{to{opacity:1;transform:scale(1);}}
@keyframes introSub{to{opacity:1;transform:translateY(0);}}
@keyframes introLine{to{transform:scaleX(1);}}
@keyframes introInnerOut{to{opacity:0;transform:scale(.97);}}
@keyframes introCurtainTop{to{transform:translateY(-102%);}}
@keyframes introCurtainBottom{to{transform:translateY(102%);}}

/* Progressive page entrance. Independent translate/scale properties are
   used so the site's existing hand-rotated transforms remain untouched. */
.motion-reveal{
  opacity:0;translate:0 30px;scale:.985;
  transition:opacity .72s cubic-bezier(.2,.7,.2,1),
             translate .82s cubic-bezier(.16,1,.3,1),
             scale .82s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--reveal-delay,0ms);
}
.motion-reveal.is-visible{opacity:1;translate:0 0;scale:1;}

/* Hero choreography after the opening curtain */
.hero .eyebrow,.hero h1.big,.hero .lead,.hero-tags,.hero-actions,.collage{
  opacity:0;translate:0 24px;
  transition:opacity .62s cubic-bezier(.2,.7,.2,1),translate .72s cubic-bezier(.16,1,.3,1);
}
body.intro-finished .hero .eyebrow{opacity:1;translate:0 0;transition-delay:.02s;}
body.intro-finished .hero h1.big{opacity:1;translate:0 0;transition-delay:.06s;}
body.intro-finished .hero .lead{opacity:1;translate:0 0;transition-delay:.10s;}
body.intro-finished .hero-tags{opacity:1;translate:0 0;transition-delay:.14s;}
body.intro-finished .hero-actions{opacity:1;translate:0 0;transition-delay:.08s;}
body.intro-finished .collage{opacity:1;translate:0 0;transition-delay:.18s;}

/* tactile depth: keeps original rotations while adding lift */
.frame,.member,.gcard,.tier,.program-card,.step,.btn,.card-index,.qrbox{
  transition-property:translate,scale,box-shadow,filter,background-color,border-color;
  transition-duration:.32s;transition-timing-function:cubic-bezier(.2,.7,.2,1);
}
@media (hover:hover) and (pointer:fine){
  .frame:hover{translate:0 -5px;box-shadow:0 18px 34px rgba(46,64,61,.24),0 1px 0 rgba(0,0,0,.05);}
  .member:hover,.gcard:hover,.tier:hover,.program-card:hover,.step:hover{translate:0 -4px;}
  .btn:hover{translate:0 -2px;scale:1.015;}
}

/* subtle pointer depth on the hero collage */
.collage .frame{will-change:translate;}

/* sticky nav eases in with the page */
nav.top{transition:translate .35s ease,box-shadow .35s ease,background-color .35s ease;}
nav.top.motion-scrolled{box-shadow:0 8px 24px rgba(46,64,61,.08);}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .cham-intro{display:none!important;}
  .motion-reveal,.hero .eyebrow,.hero h1.big,.hero .lead,.hero-tags,.hero-actions,.collage{
    opacity:1!important;translate:none!important;scale:1!important;transition:none!important;
  }
  .frame,.member,.gcard,.tier,.program-card,.step,.btn,.card-index,.qrbox{transition:none!important;}
}

.roadmap-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;align-items:center;}
.phase-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:6px;}
.phase-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 10px rgba(0,0,0,.06);border:1.5px solid rgba(53,59,57,.08);}
.phase-pill svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.phase-pill.sage{background:var(--sage);color:#204a4d;}
.phase-pill.butter{background:var(--butter);color:#6b4a1c;}
.phase-pill.rose{background:#f5d6da;color:#8c4e58;}
.phase-pill.sky{background:#d8edf6;color:#406d8a;}
.phase-pill.mint{background:#d7efe3;color:#2e6653;}
.phase-pill.paper{background:#fff7ea;color:#775b33;}
.doc-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:10px 14px;border-radius:999px;background:#fff;color:var(--ink);border:2px solid rgba(53,59,57,.09);box-shadow:0 7px 18px rgba(0,0,0,.07);font-weight:800;font-size:.82rem;text-decoration:none;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.doc-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.1);border-color:rgba(53,59,57,.16);}
.doc-btn:focus-visible{outline:3px solid rgba(86,164,171,.35);outline-offset:2px;}
@media (max-width:620px){.step{grid-template-columns:36px 1fr;}.step .box{width:36px;height:36px;border-radius:12px;}}

.doc-btn.rose{background:var(--rose-hot)!important;color:#fff!important;border-color:var(--rose-hot)!important;box-shadow:0 8px 18px rgba(198,79,98,.22)!important;}
.doc-btn.rose:hover{background:#b94458!important;border-color:#b94458!important;box-shadow:0 11px 22px rgba(198,79,98,.28)!important;}


/* ---------- Chạm request modals ---------- */
.form-open{cursor:pointer;font-family:'Be Vietnam Pro',sans-serif;font-weight:700;}
button.btn,button.doc-btn,.form-open{font-family:'Be Vietnam Pro',sans-serif!important;}

.form-modal{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease;}
.form-modal.is-open{opacity:1;visibility:visible;}
.form-backdrop{position:absolute;inset:0;background:rgba(27,38,36,.66);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);}
.form-sheet{position:relative;z-index:1;width:min(720px,calc(100vw - 34px));max-height:min(88vh,860px);overflow:auto;background:var(--paper);border:2px solid rgba(46,64,61,.14);border-radius:18px;padding:36px 38px 34px;box-shadow:0 28px 90px rgba(23,34,32,.33),0 7px 0 rgba(46,64,61,.07);transform:translateY(18px) rotate(-.45deg) scale(.985);transition:transform .34s cubic-bezier(.2,.8,.2,1);scrollbar-width:thin;}
.form-modal.is-open .form-sheet{transform:translateY(0) rotate(-.45deg) scale(1);}
.sponsor-sheet{transform:translateY(18px) rotate(.35deg) scale(.985);}
.form-modal.is-open .sponsor-sheet{transform:translateY(0) rotate(.35deg) scale(1);}
.form-sheet::after{content:"";position:absolute;inset:10px;border:1px dashed rgba(46,64,61,.08);border-radius:12px;pointer-events:none;}
.form-tape{position:absolute;width:88px;height:25px;background:rgba(239,221,177,.76);top:-8px;z-index:2;box-shadow:0 2px 7px rgba(0,0,0,.07);}
.tape-a{left:11%;transform:rotate(-5deg)}.tape-b{right:12%;transform:rotate(5deg)}
.form-close{position:absolute;right:16px;top:14px;z-index:5;width:38px;height:38px;border:0;border-radius:50%;background:#fff8ee;color:var(--ink);font:800 1.5rem/1 'Baloo 2',sans-serif;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.09);transition:transform .2s ease,background .2s ease;}
.form-close:hover{transform:rotate(5deg) scale(1.05);background:#fff;}
.form-kicker{font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--rose-ink);margin-bottom:5px;}
.form-sheet h3{font-family:'Baloo 2',sans-serif;font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.06;margin:0;color:var(--ink);max-width:90%;}
.form-intro{color:var(--ink-2);font-size:.94rem;line-height:1.55;margin:10px 0 24px;max-width:61ch;}
.form-doodle{position:absolute;pointer-events:none;opacity:.9;}
.form-doodle-star{width:36px;height:36px;right:67px;top:43px;color:var(--rose-hot);transform:rotate(10deg);}
.form-doodle-burst{width:42px;height:34px;right:66px;top:45px;color:var(--sky);transform:rotate(-7deg);}
.cham-form{position:relative;z-index:2;display:grid;gap:15px;}
.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.field{display:grid;gap:7px;font-size:.78rem;font-weight:800;color:var(--ink-2);}
.field>span{display:flex;align-items:center;gap:6px;letter-spacing:.01em;}.field small{font-weight:600;color:var(--ink-3);font-size:.7rem;}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;border:1.7px solid rgba(46,64,61,.15);background:rgba(255,255,255,.82);border-radius:10px;padding:12px 13px;font:500 .91rem/1.35 'Be Vietnam Pro',sans-serif;color:var(--ink);outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.field textarea{resize:vertical;min-height:96px;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sky);box-shadow:0 0 0 4px rgba(120,200,208,.16);transform:translateY(-1px);}
.contact-paper{position:relative;background:#fff9ea;border:1.5px solid rgba(111,82,39,.12);border-radius:12px;padding:16px 16px 14px;box-shadow:0 8px 18px rgba(70,54,35,.07);transform:rotate(-.25deg);}
.contact-paper::before{content:"";position:absolute;left:23px;right:23px;top:-6px;height:11px;background:rgba(221,198,146,.62);transform:rotate(.7deg);}
.contact-paper-title{font:800 .87rem 'Baloo 2',sans-serif;color:var(--ink);margin-bottom:11px;}.contact-paper-title span{font:600 .7rem 'Be Vietnam Pro',sans-serif;color:var(--ink-3);margin-left:5px;}
.field.compact{margin-top:12px;}
.form-privacy{display:flex;gap:10px;align-items:flex-start;background:rgba(204,230,220,.34);border:1px dashed rgba(46,64,61,.16);padding:11px 12px;border-radius:10px;color:var(--ink-2);font-size:.76rem;line-height:1.5;}
.form-privacy svg{width:21px;height:21px;flex:0 0 21px;color:var(--sage-deep);}
.form-submit{justify-self:start;border:0;cursor:pointer;font:800 .85rem 'Be Vietnam Pro',sans-serif;}
.form-submit[disabled]{opacity:.65;cursor:wait;transform:none!important;}
.form-status{min-height:20px;font-size:.79rem;font-weight:700;color:var(--sage-deep);}
.form-status.error{color:#9b444c;}
.hp-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important;}
body.modal-open{overflow:hidden;}
@media(max-width:640px){.form-modal{padding:10px}.form-sheet{width:calc(100vw - 20px);max-height:92vh;padding:31px 20px 26px;border-radius:15px;transform:none!important}.form-grid.two{grid-template-columns:1fr}.form-doodle{display:none}.form-close{right:12px;top:11px}.contact-paper{padding:15px 13px}.form-sheet h3{max-width:80%;}}
@media(prefers-reduced-motion:reduce){.form-modal,.form-sheet,.field input,.field select,.field textarea{transition:none!important}.form-sheet{transform:none!important}}

/* ---------- bilingual language switch ---------- */
.lang-switch{display:inline-flex;align-items:center;gap:5px;padding:4px;background:rgba(255,255,255,.62);border:1.5px solid rgba(46,64,61,.10);border-radius:999px;box-shadow:0 4px 12px rgba(46,64,61,.06);}
.lang-btn{appearance:none;border:0;background:transparent;color:var(--ink-2);height:32px;min-width:42px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font:800 .69rem/1 'Be Vietnam Pro',sans-serif;letter-spacing:.05em;transition:background .2s ease,transform .2s ease,box-shadow .2s ease,color .2s ease;}
.lang-btn .flag{font-size:1.05rem;line-height:1;filter:saturate(.94);}
.lang-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.74);color:var(--ink);}
.lang-btn.is-active{background:var(--paper);color:var(--ink);box-shadow:0 3px 10px rgba(46,64,61,.11);}
.lang-btn:focus-visible{outline:3px solid rgba(120,200,208,.28);outline-offset:2px;}
.lang-transition{position:fixed;inset:0;z-index:9999;pointer-events:none;visibility:hidden;}
.lang-panel{position:absolute;left:0;width:100%;height:50.5%;background:#2e403d;transition:transform .46s cubic-bezier(.76,0,.24,1);will-change:transform;}
.lang-panel-top{top:0;transform:translateY(-102%);}
.lang-panel-bottom{bottom:0;transform:translateY(102%);}
.lang-transition-mark{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:3px;color:#fff;opacity:0;transform:scale(.96);transition:opacity .18s ease .16s,transform .28s ease .12s;}
.lang-transition-mark strong{font:800 clamp(2.5rem,7vw,5.4rem)/.9 'Baloo 2',sans-serif;letter-spacing:.05em;}
.lang-transition-mark span{font:700 .75rem/1.2 'Be Vietnam Pro',sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#f0b8b0;}
.lang-transition.is-active{visibility:visible;}
.lang-transition.is-active .lang-panel{transform:translateY(0);}
.lang-transition.is-active .lang-transition-mark{opacity:1;transform:scale(1);}
.lang-transition.is-release .lang-panel-top{transform:translateY(-102%);}
.lang-transition.is-release .lang-panel-bottom{transform:translateY(102%);}
.lang-transition.is-release .lang-transition-mark{opacity:0;transform:scale(1.03);transition-delay:0s;}
html[lang="vi"] body{font-feature-settings:"kern" 1;}
html[lang="vi"] nav.top ul{gap:16px;font-size:.84rem;}html[lang="vi"] .navlinks{gap:14px;}
@media(max-width:900px){html[lang="vi"] nav.top ul{display:none;}}
@media(max-width:760px){nav.top .wrap{gap:10px}.navlinks{gap:9px}.lang-switch{margin-left:auto}.lang-btn{min-width:37px;padding:0 7px}.lang-label{display:none}}
@media(max-width:420px){nav.top .btn.sm{padding-left:12px;padding-right:12px}.lang-switch{gap:2px}.lang-btn{min-width:34px}}
@media(prefers-reduced-motion:reduce){.lang-panel,.lang-transition-mark,.lang-btn{transition:none!important}}

/* Vietnamese layout tuning: preserve Chạm's look while giving Vietnamese cleaner rhythm. */
html[lang="vi"] h1.big{font-size:clamp(2.42rem,5.15vw,3.95rem);line-height:.97;letter-spacing:-.018em;}
html[lang="vi"] h1.big .out{color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--sage);}
html[lang="vi"] h2.title{font-size:clamp(1.9rem,3.55vw,2.72rem);line-height:1.04;letter-spacing:-.008em;}
html[lang="vi"] .lead{font-size:1.01rem;line-height:1.58;max-width:45ch!important;}
html[lang="vi"] .sec-head p{line-height:1.56;max-width:57ch;}
html[lang="vi"] .notehand{line-height:1.55;}
html[lang="vi"] .member .role{font-size:.77rem;line-height:1.3;}
html[lang="vi"] .member .bio{font-size:.85rem;line-height:1.45;}
html[lang="vi"] .ledger-row span,html[lang="vi"] .fund-step p,html[lang="vi"] .gcard p{line-height:1.48;}
html[lang="vi"] .tier .tname{font-size:1.01rem;line-height:1.14;}
html[lang="vi"] .tier li{font-size:.82rem;line-height:1.38;}
html[lang="vi"] .step h3{font-size:1.07rem;line-height:1.28;}
html[lang="vi"] .step p{font-size:.9rem;line-height:1.46;}
html[lang="vi"] .checkrow p,html[lang="vi"] .process p{line-height:1.46;}
html[lang="vi"] .faq-q{line-height:1.32;}
html[lang="vi"] .faq-a{line-height:1.5;}
html[lang="vi"] .form-sheet h3{line-height:1.08;}
@media (max-width:760px){
  html[lang="vi"] h1.big{font-size:clamp(2.28rem,10.2vw,3.35rem);line-height:.99;}
  html[lang="vi"] h2.title{font-size:clamp(1.78rem,7.7vw,2.38rem);}
  html[lang="vi"] .lead{font-size:.98rem;line-height:1.55;}
}



/* Final agreed bilingual layout and interaction refinements. */
nav.top .btn.sm{white-space:nowrap;flex-shrink:0;}
.faq-contact-card{grid-column:1/-1;justify-self:center;width:min(100%,680px);box-sizing:border-box;margin:12px auto 0;}
.footer-simple{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;max-width:1100px;gap:24px 40px;text-align:left!important;}
.footer-brand-simple{justify-self:start;text-align:left!important;max-width:540px;margin:0;}
.footer-simple .footer-title{text-align:left;}
.footer-brand-simple::after{left:8px;transform:rotate(-3deg);}
.footer-simple .footlogo{margin:0 0 10px!important;}
.footer-summary{margin:5px 0 0!important;text-align:left!important;}
.footer-socials-simple{justify-self:end;justify-content:flex-end!important;margin:0!important;}
.footer-copyright{grid-column:1/-1;text-align:left!important;margin:0!important;}
.doc-btn.rose{color:#000!important;background:var(--rose-hot)!important;border-color:var(--rose-hot)!important;padding:12px 18px;font-size:.86rem;transform:scale(1.025);transition:transform .2s ease,box-shadow .2s ease;}
.doc-btn.rose:hover{color:#000!important;background:var(--rose-hot)!important;transform:translateY(-3px) scale(1.055);box-shadow:0 12px 24px rgba(198,79,98,.28)!important;}
.doc-btn.rose:active{transform:translateY(1px) scale(1.01);}
html[lang="vi"] h1.big{font-size:clamp(2.5rem,5.5vw,4.15rem);line-height:1.04;}
html[lang="vi"] h2,html[lang="vi"] h3,html[lang="vi"] summary{text-wrap:balance;word-break:normal;overflow-wrap:normal;}
html[lang="vi"] p,html[lang="vi"] .a{text-wrap:pretty;word-break:normal;}
.faq-contact-link{overflow-wrap:anywhere;}
@media(max-width:760px){html[lang="vi"] h1.big{font-size:clamp(2.1rem,7.8vw,3.35rem);line-height:1.08;}}
@media(max-width:540px){.footer-simple{grid-template-columns:minmax(0,1fr);gap:22px;padding:28px 22px;}.footer-socials-simple{justify-self:start;}.footer-copyright{grid-column:1;}}
@media(prefers-reduced-motion:reduce){.doc-btn.rose,.doc-btn.rose:hover,.doc-btn.rose:active{transition:none;transform:none;}}


.hero{padding:88px 0 54px;}
h1.big{line-height:1.17;}
html[lang="vi"] h1.big{line-height:1.19;}
.hero-tags{margin-top:32px;}
.hero-actions{margin-top:34px;gap:16px;}
.hero .lead{margin-top:24px;line-height:1.65;}
footer{padding:44px 28px 28px;margin-top:32px;background:var(--paper);}
.footer-simple{max-width:1100px;width:100%;padding:0!important;background:none;border:0;border-radius:0;box-shadow:none;gap:28px 48px;box-sizing:border-box;}
.footer-simple::before,.footer-simple::after,.footer-brand-simple::after{display:none;}
.footer-brand-simple{display:grid;grid-template-columns:100px minmax(0,1fr);column-gap:22px;align-items:center;max-width:600px;}
.footer-simple .footlogo{grid-column:1;grid-row:1/3;width:100px!important;margin:0!important;}
.footer-simple .footer-title{grid-column:2;align-self:end;font-size:1.2rem;}
.footer-summary{grid-column:2;align-self:start;max-width:40ch;line-height:1.6;font-size:.86rem;margin-top:6px!important;}
.footer-socials-simple{gap:12px;}
.footer-socials-simple .social-link{transform:none!important;box-shadow:0 3px 8px rgba(46,64,61,.06);border:1px solid rgba(46,64,61,.16);border-radius:50%;width:44px;height:44px;}
.footer-socials-simple .social-link:hover{background:var(--paper-deep);}
.footer-copyright{padding-top:20px;border-top:1px solid rgba(46,64,61,.12);font-size:.7rem;}
html[lang="vi"] .hero .lead{max-width:47ch!important;}
html[lang="vi"] .member .role{line-height:1.5;}
html[lang="vi"] .a,html[lang="vi"] .step p{line-height:1.6;}
@media(max-width:760px){.hero{padding:58px 0 42px;}.hero-grid{gap:54px;}h1.big{line-height:1.15;}html[lang="vi"] h1.big{line-height:1.2;}.hero-tags{margin-top:28px;}.hero-actions{margin-top:28px;}}
@media(max-width:540px){footer{padding:32px 24px 24px;}.footer-simple{gap:22px;}.footer-brand-simple{grid-template-columns:72px minmax(0,1fr);gap:5px 16px;}.footer-simple .footlogo{width:72px!important;}.footer-simple .footer-title{font-size:1.12rem;}.footer-summary{font-size:.82rem;}.footer-socials-simple{padding-left:88px;}.footer-copyright{padding-right:44px;}}

/* September feedback: six pages, shared bilingual layout. */
[hidden]{display:none!important}
main:focus{outline:none}
main{min-height:60vh}
main>section:first-child:not(.hero){padding-top:76px!important}
main>section:last-child{padding-bottom:76px}
.page-title{font-family:'Baloo 2',sans-serif;font-size:clamp(2.2rem,4vw,3.1rem);font-weight:800;line-height:1.2;letter-spacing:-.02em}
nav.top .wrap{gap:20px}
nav.top ul{gap:17px}
nav.top a.nl[aria-current=page]{color:var(--ink);border-bottom:3px solid var(--rose-hot)}
.menu-toggle{display:none}
.hero-actions{max-width:480px;justify-content:flex-end}
.hero-actions .btn{font-size:.87rem;padding:12px 18px}
.section-photo{margin:38px 0 10px;padding:10px;background:#fff;box-shadow:0 14px 28px rgba(46,64,61,.15);transform:rotate(-.8deg);position:relative;border-radius:2px}
.section-photo:before{content:'';position:absolute;top:-10px;left:calc(50% - 38px);width:76px;height:24px;background:rgba(224,204,145,.68);transform:rotate(3deg);z-index:1}
.section-photo img{width:100%;height:100%;object-fit:cover;display:block}
.wide-photo{height:280px;max-width:100%;margin-top:48px}
#latest .wide-photo{height:250px}
.donate-photo{height:270px;margin:36px 0 44px;transform:rotate(.65deg)}
.contact-photo{height:225px;margin-top:34px;transform:rotate(1deg)}
.roadmap-photo{height:285px;margin:34px 0 48px;transform:rotate(.6deg)}
.partner-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}
.partner-actions .btn{font-size:.86rem;padding:12px 18px;justify-content:center;text-align:center}
.sponsor-tiers-panel{margin-top:52px;padding-top:28px;border-top:1px dashed rgba(46,64,61,.25)}
.sponsor-tiers-panel.is-open{animation:transferReveal .4s ease both}
.tiers{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tier .tname{font-size:1.05rem;min-height:2.8em}
.tier .amt{font-size:1.65rem}
.ledger-card:after{content:'FINANCE LOG'}
html[lang=vi] .ledger-card:after{content:'SỔ THU CHI'}
.fund-trust{align-items:start}
.fund-sources{margin-top:30px}
#sponsors{padding-top:28px}
.sponsor-heading{font-family:'Baloo 2',sans-serif;font-size:1.7rem;font-weight:800;margin-bottom:24px}
.logorow{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.logoslot{min-width:0}
.partner-logo{width:100%;background:#fff;border:1px solid rgba(46,64,61,.12);border-radius:10px;padding:24px;min-height:110px;display:grid;place-items:center}
button.partner-logo{cursor:pointer;transition:transform .2s,box-shadow .2s}
button.partner-logo:hover{transform:translateY(-4px);box-shadow:0 10px 20px #2e403d15}
.partner-logo img{width:100%;height:70px;object-fit:contain}
.faqgrid{row-gap:28px}
.faqcol{min-width:0}
.faqcol h3{margin-top:0!important}
.faq-contact-card{grid-column:1/-1}
/* Partners keeps familiar content, with an editorial opening and horizontal support choices. */
body[data-page=partners] #donate>.wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 52px;align-items:center}
body[data-page=partners] #donate .sec-head{margin:0}
body[data-page=partners] .donate-photo{height:360px;margin:0;transform:rotate(2deg)}
body[data-page=partners] #donate .give{grid-column:1/-1}
body[data-page=partners] #donate .gcards{grid-column:1/-1}
body[data-page=partners] #donate .qrbox{grid-column:1/-1}
body[data-page=partners] .contact-grid{background:rgba(169,219,221,.16);border:1px solid rgba(53,105,109,.1);padding:44px;border-radius:8px;grid-template-columns:1fr 1.05fr}
body[data-page=partners] .contact-grid>div:first-child{order:2}
body[data-page=partners] .contact-grid>div:last-child{order:1}
body[data-page=partners] #sponsors .wrap{border-top:1px dashed rgba(46,64,61,.25);padding-top:40px}
body[data-page=partners] .logorow{grid-template-columns:repeat(3,minmax(0,1fr))}
.partner-dialog{max-width:560px;width:calc(100% - 36px);border:0;border-radius:8px;padding:44px;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px #0004}
.partner-dialog::backdrop{background:#243532a8;backdrop-filter:blur(4px)}
.partner-dialog h2{font-family:'Baloo 2',sans-serif;font-size:2rem;margin-bottom:12px}
.partner-dialog p{line-height:1.8;white-space:pre-line}
.partner-dialog-logo{max-width:200px;max-height:100px;object-fit:contain;margin-bottom:24px}
.partner-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:2rem;cursor:pointer;color:var(--ink)}
:focus-visible{outline:3px solid var(--sage-deep);outline-offset:5px}
@media(min-width:1001px){body[data-page=partners] #donate .give{display:flex;gap:22px}body[data-page=partners] #donate .gcard{flex:1}}
@media(max-width:1100px){nav.top .brand .est{display:none}nav.top ul{gap:12px}.navlinks{gap:12px}nav.top .wrap{padding-inline:20px}.brandmark{height:28px}}
@media(max-width:1000px){
 nav.top .wrap{position:relative;flex-wrap:nowrap;gap:12px;padding:12px 20px}
 .navlinks{gap:10px;margin:0}
 nav.top .navlinks ul{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 24px 24px;background:var(--paper-deep,#f6efe1);box-shadow:0 16px 24px #2e403d18;grid-template-columns:1fr 1fr;gap:8px 20px;border-top:1px solid #2e403d15}
 nav.top.menu-open .navlinks ul{display:grid}
 nav.top a.nl{display:block;padding:10px 4px;border-bottom:2px solid transparent}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;border:1px solid #2e403d25;border-radius:50%;width:42px;height:42px;padding:11px;background:transparent;cursor:pointer}
 .menu-toggle span{height:2px;width:18px;background:var(--ink);display:block}
 .tiers{gap:15px}
 .contact-grid{gap:28px}
 body[data-page=partners] #donate>.wrap{gap:24px 30px}
 body[data-page=partners] .donate-photo{height:300px}
}
@media(max-width:760px){
 main>section:first-child:not(.hero){padding-top:48px!important}
 .tiers{grid-template-columns:1fr}
 .tier .tname{min-height:0}
 .section-photo{height:230px}
 .contact-photo{height:210px}
 .logorow{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-page=partners] #donate>.wrap{display:block}
 body[data-page=partners] .donate-photo{height:260px;margin:34px 0}
 body[data-page=partners] .contact-grid{display:flex;flex-direction:column;padding:28px 20px;margin-inline:20px;width:auto}
 body[data-page=partners] .contact-grid>div:first-child{order:0}
 body[data-page=partners] .logorow{grid-template-columns:repeat(2,minmax(0,1fr))}
 .partner-actions .btn{flex:1 1 210px}
 .hero-actions{justify-content:flex-start}
}
@media(max-width:520px){
 nav.top .brandmark{height:24px}nav.top .brand .name{font-size:1.1rem}nav.top .brand{gap:7px}
 nav.top .wrap{padding:10px 14px}.navlinks{gap:7px}
 nav.top .btn.sm{display:none}
 .lang-switch{padding:3px;gap:2px}.lang-btn{padding:7px 8px;gap:4px;font-size:.74rem}
 .menu-toggle{width:36px;height:36px;padding:8px}
 .hero-actions{gap:10px}.hero-actions .btn{font-size:.8rem;padding:11px 14px}
 .section-photo{height:210px}.page-title{font-size:2.2rem}
 .sponsor-tiers-panel{margin-top:32px}
 .partner-dialog{padding:38px 24px}
}
@media(prefers-reduced-motion:reduce){.sponsor-tiers-panel.is-open{animation:none}}

.sponsor-tiers-panel{scroll-margin-top:100px}
.page-title .hl{background:linear-gradient(transparent 58%,var(--butter) 58%);padding:0 .04em}
html[data-intro-seen] .cham-intro{display:none!important}
@media(max-width:760px){.lang-label{display:inline}.lang-btn{min-width:0}}
html[data-intro-seen] .hero .eyebrow,html[data-intro-seen] .hero h1.big,html[data-intro-seen] .hero .lead,html[data-intro-seen] .hero-tags,html[data-intro-seen] .hero-actions,html[data-intro-seen] .collage{opacity:1;translate:0 0;transition:none}

/* Restore the original scrapbook typography and natural photo proportions. */
.hero-actions{max-width:none;justify-content:flex-start}
.hero-actions .btn{font-size:.95rem;padding:13px 20px}
.section-intro{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:42px;margin-bottom:38px}
.section-intro .sec-head{margin-bottom:0}
.section-intro .section-photo,.section-photo.contact-photo{height:auto;margin:0;max-width:100%;padding:10px 10px 20px}
.section-photo img{height:auto;aspect-ratio:auto;object-fit:contain}
.section-photo.contact-photo{margin-top:28px;max-width:440px}
.section-intro .section-photo{transform:rotate(2deg)}
#roadmap .section-intro .section-photo{transform:rotate(-2deg)}
body[data-page=partners] #donate>.wrap{display:block}
body[data-page=partners] .section-intro{grid-template-columns:.88fr 1.12fr}
body[data-page=partners] .section-intro .sec-head{order:2}
body[data-page=partners] .donate-photo{height:auto;margin:0}
body[data-page=partners] .contact-grid{background:none;border:0;padding:0 26px;border-radius:0;grid-template-columns:1fr 1.05fr}
.give,.tiers,.tracks{align-items:start}
.gcard .btn{margin-top:12px}
.tier .tname{min-height:0;font-size:1.16rem}
.fund-step{min-height:0}
.sticky{min-height:0}
body .newsnote p,body .sticky p,html[lang=vi] .step p{font-size:.97rem;line-height:1.65}
.ledger-row span{font-size:.92rem;line-height:1.6}
.bandphoto{max-width:740px;margin-inline:auto}
.bandphoto .frame img{height:auto;aspect-ratio:4/3;object-fit:contain}
.qrbox{grid-template-columns:minmax(240px,320px) 1fr}
.bank-qr{aspect-ratio:auto;border:0;padding:0;background:transparent}
.bank-qr a{display:block;width:100%}
.bank-qr img{display:block;width:100%;height:auto;border-radius:8px}
.qrdetails .v{font-variant-numeric:tabular-nums}
@media(max-width:860px){
 .section-intro,body[data-page=partners] .section-intro{grid-template-columns:1fr;gap:28px}
 .section-intro .section-photo{width:min(100%,520px);justify-self:center}
 body[data-page=partners] .section-intro .sec-head{order:0}
 body[data-page=partners] .contact-grid{grid-template-columns:1fr}
}
@media(max-width:760px){body[data-page=partners] .contact-grid{margin-inline:auto;padding:0 26px;width:100%}.hero-actions .btn{font-size:.88rem;padding:12px 17px}.bandphoto .frame img{height:auto}}
@media(max-width:700px){.qrbox{grid-template-columns:1fr}.bank-qr{max-width:340px;margin:auto}}
.fund-flow{align-items:start}
#latest .wide-photo{height:auto}
#latest .sec-head .newsnote{margin-top:24px;text-align:left}
#latest .news{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
@media(max-width:760px){#latest .news{grid-template-columns:1fr}}

/* Shared alignment polish: compact paired content, consistent card baselines. */
.give,.tiers,.tracks,.team,.fund-flow,#latest .news{align-items:stretch}
.gcard .btn{margin-top:auto}
.gcard p:last-of-type{margin-bottom:8px}
.section-intro{align-items:end}
#latest .news>.newsnote:first-child{border-top-color:#d99a42;background:#fff8e9}
#latest .news>.newsnote:first-child .when{color:#87571f}
#latest .news>.newsnote:last-child{border-top-color:var(--rose);background:#fffafb}
#latest .news>.newsnote:last-child .when{color:var(--rose-ink)}
.contact-grid{align-items:stretch;gap:36px}
.contact-grid>div{display:flex;flex-direction:column;min-width:0}
.contact-grid .partner-actions{margin-top:auto;padding-top:22px}
.contact-grid .section-photo.contact-photo{width:100%;max-width:300px;margin:20px auto 0;padding:8px 8px 14px}
.contact-grid .contact-photo img{max-height:185px;width:100%;object-fit:cover;aspect-ratio:3/2}
.contact-grid .card-index{padding:22px 24px}
.contact-grid .card-index .row{padding:5px 0}
.contact-grid .card-index a{padding:4px 0}
.qrbox{grid-template-columns:190px minmax(0,1fr);gap:26px;max-width:800px;margin:26px auto 0;padding:24px;align-items:end}
.qrtext{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between}
.qrtext p{margin-top:10px}
.qrdetails{margin-top:16px}
.bank-qr{max-width:190px;margin:0}
@media(max-width:860px){
 .contact-grid .partner-actions{margin-top:22px;padding-top:0}
 .section-intro{align-items:start}
}
@media(max-width:700px){
 .qrbox{grid-template-columns:1fr;max-width:460px;gap:20px;padding:22px}
 .bank-qr{width:180px;max-width:180px;margin:0 auto}
 .qrtext{display:block}
}
.qrbox{grid-template-columns:160px minmax(0,1fr);max-width:720px;gap:24px}
.qrtext{display:block;align-self:end}
.bank-qr{max-width:160px}
@media(min-width:861px){.contact-grid .section-photo.contact-photo{margin-top:auto}.contact-grid>div:last-child>p{margin-bottom:20px}}
@media(max-width:700px){.qrbox{grid-template-columns:1fr;max-width:460px}.bank-qr{max-width:180px}}
/* QR-only image balances the four account-detail rows. */
@media(min-width:701px){.qrbox{grid-template-columns:220px minmax(0,1fr);max-width:780px}.bank-qr{max-width:220px}}
/* Keep short and long bank labels on the same column alignment. */
.qrdetails>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;align-items:baseline}
.qrdetails .k{min-width:0}
@media(max-width:420px){.qrdetails>div{grid-template-columns:108px minmax(0,1fr);gap:8px}}
