html{-webkit-text-size-adjust:100%}
body{margin:0}
[hidden]{display:none!important}
/* Layout: azules del logo. Azul noche para cabecera, portada, banda de versiones y pie; celeste del logo para botones y acentos.
   Tipografía ancha (Archivo) para títulos y cifras, IBM Plex para texto y datos técnicos. La banda de versiones de EBS es la firma visual. */
:root{
  --bg:#f5f9fc; --surface:#ffffff; --tint:#e4f2fb; --ink:#0b1c2c; --muted:#4c6175; --line:#d6e2ec;
  --brand:#0873b9; --brand-hover:#065a93;
  --sky:#02a5e8; --cta:#1fb0f0; --cta-hover:#52c4f5; --on-cta:#04233a;
  --navy:#071d33; --navy-2:#0c2c4b; --navy-3:#123a60; --on-navy:#eaf4fc; --navy-muted:#a7c2d8; --navy-line:#1d4266; --sky-on-navy:#6cc9f3;
  --display:"Archivo","Arial Narrow","Roboto Condensed",system-ui,sans-serif;
  --body:"IBM Plex Sans",system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,"Courier New",monospace;
  --shadow:0 24px 50px -30px rgba(7,29,51,.55);
  --radius:14px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#07121c; --surface:#0d1e2d; --tint:#10304a; --ink:#e6f0f8; --muted:#9bb3c6; --line:#1f3a52;
  --brand:#5cc0f0; --brand-hover:#8ad3f6;
  --navy:#040d17; --navy-2:#0a2238; --navy-3:#0f3050; --navy-line:#1a3a5a;
  --shadow:0 24px 50px -28px rgba(0,0,0,.85); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#07121c; --surface:#0d1e2d; --tint:#10304a; --ink:#e6f0f8; --muted:#9bb3c6; --line:#1f3a52;
  --brand:#5cc0f0; --brand-hover:#8ad3f6;
  --navy:#040d17; --navy-2:#0a2238; --navy-3:#0f3050; --navy-line:#1a3a5a;
  --shadow:0 24px 50px -28px rgba(0,0,0,.85); color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--brand)}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--cta);outline-offset:3px;border-radius:4px}
.wrap{max-width:1180px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance;letter-spacing:-.015em}
h1{font-size:clamp(2.35rem,5.6vw,4.4rem);line-height:1.02;font-weight:750;font-stretch:112%}
h2{font-size:clamp(1.85rem,3.6vw,2.75rem);line-height:1.08;font-weight:700;font-stretch:108%}
h3{font-size:1.2rem;line-height:1.3;font-weight:650;font-stretch:104%}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-weight:500}
.lead{color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.18rem);max-width:60ch}
.mono{font-family:var(--mono)}
.head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(32px,4vw,48px);max-width:760px}

