/* Thyago Nishino — Saúde Integrada · desenvolvido por Avory */
:root{
  --porcelain:#f3f2ef;
  --porcelain-2:#eae8e4;
  --ink:#1d1e20;
  --body:#45464a;
  --stone:#68696d;
  --line:rgba(29,30,32,.14);
  --graphite:#2c2e31;
  --graphite-3:#232528;
  --snow:#f4f3f0;
  --mist:#b9b8b4;
  --line-d:rgba(244,243,240,.14);
  --champagne:#cdbd9e;
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Bodoni Moda","Bodoni 72","Didot",Georgia,serif;
  --brand:"Montserrat","Geist",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --gutter:clamp(20px,4.2vw,56px);
  --maxw:1280px;
  --nav-h:72px;
  --gap:clamp(24px,3vw,48px);
  --fs-body:clamp(1rem,.97rem + .15vw,1.0625rem);
  --fs-h2:clamp(2.3rem,1.2rem + 3.6vw,4.8rem);
  --sec:clamp(104px,11vw,184px);
  --r:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:96px}
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);font-weight:350;line-height:1.62;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
p,dl,dd{margin:0}
h1,h2,h3{margin:0;font-weight:inherit}
ul,ol{margin:0;padding:0;list-style:none}
::selection{background:var(--graphite);color:var(--snow)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--ink);color:var(--snow);padding:10px 16px;transition:top .2s}
.skip:focus{top:16px}
[tabindex="-1"]:focus{outline:none}
:focus-visible{outline:1.5px solid currentColor;outline-offset:4px}
.wrap{width:min(var(--maxw),100% - 2*var(--gutter));margin-inline:auto}

/* Tipografia */
.h2{font-size:var(--fs-h2);font-weight:230;letter-spacing:-.045em;line-height:1.02;max-width:17ch;text-wrap:balance}
.hl{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;font-size:1.03em;font-variation-settings:"opsz" 72}
.lead{margin-top:28px;font-size:clamp(1.05rem,.98rem + .3vw,1.2rem);line-height:1.6;color:var(--stone);max-width:46ch;text-wrap:pretty}
[data-theme="dark"] .lead{color:var(--mist)}

