/* ═══════════════════════════════════════════════════
   Empadaria da Mari — landing
   Direção: padaria rústica-aconchegante brasileira.
   Creme + mostarda + cacau, azulejo português como
   textura, Fraunces (soft serif) + Karla.
   ═══════════════════════════════════════════════════ */

:root{
  --cream:      #FBF3E2;
  --cream-2:    #F5E7C9;
  --cream-3:    #EFDCB6;
  --mustard:    #F2B233;
  --mustard-lo: #FFD979;
  --amber:      #E8871E;
  --orange:     #F4581C;
  --cocoa:      #2B1310;
  --cocoa-2:    #563229;
  --cocoa-mute: #8A6A5F;
  --azul:       #2C5F8A;
  --zap:        #1FA855;
  --zap-hi:     #25D366;

  --shadow-sm: 0 2px 0 var(--cocoa);
  --shadow-md: 6px 8px 0 var(--cocoa);
  --shadow-soft: 0 24px 60px -28px rgba(43,19,16,.55);

  --r-sm: 10px;
  --r-md: 18px;
  --r-lg: 28px;
  --r-pill: 999px;

  --wrap: 1180px;
  --gut: clamp(20px, 5vw, 48px);
  --sec-y: clamp(72px, 11vw, 140px);

  --ff-disp: "Fraunces", "Iowan Old Style", Georgia, serif;
  --ff-body: "Karla", "Helvetica Neue", Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:104px; -webkit-text-size-adjust:100%; overflow-x:clip; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--cream);
  color:var(--cocoa);
  font:400 clamp(16px,1.05vw,17.5px)/1.65 var(--ff-body);
  overflow-x:clip;
}

