/* ==========================================================================
   Associação Meu Sorriso - site institucional
   Sistema: CSS nativo (sem framework). Tema claro com modo escuro automático.
   Um acento (lima da marca), uma escala de raios, movimento com GSAP/Lenis.
   Raios: --r-xl 44px (blocos), --r-lg 28px (cartões/mídia), --r-md 16px (campos), pílula (botões, chips).
   ========================================================================== */

@font-face{font-family:"Bricolage";src:url("../fonts/bricolage-latin.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-latin.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}

:root{
  /* superfícies e texto (tema claro) */
  --paper:#F3F7EC;
  --paper-2:#E8F0D8;
  --surface:#FBFDF7;
  --ink:#0C2410;
  --ink-2:#3A5240;
  --line:rgb(12 36 16 / .14);
  --glass:rgb(243 247 236 / .72);
  --glass-line:rgb(12 36 16 / .10);
  --focus:#003300;
  --error:#B3261E;
  /* marca */
  --lima:#99CC33;
  --on-lima:#0C2410;
  --lima-soft:#E1EFBE;
  --forest:#003300;
  --forest-2:#0B4712;
  --on-forest:#EAF3DA;
  --on-forest-2:#B4CB8E;
  /* logotipo (variáveis lidas dentro dos <symbol>) */
  --lg-r:#CC0033; --lg-g:#003300; --lg-t:#231F20;

  --display:"Bricolage","Bricolage Grotesque",ui-rounded,"Segoe UI",system-ui,sans-serif;
  --sans:"Figtree",ui-sans-serif,system-ui,"Segoe UI",Roboto,sans-serif;

  --r-xl:44px; --r-lg:28px; --r-md:16px;
  --gutter:clamp(20px,4.2vw,64px);
  --max:1320px;
  --sec:clamp(96px,12vw,184px);
  --nav-h:64px;
  --ease:cubic-bezier(.16,1,.3,1);
  --z-nav:50; --z-menu:60; --z-skip:100;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#07130A; --paper-2:#0D2011; --surface:#102415;
    --ink:#EAF3DC; --ink-2:#A6BE9C;
    --line:rgb(234 243 220 / .16);
    --glass:rgb(7 19 10 / .68); --glass-line:rgb(234 243 220 / .14);
    --focus:#99CC33; --error:#FF9C94;
    --lima-soft:#16300F;
    --lg-g:#99CC33; --lg-t:#EAF3DC;
    color-scheme:dark;
  }
  .hl::after{height:.13em;bottom:-.02em}
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
::selection{background:var(--lima);color:var(--on-lima)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-80px;z-index:var(--z-skip);background:var(--forest);color:var(--on-forest);padding:12px 18px;border-radius:999px;font-weight:600;transition:top .2s}
.skip:focus{top:14px}
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.i{width:1.25em;height:1.25em;fill:currentColor;flex:none}
.lg{fill:currentColor}
.lg--wide{aspect-ratio:396/86;height:auto}

/* Lenis */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* ---------- tipografia ---------- */
.h1,.h2,.h3{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1;text-wrap:balance;font-optical-sizing:auto}
.h2{font-size:clamp(2.35rem,5.4vw,4.9rem)}
.h3{font-size:clamp(1.4rem,2.2vw,1.9rem);letter-spacing:-.025em;line-height:1.1}
.lead{font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.55;color:var(--ink-2);max-width:60ch;text-wrap:pretty}
.copy{max-width:62ch;text-wrap:pretty;color:var(--ink-2)}
.copy strong,.lead strong{color:var(--ink);font-weight:650}
.kicker{font:650 .98rem/1.2 var(--sans);color:var(--ink-2)}
.hl{position:relative;isolation:isolate;white-space:nowrap}
.hl::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.04em;height:.36em;background:var(--lima);z-index:-1;border-radius:.12em;transform-origin:left center;transform:scaleX(var(--hl,1));transition:transform 1.2s var(--ease)}
html.js .hl{--hl:0}
html.js .hl.is-on{--hl:1}

/* ---------- botões ---------- */
.btn{--h:56px;transform:translate(calc(var(--mx,0)*1px),calc(var(--my,0)*1px));position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.6em;height:var(--h);padding:0 1.7em;border-radius:999px;font:650 1rem/1 var(--sans);letter-spacing:-.005em;white-space:nowrap;text-decoration:none;border:1.5px solid transparent;transition:transform .3s var(--ease),color .35s,border-color .35s,background-color .35s}
.btn .i{width:1.2em;height:1.2em;transition:transform .4s var(--ease)}
.btn:hover .i{transform:translateX(3px)}
.btn:active{transform:translate(calc(var(--mx,0)*1px),calc(var(--my,0)*1px + 1px)) scale(.97)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:translateY(101%);transition:transform .5s var(--ease)}
.btn:hover::before{transform:none}
.btn--primary{background:var(--lima);color:var(--on-lima)}
.btn--primary::before{background:var(--forest)}
.btn--primary:hover{color:var(--lima)}
.btn--ghost{border-color:color-mix(in srgb,var(--ink) 32%,transparent);color:var(--ink)}
.btn--ghost::before{background:var(--ink)}
.btn--ghost:hover{color:var(--paper);border-color:var(--ink)}
.btn--dark{background:var(--forest);color:var(--lima)}
.btn--dark::before{background:#001A00}
.btn--sm{--h:44px;padding:0 1.35em;font-size:.95rem}
.btn[disabled]{opacity:.5;pointer-events:none}
.link-arrow{display:inline-flex;align-items:center;gap:.5em;font-weight:650;text-decoration:none;border-bottom:2px solid var(--lima);padding-bottom:2px;transition:gap .3s var(--ease)}
.link-arrow:hover{gap:.85em}

/* ---------- navegação ---------- */
.nav{position:fixed;inset:14px 0 auto;z-index:var(--z-nav);display:flex;justify-content:center;padding-inline:var(--gutter);pointer-events:none;transition:transform .7s var(--ease)}
.nav.is-hidden{transform:translateY(calc(-100% - 28px))}
.nav__bar{pointer-events:auto;width:min(100%,1120px);height:var(--nav-h);display:flex;align-items:center;gap:6px;padding:0 10px 0 24px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);box-shadow:inset 0 1px 0 rgb(255 255 255 / .45),0 14px 44px -18px rgb(0 51 0 / .38)}
@media (prefers-color-scheme:dark){.nav__bar{box-shadow:inset 0 1px 0 rgb(255 255 255 / .08),0 14px 44px -18px rgb(0 0 0 / .7)}}
@media (prefers-reduced-transparency:reduce){.nav__bar{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}}
.nav__brand{display:flex;align-items:center;margin-right:auto;--lg-t:var(--ink)}
.nav__brand .lg{height:30px;width:auto;--lg-t:var(--ink)}
.nav__links{display:flex;gap:2px;margin-right:10px}
.nav__links a{padding:11px 18px;border-radius:999px;font-weight:600;font-size:.96rem;text-decoration:none;transition:background-color .25s,color .25s}
.nav__links a:hover{background:var(--lima-soft)}
.nav__links a[aria-current]{background:var(--lima-soft)}
.nav__toggle{display:none;width:46px;height:46px;border-radius:50%;place-items:center;position:relative;background:var(--lima);color:var(--on-lima)}
.nav__toggle .i{width:24px;height:24px}
.nav__toggle-close{position:absolute;opacity:0;transform:rotate(-45deg) scale(.6);transition:.4s var(--ease)}
.nav__toggle-open{transition:.4s var(--ease)}
.nav__toggle[aria-expanded="true"] .nav__toggle-open{opacity:0;transform:rotate(45deg) scale(.6)}
.nav__toggle[aria-expanded="true"] .nav__toggle-close{opacity:1;transform:none}
@media (max-width:899px){
  .nav__links,.nav__cta{display:none}
  .nav__toggle{display:grid}
  .nav__bar{padding-left:20px}
}
.menu{position:fixed;inset:0;z-index:var(--z-menu);background:var(--lima);color:var(--on-lima);display:flex;flex-direction:column;justify-content:space-between;padding:120px var(--gutter) 36px;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease),visibility 0s .8s;overflow:auto}
.menu.is-open{visibility:visible;clip-path:inset(0);transition:clip-path .8s var(--ease)}
.menu__nav{display:flex;flex-direction:column;gap:4px}
.menu__nav a{font:700 clamp(2.8rem,13vw,5rem)/1.04 var(--display);letter-spacing:-.04em;text-decoration:none;opacity:0;transform:translateY(40px);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.menu.is-open .menu__nav a{opacity:1;transform:none;transition-delay:calc(.12s + var(--i)*.07s)}
.menu__nav a[aria-current]{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.12em}
.menu__foot{display:flex;flex-direction:column;gap:12px;font-weight:600}
.menu__foot a{display:inline-flex;align-items:center;gap:.6em;text-decoration:none}
/* o nav precisa ficar acima do menu aberto para o botão fechar */
.nav{z-index:calc(var(--z-menu) + 1)}
.menu-open .nav__bar{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.menu-open .nav__brand .lg{--lg-t:var(--forest);--lg-g:var(--forest);--lg-r:var(--forest)}
.menu-open .nav__toggle{background:var(--forest);color:var(--lima)}

/* ---------- revelações (só com JS) ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(34px)}
html.js .hero h1 .ln>span,html.js .phead h1 .ln>span{opacity:0}
html.js [data-hero-in],html.js [data-hero-card],html.js [data-hero-disc],html.js [data-phead-fade]{opacity:0}
html.no-anim [data-reveal],html.reduce [data-reveal],html.no-anim [data-hero-in],html.reduce [data-hero-in],html.no-anim [data-hero-card],html.reduce [data-hero-card],html.no-anim [data-hero-disc],html.reduce [data-hero-disc],html.no-anim [data-phead-fade],html.reduce [data-phead-fade]{opacity:1!important;transform:none!important}
html.no-anim .ln>span,html.reduce .ln>span{transform:none!important;opacity:1!important}
html.reduce .hl,html.no-anim .hl{--hl:1}

/* ==========================================================================
   HOME
   ========================================================================== */
/* ---- hero ---- */
.hero{min-height:100dvh;padding:96px 0 48px;display:grid;align-items:center;position:relative;overflow-x:clip}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,88px);align-items:center}
.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(3.3rem,9.2vw,8.8rem);line-height:.94;letter-spacing:-.04em;font-optical-sizing:auto}
.hero h1 .ln{display:block;overflow:hidden;padding:.06em .04em .14em;margin:-.06em -.04em -.14em}
.hero h1 .ln>span{display:block}
.hero__lede{margin-top:clamp(22px,2.6vw,36px);font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.5;color:var(--ink-2);max-width:34em;text-wrap:pretty}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,3vw,44px)}
.hero__media{position:relative;justify-self:end;width:100%;max-width:640px;aspect-ratio:5/5.9}
.hero__disc{position:absolute;right:-7%;top:-5%;width:74%;aspect-ratio:1;border-radius:50%;background:var(--lima)}
.hero__main{position:absolute;inset:3% 13% 5% 9%;border-radius:var(--r-xl);overflow:hidden;background:var(--paper-2);box-shadow:0 40px 80px -40px rgb(0 51 0 / .55)}
.hero__main img,.hero__a img,.hero__b img{width:100%;height:100%;object-fit:cover}
.hero__main img{object-position:50% 22%;transform:scale(1.12)}
.hero__a,.hero__b{position:absolute;border-radius:var(--r-lg);overflow:hidden;border:6px solid var(--paper);box-shadow:0 30px 60px -30px rgb(0 51 0 / .55)}
.hero__a{left:-8%;bottom:2%;width:54%;aspect-ratio:4/3.1}
.hero__b{right:-3%;bottom:20%;width:34%;aspect-ratio:1/1.16}
.hero__sticker{position:absolute;left:-1%;top:9%;width:clamp(74px,9vw,112px);aspect-ratio:1;border-radius:50%;background:var(--surface);display:grid;place-items:center;box-shadow:0 18px 40px -14px rgb(0 51 0 / .5)}
.hero__sticker .lg{width:56%;height:auto}
.hero__grid>*,.support__grid>*,.way>*,.prog__grid>*,.how__grid>*,.cad__grid>*,.phead__grid>*,.acervo__grid>*,.rules__box>*,.scard>*,.mis__grid>*{min-width:0}

