/* ═══════════════════════════════════════════════════════════════════
   RECONEXÃO SAGRADA — folha de estilo única
   1. Tokens   2. Base   3. Utilitários   4. Atmosfera/decoração
   5. Cabeçalho   6. Hero   7. Nossa Essência   8. Contato
   9. Rodapé   10. WhatsApp flutuante + toast   11. Responsivo
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. TOKENS ───────────────────────────────────────────────────── */
:root{
  --paper:#FCF8F5;
  --paper-2:#F8F0EB;
  --paper-3:#FFFDFC;

  --lilac:#C7B2DE;
  --lilac-l:#E7DDF2;
  --lilac-d:#8B6FAA;

  --rose:#DBA3A2;
  --rose-l:#F3DDDD;
  --rose-d:#BE7B7E;

  --pink:#F6DBDF;
  --gold:#E4C08B;
  --gold-l:#F5E6CE;
  --gold-d:#BE9552;

  --ink:#4B3F52;
  --ink-2:#6E6274;
  --ink-3:#736A7D;   /* texto miúdo — escurecido para passar AA (4.8:1) */
  --rose-t:#A55A5F;  /* rosé em versão legível para texto pequeno */

  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost',ui-sans-serif,system-ui,-apple-system,sans-serif;

  --r-s:14px; --r-m:22px; --r-l:32px; --r-xl:44px;
  --sh-s:0 2px 10px rgba(139,111,170,.07);
  --sh-m:0 10px 34px -12px rgba(139,111,170,.20),0 2px 8px rgba(190,123,126,.06);
  --sh-l:0 26px 70px -26px rgba(139,111,170,.28),0 6px 18px rgba(190,123,126,.07);

  --wrap:1140px;
  --hdr-h:70px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ── 2. BASE ─────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--hdr-h) + 12px);
}

body{
  font-family:var(--sans);
  font-weight:300;
  font-size:clamp(1rem,.96rem + .25vw,1.075rem);
  line-height:1.75;
  color:var(--ink-2);
  background:var(--paper);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
::selection{background:var(--lilac-l);color:var(--ink)}

:focus-visible{
  outline:2px solid var(--lilac-d);
  outline-offset:3px;
  border-radius:6px;
}

.sprite{position:absolute;width:0;height:0;overflow:hidden}

.skip-link{
  position:fixed;top:-100px;left:50%;transform:translateX(-50%);
  z-index:200;padding:.7rem 1.3rem;border-radius:0 0 var(--r-s) var(--r-s);
  background:var(--ink);color:#fff;font-size:.9rem;transition:top .25s;
}
.skip-link:focus{top:0}

/* ── 3. UTILITÁRIOS ──────────────────────────────────────────────── */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,2.5rem)}

.eyebrow{
  font-family:var(--sans);font-weight:400;
  font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--rose-t);
}

.h2{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(2.35rem,1.5rem + 4vw,4.15rem);
  line-height:1.03;letter-spacing:-.015em;color:var(--ink);
}
.h2 em{
  font-style:italic;font-weight:300;
  background:linear-gradient(100deg,var(--lilac-d) 0%,var(--rose-d) 52%,var(--gold-d) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--lilac-d);
}

/* filete decorativo */
.rule{
  display:block;width:clamp(96px,22vw,150px);height:1px;margin:0 auto;
  background:linear-gradient(90deg,transparent,var(--gold) 22%,var(--rose) 50%,var(--lilac) 78%,transparent);
  position:relative;
}
.rule::after{
  content:'';position:absolute;top:-2px;left:50%;margin-left:-2.5px;
  width:5px;height:5px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 3px rgba(228,192,139,.22);
}
.rule--l{margin-inline:0}

.lead{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(1.28rem,1.05rem + 1.1vw,1.72rem);
  line-height:1.55;color:var(--ink);
}

/* botões */
.btn{
  --bg:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:56px;padding:.95rem 1.7rem;
  font-family:var(--sans);font-weight:400;font-size:.94rem;letter-spacing:.05em;
  border:0;border-radius:999px;cursor:pointer;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-position .5s var(--ease);
  text-align:center;
}
.btn__i{width:17px;height:17px;flex:none;transition:transform .35s var(--ease)}
.btn:hover .btn__i{transform:translateX(4px)}
.btn:active{transform:scale(.98)}

