/* ============================================================
   OFICINA VAGAS HOME OFFICE — landing
   Paleta: azules profundos, azul de acción, celeste de portada,
   blanco y niebla. El rojo aparece SOLO en las señales de estafa.
   ============================================================ */

:root{
  --ink:        #08182F;
  --ink-2:      #0D2444;
  --navy:       #123258;
  --navy-line:  #1E3F69;
  --blue:       #1B5FD9;
  --blue-lift:  #2E74F0;
  --sky:        #79B8F7;
  --sky-soft:   #BEDCFB;
  --mist:       #E9F0FA;
  --mist-line:  #CFDEF2;
  --paper:      #FFFFFF;
  --danger:     #D8453B;
  --danger-bg:  #FDECEA;

  --text-dark:  #0B2340;
  --text-body:  #35506F;
  --text-onink: #D9E6F7;
  --text-onink-dim:#9DB6D6;

  --wrap: 1120px;
  --gutter: clamp(16px, 4vw, 40px);
  --band-y: clamp(64px, 9vw, 116px);

  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 18px;

  --ease: cubic-bezier(.2,.7,.3,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--paper);
  color:var(--text-body);
  font-family:"Archivo","Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:clamp(1rem,.96rem + .18vw,1.075rem);
  font-variation-settings:"wdth" 100,"wght" 400;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}

img,video,svg{ max-width:100%; display:block; }

a{ color:inherit; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter); }

.skip{
  position:absolute; left:-9999px; top:0; z-index:99;
  background:var(--blue); color:#fff; padding:12px 18px; border-radius:0 0 var(--r-sm) 0;
}
.skip:focus{ left:0; }

:where(a,button,summary,[tabindex]):focus-visible{
  outline:3px solid var(--sky);
  outline-offset:3px;
  border-radius:4px;
}

/* ---------- tipografía ---------- */

.h2{
  font-variation-settings:"wdth" 112,"wght" 800;
  font-size:clamp(1.7rem,1.1rem + 2.5vw,2.85rem);
  line-height:1.02;
  letter-spacing:-.022em;
  color:var(--text-dark);
  margin:0 0 .6em;
  max-width:19ch;
  text-wrap:balance;
}
.h2--tight{ max-width:22ch; }
.h2--center{ max-width:22ch; margin-inline:auto; text-align:center; }

.band--dark .h2,
.hero .h2{ color:var(--paper); }

.lead{
  font-size:clamp(1.06rem,1rem + .4vw,1.27rem);
  line-height:1.55;
  color:var(--text-dark);
  max-width:56ch;
  margin:0 0 1.1em;
}
.lead--narrow{ max-width:62ch; margin-bottom:clamp(36px,5vw,62px); }
.band--dark .lead{ color:var(--text-onink); }

.wordmark{
  font-variation-settings:"wdth" 118,"wght" 800;
  letter-spacing:-.02em;
  font-size:1.02rem;
  color:var(--paper);
  line-height:1;
}

/* ---------- barra superior ---------- */

.topbar{
  position:sticky; top:0; z-index:40;
  background:rgba(8,24,47,.82);
  backdrop-filter:saturate(1.4) blur(12px);
  border-bottom:1px solid rgba(121,184,247,.16);
}
.topbar__in{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:58px;
}
.topbar__cta{
  font-size:.82rem;
  font-variation-settings:"wdth" 100,"wght" 600;
  color:var(--sky);
  text-decoration:none;
  border:1px solid rgba(121,184,247,.35);
  padding:7px 14px;
  border-radius:999px;
  white-space:nowrap;
  transition:background .2s var(--ease),color .2s var(--ease);
}
.topbar__cta:hover{ background:var(--sky); color:var(--ink); }
@media (max-width:520px){
  .topbar__cta span{ display:none; }
  .wordmark{ font-size:.94rem; }
}

/* ---------- botones ---------- */