/* ---- números ---- */
.stats-sec{padding:var(--sec) 0 calc(var(--sec)*.7)}
.stats-sec .h2{max-width:14ch}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:56px clamp(24px,4vw,64px);margin-top:clamp(56px,7vw,104px)}
.stat:nth-child(3n+2){margin-top:clamp(28px,5vw,72px)}
.stat:nth-child(3n){margin-top:clamp(56px,10vw,144px)}
.stat__n{font:700 clamp(4.4rem,9.4vw,9rem)/.9 var(--display);letter-spacing:-.055em;font-variant-numeric:tabular-nums lining-nums;display:block;white-space:nowrap}
.stat__bar{display:block;height:7px;width:88px;border-radius:99px;background:var(--lima);margin:20px 0 16px;transform-origin:left;transform:scaleX(var(--b,1));transition:transform 1.2s var(--ease) .25s}
html.js .stat__bar{--b:0}
html.js .stat.is-on .stat__bar{--b:1}
html.reduce .stat__bar,html.no-anim .stat__bar{--b:1}
.stat__l{font-size:1.06rem;line-height:1.45;color:var(--ink-2);max-width:22ch}

/* ---- manifesto ---- */
.manifesto{padding:calc(var(--sec)*.5) 0 var(--sec)}
.manifesto p{font:600 clamp(1.95rem,4.6vw,4.3rem)/1.13 var(--display);letter-spacing:-.03em;max-width:21em;text-wrap:pretty}
.manifesto .w{transition:none}
.chip{display:inline-block;width:1.9em;height:.86em;border-radius:99px;overflow:hidden;vertical-align:-.1em;margin:0 .1em;background:var(--paper-2)}
.chip img{width:100%;height:100%;object-fit:cover}