/* grão de papel — dá textura sem imagem externa */
body::before{
  content:""; position:fixed; inset:0; z-index:9998; pointer-events:none;
  opacity:.045; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

img{ max-width:100%; height:auto; display:block; }  /* height:auto anula o atributo height do HTML e deixa o aspect-ratio mandar */
a{ color:inherit; }

h1,h2,h3,h4{
  font-family:var(--ff-disp);
  font-variation-settings:"SOFT" 40,"WONK" 1,"opsz" 96;
  font-weight:700; line-height:.98; letter-spacing:-.022em;
  margin:0; text-wrap:balance;
}
h1{ font-size:clamp(2.75rem,6.2vw,4.9rem); font-weight:900; }
h2{ font-size:clamp(2.1rem,4.6vw,3.5rem); }
h3{ font-size:clamp(1.05rem,1.6vw,1.28rem); font-weight:700; letter-spacing:-.01em; line-height:1.2; }
p{ margin:0 0 1em; }

::selection{ background:var(--mustard); color:var(--cocoa); }

:where(a,button,input,select,textarea):focus-visible{
  outline:3px solid var(--orange); outline-offset:3px; border-radius:6px;
}

.wrap{ width:min(100% - var(--gut)*2, var(--wrap)); margin-inline:auto; }

.skip{
  position:absolute; left:-999px; top:8px; z-index:10000;
  background:var(--cocoa); color:var(--cream); padding:12px 18px; border-radius:var(--r-pill);
}
.skip:focus{ left:8px; }

.eyebrow{
  font:700 .78rem/1 var(--ff-body); letter-spacing:.2em; text-transform:uppercase;
  color:var(--amber); margin:0 0 1.1rem; display:flex; align-items:center; gap:.6rem;
}
.eyebrow::before{ content:""; width:26px; height:2px; background:currentColor; border-radius:2px; }

.ink{ color:var(--orange); }
.script{
  font-style:italic; font-weight:600;
  font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;
  color:var(--cocoa);
}

/* ── botões ────────────────────────────────────── */
.btn{
  --bg:var(--mustard); --fg:var(--cocoa);
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  padding:.78em 1.35em; border:2.5px solid var(--cocoa); border-radius:var(--r-pill);
  background:var(--bg); color:var(--fg);
  font:700 .95rem/1 var(--ff-body); letter-spacing:-.005em;
  text-decoration:none; cursor:pointer; white-space:nowrap;
  box-shadow:3px 4px 0 var(--cocoa);
  transition:transform .16s cubic-bezier(.34,1.4,.64,1), box-shadow .16s, background .16s;
}
.btn:hover{ transform:translate(-2px,-2px); box-shadow:5px 6px 0 var(--cocoa); }
.btn:active{ transform:translate(2px,3px); box-shadow:1px 1px 0 var(--cocoa); }
.btn--lg{ padding:1em 1.7em; font-size:1.02rem; }
.btn--zap{ --bg:var(--zap-hi); --fg:var(--cocoa); }
.btn--dark{ --bg:var(--cocoa); --fg:var(--cream); }
.btn--send{ --bg:var(--orange); --fg:#fff; width:100%; }
.btn--ghost{ --bg:transparent; --fg:var(--cocoa); box-shadow:3px 4px 0 rgba(43,19,16,.25); }
.btn--ghost:hover{ --bg:var(--cream-2); }
.btn[disabled]{ opacity:.55; pointer-events:none; }
.btn .i{ width:1.15em; height:1.15em; fill:currentColor; flex:none; }

/* ── topbar ────────────────────────────────────── */
.topbar{
  position:sticky; top:0; z-index:900;
  background:color-mix(in srgb, var(--cream) 86%, transparent);
  backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:2px solid transparent;
  transition:border-color .25s, background .25s;
}
.topbar.is-stuck{ border-bottom-color:var(--cocoa); background:color-mix(in srgb, var(--cream) 94%, transparent); }
.topbar__in{ display:flex; align-items:center; gap:clamp(12px,2.5vw,32px); padding:.45rem 0; }

.brand{ display:flex; align-items:center; text-decoration:none; margin-right:auto; }
.brand__logo{ width:clamp(128px,13.5vw,188px); height:auto; transition:width .25s cubic-bezier(.4,0,.2,1); }
/* encolhe depois do scroll pra não roubar altura do conteúdo */
.topbar.is-stuck .brand__logo{ width:clamp(104px,9.5vw,130px); }

.nav{ display:flex; gap:clamp(10px,1.8vw,26px); }
.nav a{
  text-decoration:none; font-weight:500; font-size:.94rem; padding:.35em 0;
  position:relative; color:var(--cocoa-2);
}
.nav a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:2px;
  background:var(--orange); transition:right .25s cubic-bezier(.4,0,.2,1);
}
.nav a:hover{ color:var(--cocoa); }
.nav a:hover::after{ right:0; }

.burger{ display:none; background:none; border:0; padding:8px; cursor:pointer; }
.burger span{ display:block; width:24px; height:2.5px; background:var(--cocoa); border-radius:2px; margin:5px 0; transition:.25s; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

.nav-mobile{ display:none; flex-direction:column; padding:0 var(--gut) 1rem; border-top:2px solid var(--cocoa); }
.nav-mobile a{ padding:.85rem 0; text-decoration:none; font-weight:600; border-bottom:1px solid var(--cream-3); }

@media (max-width:900px){
  .nav, .topbar__cta{ display:none; }
  .burger{ display:block; }
  .nav-mobile:not([hidden]){ display:flex; }
}

/* ── hero ──────────────────────────────────────── */
.hero{ position:relative; padding-top:clamp(36px,6vw,72px); overflow:clip; }
.hero__glow{
  position:absolute; inset:-20% -10% 30%; z-index:-1;
  background:
    radial-gradient(60% 50% at 78% 22%, rgba(242,178,51,.55), transparent 70%),
    radial-gradient(45% 40% at 12% 8%, rgba(244,88,28,.20), transparent 70%);
  filter:blur(10px);
}
.hero__in{
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,72px);
  align-items:center; padding-bottom:clamp(56px,8vw,110px);
}
.hero h1{ margin-bottom:.5em; }
.lede{ font-size:clamp(1.05rem,1.35vw,1.22rem); color:var(--cocoa-2); max-width:44ch; }
.lede b{ font-weight:700; color:var(--cocoa); box-shadow:inset 0 -.45em 0 var(--mustard-lo); }
.hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin:2rem 0 2.2rem; }

