:root{
  --bg:#fcfaf6;
  --bg2:#f6efe3;
  --ink:#222e3b;
  --navy:#314150;
  --mute:#43556a;
  --bronze:#a1835f;
  --bronze-d:#86693f;
  --sand:#dbc7a6;
  --sand2:#c1a47e;
  --line:rgba(161,131,95,.3);
  --max:1240px;
  --pad:clamp(20px,5vw,72px);
  --serif:"Bodoni Moda",Georgia,"Times New Roman",serif;
  --sans:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gutter:max(var(--pad),calc((100vw - var(--max)) / 2));
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
img,svg{display:block}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}

/* ---------- header ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:40;border-bottom:1px solid transparent;transition:background .5s,border-color .5s,backdrop-filter .5s}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:96px;padding-inline:var(--gutter);transition:height .5s cubic-bezier(.2,.7,.2,1)}
.top.is-stuck{background:rgba(252,250,246,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.top.is-stuck .top__in{height:72px}
.logo{display:flex;align-items:center;gap:.35em;height:56px;font-size:2.2rem;color:var(--ink);transition:height .5s,font-size .5s}
.top.is-stuck .logo{height:44px;font-size:1.75rem}
.logo__i{height:100%;width:auto;fill:var(--bronze);fill-rule:evenodd}
.logo__t{display:flex;flex-direction:column;align-items:flex-start;gap:.14em}
.logo__w{height:.9em;width:auto;fill:currentColor;fill-rule:evenodd}
.logo__g{height:.26em;width:auto;fill:var(--bronze);fill-rule:evenodd;margin-left:.04em}

/* ---------- button ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;overflow:hidden;min-height:56px;padding:0 32px;border-radius:999px;
  background:var(--navy);color:var(--bg);font-family:var(--sans);font-weight:500;font-size:16px;letter-spacing:.01em;line-height:1.2;
  box-shadow:0 14px 34px -14px rgba(49,65,80,.7);transition:box-shadow .3s,transform .3s;will-change:transform}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(219,199,166,.55) 50%,transparent 65%);transform:translateX(-120%);animation:sheen 6s ease-in-out 2s infinite}
@keyframes sheen{0%,72%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.btn:hover{box-shadow:0 18px 40px -12px rgba(49,65,80,.85)}
.btn--sm{min-height:46px;padding:0 24px;font-size:14.5px}
.btn__t,.btn svg{position:relative;z-index:1}
.btn svg{flex:none}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;column-gap:clamp(32px,4vw,72px);
  padding:124px var(--gutter) 72px;
  background:radial-gradient(900px 640px at 82% 42%,rgba(219,199,166,.38),transparent 70%),radial-gradient(700px 520px at 4% 100%,rgba(219,199,166,.28),transparent 70%),var(--bg)}
.ghost{position:absolute;pointer-events:none;fill:var(--bronze);fill-rule:evenodd}
.ghost--l{left:calc(var(--gutter) - 96px);top:120px;height:min(640px,78vh);width:auto;opacity:.07;animation:ghostf 14s ease-in-out infinite alternate}
@keyframes ghostf{from{transform:translateY(0)}to{transform:translateY(-16px)}}
.waves{position:absolute;inset:auto 0 0 0;width:100%;height:62%;pointer-events:none}
.waves path{fill:none;stroke:var(--bronze);stroke-width:1.1;opacity:.28;stroke-dasharray:1;stroke-dashoffset:1;animation:wdraw 16s ease-in-out infinite}
.waves path:nth-child(2){animation-delay:-4s;opacity:.2}
.waves path:nth-child(3){animation-delay:-9s;opacity:.18}
@keyframes wdraw{0%{stroke-dashoffset:1}45%,55%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}

.hero__copy{position:relative;z-index:3;max-width:600px}
.h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.3vw,62px);line-height:1.08;letter-spacing:-.012em;color:var(--ink);text-wrap:balance}
.h1 em{font-style:italic;color:var(--bronze-d)}
.h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .14em;margin:0 -.04em -.14em}
.h1 .wi{display:inline-block;transform:translateY(112%);animation:wrise 1.1s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.2s + var(--i) * .06s)}
@keyframes wrise{to{transform:none}}
.lead{margin-top:28px;max-width:30em;font-weight:300;font-size:clamp(17px,1.45vw,20px);line-height:1.65;color:var(--mute);opacity:0;animation:fadeup 1s 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.cta-row{margin-top:34px;opacity:0;animation:fadeup 1s 1.3s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes fadeup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.cred{list-style:none;display:flex;flex-wrap:wrap;gap:6px 0;margin-top:40px;padding-top:22px;border-top:1px solid var(--line);opacity:0;animation:fadeup 1s 1.5s cubic-bezier(.2,.7,.2,1) forwards}
.cred li{font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-d)}
.cred li+li::before{content:"";display:inline-block;width:4px;height:4px;margin:0 16px 2px;border-radius:50%;background:var(--sand2)}

/* ---------- stage ---------- */
.stage{position:relative;z-index:2;width:100%;max-width:560px;justify-self:end;aspect-ratio:560/640}
.stage [data-depth]{will-change:transform;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.stage__arch{position:absolute;left:12%;right:12%;top:8%;bottom:0;border-radius:999px 999px 0 0;
  background:linear-gradient(180deg,#f3e8d6 0%,#e6d5b8 55%,var(--sand) 100%);box-shadow:inset 0 0 0 1px rgba(161,131,95,.25),0 40px 80px -40px rgba(161,131,95,.55);
  clip-path:inset(100% 0 0 0);animation:archup 1.5s .15s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes archup{to{clip-path:inset(0 0 0 0)}}
.stage__arch2{position:absolute;left:5%;right:5%;top:2%;bottom:0;border:1px solid var(--line);border-bottom:0;border-radius:999px 999px 0 0;opacity:0;animation:fadein 1.2s 1s forwards,breathe 7s ease-in-out 2s infinite}
@keyframes fadein{to{opacity:1}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.014)}}
.stage__line{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.stage__line path{fill:none;stroke:var(--bronze);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1;opacity:.55;animation:ldraw 9s ease-in-out 1.2s infinite}
.stage__line path:nth-child(2){animation-delay:2s;opacity:.35}
@keyframes ldraw{0%{stroke-dashoffset:1}40%,60%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
.stage__img{position:absolute;left:47%;bottom:0;height:101%;width:auto;max-width:none;transform:translateX(-50%);opacity:0;animation:imgin 1.4s .6s cubic-bezier(.2,.7,.2,1) forwards;filter:drop-shadow(0 24px 30px rgba(34,46,59,.16))}
@keyframes imgin{from{opacity:0;margin-bottom:-24px}to{opacity:1;margin-bottom:0}}
.dot{position:absolute;border-radius:50%;background:var(--bronze);opacity:.55}
.d1{left:6%;top:30%;width:9px;height:9px;animation:float 7s ease-in-out infinite}
.d2{right:4%;top:18%;width:6px;height:6px;animation:float 9s ease-in-out -2s infinite}
.d3{right:9%;bottom:24%;width:11px;height:11px;background:var(--sand2);animation:float 8s ease-in-out -4s infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

.scroll{position:absolute;left:50%;bottom:22px;width:38px;height:38px;margin-left:-19px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;z-index:4;color:var(--bronze)}
.scroll::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);animation:nudge 1.8s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:rotate(45deg) translate(-1px,-1px)}50%{transform:rotate(45deg) translate(3px,3px)}}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .hero{grid-template-columns:1fr;align-items:start;padding-top:112px;row-gap:44px}
  .hero__copy{max-width:none}
  .stage{justify-self:center;max-width:440px}
  .scroll{display:none}
  .ghost--l{opacity:.05}
}
@media (max-width:700px){
  .top__in{height:76px}
  .top.is-stuck .top__in{height:64px}
  .logo{height:46px;font-size:1.8rem}
  .top.is-stuck .logo{height:38px;font-size:1.5rem}
  .top .btn{display:none}
  .hero{padding-top:100px;padding-bottom:56px}
  .cta-row .btn{width:100%;justify-content:center;text-align:center;padding:12px 24px}
  .cred li{font-size:11.5px;letter-spacing:.12em}
  .cred li+li::before{margin:0 11px 2px}
  .stage{max-width:380px}
}


