:root{
  --blue:#0b3558;
  --blue-light:#1769aa;
  --accent:#e05a54;
  --accent-soft:#fff0ef;
  --ink:#152b3b;
  --muted:#5b7080;
  --line:#dce7ee;
  --paper:#fff;
  --mist:#f3f8fb;
  --dark:#071f34;
  --shell:min(1160px,calc(100% - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;line-height:1.62}
body.endoscopia{--accent:#138b86;--accent-soft:#e9f8f6}
body.colonoscopia{--accent:#4c68bc;--accent-soft:#edf1ff}
body.laboratorio{--accent:#158c68;--accent-soft:#e9f8f2}
body.fisioterapia{--accent:#b67417;--accent-soft:#fff5e5}
img{max-width:100%;display:block}
a{color:inherit}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:.7rem 1rem;background:#fff;color:#111;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:76px;padding:0 max(20px,calc((100% - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border-bottom:1px solid var(--line)}
.hospital-brand img{width:auto;height:53px;object-fit:contain}
.back-link{color:var(--blue);font-size:.9rem;font-weight:900;text-decoration:none;border-bottom:2px solid transparent}
.back-link:hover,.back-link:focus-visible{border-color:var(--blue-light)}
.hero{position:relative;min-height:min(72svh,700px);display:flex;align-items:center;color:#fff;background-position:center;background-size:cover;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(4,22,35,.66)}
.hero__inner{width:var(--shell);margin:0 auto;padding:4rem 0}
.hero__inner>*{max-width:710px}
.eyebrow{display:block;color:#bfe9f2;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:0}
.eyebrow--accent{color:var(--accent)}
h1,h2,h3,p{letter-spacing:0}
h1{margin:.45rem 0 .8rem;font-size:5rem;line-height:1}
h2{margin:.45rem 0 1rem;font-size:3.3rem;line-height:1.08}
h3{margin:.45rem 0 .35rem;font-size:1.17rem;line-height:1.25}
.hero__lead{margin:0 0 1.65rem;color:#f0f5f7;font-size:1.18rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.button{min-height:48px;padding:.72rem 1.05rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;font-size:.9rem;font-weight:900;text-decoration:none;transition:transform .18s ease,background .18s ease}
.button:hover{transform:translateY(-2px)}
.button--accent{background:var(--accent);color:#fff}
.button--light{background:#fff;color:var(--blue)}
.button:focus-visible,.sector-nav a:focus-visible,.contact-links a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:3px}
.image-note{position:absolute;right:16px;bottom:12px;color:rgba(255,255,255,.72);font-size:.7rem}
.section-shell{width:var(--shell);margin:0 auto}
.intro{padding:6rem 0 5rem}
.section-heading{max-width:820px}
.section-heading>p{color:var(--muted);font-size:1.06rem}
.benefits{margin-top:3.3rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.benefits article{padding-top:1.1rem;border-top:3px solid var(--accent)}
.benefits article>span{color:var(--accent);font-size:.76rem;font-weight:900}
.benefits p{margin:0;color:var(--muted)}
.care-band{padding:5.5rem 0;background:var(--dark);color:#fff}
.care-band__inner{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:4rem;align-items:start}
.care-band__copy p{color:#d5e1e8}
.care-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
.care-list article{min-height:150px;padding:1.15rem;background:#0a2a45}
.care-list article:nth-child(3n+2){background:#0c3454}
.care-list span{color:var(--accent);font-size:.75rem;font-weight:900}
.care-list p{margin:0;color:#d5e1e8;font-size:.92rem}
.guidance{padding:5.5rem 0;background:var(--mist)}
.guidance__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:4rem;align-items:start}
.checklist{margin:1.6rem 0 0;padding:0;list-style:none;display:grid;gap:.75rem}
.checklist li{position:relative;padding-left:1.8rem;color:var(--muted)}
.checklist li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:1000}
.notice{padding:1.35rem;border:1px solid color-mix(in srgb,var(--accent) 34%,#fff);border-radius:8px;background:var(--accent-soft)}
.notice strong{display:block;color:var(--blue);font-size:1.08rem}
.notice p{margin:.35rem 0 0;color:#435b6b}
.contact{padding:5.5rem 0;background:var(--blue);color:#fff}
.contact__inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:4rem;align-items:start}
.contact p{color:#d7e6ef}
.contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:1.5rem;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.contact-links a{min-height:88px;padding:1rem;display:flex;flex-direction:column;justify-content:center;background:#0a466e;text-decoration:none}
.contact-links a:hover{background:#083c5f}
.contact-links span{color:#d7e6ef;font-size:.84rem}
.map{min-height:390px;overflow:hidden;border-radius:8px;background:#e8eef1}
.map iframe{display:block;width:100%;height:390px;border:0}
.sector-nav{padding:2.3rem 0;background:#fff;border-top:1px solid var(--line)}
.sector-nav__inner{width:var(--shell);margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.sector-nav a{min-height:62px;padding:.7rem;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;color:var(--blue);font-size:.82rem;font-weight:900;text-decoration:none}
.sector-nav a:hover,.sector-nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent)}
.site-footer{padding:2rem max(20px,calc((100% - 1160px)/2));display:flex;justify-content:space-between;gap:2rem;align-items:center;background:#061a2b;color:#bcd0dc;font-size:.78rem}
.site-footer img{width:auto;height:45px;object-fit:contain}
.site-footer p{max-width:650px;margin:0}
@media (max-width:900px){
  h1{font-size:4rem}
  h2{font-size:2.7rem}
  .care-band__inner,.guidance__inner,.contact__inner{grid-template-columns:1fr;gap:2.5rem}
  .sector-nav__inner{grid-template-columns:repeat(3,minmax(0,1fr))}
  .site-footer{align-items:flex-start;flex-direction:column}
}
@media (max-width:680px){
  :root{--shell:min(100% - 28px,1160px)}
  .site-header{height:68px;padding:0 14px}
  .hospital-brand img{height:44px}
  .back-link{max-width:125px;text-align:right;font-size:.76rem;line-height:1.25}
  .hero{min-height:calc(100svh - 68px);background-position:60% center}
  .hero__inner{padding:3rem 0}
  h1{font-size:3.15rem}
  h2{font-size:2.25rem}
  .hero__lead{font-size:1.03rem}
  .hero__actions,.button{width:100%}
  .intro,.care-band,.guidance,.contact{padding:4.2rem 0}
  .benefits{grid-template-columns:1fr;gap:1.6rem}
  .care-list,.contact-links{grid-template-columns:1fr}
  .care-list article{min-height:auto}
  .map,.map iframe{min-height:330px;height:330px}
  .sector-nav__inner{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
