/* =========================================================
   Jasmim Design Floral — Natal
   Desenvolvido por 12 Lab Studio
   ---------------------------------------------------------
   Sistema: escala de espaçamento 8px · 2 famílias tipográficas
   · 4 cores de marca + neutros · raios 12 / 20 / 28 / pill
   ========================================================= */

:root{
  /* Cor */
  --vinho:#7A1D22;
  --vinho-esc:#5E1519;
  --pinho:#1D3A2C;
  --pinho-claro:#36624D;
  --ocre:#B98535;
  --ocre-esc:#A47328;
  --creme:#F4EEE4;
  --creme-2:#E9DFD0;
  --tinta:#1A1714;
  --cinza:#5F574D;          /* 6.4:1 sobre creme */
  --linha:#D9CDBB;
  --claro:#F8F2E9;

  /* Tipografia */
  --display:'Instrument Serif', 'Times New Roman', serif;
  --sans:'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Espaço */
  --g:clamp(20px, 3.4vw, 48px);          /* margem lateral */
  --sec:clamp(96px, 11vw, 168px);        /* ritmo vertical entre secções */
  --max:1440px;

  /* Raio */
  --r-s:12px; --r-m:20px; --r-l:28px;

  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;background:var(--creme);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--g)}

/* ---------- Tipografia ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.display{font-family:var(--display);font-weight:400;line-height:.95;letter-spacing:-.02em}
.display em{font-style:italic}
.h-sec{font-size:clamp(48px,6.4vw,104px)}
.lead{font-size:18px;line-height:1.65;max-width:46ch}
.muted{color:var(--cinza)}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 26px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .3s var(--ease)}
.btn:active{transform:scale(.98)}
.btn svg{width:16px;height:16px;flex:none;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn--claro{background:var(--claro);color:var(--vinho)}
.btn--claro:hover{background:#fff}
.btn--escuro{background:var(--tinta);color:var(--claro)}
.btn--escuro:hover{background:#000}
.btn--vinho{background:var(--vinho);color:var(--claro)}
.btn--vinho:hover{background:var(--vinho-esc)}
.btn--contorno{border-color:currentColor;background:transparent}
.btn--contorno:hover{background:rgba(255,255,255,.08)}
.btn--peq{min-height:44px;padding:0 20px;font-size:14px}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:4px;transition:background-size .4s var(--ease)}
.link:hover{background-size:0 1px;background-position:100% 100%}

/* =========================================================
   Cabeçalho — fixo, muda de cor com a secção
   ========================================================= */
