:root{
  --paper:#e8e5de;
  --accent:#522783;
  --paper-2:#d8d3ca;
  --ink:#0a0a0a;
  --ink-soft:#1c1c1c;
  --muted:#8e8b85;
  --line:rgba(255,255,255,.14);
  --line-dark:rgba(0,0,0,.14);
  --ease:cubic-bezier(.22,.61,.36,1);
  --page-pad:clamp(18px,2.9vw,42px);
  --header-h:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:12px;top:12px;background:#fff;color:#000;padding:10px 12px;z-index:200;border-radius:4px}
.grain{pointer-events:none;position:fixed;inset:-50%;z-index:2;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");animation:grain 9s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-2%,-1%)}40%{transform:translate(1%,2%)}60%{transform:translate(-1%,1%)}80%{transform:translate(2%,-1%)}100%{transform:translate(0,0)}}
.scroll-progress{position:fixed;z-index:120;top:0;left:0;height:2px;width:0;background:#fff;mix-blend-mode:difference}
.site-header{position:sticky;top:0;z-index:110;height:var(--header-h);display:grid;grid-template-columns:auto 1fr auto auto;gap:18px;align-items:center;padding:0 var(--page-pad);backdrop-filter:blur(14px);background:rgba(10,10,10,.78);color:#f2efe9;border-bottom:1px solid rgba(255,255,255,.08)}
.header-brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.header-symbol{font-size:32px;font-weight:900;letter-spacing:-.11em}.brand-bar{padding-left:3px}.header-wordmark{font-size:11px;letter-spacing:.06em;line-height:1.1}.header-wordmark small{display:block;font-size:9px;letter-spacing:.16em;margin-top:3px}
.desktop-nav{display:flex;justify-content:center;gap:26px}.desktop-nav a,.header-contact{font-size:11px;letter-spacing:.12em;opacity:.9;transition:opacity .25s}.desktop-nav a:hover,.header-contact:hover{opacity:1}.nav-index{opacity:.55;margin-left:5px}
.menu-toggle{display:none;border:0;background:transparent;padding:0;width:40px;height:40px;position:relative}.menu-toggle span{position:absolute;left:8px;right:8px;height:1.5px;background:#f2efe9;transition:transform .35s var(--ease),opacity .25s}.menu-toggle span:first-child{top:14px}.menu-toggle span:last-child{top:24px}
.mobile-menu{display:none}
body.menu-open .menu-toggle span:first-child{transform:translateY(5px) rotate(45deg)}
body.menu-open .menu-toggle span:last-child{transform:translateY(-5px) rotate(-45deg)}
main,footer{position:relative;z-index:3}
.micro-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.micro-grid p{margin:0;font-size:10px;letter-spacing:.12em;line-height:1.45}.micro-center{text-align:center}.micro-right{text-align:right}
.eyebrow{font-size:11px;letter-spacing:.18em;opacity:.7;text-transform:uppercase}
.period{color:var(--muted)}
.outline-text{color:transparent;-webkit-text-stroke:1px var(--paper)}
.section-topline{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;padding:18px var(--page-pad);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.section-dark{background:var(--ink);color:var(--paper)}
.section-light{background:var(--paper);color:var(--ink)}

.hero{min-height:calc(100svh - var(--header-h));display:flex;flex-direction:column;padding:20px var(--page-pad) 0;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.08),transparent 35%),linear-gradient(180deg,#161616 0%,#0b0b0b 100%);color:var(--paper);position:relative;overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;inset:auto auto 12% -12%;width:36vw;height:36vw;border:1px solid rgba(255,255,255,.08);border-radius:50%;filter:blur(.2px)}
.hero::after{inset:18% -8% auto auto;width:22vw;height:22vw}
.hero-top{padding:10px 0 28px;border-bottom:1px solid rgba(255,255,255,.1)}
.hero-stage{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(290px,.55fr);gap:28px;align-items:end;flex:1;padding:38px 0 24px}
.hero-type{position:relative;margin:0 0 28px}.hero-line{display:block;font-weight:900;letter-spacing:-.12em;line-height:.78;font-size:clamp(88px,15.5vw,278px);text-transform:uppercase;color:#f4f1eb;animation:heroRise 1s var(--ease) both}.hero-second{padding-left:.28em;animation-delay:.08s}.hero-dot{-webkit-text-stroke:2px var(--paper);color:transparent}.hero-annotation{position:absolute;right:0;top:6%;font-size:10px;letter-spacing:.16em;line-height:1.5;text-align:right;opacity:.65}
.hero-text{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:26px;align-items:start;border-top:1px solid rgba(255,255,255,.1);padding-top:22px}.hero-text h1{margin:0;font-size:clamp(28px,3.5vw,54px);line-height:1.02;letter-spacing:-.05em;max-width:900px}.hero-text p{margin:3px 0 0;font-size:clamp(15px,1.45vw,21px);line-height:1.45;color:#c7c3bb;max-width:380px}
.hero-aside{display:flex;flex-direction:column;align-items:flex-end;gap:18px}.hero-card{width:min(100%,320px);padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)}.hero-card-label{display:block;margin-bottom:36px;font-size:9px;letter-spacing:.24em;opacity:.62}.hero-card strong{display:block;font-size:26px;letter-spacing:-.06em;line-height:.96;margin-bottom:16px}.hero-card p{margin:0;font-size:12px;line-height:1.6;color:#c8c4bc}
.round-link{display:inline-flex;align-items:center;justify-content:center;width:82px;height:82px;border-radius:50%;border:1px solid rgba(255,255,255,.14);transition:transform .4s var(--ease),background .3s,color .3s}.round-link span{font-size:34px}.round-link:hover{background:#f0ede7;color:#121212;transform:translateY(4px)}
.hero-base-line{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;min-height:62px;align-items:center;border-top:1px solid rgba(255,255,255,.1);font-size:10px;letter-spacing:.18em;color:#cbc6be}

.manifesto{min-height:100svh;display:flex;flex-direction:column}.manifesto-main{display:grid;grid-template-columns:27% 73%;gap:12px;flex:1;align-items:end;padding:clamp(70px,9vw,140px) var(--page-pad) clamp(50px,7vw,90px)}.manifesto-side{display:flex;align-items:flex-end;gap:18px;padding-bottom:12px}.asterisk{font-size:58px;font-weight:400;line-height:1}.manifesto-side p{margin:0;max-width:255px;font-size:14px;line-height:1.55;color:#c7c2ba}.manifesto-title{margin:0;font-size:clamp(70px,10vw,190px);line-height:.84;letter-spacing:-.1em;font-weight:900}.manifesto-bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px;border-top:1px solid rgba(255,255,255,.1);padding:18px var(--page-pad) 22px;font-size:10px;letter-spacing:.13em}.text-arrow{display:inline-flex;align-items:center;gap:12px;justify-self:end}

.scene{position:relative;min-height:100svh;overflow:hidden;background:#050505;color:#fff;display:flex;align-items:flex-end;padding:var(--page-pad)}
.scene-media,.scene-overlay{position:absolute;inset:0}
.scene-media{background-size:cover;background-position:center;transform:scale(1.14);transition:transform 1.2s var(--ease),filter 1.2s var(--ease);filter:grayscale(100%) contrast(1.06) brightness(.62)}
.scene-overlay{background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.3) 35%,rgba(0,0,0,.9) 100%),linear-gradient(90deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.15) 100%)}
.scene-content{position:relative;z-index:1;max-width:640px;padding:0 0 16px}.scene-right{margin-left:auto;text-align:right}.scene-index{display:block;font-size:10px;letter-spacing:.22em;margin-bottom:18px;opacity:.75}.scene h2{margin:0 0 16px;font-size:clamp(54px,8vw,120px);line-height:.88;letter-spacing:-.08em}.scene p{margin:0;max-width:420px;font-size:clamp(16px,1.7vw,22px);line-height:1.45;color:#d7d2cb}.scene-right p{margin-left:auto}.scene.is-active .scene-media{transform:scale(1.02);filter:grayscale(100%) contrast(1.12) brightness(.78)}

.practice{padding-bottom:24px}.practice-head{display:grid;grid-template-columns:1fr minmax(300px,520px);gap:24px;align-items:end;padding:clamp(75px,10vw,140px) var(--page-pad) clamp(55px,6vw,90px)}.practice-head h2{margin:18px 0 0;font-size:clamp(70px,10vw,180px);line-height:.82;letter-spacing:-.1em;font-weight:900}.practice-intro{margin:0;font-size:clamp(18px,2.3vw,34px);line-height:1.12;letter-spacing:-.04em;max-width:520px}
.practice-list{border-top:1px solid var(--line-dark)}.practice-item{border-bottom:1px solid var(--line-dark)}.practice-trigger{width:100%;display:grid;grid-template-columns:70px 1fr 60px;align-items:center;gap:10px;text-align:left;padding:0 var(--page-pad);min-height:112px;background:transparent;border:0;cursor:pointer}.practice-trigger:hover .practice-arrow{transform:translate(5px,-5px)}.practice-n{font-size:11px;letter-spacing:.12em;opacity:.55}.practice-name{font-size:clamp(42px,6.7vw,92px);line-height:.84;letter-spacing:-.08em;font-weight:800}.practice-arrow{justify-self:end;font-size:42px;transition:transform .35s var(--ease),opacity .25s;opacity:.85}.practice-item.is-open .practice-arrow{transform:rotate(45deg)}
.practice-detail{display:grid;grid-template-columns:70px 1fr auto;gap:10px;padding:0 var(--page-pad) 28px}.practice-detail::before{content:""}.practice-detail p{margin:0;max-width:760px;font-size:16px;line-height:1.6;color:#44403a}.practice-detail a{align-self:end;font-size:12px;letter-spacing:.12em;white-space:nowrap}
.practice-bottom{display:flex;justify-content:space-between;gap:20px;padding:18px var(--page-pad) 0;font-size:10px;letter-spacing:.13em;text-transform:uppercase}

.about{padding-bottom:clamp(80px,9vw,140px)}.about-layout{display:grid;grid-template-columns:minmax(300px,.76fr) minmax(0,1fr);gap:clamp(30px,4vw,64px);padding:clamp(70px,9vw,140px) var(--page-pad) 0;align-items:start}.about-photo-frame{position:relative;aspect-ratio:.9;overflow:hidden;background:#101010}.about-photo-frame::before{content:"PORTRAIT";position:absolute;top:16px;left:18px;font-size:11px;letter-spacing:.18em;font-weight:800;color:#fff;z-index:2}.about-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.86) contrast(1.02);transition:transform 1.1s var(--ease),filter .8s}.about-photo-frame:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.04)}.about-photo-overlay{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;padding:16px;font-size:10px;letter-spacing:.16em;background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));color:#fff}
.about-content h2{margin:16px 0 56px;font-size:clamp(68px,9.3vw,155px);line-height:.8;letter-spacing:-.1em;font-weight:900}.about-lead{font-size:clamp(24px,3vw,44px);line-height:1.06;letter-spacing:-.05em;max-width:740px;margin:0 0 26px}.about-content > p:not(.eyebrow):not(.about-lead){max-width:620px;font-size:16px;line-height:1.62;margin:0 0 18px}.about-meta{display:flex;flex-wrap:wrap;gap:18px;width:100%;border-top:1px solid var(--line-dark);padding-top:18px;margin-top:34px}.about-meta span{min-width:160px;font-size:10px;letter-spacing:.13em;line-height:1.55;text-transform:uppercase}.about-meta strong{display:block;margin-top:3px;font-size:14px;letter-spacing:0}

.method{padding-bottom:clamp(90px,10vw,150px)}.method-title{font-size:clamp(64px,9.5vw,170px);line-height:.86;letter-spacing:-.1em;margin:clamp(90px,11vw,180px) var(--page-pad) clamp(80px,10vw,145px);font-weight:900}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:0 var(--page-pad);border-top:1px solid var(--line)}.method-cell{min-height:270px;padding:24px 24px 0 0;display:flex;flex-direction:column}.method-cell+.method-cell{border-left:1px solid var(--line);padding-left:24px}.method-n{font-size:10px;letter-spacing:.14em;opacity:.56}.method-cell h3{margin:auto 0 16px;font-size:clamp(30px,3.2vw,58px);letter-spacing:-.06em}.method-cell p{margin:0;max-width:320px;font-size:15px;line-height:1.45;color:#c7c2ba}

.contact{padding-bottom:clamp(85px,10vw,140px)}.contact-kicker{margin:clamp(80px,9vw,130px) var(--page-pad) 28px}.contact-headline{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;padding:0 var(--page-pad) clamp(78px,9vw,125px);border-bottom:1px solid var(--line-dark)}.contact-headline h2{margin:0;font-size:clamp(65px,12vw,220px);line-height:.78;letter-spacing:-.11em;font-weight:900}.contact-arrow{font-size:clamp(52px,8vw,145px);transition:transform .4s var(--ease)}.contact-headline:hover .contact-arrow{transform:translate(12px,-12px)}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr .95fr;gap:30px;padding:30px var(--page-pad) 0}.contact-grid .eyebrow{margin-bottom:10px}.contact-grid a{font-size:clamp(16px,1.45vw,24px);line-height:1.3;letter-spacing:-.035em;transition:opacity .2s}.contact-grid a:hover{opacity:.56}

.footer{padding:48px var(--page-pad) 28px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;min-height:clamp(240px,30vw,500px)}.footer-logo{font-size:clamp(140px,28vw,520px);font-weight:900;letter-spacing:-.14em;line-height:.68;transform:translateX(-.04em)}.footer-to-top{font-size:10px;letter-spacing:.16em;border:1px solid rgba(255,255,255,.16);border-radius:50%;width:118px;height:118px;display:flex;align-items:center;justify-content:center;text-align:center;transition:background .3s,color .3s}.footer-to-top:hover{background:var(--paper);color:var(--ink)}.footer-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}.footer-bottom p{margin:0;font-size:9px;letter-spacing:.09em;line-height:1.65;text-transform:uppercase}.footer-bottom p:nth-child(2){text-align:center}.footer-bottom p:nth-child(3){text-align:right}

.reveal{opacity:0;transform:translateY(46px);transition:opacity .9s var(--ease),transform 1s var(--ease)}.reveal.in-view{opacity:1;transform:translateY(0)}
@keyframes heroRise{from{opacity:0;transform:translateY(70px)}to{opacity:1;transform:translateY(0)}}

@media (max-width:1100px){
  .hero-stage,.about-layout,.practice-head,.contact-grid{grid-template-columns:1fr}
  .hero-aside{align-items:flex-start}
  .hero-text{grid-template-columns:1fr}
  .manifesto-main{grid-template-columns:1fr;display:flex;flex-direction:column-reverse;align-items:stretch;gap:70px}
  .method-grid{grid-template-columns:1fr}
  .method-cell,.method-cell+.method-cell{border-left:0;padding-left:0}
  .method-cell{border-bottom:1px solid var(--line);min-height:220px;padding:24px 0 28px}
  .footer-bottom{grid-template-columns:1fr}
  .footer-bottom p:nth-child(2),.footer-bottom p:nth-child(3){text-align:left}
}

@media (max-width:760px){
  :root{--page-pad:18px;--header-h:60px}
  .site-header{grid-template-columns:auto 1fr auto;height:var(--header-h)}
  .desktop-nav,.header-contact{display:none}
  .menu-toggle{display:block}
  .mobile-menu{display:flex;flex-direction:column;position:fixed;z-index:105;inset:var(--header-h) 0 0;background:#0b0b0b;color:var(--paper);padding:36px var(--page-pad) 24px;transform:translateY(-104%);opacity:0;pointer-events:none;transition:transform .55s var(--ease),opacity .3s;overflow:auto}
  .mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .mobile-menu .micro-label{margin-bottom:24px;font-size:10px;letter-spacing:.2em}
  .mobile-menu a{display:flex;gap:12px;align-items:flex-start;padding:11px 0 15px;border-top:1px solid rgba(255,255,255,.14);font-size:clamp(42px,13vw,72px);letter-spacing:-.07em;font-weight:800}
  .mobile-menu a small{font-size:12px;letter-spacing:.1em;margin-top:14px;font-weight:400}
  .mobile-menu-foot{font-size:10px;letter-spacing:.14em;margin-top:auto;padding-top:48px}
  .micro-grid{grid-template-columns:1fr 1fr}.micro-center{display:none}
  .hero{padding-top:16px}
  .hero-top{padding-bottom:18px}
  .hero-line{font-size:20.5vw}
  .hero-annotation{top:-28px;right:4%;font-size:8px}
  .hero-card{max-width:280px}
  .hero-base-line{grid-template-columns:repeat(2,1fr);row-gap:10px;min-height:auto;padding:14px 0 18px}
  .section-topline{grid-template-columns:1fr auto;font-size:8px}.section-topline span:nth-child(2){display:none}
  .manifesto-title{font-size:clamp(50px,12vw,84px)}
  .manifesto-bottom{grid-template-columns:1fr;align-items:start}
  .scene{min-height:82svh}.scene h2{font-size:clamp(44px,14vw,74px)}.scene p{font-size:15px}
  .practice-head{padding:74px var(--page-pad) 50px}.practice-head h2{font-size:clamp(55px,14vw,92px)}.practice-intro{font-size:20px}
  .practice-trigger{grid-template-columns:44px 1fr 30px;min-height:94px;padding:0 var(--page-pad)}.practice-name{font-size:clamp(28px,8.6vw,44px)}.practice-arrow{font-size:30px}
  .practice-detail{grid-template-columns:1fr;padding:0 var(--page-pad) 24px}.practice-detail::before{display:none}.practice-detail p{font-size:15px}.practice-detail a{font-size:11px}
  .about-layout{padding-top:70px;gap:54px}.about-content h2{font-size:clamp(68px,17vw,112px);margin-bottom:54px}.about-lead{font-size:clamp(24px,7.2vw,36px)}
  .contact-headline{padding-bottom:85px}.contact-headline h2{font-size:clamp(52px,14vw,84px)}.contact-arrow{font-size:42px}
  .contact-grid{gap:32px}.contact-grid a{font-size:20px}
  .footer-top{min-height:260px}.footer-logo{font-size:42vw}.footer-to-top{width:88px;height:88px;font-size:8px;padding:12px}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .scene-media{transform:none!important}
}

/* V3 · Destaque em roxo e texto cinético no link do WhatsApp. */
.header-contact{display:inline-flex;align-items:center;gap:10px;padding:10px 2px;opacity:1!important;color:#f2efe9;isolation:isolate}
.contact-link-viewport{position:relative;display:block;height:1.45em;line-height:1.45;overflow:hidden;white-space:nowrap}
.contact-link-original,.contact-link-duplicate{display:block;transition:transform .5s var(--ease),text-shadow .3s ease,color .3s ease;will-change:transform}
.contact-link-original{color:#f2efe9;text-shadow:2px 2px 0 var(--accent),0 0 12px rgba(82,39,131,.7)}
.contact-link-duplicate{position:absolute;top:100%;left:0;color:#a975ed;text-shadow:1px 1px 0 #e8d8ff,0 0 12px var(--accent)}
.header-contact-icon{font-size:19px;color:#b88cf6;transition:transform .4s var(--ease),color .3s ease}
.header-contact:hover .contact-link-original,.header-contact:focus-visible .contact-link-original,.header-contact.is-clicked .contact-link-original{transform:translateY(-100%)}
.header-contact:hover .contact-link-duplicate,.header-contact:focus-visible .contact-link-duplicate,.header-contact.is-clicked .contact-link-duplicate{transform:translateY(-100%)}
.header-contact:hover .header-contact-icon,.header-contact:focus-visible .header-contact-icon,.header-contact.is-clicked .header-contact-icon{transform:translate(4px,-4px);color:#c9a6ff}
.header-contact.is-clicked .contact-link-duplicate{animation:contactPulse .55s ease-out both}
@keyframes contactPulse{0%{filter:drop-shadow(0 0 0 rgba(82,39,131,0))}60%{filter:drop-shadow(0 0 12px rgba(160,90,255,.9))}100%{filter:drop-shadow(0 0 0 rgba(82,39,131,0))}}

/* V3 · Respiro para o acento de CÁSSIO não tocar os microtítulos. */
.hero-copy > .eyebrow{margin:0 0 clamp(50px,6.3vw,90px)}
.about-content > .eyebrow{margin:0 0 clamp(50px,5.2vw,76px)}
.about-content h2{margin-top:0}
/* V3 · Seta em roxo de identidade. */
.contact-arrow{color:var(--accent)}
@media(max-width:760px){
  .hero-copy > .eyebrow{margin-bottom:clamp(42px,12vw,66px)}
  .about-content > .eyebrow{margin-bottom:clamp(48px,11vw,70px)}
}
@media(prefers-reduced-motion:reduce){
  .header-contact.is-clicked .contact-link-duplicate{animation:none}
  .contact-link-original,.contact-link-duplicate{will-change:auto}
}
/* O link de topo permanece oculto no layout de celular, como na navegação original. */
@media(max-width:760px){.header-contact{display:none}}
/* Ajustes finais de largura em telas compactas. */
@media(max-width:760px){
  .method-title{font-size:clamp(39px,10vw,64px);letter-spacing:-.095em}
  .contact-headline{grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .contact-headline h2{font-size:clamp(43px,11.9vw,76px)}
  .contact-arrow{font-size:35px}
}
