/* NS Gestão de Marcas · showroom Noêmia Simões
   Paleta da arte "Convite Inverno 2027" da própria NS: creme, marrom-escuro, dourado do monograma,
   serifa clássica com itálico e caixa alta espaçada. Arcos e ripas vêm do showroom. */
:root{
  --creme:#F6EFE4;
  --creme-2:#EFE5D5;
  --bege:#D9C6A6;
  --marrom:#3D2616;
  --marrom-2:#2C1A0E;
  --ouro:#B0864A;
  --ouro-escuro:#85602C;
  --ouro-claro:#DDBB82;
  --branco:#FFFCF6;
  --suave:#6B5847;
  --linha:rgba(61,38,22,.16);
  --serif:"Cormorant Garamond",Garamond,"Times New Roman",serif;
  --sans:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gut:clamp(16px,4.5vw,64px);
  --max:1320px;
  --arco:999px 999px 0 0;
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--creme);color:var(--marrom);font-family:var(--sans);font-weight:400;font-size:clamp(1rem,.96rem + .2vw,1.0625rem);line-height:1.62;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
img,video{height:auto}
a{color:inherit}
h1,h2,h3,p,figure,blockquote,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--ouro);outline-offset:3px;border-radius:4px}
::selection{background:var(--bege);color:var(--marrom)}

.pular{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--marrom);color:var(--creme);padding:10px 16px;border-radius:999px}
.pular:focus{left:16px}

/* ---------- tipografia ---------- */
.h-heroi,.h2,.h-final,.c-titulo,.numero,.citacao p,.ev-data{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
.h-heroi,.h2,.h-final,.c-titulo,.numero,.citacao p,.ev-data,.fatos b,.ritual h3,.chip.dia span b,.f-nome,summary,.marca-nome,.cat-resumo,.c-mimo{font-variant-numeric:lining-nums;font-feature-settings:"lnum"}
.h-heroi{font-size:clamp(3.1rem,1.9rem + 4.6vw,5.9rem);line-height:.96}
.h-heroi em,.h2 em,.h-final em{font-style:italic;color:var(--ouro)}
.sobre{font:500 .76rem/1.4 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ouro-escuro);margin-bottom:1.3rem}
.h2{font-size:clamp(2.45rem,1.75rem + 3.2vw,4.5rem);line-height:1;text-wrap:balance;max-width:16ch}
.lead{font-size:clamp(1.05rem,1rem + .3vw,1.22rem);color:var(--suave);max-width:46ch;margin-top:1.1rem}

/* ---------- botões ---------- */
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:2rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:0 1.6em;border-radius:999px;font:500 1rem/1 var(--sans);letter-spacing:.01em;text-decoration:none;border:1px solid transparent;transition:transform .35s var(--ease),background-color .3s,color .3s,border-color .3s;touch-action:manipulation}
.btn svg{width:20px;height:20px;flex:none}
.btn:active{transform:scale(.97)}
.btn-escuro{background:var(--marrom);color:var(--creme)}
.btn-escuro:hover{background:var(--marrom-2)}
.btn-linha{border-color:var(--marrom);color:var(--marrom)}
.btn-linha:hover{background:var(--marrom);color:var(--creme)}
.btn-claro{background:var(--creme);color:var(--marrom)}
.btn-claro:hover{background:var(--branco)}
.btn-linha-clara{border-color:rgba(246,239,228,.55);color:var(--creme)}
.btn-linha-clara:hover{background:var(--creme);color:var(--marrom)}
.btn-zap{background:var(--creme);color:var(--marrom);width:100%;min-height:58px;font-size:1.05rem}
.btn-zap:hover{background:var(--branco)}
@media (hover:hover){.btn:hover{transform:translateY(-2px)}}

