/* OdontoPlus Ibarra - páginas por especialidad (se suma a style.css) */
.sp-hero .hero-inner{grid-template-columns:1fr;min-height:0;padding-block:clamp(48px,7vw,88px)}
.sp-hero .hero-copy{padding-bottom:0;max-width:820px}
.sp-hero h1{font-size:clamp(2.1rem,4.6vw,3.8rem)}
.sp-hero .sub{margin-top:18px;max-width:58ch}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.9rem;color:var(--on-dark-muted);margin-bottom:22px}
.crumbs a{color:var(--on-dark-muted);text-decoration:none}.crumbs a:hover{color:var(--white)}
.crumbs [aria-current]{color:var(--white);font-weight:700}
.sp-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.sp-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.sp-text{display:grid;gap:18px;justify-items:start}
.sp-text p{color:var(--muted);font-size:1.08rem;line-height:1.3;font-weight:300;max-width:60ch}
.sp-fig{margin:0;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(18,50,91,.55)}
.sp-fig img{display:block;width:100%;height:auto;aspect-ratio:1400/939;object-fit:cover}
.sp-band{background:var(--paper)}
.when{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:920px}
.when li{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:18px 20px;font-size:1.02rem;line-height:1.25}
.when svg.i{flex:none;width:26px;height:26px;padding:4px;border-radius:50%;background:var(--blue-tint);color:var(--blue);stroke:currentColor;fill:none;stroke-width:2.4;margin-top:-2px}
.sp-note{text-align:center;color:var(--muted);margin-top:22px;font-size:.95rem}
.sp-card{max-width:920px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:26px;padding:clamp(22px,4vw,40px);box-shadow:0 24px 50px -40px rgba(18,50,91,.5)}
.sp-actions{display:flex;justify-content:center;margin-top:30px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.steps li{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:24px;display:grid;gap:8px;align-content:start}
.steps .n{width:42px;height:42px;border-radius:50%;background:var(--blue);color:var(--white);display:grid;place-items:center;font-weight:900;font-style:italic}
.steps b{font-size:1.1rem}.steps p{color:var(--muted);font-weight:300;line-height:1.25}
.doc-box{display:grid;grid-template-columns:240px 1fr;gap:clamp(22px,4vw,48px);align-items:center;max-width:900px;margin:0 auto;background:var(--blue-tint);border-radius:32px;padding:clamp(20px,3vw,34px)}
.doc-box img{display:block;width:100%;height:auto;border-radius:24px;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.doc-box>div{display:grid;gap:16px;justify-items:start}
.doc-box p{color:var(--muted);font-weight:300;font-size:1.08rem;line-height:1.3}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rel-card{position:relative;display:grid;gap:6px;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:22px 52px 22px 22px;text-decoration:none;color:inherit;transition:border-color .3s,transform .3s}
.rel-card:hover{border-color:var(--blue);transform:translateY(-3px)}
.rel-card b{font-size:1.1rem}.rel-card span{color:var(--muted);font-weight:300;font-size:.95rem;line-height:1.2}
.rel-card svg.i{position:absolute;right:20px;top:50%;margin-top:-10px;width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:2}
@media(max-width:900px){.sp-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.rel{grid-template-columns:1fr 1fr}.doc-box{grid-template-columns:1fr}.doc-box img{max-width:260px}}
@media(max-width:600px){.when{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.rel{grid-template-columns:1fr}.sp-cta .btn{width:100%}}