.hero__marks{
  list-style:none; display:flex; flex-wrap:wrap; gap:.45rem .55rem; margin:0; padding:0;
}
.hero__marks li{
  font:700 .76rem/1 var(--ff-body); letter-spacing:.06em; text-transform:uppercase;
  border:2px solid var(--cocoa); border-radius:var(--r-pill); padding:.55em .95em;
  background:var(--cream-2);
}

.hero__pic{ position:relative; margin:0; }
.hero__pic > img:first-child{
  width:100%; aspect-ratio:4/3.15; object-fit:cover; object-position:50% 58%;
  border:3px solid var(--cocoa); border-radius:var(--r-lg) 90px var(--r-lg) 90px;
  box-shadow:var(--shadow-md);
  transform:rotate(1.4deg);
}
.hero__mascote{
  position:absolute; left:-6%; bottom:-7%; width:clamp(96px,17%,150px); height:auto;
  filter:drop-shadow(0 10px 18px rgba(43,19,16,.32));
  animation:bob 4.5s ease-in-out infinite;
}
@keyframes bob{ 0%,100%{ transform:translateY(0) rotate(-5deg); } 50%{ transform:translateY(-11px) rotate(3deg); } }

.hero__stamp{
  position:absolute; top:-22px; right:-10px;
  width:88px; height:88px; border-radius:50%;
  background:var(--orange); color:#fff; border:3px solid var(--cocoa);
  display:grid; place-content:center; text-align:center;
  font-family:var(--ff-disp); font-weight:900; font-style:italic;
  font-size:1.05rem; line-height:.95; letter-spacing:-.01em;
  transform:rotate(-13deg); box-shadow:var(--shadow-sm);
}

@media (max-width:880px){
  .hero__in{ grid-template-columns:1fr; }
  .hero__pic{ order:-1; }
  /* rotação forte estoura a lateral em tela estreita */
  .hero__pic > img:first-child{ aspect-ratio:4/3; transform:rotate(.6deg); }
  .hero__mascote{ left:0; bottom:-5%; }
  .hero__stamp{ width:72px; height:72px; font-size:.9rem; right:0; }
}

/* ── faixa de azulejo ──────────────────────────── */
.azulejo{
  height:64px; border-block:3px solid var(--cocoa);
  background-color:var(--cream-2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%232C5F8A' stroke-width='2'%3E%3Cpath d='M32 6c7 8 12 13 20 20-8 7-13 12-20 20-7-8-12-13-20-20 8-7 13-12 20-20z'/%3E%3Ccircle cx='32' cy='26' r='3.2'/%3E%3Cpath d='M0 0h64v64H0z' stroke-opacity='.28'/%3E%3C/g%3E%3Cg fill='%23E8871E'%3E%3Ccircle cx='0' cy='0' r='3'/%3E%3Ccircle cx='64' cy='0' r='3'/%3E%3Ccircle cx='0' cy='64' r='3'/%3E%3Ccircle cx='64' cy='64' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-size:64px 64px;
}

/* ── seções ────────────────────────────────────── */
.sec{ padding-block:var(--sec-y); position:relative; }
.sec__head{ max-width:56ch; margin-bottom:clamp(36px,5vw,64px); }
.sec__head--row{
  max-width:none; display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
}
.sec__sub{ color:var(--cocoa-mute); font-size:1.05rem; margin-top:1.1em; max-width:52ch; }

/* ── sabores ───────────────────────────────────── */
.sec--sabores{ background:var(--cream); }
.menu{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4.5vw,64px); }
.menu__title{
  display:flex; align-items:center; gap:.6rem;
  font-size:clamp(1.5rem,2.4vw,2rem); font-weight:900; font-style:italic;
  padding-bottom:.7rem; border-bottom:3px solid var(--cocoa); margin-bottom:.4rem;
}
.menu__dot{ width:14px; height:14px; border-radius:50%; border:2.5px solid var(--cocoa); flex:none; }
.menu__dot--sal{ background:var(--mustard); }
.menu__dot--doce{ background:var(--orange); }