/* =====================================================================
   Sections
   ===================================================================== */
.sec{position:relative;padding:clamp(72px,10vw,150px) var(--gutter)}
.rv{opacity:0;transform:translateY(24px);filter:blur(5px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),filter 1s;transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none;filter:none}
html:not(.js) .rv{opacity:1;transform:none;filter:none}

.h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.5vw,50px);line-height:1.12;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.h2 em{font-style:italic;color:var(--bronze-d)}
.h2 .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .14em;margin:0 -.04em -.14em}
.h2 .wi{display:inline-block;transform:translateY(112%);transition:transform 1.1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * 45ms)}
.h2.in .wi{transform:none}
html:not(.js) .h2 .wi{transform:none}
.sec p{font-weight:300;font-size:clamp(16.5px,1.35vw,19px);line-height:1.75;color:var(--mute)}
.sec p.lead{font-size:clamp(18px,1.6vw,22px);line-height:1.7;color:var(--ink);font-weight:300;margin-top:0;animation:none;opacity:0}
.sec p.lead.in{opacity:1}
.sec p+p{margin-top:1.2em}
.sec strong{font-weight:500;color:var(--ink)}
.sec a{color:var(--bronze-d);text-decoration:underline;text-decoration-color:rgba(134,105,63,.4);text-underline-offset:3px}
.sec a.btn,.sec a.card__a{text-decoration:none}
[data-spot]{--mx:50%;--my:0%;position:relative}
[data-spot]::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(360px circle at var(--mx) var(--my),rgba(219,199,166,.4),transparent 62%)}
[data-spot]:hover::before{opacity:1}