.btn--fill{
  color:#fff;
  background:linear-gradient(100deg,var(--lilac-d),var(--rose-d) 55%,var(--gold-d));
  background-size:180% 100%;background-position:0 0;
  box-shadow:0 12px 26px -12px rgba(139,111,170,.55);
}
.btn--fill:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(139,111,170,.6)}
.btn--fill .btn__i{fill:currentColor}

.btn--line{
  color:var(--ink);background:rgba(255,255,255,.72);
  box-shadow:inset 0 0 0 1px var(--lilac);backdrop-filter:blur(6px);
}
.btn--line:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--lilac-d),var(--sh-m);background:#fff}
.btn--line .btn__i{stroke:currentColor}

.btn--block{width:100%}

/* pílulas */
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.pills li{
  font-size:.71rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);
  padding:.42rem 1rem;border-radius:999px;
  background:rgba(255,255,255,.82);box-shadow:inset 0 0 0 1px rgba(199,178,222,.7);
}

/* ── 4. ATMOSFERA / DECORAÇÃO ────────────────────────────────────── */
.grain{
  position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.3;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
}

.aura{position:absolute;border-radius:50%;filter:blur(56px);pointer-events:none;z-index:0}
.aura--1{top:-14%;left:-16%;width:62vw;height:62vw;max-width:660px;max-height:660px;
  background:radial-gradient(circle,rgba(199,178,222,.52),transparent 68%)}
.aura--2{top:6%;right:-20%;width:66vw;height:66vw;max-width:700px;max-height:700px;
  background:radial-gradient(circle,rgba(246,219,223,.72),transparent 68%)}
.aura--3{bottom:-8%;left:14%;width:54vw;height:54vw;max-width:560px;max-height:560px;
  background:radial-gradient(circle,rgba(245,230,206,.6),transparent 68%)}
.aura--4{top:-6%;right:-14%;width:52vw;height:52vw;max-width:540px;max-height:540px;
  background:radial-gradient(circle,rgba(231,221,242,.66),transparent 68%)}
.aura--5{bottom:-12%;left:-16%;width:58vw;height:58vw;max-width:600px;max-height:600px;
  background:radial-gradient(circle,rgba(243,221,221,.6),transparent 68%)}
.aura--6{top:-24%;left:50%;transform:translateX(-50%);width:80vw;height:44vw;max-width:900px;
  background:radial-gradient(ellipse,rgba(231,221,242,.6),transparent 66%)}

.deco{position:absolute;pointer-events:none;z-index:1}
.deco--moon{width:34px;height:34px;top:16%;right:9%;color:var(--gold-d);opacity:.42}
.deco--moon2{width:26px;height:26px;top:8%;right:7%;color:var(--gold-d);opacity:.34}
.deco--bfly{width:40px;height:34px;bottom:24%;left:7%;color:var(--rose-d);opacity:.4}
.deco--stem{width:20px;height:90px;top:30%;left:4%;color:var(--lilac-d);opacity:.3}
.deco--lotus{width:74px;height:46px;bottom:6%;right:6%;color:var(--rose);opacity:.32}
[class*="deco--star"]{width:11px;height:11px;fill:var(--gold);opacity:.5}
.deco--star1{top:12%;left:16%}
.deco--star2{top:26%;right:20%;width:7px;height:7px}
.deco--star3{bottom:30%;right:12%;width:9px;height:9px}
.deco--star4{top:16%;left:8%;width:9px;height:9px}
.deco--star5{top:22%;right:24%;width:8px;height:8px}

/* animações discretas */
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-13px) rotate(-4deg)}}
@keyframes floatS{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes twinkle{0%,100%{opacity:.22;transform:scale(.85)}50%{opacity:.7;transform:scale(1)}}
.float{animation:float 8s ease-in-out infinite}
.float-slow{animation:floatS 11s ease-in-out infinite}
.twinkle{animation:twinkle 4.5s ease-in-out infinite}
.twinkle:nth-of-type(odd){animation-duration:6s;animation-delay:-2s}

/* revelação ao rolar — só esconde se o JS estiver ativo (à prova de falhas) */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease) var(--d,0ms),transform .85s var(--ease) var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .float,.float-slow,.twinkle{animation:none}
  .js .rv,.js .rv.in{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ── 5. CABEÇALHO ────────────────────────────────────────────────── */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .4s var(--ease),box-shadow .4s var(--ease),backdrop-filter .4s;
}
.hdr.is-stuck{
  background:rgba(252,248,245,.82);
  backdrop-filter:blur(14px) saturate(1.1);
  box-shadow:0 1px 0 rgba(199,178,222,.34),0 8px 24px -18px rgba(139,111,170,.4);
}
.hdr__in{
  max-width:var(--wrap);margin-inline:auto;
  padding:.55rem clamp(1.25rem,5vw,2.5rem);
  min-height:var(--hdr-h);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}

