:root {
  /* Paleta */
  --azul: #1A3D59;
  --azul-esc: #0F2438;
  --ouro: #BFA468;
  --ouro-cl: #D4BC8C;
  --teal: #64C2C8;
  --rosa: #EFA7B7;
  --branco: #FAFAF9;
  --texto: #1A2830;
  --cinza: #6B7C86;
  --teal-bg: #E6F6F7;
  --rosa-bg: #FDF0F3;
  --ouro-bg: #F8F3E8;
  --azul-bg: #EEF3F7;

  /* Easings (Emil Kowalski — design engineering) */
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);          /* entradas, hovers fortes */
  --ease-out-strong: cubic-bezier(0.16, 1, 0.3, 1);    /* reveals marketing (mais punch) */
  --ease-out-back: cubic-bezier(0.34, 1.4, 0.64, 1);   /* slight overshoot — só para reveals one-shot */
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);      /* movimento on-screen */
  --ease-quick: cubic-bezier(0.4, 0, 0.2, 1);          /* micro-interações */

  /* Durations */
  --d-press: 100ms;
  --d-hover: 160ms;
  --d-card: 200ms;
  --d-reveal: 720ms;          /* reveals marketing — generosos, vistos uma vez */
  --d-reveal-fast: 520ms;
  --d-reveal-hero: 900ms;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--texto);background:var(--branco);font-size:16px;line-height:1.7;overflow-x:hidden}

/* ─── NAVEGAÇÃO ─── */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,20,30,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(191,164,104,.15);transition:background-color 200ms ease}
.site-nav.scrolled{background:rgba(6,14,22,.92)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer;transition:transform var(--d-hover) var(--ease-out);text-decoration:none}
.nav-logo:active{transform:scale(0.97);transition-duration:var(--d-press)}
.nav-logo-mark{width:36px;height:36px;background:var(--ouro);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:var(--azul-esc)}
.nav-logo-text{font-size:14px;font-weight:600;color:#fff;line-height:1.2}
.nav-logo-text span{display:block;font-size:10px;font-weight:400;color:var(--ouro-cl);letter-spacing:1.5px;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{color:rgba(255,255,255,.75);text-decoration:none;font-size:13px;font-weight:500;transition:color 120ms ease;letter-spacing:.3px}
@media (hover: hover) and (pointer: fine){
  .nav-links a:hover{color:var(--ouro-cl)}
}
.nav-cta{background:var(--ouro);color:var(--azul-esc)!important;padding:9px 20px;border-radius:8px;font-weight:600!important;font-size:13px!important;transition:background-color 120ms ease, transform var(--d-hover) var(--ease-out)!important}
@media (hover: hover) and (pointer: fine){
  .nav-cta:hover{background:var(--ouro-cl)!important}
}
.nav-cta:active{transform:scale(0.97);transition-duration:var(--d-press)!important}
.nav-mobile-btn{display:none;background:none;border:none;cursor:pointer;color:#fff;font-size:22px;transition:transform var(--d-hover) var(--ease-out)}
.nav-mobile-btn:active{transform:scale(0.92);transition-duration:var(--d-press)}

/* ─── HERO ─── */
.hero{min-height:100vh;background:var(--azul-esc);position:relative;display:flex;align-items:center;overflow:hidden;padding-top:68px}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 70% 50%, rgba(100,194,200,.08) 0%, transparent 70%)}
.hero-circles{position:absolute;inset:0;pointer-events:none}
.hero-circle{position:absolute;border-radius:50%;border:1px solid rgba(191,164,104,.08)}
.hero-circle:nth-child(1){width:600px;height:600px;top:-100px;right:-100px}
.hero-circle:nth-child(2){width:400px;height:400px;top:50px;right:50px}
.hero-circle:nth-child(3){width:200px;height:200px;bottom:100px;left:100px;border-color:rgba(100,194,200,.1)}
.hero-inner{max-width:1200px;margin:0 auto;padding:80px 24px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(191,164,104,.12);border:1px solid rgba(191,164,104,.25);color:var(--ouro-cl);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:24px}
.hero-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--ouro)}
.hero h1{font-family:'Playfair Display',serif;font-size:54px;font-weight:700;color:#fff;line-height:1.1;margin-bottom:20px}
.hero h1 em{color:var(--ouro-cl);font-style:italic}
.hero-sub{font-size:17px;color:rgba(255,255,255,.65);line-height:1.75;max-width:480px;margin-bottom:36px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}

/* Botões — feedback responsivo (press + hover gated) */
.btn-primary{background:var(--ouro);color:var(--azul-esc);padding:15px 28px;border-radius:10px;font-weight:600;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:transform var(--d-hover) var(--ease-out), background-color var(--d-hover) ease, box-shadow var(--d-hover) ease;will-change:transform}
@media (hover: hover) and (pointer: fine){
  .btn-primary:hover{background:var(--ouro-cl);transform:translateY(-1px);box-shadow:0 6px 20px rgba(191,164,104,.25)}
}
.btn-primary:active{transform:scale(0.97);transition-duration:var(--d-press)}

.btn-ghost{background:rgba(255,255,255,.07);color:#fff;padding:15px 28px;border-radius:10px;font-weight:500;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.15);transition:transform var(--d-hover) var(--ease-out), background-color var(--d-hover) ease, border-color var(--d-hover) ease;will-change:transform}
@media (hover: hover) and (pointer: fine){
  .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}
}
.btn-ghost:active{transform:scale(0.97);transition-duration:var(--d-press)}

.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.hero-badge{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.7);font-size:12px;padding:6px 14px;border-radius:100px}
.hero-visual{position:relative}
.hero-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:32px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hero-card-title{font-family:'Playfair Display',serif;font-size:20px;color:var(--ouro-cl);margin-bottom:20px}
.pilar-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.pilar-item:last-child{border:none}
.pilar-dot{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.pilar-info{}
.pilar-name{font-size:14px;font-weight:600;color:#fff;margin-bottom:2px}
.pilar-desc{font-size:12px;color:rgba(255,255,255,.5);line-height:1.4}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.hero-stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;text-align:center}
.hero-stat-num{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--ouro-cl)}
.hero-stat-label{font-size:10px;color:rgba(255,255,255,.45);letter-spacing:.5px;margin-top:2px;text-transform:uppercase}

