/* Base Online — estilos. (As fontes estão em fonts.css.)
   Cores, espaçamentos e fontes ficam nas variáveis de :root. Altera aqui primeiro. */


:root{
  --orange:#FF7A00;--orange-hi:#FFA143;--orange-deep:#DC5F00;
  --black:#000;--white:#fff;--carbon:#171717;--carbon-hi:#1E1E1E;
  --text:#BDBDBD;          /* cinzento-claro para parágrafos sobre preto */
  --muted:#A8A8A8;         /* notas e textos secundários (contraste > 7:1 sobre carvão) */
  --line:rgba(255,255,255,.1);--ink:#140800;
  --font-title:"Anton","Impact","Haettenschweiler","Arial Narrow Bold",sans-serif;
  --font-text:"Roboto Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --radius:22px;--gutter:clamp(20px,5vw,40px);--header-h:64px;--maxw:1180px;
  --section-y:clamp(48px,3vw + 24px,84px);
  --h2:clamp(2.25rem,1.1rem + 4.6vw,4.4rem);
}
@media(min-width:900px){:root{--header-h:76px}}

*,*::before,*::after{box-sizing:border-box}
html{color-scheme:dark;background:var(--black);scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%}
/* Âncora dos contactos: o título fica 20px abaixo do cabeçalho (o padding da secção é descontado, sem duplicar) */
#contacto{scroll-margin-top:calc(20px - var(--section-y))}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--black);color:var(--text);font:400 15px/1.75 var(--font-text);overflow-x:clip;-webkit-font-smoothing:antialiased}
@media(min-width:900px){body{font-size:16px}}
img,svg{display:block;max-width:100%}
h1,h2,h3{margin:0;font-family:var(--font-title);font-weight:400;color:var(--white);line-height:1.04;letter-spacing:.01em;text-wrap:balance}
h2{font-size:var(--h2)}
p{margin:0 0 1em}
a{color:inherit}
:focus-visible{outline:3px solid var(--white);outline-offset:3px;border-radius:6px}
.container{width:100%;max-width:calc(var(--maxw) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.section{position:relative;padding-block:var(--section-y)}
.section-head{max-width:46rem;margin:0 auto clamp(36px,6vw,64px);text-align:center}
.section-head p{margin:1.1rem auto 0;max-width:40rem}
.skip{position:absolute;left:-999px;top:8px;background:var(--white);color:var(--black);padding:10px 14px;z-index:100;border-radius:8px}
.skip:focus{left:8px}

/* ---------- Botões e suportes de ícone: degradê, textura fina, aresta iluminada, sombra laranja ---------- */
.btn,.chip{
  background-color:var(--orange);
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 1px,transparent 1px 3px),linear-gradient(180deg,var(--orange-hi) 0%,var(--orange) 52%,var(--orange-deep) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -2px 0 rgba(110,45,0,.4),0 10px 26px -8px rgba(255,122,0,.6);
  position:relative;isolation:isolate}
.chip{color:var(--ink)}
.btn::before,.chip::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 52%)}
/* Botões: texto branco. O laranja aprofunda-se só na zona das letras (contraste ≈4,3–4,6:1); o topo mantém-se luminoso. */
.btn{color:#fff;text-shadow:0 1px 2px rgba(60,20,0,.55);
  background-color:#BC4900;
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 1px,transparent 1px 3px),linear-gradient(180deg,#F27A10 0%,#D25A00 26%,#BC4900 46%,#A03B00 100%)}
.btn::before{background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 34%)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 30px;border-radius:14px;border:0;
  font:400 1.08rem/1 var(--font-title);letter-spacing:.08em;text-decoration:none;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;-webkit-tap-highlight-color:transparent}
