/* ===== Tokens ===== */
:root{
  --bg:#fbfdfd; --fg:#1a2a30; --card:#fff; --muted:#5d7a82;
  --border:#dde6e9; --secondary:#eef5f6;
  --primary:#206872; --primary-fg:#fbfdfd; --primary-glow:#3a9aa6;
  --radius:1rem;
  --shadow-card:0 8px 30px -12px rgba(32,104,114,.18);
  --shadow-elegant:0 20px 60px -20px rgba(32,104,114,.35);
  --gradient-hero:linear-gradient(135deg,#206872 0%,#3a9aa6 100%);
  --gradient-soft:linear-gradient(180deg,#fbfdfd 0%,#eaf3f4 100%);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--fg);line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',sans-serif;letter-spacing:-.02em;font-weight:600}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
img{display:block;max-width:100%}
ul{list-style:none}
[hidden]{
  display:none !important;
}

.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.center{text-align:center}
.muted{color:var(--muted)}
.ico{display:inline-flex;width:1em;height:1em;align-items:center;justify-content:center}
.ico svg{width:100%;height:100%}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:9999px;font-size:.875rem;font-weight:600;transition:transform .2s,background .2s,color .2s;line-height:1}
.btn .ico{width:1rem;height:1rem}
.btn-primary{background:var(--primary);color:var(--primary-fg);box-shadow:var(--shadow-card)}
.btn-primary:hover{transform:scale(1.03)}
.btn-outline{background:var(--card);color:var(--fg);border:1px solid var(--border)}
.btn-outline:hover{background:var(--secondary)}
.btn-white{background:var(--card);color:var(--primary);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.btn-white:hover{transform:scale(1.03)}
.btn-lg{padding:.9rem 1.5rem;font-size:.9rem}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,253,253,.85);backdrop-filter:blur(12px);border-bottom:1px solid rgba(221,230,233,.6)}
.nav{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem}
.brand{display:inline-flex}
.logo{height:3rem;width:auto}
.nav-links{display:none;align-items:center;gap:1.75rem}
.nav-link{font-size:.875rem;font-weight:500;color:var(--muted);transition:color .2s}
.nav-link:hover{color:var(--primary)}
.nav-toggle{padding:.5rem;color:var(--fg)}
.nav-toggle .ico{width:1.25rem;height:1.25rem}
.mobile-menu{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.25rem;border-top:1px solid var(--border);background:var(--bg)}
.m-link{padding:.625rem .75rem;border-radius:.5rem;text-align:left;font-size:.875rem;font-weight:500;color:var(--fg)}
.m-link:hover{background:var(--secondary)}
.mobile-menu .btn{margin-top:.5rem;justify-content:center}
@media(min-width:768px){
  .nav-links{display:flex}
  .nav-toggle{display:none}
  .mobile-menu{display:none!important}
}

/* ===== Hero ===== */
.hero{position:relative;overflow:hidden;background:var(--gradient-soft)}
.hero-inner{max-width:1200px;margin:0 auto;padding:3.5rem 1.5rem;display:grid;gap:2.5rem;align-items:center}
@media(min-width:960px){.hero-inner{grid-template-columns:1fr 1.2fr;padding:5rem 1.5rem}}
.badge{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(32,104,114,.2);background:rgba(32,104,114,.06);color:var(--primary);font-size:.75rem;font-weight:500;padding:.375rem .875rem;border-radius:9999px}
.pulse{position:relative;display:inline-flex;width:.5rem;height:.5rem}
.pulse::before,.pulse::after{content:"";position:absolute;inset:0;background:var(--primary);border-radius:9999px}
.pulse::before{animation:ping 1.5s cubic-bezier(0,0,.2,1) infinite;opacity:.6}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}
.hero h1{margin-top:1.5rem;font-size:clamp(2.25rem,5vw,3.75rem);line-height:1.05;font-weight:600}
.accent{color:var(--primary)}
.lead{margin-top:1.25rem;font-size:1.0625rem;color:var(--muted);max-width:36rem;line-height:1.65}
.cta-row{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.75rem}
.stats{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;border-top:1px solid rgba(221,230,233,.6);padding-top:1.75rem}
.stats dt{font-family:'Montserrat',sans-serif;font-size:1.875rem;font-weight:600;color:var(--primary)}
.stats dd{margin-top:.25rem;font-size:.75rem;color:var(--muted)}

/* ===== Slider ===== */
.slider{position:relative;border-radius:2rem;overflow:hidden;box-shadow:var(--shadow-elegant);background:var(--secondary)}
.slides{position:relative;aspect-ratio:5/2;width:100%}
.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}
.slide.active{opacity:1}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);border-radius:9999px;padding:.5rem;backdrop-filter:blur(4px);width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center}
.slider-btn svg{width:1.25rem;height:1.25rem}
.slider-btn:hover{background:#fff}
.slider-btn.prev{left:.75rem}.slider-btn.next{right:.75rem}
.dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem}
.dot{width:.5rem;height:.5rem;border-radius:9999px;background:rgba(255,255,255,.8);transition:all .3s}
.dot.active{width:2rem;background:var(--primary)}