/* Botões e links */
.btn{--bg:var(--ink);--fg:var(--snow);--hv:#3a3c40;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:16px;height:56px;padding:0 22px 0 26px;border-radius:var(--r);background:var(--bg);color:var(--fg);font-size:.95rem;font-weight:450;letter-spacing:.005em;border:0;cursor:pointer;overflow:hidden;isolation:isolate;white-space:nowrap}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--hv);transform:scaleX(0);transform-origin:right;transition:transform .7s var(--ease)}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn__arrow{width:18px;height:18px;flex:none;transition:transform .6s var(--ease)}
.btn:hover .btn__arrow{transform:translate(3px,-3px)}
.btn--light{--bg:var(--snow);--fg:var(--ink);--hv:#ffffff}
.btn--block{width:100%;justify-content:space-between}
.btn--nav{height:40px;padding:0 14px 0 18px;font-size:.88rem;gap:12px}
.btn--nav .btn__arrow{width:15px;height:15px}
.link{display:inline-flex;align-items:center;gap:10px;font-size:.95rem;color:var(--ink)}
.link span{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:background-size .6s var(--ease)}
.link:hover span{background-size:0 1px;background-position:100% 100%}
.link svg{width:16px;height:16px;transition:transform .6s var(--ease)}
.link:hover svg{transform:translate(2px,-2px)}
[data-theme="dark"] .link{color:var(--snow)}

/* Navegação em vidro */
.nav{position:fixed;inset:0 0 auto;z-index:60;transition:transform .8s var(--ease),opacity .5s}
.nav.is-hidden{transform:translateY(-100%)}
.nav__bar{height:var(--nav-h);display:flex;align-items:center;gap:32px;padding-inline:max(var(--gutter),calc((100% - var(--maxw))/2));background:rgba(35,37,40,.6);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border-bottom:1px solid rgba(255,255,255,.08);color:var(--snow);transition:background .6s,color .6s,border-color .6s}
.nav.is-top .nav__bar{background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.nav[data-theme="light"] .nav__bar{background:rgba(244,243,240,.84);border-color:rgba(29,30,32,.08);color:var(--ink)}
.nav__brand{display:flex;align-items:center;gap:14px;margin-right:auto;min-height:44px}
.nav__mono{width:24px;height:27px;fill:currentColor}
.nav__name{font-family:var(--brand);font-weight:500;font-size:.7rem;letter-spacing:.34em;white-space:nowrap}
.nav__links{position:relative;display:flex;gap:6px}
.nav__links a{position:relative;padding:10px 12px;font-size:.9rem;opacity:.7;transition:opacity .3s}
.nav__links a:hover,.nav__links a:focus-visible,.nav__links a[aria-current="true"]{opacity:1}
.nav__ind{position:absolute;left:0;bottom:5px;width:1px;height:1px;background:currentColor;transform-origin:0 0;opacity:0;pointer-events:none;transition:transform .6s var(--ease),opacity .4s}
.nav__links.has-ind .nav__ind{opacity:1}
.nav__progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--champagne);transform-origin:0 0;transform:scaleX(0);pointer-events:none;transition:opacity .4s}
.nav.is-top .nav__progress{opacity:0}
.nav[data-theme="dark"] .btn--nav{--bg:var(--snow);--fg:var(--ink);--hv:#fff}
.nav[data-theme="light"] .btn--nav{--bg:var(--graphite);--fg:var(--snow);--hv:#3a3c40}
.nav__wa{display:none;width:44px;height:44px;place-items:center}
.nav__wa svg{width:21px;height:21px}
.nav__toggle{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;position:relative}
.nav__toggle span{position:absolute;left:11px;right:11px;height:1.2px;background:currentColor;transition:transform .5s var(--ease)}
.nav__toggle span:first-child{top:18px}.nav__toggle span:last-child{top:25px}
.nav__toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

.menu{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--nav-h) + 40px) var(--gutter) max(28px,env(safe-area-inset-bottom));background:var(--graphite-3);color:var(--snow);opacity:0;transition:opacity .5s var(--ease)}
.menu.is-open{opacity:1}
.menu[hidden]{display:none}
.menu__links{display:flex;flex-direction:column;border-top:1px solid var(--line-d)}
.menu__links a{font-size:clamp(2rem,9vw,3rem);font-weight:220;letter-spacing:-.04em;padding:10px 0;border-bottom:1px solid var(--line-d);transform:translateY(16px);opacity:0;transition:transform .7s var(--ease),opacity .7s var(--ease)}
.menu.is-open .menu__links a{transform:none;opacity:1}
.menu.is-open .menu__links a:nth-child(2){transition-delay:.04s}.menu.is-open .menu__links a:nth-child(3){transition-delay:.08s}.menu.is-open .menu__links a:nth-child(4){transition-delay:.12s}.menu.is-open .menu__links a:nth-child(5){transition-delay:.16s}
.menu__foot{display:flex;flex-direction:column;gap:18px;align-items:stretch}
.menu__foot .btn{justify-content:space-between}
.menu__links a{position:relative;display:flex;align-items:center}
.menu__links a::before{content:"";flex:none;width:0;height:7px;margin-right:0;background:var(--champagne);transition:width .5s var(--ease),margin-right .5s var(--ease)}
.menu__links a[aria-current="true"]::before{width:7px;margin-right:16px}
.menu__contact{display:grid;gap:6px;font-size:.92rem;color:var(--mist)}
.menu__contact a{overflow-wrap:anywhere}

/* Abertura */
.hero{position:relative;height:100svh;min-height:620px;display:grid;grid-template-columns:44fr 56fr;background:var(--graphite-3);color:var(--snow);overflow:hidden;isolation:isolate}
.hero__photo{position:absolute;inset:0 0 0 32%;overflow:hidden;z-index:0;will-change:transform}
.hero__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;transform-origin:50% 40%;will-change:transform}
.hero__veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--graphite-3) 36%,rgba(35,37,40,.92) 42%,rgba(35,37,40,.55) 52%,rgba(35,37,40,0) 66%),linear-gradient(0deg,rgba(35,37,40,.55),rgba(35,37,40,0) 30%)}
.hero__brand{grid-column:1;grid-row:1;z-index:2;display:grid;place-items:center;position:relative;will-change:transform,opacity;padding:calc(var(--nav-h) + 20px) var(--gutter) 40px}
.hero__brand::before{content:"";position:absolute;width:min(70vh,560px);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,250,240,.07),transparent);pointer-events:none}
.hero__logo{position:relative;width:clamp(240px,25vw,400px);margin:0;will-change:transform,opacity}
.logo{display:block;width:100%;height:auto;overflow:visible;fill:url(#lg-metal)}
.logo--shine{position:absolute;inset:0;height:100%;pointer-events:none;will-change:transform}
.logo__sub,.logo__name{font-family:var(--brand);font-weight:500}
.logo__sub{font-size:10.6px;opacity:.72}
.logo__name{font-size:17.4px}
.logo__shine{fill:#fffdf8}
.hero__cue{position:absolute;z-index:4;left:22%;bottom:34px;width:1px;height:56px;transform:translateX(-50%);background:rgba(244,243,240,.18);overflow:hidden}
.hero__cue span{position:absolute;left:0;top:0;width:1px;height:40%;background:linear-gradient(transparent,var(--snow));transform:translateY(-100%);animation:cue 2.6s var(--ease-io) infinite}
.hero.is-off .hero__cue span{animation-play-state:paused}
@keyframes cue{0%{transform:translateY(-100%)}70%,100%{transform:translateY(260%)}}
.hero--nophoto .hero__photo{background:radial-gradient(120% 90% at 70% 30%,#3a3d41,#232528)}
.hero--nophoto .hero__photo img{display:none}
.js .hero__photo img{opacity:0}
.js .hero__logo{opacity:0}
.js .nav{opacity:0}
.is-ready .nav{opacity:1;transition:opacity 1.2s var(--ease) .9s,transform .8s var(--ease)}

/* Manifesto */
.statement{position:relative;background:var(--graphite);color:var(--snow);height:240vh}
.statement__sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.statement__text{font-size:clamp(2rem,1.05rem + 3.7vw,4.6rem);font-weight:230;letter-spacing:-.04em;line-height:1.08;max-width:19ch;text-wrap:balance}
.statement__text .hl{font-size:1.02em}
.statement__cta{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:clamp(40px,5vw,64px)}
.statement__note{color:var(--mist);font-size:.95rem;max-width:30ch}
.js .statement__cta{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .statement__cta.is-in{opacity:1;transform:none}

/* Estrutura das seções */
.sec{padding-block:var(--sec)}
.sec__head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--gap);padding-top:28px;border-top:1px solid var(--line);margin-bottom:clamp(64px,8vw,120px)}
[data-theme="dark"] .sec__head{border-color:var(--line-d)}
.sec__label{display:flex;align-items:center;gap:12px;height:max-content;font-size:.875rem;color:var(--stone);padding-top:.5em}
.sec__label::before{content:"";width:6px;height:6px;background:var(--champagne);flex:none}
[data-theme="dark"] .sec__label{color:var(--mist)}

/* Sobre */
.about__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap);align-items:start}
.about__art{position:sticky;top:calc(var(--nav-h) + 48px);max-width:420px}
.draw{width:100%;height:auto;overflow:visible}
.draw__p{fill:var(--ink);fill-opacity:var(--fill,0);stroke:var(--ink);stroke-width:1.7;stroke-linejoin:round}
.about__lead{font-size:clamp(1.4rem,1.1rem + 1vw,2rem);font-weight:280;line-height:1.3;letter-spacing:-.02em;color:var(--ink);max-width:28ch;text-wrap:pretty}
.about__text p+p{margin-top:28px;color:var(--body);max-width:56ch}
.facts{margin-top:clamp(48px,5vw,72px);border-top:1px solid var(--line)}
.facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:.875rem;color:var(--stone);padding-top:2px}
.facts dd{font-size:1rem;color:var(--ink)}
.about__sign{margin-top:clamp(40px,5vw,64px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px}
.sign{font-family:var(--serif);font-style:italic;font-size:clamp(2.1rem,1.5rem + 1.8vw,3.1rem);line-height:1;letter-spacing:-.02em;font-variation-settings:"opsz" 96}

/* Para quem é */
.audience{background:var(--porcelain-2)}
.cols{display:grid;grid-template-columns:repeat(4,1fr)}
.cols li{padding:4px clamp(16px,2vw,32px) 0;border-left:1px solid var(--line)}
.cols li:first-child{padding-left:0;border-left:0}
.cols h3{font-size:clamp(1.15rem,1.05rem + .4vw,1.35rem);font-weight:400;letter-spacing:-.015em;line-height:1.3;margin-bottom:16px}
.cols p{color:var(--stone);font-size:.97rem;max-width:30ch}

/* Método */
.method{background:var(--graphite);color:var(--snow)}
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr)}
.timeline__track{position:absolute;left:0;right:0;top:0;height:1px;background:var(--line-d)}
.timeline__track span{position:absolute;inset:0;background:var(--snow);transform-origin:left;transform:scaleX(var(--p,0))}
.tl{position:relative;padding:44px clamp(16px,2vw,32px) 0}
.tl:nth-child(2){padding-left:0}
.tl+.tl{border-left:1px solid var(--line-d)}
.tl:nth-child(2)::before{left:-4px}
.tl::before{content:"";position:absolute;top:-4px;left:-5px;width:9px;height:9px;border-radius:50%;background:var(--graphite);border:1px solid var(--mist);transition:background .5s,border-color .5s,box-shadow .5s}
.tl.is-on::before{background:var(--snow);border-color:var(--snow);box-shadow:0 0 0 6px rgba(244,243,240,.08)}
.tl__n{display:block;font-size:clamp(2.4rem,1.8rem + 2vw,3.6rem);font-weight:150;letter-spacing:-.05em;line-height:1;color:var(--champagne);font-variant-numeric:tabular-nums;margin-bottom:32px}
.tl h3{font-size:clamp(1.15rem,1.05rem + .4vw,1.35rem);font-weight:400;letter-spacing:-.015em;margin-bottom:14px}
.tl p{color:var(--mist);font-size:.97rem;max-width:30ch}
.method__cta{margin-top:clamp(64px,7vw,104px)}

