/* =========================================================
   Instituto Acechinel · v2
   Tokens primeiro. Tudo abaixo usa apenas estes valores.
   ========================================================= */
:root{
  --font-display:'Gilda Display', 'Times New Roman', serif;
  --font-text:'Jost', system-ui, sans-serif;
  --display-weight:400;

  /* paleta da marca */
  --ink-0:#120306;   /* fundo mais profundo, rodapé */
  --bg:#1A0408;      /* fundo base */
  --bg-2:#210810;    /* degrau de tom 1 */
  --bg-3:#2A0B11;    /* degrau de tom 2 */
  --wine:#3A0A10;    /* vinho da seda */
  --cream:#F7EFE8;   /* fundo claro */
  --text:#F4EBE3;    /* texto sobre escuro */
  --text-2:rgba(244,235,227,.74);
  --accent:#FFDEE7;  /* rosa: ação e destaque */
  --bordo:#8A2A3F;   /* destaque em fundo claro */
  --ink-dark:#2A0B11;/* texto sobre claro */

  /* escala: cinco tamanhos */
  --fs-display:clamp(38px, 4.6vw, 72px);
  --fs-h2:clamp(36px, 4.3vw, 66px);
  --fs-h3:clamp(25px, 2.3vw, 36px);
  --fs-lead:clamp(18px, 1.35vw, 21px);
  --fs-body:17px;
  --fs-small:14px;

  --m:clamp(20px, 4.4vw, 64px);   /* margem externa única */
  --gap-section:clamp(112px, 13vw, 200px);
  --ease:cubic-bezier(.22,1,.36,1);
  --nav-h:84px;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-text);font-weight:300;font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p,ul,blockquote,figure{margin:0}
ul{padding:0;list-style:none}
em{font-style:italic}
::selection{background:var(--accent);color:var(--bg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
.tm :focus-visible,.coupon :focus-visible{outline-color:var(--bordo)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:var(--m);top:-60px;z-index:200;background:var(--accent);color:var(--bg);padding:10px 16px;font-weight:500}
.skip:focus{top:12px}

.wrap{padding-left:var(--m);padding-right:var(--m)}
.display{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:-.015em;line-height:1.02;color:#F7EFE8}
.display em{color:var(--accent);font-weight:var(--display-weight)}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:400;letter-spacing:.24em;color:var(--accent);margin-bottom:28px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--text);max-width:46ch}

/* ---------- silk WebGL de fundo (fixo) ---------- */
#silk{position:fixed;inset:0;width:100vw;height:100lvh;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.2s var(--ease)}
.gl #silk.on{opacity:1}
main,footer{position:relative;z-index:1}

/* ---------- grão ---------- */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-6%,2%)}80%{transform:translate(5%,5%)}100%{transform:translate(0,0)}}


/* ---------- progresso ---------- */
.progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:120;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}

/* ---------- cursor ---------- */
.cursor,.cursor-dot{display:none}
@media (hover:hover) and (pointer:fine){
  .has-cursor .cursor,.has-cursor .cursor-dot{display:block;position:fixed;left:0;top:0;z-index:140;pointer-events:none;border-radius:50%}
  .has-cursor .cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--accent)}
  .has-cursor .cursor{width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid rgba(255,222,231,.55);transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background-color .35s,border-color .35s;display:flex;align-items:center;justify-content:center}
  .has-cursor .cursor svg{width:22px;height:22px;opacity:0;transform:scale(.6);transition:opacity .25s,transform .35s var(--ease);color:var(--bg)}
  .cursor.is-link{width:68px;height:68px;margin:-34px 0 0 -34px;background:rgba(255,222,231,.12);border-color:rgba(255,222,231,.0)}
  .cursor.is-drag{width:84px;height:84px;margin:-42px 0 0 -42px;background:var(--accent);border-color:var(--accent)}
  .cursor.is-drag svg{opacity:1;transform:none}
  .cursor.on-light{border-color:rgba(138,42,63,.55)}
  .cursor-dot.on-light{background:var(--bordo)}
}

/* ---------- botões (pílula, uma forma só) ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:14px;height:58px;padding:0 10px 0 28px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:.01em;overflow:hidden;isolation:isolate;transition:color .4s var(--ease),background-color .4s var(--ease);will-change:transform}
.btn-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ico-bg);color:var(--ico-fg);overflow:hidden;transition:background-color .4s var(--ease),color .4s var(--ease)}
.btn-ico svg{width:16px;height:16px;transition:transform .45s var(--ease)}
.btn:hover .btn-ico,.btn:focus-visible .btn-ico{background:var(--ico-bg-h);color:var(--ico-fg-h)}
.btn:hover .btn-ico svg,.btn:focus-visible .btn-ico svg{transform:translateX(3px)}
.btn:active{transform:none}
.btn-light:hover,.btn-light:focus-visible{background:var(--accent)}
.btn-pink:hover,.btn-pink:focus-visible{background:var(--cream)}
.btn-dark:hover,.btn-dark:focus-visible{background:var(--bordo);color:var(--cream)}
.btn-ghost:hover,.btn-ghost:focus-visible{background:rgba(244,235,227,.12)}
.btn-light{background:var(--cream);color:var(--bg);--ico-bg:var(--bg);--ico-fg:var(--accent);--ico-bg-h:var(--bordo);--ico-fg-h:var(--cream)}
.btn-pink{background:var(--accent);color:var(--bg);--ico-bg:var(--bg);--ico-fg:var(--accent);--ico-bg-h:var(--bordo);--ico-fg-h:var(--cream)}
.btn-bordo{background:var(--bordo);color:var(--cream);--ico-bg:var(--cream);--ico-fg:var(--bordo);--ico-bg-h:var(--accent);--ico-fg-h:var(--bordo)}
.btn-bordo:hover,.btn-bordo:focus-visible{background:#5E1526}
.btn-dark{background:var(--bg);color:var(--accent);--ico-bg:var(--accent);--ico-fg:var(--bg);--ico-bg-h:var(--cream);--ico-fg-h:var(--bordo)}
.btn-ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px rgba(244,235,227,.35);--ico-bg:var(--cream);--ico-fg:var(--bg);--ico-bg-h:var(--accent);--ico-fg-h:var(--bordo);height:52px;padding-left:22px;font-weight:400;font-size:14px}
.btn-ghost .btn-ico{width:34px;height:34px}

/* ---------- navegação ---------- */
.nav{position:fixed;left:0;right:0;top:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--m);transition:transform .6s var(--ease),background-color .5s}
.nav.is-solid{background:rgba(18,3,6,.94)}
.nav.is-hidden{transform:translateY(-100%)}
.brand{display:block;flex:none;line-height:0;transition:transform .6s var(--ease)}
.brand img{height:70px;width:auto}
.brand:hover{transform:scale(1.04)}
.brand-mark{display:none}
.nav-links{display:flex;gap:30px;font-size:15px;font-weight:300}
.nav-links a{position:relative;padding:6px 0;color:#E6D8CD;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after,.nav-links a.is-active::after{transform:scaleX(1);transform-origin:left}
.nav-actions{display:flex;align-items:center;gap:12px}
.menu-btn{display:none;width:52px;height:52px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(244,235,227,.35);place-items:center;position:relative;z-index:110}
.menu-btn span{position:absolute;left:16px;right:16px;height:1px;background:var(--text);transition:transform .5s var(--ease),opacity .3s}
.menu-btn span:nth-child(1){transform:translateY(-6px)}
.menu-btn span:nth-child(3){transform:translateY(6px)}
.menu-open .menu-btn span:nth-child(1){transform:rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){opacity:0}
.menu-open .menu-btn span:nth-child(3){transform:rotate(-45deg)}
@media (max-width:1100px){.nav-links{display:none}.menu-btn{display:grid}}
@media (max-width:640px){.nav .btn-ghost{display:none}.brand img{height:52px}:root{--nav-h:72px}}

/* menu móvel */
.menu{position:fixed;inset:0;z-index:99;background:var(--ink-0);padding:calc(var(--nav-h) + 32px) var(--m) 40px;display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .8s var(--ease),visibility 0s .8s}
.menu-open .menu{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .8s var(--ease),visibility 0s}
.menu ul{display:flex;flex-direction:column;gap:6px}
.menu li{overflow:hidden}
.menu li a{display:block;font-family:var(--font-display);font-size:clamp(38px,10vw,64px);line-height:1.15;transform:translateY(105%);transition:transform .8s var(--ease),color .3s}
.menu-open .menu li a{transform:none}
.menu li:nth-child(2) a{transition-delay:.05s}.menu li:nth-child(3) a{transition-delay:.1s}.menu li:nth-child(4) a{transition-delay:.15s}.menu li:nth-child(5) a{transition-delay:.2s}.menu li:nth-child(6) a{transition-delay:.25s}
.menu li a:hover{color:var(--accent)}
.menu .btn{align-self:flex-start}
body.menu-open{overflow:hidden}
.menu-open .nav{background:transparent;transform:none}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;min-height:max(100svh,760px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--wine)}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 45%}
#hero-gl{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s}
.gl-hero #hero-gl{opacity:1}
.gl-hero .hero{background:transparent}
.gl-hero .hero-img{visibility:hidden}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,3,6,.78) 0%,rgba(18,3,6,.45) 38%,rgba(18,3,6,0) 62%),linear-gradient(0deg,rgba(18,3,6,.85) 0%,rgba(18,3,6,0) 32%);pointer-events:none}
.hero-main{position:relative;z-index:2;padding:calc(var(--nav-h) + 40px) var(--m) 0;max-width:min(900px,64vw)}
.tag{position:relative;display:inline-flex;align-items:center;gap:12px;margin:0 0 26px;padding:11px 20px 11px 14px;border-radius:999px;background:rgba(255,222,231,.1);box-shadow:inset 0 0 0 1px rgba(255,222,231,.28);overflow:hidden;isolation:isolate}
.tag-t{font-size:13px;font-weight:400;letter-spacing:.2em;color:var(--cream)}
.tag-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}
.tag-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:wa 2.4s var(--ease) infinite}
.hero h1{font-size:var(--fs-display);line-height:.98;letter-spacing:-.02em}
.hero-rule{display:block;width:72px;height:2px;background:var(--accent);margin:28px 0 22px;transform-origin:left}
.hero-sub{font-size:var(--fs-lead);line-height:1.55;max-width:44ch;color:var(--text)}
.hero-cta{margin-top:32px}
.hero-badge{position:absolute;z-index:2;right:clamp(24px,9vw,150px);top:30%;width:150px;height:150px}
.hero-badge > svg{width:100%;height:100%;animation:spin 24s linear infinite}
.hero-badge text{font-family:var(--font-text);font-size:13.5px;font-weight:400;letter-spacing:.08em;fill:var(--text)}
.hero-badge::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--accent)}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-features{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(40px,5vh,72px);background:rgba(18,3,6,.72)}
.hero-feature{position:relative;padding:32px var(--m) 36px;overflow:hidden}
.hero-feature:nth-child(3){background:rgba(58,10,16,.45)}
.hero-feature::before{content:"";position:absolute;inset:0;background:var(--bordo);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease);z-index:-1}
.hero-feature:hover::before,.hero-feature.is-focus::before{transform:none}
.hero-feature .hf-num{display:block;font-size:var(--fs-small);color:var(--accent);margin-bottom:12px;font-variant-numeric:tabular-nums}
.hero-feature h2{font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.7vw,26px);line-height:1.22;color:#F7EFE8;max-width:24ch}
.scroll-cue{position:absolute;z-index:2;left:50%;bottom:calc(100% + 24px);width:1px;height:56px;background:rgba(255,222,231,.25);overflow:hidden}
.scroll-cue::after{content:"";position:absolute;left:0;top:0;width:100%;height:40%;background:var(--accent);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(-100%)}100%{transform:translateY(250%)}}

@media (max-width:900px){
  .hero{min-height:100svh}
  .hero-img{object-position:50% 22%}
  .hero-scrim{background:linear-gradient(0deg,rgba(18,3,6,.96) 0%,rgba(18,3,6,.82) 42%,rgba(18,3,6,.1) 72%)}
  .hero-main{max-width:none;padding-top:38vh}
  .hero-badge{width:108px;height:108px;top:calc(var(--nav-h) + 24px);right:var(--m)}
  .hero-features{display:flex;flex-direction:column;gap:0;margin:40px 0 0;background:transparent}
  .hero-feature{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:18px var(--m);border-radius:0;background:rgba(255,222,231,.07);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);box-shadow:none;isolation:isolate}
  .hero-feature:nth-child(2){background:rgba(255,222,231,.12)}
  .hero-feature:nth-child(3){background:rgba(255,222,231,.07)}
  .hero-feature::before{opacity:.55}
  .hero-feature span{margin:0;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,222,231,.14);font-size:13px}
  .hero-feature h2{font-size:18px;max-width:none}
  .scroll-cue{display:none}
}
@media (max-width:640px){.tag{padding:9px 14px 9px 12px;gap:10px;margin-bottom:20px}.tag-t{font-size:12px;letter-spacing:.14em}.hero-main{padding-top:30vh}.hero-rule{margin:24px 0 20px}.hero-cta{margin-top:28px}}

/* =========================================================
   SEÇÕES escuras: fundo sólido sem WebGL; transparente com a seda
   ========================================================= */
