/* ===================================================================
   landing.css — estilo compartilhado das páginas de procedimento
   (landings de tráfego pago). Cópia fiel do design system do site
   (index.html), servido como arquivo único para todas as landings.
   Caminhos de fonte/imagem são relativos a /assets/.
   =================================================================== */
@font-face{font-family:"Cormorant"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/cormorant-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant"; font-style:normal; font-weight:500; font-display:swap; src:url(fonts/cormorant-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant"; font-style:normal; font-weight:600; font-display:swap; src:url(fonts/cormorant-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant"; font-style:italic; font-weight:400; font-display:swap; src:url(fonts/cormorant-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant"; font-style:italic; font-weight:500; font-display:swap; src:url(fonts/cormorant-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant"; font-style:italic; font-weight:600; font-display:swap; src:url(fonts/cormorant-latin-600-italic.woff2) format("woff2")}
@font-face{font-family:"Jost"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost"; font-style:normal; font-weight:500; font-display:swap; src:url(fonts/jost-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Jost"; font-style:normal; font-weight:600; font-display:swap; src:url(fonts/jost-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter"; font-style:normal; font-weight:500; font-display:swap; src:url(fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono"; font-style:normal; font-weight:500; font-display:swap; src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}
:root{
  --paper:#F2EADA; --paper-deep:#EADFC9; --paper-soft:#F7F1E4;
  --ink:#2B2118; --ink-2:#574A3B; --ink-3:#8A7C69;
  --teal:#047772; --teal-deep:#005F5B; --teal-bright:#149891; --teal-ink:#D3E8E3;
  --mint:#63C2B6;
  --line:rgba(43,33,24,.16); --line-soft:rgba(43,33,24,.09); --line-teal:rgba(211,232,227,.22);
  --card-hover:#FFFFFF;
  --display:"Cormorant",Georgia,serif;
  --label:"Jost",system-ui,sans-serif;
  --body:"Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",monospace;
  --wrap:1180px; --gut:clamp(20px,5vw,64px); --r:3px;
  --ease:cubic-bezier(.2,.6,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden}
a{color:var(--teal); text-decoration:none}
a:hover{color:var(--teal-deep)}
img{max-width:100%; display:block}
h1,h2,h3{margin:0; font-weight:500; font-family:var(--display); line-height:1.02; letter-spacing:-.01em; text-wrap:balance}
p{margin:0; text-wrap:pretty}

.skip{position:absolute; left:-9999px; top:0; z-index:100; background:var(--teal); color:var(--paper); padding:12px 20px; font-family:var(--label); font-size:13px; letter-spacing:.06em; border-radius:0 0 var(--r) 0}
.skip:focus{left:0; color:var(--paper)}

#procedimento,#metodo,#filosofia,#sobre,#duvidas,#contato{content-visibility:auto; contain-intrinsic-size:auto 900px}
::selection{background:var(--teal); color:var(--paper)}
section[id]{scroll-margin-top:84px}

.grain{position:fixed; inset:0; z-index:2; pointer-events:none; opacity:.045; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:140px}

.progress{position:fixed; top:0; left:0; width:2px; height:100vh; z-index:40; pointer-events:none; background:var(--line-soft)}
.progress__fill{position:absolute; top:0; left:0; width:100%; height:0; background:var(--teal)}
@supports (animation-timeline: scroll()){
  .progress__fill{animation:progGrow linear both; animation-timeline:scroll();}
}
@keyframes progGrow{from{height:0}to{height:100%}}

.wrap{max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut)}
.wrap--wide{max-width:1380px}
.eyebrow{font-family:var(--label); text-transform:uppercase; letter-spacing:.22em; font-size:11px; font-weight:500; color:var(--teal); display:inline-flex; align-items:center; gap:12px}
.eyebrow::before{content:""; width:26px; height:1px; background:var(--teal); opacity:.6}
.num{font-family:var(--mono); font-variant-numeric:tabular-nums}

.btn{--bg:var(--teal); --fg:var(--paper); display:inline-flex; align-items:center; gap:.6em; font-family:var(--label); font-weight:500; font-size:14px; letter-spacing:.02em; padding:15px 24px; background:var(--bg); color:var(--fg); border:1px solid var(--bg); border-radius:var(--r); cursor:pointer; transition:transform .18s var(--ease), background .18s var(--ease), color .18s var(--ease); will-change:transform}
.btn .arw{transition:transform .22s var(--ease)}
.btn:hover{transform:translateY(-2px); color:var(--fg)}
.btn:hover .arw{transform:translateX(4px)}
.btn--ghost{--bg:transparent; --fg:var(--ink); border-color:var(--line)}
.btn--ghost:hover{border-color:var(--ink); color:var(--ink)}
.btn--onteal{--bg:var(--paper); --fg:var(--teal-deep)}
.btn--onteal:hover{color:var(--teal-deep)}
.btn--lg{padding:18px 30px; font-size:15px}
:focus-visible{outline:2px solid var(--teal); outline-offset:3px; border-radius:2px}

.head{position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--paper) 86%, transparent); backdrop-filter:saturate(1.1) blur(8px); border-bottom:1px solid transparent; transition:border-color .3s var(--ease), padding .3s var(--ease), background .3s var(--ease)}
.head.is-stuck{border-color:var(--line-soft); background:color-mix(in srgb, var(--paper) 94%, transparent)}
.head__in{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; transition:padding .3s var(--ease)}
.head.is-stuck .head__in{padding:11px 0}
.brand{display:flex; align-items:center; gap:13px}
.mark{height:34px; width:auto; flex:none}
.brand__tx{display:flex; flex-direction:column; line-height:1}
.brand__name{font-family:var(--display); font-size:19px; font-weight:600; letter-spacing:.01em; color:var(--ink)}
.brand__cred{font-family:var(--mono); font-size:9.5px; letter-spacing:.06em; color:var(--ink-3); margin-top:3px}
.nav{display:flex; align-items:center; gap:30px}
.nav a{font-family:var(--label); font-size:13px; letter-spacing:.04em; color:var(--ink-2); position:relative; padding:4px 0}
.nav a::after{content:""; position:absolute; left:0; bottom:-1px; width:0; height:1px; background:var(--teal); transition:width .25s var(--ease)}
.nav a:hover{color:var(--ink)}
.nav a:hover::after{width:100%}
.head .btn{padding:11px 18px}
.burger{display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:var(--r); background:transparent; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px}
.burger span{width:18px; height:1.5px; background:var(--ink); transition:.25s var(--ease)}
@media (max-width:920px){ .nav{display:none} .head .head__in .btn{display:none} .burger{display:flex} }

.msheet{position:fixed; inset:0; z-index:60; background:var(--paper); transform:translateY(-101%); visibility:hidden; transition:transform .4s var(--ease), visibility 0s linear .4s; display:flex; flex-direction:column; padding:var(--gut)}
.msheet.open{transform:translateY(0); visibility:visible; transition:transform .4s var(--ease)}
.msheet__top{display:flex; justify-content:space-between; align-items:center; margin-bottom:40px}
.msheet a{font-family:var(--display); font-size:34px; padding:14px 0; border-bottom:1px solid var(--line-soft); color:var(--ink)}
.msheet .btn{margin-top:32px; justify-content:center}
.mclose{font-family:var(--label); font-size:13px; letter-spacing:.1em; text-transform:uppercase; background:none; border:0; cursor:pointer; color:var(--ink); min-height:44px}

/* ===== HERO ===== */
.hero{position:relative; padding:0; background:var(--teal-deep); color:var(--paper); overflow:hidden}
.hero > .wrap{position:relative; z-index:1; min-height:calc(100svh - 71px); display:flex; flex-direction:column; justify-content:center; padding-top:clamp(30px,4vh,52px); padding-bottom:clamp(56px,8vh,84px)}
.hero__ghost{position:absolute; right:-12%; bottom:-18%; width:min(58vw,760px); opacity:.06; pointer-events:none; z-index:0}
.hero__top{display:flex; gap:16px; align-items:center; flex-wrap:wrap; font-family:var(--mono); font-size:11px; letter-spacing:.14em; color:var(--teal-ink); padding-bottom:clamp(26px,4vw,44px); border-bottom:1px solid var(--line-teal)}
.hero__top b{color:var(--mint); font-weight:500}
.hero__top .sep{width:5px; height:5px; background:var(--mint); transform:rotate(45deg); opacity:.7}
.hero h1{color:var(--paper)}
.hero h1 em{color:var(--mint)}
.hero__lead{color:var(--teal-ink)}
.hero .btn--principal{--bg:var(--paper); --fg:var(--teal-deep)}
.hero .btn--principal:hover{color:var(--teal-deep)}
.hero .btn--ghost{--fg:var(--paper); border-color:var(--line-teal)}
.hero .btn--ghost:hover{border-color:var(--paper); color:var(--paper)}
.hero__mote{color:var(--paper)}
.hero__scroll{position:absolute; left:50%; transform:translateX(-50%); bottom:18px; z-index:2; font-family:var(--mono); font-size:11px; letter-spacing:.2em; color:var(--teal-ink); display:flex; flex-direction:column; align-items:center; gap:4px}
.hero__scroll:hover{color:var(--paper)}
.hero__scroll span{animation:heroDip 2.4s var(--ease) infinite}
@keyframes heroDip{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.hero__grid{display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(28px,4.5vw,60px); align-items:stretch; padding:clamp(34px,5vw,60px) 0}
.hero__col{display:flex; flex-direction:column; min-width:0}
.hero h1{font-size:clamp(44px,5.6vw,84px); font-weight:500; letter-spacing:-.026em; line-height:.98; overflow-wrap:break-word}
.hero h1 em{font-style:italic; color:var(--mint)}
.hero__lead{font-size:clamp(16.5px,1.5vw,19px); color:var(--teal-ink); max-width:44ch; margin:clamp(24px,3vw,32px) 0 clamp(26px,3vw,34px); font-weight:400}
.hero__cta{display:flex; gap:14px; flex-wrap:wrap}
.hero__mote{font-family:var(--display); font-style:italic; font-size:clamp(23px,2.6vw,33px); color:var(--paper); line-height:1.12; margin-top:auto; padding-top:clamp(30px,4vw,46px)}
.hero__media{display:flex; flex-direction:column; gap:clamp(16px,2vw,22px); min-width:0; justify-content:center}
.hero__facts{display:flex; flex-direction:column; gap:0; margin:0}
.hero__facts div{display:flex; justify-content:space-between; gap:18px; align-items:baseline; padding:14px 0; border-top:1px solid var(--line-teal)}
.hero__facts div:first-child{border-top:0}
.hero__facts dt{font-family:var(--label); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--mint); flex:none}
.hero__facts dd{margin:0; font-family:var(--mono); font-size:12px; color:var(--paper); line-height:1.4; text-align:right}
.hero__factscard{background:rgba(0,0,0,.10); border:1px solid var(--line-teal); border-radius:var(--r); padding:clamp(24px,3vw,34px)}
.hero__factscard h4{font-family:var(--label); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--mint); margin:0 0 6px}
@media (max-width:860px){ .hero__grid{grid-template-columns:1fr; gap:clamp(28px,5vw,40px)} .hero__col--text{order:1} .hero__media{order:2} .hero__mote{margin-top:clamp(24px,4vw,36px)} }

/* ===== números ===== */
.proof{border-block:1px solid var(--line); background:var(--paper-soft)}
.proof__grid{display:grid; grid-template-columns:repeat(4,1fr)}
.stat{padding:42px var(--gut); border-left:1px solid var(--line-soft); position:relative}
.stat:first-child{border-left:0}
.stat__k{font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--ink-3); position:absolute; top:16px; left:var(--gut)}
.stat__n{font-family:var(--display); font-size:clamp(46px,5vw,68px); font-weight:500; line-height:1; color:var(--teal); letter-spacing:-.02em; margin-top:14px}
.stat__n small{font-size:.42em; color:var(--ink-2)}
.stat__l{font-family:var(--label); font-size:12px; letter-spacing:.06em; color:var(--ink-2); margin-top:14px; text-transform:uppercase; line-height:1.4}
@media (max-width:720px){ .proof__grid{grid-template-columns:1fr 1fr} .stat{border-top:1px solid var(--line-soft)} .stat:nth-child(-n+2){border-top:0} .stat:nth-child(odd){border-left:0} }