.hdr__brand{display:flex;align-items:center;gap:.62rem;flex:none}
.hdr__logo{width:48px;height:48px;object-fit:contain}
.hdr__word{
  display:flex;flex-direction:column;line-height:1;
  font-family:var(--serif);font-size:1.02rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink);
}
.hdr__word em{
  font-style:italic;text-transform:none;letter-spacing:.02em;
  font-size:1.14rem;color:var(--rose-d);margin-top:1px;
}

.nav__list{list-style:none;display:flex;align-items:center;gap:.15rem}
.nav__a{
  position:relative;display:inline-flex;align-items:center;gap:.4rem;
  padding:.6rem .78rem;border-radius:999px;
  font-size:.845rem;letter-spacing:.045em;color:var(--ink-2);
  transition:color .3s,background .3s;
}
.nav__a::after{
  content:'';position:absolute;left:50%;bottom:.34rem;width:0;height:1px;
  background:linear-gradient(90deg,var(--rose),var(--lilac-d));
  transform:translateX(-50%);transition:width .35s var(--ease);
}
.nav__a:hover{color:var(--ink)}
.nav__a:hover::after,.nav__a.is-active::after{width:calc(100% - 1.56rem)}
.nav__a.is-active{color:var(--ink)}
.nav__a i{
  font-style:normal;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-d);background:var(--gold-l);
  padding:.16rem .42rem;border-radius:999px;line-height:1;
}
.nav__a.is-soon{color:var(--ink-3)}

.burger{
  display:none;width:46px;height:46px;border:0;background:none;cursor:pointer;
  position:relative;border-radius:50%;flex:none;
}
.burger span{
  position:absolute;left:12px;width:22px;height:1.5px;border-radius:2px;
  background:var(--ink);transition:transform .38s var(--ease),opacity .25s;
}
.burger span:nth-child(1){top:17px}
.burger span:nth-child(2){top:22.5px}
.burger span:nth-child(3){top:28px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* ── 6. HERO ─────────────────────────────────────────────────────── */
.hero{
  position:relative;isolation:isolate;overflow:hidden;
  padding:calc(var(--hdr-h) + clamp(2.5rem,7vw,5rem)) 0 clamp(5rem,11vw,8rem);
  background:
    radial-gradient(120% 80% at 50% -10%,rgba(255,253,252,.9),transparent 60%),
    linear-gradient(175deg,var(--paper-2) 0%,var(--paper) 46%,var(--paper-2) 100%);
  text-align:center;
}
.hero__in{
  position:relative;z-index:2;
  max-width:760px;margin-inline:auto;
  padding-inline:clamp(1.25rem,5vw,2.5rem);
  display:flex;flex-direction:column;align-items:center;
}

/* logo + halo */
.hero__mark{position:relative;width:clamp(210px,52vw,320px);aspect-ratio:1;margin-bottom:clamp(1rem,3vw,1.6rem)}
.hero__mark img{width:100%;height:100%;object-fit:contain;position:relative;z-index:2}
.halo{position:absolute;inset:-12%;z-index:0}
.halo::before{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.95) 34%,rgba(246,219,223,.5) 58%,rgba(199,178,222,.28) 74%,transparent 82%);
  filter:blur(10px);
}
.halo::after{
  content:'';position:absolute;inset:7%;border-radius:50%;
  border:1px solid rgba(228,192,139,.42);
  animation:haloSpin 26s linear infinite;
  background:conic-gradient(from 0deg,transparent 0 82%,rgba(228,192,139,.5) 88%,transparent 94%);
  -webkit-mask:radial-gradient(circle,transparent 96%,#000 97%);
  mask:radial-gradient(circle,transparent 96%,#000 97%);
}
@keyframes haloSpin{to{transform:rotate(360deg)}}

.hero__t{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(2.5rem,1.35rem + 5.6vw,4.6rem);
  line-height:1.04;letter-spacing:-.02em;color:var(--ink);
  margin:.9rem 0 1.15rem;
}
.hero__t em{
  font-style:italic;
  background:linear-gradient(100deg,var(--lilac-d),var(--rose-d) 50%,var(--gold-d));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--lilac-d);
}

.hero__sub{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.18rem,1rem + 1vw,1.55rem);
  line-height:1.5;color:var(--ink);
  max-width:34ch;margin:1.4rem auto 0;
}