.btn{
  display:inline-block;
  font-variation-settings:"wdth" 104,"wght" 700;
  font-size:1.02rem;
  letter-spacing:-.005em;
  text-decoration:none;
  padding:17px 34px;
  border-radius:var(--r-sm);
  border:0;
  cursor:pointer;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);
}
.btn--primary{
  background:var(--blue);
  color:#fff;
  box-shadow:0 10px 26px -10px rgba(27,95,217,.95);
}
.btn--primary:hover{ background:var(--blue-lift); transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(27,95,217,1); }
.btn--primary:active{ transform:translateY(0); }
.btn--big{ font-size:1.12rem; padding:20px 40px; width:100%; text-align:center; }

/* ============================================================
   HERO
   ============================================================ */

.hero{
  background:
    radial-gradient(1200px 520px at 50% -8%, rgba(27,95,217,.5), transparent 62%),
    radial-gradient(760px 420px at 88% 24%, rgba(121,184,247,.13), transparent 60%),
    var(--ink);
  padding-block:clamp(32px,4vw,54px) clamp(56px,7vw,92px);
  color:var(--text-onink);
}
.hero__in{ text-align:center; }

.hero__title{
  font-variation-settings:"wdth" 116,"wght" 800;
  font-size:clamp(1.95rem,1.05rem + 3.3vw,3.25rem);
  line-height:1.0;
  letter-spacing:-.03em;
  color:var(--paper);
  margin:0 0 .42em;
  text-wrap:balance;
}
.hero__title em{
  font-style:normal;
  color:var(--sky);
}
.hero__sub{
  font-size:clamp(1.02rem,.96rem + .5vw,1.22rem);
  color:var(--text-onink);
  max-width:58ch;
  margin:0 auto clamp(26px,3vw,36px);
  line-height:1.5;
}

/* ---------- reproductor ---------- */

.player{ margin:0 auto; max-width:840px; }

.player__frame{
  position:relative;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:#000;
  border:1px solid rgba(121,184,247,.28);
  box-shadow:0 34px 80px -34px rgba(0,0,0,.95),0 0 0 8px rgba(27,95,217,.10);
  aspect-ratio:4/3;
}
.player__frame video{ width:100%; height:100%; object-fit:cover; }

.player__unmute{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  background:linear-gradient(180deg,rgba(8,24,47,.28),rgba(8,24,47,.62));
  border:0; cursor:pointer;
  color:#fff;
  font-family:inherit;
  font-size:clamp(.95rem,.9rem + .3vw,1.1rem);
  font-variation-settings:"wdth" 104,"wght" 700;
  transition:opacity .3s var(--ease),visibility .3s;
}
.player__unmute svg{
  width:clamp(46px,7vw,60px); height:clamp(46px,7vw,60px);
  fill:#fff;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.6));
  animation:pulse 2.6s var(--ease) infinite;
}
.player__unmute span{
  background:rgba(8,24,47,.72);
  border:1px solid rgba(121,184,247,.4);
  padding:10px 20px; border-radius:999px;
  backdrop-filter:blur(6px);
}
.player__unmute[hidden]{ display:none; }

@keyframes pulse{ 0%,70%,100%{ transform:scale(1); } 82%{ transform:scale(1.09); } }