/* ─── SECÇÕES GENÉRICAS ─── */
section{padding:96px 24px}
.container{max-width:1200px;margin:0 auto}
.section-tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ouro);background:var(--ouro-bg);padding:5px 14px;border-radius:100px;margin-bottom:16px}
.section-title{font-family:'Playfair Display',serif;font-size:42px;font-weight:700;color:var(--azul);line-height:1.15;margin-bottom:16px}
.section-title em{font-style:italic;color:var(--ouro)}
.section-sub{font-size:17px;color:var(--cinza);line-height:1.75;max-width:580px}
.section-header{margin-bottom:56px}
.section-header.center{text-align:center}
.section-header.center .section-sub{margin:0 auto}

/* ─── FAIXA DE DIFERENCIAL ─── */
.diferencial{background:var(--azul);padding:56px 24px}
.diferencial-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:center}
.diferencial-label{font-family:'Playfair Display',serif;font-size:28px;color:#fff;line-height:1.3}
.diferencial-label em{color:var(--ouro-cl);font-style:italic;display:block}
.diferencial-items{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dif-item{border-left:2px solid rgba(191,164,104,.3);padding-left:16px}
.dif-item-num{font-size:11px;font-weight:600;letter-spacing:1px;color:var(--ouro-cl);text-transform:uppercase;margin-bottom:4px}
.dif-item-text{font-size:14px;color:rgba(255,255,255,.75);line-height:1.65}

/* ─── RC360 METODOLOGIA ─── */
.metodologia{background:var(--branco)}
.metod-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.metod-text{}
.metod-intro{font-size:16px;color:var(--cinza);line-height:1.8;margin-bottom:28px}
.metod-quote{background:var(--azul-esc);border-radius:16px;padding:28px 32px;margin-bottom:28px;position:relative}
.metod-quote::before{content:'\201C';font-family:'Playfair Display',serif;font-size:72px;color:var(--ouro);position:absolute;top:-10px;left:22px;line-height:1}
.metod-quote p{font-family:'Playfair Display',serif;font-size:18px;font-style:italic;color:#fff;line-height:1.6;padding-top:28px}
.metod-quote cite{display:block;margin-top:12px;font-size:12px;color:var(--ouro-cl);font-style:normal;font-weight:600;letter-spacing:.5px}
.metod-como{margin-top:20px}
.metod-como-title{font-size:14px;font-weight:600;color:var(--azul);margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px}
.metod-step{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.metod-step:last-child{border:none}
.metod-step-num{width:32px;height:32px;border-radius:8px;background:var(--azul);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.metod-step-body{}
.metod-step-title{font-size:14px;font-weight:600;color:var(--azul);margin-bottom:2px}
.metod-step-desc{font-size:13px;color:var(--cinza);line-height:1.6}

.pilares-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pilar-card{border-radius:16px;padding:24px;position:relative;overflow:hidden;transition:transform var(--d-card) var(--ease-out), box-shadow var(--d-card) ease;will-change:transform}
@media (hover: hover) and (pointer: fine){
  .pilar-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.06)}
}
.pilar-card.p1{background:var(--teal-bg);border:1px solid rgba(100,194,200,.3)}
.pilar-card.p2{background:var(--ouro-bg);border:1px solid rgba(191,164,104,.3)}
.pilar-card.p3{background:var(--rosa-bg);border:1px solid rgba(239,167,183,.3)}
.pilar-card.p4{background:var(--azul-bg);border:1px solid rgba(26,61,89,.15)}
.pilar-card-icon{font-size:28px;margin-bottom:12px}
.pilar-card-num{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
.pilar-card.p1 .pilar-card-num{color:#0F6E56}
.pilar-card.p2 .pilar-card-num{color:#854F0B}
.pilar-card.p3 .pilar-card-num{color:#993556}
.pilar-card.p4 .pilar-card-num{color:var(--azul)}
.pilar-card-title{font-size:17px;font-weight:700;color:var(--azul);margin-bottom:8px}
.pilar-card-desc{font-size:13px;color:var(--cinza);line-height:1.7}
.pilar-card-sinais{margin-top:12px;display:flex;flex-wrap:wrap;gap:4px}
.pilar-signal{font-size:11px;padding:3px 8px;border-radius:100px;font-weight:500}
.p1 .pilar-signal{background:rgba(100,194,200,.2);color:#0F6E56}
.p2 .pilar-signal{background:rgba(191,164,104,.2);color:#854F0B}
.p3 .pilar-signal{background:rgba(239,167,183,.2);color:#993556}
.p4 .pilar-signal{background:rgba(26,61,89,.1);color:var(--azul)}

/* ─── PARA QUEM É ─── */
.para-quem{background:var(--azul-esc)}
.sinais-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sinal-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:22px;transition:background-color var(--d-card) ease, border-color var(--d-card) ease, transform var(--d-card) var(--ease-out)}
@media (hover: hover) and (pointer: fine){
  .sinal-card:hover{background:rgba(255,255,255,.08);border-color:rgba(191,164,104,.3);transform:translateY(-2px)}
}
.sinal-icon{font-size:24px;margin-bottom:12px}
.sinal-title{font-size:15px;font-weight:600;color:#fff;margin-bottom:6px}
.sinal-desc{font-size:13px;color:rgba(255,255,255,.55);line-height:1.65}
.para-quem-cta{text-align:center;margin-top:48px}
.para-quem-cta p{color:rgba(255,255,255,.6);font-size:14px;margin-bottom:16px}

/* ─── ESPECIALIDADES ─── */
.especialidades{background:var(--branco)}
.esp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.esp-card{background:#fff;border-radius:16px;padding:24px;border:1px solid rgba(0,0,0,.07);transition:transform var(--d-card) var(--ease-out), border-color 120ms ease, box-shadow var(--d-card) ease;cursor:default;will-change:transform}
@media (hover: hover) and (pointer: fine){
  .esp-card:hover{border-color:var(--ouro);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.08)}
}
.esp-icon{font-size:28px;margin-bottom:14px}
.esp-name{font-size:15px;font-weight:700;color:var(--azul);margin-bottom:6px}
.esp-who{font-size:12px;font-weight:500;color:var(--ouro);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.esp-desc{font-size:13px;color:var(--cinza);line-height:1.65}
.esp-tag{display:inline-block;margin-top:12px;font-size:11px;padding:3px 10px;border-radius:100px;background:var(--teal-bg);color:#0F6E56;font-weight:600}

/* ─── EQUIPA ─── */
.equipa{background:#F4F7F9}
.equipa-intro{max-width:680px;margin:0 auto 56px;text-align:center}
.equipa-areas{display:flex;flex-direction:column;gap:40px}
.area-title{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--cinza);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.08)}
.prof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.prof-card{background:#fff;border-radius:16px;padding:24px;border:1px solid rgba(0,0,0,.06);transition:transform var(--d-card) var(--ease-out), border-color 120ms ease, box-shadow var(--d-card) ease;will-change:transform}
@media (hover: hover) and (pointer: fine){
  .prof-card:hover{border-color:var(--ouro);box-shadow:0 6px 24px rgba(0,0,0,.07);transform:translateY(-2px)}
}
.prof-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;margin-bottom:14px}
.prof-card-name{font-size:16px;font-weight:700;color:var(--azul);margin-bottom:4px}
.prof-card-esp{font-size:12px;color:var(--cinza);line-height:1.5;margin-bottom:10px}
.prof-card-frase{font-size:12.5px;color:var(--texto);line-height:1.7;font-style:italic;border-left:3px solid var(--ouro);padding-left:12px}
.prof-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}
.prof-card-tag{font-size:10px;padding:3px 8px;border-radius:100px;font-weight:600;background:var(--azul-bg);color:var(--azul)}
.prof-card-tag.rc{background:var(--teal-bg);color:#0F6E56}

/* ─── ABORDAGEM INTEGRADA ─── */
.integrada{background:var(--azul);position:relative;overflow:hidden}
.integrada::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;border:60px solid rgba(100,194,200,.07)}
.integrada-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1}
.integrada-text{}
.integrada-title{font-family:'Playfair Display',serif;font-size:38px;color:#fff;line-height:1.2;margin-bottom:20px}
.integrada-title em{color:var(--ouro-cl);font-style:italic}
.integrada-desc{font-size:16px;color:rgba(255,255,255,.65);line-height:1.8;margin-bottom:32px}
.integrada-points{display:flex;flex-direction:column;gap:16px}
.int-point{display:flex;gap:14px;align-items:flex-start}
.int-point-icon{width:40px;height:40px;border-radius:10px;background:rgba(191,164,104,.15);border:1px solid rgba(191,164,104,.25);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.int-point-body{}
.int-point-title{font-size:14px;font-weight:600;color:#fff;margin-bottom:3px}
.int-point-desc{font-size:13px;color:rgba(255,255,255,.55);line-height:1.6}
.integrada-visual{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px}
.flow-title{font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ouro-cl);margin-bottom:24px}
.flow-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.flow-item:last-child{border:none;padding-bottom:0}
.flow-item-num{width:32px;height:32px;border-radius:8px;background:rgba(191,164,104,.15);color:var(--ouro-cl);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.flow-item-body{}
.flow-item-title{font-size:14px;font-weight:600;color:#fff;margin-bottom:2px}
.flow-item-desc{font-size:12px;color:rgba(255,255,255,.45);line-height:1.5}

/* ─── CONSULTA RC360 ─── */
.consulta-rc{background:var(--branco)}
.rc-hero{background:var(--teal-bg);border-radius:24px;padding:52px 48px;margin-bottom:48px;border:1px solid rgba(100,194,200,.25);position:relative;overflow:hidden}
.rc-hero::before{content:'';position:absolute;top:-40px;right:-40px;width:200px;height:200px;border-radius:50%;background:rgba(100,194,200,.1)}
.rc-hero-tag{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#0F6E56;margin-bottom:14px}
.rc-hero h3{font-family:'Playfair Display',serif;font-size:32px;color:var(--azul);margin-bottom:14px}
.rc-hero p{font-size:16px;color:var(--cinza);max-width:580px;line-height:1.75}
.rc-detalhes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
.rc-detalhe{background:#fff;border-radius:16px;padding:24px;border:1px solid rgba(0,0,0,.07)}
.rc-detalhe-title{font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--ouro);margin-bottom:14px}
.rc-detalhe ul{padding-left:0;list-style:none}
.rc-detalhe ul li{font-size:14px;color:var(--cinza);padding:6px 0;border-bottom:1px solid rgba(0,0,0,.05);display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.rc-detalhe ul li::before{content:'→';color:var(--teal);font-weight:700;flex-shrink:0;margin-top:1px}
.rc-detalhe ul li:last-child{border:none}

/* ─── PODCAST ─── */
.podcast{background:var(--azul-esc)}
.podcast-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.podcast-text{}
.podcast-eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ouro);margin-bottom:14px}
.podcast-title{font-family:'Playfair Display',serif;font-size:36px;color:#fff;margin-bottom:16px;line-height:1.2}
.podcast-desc{font-size:16px;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:28px}
.podcast-hosts{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.podcast-host{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:100px;padding:8px 16px 8px 8px}
.podcast-host-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.podcast-host-name{font-size:13px;color:#fff;font-weight:500}
.podcast-episodes{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px}
.ep-list-title{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ouro-cl);margin-bottom:18px}
.ep-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.ep-item:last-child{border:none;padding-bottom:0}
.ep-num{width:36px;height:36px;border-radius:8px;background:rgba(100,194,200,.15);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.ep-info{}
.ep-title{font-size:14px;font-weight:600;color:#fff;margin-bottom:3px}
.ep-desc{font-size:12px;color:rgba(255,255,255,.4);line-height:1.5}

/* ─── PORQUÊ NÓS ─── */
.porque-nos{background:var(--branco)}
.pq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pq-card{border-radius:16px;padding:28px;transition:transform var(--d-card) var(--ease-out), box-shadow var(--d-card) ease;will-change:transform}
@media (hover: hover) and (pointer: fine){
  .pq-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.06)}
}
.pq-card.dark{background:var(--azul-esc);color:#fff}
.pq-card.teal{background:var(--teal-bg)}
.pq-card.ouro{background:var(--ouro-bg)}
.pq-card.rosa{background:var(--rosa-bg)}
.pq-card.branco{background:#fff;border:1px solid rgba(0,0,0,.07)}
.pq-icon{font-size:28px;margin-bottom:16px}
.pq-title{font-size:17px;font-weight:700;margin-bottom:8px}
.pq-card.dark .pq-title{color:#fff}
.pq-card:not(.dark) .pq-title{color:var(--azul)}
.pq-desc{font-size:14px;line-height:1.7}
.pq-card.dark .pq-desc{color:rgba(255,255,255,.6)}
.pq-card:not(.dark) .pq-desc{color:var(--cinza)}

/* ─── MARCAR CONSULTA ─── */
.marcar{background:linear-gradient(135deg,#0F2438,#1A3D59);padding:96px 24px;text-align:center}
.marcar-title{font-family:'Playfair Display',serif;font-size:46px;color:#fff;margin-bottom:16px}
.marcar-title em{color:var(--ouro-cl);font-style:italic}
.marcar-desc{font-size:18px;color:rgba(255,255,255,.6);max-width:540px;margin:0 auto 40px;line-height:1.75}
.marcar-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}
.marcar-info{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;font-style:normal}
address.marcar-info{font-style:normal}
.marcar-info-item{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.5);font-size:14px}
.marcar-info-item span:first-child{font-size:18px}

/* ─── FOOTER ─── */
footer{background:#060E16;padding:60px 24px 32px}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-logo-area{}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.footer-logo-mark{width:40px;height:40px;background:var(--ouro);border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:var(--azul-esc)}
.footer-brand-text{font-size:15px;font-weight:600;color:#fff;line-height:1.2}
.footer-brand-text span{display:block;font-size:10px;color:var(--ouro-cl);letter-spacing:1.5px;text-transform:uppercase;font-weight:400}
.footer-desc{font-size:13px;color:rgba(255,255,255,.35);line-height:1.8;max-width:280px;margin-bottom:20px}
.footer-social{display:flex;gap:10px}
.footer-social a{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:14px;text-decoration:none;transition:background-color var(--d-hover) ease, color var(--d-hover) ease, transform var(--d-hover) var(--ease-out)}
@media (hover: hover) and (pointer: fine){
  .footer-social a:hover{background:var(--ouro);color:var(--azul-esc)}
}
.footer-social a:active{transform:scale(0.92);transition-duration:var(--d-press)}
.footer-col-title{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ouro);margin-bottom:16px}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links a{font-size:13px;color:rgba(255,255,255,.4);text-decoration:none;transition:color 120ms ease}
@media (hover: hover) and (pointer: fine){
  .footer-links a:hover{color:rgba(255,255,255,.8)}
}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:gap}
.footer-copy{font-size:12px;color:rgba(255,255,255,.25)}
.footer-rc{font-size:12px;color:rgba(255,255,255,.2)}
.footer-rc strong{color:var(--ouro-cl)}

/* ─── BARRA DE URGÊNCIA ─── */
.urgency-bar{background:var(--ouro);padding:10px 24px;text-align:center;font-size:13px;font-weight:600;color:var(--azul-esc)}
.urgency-bar span{margin:0 8px;opacity:.6}


/* ─────────────────────────────────────────────
   SISTEMA DE REVEAL — variantes direccionais
   Marketing site: reveals são "rare/first-time"
   → podem ter delight, movimento generoso
   ───────────────────────────────────────────── */

/* Base: cards (mais amplo, scale + lift, ease-out forte) */
[data-reveal]{opacity:0;transform:translateY(56px) scale(0.94);transition:opacity var(--d-reveal) var(--ease-out-strong), transform var(--d-reveal) var(--ease-out-strong);will-change:opacity,transform}
[data-reveal].in-view{opacity:1;transform:translateY(0) scale(1)}

/* Variante: header de secção — slide vigoroso de baixo */
[data-reveal="header"]{opacity:0;transform:translateY(40px);transition:opacity 800ms var(--ease-out-strong), transform 800ms var(--ease-out-strong)}
[data-reveal="header"].in-view{opacity:1;transform:translateY(0)}

/* Variante: bloco lateral esquerda (slide do lado) */
[data-reveal="left"]{opacity:0;transform:translateX(-60px);transition:opacity var(--d-reveal) var(--ease-out-strong), transform var(--d-reveal) var(--ease-out-strong)}
[data-reveal="left"].in-view{opacity:1;transform:translateX(0)}

/* Variante: bloco lateral direita */
[data-reveal="right"]{opacity:0;transform:translateX(60px);transition:opacity var(--d-reveal) var(--ease-out-strong), transform var(--d-reveal) var(--ease-out-strong)}
[data-reveal="right"].in-view{opacity:1;transform:translateX(0)}

/* Variante: clip — agora translateY + opacity (sem clip-path, mais robusto)
   Razão: clip-path deixa o elemento a ocupar espaço mas invisível; se o observer
   atrasar ou o utilizador fizer scroll rápido, fica área branca. translateY tem
   o mesmo impacto visual mas falha aberta. */
[data-reveal="clip"]{opacity:0;transform:translateY(40px) scale(0.97);transition:opacity 600ms var(--ease-out-strong), transform 600ms var(--ease-out-strong)}
[data-reveal="clip"].in-view{opacity:1;transform:translateY(0) scale(1)}

/* Variante: pop com leve overshoot — para elementos celebratórios (pilares centrais) */
[data-reveal="pop"]{opacity:0;transform:translateY(48px) scale(0.88);transition:opacity var(--d-reveal) var(--ease-out-back), transform var(--d-reveal) var(--ease-out-back)}
[data-reveal="pop"].in-view{opacity:1;transform:translateY(0) scale(1)}

/* Stagger pronunciado (90ms entre items) — cascata visível, intencional */
[data-reveal]:nth-child(1){transition-delay:0ms}
[data-reveal]:nth-child(2){transition-delay:90ms}
[data-reveal]:nth-child(3){transition-delay:180ms}
[data-reveal]:nth-child(4){transition-delay:270ms}
[data-reveal]:nth-child(5){transition-delay:360ms}
[data-reveal]:nth-child(6){transition-delay:450ms}
[data-reveal]:nth-child(7){transition-delay:540ms}
[data-reveal]:nth-child(8){transition-delay:630ms}
[data-reveal]:nth-child(9){transition-delay:720ms}
[data-reveal]:nth-child(10){transition-delay:810ms}
[data-reveal]:nth-child(n+11){transition-delay:900ms}

/* ─────────────────────────────────────────────
   HERO LOAD ANIMATIONS — cascata na primeira pintura
   ───────────────────────────────────────────── */
.hero-tag,.hero h1,.hero-sub,.hero-btns,.hero-badges,.hero-visual{opacity:0;animation:heroIn 900ms var(--ease-out-strong) forwards;will-change:opacity,transform}
.hero-tag{transform:translateY(20px);animation-delay:120ms}
.hero h1{transform:translateY(36px);animation-delay:240ms}
.hero-sub{transform:translateY(28px);animation-delay:420ms}
.hero-btns{transform:translateY(24px);animation-delay:580ms}
.hero-badges{transform:translateY(20px);animation-delay:720ms}
.hero-visual{transform:translateX(48px) scale(0.96);animation:heroInRight 1100ms var(--ease-out-strong) forwards;animation-delay:380ms}

@keyframes heroIn{
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroInRight{
  to{opacity:1;transform:translateX(0) scale(1)}
}

/* Círculos decorativos — rotação lenta, vida sem distração */
.hero-circle:nth-child(1){animation:orbit 80s linear infinite}
.hero-circle:nth-child(2){animation:orbit 110s linear infinite reverse}
.hero-circle:nth-child(3){animation:orbit 60s linear infinite}
@keyframes orbit{
  to{transform:rotate(360deg)}
}

/* Pilar items dentro do hero card — entrada escalonada */
.hero-card .pilar-item{opacity:0;transform:translateX(20px);animation:pilarIn 600ms var(--ease-out-strong) forwards}
.hero-card .pilar-item:nth-child(2){animation-delay:780ms}
.hero-card .pilar-item:nth-child(3){animation-delay:880ms}
.hero-card .pilar-item:nth-child(4){animation-delay:980ms}
.hero-card .pilar-item:nth-child(5){animation-delay:1080ms}
.hero-card .hero-stats{opacity:0;transform:translateY(20px);animation:heroIn 700ms var(--ease-out-strong) forwards;animation-delay:1200ms}
@keyframes pilarIn{
  to{opacity:1;transform:translateX(0)}
}

/* ─────────────────────────────────────────────
   HOVER LIFTS — mais pronunciados, com sombra cinematográfica
   ───────────────────────────────────────────── */
@media (hover: hover) and (pointer: fine){
  .esp-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 18px 48px rgba(15,36,56,.14);border-color:var(--ouro)}
  .prof-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 16px 40px rgba(15,36,56,.12);border-color:var(--ouro)}
  .pilar-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 18px 44px rgba(15,36,56,.1)}
  .pq-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 18px 44px rgba(15,36,56,.1)}
  .sinal-card:hover{background:rgba(255,255,255,.1);border-color:rgba(191,164,104,.4);transform:translateY(-4px) scale(1.01)}
}

/* Quote block — will-change para o reveal */
.metod-quote{will-change:opacity,transform}

/* ─── PREFERS-REDUCED-MOTION ─── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:120ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
  html{scroll-behavior:auto}
  [data-reveal]{transform:none!important;opacity:1!important}
  [data-reveal].in-view{transform:none!important;opacity:1!important}
  .hero-tag,.hero h1,.hero-sub,.hero-btns,.hero-badges,.hero-visual,.hero-card .pilar-item,.hero-card .hero-stats{opacity:1!important;transform:none!important;animation:none!important}
  .hero-circle{animation:none!important}
  .btn-primary:hover,.btn-ghost:hover,.esp-card:hover,.prof-card:hover,.sinal-card:hover,.pilar-card:hover,.pq-card:hover{transform:none!important}
}

/* ─── RESPONSIVO ─── */
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;gap:40px;text-align:center}
  .hero h1{font-size:38px}
  .hero-visual{display:none}
  .hero-btns{justify-content:center}
  .hero-badges{justify-content:center}
  .diferencial-inner{grid-template-columns:1fr}
  .diferencial-items{grid-template-columns:1fr 1fr}
  .metod-grid{grid-template-columns:1fr}
  .pilares-grid{grid-template-columns:1fr 1fr}
  .sinais-grid{grid-template-columns:1fr 1fr}
  .esp-grid{grid-template-columns:1fr 1fr}
  .prof-grid{grid-template-columns:1fr 1fr}
  .integrada-grid{grid-template-columns:1fr}
  .rc-detalhes{grid-template-columns:1fr}
  .podcast-inner{grid-template-columns:1fr}
  .pq-grid{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
  .section-title{font-size:32px}
  .site-nav .nav-links{display:none}
  .nav-mobile-btn{display:block}
}
@media(max-width:600px){
  .esp-grid{grid-template-columns:1fr}
  .prof-grid{grid-template-columns:1fr}
  .pilares-grid{grid-template-columns:1fr}
  .sinais-grid{grid-template-columns:1fr}
  .pq-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .hero h1{font-size:32px}
  section{padding:64px 20px}
}
/* ═══════════════════════════════════════════════
   COMPONENTES MULTI-PÁGINA
   ═══════════════════════════════════════════════ */

/* Nav active state */
.nav-links a.is-active{color:var(--ouro-cl)}
.nav-links a.is-active::after{content:'';display:block;height:2px;background:var(--ouro);margin-top:4px;border-radius:2px}

/* Breadcrumbs — fundem visualmente com o page-hero (mesma cor) */
.breadcrumbs{background:var(--azul-esc);padding:96px 24px 16px;font-size:13px;color:rgba(255,255,255,.55);margin:0;position:relative}
.breadcrumbs ol{max-width:1200px;margin:0 auto;list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.breadcrumbs li{display:flex;align-items:center;gap:8px}
.breadcrumbs li:not(:last-child)::after{content:'›';color:var(--ouro);font-weight:700}
.breadcrumbs a{color:rgba(255,255,255,.55);text-decoration:none;transition:color 120ms ease}
.breadcrumbs a:hover{color:var(--ouro-cl)}
.breadcrumbs [aria-current="page"]{color:var(--ouro-cl);font-weight:600}

/* Sub-hero (páginas internas) */
.page-hero{background:var(--azul-esc);position:relative;overflow:hidden;padding:56px 24px 88px}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 70% 50%, rgba(100,194,200,.08) 0%, transparent 70%)}
.page-hero-inner{max-width:1000px;margin:0 auto;position:relative;z-index:1;text-align:center}
.page-hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(191,164,104,.12);border:1px solid rgba(191,164,104,.25);color:var(--ouro-cl);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:20px}
.page-hero-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--ouro)}
.page-hero h1{font-family:'Playfair Display',serif;font-size:54px;font-weight:700;color:#fff;line-height:1.1;margin-bottom:18px}
.page-hero h1 em{color:var(--ouro-cl);font-style:italic}
.page-hero-sub{font-size:18px;color:rgba(255,255,255,.7);line-height:1.7;max-width:680px;margin:0 auto}
@media(max-width:900px){
  .page-hero{padding:40px 24px 64px}
  .page-hero h1{font-size:38px}
}

/* Faixa "next-step" — call to action no fim de cada página */
.next-step{background:linear-gradient(135deg,#0F2438,#1A3D59);padding:80px 24px;text-align:center}
.next-step-title{font-family:'Playfair Display',serif;font-size:36px;color:#fff;margin-bottom:14px;line-height:1.2}
.next-step-title em{color:var(--ouro-cl);font-style:italic}
.next-step p{color:rgba(255,255,255,.6);max-width:520px;margin:0 auto 28px;font-size:16px;line-height:1.7}
.next-step-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Conteúdo "long-form" — para páginas com texto extenso */
.prose{max-width:760px;margin:0 auto}
.prose p{font-size:17px;color:var(--texto);line-height:1.85;margin-bottom:20px}
.prose h2{font-family:'Playfair Display',serif;font-size:32px;color:var(--azul);margin-top:48px;margin-bottom:16px;line-height:1.2}
.prose h3{font-size:20px;color:var(--azul);margin-top:32px;margin-bottom:12px;font-weight:700}
.prose ul,.prose ol{margin:16px 0 24px;padding-left:24px}
.prose li{font-size:16px;color:var(--texto);line-height:1.8;margin-bottom:8px}
.prose strong{color:var(--azul);font-weight:600}
.prose blockquote{border-left:3px solid var(--ouro);padding-left:20px;margin:24px 0;font-family:'Playfair Display',serif;font-size:20px;font-style:italic;color:var(--azul);line-height:1.5}

/* FAQ */
.faq{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid rgba(0,0,0,.08);padding:20px 0}
.faq-item:first-child{border-top:1px solid rgba(0,0,0,.08)}
.faq-item summary{cursor:pointer;font-size:17px;font-weight:600;color:var(--azul);display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:24px;font-weight:300;color:var(--ouro);transition:transform 200ms var(--ease-out)}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item-body{padding-top:14px;font-size:15px;color:var(--cinza);line-height:1.75}

/* Sinais expandidos (página /sinais-de-alerta) */
.sinal-detail{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:18px;padding:32px;margin-bottom:20px;display:grid;grid-template-columns:64px 1fr;gap:24px;transition:border-color 200ms ease, transform 200ms var(--ease-out), box-shadow 200ms ease}
@media (hover: hover) and (pointer: fine){
  .sinal-detail:hover{border-color:var(--ouro);transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.06)}
}
.sinal-detail-icon{font-size:40px;line-height:1}
.sinal-detail h3{font-size:22px;color:var(--azul);margin-bottom:10px}
.sinal-detail p{color:var(--cinza);line-height:1.75;margin-bottom:10px}
.sinal-detail .sinal-action{color:var(--ouro);font-weight:600;font-size:14px;text-decoration:none}
.sinal-detail .sinal-action:hover{text-decoration:underline}
@media(max-width:600px){
  .sinal-detail{grid-template-columns:1fr;gap:12px}
}

/* Página /equipa/cristiane-martins */
.bio-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px;max-width:1100px;margin:0 auto;align-items:start}
.bio-photo{background:var(--azul-esc);border-radius:24px;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:72px;color:var(--ouro-cl);position:sticky;top:96px}
.bio-content h2{font-family:'Playfair Display',serif;font-size:30px;color:var(--azul);margin-top:40px;margin-bottom:14px}
.bio-content h2:first-child{margin-top:0}
.bio-credentials{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.bio-credential{font-size:12px;padding:5px 12px;border-radius:100px;background:var(--azul-bg);color:var(--azul);font-weight:600}
.bio-credential.rc{background:var(--teal-bg);color:#0F6E56}
@media(max-width:900px){
  .bio-grid{grid-template-columns:1fr;gap:32px}
  .bio-photo{position:static;aspect-ratio:1;max-width:240px}
}

/* Form de contacto (página /marcar-consulta) */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1100px;margin:0 auto}
.contact-form{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:20px;padding:32px}
.contact-form label{display:block;font-size:13px;font-weight:600;color:var(--azul);margin-bottom:6px;margin-top:14px}
.contact-form label:first-child{margin-top:0}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;font-family:inherit;font-size:15px;color:var(--texto);transition:border-color 120ms ease}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--ouro)}
.contact-form textarea{resize:vertical;min-height:96px}
.contact-form button{margin-top:20px;width:100%}
.contact-info-block{background:var(--azul-esc);border-radius:20px;padding:32px;color:#fff}
.contact-info-block h3{color:#fff;font-size:20px;margin-bottom:20px;font-family:'Playfair Display',serif}
.contact-info-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);align-items:flex-start}
.contact-info-item:last-child{border:none}
.contact-info-item-icon{font-size:18px;flex-shrink:0;margin-top:2px}
.contact-info-item-label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ouro-cl);font-weight:600;margin-bottom:2px}
.contact-info-item-value{font-size:14px;color:rgba(255,255,255,.85);line-height:1.5}
.contact-info-item-value a{color:#fff;text-decoration:none}
.contact-info-item-value a:hover{color:var(--ouro-cl)}
.contact-map{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:20px;margin-top:20px;text-align:center;font-size:13px;color:rgba(255,255,255,.6)}
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr}
}

/* Highlight box (para destacar diferencial em cada página) */
.highlight-box{background:var(--teal-bg);border:1px solid rgba(100,194,200,.3);border-radius:20px;padding:32px;margin:32px 0;max-width:760px;margin-left:auto;margin-right:auto}
.highlight-box-tag{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#0F6E56;margin-bottom:10px}
.highlight-box p{font-size:16px;color:var(--azul);line-height:1.7;margin:0}
.highlight-box p strong{color:#0F6E56}

/* ═══════════════════════════════════════════════
   SUPORTE A IMAGENS — avatars dos profissionais
   ═══════════════════════════════════════════════ */

/* prof-avatar agora suporta <img> sobreposta às iniciais.
   Quando há imagem, cobre as iniciais com object-fit:cover.
   Se falhar (data-fallback), revelamos as iniciais por baixo. */
.prof-avatar{overflow:hidden;position:relative;isolation:isolate}
.prof-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;display:block;transition:opacity 200ms ease}
.prof-avatar img[data-failed]{display:none}
.prof-avatar-fallback{position:relative;z-index:0}

/* bio-photo na página da Dra. Cristiane */
.bio-photo{overflow:hidden;position:relative;isolation:isolate;color:var(--ouro-cl)}
.bio-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;display:block}
.bio-photo img[data-failed]{display:none}
.bio-photo-fallback{position:relative;z-index:0}

/* podcast-host-av também suporta imagem */
.podcast-host-av{overflow:hidden;position:relative;isolation:isolate}
.podcast-host-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;display:block}
.podcast-host-av img[data-failed]{display:none}

/* Imagem decorativa no hero — opcional, para a homepage */
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0.18;mix-blend-mode:luminosity;pointer-events:none}

/* ═══════════════════════════════════════════════
   PROF-CARD REDESIGN — foto em destaque no topo
   Aspect ratio 4:5 (portrait), full-bleed, com fallback elegante
   ═══════════════════════════════════════════════ */

/* Override do prof-card original: padding zero (foto full-bleed) */
.prof-card{padding:0!important;overflow:hidden}

/* Container da foto — full-width, aspect 4:5, fallback elegante por trás */
.prof-photo{width:100%;aspect-ratio:4/5;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--azul),var(--azul-esc));isolation:isolate}
.prof-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;display:block;transition:transform 600ms var(--ease-out)}
.prof-photo img[data-failed]{display:none}
.prof-photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:78px;font-style:italic;font-weight:400;color:var(--ouro-cl);z-index:0;letter-spacing:-2px}

/* Hover: leve zoom da foto */
@media (hover: hover) and (pointer: fine){
  .prof-card:hover .prof-photo img{transform:scale(1.05)}
}

/* Conteúdo de texto por baixo da foto */
.prof-content{padding:22px 24px 24px}
.prof-content .prof-card-name{margin-top:0;margin-bottom:6px}
.prof-content .prof-card-esp{margin-bottom:12px}

/* Variante founder: layout horizontal com foto grande à esquerda */
.prof-card.is-founder{display:grid;grid-template-columns:280px 1fr;gap:0}
.prof-card.is-founder .prof-photo{aspect-ratio:4/5;height:100%}
.prof-card.is-founder .prof-content{padding:32px 36px;display:flex;flex-direction:column;justify-content:center}
.prof-card.is-founder .prof-content .prof-card-name{font-size:24px}
.prof-card.is-founder .prof-content .prof-card-esp{font-size:13px}
@media(max-width:700px){
  .prof-card.is-founder{grid-template-columns:1fr}
  .prof-card.is-founder .prof-photo{aspect-ratio:4/3}
}

/* ═══════════════════════════════════════════════
   PÁGINA /A-CLINICA/ — espaços e tecnologia
   ═══════════════════════════════════════════════ */

/* Grid de espaços — 3 colunas com fotos */
.espacos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.espacos-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.espacos-grid{grid-template-columns:1fr}}

.espaco-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,.06);transition:transform 200ms var(--ease-out), box-shadow 200ms ease;will-change:transform}
@media (hover: hover) and (pointer: fine){
  .espaco-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(15,36,56,.1)}
  .espaco-card:hover .espaco-photo img{transform:scale(1.05)}
}
.espaco-photo{aspect-ratio:4/3;overflow:hidden;background:var(--azul-esc)}
.espaco-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 600ms var(--ease-out)}
.espaco-content{padding:20px 24px 24px}
.espaco-content h3{font-size:17px;color:var(--azul);margin-bottom:8px;font-weight:700}
.espaco-content p{font-size:14px;color:var(--cinza);line-height:1.7;margin:0}