/* ---------- topo fixo ---------- */
.topo{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--gut);padding-top:max(12px,env(safe-area-inset-top));transition:background-color .4s,box-shadow .4s}
.topo.rolou{background:rgba(246,239,228,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--linha)}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.marca-ns{width:22px;height:40px}
.marca-nome{font-family:var(--serif);font-size:1.32rem;line-height:1;font-weight:500}
.marca-nome small{display:block;margin-top:2px;font-family:var(--sans);font-weight:400;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro-escuro)}
.menu{display:none;gap:28px}
.menu a{text-decoration:none;font-size:.95rem;position:relative}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--ouro);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.menu a:hover::after{transform:scaleX(1)}
.topo-cta{display:none;min-height:42px;align-items:center;padding:0 1.25em;border-radius:999px;background:var(--marrom);color:var(--creme);text-decoration:none;font-weight:500;font-size:.95rem}
@media (min-width:900px){.menu{display:flex}.topo-cta{display:inline-flex}}

/* ---------- arco (vocabulário do showroom) ---------- */
.arco{position:relative;overflow:hidden;border-radius:var(--arco);background:var(--bege);isolation:isolate}
.arco>img,.arco>video{width:100%;height:100%;object-fit:cover}
.moldura{overflow:hidden;border-radius:18px;background:var(--bege)}
.moldura>img{width:100%;height:100%;object-fit:cover}

/* ---------- 1 · topo ---------- */
.heroi{position:relative;display:grid;gap:2.4rem;padding:calc(96px + env(safe-area-inset-top)) var(--gut) 0;max-width:var(--max);margin:0 auto}
.h-heroi .linha{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.h-heroi .linha>span{display:inline-block}
.heroi-apoio{margin-top:1.4rem;max-width:44ch;font-size:clamp(1.05rem,1rem + .35vw,1.25rem);color:var(--suave)}
.heroi-arco{position:relative;width:min(100%,460px);justify-self:center}
.arco-heroi{aspect-ratio:9/14;box-shadow:0 30px 60px -30px rgba(61,38,22,.45)}
.aneis{position:absolute;inset:-14% -22% auto;width:144%;z-index:-1;fill:none;stroke:var(--bege);stroke-width:1.2;pointer-events:none}
.selo-ns{position:absolute;left:-18px;bottom:16%;width:96px;height:96px;border-radius:50%;background:var(--branco);display:grid;place-items:center;box-shadow:0 14px 34px -14px rgba(61,38,22,.4)}
.selo-ns svg{width:34px;height:61px;overflow:visible}
.fatos{grid-column:1/-1;display:grid;gap:0;border-top:1px solid var(--linha);margin-top:.5rem}
.fatos li{padding:1rem 0;border-bottom:1px solid var(--linha);font-size:.98rem}
.fatos b{font-family:var(--serif);font-weight:500;font-size:1.9rem;line-height:1;margin-right:.25em;color:var(--marrom)}
@media (min-width:900px){
  .heroi{grid-template-columns:1.4fr .6fr;align-items:center;column-gap:4vw;padding-top:130px;min-height:100svh}
  .heroi-arco{justify-self:end}
  .fatos{grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--linha)}
  .fatos li{border-bottom:0;padding:1.3rem 1.5rem 1.4rem 0}
  .fatos li+li{border-left:1px solid var(--linha);padding-left:1.5rem}
  .selo-ns{left:-48px;width:118px;height:118px}
  .selo-ns svg{width:40px;height:72px}
}

