/* ============================================================
   PsiMap — Landing page
   Identidade: lavanda / roxo profundo / rosa · traço manuscrito
   ============================================================ */

:root{
  --ink:#2b1a52;
  --ink-soft:#5a4b7d;
  --purple-900:#241048;
  --purple-800:#33165f;
  --purple-700:#4a2a86;
  --lav-50:#faf7ff;
  --lav-100:#f2ecff;
  --lav-200:#e6dbff;
  --lav-300:#d3c2f7;
  --pink:#ff3d85;
  --pink-soft:#ffd9e8;
  --coral:#ff7a59;
  --yellow:#ffd34e;
  --mint:#5fd3aa;
  --blue:#6bb8ff;
  --lilac:#c9a7ff;
  --white:#ffffff;
  --shadow-sm:0 4px 14px rgba(60,30,120,.08);
  --shadow-md:0 12px 32px rgba(60,30,120,.12);
  --shadow-lg:0 24px 60px rgba(30,10,70,.28);
  --radius:20px;
  --radius-lg:28px;
  --wrap:1180px;
  --font-hand:"Archivo Black","Arial Black","Helvetica Neue",system-ui,sans-serif;
  --font-body:"Nunito","Segoe UI",system-ui,-apple-system,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.65;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
h1,h2,h3{margin:0 0 .4em;line-height:1.15}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit}
button{font:inherit}

.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto}
.wrap--narrow{width:min(100% - 40px,820px)}