/* Especialidades */
.index{border-top:1px solid var(--line)}
.index__row{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) 32px;gap:var(--gap);align-items:center;padding:clamp(24px,2.6vw,38px) 0;border-bottom:1px solid var(--line);isolation:isolate}
.index__row::before{content:"";position:absolute;inset:0 -20px;z-index:-1;background:var(--porcelain-2);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease)}
.index__row:hover::before,.index__row:focus-visible::before{transform:scaleY(1)}
.index__name{font-size:clamp(1.6rem,1.1rem + 1.8vw,2.7rem);font-weight:230;letter-spacing:-.035em;line-height:1.1;transition:transform .7s var(--ease)}
.index__row:hover .index__name{transform:translateX(14px)}
.index__desc{color:var(--stone);font-size:.97rem;max-width:44ch}
.index__go{width:24px;height:24px;justify-self:end;transition:transform .7s var(--ease)}
.index__row:hover .index__go{transform:rotate(45deg)}

/* Dúvidas */
.faq{background:var(--porcelain-2)}
.faq__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--gap);align-items:start}
.faq__aside{position:sticky;top:calc(var(--nav-h) + 40px);display:grid;gap:20px;justify-items:start;color:var(--stone);font-size:.95rem;max-width:26ch}
.faq__list{border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;background:none;border:0;text-align:left;cursor:pointer;font-size:clamp(1.1rem,1rem + .5vw,1.4rem);font-weight:350;letter-spacing:-.015em;line-height:1.35}
.qa__q svg{width:22px;height:22px;flex:none;transition:transform .6s var(--ease)}
.qa__q[aria-expanded="true"] svg{transform:rotate(45deg)}
.qa__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.qa__a>div{overflow:hidden}
.qa__a p{padding-bottom:30px;color:var(--body);max-width:62ch;opacity:0;transform:translateY(-6px);transition:opacity .5s,transform .6s var(--ease)}
.qa.is-open .qa__a{grid-template-rows:1fr}
.qa.is-open .qa__a p{opacity:1;transform:none}