/* ---- história ---- */
.story{padding:0 0 var(--sec)}
.story .h2{max-width:13ch;font-size:clamp(2.5rem,6.4vw,6rem)}
.story__cols{display:grid;grid-template-columns:repeat(12,1fr);gap:28px;margin-top:clamp(36px,4.5vw,64px)}
.story__cols p:nth-child(1){grid-column:2/7}
.story__cols p:nth-child(2){grid-column:8/13}
.story__banner{margin-top:clamp(48px,6vw,88px);border-radius:var(--r-xl);overflow:hidden;aspect-ratio:2.1/1;position:relative;background:var(--paper-2)}
.story__banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}

/* ---- conquistas (pan horizontal) ---- */
.wins{position:relative;padding:0 0 var(--sec)}
.wins__track{display:flex;gap:22px;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding:8px var(--gutter) 28px;scrollbar-width:none}
.wins__track::-webkit-scrollbar{display:none}
.wins__intro{flex:0 0 min(84vw,520px);scroll-snap-align:start;align-self:center;padding-right:clamp(0px,2vw,32px)}
.wins__intro .h2{font-size:clamp(2.3rem,4.6vw,4.4rem)}
.wins__intro .lead{margin-top:22px}
.win{flex:0 0 min(80vw,420px);scroll-snap-align:center;border-radius:var(--r-lg);background:var(--surface);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 28px 60px -36px rgb(0 51 0 / .5)}
.win__img{aspect-ratio:4/4.6;background:var(--paper-2);overflow:hidden}
.win__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.win:hover .win__img img{transform:scale(1.05)}
.win__body{padding:24px 26px 30px}
.win__body h3{font:650 1.42rem/1.15 var(--display);letter-spacing:-.02em}
.win__body p{margin-top:10px;color:var(--ink-2);font-size:1rem;line-height:1.55}
.win--type{background:var(--lima);color:var(--on-lima);justify-content:space-between;padding:30px 30px 34px;min-height:440px}
.win--type .win__big{font:700 clamp(6rem,11vw,9.4rem)/.82 var(--display);letter-spacing:-.06em}
.win--type h3{font:650 1.42rem/1.15 var(--display);letter-spacing:-.02em}
.win--type p{margin-top:10px;font-size:1rem;line-height:1.5}
.wins__end{flex:0 0 min(80vw,340px);scroll-snap-align:center;align-self:center;padding:0 clamp(8px,2vw,28px) 0 8px}
.wins__end p{font:650 clamp(1.5rem,2.4vw,2rem)/1.15 var(--display);letter-spacing:-.025em;margin-bottom:24px}
.wins__bar{display:none;position:absolute;left:var(--gutter);right:var(--gutter);bottom:36px;height:4px;border-radius:9px;background:var(--line);overflow:hidden}
.wins__bar span{display:block;height:100%;background:var(--ink);transform-origin:left;transform:scaleX(0)}
.wins.is-pinned{padding:0;height:100dvh;overflow:hidden}
.wins.is-pinned .wins__track{height:100%;overflow:visible;scroll-snap-type:none;align-items:center;padding-block:0;will-change:transform;width:max-content}
.wins.is-pinned .wins__bar{display:block}
.wins.is-pinned .win{flex-basis:clamp(300px,27vw,420px)}
.wins.is-pinned .win__img{aspect-ratio:4/4.3}
.wins.is-pinned .win:nth-of-type(3n+1){transform:translateY(-4vh)}
.wins.is-pinned .win:nth-of-type(3n+2){transform:translateY(5vh)}
.wins.is-pinned .win:nth-of-type(3n){transform:translateY(-1vh)}
.wins.is-pinned .win--type{min-height:0;height:min(58dvh,440px)}