/* entrada do topo (CSS puro: não depende de script) */
@keyframes sobe{from{transform:translateY(105%)}to{transform:none}}
@keyframes surge{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes abre{from{opacity:0;transform:scale(.9) translateY(30px)}to{opacity:1;transform:none}}
@keyframes gira{from{transform:rotate(-24deg);opacity:0}to{transform:none;opacity:1}}
@keyframes traco{to{stroke-dashoffset:0}}
@keyframes pulso{0%{transform:scale(.6);opacity:.7}100%{transform:scale(2.6);opacity:0}}
.h-heroi .linha>span{animation:sobe 1.1s var(--ease) both}
.h-heroi .linha+.linha>span{animation-delay:.12s}
.heroi-apoio,.heroi .acoes{animation:surge .9s var(--ease) .35s both}
.heroi .acoes{animation-delay:.45s}
.arco-heroi{animation:abre 1.3s var(--ease) .1s both}
.aneis{animation:gira 2.2s var(--ease) .2s both;transform-origin:50% 50%}
.selo-ns{animation:abre 1s var(--ease) .7s both}
.fatos li{animation:surge .9s var(--ease) both}
.fatos li:nth-child(1){animation-delay:.6s}.fatos li:nth-child(2){animation-delay:.7s}.fatos li:nth-child(3){animation-delay:.8s}
.desenha path{stroke-dasharray:1;stroke-dashoffset:1;animation:traco 1.6s var(--ease) 1s forwards}
.desenha path:nth-child(2){animation-delay:1.35s}
.desenha path:nth-child(3){animation-delay:1.6s}

/* ---------- revelar no scroll (só com JS) ---------- */
html.js .revela{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
html.js .revela.visto{opacity:1;transform:none}
html.js .revela-arco .arco{opacity:0;transform:translateY(40px) scale(.96);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
html.js .revela-arco .arco>*{transform:scale(1.18);transition:transform 1.8s var(--ease)}
html.js .revela-arco.visto .arco{opacity:1;transform:none}
html.js .revela-arco.visto .arco>*{transform:none}

/* ---------- faixa do Convite Inverno 2027 ---------- */
.evento{margin-top:clamp(3rem,7vw,6rem);background:var(--marrom);color:var(--creme);overflow:hidden}
.evento[hidden]{display:none}
.ev-in{display:grid;gap:1.4rem;padding:clamp(2.6rem,6vw,4.5rem) max(var(--gut),calc((100% - var(--max))/2 + var(--gut))) 2rem}
.evento .sobre{color:var(--ouro-claro);margin:0}
.ev-data{font-size:clamp(2.6rem,1.8rem + 3.6vw,4.8rem);line-height:.98}
.ev-data em{display:block;font-style:italic;color:var(--ouro-claro)}
.ev-local{font-size:.76rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(246,239,228,.7)}
.ev-status{display:flex;gap:12px;align-items:flex-start;font-size:1.05rem;max-width:46ch}
.ev-status .ponto{position:relative;flex:none;width:10px;height:10px;margin-top:.5em;border-radius:50%;background:var(--ouro-claro)}
.ev-status .ponto::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ouro-claro);animation:pulso 2s ease-out infinite}
.evento .btn{justify-self:start}
@media (min-width:900px){.ev-in{grid-template-columns:1.1fr .9fr;column-gap:6vw;align-items:end}.ev-in .sobre,.ev-data,.ev-local{grid-column:1}.ev-status,.evento .btn{grid-column:2}.ev-status{grid-row:2}.evento .btn{grid-row:3}}
.desfile{display:flex;width:max-content;padding:1.6rem 0 2.2rem;border-top:1px solid rgba(246,239,228,.14);animation:desfila 46s linear infinite}
.desfile span{flex:none;width:clamp(120px,14vw,170px);height:44px;margin:0 clamp(18px,3vw,40px);background:rgba(246,239,228,.82);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
@keyframes desfila{to{transform:translateX(-50%)}}

/* ---------- ripas ---------- */
.ripas{height:clamp(56px,9vw,110px);background:repeating-linear-gradient(90deg,var(--bege) 0 14px,var(--creme) 14px 30px)}

/* ---------- 2 · a visita ---------- */
.visita{background:var(--marrom);color:var(--creme);margin-top:clamp(4rem,9vw,8rem)}
.visita .ripas{opacity:.9}
.evento+.visita{margin-top:0}
.visita-in{display:grid;gap:2.6rem;padding:clamp(3.5rem,8vw,7rem) var(--gut);max-width:var(--max);margin:0 auto}
.visita .lead{color:rgba(246,239,228,.74)}
.visita-video{width:min(100%,420px)}
.visita-video .arco{aspect-ratio:9/14;background:var(--marrom-2)}
.visita-video figcaption{margin-top:.9rem;font-size:.88rem;color:rgba(246,239,228,.6)}
.ritual{display:grid;border-top:1px solid rgba(246,239,228,.18)}
.ritual li{padding:1.5rem 0;border-bottom:1px solid rgba(246,239,228,.18)}
.ritual h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.75rem,1.45rem + 1.1vw,2.4rem);line-height:1.05}
.ritual p{margin-top:.5rem;color:rgba(246,239,228,.74);max-width:44ch}
.visita .btn-claro{justify-self:start}
@media (min-width:900px){
  .visita-in{grid-template-columns:1fr minmax(320px,420px);column-gap:6vw;align-items:start}
  .visita-cab{grid-column:1}
  .visita-video{grid-column:2;grid-row:1/span 3;position:sticky;top:110px}
  .ritual{grid-column:1;grid-template-columns:1fr 1fr;column-gap:3rem}
  .visita .btn-claro{grid-column:1}
}

