:root{--brand:#063f78;--brand2:#0a5fa4;--green:#64c453;--ink:#10263e;--muted:#68798c;--soft:#f4f8fc;--line:#e3ebf3;--shadow:0 18px 55px rgba(8,56,105,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{font-family:'DM Sans',sans-serif;color:var(--ink);overflow-x:hidden}a{text-decoration:none}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #edf2f6}.navbar{min-height:92px}.navbar-brand img{width:250px}.nav-link{font-weight:700;color:#31465c!important;padding:30px 11px!important}.btn-brand{border:0;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:800;text-transform:uppercase;padding:13px 23px}.btn-brand:hover{color:#fff}.btn-outline-brand{border:1.5px solid var(--brand);color:var(--brand);border-radius:999px;font-weight:800;text-transform:uppercase;padding:12px 22px}.btn-outline-brand:hover{background:var(--brand);color:#fff}.off-logo{width:210px}.mobile-menu{display:grid}.mobile-menu>a:not(.btn){padding:14px 5px;border-bottom:1px solid var(--line);font-weight:700;color:var(--ink)}
.hero{background:linear-gradient(135deg,#f7fbff,#eef7ff 60%,#f7fff2);overflow:hidden}.hero-row{min-height:610px}.hero h1,.section h2,.page-hero h1,.profile-hero h1{font-size:clamp(2.5rem,5vw,5.4rem);line-height:.94;letter-spacing:-.055em;font-weight:800}.hero p,.lead-soft{color:var(--muted);font-size:1.08rem;line-height:1.75;max-width:720px}.kicker{display:inline-block;color:var(--brand2);font-size:.76rem;font-weight:800;letter-spacing:.13em;margin-bottom:14px}.kicker.light{color:#9ed7ff}.brand-hero,.about-art{background:linear-gradient(135deg,#e9f4ff,#f7fff1);border:1px solid #e3eef5;border-radius:30px;padding:45px;display:flex;flex-direction:column;align-items:center;justify-content:center}.brand-hero{min-height:420px}.brand-hero img,.about-art img{width:min(95%,520px)}.brand-hero span,.about-art strong{margin-top:28px;color:var(--brand);font-weight:800}
.trust-strip{margin-top:-34px;position:relative;z-index:2}.trust-grid{background:#fff;border-radius:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr);padding:23px}.trust-grid>div{display:flex;gap:13px;align-items:center;padding:8px 20px;border-right:1px solid var(--line)}.trust-grid>div:last-child{border:0}.trust-grid i{font-size:1.7rem;color:var(--brand)}.trust-grid span{display:grid}.trust-grid small{font-size:.7rem;color:var(--muted);text-transform:uppercase;font-weight:800}.trust-grid b{color:var(--brand)}
.section{padding:95px 0}.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:38px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:24px}.check-grid span{font-weight:700}.check-grid i{color:var(--green);margin-right:8px}
.service-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px}.service-card>i{width:52px;height:52px;border-radius:16px;background:#eaf5ff;color:var(--brand);display:grid;place-items:center;font-size:1.5rem}.service-card h3{font-size:1.2rem;font-weight:800;margin:20px 0 10px}.service-card p{color:var(--muted);font-size:.9rem}
.doctor-card{height:100%;display:block;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;color:var(--ink)}.doctor-photo{height:285px;background:linear-gradient(160deg,#edf5fb,#dfeaf3);position:relative}.doctor-photo img,.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:top}.doctor-fallback{position:absolute;inset:0;display:none;place-items:center}.no-photo .doctor-fallback{display:grid}.doctor-fallback i{font-size:7rem;color:#a9bfd1}.doctor-copy{padding:20px}.doctor-copy h3{font-size:1.05rem;font-weight:800;color:var(--brand)}.doctor-copy small{color:#8290a0;font-size:.74rem}.doctor-copy p{font-size:.84rem;color:var(--muted);min-height:65px}.doctor-copy span{font-size:.8rem;font-weight:800;color:var(--brand2)}
.specialties-preview{background:linear-gradient(135deg,#063967,#07599a)}.specialty-cloud{display:grid;grid-template-columns:1fr 1fr;gap:10px}.specialty-cloud a{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;padding:13px 16px;font-size:.82rem;font-weight:700;display:flex;justify-content:space-between}.structure-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:15px}.structure-item{min-height:300px;border-radius:22px;background:linear-gradient(135deg,#d8e8f4,#f4f8fb);display:flex;align-items:end;padding:22px}.structure-item b{color:var(--brand);font-size:1.1rem}
.page-hero,.profile-hero{background:linear-gradient(135deg,#063967,#07599a);padding:85px 0;color:#fff}.page-hero p,.profile-hero p{color:rgba(255,255,255,.75)}.filter-wrap{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px}.filter-btn{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--brand);border-radius:999px;padding:9px 14px;font-size:.78rem;font-weight:800}.filter-btn.active{background:var(--brand);color:#fff}.specialty-page-card{height:150px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;color:var(--ink)}.specialty-page-card h3{font-size:1.05rem;font-weight:800;margin:0}
.profile-photo{height:520px;border-radius:28px;background:#e4edf4;position:relative;overflow:hidden}.registry{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:9px 15px;font-size:.82rem;font-weight:800;margin:8px 0 18px}.profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.profile-tags a{border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:999px;padding:8px 12px;font-size:.78rem}
.footer{background:#052e5a;color:#fff;padding:55px 0 25px}.footer-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.13)}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:35px;padding:40px 0}.footer-logo{width:230px;filter:brightness(0) invert(1)}.footer-grid p,.footer-grid a{color:rgba(255,255,255,.68);font-size:.83rem}.footer-grid a{display:block;margin-bottom:6px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;color:rgba(255,255,255,.5);font-size:.75rem}.wa-float{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#14ae55;color:#fff;display:grid;place-items:center;font-size:1.5rem;z-index:1030}.mobile-bar{display:none}
@media(max-width:991px){.navbar{min-height:78px}.navbar-brand img{width:210px}.trust-grid{grid-template-columns:1fr 1fr}.section{padding:75px 0}.section-head{align-items:flex-start;flex-direction:column}.structure-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){body{padding-bottom:65px}.hero h1{font-size:3.3rem}.hero-row{min-height:560px}.trust-grid{grid-template-columns:1fr;padding:15px}.trust-grid>div{border-right:0;border-bottom:1px solid var(--line)}.section{padding:60px 0}.check-grid,.specialty-cloud,.structure-grid,.footer-grid{grid-template-columns:1fr}.doctor-photo{height:250px}.footer-cta{align-items:flex-start;flex-direction:column}.wa-float{display:none}.mobile-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;height:65px;background:#fff;border-top:1px solid var(--line);z-index:1040}.mobile-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--brand);font-size:.68rem;font-weight:800}.profile-photo{height:420px}}


/* ===== V3: imagens reais recuperadas ===== */
.hero-photo-real{
    position:relative;
    min-height:430px;
    border-radius:30px;
    overflow:hidden;
    box-shadow:var(--shadow);
    background:#dce9f4;
}
.hero-photo-real>img{
    width:100%;
    height:100%;
    min-height:430px;
    object-fit:cover;
    object-position:center;
    display:block;
}
.hero-photo-badge{
    position:absolute;
    left:22px;
    right:22px;
    bottom:22px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
    border-radius:18px;
    padding:16px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.hero-photo-badge img{
    width:190px;
    max-width:68%;
}
.hero-photo-badge span{
    font-weight:800;
    color:var(--brand);
    white-space:nowrap;
}
.about-photo-real{
    position:relative;
    min-height:430px;
    border-radius:30px;
    overflow:hidden;
    box-shadow:var(--shadow);
    background:#e8f1f8;
}
.about-photo-real>img{
    width:100%;
    height:100%;
    min-height:430px;
    object-fit:cover;
    object-position:center;
    display:block;
}
.about-caption{
    position:absolute;
    left:22px;
    right:22px;
    bottom:22px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
    border-radius:18px;
    padding:16px 18px;
    display:flex;
    align-items:center;
    gap:16px;
}
.about-caption img{width:170px}
.about-caption strong{color:var(--brand);font-size:.95rem}
@media(max-width:767px){
    .hero-photo-real,.hero-photo-real>img,.about-photo-real,.about-photo-real>img{min-height:320px}
    .hero-photo-badge,.about-caption{left:14px;right:14px;bottom:14px;padding:13px}
    .hero-photo-badge img,.about-caption img{width:145px}
}


/* =========================================================
   V3.1 — CORPO CLÍNICO / FOTOS SEM SERRILHADO
   ========================================================= */
.doctor-card{
    border-radius:24px;
    border:1px solid rgba(6,63,120,.10);
    box-shadow:0 8px 28px rgba(6,63,120,.06);
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.doctor-card:hover{
    transform:translateY(-7px);
    box-shadow:0 22px 55px rgba(6,63,120,.14);
    border-color:rgba(6,63,120,.18);
}

.doctor-photo{
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:4 / 5;
    overflow:hidden;
    background:linear-gradient(145deg,#edf5fa,#d9e8f2);
    isolation:isolate;
}

.doctor-photo img,
.profile-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 28%;
    display:block;

    /* evita artefatos de renderização durante escala */
    image-rendering:auto;
    backface-visibility:hidden;
    transform:translateZ(0);
    -webkit-transform:translateZ(0);
}

.doctor-photo::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:22%;
    background:linear-gradient(to top,rgba(4,42,82,.08),transparent);
    pointer-events:none;
}

.doctor-copy{
    padding:21px 20px 22px;
}
.doctor-copy h3{
    font-size:1.08rem;
    line-height:1.18;
    min-height:2.4em;
    margin-bottom:8px;
}
.doctor-copy small{
    display:block;
    line-height:1.45;
}
.doctor-copy p{
    min-height:4.3em;
    line-height:1.5;
    margin-top:12px;
}

/* perfil individual */
.profile-photo{
    aspect-ratio:4 / 5;
    height:auto;
    max-height:640px;
    border-radius:30px;
    overflow:hidden;
    background:linear-gradient(145deg,#edf5fa,#d9e8f2);
    box-shadow:0 24px 60px rgba(3,44,85,.22);
}
.profile-photo img{
    object-position:center 25%;
}

/* corpo clínico mais elegante */
.filter-wrap{
    gap:9px;
    padding:4px 2px 15px;
}
.filter-btn{
    border:1px solid #dbe6ef;
    box-shadow:0 4px 14px rgba(6,63,120,.035);
    transition:.2s ease;
}
.filter-btn:hover,
.filter-btn.active{
    transform:translateY(-1px);
}

/* evita reamostragem agressiva em telas pequenas */
@media(max-width:767px){
    .doctor-photo{
        aspect-ratio:4 / 5;
        height:auto;
    }
    .doctor-copy h3{
        min-height:auto;
    }
    .doctor-copy p{
        min-height:auto;
    }
    .profile-photo{
        height:auto;
        max-height:none;
    }
}


.clinical-toolbar{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
}
.clinical-title{
    font-size:clamp(1.8rem,3vw,2.7rem)!important;
    margin:0;
}
.doctor-search{
    width:min(100%,380px);
    position:relative;
}
.doctor-search i{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:#7390aa;
}
.doctor-search input{
    width:100%;
    height:50px;
    border:1px solid #dce7f0;
    border-radius:999px;
    padding:0 18px 0 44px;
    outline:none;
    background:#fff;
    color:var(--ink);
    box-shadow:0 7px 22px rgba(6,63,120,.05);
}
.doctor-search input:focus{
    border-color:var(--brand2);
    box-shadow:0 0 0 4px rgba(10,95,164,.08);
}
@media(max-width:767px){
    .clinical-toolbar{align-items:stretch;flex-direction:column}
    .doctor-search{width:100%}
}