/* ---- bloco floresta: o desafio ---- */
.block{background:var(--forest);color:var(--on-forest);border-radius:var(--r-xl);margin:0 clamp(8px,1.2vw,18px);padding:clamp(72px,10vw,150px) 0 clamp(72px,9vw,130px);position:relative}
.block .lead,.block .copy{color:var(--on-forest-2)}
.block .h2 em{font-style:normal;color:var(--lima)}
.block__head{max-width:980px}
.block__head .h2{font-size:clamp(2.4rem,6vw,5.6rem)}
.block__head .lead{margin-top:28px}
.stack{margin-top:clamp(56px,8vw,112px)}
.scard{position:sticky;top:calc(88px + var(--n)*26px);margin-bottom:clamp(24px,6vh,60px);border-radius:var(--r-lg);background:var(--forest-2);border:1px solid rgb(153 204 51 / .22);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,64px);align-items:center;min-height:min(62vh,520px);padding:clamp(28px,4vw,56px);overflow:hidden;transform-origin:50% 0;box-shadow:0 -24px 60px -30px rgb(0 0 0 / .5)}
.scard::after{content:"";position:absolute;inset:0;background:#001A00;opacity:var(--dim,0);pointer-events:none;border-radius:inherit}
.scard:last-child{margin-bottom:0}
.scard h3{font:700 clamp(2rem,4vw,3.6rem)/1 var(--display);letter-spacing:-.04em;margin:20px 0 18px}
.scard p{color:var(--on-forest-2);max-width:44ch}
.scard__ico{width:64px;height:64px;border-radius:50%;background:var(--lima);color:var(--on-lima);display:grid;place-items:center}
.scard__ico .i{width:32px;height:32px}
.scard__side{align-self:stretch;display:grid;place-items:center;border-radius:calc(var(--r-lg) - 8px);overflow:hidden;background:rgb(0 0 0 / .18);min-height:220px}
.scard__side img{width:100%;height:100%;object-fit:cover}
.scard__word{font:700 clamp(3.2rem,8vw,7.2rem)/.9 var(--display);letter-spacing:-.055em;color:var(--lima);text-align:center;padding:16px}
.scard__word small{display:block;margin-top:14px;font:600 1rem/1.4 var(--sans);letter-spacing:0;color:var(--on-forest-2)}

/* ---- missão: linhas expansíveis ---- */
.mis{padding:var(--sec) 0 calc(var(--sec)*.8)}
.mis__head{max-width:960px;margin-bottom:clamp(40px,6vw,80px)}
.mis__head .h2{font-size:clamp(2.3rem,5.4vw,5rem)}
.mis__head .lead{margin-top:26px}
.mis__row{border-top:1.5px solid var(--line)}
.mis__row:last-child{border-bottom:1.5px solid var(--line)}
.mis__btn{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;padding:clamp(22px,3vw,36px) 0;text-align:left;font:700 clamp(1.8rem,4.4vw,4rem)/1.02 var(--display);letter-spacing:-.04em;color:var(--ink-2);transition:color .4s}
.mis__row.is-open .mis__btn,.mis__btn:hover{color:var(--ink)}
.mis__plus{flex:none;width:clamp(44px,5vw,64px);height:clamp(44px,5vw,64px);border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:transform .6s var(--ease),background-color .3s,border-color .3s}
.mis__plus .i{width:45%;height:45%}
.mis__row.is-open .mis__plus{transform:rotate(45deg);background:var(--lima);border-color:var(--lima);color:var(--on-lima)}
.mis__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .7s var(--ease),visibility 0s .7s}
.mis__row.is-open .mis__panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .7s var(--ease),visibility 0s}
.mis__inner{overflow:hidden;min-height:0}
.mis__grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(24px,4vw,64px);padding:8px 0 clamp(32px,4vw,52px);opacity:0;transform:translateY(20px);transition:opacity .5s .1s,transform .8s .1s var(--ease)}
.mis__row.is-open .mis__grid{opacity:1;transform:none}
.mis__img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3.3;background:var(--paper-2)}
.mis__img img{width:100%;height:100%;object-fit:cover}
.mis__txt>p{font-size:1.15rem;line-height:1.55;max-width:46ch;text-wrap:pretty}
.mis__list{margin-top:22px;display:grid;gap:14px;max-width:52ch}
.mis__list li{display:grid;grid-template-columns:24px 1fr;gap:12px;color:var(--ink-2);line-height:1.5}
.mis__list .i{width:22px;height:22px;color:var(--ink);margin-top:2px}
.mis__list b{color:var(--ink);font-weight:650}
.mis__txt .link-arrow{margin-top:26px}