.sec{position:relative;padding:var(--gap-section) 0}
.sec-dark{background:var(--bg)}
.gl .sec-dark{background:transparent}

/* ---------- RESULTADOS (galeria horizontal fixada) ---------- */
.ba{padding-top:clamp(72px,8vw,120px);padding-bottom:calc(var(--gap-section) * .6)}
.ba-pin{display:flex;flex-direction:column;justify-content:center;gap:clamp(28px,3.5vh,48px);min-height:100svh;padding-top:calc(var(--nav-h) + 8px)}
.ba-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px 48px;padding:0 var(--m)}
.ba-head .eyebrow{grid-column:1/-1;margin-bottom:-8px}
.ba-head .display{font-size:clamp(36px,4vw,62px);max-width:22ch}
.ba-side{display:flex;flex-direction:column;align-items:flex-end;gap:24px}

.ba-meter{width:min(240px,100%);height:2px;background:rgba(255,222,231,.18);overflow:hidden}
.ba-meter span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.ba-viewport{overflow:hidden;padding:8px 0 24px}
.ba-track{display:flex;gap:clamp(16px,1.8vw,28px);padding:0 var(--m);width:max-content}
.ba-card{width:clamp(250px,min(22vw,36vh),360px);flex:none}
.ba-card:nth-child(even){margin-top:clamp(16px,4vh,48px)}
.ba-slider{position:relative;aspect-ratio:4/5;overflow:hidden;user-select:none;touch-action:pan-y;background:var(--bg-3)}
.ba-slider > div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.ba-before{background:var(--bg-3)}
.ba-after{background:#4A1220;clip-path:inset(0 0 0 50%)}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}
.ba-tag{position:absolute;top:16px;z-index:3;font-size:13px;letter-spacing:.2em;padding:7px 12px;border-radius:999px;pointer-events:none}
.ba-tag.l{left:16px;background:rgba(18,3,6,.7);color:var(--text)}
.ba-tag.r{right:16px;background:var(--accent);color:var(--bg)}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;z-index:3;width:0;pointer-events:none}
.ba-handle::before{content:"";position:absolute;top:0;bottom:0;left:-.5px;width:1px;background:var(--cream)}
.ba-knob{position:absolute;top:50%;left:0;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--cream);color:var(--bg);display:grid;place-items:center;transition:transform .4s var(--ease)}
.ba-knob svg{width:20px;height:20px}
.ba-slider:hover .ba-knob,.ba-slider.is-active .ba-knob{transform:scale(1.14)}
.ba-hint{position:absolute;left:50%;bottom:18px;z-index:3;transform:translateX(-50%);font-size:13px;white-space:nowrap;padding:8px 14px;border-radius:999px;background:rgba(18,3,6,.75);color:var(--text);pointer-events:none;transition:opacity .4s}
.ba-range{position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.ba-range:focus-visible + .ba-focus{outline:2px solid var(--accent);outline-offset:-2px}
.ba-focus{position:absolute;inset:0;z-index:5;pointer-events:none}
@media (max-width:1023px){
  .ba-pin{min-height:0;padding-top:0;gap:36px}
  .ba-head{grid-template-columns:1fr}
  .ba-side{display:none}
  .ba-mobile-cta{display:flex !important;padding:40px var(--m) 0}
  .ba-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .motion .ba-viewport{overflow:hidden;scroll-snap-type:none}
  .motion .ba-pin{min-height:100svh;padding-top:calc(var(--nav-h) + 4px);justify-content:center;gap:24px}
  .motion .ba-card{width:min(76vw, calc((100svh - 300px) * .8));scroll-snap-align:none}
  .motion .ba-card:nth-child(even){margin-top:24px}
  .motion .ba-side{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%}
  .motion .ba-side .btn{display:none}
  .motion .ba-meter{display:block;width:100%}
  .motion .ba-head{gap:14px}
  .ba-viewport::-webkit-scrollbar{display:none}
  .ba-card{width:min(78vw,340px);scroll-snap-align:start}
  .ba-card:nth-child(even){margin-top:0}
  .ba-meter{display:none}
}
.ba-mobile-cta{display:none}

/* ---------- TRATAMENTOS (painéis empilhados) ---------- */
.tr-head{margin-bottom:clamp(56px,7vw,96px)}
.tr-head .display{font-size:var(--fs-h2);max-width:24ch}
.tr-stack{display:flex;flex-direction:column;gap:clamp(40px,6vh,72px)}
.tr-panel{position:sticky;top:calc(var(--nav-h) + 3vh);display:grid;grid-template-columns:5fr 7fr;min-height:min(70vh,640px);background:var(--bg-2);transform-origin:50% 0;overflow:hidden}
.tr-panel:nth-child(2){background:var(--bg-3)}
.tr-panel .shade{position:absolute;inset:0;background:var(--ink-0);opacity:0;pointer-events:none;z-index:4}
.tr-fig{position:relative;overflow:hidden;min-height:340px}
.tr-fig img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.tr-body{display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(28px,4vw,64px)}
.tr-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:18px 0 0}
.tr-meta .k{font-size:13px;letter-spacing:.22em;color:var(--accent)}
.tr-meta .f{font-size:14px;padding:6px 14px;border-radius:999px;background:rgba(255,222,231,.1);color:var(--text)}
.tr-body h3{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,3.6vw,56px);line-height:1.02;letter-spacing:-.015em;color:#F7EFE8}
.tr-list{display:flex;flex-direction:column;gap:16px;margin-top:32px}
.tr-list li{display:grid;grid-template-columns:26px 1fr;gap:14px;align-items:start;font-size:var(--fs-body);line-height:1.5}
.tr-list svg{width:22px;height:22px;margin-top:1px;color:var(--accent)}
.tr-list svg path{stroke-dasharray:24;stroke-dashoffset:0}
.tr-result{background:rgba(255,222,231,.08);padding:24px 28px;transition:background-color .5s}
.tr-panel:hover .tr-result,.tr-panel.is-focus .tr-result{background:rgba(255,222,231,.14)}
.tr-result span{display:block;font-size:13px;letter-spacing:.22em;color:var(--accent);margin-bottom:8px}
.tr-result p{font-family:var(--font-display);font-size:clamp(21px,1.8vw,27px);line-height:1.25;color:#F7EFE8}
.tr-cta{margin-top:clamp(48px,6vw,80px)}
@media (max-width:900px){
  .tr-head{grid-template-columns:1fr}
  .tr-panel{position:relative;top:0;grid-template-columns:1fr;min-height:0}
  .motion .tr-panel{position:sticky;top:var(--stick,calc(var(--nav-h) + 12px))}
  .tr-fig{aspect-ratio:16/10;min-height:0}
  .tr-body{gap:28px}
  .tr-list{margin-top:22px;gap:12px}
}

/* ---------- BENEFÍCIOS ---------- */
.bn-intro{max-width:1240px}
.bn-ask{font-size:var(--fs-lead);color:var(--text);margin-bottom:28px}
.bn-quote{position:relative}
.bn-mark{position:absolute;left:-.08em;top:-.42em;font-family:var(--font-display);font-size:clamp(120px,14vw,220px);line-height:1;color:var(--bordo);opacity:.55;pointer-events:none}
.bn-title{position:relative;font-size:var(--fs-h2);line-height:1.08}
.bn-chip{display:inline-block;width:1.9em;height:.92em;vertical-align:-.1em;margin:0 .12em;border-radius:999px;overflow:hidden;position:relative}
.bn-chip img{width:100%;height:100%;object-fit:cover;transform:scale(1.25);transition:transform 1.2s var(--ease)}
.bn-chip:hover img{transform:scale(1)}
.bn-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(72px,9vw,128px);background:rgba(18,3,6,.55)}
.bn-item{position:relative;padding:40px clamp(22px,2.4vw,36px) 44px;min-height:340px;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
.bn-item:nth-child(even){background:rgba(42,11,17,.5)}
.bn-item::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg-3);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease)}
.bn-item:hover::before,.bn-item.is-focus::before{transform:none}
.bn-num{font-family:var(--font-display);font-size:clamp(48px,4.4vw,72px);line-height:1;color:var(--accent);opacity:.9;margin-bottom:auto;padding-bottom:48px;font-variant-numeric:tabular-nums;transition:transform .7s var(--ease)}
.bn-item:hover .bn-num,.bn-item.is-focus .bn-num{transform:translateY(-6px)}
.bn-item h3{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,1.8vw,27px);line-height:1.18;color:#F7EFE8;margin-bottom:14px}
.bn-item p{font-size:16px;line-height:1.55;color:var(--text)}
.bn-cta{margin-top:clamp(48px,6vw,80px)}
@media (max-width:1100px){.bn-grid{grid-template-columns:1fr 1fr}.bn-item:nth-child(even){background:transparent}.bn-item:nth-child(2),.bn-item:nth-child(3){background:rgba(42,11,17,.5)}}
@media (max-width:640px){.bn-grid{grid-template-columns:1fr}.bn-item{min-height:0;padding:28px 22px 32px}.bn-item:nth-child(n){background:transparent}.bn-item:nth-child(even){background:rgba(42,11,17,.5)}.bn-num{padding-bottom:24px;font-size:44px}}