.hero__txt{
  max-width:56ch;margin:1.5rem auto 0;
  font-size:1.01rem;line-height:1.85;color:var(--ink-2);
  padding:1.4rem 1.5rem;border-radius:var(--r-l);
  background:linear-gradient(160deg,rgba(255,255,255,.86),rgba(255,255,255,.5));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),var(--sh-s);
  backdrop-filter:blur(4px);
}

.hero__cta{
  display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;
  margin:clamp(1.7rem,4vw,2.4rem) 0 1.6rem;width:100%;
}

.wave{
  position:absolute;left:-8%;right:-8%;bottom:-2px;height:clamp(52px,8vw,96px);
  background:var(--paper);border-radius:50% 50% 0 0/100% 100% 0 0;z-index:1;
}

/* ── 7. NOSSA ESSÊNCIA ───────────────────────────────────────────── */
.ess{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(3.5rem,9vw,6.5rem) 0 clamp(4.5rem,11vw,8rem);
  background:var(--paper);
}
.ess__grid{
  position:relative;z-index:2;
  display:grid;gap:clamp(1.8rem,4vw,3.2rem);
}
.ess__head{position:relative}
.ess__head .eyebrow{margin-bottom:.85rem}
.ess__head .rule{margin-top:1.4rem}
.ess__bfly{
  width:38px;height:32px;color:var(--rose);opacity:.5;
  margin-top:1.6rem;display:none;
}
.ess__body{display:flex;flex-direction:column;gap:1.1rem}
.ess__body p:not(.lead){max-width:52ch}

.quote{
  position:relative;overflow:hidden;
  padding:clamp(2.2rem,6vw,3.4rem) clamp(1.5rem,5vw,3.4rem);
  border-radius:var(--r-xl);text-align:center;
  background:
    radial-gradient(110% 130% at 12% 0%,rgba(231,221,242,.85),transparent 58%),
    radial-gradient(120% 130% at 92% 100%,rgba(246,219,223,.9),transparent 60%),
    linear-gradient(150deg,var(--paper-3),var(--paper-2));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),var(--sh-m);
}
.quote::before{
  content:'';position:absolute;inset:9px;border-radius:calc(var(--r-xl) - 8px);
  border:1px solid rgba(228,192,139,.34);pointer-events:none;
}
.quote__lotus{
  width:62px;height:39px;margin:0 auto 1.1rem;color:var(--gold-d);opacity:.6;
}
.quote blockquote{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(1.6rem,1.05rem + 2.7vw,2.9rem);
  line-height:1.24;letter-spacing:-.01em;color:var(--ink);
}
.quote blockquote em{
  font-style:italic;
  background:linear-gradient(100deg,var(--lilac-d),var(--rose-d) 55%,var(--gold-d));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--rose-d);
}

/* ── 8. CONTATO ──────────────────────────────────────────────────── */
.ct{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(3.5rem,9vw,6.5rem) 0 clamp(4rem,10vw,7rem);
  background:linear-gradient(185deg,var(--paper) 0%,var(--paper-2) 62%,var(--paper) 100%);
}
.ct__head{position:relative;z-index:2;text-align:center;margin-bottom:clamp(2.2rem,5vw,3.4rem)}
.ct__head .eyebrow{margin-bottom:.85rem}
.ct__head .rule{margin-top:1.4rem}
.ct__grid{position:relative;z-index:2;display:grid;gap:clamp(1.2rem,3vw,2.2rem);align-items:start}