/* ---- programas (capítulos fixos) ---- */
.prog{padding:0 0 var(--sec)}
.prog__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,88px);align-items:start}
.prog__side .h2{font-size:clamp(2.3rem,4.8vw,4.5rem);max-width:11ch}
.prog__side .lead{margin-top:22px}
.prog__list{display:none;margin-top:36px}
.prog__list button{display:block;width:100%;text-align:left;padding:9px 0;font:650 1.18rem/1.2 var(--display);letter-spacing:-.02em;color:var(--ink-2);opacity:.55;transition:opacity .3s,color .3s,padding-left .5s var(--ease)}
.prog__list button:hover{opacity:.9}
.prog__list button[aria-current="true"]{opacity:1;color:var(--ink);padding-left:18px;position:relative}
.prog__list button[aria-current="true"]::before{content:"";position:absolute;left:0;top:50%;width:10px;height:4px;margin-top:-2px;border-radius:9px;background:var(--lima);box-shadow:0 0 0 1px var(--ink)}
.prog__stage{display:grid;gap:clamp(36px,5vw,56px);margin-top:clamp(36px,5vw,0px)}
.pcard{display:grid;gap:22px}
.pcard__img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1.42/1;background:var(--paper-2);position:relative}
.pcard__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pcard__body h3{font:700 clamp(1.7rem,2.8vw,2.5rem)/1.05 var(--display);letter-spacing:-.035em}
.pcard__body .kicker{display:block;margin-bottom:12px}
.pcard__body p{margin-top:14px;color:var(--ink-2);max-width:56ch;text-wrap:pretty}
/* modo fixo (desktop com JS) */
.prog.is-pinned{padding:0;height:100dvh;overflow:hidden}
.prog.is-pinned .wrap{height:100%}
.prog.is-pinned .prog__grid{height:100%;align-items:center;padding-top:88px}
.prog.is-pinned .prog__list{display:block}
.prog.is-pinned .prog__stage{display:grid;margin:0;gap:0;position:relative}
.prog.is-pinned .pcard{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility 0s .6s;gap:20px}
.prog.is-pinned .pcard.is-active{opacity:1;visibility:visible;transition:opacity .7s var(--ease) .1s,visibility 0s}
.prog.is-pinned .pcard__img{aspect-ratio:auto;height:min(52dvh,520px)}
.prog.is-pinned .pcard__img img{transform:scale(1.14);transition:transform 1.6s var(--ease)}
.prog.is-pinned .pcard.is-active .pcard__img img{transform:scale(1)}
.prog.is-pinned .pcard__body>*{transform:translateY(16px);opacity:0;transition:transform .8s var(--ease),opacity .6s}
.prog.is-pinned .pcard.is-active .pcard__body>*{transform:none;opacity:1}
.prog.is-pinned .pcard.is-active .pcard__body>*:nth-child(2){transition-delay:.08s}
.prog.is-pinned .pcard.is-active .pcard__body>*:nth-child(3){transition-delay:.16s}

/* ---- acervo (teaser) ---- */
.acervo{padding:calc(var(--sec)*.4) 0 var(--sec);overflow-x:clip}
.acervo__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,110px);align-items:center}
.acervo__fan{position:relative;aspect-ratio:1/1;max-width:560px;width:100%}
.acervo__fan figure{position:absolute;width:52%;aspect-ratio:3/4;border-radius:var(--r-lg);overflow:hidden;border:6px solid var(--paper);box-shadow:0 30px 60px -30px rgb(0 51 0 / .55);background:var(--paper-2)}
.acervo__fan img{width:100%;height:100%;object-fit:cover}
.acervo__fan figure:nth-child(1){left:2%;top:14%;transform:rotate(-9deg)}
.acervo__fan figure:nth-child(2){left:24%;top:2%;transform:rotate(3deg);z-index:2}
.acervo__fan figure:nth-child(3){right:0;top:20%;transform:rotate(11deg)}
.acervo__num{font:700 clamp(7rem,17vw,15rem)/.82 var(--display);letter-spacing:-.07em;font-variant-numeric:tabular-nums lining-nums;display:flex;align-items:baseline;gap:.05em}
.acervo__num small{font:650 clamp(1.1rem,1.8vw,1.5rem)/1.2 var(--display);letter-spacing:-.02em;max-width:9ch;color:var(--ink-2)}
.acervo .h2{margin-top:clamp(20px,3vw,40px);font-size:clamp(2rem,3.8vw,3.4rem);max-width:15ch}
.acervo .copy{margin-top:20px}
.acervo .btn{margin-top:32px}

/* ---- apoiar ---- */
.support{background:var(--lima-soft);border-radius:var(--r-xl);margin:0 clamp(8px,1.2vw,18px);padding:clamp(64px,9vw,130px) 0}
.support__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,104px);align-items:start}
.support__media{position:sticky;top:110px}
.support__media .frame{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;background:var(--paper-2);position:relative}
.support__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.support .h2{font-size:clamp(2.3rem,4.8vw,4.5rem);max-width:13ch}
.ways{margin-top:clamp(32px,4vw,56px)}
.way{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:26px 0;border-top:1.5px solid rgb(12 36 16 / .16)}
@media (prefers-color-scheme:dark){.way{border-top-color:var(--line)}}
.way:last-child{border-bottom:1.5px solid rgb(12 36 16 / .16)}
@media (prefers-color-scheme:dark){.way:last-child{border-bottom-color:var(--line)}}
.way__ico{width:52px;height:52px;border-radius:50%;background:var(--lima);color:var(--on-lima);display:grid;place-items:center}
.way__ico .i{width:26px;height:26px}
.way h3{font:650 1.5rem/1.15 var(--display);letter-spacing:-.025em}
.way p{margin-top:8px;color:var(--ink-2);max-width:56ch}
.way .link-arrow{margin-top:14px}
.bank{margin-top:16px;display:grid;gap:10px;max-width:460px}
.bank__row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border-radius:var(--r-md);padding:10px 10px 10px 18px}
.bank__row span{display:block;font-size:.8rem;color:var(--ink-2);line-height:1.2}
.bank__row b{display:block;font-weight:650;font-variant-numeric:tabular-nums;font-size:1.05rem}
.copybtn{flex:none;height:42px;min-width:42px;padding:0 14px;border-radius:99px;display:inline-flex;align-items:center;gap:8px;background:var(--paper-2);font-weight:650;font-size:.9rem;transition:background-color .3s,transform .3s var(--ease)}
.copybtn:hover{background:var(--lima)}
.copybtn:active{transform:scale(.95)}
.copybtn .i{width:18px;height:18px}
.copybtn.is-done{background:var(--lima);color:var(--on-lima)}
.contact{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(28px,3.5vw,44px)}
.contact a{display:inline-flex;align-items:center;gap:.6em;height:52px;padding:0 22px;border-radius:99px;background:var(--surface);font-weight:650;text-decoration:none;transition:background-color .3s,transform .4s var(--ease)}
.contact a:hover{background:var(--forest);color:var(--lima);transform:translateY(-2px)}