/* ---------- DEPOIMENTOS (claro, tiras de papel) ---------- */
.tm{background:var(--cream);color:var(--ink-dark);overflow:hidden}
.gl .tm{background:var(--cream)}
.tm .eyebrow{color:var(--bordo)}
.tm .display{color:var(--ink-dark)}
.tm .display em{color:var(--bordo)}
.tm-head{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:end;margin-bottom:clamp(56px,7vw,96px)}
.tm-head .display{font-size:var(--fs-h2)}
.tm-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tm-stat{background:#EFE3D9;padding:26px 26px 24px;display:flex;flex-direction:column;gap:10px;transition:background-color .5s,transform .6s var(--ease)}
.tm-stat:hover,.tm-stat.is-focus{background:#EBDCD0;transform:translateY(-4px)}
.tm-stat b{font-family:var(--font-display);font-weight:400;font-size:clamp(44px,4.2vw,64px);line-height:1;color:var(--bordo);font-variant-numeric:tabular-nums}
.tm-stat .lbl{font-size:15px;line-height:1.4;color:var(--ink-dark);display:flex;flex-direction:column;gap:6px}
.stars{display:flex;gap:3px;color:var(--bordo)}
.stars svg{width:15px;height:15px}
.tm-viewport{position:relative;padding:20px 0 72px;cursor:grab;touch-action:pan-y}
.tm-viewport.is-drag{cursor:grabbing}
.tm-viewport.is-drag .tm-card{pointer-events:none}
.tm-track{display:flex;align-items:stretch;gap:24px;padding:0 var(--m);width:max-content;will-change:transform}
.no-js .tm-viewport,.tm-viewport.static{overflow-x:auto}
.tm-card{position:relative;flex:none;display:flex;flex-direction:column;width:clamp(290px,27vw,390px);background:#FFFCF9;color:var(--ink-dark);padding:30px 30px 28px;border-radius:22px;transition:transform .7s var(--ease),background-color .5s}
.tm-card:hover,.tm-card.is-focus{transform:translateY(-8px);background:#fff}
.tm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.tm-qb{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--bordo);color:var(--cream);transition:transform .7s var(--ease)}
.tm-qb svg{width:20px;height:20px}
.tm-card:hover .tm-qb,.tm-card.is-focus .tm-qb{transform:rotate(-12deg) scale(1.06)}
.tm-card h3{font-family:var(--font-display);font-weight:400;font-size:23px;line-height:1.25;color:var(--ink-dark);margin-bottom:14px}
.tm-text{position:relative;overflow:hidden}
.tm-card.is-long .tm-text{max-height:calc(16px * 1.6 * 7)}
.tm-card.is-long .tm-text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(rgba(255,252,249,0),#FFFCF9);transition:opacity .4s}
.tm-card.is-open .tm-text::after{opacity:0}
.tm-card:hover .tm-text::after{background:linear-gradient(rgba(255,255,255,0),#fff)}
.tm-text p{font-size:16px;line-height:1.6;color:#3A1A20;white-space:pre-line}
.tm-more{display:grid;place-items:center;width:40px;height:40px;margin-top:14px;border-radius:50%;background:rgba(138,42,63,.1);color:var(--bordo);transition:transform .6s var(--ease),background-color .3s}
.tm-more svg{width:18px;height:18px}
.tm-more:hover{background:rgba(138,42,63,.18)}
.tm-card.is-open .tm-more{transform:rotate(45deg)}
.tm-who{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:24px}
.tm-av{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#EFE3D9;color:var(--bordo);font-family:var(--font-display);font-size:19px;flex:none}
.tm-who b{display:block;font-weight:500;font-size:15px}
.tm-who small{font-size:14px;color:#6B4A50}
@media (max-width:640px){.tm-card{width:82vw;padding:26px 24px 24px}.tm-card.is-long .tm-text{max-height:calc(16px * 1.6 * 8)}}
.tm-cta{padding:0 var(--m)}
@media (max-width:900px){.tm-head{grid-template-columns:1fr}.tm-stats{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.tm-stats{grid-template-columns:1fr}}

/* ---------- SOBRE ---------- */
.au-layout{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,6vw,112px);align-items:start}
.au-photo{position:sticky;top:calc(var(--nav-h) + 4vh)}
.au-frame{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg-3)}
.au-frame{aspect-ratio:903/1209}
.au-frame-in{position:absolute;inset:0}
.au-frame-in img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform 1.4s var(--ease)}

.au-mono{font-family:var(--font-display);font-style:italic;font-size:clamp(180px,22vw,340px);line-height:.8;color:var(--bordo);opacity:.65}
.au-ph{font-size:14px;letter-spacing:.16em;color:rgba(244,235,227,.6)}
.au-cap{display:flex;flex-direction:column;gap:4px;padding-top:20px}
.au-cap .n{font-family:var(--font-display);font-size:26px;color:#F7EFE8}
.au-cap .r{font-size:15px;color:var(--text-2)}
.au-body .display{font-size:var(--fs-h2)}
.au-text{display:flex;flex-direction:column;gap:20px;margin-top:36px}
.au-text p{font-size:var(--fs-lead);line-height:1.6;max-width:52ch}
.au-acc-wrap{margin-top:56px}
.au-acc-label{font-size:13px;letter-spacing:.22em;color:var(--accent);margin-bottom:16px}
.acc{background:rgba(255,222,231,.06);margin-bottom:10px;transition:background-color .4s}
.acc[open],.acc:hover{background:rgba(255,222,231,.11)}
.acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;cursor:pointer}
.acc summary::-webkit-details-marker{display:none}
.acc-t{display:flex;align-items:center;gap:16px;font-family:var(--font-display);font-size:clamp(20px,1.6vw,24px);color:#F7EFE8}
.acc-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--bg);flex:none}
.acc-ico svg{width:18px;height:18px}
.acc-chev{display:grid;place-items:center;width:36px;height:36px;flex:none;transition:transform .6s var(--ease)}
.acc-chev svg{width:18px;height:18px}
.acc[open] .acc-chev{transform:rotate(45deg)}
.acc-body{overflow:hidden}
.acc-body p{padding:0 24px 24px 78px;font-size:16px;line-height:1.6;max-width:60ch}
.acc-body strong{font-weight:500;color:var(--accent)}
.au-cta{margin-top:44px}
@media (max-width:900px){.au-layout{grid-template-columns:1fr}.au-photo{position:relative;top:0;max-width:520px}.acc-body p{padding-left:24px}}

/* ---------- FAQ (fichas empilhadas) ---------- */
.fq{background:var(--bg-2)}
.gl .fq{background:rgba(33,8,16,.82)}
.fq-layout{display:grid;grid-template-columns:4fr 7fr;gap:clamp(40px,6vw,112px);align-items:start}
.fq-side{position:sticky;top:calc(var(--nav-h) + 6vh)}
.fq-side .display{font-size:var(--fs-h2)}
.fq-side p{margin-top:24px;font-size:var(--fs-lead);max-width:34ch}
.fq-side .btn{margin-top:40px}
.fq-list{display:flex;flex-direction:column}
.fq-item{--c:var(--bg-3);position:relative;background:var(--c);margin-top:-14px;padding-top:14px;transition:background-color .45s var(--ease)}
.fq-item:first-child{margin-top:0}
.fq-item:nth-child(3n+2){--c:#33101A}
.fq-item:nth-child(3n){--c:#3E1420}
.fq-item:not([open]):hover{background:color-mix(in srgb,var(--c) 82%,var(--bordo))}
.fq-item[open]{background:var(--accent);color:var(--bg);transform:none}
.fq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px clamp(22px,2.6vw,40px) 30px;cursor:pointer}
.fq-item summary::-webkit-details-marker{display:none}
.fq-q{font-family:var(--font-display);font-size:clamp(21px,1.75vw,27px);line-height:1.25;color:#F7EFE8;transition:color .4s var(--ease)}
.fq-item:not([open]):hover .fq-q{color:var(--accent)}
.fq-item[open] .fq-q{color:var(--bg)}
.fq-icon{--spring:cubic-bezier(.34,1.56,.64,1);position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(244,235,227,.3);color:var(--text);transition:background-color .45s var(--ease),box-shadow .45s var(--ease),color .45s var(--ease),transform .5s var(--spring)}
.fq-icon::after{content:"";position:absolute;inset:-1px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--accent);opacity:0;transform:scale(1);pointer-events:none}
.fq-icon svg{width:18px;height:18px;transition:transform .6s var(--spring)}
.fq-icon path{transform-origin:12px 12px;transition:transform .55s var(--spring),opacity .3s}
/* hover: preenche, gira o "+" e solta um anel */
.fq-item:not([open]) summary:hover .fq-icon{background:var(--accent);color:var(--bordo);box-shadow:inset 0 0 0 1px var(--accent)}
.fq-item:not([open]) summary:hover .fq-icon svg{transform:rotate(90deg)}
.fq-item:not([open]) summary:hover .fq-icon::after{animation:fqRing .9s var(--ease)}
@keyframes fqRing{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.55)}}
/* clique: afunda levemente */
.fq-item summary:active .fq-icon{transform:scale(.88)}
.fq-item summary:focus-visible{outline:none}
.fq-item summary:focus-visible .fq-icon{box-shadow:0 0 0 3px var(--accent)}
/* aberto: vira "−" num círculo escuro */
.fq-item[open] .fq-icon{background:var(--bg);color:var(--accent);box-shadow:none}
.fq-item[open] .fq-icon .v{transform:scaleY(0);opacity:0}
.fq-item[open] .fq-icon svg{transform:rotate(180deg)}
.fq-item[open] summary:hover .fq-icon{background:var(--bordo);color:var(--cream)}
.fq-body{overflow:hidden}
.fq-body p{padding:0 clamp(22px,2.6vw,40px) 36px;font-size:var(--fs-lead);line-height:1.6;max-width:56ch;color:var(--bg)}
@media (max-width:900px){.fq-layout{grid-template-columns:1fr}.fq-side{position:relative;top:0}}

/* ---------- CONTATO (cupom) ---------- */
.ad{padding-bottom:calc(var(--gap-section) * .8)}
.coupon{--cut:58%;position:relative;display:grid;grid-template-columns:var(--cut) 1fr;background:var(--accent);color:var(--bg);
  -webkit-mask:radial-gradient(circle 18px at var(--cut) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 18px at var(--cut) 100%,#0000 97%,#000) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle 18px at var(--cut) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 18px at var(--cut) 100%,#0000 97%,#000) bottom/100% 51% no-repeat}
.coupon::after{content:"";position:absolute;top:30px;bottom:30px;left:var(--cut);width:0;border-left:4px dotted rgba(26,4,8,.35);transform:translateX(-2px)}
.cp-left{padding:clamp(32px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.coupon .eyebrow{color:var(--bordo)}
.coupon .display{font-size:clamp(32px,3.2vw,50px);color:var(--bg)}
.coupon .display em{color:var(--bordo)}
.cp-mono{width:clamp(120px,13vw,200px);height:auto;opacity:.2;align-self:flex-end;user-select:none;pointer-events:none}
.cp-right{padding:clamp(32px,4vw,64px) clamp(28px,4vw,64px)}
.fm{display:flex;flex-direction:column;gap:18px}
.fm-field{display:flex;flex-direction:column;gap:8px}
.fm-field label{font-size:14px;font-weight:500;color:var(--bg)}
.fm-input{position:relative;height:58px;padding:0 18px;border:0;border-radius:0;background:#FFF1F5;color:var(--bg);font:400 17px/1 var(--font-text);box-shadow:inset 0 -2px 0 rgba(138,42,63,.25);transition:box-shadow .4s var(--ease),background-color .4s}
.fm-input::placeholder{color:#8E6A72}
.fm-input:hover{background:#FFF7F9}
.fm-input:focus{outline:none;background:#fff;box-shadow:inset 0 -3px 0 var(--bordo)}
.fm .btn{justify-content:space-between;height:62px;margin-top:10px;width:100%}
.fm-success{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:12px}
.fm-success .ok{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--bg);color:var(--accent);margin-bottom:12px}
.fm-success .ok svg{width:28px;height:28px}
.fm-success .ok path{stroke-dasharray:30;stroke-dashoffset:30;animation:draw .9s .2s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.fm-success p:first-of-type{font-family:var(--font-display);font-size:34px;line-height:1.1}
.fm-success p{font-size:var(--fs-lead);max-width:34ch}
.ad-place{display:grid;grid-template-columns:7fr 5fr;margin-top:clamp(20px,2vw,28px);background:var(--bg-2)}
.gl .ad-place{background:rgba(33,8,16,.85)}
.ad-map{position:relative;min-height:320px;overflow:hidden;background:var(--bg-3)}
.ad-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) contrast(.9) brightness(.95)}
.map-tint{position:absolute;inset:0;background:var(--bordo);mix-blend-mode:multiply;opacity:.55;pointer-events:none}
@supports not (mix-blend-mode:multiply){.map-tint{display:none}}
.ad-addr{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center}
.ad-addr .eyebrow{margin-bottom:22px}
.ad-addr-row{display:flex;gap:16px;align-items:flex-start}
.ad-addr-row .acc-ico{margin-top:2px}
address{font-style:normal;font-size:var(--fs-lead);line-height:1.6;color:var(--text)}
@media (max-width:900px){
  .coupon{--cy:320px;grid-template-columns:1fr;
    -webkit-mask:radial-gradient(circle 16px at 0 var(--cy),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 16px at 100% var(--cy),#0000 97%,#000) right/51% 100% no-repeat;
            mask:radial-gradient(circle 16px at 0 var(--cy),#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 16px at 100% var(--cy),#0000 97%,#000) right/51% 100% no-repeat}
  .coupon::after{top:var(--cy);bottom:auto;left:28px;right:28px;width:auto;height:0;border-left:0;border-top:4px dotted rgba(26,4,8,.35);transform:translateY(-2px)}
  .cp-left{gap:28px;padding:36px 26px 40px;flex-direction:row;align-items:flex-end}
  .cp-mono{width:78px;flex:none;opacity:.25}
  .cp-right{padding:40px 26px 32px}
  .ad-place{grid-template-columns:1fr}
  .ad-map{min-height:300px}
}
@media (max-width:420px){.cp-left{flex-direction:column;align-items:flex-start}.cp-mono{display:none}}

/* ---------- RODAPÉ ---------- */
.ft{position:relative;z-index:1;background:var(--ink-0);padding:clamp(56px,6vw,96px) var(--m) 32px;overflow:hidden}
.ft-logo{display:flex;justify-content:center;margin:0 0 56px}
.ft-logo img{width:clamp(200px,30vw,420px);height:auto}
.ft-base{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-right:84px}
.ft-base p{font-size:14px;color:var(--text-2)}
.ft-top-btn{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--bg);transition:transform .5s var(--ease)}
.ft-top-btn:hover{transform:translateY(-4px)}
.ft-top-btn svg{width:18px;height:18px;transform:rotate(-90deg)}

/* ---------- WhatsApp ---------- */
.wa{position:fixed;right:28px;bottom:28px;z-index:95;width:62px;height:62px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;transition:transform .5s var(--ease)}
.wa svg{position:relative;width:28px;height:28px}
.wa:hover{transform:scale(1.08)}
.wa-pulse{position:absolute;inset:0;border-radius:50%;background:#25D366;animation:wa 2.6s var(--ease) infinite}
@media (max-width:640px){.wa{right:16px;bottom:16px;width:56px;height:56px}}

/* ---------- títulos divididos em palavras (JS) ---------- */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .14em .1em;margin:0 -.14em -.1em}
.w > span{display:inline-block;will-change:transform}

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .grain{display:none}
  .hero-badge svg{animation:none}
}

@media (max-width:640px){:root{--fs-h2:clamp(30px,8.4vw,40px)}.ba-head .display{font-size:var(--fs-h2)}}
@media (min-width:1101px){.menu{display:none}}

/* ---------- toque: onda nos botões e estados ---------- */
.tap-ripple{position:absolute;border-radius:50%;background:currentColor;pointer-events:none;z-index:0}
.fq-item summary,.acc summary{position:relative;overflow:hidden}
.tm-more{position:relative;overflow:hidden}
.tm-card.is-open .tm-text{max-height:none}

/* hero no desktop: conteúdo centralizado na altura da tela */
@media (min-width:901px){
  .hero{justify-content:flex-start}
  .hero-main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:calc(var(--nav-h) + 24px);padding-bottom:24px}
  .hero-features{margin-top:0}
}
@media (max-width:640px){.brand img{height:56px}}
@media (max-width:400px){.tag-t{font-size:11.5px;letter-spacing:.05em}.tag{padding:9px 13px 9px 11px;gap:8px}}

/* dúvidas: no celular o CTA vem depois das perguntas */
.fq-cta-m{display:none;margin-top:36px}
@media (max-width:900px){.fq-side .fq-cta-d{display:none}.fq-cta-m{display:block}}

/* hero no celular/tablet: foto livre em cima, gradiente embaixo, conteúdo abaixo do rosto */
@media (max-width:900px){
  .hero{min-height:0;justify-content:flex-start;background:var(--ink-0)}
  .gl-hero .hero{background:transparent}
  .hero-media{bottom:auto;height:66svh}
  .hero-img{object-position:50% 22%}
  .hero-scrim{background:linear-gradient(180deg,rgba(18,3,6,.45) 0%,rgba(18,3,6,0) 20%,rgba(18,3,6,0) 46%,rgba(19,3,7,.78) 74%,#130307 100%)}
  .hero-main{padding-top:calc(66svh - 150px)}
  .hero h1{font-size:clamp(32px,8.6vw,44px)}
  .hero-rule{display:none}
  .hero-sub{margin-top:18px;font-size:16px}
  .hero-cta{margin-top:24px}
  .hero-badge{top:calc(var(--nav-h) + 12px)}
}

/* celular: emenda suave entre a hero e a seção com a seda */
@media (max-width:900px){
  .gl-hero .hero{background:#130307}
  .ba::before{content:"";position:absolute;left:0;right:0;top:0;height:min(42svh,320px);background:linear-gradient(180deg,#130307 0%,rgba(19,3,7,.85) 35%,rgba(19,3,7,0) 100%);pointer-events:none;z-index:0}
  .ba-pin{position:relative;z-index:1}
}
/* celular: selo menor no canto, fora do rosto da modelo */

/* reflexo na tag da hero */
.tag::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,222,231,.22),transparent);transform:translateX(-120%);animation:shine 5.5s 2s var(--ease) infinite}
@keyframes shine{0%{transform:translateX(-120%)}35%,100%{transform:translateX(300%)}}

/* ===== celular/tablet (≤900px): hero ===== */
@media (max-width:900px){
  .menu-btn,.nav .btn-ghost{display:none !important}
  .hero-badge{width:90px;height:90px;top:calc((var(--nav-h) - 60px) / 2);right:var(--m);z-index:101}
  .hero-badge::after{width:6px;height:6px;margin:-3px}
  .nav{position:absolute;background:transparent !important;transform:none !important}
  .hero-scrim{bottom:-2px}
  .hero-main{text-align:center;align-items:center;display:flex;flex-direction:column}
  .hero h1,.hero-sub{margin-left:auto;margin-right:auto}
  .hero-sub{max-width:36ch}
  .hero-cta{width:100%}
  .tag{padding:7px 14px 7px 11px;gap:8px;margin-bottom:16px}
  .tag-t{font-size:9.5px;letter-spacing:.14em}
  .tag-dot{width:6px;height:6px}
  /* gradiente mais longo e suave: a foto some sem vazar atrás do texto */
  .hero-scrim{background:linear-gradient(180deg,rgba(19,3,7,.4) 0%,rgba(19,3,7,0) 16%,rgba(19,3,7,0) 34%,rgba(19,3,7,.18) 44%,rgba(19,3,7,.45) 54%,rgba(19,3,7,.72) 64%,rgba(19,3,7,.9) 74%,#130307 84%,#130307 100%)}
  /* WhatsApp só aparece depois da hero */
  .wa{transform:scale(0);opacity:0;pointer-events:none;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .3s}
  .wa.is-on{transform:scale(1);opacity:1;pointer-events:auto}
}
@media (max-width:400px){.tag-t{font-size:9px;letter-spacing:.1em}}

/* ===== celular: botões de ponta a ponta ===== */
@media (max-width:640px){
  /* texto centralizado com compensação ótica de 12px para o peso do círculo da seta */
  .btn{display:flex;width:100%;justify-content:center;padding:0 70px 0 46px}
  .btn .btn-ico{position:absolute;right:9px;top:50%;margin-top:-20px}
  .btn-ghost .btn-ico{margin-top:-17px}
  .fm .btn{justify-content:center}
}
@media (max-width:640px){.hero-badge{width:84px;height:84px;top:calc((var(--nav-h) - 56px) / 2)}}

/* diferenciais: ícone no lugar do número em todas as telas */
.hero-feature .hf-num{display:none}
.hf-ico{display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;border-radius:50%;background:rgba(255,222,231,.14);color:var(--accent);transition:background-color .6s var(--ease),color .6s var(--ease),transform .7s cubic-bezier(.34,1.56,.64,1)}
.hf-ico svg{width:24px;height:24px}
.hero-feature:hover .hf-ico,.hero-feature.is-focus .hf-ico{background:var(--accent);color:var(--bordo);transform:scale(1.06)}
/* ===== celular/tablet: diferenciais centralizados com ícone ===== */
@media (max-width:900px){
  .hero-features{margin-top:28px}
  .hero-feature{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:30px var(--m) 32px;min-height:clamp(150px,22svh,190px)}
  .hero-feature .hf-num{display:none}
  .hf-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(255,222,231,.14);color:var(--accent);transition:background-color .6s var(--ease),color .6s var(--ease),transform .7s cubic-bezier(.34,1.56,.64,1)}
  .hf-ico svg{width:24px;height:24px}
  .hero-feature.is-focus .hf-ico{background:var(--accent);color:var(--bordo);transform:scale(1.06)}
  .hero-feature h2{font-size:19px;max-width:24ch;margin:0 auto}
  /* antes e depois: sem espaço vazio antes do título; o bloco trava centralizado na tela */
  .ba{padding-top:clamp(40px,7svh,64px)}
  .motion .ba-pin{min-height:0;padding-top:0}
}

/* antes e depois: rótulos somem conforme o lado que domina a foto */
.ba-tag{transition:opacity .35s var(--ease),transform .45s var(--ease)}
.ba-slider.show-before .ba-tag.r{opacity:0;transform:translateY(-8px)}
.ba-slider.show-after .ba-tag.l{opacity:0;transform:translateY(-8px)}

/* diferenciais no celular dentro das margens da página */
@media (max-width:900px){.hero-features{margin:28px var(--m) 0}}

/* antes e depois: rótulos menores no celular */
@media (max-width:640px){.ba-tag{font-size:10px;letter-spacing:.16em;padding:5px 9px;top:12px}.ba-tag.l{left:12px}.ba-tag.r{right:12px}}

/* rodapé no celular: centralizado, "Desenvolvido pela..." em linha própria */
@media (max-width:640px){
  .ft-base{flex-direction:column;justify-content:center;text-align:center;padding-right:0;gap:24px}
  .ft-base p{line-height:1.7}
  .ft-sep{display:none}
  .ft-dev{display:block}
}
@media (max-width:900px){.hf-ico{margin-bottom:0}}

/* sobre no celular: tag e título acima da foto */
@media (max-width:900px){
  .au-layout{gap:0}
  .au-body{display:contents}
  .au-body > .eyebrow{order:1}
  .au-body > .au-title{order:2}
  .au-photo{order:3;margin-top:32px}
  .au-body > .au-text{order:4}
  .au-body > .au-acc-wrap{order:5}
  .au-body > .au-cta{order:6}
}

/* =========================================================
   v3: hero nova, O Método, Experiência, formações, CTA final
   ========================================================= */

/* hero: cidade abaixo do botão */
.hero-city{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;letter-spacing:.02em;color:var(--text-2)}
.hero-city svg{width:16px;height:16px;color:var(--accent);flex:none}
@media (max-width:900px){.hero-city{justify-content:center;margin-top:14px}}

/* diferenciais: número/destaque grande + complemento */
.hero-feature h2 b{display:block;font-weight:400;font-size:clamp(28px,2.5vw,40px);line-height:1.05;color:var(--accent);margin-bottom:6px}
.hero-feature h2 span{display:block;font-family:var(--font-text);font-weight:300;font-size:16px;line-height:1.45;color:var(--text)}
@media (max-width:900px){.hero-feature h2 b{font-size:30px}.hero-feature h2 span{font-size:15px}}

/* ---------- EXPERIÊNCIA ---------- */
.bn-layout{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,6vw,104px);align-items:start}
.bn-head{position:sticky;top:calc(var(--nav-h) + 28px)}
.bn-h{font-size:var(--fs-h2)}
.bn-lead{margin-top:28px}
.bn-head .bn-cta{margin-top:40px}
.bn-list{display:flex;flex-direction:column}
.bn-exp{position:relative;display:grid;grid-template-columns:60px 1fr;gap:24px;padding:36px clamp(22px,2.6vw,40px);background:rgba(18,3,6,.55);overflow:hidden;isolation:isolate}
.bn-exp:nth-child(2){background:rgba(42,11,17,.7)}
.bn-exp::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg-3);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease)}
.bn-exp:hover::before,.bn-exp.is-focus::before{transform:none}
.bn-ico{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgba(255,222,231,.14);color:var(--accent);transition:background-color .6s var(--ease),color .6s var(--ease),transform .7s cubic-bezier(.34,1.56,.64,1)}
.bn-ico svg{width:26px;height:26px}
.bn-exp:hover .bn-ico,.bn-exp.is-focus .bn-ico{background:var(--accent);color:var(--bordo);transform:scale(1.06)}
.bn-exp h3{font-family:var(--font-display);font-weight:400;font-size:clamp(24px,2vw,30px);line-height:1.15;color:#F7EFE8;margin:8px 0 12px}
.bn-exp p{font-size:var(--fs-lead);line-height:1.6;color:var(--text)}
@media (max-width:900px){
  .bn-layout{grid-template-columns:1fr}
  .bn-head{position:relative;top:0}
  .bn-exp{grid-template-columns:1fr;gap:14px;padding:28px 22px}
  .bn-exp p{font-size:16px}
}

/* ---------- SOBRE: formações ---------- */
.au-frame{aspect-ratio:1000/1473}
.au-forms{display:flex;flex-direction:column;gap:10px;margin-top:44px;padding:0;list-style:none}
.au-forms li{display:grid;grid-template-columns:38px 1fr;gap:16px;align-items:start;padding:18px 22px;background:rgba(255,222,231,.06);transition:background-color .4s}
.au-forms li:hover{background:rgba(255,222,231,.11)}
.au-forms .k{display:block;font-size:12px;letter-spacing:.2em;color:var(--accent);margin-bottom:6px}
.au-forms p{font-family:var(--font-display);font-size:clamp(19px,1.5vw,22px);line-height:1.35;color:#F7EFE8}

/* ---------- RODAPÉ: CTA final ---------- */
.ft{padding-top:clamp(96px,11vw,168px)}
.ft-cta{max-width:920px;margin:0 auto clamp(72px,9vw,128px);text-align:center;display:flex;flex-direction:column;align-items:center}
.ft-title{font-size:clamp(38px,5vw,76px);line-height:1.04}
.ft-lead{margin:28px auto 0;max-width:52ch;text-align:center}
.ft-cta-btn{margin-top:40px}
@media (max-width:640px){.ft-cta-btn{width:100%}}
/* diferenciais: o texto complementar não herda o estilo antigo do círculo do número */
.hero-feature h2 span{width:auto;height:auto;border-radius:0;background:none;place-items:initial;margin:0}
/* hero desktop: "ninguém percebe, só elogia." numa linha própria */
@media (min-width:901px){.hero h1 em{display:block;white-space:nowrap}}
@media (min-width:901px){.hero-badge{right:clamp(20px,2.6vw,48px);top:22%}}

/* =========================================================
   O MÉTODO (v4): leitura do rosto em cena fixada
   ========================================================= */
.mx{padding-bottom:calc(var(--gap-section) * .8)}
.mx-head{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,5vw,96px);align-items:end;margin-bottom:clamp(48px,6vw,88px)}
.mx-title{font-size:clamp(56px,8.6vw,140px);line-height:.9;letter-spacing:-.025em}
.mx-intro{max-width:52ch}

/* cena */
.mx-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,112px);align-items:center}
.motion .mx-stage{height:100vh;height:100svh;padding-top:calc(var(--nav-h) + 12px);padding-bottom:24px}
.mx-fig{position:relative;margin:0;aspect-ratio:4/5;max-height:calc(100svh - var(--nav-h) - 60px);width:100%;justify-self:end;overflow:hidden;background:var(--bg-3)}
.motion .mx-fig{width:auto;height:min(78svh,760px)}
.mx-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:filter 1s var(--ease),transform 1.6s var(--ease)}
.mx-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mx-cap{position:absolute;left:16px;top:16px;z-index:2;font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:8px 14px;border-radius:999px;background:rgba(18,3,6,.72);color:var(--accent)}

/* camadas do svg */
.mx-l{opacity:0;transition:opacity .8s var(--ease)}
.mx-l1 circle{fill:none;stroke:var(--accent);stroke-width:2;transform-origin:655px 470px;transform-box:view-box;opacity:0}
.mx-l2 path{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 1.8s var(--ease)}
.mx-l2 path.thin{stroke-width:1.4;stroke-dasharray:6 8;stroke-dashoffset:0;opacity:.8}
.mx-l2 .pt{fill:var(--accent);opacity:0;transition:opacity .6s .9s}
.mx-l3 .lab{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d) * 90ms)}
.mx-l3 path{stroke:var(--accent);stroke-width:1.6;fill:none}
.mx-l3 circle{fill:var(--accent);stroke:rgba(18,3,6,.55);stroke-width:4}
.mx-l3 rect{fill:rgba(18,3,6,.78);stroke:rgba(255,222,231,.45);stroke-width:1.2}
.mx-l3 text{font-family:var(--font-text);font-size:21px;font-weight:400;fill:var(--cream)}
.mx-l4 circle{fill:url(#mxGlow);transform-box:fill-box;transform-origin:center;opacity:0}
.mx-l5 path{stroke:rgba(255,222,231,.5);stroke-width:2.4}
.mx-l5 circle{fill:var(--bg);stroke:var(--accent);stroke-width:3;transition:fill .4s;transition-delay:calc(var(--d) * 160ms)}

/* estados por etapa */
.mx-scene[data-step="0"] .mx-fig img{filter:brightness(.55) saturate(.8)}
.mx-scene[data-step="0"] .mx-l1{opacity:1}
.mx-scene[data-step="0"] .mx-l1 circle{animation:mxRing 2.6s var(--ease) infinite}
.mx-scene[data-step="0"] .mx-l1 circle:nth-child(2){animation-delay:.85s}
.mx-scene[data-step="0"] .mx-l1 circle:nth-child(3){animation-delay:1.7s}
@keyframes mxRing{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.4)}}
.mx-scene[data-step="1"] .mx-l2,.mx-scene[data-step="2"] .mx-l2{opacity:1}
.mx-scene[data-step="1"] .mx-l2 path,.mx-scene[data-step="2"] .mx-l2 path{stroke-dashoffset:0}
.mx-scene[data-step="1"] .mx-l2 .pt,.mx-scene[data-step="2"] .mx-l2 .pt{opacity:1}
.mx-scene[data-step="2"] .mx-l2{opacity:.45}
.mx-scene[data-step="1"] .mx-fig img{filter:brightness(.8) saturate(.9)}
.mx-scene[data-step="2"] .mx-fig img{filter:brightness(.72) saturate(.9)}
.mx-scene[data-step="2"] .mx-l3,.mx-scene[data-step="3"] .mx-l3{opacity:1}
.mx-scene[data-step="2"] .mx-l3 .lab{opacity:1;transform:none}
.mx-scene[data-step="3"] .mx-l3 .lab{opacity:.35;transform:none}
.mx-scene[data-step="3"] .mx-l4{opacity:1}
.mx-scene[data-step="3"] .mx-l4 circle{animation:mxGlow 3s ease-in-out infinite}
.mx-scene[data-step="3"] .mx-l4 circle:nth-child(even){animation-delay:1.2s}
@keyframes mxGlow{0%,100%{opacity:.15;transform:scale(.8)}50%{opacity:.7;transform:scale(1.15)}}
.mx-scene[data-step="3"] .mx-fig img{filter:brightness(.85)}
.mx-scene[data-step="4"] .mx-l5{opacity:1}
.mx-scene[data-step="4"] .mx-l5 circle{fill:var(--accent)}
.mx-scene[data-step="4"] .mx-fig img{filter:brightness(1.06) saturate(1.05);transform:scale(1.03)}

/* textos das etapas */
.mx-copy{position:relative;max-width:520px}
.mx-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:clamp(28px,4vh,48px)}
.mx-bar span{position:relative;height:3px;background:rgba(255,222,231,.16);overflow:hidden}
.mx-bar span::after{content:"";position:absolute;inset:0;background:var(--accent);transform:scaleX(var(--p,0));transform-origin:left}
.mx-steps{position:relative;margin:0;padding:0;list-style:none;display:grid}
.mx-step{grid-area:1/1;display:flex;flex-direction:column;gap:14px}
.motion .mx-step{opacity:0;transform:translateY(28px);transition:opacity .6s var(--ease),transform .8s var(--ease);pointer-events:none}
.motion .mx-step.is-on{opacity:1;transform:none;pointer-events:auto}
.mx-n{font-family:var(--font-display);font-style:italic;font-size:clamp(72px,8vw,128px);line-height:.8;color:var(--accent)}
.mx-step h3{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,3.4vw,54px);line-height:1.02;letter-spacing:-.015em;color:#F7EFE8}
.mx-step p{font-size:var(--fs-lead);line-height:1.6;color:var(--text);max-width:42ch}
.mx-leit{font-size:15px !important;color:var(--text-2) !important}
.mx-leit .k{display:block;font-size:12px;letter-spacing:.2em;color:var(--accent);margin-bottom:6px}
/* sem movimento: etapas em lista, figura com a leitura completa */
html:not(.motion) .mx-steps{gap:40px}
html:not(.motion) .mx-step{grid-area:auto}
html:not(.motion) .mx-l2,html:not(.motion) .mx-l3{opacity:1}
html:not(.motion) .mx-l2 path{stroke-dashoffset:0}
html:not(.motion) .mx-l2 .pt,html:not(.motion) .mx-l3 .lab{opacity:1;transform:none}

/* depois da cena: princípio, comparação, obra e resultado */
.mx-after{padding-top:clamp(72px,9vw,140px)}
.mx-principle{max-width:1100px}
.mx-quote{font-size:clamp(34px,4.4vw,68px);line-height:1.08}
.mx-compare{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(56px,7vw,96px);padding:clamp(28px,3.4vw,48px);background:rgba(18,3,6,.6)}
.mx-switch{position:relative;display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:28px;background:rgba(255,222,231,.08);align-self:stretch;justify-content:center}
.mx-switch button{position:relative;z-index:1;padding:16px 26px;border-radius:22px;font-size:16px;font-weight:500;text-align:left;color:var(--text-2);transition:color .4s var(--ease)}
.mx-switch button[aria-selected="true"]{color:var(--bordo)}
.mx-switch button:hover{color:var(--text)}
.mx-switch button[aria-selected="true"]:hover{color:var(--bordo)}
.mx-thumb{position:absolute;left:6px;right:6px;top:6px;height:calc(50% - 9px);border-radius:22px;background:var(--accent);transition:transform .6s cubic-bezier(.34,1.3,.64,1)}
.mx-compare[data-mode="glo"] .mx-thumb{transform:translateY(calc(100% + 6px))}
.mx-panels{display:grid;grid-template-columns:200px 1fr;gap:clamp(24px,3vw,48px);align-items:center}
.mx-mini{width:200px;height:200px;grid-row:1}
.mx-mini .face{fill:none;stroke:rgba(255,222,231,.3);stroke-width:2}
.mx-mini .net path{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 1.2s var(--ease)}
.mx-mini .dots circle{fill:rgba(255,222,231,.35);transition:fill .5s}
.mx-mini .iso circle{fill:none;stroke:#F2A7BC;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4);transition:opacity .5s,transform .8s var(--ease)}
.mx-compare[data-mode="glo"] .net path{stroke-dashoffset:0}
.mx-compare[data-mode="glo"] .dots circle{fill:var(--accent)}
.mx-compare[data-mode="iso"] .iso circle{opacity:.85;transform:none}
.mx-compare[data-mode="iso"] .iso circle:nth-child(2){transition-delay:.12s}
.mx-compare[data-mode="iso"] .iso circle:nth-child(3){transition-delay:.24s}
.mx-compare[data-mode="iso"] .dots circle:nth-child(4){fill:#F2A7BC}
.mx-panel{grid-row:1;grid-column:2;transition:opacity .5s var(--ease),transform .6s var(--ease)}
.mx-panel .k{font-size:12px;letter-spacing:.2em;color:var(--accent);margin-bottom:12px}
.mx-panel p:not(.k){font-family:var(--font-display);font-size:clamp(22px,2vw,30px);line-height:1.3;color:#F7EFE8;max-width:36ch}
.mx-compare[data-mode="glo"] .mx-panel[data-mode="iso"],.mx-compare[data-mode="iso"] .mx-panel[data-mode="glo"]{opacity:0;transform:translateY(12px);pointer-events:none;visibility:hidden}
.mx-final{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);margin:clamp(56px,7vw,96px) 0 0}
.mx-final > div{padding-top:28px;box-shadow:inset 0 2px 0 rgba(255,222,231,.18)}
.mx-final dt{font-size:12px;letter-spacing:.2em;color:var(--accent);margin-bottom:14px}
.mx-final dd{margin:0;font-family:var(--font-display);font-size:clamp(24px,2.4vw,36px);line-height:1.2;color:#F7EFE8}
.mx-cta{margin-top:clamp(48px,6vw,80px)}

@media (max-width:900px){
  .mx-head{grid-template-columns:1fr;gap:24px}
  .mx-title{font-size:clamp(52px,15vw,84px)}
  .mx-stage{grid-template-columns:1fr;gap:20px;align-content:start}
  .motion .mx-stage{padding-top:16px;padding-bottom:16px}
  .mx-fig{justify-self:stretch;aspect-ratio:auto;height:auto;max-height:none}
  .motion .mx-fig{width:100%;height:48svh}
  html:not(.motion) .mx-fig{aspect-ratio:4/5}
  .mx-cap{font-size:10px;padding:6px 11px;left:10px;top:10px}
  .mx-bar{margin-bottom:18px}
  .mx-step{gap:8px}
  .mx-n{font-size:52px}
  .mx-step h3{font-size:clamp(26px,7.4vw,34px)}
  .mx-step p{font-size:16px}
  .mx-leit{display:none}
  .mx-compare{grid-template-columns:1fr;padding:22px}
  .mx-switch{flex-direction:row;border-radius:999px}
  .mx-switch button{flex:1;text-align:center;padding:13px 10px;font-size:14px;border-radius:999px}
  .mx-thumb{top:6px;bottom:6px;height:auto;left:6px;right:auto;width:calc(50% - 9px);border-radius:999px}
  .mx-compare[data-mode="glo"] .mx-thumb{transform:translateX(calc(100% + 6px))}
  .mx-panels{grid-template-columns:1fr;justify-items:center;text-align:center}
  .mx-mini{width:150px;height:150px}
  .mx-panel{grid-row:2;grid-column:1}
  .mx-panel p:not(.k){font-size:21px;margin:0 auto}
  .mx-final{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.mx-l1 circle,.mx-l4 circle{animation:none !important}}
/* método no celular: foto na proporção original (sem corte) e centralizada; legenda decorativa oculta */
@media (max-width:900px){
  .motion .mx-fig{height:46svh;width:auto;aspect-ratio:4/5;justify-self:center}
  .mx-cap{display:none}
}
/* método no celular: rótulos legíveis na lista do texto (no desenho ficam só os pontos) e foto maior */
@media (max-width:900px){
  .motion .mx-fig{height:52svh}
  .mx-l3 rect,.mx-l3 text,.mx-l3 path{display:none}
  .mx-l3 circle{r:12}
  .mx-leit{display:block}
  .mx-leit .k{margin-bottom:4px}
}

/* =========================================================
   v5: hero sem selo, método + princípio numa seção só, CTA final em duas colunas
   ========================================================= */
/* hero: título em 3 linhas, "só elogia." na terceira */
.hero h1{max-width:none}
.hero h1 em{display:block;white-space:normal}

/* método: o princípio fica ao lado do título */
.mx-head{align-items:end}
.mx-head .mx-principle{max-width:600px;padding-bottom:.6em}
.mx-head .mx-quote{font-size:clamp(28px,2.9vw,46px);line-height:1.12}
.mx-head .mx-principle .eyebrow{margin-bottom:18px}

/* número da etapa antes do título, como ícone */
.mx-step h3{display:flex;align-items:center;gap:clamp(14px,1.4vw,22px)}
.mx-num{flex:none;display:grid;place-items:center;width:clamp(44px,3.4vw,56px);height:clamp(44px,3.4vw,56px);border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--accent);background:rgba(255,222,231,.08);font-family:var(--font-text);font-size:clamp(14px,1vw,16px);font-weight:500;letter-spacing:.04em;color:var(--accent);font-variant-numeric:tabular-nums}
.mx-step.is-on .mx-num{background:var(--accent);color:var(--bordo)}
html:not(.motion) .mx-num{background:var(--accent);color:var(--bordo)}

/* princípio em cards, logo abaixo da cena */
.mx-after{padding-top:clamp(8px,1.6vw,32px)}
.mx-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.2vw,20px)}
.mx-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(26px,2.4vw,38px);background:rgba(18,3,6,.62);box-shadow:inset 0 0 0 1px rgba(255,222,231,.12);transition:background-color .5s var(--ease),box-shadow .5s var(--ease)}
.mx-card:hover{background:rgba(58,10,16,.8);box-shadow:inset 0 0 0 1px rgba(255,222,231,.32)}
.mx-ico{display:grid;place-items:center;width:56px;height:56px;margin-bottom:10px;border-radius:50%;background:rgba(255,222,231,.1);color:var(--accent);transition:background-color .5s var(--ease),color .5s var(--ease)}
.mx-ico svg{width:28px;height:28px}
.mx-card:hover .mx-ico{background:var(--accent);color:var(--bordo)}
.mx-card h3{font-family:var(--font-display);font-weight:400;font-size:clamp(24px,1.9vw,30px);line-height:1.1;color:#F7EFE8}
.mx-card p{font-size:16px;line-height:1.6;color:var(--text)}
.mx-card.is-iso{background:rgba(18,3,6,.4)}
.mx-card.is-iso .mx-ico{background:rgba(255,222,231,.05);color:var(--text-2)}
.mx-card.is-iso:hover .mx-ico{background:rgba(255,222,231,.16);color:var(--cream)}
.mx-card.is-glo{box-shadow:inset 0 0 0 1px rgba(255,222,231,.4)}
.mx-cta{margin-top:clamp(40px,5vw,64px)}
@media (max-width:1100px){.mx-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .mx-head .mx-principle{padding-bottom:0}
  .mx-after{padding-top:0}
  .motion .mx-after{margin-top:-14svh;position:relative;z-index:1}
  .mx-head .mx-quote{font-size:clamp(26px,7vw,34px)}
  .mx-num{width:38px;height:38px;font-size:13px}
}
@media (max-width:640px){
  .mx-cards{grid-template-columns:1fr}
  .mx-card{padding:24px 22px}
  .mx-ico{width:48px;height:48px;margin-bottom:4px}
  .mx-ico svg{width:24px;height:24px}
}

/* CTA final: título e subtítulo à esquerda, logo à direita */
.ft-cta{max-width:none;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(40px,6vw,120px);align-items:center;text-align:left}
.ft-cta-txt{display:flex;flex-direction:column;align-items:flex-start}
.ft-cta .ft-lead{margin:28px 0 0;text-align:left}
.ft-cta .ft-logo{margin:0;justify-content:flex-end}
.ft-cta .ft-logo img{width:clamp(200px,24vw,380px)}
@media (max-width:900px){
  .ft-cta{grid-template-columns:1fr;text-align:center;gap:56px}
  .ft-cta-txt{align-items:center}
  .ft-cta .ft-lead{text-align:center;margin:24px auto 0}
  .ft-cta .ft-logo{justify-content:center}
  .ft-cta .ft-logo img{width:clamp(180px,52vw,280px)}
}

/* =========================================================
   O MÉTODO (v6): uma composição só. Título, princípio, etapas e foto na mesma cena fixada;
   a faixa dos 4 princípios encosta logo abaixo. Espaçamento em múltiplos de 4.
   ========================================================= */
.mx{padding-bottom:calc(var(--gap-section) * .6)}
.mx-stage{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(40px,5.6vw,96px);align-items:stretch}
.motion .mx-stage{height:100vh;height:100svh;padding-top:calc(var(--nav-h) + 20px);padding-bottom:28px}
.mx-fig{justify-self:start;max-height:none;width:min(100%,560px);aspect-ratio:4/5}
.motion .mx-fig{width:auto;height:calc(100svh - var(--nav-h) - 48px)}
.mx-copy{display:flex;flex-direction:column;justify-content:space-between;gap:24px;max-width:600px;min-height:0;padding:4px 0 0}

.mx-top .eyebrow{margin-bottom:16px}
.mx-title{font-size:clamp(44px,4.8vw,84px);line-height:.94;letter-spacing:-.02em}
.mx-quote{margin-top:20px;max-width:32ch;font-family:var(--font-display);font-size:clamp(19px,1.5vw,24px);line-height:1.32;color:var(--text)}
.mx-quote em{font-style:italic;color:var(--accent)}

/* etapas: todas visíveis, a atual se abre */
.mx-steps,html:not(.motion) .mx-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
.mx-step,.motion .mx-step,html:not(.motion) .mx-step{display:block;opacity:1;transform:none;pointer-events:auto;position:relative;border-top:1px solid rgba(255,222,231,.14)}
.mx-step:last-child{border-bottom:1px solid rgba(255,222,231,.14)}
.mx-step::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.mx-step.is-on::before{transform:none}
.mx-step h3{display:block;font-size:inherit;line-height:inherit;letter-spacing:0;gap:0}
.mx-row{display:flex;align-items:center;gap:16px;width:100%;padding:12px 0;text-align:left;color:var(--text-2);transition:color .4s var(--ease)}
.mx-row:hover,.mx-step.is-on .mx-row{color:#F7EFE8}
.mx-row:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.mx-h{font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.65vw,27px);line-height:1.1;letter-spacing:-.01em}
.mx-num{width:36px;height:36px;font-size:13px;background:transparent;box-shadow:inset 0 0 0 1px rgba(255,222,231,.3);color:var(--text-2);transition:background-color .5s var(--ease),color .5s var(--ease),box-shadow .5s var(--ease)}
.mx-step.is-done .mx-num{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.mx-step.is-on .mx-num,html:not(.motion) .mx-num{background:var(--accent);color:var(--bordo);box-shadow:none}
.mx-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.mx-body > div{overflow:hidden;min-height:0;padding-left:52px}
.mx-step.is-on .mx-body,html:not(.motion) .mx-body{grid-template-rows:1fr}
.mx-body p,.mx-step .mx-body p{font-size:16px;line-height:1.55;color:var(--text);max-width:46ch;padding-bottom:16px;opacity:0;transition:opacity .5s var(--ease)}
.mx-step.is-on .mx-body p,html:not(.motion) .mx-body p{opacity:1;transition-delay:.15s}
.mx-body .mx-leit{margin-top:-6px}
@media (min-width:901px){.mx-leit{display:none}}
.mx-cta-in{margin:0}
.mx-cta-out{display:none}

/* faixa dos princípios, colada na cena */
.mx-after,.motion .mx-after{padding-top:0;margin-top:0}
.mx-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(18,3,6,.55);box-shadow:inset 0 0 0 1px rgba(255,222,231,.12)}
.mx-cell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:14px;row-gap:12px;padding:24px 28px 28px;border-left:1px solid rgba(255,222,231,.12);transition:background-color .5s var(--ease)}
.mx-cell:first-child{border-left:0}
.mx-cell:hover{background:rgba(58,10,16,.55)}
.mx-cell .mx-ico{width:40px;height:40px;margin:0}
.mx-cell .mx-ico svg{width:20px;height:20px}
.mx-cell h3{font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.5vw,23px);line-height:1.15;color:#F7EFE8}
.mx-cell p{grid-column:1/-1;font-size:15px;line-height:1.55;color:var(--text)}
.mx-cell.is-iso h3{color:var(--text-2)}
.mx-cell.is-iso .mx-ico{background:rgba(255,222,231,.05);color:var(--text-2)}
.mx-cell.is-glo{background:rgba(255,222,231,.05);box-shadow:inset 0 2px 0 var(--accent)}
.mx-cell:hover .mx-ico{background:var(--accent);color:var(--bordo)}

@media (max-width:1100px) and (min-width:901px){
  .mx-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mx-cell:nth-child(3){border-left:0}
  .mx-cell:nth-child(n+3){border-top:1px solid rgba(255,222,231,.12)}
}

/* celular e tablet: título em cima; a cena trava a partir da foto (foto + etapas cabem na tela) */
@media (max-width:900px){
  .mx-stage,.motion .mx-stage{display:flex;flex-direction:column;gap:0;height:auto;padding-top:0;padding-bottom:0}
  .mx-copy{display:contents}
  .mx-top{order:0;padding-bottom:28px}
  .mx-title{font-size:clamp(44px,12.4vw,72px)}
  .mx-quote{font-size:20px;margin-top:16px}
  .mx-fig,.motion .mx-fig{order:1;align-self:center;justify-self:auto;width:auto;height:40svh;aspect-ratio:4/5;margin-top:0}
  html:not(.motion) .mx-fig{width:100%;height:auto}
  .mx-steps,html:not(.motion) .mx-steps{order:2;margin-top:16px}
  .mx-row{padding:9px 0;gap:14px}
  .mx-h{font-size:20px}
  .mx-num{width:32px;height:32px;font-size:12px}
  .mx-body > div{padding-left:46px}
  .mx-body p,.mx-step .mx-body p{font-size:15px;padding-bottom:12px}
  .mx-cta-in{display:none}
  .mx-cta-out{display:block;margin-top:28px}
  .mx-after{margin-top:28px}
  .motion .mx-after{margin-top:28px}
  .mx-strip{grid-template-columns:1fr}
  .mx-cell{border-left:0;border-top:1px solid rgba(255,222,231,.12);padding:20px 20px 22px}
  .mx-cell:first-child{border-top:0}
  .mx-cell.is-glo{box-shadow:inset 2px 0 0 var(--accent)}
}
.mx-cell{align-content:start}
/* notebooks de tela baixa: a coluna de texto aperta e o botão sai da cena para baixo da faixa */
@media (min-width:901px) and (max-height:820px){
  .mx-top .eyebrow{margin-bottom:10px}
  .mx-title{font-size:clamp(40px,4.2vw,64px)}
  .mx-quote{margin-top:12px;font-size:clamp(17px,1.35vw,20px)}
  .mx-row{padding:8px 0}
  .mx-h{font-size:clamp(19px,1.5vw,23px)}
  .mx-num{width:32px;height:32px;font-size:12px}
  .mx-body > div{padding-left:48px}
  .mx-body p,.mx-step .mx-body p{font-size:15px;padding-bottom:12px}
}
@media (min-width:901px) and (max-height:760px){
  .mx-cta-in{display:none}
  .mx-cta-out{display:block;margin-top:32px}
}

/* =========================================================
   v7: hero, antes e depois com a foto original, método no celular, experiência, formações, assinatura
   ========================================================= */
/* hero: subtítulo em 3 linhas e tag mais discreta que o título */
@media (min-width:901px){
  .hero-sub{max-width:62ch}
  .tag{padding:7px 15px 7px 11px;gap:9px;margin-bottom:22px}
  .tag-t{font-size:11px;letter-spacing:.18em}
  .tag-dot{width:6px;height:6px}
}

/* antes e depois: a montagem original inteira, sem arrastar; rótulos pequenos */
.ba-card{--bh:clamp(320px,46vh,460px);width:calc(var(--bh) * var(--ar))}
.ba-photo{position:relative;margin:0;overflow:hidden;background:var(--bg-3)}
.ba-photo img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.ba-tag,.ba-photo .ba-tag{top:10px;font-size:10px;letter-spacing:.18em;padding:4px 9px;transition:none}
.ba-photo .ba-tag.l{left:10px}
.ba-photo .ba-tag.r{right:10px}
@media (max-width:900px){
  .ba-card,.motion .ba-card{--bh:min(calc(100svh - 300px),calc(84vw / var(--ar)));width:calc(var(--bh) * var(--ar))}
  html:not(.motion) .ba-card{--bh:min(440px,calc(84vw / var(--ar)))}
}
@media (max-width:640px){.ba-photo .ba-tag{font-size:9px;letter-spacing:.14em;padding:4px 8px;top:8px}.ba-photo .ba-tag.l{left:8px}.ba-photo .ba-tag.r{right:8px}}

/* método: rótulos legíveis sobre a foto no celular */
.mx-tags{display:none}
@media (max-width:900px){
  .mx-tags{display:block;position:absolute;inset:0;pointer-events:none}
  .mx-tags span{position:absolute;transform:translateY(-50%);translate:0 6px;font-size:10.5px;line-height:1;white-space:nowrap;padding:5px 9px;border-radius:999px;background:rgba(18,3,6,.82);box-shadow:inset 0 0 0 1px rgba(255,222,231,.45);color:var(--cream);opacity:0;transition:opacity .5s var(--ease),translate .6s var(--ease);transition-delay:calc(var(--d) * 80ms)}
  .mx-scene[data-step="2"] .mx-tags span,html:not(.motion) .mx-tags span{opacity:1;translate:0 0}
  .mx-scene[data-step="3"] .mx-tags span{opacity:.35;translate:0 0}
  .mx-body .mx-leit{display:none}
}

/* experiência: fundo próprio na cor da marca, com o monograma */
.bn-bg,.gl .bn-bg{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(110% 80% at 88% 8%,#6E1C30 0%,#3B0D18 42%,#1F060C 100%)}
.bn-bg::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(26,4,8,.9) 0%,rgba(26,4,8,0) 14%,rgba(26,4,8,0) 86%,rgba(26,4,8,.9) 100%);pointer-events:none}
.bn-mono{position:absolute;z-index:-1;right:-4%;bottom:-10%;width:min(58vw,820px);height:auto;opacity:.07;pointer-events:none;user-select:none}
.bn-bg .bn-exp{background:rgba(18,3,6,.5)}
.bn-bg .bn-exp:nth-child(2){background:rgba(18,3,6,.32)}
@media (max-width:900px){.bn-mono{width:110vw;right:-30%;bottom:-4%}}

/* formações: descrição na fonte de texto; especializações em tópicos */
.au-forms p{font-family:var(--font-text);font-size:17px;line-height:1.5;color:var(--cream)}
.au-forms .au-bul{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.au-forms .au-bul li,.au-forms .au-bul li:hover{display:block;position:relative;padding:0 0 0 16px;background:none;font-size:17px;line-height:1.5;color:var(--cream)}
.au-forms .au-bul li::before{content:"";position:absolute;left:0;top:.66em;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.au-cap .n{font-size:clamp(17px,1.3vw,20px);line-height:1.35}
.au-cap .n span{color:var(--accent);margin:0 .25em}

/* CTA final: logo menor, no canto inferior direito, como assinatura */
.ft-cta{align-items:end}
.ft-cta .ft-logo{align-self:end;justify-content:flex-end}
.ft-cta .ft-logo img{width:clamp(100px,12vw,190px)}
@media (max-width:900px){.ft-cta .ft-logo{justify-content:center}.ft-cta .ft-logo img{width:clamp(90px,26vw,140px)}}

/* =========================================================
   v10: hero, método claro, experiência e quem cuida de você refeitas, FAQ refeito
   ========================================================= */
/* hero: o subtítulo ocupa exatamente a largura do título */
@media (min-width:901px){
  .hero-main{width:max-content;max-width:min(900px,64vw)}
  .hero-main > .hero-sub{contain:inline-size;max-width:none;align-self:stretch}
}

/* ---------- O MÉTODO em fundo claro (mesmo creme dos depoimentos) ---------- */
.mx,.gl .mx{background:var(--cream)}
.mx-copy,.mx-after{--text:#4A2A30;--text-2:rgba(42,11,17,.6);--accent:var(--bordo);color:var(--ink-dark)}
.mx .eyebrow{color:var(--bordo)}
.mx .display{color:var(--ink-dark)}
.mx .display em,.mx-quote em{color:var(--bordo)}
.mx-step,.motion .mx-step,html:not(.motion) .mx-step{border-top-color:rgba(42,11,17,.14)}
.mx-step:last-child{border-bottom-color:rgba(42,11,17,.14)}
.mx-row:hover,.mx-step.is-on .mx-row{color:var(--ink-dark)}
.mx-num{box-shadow:inset 0 0 0 1px rgba(42,11,17,.28)}
.mx-step.is-done .mx-num{color:var(--bordo);box-shadow:inset 0 0 0 1px var(--bordo)}
.mx-step.is-on .mx-num,html:not(.motion) .mx-num{background:var(--bordo);color:var(--cream)}
.mx-row:focus-visible{outline-color:var(--bordo)}
.mx-fig{background:#2A0B11}
.mx-strip{background:#FCF8F4;box-shadow:inset 0 0 0 1px rgba(42,11,17,.1)}
.mx-cell{border-left-color:rgba(42,11,17,.1)}
.mx-cell:hover{background:#F3E8E0}
.mx-cell .mx-ico{background:rgba(138,42,63,.09);color:var(--bordo)}
.mx-cell:hover .mx-ico{background:var(--bordo);color:var(--cream)}
.mx-cell h3{color:var(--ink-dark)}
.mx-leit .k{color:var(--bordo)}
@media (max-width:1100px) and (min-width:901px){.mx-cell:nth-child(n+3){border-top-color:rgba(42,11,17,.1)}}
@media (max-width:900px){.mx-cell{border-top-color:rgba(42,11,17,.1)}}

/* ---------- EXPERIÊNCIA: linha do tempo, fundo #181213 ---------- */
.xp,.gl .xp{--xp-bg:#181213;background:var(--xp-bg);position:relative}
.xp-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:end}
.xp-title{font-size:clamp(40px,4.6vw,74px);line-height:1.04;letter-spacing:-.02em;max-width:17ch}
.xp-side{padding-bottom:.5em}
.xp-lead{font-size:var(--fs-lead);line-height:1.6;color:var(--text);max-width:40ch}
.xp-cta{margin-top:28px}
.xp-line{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,72px);margin:clamp(72px,8vw,120px) 0 0;padding:0;list-style:none}
.xp-line::before,.xp-line::after{content:"";position:absolute;left:0;right:0;top:7px;height:1px}
.xp-line::before{background:rgba(255,222,231,.16)}
.xp-line::after{background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease)}
.xp-line.is-in::after,html:not(.motion) .xp-line::after{transform:none}
.xp-stop{position:relative;padding-top:44px}
.xp-dot{position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:var(--xp-bg);box-shadow:inset 0 0 0 1.5px var(--accent);transition:background-color .6s var(--ease)}
.xp-line.is-in .xp-stop:nth-child(1) .xp-dot{background:var(--accent);transition-delay:.2s}
.xp-line.is-in .xp-stop:nth-child(2) .xp-dot{background:var(--accent);transition-delay:.9s}
.xp-line.is-in .xp-stop:nth-child(3) .xp-dot{background:var(--accent);transition-delay:1.6s}
html:not(.motion) .xp-dot{background:var(--accent)}
.xp-when{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.xp-stop h3{font-family:var(--font-display);font-weight:400;font-size:clamp(25px,2.1vw,34px);line-height:1.12;color:#F7EFE8;max-width:16ch}
.xp-txt{margin-top:16px;font-size:17px;line-height:1.62;color:var(--text-2);max-width:38ch}
@media (max-width:900px){
  .xp-head{grid-template-columns:1fr;gap:24px}
  .xp-title{font-size:clamp(36px,10vw,56px)}
  .xp-side{padding-bottom:0}
  .xp-cta{margin-top:24px}
  .xp-line{grid-template-columns:1fr;gap:40px;margin-top:56px;padding-left:36px}
  .xp-line::before,.xp-line::after{left:7px;right:auto;top:8px;bottom:8px;width:1px;height:auto}
  .xp-line::after{transform:scaleY(0);transform-origin:top}
  .xp-stop{padding-top:0}
  .xp-dot{left:-36px;top:3px}
  .xp-when{margin-bottom:10px}
  .xp-txt{font-size:16px;margin-top:12px}
}

/* ---------- QUEM CUIDA DE VOCÊ: retrato editorial, fundo #181213 ---------- */
.dr,.gl .dr{background:#181213}
.dr-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);grid-template-areas:"title photo" "text photo" "creds photo" "cta photo";grid-template-rows:auto auto auto 1fr;column-gap:clamp(40px,6vw,112px);align-items:start}
.dr-title{grid-area:title;font-size:var(--fs-h2);line-height:1.04;max-width:14ch}
.dr-photo{grid-area:photo;position:sticky;top:calc(var(--nav-h) + 24px);margin:0}
.dr-photo img{display:block;width:100%;height:auto;aspect-ratio:1100/1622;object-fit:cover;background:#2A2122}
.dr-photo figcaption{margin-top:16px;font-family:var(--font-display);font-size:clamp(17px,1.3vw,20px);line-height:1.35;color:#F7EFE8}
.dr-photo figcaption span{color:var(--accent);margin:0 .3em}
.dr-text{grid-area:text;display:flex;flex-direction:column;gap:18px;margin-top:40px;max-width:54ch}
.dr-text p{font-size:17px;line-height:1.68;color:var(--text-2)}
.dr-text .dr-lead{font-family:var(--font-display);font-size:clamp(22px,1.75vw,27px);line-height:1.4;color:#F7EFE8}
.dr-creds{grid-area:creds;margin:48px 0 0;max-width:620px}
.dr-creds > div{display:grid;grid-template-columns:minmax(132px,180px) 1fr;gap:20px;padding:18px 0;border-top:1px solid rgba(255,222,231,.14)}
.dr-creds > div:last-child{border-bottom:1px solid rgba(255,222,231,.14)}
.dr-creds dt{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);padding-top:4px}
.dr-creds dd{margin:0;font-size:17px;line-height:1.5;color:#F7EFE8}
.dr-creds ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.dr-creds li{position:relative;padding-left:16px}
.dr-creds li::before{content:"";position:absolute;left:0;top:.66em;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.dr-cta{grid-area:cta;margin-top:40px}
@media (max-width:900px){
  .dr-grid{grid-template-columns:1fr;grid-template-areas:"title" "photo" "text" "creds" "cta";grid-template-rows:auto}
  .dr-photo{position:relative;top:0;margin-top:32px}
  .dr-text{margin-top:32px}
  .dr-creds{margin-top:36px}
  .dr-creds > div{grid-template-columns:1fr;gap:8px;padding:16px 0}
  .dr-cta{margin-top:32px}
}

/* ---------- DÚVIDAS: fundo sólido, lista limpa ---------- */
.fqv2,.gl .fqv2{background:var(--bg-2)}
.fqv2 .fq-layout{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
.fqv2 .fq-side{top:calc(var(--nav-h) + 48px)}
.fqv2 .fq-side .display{font-size:clamp(44px,5vw,80px);line-height:.98}
.fqv2 .fq-side p{margin-top:24px;color:var(--text-2)}
.fqv2 .fq-list{border-bottom:1px solid rgba(255,222,231,.14)}
.fqv2 .fq-item,.fqv2 .fq-item:nth-child(n){--c:transparent;background:transparent;margin:0;padding:0;border-top:1px solid rgba(255,222,231,.14);color:inherit;transition:border-color .4s var(--ease)}
.fqv2 .fq-item:not([open]):hover{background:transparent}
.fqv2 .fq-item[open]{background:transparent;color:inherit;border-top-color:var(--accent)}
.fqv2 .fq-item summary{padding:26px 0;gap:32px}
.fqv2 .fq-q{font-size:clamp(21px,1.7vw,26px);color:#F7EFE8}
.fqv2 .fq-item:not([open]):hover .fq-q,.fqv2 .fq-item[open] .fq-q{color:var(--accent)}
.fqv2 .fq-icon{width:44px;height:44px;box-shadow:inset 0 0 0 1px rgba(255,222,231,.3);color:var(--text)}
.fqv2 .fq-item[open] .fq-icon{background:var(--accent);color:var(--bordo);box-shadow:none}
.fqv2 .fq-item[open] summary:hover .fq-icon{background:var(--cream);color:var(--bordo)}
.fqv2 .fq-body p{padding:0 76px 30px 0;font-size:17px;line-height:1.68;max-width:62ch;color:var(--text-2)}
.fqv2 .fq-item summary:focus-visible .fq-icon{box-shadow:0 0 0 3px var(--accent)}
@media (max-width:900px){
  .fqv2 .fq-side .display{font-size:clamp(40px,11vw,60px)}
  .fqv2 .fq-list{margin-top:40px}
  .fqv2 .fq-item summary{padding:22px 0;gap:20px}
  .fqv2 .fq-q{font-size:20px}
  .fqv2 .fq-icon{width:40px;height:40px}
  .fqv2 .fq-body p{padding:0 0 24px;font-size:16px}
}
.xp-head{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
.xp-title{font-size:clamp(40px,4.4vw,68px);max-width:18ch}
@media (max-width:900px){
  .xp-head{grid-template-columns:1fr}
  .xp-title{font-size:clamp(36px,10vw,56px)}
  .fqv2 .fq-layout{grid-template-columns:1fr;gap:0}
  .fqv2 .fq-side{position:relative;top:0}
}

/* =========================================================
   v11: hero sem a faixa larga; diferenciais em linha compacta junto do CTA; WhatsApp só depois da hero
   ========================================================= */
.wa{transform:scale(0);opacity:0;pointer-events:none;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .3s}
.wa.is-on{transform:scale(1);opacity:1;pointer-events:auto}
.wa.is-on:hover{transform:scale(1.08)}

.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:36px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,222,231,.18)}
.hero-proof li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;row-gap:4px;align-items:center;padding:18px 20px 0 0}
.hero-proof li + li{padding-left:20px;border-left:1px solid rgba(255,222,231,.14)}
.hp-ico{grid-row:1;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,222,231,.1);color:var(--accent)}
.hp-ico svg{width:15px;height:15px}
.hero-proof b{grid-row:1;font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.6vw,24px);line-height:1;color:#F7EFE8}
.hp-l{grid-column:1/-1;font-size:13px;line-height:1.4;color:var(--text-2)}
@media (min-width:901px){
  .hero-main > .hero-proof{contain:inline-size;align-self:stretch}
  .hero-cta{margin-top:28px}
}
@media (max-width:900px){
  .hero-proof{width:100%;margin-top:28px}
  .hero-proof li{grid-template-columns:1fr;justify-items:center;text-align:center;row-gap:6px;padding:16px 8px 0}
  .hero-proof li + li{padding-left:8px}
  .hp-ico{width:26px;height:26px}
  .hero-proof b{font-size:19px}
  .hp-l{grid-column:auto;font-size:11.5px;line-height:1.35}
  .hero-main{padding-bottom:40px}
}
@media (max-width:900px){.hero-proof .hp-ico,.hero-proof b{grid-row:auto}}
/* telas baixas: a hero inteira, com os diferenciais, cabe na primeira dobra */
@media (min-width:901px) and (max-height:820px){
  .hero-main{padding-top:calc(var(--nav-h) + 12px);padding-bottom:16px}
  .hero h1{font-size:min(var(--fs-display),8.4vh)}
  .tag{margin-bottom:16px}
  .hero-rule{margin:18px 0 16px}
  .hero-cta{margin-top:22px}
  .hero-proof{margin-top:22px}
  .hero-proof li{padding-top:14px}
}
.hero-proof li{align-content:start}
/* diferenciais sem ícones */
.hero-proof .hp-ico{display:none}
.hero-proof li{grid-template-columns:1fr;row-gap:6px}
.hp-l{grid-column:auto}

/* =========================================================
   O MÉTODO (v7): sem foto. Tipografia, processo em linha do tempo, leitura e faixa bordô.
   Fundo creme; espaçamento em múltiplos de 4.
   ========================================================= */
.mt,.gl .mt{background:var(--cream);color:var(--ink-dark);--mt-line:rgba(42,11,17,.16)}
.mt :focus-visible{outline-color:var(--bordo)}
.mt .display{color:var(--ink-dark)}
.mt .display em{color:var(--bordo)}

/* cabeçalho: título grande e o princípio ao lado */
.mt-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:end;padding-bottom:clamp(48px,6vw,88px);border-bottom:1px solid var(--mt-line)}
.mt-title{font-size:clamp(56px,8.4vw,140px);line-height:.9;letter-spacing:-.025em}
.mt-quote{font-family:var(--font-display);font-size:clamp(22px,2vw,32px);line-height:1.28;color:var(--ink-dark);max-width:22ch;padding-bottom:.4em}
.mt-quote em{font-style:italic;color:var(--bordo)}

/* processo: 5 etapas numa linha que se preenche com a rolagem */
.mt-steps{--p:0;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(20px,2.4vw,40px);margin:clamp(56px,6vw,96px) 0 0;padding:0;list-style:none}
.mt-steps::before,.mt-steps::after{content:"";position:absolute;left:0;right:0;top:7px;height:1px}
.mt-steps::before{background:var(--mt-line)}
.mt-steps::after{background:var(--bordo);transform:scaleX(var(--p));transform-origin:left}
html:not(.motion) .mt-steps{--p:1}
.mt-step{position:relative;padding-top:44px}
.mt-node{position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:var(--cream);box-shadow:inset 0 0 0 1.5px rgba(42,11,17,.3);transition:background-color .5s var(--ease),box-shadow .5s var(--ease),transform .6s cubic-bezier(.34,1.56,.64,1)}
.mt-step.is-on .mt-node,html:not(.motion) .mt-node{background:var(--bordo);box-shadow:none;transform:scale(1.15)}
.mt-n{display:block;font-family:var(--font-display);font-size:clamp(40px,3.6vw,60px);line-height:1;color:rgba(42,11,17,.22);font-variant-numeric:tabular-nums;transition:color .6s var(--ease)}
.mt-step.is-on .mt-n,html:not(.motion) .mt-n{color:var(--bordo)}
.mt-step h3{margin-top:20px;font-family:var(--font-display);font-weight:400;font-size:clamp(21px,1.7vw,27px);line-height:1.15;color:var(--ink-dark)}
.mt-step p{margin-top:12px;font-size:16px;line-height:1.6;color:rgba(42,11,17,.72)}

/* leitura: os 6 pontos avaliados */
.mt-leit{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(20px,3vw,48px);margin-top:clamp(56px,6vw,88px);padding:24px 0;border-top:1px solid var(--mt-line);border-bottom:1px solid var(--mt-line)}
.mt-leit-k{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--bordo)}
.mt-leit ul{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.mt-leit li{padding:9px 16px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(138,42,63,.32);font-size:15px;line-height:1;color:var(--ink-dark);transition:background-color .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease)}
.mt-leit li:hover{background:var(--bordo);color:var(--cream);box-shadow:none}

/* princípios: faixa bordô, as 4 células no mesmo padrão */
.mt-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(32px,4vw,56px);background:var(--ink-dark);color:var(--cream)}
.mt-cell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;align-content:start;column-gap:14px;row-gap:14px;padding:clamp(28px,2.6vw,40px) clamp(22px,2.2vw,36px);border-left:1px solid rgba(255,222,231,.12);transition:background-color .5s var(--ease)}
.mt-cell:first-child{border-left:0}
.mt-cell:hover{background:#3A1119}
.mt-cell .mx-ico{width:40px;height:40px;margin:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,222,231,.1);color:var(--accent);transition:background-color .5s var(--ease),color .5s var(--ease)}
.mt-cell .mx-ico svg{width:20px;height:20px}
.mt-cell:hover .mx-ico{background:var(--accent);color:var(--bordo)}
.mt-cell h3{font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.55vw,24px);line-height:1.15;color:#F7EFE8}
.mt-cell p{grid-column:1/-1;font-size:15px;line-height:1.6;color:rgba(244,235,227,.76)}
.mt-cta{margin-top:clamp(40px,5vw,64px)}

@media (max-width:1100px) and (min-width:901px){
  .mt-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
  .mt-step p{font-size:15px}
  .mt-band{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mt-cell:nth-child(3){border-left:0}
  .mt-cell:nth-child(n+3){border-top:1px solid rgba(255,222,231,.12)}
}
@media (max-width:900px){
  .mt-head{grid-template-columns:1fr;gap:20px;padding-bottom:40px}
  .mt-title{font-size:clamp(52px,15vw,84px)}
  .mt-quote{font-size:22px;padding-bottom:0}
  .mt-steps{grid-template-columns:1fr;gap:32px;margin-top:44px;padding-left:40px}
  .mt-steps::before,.mt-steps::after{left:7px;right:auto;top:8px;bottom:8px;width:1px;height:auto}
  .mt-steps::after{transform:scaleY(var(--p));transform-origin:top}
  .mt-step{padding-top:0}
  .mt-node{left:-40px;top:6px}
  .mt-n{font-size:32px;display:inline-block;vertical-align:baseline}
  .mt-step h3{display:inline;margin:0 0 0 12px;font-size:22px;vertical-align:baseline}
  .mt-step p{margin-top:10px;font-size:15.5px}
  .mt-leit{grid-template-columns:1fr;gap:14px;margin-top:44px;padding:20px 0}
  .mt-leit li{font-size:14px;padding:8px 13px}
  .mt-band{grid-template-columns:1fr;margin-top:28px}
  .mt-cell{border-left:0;border-top:1px solid rgba(255,222,231,.12);padding:22px 20px 24px}
  .mt-cell:first-child{border-top:0}
  .mt-cta{margin-top:32px}
}

/* método v7b: título numa linha; faixa bordô com foto parada + 4 princípios em 2x2 */
.mt-head{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
.mt-title{font-size:clamp(52px,6.6vw,112px);white-space:nowrap}
.mt-quote{font-size:clamp(20px,1.7vw,28px)}
.mt-band{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.mt-photo{position:relative;margin:0;min-height:100%;overflow:hidden;background:#2A0B11}
.mt-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.mt-cells{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.mt-cells .mt-cell{border-left:0;border-top:0}
.mt-cells .mt-cell:nth-child(even){border-left:1px solid rgba(255,222,231,.12)}
.mt-cells .mt-cell:nth-child(n+3){border-top:1px solid rgba(255,222,231,.12)}
.mt-cells .mt-cell{padding:clamp(28px,2.8vw,44px) clamp(24px,2.6vw,40px)}
@media (max-width:1100px) and (min-width:901px){.mt-band{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}
@media (max-width:900px){
  .mt-title{white-space:normal}
  .mt-band{grid-template-columns:1fr}
  .mt-photo{aspect-ratio:4/3;min-height:0}
  .mt-cells{grid-template-columns:1fr}
  .mt-cells .mt-cell:nth-child(even){border-left:0}
  .mt-cells .mt-cell:nth-child(n+2){border-top:1px solid rgba(255,222,231,.12)}
  .mt-cells .mt-cell{padding:22px 20px 24px}
}
.mt{padding-bottom:calc(var(--gap-section) * .6)}
@media (max-width:900px){.mt-head{grid-template-columns:1fr}.mt-title{font-size:clamp(52px,15vw,84px)}.mt-quote{font-size:22px}}
/* método: tag acima do título; princípio na fonte de texto, encostado à direita */
.mt .eyebrow{color:var(--bordo)}
.mt-head-l .eyebrow{margin-bottom:24px}
.mt-quote{justify-self:end;font-family:var(--font-text);font-weight:300;font-size:clamp(19px,1.45vw,23px);line-height:1.5;max-width:26ch;padding-bottom:.6em}
.mt-quote em{font-style:normal;font-weight:400;color:var(--bordo)}
@media (max-width:900px){.mt-quote{justify-self:start;font-size:19px;max-width:none}}
@media (min-width:901px){.mt-br{display:none}}
@media (min-width:901px){.mt-quote{text-align:right}}

/* celular/tablet: menu hambúrguer de volta; barra fixa que some ao descer e volta ao subir */
@media (max-width:900px){
  .nav .menu-btn{display:grid !important;width:48px;height:48px}
  .nav .menu-btn span{left:15px;right:15px}
  .nav{position:fixed;transform:none}
  .nav.is-solid{background:rgba(18,3,6,.94) !important}
  .nav.is-hidden{transform:translateY(-100%) !important}
  .menu-open .nav{background:transparent !important;transform:none !important}
  .menu{padding-top:calc(var(--nav-h) + 24px)}
}
.bg-still .grain{animation-play-state:paused}
/* experiência: tag acima do título, sem CTA; granulado some nas seções de fundo liso */
.xp-head-l .eyebrow{margin-bottom:24px}
.xp-side{padding-bottom:.9em}
.grain{transition:opacity .5s var(--ease)}
.flat-bg .grain{opacity:0}

/* fundo #1C1013 em experiência e quem cuida de você */
.xp,.gl .xp{--xp-bg:#1C1013;background:#1C1013}
.dr,.gl .dr{background:#1C1013}
/* quem cuida de você: nome com a função abaixo; texto todo na fonte secundária */
.dr-grid{grid-template-areas:"title photo" "name photo" "text photo" "creds photo" "cta photo";grid-template-rows:auto auto auto auto 1fr}
.dr-name{grid-area:name;margin-top:36px;padding-left:18px;box-shadow:inset 1px 0 0 var(--accent)}
.dr-n{font-family:var(--font-display);font-size:clamp(24px,2vw,32px);line-height:1.15;color:#F7EFE8}
.dr-r{margin-top:8px;font-size:14px;letter-spacing:.04em;line-height:1.45;color:var(--text-2)}
.dr-r span{color:var(--accent);margin:0 .35em}
.dr-text{margin-top:32px}
.dr-text .dr-lead{font-family:var(--font-text);font-size:clamp(18px,1.35vw,20px);line-height:1.65;color:#F7EFE8}
@media (max-width:900px){
  .dr-grid{grid-template-areas:"title" "name" "photo" "text" "creds" "cta"}
  .dr-name{margin-top:24px}
  .dr-photo{margin-top:28px}
  .dr-n{font-size:24px}
  .dr-r{font-size:13px}
}
@media (max-width:900px){.dr-r span{display:block;height:0;overflow:hidden;margin:0}}
/* método: faixa dos princípios sem efeito de hover */
.mt-cell:hover{background:transparent}
.mt-cell:hover .mx-ico{background:rgba(255,222,231,.1);color:var(--accent)}

/* =========================================================
   QUEM CUIDA DE VOCÊ, versão 3: a credencial profissional.
   O registro (CRBM 010468) vira o cartão onde o perfil é impresso: cartão creme sobre o fundo #1C1013,
   na mesma família do "ticket" do agendamento. Foto, registro, nome, texto e especializações no cartão.
   ========================================================= */
.cr,.gl .cr{background:#1C1013}
.cr-title{font-size:clamp(38px,4.2vw,66px);line-height:1.02;letter-spacing:-.02em;max-width:18ch}

.cr-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);margin-top:clamp(40px,4.4vw,64px);background:var(--cream);color:var(--ink-dark)}
.cr-photo{position:relative;margin:0;min-height:100%;overflow:hidden;background:#2A2122}
.cr-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.cr-body{padding:clamp(36px,4.2vw,72px) clamp(32px,4.4vw,80px)}

.cr-reg{display:flex;justify-content:space-between;gap:16px;font-size:15px;line-height:1.3;color:var(--bordo);padding-bottom:18px;margin-bottom:28px;box-shadow:inset 0 -2px 0 var(--bordo)}
.cr-reg span:last-child{font-variant-numeric:tabular-nums;letter-spacing:.04em}
.cr-name{font-family:var(--font-display);font-weight:400;font-size:clamp(36px,3.5vw,58px);line-height:1;letter-spacing:-.02em;color:var(--ink-dark)}
.cr-role{margin-top:12px;font-size:17px;line-height:1.45;color:var(--bordo)}

.cr-text{display:flex;flex-direction:column;gap:16px;margin-top:clamp(28px,2.8vw,40px);max-width:60ch}
.cr-text p{font-size:17px;line-height:1.68;color:#3E2329}

.cr-forms{display:grid;grid-template-columns:auto auto;justify-content:start;gap:20px 48px;margin-top:clamp(32px,3.2vw,44px)}
.cr-k{font-size:14px;line-height:1.3;color:rgba(42,11,17,.62);margin-bottom:10px}
.cr-forms ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.cr-forms li{padding:9px 16px;border-radius:999px;background:var(--bordo);color:var(--cream);font-size:15px;line-height:1}

@media (max-width:1100px) and (min-width:901px){
  .cr-forms{grid-template-columns:1fr}
}
@media (max-width:900px){
  .cr-title{font-size:clamp(34px,9vw,48px)}
  .cr-card{grid-template-columns:1fr;margin-top:32px}
  .cr-photo{min-height:0;aspect-ratio:4/5}
  .cr-body{padding:28px 22px 32px}
  .cr-reg{font-size:14px;margin-bottom:22px;padding-bottom:14px}
  .cr-name{font-size:34px}
  .cr-role{font-size:15px}
  .cr-text p{font-size:16px}
  .cr-forms{grid-template-columns:1fr;gap:20px}
  .cr-forms li{font-size:14px;padding:8px 13px}
}
/* ajustes: título em 2 linhas largas; formações empilhadas */
@media (min-width:901px){.cr-title{max-width:none;font-size:clamp(38px,4vw,62px)}.cr-title em{display:block}}
.cr-forms{grid-template-columns:1fr;gap:20px}
.cr-title em{display:block}
.cr-dot{margin:0 .3em}
@media (max-width:900px){.cr-dot{display:block;height:0;overflow:hidden;margin:0}}
.mt-photo img{object-position:50% 40%}
/* hero sem dissolução ao rolar: a foto termina com uma borda suave em vez de um corte seco */
@media (min-width:901px){.hero-media{-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 80%,transparent 100%)}}