.player__bigplay{
  position:absolute; inset:0; margin:auto;
  width:88px; height:88px; border-radius:50%;
  background:rgba(27,95,217,.94); border:0; cursor:pointer;
  display:grid; place-items:center;
}
.player__bigplay svg{ width:40px; height:40px; fill:#fff; margin-left:4px; }
.player__bigplay[hidden]{ display:none; }

.player__bar{
  display:flex; align-items:center; gap:12px;
  margin-top:14px;
  padding:0 2px;
}
.ctl{
  flex:none;
  width:36px; height:36px;
  display:grid; place-items:center;
  background:rgba(121,184,247,.12);
  border:1px solid rgba(121,184,247,.22);
  border-radius:var(--r-sm);
  cursor:pointer;
  color:var(--sky);
  transition:background .18s var(--ease);
}
.ctl:hover{ background:rgba(121,184,247,.26); }
.ctl svg{ width:19px; height:19px; fill:currentColor; }
.ctl svg[hidden]{ display:none; }

.track{
  position:relative; flex:1 1 auto;
  height:22px; cursor:pointer;
  display:flex; align-items:center;
}
.track::before{
  content:""; position:absolute; inset-inline:0; height:5px; border-radius:99px;
  background:rgba(157,182,214,.22);
}
.track__seen,.track__played{
  position:absolute; left:0; height:5px; border-radius:99px; width:0;
}
.track__seen{ background:rgba(121,184,247,.34); }
.track__played{ background:var(--sky); }
.track__played i{
  position:absolute; right:-1px; top:50%;
  width:12px; height:12px; border-radius:50%;
  background:var(--paper);
  transform:translate(50%,-50%);
  box-shadow:0 0 0 3px rgba(121,184,247,.35);
}
.time{
  flex:none;
  font-size:.82rem;
  font-variant-numeric:tabular-nums;
  color:var(--text-onink-dim);
  min-width:88px; text-align:right;
}
/* queda vacía hasta que alguien intenta adelantar */
.player__note{
  margin:8px 2px 0;
  min-height:1.3em;
  font-size:.86rem;
  color:var(--sky);
  text-align:left;
}

/* ---------- cta del hero ---------- */

.hero__cta{ margin-top:clamp(30px,4vw,44px); }
.hero__price{
  display:flex; align-items:baseline; justify-content:center; gap:12px; flex-wrap:wrap;
  margin:16px 0 0;
  font-size:.95rem;
}
.hero__price-usd{
  font-variation-settings:"wdth" 108,"wght" 800;
  font-size:1.22rem; color:var(--paper);
}
.hero__price-note{ color:var(--text-onink-dim); }
.localprice{ color:var(--sky); }
.localprice[hidden]{ display:none; }

/* ============================================================
   BANDAS
   ============================================================ */

/* la barra superior es sticky: que no tape el inicio de la sección al saltar */
section[id]{ scroll-margin-top:60px; }

.band{ padding-block:var(--band-y); }
.band--light{ background:var(--paper); }
.band--mist{ background:var(--mist); }
.band--dark{ background:var(--ink-2); color:var(--text-onink); }
.band--dark p{ color:var(--text-onink); }

.grid-2{
  display:grid; gap:clamp(34px,5vw,72px);
  grid-template-columns:1fr;
}
@media (min-width:880px){
  .grid-2{ grid-template-columns:1.05fr .95fr; align-items:start; }
  .grid-2--tight{ grid-template-columns:1fr 1fr; align-items:center; }
}

/* ---------- el problema, con el video en bucle ---------- */

.problema{
  display:grid; gap:clamp(28px,4vw,56px);
  grid-template-columns:1fr;
  align-items:start;
}
@media (min-width:920px){
  .problema{ grid-template-columns:minmax(320px,1fr) 1.25fr; }
}

/* el clip tiene fondo blanco: se funde con la banda, sin marco ni sombra */
.loopvid{
  margin:0;
  width:100%;
  max-width:520px;
  justify-self:center;
  align-self:center;
}
.loopvid video{ width:100%; height:auto; display:block; }

.problema__text .frictions{ margin-top:clamp(26px,3vw,38px); }

/* ---------- fricciones ---------- */

.frictions{ list-style:none; margin:0; padding:0; }
.frictions li{
  padding:20px 0;
  border-top:1px solid var(--mist-line);
  font-size:.99rem;
}
.frictions li:last-child{ border-bottom:1px solid var(--mist-line); }
.frictions b{
  display:block;
  font-variation-settings:"wdth" 104,"wght" 700;
  color:var(--text-dark);
  margin-bottom:3px;
}

/* ---------- índice del e-book ---------- */

.toc{
  display:grid; gap:0;
  grid-template-columns:1fr;
  border-top:1px solid var(--navy-line);
}
@media (min-width:820px){ .toc{ grid-template-columns:1fr 1fr; column-gap:clamp(40px,5vw,80px); } }

.toc__item{ padding:26px 0; border-bottom:1px solid var(--navy-line); }
.toc__item h3{
  margin:0 0 6px;
  font-variation-settings:"wdth" 108,"wght" 700;
  font-size:1.12rem;
  letter-spacing:-.012em;
  color:var(--paper);
  line-height:1.2;
}
.toc__item p{ margin:0; font-size:.95rem; color:var(--text-onink-dim); line-height:1.55; }

/* ============================================================
   ANATOMÍA DE UNA ESTAFA
   ============================================================ */

.anatomy{
  display:grid; gap:clamp(26px,3.5vw,46px);
  grid-template-columns:1fr;
  align-items:start;
}
@media (min-width:900px){ .anatomy{ grid-template-columns:1fr 1fr; } }

/* el aviso falso ahora es una imagen: el recorte ya trae el margen y la sombra */
.fake-shot{ width:100%; height:auto; }

.fake{
  background:var(--paper);
  border:1px solid var(--mist-line);
  border-radius:var(--r-md);
  overflow:hidden;
  box-shadow:0 22px 40px -28px rgba(11,35,64,.5);
}
.fake__head{ padding:22px 24px 18px; border-bottom:1px solid var(--mist-line); }
.fake__badge{
  display:inline-block;
  background:var(--danger-bg);
  color:var(--danger);
  font-size:.74rem;
  font-variation-settings:"wdth" 100,"wght" 700;
  padding:4px 10px; border-radius:999px;
  margin-bottom:10px;
}
.fake__head h3{
  margin:0 0 6px;
  font-variation-settings:"wdth" 106,"wght" 700;
  font-size:1.2rem; color:var(--text-dark); line-height:1.2;
}
.fake__meta{ margin:0; font-size:.83rem; color:#7A8FA8; }
.fake__meta span{ color:var(--danger); }

.fake__body{ padding:8px 24px 24px; }
.fake__body p{ margin:14px 0; font-size:.96rem; line-height:1.5; }
.fake__body b{ color:var(--text-dark); font-variation-settings:"wdth" 100,"wght" 700; }

.flagged{
  position:relative;
  padding-left:34px;
  transition:background .22s var(--ease);
  border-radius:4px;
}
.flagged::before{
  content:attr(data-flag);
  position:absolute; left:0; top:1px;
  width:22px; height:22px; border-radius:50%;
  background:var(--danger); color:#fff;
  font-size:.75rem; font-variation-settings:"wdth" 100,"wght" 700;
  display:grid; place-items:center;
  line-height:1;
}
.flagged.is-lit{ background:var(--danger-bg); box-shadow:0 0 0 6px var(--danger-bg); }

.flags{ list-style:none; margin:0; padding:0; counter-reset:none; }
.flag{
  padding:18px 0 18px 34px;
  position:relative;
  border-bottom:1px solid var(--mist-line);
  cursor:default;
}
.flag:first-child{ padding-top:0; }
.flag:first-child::before{ top:1px; }
.flag:last-child{ border-bottom:0; }
.flag::before{
  content:attr(data-flag);
  position:absolute; left:0; top:19px;
  width:22px; height:22px; border-radius:50%;
  border:1.5px solid var(--danger); color:var(--danger);
  font-size:.75rem; font-variation-settings:"wdth" 100,"wght" 700;
  display:grid; place-items:center; line-height:1;
}
.flag h4{
  margin:0 0 4px;
  font-variation-settings:"wdth" 106,"wght" 700;
  font-size:1.04rem; color:var(--text-dark); line-height:1.25;
}
.flag p{ margin:0; font-size:.94rem; line-height:1.55; }

/* ---------- plataformas ---------- */

.plats__grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--navy-line);
  border:1px solid var(--navy-line);
  border-radius:var(--r-md);
  overflow:hidden;
}
@media (min-width:520px){ .plats__grid{ grid-template-columns:repeat(3,1fr); } }
.plats__grid li{
  background:var(--ink-2);
  padding:clamp(13px,2vw,19px) 10px;
  text-align:center;
  font-size:clamp(.82rem,.78rem + .2vw,.92rem);
  font-variation-settings:"wdth" 100,"wght" 600;
  color:var(--sky-soft);
  display:grid; place-items:center;
  line-height:1.25;
}
/* las que solo están dentro del e-book */
.plats__grid li.is-hidden{
  color:var(--text-onink-dim);
  filter:blur(5px);
  user-select:none;
  pointer-events:none;
}