.topo{position:fixed;inset:0 0 auto 0;z-index:50;color:var(--claro);transition:color .4s ease,background-color .4s ease}
.topo.is-claro{color:var(--tinta)}
.topo.is-solido{-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px)}
.topo__in{max-width:var(--max);margin:0 auto;padding:16px var(--g);display:flex;align-items:center;justify-content:space-between;gap:24px}
.topo__logo{display:block;width:112px;height:40px;position:relative;flex:none}
.topo__logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .4s ease}
.topo__logo .l-escuro{opacity:0}
.topo.is-claro .l-claro{opacity:0}
.topo.is-claro .l-escuro{opacity:1}
.topo__nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:500}
.topo__nav a{text-decoration:none;opacity:.85;transition:opacity .25s ease}
.topo__nav a:hover,.topo__nav a[aria-current="true"]{opacity:1}
.topo__nav a[aria-current="true"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.topo__cta{background:var(--claro);color:var(--vinho)}
.topo.is-claro .topo__cta{background:var(--tinta);color:var(--claro)}
.topo__menu{display:none;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid currentColor;background:transparent;font-size:14px;font-weight:600;cursor:pointer}

/* Menu de telemóvel */
.painel{position:fixed;inset:0;z-index:60;background:var(--vinho);color:var(--claro);display:flex;flex-direction:column;justify-content:space-between;padding:16px var(--g) 32px;transform:translateY(-100%);transition:transform .6s cubic-bezier(.7,0,.2,1);visibility:hidden}
.painel.is-open{transform:none;visibility:visible}
.painel__top{display:flex;justify-content:space-between;align-items:center}
.painel__top img{width:112px}
.painel nav{display:flex;flex-direction:column}
.painel nav a{font-family:var(--display);font-size:52px;line-height:1.15;text-decoration:none;padding:4px 0;border-bottom:1px solid rgba(248,242,233,.2)}
.painel__rodape{display:flex;flex-direction:column;gap:16px;font-size:14px}

/* =========================================================
   1 · HERO
   ========================================================= */
.cena{position:relative}
.hero{height:200vh;background:var(--vinho);color:var(--claro)}
.hero__palco{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.hero__w{position:absolute;top:50%;z-index:3;font-family:var(--display);font-weight:400;font-size:15vw;line-height:.8;letter-spacing:-.04em;white-space:nowrap;will-change:transform;pointer-events:none}
.hero__w--a{left:2.4vw;transform:translate(calc(var(--p,0) * -26vw), -58%)}
.hero__w--b{right:2.4vw;transform:translate(calc(var(--p,0) * 26vw), -58%);font-style:italic}
.hero__ramo{position:absolute;left:50%;bottom:-2vh;z-index:2;height:84vh;width:auto;max-width:none;transform:translateX(-50%) translateY(calc(var(--p,0) * -6vh)) scale(calc(1 + var(--p,0) * .08));transform-origin:50% 100%;will-change:transform;filter:drop-shadow(0 30px 40px rgba(0,0,0,.28))}
.hero__bagas{position:absolute;z-index:1;width:min(11vw,150px);pointer-events:none;will-change:translate}
.hero__bagas--1{top:13vh;right:20vw;transform:rotate(-18deg)}
.hero__bagas--2{top:17vh;left:22vw;width:min(8vw,110px);transform:rotate(200deg)}
.hero__rodape{position:absolute;inset:auto 0 0 0;z-index:4;opacity:calc(1 - var(--p,0) * 2.4)}
.hero__rodape .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:32px}
.hero__info{display:flex;flex-direction:column;gap:20px;max-width:320px}
.hero__info p{font-size:16px;line-height:1.55;color:#F0DFD8}
.hero__ctas{display:flex;flex-wrap:wrap;gap:10px}
.hero__estado{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:13px;margin-right:72px;text-align:right}
.hero__estado b{font-family:var(--display);font-weight:400;font-size:44px;line-height:1}

/* =========================================================
   2 · SOBRE — texto que se revela palavra a palavra
   ========================================================= */
.sobre{padding:var(--sec) 0}
.sobre__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.sobre__lado{grid-column:span 3;display:flex;flex-direction:column;gap:12px;color:var(--vinho);padding-top:14px}
.sobre__lado span:last-child{font-size:14px;color:var(--cinza)}
.sobre__txt{grid-column:span 9;font-family:var(--display);font-weight:400;font-size:clamp(34px,4.4vw,68px);line-height:1.1;letter-spacing:-.015em}
.sobre__txt .w{opacity:.16;transition:opacity .45s ease}
.sobre__txt .w.on{opacity:1}
.sobre__txt em{font-style:italic;color:var(--vinho)}
.numeros{grid-column:4 / span 9;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:clamp(56px,7vw,96px)}
.numeros div{border-top:1px solid var(--linha);padding-top:20px}
.numeros b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(44px,4vw,60px);line-height:1}
.numeros span{display:block;margin-top:10px;font-size:14px;color:var(--cinza);max-width:20ch}

/* =========================================================
   3 · CARROSSEL contínuo
   ========================================================= */
.carrossel{padding:0 0 clamp(72px,8vw,120px);position:relative}
.carrossel__cab{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}
.carrossel__cab .eyebrow{color:var(--vinho)}
.pausa{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--linha);background:transparent;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .25s ease}
.pausa:hover{border-color:var(--tinta)}
.pausa svg{width:14px;height:14px}
.pausa .i-play{display:none}
.carrossel.is-parado .pausa .i-play{display:block}
.carrossel.is-parado .pausa .i-pause{display:none}
.carrossel__janela{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.carrossel__pista{display:flex;width:max-content;animation:roda 48s linear infinite}
.carrossel:hover .carrossel__pista,.carrossel:focus-within .carrossel__pista,.carrossel.is-parado .carrossel__pista{animation-play-state:paused}
.carrossel__grupo{display:flex;gap:20px;padding-right:20px}
@keyframes roda{to{transform:translateX(-50%)}}
.slide{flex:none;width:clamp(240px,22vw,320px);aspect-ratio:3/4;border-radius:var(--r-l);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:22px;text-decoration:none;isolation:isolate}
.slide img{position:absolute;left:50%;bottom:26%;z-index:-1;height:56%;width:auto;max-width:86%;object-fit:contain;transform:translateX(-50%);transition:transform .8s var(--ease);filter:drop-shadow(0 20px 24px rgba(0,0,0,.25))}
.slide:hover img{transform:translateX(-50%) translateY(-10px) scale(1.04)}
.slide__n{font-size:12px;font-weight:600;letter-spacing:.16em}
.slide__nome{font-family:var(--display);font-size:32px;line-height:1}
.slide__nome small{display:block;margin-top:8px;font-family:var(--sans);font-size:13px;opacity:.8}

/* Cores de fundo */
.c-vinho{background:var(--vinho);color:var(--claro)}
.c-pinho{background:var(--pinho);color:var(--claro)}
.c-ocre{background:var(--ocre);color:var(--tinta)}
.c-creme{background:var(--creme-2);color:var(--tinta)}

/* =========================================================
   4 · COLEÇÃO
   ========================================================= */
.colecao{padding:0 0 var(--sec)}
.colecao__cab{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;border-top:1px solid var(--linha);padding-top:40px;margin-bottom:48px}
.colecao__cab > div:first-child{grid-column:span 7;display:flex;flex-direction:column;gap:16px}
.colecao__cab .eyebrow{color:var(--vinho)}
.colecao__cab > div:last-child{grid-column:span 5;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.filtros{display:flex;flex-wrap:wrap;gap:8px}
.filtro{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--linha);background:transparent;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.filtro:hover{border-color:var(--tinta)}
.filtro[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--claro)}
.filtros__conta{font-size:13px;color:var(--cinza)}
.grelha{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}
.produto{display:flex;flex-direction:column;gap:18px;text-decoration:none}
.produto.is-hidden{display:none}
.produto__tela{position:relative;aspect-ratio:4/5;border-radius:var(--r-l);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.produto__tela img{height:80%;width:auto;max-width:84%;object-fit:contain;margin-bottom:6%;transition:transform .9s var(--ease);filter:drop-shadow(0 24px 28px rgba(0,0,0,.24))}
.produto:hover .produto__tela img{transform:translateY(-12px) scale(1.04)}
.produto__tag{position:absolute;top:18px;left:18px;background:var(--claro);color:var(--tinta);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600}
.produto__cta{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:999px;background:var(--claro);color:var(--tinta);font-size:15px;font-weight:600;transform:translateY(calc(100% + 24px));transition:transform .5s var(--ease)}
.produto__cta svg{width:16px;height:16px}
.produto:hover .produto__cta,.produto:focus-visible .produto__cta{transform:none}
@media (hover:none){.produto__cta{display:none}}
.produto__txt{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.produto__txt h3{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.05}
.produto__txt p{font-size:15px;color:var(--cinza);margin-top:6px;max-width:32ch}
.preco{flex:none;font-size:14px;font-weight:600;padding:6px 12px;border:1px solid var(--linha);border-radius:999px;white-space:nowrap}
.colecao__nota{margin-top:56px;font-size:14px;color:var(--cinza);text-align:center}

/* =========================================================
   5 · ADVENTO
   ========================================================= */
.advento{height:200vh;background:var(--pinho);color:var(--claro)}
.advento__palco{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.advento__palavra{position:absolute;top:50%;left:50%;z-index:1;transform:translate(calc(-50% + (0.5 - var(--p,0)) * 14vw),-50%);font-family:var(--display);font-style:italic;font-size:24vw;line-height:.8;letter-spacing:-.04em;color:var(--pinho-claro);white-space:nowrap;pointer-events:none}
.advento__coroa{position:relative;z-index:2;width:min(50vh,36vw);transform:rotate(calc(var(--p,0) * 30deg - 15deg)) scale(calc(.88 + var(--p,0) * .16));will-change:transform;filter:drop-shadow(0 40px 50px rgba(0,0,0,.35))}
.advento__a{position:absolute;left:var(--g);top:20%;z-index:3;display:flex;flex-direction:column;gap:14px}
.advento__a h2{font-family:var(--display);font-weight:400;font-size:clamp(40px,4vw,60px);line-height:1}
.advento__b{position:absolute;right:var(--g);bottom:12%;z-index:3;width:min(340px,30vw);display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.advento__b p{color:#D3DED6;font-size:16px}
.domingos{display:flex;gap:8px}
.domingos span{width:48px;height:48px;border-radius:50%;border:1px solid #4F7563;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;font-weight:600;line-height:1}
.domingos small{font-size:9px;font-weight:600;opacity:.7;letter-spacing:.08em}
.advento__bagas{position:absolute;z-index:3;width:min(13vw,170px);pointer-events:none}
.advento__bagas--1{top:10%;right:22%;transform:rotate(30deg)}
.advento__bagas--2{bottom:8%;left:24%;transform:rotate(200deg);width:min(9vw,120px)}

/* =========================================================
   6 · EMPRESAS
   ========================================================= */
.empresas{background:var(--ocre);color:var(--tinta);position:relative;overflow:hidden}
.empresas__fundo{position:absolute;left:-2vw;bottom:-4vw;font-family:var(--display);font-size:24vw;line-height:.8;letter-spacing:-.04em;color:var(--ocre-esc);white-space:nowrap;pointer-events:none}
.empresas__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-top:var(--sec);padding-bottom:var(--sec);align-items:center}
.empresas__txt{grid-column:span 6;display:flex;flex-direction:column;gap:28px}
.empresas__lista{border-top:1px solid rgba(26,23,20,.28)}
.empresas__lista li{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(26,23,20,.28);font-size:16px}
.empresas__lista svg{width:18px;height:18px;flex:none}
.empresas__img{grid-column:8 / span 5;display:flex;justify-content:center}
.empresas__img img{height:min(76vh,700px);width:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.25))}
.etiquetas{display:flex;flex-wrap:wrap;gap:8px}
.etiquetas span{border:1px solid rgba(26,23,20,.35);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500}

/* =========================================================
   7 · COMO ENCOMENDAR
   ========================================================= */
.como{padding:var(--sec) 0}
.como__cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px}
.passos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.passo{background:#fff;border-radius:var(--r-m);padding:32px;display:flex;flex-direction:column;gap:14px;min-height:260px}
.passo__n{width:44px;height:44px;border-radius:50%;background:var(--vinho);color:var(--claro);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;margin-bottom:auto}
.passo h3{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.05}
.passo p{font-size:15px;color:var(--cinza)}
.contagem{margin-top:20px;background:var(--vinho);color:var(--claro);border-radius:var(--r-m);padding:clamp(32px,4vw,56px);display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center}
.contagem__n{font-family:var(--display);font-size:clamp(110px,14vw,220px);line-height:.8;letter-spacing:-.04em}
.contagem__t{display:flex;flex-direction:column;gap:10px}
.contagem__t p:first-child{font-family:var(--display);font-size:clamp(30px,3vw,44px);line-height:1}
.contagem__t p:last-child{color:#F0DFD8;max-width:46ch}

/* =========================================================
   8 · ENCOMENDAR
   ========================================================= */
.encomendar{background:var(--pinho);color:var(--claro)}
.encomendar__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-top:var(--sec);padding-bottom:var(--sec)}
.encomendar__info{grid-column:span 5;display:flex;flex-direction:column;gap:28px;padding-right:24px}
.contactos{display:grid;gap:12px}
.contacto{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:var(--r-s);background:rgba(248,242,233,.06);border:1px solid rgba(248,242,233,.14);text-decoration:none;transition:background-color .25s ease}
a.contacto:hover{background:rgba(248,242,233,.12)}
.contacto svg{width:20px;height:20px;flex:none;opacity:.85}
.contacto span{display:flex;flex-direction:column;font-size:15px;line-height:1.4}
.contacto small{font-size:12px;opacity:.7}
.form{grid-column:7 / span 6;background:var(--claro);color:var(--tinta);border-radius:var(--r-l);padding:clamp(28px,3.4vw,48px);display:grid;grid-template-columns:1fr 1fr;gap:20px;align-content:start}
.form__tit{grid-column:1/-1;font-family:var(--display);font-size:34px;line-height:1}
.campo{display:flex;flex-direction:column;gap:8px;min-width:0}
.campo--full{grid-column:1/-1}
.campo label,.campo legend{font-size:14px;font-weight:600}
.campo label span,.campo legend span{font-weight:400;color:var(--cinza)}
.campo input,.campo select,.campo textarea{width:100%;min-height:52px;background:#fff;border:1px solid var(--linha);border-radius:var(--r-s);padding:0 16px;font-size:16px;color:var(--tinta);transition:border-color .2s ease,box-shadow .2s ease}
.campo textarea{padding:14px 16px;min-height:120px;resize:vertical}
.campo select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231A1714' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.campo input:hover,.campo select:hover,.campo textarea:hover{border-color:#BFAF97}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--pinho);box-shadow:0 0 0 4px rgba(29,58,44,.14)}
.campo input:user-invalid,.campo textarea:user-invalid{border-color:var(--vinho)}
fieldset.campo{border:0;margin:0;padding:0}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#fff;border:1px solid var(--linha);border-radius:var(--r-s);min-height:52px}
.seg label{display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease;position:relative}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.seg label:has(input:checked){background:var(--pinho);color:var(--claro)}
.seg label:has(input:focus-visible){outline:2px solid var(--pinho);outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__fim{grid-column:1/-1;display:flex;flex-direction:column;gap:12px}
.form__fim .btn{width:100%;min-height:56px;font-size:16px}
.form__nota{font-size:13px;color:var(--cinza);text-align:center}
.form__msg{grid-column:1/-1;display:none;padding:14px 16px;border-radius:var(--r-s);font-size:15px;font-weight:600}
.form__msg.ok{display:block;background:#E1ECE3;color:var(--pinho)}
.form__msg.erro{display:block;background:#F6DCDC;color:var(--vinho-esc)}

/* Mapa */
.mapa{padding:var(--g)}
.mapa iframe{display:block;width:100%;height:420px;border:0;border-radius:var(--r-l);filter:grayscale(1) contrast(.95) sepia(.12)}

/* =========================================================
   Rodapé — compacto
   ========================================================= */
.rodape{background:var(--tinta);color:#CBBFAE;padding:72px 0 28px}
.rodape__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.rodape__marca{grid-column:span 4;display:flex;flex-direction:column;gap:20px}
.rodape__marca img{width:132px}
.rodape__marca p{font-size:15px;max-width:30ch}
.rodape__col{grid-column:span 2;font-size:15px;line-height:1.8}
.rodape__col:nth-of-type(2){grid-column:6 / span 3}
.rodape__col h4{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--claro)}
.rodape__col a{display:block;text-decoration:none;transition:color .2s ease}
.rodape__col a:hover{color:var(--claro)}
.rodape__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid #36302A;font-size:13px}
.rodape__base a{text-decoration:none;color:var(--claro)}

/* WhatsApp */
.wa{position:fixed;right:20px;bottom:20px;z-index:40;width:56px;height:56px;border-radius:50%;background:#1F3A2E;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .3s var(--ease)}
.wa:hover{transform:scale(1.07)}
.wa svg{width:26px;height:26px}

/* Revelar ao entrar */
.rev{opacity:0;transform:translateY(32px);transition:opacity 1s ease,transform 1s var(--ease)}
.rev.is-in{opacity:1;transform:none}
.rev.d1{transition-delay:.1s}.rev.d2{transition-delay:.2s}

/* =========================================================
   Responsivo
   ========================================================= */
@media (max-width:1080px){
  .topo__nav a:not(.btn){display:none}
  .sobre__lado{grid-column:1/-1;flex-direction:row;justify-content:space-between;padding-top:0}
  .sobre__txt{grid-column:1/-1}
  .numeros{grid-column:1/-1}
  .colecao__cab > div:first-child,.colecao__cab > div:last-child{grid-column:1/-1}
  .grelha{grid-template-columns:repeat(2,minmax(0,1fr))}
  .empresas__txt{grid-column:1/-1}
  .empresas__img{grid-column:1/-1}
  .empresas__img img{height:min(60vh,520px)}
  .encomendar__info,.form{grid-column:1/-1}
  .encomendar__info{padding-right:0}
  .advento__b{width:min(340px,44vw)}
  .rodape__marca{grid-column:1/-1}
  .rodape__col,.rodape__col:nth-of-type(2){grid-column:span 4}
}
@media (max-width:760px){
  .topo__nav{display:none}
  .topo__menu{display:inline-flex}
  .hero{height:170vh}
  .hero__w{font-size:25vw;left:50% !important;right:auto !important}
  .hero__w--a{top:16%;transform:translate(calc(-50% - var(--p,0) * 40vw),0)}
  .hero__w--b{top:auto;bottom:18vh;transform:translate(calc(-50% + var(--p,0) * 40vw),0)}
  .hero__ramo{height:44vh;bottom:30vh}
  .hero__bagas--1{top:30vh;right:6vw;width:16vw}
  .hero__bagas--2{top:34vh;left:6vw;width:12vw}
  .hero__rodape .wrap{padding-bottom:20px}
  .hero__info p,.hero__estado{display:none}
  .hero__info{max-width:none}
  .hero__ctas .btn--contorno{display:none}
  .numeros{grid-template-columns:1fr 1fr;gap:20px}
  .grelha{grid-template-columns:1fr;gap:40px}
  .advento{height:170vh}
  .advento__palavra{font-size:30vw}
  .advento__coroa{width:64vw}
  .advento__a{top:14%;right:var(--g)}
  .advento__b{left:var(--g);right:var(--g);width:auto;bottom:6%}
  .advento__b p{display:none}
  .passos{grid-template-columns:1fr}
  .passo{min-height:0}
  .passo__n{margin-bottom:12px}
  .contagem{grid-template-columns:1fr;gap:16px}
  .form{grid-template-columns:1fr;padding:24px 20px}
  .rodape__col,.rodape__col:nth-of-type(2){grid-column:1/-1}
  .mapa iframe{height:320px}
}

/* Menos movimento: tudo estático, carrossel parado */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .rev{opacity:1;transform:none}
  .sobre__txt .w{opacity:1}
  .hero,.advento{height:auto}
  .hero__palco,.advento__palco{position:relative;height:100vh}
  .carrossel__janela{overflow-x:auto}
}
