:root{--bg:#fff;--bg2:#f4f6f9;--ink:#22344d;--ink2:#5a6a82;--line:#e1e6ee;--crianca:#ec8e67;--pais:#2b435f;--avos:#9883ae;--escola:#5daaa4;--sand:#f6f1e8;--dark:#1a2536;--btn:#2b435f;--btn-ink:#fff;
/* variantes para texto (contraste >= 4.5:1 sobre fundos claros); as cores de marca originais ficam para apontamentos decorativos */
--crianca-ink:#a84d27;--escola-ink:#33736d;--avos-ink:#6a5a86;--pais-ink:#2b435f}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:18px;line-height:1.6}
img{max-width:100%;height:auto;display:block}a{color:inherit}
h1,h2,h3,h4{line-height:1.08;margin:0 0 .5em;font-weight:900;letter-spacing:-.02em;overflow-wrap:break-word;hyphens:auto}
h1{font-size:clamp(2.4rem,6vw,4.6rem)}h2{font-size:clamp(1.9rem,4vw,3rem)}h3{font-size:clamp(1.35rem,2.4vw,1.8rem);font-weight:800}h4{font-size:1.1rem;font-weight:800;margin:.4rem 0 .2rem}
p{margin:0 0 1em;max-width:60ch}.lead{font-size:clamp(1.1rem,1.7vw,1.35rem);color:var(--ink2)}
.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2.5rem)}
.btn{display:inline-block;background:var(--btn);color:var(--btn-ink);padding:.85rem 1.5rem;border-radius:999px;font-weight:800;text-decoration:none;border:0;font:inherit;font-weight:800;cursor:pointer;font-size:1rem}
.btn.light{background:#fff;color:#22344d}.btn.ghost{background:transparent;color:inherit;border:2px solid currentColor}
.badge{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;background:var(--sand);color:var(--ink2);vertical-align:middle;margin-left:.5rem}
.badge.later{background:#f3e3d8;color:#8a4a2b}
header.top{position:fixed;inset:0 0 auto 0;z-index:10;transition:background .3s,color .3s,box-shadow .3s;color:#fff}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1rem}
header.top.solid{background:var(--bg);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.brand{font-weight:900;font-size:1.5rem;text-decoration:none;display:flex;align-items:center;gap:.5rem}.brand img{width:34px;background:#fff;border-radius:50%;padding:2px}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.5rem;font-weight:700;font-size:.95rem}nav a{text-decoration:none;opacity:.85}nav a:hover,nav a.on,nav a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:6px}
nav ul li.cta-mobile{display:none}
.menu-toggle{display:none;background:none;border:0;font:inherit;font-weight:800;color:inherit;cursor:pointer}
@media (max-width:1000px){nav ul{display:none;position:absolute;left:0;right:0;top:68px;background:var(--bg);color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.12);flex-direction:column;gap:0;padding:.5rem 1.25rem 1rem}nav ul li{padding:.6rem 0}nav.open ul{display:flex}.menu-toggle{display:inline-block}.top .cta-nav{display:none}nav ul li.cta-mobile{display:block;padding-top:1rem}nav ul li.cta-mobile a{display:inline-block;background:var(--btn);color:#fff;padding:.7rem 1.2rem;border-radius:999px;text-decoration:none;opacity:1}}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;isolation:isolate;overflow:hidden}
.hero.short{min-height:64svh;align-items:flex-end}
.hero.banner{min-height:92svh;align-items:stretch}.hero.banner .wrap{display:flex;padding-top:0;padding-bottom:0}.hero.banner .copy{display:flex;flex-direction:column;justify-content:space-between;min-height:92svh;padding:10svh 0 4rem}.hero.banner .ft .cta{margin-top:0}.hero.banner .ft .pill{margin:1rem 0 0}.hero.banner h1{text-shadow:0 2px 28px rgba(0,0,0,.45)}.hero.banner .lead{text-shadow:0 1px 12px rgba(0,0,0,.4)}
.hero img.mob,.mlogo{display:none}
@media (max-width:760px){.hero.banner img.desk{display:none}.hero.banner img.mob{display:block;object-position:center 60%}.hero.banner{min-height:100svh}.hero.banner .copy{min-height:100svh;padding-top:9svh}.hero.banner h1{font-size:clamp(2.2rem,5vw,4rem);max-width:14ch}.mlogo{display:flex;position:absolute;top:22%;left:0;right:0;justify-content:center;align-items:center;gap:.6rem;color:#fff;font-weight:900;font-size:2.2rem;text-shadow:0 2px 16px rgba(0,0,0,.35)}.mlogo img{width:56px;background:#fff;border-radius:50%;padding:4px}.hero.banner::after{background:linear-gradient(180deg,rgba(20,28,40,.4) 0%,rgba(20,28,40,.4) 50%,rgba(20,28,40,.65) 75%,rgba(20,28,40,.92) 100%)}}.hero.banner::after{background:linear-gradient(180deg,rgba(20,28,40,.5) 0%,rgba(20,28,40,.4) 40%,rgba(20,28,40,.5) 75%,rgba(20,28,40,.85) 100%)}.hero.banner .copy{max-width:100%;width:100%;text-align:center;align-items:center}.hero.banner h1{max-width:24ch;margin:0 auto;font-size:calc(clamp(2.2rem,5vw,4rem) + 20px)}.hero.banner .cta{justify-content:center}.hero.banner .ft{text-align:center}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,center);z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,28,40,.62) 0%,rgba(20,28,40,.45) 38%,rgba(20,28,40,.05) 62%,rgba(20,28,40,0) 100%),linear-gradient(180deg,rgba(20,28,40,.35) 0%,rgba(20,28,40,0) 30%)}
.hero.short::after{background:linear-gradient(180deg,rgba(20,28,40,.4) 0%,rgba(20,28,40,.1) 40%,rgba(20,28,40,.75) 100%)}
.hero .wrap{padding-top:6rem;padding-bottom:4rem;width:100%}.hero .copy{max-width:min(600px,60%)}
.hero .pill{display:inline-block;padding:.35rem .9rem;border-radius:999px;font-size:.85rem;font-weight:800;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);margin-bottom:1.2rem}
.hero h1{max-width:12ch;text-shadow:0 2px 24px rgba(0,0,0,.25)}.hero .lead{color:rgba(255,255,255,.92);max-width:46ch}.hero .cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
@media (max-width:860px){.hero{align-items:flex-end}.hero .copy{max-width:100%}.hero::after{background:linear-gradient(180deg,rgba(20,28,40,.35) 0%,rgba(20,28,40,.05) 30%,rgba(20,28,40,.72) 70%,rgba(20,28,40,.9) 100%)}}
section{padding:clamp(4rem,10vh,8rem) 0}section.alt{background:var(--bg2)}section.sand{background:var(--sand)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}.grid2 h2{font-size:clamp(2rem,3.6vw,3rem)}.grid2 .lead{font-size:clamp(1.15rem,1.6vw,1.45rem)}.grid2 p:not(.lead){font-size:1.1rem}.grid2.top{align-items:start}
@media (max-width:860px){.grid2{grid-template-columns:1fr;gap:2rem}}
.grid2>*,.cards3>*,.story>*,.panels>*,.gens>*,.vida-grid>*{min-width:0}
.rimg{border-radius:22px;aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:0 20px 60px rgba(20,28,40,.12)}
.free{border-radius:22px;width:100%;background:transparent}
section.white{background:#fff}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.card{display:block;text-decoration:none;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:1.4rem;transition:transform .2s}.card:hover{transform:translateY(-3px)}
.card .k{font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;color:var(--ct,var(--c))}.card h3{margin:.3rem 0 .3rem}.card p{color:var(--ink2);font-size:1rem;margin:0}
@media (max-width:860px){.cards3{grid-template-columns:1fr}}
.story{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2rem;counter-reset:s}
.story figure{margin:0;counter-increment:s}.story img{border-radius:16px;aspect-ratio:4/3;object-fit:cover;width:100%}
.story figcaption{margin-top:.8rem;font-size:1rem;color:var(--ink2)}.story figcaption b{color:var(--ink)}
.story figcaption::before{content:counter(s);display:inline-flex;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--escola-ink);color:#fff;font-weight:900;align-items:center;justify-content:center;margin-right:.5rem;font-size:.9rem}
@media (max-width:860px){.story{grid-template-columns:1fr 1fr}}@media (max-width:520px){.story{grid-template-columns:1fr}}
.panels{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}.panels figure{margin:0}.panels img{border-radius:16px;aspect-ratio:3/2;object-fit:cover;width:100%}
.panels figcaption{font-size:.95rem;color:var(--ink2);margin-top:.6rem}@media (max-width:860px){.panels{grid-template-columns:1fr}}
.cap{font-size:.9rem;color:var(--ink2);text-align:center;margin-top:1rem}
.gens{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.gen{border-radius:18px;background:var(--bg2);border-top:6px solid var(--c);overflow:hidden;text-decoration:none;display:block}
.gen img{aspect-ratio:3/2;object-fit:cover;width:100%}.gen h3{color:var(--ct,var(--c));margin:1rem 1.3rem .2rem;font-size:1.25rem}.gen p.sub{font-weight:800;color:var(--ink);margin:0 1.3rem .6rem}.gen p{font-size:1rem;color:var(--ink2);margin:0 1.3rem 1.3rem}
@media (max-width:900px){.gens{grid-template-columns:1fr 1fr}}@media (max-width:520px){.gens{grid-template-columns:1fr}}
.nao{background:var(--dark);color:#f3f5f8}.nao .grid2{align-items:start}.nao h2{color:#fff}.nao p{color:rgba(255,255,255,.78)}
.nao ul{list-style:none;margin:0;padding:0;font-size:clamp(1.2rem,2.4vw,1.8rem);font-weight:800;line-height:1.25}
.nao ul li{padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.15);display:flex;gap:1rem;align-items:baseline}.nao ul li span{color:var(--crianca);font-size:.8em}/* sobre fundo escuro: 6.3:1 */
.nao a.btn{margin-top:1.5rem}
.steps{display:grid;gap:1.2rem;margin-top:1.6rem;counter-reset:st}.step{counter-increment:st;display:grid;grid-template-columns:3rem 1fr;gap:1rem;align-items:start}
.step::before{content:counter(st);width:3rem;height:3rem;border-radius:50%;background:var(--escola-ink);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.step p{color:var(--ink2);margin:0;font-size:1rem}
.tally{border:1px solid var(--line);border-radius:22px;padding:1rem;background:var(--bg);box-shadow:0 20px 60px rgba(20,28,40,.08)}.tally iframe{display:block;border-radius:14px}
.note{font-size:.9rem;color:var(--ink2)}.note a{font-weight:700}
.mod{display:grid;grid-template-columns:1fr 1fr;min-height:60vh}.mod .media{position:relative;overflow:hidden}.mod .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mod .text{padding:clamp(2.5rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center;background:var(--bg2)}.mod:nth-child(even) .media{order:2}
.mod .kicker{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--ct,var(--c));margin-bottom:.8rem}.mod h3{position:relative;padding-left:1.1rem}.mod h3::before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:6px;border-radius:3px;background:var(--c)}
@media (max-width:860px){.mod{grid-template-columns:1fr;min-height:0}.mod .media{aspect-ratio:4/3;order:0!important}}
.full{position:relative;min-height:80vh;display:flex;align-items:center;color:#fff;isolation:isolate}.full img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.full::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,28,40,.82),rgba(20,28,40,.3) 65%,rgba(20,28,40,0))}.full .box{max-width:540px}.full p{color:rgba(255,255,255,.9)}
.plist{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:1rem}.plist li{padding:1.2rem 1.4rem;border-radius:16px;background:var(--bg2);border-left:6px solid var(--crianca)}.plist li b{display:block;font-size:1.15rem}
.faq details{border-bottom:1px solid var(--line);padding:1rem 0}.faq summary{font-weight:800;font-size:1.15rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq summary::after{content:"+";color:var(--escola-ink);font-size:1.4rem}.faq details[open] summary::after{content:"–"}.faq p{margin:.8rem 0 0;color:var(--ink2)}
.priv h3{margin-top:2rem}.priv .todo{background:#fff6ec;border:1px dashed #e0a67a;padding:.6rem .9rem;border-radius:10px;color:#8a4a2b;font-size:.95rem}
.cta-band{background:var(--pais);color:#fff;padding:3.5rem 0;text-align:center}.cta-band h2{color:#fff;margin-bottom:1rem}
footer{border-top:1px solid var(--line);padding:2.5rem 0;font-size:.95rem;color:var(--ink2)}footer .wrap{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}footer ul{list-style:none;padding:0;margin:0;display:flex;gap:1.2rem;flex-wrap:wrap}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.rv.in,.nojs .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
.diagram{max-width:820px;margin:2rem auto 0}.diagram svg{width:100%;height:auto}
.svgfig{margin:2rem 0 0}.svgfig svg{width:100%;height:auto}
.page{display:none}.page.on{display:block}
/* animações */
.grid2>.rv:first-child{transform:translateX(-3vw)}.grid2>.rv:last-child{transform:translateX(3vw);transition-delay:.15s}
.grid2>img.rv,.grid2>.svgfig.rv{transform:translateX(3vw) scale(.96)}.grid2>img.rv:first-child,.grid2>.svgfig.rv:first-child{transform:translateX(-3vw) scale(.96)}
.grid2>.rv.in{transform:none}
@media (max-width:860px){.grid2>.rv:first-child,.grid2>.rv:last-child,.grid2>img.rv,.grid2>.svgfig.rv,.grid2>img.rv:first-child,.grid2>.svgfig.rv:first-child{transform:translateY(22px)}.grid2>.rv.in{transform:none}}
.rv{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.story figure.rv:nth-child(2){transition-delay:.12s}.story figure.rv:nth-child(3){transition-delay:.24s}.story figure.rv:nth-child(4){transition-delay:.36s}
.panels figure.rv:nth-child(2){transition-delay:.12s}.panels figure.rv:nth-child(3){transition-delay:.24s}
.gens .gen.rv:nth-child(2){transition-delay:.1s}.gens .gen.rv:nth-child(3){transition-delay:.2s}.gens .gen.rv:nth-child(4){transition-delay:.3s}
.cards3 .card.rv:nth-child(2){transition-delay:.1s}.cards3 .card.rv:nth-child(3){transition-delay:.2s}
.plist li.rv:nth-child(n+2){transition-delay:calc(.06s * var(--i,1))}
.free.rv:hover,.rimg.rv:hover{transform:translateY(-4px) scale(1.01);transition:transform .4s ease}
@keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero .copy>*{animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both}.hero .copy>*:nth-child(2){animation-delay:.15s}.hero .copy>*:nth-child(3){animation-delay:.3s}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}
.hero img{animation:kenburns 14s ease-out both}
@media (prefers-reduced-motion:reduce){.grid2>.rv,.rv,.free.rv:hover,.rimg.rv:hover{transform:none!important;transition:none}.hero .copy>*,.hero img{animation:none}}
.gains{list-style:none;padding:0;margin:1rem 0 1.2rem;display:grid;gap:.5rem;font-size:1.1rem}.gains li{padding-left:1.4rem;position:relative}.gains li::before{content:"";position:absolute;left:0;top:.55em;width:.65rem;height:.65rem;border-radius:50%;background:var(--crianca)}
section.fb{padding:clamp(4rem,9vh,7rem) 0}section.fb .grid2{gap:4.5rem}section.fb .grid2 h2{font-size:clamp(2rem,4.4vw,3.8rem)}section.fb .grid2 .lead{font-size:clamp(1.3rem,1.9vw,1.7rem)}section.fb .kicker{font-size:.9rem!important}section.fb .rimg{aspect-ratio:4/3}section.fb .free{transform:scale(1.06)}
@media (max-width:860px){section.fb{padding:3rem 0}section.fb .free{transform:none}}
@media (max-width:760px){.hero.banner h1{font-size:2.2rem;max-width:14ch}}
header.top.force{background:var(--bg);color:var(--ink);box-shadow:0 1px 0 var(--line)}
/* Vida em comunidade */
.vida{background:#faf7f2}.vida .lead{max-width:62ch}
.vida-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;align-items:start;margin-top:2rem}
.vida-col{border-top:1px solid var(--line)}
.vida details{border-bottom:1px solid var(--line);padding:0}
.vida summary{display:flex;align-items:center;gap:.9rem;padding:.95rem .25rem;cursor:pointer;list-style:none;font-weight:800;font-size:1.05rem;line-height:1.3;color:var(--ink);border-radius:8px}
.vida summary::-webkit-details-marker{display:none}
.vida summary:hover{color:var(--pais)}

.vida .vi{flex:0 0 auto;width:24px;height:24px;color:var(--escola-ink)}.vida .vi svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vida .vt{flex:1 1 auto}
.vida .vs{flex:0 0 auto;width:22px;height:22px;position:relative;color:var(--escola-ink)}
.vida .vs::before,.vida .vs::after{content:"";position:absolute;left:50%;top:50%;background:currentColor;border-radius:1px;transform:translate(-50%,-50%);transition:transform .2s ease}
.vida .vs::before{width:14px;height:2px}.vida .vs::after{width:2px;height:14px}
.vida details[open] .vs::after{transform:translate(-50%,-50%) scaleY(0)}
.vida .vb{padding:0 .25rem 1.1rem calc(24px + .9rem + .25rem)}.vida .vb p{margin:0;color:var(--ink2);line-height:1.6}
@keyframes vidaIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.vida details[open] .vb{animation:vidaIn .22s ease}
@media (prefers-reduced-motion:reduce){.vida details[open] .vb{animation:none}.vida .vs::before,.vida .vs::after{transition:none}}
@media (max-width:860px){.vida-grid{grid-template-columns:1fr;gap:0}.vida-col+.vida-col{border-top:0}}
.card-img{display:block;max-width:none;width:calc(100% + 2.8rem);margin:-1.4rem -1.4rem 1.1rem;border-radius:20px 20px 0 0;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--line)}

/* Telemóvel: títulos e texto centrados nos blocos editoriais (não em cartões, acordeão nem formulário) */
@media (max-width:760px){
body.entidades section>.wrap>.kicker,body.entidades section>.wrap>h1,body.entidades section>.wrap>h2,body.entidades section>.wrap>p,body.entidades section>.wrap>.rv>.kicker,body.entidades section>.wrap>.rv>h1,body.entidades section>.wrap>.rv>h2,body.entidades section>.wrap>.rv>p,body.entidades .grid2>div>.kicker,body.entidades .grid2>div>h1,body.entidades .grid2>div>h2,body.entidades .grid2>div>p{text-align:center;margin-left:auto;margin-right:auto}
body.entidades section>.wrap>.lead,body.entidades .grid2>div>.lead,.vida .lead{max-width:none}
body.entidades .panels figcaption{text-align:center}
body.entidades .vida .note{text-align:center;margin-left:auto;margin-right:auto}
body.entidades .diagram,body.entidades .svgfig{margin-left:auto;margin-right:auto}
}

@keyframes dgflow{to{stroke-dashoffset:-22}}.dgflow{animation:dgflow 1.6s linear infinite}@media (prefers-reduced-motion:reduce){.dgflow{animation:none}}

/* ===== v6: acessibilidade, ampliação de imagens, utilitários ===== */
:focus-visible{outline:3px solid var(--escola-ink);outline-offset:3px;border-radius:6px}
.btn:focus-visible,summary:focus-visible{outline:3px solid var(--escola-ink);outline-offset:3px}
.hero :focus-visible,header.top:not(.solid):not(.force) :focus-visible{outline-color:#fff}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--ink);padding:.6rem 1rem;z-index:100;border-radius:0 0 8px 0;font-weight:800}.skip:focus{left:0}
.kicker{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;margin-bottom:.8rem}
.zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit;text-align:inherit}
.zoom img{width:100%}
.zoom-hint{display:block;font-size:.85rem;color:var(--ink2);margin-top:.5rem}
dialog.lb{border:0;padding:0;background:transparent;max-width:min(96vw,1400px);width:auto}
dialog.lb::backdrop{background:rgba(20,28,40,.86)}
dialog.lb .lb-box{position:relative;background:#fff;border-radius:16px;padding:.75rem;box-shadow:0 30px 80px rgba(0,0,0,.4)}
dialog.lb img{max-width:calc(96vw - 1.5rem);max-height:82vh;width:auto;height:auto;border-radius:10px;margin:0 auto}
dialog.lb .lb-cap{font-size:.95rem;color:var(--ink2);padding:.6rem .4rem 0;max-width:80ch}
dialog.lb .lb-close{position:absolute;top:-.6rem;right:-.6rem;width:44px;height:44px;border-radius:50%;border:0;background:var(--pais);color:#fff;font-size:1.4rem;font-weight:800;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.ilust{font-size:.85rem;color:var(--ink2);margin-top:.8rem}
.legend{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem 1.2rem;font-size:.95rem;color:var(--ink2)}
.legend li{padding-left:1.1rem;position:relative}.legend li::before{content:"";position:absolute;left:0;top:.5em;width:.55rem;height:.55rem;border-radius:50%;background:var(--escola-ink)}
.legend li b{color:var(--ink)}
.mini-faq{margin-top:1.5rem}.mini-faq details{border-bottom:1px solid var(--line);padding:.7rem 0}.mini-faq summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}.mini-faq summary::-webkit-details-marker{display:none}.mini-faq summary::after{content:"+";color:var(--escola-ink);font-size:1.3rem}.mini-faq details[open] summary::after{content:"–"}.mini-faq p{margin:.6rem 0 0;color:var(--ink2);font-size:1rem}
@media (max-width:1000px){header.top .wrap{height:64px}nav ul{top:64px}}