/* Grid de tecnologia — 4 colunas em desktop, dark cards */
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1200px;margin:0 auto}
@media(max-width:1000px){.tech-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tech-grid{grid-template-columns:1fr}}

.tech-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:24px;transition:background-color 200ms ease, border-color 200ms ease, transform 200ms var(--ease-out)}
@media (hover: hover) and (pointer: fine){
  .tech-card:hover{background:rgba(255,255,255,.08);border-color:rgba(191,164,104,.3);transform:translateY(-3px)}
}
.tech-icon{font-size:32px;margin-bottom:12px}
.tech-card h3{font-size:15px;color:#fff;margin-bottom:8px;font-weight:600}
.tech-card p{font-size:13px;color:rgba(255,255,255,.55);line-height:1.6;margin:0}

/* Teaser de "Espaço & Tecnologia" na homepage */
.espaco-teaser{background:linear-gradient(135deg,#F4F7F9 0%, #FAFAF9 100%);padding:96px 24px}
.espaco-teaser-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.espaco-teaser-photo{aspect-ratio:4/3;border-radius:20px;overflow:hidden}
.espaco-teaser-photo img{width:100%;height:100%;object-fit:cover;display:block}
.espaco-teaser-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;margin-bottom:28px}
.espaco-teaser-point{background:#fff;border-radius:10px;padding:14px 16px;border:1px solid rgba(0,0,0,.05)}
.espaco-teaser-point-icon{font-size:20px;margin-bottom:4px}
.espaco-teaser-point-text{font-size:13px;color:var(--azul);font-weight:600;line-height:1.35}
@media(max-width:900px){
  .espaco-teaser-inner{grid-template-columns:1fr;gap:32px}
}

/* ═══════════════════════════════════════════════
   BLOG — hub, listagem e artigo individual
   ═══════════════════════════════════════════════ */

/* Hub do blog: grid de artigos */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1200px;margin:0 auto}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}

.blog-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid rgba(0,0,0,.06);transition:transform 200ms var(--ease-out), box-shadow 200ms ease;will-change:transform;text-decoration:none;display:block}
@media (hover: hover) and (pointer: fine){
  .blog-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(15,36,56,.1)}
  .blog-card:hover .blog-card-photo img{transform:scale(1.05)}
}
.blog-card-photo{aspect-ratio:16/9;overflow:hidden;background:var(--azul-esc);position:relative}
.blog-card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 600ms var(--ease-out)}
.blog-card-photo .blog-card-category{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.95);color:var(--azul);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:5px 12px;border-radius:100px;z-index:2}
.blog-card-content{padding:22px 24px 24px}
.blog-card-content h3{font-size:18px;color:var(--azul);line-height:1.3;margin:0 0 10px;font-family:'Playfair Display',serif;font-weight:700}
.blog-card-excerpt{font-size:14px;color:var(--cinza);line-height:1.65;margin:0 0 14px}
.blog-card-meta{font-size:12px;color:var(--cinza);display:flex;gap:8px;align-items:center}
.blog-card-meta-author{color:var(--azul);font-weight:600}
.blog-card-meta-sep{opacity:0.4}