.menu__list{ list-style:none; margin:0; padding:0; }
.menu__list li{
  display:flex; gap:1rem; align-items:flex-start;
  padding:1.05rem .6rem; border-bottom:1px dashed var(--cream-3);
  border-radius:var(--r-sm);
  transition:background .2s, transform .2s;
}
.menu__list li:hover{ background:var(--cream-2); transform:translateX(5px); }
.menu__n{
  font-family:var(--ff-disp); font-weight:900; font-size:1.05rem;
  color:var(--amber); flex:none; padding-top:.12em; min-width:1.8em;
}
.menu__list b{ display:block; font-size:1.06rem; font-weight:700; letter-spacing:-.01em; }
.menu__list small{ display:block; color:var(--cocoa-mute); font-size:.9rem; margin-top:.2em; }
.tag{
  display:inline-block; margin-top:.5em;
  font:700 .68rem/1 var(--ff-body); letter-spacing:.09em; text-transform:uppercase;
  background:var(--azul); color:#fff; padding:.45em .7em; border-radius:var(--r-pill);
}
.menu__zap{ margin-top:2rem; }

@media (max-width:820px){ .menu{ grid-template-columns:1fr; } }

/* ── nosso jeito ───────────────────────────────── */
.sec--jeito{ background:var(--cocoa); color:var(--cream); }
.sec--jeito .eyebrow{ color:var(--mustard); }
.sec--jeito .sec__sub{ color:rgba(251,243,226,.72); }
.jeito{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px,6vw,80px); align-items:center; }
.jeito__pics{ position:relative; padding-bottom:18%; }
.jeito__pic{ margin:0; border:3px solid var(--cream); border-radius:var(--r-md); overflow:hidden; }
.jeito__pic img{ width:100%; height:100%; object-fit:cover; }
.jeito__pic--a{ aspect-ratio:4/3.2; transform:rotate(-2.2deg); box-shadow:8px 10px 0 var(--mustard); }
.jeito__pic--b{
  position:absolute; right:-4%; bottom:0; width:56%; aspect-ratio:1;
  transform:rotate(3.5deg); box-shadow:8px 10px 0 var(--orange);
}

.steps{ list-style:none; counter-reset:s; margin:2rem 0 0; padding:0; }
.steps li{
  counter-increment:s; position:relative; padding:1.25rem 0 1.25rem 3.6rem;
  border-top:1px solid rgba(251,243,226,.18);
}
.steps li:last-child{ border-bottom:1px solid rgba(251,243,226,.18); }
.steps li::before{
  content:counter(s,decimal-leading-zero);
  position:absolute; left:0; top:1.35rem;
  font-family:var(--ff-disp); font-weight:900; font-size:1.5rem; font-style:italic;
  color:var(--mustard); line-height:1;
}
.steps h3{ margin-bottom:.35em; color:var(--cream); }
.steps p{ margin:0; color:rgba(251,243,226,.7); font-size:.98rem; }

@media (max-width:880px){
  .jeito{ grid-template-columns:1fr; }
  .jeito__pics{ padding-bottom:22%; max-width:520px; }
  .jeito__pic--b{ right:0; width:52%; }
}