/* ---------- 3 · o espaço ---------- */
.espaco{padding:clamp(4.5rem,10vw,9rem) 0 clamp(3rem,6vw,5rem);overflow:hidden}
.espaco-cab{display:grid;gap:1.6rem;padding:0 var(--gut);max-width:var(--max);margin:0 auto 2.6rem}
.espaco-lado p{color:var(--suave);max-width:42ch}
.espaco-lado .numero{font-size:clamp(3.2rem,2.4rem + 3vw,5.4rem);line-height:1;color:var(--marrom);margin-bottom:.6rem}
.espaco-lado .numero b{font-weight:400}
.espaco-lado .numero span{font-size:.42em;letter-spacing:0}
@media (min-width:900px){.espaco-cab{grid-template-columns:1.2fr .8fr;align-items:end}}
.trilho-janela{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.trilho-janela::-webkit-scrollbar{display:none}
.trilho{display:flex;gap:clamp(14px,2vw,28px);padding:0 var(--gut);width:max-content;align-items:flex-end}
.quadro{width:clamp(250px,74vw,380px);scroll-snap-align:center;flex:none}
.quadro .moldura{aspect-ratio:4/5}
.quadro.q-alto .arco{aspect-ratio:9/15}
.quadro p{margin-top:.8rem;font-size:.92rem;color:var(--suave)}
.credito{padding:1.6rem var(--gut) 0;max-width:var(--max);margin:0 auto;font-size:.85rem;color:var(--suave)}
html.horizontal .trilho-janela{overflow:visible;scroll-snap-type:none}
html.horizontal .quadro{width:clamp(300px,26vw,420px)}

/* ---------- 4 · as marcas ---------- */
.marcas{position:relative;padding:clamp(4.5rem,10vw,9rem) var(--gut);max-width:var(--max);margin:0 auto}
.marcas-cab{margin-bottom:2.8rem}
.marcas-corpo{display:grid;gap:2.4rem}
.parede{width:min(100%,380px)}
.parede .arco{aspect-ratio:9/15}
.grade-marcas{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--bege)}
.grade-marcas li{border-bottom:1px solid var(--bege)}
.grade-marcas li:nth-child(odd){border-right:1px solid var(--bege)}
.m-logo{position:relative;display:grid;place-items:center;width:100%;height:clamp(92px,13vw,124px);padding:14px;border:0;background:transparent;color:var(--marrom);cursor:pointer;transition:background-color .35s,color .35s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.m-logo .logo{display:block;width:min(78%,190px);height:64%;background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transition:transform .5s var(--ease)}
.m-logo::after{content:"";position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;border:1px solid var(--bege);background:var(--creme);transition:background-color .3s,border-color .3s}
.m-logo[aria-pressed=true]{background:var(--marrom);color:var(--creme)}
.m-logo[aria-pressed=true]::after{border-color:var(--ouro-claro);background:var(--ouro-claro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%233D2616' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
@media (hover:hover){.m-logo:hover .logo{transform:scale(1.06)}.m-logo:hover{color:var(--ouro-escuro)}.m-logo[aria-pressed=true]:hover{color:var(--creme)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cat-dica{display:block;margin-bottom:1.1rem;font-size:.95rem;color:var(--suave)}
.cat-dica b{color:var(--marrom);font-weight:500}
.pedido-cat{margin-top:1.6rem;display:grid;gap:1.2rem;padding:clamp(18px,3vw,28px);border:1px solid var(--bege);border-radius:22px;background:var(--branco)}
.pedido-cat legend{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro-escuro);font-weight:500}
.chips.claro .chip span{border-color:var(--bege);color:var(--marrom)}
.chips.claro .chip input:checked+span{background:var(--marrom);color:var(--creme);border-color:var(--marrom)}
@media (hover:hover){.chips.claro .chip span:hover{border-color:var(--marrom)}}
.cat-resumo{font-family:var(--serif);font-size:1.3rem;line-height:1.25;min-height:2.5em}
.cat-resumo em{color:var(--ouro-escuro)}
.pedido-cat .btn{justify-self:start}
.marcas-mais{margin-top:2rem;color:var(--suave);max-width:58ch}
@media (min-width:900px){
  .marcas-corpo{grid-template-columns:minmax(260px,360px) 1fr;column-gap:6vw;align-items:start}
  .parede{position:sticky;top:110px}
}

/* ---------- 5 · calendário ---------- */
.calendario{background:var(--creme-2);padding:clamp(4.5rem,10vw,8rem) max(var(--gut),calc((100% - var(--max))/2 + var(--gut)))}
.cal-cab{margin-bottom:2.2rem}
.agora{display:flex;gap:12px;align-items:flex-start;font-size:1.05rem;font-weight:500;margin-bottom:2rem}
.agora .ponto{position:relative;flex:none;width:10px;height:10px;margin-top:.55em;border-radius:50%;background:var(--ouro)}
.agora .ponto::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ouro);animation:pulso 2s ease-out infinite}
.regua-janela{overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}
.regua{position:relative;min-width:660px;padding-top:2.2rem}
.meses{display:grid;grid-template-columns:repeat(9,1fr);font-size:.82rem;color:var(--suave);border-bottom:1px solid var(--linha);padding-bottom:.5rem}
.meses span{padding-left:6px;border-left:1px solid var(--linha)}
.faixa{position:relative;height:96px;border-bottom:1px solid var(--linha)}
.f-nome{position:absolute;left:0;top:6px;line-height:1.2;z-index:1;background:var(--creme-2);padding-right:10px;font-family:var(--serif);font-weight:500;font-size:1.35rem}
.barra{position:absolute;bottom:14px;left:calc(var(--ini)/9*100%);width:calc((var(--fim) - var(--ini))/9*100% - 4px);height:30px;border-radius:999px;display:flex;align-items:center;padding:0 14px;font-size:.82rem;white-space:nowrap;overflow:hidden;transform-origin:left center}
.b-pedido{background:var(--marrom);color:var(--creme)}
.b-entrega{background:var(--bege);color:var(--marrom)}
.b-chega{background:transparent;border:1px dashed var(--marrom);color:var(--marrom)}
html.js .barra{transform:scaleX(0);transition:transform 1.2s var(--ease)}
html.js .regua.visto .barra{transform:none}
html.js .regua.visto .faixa+.faixa .barra{transition-delay:.25s}
.hoje{position:absolute;top:0;bottom:0;width:0;border-left:1.5px solid var(--ouro);pointer-events:none}
.hoje span{position:absolute;top:0;left:-1px;transform:translateX(-50%);background:var(--ouro);color:var(--branco);font-size:.74rem;font-weight:500;padding:3px 10px;border-radius:999px}
.cal-nota{margin-top:1.6rem;color:var(--suave);max-width:60ch}
.calendario .btn{margin-top:2rem}

/* ---------- 6 · região ---------- */
.regiao{display:grid;gap:2.4rem;padding:clamp(4.5rem,10vw,9rem) var(--gut);max-width:var(--max);margin:0 auto}
.busca{display:block;margin-top:2rem;font-weight:500}
.busca input{margin-top:.6rem}
input[type=text],input[type=date]{display:block;width:100%;min-height:54px;padding:0 18px;border:1px solid rgba(61,38,22,.28);border-radius:14px;background:var(--branco);font:400 1rem var(--sans);color:var(--marrom);transition:border-color .25s,box-shadow .25s}
input[type=text]:focus,input[type=date]:focus{outline:none;border-color:var(--marrom);box-shadow:0 0 0 4px rgba(176,134,74,.22)}
input::placeholder{color:#9A8A7A}
.resposta{min-height:3.2em;margin-top:1rem;max-width:44ch}
.resposta b{font-weight:500}
.resposta a{font-weight:500}
.mapa svg{width:100%;height:auto;overflow:visible}
.mapa .meso{stroke:var(--creme);stroke-width:1.4;stroke-linejoin:round;transition:fill .5s}
.mapa .sim{fill:var(--bege)}
.mapa .nao{fill:transparent;stroke:rgba(61,38,22,.32);stroke-dasharray:3 4}
.mapa .sim.sel{fill:var(--ouro-claro)}
.mapa .nao.sel{fill:rgba(61,38,22,.08)}
.mapa .pino{fill:var(--marrom)}
.mapa .onda{fill:none;stroke:var(--marrom);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:pulso 2.4s ease-out infinite}
.mapa .rotulo{font:500 13px var(--sans);fill:var(--marrom)}
.mapa figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:1rem;font-size:.85rem;color:var(--suave)}
.leg{display:inline-block;width:14px;height:14px;border-radius:4px}
.leg-sim{background:var(--bege)}
.leg-show{background:var(--marrom);border-radius:50%;width:10px;height:10px;margin-left:10px}
@media (min-width:900px){.regiao{grid-template-columns:.9fr 1.1fr;column-gap:6vw;align-items:center}}

/* ---------- 7 · a Noêmia ---------- */
.noemia{display:grid;gap:2.6rem;padding:clamp(4.5rem,10vw,9rem) var(--gut);max-width:var(--max);margin:0 auto;border-top:1px solid var(--linha)}
.noemia-foto{width:min(100%,440px)}
.noemia-foto .arco{aspect-ratio:4/5}
.noemia-texto>p{margin-top:1.4rem;max-width:50ch;color:var(--suave)}
.noemia-texto>p b{color:var(--marrom);font-weight:500}
.citacao{margin-top:2.2rem;padding-left:1.4rem;border-left:2px solid var(--ouro)}
.citacao p{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.3rem);line-height:1.2;font-style:italic}
.citacao cite{display:block;margin-top:.8rem;font-style:normal;font-size:.9rem;color:var(--suave)}
.premio{display:flex;gap:18px;align-items:center;margin-top:2.4rem;padding:16px;border-radius:18px;background:var(--branco);max-width:520px}
.premio img{width:84px;height:104px;object-fit:cover;border-radius:999px 999px 8px 8px;flex:none}
.premio p{font-size:.95rem}
@media (min-width:900px){.noemia{grid-template-columns:minmax(300px,440px) 1fr;column-gap:6vw;align-items:center}}

/* ---------- 8 · monte sua visita ---------- */
.monte{background:var(--marrom);color:var(--creme);padding:clamp(4.5rem,10vw,8rem) max(var(--gut),calc((100% - var(--max))/2 + var(--gut)))}
.monte .lead{color:rgba(246,239,228,.74)}
.monte-cab{margin-bottom:2.6rem}
.monte-corpo{display:grid;gap:2.6rem}
.form{display:grid;gap:1.5rem}
.form label{font-weight:500;font-size:.95rem}
.form label input{margin-top:.5rem}
.campo-duplo{display:grid;gap:1.5rem}
@media (min-width:600px){.campo-duplo{grid-template-columns:1fr 1fr;gap:1rem}}
.form input[type=text],.form input[type=date]{background:rgba(255,252,246,.06);border-color:rgba(246,239,228,.28);color:var(--creme)}
.form input[type=text]:focus,.form input[type=date]:focus{border-color:var(--creme)}
.form input::placeholder{color:rgba(246,239,228,.45)}
.form input[type=date]{color-scheme:dark;margin-top:.8rem}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-weight:500;font-size:.95rem;padding:0;margin-bottom:.7rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips.rolar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--gut)*-1);padding:2px var(--gut) 4px}
.chips.rolar::-webkit-scrollbar{display:none}
.chip{position:relative;flex:none}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:46px;padding:.45em 1.1em;border:1px solid rgba(246,239,228,.3);border-radius:999px;font-weight:400;font-size:.95rem;line-height:1.15;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s,transform .25s var(--ease);user-select:none}
.chip span small{font-size:.72rem;opacity:.7}
.chip.dia span{border-radius:16px;min-width:64px;min-height:64px}
.chip.dia span b{font-family:var(--serif);font-weight:500;font-size:1.55rem;line-height:1}
.chip.dia.ev span{border-color:var(--ouro-claro)}
.chip.dia.ev span::after{content:"";position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--ouro-claro)}
.chip.dia span{position:relative}
.dica-ev{margin-top:.7rem;font-size:.85rem;color:rgba(246,239,228,.7)}
.dica-ev[hidden]{display:none}
.dica-ev i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ouro-claro);margin-right:6px;vertical-align:middle;font-style:normal}
.chip input:checked+span{background:var(--creme);color:var(--marrom);border-color:var(--creme)}
.chip input:focus-visible+span{outline:2px solid var(--ouro);outline-offset:2px}
.chip span:active{transform:scale(.95)}
@media (hover:hover){.chip span:hover{border-color:var(--creme)}}
.outra-data[hidden]{display:none}