.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.split__h{position:sticky;top:130px}
.head{max-width:760px;margin-bottom:clamp(36px,5vw,64px)}
.head .lead,.head p{margin-top:24px}
.cta-c{margin-top:clamp(36px,5vw,64px);display:flex;justify-content:center}

/* ---- the "fio": a bronze thread that follows the reading ---- */
.fio{position:fixed;left:max(10px,calc(var(--gutter) / 2 - 12px));top:22vh;height:56vh;width:2px;z-index:20;background:rgba(161,131,95,.18);border-radius:2px;pointer-events:none}
.fio__fill{position:absolute;left:0;top:0;width:100%;height:calc(var(--fp,0) * 100%);background:linear-gradient(var(--bronze),var(--sand2));border-radius:2px}
.fio b{position:absolute;left:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--bg);border:1.5px solid var(--sand2);transition:.5s}
.fio b.on{background:var(--bronze);border-color:var(--bronze);box-shadow:0 0 0 5px rgba(161,131,95,.16)}

/* ---- identificação / por que não resolveu ---- */
.sec--ident{background:linear-gradient(180deg,var(--bg),var(--bg2))}
.sec--ident .split__b p:not(.lead){max-width:36em}
.solto{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,96px);align-items:center}
.solto__t p{margin-top:1.3em;max-width:36em}
.solto__t .h2{margin-bottom:.4em}
.threads{position:sticky;top:12vh;width:100%;max-width:440px;justify-self:center}
.threads svg{width:100%;height:auto;overflow:visible}
.th{fill:none;stroke:var(--bronze);stroke-width:2;stroke-linecap:round;transform-box:fill-box;transform-origin:center;animation:gather 11s cubic-bezier(.6,0,.2,1) infinite}
.th:nth-of-type(2){animation-delay:.18s}.th:nth-of-type(3){animation-delay:.36s}.th:nth-of-type(4){animation-delay:.54s}.th:nth-of-type(5){animation-delay:.72s}
@keyframes gather{
  0%,6%{transform:translate(calc(var(--dx) * 1px),calc(var(--dy) * 1px)) rotate(calc(var(--r) * 1deg));opacity:.4}
  36%,74%{transform:none;opacity:1}
  100%{transform:translate(calc(var(--dx) * 1px),calc(var(--dy) * 1px)) rotate(calc(var(--r) * 1deg));opacity:.4}}
.th-n{fill:var(--bronze);animation:thn 11s ease-in-out infinite}
@keyframes thn{0%,30%{opacity:0}40%,72%{opacity:1}84%,100%{opacity:0}}
.bead{fill:var(--bronze);filter:drop-shadow(0 0 7px rgba(161,131,95,.9));animation:thn 11s ease-in-out infinite}