/* cabecera */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb,var(--navy) 94%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--navy-line);color:var(--on-navy)}
header.top .wrap{display:flex;align-items:center;gap:12px 32px;padding-block:12px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:#fff;font-family:var(--display);font-weight:700;font-size:1.35rem;font-stretch:110%;letter-spacing:-.01em}
.brand img{width:42px;height:42px;flex:none;background:#fff;border-radius:11px;padding:2px}
.brand b{color:var(--sky-on-navy);font-weight:700}
nav.main{display:flex;gap:4px 26px;margin-left:auto;flex-wrap:wrap}
nav.main a{color:var(--navy-muted);text-decoration:none;font-weight:500;font-size:.98rem;padding:6px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
nav.main a:hover{color:#fff}
nav.main a[aria-current="page"]{color:#fff;border-bottom-color:var(--cta)}
@media (max-width:820px){nav.main{order:3;margin-left:0;width:100%;gap:4px 22px}header.top .btn{margin-left:auto}}
@media (max-width:520px){header.top .wrap{gap:10px 16px}.brand{font-size:1.15rem;gap:9px}.brand img{width:36px;height:36px;border-radius:9px}header.top .btn{padding:9px 14px;font-size:.95rem}header.top .btn svg{width:18px;height:18px}nav.main a{font-size:.93rem}}
@media (max-width:340px){header.top .btn span{display:none}header.top .btn{padding:10px 12px}}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:9px;font-weight:600;font-size:1rem;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:var(--body);transition:background .15s,border-color .15s,transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:20px;height:20px;flex:none}
.btn-cta{background:var(--cta);color:var(--on-cta)}
.btn-cta:hover{background:var(--cta-hover)}
.btn-line{border-color:var(--brand);color:var(--brand);background:transparent}
.btn-line:hover{background:var(--tint)}
.btn-ghost{border-color:rgba(234,244,252,.45);color:#fff;background:rgba(7,29,51,.35)}
.btn-ghost:hover{background:rgba(7,29,51,.6);border-color:#fff}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* portada */
.hero{position:relative;isolation:isolate;background:#0a2a4a;color:#eaf4fc;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url(/assets/hero-2.jpg) center/cover;filter:brightness(1.75) saturate(1.15)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,29,51,.9) 0%,rgba(7,29,51,.8) 46%,rgba(7,29,51,.36) 78%,rgba(7,29,51,.14) 100%),linear-gradient(180deg,transparent 60%,rgba(7,29,51,.75) 100%)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:center;padding-block:clamp(56px,8vw,104px) clamp(40px,5vw,64px)}
.hero .eyebrow{color:var(--sky-on-navy)}
.hero h1{margin-block:16px 22px;color:#fff}
.hero h1 em{font-style:normal;color:var(--sky-on-navy)}
.hero .lead{color:#f1f8fd;font-weight:500;margin-bottom:32px}
.hero h1,.hero .lead,.hero .eyebrow{text-shadow:0 1px 3px rgba(4,20,36,.55),0 2px 18px rgba(4,20,36,.8)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:40px}}

.stack{display:flex;flex-direction:column;gap:10px}
.stack .cap{font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#f1f8fd;text-shadow:0 1px 10px rgba(4,20,36,.9)}
.layer{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;border:1px solid rgba(169,196,217,.35);background:rgba(10,38,66,.86);backdrop-filter:blur(6px);border-radius:12px;padding:15px 18px}
.layer .num{font-family:var(--mono);font-size:.78rem;color:var(--sky-on-navy);border:1px solid rgba(108,201,243,.5);border-radius:8px;height:44px;display:grid;place-items:center}
.layer strong{display:block;font-family:var(--display);font-stretch:106%;font-size:1.08rem;font-weight:650;color:#fff}
.layer span{font-family:var(--mono);font-size:.8rem;color:#c3d7e7}
.layer.l2{margin-inline:10px}
.layer.l3{margin-inline:20px}
.stack .own{margin-top:4px;border:1px dashed rgba(234,244,252,.6);background:rgba(7,29,51,.82);border-radius:10px;padding:10px 14px;font-family:var(--mono);font-size:.8rem;color:#fff;text-align:center}

.facts{position:relative;border-top:1px solid rgba(169,196,217,.28);background:rgba(7,29,51,.55);backdrop-filter:blur(6px)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:0}
.fact{padding:22px 20px;border-left:1px solid rgba(169,196,217,.22);display:flex;flex-direction:column;gap:2px;min-width:0}
.fact:first-child{border-left:0;padding-left:0}
.fact b{font-family:var(--display);font-stretch:112%;font-weight:750;font-size:clamp(1.3rem,2.3vw,1.85rem);white-space:nowrap;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums}
.fact span{font-size:.9rem;color:#c3d7e7}
@media (max-width:900px){.facts .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.fact:nth-child(3){border-left:0;padding-left:0}.fact:nth-child(n+3){border-top:1px solid rgba(169,196,217,.22)}}

/* secciones */
section.blk{padding-block:clamp(56px,8vw,104px)}
section.blk.alt{background:var(--surface);border-block:1px solid var(--line)}

/* áreas con foto */
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:900px){.areas{grid-template-columns:1fr}}
.area{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}
.area:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
section.alt .area{background:var(--bg)}
.area img{aspect-ratio:4/3;object-fit:cover;width:100%}
.area .txt{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px}
.area .txt p{color:var(--muted);font-size:.98rem}
.area .k{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}

/* especialidades */
.spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media (max-width:900px){.spec{grid-template-columns:1fr}}
.spec article{border-radius:var(--radius);padding:clamp(26px,3.4vw,40px);display:flex;flex-direction:column;gap:16px;min-width:0;border:1px solid var(--line);background:var(--surface)}
.spec article.dark{background:var(--navy-2);border-color:var(--navy-line);color:var(--on-navy)}
.spec article.dark h3{color:#fff}
.spec article.dark .lead,.spec article.dark .ticks li{color:var(--navy-muted)}
.spec article.dark .ticks li strong{color:#fff}
.spec article.dark .eyebrow{color:var(--sky-on-navy)}
.spec article.dark .ticks li::before{background:var(--sky-on-navy)}
.spec article.dark a.more{color:var(--sky-on-navy)}
.spec h3{font-size:clamp(1.5rem,2.4vw,1.9rem);font-stretch:108%}
a.more{font-weight:600;text-decoration:none;margin-top:auto;display:inline-flex;gap:8px;align-items:center}
a.more:hover{text-decoration:underline}

.ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px;align-content:start}
.ticks li{display:grid;grid-template-columns:20px 1fr;gap:10px;color:var(--muted)}
.ticks li strong{color:var(--ink);font-weight:600}
.ticks li::before{content:"";width:13px;height:13px;margin-top:7px;background:var(--brand);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 70%)}

/* banda de versiones */
.versions{background:var(--navy);color:var(--on-navy);overflow:hidden}
.versions .wrap{padding-block:clamp(56px,7vw,88px);display:flex;flex-direction:column;gap:28px}
.versions .eyebrow{color:var(--sky-on-navy)}
.versions h2{color:#fff}
.vrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--navy-line)}
.v{padding:22px 0 0 20px;border-left:1px solid var(--navy-line);display:flex;flex-direction:column;gap:6px;min-width:0}
.v:first-child{border-left:0;padding-left:0}
.v b{font-family:var(--display);font-weight:800;font-stretch:125%;font-size:clamp(2.6rem,7.5vw,6rem);line-height:.95;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.v:last-child b{color:var(--sky-on-navy)}
.v span{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-muted)}
.versions .note{color:var(--navy-muted);max-width:62ch}
@media (max-width:640px){.vrow{grid-template-columns:repeat(2,minmax(0,1fr))}.v:nth-child(3){border-left:0;padding-left:0}.v:nth-child(n+3){border-top:1px solid var(--navy-line);margin-top:18px}}

/* cuándo llamarnos */
.two{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,80px);align-items:start}
@media (max-width:900px){.two{grid-template-columns:1fr}}
.symptoms{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.symptoms li{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line);font-size:1.05rem}
.symptoms .ic{width:40px;height:40px;border-radius:10px;background:var(--tint);color:var(--brand);display:grid;place-items:center}
.symptoms .ic svg{width:20px;height:20px}
.symptoms li span{padding-top:7px}
.sticky{position:sticky;top:110px;display:flex;flex-direction:column;gap:24px}
.sticky img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;width:100%}
@media (max-width:900px){.sticky{position:static}}

/* pasos */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:s}
@media (max-width:900px){.steps{grid-template-columns:1fr}}
.step{position:relative;padding:28px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;counter-increment:s}
section.alt .step{background:var(--bg)}
.step::before{content:"0" counter(s);font-family:var(--display);font-weight:800;font-stretch:125%;font-size:2.6rem;line-height:1;color:var(--brand);letter-spacing:-.03em}
.step p{color:var(--muted);font-size:.98rem}

/* banda final */
.cta-band{position:relative;isolation:isolate;background:var(--navy-2);color:var(--on-navy);overflow:hidden}
.cta-band::before{content:"";position:absolute;right:-160px;top:-200px;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,rgba(2,165,232,.35),transparent);z-index:-1}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding-block:clamp(56px,7vw,84px)}
.cta-band h2{max-width:20ch;color:#fff}
.cta-band p{color:var(--navy-muted);margin-top:12px;max-width:52ch}

/* páginas interiores */
.page-head{position:relative;isolation:isolate;background:var(--navy);color:var(--on-navy);overflow:hidden}
.page-head::before{content:"";position:absolute;inset:0;z-index:-2;background:url(/assets/hero-2.jpg) center/cover;filter:brightness(1.2);opacity:.45}
.page-head::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,29,51,.95) 30%,rgba(7,29,51,.7))}
.page-head .wrap{padding-block:clamp(56px,7vw,92px);display:flex;flex-direction:column;gap:16px}
.page-head .eyebrow{color:var(--sky-on-navy)}
.page-head h1{font-size:clamp(2.1rem,4.6vw,3.5rem);max-width:20ch;color:#fff}
.page-head .lead{color:#d4e5f2}

.svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,72px);align-items:center}
.svc+.svc{margin-top:clamp(56px,8vw,96px)}
.svc .intro{display:flex;flex-direction:column;gap:16px;min-width:0}
.svc .pic img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:1/1;object-fit:cover;width:100%}
.svc.rev .pic{order:-1}
@media (max-width:900px){.svc{grid-template-columns:1fr}.svc.rev .pic{order:0}}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-family:var(--mono);font-size:.9rem;font-weight:500;padding:8px 14px;border-radius:8px;background:var(--tint);color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 25%,transparent)}
.modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:900px){.modes{grid-template-columns:1fr}}
.mode{padding:28px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.mode .k{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.mode p{color:var(--muted);font-size:.98rem}

.values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:640px){.values{grid-template-columns:1fr}}
.value{padding:24px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.value p{color:var(--muted);font-size:.98rem}
.big{font-family:var(--display);font-weight:800;font-stretch:125%;font-size:clamp(4rem,10vw,7.5rem);line-height:.9;letter-spacing:-.04em;color:var(--brand)}

/* contacto */
.contact{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,64px);align-items:start}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
form.f{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow)}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label{font-weight:600;font-size:.95rem}
.fld input,.fld select,.fld textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:12px 13px;width:100%}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 25%,transparent)}
.fld textarea{min-height:130px;resize:vertical}
.err{color:#b3261e;font-size:.9rem}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .err{color:#ff8a80}}
:root[data-theme="dark"] .err{color:#ff8a80}
.note{color:var(--muted);font-size:.9rem}
.info{display:flex;flex-direction:column;gap:14px}
.ci{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:center;padding:18px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
a.ci:hover{border-color:var(--brand);transform:translateY(-1px)}
.ci .ic{width:48px;height:48px;border-radius:12px;background:var(--tint);color:var(--brand);display:grid;place-items:center}
.ci .ic svg{width:22px;height:22px}
.ci small{display:block;font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ci b{font-weight:600;font-size:1.05rem;overflow-wrap:anywhere}

/* pie */
footer.foot{background:var(--navy);color:var(--navy-muted);font-size:.93rem}
footer.foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:32px;padding-block:56px 32px}
@media (max-width:760px){footer.foot .wrap{grid-template-columns:1fr}}
footer.foot a{color:var(--on-navy);text-decoration:none}
footer.foot a:hover{text-decoration:underline}
footer.foot h3{color:#fff;font-size:.78rem;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin-bottom:12px}
footer.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer.foot .legal{grid-column:1/-1;border-top:1px solid var(--navy-line);padding-top:22px;font-size:.84rem}

.e404{padding-block:110px;text-align:center;display:flex;flex-direction:column;gap:20px;align-items:center}