.convite-col{display:grid;gap:14px;align-content:start}
.convite{position:relative;background:var(--branco);color:var(--marrom);border-radius:220px 220px 22px 22px;padding:58px 30px 30px;text-align:center;box-shadow:0 40px 80px -40px rgba(0,0,0,.6);transition:transform .5s var(--ease)}
.convite::before{content:"";position:absolute;inset:10px;border:1px solid rgba(176,134,74,.55);border-radius:210px 210px 14px 14px;pointer-events:none}
.convite.pulsa{transform:scale(1.015)}
.convite-ns{width:30px;height:54px;margin:0 auto 14px}
.c-sobre{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--suave)}
.c-titulo{font-size:clamp(1.95rem,1.6rem + 1.3vw,2.6rem);line-height:1.04;margin-top:.4rem;font-style:italic;color:var(--ouro-escuro)}
.c-quem{margin:.7rem 0 1.4rem;font-weight:500;font-size:1.05rem;min-height:1.6em;overflow-wrap:anywhere}
.c-linha{display:flex;justify-content:space-between;gap:16px;padding:.62rem 0;border-top:1px solid var(--linha);text-align:right;font-size:.95rem}
.c-linha span{color:var(--suave);text-align:left}
.c-linha b{font-weight:500;overflow-wrap:anywhere}
.c-mimo{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--linha);font-family:var(--serif);font-style:italic;font-size:1.3rem}
.c-end{margin-top:.6rem;font-size:.8rem;color:var(--suave)}
.pequeno{font-size:.85rem;color:rgba(246,239,228,.65);text-align:center}
@media (min-width:900px){
  .monte-corpo{grid-template-columns:1fr minmax(340px,420px);column-gap:6vw;align-items:start}
  .convite-col{position:sticky;top:100px}
  .chips.rolar{flex-wrap:wrap;margin:0;padding:2px 0}
}