/* ---- steps (method, journey) ---- */
.steps{list-style:none;position:relative;display:grid;gap:30px;max-width:860px;margin-top:8px}
.steps::before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:1.5px;background:var(--line)}
.steps::after{content:"";position:absolute;left:27px;top:28px;width:1.5px;height:calc((100% - 56px) * var(--p,0));background:linear-gradient(var(--bronze),var(--sand2))}
.steps li{position:relative;display:grid;grid-template-columns:56px 1fr;gap:24px;align-items:start}
.steps li>i{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--bg);border:1.5px solid var(--sand2);font-family:var(--serif);font-style:normal;font-size:22px;color:var(--bronze-d);transition:.6s}
.steps li.on>i{background:var(--bronze);border-color:var(--bronze);color:var(--bg);box-shadow:0 0 0 7px rgba(161,131,95,.14)}
.steps h3{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2vw,27px);line-height:1.25;color:var(--ink);padding-top:11px}
.steps p{margin-top:8px;max-width:38em}
.steps--h{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-top:34px}
.steps--h::before{left:28px;right:28px;top:28px;bottom:auto;width:auto;height:1.5px}
.steps--h::after{left:28px;top:28px;width:calc((100% - 56px) * var(--p,0));height:1.5px}
.steps--h li{grid-template-columns:1fr;gap:20px;padding-top:0}
.steps--h li>div{padding-top:0}
.steps--h h3{padding-top:0;font-size:clamp(19px,1.6vw,24px)}
.steps--h{padding-top:0}

/* ---- chips (sinais) ---- */
.chipsl{list-style:none;display:flex;flex-wrap:wrap;gap:12px}
.chipsl li{padding:13px 22px;border-radius:999px;border:1px solid var(--line);background:rgba(255,253,249,.8);font-size:16.5px;color:var(--ink);font-weight:300}
.sec--sinais .closing,.sec--sinais p{margin-top:28px}