/* ===== chapter ===== */
section{padding:clamp(72px,11vh,140px) 0}
.chapter{position:relative}
.chapter__num{position:absolute; top:clamp(-30px,-4vw,-10px); left:calc(-1 * clamp(6px,1vw,18px)); z-index:0; pointer-events:none; font-family:var(--display); font-weight:500; font-style:italic; font-size:clamp(150px,26vw,360px); line-height:.72; color:transparent; -webkit-text-stroke:1.4px var(--num-stroke,rgba(4,119,114,.24)); letter-spacing:-.02em}
.chapter__body{position:relative; z-index:1; max-width:60ch; padding-top:clamp(78px,13vw,190px); margin-left:clamp(0px,7vw,150px)}
.chapter__body h2{font-size:clamp(34px,5vw,60px); font-weight:500; margin-top:16px}
.chapter__body h2 em{font-style:italic; color:var(--ink-2)}
.chapter__body > p{margin-top:20px; color:var(--ink-2); max-width:56ch; font-size:17px}
.chapter__rule{margin-top:clamp(34px,5vw,54px); border-top:1px solid var(--line); position:relative}
.chapter__rule::before{content:attr(data-note); position:absolute; top:-9px; right:0; background:var(--sec-bg,var(--paper)); padding-left:14px; font-family:var(--mono); font-size:10px; letter-spacing:.12em; color:var(--ink-3)}

