:root {
  --header: #223751;
  --navy: #162638;
  --navy-2: #0f1d2b;
  --ink: #1d2936;
  --muted: #66727e;
  --gold: #c9a45b;
  --gold-light: #e5cb91;
  --sand: #f5f1e9;
  --soft: #f7f8f6;
  --white: #ffffff;
  --line: rgba(22,38,56,.12);
  --radius: 28px;
  --shadow: 0 30px 80px rgba(19,31,44,.12);
  --font-sans: "Plus Jakarta Sans", sans-serif;
  --font-serif: "Plus Jakarta Sans", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:var(--font-sans); color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
::selection { background:var(--gold); color:var(--navy-2); }

.skip-link { position:fixed; top:8px; left:8px; z-index:9999; background:#fff; color:#111; padding:10px 14px; transform:translateY(-150%); border-radius:8px; }
.skip-link:focus { transform:none; }

/* Header: cor solicitada */
.site-header { background:var(--header); transition:padding .35s ease, box-shadow .35s ease, background .35s ease; padding:14px 0; z-index:1040; }
.site-header.is-shrunk { padding:6px 0; box-shadow:0 12px 35px rgba(0,0,0,.17); }
.site-header .navbar { padding:0; }
.navbar-brand img { width:215px; height:auto; transition:width .35s ease; }
.site-header.is-shrunk .navbar-brand img { width:175px; }
.navbar-toggler { border:1px solid rgba(255,255,255,.25); }
.navbar-toggler-icon { filter:invert(1) brightness(2); }
.nav-link { color:rgba(255,255,255,.82); font-size:.9rem; font-weight:600; padding:.75rem .9rem!important; border-radius:999px; transition:.25s ease; }
.nav-link:hover,.nav-link:focus { color:#fff; background:rgba(255,255,255,.09); }
.site-header .navbar-nav { --bs-navbar-active-color:var(--gold-light); }
.site-header .navbar-nav .nav-link.active,
.site-header .navbar-nav .nav-link.show {
  color:var(--gold-light);
  background-color:rgba(201,164,91,.12);
}
.dropdown-menu { border:0; border-radius:18px; padding:10px; box-shadow:0 22px 60px rgba(0,0,0,.18); min-width:270px; }
.dropdown-item { border-radius:11px; padding:.72rem .85rem; font-size:.9rem; font-weight:600; }
.dropdown-item:hover { background:var(--sand); }
.offcanvas { background:var(--header); color:#fff; }
.offcanvas .dropdown-menu { background:#fff; }

.btn { border-radius:999px; font-weight:700; letter-spacing:-.01em; transition:transform .3s ease, box-shadow .3s ease, background .3s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-gold { background:linear-gradient(135deg,var(--gold-light),var(--gold)); color:#172332; border:0; box-shadow:0 12px 28px rgba(201,164,91,.23); }
.btn-gold:hover { color:#0d1722; box-shadow:0 17px 36px rgba(201,164,91,.30); }
.btn-outline-navy { color:var(--navy); border:1px solid rgba(22,38,56,.3); background:transparent; }
.btn-outline-navy:hover { background:var(--navy); color:#fff; }
.btn-link-light { color:rgba(255,255,255,.82); font-weight:700; padding:.8rem 0; }
.btn-link-light:hover { color:#fff; }

.eyebrow { display:inline-flex; align-items:center; gap:.55rem; color:var(--gold-light); font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; font-weight:800; }
.eyebrow::before { content:""; width:30px; height:1px; background:currentColor; opacity:.8; }

/* Galeria da clínica */
.clinic-gallery-section { padding:0 0 clamp(80px,9vw,140px); }
.clinic-gallery-heading { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:50px; align-items:end; margin-bottom:38px; }
.clinic-gallery-heading .lead-copy { max-width:560px; }
.clinic-gallery-grid { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:280px 280px; gap:18px; }
.clinic-gallery-item { margin:0; overflow:hidden; border-radius:22px; background:var(--sand); box-shadow:0 18px 55px rgba(19,31,44,.10); }
.clinic-gallery-item-main { grid-row:1 / span 2; }
.clinic-gallery-item-wide { display:none; }
.clinic-gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.clinic-gallery-item:hover img { transform:scale(1.035); }
@media (max-width: 767.98px) {
  .clinic-gallery-heading { grid-template-columns:1fr; gap:18px; }
  .clinic-gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:320px 190px; gap:12px; }
  .clinic-gallery-item-main { grid-column:1 / -1; grid-row:auto; }
  .clinic-gallery-item { border-radius:16px; }
}
.eyebrow.dark { color:#8b6d36; }
.text-gold { color:var(--gold-light)!important; }
.text-navy { color:var(--navy)!important; }
.text-dark-muted { color:var(--muted)!important; }
.text-white-75 { color:rgba(255,255,255,.74)!important; }
.bg-soft { background:var(--soft); }
.bg-dark-navy { background:var(--navy-2); }
.section-space { padding:110px 0; }
.section-title { font-family:var(--font-serif); font-weight:600; letter-spacing:-.035em; font-size:clamp(2.3rem,4vw,4.6rem); line-height:1.03; color:var(--navy); margin:15px 0 0; max-width:900px; }
.lead-copy {
    color: var(--muted);
    font-size: 1.06rem;
    line-height: 1.85;
    margin-top: 20px;
}
.section-head .section-title { max-width:820px; }
.text-link { display:inline-flex; align-items:center; gap:.65rem; font-weight:800; color:var(--navy); white-space:nowrap; }
.text-link i { transition:transform .25s ease; }
.text-link:hover i { transform:translateX(4px); }
.text-link.light { color:#fff; }

/* Hero */
.hero-home { min-height:100vh; padding-top:118px; background:linear-gradient(135deg,#132335 0%,#1c3045 54%,#0f1e2d 100%); color:#fff; isolation:isolate; }
.hero-grid { min-height:calc(100vh - 118px); display:grid; grid-template-columns:minmax(0,1fr) minmax(500px,.95fr); gap:35px; align-items:center; padding-top:30px; padding-bottom:60px; }
.hero-copy { position:relative; z-index:4; max-width:780px; }
.display-hero { font-family:var(--font-serif); font-weight:600; font-size:clamp(4rem,5.2vw,7.4rem); line-height:.92; letter-spacing:-.055em; margin:0; }
.title-line { display:block; overflow:hidden; padding-bottom:.06em; }
.title-inner { display:block; transform:translateY(112%); }
.hero-lead { max-width:690px; font-size:1.08rem; line-height:1.8; color:rgba(255,255,255,.72); margin:30px 0 0; opacity:0; }
.hero-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:34px; opacity:0; }
.hero-proof { display:flex; gap:32px; margin-top:55px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); opacity:0; }
.hero-proof div { display:grid; gap:4px; }
.hero-proof strong { font-size:.93rem; }
.hero-proof span { color:rgba(255,255,255,.48); font-size:.78rem; }
.hero-orb { position:absolute; border-radius:50%; filter:blur(1px); opacity:.6; pointer-events:none; z-index:-1; }
.hero-orb-1 { width:440px; height:440px; background:radial-gradient(circle,rgba(201,164,91,.17),transparent 68%); left:-140px; top:5%; }
.hero-orb-2 { width:560px; height:560px; background:radial-gradient(circle,rgba(74,114,150,.20),transparent 68%); right:-180px; bottom:-120px; }
.hero-visual { position:relative; width:100%; max-width:650px; height:680px; margin-left:auto; perspective:1500px; }
.constellation { position:relative; width:100%; height:100%; transform-style:preserve-3d; will-change:transform; }
.constellation-lines { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.constellation-lines path { fill:none; stroke:rgba(231,208,160,.28); stroke-width:1.2; stroke-linecap:round; stroke-dasharray:5 8; }
.treatment-node { position:absolute; z-index:2; display:block; width:160px; transform-style:preserve-3d; opacity:0; }
.treatment-node { touch-action:manipulation; -webkit-tap-highlight-color:rgba(229,203,145,.22); }
.treatment-node > * { pointer-events:none; }
.node-media { width:100%; aspect-ratio:1/1; display:block; border-radius:34px; padding:7px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); box-shadow:0 24px 55px rgba(0,0,0,.23); backdrop-filter:blur(12px); overflow:hidden; transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .45s ease; }
.node-media img { width:100%; height:100%; object-fit:cover; border-radius:28px; filter:saturate(.86) contrast(.97); }
.node-label { display:block; text-align:center; margin-top:10px; color:rgba(255,255,255,.78); font-weight:700; font-size:.72rem; line-height:1.3; text-shadow:0 2px 12px rgba(0,0,0,.4); }
.treatment-node:hover .node-media,.treatment-node.is-active .node-media { transform:translateY(-9px) scale(1.06); border-color:rgba(229,203,145,.65); box-shadow:0 34px 70px rgba(0,0,0,.34),0 0 0 1px rgba(229,203,145,.15); }
.treatment-node.is-active { z-index:8; }
.node-top { width:112px; top:18px; left:50%; margin-left:-56px; }
.node-left-top { width:144px; left:66px; top:95px; transform:rotate(-7deg) translateZ(20px); display:flex; flex-direction:column; }
.node-right-top { width:144px; right:66px; top:95px; transform:rotate(7deg) translateZ(20px); display:flex; flex-direction:column; }
.node-left-top .node-label,.node-right-top .node-label { order:-1; min-height:30px; margin:0 0 10px; display:flex; align-items:flex-end; justify-content:center; }
.node-left { width:128px; left:8px; top:300px; transform:rotate(-11deg) translateZ(-5px); }
.node-center { width:190px; left:50%; top:250px; margin-left:-95px; transform:translateZ(45px); z-index:5; }
.node-right { width:128px; right:8px; top:300px; transform:rotate(11deg) translateZ(-5px); }
.node-bottom { width:146px; left:50%; bottom:16px; margin-left:-73px; transform:rotate(3deg) translateZ(10px); }
.gas-node .node-media,.care-media-gas { background:linear-gradient(145deg,#d9c089,#b48c47)!important; color:var(--navy)!important; }
.gas-symbol { width:100%; height:100%; display:grid; place-items:center; align-content:center; gap:5px; font-family:var(--font-serif); }
.gas-symbol b:first-child { font-size:2.1rem; transform:translateX(-12px); }
.gas-symbol b:last-child { font-size:1.7rem; transform:translateX(18px); opacity:.78; }
.scroll-cue { position:absolute; left:50%; bottom:18px; transform:translateX(-50%); display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.38); font-size:.65rem; text-transform:uppercase; letter-spacing:.18em; }
.scroll-cue span { width:34px; height:1px; background:currentColor; }

/* Mantém os cards estáveis durante o clique no desktop.
   O movimento 3D do contêiner deslocava principalmente os cards laterais. */
@media (min-width:768px) {
  .constellation { transform:none!important; }
  .node-left { z-index:6; transform:rotate(-11deg) translateZ(20px)!important; }
  .node-right { z-index:6; transform:rotate(11deg) translateZ(20px)!important; }
  .node-left > *,.node-right > * { pointer-events:none; }
}

/* sliders/cards */
.treatment-swiper,.team-swiper { padding:5px 2px 10px; }
.treatment-swiper .swiper-slide { width:360px; height:auto; }
.care-card { display:block; height:100%; border-radius:var(--radius); background:#fff; overflow:hidden; box-shadow:0 16px 40px rgba(18,35,51,.08); transition:transform .35s ease, box-shadow .35s ease; }
.care-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.care-media { position:relative; aspect-ratio:1.18/1; overflow:hidden; background:#e9ecef; }
.care-media img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.care-card:hover .care-media img { transform:scale(1.045); }
.care-media-gas { display:grid; place-items:center; }
.care-media-gas > span { font-family:var(--font-serif); font-size:clamp(2.8rem,4vw,5rem); }
.care-media-gas small { font-family:var(--font-sans); font-size:1rem; opacity:.65; }
.care-arrow { position:absolute; right:16px; top:16px; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.92); color:var(--navy); display:grid; place-items:center; box-shadow:0 8px 26px rgba(0,0,0,.12); transition:transform .35s ease; }
.care-card:hover .care-arrow,.treatment-grid-card:hover .care-arrow { transform:rotate(45deg); }
.care-content { padding:25px 25px 28px; }
.care-index { color:#a98748; font-size:.72rem; letter-spacing:.12em; font-weight:800; }
.care-content h3 { font-family:var(--font-serif); color:var(--navy); font-size:1.55rem; margin:8px 0 10px; }
.care-content p { color:var(--muted); font-size:.9rem; line-height:1.65; margin:0; }
.slider-controls { display:flex; align-items:center; gap:12px; }
.slider-btn { width:48px; height:48px; border-radius:50%; border:1px solid rgba(22,38,56,.16); background:#fff; color:var(--navy); display:grid; place-items:center; transition:.25s; }
.slider-btn:hover { background:var(--navy); color:#fff; }
.slider-controls.light .slider-btn { border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.06); color:#fff; }
.slider-controls.light .slider-btn:hover { background:#fff; color:var(--navy); }
.treatments-pagination,.team-pagination { position:static!important; width:auto!important; flex:1; height:1px!important; background:rgba(22,38,56,.12); }
.treatments-pagination .swiper-pagination-progressbar-fill,.team-pagination .swiper-pagination-progressbar-fill { background:var(--gold); }
.slider-controls.light .team-pagination { background:rgba(255,255,255,.12); }

/* Home content */
.image-frame { position:relative; border-radius:36px; overflow:hidden; box-shadow:var(--shadow); }
.image-frame img { width:100%; aspect-ratio:1.08/1; object-fit:cover; }
.image-badge { position:absolute; left:22px; bottom:22px; min-width:190px; padding:16px 18px; border-radius:18px; background:rgba(18,34,49,.88); color:#fff; backdrop-filter:blur(12px); display:grid; }
.image-badge span { color:var(--gold-light); text-transform:uppercase; letter-spacing:.13em; font-size:.67rem; }
.image-badge strong { margin-top:3px; font-size:.91rem; }
.feature-stack { display:grid; gap:17px; margin-top:32px; }
.feature-line { display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.feature-line i { width:48px; height:48px; border-radius:16px; background:var(--sand); color:#8c6b31; display:grid; place-items:center; font-size:1.2rem; flex:0 0 auto; }
.feature-line div { display:grid; gap:4px; }
.feature-line strong { color:var(--navy); }
.feature-line span { color:var(--muted); font-size:.9rem; line-height:1.55; }
.hydrogen-feature { background:#fff; }
.hydrogen-card { background:linear-gradient(130deg,#112234,#1c344b 70%,#27475e); border-radius:40px; padding:70px; overflow:hidden; box-shadow:0 35px 90px rgba(15,29,43,.18); }
.hydrogen-card .section-title { max-width:780px; }
.gas-panel { border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.06); backdrop-filter:blur(16px); padding:12px 28px; border-radius:28px; }
.gas-metric { padding:20px 0; display:grid; grid-template-columns:52px 1fr; column-gap:12px; border-bottom:1px solid rgba(255,255,255,.1); }
.gas-metric:last-child { border-bottom:0; }
.gas-metric > span { grid-row:1/3; color:var(--gold-light); font-weight:800; font-size:.74rem; }
.gas-metric strong { color:#fff; }
.gas-metric small { color:rgba(255,255,255,.52); margin-top:3px; }
.gas-orbit { position:absolute; font-family:var(--font-serif); border:1px solid rgba(229,203,145,.22); color:rgba(229,203,145,.25); border-radius:50%; display:grid; place-items:center; }
.gas-orbit-a { width:260px; height:260px; right:-80px; top:-100px; font-size:4rem; }
.gas-orbit-b { width:180px; height:180px; left:-60px; bottom:-80px; font-size:2.8rem; }
.team-swiper .swiper-slide { width:330px; }
.team-card { display:block; position:relative; min-height:470px; border-radius:28px; overflow:hidden; background:#1a2b3d; }
.team-card img,.team-placeholder { width:100%; height:100%; min-height:470px; object-fit:cover; transition:transform .6s ease; }
.team-card:hover img { transform:scale(1.04); }
.team-placeholder { display:grid; place-items:center; color:rgba(255,255,255,.25); font-size:5rem; }
.team-overlay { position:absolute; inset:auto 0 0; min-height:155px; padding:65px 22px 22px; background:linear-gradient(transparent,rgba(9,18,28,.92)); color:#fff; }
.team-overlay span { color:rgba(255,255,255,.65); font-size:.75rem; }
.team-overlay h3,.team-overlay h2 { font-family:var(--font-serif); font-size:1.6rem; margin:4px 42px 0 0; }
.team-overlay > i { position:absolute; right:22px; bottom:27px; }
.testimonial-section { background:#fff; }
.quote-card { padding:38px; border-radius:28px; background:var(--sand); min-height:335px; display:flex; flex-direction:column; }
.quote-card > i { font-size:2.4rem; color:#a8823d; }
.quote-card p { font-family:var(--font-serif); font-size:1.4rem; line-height:1.55; color:var(--navy); margin:14px 0 30px; flex:1; }
.quote-person { display:grid; gap:2px; }
.quote-person span { color:var(--muted); font-size:.78rem; }
.blog-card { display:flex; flex-direction:column; background:#fff; border-radius:26px; overflow:hidden; box-shadow:0 15px 45px rgba(18,35,51,.07); transition:.35s; }
.blog-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.blog-media { aspect-ratio:1.55/1; background:linear-gradient(135deg,#dfe5e8,#eef1ef); overflow:hidden; }
.blog-media img { width:100%; height:100%; object-fit:cover; transition:transform .55s; }
.blog-card:hover .blog-media img { transform:scale(1.045); }
.blog-content { padding:24px; display:flex; flex-direction:column; flex:1; }
.blog-content > span { color:#987541; text-transform:uppercase; font-size:.67rem; letter-spacing:.1em; font-weight:800; }
.blog-content h3,.blog-content h2 { color:var(--navy); font-family:var(--font-serif); font-size:1.45rem; margin:10px 0; }
.blog-content p { color:var(--muted); font-size:.88rem; line-height:1.65; }
.blog-content strong { margin-top:auto; color:var(--navy); font-size:.82rem; }
.final-cta-section { padding-top:40px; background:#fff; }
.final-cta-card { position:relative; padding:80px; border-radius:40px; background:linear-gradient(135deg,#17283b,#0d1a27); color:#fff; overflow:hidden; }
.final-cta-card::after { content:"M"; position:absolute; right:-30px; bottom:-120px; font-family:var(--font-serif); font-size:24rem; line-height:1; color:rgba(255,255,255,.035); pointer-events:none; }
.final-cta-card h2 { position:relative; z-index:1; font-family:var(--font-serif); font-size:clamp(2.7rem,4vw,5.4rem); line-height:1; letter-spacing:-.04em; max-width:970px; margin:16px 0 24px; }
.final-cta-card p { position:relative; z-index:1; color:rgba(255,255,255,.63); max-width:700px; font-size:1.02rem; }
.final-cta-card .btn { position:relative; z-index:1; margin-top:15px; }

/* Inner pages */
.inner-hero { padding:210px 0 100px; background:linear-gradient(135deg,#132335,#1a3045); color:#fff; }
.inner-hero-clinic { background:linear-gradient(135deg,#182b40,#0f1e2e); }
.display-inner { font-family:var(--font-serif); font-weight:600; font-size:clamp(3.3rem,4vw,6.5rem); line-height:.98; letter-spacing:-.05em; margin:18px 0 0; }
.inner-lead { font-size:1.07rem; line-height:1.85; color:rgba(255,255,255,.68); margin:0; }
.value-card { position:relative; height:100%; padding:34px; border-radius:26px; background:#fff; border:1px solid var(--line); }
.value-card > span { position:absolute; right:24px; top:20px; color:rgba(22,38,56,.15); font-family:var(--font-serif); font-size:2.1rem; }
.value-card > i { width:56px; height:56px; border-radius:17px; display:grid; place-items:center; background:var(--sand); color:#916f33; font-size:1.35rem; }
.value-card h3,.value-card h2 { font-family:var(--font-serif); color:var(--navy); font-size:1.55rem; margin:22px 0 10px; }
.value-card p { color:var(--muted); line-height:1.7; font-size:.9rem; margin:0; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.process-card,.step-card { background:var(--sand); border-radius:24px; padding:30px; height:100%; }
.process-card span,.step-card span { color:#a07c3e; font-size:.68rem; letter-spacing:.12em; font-weight:800; }
.process-card h3,.step-card h3 { font-family:var(--font-serif); color:var(--navy); font-size:1.5rem; margin:30px 0 8px; }
.process-card p,.step-card p { color:var(--muted); line-height:1.65; font-size:.88rem; margin:0; }
.sticky-copy { position:sticky; top:125px; }
.longform-card { background:#fff; border:1px solid var(--line); border-radius:30px; padding:44px; box-shadow:0 18px 55px rgba(18,35,51,.06); }
.longform-card h2,.cms-content h2 { font-family:var(--font-serif); color:var(--navy); font-size:2rem; margin:0 0 16px; }
.longform-card h2:not(:first-child),.cms-content h2:not(:first-child) { margin-top:40px; }
.longform-card h3,.cms-content h3 { font-family:var(--font-serif); color:var(--navy); font-size:1.55rem; margin-top:30px; }
.longform-card p,.cms-content p,.cms-content { color:#53616e; line-height:1.9; font-size:1rem; }
.cms-content ul,.cms-content ol { padding-left:1.2rem; }
.cms-content li { margin-bottom:.5rem; }
.mini-feature { border:1px solid var(--line); border-radius:18px; padding:18px; display:flex; align-items:center; gap:12px; font-weight:700; color:var(--navy); }
.mini-feature i { color:#9b773a; }
.treatments-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.treatment-grid-card { background:#fff; border-radius:28px; overflow:hidden; box-shadow:0 16px 45px rgba(18,35,51,.07); transition:.35s; }
.treatment-grid-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.tg-media { position:relative; aspect-ratio:1.3/1; overflow:hidden; background:#e9ecef; }
.tg-media img { width:100%; height:100%; object-fit:cover; transition:.55s; }
.treatment-grid-card:hover .tg-media img { transform:scale(1.04); }
.tg-content { padding:26px; }
.tg-content h2 { font-family:var(--font-serif); font-size:1.55rem; color:var(--navy); }
.tg-content p { color:var(--muted); font-size:.89rem; line-height:1.7; min-height:75px; }
.tg-content > span { color:#8c6930; font-weight:800; font-size:.8rem; }

/* Treatment landing */
.treatment-hero { padding:185px 0 90px; background:linear-gradient(180deg,#f7f8f6,#fff); }
.back-link { display:inline-flex; align-items:center; gap:8px; color:#7b6850; font-size:.78rem; font-weight:800; margin-bottom:28px; }
.back-link.light { color:rgba(255,255,255,.65); }
.treatment-hero .eyebrow { color:#9a783c; }
.treatment-hero .display-inner { color:var(--navy); }
.treatment-hero .inner-lead { color:var(--muted); margin-top:22px; max-width:700px; }
.treatment-hero-image { border-radius:36px; overflow:hidden; box-shadow:var(--shadow); transform:rotate(2deg); }
.treatment-hero-image img { width:100%; aspect-ratio:1.05/1; object-fit:cover; }
.abstract-hero { aspect-ratio:1.05/1; border-radius:36px; display:grid; place-items:center; background:linear-gradient(135deg,#d5bc83,#a77f3d); box-shadow:var(--shadow); }
.abstract-hero span { font-family:var(--font-serif); color:rgba(255,255,255,.65); font-size:10rem; }
.treatment-copy { min-height:350px; }
.service-row { min-height:155px; display:flex; justify-content:space-between; gap:20px; align-items:center; border:1px solid var(--line); border-radius:22px; padding:25px; transition:.3s; }
.service-row:hover { background:var(--sand); transform:translateY(-3px); }
.service-row h3 { font-family:var(--font-serif); color:var(--navy); font-size:1.45rem; margin:0 0 5px; }
.service-row p { color:var(--muted); margin:0; font-size:.85rem; line-height:1.5; }

/* Breath test landing */
.breath-hero { min-height:100vh; padding-top:115px; background:radial-gradient(circle at 72% 35%,#244661 0,#172b40 36%,#0f1d2c 72%); color:#fff; position:relative; }
.breath-grid { position:absolute; inset:0; opacity:.09; background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(to bottom,black,transparent 90%); }
.min-vh-80 { min-height:calc(100vh - 115px); }
.breath-hero .inner-lead { margin-top:26px; max-width:760px; }
.breath-visual { position:relative; aspect-ratio:1/1; max-width:520px; margin:auto; display:grid; place-items:center; transform-style:preserve-3d; }
.breath-visual svg { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:rgba(229,203,145,.22); stroke-width:1; stroke-dasharray:5 8; animation:spinOrbit 32s linear infinite; }
.breath-photo { position:relative; width:240px; height:240px; padding:7px; border-radius:50%; overflow:hidden; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); box-shadow:0 32px 85px rgba(0,0,0,.32); z-index:2; }
.breath-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; border-radius:50%; filter:saturate(.92) contrast(1.02); }
.breath-core { position:absolute; right:58px; top:54px; width:104px; height:104px; border-radius:50%; display:grid; place-items:center; align-content:center; gap:5px; text-align:center; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(15px); box-shadow:0 22px 55px rgba(0,0,0,.25); z-index:4; }
.breath-core i { font-size:1.45rem; color:var(--gold-light); }
.breath-core strong { font-size:.58rem; line-height:1.25; max-width:78px; }
.molecule { position:absolute; width:130px; height:130px; border-radius:50%; display:grid; place-items:center; align-content:center; gap:2px; background:linear-gradient(145deg,var(--gold-light),var(--gold)); color:var(--navy); box-shadow:0 24px 55px rgba(0,0,0,.26); z-index:3; }
.molecule span { font-family:var(--font-serif); font-size:2.15rem; }
.molecule small { font-size:.6rem; text-transform:uppercase; letter-spacing:.12em; }
.mol-h2 { left:20px; top:120px; }
.mol-ch4 { right:10px; bottom:75px; width:155px; height:155px; }
@keyframes spinOrbit { to { transform:rotate(360deg); } }
.timeline-list { display:grid; }
.timeline-item { display:grid; grid-template-columns:75px 1fr; gap:22px; padding:0 0 34px; position:relative; }
.timeline-item::before { content:""; position:absolute; left:30px; top:44px; bottom:-2px; width:1px; background:var(--line); }
.timeline-item:last-child::before { display:none; }
.timeline-item > span { width:62px; height:62px; border-radius:50%; display:grid; place-items:center; background:var(--sand); color:#8b6a31; font-weight:800; font-size:.76rem; }
.timeline-item h3 { font-family:var(--font-serif); color:var(--navy); margin:5px 0 8px; }
.timeline-item p { color:var(--muted); line-height:1.75; margin:0; }
.symptom-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.symptom-grid div { min-height:112px; border:1px solid rgba(255,255,255,.11); border-radius:22px; padding:24px; display:flex; align-items:center; gap:14px; background:rgba(255,255,255,.04); }
.symptom-grid i { color:var(--gold-light); font-size:1.3rem; }
.symptom-grid span { font-weight:700; }
.prep-card { background:var(--sand); border-radius:26px; padding:28px; display:flex; gap:18px; }
.prep-card > i { font-size:1.8rem; color:#997439; }
.prep-card h3 { font-family:var(--font-serif); color:var(--navy); }
.prep-card p { margin:0; color:var(--muted); line-height:1.75; }
.info-band { display:flex; flex-wrap:wrap; gap:10px; }
.info-band span { padding:11px 14px; border-radius:999px; border:1px solid var(--line); color:var(--muted); font-size:.78rem; }
.faq-accordion .accordion-item { background:transparent; border-bottom:1px solid var(--line); }
.faq-accordion .accordion-button { background:transparent; box-shadow:none; color:var(--navy); font-family:var(--font-serif); font-size:1.25rem; padding:24px 0; }
.faq-accordion .accordion-button:not(.collapsed) { color:#8a692f; }
.faq-accordion .accordion-body { padding:0 0 24px; color:var(--muted); line-height:1.8; }

/* Team/profile */
.team-card-grid { min-height:560px; }
.team-card-grid img,.team-card-grid .team-placeholder { min-height:560px; }
.empty-state { text-align:center; padding:80px 20px; border:1px dashed rgba(255,255,255,.2); border-radius:28px; }
.empty-state i { font-size:3rem; color:var(--gold-light); }
.empty-state h2 { font-family:var(--font-serif); margin-top:14px; }
.empty-state p { color:rgba(255,255,255,.55); }
.bg-soft .empty-state { border-color:var(--line); }
.bg-soft .empty-state h2 { color:var(--navy); }
.bg-soft .empty-state p { color:var(--muted); }
.professional-hero { padding:180px 0 90px; background:#fff; }
.professional-photo { border-radius:36px; overflow:hidden; background:var(--sand); box-shadow:var(--shadow); }
.professional-photo img { width:100%; aspect-ratio:.86/1; object-fit:cover; }
.professional-hero .inner-lead { margin-top:20px; }

/* Blog */
.article-header { padding:190px 0 95px; background:linear-gradient(135deg,#15273a,#0e1b29); color:#fff; }
.article-container { max-width:930px; }
.article-header h1 { font-family:var(--font-serif); font-size:clamp(3.1rem,4vw,6rem); line-height:1; letter-spacing:-.045em; margin:18px 0 25px; }
.article-header p { color:rgba(255,255,255,.65); font-size:1.05rem; line-height:1.8; }
.article-cover { margin-top:-50px; position:relative; }
.article-cover img { width:100%; max-height:560px; object-fit:cover; border-radius:30px; box-shadow:var(--shadow); }
.article-content { padding-top:70px; padding-bottom:45px; color:#4f5e6b; line-height:1.95; font-size:1.03rem; }
.article-content p { margin-bottom:1.25rem; }
.article-disclaimer { padding:22px; border-radius:18px; background:var(--sand); display:flex; gap:12px; color:var(--muted); font-size:.85rem; }
.article-disclaimer p { margin:0; }

/* Contact */
.contact-panel { padding:42px; background:#fff; border:1px solid var(--line); border-radius:30px; box-shadow:0 18px 55px rgba(18,35,51,.06); }
.form-control { border:1px solid rgba(22,38,56,.16); border-radius:14px; padding:.85rem 1rem; }
.form-control:focus { border-color:var(--gold); box-shadow:0 0 0 .2rem rgba(201,164,91,.14); }
.form-label { color:var(--navy); font-size:.78rem; font-weight:800; }
.form-note { color:var(--muted); font-size:.72rem; margin:10px 0 0; }
.contact-info-card { height:100%; padding:42px; border-radius:30px; background:linear-gradient(145deg,#172b40,#0e1c2a); color:#fff; }
.contact-info-card h2 { font-family:var(--font-serif); font-size:2.7rem; margin:12px 0 30px; }
.contact-line { display:flex; gap:14px; padding:19px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.contact-line i { color:var(--gold-light); }
.contact-line div { display:grid; gap:4px; }
.contact-line strong { font-size:.78rem; }
.contact-line span,.contact-line a { color:rgba(255,255,255,.63); font-size:.85rem; line-height:1.6; }

/* 404 */
.notfound-section { min-height:80vh; display:grid; place-items:center; padding:180px 20px 80px; background:var(--navy-2); color:#fff; }
.notfound-code { font-family:var(--font-serif); font-size:clamp(8rem,22vw,18rem); line-height:.7; color:rgba(229,203,145,.15); }
.notfound-section h1 { font-family:var(--font-serif); font-size:3rem; margin-top:30px; }
.notfound-section p { color:rgba(255,255,255,.6); }

/* Footer */
.site-footer { margin-top:70px; background:#0a1622; color:rgba(255,255,255,.66); padding:80px 0 25px; }
.footer-logo { width:220px; height:auto; }
.footer-copy { max-width:330px; line-height:1.75; font-size:.86rem; }
.footer-title { font-family:var(--font-sans); color:#fff; font-size:.76rem; text-transform:uppercase; letter-spacing:.13em; font-weight:800; margin-bottom:18px; }
.site-footer .col-6>a,.site-footer .col-lg-3>a { display:block; margin-bottom:10px; font-size:.84rem; transition:.2s; }
.site-footer a:hover { color:var(--gold-light); }
.site-footer p { font-size:.84rem; line-height:1.6; }
.footer-bottom { margin-top:55px; padding-top:22px; border-top:1px solid rgba(255,255,255,.09); font-size:.72rem; }
.whatsapp-float { position:fixed; right:22px; bottom:22px; width:58px; height:58px; z-index:1035; border-radius:50%; display:grid; place-items:center; background:#25d366; color:#fff; font-size:1.55rem; box-shadow:0 15px 35px rgba(0,0,0,.23); transition:.3s; }
.whatsapp-float:hover { color:#fff; transform:translateY(-4px) scale(1.03); }

@media (max-width:1199.98px) {
  .site-header { padding:8px 0; }
  .navbar-brand img { width:190px; }
  .offcanvas-body .navbar-nav { align-items:stretch!important; padding-top:10px; }
  .offcanvas .nav-link { padding:.9rem 1rem!important; }
  .hero-grid { grid-template-columns:1fr; padding-top:80px; }
  .hero-copy { max-width:900px; }
  .hero-visual { margin:10px auto 0; }
  .hero-home { min-height:auto; }
}

@media (max-width:991.98px) {
  .section-space { padding:82px 0; }
  .hero-grid { min-height:auto; }
  .hero-proof { gap:18px; flex-wrap:wrap; }
  .hero-proof div { min-width:140px; }
  .hydrogen-card { padding:45px 35px; }
  .process-grid { grid-template-columns:1fr; }
  .sticky-copy { position:static; }
  .treatments-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inner-hero { padding:165px 0 78px; }
  .professional-hero { padding:150px 0 75px; }
  .article-header { padding:160px 0 85px; }
  .final-cta-card { padding:55px 40px; }
}

@media (max-width:767.98px) {
  .navbar-brand img { width:172px; }
  .hero-home { padding-top:88px; }
  .hero-grid { padding-top:54px; padding-bottom:45px; }
  .display-hero { font-size:clamp(3.65rem,17vw,5.5rem); }
  .hero-lead { margin-top:22px; font-size:.98rem; }
  .hero-proof { margin-top:38px; }
  .hero-visual { height:520px; max-width:480px; overflow:hidden; }
  .constellation-lines { display:none; }
  .treatment-node { width:118px!important; }
  .node-top { top:20px; left:50%; margin-left:-59px; }
  .node-left-top { left:24px; top:125px; display:block; }
  .node-right-top { right:24px; top:125px; display:block; }
  .node-left { left:2px; top:290px; z-index:9!important; }
  .node-center { left:50%; top:210px; margin-left:-59px; }
  .node-right { right:2px; top:290px; z-index:9!important; }
  .node-bottom { left:50%; bottom:5px; margin-left:-59px; }
  .node-media { border-radius:25px; }
  .node-media img { border-radius:20px; }
  .node-label { font-size:.62rem; }
  .node-left-top .node-label,.node-right-top .node-label { display:block; order:initial; min-height:0; margin:10px 0 0; }
  .scroll-cue { display:none; }
  .section-title { font-size:clamp(2.4rem,11vw,3.5rem); }
  .treatment-swiper .swiper-slide,.team-swiper .swiper-slide { width:84vw; max-width:330px; }
  .hydrogen-card { padding:38px 24px; border-radius:28px; }
  .gas-panel { padding:8px 18px; }
  .final-cta-card { padding:42px 25px; border-radius:28px; }
  .final-cta-card h2 { font-size:2.7rem; }
  .treatments-grid { grid-template-columns:1fr; }
  .display-inner { font-size:clamp(3rem,14vw,4.7rem); }
  .longform-card { padding:28px 23px; border-radius:24px; }
  .team-card-grid,.team-card-grid img,.team-card-grid .team-placeholder { min-height:470px; }
  .breath-hero { padding-top:90px; }
  .min-vh-80 { min-height:auto; padding-top:70px; padding-bottom:70px; }
  .breath-visual { max-width:390px; margin-top:20px; }
  .breath-photo { width:185px; height:185px; padding:5px; }
  .molecule { width:105px; height:105px; }
  .mol-h2 { left:8px; top:105px; }
  .mol-ch4 { width:120px; height:120px; }
  .breath-core { right:42px; top:32px; width:82px; height:82px; gap:3px; }
  .breath-core i { font-size:1.15rem; }
  .breath-core strong { font-size:.5rem; max-width:64px; }
  .symptom-grid { grid-template-columns:1fr; }
  .timeline-item { grid-template-columns:60px 1fr; }
  .timeline-item > span { width:50px; height:50px; }
  .timeline-item::before { left:24px; top:40px; }
  .contact-panel,.contact-info-card { padding:28px 22px; }
  .article-content { padding-top:55px; }
}

/* Em telas de toque, preserve a área clicável no mesmo plano da imagem.
   Safari/iOS e alguns WebViews Android podem calcular o hit-test de forma
   incorreta quando links irmãos combinam preserve-3d, translateZ e z-index. */
@media (hover:none), (pointer:coarse) {
  .hero-visual,
  .constellation { perspective:none; transform-style:flat; }
  .constellation { transform:none!important; }
  .treatment-node,
  .treatment-node.is-active {
    transform:rotate(0deg)!important;
    transform-style:flat;
    z-index:2!important;
  }
  .treatment-node:focus,
  .treatment-node:active { z-index:3!important; }
  .treatment-node:hover .node-media,
  .treatment-node.is-active .node-media {
    transform:none;
  }
  /* Inclina somente a imagem; o link permanece plano e com hitbox estável. */
  .node-left-top .node-media { transform:rotate(-7deg)!important; }
  .node-right-top .node-media { transform:rotate(7deg)!important; }
  .node-left .node-media { transform:rotate(-11deg)!important; }
  .node-right .node-media { transform:rotate(11deg)!important; }
  .node-bottom .node-media { transform:rotate(3deg)!important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .title-inner,.hero-lead,.hero-actions,.hero-proof,.treatment-node { transform:none!important; opacity:1!important; }
}
.article-video{border-radius:24px;overflow:hidden;background:#111;box-shadow:0 28px 70px rgba(15,29,43,.12)}

/* =========================================================
   Landing system 1.1 — Plus Jakarta Sans + páginas únicas
   ========================================================= */
body,
button,
input,
textarea,
select { font-family:"Plus Jakarta Sans", sans-serif; }

.section-title,
.display-hero,
.display-inner,
.article-header h1,
.care-content h3,
.timeline-item h3,
.prep-card h3,
.faq-accordion .accordion-button,
.contact-info-card h2,
.notfound-code,
.notfound-section h1,
.gas-symbol,
.care-media-gas > span,
.value-card h2,
.value-card h3,
.step-card h3,
.process-card h3,
.team-overlay h2,
.team-overlay h3,
.blog-content h2,
.longform-card h2,
.longform-card h3 { font-family:"Plus Jakarta Sans", sans-serif; }

.section-title,
.display-hero,
.display-inner,
.article-header h1 { font-weight:700; letter-spacing:-.055em; }

/* Cada rota é tratada como landing page, não como página interna genérica. */
.landing-site main { overflow:clip; }
.page-a-clinica .inner-hero-clinic { background:radial-gradient(circle at 83% 30%,rgba(201,164,91,.18),transparent 26%),linear-gradient(135deg,#102235,#1a3042); }
.page-tratamentos .inner-hero { background:radial-gradient(circle at 75% 10%,rgba(218,191,132,.17),transparent 28%),linear-gradient(135deg,#111f2e,#243545); }
.page-equipe .inner-hero { background:radial-gradient(circle at 16% 0%,rgba(201,164,91,.15),transparent 30%),linear-gradient(135deg,#17283a,#0f1c29); }
.page-blogs .inner-hero { background:linear-gradient(145deg,#f5f1e9,#fff); color:var(--navy); }
.page-blogs .inner-hero .eyebrow { color:#8b6d36; }
.page-blogs .inner-hero .inner-lead { color:var(--muted); }
.page-contato .inner-hero { background:radial-gradient(circle at 75% 40%,rgba(229,203,145,.2),transparent 27%),linear-gradient(135deg,#102032,#192d3f); }
.page-profissional .professional-hero { background:linear-gradient(180deg,#f7f5f0 0%,#fff 78%); }
.page-blog .article-header { background:radial-gradient(circle at 80% 20%,rgba(201,164,91,.16),transparent 24%),linear-gradient(135deg,#111f2e,#1b3044); }

/* Landing page de cada tratamento */
.care-landing-hero {
  --care-accent:#d9b96f;
  --care-accent-rgb:217,185,111;
  --care-soft:#f6efe2;
  position:relative;
  padding:175px 0 105px;
  min-height:760px;
  display:flex;
  align-items:center;
  color:#fff;
  background:
    radial-gradient(circle at 76% 28%,rgba(var(--care-accent-rgb),.24),transparent 28%),
    linear-gradient(135deg,#0f1d2b 0%,#192d40 56%,#101d2a 100%);
  overflow:hidden;
}
.care-landing-grid { position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,transparent,black 42%,black); }
.care-landing-hero::before { content:""; position:absolute; width:560px; height:560px; border:1px solid rgba(var(--care-accent-rgb),.35); border-radius:50%; right:-220px; top:40px; }
.care-landing-hero::after { content:""; position:absolute; width:360px; height:360px; border:1px solid rgba(var(--care-accent-rgb),.22); border-radius:50%; right:-120px; top:140px; }
.care-hero-statement { max-width:700px; margin:24px 0 0; font-size:1.08rem; line-height:1.8; color:rgba(255,255,255,.72); }
.care-hero-meta { display:flex; gap:12px 22px; flex-wrap:wrap; margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.58); font-size:.75rem; font-weight:700; }
.care-hero-meta span { display:flex; align-items:center; gap:8px; }
.care-hero-meta i { color:var(--care-accent); }
.care-visual-wrap { position:relative; width:min(100%,560px); margin-left:auto; padding:34px 34px 68px; isolation:isolate; }
.care-visual-photo,.care-visual-abstract { position:relative; z-index:2; border-radius:42px; overflow:hidden; border:1px solid rgba(255,255,255,.15); box-shadow:0 42px 95px rgba(0,0,0,.34); transform:rotate(2.2deg); }
.care-visual-photo img { width:100%; aspect-ratio:.92/1; object-fit:cover; }
.care-visual-abstract { aspect-ratio:.92/1; display:grid; place-items:center; background:linear-gradient(145deg,rgba(var(--care-accent-rgb),.92),#162432); }
.care-visual-abstract span { font-size:clamp(7rem,14vw,12rem); line-height:1; font-weight:800; color:rgba(255,255,255,.86); letter-spacing:-.08em; }
.care-visual-note { position:absolute; left:0; bottom:18px; z-index:5; width:min(315px,75%); border-radius:24px; padding:20px 22px; background:rgba(255,255,255,.94); color:var(--navy); box-shadow:0 25px 65px rgba(0,0,0,.22); backdrop-filter:blur(16px); }
.care-visual-note small { display:block; color:#8b6d36; text-transform:uppercase; font-size:.62rem; letter-spacing:.14em; font-weight:800; margin-bottom:6px; }
.care-visual-note strong { font-size:.88rem; line-height:1.4; }
.care-orbit { position:absolute; border-radius:50%; border:1px solid rgba(var(--care-accent-rgb),.55); z-index:1; }
.care-orbit-a { width:215px; height:215px; right:0; top:0; }
.care-orbit-b { width:92px; height:92px; right:38px; bottom:48px; background:rgba(var(--care-accent-rgb),.12); }

.care-pillars-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:stretch; }
.care-pillar-card { position:relative; min-height:275px; padding:30px; border:1px solid var(--line); border-radius:28px; background:#fff; overflow:hidden; transition:transform .35s ease,box-shadow .35s ease; }
.care-pillar-card:first-child { grid-row:span 2; min-height:566px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(160deg,var(--care-soft),#fff); }
.care-pillar-card:hover { transform:translateY(-6px); box-shadow:0 24px 65px rgba(18,35,51,.1); }
.care-pillar-card > span { position:absolute; right:24px; top:22px; color:#9a8060; font-size:.68rem; font-weight:800; letter-spacing:.12em; }
.care-pillar-icon { width:54px; height:54px; border-radius:17px; display:grid; place-items:center; margin-bottom:28px; background:var(--care-soft); color:#8f713b; font-size:1.35rem; }
.care-pillar-card:first-child .care-pillar-icon { width:72px; height:72px; border-radius:22px; font-size:1.7rem; }
.care-pillar-card h3 { color:var(--navy); font-size:1.35rem; font-weight:750; letter-spacing:-.035em; margin:0 0 10px; }
.care-pillar-card:first-child h3 { font-size:2rem; }
.care-pillar-card p { color:var(--muted); line-height:1.7; font-size:.88rem; margin:0; }
.care-safety-note { display:flex; gap:12px; align-items:flex-start; margin-top:28px; padding:16px 18px; border-radius:18px; background:var(--sand); color:#6e624f; font-size:.78rem; line-height:1.6; }
.care-safety-note i { color:#8b6d36; font-size:1.05rem; margin-top:1px; }

.care-focus-section { --care-accent:#d9b96f; position:relative; background:linear-gradient(135deg,#0d1a27,#182b3e); color:#fff; overflow:hidden; }
.care-focus-section::after { content:""; position:absolute; width:560px; height:560px; border-radius:50%; right:-250px; bottom:-280px; background:radial-gradient(circle,rgba(var(--care-accent-rgb),.25),transparent 66%); pointer-events:none; }
.care-focus-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; position:relative; z-index:1; }
.care-focus-item { min-height:112px; padding:24px; border:1px solid rgba(255,255,255,.11); border-radius:22px; background:rgba(255,255,255,.045); display:flex; align-items:center; gap:16px; }
.care-focus-item span { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:50%; background:rgba(var(--care-accent-rgb),.17); color:var(--care-accent); font-size:.66rem; font-weight:800; }
.care-focus-item strong { font-size:.91rem; line-height:1.4; }

.care-journey { display:grid; gap:0; border-top:1px solid var(--line); }
.care-journey-step { display:grid; grid-template-columns:82px 1fr; gap:22px; padding:30px 0; border-bottom:1px solid var(--line); }
.care-journey-step > span { font-size:.68rem; font-weight:800; letter-spacing:.14em; color:#957139; padding-top:5px; }
.care-journey-step h3 { color:var(--navy); font-size:1.4rem; font-weight:750; letter-spacing:-.035em; margin:0 0 8px; }
.care-journey-step p { color:var(--muted); line-height:1.75; margin:0; }

/* Paletas discretas por landing. A identidade permanece coesa, mas cada cuidado ganha assinatura. */
.care-theme-mineral { --care-accent:#d4ad67; --care-accent-rgb:212,173,103; --care-soft:#f5ead8; }
.care-theme-oxygen { --care-accent:#8fc2c2; --care-accent-rgb:143,194,194; --care-soft:#e6f2f0; }
.care-theme-infusion { --care-accent:#c3a1bd; --care-accent-rgb:195,161,189; --care-soft:#f3eaf1; }
.care-theme-motion { --care-accent:#d59670; --care-accent-rgb:213,150,112; --care-soft:#f7ebe2; }
.care-theme-calm { --care-accent:#a8b6d2; --care-accent-rgb:168,182,210; --care-soft:#edf1f7; }
.care-theme-botanical { --care-accent:#8fb28f; --care-accent-rgb:143,178,143; --care-soft:#e9f0e7; }
.care-theme-structure { --care-accent:#b4a58e; --care-accent-rgb:180,165,142; --care-soft:#f0ece5; }
.care-theme-nutrition { --care-accent:#c5aa73; --care-accent-rgb:197,170,115; --care-soft:#f5efe2; }
.care-theme-mobility { --care-accent:#91abc0; --care-accent-rgb:145,171,192; --care-soft:#e8eff3; }
.care-theme-mind { --care-accent:#b29bb9; --care-accent-rgb:178,155,185; --care-soft:#f0eaf2; }
.care-theme-default { --care-accent:#d9b96f; --care-accent-rgb:217,185,111; --care-soft:#f5efe3; }

/* Blocos editoriais exclusivos nas páginas índice */
.landing-intro-band {
    margin-top: -122px;
    position: relative;
    z-index: 4;
    top: 60px;
}

.landing-intro-panel { background:#fff; border:1px solid var(--line); border-radius:26px; padding:25px 28px; box-shadow:0 22px 60px rgba(17,31,45,.09); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:22px; }
.landing-intro-panel > i { width:52px; height:52px; border-radius:17px; background:var(--sand); color:#8b6d36; display:grid; place-items:center; font-size:1.25rem; }
.landing-intro-panel strong { display:block; color:var(--navy); font-size:.95rem; margin-bottom:3px; }
.landing-intro-panel p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.6; }
.landing-intro-panel a { font-size:.75rem; font-weight:800; color:var(--navy); white-space:nowrap; }

@media (max-width:991.98px) {
  .care-landing-hero { padding:145px 0 85px; min-height:auto; }
  .care-visual-wrap { margin:20px auto 0; }
  .care-pillars-grid { grid-template-columns:1fr; }
  .care-pillar-card:first-child { grid-row:auto; min-height:315px; }
  .care-focus-grid { grid-template-columns:1fr 1fr; }
  .landing-intro-band { margin-top:-25px; }
}
@media (max-width:767.98px) {
  .care-landing-hero { padding:125px 0 70px; }
  .care-landing-grid { background-size:42px 42px; }
  .care-visual-wrap { padding:22px 16px 70px; }
  .care-visual-photo,.care-visual-abstract { border-radius:30px; }
  .care-visual-note { left:0; bottom:18px; width:82%; }
  .care-focus-grid { grid-template-columns:1fr; }
  .care-pillar-card { min-height:auto; padding:25px; }
  .care-pillar-card:first-child { min-height:330px; }
  .care-journey-step { grid-template-columns:54px 1fr; gap:14px; }
  .landing-intro-panel { grid-template-columns:auto 1fr; }
  .landing-intro-panel a { grid-column:1/-1; }
}

/* v1.2 — menu de especialidades e landing pages da equipe */
.specialties-menu { width:min(720px,92vw); padding:18px; }
.specialties-menu-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:6px 6px 16px; margin-bottom:8px; border-bottom:1px solid var(--line); }
.specialties-menu-head small { display:block; color:var(--muted); font-size:.66rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.specialties-menu-head strong { display:block; color:var(--navy); margin-top:3px; font-size:.94rem; }
.specialties-menu-head > a { display:inline-flex; align-items:center; gap:6px; color:#8b6d36; font-size:.74rem; font-weight:800; white-space:nowrap; }
.specialties-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 8px; }
.specialty-item { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:46px; white-space:normal; line-height:1.3; }
.specialty-item i { opacity:.45; flex:0 0 auto; transition:transform .2s ease,opacity .2s ease; }
.specialty-item:hover i { opacity:1; transform:translate(2px,-2px); }
.specialty-item-featured { grid-column:1/-1; background:linear-gradient(135deg,rgba(229,203,145,.24),rgba(201,164,91,.10)); color:var(--navy); }

.professional-callout { max-width:760px; margin:24px 0 0; color:#53616f; font-size:clamp(1.05rem,1.4vw,1.28rem); line-height:1.75; }
.professional-highlights { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.professional-highlights span { display:inline-flex; align-items:center; min-height:34px; padding:7px 12px; border:1px solid rgba(22,38,56,.12); border-radius:999px; background:rgba(255,255,255,.78); color:var(--navy); font-size:.72rem; font-weight:800; }
.professional-bio { position:relative; overflow:hidden; }
.professional-bio::before { content:""; position:absolute; width:150px; height:150px; border:1px solid rgba(201,164,91,.24); border-radius:50%; right:-60px; top:-60px; pointer-events:none; }
.professional-service-row { min-height:178px; }
.service-kicker { display:block; margin-bottom:8px; color:#8b6d36; font-size:.66rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.professional-journey-section { background:#fff; border-top:1px solid rgba(22,38,56,.06); }
.professional-journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.professional-journey-card { min-height:255px; padding:28px; border-radius:24px; background:var(--soft); border:1px solid var(--line); }
.professional-journey-card > span { color:#a68243; font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.professional-journey-card h3 { margin:34px 0 10px; color:var(--navy); font-size:1.28rem; font-weight:700; }
.professional-journey-card p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.7; }

@media (max-width:1199.98px) {
  .specialties-menu { width:100%; max-width:none; margin-top:6px; }
  .specialties-grid { grid-template-columns:1fr; }
  .specialty-item-featured { grid-column:auto; }
  .offcanvas .specialties-menu-head { display:none; }
  .offcanvas .specialties-menu { max-height:54vh; overflow:auto; }
}
@media (max-width:991.98px) {
  .professional-journey-grid { grid-template-columns:1fr; }
  .professional-journey-card { min-height:auto; }
}
@media (max-width:767.98px) {
  .professional-highlights { gap:7px; }
  .professional-highlights span { font-size:.67rem; }
  .professional-callout { font-size:1rem; }
}

/* =========================================================
   v1.3 — Spatial editorial system / anti-template layer
   Grid assimétrico, navegação espacial, tipografia cinética
   ========================================================= */
@view-transition { navigation:auto; }
.navbar-brand { view-transition-name:molecula-logo; }

:root {
  --grid-gap: clamp(18px,2vw,32px);
  --editorial-line: rgba(22,38,56,.14);
}

body.mega-open { overflow:hidden; }

/* HEADER / FULLSCREEN SPECIALTY MAP */
.specialties-trigger { border:0; background:transparent; display:flex; align-items:center; gap:9px; }
.specialties-trigger-mark { width:14px; height:14px; position:relative; display:inline-block; }
.specialties-trigger-mark::before,.specialties-trigger-mark::after { content:""; position:absolute; background:currentColor; transition:transform .28s ease; }
.specialties-trigger-mark::before { width:14px; height:1px; left:0; top:6px; }
.specialties-trigger-mark::after { width:1px; height:14px; left:6px; top:0; }
body.mega-open .specialties-trigger-mark::after { transform:rotate(90deg); }

.mega-specialties { position:fixed; inset:0; z-index:1038; pointer-events:none; visibility:hidden; }
.mega-specialties-backdrop { position:absolute; inset:0; background:rgba(5,13,21,.44); opacity:0; backdrop-filter:blur(6px); transition:opacity .42s ease; }
.mega-specialties-panel { position:absolute; left:0; right:0; top:0; height:min(92vh,900px); padding-top:112px; background:#f4f1ea; color:var(--navy); transform:translateY(-102%); transition:transform .58s cubic-bezier(.77,0,.18,1); overflow:hidden; box-shadow:0 40px 120px rgba(5,14,24,.28); }
.mega-specialties.is-open { pointer-events:auto; visibility:visible; }
.mega-specialties.is-open .mega-specialties-backdrop { opacity:1; }
.mega-specialties.is-open .mega-specialties-panel { transform:translateY(0); }
.mega-specialties-panel::after { content:"M"; position:absolute; right:-70px; bottom:-170px; font-size:34rem; font-weight:800; line-height:1; letter-spacing:-.12em; color:rgba(34,55,81,.035); pointer-events:none; }
.mega-topline { height:68px; border-bottom:1px solid rgba(22,38,56,.15); display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:28px; position:relative; z-index:2; }
.mega-caption { display:flex; align-items:baseline; gap:15px; }
.mega-caption span { font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:#8d7955; font-weight:800; }
.mega-caption strong { font-size:.8rem; letter-spacing:.01em; }
.mega-all { font-size:.72rem; font-weight:800; display:flex; align-items:center; gap:7px; }
.mega-close { width:40px; height:40px; border:0; background:transparent; position:relative; }
.mega-close span { position:absolute; width:20px; height:1px; left:10px; top:20px; background:var(--navy); }
.mega-close span:first-child { transform:rotate(45deg); }
.mega-close span:last-child { transform:rotate(-45deg); }
.mega-layout { height:calc(100% - 68px); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); gap:clamp(35px,4vw,90px); padding:24px 0 42px; position:relative; z-index:2; }
.mega-index { overflow:auto; scrollbar-width:none; border-top:1px solid rgba(22,38,56,.08); }
.mega-index::-webkit-scrollbar { display:none; }
.mega-specialty-link { display:grid; grid-template-columns:44px minmax(0,1fr) 28px; align-items:center; min-height:56px; border-bottom:1px solid rgba(22,38,56,.11); transition:padding .25s ease,color .25s ease,background .25s ease; }
.mega-specialty-link:hover,.mega-specialty-link.is-active { padding-left:13px; background:rgba(255,255,255,.5); }
.mega-number { font-size:.6rem; letter-spacing:.12em; color:#9a835b; font-weight:800; }
.mega-specialty-link strong { font-size:clamp(.96rem,1.28vw,1.25rem); font-weight:650; letter-spacing:-.025em; }
.mega-specialty-link i { opacity:.35; transition:opacity .25s ease,transform .25s ease; }
.mega-specialty-link:hover i,.mega-specialty-link.is-active i { opacity:1; transform:translate(3px,-3px); }
.mega-preview { display:grid; grid-template-rows:minmax(180px,1fr) minmax(122px,auto); min-height:0; height:100%; overflow:hidden; align-content:stretch; }
.mega-preview-media { position:relative; min-height:0; height:100%; overflow:hidden; background:#dfe4e2; isolation:isolate; }
.mega-preview-media img { display:block; width:100%; height:100%; max-height:100%; object-fit:cover; transition:opacity .22s ease,transform .7s ease; }
.mega-preview-media:hover img { transform:scale(1.025); }
.mega-preview-media.is-gas { background:radial-gradient(circle at 30% 30%,rgba(229,203,145,.7),transparent 36%),linear-gradient(135deg,#20364b,#0e1d2b); }
.mega-gas-symbol { position:absolute; inset:0; display:grid; place-items:center; align-content:center; color:#fff; font-weight:800; letter-spacing:-.08em; }
.mega-gas-symbol span:first-child { font-size:clamp(5rem,9vw,9rem); transform:translateX(-12%); }
.mega-gas-symbol span:last-child { font-size:clamp(3.5rem,4vw,6rem); transform:translateX(22%); margin-top:-18px; color:var(--gold-light); }
.mega-preview-orbit { position:absolute; width:210px; height:210px; border-radius:50%; border:1px solid rgba(255,255,255,.35); right:-80px; bottom:-80px; }
.mega-preview-copy { position:relative; z-index:3; min-height:122px; padding:18px 0 8px; display:grid; grid-template-columns:95px minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:16px; align-content:start; background:#f4f1ea; }
.mega-preview-copy > span { grid-row:1/3; text-transform:uppercase; font-size:.58rem; letter-spacing:.15em; color:#8f7951; font-weight:800; padding-top:5px; }
.mega-preview-copy h2 { margin:0; font-size:clamp(1.45rem,2.15vw,2.35rem); line-height:1.04; letter-spacing:-.045em; font-weight:700; overflow-wrap:anywhere; }
.mega-preview-copy p { margin:10px 0 0; color:var(--muted); font-size:.78rem; line-height:1.6; max-width:440px; }
.mobile-specialties-list { margin:0 1rem .5rem; padding-left:12px; border-left:1px solid rgba(255,255,255,.16); display:grid; }
.mobile-specialties-list a { display:grid; grid-template-columns:28px 1fr; align-items:start; gap:8px; color:rgba(255,255,255,.66); font-size:.76rem; padding:7px 0; }
.mobile-specialties-list a span { color:var(--gold-light); font-size:.56rem; letter-spacing:.1em; padding-top:2px; }

/* HERO — grid exists, composition stops looking like a component library */
.hero-home { background:radial-gradient(circle at 76% 34%,rgba(60,99,130,.22),transparent 30%),linear-gradient(120deg,#0f1e2d 0%,#192e43 52%,#102234 100%); }
.hero-home::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:rgba(255,255,255,.1); }
.hero-chapter { position:absolute; left:18px; top:50%; transform:translateY(-50%) rotate(-90deg); transform-origin:left center; z-index:3; display:flex; align-items:center; gap:18px; color:rgba(255,255,255,.28); letter-spacing:.16em; font-size:.54rem; font-weight:700; }
.hero-chapter strong { color:rgba(229,203,145,.7); }
.hero-chapter small { font-size:.54rem; }
.display-hero { font-weight:720; }
.hero-copy { margin-left:clamp(0px,1vw,18px); }
.hero-visual { transform:translateX(clamp(0px,2vw,32px)); }

/* MANIFESTO / KINETIC TYPOGRAPHY */
.home-manifesto { position:relative; padding:clamp(80px,10vw,150px) 0; background:#fff; overflow:hidden; }
.manifesto-rule { position:absolute; left:0; right:0; top:0; height:1px; background:var(--editorial-line); }
.manifesto-grid { display:grid; grid-template-columns:1fr 8fr 2fr; gap:var(--grid-gap); align-items:start; }
.manifesto-index { font-size:.62rem; font-weight:800; letter-spacing:.14em; color:#987b45; padding-top:18px; }
.manifesto-copy { margin:0; max-width:1100px; font-size:clamp(3.2rem,5.8vw,7.8rem); line-height:.91; letter-spacing:-.065em; font-weight:700; color:var(--navy); }
.manifesto-copy em { font-style:normal; color:#a9874b; }
.manifesto-side { writing-mode:vertical-rl; justify-self:end; text-transform:uppercase; font-size:.56rem; letter-spacing:.18em; color:#7a8490; padding-top:16px; }

/* SPECIALTY ATLAS — progressive disclosure instead of cards */
.specialty-atlas { padding:clamp(90px,10vw,150px) 0; background:#f4f2ec; position:relative; }
.specialty-atlas::before { content:""; position:absolute; left:calc(50% - 1px); top:0; bottom:0; width:1px; background:rgba(22,38,56,.05); pointer-events:none; }
.atlas-heading { display:grid; grid-template-columns:8fr 3fr; gap:var(--grid-gap); align-items:end; margin-bottom:70px; }
.atlas-heading-note { display:grid; grid-template-columns:36px 1fr; gap:16px; border-top:1px solid var(--editorial-line); padding-top:14px; }
.atlas-heading-note span { font-size:.58rem; color:#977c4c; font-weight:800; letter-spacing:.12em; }
.atlas-heading-note p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.7; }
.atlas-layout { display:grid; grid-template-columns:minmax(0,1.38fr) minmax(360px,.72fr); gap:clamp(42px,7vw,110px); align-items:start; }
.atlas-list { border-top:1px solid rgba(22,38,56,.18); }
.atlas-row { position:relative; display:grid; grid-template-columns:50px minmax(220px,.8fr) minmax(180px,1fr) 32px; align-items:center; min-height:92px; gap:14px; border-bottom:1px solid rgba(22,38,56,.14); transition:padding .32s ease,background .32s ease; overflow:hidden; }
.atlas-row::before { content:""; position:absolute; inset:0; transform:translateX(-101%); background:#223751; transition:transform .45s cubic-bezier(.77,0,.18,1); z-index:0; }
.atlas-row > * { position:relative; z-index:1; transition:color .25s ease,transform .32s ease; }
.atlas-row:hover::before,.atlas-row.is-active::before { transform:translateX(0); }
.atlas-row:hover,.atlas-row.is-active { padding:0 16px; }
.atlas-row:hover > *,.atlas-row.is-active > * { color:#fff!important; }
.atlas-number { color:#987c4d; font-size:.58rem; font-weight:800; letter-spacing:.13em; }
.atlas-row h3 { margin:0; color:var(--navy); font-size:clamp(1.18rem,1.54vw,1.7rem); font-weight:650; letter-spacing:-.035em; }
.atlas-mini { color:#7a8490; font-size:.72rem; line-height:1.45; }
.atlas-row i { justify-self:end; color:var(--navy); opacity:.5; }
.atlas-row:hover i,.atlas-row.is-active i { transform:translate(3px,-3px); opacity:1; }
.atlas-preview-sticky { position:sticky; top:125px; }
.atlas-preview-counter { display:flex; justify-content:space-between; gap:20px; padding-bottom:12px; border-bottom:1px solid var(--editorial-line); color:#7a8490; font-size:.54rem; letter-spacing:.14em; font-weight:800; }
.atlas-preview-media { position:relative; margin-top:18px; aspect-ratio:.84/1; overflow:hidden; background:#d9dfdf; }
.atlas-preview-media img { width:100%; height:100%; object-fit:cover; transition:opacity .18s ease,transform .75s cubic-bezier(.2,.8,.2,1); }
.atlas-preview-media.is-gas { background:radial-gradient(circle at 30% 25%,rgba(229,203,145,.6),transparent 36%),linear-gradient(145deg,#223b53,#101e2c); }
.atlas-preview-media:hover img { transform:scale(1.028); }
.atlas-gas { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; color:#fff; font-weight:800; letter-spacing:-.08em; }
.atlas-gas b:first-child { font-size:clamp(6rem,9vw,10rem); transform:translateX(-10%); }
.atlas-gas b:last-child { font-size:clamp(4rem,4vw,6.5rem); color:var(--gold-light); transform:translateX(18%); margin-top:-24px; }
.atlas-orbit { position:absolute; border:1px solid rgba(255,255,255,.3); border-radius:50%; }
.atlas-orbit-a { width:280px; height:280px; right:-150px; top:-70px; }
.atlas-orbit-b { width:130px; height:130px; left:-55px; bottom:40px; }
.atlas-preview-copy { display:grid; grid-template-columns:1fr; gap:8px; padding-top:20px; }
.atlas-preview-copy h3 { margin:0; color:var(--navy); font-size:clamp(1.8rem,2.4vw,2.8rem); line-height:1; letter-spacing:-.05em; font-weight:700; }
.atlas-preview-copy p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.7; max-width:460px; }

/* MEDICINA INTEGRATIVA — editorial xadrez */
.integrative-editorial { padding:clamp(100px,11vw,170px) 0; background:#fff; overflow:hidden; }
.integrative-editorial-grid { display:grid; grid-template-columns:1fr 5fr 5fr; grid-template-rows:auto auto; gap:var(--grid-gap); position:relative; }
.integrative-number { grid-column:1; grid-row:1; font-size:clamp(6rem,10vw,11rem); line-height:.8; font-weight:800; letter-spacing:-.1em; color:#e8e5dd; align-self:start; transform:translateX(-8px); }
.integrative-photo { grid-column:2; grid-row:1/3; position:relative; align-self:start; margin-top:80px; }
.integrative-photo img { width:100%; aspect-ratio:.86/1; object-fit:cover; }
.integrative-photo::after { content:""; position:absolute; inset:20px -20px -20px 20px; border:1px solid rgba(34,55,81,.18); z-index:-1; }
.integrative-photo-label { position:absolute; left:clamp(18px,3vw,42px); bottom:clamp(18px,3vw,38px); min-width:clamp(230px,20vw,310px); padding:22px 28px 20px; border:1px solid rgba(255,255,255,.08); border-radius:28px; background:rgba(15,32,48,.95); color:#fff; box-shadow:0 22px 50px rgba(9,22,34,.28); backdrop-filter:blur(12px); display:grid; }
.integrative-photo-label span { color:var(--gold-light); text-transform:uppercase; font-size:.66rem; line-height:1.2; letter-spacing:.18em; font-weight:800; }
.integrative-photo-label strong { margin-top:7px; color:#fff; font-size:clamp(1rem,1.35vw,1.25rem); line-height:1.18; font-weight:750; }
.integrative-photo-label small { margin-top:9px; color:rgba(255,255,255,.62); font-size:.68rem; line-height:1.2; letter-spacing:.08em; font-weight:600; }
.integrative-copy { grid-column:3; grid-row:1/3; padding-top:8px; align-self:center; }
.integrative-copy .section-title { font-size:clamp(3rem,4vw,6rem); }
.integrative-lines { margin:38px 0; border-top:1px solid var(--editorial-line); }
.integrative-lines > div { display:grid; grid-template-columns:45px 1fr; gap:14px; align-items:center; min-height:62px; border-bottom:1px solid var(--editorial-line); }
.integrative-lines span { color:#987b46; font-size:.58rem; font-weight:800; letter-spacing:.12em; }
.integrative-lines strong { color:var(--navy); font-size:.82rem; font-weight:700; }
.editorial-link { display:inline-flex; align-items:center; gap:10px; padding-bottom:6px; border-bottom:1px solid currentColor; color:var(--navy); font-size:.75rem; font-weight:800; }
.editorial-link i { transition:transform .25s ease; }
.editorial-link:hover i { transform:translate(3px,-3px); }
.editorial-link.light { color:#fff; }

/* H2 / CH4 — full-width stage, no rounded card */
.hydrogen-stage { position:relative; padding:clamp(100px,10vw,150px) 0 80px; background:#0e1d2b; color:#fff; }
.hydrogen-stage-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:78px 78px; mask-image:linear-gradient(to bottom,black,transparent 75%); opacity:.55; }
.hydrogen-stage::before { content:""; position:absolute; width:650px; height:650px; border-radius:50%; border:1px solid rgba(229,203,145,.18); right:-220px; top:-180px; }
.hydrogen-stage-layout { position:relative; display:grid; grid-template-columns:7fr 4fr; gap:var(--grid-gap); }
.hydrogen-stage-title h2 { font-size:clamp(7rem,14vw,16rem); line-height:.72; letter-spacing:-.09em; font-weight:800; margin:46px 0 35px; white-space:nowrap; }
.hydrogen-stage-title h2 span:first-child { color:#fff; }
.hydrogen-stage-title h2 span:last-child { color:var(--gold-light); }
.hydrogen-stage-title > p { margin:0; max-width:700px; font-size:clamp(1.8rem,3vw,3.7rem); line-height:1; letter-spacing:-.05em; font-weight:650; }
.hydrogen-stage-copy { align-self:end; padding-bottom:14px; }
.hydrogen-stage-copy > p { color:rgba(255,255,255,.65); line-height:1.8; font-size:.9rem; margin-bottom:26px; }
.hydrogen-steps { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); margin-top:85px; border-top:1px solid rgba(255,255,255,.15); }
.hydrogen-steps > div { display:grid; grid-template-columns:42px 1fr; padding:24px 24px 0 0; border-right:1px solid rgba(255,255,255,.12); }
.hydrogen-steps > div:last-child { border-right:0; padding-left:24px; }
.hydrogen-steps > div:nth-child(2) { padding-left:24px; }
.hydrogen-steps span { grid-row:1/3; color:var(--gold-light); font-size:.57rem; font-weight:800; letter-spacing:.12em; }
.hydrogen-steps strong { font-size:1rem; }
.hydrogen-steps small { color:rgba(255,255,255,.45); font-size:.7rem; margin-top:4px; }
.hydrogen-kinetic { margin-top:80px; white-space:nowrap; font-size:clamp(2.8rem,7vw,8rem); line-height:.8; letter-spacing:-.06em; font-weight:800; color:rgba(255,255,255,.035); transform:translateX(-4%); }

/* TEAM — cinematic horizontal strip */
.team-cinema { padding:clamp(100px,10vw,150px) 0 90px; background:#111f2d; color:#fff; overflow:hidden; }
.cinema-heading { display:grid; grid-template-columns:7fr 3fr; gap:var(--grid-gap); align-items:end; margin-bottom:60px; }
.cinema-heading .section-title { font-size:clamp(3.5rem,4vw,7rem); max-width:880px; }
.cinema-heading > p { color:rgba(255,255,255,.55); font-size:.82rem; line-height:1.8; margin:0 0 8px; }
.team-cinema-swiper { overflow:visible; padding-left:max(16px,calc((100vw - 1320px)/2)); }
.team-cinema-slide { width:clamp(290px,29vw,440px); height:560px; }
.team-cinema-slide.is-tall { width:clamp(320px,34vw,510px); height:630px; margin-top:-32px; }
.team-cinema-card { display:block; position:relative; width:100%; height:100%; overflow:hidden; background:#1b2d3e; }
.team-cinema-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(6,14,22,.88)); }
.team-cinema-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.88) contrast(.96); transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease; }
.team-cinema-card:hover img { transform:scale(1.035); filter:saturate(1) contrast(1); }
.team-cinema-index { position:absolute; left:18px; top:18px; z-index:2; font-size:.58rem; letter-spacing:.14em; font-weight:800; color:rgba(255,255,255,.75); }
.team-cinema-copy { position:absolute; z-index:2; inset:auto 24px 24px; color:#fff; }
.team-cinema-copy span { font-size:.65rem; color:var(--gold-light); font-weight:700; }
.team-cinema-copy h3 { margin:6px 50px 0 0; font-size:clamp(1.6rem,2.4vw,2.5rem); line-height:1; letter-spacing:-.045em; font-weight:700; }
.team-cinema-copy i { position:absolute; right:4px; bottom:6px; font-size:1.1rem; }
.cinema-controls { display:grid; grid-template-columns:1fr auto auto auto; gap:10px; align-items:center; margin-top:34px; }
.team-cinema-progress { height:1px!important; background:rgba(255,255,255,.13); position:static!important; }
.team-cinema-progress .swiper-pagination-progressbar-fill { background:var(--gold-light); display: none; }
.cinema-prev,.cinema-next { width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.18); background:transparent; color:#fff; }
.cinema-controls > a { margin-left:20px; color:#fff; font-size:.72rem; font-weight:800; display:flex; gap:8px; align-items:center; }

/* TESTIMONIAL — one thought at a time */
.testimonial-editorial { padding:clamp(100px,11vw,170px) 0; background:#fff; position:relative; overflow:hidden; }
.testimonial-editorial::after { content:"EXPERIÊNCIA"; position:absolute; right:-2vw; top:28%; writing-mode:vertical-rl; color:#f0ede6; font-size:clamp(4rem,8vw,9rem); line-height:.8; font-weight:800; letter-spacing:-.05em; z-index:0; }
.testimonial-editorial-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--editorial-line); position:relative; z-index:1; }
.testimonial-counter { color:#7a8490; font-size:.56rem; font-weight:800; letter-spacing:.14em; }
.testimonial-editorial-swiper { position:relative; z-index:1; }
.testimonial-spread { min-height:500px; display:grid; grid-template-columns:1fr 8fr 2fr; gap:var(--grid-gap); align-items:center; }
.testimonial-mark { align-self:start; padding-top:55px; color:#c9a45b; font-size:7rem; line-height:1; font-weight:700; }
.testimonial-spread blockquote { margin:0; max-width:1050px; color:var(--navy); font-size:clamp(2.8rem,5.4vw,6.4rem); line-height:.98; letter-spacing:-.055em; font-weight:650; }
.testimonial-person { align-self:end; margin-bottom:65px; display:grid; grid-template-columns:30px 1fr; gap:12px; }
.testimonial-person > span { color:#9a7c46; font-size:.57rem; font-weight:800; letter-spacing:.12em; }
.testimonial-person div { display:grid; gap:3px; }
.testimonial-person strong { color:var(--navy); font-size:.76rem; }
.testimonial-person small { color:#87909a; font-size:.65rem; }
.testimonial-nav { position:relative; z-index:2; display:flex; gap:8px; justify-content:flex-end; margin-top:-42px; }
.testimonial-nav button { width:46px; height:46px; border:1px solid var(--editorial-line); background:#fff; color:var(--navy); border-radius:50%; transition:.25s; }
.testimonial-nav button:hover { background:var(--navy); color:#fff; }

/* JOURNAL — magazine hierarchy */
.journal-section { padding:clamp(100px,10vw,150px) 0; background:#f4f2ec; }
.journal-heading { display:grid; grid-template-columns:1fr auto; align-items:end; gap:30px; margin-bottom:60px; }
.journal-grid { display:grid; grid-template-columns:7fr 4fr; grid-template-rows:1fr 1fr; gap:24px; }
.journal-story { min-width:0; }
.journal-story-1 { grid-row:1/3; }
.journal-story > a { display:block; height:100%; border-top:1px solid rgba(22,38,56,.2); padding-top:14px; }
.journal-story-2 > a,.journal-story-3 > a { display:grid; grid-template-columns:42% 1fr; gap:18px; }
.journal-media { position:relative; overflow:hidden; background:#dde1df; }
.journal-story-1 .journal-media { aspect-ratio:1.16/1; }
.journal-story-2 .journal-media,.journal-story-3 .journal-media { aspect-ratio:.9/1; height:100%; min-height:190px; }
.journal-media img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.journal-story a:hover .journal-media img { transform:scale(1.03); }
.journal-media > span { position:absolute; top:12px; left:12px; width:32px; height:32px; display:grid; place-items:center; background:rgba(255,255,255,.9); font-size:.55rem; font-weight:800; }
.journal-copy { padding-top:20px; }
.journal-story-2 .journal-copy,.journal-story-3 .journal-copy { padding-top:4px; display:flex; flex-direction:column; }
.journal-copy small { color:#917344; text-transform:uppercase; letter-spacing:.1em; font-size:.56rem; font-weight:800; }
.journal-copy h3 { margin:10px 0; color:var(--navy); font-size:clamp(1.45rem,2.3vw,2.8rem); line-height:1.05; letter-spacing:-.045em; font-weight:700; }
.journal-story-2 h3,.journal-story-3 h3 { font-size:clamp(1.1rem,1.44vw,1.5rem); }
.journal-copy p { color:var(--muted); line-height:1.7; font-size:.8rem; max-width:700px; }
.journal-copy strong { display:inline-flex; align-items:center; gap:7px; margin-top:18px; color:var(--navy); font-size:.67rem; font-weight:800; }
.journal-story-2 .journal-copy strong,.journal-story-3 .journal-copy strong { margin-top:auto; }

/* Desktop: primeiro artigo em destaque; demais artigos lado a lado */
@media (min-width:992px) {
  .journal-story-1 > a { display:block; }
  .journal-story-1 .journal-media {
    width:100%;
    aspect-ratio:1.16/1;
  }
  .journal-story-1 .journal-copy { padding-top:20px; }
  .journal-story-2 > a,
  .journal-story-3 > a {
    display:block;
  }
  .journal-story-2 .journal-media,
  .journal-story-3 .journal-media {
    width:100%;
    min-width:0;
    height:auto;
    min-height:0;
    aspect-ratio:1.55/1;
  }
  .journal-story-2 .journal-copy,
  .journal-story-3 .journal-copy {
    display:block;
    padding-top:14px;
  }
  .journal-story-2 .journal-copy strong,
  .journal-story-3 .journal-copy strong {
    margin-top:14px;
  }
}

/* FINAL CTA — strict grid, no floating rounded card */
.final-cta-editorial { padding:clamp(110px,12vw,190px) 0; background:#172a3e; color:#fff; }
.final-cta-editorial-grid { display:grid; grid-template-columns:1fr 7fr 3fr; gap:var(--grid-gap); align-items:start; }
.final-cta-index { font-size:.58rem; letter-spacing:.14em; font-weight:800; color:var(--gold-light); padding-top:16px; }
.final-cta-editorial h2 { margin:0; font-size:clamp(3.4rem,5.8vw,8rem); line-height:.9; letter-spacing:-.065em; font-weight:700; max-width:1000px; }
.final-cta-editorial-action { border-top:1px solid rgba(255,255,255,.18); padding-top:18px; }
.final-cta-editorial-action p { color:rgba(255,255,255,.62); font-size:.8rem; line-height:1.75; margin-bottom:26px; }

/* LANDING PAGES — less template, more chapter-based */
.care-landing-hero { min-height:88vh; }
.care-landing-hero .container-xxl::before { content:"SPECIALTY"; position:absolute; left:10px; bottom:-75px; color:rgba(255,255,255,.035); font-size:clamp(6rem,13vw,15rem); font-weight:800; line-height:.8; letter-spacing:-.08em; pointer-events:none; }
.care-landing-hero .row { position:relative; z-index:2; }
.care-landing-hero .col-lg-6:first-child { padding-right:clamp(20px,4vw,70px); }
.care-visual-wrap { transform:translateY(30px); }
.care-intro-section { position:relative; }
.care-intro-section::before { content:""; position:absolute; top:0; bottom:0; left:41.666%; width:1px; background:rgba(22,38,56,.055); }
.care-pillars-grid { gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.care-pillar-card,.care-pillar-card:first-child { border-radius:0; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); box-shadow:none; }
.care-pillar-card:hover { transform:none; box-shadow:none; background:var(--care-soft); }
.care-focus-grid { gap:0; border-top:1px solid rgba(255,255,255,.14); border-left:1px solid rgba(255,255,255,.14); }
.care-focus-item { border-radius:0; border:0; border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); min-height:135px; }
.care-focus-item:hover { background:rgba(var(--care-accent-rgb),.1); }
.care-journey-step { min-height:135px; align-items:center; transition:padding .3s ease,background .3s ease; }
.care-journey-step:hover { padding-left:18px; background:rgba(var(--care-accent-rgb),.07); }

/* Theme-specific spatial behavior: same system, different movement language */
.care-theme-oxygen .care-visual-photo,.care-theme-oxygen .care-visual-abstract { border-radius:50% 50% 40% 40% / 42% 42% 58% 58%; }
.care-theme-infusion .care-visual-photo,.care-theme-infusion .care-visual-abstract { transform:rotate(-2deg) translateY(12px); }
.care-theme-motion .care-visual-photo,.care-theme-motion .care-visual-abstract { border-radius:12px 90px 12px 90px; }
.care-theme-calm .care-landing-grid { opacity:.06; background-size:120px 120px; }
.care-theme-calm .care-visual-photo,.care-theme-calm .care-visual-abstract { transform:none; border-radius:120px 120px 30px 30px; }
.care-theme-botanical .care-visual-photo,.care-theme-botanical .care-visual-abstract { border-radius:52% 48% 32% 68% / 43% 36% 64% 57%; }
.care-theme-structure .care-visual-photo,.care-theme-structure .care-visual-abstract { transform:rotate(0); border-radius:0; }
.care-theme-nutrition .care-visual-photo,.care-theme-nutrition .care-visual-abstract { border-radius:50% 50% 8px 8px; }
.care-theme-mobility .care-visual-photo,.care-theme-mobility .care-visual-abstract { transform:rotate(4deg) skewY(-1deg); border-radius:8px; }
.care-theme-mind .care-visual-photo,.care-theme-mind .care-visual-abstract { border-radius:42% 58% 52% 48% / 55% 44% 56% 45%; }

@media (min-width:1200px) and (max-height:760px) {
  .mega-specialties-panel { height:96vh; padding-top:96px; }
  .mega-topline { height:58px; }
  .mega-layout { height:calc(100% - 58px); padding:18px 0 24px; gap:clamp(28px,3vw,60px); }
  .mega-specialty-link { min-height:48px; }
  .mega-preview { grid-template-rows:minmax(150px,1fr) minmax(112px,auto); }
  .mega-preview-copy { min-height:112px; padding-top:14px; }
  .mega-preview-copy h2 { font-size:clamp(1.3rem,1.9vw,2rem); }
  .mega-preview-copy p { margin-top:7px; line-height:1.45; }
}

@media (max-width:1199.98px) {
  .mega-specialties { display:none!important; }
  body.mega-open { overflow:auto; }
  .hero-chapter { display:none; }
  .manifesto-grid { grid-template-columns:1fr 10fr; }
  .manifesto-side { display:none; }
  .atlas-layout { grid-template-columns:1fr; }
  .atlas-preview { display:none; }
  .atlas-row { grid-template-columns:50px minmax(220px,.9fr) minmax(180px,1fr) 32px; }
  .integrative-editorial-grid { grid-template-columns:1fr 5fr 5fr; }
  .hydrogen-stage-title h2 { font-size:clamp(7rem,14vw,12rem); }
}

@media (max-width:991.98px) {
  .atlas-heading { grid-template-columns:1fr; }
  .atlas-heading-note { max-width:520px; }
  .atlas-row { grid-template-columns:44px 1fr 28px; min-height:82px; }
  .atlas-mini { display:none; }
  .integrative-editorial-grid { grid-template-columns:1fr 1fr; }
  .integrative-number { grid-column:1/-1; font-size:7rem; }
  .integrative-photo { grid-column:1; grid-row:2; margin-top:0; }
  .integrative-copy { grid-column:2; grid-row:2; }
  .hydrogen-stage-layout { grid-template-columns:1fr; }
  .hydrogen-stage-copy { max-width:620px; }
  .hydrogen-steps { margin-top:55px; }
  .cinema-heading { grid-template-columns:1fr; }
  .cinema-heading > p { max-width:600px; }
  .testimonial-spread { grid-template-columns:80px 1fr; }
  .testimonial-person { grid-column:2; margin-bottom:35px; }
  .journal-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto auto; }
  .journal-story-1 { grid-column:1/-1; grid-row:auto; }
  .journal-story-2 > a,.journal-story-3 > a { display:block; }
  .journal-story-2 .journal-media,.journal-story-3 .journal-media { aspect-ratio:1.3/1; min-height:0; }
  .final-cta-editorial-grid { grid-template-columns:1fr 8fr; }
  .final-cta-editorial-action { grid-column:2; max-width:600px; }
  .care-intro-section::before { display:none; }
}

@media (max-width:767.98px) {
  .home-manifesto { padding:75px 0; }
  .manifesto-grid { grid-template-columns:1fr; }
  .manifesto-index { padding-top:0; }
  .manifesto-copy { font-size:clamp(2.8rem,13vw,4.6rem); }
  .specialty-atlas { padding:80px 0; }
  .atlas-heading { margin-bottom:42px; }
  .atlas-row { min-height:76px; grid-template-columns:34px 1fr 24px; gap:8px; }
  .atlas-row h3 { font-size:1.05rem; }
  .atlas-row:hover,.atlas-row.is-active { padding:0 10px; }
  .integrative-editorial { padding:85px 0; }
  .integrative-editorial-grid { display:block; }
  .integrative-number { margin-bottom:20px; }
  .integrative-photo { margin:0 10px 55px 0; }
  .integrative-photo-label { left:14px; bottom:14px; min-width:210px; padding:17px 19px 16px; border-radius:20px; }
  .integrative-photo-label strong { font-size:1rem; }
  .integrative-photo-label small { margin-top:7px; font-size:.63rem; }
  .integrative-copy .section-title { font-size:clamp(2.8rem,12vw,4.4rem); }
  .hydrogen-stage { padding:85px 0 55px; }
  .hydrogen-stage-title h2 { font-size:clamp(5rem,21vw,8rem); margin:36px 0 26px; }
  .hydrogen-stage-title > p { font-size:clamp(1.8rem,9vw,3rem); }
  .hydrogen-steps { grid-template-columns:1fr; border-top:1px solid rgba(255,255,255,.15); }
  .hydrogen-steps > div,.hydrogen-steps > div:nth-child(2),.hydrogen-steps > div:last-child { padding:18px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .hydrogen-kinetic { margin-top:55px; font-size:4rem; }
  .team-cinema { padding:85px 0 65px; }
  .team-cinema-swiper { padding-left:16px; }
  .team-cinema-slide,.team-cinema-slide.is-tall { width:78vw; max-width:330px; height:500px; margin-top:0; }
  .cinema-controls { grid-template-columns:1fr auto auto; }
  .cinema-controls > a { grid-column:1/-1; margin:12px 0 0; }
  .testimonial-editorial { padding:80px 0; }
  .testimonial-spread { min-height:430px; grid-template-columns:45px 1fr; gap:12px; }
  .testimonial-mark { font-size:4.5rem; padding-top:40px; }
  .testimonial-spread blockquote { font-size:clamp(2.2rem,10.7vw,3.5rem); }
  .testimonial-person { grid-column:2; }
  .journal-section { padding:80px 0; }
  .journal-heading { grid-template-columns:1fr; margin-bottom:40px; }
  .journal-grid { grid-template-columns:1fr; }
  .journal-story-1 { grid-column:auto; }
  .journal-story-1 .journal-media,.journal-story-2 .journal-media,.journal-story-3 .journal-media { aspect-ratio:1.25/1; }
  .journal-story-2 > a,.journal-story-3 > a { display:block; }
  .journal-copy h3,.journal-story-2 h3,.journal-story-3 h3 { font-size:1.55rem; }
  .final-cta-editorial { padding:90px 0; }
  .final-cta-editorial-grid { grid-template-columns:1fr; }
  .final-cta-editorial-action { grid-column:auto; }
  .final-cta-editorial h2 { font-size:clamp(3rem,13vw,4.7rem); }
  .care-landing-hero .container-xxl::before { bottom:-40px; }
  .care-pillars-grid,.care-focus-grid { border-left:0; }
  .care-pillar-card,.care-pillar-card:first-child { border-left:1px solid var(--line); min-height:auto; }
  .care-focus-item { border-left:1px solid rgba(255,255,255,.14); }
}

/* v1.3 — página índice de especialidades */
.specialties-index-hero { position:relative; min-height:86vh; padding:175px 0 90px; background:#13263a; color:#fff; overflow:hidden; display:flex; align-items:center; }
.specialties-index-lines { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:8.333vw 8.333vw; mask-image:linear-gradient(to bottom,black,transparent 80%); }
.specialties-index-hero-grid { display:grid; grid-template-columns:1fr 7fr 3fr; gap:var(--grid-gap); align-items:end; position:relative; z-index:2; }
.specialties-index-kicker { align-self:start; display:grid; gap:8px; padding-top:8px; }
.specialties-index-kicker span { color:var(--gold-light); font-size:.56rem; letter-spacing:.14em; font-weight:800; }
.specialties-index-kicker strong { font-size:clamp(4rem,7vw,8rem); line-height:.8; letter-spacing:-.08em; color:rgba(255,255,255,.12); }
.specialties-index-title h1 { margin:20px 0 0; font-size:clamp(4rem,7.8vw,9rem); line-height:.86; letter-spacing:-.07em; font-weight:700; }
.specialties-index-title h1 em { font-style:normal; color:var(--gold-light); }
.specialties-index-intro { border-top:1px solid rgba(255,255,255,.18); padding-top:18px; align-self:end; }
.specialties-index-intro p { color:rgba(255,255,255,.62); font-size:.8rem; line-height:1.75; margin:0 0 24px; }
.specialties-index-word { position:absolute; left:-2vw; bottom:-2.4vw; font-size:clamp(6rem,14vw,16rem); line-height:.72; letter-spacing:-.08em; font-weight:800; color:rgba(255,255,255,.025); white-space:nowrap; }
.specialties-directory { padding:clamp(85px,9vw,135px) 0; background:#f5f3ed; }
.directory-topline { display:grid; grid-template-columns:1fr auto 1fr; gap:20px; align-items:center; padding-bottom:14px; border-bottom:1px solid rgba(22,38,56,.2); color:#7c8791; font-size:.54rem; letter-spacing:.14em; font-weight:800; }
.directory-topline span:last-child { text-align:right; }
.directory-topline strong { color:var(--navy); }
.directory-list { border-top:0; }
.directory-row { position:relative; display:grid; grid-template-columns:46px 82px minmax(210px,.8fr) minmax(220px,1fr) 30px; gap:18px; min-height:116px; align-items:center; border-bottom:1px solid rgba(22,38,56,.15); overflow:hidden; transition:padding .35s ease; }
.directory-row::before { content:""; position:absolute; inset:0; background:#fff; transform:scaleY(0); transform-origin:bottom; transition:transform .36s cubic-bezier(.77,0,.18,1); }
.directory-row:hover::before { transform:scaleY(1); }
.directory-row > * { position:relative; z-index:1; }
.directory-row:hover { padding:0 12px; }
.directory-no { color:#9a7e4d; font-size:.56rem; letter-spacing:.12em; font-weight:800; }
.directory-thumb { width:72px; height:72px; overflow:hidden; background:#dfe3e0; }
.directory-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.directory-row:hover .directory-thumb img { transform:scale(1.08); }
.directory-thumb.is-gas { display:grid; place-items:center; background:#223751; color:#fff; text-align:center; line-height:.82; font-weight:800; }
.directory-thumb.is-gas b { color:var(--gold-light); font-weight:800; }
.directory-row h2 { margin:0; color:var(--navy); font-size:clamp(1.15rem,1.54vw,1.65rem); line-height:1.05; letter-spacing:-.04em; font-weight:700; }
.directory-row p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.55; }
.directory-row > i { justify-self:end; transition:transform .3s ease; }
.directory-row:hover > i { transform:translate(3px,-3px); }
.specialties-method { padding:clamp(100px,11vw,165px) 0; background:#fff; }
.specialties-method-grid { display:grid; grid-template-columns:1fr 7fr 3fr; gap:var(--grid-gap); align-items:start; }
.specialties-method-index { color:#9a7b45; font-size:.58rem; letter-spacing:.14em; font-weight:800; padding-top:15px; }
.specialties-method h2 { margin:0; color:var(--navy); font-size:clamp(3.3rem,4vw,7rem); line-height:.92; letter-spacing:-.06em; font-weight:700; }
.specialties-method-copy { border-top:1px solid var(--editorial-line); padding-top:17px; }
.specialties-method-copy p { color:var(--muted); font-size:.8rem; line-height:1.75; margin-bottom:24px; }

@media (max-width:991.98px) {
  .specialties-index-hero-grid,.specialties-method-grid { grid-template-columns:1fr 7fr; }
  .specialties-index-intro,.specialties-method-copy { grid-column:2; }
  .directory-row { grid-template-columns:38px 70px 1fr 28px; }
  .directory-row p { display:none; }
}
@media (max-width:767.98px) {
  .specialties-index-hero { min-height:auto; padding:140px 0 85px; }
  .specialties-index-hero-grid,.specialties-method-grid { grid-template-columns:1fr; }
  .specialties-index-intro,.specialties-method-copy { grid-column:auto; }
  .specialties-index-kicker { display:flex; align-items:baseline; gap:15px; }
  .specialties-index-kicker strong { font-size:4rem; }
  .specialties-index-title h1 { font-size:clamp(3.5rem,14vw,5.7rem); }
  .directory-topline { grid-template-columns:1fr auto; }
  .directory-topline strong { display:none; }
  .directory-row { grid-template-columns:30px 58px 1fr 22px; gap:10px; min-height:96px; }
  .directory-thumb { width:54px; height:54px; }
  .directory-row h2 { font-size:1rem; }
  .specialties-method h2 { font-size:clamp(3rem,12vw,4.8rem); }
}

/* Ajustes finos da constelação para celulares estreitos.
   A composição original de 450px permanece inalterada. */
@media (max-width:420px) {
  .hero-visual { height:560px; max-width:420px; }
  .treatment-node { width:104px!important; }
  .node-top { top:12px; margin-left:-52px; }
  .node-left-top { left:18px; top:128px; }
  .node-right-top { right:18px; top:128px; }
  .node-center { top:224px; margin-left:-52px; }
  .node-left { left:8px; top:300px; }
  .node-right { right:8px; top:300px; }
  .node-bottom { bottom:2px; margin-left:-52px; }
  .node-media { padding:5px; border-radius:22px; }
  .node-media img { border-radius:17px; }
  .node-label { margin-top:8px; font-size:.56rem; line-height:1.25; }
}

@media (max-width:390px) {
  .hero-visual { height:555px; }
  .treatment-node { width:94px!important; }
  .node-top { top:10px; margin-left:-47px; }
  .node-left-top { left:10px; top:126px; }
  .node-right-top { right:10px; top:126px; }
  .node-center { top:220px; margin-left:-47px; }
  .node-left { left:6px; top:300px; }
  .node-right { right:6px; top:300px; }
  .node-bottom { bottom:4px; margin-left:-47px; }
  .node-label { font-size:.52rem; letter-spacing:-.01em; }
}

/* Aviso de cookies / LGPD */
.cookie-consent {
  position:fixed;
  left:24px;
  bottom:24px;
  z-index:1038;
  display:flex;
  align-items:flex-start;
  gap:14px;
  width:min(405px,calc(100vw - 48px));
  padding:20px;
  border:1px solid rgba(201,164,91,.28);
  border-radius:22px;
  background:rgba(255,255,255,.97);
  color:var(--navy);
  box-shadow:0 24px 70px rgba(8,20,31,.23);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  opacity:0;
  transform:translateY(18px);
  transition:opacity .25s ease,transform .25s ease;
}
.cookie-consent[hidden] { display:none!important; }
.cookie-consent.is-visible { opacity:1; transform:translateY(0); }
.cookie-consent-icon {
  display:grid;
  place-items:center;
  flex:0 0 43px;
  width:43px;
  height:43px;
  border-radius:14px;
  background:linear-gradient(145deg,var(--gold-light),var(--gold));
  color:var(--navy-2);
  font-size:1.2rem;
}
.cookie-consent-content { min-width:0; flex:1; }
.cookie-consent strong { display:block; margin-bottom:5px; font-size:.97rem; font-weight:800; line-height:1.3; }
.cookie-consent p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.55; }
.cookie-consent-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:15px; }
.cookie-consent-actions a { color:#80642f; font-size:.8rem; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.cookie-consent-actions button {
  min-height:40px;
  padding:9px 21px;
  border:0;
  border-radius:999px;
  background:var(--navy);
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  transition:transform .2s ease,background-color .2s ease;
}
.cookie-consent-actions button:hover { background:var(--header); transform:translateY(-1px); }
.cookie-consent-actions a:focus-visible,.cookie-consent-actions button:focus-visible { outline:3px solid rgba(201,164,91,.35); outline-offset:3px; }

/* Política de privacidade */
.page-politica-de-privacidade .site-footer { margin-top:0; }
.privacy-hero { background:radial-gradient(circle at 80% 28%,rgba(229,203,145,.19),transparent 28%),linear-gradient(135deg,#102032,#1b3044); }
.privacy-section { background:var(--sand); }
.privacy-layout { display:grid; grid-template-columns:minmax(230px,.72fr) minmax(0,2.28fr); gap:clamp(38px,6vw,90px); align-items:start; }
.privacy-summary {
  position:sticky;
  top:125px;
  display:grid;
  min-height:310px;
  padding:28px;
  border-radius:26px;
  background:var(--navy);
  color:#fff;
  overflow:hidden;
}
.privacy-summary::after { content:""; position:absolute; right:-70px; bottom:-80px; width:190px; height:190px; border-radius:50%; border:1px solid rgba(229,203,145,.25); box-shadow:0 0 0 28px rgba(229,203,145,.045),0 0 0 58px rgba(229,203,145,.03); }
.privacy-summary span { color:var(--gold-light); font-size:.65rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.privacy-summary strong { align-self:start; max-width:220px; margin-top:14px; font-size:1.5rem; line-height:1.18; letter-spacing:-.035em; }
.privacy-summary p { align-self:end; margin:30px 0 0; color:rgba(255,255,255,.62); font-size:.75rem; line-height:1.65; }
.privacy-summary > i { position:absolute; right:25px; top:26px; color:var(--gold-light); font-size:1.5rem; }
.privacy-content { padding:clamp(30px,4vw,58px); border:1px solid rgba(22,38,56,.1); border-radius:30px; background:#fff; box-shadow:0 22px 65px rgba(18,35,51,.07); }
.privacy-content h2 { margin:2.35rem 0 .8rem; color:var(--navy); font-size:clamp(1.4rem,2.4vw,2rem); font-weight:750; letter-spacing:-.035em; }
.privacy-content h2:first-child { margin-top:0; }
.privacy-content p,.privacy-content li { color:var(--muted); font-size:.95rem; line-height:1.85; }
.privacy-content ul { display:grid; gap:.45rem; padding-left:1.2rem; }
.privacy-content a { color:#80642f; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.privacy-alert { display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; margin:2rem 0; padding:20px; border-left:4px solid var(--gold); border-radius:0 18px 18px 0; background:var(--sand); }
.privacy-alert i { color:#8b6d36; font-size:1.2rem; }
.privacy-alert p { margin:0; color:#52606c; }

@media (max-width:991.98px) {
  .privacy-layout { grid-template-columns:1fr; }
  .privacy-summary { position:relative; top:auto; min-height:220px; }
}
@media (max-width:767.98px) {
  .cookie-consent { left:12px; right:12px; bottom:92px; width:auto; padding:17px; border-radius:19px; }
  .cookie-consent-icon { flex-basis:39px; width:39px; height:39px; border-radius:12px; }
  .cookie-consent-actions { margin-top:12px; }
  .privacy-content { padding:25px 21px; border-radius:24px; }
  .privacy-summary { min-height:200px; padding:24px; border-radius:22px; }
}
@media (prefers-reduced-motion:reduce) {
  .cookie-consent { transition:none; }
}