/* ---- plans ---- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end}
.plan{position:relative;padding:30px 26px 30px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(180deg,#fffdf9,#f8f1e5);min-height:calc(300px + var(--lvl) * 56px);display:flex;flex-direction:column}
.plan__d{align-self:flex-start;padding:5px 14px;border-radius:999px;background:rgba(161,131,95,.14);color:var(--bronze-d);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.plan h3{margin-top:18px;font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.15}
.dots{display:grid;gap:8px;margin:20px 0 6px}
.dots span{display:flex;flex-wrap:wrap;gap:7px}
.dots i{display:block;width:14px;height:14px;border-radius:50%;animation:dotp 4.5s ease-in-out infinite}
.dots .d-m{background:var(--bronze)}
.dots .d-n{border:1.5px solid var(--bronze);background:transparent}
.dots i:nth-child(2n){animation-delay:-1.2s}.dots i:nth-child(3n){animation-delay:-2.4s}
@keyframes dotp{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}}
.plan p{margin-top:auto;padding-top:18px;font-size:15.5px;line-height:1.65}
.sec--planos>p{margin-top:36px;max-width:40em}

/* ---- who (product) ---- */
.who{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,80px);align-items:center;max-width:1040px;margin-inline:auto}
.who__arch{position:relative;aspect-ratio:3/4;max-width:340px;width:100%;justify-self:center}
.who__bg{position:absolute;inset:6% 6% 0;border-radius:999px 999px 0 0;background:linear-gradient(180deg,#f3e8d6,var(--sand));box-shadow:inset 0 0 0 1px rgba(161,131,95,.25)}
.who__arch img{position:absolute;left:50%;bottom:0;height:104%;width:auto;max-width:none;transform:translateX(-50%)}
.who__n{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px)!important;line-height:1.3!important;color:var(--ink)!important}
.who__t p+p{margin-top:16px}

/* ---- safety ---- */
.sec--seguro{background:linear-gradient(180deg,var(--bg2),var(--bg))}
.safe{max-width:760px;margin-inline:auto;text-align:center}
.safe .h2{margin:22px auto 0;max-width:16em}
.safe p{margin:26px auto 0;max-width:36em}
.shield{margin-inline:auto;fill:none;stroke:var(--bronze);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.draw path,.draw circle{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.3,.7,.2,1) .2s}
.in .draw path,.in .draw circle,.draw.in path{stroke-dashoffset:0}
html:not(.js) .draw path{stroke-dashoffset:0}

/* ---- band ---- */
.sec--band{padding-block:clamp(40px,5vw,72px)}
.band{display:flex;justify-content:center;position:relative}
.band::before,.band::after{content:"";position:absolute;top:50%;height:1px;width:calc(50% - 220px);background:var(--line)}
.band::before{left:0}.band::after{right:0}

/* ---- checks ---- */
.checks{list-style:none;display:grid;gap:16px}
.checks li{display:grid;grid-template-columns:26px 1fr;gap:16px;align-items:start;font-weight:300;font-size:clamp(16.5px,1.4vw,19px);line-height:1.6;color:var(--ink)}
.tick{margin-top:1px}
.tick circle,.tick path{fill:none;stroke:var(--bronze);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s cubic-bezier(.3,.7,.2,1) calc(var(--d,0s) + .3s)}
.in .tick circle,.in .tick path{stroke-dashoffset:0}
html:not(.js) .tick circle,html:not(.js) .tick path{stroke-dashoffset:0}
.sec--fit .closing{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.sec--fit .closing p{font-family:var(--serif);font-style:italic;font-size:clamp(19px,1.8vw,24px);line-height:1.5;color:var(--bronze-d)}
.inc{max-width:1000px;margin-inline:auto;padding:clamp(28px,4vw,56px);border-radius:30px;border:1px solid var(--line);background:linear-gradient(160deg,#fffdf9,#f8f1e5)}
.inc .h2{margin-bottom:34px}
.checks--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 40px}

/* ---- faq ---- */
.faqw{max-width:860px;margin-inline:auto}
.acc__i{border-top:1px solid var(--line)}
.acc__i:last-child{border-bottom:1px solid var(--line)}
.acc__i button{all:unset;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 4px;min-height:44px;cursor:pointer;font-family:var(--serif);font-size:clamp(19px,1.9vw,24px);line-height:1.3;color:var(--ink)}
.acc__i button:hover{color:var(--bronze-d)}
.acc__i button:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.acc__i button i{position:relative;flex:none;width:22px;height:22px}
.acc__i button i::before,.acc__i button i::after{content:"";position:absolute;left:3px;right:3px;top:50%;height:1.5px;background:var(--bronze);transition:transform .4s}
.acc__i button i::after{transform:rotate(90deg)}
.acc__i button[aria-expanded=true] i::after{transform:rotate(0)}
.acc__p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1)}
.acc__p>div{min-height:0;overflow:hidden}
.acc__p p{padding:0 4px 28px;max-width:42em}
.acc__i.open .acc__p{grid-template-rows:1fr}

/* ---- final ---- */
.sec--final{overflow:hidden;text-align:center;background:radial-gradient(800px 460px at 50% 60%,rgba(219,199,166,.5),transparent 70%),var(--bg2)}
.sec--final::before{content:"";position:absolute;left:50%;bottom:-30%;width:min(720px,90vw);aspect-ratio:1/1.1;transform:translateX(-50%);border-radius:999px 999px 0 0;border:1px solid var(--line);animation:breathe 8s ease-in-out infinite;pointer-events:none}
.sec--final::after{content:"";position:absolute;left:50%;bottom:-30%;width:min(560px,74vw);aspect-ratio:1/1.1;transform:translateX(-50%);border-radius:999px 999px 0 0;border:1px solid var(--line);opacity:.7;pointer-events:none}
.final{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.final__t{font-family:var(--serif)!important;font-size:clamp(30px,4.4vw,62px)!important;line-height:1.1!important;color:var(--ink)!important;max-width:15em;text-wrap:balance}
.final__t em{font-style:italic;color:var(--bronze-d)}
.final p:not(.final__t){margin-top:24px;max-width:32em}
.final .btn{margin-top:34px}
.btn--xl{min-height:64px;padding:0 40px;font-size:17.5px}
.btn--xl::before{content:"";position:absolute;inset:-2px;border-radius:inherit;border:1.5px solid var(--bronze);animation:halo 2.8s ease-out infinite;pointer-events:none}
.btn--xl{overflow:visible}
@keyframes halo{from{transform:scale(1);opacity:.7}to{transform:scale(1.14,1.5);opacity:0}}

/* ---- institutional ---- */
.who2{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,6vw,96px);align-items:center}
.who2__t p+p{margin-top:1.2em}
.who2__t .h2{margin-bottom:28px}
.creds{list-style:none;display:grid;gap:12px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.creds li{display:grid;grid-template-columns:26px 1fr;gap:14px;align-items:center;font-weight:400;font-size:16px;color:var(--ink)}
.vid{position:relative;margin:0;justify-self:center;width:min(100%,360px)}
.vid__arch{position:relative;aspect-ratio:9/15.5;border-radius:999px 999px 28px 28px;overflow:hidden;background:var(--sand);box-shadow:0 40px 80px -36px rgba(161,131,95,.7),inset 0 0 0 1px rgba(161,131,95,.3)}
.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vid__snd{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);min-height:44px;padding:0 20px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:rgba(34,46,59,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:inherit;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}
.vid__snd[aria-pressed=true]{background:var(--bronze)}
.team{display:grid;grid-template-columns:130px 1fr;gap:26px;align-items:center;padding:24px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(160deg,#fffdf9,#f8f1e5)}
.team__img{position:relative;aspect-ratio:3/4;border-radius:999px 999px 14px 14px;overflow:hidden;background:linear-gradient(180deg,#f3e8d6,var(--sand))}
.team__img img{position:absolute;left:50%;bottom:0;height:106%;width:auto;max-width:none;transform:translateX(-50%)}
.team h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.2vw,30px);line-height:1.2}
.team p{margin-top:6px!important;font-size:16px!important}
.team span{display:inline-block;margin-top:10px;padding:5px 14px;border-radius:999px;background:rgba(161,131,95,.14);color:var(--bronze-d);font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.card{display:flex;flex-direction:column;padding:32px 30px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(170deg,#fffdf9,#f8f1e5);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(161,131,95,.6)}
.card__i{width:38px;height:38px;fill:none;stroke:var(--bronze);stroke-width:1.2;stroke-linecap:round;margin-bottom:20px}
.card h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.3vw,31px);line-height:1.15}
.card p{margin-top:10px;font-size:16px}
.card ul{list-style:none;margin:18px 0 0;display:grid;gap:9px}
.card li{position:relative;padding-left:20px;font-weight:300;font-size:15.5px;line-height:1.5;color:var(--ink)}
.card li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--bronze)}
.card__a{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:26px;min-height:44px;font-weight:500;font-size:15.5px;color:var(--bronze-d)!important}
.card__a svg{transition:transform .4s}
.card__a:hover svg{transform:translateX(6px)}
.card--wide{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(160deg,#f3e8d6,var(--sand));border-color:rgba(161,131,95,.4)}
.card--wide h3{font-size:clamp(23px,2.2vw,30px)}
.card--wide p{max-width:34em}
.card--wide .btn{flex:none}
.info{display:grid;gap:0}
.info__r{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.info__r:last-child{border-bottom:1px solid var(--line)}
.info dt{font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-d);padding-top:4px}
.info dd{font-family:var(--serif);font-size:clamp(19px,1.8vw,24px);line-height:1.4;color:var(--ink)}
.info dd a{text-decoration:none}
.gal{margin:clamp(48px,6vw,88px) calc(var(--gutter) * -1) 0;overflow:hidden}
.gal__t{display:flex;gap:18px;width:max-content;animation:gal 60s linear infinite}
.gal img{width:clamp(220px,24vw,340px);aspect-ratio:1;object-fit:cover;border-radius:24px 24px 24px 24px}
.gal img:nth-child(2n){border-radius:999px 999px 24px 24px}
@keyframes gal{to{transform:translateX(calc(-50% - 9px))}}

/* ---- footer ---- */
.foot{padding:56px var(--gutter) 64px;border-top:1px solid var(--line);background:var(--bg)}
.foot__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;align-items:flex-start}
.logo--s{height:46px;font-size:1.8rem}
.foot__meta{font-size:14.5px;line-height:1.9;color:var(--mute);font-weight:300;max-width:34em}
.foot__meta a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(161,131,95,.45);text-underline-offset:3px;display:inline-block;padding:11px 0}

/* ---- mobile bar ---- */
.mbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:45;display:none}
.mbar.show{display:block}
.mbar .btn{width:100%;justify-content:center;text-align:center;min-height:56px}

/* ---- responsive ---- */
@media (max-width:980px){
  .split,.solto,.who,.who2{grid-template-columns:1fr}
  .split__h,.threads{position:static}
  .threads{max-width:340px;margin-top:8px}
  .plans{grid-template-columns:1fr}
  .plan{min-height:0}
  .steps--h{grid-template-columns:1fr;gap:30px}
  .steps--h::before{left:27px;right:auto;top:28px;bottom:28px;width:1.5px;height:auto}
  .steps--h::after{left:27px;top:28px;width:1.5px;height:calc((100% - 56px) * var(--p,0))}
  .steps--h li{grid-template-columns:56px 1fr;gap:24px}
  .steps--h h3{padding-top:11px}
  .checks--2{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .card--wide{flex-direction:column;align-items:flex-start}
  .who__arch{max-width:260px}
  .band::before,.band::after{display:none}
}
@media (max-width:700px){
  .sec{padding-block:64px}
  .fio{top:30vh;height:40vh;left:7px}
  .info__r{grid-template-columns:1fr;gap:6px}
  .team{grid-template-columns:96px 1fr;gap:18px;padding:18px}
  .steps li{grid-template-columns:46px 1fr;gap:16px}
  .steps li>i{width:46px;height:46px;font-size:19px}
  .steps::before,.steps::after,.steps--h::before,.steps--h::after{left:22px}
  .steps h3{padding-top:8px}
  .btn--xl{width:100%;justify-content:center;padding:0 24px;min-height:62px}
  .card{padding:26px 22px}
  .final .btn{width:100%}
  .foot{padding-bottom:110px}
  .gal img{width:62vw}
}

.who2 .who__arch{max-width:400px;justify-self:center}
.sec a.btn,.sec a.btn:hover{color:var(--bg);text-decoration:none}


/* ---- always-on motion (every section moves on its own, not only when scrolled) ---- */
.steps li.on>i{animation:ringp 3.4s ease-out infinite}
@keyframes ringp{0%{box-shadow:0 0 0 0 rgba(161,131,95,.38)}70%,100%{box-shadow:0 0 0 16px rgba(161,131,95,0)}}
.shield{animation:breath 5s ease-in-out infinite;transform-origin:50% 55%}
@keyframes breath{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.who__arch img,.team__img img{animation:bob 7s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}
.chipsl li,.plan,.card{animation:bobt 7s ease-in-out infinite}
.chipsl li:nth-child(2n),.plan:nth-child(2),.card:nth-child(2n){animation-delay:-2.3s}
.chipsl li:nth-child(3n),.plan:nth-child(3),.card:nth-child(3n){animation-delay:-4.6s}
@keyframes bobt{0%,100%{translate:0 0}50%{translate:0 -5px}}
.sec--ident,.sec--fit,.sec--sinais,.sec--metodo,.sec--jornada,.sec--solto,.sec--inclui,.sec--seguro,.sec--planos,.sec--ajudar,.sec--equipe,.sec--onde{overflow:clip}
.sec--ident::before,.sec--fit::before,.sec--sinais::before,.sec--inclui::before,.sec--equipe::before{content:"";position:absolute;right:-90px;top:10%;width:min(280px,28vw);aspect-ratio:1/1.2;border:1px solid var(--line);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none;animation:breathe 9s ease-in-out infinite}
.sec--metodo::before,.sec--jornada::before,.sec--seguro::before,.sec--planos::before,.sec--ajudar::before,.sec--onde::before,.sec--solto::before{content:"";position:absolute;left:-90px;bottom:8%;width:min(260px,26vw);aspect-ratio:1/1.2;border:1px solid var(--line);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none;animation:breathe 10s ease-in-out -3s infinite}
.sec--ident::after,.sec--metodo::after,.sec--fit::after,.sec--jornada::after,.sec--seguro::after,.sec--planos::after,.sec--ajudar::after,.sec--sinais::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--bronze);opacity:.5;left:6%;bottom:10%;pointer-events:none;animation:float 8s ease-in-out infinite}
.sec--metodo::after,.sec--jornada::after,.sec--planos::after{left:auto;right:7%;top:12%;bottom:auto;width:7px;height:7px;background:var(--sand2);animation-delay:-3s}


/* ===== round 4: portrait, team, chat, method motion ===== */
.portrait{margin:0;position:relative;aspect-ratio:3/4;width:100%;max-width:380px;justify-self:center;border-radius:999px 999px 28px 28px;overflow:hidden;
  border:1px solid rgba(161,131,95,.35);box-shadow:0 40px 80px -36px rgba(161,131,95,.7)}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;animation:kenburns 16s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.07)}}