/* ===== procedimento (grid) ===== */
.proc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--r); overflow:hidden; margin-top:clamp(30px,4vw,44px)}
.proc{background:var(--paper-soft); padding:30px 28px; min-height:212px; display:flex; flex-direction:column; transition:background .25s var(--ease)}
.proc:hover{background:var(--card-hover)}
.proc__i{font-family:var(--mono); font-size:11px; color:var(--teal); letter-spacing:.1em}
.proc__t{font-family:var(--display); font-size:26px; font-weight:500; margin-top:auto; line-height:1.06}
.proc__v{font-size:13.5px; color:var(--ink-3); margin-top:12px; font-family:var(--body)}
.proc--note{justify-content:center}
.proc--note .proc__v{margin-top:14px; font-family:var(--display); font-style:italic; font-size:18px; color:var(--ink-2)}
@media (max-width:860px){ .proc-grid{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .proc-grid{grid-template-columns:1fr} }

/* ===== cirurgia combinada — feature block ===== */
.combo{margin:clamp(30px,4.5vw,52px) 0 clamp(34px,5vw,56px); border:1px solid var(--line); border-radius:var(--r); background:var(--paper-soft); display:grid; grid-template-columns:1.12fr .88fr; overflow:hidden}
.combo__main{padding:clamp(30px,4vw,50px); display:flex; flex-direction:column}
.combo__k{font-family:var(--label); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--teal)}
.combo__t{font-family:var(--display); font-size:clamp(26px,3.2vw,40px); font-weight:500; line-height:1.04; margin:14px 0 16px; letter-spacing:-.01em}
.combo__t em{font-style:italic; color:var(--teal)}
.combo__p{color:var(--ink-2); font-size:16px; max-width:48ch; line-height:1.6}
.combo__note{margin-top:auto; padding-top:22px; font-family:var(--display); font-style:italic; font-size:clamp(18px,1.9vw,21px); color:var(--ink)}
.combo__side{background:var(--teal-deep); color:var(--teal-ink); padding:clamp(30px,4vw,46px); display:flex; flex-direction:column}
.combo__side h4{font-family:var(--label); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--mint); margin:0 0 4px}
.combo__pair{display:flex; justify-content:space-between; gap:16px; align-items:baseline; padding:16px 0; border-top:1px solid var(--line-teal); font-family:var(--display); font-size:clamp(19px,2vw,22px); color:var(--paper); line-height:1.05}
.combo__pair span{font-family:var(--mono); font-size:11px; letter-spacing:.03em; color:var(--mint); text-align:right; flex:none}
.combo__cav{margin-top:auto; padding-top:22px; font-family:var(--mono); font-size:11px; letter-spacing:.03em; line-height:1.6; color:var(--teal-ink); opacity:.82}
@media (max-width:760px){ .combo{grid-template-columns:1fr} }

