:root{
  --bg:#070707;
  --bg-2:#0d0d0e;
  --panel:#121214;
  --panel-2:#171719;
  --text:#f5f5f4;
  --muted:#aaa9ad;
  --line:#29292d;
  --red:#e52b2f;
  --red-2:#b90f20;
  --red-soft:rgba(229,43,47,.12);
  --white:#fff;
  --container:1180px;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Inter",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.65;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(var(--container),calc(100% - 48px));margin:auto}
section{position:relative}

/* HEADER */
.topbar{position:fixed;inset:0 0 auto;z-index:100;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(7,7,7,.22);backdrop-filter:blur(18px);transition:background .3s ease, box-shadow .3s ease, border-color .3s ease}
.topbar.scrolled{background:rgba(7,7,7,.80);box-shadow:0 18px 40px rgba(0,0,0,.35);border-bottom-color:rgba(255,255,255,.12)}
.nav-inner{height:74px;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:14px;min-width:max-content}
.brand-logo-img{width:42px;height:42px;object-fit:contain;background:transparent;padding:0;border-radius:0;box-shadow:none;filter:brightness(0) invert(1);opacity:.96}
.brand-title,.brand-sub{display:block;line-height:1.1}
.brand-title{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:.02em}
.brand-sub{margin-top:5px;color:var(--red);font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:800}
.desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.desktop-nav a{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#d7d7da;font-weight:700;position:relative;padding:31px 0}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:23px;height:2px;background:var(--red);transition:.25s}
.desktop-nav a:hover,.desktop-nav a.active{color:#fff}.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}
.header-cta{margin-left:8px}.mobile-actions{display:none;margin-left:auto;gap:8px}
.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:#111;color:#fff;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* BUTTONS */
.btn{border:0;border-radius:2px;padding:15px 25px;display:inline-flex;align-items:center;justify-content:center;min-height:50px;cursor:pointer;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.09em;transition:.25s;position:relative;overflow:hidden}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 10px 30px rgba(229,43,47,.18)}
.btn-primary:hover{background:#ff3a3f;transform:translateY(-2px)}
.btn-outline,.btn-light{background:transparent;color:#fff;border:1px solid #4a4a4e}
.btn-outline:hover,.btn-light:hover{border-color:var(--red);color:var(--red)}

/* MOBILE DRAWER */
.mobile-drawer{position:fixed;inset:0;z-index:150;background:#090909;padding:24px;display:flex;flex-direction:column;visibility:hidden;opacity:0;transform:translateX(40px);pointer-events:none;transition:.3s}
.mobile-drawer.open{visibility:visible;opacity:1;transform:none;pointer-events:auto}
.drawer-top{display:flex;align-items:center;justify-content:space-between}
.drawer-nav{display:grid;gap:3px;margin:50px 0 auto}
.drawer-nav a{padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:31px;font-weight:600}
.drawer-nav a:hover{color:var(--red)}

/* HERO — novo layout editorial */
.hero{min-height:760px;height:100vh;max-height:900px;display:flex;align-items:center;overflow:hidden;background:#060606;padding-top:74px}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#060606 0%,#060606 43%,rgba(6,6,6,.84) 58%,rgba(6,6,6,.18) 100%);z-index:1}
.hero:after{content:none}
.hero-slideshow{position:absolute;top:74px;right:0;bottom:0;width:54%;z-index:0;overflow:hidden;background:#111}
.hero-slide-layer{position:absolute;inset:0;background-position:63% center;background-size:cover;background-repeat:no-repeat;filter:contrast(1.03) saturate(1.02);opacity:0;transition:opacity 1s ease}
.hero-slide-layer.is-visible{opacity:.9}

.hero .container{position:relative;z-index:2}
.hero-content{width:min(690px,58%);padding:70px 0}
.badge,.line-label,.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--red);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.18em}
.badge{border-left:3px solid var(--red);padding:6px 0 6px 13px;background:none;border-radius:0;font-size:13px;min-height:34px}.typing-badge{align-items:center}.typing-caret{display:inline-block;width:2px;height:1.05em;background:var(--red);margin-left:3px;animation:typingBlink .8s steps(1,end) infinite}@keyframes typingBlink{50%{opacity:0}}
.hero h1{font-family:var(--serif);font-size:clamp(54px,6.3vw,88px);line-height:.92;letter-spacing:-.035em;margin:28px 0 25px;font-weight:600;color:#fff}
.hero h1 em{font-style:italic;color:var(--red);font-weight:500}
.hero p{font-size:16px;max-width:650px;color:#c4c4c7;margin:0 0 34px;line-height:1.8}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
.hero-scroll-cue{position:absolute;left:50%;bottom:24px;z-index:3;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;color:#777;font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.hero-scroll-cue svg{width:18px;fill:none;stroke:var(--red);stroke-width:2}

/* CONNECTION */
.connection{padding:120px 0;background:#0b0b0c;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.connection .inner{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(420px,1.18fr);grid-template-rows:auto auto;column-gap:90px;row-gap:18px;align-items:start}
.connection .line-label{grid-column:1;grid-row:1}
.connection h2{grid-column:1;grid-row:2;font-family:var(--serif);font-size:47px;line-height:1.06;margin:0;font-weight:600;max-width:none}
.connection h2 span{color:var(--red);font-style:italic}
.connection-side{grid-column:2;grid-row:2;display:grid;gap:26px;align-self:start}
.connection-copy{display:grid;gap:16px}
.connection-copy p{margin:0;color:#b7b7ba;font-size:16px}
.connection-image-slot{min-height:240px;border:1px solid rgba(229,43,47,.22);background:linear-gradient(135deg,rgba(229,43,47,.08),rgba(255,255,255,.01));padding:18px}
.connection-image-placeholder{height:100%;min-height:204px;border:1px dashed rgba(255,255,255,.14);display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,rgba(229,43,47,.14),transparent 46%), #0d0d0f}
.connection-image-placeholder span{color:#8f8f95;font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;text-align:center;padding:20px}

/* TITLES */
.services,.process,.about,.book,.faq,.bottom-cta{padding:120px 0}
.head,.process-head,.faq-head{max-width:790px}
.head h2,.section-title{font-family:var(--serif);font-size:clamp(43px,5vw,64px);line-height:1.02;letter-spacing:-.025em;margin:16px 0 18px;font-weight:600;text-wrap:balance}
.head h2 em,.section-title em{color:var(--red);font-style:italic}
.head p,.faq-head p{color:var(--muted);max-width:720px}
.eyebrow svg{stroke:currentColor;width:16px;height:16px;fill:none}

/* SERVICES — cards em 2 colunas */
.services{background:#080808}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:58px}
.card-service{background:#0d0d0e;min-height:100%;position:relative;transition:.3s;overflow:hidden;display:flex;flex-direction:column}
.card-service:before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--red);transition:.35s}
.card-service:hover{background:#141416}.card-service:hover:before{height:100%}
.card-media{position:relative;overflow:hidden;border-bottom:1px solid var(--line);aspect-ratio:16/8}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}.card-service:hover .card-media img{transform:scale(1.04)}.card-content{padding:28px 30px 32px;display:flex;flex-direction:column;flex:1}.card-icon{width:46px;height:46px;display:grid;place-items:center;color:var(--red);border:1px solid #343437;margin-bottom:22px;background:rgba(13,13,14,.72)}
.card-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card-service h3{font-family:var(--serif);font-size:29px;line-height:1.05;margin:0 0 13px;color:#fff}
.card-service p{margin:0;color:#9f9fa3;font-size:14px;max-width:520px}

/* PROCESS — linha vertical */
.process{background:var(--red);color:#fff;overflow:hidden}
.process:before{content:"04";position:absolute;right:-30px;top:20px;font:800 300px/1 var(--sans);color:rgba(0,0,0,.1);letter-spacing:-.08em}
.process .line-label{color:#230205}
.process .section-title{max-width:720px;color:#fff}.process .section-title em{color:#270305}
.process-grid{margin-top:65px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;border-top:1px solid rgba(0,0,0,.22)}
.process-grid:before{content:none}
.step{padding:34px 30px 0 0;margin-right:30px;border-right:1px solid rgba(0,0,0,.2)}
.step:last-child{border-right:0;margin-right:0}
.step-num{font-family:var(--serif);font-size:54px;line-height:1;color:#280306;margin-bottom:28px}
.step h3{font-size:18px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}
.step p{margin:0;color:rgba(255,255,255,.78);font-size:14px}
.process-orbits{display:none}

/* ABOUT */
.about{background:#090909}
.about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center}
.portrait{position:relative;min-height:650px;border:1px solid var(--line);overflow:hidden;background:#111}
.portrait:after{content:"RICARDO GARCIA";position:absolute;left:22px;bottom:18px;font-size:10px;letter-spacing:.24em;font-weight:800;color:#fff;background:rgba(0,0,0,.72);padding:8px 10px}
.portrait img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:67% center}
.bio-text{border-top:1px solid var(--line);padding-top:22px}
.bio-text p{color:#adadb1;margin:0 0 18px}
.about-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}

/* BOOK */
.book{background:#111}
.book-panel{border:1px solid #343438;background:linear-gradient(120deg,#151516,#090909);padding:0;overflow:hidden}
.book-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:stretch}
.book-copy{padding:72px 66px}
.book-copy p{color:#aaaab0;max-width:650px}
.book-cover{border:0;background:radial-gradient(circle at 50% 42%,rgba(229,43,47,.28),transparent 45%),#0a0a0a;display:flex;align-items:center;justify-content:center;min-height:620px;padding:55px;cursor:pointer;border-left:1px solid var(--line)}
.book-cover img{max-height:500px;filter:drop-shadow(0 28px 30px rgba(0,0,0,.6));transition:.4s}
.book-cover:hover img{transform:translateY(-8px) rotate(-1deg)}

/* FAQ */
.faq{background:#080808}
.faq-head{margin-bottom:50px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;align-items:start}
.faq-item{border:1px solid var(--line);background:#0f0f10}
.faq-question{width:100%;border:0;background:transparent;color:#fff;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 24px;cursor:pointer;font-weight:700}
.faq-question:hover{color:var(--red)}
.chev{width:30px;height:30px;display:grid;place-items:center;border:1px solid #343438;flex:0 0 auto}
.chev svg{width:15px;fill:none;stroke:currentColor;stroke-width:2}
.faq-item.open .chev{transform:rotate(180deg);background:var(--red);border-color:var(--red);color:#fff}
.faq-answer{display:block;max-height:0;opacity:0;overflow:hidden;padding:0 24px;transition:max-height .35s ease,opacity .25s ease,padding .25s ease}
.faq-item.open .faq-answer{opacity:1;padding-bottom:22px}
.faq-answer p{color:#a7a7ab;margin:0}

/* CTA */
.bottom-cta{background:#050505;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bottom-cta .inner{max-width:850px}
.emblem{width:70px;height:70px;margin:0 auto 28px;border:1px solid #38383b;display:grid;place-items:center;transform:rotate(45deg)}
.emblem-img{width:34px;height:34px;filter:brightness(0) invert(1);transform:rotate(-45deg)}
.bottom-cta h2{font-family:var(--serif);font-size:clamp(43px,5vw,68px);line-height:1;margin:0 0 22px;font-weight:600}
.bottom-cta h2 span{color:var(--red);font-style:italic}
.bottom-cta p{color:#aaaab0;max-width:760px;margin:0 auto 30px}

/* FOOTER */
footer{background:#0b0b0c;padding:70px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:70px}
.footer-brand-title{display:block;font-family:var(--serif);font-size:34px;font-weight:700}
.footer-brand-sub{display:block;color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:800;margin-top:6px}
footer p,footer a{color:#99999e;font-size:13px}
.footer-heading{display:block;color:#fff;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800;margin-bottom:22px}
.footer-heading:after{content:"";display:block;width:34px;height:2px;background:var(--red);margin-top:9px}
.footer-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer-list a:hover,.footer-contact a:hover{color:var(--red)}
.footer-contact{display:grid;gap:12px}.footer-icon-link{display:inline-flex;align-items:center;gap:9px;word-break:break-word}.footer-icon-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;flex:0 0 auto}
.footer-bottom{margin-top:55px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.footer-bottom p{margin:4px 0;font-size:11px}

/* FLOATING WHATSAPP */
.floating-wa{position:fixed;right:24px;bottom:24px;z-index:90;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 15px 35px rgba(0,0,0,.4);transition:.25s}
.floating-wa:hover{transform:translateY(-4px) scale(1.03)}
.floating-wa svg{width:29px;height:29px;fill:none;stroke:#fff;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}

/* PROGRESS + ANIMATIONS */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:170;background:transparent;pointer-events:none}.scroll-progress span{display:block;width:0;height:100%;background:var(--red);box-shadow:0 0 14px rgba(229,43,47,.7)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal.visible{opacity:1;transform:none}
.hero .badge,.hero h1,.hero p,.hero-buttons{opacity:0;transform:translateY(20px);animation:heroEnter .8s cubic-bezier(.16,1,.3,1) forwards}.hero h1{animation-delay:.08s}.hero p{animation-delay:.18s}.hero-buttons{animation-delay:.28s}@keyframes heroEnter{to{opacity:1;transform:none}}
.book-cover-button{appearance:none}.book-cover-button:focus-visible,.icon-btn:focus-visible,.faq-question:focus-visible,.btn:focus-visible{outline:3px solid rgba(229,43,47,.55);outline-offset:3px}

@media(max-width:980px){
  .desktop-nav,.header-cta{display:none}.mobile-actions{display:flex}.nav-inner{height:72px}.hero{padding-top:72px;min-height:720px}.hero-slideshow{top:72px;width:60%}.hero-slide-layer.is-visible{opacity:.52}.hero:before{background:linear-gradient(90deg,#060606 0%,rgba(6,6,6,.95) 53%,rgba(6,6,6,.55) 100%)}.hero-content{width:78%}
  .connection .inner{grid-template-columns:1fr;gap:30px}.connection .line-label,.connection h2,.connection-side{grid-column:1;grid-row:auto}.connection h2{max-width:760px}.connection-side{gap:22px}.connection-image-slot{min-height:210px}
  .about-grid{grid-template-columns:1fr;gap:50px}.portrait{min-height:520px}.book-grid{grid-template-columns:1fr}.book-cover{border-left:0;border-top:1px solid var(--line);min-height:500px}.faq-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.step{border-bottom:1px solid rgba(0,0,0,.18);padding-bottom:30px}
}
@media(max-width:680px){
  .container{width:min(100% - 30px,var(--container))}.services,.process,.about,.book,.faq,.bottom-cta,.connection{padding:78px 0}
  .hero{height:auto;min-height:760px;align-items:flex-end}.hero-slideshow{width:100%}.hero-slide-layer{background-position:63% center}.hero-slide-layer.is-visible{opacity:.42}.hero:before{background:linear-gradient(0deg,#060606 10%,rgba(6,6,6,.88) 54%,rgba(6,6,6,.35) 100%)}.hero-content{width:100%;padding:150px 0 68px}.hero h1{font-size:50px}.hero p{font-size:14px}.hero-buttons{display:grid}.btn{width:100%}.hero-scroll-cue{display:none}
  .connection h2,.head h2,.section-title,.bottom-cta h2{font-size:40px}.service-grid{grid-template-columns:1fr}.card-content{padding:24px 24px 20px}.card-media{aspect-ratio:16/9}.process-grid{grid-template-columns:1fr;border-top:0}.step{margin:0;border-right:0;border-top:1px solid rgba(0,0,0,.2);padding:25px 0}.step-num{font-size:44px;margin-bottom:15px}.portrait{min-height:440px}.book-copy{padding:44px 25px}.book-cover{min-height:390px;padding:38px}.book-cover img{max-height:350px}.about-actions{display:grid}.footer-grid{grid-template-columns:1fr;gap:38px}.footer-bottom{flex-direction:column;align-items:flex-start}.floating-wa{right:15px;bottom:15px;width:54px;height:54px}
}

.services .head{max-width:980px}
.services .head h2,.faq .section-title{max-width:12ch}
.about .section-title{max-width:14ch}
.hero h1{text-wrap:balance}
.faq-item{align-self:start}


.services .head h2{max-width:100%;text-wrap:initial}
.services .head h2 span,.services .head h2 em{display:block}
.services .head h2 span{color:#fff}
.services .head h2 em{margin-top:2px}
.card-service{justify-content:space-between}
.card-content{padding:30px 30px 26px}
.card-media{order:2;margin-top:auto;border-top:1px solid var(--line);border-bottom:0;aspect-ratio:16/8.6}
.card-media img{display:block}

.connection h2{max-width:none}
.connection h2 span{display:block}
.connection h2 .accent{color:var(--red);font-style:italic}
.connection-image-slot{align-self:start}
.card-placeholder{padding:18px;background:linear-gradient(135deg,rgba(229,43,47,.08),rgba(255,255,255,.01))}
.card-media-placeholder{height:100%;min-height:170px;border:1px dashed rgba(255,255,255,.14);display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,rgba(229,43,47,.14),transparent 46%), #0d0d0f}
.card-media-placeholder span{color:#8f8f95;font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;text-align:center;padding:20px}
.faq .section-title span,.faq .section-title em{display:block}

.connection h2 > span:not(.accent){color:#fff;font-style:normal}
.connection h2 > .accent{color:var(--red);font-style:italic}
.footer-bottom strong{color:#fff}
.faq .section-title > span{display:block;color:#fff;font-style:normal}

/* Ajuste de alinhamento da seção de negativa */
.connection .line-label{align-self:end}
.connection h2{align-self:start}
.connection-side{align-self:start}

/* FAQ: título em exatamente duas linhas no desktop */
.faq .section-title{max-width:none;width:max-content;line-height:1.02}
.faq .section-title span,.faq .section-title em{display:block;white-space:nowrap}

/* Processo em cards estilo folha de caderno */
.process{background:#d91f29}
.process-grid{gap:22px;border-top:0;align-items:stretch}
.step{position:relative;margin:0;padding:34px 28px 30px;border:1px solid rgba(255,255,255,.26);min-height:300px;aspect-ratio:1/1;background:
  linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.015)),
  repeating-linear-gradient(to bottom,transparent 0,transparent 30px,rgba(255,255,255,.09) 31px,rgba(255,255,255,.09) 32px),
  #e52b2f;
  box-shadow:0 10px 22px rgba(80,0,5,.14);overflow:hidden;transition:transform .28s ease,background-color .28s ease,box-shadow .28s ease,color .28s ease,border-color .28s ease}
.step:before{content:"";position:absolute;right:0;top:0;width:34px;height:34px;background:linear-gradient(225deg,#d91f29 0 49%,rgba(255,255,255,.34) 50% 51%,#f56c74 52%);clip-path:polygon(0 0,100% 0,100% 100%)}
.step:hover{transform:translateY(-12px);background:#f7a0a6;border-color:rgba(255,255,255,.65);box-shadow:0 22px 38px rgba(80,0,5,.28);color:#2a080a}
.step:hover .step-num,.step:hover h3,.step:hover p{color:#2a080a}
.step-num{margin-bottom:24px}
.step h3{position:relative;z-index:1}
.step p{position:relative;z-index:1}

@media(max-width:980px){
  .connection-side{grid-row:auto}
  .process-grid{grid-template-columns:1fr 1fr;gap:18px}
  .step{aspect-ratio:auto;min-height:260px;border:1px solid rgba(255,255,255,.26);padding:28px 24px}
}
@media(max-width:680px){
  .nav-inner{height:66px}
  .brand-logo-img{width:39px;height:39px}
  .hero{padding-top:66px}
  .hero-slideshow{top:66px}
  .faq .section-title{width:auto;max-width:100%}
  .faq .section-title span,.faq .section-title em{white-space:normal}
  .process-grid{grid-template-columns:1fr;gap:16px}
  .step{min-height:230px;aspect-ratio:auto;border:1px solid rgba(255,255,255,.26)}
}
.process-grid .step:last-child{border:1px solid rgba(255,255,255,.26);margin:0}
.process-grid .step:hover:last-child{border-color:rgba(255,255,255,.65)}

@media(max-width:680px){.badge{font-size:11px;min-height:30px}.connection .inner{row-gap:20px}.connection-side{grid-row:auto}.connection h2{font-size:40px}}

/* Ajustes finais: título em 3 linhas fixas e imagem substituível por assets/image1.png */
.connection .inner{grid-template-columns:minmax(500px,.95fr) minmax(420px,1.05fr);column-gap:72px}
.connection h2{font-size:clamp(40px,3.55vw,49px);line-height:1.04}
.connection h2 > span{display:block;white-space:nowrap}
.connection h2 > span:not(.accent){color:#fff;font-style:normal}
.connection h2 > .accent{color:var(--red);font-style:italic}
.connection-image-slot{position:relative;overflow:hidden}
.connection-project-image{display:block;width:100%;height:100%;min-height:204px;object-fit:cover}
.connection-image-placeholder[hidden]{display:none}
.connection-image-placeholder:not([hidden]){display:grid}
@media(max-width:1080px){
  .connection .inner{grid-template-columns:minmax(420px,.9fr) minmax(380px,1.1fr);column-gap:46px}
  .connection h2{font-size:42px}
}
@media(max-width:980px){
  .connection .inner{grid-template-columns:1fr}
  .connection h2 > span{white-space:normal}
}

/* Imagens substituíveis sem moldura: image1.png e image2.png a image9.png */
.connection-image-slot{border:0!important;background:transparent!important;padding:0!important;min-height:0!important}
.connection-project-image{display:block;width:100%;height:auto;min-height:0;object-fit:cover;border:0!important;outline:0;box-shadow:none}
.connection-image-placeholder{min-height:204px;border:1px dashed rgba(255,255,255,.14)}
.card-media{padding:0!important;border-top:0!important;border-bottom:0!important;background:transparent!important}
.card-project-image{display:block;width:100%;height:auto;aspect-ratio:16/8.6;object-fit:cover;border:0!important;outline:0;box-shadow:none}
.card-media-placeholder[hidden]{display:none!important}
.card-media-placeholder:not([hidden]){display:grid;min-height:190px;border:1px dashed rgba(255,255,255,.14);background:radial-gradient(circle at 20% 20%,rgba(229,43,47,.14),transparent 46%),#0d0d0f}
@media(max-width:680px){.card-project-image{aspect-ratio:16/9}}


/* Interações em JavaScript: navegação e FAQ */
section.section-arrival::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(90deg,transparent,rgba(229,43,47,.08),transparent);animation:sectionArrivalFlash .52s ease-out both}
@keyframes sectionArrivalFlash{0%{opacity:0;transform:translateY(8px)}35%{opacity:1}100%{opacity:0;transform:translateY(0)}}

.faq-item{transition:border-color .34s ease,background-color .34s ease,transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s ease}
.faq-item.open{border-color:rgba(229,43,47,.55);background:#131315;transform:translateY(-2px);box-shadow:0 18px 36px rgba(0,0,0,.22)}
.chev{transition:transform .42s cubic-bezier(.2,.8,.2,1),background-color .28s ease,border-color .28s ease,color .28s ease}
.chev svg{transition:transform .42s cubic-bezier(.2,.8,.2,1)}
.faq-item.open .chev{transform:rotate(180deg);background:var(--red);border-color:var(--red);color:#fff}
.faq-item.open .chev svg{transform:scale(1.06)}
.faq-answer{transform:translateY(-8px);transition:max-height .42s cubic-bezier(.2,.8,.2,1),opacity .28s ease,padding .34s ease,transform .34s ease}
.faq-item.open .faq-answer{opacity:1;padding-bottom:22px;transform:translateY(0)}
.faq-question{transition:color .25s ease,padding .3s ease}
.faq-item.open .faq-question{color:var(--red);padding-bottom:18px}

.emblem{overflow:hidden}
.emblem-img{width:44px;height:44px;object-fit:contain;filter:grayscale(1) brightness(3.2);transform:rotate(-45deg);background:transparent;padding:0}


/* ===== ANIMAÇÕES INTERATIVAS — versão reforçada ===== */
html{scroll-behavior:auto}

/* Destino da navegação: breve brilho/entrada perceptível */
section.section-arrival{animation:sectionLanding 900ms cubic-bezier(.16,1,.3,1)}
section.section-arrival::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:4;
  background:linear-gradient(90deg,transparent 0%,rgba(229,43,47,.15) 50%,transparent 100%);
  animation:sectionSweep 900ms ease-out both;
}
@keyframes sectionLanding{
  0%{filter:brightness(.88)}
  45%{filter:brightness(1.09)}
  100%{filter:brightness(1)}
}
@keyframes sectionSweep{
  0%{opacity:0;transform:translateX(-18%)}
  30%{opacity:1}
  100%{opacity:0;transform:translateX(18%)}
}

/* FAQ: card abre/fecha visivelmente */
.faq-item{
  position:relative;
  overflow:hidden;
  transition:transform .48s cubic-bezier(.16,1,.3,1),
             background-color .48s ease,
             border-color .48s ease,
             box-shadow .48s ease;
}
.faq-item.open{
  transform:translateY(-5px);
  background:#151517;
  border-color:rgba(229,43,47,.72);
  box-shadow:0 18px 44px rgba(0,0,0,.34),0 0 0 1px rgba(229,43,47,.08) inset;
}
.faq-item.opening{animation:faqCardOpen .56s cubic-bezier(.16,1,.3,1)}
.faq-item.closing{animation:faqCardClose .48s ease}
@keyframes faqCardOpen{
  0%{transform:translateY(0) scale(.985);opacity:.86}
  55%{transform:translateY(-7px) scale(1.006)}
  100%{transform:translateY(-5px) scale(1)}
}
@keyframes faqCardClose{
  0%{transform:translateY(-5px)}
  100%{transform:translateY(0)}
}

.faq-question{transition:color .32s ease,padding .42s cubic-bezier(.16,1,.3,1)}
.faq-item.open .faq-question{color:var(--red);padding-bottom:18px}

.chev{
  transform:rotate(0deg);
  transition:transform .52s cubic-bezier(.34,1.56,.64,1),
             background-color .32s ease,
             border-color .32s ease,
             color .32s ease;
  transform-origin:50% 50%;
}
.chev.arrow-up,.faq-item.open .chev{
  transform:rotate(180deg) scale(1.08);
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}
.chev svg{transition:transform .52s cubic-bezier(.34,1.56,.64,1)}
.faq-item.open .chev svg{transform:scale(1.1)}

.faq-answer{
  height:0;
  max-height:none!important;
  opacity:0;
  overflow:hidden;
  padding:0 24px;
  transform:translateY(-12px);
  transition:height .52s cubic-bezier(.16,1,.3,1),
             opacity .36s ease,
             transform .48s cubic-bezier(.16,1,.3,1),
             padding .42s ease;
  will-change:height,opacity,transform;
}
.faq-item.open .faq-answer{
  opacity:1;
  transform:translateY(0);
  padding-bottom:24px;
}

/* === TEMA CLARO NAS SEÇÕES INTERNAS === */
body{background:#fff;color:#171719}

/* mantém as áreas escuras solicitadas */
.hero,.bottom-cta,footer{color:#f5f5f4}

/* conexão / negativa */
.connection{background:#fff;border-top:1px solid #ececef;border-bottom:1px solid #ececef}
.connection h2 > span:not(.accent){color:#171719}
.connection-copy p{color:#4d4d53}
.connection-image-placeholder{background:#fafafa;border-color:#d8d8dc}
.connection-image-placeholder span{color:#8b8b91}

/* áreas de atuação */
.services{background:#fff}
.services .head h2 span{color:#171719}
.head p,.faq-head p{color:#66666c}
.service-grid{background:#dedee2;border-color:#dedee2}
.card-service{background:#fff}
.card-service:hover{background:#fff7f7;box-shadow:0 16px 34px rgba(0,0,0,.08)}
.card-content{background:transparent}
.card-icon{background:#fff;color:var(--red);border-color:#d8d8dc}
.card-service h3{color:#171719}
.card-service p{color:#55555b}
.card-placeholder{background:#fafafa}
.card-media-placeholder{background:#f7f7f8;border-color:#d4d4d8}
.card-media-placeholder span{color:#85858b}

/* processo: fundo branco, cards continuam como destaque */
.process{background:#fff;color:#171719}
.process:before{color:rgba(0,0,0,.035)}
.process .line-label{color:var(--red)}
.process .section-title{color:#171719}
.process .section-title em{color:var(--red)}
.process-grid{background:transparent}
.step{border-color:#efb6ba;background:
  linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),
  repeating-linear-gradient(to bottom,transparent 0,transparent 30px,rgba(255,255,255,.12) 31px,rgba(255,255,255,.12) 32px),
  #e52b2f;
  box-shadow:0 12px 28px rgba(157,24,31,.15)}
.step:before{background:linear-gradient(225deg,#c91b25 0 49%,rgba(255,255,255,.42) 50% 51%,#f58990 52%)}
.step-num,.step h3{color:#fff}
.step p{color:rgba(255,255,255,.9)}
.step:hover{background:#f7a0a6;color:#2a080a;box-shadow:0 22px 38px rgba(140,20,27,.22)}

/* sobre */
.about{background:#fff}
.about .section-title{color:#171719}
.bio-text{border-top-color:#e2e2e5}
.bio-text p{color:#56565c}
.btn-light{color:#171719;border-color:#c9c9ce}
.btn-light:hover{border-color:var(--red);color:var(--red)}
.portrait{border-color:#e0e0e3;background:#f3f3f4}

/* livro */
.book{background:#f6f6f7}
.book-panel{border-color:#dedee2;background:#fff;box-shadow:0 18px 44px rgba(0,0,0,.06)}
.book-copy .section-title{color:#171719}
.book-copy p{color:#56565c}
.book-cover{background:radial-gradient(circle at 50% 42%,rgba(229,43,47,.13),transparent 45%),#fafafa;border-left-color:#dedee2}

/* FAQ */
.faq{background:#fff}
.faq .section-title > span{color:#171719}
.faq-item{background:#fff;border-color:#dedee2}
.faq-item:hover{border-color:#c7c7cc}
.faq-question{color:#171719}
.faq-answer p{color:#55555b}
.chev{border-color:#cfcfd4;color:#303036}
.faq-item.open{background:#fff7f7;border-color:rgba(229,43,47,.5);box-shadow:0 16px 34px rgba(0,0,0,.08)}

/* seção escura final */
.bottom-cta{background:#070707;border-top-color:#202024;border-bottom-color:#202024}
.bottom-cta h2{color:#fff}
.bottom-cta p{color:#b7b7bd}
.emblem{border-color:#3b3b40}

/* rodapé escuro */
footer{background:#0b0b0c}
.footer-brand-title,.footer-heading,.footer-bottom strong{color:#fff}
footer p,footer a{color:#a3a3aa}

/* correções de contraste em dispositivos menores */
@media(max-width:980px){
  .book-cover{border-left:0;border-top-color:#dedee2}
}


/* === AJUSTES v11: ritmo claro/escuro + processo em folhas cinza === */
/* Nome no cabeçalho permanece branco sobre a barra escura/translúcida */
.topbar .brand-title,
.mobile-drawer .brand-title{color:#fff!important}

/* Alternância de superfícies claras para separar visualmente as seções */
.connection{background:#fff}
.services{background:#f6f6f7}
.process{background:#fff}
.about{background:#f6f6f7}
.book{background:#fff}
.faq{background:#f6f6f7}

/* áreas de atuação sobre cinza claro */
.services .card-service{background:#fff}
.services .card-service:hover{background:#fff7f7}

/* seção processo: folhas de caderno em cinza */
.process-grid{gap:24px;align-items:stretch}
.process-grid .step,
.process-grid .step:last-child{
  position:relative;
  overflow:visible;
  min-height:310px;
  aspect-ratio:1 / 1;
  margin:0;
  padding:48px 30px 30px 38px;
  border:1px solid #c8c8ce;
  color:#25252a;
  background:
    linear-gradient(90deg,transparent 0 25px,rgba(229,43,47,.45) 25px 27px,transparent 27px),
    repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(100,100,110,.13) 32px,rgba(100,100,110,.13) 33px),
    #ececef;
  box-shadow:0 12px 30px rgba(28,28,32,.10);
  transition:transform .34s cubic-bezier(.2,.8,.2,1),background-color .34s ease,border-color .34s ease,box-shadow .34s ease,color .34s ease;
}
/* remove a antiga dobra vermelha */
.process-grid .step:before{content:none!important}
/* clipe metálico no topo */
.process-grid .step:after{
  content:"";
  position:absolute;
  top:-15px;
  left:50%;
  width:23px;
  height:52px;
  border:3px solid #77777f;
  border-bottom-width:3px;
  border-radius:12px;
  background:transparent;
  transform:translateX(-50%) rotate(8deg);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.55),0 3px 8px rgba(0,0,0,.08);
  z-index:3;
}
.process-grid .step-num{color:#4a4a50;margin-bottom:24px;position:relative;z-index:1}
.process-grid .step h3{color:#202025;position:relative;z-index:1}
.process-grid .step p{color:#55555d;position:relative;z-index:1}
.process-grid .step:hover,
.process-grid .step:hover:last-child{
  transform:translateY(-12px) rotate(-.4deg);
  background:
    linear-gradient(90deg,transparent 0 25px,rgba(229,43,47,.52) 25px 27px,transparent 27px),
    repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(130,75,80,.12) 32px,rgba(130,75,80,.12) 33px),
    #f6d9dc;
  border-color:#e4a5aa;
  box-shadow:0 22px 42px rgba(82,38,42,.18);
  color:#25191a;
}
.process-grid .step:hover .step-num,
.process-grid .step:hover h3{color:#6e1c23}
.process-grid .step:hover p{color:#4b3638}
.process-grid .step:hover:after{border-color:#66666d}

/* book passa a branco e mantém o painel destacado */
.book-panel{background:#f7f7f8}
.book-cover{background:radial-gradient(circle at 50% 42%,rgba(229,43,47,.11),transparent 45%),#f2f2f4}

/* FAQ em cinza claro */
.faq-item{background:#fff}

@media(max-width:980px){
  .process-grid .step{aspect-ratio:auto;min-height:270px}
}


/* === Ajustes v12 === */
/* Marca d'água do processo: substitui o antigo número 04 pela marca do escritório */
.process:before{
  content:""!important;
  position:absolute;
  right:-28px;
  top:18px;
  width:330px;
  height:300px;
  background:url('../assets/logo-ricardo-garcia-clean.png') center/contain no-repeat;
  opacity:.055;
  filter:grayscale(1) brightness(.25);
  pointer-events:none;
}

/* Faixa preta entre Sobre e Livro */
.dark-bridge{
  background:#070707;
  color:#fff;
  padding:86px 0;
  border-top:1px solid #202024;
  border-bottom:1px solid #202024;
}
.dark-bridge-inner{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:42px;
  align-items:center;
  max-width:980px;
}
.dark-bridge-logo{
  width:88px;
  height:88px;
  object-fit:contain;
  filter:grayscale(1) brightness(4);
  opacity:.92;
}
.dark-bridge-eyebrow{
  color:var(--red);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.18em;
}
.dark-bridge h2{
  margin:12px 0 14px;
  font-family:var(--serif);
  font-size:clamp(38px,4.6vw,60px);
  line-height:1.02;
  font-weight:600;
  color:#fff;
}
.dark-bridge h2 em{color:var(--red);font-style:italic;font-weight:500}
.dark-bridge p{margin:0;max-width:760px;color:#b9b9bf;font-size:15px}

/* FAQ: animação contínua, sem segundo salto de tamanho */
.faq-answer{
  height:auto!important;
  max-height:0!important;
  opacity:0!important;
  overflow:hidden!important;
  padding:0 24px!important;
  transform:translateY(-7px)!important;
  transition:max-height .42s cubic-bezier(.2,.8,.2,1),opacity .28s ease,padding .36s ease,transform .36s ease!important;
}
.faq-item.open .faq-answer{
  max-height:340px!important;
  opacity:1!important;
  padding:0 24px 22px!important;
  transform:translateY(0)!important;
}
.faq-item.opening,.faq-item.closing{animation:none!important}

/* Indicador "Role para conhecer": mais visível e movimento suave */
.hero-scroll-cue{
  color:#d8d8dc!important;
  opacity:.96;
  animation:scrollCueFloat 1.9s ease-in-out infinite;
  will-change:transform;
}
.hero-scroll-cue svg{stroke:#f0f0f2!important}
@keyframes scrollCueFloat{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(7px)}
}

@media(max-width:980px){
  .dark-bridge-inner{grid-template-columns:80px 1fr;gap:26px}
  .dark-bridge-logo{width:68px;height:68px}
  .process:before{width:220px;height:210px;right:-20px;top:15px}
}
@media(max-width:680px){
  .dark-bridge{padding:64px 0}
  .dark-bridge-inner{grid-template-columns:1fr;gap:18px;text-align:center}
  .dark-bridge-logo{margin:auto}
  .dark-bridge p{margin:auto}
}


/* === Ajustes v13 === */
/* FAQ: elimina qualquer linha/outline residual ao retornar à seção */
.faq-question,
.faq-question:focus,
.faq-question:focus-visible,
.faq-question:active{
  outline:none!important;
  box-shadow:none!important;
  border:0!important;
}
.faq-item.open .faq-question{border-bottom:0!important;box-shadow:none!important}
.faq-answer{border-top:0!important;box-shadow:none!important}
.faq-item.open{overflow:hidden}

/* Livro: remove divisória visual, preservando área de hover e movimento */
.book-panel{border-color:transparent!important}
.book-cover{
  border-left:0!important;
  border-top:0!important;
  background:transparent!important;
}
.book-copy{border-right:0!important}
.book-cover:hover{background:transparent!important}
.book-cover img{transition:transform .4s cubic-bezier(.16,1,.3,1),filter .4s ease}
.book-cover:hover img{transform:translateY(-8px) rotate(-1deg) scale(1.015)}

/* Faixa preta: círculo ao redor do ícone do escritório */
.dark-bridge-logo{
  width:92px!important;
  height:92px!important;
  padding:15px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  box-sizing:border-box;
  background:rgba(255,255,255,.02);
}

/* Botão flutuante do WhatsApp removido */
.floating-wa{display:none!important}


/* === Ajustes v14 === */
/* Faixa preta: círculo independente para não recortar o ícone */
.dark-bridge-logo-ring{
  width:98px;
  height:98px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  background:rgba(255,255,255,.018);
  flex:0 0 auto;
}
.dark-bridge-logo{
  width:64px!important;
  height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  object-fit:contain!important;
  box-shadow:none!important;
}

/* Áreas de atuação: destaque vermelho horizontal no topo */
.card-service:before{
  left:0!important;
  top:0!important;
  width:0!important;
  height:3px!important;
  background:var(--red)!important;
  transition:width .35s cubic-bezier(.16,1,.3,1)!important;
}
.card-service:hover:before{
  width:100%!important;
  height:3px!important;
}

/* Livro: somente borda externa contínua, sem divisórias internas */
.book-panel{
  border:1px solid #d7d7dc!important;
  overflow:hidden;
}
.book-grid,
.book-copy,
.book-cover{
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:0!important;
}

@media(max-width:980px){
  .dark-bridge-logo-ring{width:78px;height:78px}
  .dark-bridge-logo{width:50px!important;height:50px!important;max-width:50px!important;max-height:50px!important}
}

.book-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.book-actions .btn{min-width:145px}
@media(max-width:680px){.book-actions{display:grid}.book-actions .btn{width:100%}}

/* Slideshow da Home: slide1, slide2... em PNG/JPG/JFIF */
.hero-slideshow{pointer-events:none}
.hero:before{z-index:1}
.hero .container,.hero-scroll-cue{z-index:2}


/* === Ajustes solicitados: Home mais à esquerda, faixas pretas mais finas e sem flash rosado === */
@media(min-width:981px){
  .hero .container{
    width:calc(100% - clamp(72px,9vw,150px));
    max-width:none;
    margin-left:clamp(46px,5.3vw,82px);
    margin-right:0;
  }
  .hero-content{max-width:690px}
}

/* Mantém conteúdo interno intacto, reduzindo apenas o respiro vertical das duas faixas pretas */
.bottom-cta{padding:78px 0!important}
.dark-bridge{padding:60px 0!important}

/* Remove completamente o brilho/flash de chegada ao navegar pela homebar */
section.section-arrival,
section.section-arrival::after{
  animation:none!important;
  filter:none!important;
  background-image:none!important;
}
section.section-arrival::after{content:none!important}

@media(max-width:980px){
  .hero .container{margin-left:auto;margin-right:auto}
  .bottom-cta{padding:68px 0!important}
  .dark-bridge{padding:54px 0!important}
}
@media(max-width:680px){
  .bottom-cta{padding:58px 0!important}
  .dark-bridge{padding:48px 0!important}
}

/* === Barra superior alinhada com o conteúdo da Home em telas grandes === */
@media(min-width:981px){
  .topbar .nav-inner{
    width:calc(100% - clamp(84px,8vw,132px));
    max-width:none;
    margin-left:clamp(46px,5.3vw,82px);
    margin-right:clamp(24px,2.5vw,42px);
  }
}


/* Textos corridos justificados */
.connection-copy p,
.card-service p,
.process-grid .step p,
.bio-text p,
.book-copy p,
.faq-answer p{
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
}


/* Justificação sem hifenização automática */
.connection-copy p,
.card-service p,
.process-grid .step p,
.bio-text p,
.book-copy p,
.faq-answer p{
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}