/* ---------- 9 · perguntas ---------- */
.perguntas{padding:clamp(4.5rem,10vw,8rem) var(--gut);max-width:var(--max);margin:0 auto}
@media (min-width:900px){.perguntas{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:6vw;align-items:start}.perguntas .acordeao{margin-top:0}}
.acordeao{margin-top:2.2rem;border-top:1px solid var(--linha)}
details{border-bottom:1px solid var(--linha)}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:1.3rem 0;cursor:pointer;font-family:var(--serif);font-weight:500;font-size:clamp(1.35rem,1.2rem + .6vw,1.7rem);line-height:1.15}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(var(--marrom),var(--marrom)) center/14px 1.5px no-repeat,linear-gradient(var(--marrom),var(--marrom)) center/1.5px 14px no-repeat;transition:transform .4s var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 0 1.4rem;color:var(--suave);max-width:60ch}

/* ---------- 10 · final ---------- */
.final{position:relative;background:var(--marrom);color:var(--creme);display:grid;justify-items:center;text-align:center;padding:clamp(4.5rem,10vw,8rem) var(--gut) clamp(4rem,8vw,7rem);overflow:hidden}
.final-arco{width:min(86vw,440px);aspect-ratio:4/5;border-radius:var(--arco);overflow:hidden;background:var(--marrom-2)}
.final-arco video{width:100%;height:100%;object-fit:cover}
.final-texto{margin-top:2rem;position:relative}
.h-final{font-size:clamp(3.1rem,2rem + 5.4vw,6.6rem);line-height:.98}
.final-texto>p{margin-top:1rem;color:rgba(246,239,228,.75)}
.final .acoes{justify-content:center}