/* ---- rodapé ---- */
.foot{margin-top:clamp(8px,1.2vw,18px);background:var(--lima) url("../img/pattern.svg") 0 0/220px;color:var(--on-lima);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:clamp(64px,8vw,112px) 0 32px;--lg-r:var(--forest);--lg-g:var(--forest);--lg-t:var(--forest);position:relative;overflow:hidden}
.foot__top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.foot__lead{font:700 clamp(1.9rem,4vw,3.6rem)/1.02 var(--display);letter-spacing:-.04em;max-width:15em;text-wrap:balance}
.foot__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:clamp(48px,6vw,88px)}
.foot__h{font:700 1.05rem/1.2 var(--display);letter-spacing:-.01em;margin-bottom:16px}
.foot ul{display:grid;gap:9px;font-weight:550}
.foot li a{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .5s var(--ease);padding-bottom:2px}
.foot li a:hover{background-size:100% 2px}
.foot__mark{margin:clamp(40px,7vw,96px) 0 clamp(20px,3vw,40px);transform-origin:0 100%}
.foot__mark .lg{width:100%;height:auto}
.foot__legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.92rem;font-weight:550;border-top:1.5px solid rgb(0 51 0 / .3);padding-top:22px}
.foot__legal a{text-decoration:none;display:inline-flex;align-items:center;gap:.4em}
.foot__legal a:hover{text-decoration:underline}

/* ==========================================================================
   PÁGINAS INTERNAS
   ========================================================================== */
.phead{padding:132px 0 clamp(40px,6vw,88px)}
.phead__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,88px);align-items:center}
.phead h1{font:700 clamp(2.6rem,5.7vw,5.4rem)/.98 var(--display);letter-spacing:-.038em;text-wrap:balance}
.phead h1 .ln{display:block;overflow:hidden;padding:.06em .04em .14em;margin:-.06em -.04em -.14em}
.phead h1 .ln>span{display:block}
.phead .lead{margin-top:28px}
.phead__media{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:1/1.02;background:var(--paper-2);position:relative;box-shadow:0 40px 80px -44px rgb(0 51 0 / .55)}
.phead__media img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover}
.phead__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}