/* ── carrossel ─────────────────────────────────── */
.sec--insta{ background:var(--cream-2); overflow:hidden; }
.carousel{ position:relative; margin-top:clamp(28px,4vw,48px); }
.carousel__track{
  list-style:none; margin:0; padding:0 max(var(--gut), calc((100vw - var(--wrap))/2));
  display:flex; gap:18px;
  overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.carousel__track::-webkit-scrollbar{ display:none; }
.carousel__item{
  flex:0 0 clamp(240px,30vw,340px); scroll-snap-align:center;
  aspect-ratio:1; border:3px solid var(--cocoa); border-radius:var(--r-md);
  overflow:hidden; background:var(--cream-3);
  box-shadow:var(--shadow-soft);
  transition:transform .3s cubic-bezier(.34,1.3,.64,1);
}
.carousel__item:nth-child(odd){ transform:rotate(-1.1deg); }
.carousel__item:nth-child(even){ transform:rotate(1.1deg); }
.carousel__item:hover{ transform:rotate(0) scale(1.03); }
.carousel__item img{ width:100%; height:100%; object-fit:cover; }
.carousel__item--skeleton{
  background:linear-gradient(100deg, var(--cream-3) 20%, var(--cream) 45%, var(--cream-3) 70%);
  background-size:220% 100%; animation:shimmer 1.4s linear infinite;
}
@keyframes shimmer{ to{ background-position:-220% 0; } }

.carousel__nav{
  position:absolute; top:50%; translate:0 -50%; z-index:5;
  width:52px; height:52px; border-radius:50%;
  border:2.5px solid var(--cocoa); background:var(--cream); color:var(--cocoa);
  cursor:pointer; display:grid; place-content:center;
  box-shadow:3px 4px 0 var(--cocoa); transition:transform .16s, box-shadow .16s;
}
.carousel__nav:hover{ transform:translate(-2px,-52%); box-shadow:5px 6px 0 var(--cocoa); }
.carousel__nav svg{ width:24px; height:24px; }
.carousel__nav--prev{ left:clamp(8px,2vw,24px); }
.carousel__nav--next{ right:clamp(8px,2vw,24px); }
@media (max-width:760px){ .carousel__nav{ display:none; } }

/* ── visite ────────────────────────────────────── */
.visite{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); align-items:center; }
.visite > *{ min-width:0; }
.facts{ margin:2rem 0; display:grid; gap:0; }
.facts > div{ display:grid; grid-template-columns:8.5rem 1fr; gap:1rem; padding:.9rem 0; border-top:1px solid var(--cream-3); }
.facts > div:last-child{ border-bottom:1px solid var(--cream-3); }
.facts dt{ font:700 .78rem/1.6 var(--ff-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cocoa-mute); }
.facts dd{ margin:0; font-weight:500; min-width:0; overflow-wrap:anywhere; }
.facts a{ color:var(--azul); text-underline-offset:3px; }
.hours{ list-style:none; margin:0; padding:0; }
.hours li{ display:flex; justify-content:space-between; gap:1rem; padding:.12rem 0; max-width:22rem; }
.hours li span{ color:var(--cocoa-mute); }
.hours li b{ font-weight:700; }
.hours__off b{ color:var(--cocoa-mute); font-weight:500; font-style:italic; }

.visite__cta{ display:flex; flex-wrap:wrap; gap:.8rem; }
.visite__map{
  border:3px solid var(--cocoa); border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--shadow-md); aspect-ratio:4/3.4; background:var(--cream-3);
}
.visite__map{ position:relative; }
.visite__map iframe{ width:100%; height:100%; border:0; display:block; filter:saturate(.85) contrast(1.03); pointer-events:none; }

/* ponta do pino exatamente no centro do iframe = a coordenada da loja */
.visite__pin{
  position:absolute; left:50%; top:50%; width:38px; height:52px;
  transform:translate(-50%,-100%); pointer-events:none;
  filter:drop-shadow(0 6px 8px rgba(43,19,16,.45));
}
.visite__maplink{
  position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center;
  padding:14px; text-decoration:none;
}
.visite__maplink span{
  background:var(--cream); color:var(--cocoa);
  border:2.5px solid var(--cocoa); border-radius:var(--r-pill);
  padding:.55em 1.1em; font:700 .88rem/1 var(--ff-body);
  box-shadow:3px 4px 0 var(--cocoa);
  transition:transform .16s cubic-bezier(.34,1.4,.64,1), box-shadow .16s;
}
.visite__maplink:hover span{ transform:translate(-2px,-2px); box-shadow:5px 6px 0 var(--cocoa); }
@media (max-width:880px){ .visite{ grid-template-columns:1fr; } }
@media (max-width:560px){
  .facts > div{ grid-template-columns:1fr; gap:.2rem; }
  .hours li{ max-width:none; }
}