.btn--sm{min-height:44px;padding:10px 18px;border-radius:12px;font-size:.95rem;white-space:nowrap}
@media(hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -2px 0 rgba(110,45,0,.4),0 16px 34px -8px rgba(255,122,0,.8)}}
.btn:active{transform:translateY(0) scale(.975);filter:brightness(.96);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(110,45,0,.4),0 5px 14px -6px rgba(255,122,0,.6)}
.btn[disabled]{filter:grayscale(.3) brightness(.85);cursor:progress;transform:none}
.chip{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;flex:none}
.chip svg{width:26px;height:26px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Cabeçalho ---------- */
.header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);background:linear-gradient(rgba(0,0,0,.88),rgba(0,0,0,.6));
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo-link{display:block;flex:0 1 auto;min-width:0;border-radius:8px}
.logo-link img{height:clamp(26px,7.5vw,34px);width:auto}
@media(min-width:900px){.logo-link img{height:38px}.btn--sm{padding:12px 24px;font-size:1.02rem}}

/* ---------- Apresentação ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:calc(var(--header-h) + 28px) 0 40px;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;--amp:1.2;background:#050505}
.hero-bg i{position:absolute;display:block;border-radius:50%;will-change:transform;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.hero-bg .b1{width:70vmax;height:70vmax;left:-26vmax;top:-30vmax;background:radial-gradient(circle,rgba(255,122,0,.7),rgba(255,122,0,0) 64%);animation-name:orbit1;animation-duration:9.5s;animation-delay:-3.5s}
.hero-bg .b2{width:76vmax;height:76vmax;right:-32vmax;bottom:-38vmax;background:radial-gradient(circle,rgba(226,98,0,.66),rgba(226,98,0,0) 64%);animation-name:orbit2;animation-duration:12s;animation-delay:-7s}
.hero-bg .b3{width:40vmax;height:40vmax;right:6vw;top:2vh;background:radial-gradient(circle,rgba(255,161,67,.34),rgba(255,161,67,0) 66%);animation-name:orbit3;animation-duration:8s;animation-delay:-2.5s}
.hero-bg .b4{width:58vmax;height:58vmax;left:8vmax;bottom:-30vmax;background:radial-gradient(circle,rgba(0,0,0,.92),rgba(0,0,0,0) 66%);animation-name:orbit4;animation-duration:10.5s;animation-delay:-5s}
.hero-bg .b5{width:46vmax;height:46vmax;right:-8vmax;top:-22vmax;background:radial-gradient(circle,rgba(0,0,0,.88),rgba(0,0,0,0) 66%);animation-name:orbit5;animation-duration:8.5s;animation-delay:-6s}
.hero-bg::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 60% 55% at 50% 52%,rgba(0,0,0,.6),rgba(0,0,0,0) 100%)}
.hero-bg::after{content:"";position:absolute;inset:auto 0 0;height:26%;z-index:1;background:linear-gradient(transparent,var(--black))}
.hero.is-paused .hero-bg i{animation-play-state:paused}
/* Percursos fechados (0% = 100%): o ciclo recomeça sem saltos. As percentagens são relativas ao tamanho de cada mancha. */
@keyframes orbit1{0%,100%{transform:translate3d(0,0,0) scale(1)}25%{transform:translate3d(calc(34%*var(--amp)),calc(22%*var(--amp)),0) scale(1.12)}50%{transform:translate3d(calc(14%*var(--amp)),calc(46%*var(--amp)),0) scale(.94)}75%{transform:translate3d(calc(-18%*var(--amp)),calc(16%*var(--amp)),0) scale(1.08)}}
@keyframes orbit2{0%,100%{transform:translate3d(0,0,0) scale(1)}25%{transform:translate3d(calc(-36%*var(--amp)),calc(-18%*var(--amp)),0) scale(1.1)}50%{transform:translate3d(calc(-12%*var(--amp)),calc(-40%*var(--amp)),0) scale(.94)}75%{transform:translate3d(calc(20%*var(--amp)),calc(-14%*var(--amp)),0) scale(1.06)}}
@keyframes orbit3{0%,100%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(calc(-60%*var(--amp)),calc(40%*var(--amp)),0) scale(.9)}66%{transform:translate3d(calc(-24%*var(--amp)),calc(90%*var(--amp)),0) scale(1.1)}}
@keyframes orbit4{0%,100%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(calc(70%*var(--amp)),calc(-26%*var(--amp)),0) scale(1.1)}66%{transform:translate3d(calc(110%*var(--amp)),calc(8%*var(--amp)),0) scale(.92)}}
@keyframes orbit5{0%,100%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(calc(-80%*var(--amp)),calc(36%*var(--amp)),0) scale(1.08)}66%{transform:translate3d(calc(-40%*var(--amp)),calc(70%*var(--amp)),0) scale(.94)}}
@media(max-width:899px){.hero-bg{--amp:.9}.hero-bg .b3{display:none}.hero-bg .b1{width:100vmax;height:100vmax}.hero-bg .b2{width:110vmax;height:110vmax}.hero-bg .b4{width:80vmax;height:80vmax}.hero-bg .b5{width:70vmax;height:70vmax}}
.hero-inner{display:flex;flex-direction:column;align-items:center;max-width:62rem}
.hero-logo{width:min(480px,74vw,calc(14vh*4.06));height:auto;margin-bottom:clamp(14px,4vh,40px)}
.hero h1{font-size:min(clamp(2.7rem,1rem + 9.6vw,7.4rem),13.5vh);line-height:1.1;letter-spacing:.012em}
.hero-sub{margin:clamp(16px,3vh,28px) 0 clamp(24px,4vh,40px);color:#D0D0D0;white-space:nowrap;
  /* 4 linhas fixas: a mais comprida tem 29 caracteres (Roboto Mono = 0,6em cada); o tamanho acompanha a largura útil do ecrã */
  font-size:min(clamp(.95rem,.85rem + .5vw,1.1rem),calc((100vw - 2*var(--gutter))/17.8))}