/* ===== Sobre ===== */
.sobre{border-top:1px solid rgba(221,230,233,.6);background:rgba(238,245,246,.4);padding:6rem 0}
.sobre-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:grid;gap:3rem;align-items:start}
@media(min-width:960px){.sobre-inner{grid-template-columns:1fr 1.2fr}.sobre-aside{position:sticky;top:7rem}}
.sobre h2{font-size:clamp(1.875rem,3vw,2.25rem);line-height:1.2}
.sobre-img{margin-top:2rem;width:100%;border-radius:1.5rem;object-fit:cover;box-shadow:var(--shadow-card)}
.quote{margin-top:1.5rem;font-style:italic;color:var(--muted)}
.quote span{font-style:normal}
.sobre-text{display:flex;flex-direction:column;gap:1.25rem;color:var(--muted);font-size:1rem;line-height:1.7}

/* ===== Exames ===== */
.exames{padding:6rem 0}
.exames-head{display:flex;flex-direction:column;gap:1.5rem;justify-content:space-between;align-items:flex-start}
.exames-head h2{font-size:clamp(1.875rem,4vw,3rem);max-width:36rem;line-height:1.15}
.exames-head p{max-width:28rem;color:var(--muted);font-size:.875rem;line-height:1.65}
@media(min-width:768px){.exames-head{flex-direction:row;align-items:flex-end}}
.exam-grid{margin-top:3rem;display:grid;gap:1.5rem}
@media(min-width:768px){.exam-grid{grid-template-columns:1fr 1fr}}
.exam-card{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:1.5rem;box-shadow:var(--shadow-card);transition:transform .5s,box-shadow .5s}
.exam-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant)}
.exam-head{display:flex;align-items:center;gap:.75rem}
.exam-icon{width:3rem;height:3rem;border-radius:1rem;background:rgba(32,104,114,.1);color:var(--primary);display:inline-flex;align-items:center;justify-content:center}
.exam-icon svg{width:1.5rem;height:1.5rem}
.exam-head h3{font-family:'Montserrat',sans-serif;font-size:1.5rem;font-weight:600}
.exam-list{margin-top:1.25rem;display:grid;gap:.5rem}
@media(min-width:640px){.exam-list{grid-template-columns:1fr 1fr}}
.exam-list li{display:flex;gap:.5rem;font-size:.875rem;color:var(--muted)}
.icon-check{flex-shrink:0;width:1rem;height:1rem;color:var(--primary);margin-top:.15rem}
.icon-check svg{width:100%;height:100%}

/* ===== Corpo Clinico ===== */
.corpo{border-top:1px solid rgba(221,230,233,.6);background:rgba(238,245,246,.4);padding:6rem 0}
.corpo-head{display:grid;gap:3rem;align-items:center}
@media(min-width:960px){.corpo-head{grid-template-columns:1fr 1fr}}
.corpo-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1.5rem;box-shadow:var(--shadow-card)}
.corpo h2{font-size:clamp(1.875rem,4vw,3rem);line-height:1.15}
.corpo p{margin-top:1.25rem;color:var(--muted);line-height:1.65}
.med-grid{margin-top:3.5rem;display:grid;gap:.75rem;grid-template-columns:1fr}
@media(min-width:640px){.med-grid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.med-grid{grid-template-columns:repeat(3,1fr)}}
.med-card{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;transition:transform .3s,border-color .3s,box-shadow .3s}
.med-card:hover{transform:translateY(-2px);border-color:rgba(32,104,114,.3);box-shadow:var(--shadow-card)}
.med-card h3{font-family:'Montserrat',sans-serif;font-size:1rem;line-height:1.2}
.med-crm{margin-top:.25rem;font-size:.75rem;font-weight:500;color:var(--primary)}
.med-esp{margin-top:.5rem;font-size:.875rem;color:var(--muted)}

/* ===== Convenios ===== */
.convenios{padding:6rem 0}
.convenios h2{font-size:clamp(1.875rem,4vw,3rem);max-width:36rem;margin:0 auto;line-height:1.15}
.conv-grid{margin-top:3rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr)}
@media(min-width:640px){.conv-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:768px){.conv-grid{grid-template-columns:repeat(6,1fr)}}
@media(min-width:1024px){.conv-grid{grid-template-columns:repeat(8,1fr)}}
.conv-card{height:7rem;background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;transition:border-color .2s,background .2s}
.conv-card:hover{border-color:rgba(32,104,114,.4);background:rgba(32,104,114,.05)}
.conv-logo{height:3rem;width:100%;display:flex;align-items:center;justify-content:center}
.conv-logo img{height:3rem;width:3rem;object-fit:contain;border-radius:.5rem}
.conv-fallback{width:3rem;height:3rem;border-radius:.5rem;background:var(--secondary);color:var(--primary);font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}
.conv-name{font-size:.6875rem;font-weight:500;color:rgba(26,42,48,.7);text-align:center;line-height:1.2}