/* ---------- rodapé ---------- */
.rodape{background:var(--marrom-2);color:rgba(246,239,228,.78);padding:3.5rem var(--gut) calc(6.5rem + env(safe-area-inset-bottom));display:grid;gap:2rem;font-size:.92rem}
.rodape b{color:var(--creme);font-weight:500}
.rodape a{text-decoration-color:rgba(246,239,228,.35);text-underline-offset:3px}
.rodape a:hover{color:var(--creme)}
.rod-marca{display:flex;gap:14px;align-items:flex-start}
.rod-marca svg{width:22px;height:40px;flex:none}
.rod-col p+p{margin-top:.6rem}
.rod-fim{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:1.6rem;border-top:1px solid rgba(246,239,228,.14);font-size:.82rem}
@media (min-width:900px){
  .rodape{grid-template-columns:1.3fr 1fr 1fr;padding-bottom:3rem}
  .rod-fim{grid-column:1/-1}
}

/* ---------- botão fixo (celular) ---------- */
.zap-fixo{position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;border-radius:999px;background:var(--marrom);color:var(--creme);text-decoration:none;font-weight:500;box-shadow:0 18px 40px -14px rgba(61,38,22,.6);transition:transform .45s var(--ease),opacity .3s}
.zap-fixo svg{width:20px;height:20px}
.zap-fixo.some{transform:translateY(160%);opacity:0;pointer-events:none}
@media (min-width:900px){.zap-fixo{display:none}}

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .desenha path{stroke-dashoffset:0}
  html.js .revela,html.js .revela-arco .arco,html.js .revela-arco .arco>*,html.js .barra{opacity:1;transform:none}
}