/* ── contato ───────────────────────────────────── */
.sec--contato{ background:var(--mustard); }
.sec--contato .eyebrow{ color:var(--cocoa); }
.sec--contato .sec__sub{ color:var(--cocoa-2); }
.contato{ display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(28px,5vw,72px); align-items:start; }
.contato__aside{ position:relative; }
.contato__alt{ font-weight:500; }
.contato__alt a{ font-weight:700; text-underline-offset:3px; }
.contato__mascote{
  width:clamp(110px,26%,190px); margin-top:1.5rem;
  transform:rotate(-8deg); filter:drop-shadow(0 12px 20px rgba(43,19,16,.28));
}

.form{
  display:grid; grid-template-columns:1fr 1fr; gap:1rem;
  background:var(--cream); border:3px solid var(--cocoa); border-radius:var(--r-lg);
  padding:clamp(22px,3.2vw,38px); box-shadow:var(--shadow-md);
}
.field{ grid-column:1/-1; display:grid; gap:.4rem; }
.field--half{ grid-column:span 1; }
.field label{ font:700 .82rem/1.4 var(--ff-body); letter-spacing:.03em; }
.field .opt{ font-weight:400; color:var(--cocoa-mute); }
.field input, .field select, .field textarea{
  font:400 1rem/1.5 var(--ff-body); color:var(--cocoa);
  background:var(--cream-2); border:2px solid var(--cocoa); border-radius:var(--r-sm);
  padding:.72em .9em; width:100%; resize:vertical;
  transition:background .18s, box-shadow .18s;
}
.field input::placeholder, .field textarea::placeholder{ color:#a98f83; }
.field input:focus, .field select:focus, .field textarea:focus{
  background:#fff; box-shadow:0 0 0 3px var(--mustard-lo);
}
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"]{ border-color:#C0392B; background:#FDECEA; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.form__status{ grid-column:1/-1; margin:0; font-weight:600; font-size:.95rem; min-height:1.4em; }
.form__status.ok{ color:#1B7A3E; }
.form__status.err{ color:#C0392B; }

@media (max-width:880px){
  .contato{ grid-template-columns:1fr; }
  .field--half{ grid-column:1/-1; }
}

/* ── rodapé ────────────────────────────────────── */
.foot{ background:var(--cocoa); color:var(--cream); padding-block:clamp(48px,7vw,84px) 32px; }
.foot__in{ display:grid; gap:clamp(28px,4vw,48px); }
.foot__logo{ width:min(320px,60%); height:auto; }
.foot__cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:28px; }
.foot__cols h4{ font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--mustard); margin-bottom:.9rem; font-family:var(--ff-body); font-weight:700; }
.foot__cols a, .foot__cols p{ display:block; color:rgba(251,243,226,.8); text-decoration:none; margin:0 0 .45rem; font-size:.96rem; }
.foot__cols a:hover{ color:var(--mustard); text-decoration:underline; text-underline-offset:3px; }
.foot__legal{ margin:0; padding-top:24px; border-top:1px solid rgba(251,243,226,.18); font-size:.84rem; color:rgba(251,243,226,.55); }

/* ── botão flutuante do WhatsApp ───────────────── */
.zap-float{
  position:fixed; right:clamp(14px,2.5vw,26px); bottom:clamp(14px,2.5vw,26px); z-index:950;
  display:flex; align-items:center; gap:.6rem;
  background:var(--zap-hi); color:var(--cocoa);
  border:3px solid var(--cocoa); border-radius:var(--r-pill);
  padding:.72rem .82rem; text-decoration:none;
  font:700 .95rem/1 var(--ff-body);
  box-shadow:4px 5px 0 var(--cocoa), 0 18px 34px -14px rgba(43,19,16,.6);
  transition:transform .18s cubic-bezier(.34,1.4,.64,1), box-shadow .18s;
}
.zap-float svg{ width:28px; height:28px; fill:currentColor; flex:none; }
.zap-float:hover{ transform:translate(-2px,-3px); box-shadow:6px 8px 0 var(--cocoa), 0 22px 40px -14px rgba(43,19,16,.6); }
.zap-float__label{ max-width:0; overflow:hidden; white-space:nowrap; opacity:0; transition:max-width .3s, opacity .25s, margin .3s; }
.zap-float:hover .zap-float__label, .zap-float:focus-visible .zap-float__label{ max-width:9rem; opacity:1; margin-right:.35rem; }
@media (max-width:760px){ .zap-float__label{ display:none; } }

/* ── reveal on scroll ──────────────────────────── */
/* só esconde se o JS estiver vivo — sem JS a página continua legível */
.js .reveal{ opacity:0; transform:translateY(22px); }
.reveal.in{ opacity:1; transform:none; transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1); }
.d1.in{ transition-delay:.08s; } .d2.in{ transition-delay:.16s; }
.d3.in{ transition-delay:.24s; } .d4.in{ transition-delay:.32s; }