/* ===== Resultado CTA ===== */
.resultado-cta{padding:3rem 1.5rem}
.resultado-inner{max-width:1200px;margin:0 auto;background:var(--gradient-hero);border-radius:2rem;padding:2.5rem;color:var(--primary-fg);display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;justify-content:space-between}
@media(min-width:768px){.resultado-inner{flex-direction:row;align-items:center;padding:3.5rem}}
.resultado-cta h3{font-family:'Montserrat',sans-serif;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600}
.resultado-cta p{margin-top:.5rem;font-size:.875rem;opacity:.9;max-width:36rem}

/* ===== Contato ===== */
.contato{border-top:1px solid rgba(221,230,233,.6);background:rgba(238,245,246,.4);padding:6rem 0}
.contato h2{font-size:clamp(1.875rem,4vw,3rem);max-width:36rem;margin:0 auto;line-height:1.15}
.contato>.container>.center>p{margin-top:1rem;max-width:30rem;margin-left:auto;margin-right:auto}
.unidades{margin-top:3.5rem;display:grid;gap:1.5rem}
@media(min-width:768px){.unidades{grid-template-columns:repeat(3,1fr)}}
.unidade-card{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:2rem;box-shadow:var(--shadow-card);transition:transform .3s,box-shadow .3s;display:block}
.unidade-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant)}
.u-top{display:flex;justify-content:space-between;align-items:flex-start}
.u-pin{width:3rem;height:3rem;border-radius:1rem;background:rgba(32,104,114,.1);color:var(--primary);display:flex;align-items:center;justify-content:center}
.u-pin svg{width:1.25rem;height:1.25rem}
.u-arrow{color:var(--muted);transition:transform .2s,color .2s;width:1.25rem;height:1.25rem;display:inline-flex}
.u-arrow svg{width:100%;height:100%}
.unidade-card:hover .u-arrow{transform:translateX(4px);color:var(--primary)}
.unidade-card h3{margin-top:1.5rem;font-family:'Montserrat',sans-serif;font-size:1.5rem;font-weight:600}
.u-row{margin-top:.625rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted)}
.u-hours{align-items:flex-start}
.u-i{color:var(--primary);width:1rem;height:1rem;display:inline-flex;flex-shrink:0}
.u-i svg{width:100%;height:100%}
.u-row strong{color:var(--fg);font-weight:500}
.u-pre{white-space:pre-line}

/* ===== Footer ===== */
.site-footer{border-top:1px solid rgba(221,230,233,.6);background:var(--bg);padding:3rem 0}
.footer-top{display:flex;flex-direction:column;gap:2rem;justify-content:space-between;align-items:flex-start}
@media(min-width:768px){.footer-top{flex-direction:row;align-items:center}}
.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.875rem;color:var(--muted)}
.footer-links a:hover,.footer-links button:hover{color:var(--primary)}
.footer-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(221,230,233,.6);display:flex;flex-direction:column;gap:.5rem;font-size:.75rem;color:var(--muted)}
@media(min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}}

/* ===== Whats float ===== */
.whats-float{position:fixed;bottom:5.5rem;right:1.5rem;z-index:50;background:#25D366;color:#fff;border-radius:9999px;padding:.875rem 1rem;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 12px 30px -8px rgba(37,211,102,.6);transition:transform .2s}
.whats-float:hover{transform:scale(1.05)}
.whats-float svg{width:1.5rem;height:1.5rem}
.whats-ping{position:absolute;inset:0;border-radius:9999px;background:#25D366;opacity:.4;z-index:-1;animation:ping 1.6s cubic-bezier(0,0,.2,1) infinite}
.whats-label{font-size:.875rem;font-weight:600;display:none}
@media(min-width:640px){.whats-label{display:inline}}

/* ===== LGPD Modal ===== */
.lgpd-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}
.lgpd-backdrop{position:absolute;inset:0;background:rgba(26,42,48,.6);backdrop-filter:blur(4px)}
.lgpd-content{position:relative;z-index:10;max-height:85vh;width:100%;max-width:48rem;overflow:hidden;border-radius:1.5rem;background:var(--card);box-shadow:var(--shadow-elegant);display:flex;flex-direction:column}
.lgpd-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:1rem 1.5rem}
.lgpd-head h2{font-size:1.25rem;font-weight:600}
.lgpd-head button{padding:.5rem;border-radius:.375rem}
.lgpd-head button:hover{background:var(--secondary)}
.lgpd-head svg{width:1.25rem;height:1.25rem}
.lgpd-body{padding:1.5rem;overflow-y:auto;font-size:.875rem;line-height:1.65;color:var(--muted);display:flex;flex-direction:column;gap:1rem}
.lgpd-body .b{font-weight:600;color:var(--fg)}
.lgpd-body h3{padding-top:.5rem;font-size:1rem;font-weight:600;color:var(--fg)}
.lgpd-body ul{padding-left:1.25rem;display:flex;flex-direction:column;gap:.25rem;list-style:disc}
.lgpd-body a{color:var(--primary);text-decoration:underline}
.lgpd-body .small{font-size:.75rem}