/* Agendamento */
.book{background:var(--graphite);color:var(--snow)}
.book__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(48px,8vw,140px);align-items:start}
.book__h{font-size:.875rem;color:var(--mist);font-weight:400;margin-bottom:14px}
.book__h~.book__h{margin-top:48px}
.rows{border-top:1px solid var(--line-d)}
.rows li{padding:16px 0;border-bottom:1px solid var(--line-d);font-size:1rem}
.rows--links li{padding:0}
.rows--links a{display:flex;justify-content:space-between;gap:16px;padding:16px 0;transition:padding .6s var(--ease)}
.rows--links a span:first-child{color:var(--mist)}
.rows--links a span:last-child{text-align:right;overflow-wrap:anywhere}
.rows--links a:hover{padding-left:10px}
.form{display:grid;gap:40px;align-content:start}
.field{display:grid;gap:6px;border:0;margin:0;padding:0;min-width:0}
.field label,.field legend{font-size:.875rem;color:var(--mist);padding:0}
.field input[type="text"],.select select{width:100%;height:58px;padding:0;border:0;border-bottom:1px solid rgba(244,243,240,.28);border-radius:0;background:transparent;color:var(--snow);font-size:clamp(1.15rem,1.05rem + .4vw,1.4rem);font-weight:280;letter-spacing:-.01em;outline:none;transition:border-color .4s}
.field input::placeholder{color:rgba(244,243,240,.32)}
.field input:focus-visible,.select select:focus-visible{border-bottom-color:var(--snow)}
.field input[aria-invalid="true"]{border-bottom-color:#e7a0a0}
.field__err{font-size:.86rem;color:#f0b8b8;margin-top:6px}
.select{position:relative}
.select select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px}
.select select option{color:var(--ink);background:#fff}
.select::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;border-right:1.2px solid var(--mist);border-bottom:1.2px solid var(--mist);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.seg legend{margin-bottom:14px}
.seg__opts{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(244,243,240,.22);border-radius:var(--r)}
.seg__opts label{position:relative;cursor:pointer}
.seg__opts label+label{border-left:1px solid rgba(244,243,240,.22)}
.seg__opts input{position:absolute;opacity:0;inset:0}
.seg__opts span{display:grid;place-items:center;height:54px;padding:0 12px;text-align:center;font-size:.95rem;color:var(--mist);transition:background .5s var(--ease),color .4s}
.seg__opts input:checked+span{background:var(--snow);color:var(--ink)}
.seg__opts input:focus-visible+span{outline:1.5px solid var(--snow);outline-offset:3px}
.form__note{font-size:.84rem;color:var(--mist);margin-top:-16px}

/* Rodapé */
.footer{background:var(--graphite-3);color:var(--snow);padding-top:clamp(88px,9vw,136px);padding-bottom:calc(max(18px,env(safe-area-inset-bottom)) + 82px)}
.footer__top{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--gap);padding-bottom:clamp(56px,6vw,88px);border-bottom:1px solid var(--line-d)}
.footer__brand{display:grid;gap:28px;align-content:start}
.footer__logo{width:clamp(180px,16vw,224px);fill:var(--snow)}
.footer__brand p{color:var(--mist);max-width:32ch;font-size:.95rem}
.footer__cols{display:grid;grid-template-columns:.9fr 1.1fr 1.6fr;gap:var(--gap)}
.footer__h{font-size:.875rem;color:var(--mist);font-weight:400;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line-d)}
.footer__cols ul{display:grid;gap:12px;font-size:.95rem}
.footer__cols a{opacity:.9;transition:opacity .3s}
.footer__cols a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.footer__icons li,.footer__icons a{display:flex;align-items:center;gap:12px;min-width:0;overflow-wrap:anywhere}
.footer__icons svg{width:17px;height:17px;flex:none;color:var(--mist)}
@media (min-width:1081px){.footer__cols li{white-space:nowrap}}
.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;padding-top:28px;font-size:.85rem;color:var(--mist)}
.footer__legal{flex:1}
.avory{display:inline-flex;align-items:center;gap:8px;color:var(--mist)}
.avory__name{font-weight:550;letter-spacing:.02em;color:var(--snow);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:1px;transition:background-size .6s var(--ease)}
.avory svg{width:14px;height:14px;color:var(--snow);transition:transform .6s var(--ease)}
.avory:hover .avory__name{background-size:100% 1px}
.avory:hover svg{transform:translate(2px,-2px)}
.totop{width:44px;height:44px;border:1px solid var(--line-d);background:none;cursor:pointer;display:grid;place-items:center;transition:background .3s,border-color .3s}
.totop svg{width:17px;height:17px}
.totop:hover{background:rgba(255,255,255,.05);border-color:rgba(244,243,240,.35)}
.footer__marks{margin-top:clamp(48px,6vw,80px);pointer-events:none;user-select:none}
.footer__mark{width:100%;height:auto;overflow:visible}
.footer__mark text{font-family:var(--brand);font-weight:500;font-size:100px}
.footer__mark--stack{display:none}