/* ===== método ===== */
.method{background:var(--paper-deep); border-block:1px solid var(--line); --sec-bg:var(--paper-deep)}
.method .chapter__num{-webkit-text-stroke-color:rgba(4,119,114,.20)}
.method__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--r); overflow:hidden; margin-top:clamp(30px,4vw,44px)}
.step{background:var(--paper); padding:36px 30px; position:relative}
.step__n{font-family:var(--mono); font-size:12px; color:var(--teal); letter-spacing:.14em}
.step h3{font-family:var(--display); font-size:24px; font-weight:500; margin:18px 0 12px}
.step p{font-size:14.5px; color:var(--ink-2)}
@media (max-width:820px){ .method__grid{grid-template-columns:1fr} }

/* ===== filosofia ===== */
.philo{background:var(--teal-deep); color:var(--teal-ink); position:relative; overflow:hidden; --sec-bg:var(--teal-deep)}
.philo__tex{position:absolute; inset:0; z-index:0; pointer-events:none; background:url("simbolo-branco.svg") no-repeat; background-size:clamp(600px,90vw,1200px); background-position:118% 50%; opacity:.06}
.philo .chapter__num{-webkit-text-stroke-color:rgba(99,194,182,.5)}
.philo .eyebrow{color:var(--mint)}
.philo .eyebrow::before{background:var(--mint)}
.philo .chapter__body h2{color:var(--paper)}
.philo .chapter__body h2 em{color:var(--mint)}
.philo .chapter__body > p{color:var(--teal-ink); opacity:.94}
.philo__mote{margin-top:clamp(46px,7vw,84px); position:relative; z-index:1}
.philo__mote span{font-family:var(--label); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--mint)}
.philo__mote b{display:block; font-family:var(--display); font-style:italic; font-weight:500; font-size:clamp(56px,12vw,148px); color:var(--paper); line-height:.9; margin-top:14px; letter-spacing:-.02em}
.podcast{margin:clamp(40px,6vw,64px) 0 0; position:relative; z-index:1}
.podcast[data-yt=""] .podcast__frame{cursor:default}
.podcast__frame{position:relative; aspect-ratio:16/9; background:rgba(0,0,0,.16); border:1px solid var(--line-teal); border-radius:var(--r); display:flex; align-items:center; justify-content:center; overflow:hidden}
.podcast__frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.podcast__play{display:flex; flex-direction:column; align-items:center; gap:14px; background:transparent; border:0; color:var(--paper); cursor:pointer; transition:transform .2s var(--ease), color .2s var(--ease); padding:20px}
.podcast__play:hover{transform:scale(1.05); color:var(--mint)}
.podcast__play span{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--teal-ink)}
.podcast figcaption{margin-top:18px; font-family:var(--display); font-style:italic; font-size:clamp(18px,2vw,22px); color:var(--teal-ink); max-width:60ch}