.hero-sub span{display:block}
.hero-inner>*{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.hero-inner>:nth-child(2){animation-delay:.1s}.hero-inner>:nth-child(3){animation-delay:.2s}.hero-inner>:nth-child(4){animation-delay:.3s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
@media(max-height:700px){.hero-sub{font-size:min(15px,calc((100vw - 2*var(--gutter))/17.8));line-height:1.4}}
@media(max-height:520px){.hero-sub{font-size:min(13px,calc((100vw - 2*var(--gutter))/17.8));line-height:1.35}.hero{padding:calc(var(--header-h) + 8px) 0 16px}.hero-sub{margin-block:12px 18px}}

/* ---------- Cartões ---------- */
.card{background:var(--carbon);border:1px solid var(--line);border-radius:var(--radius);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:border-color .25s ease,box-shadow .25s ease}
@media(hover:hover) and (pointer:fine){.card:hover{border-color:rgba(255,122,0,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,122,0,.12),0 18px 40px -24px rgba(255,122,0,.5)}}

/* ---------- Carrosséis (telemóvel e tablet) ↔ grelhas (computador) ---------- */
.carousel-track{position:relative;display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;
  margin-inline:calc(var(--gutter)*-1);padding:6px var(--gutter) 10px;scroll-padding-inline:var(--gutter)}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track>*{flex:0 0 min(84%,390px);scroll-snap-align:start;scroll-snap-stop:always}
.carousel-controls{display:none}
.js .carousel-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 4px;margin-top:10px}
.hint{display:none;align-items:center;justify-content:center;gap:8px;margin:18px 0 0;font-size:.85rem;color:var(--muted)}
.js .hint{display:flex}
.hint svg{width:18px;height:18px;stroke:var(--orange);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.arrow{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:var(--carbon);color:var(--white);display:grid;place-items:center;cursor:pointer;transition:border-color .2s,opacity .2s}
.arrow svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.arrow[disabled]{opacity:.35;cursor:not-allowed;border-style:dashed}
.arrow:not([disabled]):active{border-color:var(--orange)}
.dots{display:flex;align-items:center}
.dot{width:24px;height:44px;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center}
.dot::before{content:"";width:9px;height:9px;border-radius:99px;background:#6A6A6A;transition:width .25s,background .25s}
.dot[aria-current="true"]::before{width:20px;background:var(--orange)}
.count{min-width:3.4em;text-align:center;font-size:.85rem;color:var(--muted)}
@media(min-width:900px){
  .carousel-track{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;overflow:visible;margin:0;padding:0;scroll-snap-type:none}
  .carousel-track>*{flex:initial}
  .js .carousel-controls,.js .hint{display:none}
}

/* ---------- Modalidades ---------- */
.plan{display:flex;flex-direction:column;padding:clamp(24px,3vw,36px)}
.plan h3{font-size:clamp(1.55rem,1.2rem + 1.2vw,2rem);line-height:1.08}
@media(min-width:900px){.plan h3{min-height:2.16em}}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5ch;margin:18px 0 20px;font-family:var(--font-title);font-size:clamp(2.2rem,1.6rem + 1.6vw,3rem);line-height:1;color:var(--orange)}
.price small{font:500 .95rem/1 var(--font-text);color:#D0D0D0}
.plan>:last-child{margin-bottom:0}
.plan-note{font-size:.9rem;color:var(--muted)}

/* ---------- O que está incluído ---------- */
.incl{background:linear-gradient(180deg,#000,#0A0A0A 50%,#000)}
.inc-item{padding:clamp(22px,3vw,30px)}
.inc-item h3{font-size:1.4rem;margin:18px 0 10px}
.inc-item p{margin:0;font-size:.95rem}
.inc-item .note{margin-top:14px;font-size:.88rem;color:var(--muted)}
@media(max-width:899px){
  .inc-item{background:var(--carbon);border:1px solid var(--line);border-radius:var(--radius);padding:32px 26px 34px}
  .inc-item h3{margin:26px 0 16px}
  .inc-item .note{margin-top:18px}}
@media(min-width:900px){
  .inc-item h3{min-height:2.1em}
  .inc-item{background:var(--carbon);border:1px solid var(--line);border-radius:var(--radius);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:border-color .25s}
  .inc-item:hover{border-color:rgba(255,122,0,.45)}}

/* ---------- Como funciona ---------- */
.steps{position:relative;--p:1}
.steps-list{list-style:none;margin:0;padding:0;display:grid;gap:36px}
.step{position:relative;padding-left:76px}
.step-n{position:absolute;left:0;top:0;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;z-index:1;
  font:400 1.5rem/1 var(--font-title);background:var(--orange);color:var(--ink);border:2px solid var(--orange-hi)}
.js .step-n{background:#0C0C0C;color:var(--white);border-color:#4A4A4A;transition:background .3s,color .3s,border-color .3s,box-shadow .3s}
.step h3{font-size:1.5rem;margin:8px 0 10px}
.step p{margin:0;font-size:.95rem}
.step:nth-child(1){--i:0}.step:nth-child(2){--i:1}.step:nth-child(3){--i:2}.step:nth-child(4){--i:3}
.steps-line{display:none;position:absolute;background:rgba(255,255,255,.14);border-radius:2px;pointer-events:none}
.steps-line i{position:absolute;inset:0;background:var(--orange);box-shadow:0 0 14px rgba(255,122,0,.8);transform-origin:0 0}
.js .steps-line{display:block;left:calc(var(--x) - 1px);top:var(--y);width:2px;height:var(--len)}
/* Mobile: a linha e os círculos seguem o scroll */
@media(max-width:899px){
  .steps-line i{transform:scaleY(var(--p))}
  .js .step.is-lit .step-n{background:var(--orange);color:var(--ink);border-color:var(--orange-hi);box-shadow:0 0 24px rgba(255,122,0,.55)}
}
/* PC: uma animação curta (1,8 s) da esquerda para a direita, só uma vez por carregamento */
@media(min-width:900px){
  .steps-list{grid-template-columns:repeat(4,1fr);gap:28px}
  .step{padding:72px 0 0}
  .step h3{min-height:2.1em}
  .js .steps-line{left:var(--x);top:calc(var(--y) - 1px);width:var(--len);height:2px}
  .steps-line i{transform:scaleX(0)}
  .js .steps.played .steps-line i{transform:scaleX(1);transition:transform 1.8s linear}
  .js .steps.played .step .step-n{background:var(--orange);color:var(--ink);border-color:var(--orange-hi);box-shadow:0 0 24px rgba(255,122,0,.55);transition-delay:calc(var(--i)*.6s)}
}
/* Movimento reduzido: estado final, sem animação, nos dois modos */
.js .steps.static .steps-line i{transform:none}
.js .steps.static .step .step-n{background:var(--orange);color:var(--ink);border-color:var(--orange-hi);box-shadow:0 0 24px rgba(255,122,0,.55);transition:none}

/* ---------- Perguntas frequentes ---------- */
.faq-list{max-width:820px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-item h3{font-size:inherit}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;padding:22px 2px;background:none;border:0;cursor:pointer;color:var(--white);
  font:400 clamp(1.15rem,1rem + .7vw,1.5rem)/1.2 var(--font-title);letter-spacing:.02em;min-height:56px;border-radius:8px}
.faq-q .chev{flex:none;width:28px;height:28px;stroke:var(--orange);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease}
.faq-q[aria-expanded="true"] .chev{transform:rotate(180deg)}
@media(hover:hover){.faq-q:hover{color:var(--orange-hi)}}
.faq-panel{display:grid;grid-template-rows:1fr}
.faq-panel>div{overflow:hidden;min-height:0}
.faq-panel p{margin:0 0 1em;font-size:.95rem;max-width:62ch}
.faq-panel>div>:last-child{margin-bottom:24px}
.js .faq-panel{grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .35s ease,visibility .35s}
.js .faq-item.open .faq-panel{grid-template-rows:1fr;visibility:visible}

/* ---------- Contactos ---------- */
.contact{background:radial-gradient(ellipse 55% 45% at 88% 40%,rgba(255,122,0,.15),transparent 70%),var(--black)}
.contact-grid{display:grid;gap:32px;grid-template-areas:"intro" "form" "links"}
.contact-intro{grid-area:intro}.contact-form{grid-area:form}.contact-links{grid-area:links}
.contact-intro h2{margin-bottom:1.2rem}
.contact-intro{text-align:center}
.contact-intro p{margin-inline:auto}
.contact-intro p{max-width:34rem}
@media(min-width:900px){.contact-intro{text-align:left}.contact-intro p{margin-inline:0}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:clamp(40px,6vw,88px);grid-template-areas:"intro form" "links form";align-items:start;grid-template-rows:auto 1fr}}
.contact-links{display:grid;gap:14px;align-content:start}
.clink{display:flex;flex-direction:column;gap:10px;padding:22px 22px 20px;text-decoration:none;min-height:88px;justify-content:center;text-align:center;align-items:center}
@media(min-width:900px){.clink{text-align:left;align-items:flex-start}}
.clink-go{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--orange);font-weight:500}
.clink-go::after{content:" →"}
.clink span:first-child{font:400 1.05rem/1 var(--font-title);letter-spacing:.06em;color:var(--orange)}
.clink span:last-child{color:var(--white);overflow-wrap:anywhere}
.form-card{background:var(--carbon-hi);border:1px solid rgba(255,255,255,.12);border-radius:26px;padding:clamp(22px,3.5vw,38px);box-shadow:0 30px 60px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.07)}
.field{margin-bottom:18px}
.field label{display:block;margin-bottom:8px;font-weight:500;font-size:.92rem;color:var(--white)}
.field label small{font-weight:400;color:var(--muted);font-size:.82rem}
.field input,.field textarea{width:100%;min-height:50px;padding:13px 15px;background:#0E0E0E;color:var(--white);border:1px solid #7A7A7A;border-radius:12px;font:400 16px/1.5 var(--font-text);transition:border-color .2s,box-shadow .2s}
.field input,.field textarea{scroll-margin-top:calc(var(--header-h) + 48px)}
.field textarea{min-height:140px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#8A8A8A;opacity:1}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,122,0,.35)}
.field [aria-invalid="true"]{border-color:#FF6B5E}
.field-error{margin:6px 0 0;font-size:.85rem;color:#FF9C92}
.field-error::before{content:"! ";font-weight:700}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-alert{margin:0 0 18px;padding:14px 16px;border-radius:12px;background:rgba(255,107,94,.1);border:1px solid rgba(255,107,94,.55);color:#FFD1CC;font-size:.92rem}
.form-alert a{color:var(--white)}
.contact-form .btn{width:100%}
.form-success h3{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.6rem);color:var(--orange);margin-bottom:14px}
.form-success p{margin:0}
.form-success:focus{outline:0}

/* ---------- Rodapé ---------- */
.footer{border-top:1px solid var(--line);padding:56px 0 40px;font-size:.92rem}
.footer-grid{display:grid;gap:28px}
.footer-brand img{height:34px;width:auto;margin-bottom:14px}
.footer-brand p{margin:0 0 .4em}
.footer-meta p{margin:0 0 .5em}
.footer-links{display:flex;flex-wrap:wrap;gap:6px 0;list-style:none;padding:0;margin:0 0 14px}
.footer-links li+li::before{content:"·";margin:0 .7em;color:#8A8A8A}
.footer-links a{display:inline-block;padding:8px 0;color:var(--white)}
.copy{color:var(--muted)}
@media(min-width:900px){.footer-grid{grid-template-columns:1.2fr 1fr auto;align-items:start;gap:48px}.footer-meta:last-child{text-align:right}.footer-links{justify-content:flex-end}}

/* ---------- Revelação ao scroll (só ativa depois de o JS arrancar) ---------- */
.reveal-on .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal-on .reveal.is-in{opacity:1;transform:none}

/* ---------- Página simples (privacidade provisória) ---------- */
.page-simple{min-height:70vh;display:grid;align-content:center;padding:calc(var(--header-h) + 60px) 0 80px}
.legal.page-simple{display:block;min-height:0;padding:calc(var(--header-h) + 48px) 0 clamp(56px,8vw,96px)}
.legal-body{max-width:44rem;margin:0 auto}
.legal-body h1{font-size:clamp(2.2rem,1.2rem + 5vw,3.6rem);line-height:1.08;margin-bottom:.6rem}
.legal-body h2{font-size:clamp(1.3rem,1.1rem + 1vw,1.7rem);margin:2.2em 0 .6em;color:var(--white)}
.legal-body p,.legal-body li{font-size:.95rem;line-height:1.75;color:#D8D8D8;margin:0 0 1.1em}
.legal-body ul{margin:0 0 1.1em;padding-left:1.3em}
.legal-body li{margin-bottom:.6em}
.legal-body a{color:var(--orange-hi);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-date{color:var(--muted)!important;margin-bottom:1.6em!important}
.legal-back{margin-top:2.6em!important}
.form-note{margin:4px 0 16px;font-size:.85rem;line-height:1.6;color:#C8C8C8}
.form-note a{color:var(--orange-hi);text-decoration:underline;text-underline-offset:3px}
.page-simple h1{font-size:clamp(2.4rem,1.4rem + 4vw,4rem);margin-bottom:1.2rem}

/* ---------- Movimento reduzido ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal-on .reveal{opacity:1;transform:none}
}