.who .portrait{max-width:340px}

.equipe{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:center}
.equipe__t .h2{font-size:clamp(34px,4.4vw,62px)}
.equipe__t p{font-size:clamp(19px,1.75vw,24px);line-height:1.7;margin-top:26px;max-width:28em;color:var(--mute)}
.equipe__f{position:relative;margin:0;justify-self:center;width:100%;max-width:520px}
.equipe__img{aspect-ratio:4/5;border-radius:999px 999px 30px 30px;overflow:hidden;box-shadow:0 40px 80px -36px rgba(161,131,95,.7);border:1px solid rgba(161,131,95,.35)}
.equipe__img img{width:100%;height:100%;object-fit:cover;animation:kenburns 18s ease-in-out infinite alternate}
.team2{position:absolute;left:-40px;bottom:0;max-width:88%;padding:26px 34px 28px;border-radius:26px;background:rgba(255,253,249,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(34,46,59,.55)}
.team2 h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,36px);line-height:1.15;color:var(--ink)}
.team2 p{margin-top:6px!important;font-size:19px!important;color:var(--mute)}
.team2 span{display:inline-block;margin-top:14px;padding:7px 18px;border-radius:999px;background:rgba(161,131,95,.14);color:var(--bronze-d);font-size:13.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}

.journey{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,96px);align-items:start}
.journey__t .h2{margin-bottom:38px}
.chat{margin:0;position:sticky;top:120px;justify-self:center;width:min(100%,410px);border-radius:30px;overflow:hidden;border:1px solid var(--line);background:#efe4d2;box-shadow:0 40px 80px -40px rgba(161,131,95,.65)}
.chat__bar{display:flex;align-items:center;gap:14px;padding:16px 22px;background:var(--navy);color:var(--bg)}
.chat__bar b{font-weight:500;font-size:17.5px}
.chat__av{width:42px;height:42px;border-radius:50%;background:var(--bg);display:grid;place-items:center;flex:none}
.chat__av svg{height:27px;width:auto;fill:var(--bronze);fill-rule:evenodd}
.chat__body{padding:28px 18px 32px;min-height:310px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(#f7f0e4,#efe4d2)}
.chat__m{align-self:flex-end;max-width:92%;padding:15px 19px;border-radius:20px 20px 4px 20px;background:#fffdf9;color:var(--ink);font-size:clamp(16.5px,1.4vw,19px);line-height:1.55;font-weight:300;
  box-shadow:0 10px 24px -16px rgba(34,46,59,.5);opacity:0;transition:opacity .35s;min-height:26px}
.chat__m.show{opacity:1}
.chat__tk{color:#3f8fc9;margin-left:8px;font-size:14px;letter-spacing:-.1em}
.chat__typing{align-self:flex-start;display:flex;gap:6px;padding:15px 19px;border-radius:20px 20px 20px 4px;background:var(--navy);opacity:0;transition:opacity .3s}
.chat__typing.show{opacity:1}
.chat__typing i{width:8px;height:8px;border-radius:50%;background:var(--sand);animation:cdot 1s infinite}
.chat__typing i:nth-child(2){animation-delay:.15s}.chat__typing i:nth-child(3){animation-delay:.3s}
@keyframes cdot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}

/* method / journey: always moving */
.steps::before{background:linear-gradient(180deg,var(--line) 0%,var(--line) 38%,rgba(161,131,95,.95) 50%,var(--line) 62%,var(--line) 100%);background-size:100% 300%;animation:glint 5.5s linear infinite}
@keyframes glint{from{background-position:0 100%}to{background-position:0 -100%}}
.steps li>i{animation:stepflash 9s ease-in-out infinite}
.steps li:nth-child(2)>i{animation-delay:1.1s}.steps li:nth-child(3)>i{animation-delay:2.2s}.steps li:nth-child(4)>i{animation-delay:3.3s}
.steps li:nth-child(5)>i{animation-delay:4.4s}.steps li:nth-child(6)>i{animation-delay:5.5s}.steps li:nth-child(7)>i{animation-delay:6.6s}
@keyframes stepflash{0%,100%{box-shadow:0 0 0 0 rgba(161,131,95,0)}7%{box-shadow:0 0 0 13px rgba(161,131,95,.3)}15%{box-shadow:0 0 0 0 rgba(161,131,95,0)}}
.steps li.on>i{animation:stepflash 9s ease-in-out infinite}
.steps li>div{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.steps li.on>div{transform:translateX(6px)}

@media (max-width:980px){
  .equipe,.journey{grid-template-columns:1fr}
  .chat{position:static}
  .team2{position:relative;left:0;max-width:none;margin:-64px 14px 0}
  .equipe__f{padding-bottom:0}
  .equipe__img{aspect-ratio:1/1}
}