/* Revelações (só com JS) */
.js [data-reveal]{clip-path:inset(0 0 100% 0);transform:translateY(.35em);opacity:0;transition:clip-path 1.2s var(--ease),transform 1.2s var(--ease),opacity .6s}
.js [data-reveal].is-in{clip-path:inset(-10% -5% -20% -5%);transform:none;opacity:1}

/* Assistente */
.chat{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:70}
.chat__fab{position:relative;width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.16);cursor:pointer;display:grid;place-items:center;color:var(--snow);background:#2a2c2f;box-shadow:0 18px 40px -16px rgba(0,0,0,.55),0 3px 8px rgba(0,0,0,.16);transition:transform .6s var(--ease)}
.chat__fab:hover{transform:translateY(-3px)}
.chat__fab-mono{width:24px;height:27px;fill:currentColor}
.chat__dot{position:absolute;right:4px;top:5px;width:10px;height:10px;border-radius:50%;background:#7fd3a0;border:2px solid #2a2c2f}
.chat__fab::before{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(244,243,240,.35);opacity:0;animation:ring 3.2s var(--ease) 4s 3}
@keyframes ring{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}
.menu-open .chat{opacity:0;pointer-events:none;transition:opacity .3s}
.chat.is-open .chat__fab{transform:scale(.92)}
.chat__hint{position:absolute;right:0;bottom:72px;width:max-content;max-width:240px;display:flex;align-items:flex-start;gap:8px;padding:12px 10px 12px 16px;border-radius:4px;background:rgba(251,250,248,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--ink);font-size:.9rem;line-height:1.4;box-shadow:0 18px 40px -20px rgba(0,0,0,.4);border:1px solid rgba(29,30,32,.08);animation:pop .7s var(--ease)}
.chat__hint[hidden]{display:none}
.chat__hint p{cursor:pointer}
.chat__hint-x{border:0;background:none;cursor:pointer;width:28px;height:28px;margin:-6px -2px 0 0;font-size:1.2rem;line-height:1;color:var(--stone)}
@keyframes pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.chat__panel{position:absolute;right:0;bottom:74px;width:min(392px,calc(100vw - 36px));height:min(620px,calc(100svh - 120px));display:flex;flex-direction:column;border-radius:6px;overflow:hidden;background:rgba(246,245,242,.94);-webkit-backdrop-filter:blur(26px) saturate(1.4);backdrop-filter:blur(26px) saturate(1.4);border:1px solid rgba(29,30,32,.1);box-shadow:0 50px 100px -40px rgba(0,0,0,.5),0 10px 30px -10px rgba(0,0,0,.18);transform-origin:calc(100% - 29px) calc(100% + 40px);opacity:0;transform:scale(.7) translateY(16px);transition:opacity .45s var(--ease),transform .6s var(--ease)}
.chat__panel[hidden]{display:none}
.chat.is-open .chat__panel{opacity:1;transform:none}
.chat__head{display:flex;align-items:center;gap:12px;padding:16px 12px 16px 18px;background:var(--graphite);color:var(--snow)}
.chat__head h2{font-size:.95rem;font-weight:450;letter-spacing:-.005em}
.chat__head p{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--mist)}
.chat__live{width:6px;height:6px;border-radius:50%;background:#7fd3a0}
.chat__avatar{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14)}
.chat__avatar svg{width:17px;height:19px;fill:var(--snow)}
.chat__close{margin-left:auto;width:40px;height:40px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--snow)}
.chat__close svg{width:20px;height:20px;transform:rotate(45deg)}
.chat__close:hover{background:rgba(255,255,255,.08)}
.chat__log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.msg{max-width:86%;padding:11px 14px;border-radius:4px;font-size:.92rem;line-height:1.5;animation:msg .5s var(--ease) both}
.msg--bot{align-self:flex-start;background:#fff;color:var(--ink);border:1px solid rgba(29,30,32,.08)}
.msg--me{align-self:flex-end;background:var(--graphite);color:var(--snow)}
.msg a.msg__wa{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;border-radius:var(--r);background:var(--graphite);color:var(--snow);font-size:.86rem}
.msg a.msg__wa svg{width:16px;height:16px}
.msg--typing{display:flex;gap:4px;padding:14px 16px}
.msg--typing i{width:5px;height:5px;border-radius:50%;background:#a5a39e;animation:blink 1.2s infinite}
.msg--typing i:nth-child(2){animation-delay:.15s}.msg--typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,60%,100%{opacity:.3}30%{opacity:1}}
@keyframes msg{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.chat__chips{display:flex;gap:6px;overflow-x:auto;padding:4px 16px 10px;scrollbar-width:none}
.chat__chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid rgba(29,30,32,.18);background:transparent;border-radius:var(--r);padding:8px 12px;font-size:.84rem;cursor:pointer;white-space:nowrap;transition:background .3s,color .3s}
@media (hover:hover){.chip:hover{background:var(--graphite);color:var(--snow)}}
.chat__form{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid rgba(29,30,32,.08)}
.chat__form input{flex:1;min-width:0;height:46px;padding:0 14px;border-radius:var(--r);border:1px solid rgba(29,30,32,.14);background:#fff;font-size:16px;outline:none}
.chat__form input:focus-visible{border-color:rgba(29,30,32,.45)}
.chat__form button{width:46px;height:46px;border-radius:var(--r);border:0;background:var(--graphite);color:var(--snow);cursor:pointer;display:grid;place-items:center}
.chat__form button svg{width:18px;height:18px}

/* Responsivo */
@media (max-width:1080px){
  .nav__bar{gap:20px}
  .nav__links a{padding:10px 8px}
  .footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  :root{--nav-h:64px}
  .nav__links,.nav__bar>.btn--nav{display:none}
  .nav__toggle{display:block}
  .nav__wa{display:grid}
  .nav__bar{gap:4px}
  .nav__name{font-size:.64rem}
  .hero{grid-template-columns:1fr;min-height:560px}
  .hero__photo{inset:0}
  .hero__photo img{object-position:50% 18%}
  .hero__veil{background:linear-gradient(0deg,var(--graphite-3) 4%,rgba(35,37,40,.82) 30%,rgba(35,37,40,0) 58%),linear-gradient(180deg,rgba(35,37,40,.5),rgba(35,37,40,0) 22%)}
  .hero__brand{grid-column:1;align-items:end;padding-bottom:max(84px,11svh)}
  .hero__brand::before{display:none}
  .hero__logo{width:min(62vw,300px)}
  .hero__cue{left:50%;bottom:22px;height:40px}
  .sec__head{grid-template-columns:1fr;gap:20px}
  .about__grid,.book__grid,.faq__grid{grid-template-columns:1fr}
  .about__art{position:relative;top:auto;width:min(64%,300px);margin:0 0 24px}
  .cols{grid-template-columns:1fr 1fr;row-gap:44px}
  .cols li:nth-child(3){padding-left:0;border-left:0}
  .timeline{grid-template-columns:1fr}
  .timeline__track{left:4px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .timeline__track span{transform-origin:top;transform:scaleY(var(--p,0))}
  .tl,.tl:nth-child(2){padding:0 0 48px 40px}
  .tl+.tl{border-left:0}
  .tl::before,.tl:nth-child(2)::before{left:0;top:10px}
  .tl__n{margin-bottom:18px}
  .tl p{max-width:44ch}
  .index__row{grid-template-columns:1fr 28px;gap:10px 16px}
  .index__desc{grid-column:1;grid-row:2}
  .index__go{grid-column:2;grid-row:1}
  .faq__aside{position:static;order:2;max-width:none}
  .footer__top{grid-template-columns:1fr}
}
@media (max-width:640px){
  :root{--nav-h:60px}
  .statement{height:200vh}
  .statement__text{max-width:none}
  .statement__cta .btn{width:100%;justify-content:space-between}
  .cols{grid-template-columns:1fr;row-gap:0}
  .cols li,.cols li:nth-child(3){padding:24px 0;border-left:0;border-top:1px solid var(--line)}
  .cols li:first-child{border-top:0;padding-top:0}
  .facts>div{grid-template-columns:1fr;gap:4px}
  .about__sign{flex-direction:column;align-items:flex-start}
  .method__cta .btn{width:100%;justify-content:space-between}
  .rows--links a{flex-direction:column;gap:2px}
  .rows--links a span:last-child{text-align:left}
  .footer__cols{grid-template-columns:1fr;gap:40px}
  .footer__bottom{flex-direction:column;align-items:flex-start;position:relative}
  .footer__bottom>p:first-child{padding-right:64px}
  .totop{position:absolute;right:0;top:22px}
  .footer__mark--line{display:none}
  .footer__mark--stack{display:block}
  .chat__hint{display:none!important}
  .chat__panel{position:fixed;right:10px;left:10px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 70px);width:auto;height:min(78svh,620px)}
}

@media (max-height:560px) and (orientation:landscape){
  .hero{min-height:420px}
  .hero__brand{padding-top:calc(var(--nav-h) + 8px);padding-bottom:28px}
  .hero__logo{width:min(34vh,240px)}
  .statement{height:auto}
  .statement__sticky{position:relative;height:auto;padding-block:96px}
  .statement__text{font-size:clamp(1.8rem,1rem + 2.6vw,3rem)}
  .about__art{position:relative;top:auto}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .statement{height:auto}
  .statement__sticky{position:relative;height:auto;padding-block:var(--sec)}
  .timeline__track span{transform:none}
}