/* ===== sobre ===== */
.about__grid{display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(30px,5vw,72px); align-items:stretch; padding-top:clamp(72px,12vw,180px)}
.about__left{display:flex; flex-direction:column; gap:clamp(18px,2.4vw,26px)}
.press{margin:0; background:var(--paper-soft); border:1px solid var(--line-soft); border-radius:var(--r); overflow:hidden}
.press__bar{display:flex; align-items:center; justify-content:space-between; padding:13px 20px; border-bottom:1px solid var(--line-soft); font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--ink-3)}
.press img{width:100%; height:auto; display:block; border-block:1px solid var(--line-soft); filter:sepia(.08) contrast(.97)}
.press figcaption{padding:16px 20px 20px; font-family:var(--display); font-style:italic; font-size:15.5px; line-height:1.45; color:var(--ink-2)}
.press a{display:block}
.press a:hover img{filter:sepia(.08) contrast(1)}
.press__more{display:inline-block; margin-top:6px; font-family:var(--label); font-style:normal; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--teal)}
.about__col{display:flex; flex-direction:column; justify-content:center}
.about h2{font-size:clamp(30px,4vw,50px); font-weight:500; margin-bottom:22px}
.about p{color:var(--ink-2); font-size:17px; margin-bottom:16px}
.about__cred{display:flex; gap:26px; flex-wrap:wrap; margin-top:28px; padding-top:26px; border-top:1px solid var(--line-soft)}
.about__cred div{display:flex; flex-direction:column}
.about__cred b{font-family:var(--mono); font-size:14px; color:var(--teal); font-weight:500}
.about__cred span{font-family:var(--label); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); margin-top:5px}
@media (max-width:760px){ .about__grid{grid-template-columns:1fr} }

