
:root{
  --blue:#173b76;
  --blue-2:#0f2d5d;
  --sky:#dff3fb;
  --sky-2:#8fd3f7;
  --mint:#eff9fb;
  --ink:#1b2430;
  --muted:#64748b;
  --line:#d8e2ec;
  --white:#ffffff;
  --bg:#fbfdff;
  --shadow:0 14px 40px rgba(17,52,102,.08);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,92vw);margin:auto}
.narrow{width:min(860px,92vw);margin:auto}
.topbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}
.brand img{height:44px}
.menu{display:flex;gap:24px;font-weight:700;color:#4c6078}
.menu a:hover{color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 24px;font-weight:800;transition:.2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--blue);color:#fff;box-shadow:var(--shadow)}
.btn-secondary{border:1px solid var(--line);color:var(--blue);background:#fff}
.btn-soft{background:var(--sky);color:var(--blue-2)}
.hero{padding:44px 0 16px;background:linear-gradient(180deg,#fff 0%,#eef8fd 100%)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#6d8299;font-weight:800;margin-bottom:12px}
.hero h1,.page-hero h1{font-size:clamp(42px,5vw,72px);line-height:.96;letter-spacing:-.055em;color:var(--blue);margin:0 0 16px}
.hero p,.lead{font-size:19px;line-height:1.7;color:var(--muted);margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 18px}
.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.meta-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.meta-box b{display:block;font-size:12px;text-transform:uppercase;color:#6d8299;margin-bottom:8px}
.meta-box span{font-weight:800;color:var(--blue-2);line-height:1.4}
.hero-visual{position:relative}
.collage{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}
.collage .big{grid-row:span 2}
.collage img{border-radius:26px;object-fit:cover;height:100%;width:100%;box-shadow:var(--shadow)}
.collage .big img{min-height:540px}
.floating-card{position:relative;margin-top:-72px;margin-left:28px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;max-width:360px;box-shadow:var(--shadow)}
.floating-card b{display:block;color:var(--blue);margin-bottom:8px}
.section{padding:52px 0 10px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px}
.section-head p{max-width:600px;color:var(--muted);line-height:1.7}
h2{font-size:38px;line-height:1.05;letter-spacing:-.04em;color:var(--blue);margin:0}
h3{font-size:24px;line-height:1.1;letter-spacing:-.03em;margin:0 0 12px}
.band{padding:26px 0;background:var(--blue);color:#fff;margin-top:18px}
.band-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.band h2{color:#fff;margin-bottom:10px}.band p,.band li{color:rgba(255,255,255,.9);line-height:1.7}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.card-body{padding:24px}
.card p{margin:0;color:var(--muted);line-height:1.7}
.card .tag{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#688098;margin-bottom:12px}
.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:800;color:var(--blue)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.team-card img{height:320px;object-fit:cover;width:100%}
.team-card .role{font-weight:800;color:var(--blue);margin-bottom:8px}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.info-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.info-box ul{margin:12px 0 0;padding-left:18px;color:var(--muted);line-height:1.8}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{background:linear-gradient(180deg,#fff 0%,#f2f9fc 100%);border:1px solid var(--line);border-radius:22px;padding:22px}
.step-number{width:38px;height:38px;border-radius:12px;background:var(--sky);display:grid;place-items:center;color:var(--blue);font-weight:900;margin-bottom:14px}
.step p{color:var(--muted);line-height:1.7;margin:0}
.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.treatment-card{position:relative}
.treatment-card .icon{width:46px;height:46px;border-radius:14px;background:var(--sky);display:grid;place-items:center;color:var(--blue);font-weight:900;margin-bottom:14px}
.hidden-treatments{display:none;margin-top:18px}
.hidden-treatments.open{display:grid}
.cta-box{background:linear-gradient(135deg,#14396f 0%,#24539c 100%);color:#fff;border-radius:32px;padding:36px;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;box-shadow:var(--shadow)}
.cta-box h2{color:#fff;font-size:48px}.cta-box p{color:rgba(255,255,255,.88);line-height:1.8}.cta-box img{border-radius:26px;min-height:260px;object-fit:cover;width:100%}
.footer-top{margin-top:36px;background:#f5f8fb;border-top:1px solid var(--line)}
.footer{display:grid;grid-template-columns:1.1fr .8fr .9fr;gap:24px;padding:28px 0 18px}
.footer h4{margin:0 0 12px;color:var(--blue)}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:var(--muted)}
.footer p{color:var(--muted);line-height:1.8}
.legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding:14px 0 28px;color:#6b7a8b}
.page-hero{padding:44px 0 20px;background:linear-gradient(180deg,#fff 0%,#f1f9fc 100%)}
.breadcrumbs{font-size:14px;color:#6b7a8b;margin-bottom:12px}
.content{padding:36px 0 10px}
.content-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.content-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.content-box p,.content-box li{font-size:17px;line-height:1.8;color:var(--muted)}
.content-box ul{padding-left:18px}.faq-item{border-top:1px solid var(--line);padding:16px 0}.faq-item:first-child{border-top:none;padding-top:0}.faq-item h3{font-size:20px;margin-bottom:8px}
.treatments-list{display:grid;gap:12px}.treatments-list a{padding:14px 16px;border-radius:16px;border:1px solid var(--line);font-weight:700;color:var(--blue);background:#fff}
.treatments-list a:hover{background:var(--mint)}
.notice{padding:16px 18px;border-radius:18px;background:#eff7fb;border:1px solid #cfe4f2;color:#486377;line-height:1.7}
.mini-faq{display:grid;gap:8px}
.mini-faq details{border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:#fff}
.mini-faq summary{cursor:pointer;font-weight:800;color:var(--blue)}
.mini-faq p{margin:10px 0 0;color:var(--muted);line-height:1.7}
.contact-card{display:grid;gap:12px}
.contact-card b{color:var(--blue)}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.small{font-size:14px;color:#6b7a8b;line-height:1.6}
@media (max-width:1024px){.hero-grid,.band-grid,.cards,.team-grid,.info-grid,.steps,.content-grid,.treatment-grid,.cta-box,.footer{grid-template-columns:1fr}.menu{display:none}.hero-meta{grid-template-columns:1fr}.collage{grid-template-columns:1fr 1fr}.collage .big{grid-row:auto}.collage .big img{min-height:260px}.floating-card{margin:14px 0 0 0;max-width:none}.cta-box h2{font-size:38px}}
@media (max-width:640px){.collage{grid-template-columns:1fr}.hero h1,.page-hero h1{font-size:40px}.section,.content{padding-top:34px}.btn{width:100%}}

/* Ajuste en .info-grid para que la imagen de la clinica no se estire */
.info-grid .card img { min-height: 250px; max-height: 420px; width: 100%; object-fit: cover; }
/* Ajuste en .cta-box para limitar la foto de turno */
.cta-box img { max-height: 380px !important; width: 100%; object-fit: cover !important; border-radius: 26px; }