/* ---------- para quién ---------- */

.forwho{
  display:grid; gap:clamp(28px,4vw,56px);
  grid-template-columns:1fr;
}
@media (min-width:820px){ .forwho{ grid-template-columns:1.1fr .9fr; } }

.forwho__col h3{
  margin:0 0 14px;
  font-variation-settings:"wdth" 110,"wght" 700;
  font-size:1.3rem; letter-spacing:-.015em;
  color:var(--text-dark);
}
.forwho__col ul{ list-style:none; margin:0; padding:0; }
.forwho__col li{
  position:relative; padding:9px 0 9px 32px;
  font-size:.99rem; line-height:1.5;
}
.forwho__col--yes li::before,
.forwho__col--no li::before{
  position:absolute; left:0; top:11px;
  width:20px; height:20px; border-radius:50%;
  display:grid; place-items:center;
  font-size:.8rem; line-height:1;
  font-variation-settings:"wdth" 100,"wght" 700;
}
.forwho__col--yes li::before{ content:"✓"; background:rgba(27,95,217,.1); color:var(--blue); }
.forwho__col--no li::before{ content:"✕"; background:var(--mist); color:#8397AE; }
.forwho__col--no{ color:#68809A; }

/* ============================================================
   TESTIMONIOS
   ============================================================ */

.testimonios{ overflow:hidden; }

/* vídeos de depoimento lado a lado (4fr + 3fr = mesma altura para 16:9 e 4:3) */
.vdepo{
  display:grid; gap:clamp(16px,2.5vw,28px);
  grid-template-columns:1fr;
  margin-bottom:clamp(36px,5vw,64px);
}
@media (min-width:760px){ .vdepo{ grid-template-columns:4fr 3fr; } }
.vdepo__item{
  margin:0; background:#000;
  border:1px solid rgba(121,184,247,.28);
  border-radius:var(--r-md);
  overflow:hidden;
  box-shadow:0 26px 60px -34px rgba(0,0,0,.9);
}
.vdepo__item video{ width:100%; height:auto; aspect-ratio:16/9; background:#000; }
.vdepo__item--wide video{ aspect-ratio:16/9; }
.vdepo__item:not(.vdepo__item--wide) video{ aspect-ratio:4/3; }

/* ventana de tres tarjetas en escritorio, dos en el teléfono.
   El movimiento lo lleva el JS, no una animación CSS: así sigue siendo
   suave aunque el sistema pida movimiento reducido. */
.marquee{
  margin-top:clamp(10px,2vw,20px);
  margin-inline:auto;
  max-width:min(940px, calc(100vw - 32px));
  overflow:hidden;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
}
.marquee.is-dragging{ cursor:grabbing; }
.marquee img{ -webkit-user-drag:none; }

.marquee__track{
  display:flex; gap:20px; width:max-content;
  will-change:transform;
}

.quote{
  flex:0 0 min(84vw,380px);
  margin:0;
  background:var(--navy);
  border:1px solid var(--navy-line);
  border-radius:var(--r-md);
  padding:26px 26px 22px;
  display:flex; flex-direction:column; justify-content:space-between; gap:16px;
}
.quote blockquote{
  margin:0;
  font-size:.96rem; line-height:1.56;
  color:var(--text-onink);
}
.quote blockquote::before{ content:"“"; }
.quote blockquote::after{ content:"”"; }
.quote figcaption{
  font-size:.85rem;
  color:var(--sky);
  font-variation-settings:"wdth" 100,"wght" 600;
}

/* variante para capturas de pantalla de WhatsApp */
.quote--shot{
  flex:0 0 calc((min(940px, 100vw - 32px) - 40px) / 3);   /* tres caben justo */
  padding:0; overflow:hidden; background:var(--ink);
}
@media (max-width:759px){
  .quote--shot{ flex-basis:calc((100vw - 52px) / 2); }    /* en el teléfono, dos */
}
.quote--shot img{ width:100%; height:auto; }
.quote--shot figcaption{ padding:12px 18px 16px; }

/* ============================================================
   OFERTA
   ============================================================ */

.offer{
  display:grid; gap:clamp(30px,5vw,64px);
  grid-template-columns:1fr;
  align-items:center;
}
@media (min-width:880px){ .offer{ grid-template-columns:.8fr 1.2fr; } }

@media (min-width:880px){
  .offer--flip{ grid-template-columns:1.2fr .8fr; }
  .offer--flip .offer__art{ order:2; }
}

.offer__art{ display:grid; place-items:center; }
.mock{
  width:min(520px,92vw); height:auto;
  filter:drop-shadow(0 26px 34px rgba(11,35,64,.34));
}

.offer__box{
  background:var(--paper);
  border:1px solid var(--mist-line);
  border-radius:var(--r-md);
  padding:clamp(26px,4vw,44px);
}
.offer__box > p{ margin:0 0 24px; max-width:48ch; }

.pricebox{
  border-top:1px solid var(--mist-line);
  border-bottom:1px solid var(--mist-line);
  padding:20px 0;
  margin-bottom:24px;
}
.pricebox__was{
  margin:0; font-size:.92rem; color:#8397AE; text-decoration:line-through;
}
.pricebox__now{
  margin:2px 0 0;
  font-variation-settings:"wdth" 112,"wght" 800;
  font-size:clamp(3rem,2rem + 5vw,4.4rem);
  line-height:.9; letter-spacing:-.04em;
  color:var(--blue);
}
.pricebox__now span{
  font-size:.34em; letter-spacing:0; margin-right:.12em;
  vertical-align:.55em;
  font-variation-settings:"wdth" 100,"wght" 700;
}
.pricebox__local{
  margin:10px 0 0; font-size:.94rem; color:var(--text-body);
}

.reassure{ list-style:none; margin:24px 0 0; padding:0; }
.reassure li{
  display:grid; grid-template-columns:21px 1fr; align-items:start; gap:11px;
  padding:9px 0;
  font-size:.93rem; line-height:1.45;
}
.reassure svg{ width:21px; height:21px; color:var(--blue); margin-top:1px; }
.reassure b{ color:var(--text-dark); font-variation-settings:"wdth" 100,"wght" 700; }

.offer__fine{
  margin:26px 0 0;
  padding-top:22px;
  border-top:1px solid var(--mist-line);
  font-size:1rem;
  line-height:1.5;
  color:var(--text-dark);
  font-variation-settings:"wdth" 100,"wght" 600;
  text-align:center;
}

/* ============================================================
   FAQ
   ============================================================ */

.faq{ max-width:780px; }
.qa{ border-top:1px solid var(--mist-line); }
.qa:last-of-type{ border-bottom:1px solid var(--mist-line); }

.qa summary{
  list-style:none; cursor:pointer;
  padding:22px 44px 22px 0;
  position:relative;
  font-variation-settings:"wdth" 106,"wght" 700;
  font-size:clamp(1.02rem,.98rem + .3vw,1.15rem);
  color:var(--text-dark);
  line-height:1.3;
}
.qa summary::-webkit-details-marker{ display:none; }
.qa summary::after{
  content:""; position:absolute; right:6px; top:50%;
  width:11px; height:11px;
  border-right:2px solid var(--blue); border-bottom:2px solid var(--blue);
  transform:translateY(-70%) rotate(45deg);
  transition:transform .22s var(--ease);
}
.qa[open] summary::after{ transform:translateY(-20%) rotate(-135deg); }
.qa__a{ padding:0 0 24px; }
.qa__a p{ margin:0; max-width:64ch; }

/* ============================================================
   CIERRE + PIE
   ============================================================ */

.closing{
  background:
    radial-gradient(900px 400px at 50% 110%, rgba(27,95,217,.42), transparent 62%),
    var(--ink);
}
/* o max-width inclui os 40px de padding que vêm de .wrap */
.closing__in{ text-align:center; max-width:900px; }
.closing__art{
  width:min(560px,92vw); height:auto;
  margin:0 auto clamp(20px,3vw,30px);
  filter:drop-shadow(0 26px 40px rgba(0,0,0,.5));
}
.closing__line{
  margin:0 auto clamp(24px,3vw,34px);
  max-width:none;   /* a quebra vem do <br>, não da largura */
  color:var(--paper);
  font-variation-settings:"wdth" 110,"wght" 800;
  font-size:clamp(1.45rem,1rem + 1.75vw,2.15rem);
  line-height:1.12;
  letter-spacing:-.022em;
  /* a quebra entre as duas frases é feita com <br> no HTML;
     o balance atrapalharia, tentando reequilibrar por conta própria */
  text-wrap:normal;
}
.closing .btn{ width:auto; margin-top:8px; }
.closing__price{ margin:16px 0 0; font-size:.95rem; }

.foot{
  background:var(--ink);
  color:var(--text-onink-dim);
  padding-block:clamp(40px,5vw,64px) 24px;
  border-top:1px solid rgba(121,184,247,.14);
}
.foot__in{
  display:grid; gap:28px; grid-template-columns:1fr;
  padding-bottom:28px;
}
@media (min-width:760px){ .foot__in{ grid-template-columns:1.4fr .8fr; } }

.wordmark--foot{ margin:0 0 12px; }
.foot__legal{ margin:0; font-size:.85rem; max-width:52ch; line-height:1.5; }
/* a caixa encolhe até a linha mais larga (a pergunta), e aí o e-mail
   fica centrado em relação a ela, sem sair do lugar na coluna */
.foot__contact{ width:fit-content; text-align:center; }
.foot__contact p{ margin:0 0 4px; font-size:.92rem; }
.foot__contact a{ color:var(--sky); text-decoration:none; border-bottom:1px solid rgba(121,184,247,.35); }
.foot__contact a:hover{ color:var(--paper); }
.foot__copy{
  border-top:1px solid rgba(121,184,247,.12);
  padding-top:20px;
}
.foot__copy p{ margin:0; font-size:.8rem; }

/* ---------- botão flutuante do WhatsApp ---------- */

.wa-float{
  position:fixed; right:clamp(14px,3vw,24px); bottom:clamp(14px,3vw,24px); z-index:60;
  width:58px; height:58px; border-radius:50%;
  display:grid; place-items:center;
  background:#25D366; color:#fff;
  box-shadow:0 10px 26px -8px rgba(0,0,0,.55);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease);
}
.wa-float svg{ width:32px; height:32px; }
.wa-float:hover{ transform:scale(1.07); box-shadow:0 14px 30px -8px rgba(0,0,0,.6); }

/* ============================================================
   MOVIMIENTO REDUCIDO
   ============================================================ */

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  /* el carrusel de testimonios queda fuera a propósito: su movimiento
     lo maneja el JS y se mantiene suave para todos. */
}