/* ---- equipamentos: bento ---- */
.acervo-sec{padding:calc(var(--sec)*.35) 0 var(--sec)}
.acervo-sec .h2{max-width:14ch;margin-bottom:clamp(36px,5vw,64px)}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(120px,11.4vw,168px);gap:clamp(10px,1.3vw,18px)}
.cell{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--paper-2);isolation:isolate}
.cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);z-index:-2}
.cell:hover img{transform:scale(1.06)}
.cell--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(0 26 0 / .94) 0%,rgb(0 26 0 / .82) 34%,rgb(0 26 0 / .4) 58%,transparent 80%);z-index:-1}
.cell__t{position:absolute;left:0;right:0;bottom:0;padding:clamp(16px,1.8vw,26px);color:#F4F9EA;text-shadow:0 1px 14px rgb(0 26 0 / .55)}
.cell h3{font:700 clamp(1.25rem,2vw,1.85rem)/1.05 var(--display);letter-spacing:-.03em}
.cell p{margin-top:8px;font-size:.95rem;line-height:1.4;max-width:34ch;opacity:.92}
.cell__n{display:block;margin-top:10px;font-weight:650;font-size:.92rem;opacity:.95}
.cell--type{padding:clamp(18px,2vw,30px);display:flex;flex-direction:column;justify-content:space-between;color:var(--on-lima)}
.cell--lima{background:var(--lima)}
.cell--soft{background:var(--lima-soft)}
.cell--ink{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.cell--type .cell__t{position:static;padding:0;color:inherit;text-shadow:none}
.cell--type .cell__ico{width:clamp(44px,4vw,60px);height:clamp(44px,4vw,60px)}
.cell--type .cell__count{font:700 clamp(3rem,6vw,5.6rem)/.85 var(--display);letter-spacing:-.06em}
.cell--type p{opacity:.85}
.cell--type .cell__n{opacity:.85}
.c1{grid-column:1/6;grid-row:1/5}
.c2{grid-column:6/10;grid-row:1/3}
.c3{grid-column:10/13;grid-row:1/3}
.c4{grid-column:6/10;grid-row:3/5}
.c5{grid-column:10/13;grid-row:3/5}
.c6{grid-column:1/4;grid-row:5/9}
.c7{grid-column:4/9;grid-row:5/7}
.c8{grid-column:9/13;grid-row:5/7}
.c9{grid-column:4/8;grid-row:7/9}
.c10{grid-column:8/13;grid-row:7/9}
.acervo-total{margin-top:clamp(36px,5vw,64px);font:650 clamp(1.5rem,2.6vw,2.2rem)/1.2 var(--display);letter-spacing:-.025em;max-width:30ch}
.acervo-total b{background:var(--lima);color:var(--on-lima);padding:0 .3em;border-radius:.3em;font-weight:700}

/* ---- como reservar ---- */
.how{padding:var(--sec) 0}
.how__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,104px);align-items:start}
.how__side{position:sticky;top:120px}
.how__side .h2{font-size:clamp(2.3rem,4.8vw,4.5rem);max-width:12ch}
.how__side .lead{margin-top:24px}
.steps{position:relative;padding-left:clamp(36px,4vw,56px)}
.steps__line{position:absolute;left:11px;top:14px;bottom:14px;width:4px;border-radius:9px;background:var(--line)}
.steps__line span{display:block;width:100%;height:100%;border-radius:9px;background:var(--forest);transform-origin:top;transform:scaleY(var(--p,1))}
@media (prefers-color-scheme:dark){.steps__line span{background:var(--lima)}}
html.js .steps__line span{--p:0}
.step{position:relative;padding:0 0 clamp(52px,7vw,96px);opacity:1}
html.js .step{opacity:.28;transition:opacity .6s var(--ease)}
html.js .step.is-on{opacity:1}
html.reduce .step,html.no-anim .step{opacity:1}
html.reduce .steps__line span,html.no-anim .steps__line span{--p:1}
.step:last-child{padding-bottom:0}
.step::before{content:"";position:absolute;left:calc(-1*clamp(36px,4vw,56px) + 3px);top:8px;width:20px;height:20px;border-radius:50%;background:var(--paper);border:4px solid var(--line);transition:background-color .4s,border-color .4s}
.step.is-on::before{background:var(--lima);border-color:var(--forest)}
@media (prefers-color-scheme:dark){.step.is-on::before{border-color:var(--lima)}}
.step h3{font:700 clamp(1.7rem,3.2vw,2.8rem)/1.05 var(--display);letter-spacing:-.035em}
.step p{margin-top:12px;color:var(--ink-2);max-width:48ch;font-size:1.1rem}
.rules{padding:0 0 var(--sec)}
.rules__box{background:var(--lima-soft);border-radius:var(--r-xl);padding:clamp(32px,5vw,72px);display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,80px)}
.rules__box .h2{font-size:clamp(2rem,3.8vw,3.4rem);max-width:12ch}
.rules__list{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px}
.rules__list li{display:grid;gap:8px;align-content:start}
.rules__list .i{width:32px;height:32px}
.rules__list h3{font:650 1.28rem/1.15 var(--display);letter-spacing:-.02em}
.rules__list p{color:var(--ink-2);font-size:1rem;line-height:1.5}
.callout{padding:0 0 var(--sec)}
.callout__box{border:1.5px solid var(--line);border-radius:var(--r-xl);padding:clamp(28px,4vw,56px);display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.callout__box h2{font:700 clamp(1.7rem,3vw,2.6rem)/1.08 var(--display);letter-spacing:-.035em;max-width:22ch}
.callout__box p{margin-top:12px;color:var(--ink-2);max-width:52ch}
.callout__cta{display:flex;gap:12px;flex-wrap:wrap}

/* ---- cadastro ---- */
.cad{padding:0 0 var(--sec)}
.cad__grid{display:grid;grid-template-columns:4fr 8fr;gap:clamp(32px,6vw,104px);align-items:start}
.cad__aside{position:sticky;top:112px;display:grid;gap:28px}
.cad__aside h2{font:700 clamp(1.7rem,2.6vw,2.3rem)/1.08 var(--display);letter-spacing:-.03em}
.cad__flow{display:grid;gap:22px;margin-top:6px}
.cad__flow li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
.cad__flow .i{width:44px;height:44px;padding:10px;border-radius:50%;background:var(--lima);color:var(--on-lima)}
.cad__flow b{display:block;font-weight:650;font-size:1.08rem}
.cad__flow span{color:var(--ink-2);font-size:.98rem;line-height:1.45}
.cad__pic{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1/1;background:var(--paper-2)}
.cad__pic img{width:100%;height:100%;object-fit:cover}
.form{background:var(--surface);border-radius:var(--r-xl);padding:clamp(24px,4.4vw,64px);box-shadow:0 40px 90px -60px rgb(0 51 0 / .5)}
.fset{border:0;padding:0;margin:0 0 clamp(36px,4.5vw,56px);min-width:0}
.fset legend{padding:0;font:700 clamp(1.5rem,2.4vw,2rem)/1.1 var(--display);letter-spacing:-.03em;margin-bottom:8px}
.fset__hint{color:var(--ink-2);font-size:1rem;margin-bottom:22px;max-width:52ch}
.field{display:grid;gap:8px;margin-bottom:20px;min-width:0;align-content:start}
.field label,.field .lab{font-weight:650;font-size:.98rem}
.field .hint{font-weight:450;color:var(--ink-2)}
.field input,.field textarea,.field select{width:100%;min-height:56px;padding:14px 18px;border-radius:var(--r-md);border:1.5px solid color-mix(in srgb,var(--ink) 42%,transparent);background:var(--paper);font-size:1.02rem;line-height:1.4;transition:border-color .25s,box-shadow .25s,background-color .25s}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-2);opacity:.85}
.field textarea{min-height:132px;resize:vertical}
.field input:hover,.field textarea:hover{border-color:var(--ink)}
.field input:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px var(--lima)}
.field .err{display:none;color:var(--error);font-size:.92rem;font-weight:600}
.field.has-error input,.field.has-error textarea{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}
.field.has-error .err{display:block}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:start}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip-c{position:relative}
.chip-c input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.chip-c span{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:99px;border:1.5px solid color-mix(in srgb,var(--ink) 42%,transparent);font-weight:600;transition:background-color .25s,border-color .25s,transform .3s var(--ease)}
.chip-c span .i{width:0;height:1.1em;margin-left:-4px;transition:width .3s var(--ease)}
.chip-c input:hover+span{border-color:var(--ink)}
.chip-c input:checked+span{background:var(--lima);border-color:var(--lima);color:var(--on-lima)}
.chip-c input:checked+span .i{width:1.1em}
.chip-c input:active+span{transform:scale(.96)}
.chip-c input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}
.resp{border:1.5px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,30px);margin-bottom:16px;position:relative;background:var(--paper)}
.resp__title{font:700 1.2rem/1 var(--display);letter-spacing:-.02em;margin-bottom:18px}
.resp__remove{position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);transition:background-color .25s}
.resp__remove:hover{background:var(--lima)}
.resp__remove .i{width:18px;height:18px}
.resp .field:last-child{margin-bottom:0}
.btn-add{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border-radius:99px;border:1.5px dashed color-mix(in srgb,var(--ink) 48%,transparent);font-weight:650;transition:background-color .3s,border-color .3s}
.btn-add:hover{background:var(--lima-soft);border-color:var(--ink)}
.check{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start;cursor:pointer;line-height:1.5;margin:8px 0 32px}
.check input{width:24px;height:24px;margin:2px 0 0;accent-color:var(--forest)}
.check.has-error{color:var(--error)}
.form__actions{display:flex;flex-wrap:wrap;gap:12px}
.form__msg{margin-top:20px}
.form-error{padding:16px 20px;border-radius:var(--r-md);border:1.5px solid var(--error);color:var(--error);font-weight:600}
.confirm{background:var(--lima-soft);border-radius:var(--r-xl);padding:clamp(24px,4.4vw,64px)}
.confirm h2{font:700 clamp(2rem,4vw,3.4rem)/1.02 var(--display);letter-spacing:-.04em;max-width:14ch}
.confirm>p{margin-top:16px;max-width:52ch;color:var(--ink-2)}
.confirm pre{margin:26px 0;padding:22px;border-radius:var(--r-md);background:var(--surface);white-space:pre-wrap;word-break:break-word;font:500 .95rem/1.6 var(--sans);max-height:340px;overflow:auto}
.confirm__actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---- 404 ---- */
.nf{min-height:100dvh;display:grid;place-items:center;text-align:left;padding:120px 0 60px}
.nf__grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,72px);align-items:center}
.nf .lg--mark{width:clamp(120px,18vw,220px);height:auto}
.nf h1{font:700 clamp(2.6rem,7vw,6rem)/.98 var(--display);letter-spacing:-.05em}
.nf p{margin:22px 0 32px;color:var(--ink-2);max-width:40ch}

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */
@media (max-width:1023px){
  .hero{padding-top:104px}
  .hero__grid{grid-template-columns:1fr;gap:56px}
  .hero__media{justify-self:center;max-width:560px}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(n){margin-top:0}
  .stat:nth-child(even){margin-top:56px}
  .story__cols{grid-template-columns:1fr;gap:20px}
  .story__cols p:nth-child(1),.story__cols p:nth-child(2){grid-column:auto}
  .story__banner{aspect-ratio:1.5/1}
  .prog__grid,.support__grid,.how__grid,.cad__grid,.phead__grid,.acervo__grid,.rules__box{grid-template-columns:1fr}
  .support__media,.how__side,.cad__aside{position:static}
  .support__media .frame{aspect-ratio:4/3}
  .phead__media{aspect-ratio:4/3;max-width:640px}
  .acervo__fan{max-width:440px;margin-inline:auto;order:2}
  .prog__side .h2{max-width:none}
  .foot__cols{grid-template-columns:1fr 1fr}
  .mis__grid{grid-template-columns:1fr}
  .scard{grid-template-columns:minmax(0,1fr);min-height:0}
  .scard__side{min-height:200px}
  /* bento vira 2 colunas */
  .bento{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(110px,22vw,170px)}
  .c1{grid-column:1/4;grid-row:1/4}.c2{grid-column:4/7;grid-row:1/3}.c3{grid-column:4/7;grid-row:3/4}
  .c4{grid-column:1/4;grid-row:4/6}.c5{grid-column:4/7;grid-row:4/6}
  .c6{grid-column:1/4;grid-row:6/9}.c7{grid-column:4/7;grid-row:6/8}.c8{grid-column:4/7;grid-row:8/9}
  .c9{grid-column:1/4;grid-row:9/11}.c10{grid-column:4/7;grid-row:9/11}
}
@media (max-width:640px){
  html{scroll-padding-top:88px}
  .hero__lede{font-size:1.1rem}
  .hero__cta .btn{flex:1 1 100%}
  .hero__media{aspect-ratio:5/6.1}
  .hero__a{left:-4%}
  .hero__b{right:-2%}
  .stats{grid-template-columns:1fr;gap:44px}
  .stat:nth-child(even){margin-top:0}
  .grid-2{grid-template-columns:1fr}
  .rules__list{grid-template-columns:1fr}
  .foot__cols{grid-template-columns:1fr}
  .foot__top .btn{width:100%}
  .bank__row{padding-left:14px}
  .nf__grid{grid-template-columns:1fr}
  .mis__btn{align-items:flex-start}
  .callout__cta .btn,.phead__cta .btn{flex:1 1 100%}
  .form{border-radius:var(--r-lg)}
  .block,.support{border-radius:var(--r-lg)}
  .foot{border-radius:var(--r-lg) var(--r-lg) 0 0}
}

/* movimento reduzido: tudo estático e legível */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