/* Artigo individual */
.article-header{background:var(--azul-esc);padding:56px 24px 88px;position:relative;overflow:hidden}
.article-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 70% 50%, rgba(100,194,200,.08) 0%, transparent 70%)}
.article-header-inner{max-width:820px;margin:0 auto;position:relative;z-index:2}
.article-category{display:inline-block;background:rgba(191,164,104,.12);border:1px solid rgba(191,164,104,.25);color:var(--ouro-cl);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:20px}
.article-title{font-family:'Playfair Display',serif;font-size:46px;font-weight:700;color:#fff;line-height:1.15;margin-bottom:20px}
.article-title em{color:var(--ouro-cl);font-style:italic}
.article-excerpt{font-size:18px;color:rgba(255,255,255,.75);line-height:1.65;margin-bottom:28px}
.article-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.article-meta-author{display:flex;align-items:center;gap:10px}
.article-meta-author-photo{width:42px;height:42px;border-radius:50%;overflow:hidden;background:var(--azul);position:relative}
.article-meta-author-photo img{width:100%;height:100%;object-fit:cover;display:block}
.article-meta-author-info{display:flex;flex-direction:column}
.article-meta-author-name{font-size:14px;color:#fff;font-weight:600}
.article-meta-author-role{font-size:12px;color:rgba(255,255,255,.55)}
.article-meta-divider{color:rgba(255,255,255,.25);font-size:18px}
.article-meta-date{font-size:13px;color:rgba(255,255,255,.55)}
.article-meta-reading{font-size:13px;color:rgba(255,255,255,.55)}
@media(max-width:700px){
  .article-title{font-size:32px}
}

/* Hero variant — quando há cover_image: foto full-bleed + overlay + texto sobreposto */
.article-header--hero{padding:0;min-height:560px;display:flex;align-items:flex-end;background:var(--azul-esc)}
.article-header--hero::before{background:linear-gradient(180deg,rgba(15,36,56,.18) 0%,rgba(15,36,56,.55) 45%,rgba(15,36,56,.92) 100%);z-index:1}
.article-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.article-header--hero .article-header-inner{padding:120px 24px 64px;width:100%}
.article-header--hero .article-title{text-shadow:0 2px 14px rgba(0,0,0,.35)}
.article-header--hero .article-excerpt{color:rgba(255,255,255,.92);text-shadow:0 1px 8px rgba(0,0,0,.3)}
.article-header--hero .article-meta-author-name,
.article-header--hero .article-meta-date,
.article-header--hero .article-meta-reading{text-shadow:0 1px 6px rgba(0,0,0,.4)}
@media(max-width:700px){
  .article-header--hero{min-height:460px}
  .article-header--hero .article-header-inner{padding:96px 22px 44px}
}

/* Featured image — apenas usado quando NÃO há hero overlay */
.article-featured{max-width:1000px;margin:-60px auto 0;padding:0 24px}
.article-featured img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:20px;display:block;box-shadow:0 30px 60px rgba(15,36,56,.18)}

/* Article body — extends .prose with extra spacing */
.article-body{max-width:760px;margin:0 auto;padding:64px 24px 0}
.article-body h2{font-family:'Playfair Display',serif;font-size:30px;color:var(--azul);margin-top:48px;margin-bottom:18px;line-height:1.2}
.article-body h3{font-size:22px;color:var(--azul);margin-top:36px;margin-bottom:14px;font-weight:700}
.article-body p{font-size:17px;color:var(--texto);line-height:1.85;margin-bottom:20px}
.article-body ul,.article-body ol{margin:16px 0 28px;padding-left:24px}
.article-body li{font-size:16px;color:var(--texto);line-height:1.8;margin-bottom:10px}
.article-body strong{color:var(--azul);font-weight:600}
.article-body em{font-style:italic}
.article-body blockquote{border-left:3px solid var(--ouro);padding-left:20px;margin:32px 0;font-family:'Playfair Display',serif;font-size:22px;font-style:italic;color:var(--azul);line-height:1.5}
.article-body a{color:var(--ouro);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.article-body a:hover{color:var(--azul)}

/* Box "On this page" — TOC sticky */
.article-toc{background:#F4F7F9;border-left:3px solid var(--ouro);padding:18px 22px;margin:32px 0;border-radius:0 12px 12px 0}
.article-toc-title{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ouro);margin-bottom:10px}
.article-toc ul{list-style:none;padding:0;margin:0}
.article-toc li{margin-bottom:6px;font-size:14px}
.article-toc a{color:var(--azul);text-decoration:none;border:none}
.article-toc a:hover{text-decoration:underline}

/* Author bio at end of article */
.article-author-bio{max-width:760px;margin:64px auto 0;padding:32px;background:#F4F7F9;border-radius:18px;display:grid;grid-template-columns:80px 1fr;gap:20px;align-items:start}
.article-author-bio-photo{width:80px;height:80px;border-radius:50%;overflow:hidden;background:var(--azul)}
.article-author-bio-photo img{width:100%;height:100%;object-fit:cover}
.article-author-bio h4{font-size:16px;color:var(--azul);margin-bottom:6px}
.article-author-bio-role{font-size:13px;color:var(--ouro);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:10px}
.article-author-bio p{font-size:14px;color:var(--cinza);line-height:1.6;margin-bottom:10px}
.article-author-bio a{font-size:13px;color:var(--ouro);font-weight:600;text-decoration:none}
@media(max-width:600px){
  .article-author-bio{grid-template-columns:1fr;text-align:center}
  .article-author-bio-photo{margin:0 auto}
}

/* Related articles */
.article-related{max-width:1200px;margin:64px auto 0;padding:0 24px}
.article-related h3{font-family:'Playfair Display',serif;font-size:26px;color:var(--azul);text-align:center;margin-bottom:32px}