/* o herói não espera IntersectionObserver: anima no load, sem primeiro frame em branco */
.js .hero .reveal{ animation:rise .75s cubic-bezier(.2,.7,.3,1) both; }
.js .hero .d1{ animation-delay:.09s; } .js .hero .d2{ animation-delay:.18s; }
.js .hero .d3{ animation-delay:.27s; } .js .hero .d4{ animation-delay:.36s; }
@keyframes rise{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }

@media (prefers-reduced-motion: reduce){
  .js .reveal{ opacity:1; transform:none; }
  .js .hero .reveal{ animation:none; }
  .hero__mascote{ animation:none; }
  .carousel__item--skeleton{ animation:none; }
  *{ transition-duration:.01ms !important; }
}

/* ── páginas legais (/privacidade, /termos) ────── */
.legal{ padding:clamp(48px,8vw,96px) 0 clamp(64px,10vw,120px); }
.legal__back{ display:inline-flex; align-items:center; gap:.4em; color:var(--cocoa-mute);
  text-decoration:none; font-weight:700; font-size:.92rem; margin-bottom:1.6rem; }
.legal__back:hover{ color:var(--orange); }
.legal h1{ font:900 clamp(2.1rem,5.5vw,3.2rem)/1.06 var(--ff-disp); margin:0 0 .6rem; text-wrap:balance; }
.legal__date{ color:var(--cocoa-mute); font-size:.92rem; margin:0 0 2.6rem; }
.legal__body{ max-width:68ch; }
.legal__body h2{ font:700 clamp(1.25rem,2.6vw,1.6rem)/1.2 var(--ff-disp); margin:2.6rem 0 .7rem; }
.legal__body h3{ font:700 1.02rem/1.3 var(--ff-body); margin:1.6rem 0 .4rem; }
.legal__body p, .legal__body li{ color:var(--cocoa-2); }
.legal__body ul{ padding-left:1.2rem; }
.legal__body li{ margin:.4rem 0; }
.legal__body a{ color:var(--orange); text-underline-offset:3px; overflow-wrap:anywhere; }
.legal__body dl{ margin:.6rem 0; }
.legal__body dt{ font-weight:700; margin-top:.9rem; }
.legal__body dd{ margin:.15rem 0 0; min-width:0; }
.legal__box{ background:var(--cream-2); border:2.5px solid var(--cocoa); border-radius:var(--r-md);
  box-shadow:var(--shadow-sm); padding:1.2rem 1.4rem; margin:1.8rem 0; }
.legal__box p:last-child{ margin-bottom:0; }