/* ===== dúvidas (FAQ) ===== */
.faq{border-top:1px solid var(--line-soft); margin-top:clamp(30px,4vw,44px)}
.faq details{border-bottom:1px solid var(--line-soft); padding:6px 0}
.faq summary{list-style:none; cursor:pointer; padding:22px 0; display:flex; justify-content:space-between; align-items:baseline; gap:20px; font-family:var(--display); font-size:clamp(21px,2.4vw,27px); font-weight:500; color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q-mark{font-family:var(--mono); font-size:20px; color:var(--teal); flex:none; transition:transform .25s var(--ease)}
.faq details[open] summary .q-mark{transform:rotate(45deg)}
.faq p{color:var(--ink-2); font-size:16px; max-width:66ch; padding:0 0 22px; line-height:1.6}

/* ===== reputação + contato ===== */
.split{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; margin-top:clamp(24px,4vw,40px)}
.panel{background:var(--paper-soft); padding:clamp(34px,5vw,56px)}
.panel .stars{font-family:var(--mono); font-size:15px; letter-spacing:.3em; color:var(--teal)}
.panel h3{font-family:var(--display); font-size:30px; font-weight:500; margin:16px 0 10px}
.panel p{color:var(--ink-2); font-size:15.5px; margin-bottom:24px}
.contact-list{list-style:none; padding:0; margin:0 0 26px}
.contact-list li{display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid var(--line-soft); font-size:14.5px}
.contact-list b{font-family:var(--label); font-weight:500; letter-spacing:.03em}
.contact-list span{font-family:var(--mono); font-size:13px; color:var(--ink-2)}
@media (max-width:720px){ .split{grid-template-columns:1fr} }

/* ===== footer ===== */
.foot{background:var(--teal-deep); color:var(--teal-ink); padding:66px 0 30px; border-top:1px solid var(--line-teal)}
.foot__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px}
.foot .brand__name{color:var(--paper); font-size:22px}
.foot__logo{width:158px; height:auto; margin-bottom:14px}
.foot .brand__cred{color:var(--mint); font-size:10px; margin:0}
.foot__mote{font-family:var(--display); font-style:italic; font-size:26px; color:var(--paper); margin-top:22px}
.foot h4{font-family:var(--label); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--mint); margin:0 0 16px}
.foot a, .foot p{display:block; color:var(--teal-ink); font-size:14px; margin-bottom:9px; opacity:.9}
.foot a:hover{color:var(--paper)}
.foot__base{margin-top:48px; padding-top:22px; border-top:1px solid var(--line-teal); display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-family:var(--mono); font-size:11px; color:rgba(211,232,227,.6); letter-spacing:.04em}
.foot__base a{display:inline; color:rgba(211,232,227,.72); margin:0}
.foot__base a:hover{color:var(--paper)}
@media (max-width:760px){ .foot__grid{grid-template-columns:1fr} }

/* ===== CTA fixo no mobile (só ≤600px; some no desktop, que fica idêntico ao site) ===== */
.stickycta{position:fixed; left:0; right:0; bottom:0; z-index:45; display:none; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter:saturate(1.1) blur(8px); border-top:1px solid var(--line-soft)}
.stickycta .btn{width:100%; justify-content:center}
@media (max-width:600px){ .stickycta{display:block} body{padding-bottom:76px} }

/* ===== reveals ===== */
.reveal-armed .rv{opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease)}
.reveal-armed .rv.in{opacity:1; transform:none}
.reveal-armed .rv[data-d="1"]{transition-delay:.1s}
.reveal-armed .rv[data-d="2"]{transition-delay:.2s}
.reveal-armed .rv[data-d="3"]{transition-delay:.3s}
.reveal-armed .cliprise{opacity:0; clip-path:inset(0 0 100% 0); transition:opacity .9s var(--ease), clip-path 1s var(--ease)}
.reveal-armed .cliprise.in{opacity:1; clip-path:inset(0 0 0 0)}
.reveal-armed .chapter__num.rvnum{opacity:0; transform:translateY(40px) scale(.96); transition:opacity 1.05s var(--ease), transform 1.05s var(--ease)}
.reveal-armed .chapter__num.rvnum.in{opacity:1; transform:none}

/* ===== mobile ===== */
@media (max-width:600px){
  .hero__top{font-size:10px; letter-spacing:.12em; row-gap:6px}
  .hero__top .sep{display:none}
  .hero__cta .btn{width:100%; justify-content:center}
  .proc{min-height:0; padding:22px 20px}
  .proc__t{margin-top:12px; font-size:23px}
  .chapter__num{font-size:clamp(100px,30vw,140px); top:-6px; left:0}
  .chapter__body{padding-top:clamp(76px,24vw,104px)}
  .about__grid{padding-top:clamp(76px,24vw,104px)}
  .contact-list li{flex-direction:column; gap:3px; align-items:flex-start}
  .contact-list span{text-align:left}
  .stat__n small{font-size:.5em}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important}
  .rv,.cliprise,.chapter__num.rvnum{opacity:1 !important; transform:none !important; clip-path:none !important; transition:none !important}
  .btn:hover{transform:none}
  .progress__fill{animation:none !important; height:0 !important}
}