.section{padding:80px 0}
.section--light{background:var(--white)}
.section--lav{background:linear-gradient(180deg,var(--lav-50),var(--lav-100))}
.section--deep{background:linear-gradient(150deg,var(--purple-800),var(--purple-900));color:#fff}

/* ---------- Tipografia de seção ---------- */
.eyebrow{
  font-family:var(--font-body);
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:800;color:var(--lilac);margin:0 0 12px;
}
.eyebrow--dark{color:var(--pink);text-align:center}
.benefits .eyebrow--dark,.receive .eyebrow--dark,.guarantee .eyebrow--dark{text-align:left}

.h2{
  font-family:var(--font-hand);
  font-size:clamp(1.6rem,3vw,2.35rem);
  font-weight:400;letter-spacing:-.02em;line-height:1.2;
  color:var(--ink);margin:0 0 18px;
}
.h2--marks{text-align:center}
.h2--light{color:#fff}
.h2--sm{font-size:clamp(1.3rem,2.3vw,1.7rem)}

.mark{position:relative;display:inline-block;z-index:0}
.mark::after{
  content:"";position:absolute;left:-4px;right:-4px;bottom:.01em;height:.26em;
  background:var(--pink);opacity:.85;border-radius:6px;z-index:-1;
  transform:rotate(-.6deg);
}
.mark--light::after{background:var(--pink);opacity:.9}

.lede{
  max-width:760px;margin:0 auto 34px;text-align:center;
  color:var(--ink-soft);font-size:1.03rem;
}
.lede--left{margin-left:0;text-align:left}
.lede--light{color:#e0d4ff}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:17px 34px;border:0;border-radius:999px;
  font-weight:800;font-size:1.02rem;letter-spacing:.01em;
  cursor:pointer;text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.btn--primary{
  background:linear-gradient(92deg,var(--pink),var(--coral));
  color:#fff;box-shadow:0 12px 28px rgba(255,61,133,.35);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(255,61,133,.45)}
.btn__arrow{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.25);font-size:1rem;
}
.btn--locked{
  background:linear-gradient(92deg,#8e83a8,#a79ec0);color:#fff;
  box-shadow:0 10px 24px rgba(60,40,100,.22);cursor:default;
}
.btn--locked:hover{filter:brightness(1.05)}
.btn--sm{padding:12px 22px;font-size:.92rem}

/* ============ TOPBAR ============ */
.topbar{
  background:linear-gradient(90deg,var(--pink),#ff6fa5 55%,var(--coral));
  color:#fff;text-align:center;padding:11px 18px;
}
.topbar p{margin:0;font-size:.93rem;font-weight:600}
.topbar strong{font-weight:800;letter-spacing:.03em}
.notice{background:var(--lav-100);color:var(--ink-soft);text-align:center;padding:10px 18px}
.notice p{margin:0;font-size:.92rem}

/* ============ HERO ============ */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 500px at 15% 10%,rgba(120,70,200,.45),transparent 60%),
    radial-gradient(700px 500px at 85% 80%,rgba(255,61,133,.20),transparent 60%),
    linear-gradient(160deg,#32155f,#1c0c3d);
  color:#fff;padding:44px 0 60px;
}
.hero__deco{position:absolute;inset:0;pointer-events:none}
.deco{position:absolute;opacity:.55}
.deco--a{width:34px;top:16%;right:44%}
.deco--b{width:26px;top:8%;right:8%}
.deco--c{width:52px;bottom:16%;left:3%}
.deco--d{width:74px;bottom:8%;left:38%;opacity:.28}

.hero__grid{
  display:grid;grid-template-columns:1.05fr .95fr;
  grid-template-areas:"brand art" "copy art";
  align-items:start;gap:0 40px;position:relative;
}
.hero__brand{grid-area:brand;margin-bottom:26px}
.hero__copy{grid-area:copy}
.hero__art{grid-area:art;align-self:center}

.logo{display:inline-flex;align-items:center;gap:12px}
.logo__mark{
  width:52px;height:52px;border-radius:50%;background:#fff;
  display:grid;place-items:center;padding:7px;flex:none;
}
.logo__text b{
  display:block;font-family:var(--font-hand);font-size:1.45rem;
  font-weight:400;letter-spacing:-.02em;line-height:1.1;color:#fff;
}
.logo__text small{
  display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:800;color:var(--lilac);line-height:1.5;margin-top:4px;
}

.hero__title{margin:0 0 6px}
.hero__line1,.hero__line3{
  display:block;font-family:var(--font-hand);font-weight:400;
  font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.15;letter-spacing:-.02em;
}
.hero__line3{font-size:clamp(1.05rem,1.7vw,1.35rem);margin-top:10px;color:#f1e7ff}
.hero__line3 strong{color:#fff;font-weight:400}
.hero__big{display:block;margin:-2px 0 2px}
.brush{
  display:inline-block;position:relative;z-index:0;
  font-family:var(--font-hand);font-weight:400;
  font-size:clamp(2.4rem,5.6vw,4.1rem);line-height:1.05;letter-spacing:-.03em;
  padding:0 .1em;color:#fff;
}
.brush::after{
  content:"";position:absolute;left:0;right:0;bottom:.05em;height:.30em;
  background:var(--pink);border-radius:40px 30px 44px 26px;
  transform:rotate(-1.2deg);z-index:-1;opacity:.95;
}
.hero__kicker{
  font-family:var(--font-hand);font-size:.98rem;line-height:1.5;letter-spacing:-.01em;
  color:#e7dcff;margin:14px 0 16px;max-width:540px;
}
.hero__kicker u{text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:5px}
.hero__sub{max-width:540px;color:#d9cdf5;font-size:1rem;margin-bottom:20px}

.hero__bullets{display:grid;gap:9px;margin-bottom:26px;max-width:520px}
.hero__bullets li{position:relative;padding-left:30px;color:#efe8ff;font-size:.97rem}
.hero__bullets li::before{
  content:"";position:absolute;left:0;top:.42em;width:16px;height:16px;border-radius:50%;
  background:var(--pink);box-shadow:inset 0 0 0 3px rgba(255,255,255,.9);
}
.hero__cta{margin:0 0 28px}

.hero__badges{display:flex;flex-wrap:wrap;gap:26px}
.hero__badges li{display:flex;align-items:center;gap:11px;font-size:.85rem;color:#e5daff;line-height:1.35}
.badge-ico{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  font-size:1.05rem;flex:none;
}
.badge-ico--pink{background:var(--pink-soft)}
.badge-ico--mint{background:#d8f6ea}
.badge-ico--blue{background:#dceeff}

/* mockup */
.mockup{position:relative;margin:0;padding:10px 0 0;min-height:420px}
.mockup__cover,.mockup__page{position:absolute;display:block;border-radius:10px;overflow:hidden}
.mockup__cover{
  position:relative;width:70%;margin-left:2%;z-index:3;
  box-shadow:var(--shadow-lg);border-radius:6px 14px 14px 6px;
  transform:rotate(-1.5deg);
}
.mockup__cover::after{
  content:"";position:absolute;inset:0 auto 0 0;width:12px;
  background:linear-gradient(90deg,rgba(0,0,0,.22),transparent);
}
.mockup__page{width:52%;box-shadow:var(--shadow-md);z-index:2}
.mockup__page--mid{top:-2%;right:-4%;transform:rotate(5deg)}
.mockup__page--back{top:34%;right:-8%;transform:rotate(9deg);z-index:1;width:48%}

/* ============ ENTREGA ============ */
.delivery{background:var(--purple-700);color:#fff;padding:22px 0}
.delivery__inner{text-align:center}
.delivery__inner p{margin:0;font-size:1rem}
.delivery__note{margin-top:6px;font-size:.85rem;color:#d4c4f7}

/* ============ CONFIANÇA ============ */
.trust{background:var(--white);padding:44px 0 8px}
.trust__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.trust__card{
  background:var(--lav-50);border:1.5px solid var(--lav-200);
  border-radius:var(--radius);padding:22px 24px;text-align:center;
}
.trust__ico{font-size:1.5rem;display:block;margin-bottom:6px}
.trust__card h3{font-family:var(--font-hand);font-size:1.02rem;font-weight:400;line-height:1.3;margin-bottom:6px}
.trust__card p{margin:0;font-size:.9rem;color:var(--ink-soft)}

/* ============ GALERIA ============ */
.gallery{position:relative;margin-top:8px}
.gallery__track{
  display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;
  padding:10px calc((100vw - min(100% - 40px,var(--wrap)))/2 + 0px) 26px;
  scrollbar-width:none;cursor:grab;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}
.gallery__track:active{cursor:grabbing}
.gallery__track::-webkit-scrollbar{display:none}
.gallery__track:focus-visible{outline:3px solid var(--lilac);outline-offset:-4px;border-radius:12px}
.card-map{margin:0;flex:0 0 clamp(220px,24vw,290px)}
.card-map .frame{
  display:block;border-radius:14px;overflow:hidden;background:var(--lav-100);
  border:1.5px solid var(--lav-200);box-shadow:var(--shadow-sm);
  aspect-ratio:2/3;transition:transform .25s ease,box-shadow .25s ease;
}
.card-map:hover .frame{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.card-map img{width:100%;height:100%;object-fit:cover;object-position:top}
.card-map figcaption{
  text-align:center;font-size:.86rem;font-weight:700;color:var(--ink-soft);margin-top:10px;
}
.gallery__hint{
  text-align:center;font-size:.78rem;color:var(--ink-soft);opacity:.6;
  margin:0 0 6px;letter-spacing:.02em;
}

/* placeholder de imagem ausente */
.frame.is-empty,.is-empty img{position:relative}
.is-empty img{display:none}
.frame.is-empty::after,.ph::after{
  content:attr(data-ph);
  position:absolute;inset:0;display:grid;place-items:center;text-align:center;
  padding:16px;font-family:var(--font-hand);font-size:.95rem;color:var(--purple-700);
  background:repeating-linear-gradient(135deg,var(--lav-100),var(--lav-100) 12px,var(--lav-200) 12px,var(--lav-200) 24px);
}

/* ============ BENEFÍCIOS ============ */
.benefits{display:grid;grid-template-columns:1fr 1.85fr;gap:40px;align-items:start}
.benefits__intro .h2{font-size:clamp(1.4rem,2.1vw,1.8rem)}
.benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bcard{
  background:#fff;border:1.5px solid var(--lav-200);border-radius:var(--radius);
  padding:24px 20px;text-align:center;box-shadow:var(--shadow-sm);
}
.bcard__ico{font-size:1.9rem;display:block;margin-bottom:8px}
.bcard h3{font-family:var(--font-hand);font-size:1rem;font-weight:400;line-height:1.3;letter-spacing:-.01em;margin-bottom:8px}
.bcard p{margin:0;font-size:.9rem;color:var(--ink-soft)}

/* ============ MÓDULOS ============ */
.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:12px}
.module{
  position:relative;border-radius:var(--radius);padding:26px 22px 22px;
  border:1.5px solid var(--lav-200);background:#fff;box-shadow:var(--shadow-sm);
}
.module__n{
  position:absolute;top:-16px;left:22px;width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;font-weight:800;font-size:1.05rem;color:#fff;
  background:var(--purple-700);box-shadow:0 6px 14px rgba(74,42,134,.28);
}
.module--c1{background:linear-gradient(180deg,#fff,#fdf1f7)}
.module--c1 .module__n{background:var(--pink)}
.module--c2{background:linear-gradient(180deg,#fff,#f3f0ff)}
.module--c2 .module__n{background:var(--purple-700)}
.module--c3{background:linear-gradient(180deg,#fff,#eefaf5)}
.module--c3 .module__n{background:var(--mint)}
.module--c4{background:linear-gradient(180deg,#fff,#eef6ff)}
.module--c4 .module__n{background:var(--blue)}
.module--c5{background:linear-gradient(180deg,#fff,#fffbe9)}
.module--c5 .module__n{background:#e8a800}
.module h3{font-family:var(--font-hand);font-size:1.02rem;font-weight:400;line-height:1.3;letter-spacing:-.01em;margin:10px 0 4px}
.module__qty{
  font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--pink);margin:0 0 8px;
}
.module p:last-child{margin:0;font-size:.9rem;color:var(--ink-soft)}
.modules__note{
  margin:28px auto 0;max-width:780px;text-align:center;font-size:.88rem;
  color:var(--ink-soft);background:var(--lav-50);border:1.5px dashed var(--lav-300);
  border-radius:16px;padding:16px 20px;
}

/* ============ PÚBLICO ============ */
.who{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.who__card{
  background:#fff;border-radius:var(--radius);padding:26px 22px;
  border:1.5px solid var(--lav-200);box-shadow:var(--shadow-sm);
}
.who__ico{font-size:1.7rem;display:block;margin-bottom:6px}
.who__card h3{font-family:var(--font-hand);font-size:1rem;font-weight:400;line-height:1.3;letter-spacing:-.01em;margin-bottom:8px}
.who__card p{margin:0;font-size:.9rem;color:var(--ink-soft)}

/* ============ O QUE RECEBE ============ */
.receive{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.checklist{display:grid;gap:12px;margin-top:6px}
.checklist li{position:relative;padding-left:34px;font-size:1rem}
.checklist li::before{
  content:"✓";position:absolute;left:0;top:0;width:23px;height:23px;border-radius:50%;
  background:var(--mint);color:#fff;font-size:.8rem;font-weight:800;
  display:grid;place-items:center;
}
.checklist--tight li{font-size:.94rem}
.checklist li.is-bonus{font-weight:800;color:var(--purple-700)}
.checklist li.is-bonus::before{content:"★";background:var(--pink);font-size:.72rem}
.checklist li.is-bonus small{
  display:block;font-weight:600;font-size:.78rem;color:var(--ink-soft);margin-top:1px;
}
.stack{position:relative;margin:0;padding-bottom:20%}
.stack img{
  width:76%;border-radius:12px;box-shadow:var(--shadow-md);
  border:1.5px solid var(--lav-200);
}
.stack img:first-child{position:relative;z-index:2;transform:rotate(-4deg)}
.stack img:last-child{position:absolute;top:18%;right:0;z-index:1;transform:rotate(4deg)}

/* ============ EXPANSÃO ============ */
.expand{text-align:center;max-width:820px;margin-inline:auto}
.expand .eyebrow{text-align:center}
.expand__flag{
  display:inline-block;margin-top:8px;padding:12px 22px;border-radius:999px;
  background:rgba(255,255,255,.09);border:1.5px dashed rgba(255,255,255,.35);
  font-size:.86rem;color:#e6d9ff;
}

/* ============ OFERTA ============ */
.offer{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center;
  max-width:980px;margin:10px auto 0;padding:34px;
  background:linear-gradient(160deg,#fff,var(--lav-50));
  border:2px solid var(--lav-200);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
}
.offer__art img{border-radius:10px;box-shadow:var(--shadow-md);transform:rotate(-2deg)}
.offer__name{font-family:var(--font-hand);font-size:1.3rem;font-weight:400;letter-spacing:-.02em;line-height:1.25;margin-bottom:6px}
.offer__meta{font-size:.86rem;color:var(--ink-soft);margin-bottom:14px}
.offer__from{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  font-size:.92rem;font-weight:700;color:var(--ink-soft);margin:0 0 2px;
}
.offer__from s{
  color:#e0455e;text-decoration-thickness:2px;text-decoration-color:#e0455e;
  font-weight:800;
}
.offer__price{display:flex;align-items:baseline;gap:6px;margin:0 0 16px;color:var(--purple-700)}
.offer__cur{font-size:1.3rem;font-weight:800}
.offer__val{font-size:3.1rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.offer .btn{margin-top:20px}
.offer__status{margin:12px 0 0;font-size:.84rem;color:var(--ink-soft)}

/* ============ DEPOIMENTOS ============ */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tcard{
  border:1.5px dashed var(--lav-300);border-radius:var(--radius);
  background:rgba(255,255,255,.55);padding:34px 22px;text-align:center;
  color:var(--ink-soft);
}
.tcard__ph{
  display:block;width:46px;height:46px;border-radius:50%;
  background:var(--lav-200);margin:0 auto 12px;
  box-shadow:inset 0 -14px 0 rgba(255,255,255,.55);
}
.tcard p{margin:0;font-size:.86rem}

/* ============ GARANTIA ============ */
.guarantee{
  display:grid;grid-template-columns:130px 1fr;gap:32px;align-items:center;
  background:var(--lav-50);border:1.5px solid var(--lav-200);
  border-radius:var(--radius-lg);padding:34px;
}
.guarantee__seal svg{width:120px;height:120px}

/* ============ FAQ ============ */
.faq{display:grid;gap:12px;margin-top:8px}
.faq__item{
  background:#fff;border:1.5px solid var(--lav-200);border-radius:16px;
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.faq__item summary{
  cursor:pointer;list-style:none;padding:18px 52px 18px 22px;position:relative;
  font-weight:700;font-size:1rem;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;background:var(--lav-100);
  color:var(--purple-700);display:grid;place-items:center;font-weight:800;
  transition:transform .25s ease,background .25s ease;
}
.faq__item[open] summary::after{content:"−";background:var(--pink);color:#fff}
.faq__a{padding:0 22px 20px;color:var(--ink-soft);font-size:.95rem}
.faq__a p{margin:0}

/* ============ CTA FINAL ============ */
.final__inner{text-align:center;max-width:760px;margin-inline:auto}
.final__note{font-size:.84rem;color:#cbb8f0;margin-top:12px}

/* ============ RODAPÉ ============ */
.footer{background:#1a0b36;color:#b8a6dd;padding:52px 0 40px;font-size:.86rem}
.footer .logo--footer{margin-bottom:18px}
.footer .logo__text b{font-size:1.25rem}
.footer p{max-width:840px}
.footer__small{font-size:.8rem;color:#8f7fb5}
.footer__copy{margin-top:22px;color:#8f7fb5}

/* ============ STICKY MOBILE ============ */
.stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  display:none;align-items:center;justify-content:space-between;gap:14px;
  padding:10px 16px;background:#fff;border-top:1.5px solid var(--lav-200);
  box-shadow:0 -8px 24px rgba(40,20,80,.14);
}
.stickybar__info{display:flex;flex-direction:column;line-height:1.2}
.stickybar__info strong{font-size:.95rem}
.stickybar__info span{font-size:.8rem;color:var(--ink-soft)}

/* ============ TOAST ============ */
.toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);
  z-index:80;max-width:min(92vw,420px);
  background:var(--purple-800);color:#fff;padding:14px 20px;border-radius:14px;
  box-shadow:var(--shadow-lg);font-size:.9rem;line-height:1.45;
  opacity:0;transition:opacity .25s ease,transform .25s ease;
}
.toast.is-on{opacity:1;transform:translate(-50%,0)}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-in{opacity:1;transform:none}

/* ============ RESPONSIVO ============ */
@media (max-width:1000px){
  .benefits{grid-template-columns:1fr;gap:26px}
  .benefits__grid{grid-template-columns:repeat(2,1fr)}
  .modules{grid-template-columns:repeat(2,1fr)}
  .who{grid-template-columns:repeat(2,1fr)}
  .receive{grid-template-columns:1fr;gap:30px}
  .offer{grid-template-columns:1fr;gap:26px;text-align:center}
  .offer__price,.offer__from{justify-content:center}
  .offer__art img{max-width:240px;margin-inline:auto}
  .checklist li{text-align:left}
  .testimonials{grid-template-columns:1fr}
}
@media (max-width:820px){
  body{font-size:16px}
  .section{padding:60px 0}
  .hero{padding:30px 0 46px}
  .hero__grid{
    grid-template-columns:1fr;
    grid-template-areas:"brand" "art" "copy";
    gap:0;
  }
  .hero__brand{text-align:center;margin-bottom:20px}
  .hero__art{margin-bottom:30px}
  .mockup{min-height:0;display:flex;justify-content:center;padding-top:0}
  .mockup__cover{width:64%;max-width:280px;margin:0}
  .mockup__page--mid{top:2%;right:2%;width:44%}
  .mockup__page--back{top:36%;right:-2%;width:40%}
  .hero__copy{text-align:center}
  .hero__sub,.hero__bullets{margin-inline:auto}
  .hero__bullets li{text-align:left}
  .hero__badges{justify-content:center;gap:18px}
  .trust__grid{grid-template-columns:1fr}
  .gallery__track{padding-inline:20px}
  .card-map{flex-basis:min(72vw,300px)}
  .guarantee{grid-template-columns:1fr;text-align:center;justify-items:center}
  .stack{padding-bottom:24%}
  .stickybar{display:flex}
  .stickybar[hidden]{display:none}
  body{padding-bottom:72px}
}
@media (max-width:560px){
  .benefits__grid,.modules,.who{grid-template-columns:1fr}
  .btn{width:100%;justify-content:center;padding:16px 22px;font-size:.95rem}
  .stickybar .btn{width:auto}
  .offer{padding:24px 20px}
}

@media (prefers-reduced-motion:reduce){
  .gallery__hint{display:none}
  .gallery__track{scroll-snap-type:x mandatory}
  .card-map{scroll-snap-align:start}
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}