/* canais de contato */
.chan{list-style:none;display:flex;flex-direction:column;gap:.85rem}
.chan__a{
  display:flex;align-items:center;gap:1rem;
  padding:1.05rem 1.15rem;border-radius:var(--r-m);
  background:rgba(255,255,255,.78);
  box-shadow:inset 0 0 0 1px rgba(199,178,222,.34),var(--sh-s);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s;
}
.chan__a:hover{transform:translateY(-3px);background:#fff;box-shadow:inset 0 0 0 1px rgba(199,178,222,.6),var(--sh-m)}
.chan__ic{
  flex:none;width:48px;height:48px;border-radius:15px;
  display:grid;place-items:center;color:#fff;
  box-shadow:0 6px 16px -8px rgba(75,63,82,.5);
}
.chan__ic svg{width:23px;height:23px;fill:currentColor}
.chan__ic--ig{background:linear-gradient(135deg,#B58BC9,#D98E9C 55%,#E3B77E)}
.chan__ic--wa{background:linear-gradient(135deg,#4FD07A,#1FB855)}
.chan__ic--ml{background:linear-gradient(135deg,#C7B2DE,#8B6FAA)}
.chan__ic--ml svg{fill:none;stroke:currentColor}
.chan__tx{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.chan__tx b{
  font-weight:400;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-3);
}
.chan__tx span{font-size:1.02rem;color:var(--ink);overflow-wrap:anywhere}
.chan__go{
  width:18px;height:18px;flex:none;margin-left:auto;stroke:var(--lilac-d);
  fill:none;opacity:.45;transition:transform .35s var(--ease),opacity .3s;
}
.chan__a:hover .chan__go{transform:translateX(4px);opacity:1}

/* formulário */
.form{
  padding:clamp(1.4rem,4vw,2.2rem);border-radius:var(--r-l);
  background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(255,255,255,.7));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),var(--sh-m);
  display:flex;flex-direction:column;gap:1rem;
}
.fld{display:flex;flex-direction:column;gap:.42rem}
.fld label{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);
  padding-left:.2rem;
}
.fld input,.fld textarea{
  width:100%;padding:.92rem 1.1rem;
  font-size:1rem;font-weight:300;line-height:1.6;
  background:var(--paper-3);border:1px solid rgba(199,178,222,.45);
  border-radius:var(--r-s);
  transition:border-color .3s,box-shadow .3s,background .3s;
}
.fld textarea{resize:vertical;min-height:118px}
.fld input::placeholder,.fld textarea::placeholder{color:#9F96A9}
.fld input:focus,.fld textarea:focus{
  outline:none;background:#fff;
  border-color:var(--lilac);
  box-shadow:0 0 0 4px rgba(199,178,222,.18);
}
.fld input:user-invalid,.fld textarea:user-invalid{border-color:var(--rose)}
.form .btn{margin-top:.35rem}
.form__note{font-size:.78rem;line-height:1.5;color:var(--ink-3);text-align:center}
.form__err{
  font-size:.85rem;color:#8E4348;text-align:center;
  padding:.6rem .8rem;border-radius:var(--r-s);background:var(--rose-l);
}

/* ── 9. RODAPÉ ───────────────────────────────────────────────────── */
.ft{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(3rem,7vw,4.5rem) 0 clamp(6rem,9vw,3rem);
  background:linear-gradient(180deg,var(--paper-2),#F4E9E4);
  text-align:center;
}
.ft__in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.ft__brand img{width:clamp(112px,26vw,148px);height:auto;object-fit:contain}

.ft__list{list-style:none;display:flex;flex-direction:column;gap:.55rem;align-items:center}
.ft__list a{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.95rem;color:var(--ink-2);padding:.52rem .72rem;border-radius:999px;
  transition:color .3s,background .3s;overflow-wrap:anywhere;
}
.ft__list a:hover{color:var(--ink);background:rgba(255,255,255,.6)}
.ft__list svg{width:17px;height:17px;flex:none;fill:var(--rose-d)}
.ft__list svg.is-wa{fill:#1FB855}
.ft__list li:last-child svg{fill:none;stroke:var(--lilac-d)}

.ft__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem .5rem;font-size:.85rem}
.ft__nav a{color:var(--ink-3);padding:.46rem .35rem;transition:color .3s}
.ft__nav a:hover{color:var(--rose-t)}
.ft__nav span{color:var(--lilac);opacity:.7}

.ft__cr{
  font-size:.78rem;letter-spacing:.06em;color:var(--ink-3);
  padding-top:1.3rem;margin-top:.2rem;width:100%;max-width:520px;
  border-top:1px solid rgba(199,178,222,.4);
}

/* ── 10. WHATSAPP FLUTUANTE + TOAST ──────────────────────────────── */
.wafab{
  position:fixed;right:clamp(.9rem,3vw,1.6rem);
  bottom:calc(clamp(.9rem,3vw,1.6rem) + var(--fab-lift,0px));
  z-index:120;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(140deg,#4FD07A,#1FB855);
  box-shadow:0 10px 26px -8px rgba(31,184,85,.6),0 2px 8px rgba(0,0,0,.1);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.wafab svg{width:31px;height:31px;fill:#fff;position:relative;z-index:2}
.wafab:hover{transform:scale(1.07)}
.wafab:active{transform:scale(.96)}
.wafab__pulse{
  position:absolute;inset:0;border-radius:50%;background:rgba(31,184,85,.4);
  animation:pulse 2.8s ease-out infinite;z-index:1;
}
@keyframes pulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.75);opacity:0}100%{opacity:0}}
.wafab__tip{
  position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(8px);
  white-space:nowrap;font-size:.82rem;color:var(--ink);
  padding:.5rem .9rem;border-radius:999px;background:#fff;
  box-shadow:var(--sh-m);opacity:0;pointer-events:none;
  transition:opacity .3s,transform .3s var(--ease);
}
.wafab:hover .wafab__tip{opacity:1;transform:translateY(-50%) translateX(0)}

.toast{
  position:fixed;left:50%;
  bottom:calc(clamp(.9rem,3vw,1.6rem) + 74px + var(--fab-lift,0px));
  transform:translate(-50%,14px);z-index:130;
  max-width:min(88vw,340px);text-align:center;
  padding:.85rem 1.4rem;border-radius:999px;
  font-size:.88rem;color:var(--ink);
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  box-shadow:inset 0 0 0 1px rgba(199,178,222,.5),var(--sh-l);
  opacity:0;pointer-events:none;
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.toast.in{opacity:1;transform:translate(-50%,0)}

/* ── 11. RESPONSIVO ──────────────────────────────────────────────── */

/* menu mobile */
@media (max-width:900px){
  .burger{display:block}
  .nav{
    position:fixed;inset:var(--hdr-h) 0 auto;
    padding:.7rem clamp(1.25rem,5vw,2.5rem) 1.5rem;
    background:rgba(252,248,245,.97);
    backdrop-filter:blur(16px);
    box-shadow:0 18px 40px -22px rgba(139,111,170,.45);
    border-bottom:1px solid rgba(199,178,222,.35);
    opacity:0;visibility:hidden;transform:translateY(-12px);
    transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s;
    max-height:calc(100dvh - var(--hdr-h));overflow-y:auto;
  }
  .nav.is-open{opacity:1;visibility:visible;transform:none}
  .nav__list{flex-direction:column;align-items:stretch;gap:.1rem}
  .nav__a{
    display:flex;width:100%;justify-content:space-between;
    padding:1rem .5rem;font-size:1.06rem;min-height:56px;
    border-bottom:1px solid rgba(199,178,222,.22);border-radius:0;
  }
  .nav__a::after{display:none}
  .nav__list li:last-child .nav__a{border-bottom:0}
  body.nav-open{overflow:hidden}
  /* cabeçalho sempre legível quando o menu está aberto */
  .hdr.is-open{background:rgba(252,248,245,.97);backdrop-filter:blur(14px)}
}

/* tablet */
@media (min-width:640px){
  .chan__a{padding:1.15rem 1.35rem}
  .ft__list{flex-direction:row;flex-wrap:wrap;gap:.4rem 1.4rem}
}

/* desktop */
@media (min-width:901px){
  :root{--hdr-h:80px}
  .ess__grid{grid-template-columns:.9fr 1.1fr;column-gap:clamp(2.5rem,6vw,5rem);align-items:start}
  .ess__head{position:sticky;top:calc(var(--hdr-h) + 2.5rem)}
  .ess__bfly{display:block}
  .quote{grid-column:1/-1;margin-top:clamp(1rem,3vw,2rem)}
  .ct__grid{grid-template-columns:1fr 1.12fr;column-gap:clamp(1.6rem,4vw,2.6rem)}
  .chan{position:sticky;top:calc(var(--hdr-h) + 2.5rem)}
  .hero__cta .btn{min-width:262px}
}

/* telas largas: decoração respira mais */
@media (min-width:1280px){
  .deco--stem{left:6%}
  .deco--bfly{left:9%}
}

/* telas muito pequenas */
@media (max-width:380px){
  .hdr__word{font-size:.9rem}
  .hdr__word em{font-size:1rem}
  .hero__txt{padding:1.15rem 1.1rem}
  .chan__ic{width:44px;height:44px;border-radius:13px}
  .chan__tx span{font-size:.95rem}
}

/* impressão simples */
@media print{
  .hdr,.wafab,.toast,.grain,.aura,.deco,.wave{display:none!important}
  body{background:#fff;color:#000}
}

