/* ===== Aline Santos Mega Hair: modelo "mega hair" (Black Builder) ===== */
@font-face{font-family:"Melodrama";src:url(assets/fontes/melodrama-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Melodrama";src:url(assets/fontes/melodrama-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Boska";src:url(assets/fontes/boska-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Synonym";src:url(assets/fontes/synonym-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Synonym";src:url(assets/fontes/synonym-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  /* identidade da cliente: o preto e o rose gold do selo, o rosa das paredes do studio */
  --onix:#0D0B0C;         /* fundo escuro (o preto do selo) */
  --carvao:#1C1517;       /* cards em fundo escuro */
  --rose:#D9A58C;         /* rose gold: CTA e destaques em fundo escuro */
  --rose-claro:#EBC6B3;
  --rose-escuro:#8A4F3A;  /* destaque em fundo claro (contraste 5,5:1) */
  --blush:#F7E9E4;        /* fundo claro (o rosa do studio) */
  --cetim:#FCF6F3;        /* fundo claro alternado */
  --tinta:#241A1C;        /* texto forte */
  --texto:#4D3F42;        /* texto */
  --suave:#6F5D61;        /* texto secundário em fundo claro (4,9:1) */
  --nevoa:#CDB9B3;        /* texto secundário em fundo escuro */
  --linha:rgba(36,26,28,.14);
  --linha-escura:rgba(247,233,228,.16);

  --display:"Melodrama", "Didot", Georgia, serif;
  --italico:"Boska", "Didot", Georgia, serif;
  --sans:"Synonym", system-ui, -apple-system, "Segoe UI", sans-serif;
  --raio:14px;
  --gutter:clamp(20px, 5vw, 72px);
  --sec:clamp(96px, 12vw, 176px);
  --ease:cubic-bezier(.2,.7,.1,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-padding-top:84px}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  margin:0;background:var(--blush);color:var(--texto);
  font-family:var(--sans);font-size:18px;line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip; /* clip, não hidden: hidden vira contêiner de rolagem e quebra os sticky */
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:500;color:var(--tinta)}
p{margin:0}
:focus-visible{outline:2px solid var(--rose-escuro);outline-offset:3px;border-radius:4px}
.curso :focus-visible,.hero :focus-visible,.fim :focus-visible,.topo :focus-visible{outline-color:var(--rose)}
.ic{width:1.1em;height:1.1em;flex:none;fill:currentColor}
.pular{position:absolute;left:12px;top:-60px;z-index:100;background:var(--rose);color:var(--onix);padding:10px 14px;border-radius:8px}
.pular:focus{top:12px}
.wrap{max-width:1320px;margin:0 auto;padding:0 var(--gutter);position:relative;z-index:2}

/* o arco: a moldura que a Aline já usa nos antes e depois */
.arco{border-radius:999px 999px var(--raio) var(--raio);overflow:hidden}

/* títulos */
.titulo{font-size:clamp(46px, 6.4vw, 104px);line-height:.95;letter-spacing:-.01em;text-wrap:balance}
.titulo em,.hero__titulo em,.fim__titulo em{font-family:var(--italico);font-style:italic;font-weight:400;font-size:.9em;letter-spacing:-.02em;color:var(--rose-escuro)}
.titulo--claro{color:var(--cetim)}
.titulo--claro em,.hero__titulo em,.fim__titulo em{color:var(--rose)}
.w-t{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.w-t > span{display:inline-block}
.sec__cab{display:grid;gap:22px;max-width:780px;margin-bottom:clamp(44px, 6vw, 80px)}
.sec__cab--lado{max-width:none;grid-template-columns:1fr}
.sec__lead{font-size:clamp(18px, 1.5vw, 21px);max-width:56ch;color:var(--texto)}

/* botões */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:54px;padding:0 26px;border-radius:999px;
  font:500 16px/1.2 var(--sans);letter-spacing:.01em;text-decoration:none;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);
}
.btn:active{transform:scale(.98)}
.btn--rose{background:var(--rose);color:var(--onix)}
.btn--rose:hover{background:var(--rose-claro)}
.btn--escuro{background:var(--onix);color:var(--cetim)}
.btn--escuro:hover{background:#2C2124}
.btn--linha{border:1px solid rgba(235,198,179,.5);color:var(--cetim)}
.btn--linha:hover{border-color:var(--rose);background:rgba(217,165,140,.1)}
.btn--linha-escura{border:1px solid rgba(36,26,28,.35);color:var(--tinta)}
.btn--linha-escura:hover{border-color:var(--tinta);background:rgba(36,26,28,.05)}
.btn--pequeno{min-height:44px;padding:0 18px;font-size:15px}
/* brilho prateado: um reflexo atravessa o botão principal a cada ~6s (só transform) */
.btn--brilho{position:relative;overflow:hidden;isolation:isolate}
.btn--brilho::after{
  content:"";position:absolute;inset:-20% auto -20% 0;width:40%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.0) 20%,rgba(255,255,255,.75) 50%,rgba(255,255,255,0) 80%,transparent 100%);
  transform:translateX(-160%) skewX(-18deg);
  animation:brilho 6s cubic-bezier(.45,0,.2,1) var(--brilho-atraso, 2.4s) infinite;
}
@keyframes brilho{0%{transform:translateX(-160%) skewX(-18deg)}16%,100%{transform:translateX(360%) skewX(-18deg)}}
.link{color:var(--rose-escuro);font-weight:500;text-underline-offset:4px}

/* ---------- o fio ---------- */
.fio{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.fio path{fill:none;stroke:url(#fio-cor);stroke-linecap:round}
.fio__a{stroke-width:1.6;opacity:.9}
.fio__b{stroke-width:.8;opacity:.55}
main{position:relative}

/* ---------- topo ---------- */
.topo{
  position:fixed;inset:0 0 auto 0;z-index:50;height:76px;
  display:flex;align-items:center;gap:28px;padding:0 var(--gutter);
  color:var(--cetim);transition:transform .45s var(--ease),background .35s var(--ease),box-shadow .35s;
}
.topo.solido{background:rgba(13,11,12,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--linha-escura)}
.topo.escondido{transform:translateY(-100%)}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.marca img{width:40px;height:40px}
.marca__nome{font:500 26px/1 var(--display);letter-spacing:.01em;display:flex;flex-direction:column}
.marca__nome small{font:400 12px/1.4 var(--sans);letter-spacing:.08em;color:var(--rose)}
.menu{display:none;gap:30px}
.menu a{font-size:15px;text-decoration:none;color:var(--nevoa);transition:color .25s}
.menu a:hover{color:var(--cetim)}
.topo__cta span{display:none}
@media (min-width:600px){.topo__cta span{display:inline}}
@media (min-width:1120px){.menu{display:flex}}

/* ---------- hero ---------- */
.hero{background:var(--onix);color:var(--nevoa);padding:112px 0 0;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:auto -20% -30% 30%;height:80%;background:radial-gradient(closest-side,rgba(217,165,140,.16),transparent);pointer-events:none}
.hero__wrap{max-width:1320px;margin:0 auto;padding:0 var(--gutter);display:grid;gap:36px;position:relative;z-index:2}
.hero__retrato{order:-1;width:min(58vw, 300px);margin:0 auto;aspect-ratio:1068/1500;background:#000}
.hero__retrato img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.hero__onde{font-size:15px;color:var(--rose);margin-bottom:18px;letter-spacing:.02em}
.hero__titulo{font-size:clamp(58px, 8.6vw, 140px);line-height:.88;letter-spacing:-.015em;color:var(--cetim);font-weight:500}
.hero__titulo .l{display:block}
.hero__titulo em{font-size:.86em}
.hero__sub{margin-top:28px;max-width:46ch;font-size:clamp(18px, 1.4vw, 20px)}
.hero__acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero__prova{display:flex;align-items:center;gap:10px;margin-top:26px;font-size:15px}
.estrelas{display:inline-flex;gap:2px;color:var(--rose)}
.estrelas svg{width:16px;height:16px}
.hero__metodos{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:64px auto 0;padding:26px var(--gutter);
  border-top:1px solid var(--linha-escura);font:500 clamp(22px, 2.4vw, 34px)/1.1 var(--display);color:var(--rose-claro);position:relative;z-index:2;
}
@media (min-width:1024px){
  .hero{padding-top:128px}
  .hero__wrap{grid-template-columns:1.25fr .9fr;align-items:end;gap:5vw}
  .hero__retrato{order:0;width:100%;max-width:500px;justify-self:end;max-height:calc(100svh - 230px)}
  .hero__texto{padding-bottom:3vw}
}

/* ---------- antes e depois ---------- */
.ad{padding:var(--sec) 0;background:var(--blush)}
.ad__palco{display:grid;gap:40px}
.ad__comp{position:relative;width:min(100%, 460px);margin:0 auto;aspect-ratio:4/6.4;background:#d9c6bf;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ad__comp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;-webkit-user-drag:none;pointer-events:none}
.ad__antes{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ad__linha{position:absolute;top:0;bottom:0;left:var(--p);width:2px;margin-left:-1px;background:var(--cetim);box-shadow:0 0 18px rgba(0,0,0,.25);pointer-events:none}
.ad__pega{position:absolute;top:58%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:var(--cetim);color:var(--tinta);display:grid;place-items:center;box-shadow:0 8px 24px rgba(36,26,28,.3);transition:transform .3s var(--ease)}
.ad__pega svg{width:24px;height:24px}
.ad__comp:hover .ad__pega{transform:scale(1.08)}
.ad__comp{cursor:ew-resize}
/* o range fica escondido: serve ao teclado e ao leitor de tela; o arrasto é feito no script */
.ad__range{position:absolute;left:0;bottom:0;width:100%;height:1px;margin:0;opacity:0;pointer-events:none}
.ad__comp:has(.ad__range:focus-visible) .ad__pega{outline:3px solid var(--rose-escuro);outline-offset:3px}
.ad__rotulo{position:absolute;bottom:22px;padding:6px 14px;border-radius:999px;background:rgba(13,11,12,.72);color:var(--cetim);font-size:14px;letter-spacing:.02em;pointer-events:none}
.ad__rotulo--antes{left:18px}
.ad__rotulo--depois{right:18px}
.ad__lado{display:grid;gap:18px;align-content:center;max-width:520px}
.ad__caso{font:500 clamp(40px, 4.6vw, 68px)/1 var(--display);color:var(--tinta)}
.ad__caso .ad__num{color:var(--rose-escuro)}
.ad__nome{display:block;margin-top:8px}
.ad__desc{max-width:44ch}
.ad__casos{display:grid;grid-template-columns:repeat(5, 1fr);gap:10px;margin:10px 0 14px}
.ad__casos button{
  all:unset;cursor:pointer;display:grid;gap:8px;justify-items:center;text-align:center;font-size:14px;color:var(--suave);
}
.ad__casos button img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 25%;border-radius:999px 999px 8px 8px;opacity:.6;transition:opacity .3s,transform .4s var(--ease);background:#e3d2cc}
.ad__casos button:hover img{opacity:.9}
.ad__casos button[aria-pressed="true"]{color:var(--tinta);font-weight:500}
.ad__casos button[aria-pressed="true"] img{opacity:1;transform:translateY(-4px);box-shadow:0 0 0 2px var(--blush),0 0 0 3.5px var(--rose-escuro)}
.ad__casos button:focus-visible{outline:2px solid var(--rose-escuro);outline-offset:4px;border-radius:8px}
.ad__lado .btn{justify-self:start}
.ad__comp.troca img{animation:troca .7s var(--ease)}
@keyframes troca{from{opacity:.2;transform:scale(1.03)}to{opacity:1;transform:none}}
@media (min-width:1024px){
  .ad__palco{grid-template-columns:auto 1fr;gap:7vw;align-items:center}
  .ad__comp{width:min(34vw, 470px);margin:0}
}

/* ---------- métodos: tiras que abrem ---------- */
.met{padding:var(--sec) 0;background:var(--cetim)}
.tiras{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.tira{position:relative;overflow:hidden;border-radius:var(--raio);background:var(--onix);height:96px;transition:height .7s var(--ease)}
.tira.ativa{height:440px}
.tira img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transition:opacity .6s var(--ease),transform 1.2s var(--ease)}
.tira.ativa img{opacity:.9}
.tira::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,11,12,.55) 0%,rgba(13,11,12,.1) 40%,rgba(13,11,12,.85) 100%);pointer-events:none}
.tira__btn{
  all:unset;box-sizing:border-box;position:relative;z-index:2;cursor:pointer;width:100%;
  display:flex;align-items:center;gap:16px;padding:0 22px;height:96px;color:var(--cetim);
}
.tira__btn:focus-visible{outline:2px solid var(--rose);outline-offset:-6px;border-radius:12px}
.tira__n{font:500 14px/1 var(--sans);color:var(--rose)}
.tira__nome{font:500 clamp(30px, 3vw, 44px)/1 var(--display);flex:1}
.tira__mais{width:26px;height:26px;color:var(--rose);transition:transform .5s var(--ease)}
.tira.ativa .tira__mais{transform:rotate(45deg)}
.tira__info{position:absolute;z-index:2;left:22px;right:22px;bottom:24px;color:var(--cetim);max-width:44ch;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .6s var(--ease);visibility:hidden}
.tira.ativa .tira__info{opacity:1;transform:none;visibility:visible;transition-delay:.2s}
.tira__info p{font-size:17px;line-height:1.55}
.tira__info a{display:inline-block;margin-top:12px;color:var(--rose-claro);font-weight:500;text-underline-offset:4px}
.met__extra{margin-top:32px;color:var(--suave)}
@media (min-width:1024px){
  .sec__cab--lado{grid-template-columns:1.1fr .9fr;align-items:end;gap:6vw}
  .tiras{flex-direction:row;height:min(620px, 72vh);gap:12px}
  .tira,.tira.ativa{height:auto;flex:1 1 0;transition:flex-grow .8s var(--ease)}
  .tira.ativa{flex-grow:5.2}
  .tira__btn{position:absolute;inset:0;height:auto;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:26px 22px}
  .tira:not(.ativa) .tira__nome{flex:none;writing-mode:vertical-rl;transform:rotate(180deg);margin-top:auto;white-space:nowrap;font-size:30px}
  .tira.ativa .tira__nome{font-size:clamp(44px, 4vw, 64px);max-width:9ch;line-height:.95}
  .tira__mais{position:absolute;top:24px;right:20px}
  .tira:not(.ativa) .tira__mais{right:auto;left:50%;margin-left:-13px;top:auto;bottom:24px;display:none}
  .tira__info{left:30px;bottom:30px;right:30px}
  .tira:hover img{transform:scale(1.04)}
}

/* ---------- a Aline ---------- */
.sobre{padding:var(--sec) 0;background:var(--blush)}
.sobre__grade{display:grid;gap:48px}
.sobre__foto{width:min(86vw, 460px);margin:0 auto;aspect-ratio:1068/1500;background:#e9ebee}
.sobre__foto img{width:100%;height:100%;object-fit:cover}
.sobre__texto{display:grid;gap:22px;align-content:center;max-width:600px}
.sobre__frase{margin:6px 0 4px;padding-left:24px;border-left:2px solid var(--rose-escuro)}
.sobre__frase p{font:400 italic clamp(28px, 2.8vw, 40px)/1.15 var(--italico);color:var(--tinta)}
.sobre__assina{font:500 34px/1 var(--display);color:var(--rose-escuro)}
@media (min-width:1024px){
  .sobre__grade{grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}
  .sobre__foto{width:100%;max-width:500px;margin:0}
}

/* ---------- curso ---------- */
.curso{padding:var(--sec) 0;background:var(--onix);color:var(--nevoa)}
.curso__grade{display:grid;gap:56px}
.curso__texto{display:grid;gap:24px;align-content:start}
.curso__selo{justify-self:start;padding:7px 16px;border:1px solid rgba(217,165,140,.45);border-radius:999px;color:var(--rose);font-size:14px}
.curso__itens{list-style:none;margin:6px 0;padding:0;display:grid;gap:0;border-top:1px solid var(--linha-escura)}
.curso__itens li{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid var(--linha-escura)}
.curso__itens strong{font:500 26px/1.1 var(--display);color:var(--cetim);letter-spacing:.01em}
.curso__acoes{margin-top:8px}
.curso__mentoria{font-size:16px}
.curso__mentoria a{color:var(--rose-claro);text-underline-offset:4px}
.curso__foto{margin:0;align-self:center}
.curso__foto img{width:100%;border-radius:var(--raio);aspect-ratio:4/3;object-fit:cover}
.curso__foto figcaption{margin-top:12px;font-size:14px;color:var(--nevoa)}
.curso__falas{display:grid;gap:22px;margin-top:clamp(56px, 7vw, 96px)}
.curso__falas blockquote{margin:0;padding:30px;border-radius:var(--raio);background:var(--carvao);border:1px solid var(--linha-escura)}
.curso__falas p{font:400 italic clamp(22px, 2vw, 28px)/1.3 var(--italico);color:var(--cetim)}
.curso__falas cite{display:block;margin-top:16px;font-style:normal;font-size:15px;color:var(--rose)}
@media (min-width:1024px){
  .curso__grade{grid-template-columns:1fr 1.05fr;gap:6vw}
  .curso__falas{grid-template-columns:1fr 1fr}
}

/* ---------- avaliações ---------- */
.aval{padding:var(--sec) 0;background:var(--cetim)}
.aval__cab{display:grid;gap:18px;margin-bottom:clamp(44px, 6vw, 80px)}
.aval__nota span{display:block;font:400 italic clamp(130px, 20vw, 280px)/.8 var(--italico);color:var(--rose-escuro);letter-spacing:-.04em} /* Boska: o zero da Melodrama é cortado */
.aval__cab > div{display:grid;gap:18px;align-content:end}
.aval__lista{display:grid;gap:20px}
.fala{margin:0;padding:30px;border-radius:var(--raio);background:var(--blush);border:1px solid var(--linha)}
.fala p{font-size:19px;line-height:1.55;color:var(--tinta)}
.fala--grande p{font:400 italic clamp(26px, 2.6vw, 38px)/1.25 var(--italico)}
.fala cite{display:block;margin-top:16px;font-style:normal;font-size:15px;color:var(--rose-escuro);font-weight:500}
@media (min-width:1024px){
  .aval__cab{grid-template-columns:auto 1fr;gap:5vw;align-items:end}
  .aval__lista{grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto}
  .fala--grande{grid-row:span 2;display:flex;flex-direction:column;justify-content:space-between;padding:44px}
}

/* ---------- studio ---------- */
.studio{padding:var(--sec) 0;background:var(--blush)}
.galeria{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.g{margin:0;overflow:hidden;border-radius:var(--raio);background:#e6d3cd}
.g img{width:100%;height:100%;object-fit:cover}
.g--a{grid-column:1 / -1;aspect-ratio:3/3.4}
.g--a.arco{border-radius:999px 999px var(--raio) var(--raio)}
.g--b,.g--c{aspect-ratio:3/4}
.g--d{grid-column:1 / -1;aspect-ratio:3/2}
.g--d img{object-position:50% 40%}
.visita{display:grid;gap:36px;margin-top:clamp(56px, 7vw, 96px)}
.visita__info{display:grid;gap:14px;align-content:start}
.visita__info h3{font-size:34px;margin-top:10px}
.horas{margin:0;display:grid;gap:0;max-width:420px}
.horas div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--linha)}
.horas dt{color:var(--texto)}
.horas dd{margin:0;color:var(--tinta);font-weight:500}
.visita__nota{font-size:15px;color:var(--suave)}
.visita__acoes{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}
.visita__mapa{min-height:360px;border-radius:var(--raio);overflow:hidden;background:#e6d3cd}
.visita__mapa iframe{width:100%;height:100%;min-height:360px;border:0;display:block;filter:saturate(.75)}
@media (min-width:1024px){
  .galeria{grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto auto;gap:16px}
  .g--a{grid-column:1;grid-row:1 / span 2;aspect-ratio:auto;min-height:100%}
  .g--b{grid-column:2;grid-row:1 / span 2;aspect-ratio:auto;transform:translateY(6vw)}
  .g--c{grid-column:3;grid-row:1}
  .g--d{grid-column:3;grid-row:2;aspect-ratio:3/4}
  .g--d.arco{border-radius:999px 999px var(--raio) var(--raio)}
  .galeria{padding-bottom:6vw}
  .visita{grid-template-columns:.9fr 1.1fr;gap:6vw}
}

/* ---------- dúvidas ---------- */
.duv{padding:var(--sec) 0;background:var(--cetim)}
.duv__grade{display:grid;gap:40px}
.duv__lista{border-top:1px solid var(--linha)}
.duv details{border-bottom:1px solid var(--linha)}
.duv summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;
  padding:24px 0;font:500 clamp(24px, 2.2vw, 32px)/1.15 var(--display);color:var(--tinta);
}
.duv summary::-webkit-details-marker{display:none}
.duv summary::after{content:"";flex:none;width:14px;height:14px;border-right:1.5px solid var(--rose-escuro);border-bottom:1.5px solid var(--rose-escuro);transform:rotate(45deg) translate(-3px,-3px);transition:transform .35s var(--ease)}
.duv details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px)}
.duv details p{padding:0 0 26px;max-width:62ch}
@media (min-width:1024px){.duv__grade{grid-template-columns:.8fr 1.2fr;gap:6vw}.duv__grade .titulo{position:sticky;top:120px;align-self:start}}

/* ---------- CTA final ---------- */
.fim{background:var(--onix);color:var(--nevoa);padding:var(--sec) 0;position:relative;overflow:hidden;text-align:center}
.fim::before{content:"";position:absolute;left:50%;top:50%;width:min(120vw, 1100px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(217,165,140,.2),transparent 70%);pointer-events:none}
.fim__wrap{display:grid;justify-items:center;gap:26px}
.fim__titulo{font-size:clamp(56px, 8.6vw, 148px);line-height:.9;color:var(--cetim);max-width:12ch;text-wrap:balance}
.fim p{max-width:46ch;font-size:clamp(18px, 1.4vw, 20px)}
.fim__acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}

/* ---------- rodapé ---------- */
.rodape{background:var(--onix);color:var(--nevoa);padding:56px 0 120px;border-top:1px solid var(--linha-escura);font-size:15px;position:relative;z-index:2}
.rodape__wrap{display:grid;gap:28px}
.rodape__marca{display:flex;align-items:center;gap:16px}
.rodape__marca img{width:72px;height:72px}
.rodape__marca p{font:500 26px/1.1 var(--display);color:var(--cetim)}
.rodape__marca span{font:400 14px/1.4 var(--sans);color:var(--nevoa)}
.rodape a{text-underline-offset:4px}
.rodape__fim{max-width:1320px;margin:40px auto 0;padding:24px var(--gutter) 0;border-top:1px solid var(--linha-escura);font-size:13px}
@media (min-width:1024px){.rodape{padding-bottom:56px}.rodape__wrap{grid-template-columns:1.2fr 1fr 1fr;align-items:center}}

/* ---------- flutuantes ---------- */
.flutua{
  position:fixed;right:28px;bottom:28px;z-index:40;width:62px;height:62px;border-radius:50%;
  display:none;place-items:center;background:var(--rose);color:var(--onix);box-shadow:0 12px 30px rgba(13,11,12,.35);
  opacity:0;transform:translateY(20px) scale(.9);transition:opacity .4s var(--ease),transform .4s var(--ease);pointer-events:none;
}
.flutua svg{width:30px;height:30px;fill:currentColor}
.flutua.visivel{opacity:1;transform:none;pointer-events:auto}
.flutua:hover{background:var(--rose-claro)}
.barra{
  position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;gap:8px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(13,11,12,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transform:translateY(110%);transition:transform .45s var(--ease);
}
.barra.visivel{transform:none}
.barra a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:999px;text-decoration:none;font-weight:500;font-size:15px}
.barra a:first-child{background:var(--rose);color:var(--onix)}
.barra a:last-child{border:1px solid rgba(235,198,179,.45);color:var(--cetim)}
@media (min-width:1024px){.flutua{display:grid}.barra{display:none}}

/* ---------- sem movimento ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .btn--brilho::after{display:none}
}
