/* WandyWise Health Systems — estilos del sitio */
:root{
  --ink:#0b2236; --muted:#5f7180; --line:#dce7e8; --paper:#f7fbfa; --card:#ffffff;
  --mint:#31bdd4; --mint-dark:#126f93; --mint-pale:#e4f8fb; --navy:#071f3d;
  --coral:#d93f3d; --coral-pale:#fff0ef; --ok:#1f8a5b; --ok-pale:#e6f6ee; --warn:#a86a00; --warn-pale:#fff5e0;
  --field:#fbfdfd; --shadow:0 1px 2px rgba(7,31,61,.05),0 18px 40px -22px rgba(7,31,61,.35);
  --rose:#b24a78; --rose-pale:#fbeef4;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ink:#e6f0f4; --muted:#93a8b6; --line:#20384d; --paper:#081a2b; --card:#0e2438;
    --mint:#4fd0e4; --mint-dark:#6fd3ea; --mint-pale:#10344a; --navy:#04111f;
    --coral:#ff6d68; --coral-pale:#3a1c22; --ok:#4fd39a; --ok-pale:#0f3326; --warn:#f2b84b; --warn-pale:#3a2c0f;
    --field:#0b1f31; --shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -22px rgba(0,0,0,.7);
    --rose:#f08fb8; --rose-pale:#3a1c2c;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ink:#e6f0f4; --muted:#93a8b6; --line:#20384d; --paper:#081a2b; --card:#0e2438;
  --mint:#4fd0e4; --mint-dark:#6fd3ea; --mint-pale:#10344a; --navy:#04111f;
  --coral:#ff6d68; --coral-pale:#3a1c22; --ok:#4fd39a; --ok-pale:#0f3326; --warn:#f2b84b; --warn-pale:#3a2c0f;
  --field:#0b1f31; --shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -22px rgba(0,0,0,.7);
  --rose:#f08fb8; --rose-pale:#3a1c2c;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Geist,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--mint-dark)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
[hidden]{display:none!important}
.num{font-variant-numeric:tabular-nums}
.wrap{max-width:1160px;margin:0 auto;padding-inline:20px}
@media (max-width:520px){.wrap{padding-inline:16px}}

/* barra superior */
.strip{background:var(--navy);color:#cfe3ec;font-size:12.5px}
.strip .wrap{display:flex;justify-content:space-between;gap:12px;padding-block:7px;flex-wrap:wrap}
.strip a{color:#cfe3ec;text-decoration:none}
.strip span+span{margin-left:14px}
@media (max-width:700px){.strip .hide-s{display:none}}

/* cabecera */
.top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.logo{background:#fff;border-radius:12px;padding:6px 10px;display:inline-flex;flex:none}
.logo img{height:40px;width:auto}
.nav{display:flex;gap:22px;align-items:center;font-size:14.5px}
.nav a{text-decoration:none;color:var(--muted)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink)}
.nav a[aria-current="page"]{font-weight:600}
.btn-demo{background:var(--navy);color:#fff!important;padding:10px 16px;border-radius:10px;font-weight:700;font-size:13.5px}
:root[data-theme="dark"] .btn-demo{background:var(--mint-dark);color:#04111f!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-demo{background:var(--mint-dark);color:#04111f!important}}
.menu-btn{display:none;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600;cursor:pointer}
@media (max-width:960px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav a{padding:12px 4px;border-bottom:1px solid var(--line)}
  .nav a.btn-demo{margin-top:12px;text-align:center;border:0}
  .logo img{height:34px}
}

/* tipografía y bloques */
.eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mint-dark);margin:0 0 12px}
h1,h2,h3{text-wrap:balance}
h1{font-size:clamp(34px,5.6vw,60px);line-height:1.04;font-weight:500;letter-spacing:-.03em;margin:0 0 18px}
h1 em,h2 em{font-style:normal;color:var(--coral)}
h2.title{font-size:clamp(28px,3.8vw,42px);line-height:1.08;font-weight:500;letter-spacing:-.025em;margin:0 0 14px}
.lede{color:var(--muted);font-size:clamp(16px,1.6vw,18px);max-width:60ch;margin:0}
section.block{padding-block:clamp(56px,8vw,96px)}
section.block.alt{background:var(--card);border-block:1px solid var(--line)}
.head{max-width:720px;margin-bottom:36px}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;padding:13px 20px;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer}
.btn.primary{background:var(--coral);color:#fff}
.btn.dark{background:var(--navy);color:#fff}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--ink)}

/* héroe */
.hero{padding-block:clamp(40px,6vw,80px) clamp(48px,7vw,88px)}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px;padding:0;list-style:none}
.tags li{font-size:13px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 12px;color:var(--muted)}
.frame{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.frame .bar{display:flex;gap:6px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.frame .bar i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.frame .bar span{margin-left:8px}
.frame img{width:100%;height:auto}
.stack{position:relative}
.stack .float{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:10px 14px;font-size:13px}
.stack .float b{display:block;font-size:15px}
.stack .f1{left:-18px;bottom:-22px}
.stack .f2{right:-14px;top:-18px}
@media (max-width:560px){.stack .float{display:none}}

/* tarjetas de sistemas */
.systems{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:860px){.systems{grid-template-columns:1fr}}
.sys{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.sys .shot{background:linear-gradient(135deg,var(--mint-pale),transparent);padding:22px 22px 0}
.sys.gyn .shot{background:linear-gradient(135deg,var(--rose-pale),transparent)}
.sys .shot img{border-radius:12px 12px 0 0;border:1px solid var(--line);border-bottom:0}
.sys .body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.sys .brand{height:54px;width:auto;align-self:flex-start;background:#fff;border-radius:10px;padding:4px 8px}
.sys h3{font-size:24px;font-weight:600;margin:0;letter-spacing:-.01em}
.sys p{margin:0;color:var(--muted)}
.checks{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:6px;font-size:14.5px}
.checks li{padding-left:24px;position:relative}
.checks li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2px solid var(--mint-dark);border-bottom:2px solid var(--mint-dark);transform:rotate(-45deg)}
.sys.gyn .checks li::before{border-color:var(--rose)}
.sys .more{margin-top:auto;padding-top:8px;font-weight:700;text-decoration:none}
.sys.gyn .more{color:var(--rose)}

/* rejillas de características */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}
@media (max-width:860px){.feats{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.feats{grid-template-columns:1fr}}
.feats > div{background:var(--card);padding:24px}
.feats .n{font:500 12px "Geist Mono",ui-monospace,monospace;color:var(--mint-dark);letter-spacing:.08em}
.feats h3{font-size:17px;font-weight:600;margin:8px 0 6px}
.feats p{margin:0;color:var(--muted);font-size:14.5px}
.gyn-page .feats .n{color:var(--rose)}

/* banda de pago */
.payband{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:stretch}
@media (max-width:860px){.payband{grid-template-columns:1fr}}
.price-card{background:var(--navy);color:#e6f0f4;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:6px}
.price-card .eyebrow{color:var(--mint)}
.price-card h3{margin:0;font-size:20px;font-weight:600}
.price-card .amt{font-size:44px;font-weight:600;letter-spacing:-.03em;margin:8px 0 0}
.price-card p{margin:0;color:#a9c0cd;font-size:14px}
.price-card .btn{margin-top:18px;align-self:flex-start}
.steps{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.steps li{display:flex;gap:12px;align-items:flex-start}
.steps b{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--mint-pale);color:var(--mint-dark);font-size:13px}

/* comunidad / logos */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.logos figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;aspect-ratio:4/3;display:grid;place-items:center;padding:14px}
.logos img{max-height:100%;width:auto;object-fit:contain}
.note{font-size:13px;color:var(--muted);margin-top:14px}
.spot{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px}
@media (max-width:700px){.spot{grid-template-columns:1fr}}
.spot figure{margin:0;background:#fff;border-radius:16px;padding:14px;border:1px solid var(--line)}
.spot figure img{max-height:220px;width:auto;margin:auto}
.spot h3{margin:0 0 2px;font-size:22px;font-weight:600}
.spot .role{color:var(--mint-dark);font-weight:600;font-size:14px;margin:0 0 12px}
.spot .k{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.spot .v{margin:2px 0 0}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
@media (max-width:760px){.benefits{grid-template-columns:1fr}}
.benefits div{border-top:2px solid var(--ink);padding-top:12px}
.benefits h3{font-size:16px;margin:0 0 4px;font-weight:600}
.benefits p{margin:0;font-size:14.5px;color:var(--muted)}

/* galerías */
.gallery{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}
@media (max-width:900px){.gallery{grid-template-columns:1fr}}
.gallery .view{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:14px}
.gallery .view img{border-radius:12px;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:var(--field)}
.gallery .cap{padding:14px 6px 4px}
.gallery .cap h3{margin:0 0 4px;font-size:18px;font-weight:600}
.gallery .cap p{margin:0;color:var(--muted);font-size:14.5px}
.gallery .cap .count{font:500 12px "Geist Mono",monospace;color:var(--mint-dark)}
.gallery ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gallery ol button{width:100%;text-align:left;display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:12px 14px;cursor:pointer}
.gallery ol button span{font:500 12px "Geist Mono",monospace;color:var(--muted)}
.gallery ol button[aria-pressed="true"]{border-color:var(--mint-dark);background:var(--mint-pale)}
.gallery ol button[aria-pressed="true"] span{color:var(--mint-dark)}
.gallery .arrows{display:flex;gap:8px;justify-content:flex-end;padding:8px 6px 0}
.gallery .arrows button{border:1px solid var(--line);background:var(--card);border-radius:10px;width:40px;height:36px;cursor:pointer;font-size:16px}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.thumbs figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.thumbs img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top}
.thumbs figcaption{font-size:13px;color:var(--muted);padding:10px 12px}
.posts{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
@media (max-width:980px){.posts{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.posts{grid-template-columns:repeat(2,1fr)}}
.posts img{border-radius:14px;aspect-ratio:4/5;object-fit:cover;width:100%;border:1px solid var(--line)}

/* marcas */
.brandrow{display:grid;grid-template-columns:1fr 1.2fr;gap:36px;align-items:center}
@media (max-width:860px){.brandrow{grid-template-columns:1fr}}
.brandrow .wamc{background:#fff;border-radius:18px;padding:18px;border:1px solid var(--line)}
.trio{display:grid;gap:14px;margin-top:22px}
.trio div{display:grid;grid-template-columns:40px 1fr;gap:4px 12px}
.trio .n{grid-row:span 2;font:500 12px "Geist Mono",monospace;color:var(--coral);padding-top:4px}
.trio h3{margin:0;font-size:16px;font-weight:600}
.trio p{margin:0;color:var(--muted);font-size:14.5px}

/* fundador */
.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,56px);align-items:center}
@media (max-width:820px){.founder{grid-template-columns:1fr}}
.founder img{border-radius:22px;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;padding:0;list-style:none}
.facts li{background:var(--mint-pale);color:var(--mint-dark);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.timeline li{padding:0 0 30px 26px;position:relative}
.timeline li::before{content:"";position:absolute;left:-8px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--paper);border:3px solid var(--mint-dark)}
.timeline .k{font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--mint-dark)}
.timeline h3{margin:4px 0 6px;font-size:19px;font-weight:600}
.timeline p{margin:0;color:var(--muted)}

/* visión */
.vision{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:760px){.vision{grid-template-columns:1fr}}
.vision div{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px}
.vision .n{font:500 12px "Geist Mono",monospace;color:var(--mint-dark)}
.vision h3{margin:8px 0 6px;font-size:17px;font-weight:600}
.vision p{margin:0;color:var(--muted);font-size:14.5px}

/* formularios */
.formgrid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(24px,4vw,48px);align-items:start}
@media (max-width:860px){.formgrid{grid-template-columns:1fr}}
.contact{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px}
.contact .k{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--muted)}
.contact .v{font-weight:600}
.panel{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px}
.panel h3{margin:0 0 4px;font-size:20px;font-weight:600}
.panel .sub{color:var(--muted);font-size:14px;margin:0 0 18px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.f2{grid-template-columns:1fr}}
.fld{display:block;margin-bottom:12px}
.fld > span{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.field{width:100%;background:var(--field);border:1px solid var(--line);border-radius:12px;padding:12px 14px;outline:none}
.field:focus{border-color:var(--mint)}
textarea.field{min-height:96px;resize:vertical}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pills label{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:14px;cursor:pointer;background:var(--field)}
.pills label:has(input:checked){border-color:var(--mint-dark);background:var(--mint-pale)}
.pills input{accent-color:var(--mint-dark)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);margin:6px 0 4px}
.chk input{margin-top:4px;accent-color:var(--mint-dark)}
.stars{display:flex;gap:4px}
.stars button{border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--line);padding:0 2px}
.stars button.on{color:#f2a900}
.formnote{font-size:12.5px;color:var(--muted);margin:10px 0 0}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.hp{position:absolute;left:-5000px}

/* página interior */
.page-hero{padding-block:clamp(40px,6vw,72px) 12px}
.page-hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,56px);align-items:center}
@media (max-width:900px){.page-hero .wrap{grid-template-columns:1fr}}
.page-hero .brand{height:72px;width:auto;background:#fff;border-radius:12px;padding:6px 10px;margin-bottom:18px}
.cta-band{background:var(--navy);color:#e6f0f4;border-radius:24px;padding:clamp(28px,5vw,48px);display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.cta-band h2{margin:0 0 6px;font-size:clamp(24px,3vw,32px);font-weight:500;letter-spacing:-.02em}
.cta-band p{margin:0;color:#a9c0cd}
.cta-band .eyebrow{color:var(--mint)}
.cta-band .btn.ghost{color:#e6f0f4;border-color:#2c4a63}

/* legales */
.legal{max-width:760px;padding-block:clamp(40px,6vw,72px)}
.legal h1{font-size:clamp(32px,4.6vw,46px)}
.legal .upd{color:var(--muted);font-size:14px;margin:0 0 28px}
.legal h2{font-size:20px;font-weight:600;margin:32px 0 8px}
.legal p,.legal li{color:var(--ink);opacity:.9}

/* servicios (catálogo) */
.svc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.svc-tab{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 14px;font-size:14px;cursor:pointer;color:var(--muted)}
.svc-tab[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.catnote{font-size:13.5px;color:var(--muted);background:var(--mint-pale);border-radius:12px;padding:10px 12px;margin:0 0 14px}
.svc{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:16px 0;border-top:1px solid var(--line)}
.svc:first-of-type{border-top:0}
.svc h3{font-size:15.5px;font-weight:600;margin:0}
.svc p{margin:2px 0 0;font-size:13.5px;color:var(--muted);max-width:60ch}
.svc .price{text-align:right;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end}
.svc .price strong{font-size:16px}
.svc .price small{color:var(--muted);font-size:12px}
.tg{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.tg span{font-size:11.5px;border-radius:999px;padding:2px 8px;background:var(--mint-pale);color:var(--mint-dark);font-weight:600}
.tg span.c{background:var(--coral-pale);color:var(--coral)}
.add{margin-top:10px;border:1px solid var(--ink);background:transparent;border-radius:10px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}
.add:hover{background:var(--ink);color:var(--paper)}
.add[disabled]{opacity:.45;cursor:default;background:transparent;color:inherit}
.shop{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
@media (max-width:980px){.shop{grid-template-columns:1fr}}
.cart{position:sticky;top:92px;box-shadow:var(--shadow)}
.cart h3{display:flex;justify-content:space-between;align-items:baseline}
.cart h3 span{font-size:12.5px;color:var(--muted);font-weight:500}
.empty{color:var(--muted);font-size:13.5px;padding:18px 0;text-align:center;border:1px dashed var(--line);border-radius:14px}
.item{padding:14px 0;border-bottom:1px solid var(--line)}
.item-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.item-h h4{margin:0;font-size:14px;font-weight:600}
.x{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:0 2px}
.months,.split{display:flex;gap:4px;margin-top:10px;flex-wrap:wrap}
.months button,.split button{flex:1;min-width:56px;border:1px solid var(--line);background:var(--field);border-radius:9px;padding:6px 4px;font-size:12.5px;cursor:pointer;line-height:1.2}
.months button small{display:block;font-size:10.5px;color:var(--ok);font-weight:700}
.months button[aria-pressed="true"],.split button[aria-pressed="true"]{border-color:var(--mint-dark);background:var(--mint-pale);font-weight:600}
.line{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:8px}
.line b{color:var(--ink);font-weight:600}
.line.disc b{color:var(--ok)}
.meta{font-size:12px;color:var(--muted);margin-top:6px}
.amt{margin-top:10px}
.totals{margin-top:14px;display:grid;gap:6px}
.totals .row{display:flex;justify-content:space-between;font-size:14px}
.totals .row.disc{color:var(--ok)}
.totals .big{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.totals .big span{font-size:13px;font-weight:600}
.totals .big strong{font-size:28px;font-weight:600;letter-spacing:-.02em}
.usd{font-size:12px;color:var(--muted);text-align:right}
.opts{margin-top:16px;display:grid;gap:8px}
.opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;font-size:13.5px}
.opt:has(input:checked){border-color:var(--mint-dark);background:var(--mint-pale)}
.opt input{margin-top:3px;accent-color:var(--mint-dark)}
.opt small{display:block;color:var(--muted);font-size:12px}
.cta{margin-top:16px;width:100%;border:0;border-radius:12px;padding:14px;background:var(--coral);color:#fff;font-weight:700;font-size:15px;cursor:pointer}
.cta[disabled]{opacity:.45;cursor:not-allowed}
.hint{font-size:12px;color:var(--muted);text-align:center;margin-top:8px}
.result{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--field)}
.result pre{white-space:pre-wrap;font:12.5px/1.5 "Geist Mono",ui-monospace,Consolas,monospace;margin:0 0 12px;max-height:260px;overflow:auto}
.result .acts{display:flex;gap:8px;flex-wrap:wrap}
.result a,.result button{flex:1;text-align:center;border-radius:10px;padding:10px;font-weight:600;font-size:13.5px;text-decoration:none;cursor:pointer}
.wa{background:#1f8a5b;color:#fff!important;border:0}
.cp{background:transparent;border:1px solid var(--line)}
.client-box{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;background:var(--mint-pale);border-radius:18px;padding:18px 22px;margin-bottom:22px}
.client-box p{margin:0}
.client-box b{display:block;font-size:16px}
.terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:28px}
.terms div{border-top:2px solid var(--ink);padding-top:12px}
.terms h3{font-size:14.5px;margin:0 0 4px;font-weight:600}
.terms p{margin:0;font-size:13.5px;color:var(--muted)}

/* pie */
.foot{background:var(--navy);color:#a9c0cd;margin-top:0;padding-block:48px 28px;font-size:14px}
.foot .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
@media (max-width:820px){.foot .grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot .grid{grid-template-columns:1fr}}
.foot .logo{margin-bottom:14px}
.foot h4{color:#e6f0f4;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot a{color:#cfe3ec;text-decoration:none}
.foot a:hover{color:#fff}
.foot .legalrow{border-top:1px solid #1d3957;margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:50;background:#1f8a5b;color:#fff;border-radius:999px;padding:12px 16px;font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 10px 24px -10px rgba(0,0,0,.5);display:inline-flex;gap:8px;align-items:center}
.wa-float svg{width:18px;height:18px}
@media (prefers-reduced-motion:no-preference){.reveal{animation:up .5s ease both}@keyframes up{from{opacity:0;transform:translateY(8px)}}}
.page-hero h1{font-size:clamp(32px,4.4vw,50px)}

/* ===================== Paneles de muestra (maquetas animadas) ===================== */
.mock{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;font-size:13px;color:var(--ink)}
.mock .mbar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.mock .mlogo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--mint),var(--mint-dark));color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.mock.gyn .mlogo{background:linear-gradient(135deg,#e98bb0,var(--rose))}
.mock .mbar b{font-size:13.5px}
.mock .mbar .av{margin-left:auto;width:28px;height:28px;border-radius:50%;background:var(--mint-pale);color:var(--mint-dark);display:grid;place-items:center;font-weight:700;font-size:11px}
.mock .mbody{display:grid;grid-template-columns:120px 1fr;min-height:300px}
.mock .mside{border-right:1px solid var(--line);padding:14px 10px;display:grid;gap:6px;align-content:start}
.mock .mside span{display:block;padding:7px 10px;border-radius:8px;color:var(--muted);font-size:12.5px}
.mock .mside span.on{background:var(--mint-pale);color:var(--mint-dark);font-weight:600}
.mock.gyn .mside span.on{background:var(--rose-pale);color:var(--rose)}
.mock .mmain{padding:16px;display:grid;gap:14px;align-content:start}
.mock .hello{font-size:16px;font-weight:600;margin:0}
.mock .hello small{display:block;font-size:12px;color:var(--muted);font-weight:400}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--field)}
.stat span{display:block;color:var(--muted);font-size:11.5px}
.stat b{font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.chart{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--field)}
.chart .ch{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:8px}
.chart .ch b{color:var(--ink);font-weight:600}
.bars{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:96px}
.bars i{display:block;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--mint),var(--mint-dark));height:var(--h);transform-origin:bottom;transform:scaleY(0);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.mock.gyn .bars i{background:linear-gradient(180deg,#f0a3c3,var(--rose))}
.bars i:nth-child(2){transition-delay:.06s}.bars i:nth-child(3){transition-delay:.12s}.bars i:nth-child(4){transition-delay:.18s}.bars i:nth-child(5){transition-delay:.24s}.bars i:nth-child(6){transition-delay:.3s}.bars i:nth-child(7){transition-delay:.36s}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center;font-size:11px;color:var(--muted);margin-top:6px}
.quick{display:flex;gap:6px;flex-wrap:wrap}
.quick span{border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12px;background:var(--card)}
.quick span:first-child{background:var(--mint-dark);border-color:var(--mint-dark);color:#fff}
.mock.gyn .quick span:first-child{background:var(--rose);border-color:var(--rose)}
.in-view .bars i{transform:scaleY(1)}
.sw{display:flex;gap:6px;margin-top:14px;justify-content:center}
.sw button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;color:var(--muted)}
.sw button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media (max-width:560px){.mock .mbody{grid-template-columns:1fr}.mock .mside{display:none}.stat b{font-size:18px}}

/* tarjeta paciente / embarazo */
.pcard{padding:18px;display:grid;gap:12px}
.pcard .who{display:flex;gap:12px;align-items:center}
.pcard .pav{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--mint-pale);color:var(--mint-dark)}
.pcard .who b{display:block;font-size:14.5px}
.pcard .who small{color:var(--muted);font-size:12px}
.pill{margin-left:auto;font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px;background:var(--ok-pale);color:var(--ok)}
.curve{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--field)}
.curve .ch{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.curve svg{width:100%;height:96px;display:block}
.curve .band{fill:var(--mint-pale)}
.curve .p{fill:none;stroke:var(--line);stroke-width:1.2}
.curve .line{fill:none;stroke:var(--mint-dark);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:320;stroke-dashoffset:320;transition:stroke-dashoffset 1.6s ease}
.curve .dot{fill:var(--coral);opacity:0;transition:opacity .3s 1.5s}
.in-view .curve .line{stroke-dashoffset:0}.in-view .curve .dot{opacity:1}
.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kv div{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--field)}
.kv div>span{display:block;font-size:11px;color:var(--muted)}
.kv b{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.preg{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--field)}
.ring{--p:0;width:78px;height:78px;border-radius:50%;background:conic-gradient(var(--rose) calc(var(--p)*1%),var(--rose-pale) 0);display:grid;place-items:center;transition:--p 1.4s ease}
.ring::before{content:"";grid-area:1/1;width:60px;height:60px;border-radius:50%;background:var(--field)}
.ring b{grid-area:1/1;font-size:15px;position:relative}
.preg small{color:var(--muted);font-size:11.5px}
.preg .wk{font-size:17px;font-weight:600}
.sys .mockwrap{background:linear-gradient(135deg,var(--mint-pale),transparent);padding:22px}
.sys.gyn .mockwrap{background:linear-gradient(135deg,var(--rose-pale),transparent)}
.sys .mockwrap .mock{box-shadow:none}
@property --p{syntax:'<number>';inherits:false;initial-value:0}

/* tarjetas flotantes sobre capturas */
.floaty{position:relative}
.fcard{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:10px 14px;font-size:12.5px;min-width:130px;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s}
.fcard span{display:block;color:var(--muted);font-size:11.5px}
.fcard b{font-size:20px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fcard small{display:block;color:var(--ok);font-weight:600;font-size:11.5px}
.fcard.a{left:-18px;top:18%}.fcard.b{right:-16px;top:-14px;transition-delay:.15s}.fcard.c{right:-10px;bottom:-18px;transition-delay:.3s}
.in-view .fcard{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){.fcard.a{animation:bob 6s ease-in-out 1s infinite}.fcard.c{animation:bob 7s ease-in-out 1.6s infinite}@keyframes bob{50%{translate:0 -6px}}}
@media (max-width:640px){.fcard{display:none}}
@media (prefers-reduced-motion:reduce){.bars i,.curve .line,.fcard{transition:none}.bars i{transform:none}.curve .line{stroke-dashoffset:0}.curve .dot,.fcard{opacity:1;transform:none}}

/* ===================== Carruseles ===================== */
.car{position:relative}
.car .vp{overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.car .vp:active{cursor:grabbing}
.car .rail{display:flex;gap:16px;will-change:transform;transition:transform .9s cubic-bezier(.22,.8,.2,1)}
.car[data-carousel="marquee"] .rail{transition:none}
.car .slide{flex:0 0 var(--w,100%);min-width:0}
.car img{-webkit-user-drag:none}
.car .ctl{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.car .dots{display:flex;gap:6px;flex-wrap:wrap}
.car .dots button{width:9px;height:9px;border-radius:50%;border:0;background:var(--line);padding:0;cursor:pointer}
.car .dots button[aria-current="true"]{background:var(--mint-dark);width:22px;border-radius:999px}
.car .nav2{display:flex;gap:8px;align-items:center}
.car .nav2 button{border:1px solid var(--line);background:var(--card);border-radius:10px;width:40px;height:36px;cursor:pointer;font-size:16px}
.car .nav2 .auto{font-size:12px;color:var(--muted);margin-right:6px}
.car.postcar{--w:calc((100% - 5*16px)/6)}
@media (max-width:980px){.car.postcar{--w:calc((100% - 2*16px)/3)}}
@media (max-width:520px){.car.postcar{--w:calc((100% - 16px)/2)}}
.car.accesos{--w:calc((100% - 2*16px)/3)}
@media (max-width:860px){.car.accesos{--w:calc((100% - 16px)/1.3)}}
.car .slide img.zoom{cursor:zoom-in}
.car.postcar img{border-radius:14px;aspect-ratio:4/5;object-fit:cover;width:100%;border:1px solid var(--line)}
.car.accesos figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.car.accesos img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top}
.car.accesos figcaption{font-size:13px;color:var(--muted);padding:10px 12px}
.car.spec .spot{min-height:100%}

/* ===================== Visor de imágenes ===================== */
.lb{position:fixed;inset:0;z-index:100;background:rgba(4,12,22,.88);display:grid;place-items:center;padding:24px}
.lb img{max-width:min(1200px,100%);max-height:84vh;border-radius:12px;background:#fff;object-fit:contain}
.lb p{color:#dbe7ee;text-align:center;margin:12px 0 0;font-size:14px}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:12px;width:44px;height:44px;font-size:20px;cursor:pointer}
.lb .x{top:16px;right:16px}.lb .pv{left:16px;top:50%}.lb .nx{right:16px;top:50%}
.zoombtn{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:6px 12px;font-size:13px;cursor:pointer;color:var(--ink)}

/* ===================== Valoraciones ===================== */
.reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:22px}
.review{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:8px;align-content:start}
.review .st{color:#f2a900;letter-spacing:2px;font-size:15px}
.review p{margin:0;font-size:14.5px}
.review .by b{display:block;font-size:14px}
.review .by small{color:var(--muted);font-size:12.5px}
.review .sys-tag{justify-self:start;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;background:var(--mint-pale);color:var(--mint-dark)}
.review .sys-tag.g{background:var(--rose-pale);color:var(--rose)}
.rv-empty{border:1px dashed var(--line);border-radius:18px;padding:22px;color:var(--muted);text-align:center;margin-top:22px}
.fmsg{margin-top:12px;border-radius:12px;padding:10px 12px;font-size:14px}
.fmsg.ok{background:var(--ok-pale);color:var(--ok)}
.fmsg.err{background:var(--coral-pale);color:var(--coral)}
.visits{display:inline-flex;gap:6px;align-items:center}
.visits b{color:#e6f0f4;font-variant-numeric:tabular-nums}

/* ===================== Servicio misceláneo ===================== */
.misc{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,3vw,32px);margin-top:28px;scroll-margin-top:100px}
@media (max-width:860px){.misc{grid-template-columns:1fr}}
.misc .price{font-size:44px;font-weight:600;letter-spacing:-.03em;margin:6px 0 0}
.misc .price small{font-size:15px;color:var(--muted);font-weight:500;letter-spacing:0}
.misc ul{margin:14px 0 0;padding-left:18px;color:var(--muted);font-size:14.5px}
.banner{border-radius:16px;padding:14px 18px;margin-bottom:18px;font-size:14.5px}
.banner.ok{background:var(--ok-pale);color:var(--ok)}
.banner.warn{background:var(--warn-pale);color:var(--warn)}

/* =====================================================================
   REDISEÑO INMERSIVO · portada, héroes oscuros, transiciones
   ===================================================================== */
:root{--night:#06182f;--night-2:#0a2544;--glass:rgba(255,255,255,.06);--glass-line:rgba(255,255,255,.12);--ink-on-dark:#eaf3f7;--muted-on-dark:#9fb6c6;--serif:"Roboto",system-ui,Arial,sans-serif}
@view-transition{navigation:auto}
::view-transition-old(root){animation:.35s ease both vt-out}
::view-transition-new(root){animation:.45s ease both vt-in}
@keyframes vt-out{to{opacity:0;transform:scale(.985)}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* Tipografía de exhibición */
h1,h2.title,.ex-head h2,.cta-band h2{font-family:var(--serif);font-weight:700;letter-spacing:-.025em}
h1{font-size:clamp(44px,6.4vw,84px);line-height:.98}
h2.title{font-size:clamp(36px,4.6vw,58px);line-height:1.02}
h1 em,h2 em{font-style:italic}
.page-hero h1{font-size:clamp(40px,5.4vw,72px)}

/* Barra superior: cristal oscuro */
.strip{display:none}
.top{background:rgba(6,24,47,.72);backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid rgba(255,255,255,.08);transition:background .3s}
.top.solid{background:rgba(6,24,47,.92)}
.top .nav a{color:#b9cbd8}
.top .nav a:hover,.top .nav a[aria-current="page"]{color:#fff}
.top .nav a.to-cover{display:none}
.top .btn-demo{background:linear-gradient(135deg,var(--coral),#ef6a4d)!important;color:#fff!important}
.menu-btn{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.18)}
@media (max-width:960px){
  .top .nav{background:rgba(6,24,47,.98);border-color:rgba(255,255,255,.1)}
  .top .nav a{border-color:rgba(255,255,255,.08)}
  .top .nav a.to-cover{display:block}
}
.is-cover .top{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;position:fixed;left:0;right:0}
.is-cover .top.solid{background:rgba(6,24,47,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:rgba(255,255,255,.08)}

/* Aurora animada y grano */
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;width:62vmax;height:62vmax;border-radius:50%;filter:blur(90px);opacity:.55;mix-blend-mode:screen}
.aurora i:nth-child(1){background:radial-gradient(circle,#1b9ab8 0,transparent 62%);left:-18vmax;top:-26vmax;animation:drift1 22s ease-in-out infinite alternate}
.aurora i:nth-child(2){background:radial-gradient(circle,#b24a78 0,transparent 60%);right:-24vmax;top:-10vmax;opacity:.35;animation:drift2 26s ease-in-out infinite alternate}
.aurora i:nth-child(3){background:radial-gradient(circle,#d93f3d 0,transparent 60%);left:20vmax;bottom:-40vmax;opacity:.28;animation:drift3 30s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(12vmax,8vmax) scale(1.1)}}
@keyframes drift2{to{transform:translate(-10vmax,10vmax) scale(.9)}}
@keyframes drift3{to{transform:translate(-8vmax,-10vmax) scale(1.15)}}
.grain{position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:reduce){.aurora i{animation:none}}

/* Héroes oscuros de las páginas interiores */
.page-hero.dark{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 15% -10%,#0f3558 0,transparent 60%),linear-gradient(180deg,var(--night),var(--night-2));color:var(--ink-on-dark);padding-block:clamp(56px,9vw,120px) clamp(56px,8vw,104px);isolation:isolate}
.page-hero.dark .wrap{position:relative;z-index:1}
.page-hero.dark .wrap.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:900px){.page-hero.dark .wrap.split{grid-template-columns:1fr}}
.page-hero.dark .eyebrow{color:#6fd3ea}
.page-hero.dark h1 em{color:transparent;background:linear-gradient(100deg,#7fe0f0,#f2a7c4 70%,#ff9b86);-webkit-background-clip:text;background-clip:text}
.page-hero.dark .lede{color:var(--muted-on-dark)}
.page-hero.dark .brand{box-shadow:0 10px 30px -12px rgba(0,0,0,.6)}
.page-hero.dark .frame{border-color:rgba(255,255,255,.14);box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.page-hero.dark .note,.page-hero.dark figcaption{color:var(--muted-on-dark)}
.page-hero.dark figcaption b{color:#fff!important}
.crumb{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--muted-on-dark);text-decoration:none;margin-bottom:22px;border:1px solid var(--glass-line);border-radius:999px;padding:6px 12px;background:var(--glass);transition:background .2s,color .2s}
.crumb:hover{background:rgba(255,255,255,.12);color:#fff}
.btn.glass{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
.btn.glass:hover{background:rgba(255,255,255,.16)}
.btn{transition:transform .2s,box-shadow .2s,background .2s}
.btn.primary{background:linear-gradient(135deg,var(--coral),#ef6a4d);box-shadow:0 12px 28px -12px rgba(217,63,61,.7)}
.btn:hover{transform:translateY(-1px)}
.page-hero.dark .mock{box-shadow:0 40px 90px -30px rgba(0,0,0,.75)}
.page-hero.dark .sw button{background:rgba(255,255,255,.06);color:#cfe0ea;border-color:rgba(255,255,255,.16)}
.page-hero.dark .sw button[aria-pressed="true"]{background:#fff;color:var(--night)}

/* ===================== Portada ===================== */
.is-cover main{background:var(--night)}
.cover{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:var(--ink-on-dark);background:radial-gradient(1400px 800px at 80% 10%,#0e3a5e 0,transparent 55%),linear-gradient(180deg,#051326,var(--night));isolation:isolate;padding-block:120px 90px}
.cover .aurora i{opacity:.6}
.cover-in{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;width:100%}
@media (max-width:980px){.cover-in{grid-template-columns:1fr}.cover-art{order:-1;height:340px!important}}
.cover .eyebrow{color:#6fd3ea}
.cover h1{font-size:clamp(52px,7.6vw,108px);line-height:.95;margin-bottom:22px}
.cover h1 em{color:transparent;background:linear-gradient(100deg,#7fe0f0,#f2a7c4 65%,#ff9b86);-webkit-background-clip:text;background-clip:text}
.cover .lede{color:var(--muted-on-dark);max-width:52ch}
.cover-facts{list-style:none;padding:0;margin:34px 0 0;display:flex;gap:28px;flex-wrap:wrap;color:var(--muted-on-dark);font-size:13.5px}
.cover-facts b{display:block;font-family:var(--serif);font-weight:600;font-size:34px;color:#fff;line-height:1}
.cover-art{position:relative;height:520px;perspective:1400px;--mx:0;--my:0}
.cover-art img{position:absolute;border-radius:16px;border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 80px -30px rgba(0,0,0,.8);background:#fff;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.cover-art .s1{width:78%;right:0;top:4%;transform:rotateY(-14deg) rotateX(6deg) translate3d(calc(var(--mx)*-14px),calc(var(--my)*-10px),0);animation:float1 9s ease-in-out infinite}
.cover-art .s2{width:58%;left:0;top:38%;transform:rotateY(-10deg) rotateX(4deg) translate3d(calc(var(--mx)*22px),calc(var(--my)*16px),60px);animation:float2 11s ease-in-out infinite}
.cover-art .s3{width:46%;right:6%;bottom:0;transform:rotateY(-18deg) rotateX(8deg) translate3d(calc(var(--mx)*30px),calc(var(--my)*22px),120px);animation:float1 13s ease-in-out infinite reverse}
.cover-art .chip{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;border-radius:14px;padding:10px 14px;font-size:12px;transform:translate3d(calc(var(--mx)*38px),calc(var(--my)*28px),0);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.cover-art .chip span{display:block;color:#bcd2e0}
.cover-art .chip b{font-size:18px}
.cover-art .c1{left:8%;top:6%}.cover-art .c2{right:-2%;top:50%}
@keyframes float1{50%{translate:0 -12px}}
@keyframes float2{50%{translate:0 10px}}
@media (prefers-reduced-motion:reduce){.cover-art img{animation:none}}
.scroll-cue{position:absolute;left:50%;bottom:26px;translate:-50% 0;width:26px;height:42px;border:1.5px solid rgba(255,255,255,.4);border-radius:14px;z-index:2}
.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;border-radius:2px;background:#fff;translate:-50% 0;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{60%{transform:translateY(12px);opacity:0}100%{opacity:0}}

/* Mosaico de secciones */
.explore{position:relative;background:linear-gradient(180deg,var(--night),#081f3a 40%,#0a2544);color:var(--ink-on-dark);padding-block:clamp(64px,9vw,120px)}
.ex-head{max-width:720px;margin-bottom:36px}
.ex-head .eyebrow{color:#6fd3ea}
.ex-head h2{font-size:clamp(38px,5vw,64px);line-height:1;margin:0}
.ex-head h2 em{color:#f2a7c4}
.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(200px,auto);gap:16px;
  grid-template-areas:"a a a a a a a b b b b b" "a a a a a a a c c c c c" "h h h h d d d d e e e e" "h h h h f f f f g g g g" "i i i i i i j j j j j j"}
.t-a{grid-area:a}.t-b{grid-area:b}.t-c{grid-area:c}.t-d{grid-area:d}.t-e{grid-area:e}.t-f{grid-area:f}.t-g{grid-area:g}.t-h{grid-area:h}.t-i{grid-area:i}.t-j{grid-area:j}
@media (max-width:1000px){.bento{grid-template-columns:1fr 1fr;grid-template-areas:"a a" "b c" "d e" "h f" "h g" "i j"}}
@media (max-width:600px){.bento{grid-template-columns:1fr;grid-template-areas:"a" "b" "c" "d" "e" "f" "g" "h" "i" "j";grid-auto-rows:minmax(190px,auto)}}
.tile{position:relative;display:flex;align-items:flex-end;border-radius:24px;overflow:hidden;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.1);background:#0c2a4a;isolation:isolate;min-height:200px;
  opacity:0;transform:translateY(24px);transition:opacity .7s ease var(--d),transform .7s cubic-bezier(.2,.8,.2,1) var(--d),border-color .3s,box-shadow .3s}
.in-view .tile,.explore.in-view .tile{opacity:1;transform:none}
.tile:hover{border-color:rgba(127,224,240,.45);box-shadow:0 30px 60px -30px rgba(0,0,0,.8),0 0 0 1px rgba(127,224,240,.2) inset;transform:translateY(-4px)}
.tile .bg{position:absolute;inset:0;z-index:-1}
.tile .bg img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.2s cubic-bezier(.2,.8,.2,1);filter:saturate(1.05)}
.tile:hover .bg img{transform:scale(1.06)}
.tile .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,24,47,.05) 20%,rgba(6,24,47,.72) 62%,rgba(6,24,47,.95))}
.tile.noimg .bg{background:radial-gradient(420px 260px at 85% 0%,rgba(49,189,212,.45),transparent 60%),radial-gradient(380px 260px at 0% 100%,rgba(217,63,61,.35),transparent 60%),linear-gradient(160deg,#0d3155,#0a2340)}
.tile.t-e .bg{background:radial-gradient(420px 260px at 90% 10%,rgba(242,167,196,.5),transparent 60%),linear-gradient(160deg,#27204a,#0b2543)}
.tile.t-i .bg{background:radial-gradient(500px 300px at 90% 0%,rgba(31,138,91,.55),transparent 60%),linear-gradient(160deg,#0b3242,#0a2340)}
.tile.t-j .bg{background:radial-gradient(500px 300px at 90% 0%,rgba(239,106,77,.6),transparent 60%),linear-gradient(160deg,#3a1b2b,#0a2340)}
.tile .orb{position:absolute;width:220px;height:220px;right:-40px;top:-60px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),rgba(255,255,255,0) 60%);filter:blur(2px);animation:orb 10s ease-in-out infinite alternate}
@keyframes orb{to{transform:translate(-30px,30px) scale(1.1)}}
.tile .tx{padding:22px 24px;display:grid;gap:4px;max-width:520px}
.tile .eb{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8fe3f2}
.tile strong{font-family:var(--serif);font-weight:600;font-size:clamp(26px,2.6vw,38px);line-height:1.02}
.t-a strong{font-size:clamp(34px,3.6vw,52px)}
.tile .ds{font-size:14px;color:#c6d7e2;line-height:1.45}
.tile .go{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);font-size:18px;transition:background .3s,transform .3s}
.tile:hover .go{background:#fff;color:var(--night);transform:rotate(-45deg)}

/* Pie en portada */
.is-cover .foot{background:#051326}
.is-cover .wa-float{box-shadow:0 10px 30px -8px rgba(0,0,0,.6)}

/* Aparición suave de secciones */
.block .head,.block .systems,.block .feats,.block .formgrid,.block .payband,.block .brandrow,.block .spot,.block .car,.block .vision,.block .gallery{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.block.in-view .head,.block.in-view .systems,.block.in-view .feats,.block.in-view .formgrid,.block.in-view .payband,.block.in-view .brandrow,.block.in-view .spot,.block.in-view .car,.block.in-view .vision,.block.in-view .gallery{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.tile,.block *{opacity:1!important;transform:none!important}}

/* Tarjetas y superficies más refinadas */
.sys,.panel,.feats,.vision div,.review{border-radius:24px}
.sys{transition:transform .4s,box-shadow .4s}
.sys:hover{transform:translateY(-4px);box-shadow:var(--shadow)}

/* ===================== Papelería médica ===================== */
.papel{margin-top:28px;background:linear-gradient(160deg,var(--card),var(--mint-pale));border:1px solid var(--line);border-radius:24px;padding:clamp(20px,3vw,32px);scroll-margin-top:100px}
.papel-head h3{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3vw,38px);line-height:1.05;margin:0 0 6px}
.papel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
@media (max-width:860px){.papel-grid{grid-template-columns:1fr}}
.pcard2{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:8px;transition:transform .3s,box-shadow .3s}
.pcard2:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pcard2 .pic{width:48px;height:48px;border-radius:14px;background:var(--mint-pale);display:grid;place-items:center}
.pcard2 .pic svg{width:30px;height:30px;fill:none;stroke:var(--mint-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pcard2 h4{margin:4px 0 0;font-size:17px;font-weight:600}
.pcard2 p{margin:0;color:var(--muted);font-size:14px;flex:1}
.pcard2 .pp{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.pcard2 .pp strong{font-size:22px;font-weight:600;letter-spacing:-.01em}
.pcard2 .pp small{color:var(--muted);font-size:12px}
.pcard2 .pp .cta{margin-top:6px}
.pcard2 .pp .add{align-self:flex-start}
@media (max-width:980px){.cover{padding-top:100px}.cover-art .c2{display:none}.cover-art .s1{width:84%}.cover-art .s2{width:62%;top:42%}.cover-art .s3{width:50%}}
@media (max-width:520px){.cover-facts{gap:18px}.cover-facts li{flex:1 1 40%}}
.top{background:rgba(6,24,47,.94)}
.page-hero.dark .fcard,.page-hero.dark .mock,.page-hero.dark .frame{color:var(--ink)}
.page-hero.dark .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.04)}
.page-hero.dark .btn.ghost:hover{border-color:#fff}
.page-hero.dark .client-box{background:rgba(255,255,255,.06)}
h1,h2,h3,h4{font-family:var(--serif)}

/* ===== Portada 3D (escena de cristal) ===== */
.cover{--cp:0;background:radial-gradient(1200px 760px at 78% 42%,#0c3558 0,transparent 60%),radial-gradient(900px 600px at 10% 110%,#082a47 0,transparent 60%),linear-gradient(180deg,#041022,#061a33 55%,var(--night))}
.cover-bg{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:calc(1 - var(--cp)*.85)}
.cover .aurora i{opacity:.42}
.cover .aurora i:nth-child(1){background:radial-gradient(circle,#1a8fae 0,transparent 62%)}
.cover .aurora i:nth-child(2){background:radial-gradient(circle,#1d5f8f 0,transparent 60%);opacity:.5}
.cover .aurora i:nth-child(3){background:radial-gradient(circle,#0f8c9c 0,transparent 60%);opacity:.22}
.cover-mono{position:absolute;right:-7vw;top:50%;width:min(62vw,880px);aspect-ratio:900/866;translate:0 -50%;background:linear-gradient(140deg,#8be7f3,#2d7fae 70%);-webkit-mask:url(/img/escena/monograma.webp) center/contain no-repeat;mask:url(/img/escena/monograma.webp) center/contain no-repeat;opacity:.075;transform:translateY(calc(var(--cp)*-60px))}
.cover-fog{position:absolute;inset:0;background:radial-gradient(60% 45% at 72% 58%,rgba(95,205,225,.10),transparent 70%),radial-gradient(40% 30% at 90% 20%,rgba(120,200,255,.06),transparent 70%),linear-gradient(180deg,transparent 70%,var(--night))}
.cover .grain{opacity:.06}
.cover-gl{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.2s ease}
.cover.gl-on .cover-gl{opacity:1}
.cover-art{transition:opacity .9s ease,visibility 0s linear 0s}
.cover.gl-on .cover-art{opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s}
.cover-art img{border-color:rgba(127,230,238,.28);box-shadow:0 40px 90px -30px rgba(0,0,0,.85),0 0 0 1px rgba(127,230,238,.08),0 0 60px -10px rgba(80,200,225,.25)}
.cover .chip b{font-family:var(--serif)}
.cover h1 em{background-image:linear-gradient(100deg,#6fdcef,#bff2ff 62%,#ffc0b0)}
.cover .eyebrow{color:#7fe6ee;letter-spacing:.18em}
.cover-in{z-index:1}
.scroll-cue{opacity:calc(1 - var(--cp)*3)}
/* Botones: estados claros */
.cover .btn{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background-color .25s,border-color .25s,filter .25s}
.cover .btn.primary:hover{filter:brightness(1.07);box-shadow:0 16px 34px -12px rgba(217,63,61,.85)}
.cover .btn.glass:hover{background:rgba(127,230,238,.12);border-color:rgba(127,230,238,.55)}
.cover .btn:active{transform:translateY(0) scale(.98)}
.btn:focus-visible,.scroll-cue:focus-visible,.tile:focus-visible{outline:2px solid #7fe6ee;outline-offset:3px;box-shadow:0 0 0 6px rgba(127,230,238,.18)}
/* Móvil: texto y acciones primero, escena compacta */
@media (max-width:980px){
  .cover{padding:96px 0 56px;min-height:auto}
  .cover-in{gap:26px}
  .cover-art{order:0;height:250px!important;max-width:560px;width:100%;margin-inline:auto}
  .cover h1{font-size:clamp(40px,10.5vw,64px)}
  .cover-facts{margin-top:24px}
  .cover-mono{right:-30vw;top:70%;width:110vw;opacity:.06}
  .scroll-cue{display:none}
}
@media (max-width:520px){.cover-art{height:210px!important}.cover-art .c1{top:0}}
@media (prefers-reduced-motion:reduce){.cover-art img,.cover-art .chip{animation:none!important}.cover-gl{display:none}}
@media (max-width:980px){.cover-art .chip{display:none}}
@media (max-width:520px){.cover-facts{flex-wrap:nowrap;gap:14px}.cover-facts li{flex:1 1 0;font-size:12px;line-height:1.3}.cover-facts b{font-size:26px}}

/* Solicitud de acceso a precios */
#gate-pend{text-align:center;padding:8px 4px 4px}
#gate-pend .pend-ic svg{width:54px;height:54px;fill:none;stroke:var(--mint-dark);stroke-width:2.4;stroke-linecap:round}
#gate-pend h4{margin:10px 0 6px;font-size:19px}
#gate-pend p{color:var(--muted);margin:0 0 16px;font-size:14.5px;line-height:1.5}
.cta.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.cta.ghost:hover{border-color:var(--ink)}
.pcard2 .add-p[disabled]{background:#1a8f6a;opacity:1;cursor:default}
.apr .kv2{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.apr .kv2 span{color:var(--muted)}
.apr .kv2 b{text-align:right;word-break:break-word}

/* ===== Funciones interactivas (abren el visor) ===== */
.feats > .feat-open{all:unset;box-sizing:border-box;display:flex;flex-direction:column;background:var(--card);padding:24px;cursor:pointer;position:relative;transition:background .25s ease}
.feats > .feat-open h3{font-size:17px;font-weight:600;margin:8px 0 6px;color:var(--ink)}
.feats > .feat-open .ver{margin-top:auto;padding-top:14px;font-size:13px;font-weight:600;color:var(--mint-dark);display:inline-flex;gap:6px;align-items:center}
.feats > .feat-open .ver b{transition:transform .25s ease}
.feats > .feat-open:hover{background:color-mix(in srgb,var(--card) 90%,var(--mint-dark))}
.feats > .feat-open:hover .ver b{transform:translate(2px,-2px)}
.feats > .feat-open:focus-visible{outline:2px solid var(--mint-dark);outline-offset:-4px}
.gyn-page .feats > .feat-open .ver{color:var(--rose)}
.gyn-page .feats > .feat-open:hover{background:color-mix(in srgb,var(--card) 92%,var(--rose))}

/* ===== Portada: capturas clicables ===== */
.cover-art > button{position:absolute;padding:0;border:0;background:none;cursor:zoom-in;border-radius:16px}
.cover-art > button img{position:static;display:block;width:100%;height:auto;border-radius:16px}
.cover-art > button:hover img{border-color:rgba(127,230,238,.7)}
.cover-art > button:focus-visible{outline:2px solid #7fe6ee;outline-offset:4px}
.cover-ver{grid-column:2;justify-self:end;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;font-size:13px;color:var(--muted-on-dark);margin-top:-8px;position:relative;z-index:2}
.cover-ver span{margin-right:4px}
.cover-ver button{font-weight:600;font-size:12.5px;line-height:1;font-family:inherit;color:#e8fbff;background:rgba(127,230,238,.08);border:1px solid rgba(127,230,238,.35);border-radius:999px;padding:8px 13px;cursor:pointer;transition:background .2s,border-color .2s}
.cover-ver button:hover{background:rgba(127,230,238,.18);border-color:rgba(127,230,238,.7)}
.cover-ver button:focus-visible{outline:2px solid #7fe6ee;outline-offset:3px}
.cover.gl-hover{cursor:zoom-in}
@media (max-width:980px){.cover-ver{grid-column:1;justify-self:start;justify-content:flex-start;margin-top:-12px}}

/* ===== Visor ===== */
html.visor-abierto{overflow:hidden}
dialog.visor{--vz-acc:#7fe6ee;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:clamp(0px,3vw,36px);border:0;background:transparent;color:#e8f1f7;display:none;place-items:center}
dialog.visor[open]{display:grid;animation:vz-in .28s ease both}
dialog.visor[data-tema="gyn"]{--vz-acc:#f2a7c4}
dialog.visor::backdrop{background:rgba(3,12,26,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@keyframes vz-in{from{opacity:0;transform:scale(.985)}}
.vz-shell{width:min(1360px,100%);height:min(860px,100%);display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);background:linear-gradient(160deg,#0b2644,#061a33 60%);border:1px solid rgba(127,230,238,.18);border-radius:22px;overflow:hidden;box-shadow:0 40px 120px -30px rgba(0,0,0,.8)}
.vz-stage{position:relative;display:grid;grid-template-rows:1fr auto auto;min-height:0;background:radial-gradient(80% 70% at 50% 40%,rgba(80,190,215,.12),transparent 70%),#051428}
.vz-view{position:relative;min-height:0;overflow:hidden;display:grid;place-items:center;padding:clamp(14px,2.4vw,30px);cursor:zoom-in;outline:none}
.vz-view:focus-visible{box-shadow:inset 0 0 0 2px var(--vz-acc)}
.vz-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 30px 70px -25px rgba(0,0,0,.9),0 0 0 1px rgba(127,230,238,.22);transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .16s ease;background:#fff}
.vz-img.sale{opacity:0}
.vz-view.doc .vz-img{border-radius:4px;box-shadow:0 30px 70px -25px rgba(0,0,0,.9)}
.vz-view.zoom{cursor:zoom-out}
.vz-view.zoom .vz-img{transform:scale(2.2);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.vz-nav{position:absolute;top:calc(50% - 60px);width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(6,24,47,.72);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px);transition:background .2s,border-color .2s}
.vz-nav:hover{background:rgba(6,24,47,.92);border-color:var(--vz-acc)}
.vz-nav.prev{left:14px}.vz-nav.next{right:14px}
.vz-nav[hidden]{display:none}
.vz-bar{display:flex;justify-content:space-between;align-items:center;padding:0 20px 8px;font-size:12px;color:#8fb0c6}
.vz-count{font:500 12px "Geist Mono",ui-monospace,monospace;letter-spacing:.08em;color:var(--vz-acc)}
.vz-thumbs{display:flex;gap:10px;overflow-x:auto;padding:4px 20px 18px;scrollbar-width:thin}
.vz-thumbs[hidden]{display:none}
.vz-thumbs button{flex:0 0 132px;display:flex;flex-direction:column;gap:6px;padding:0;border:0;background:none;color:#9fb6c6;font-weight:500;font-size:11.5px;line-height:1.25;font-family:inherit;text-align:left;cursor:pointer;opacity:.72;transition:opacity .2s}
.vz-thumbs button img{width:132px;height:74px;object-fit:cover;object-position:top;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#fff}
.vz-thumbs button[aria-selected="true"]{opacity:1;color:#fff}
.vz-thumbs button[aria-selected="true"] img{border-color:var(--vz-acc);box-shadow:0 0 0 2px var(--vz-acc)}
.vz-thumbs button:hover{opacity:1}
.vz-info{position:relative;overflow-y:auto;padding:34px 32px 28px;border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:18px}
.vz-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.vz-close:hover{border-color:var(--vz-acc)}
.vz-eyebrow{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--vz-acc);padding-right:44px}
.vz-title{margin:-6px 0 0;font-family:var(--serif);font-weight:700;font-size:clamp(24px,2.4vw,32px);line-height:1.1;color:#fff;letter-spacing:-.02em}
.vz-intro{margin:-6px 0 0;color:#a9c0d2;font-size:14.5px;line-height:1.55}
.vz-now{padding:16px 18px;border-radius:14px;background:rgba(127,230,238,.06);border:1px solid rgba(127,230,238,.18)}
dialog.visor[data-tema="gyn"] .vz-now{background:rgba(242,167,196,.07);border-color:rgba(242,167,196,.24)}
.vz-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--vz-acc)}
.vz-st{margin:6px 0 4px;font-size:17px;color:#fff}
.vz-sd{margin:0;color:#c4d5e2;font-size:14px;line-height:1.55}
.vz-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.vz-tabs button{font-weight:600;font-size:12.5px;line-height:1;font-family:inherit;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#bcd0de;cursor:pointer}
.vz-tabs button[aria-selected="true"]{background:var(--vz-acc);border-color:var(--vz-acc);color:#06182f}
.vz-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.vz-list li{position:relative;padding-left:24px;font-size:14px;line-height:1.5;color:#d6e3ec}
.vz-list li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2px solid var(--vz-acc);border-bottom:2px solid var(--vz-acc);transform:rotate(-45deg)}
.vz-cta{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px;padding-top:6px}
.vz-cta .btn{font-size:14px;padding:11px 16px}
.vz-cta .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.04)}
@media (max-width:900px){
  dialog.visor{padding:0}
  .vz-shell{height:100%;border-radius:0;grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow-y:auto}
  .vz-stage{height:min(58vh,480px)}
  .vz-info{overflow:visible;border-left:0;border-top:1px solid rgba(255,255,255,.08);padding:24px 20px 28px}
  .vz-nav{width:40px;height:40px;top:calc(50% - 56px)}
  .vz-thumbs button{flex-basis:104px}.vz-thumbs button img{width:104px;height:58px}
  .vz-hint{display:none}
}
@media (prefers-reduced-motion:reduce){dialog.visor[open]{animation:none}.vz-img,.vz-view.zoom .vz-img{transition:none}}
@media (max-width:900px){.vz-close{position:fixed;top:12px;right:12px;z-index:5;background:rgba(6,24,47,.85)}}

.vz-thumbs button span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media (min-width:981px){.cover-ver{position:absolute;z-index:3;left:max(clamp(20px,4vw,72px),calc((100vw - 1800px)/2 + 72px));bottom:30px;margin:0;flex-wrap:nowrap;white-space:nowrap}}
.vz-view.is-mock .vz-img{background:transparent;box-shadow:none;border-radius:14px}
.vz-thumbs button{width:132px;min-width:0}
@media (max-width:900px){.vz-thumbs button{width:104px}}

/* ===== Galería infinita de cada sistema ===== */
.car.galinf{--w:calc((100% - 3*18px)/3.4)}
.car.galinf .rail{gap:18px}
@media (max-width:980px){.car.galinf{--w:calc((100% - 18px)/2.2)}}
@media (max-width:560px){.car.galinf{--w:78%}}
.car.galinf .vp{padding:6px 0 14px}
.gal-item{all:unset;box-sizing:border-box;display:flex;flex-direction:column;width:100%;cursor:pointer;border-radius:18px;background:var(--card);border:1px solid var(--line);overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.gal-item:hover{transform:translateY(-4px);box-shadow:0 22px 44px -22px rgba(6,24,47,.45);border-color:var(--mint-dark)}
.gal-item:focus-visible{outline:2px solid var(--mint-dark);outline-offset:3px}
.gi-img{display:block;aspect-ratio:16/10;background:linear-gradient(160deg,#0b2644,#061a33);overflow:hidden}
.gi-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.gal-item.doc .gi-img{background:#eef2f6}
.gal-item.doc .gi-img img{object-fit:contain;object-position:center;padding:10px}
.gal-item:hover .gi-img img{transform:scale(1.04)}
.gi-cap{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}
.gi-cap b{font-size:15.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gi-cap small{font-size:12.5px;font-weight:600;color:var(--mint-dark)}
.gyn-page .gi-cap small{color:var(--rose)}
.gyn-page .gal-item:hover{border-color:var(--rose)}
.car.galinf .ctl{justify-content:space-between}
.car.galinf .auto{font-size:12.5px;color:var(--muted)}

/* ===== Carrusel circular 3D ===== */
.orbit{--rw:clamp(250px,27vw,360px);position:relative;margin-top:6px}
.orbit.orbit-posts{--rw:clamp(190px,19vw,250px)}.orbit.orbit-logos{--rw:clamp(200px,18vw,240px)}
.ring-view{position:relative;perspective:2200px;perspective-origin:50% 42%;overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;height:340px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.ring-view:active{cursor:grabbing}
.ring-stage{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.ring-item{position:absolute;top:24px;left:50%;width:var(--rw);margin-left:calc(var(--rw) / -2);transform:rotateY(var(--a)) translateZ(var(--r));backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:filter .4s}
.ring-item:not(.front){filter:saturate(.85) brightness(.96)}
.ring-item.front .gal-item{border-color:var(--mint-dark);box-shadow:0 26px 50px -24px rgba(6,24,47,.55)}
.gyn-page .ring-item.front .gal-item{border-color:var(--rose)}
.orbit .gal-item:hover{transform:none}
.ring-ctl{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap}
.ring-ctl .auto{font-size:12.5px;color:var(--muted)}
.ring-ctl .nav2{display:flex;gap:8px}
.ring-ctl .nav2 button{border:1px solid var(--line);background:var(--card);border-radius:10px;width:42px;height:38px;cursor:pointer;font-size:16px;color:var(--ink)}
.ring-ctl .nav2 button:hover{border-color:var(--mint-dark)}
.post-card{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.post-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;cursor:zoom-in}
.post-card figcaption{padding:10px 12px;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ring-item.front .post-card{border-color:var(--mint-dark);box-shadow:0 26px 50px -24px rgba(6,24,47,.5)}
@media (max-width:700px){.orbit{--rw:72vw}.orbit.orbit-posts{--rw:56vw}.orbit.orbit-logos{--rw:58vw}.ring-view{perspective:1400px}}
@media (prefers-reduced-motion:reduce){.ring-item{transition:none}}
/* Héroes: maqueta clicable */
.floaty .mockframe{all:unset;display:block;box-sizing:border-box;cursor:zoom-in;border-radius:18px;overflow:hidden;box-shadow:0 40px 90px -35px rgba(0,0,0,.8)}
.floaty .mockframe img{display:block;width:100%;height:auto}
.floaty .mockframe:focus-visible{outline:2px solid #7fe6ee;outline-offset:4px}

.logo-card{margin:0;border-radius:16px;border:1px solid var(--line);background:#fff;overflow:hidden}
.logo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;padding:18px;cursor:zoom-in}
.logo-card figcaption{padding:9px 12px;font-size:12.5px;font-weight:600;color:#1d2b3a;border-top:1px solid #e7edf3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ring-item.front .logo-card{border-color:var(--mint-dark);box-shadow:0 26px 50px -24px rgba(6,24,47,.45)}

/* ===== Ancho: aprovecha pantallas 16:9 ===== */
.wrap{max-width:1800px;width:100%;padding-inline:clamp(20px,4vw,72px)}
@media (max-width:520px){.wrap{padding-inline:16px}}
@media (min-width:1500px){.orbit{--rw:clamp(300px,21vw,400px)}}

/* ===== Botón de tema ===== */
.top-acc{display:flex;align-items:center;gap:8px;order:3}
.theme-btn{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;cursor:pointer;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;transition:background .2s,border-color .2s,transform .2s}
.theme-btn:hover{border-color:#7fe6ee;transform:translateY(-1px)}
.theme-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.theme-btn .i-moon{display:none}
:root[data-theme="light"] .theme-btn .i-sun{display:none}
:root[data-theme="light"] .theme-btn .i-moon{display:block}
@media (min-width:961px){.top .wrap{gap:24px}.top .nav{margin-left:auto}}

/* ===== Marcas: dos anillos lado a lado ===== */
.orbits2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px);margin-top:48px}
.orbits2 > div{min-width:0}
.orb-t{font-size:22px;font-weight:600;margin:0 0 12px}
.orbits2 .orbit.orbit-posts{--rw:clamp(170px,13vw,250px)}
.orbits2 .orbit.orbit-logos{--rw:clamp(180px,14vw,260px)}
@media (max-width:1000px){.orbits2{grid-template-columns:1fr}.orbits2 .orbit.orbit-posts{--rw:clamp(190px,40vw,260px)}.orbits2 .orbit.orbit-logos{--rw:clamp(200px,44vw,280px)}}

/* =====================================================================
   TEMA CLARO (fondo blanco) — ajusta todas las zonas oscuras
   ===================================================================== */
:root[data-theme="light"]{
  --night:#f4f8fb; --night-2:#e9f1f7; --ink-on-dark:#0b2236; --muted-on-dark:#4d6272;
  --glass:rgba(7,31,61,.04); --glass-line:rgba(7,31,61,.14);
  --paper:#ffffff; --field:#ffffff;
}
/* Cabecera */
:root[data-theme="light"] .top,:root[data-theme="light"] .top.solid{background:rgba(255,255,255,.92);border-bottom-color:var(--line)}
:root[data-theme="light"] .is-cover .top{background:transparent;border-color:transparent}
:root[data-theme="light"] .is-cover .top.solid{background:rgba(255,255,255,.92);border-color:var(--line)}
:root[data-theme="light"] .top .nav a{color:#4d6272}
:root[data-theme="light"] .top .nav a:hover,:root[data-theme="light"] .top .nav a[aria-current="page"]{color:#0b2236}
:root[data-theme="light"] .menu-btn,:root[data-theme="light"] .theme-btn{background:#fff;color:#0b2236;border-color:#cfdde6}
:root[data-theme="light"] .theme-btn:hover{border-color:var(--mint-dark)}
:root[data-theme="light"] .logo{box-shadow:0 0 0 1px #dfe8ee}
@media (max-width:960px){:root[data-theme="light"] .top .nav{background:#fff;border-color:var(--line)}:root[data-theme="light"] .top .nav a{border-color:var(--line)}}
/* Portada */
:root[data-theme="light"] .cover{background:radial-gradient(1200px 760px at 78% 42%,#dcf1f7 0,transparent 60%),radial-gradient(900px 600px at 10% 110%,#e8f0fb 0,transparent 60%),linear-gradient(180deg,#ffffff,#f4f8fb 60%,var(--night))}
:root[data-theme="light"] .aurora i{mix-blend-mode:multiply;opacity:.16!important}
:root[data-theme="light"] .cover .eyebrow,:root[data-theme="light"] .page-hero.dark .eyebrow,:root[data-theme="light"] .ex-head .eyebrow{color:#0f6f93}
:root[data-theme="light"] .cover h1 em,:root[data-theme="light"] .page-hero.dark h1 em{background-image:linear-gradient(100deg,#0c7ea3,#2e6fb6 55%,#c7473f)}
:root[data-theme="light"] .cover-facts b{color:#0b2236}
:root[data-theme="light"] .cover-mono{background:linear-gradient(140deg,#1b8fb0,#0b3a66 70%);opacity:.06}
:root[data-theme="light"] .cover .grain{opacity:.03}
:root[data-theme="light"] .scroll-cue{border-color:rgba(7,31,61,.35)}
:root[data-theme="light"] .scroll-cue span{background:#0b2236}
:root[data-theme="light"] .btn.glass{background:#fff;color:#0b2236;border-color:rgba(7,31,61,.2);backdrop-filter:none}
:root[data-theme="light"] .btn.glass:hover,:root[data-theme="light"] .cover .btn.glass:hover{background:#eef7fa;border-color:#0f6f93}
:root[data-theme="light"] .cover-ver span{color:#4d6272}
:root[data-theme="light"] .cover-ver button{color:#0b2236;background:#fff;border-color:rgba(15,111,147,.35)}
:root[data-theme="light"] .cover-ver button:hover{background:#eef7fa;border-color:#0f6f93}
:root[data-theme="light"] .cover-art img{border-color:rgba(15,111,147,.25);box-shadow:0 34px 70px -30px rgba(7,31,61,.45)}
:root[data-theme="light"] .cover-art .chip{background:rgba(255,255,255,.85);color:#0b2236;border-color:rgba(7,31,61,.12)}
:root[data-theme="light"] .cover-art .chip span{color:#4d6272}
:root[data-theme="light"] .btn:focus-visible,:root[data-theme="light"] .tile:focus-visible{outline-color:#0f6f93;box-shadow:0 0 0 6px rgba(15,111,147,.15)}
/* Explora */
:root[data-theme="light"] .explore{background:linear-gradient(180deg,var(--night),#eef4f9 50%,#e6eff6)}
:root[data-theme="light"] .ex-head h2 em{color:#b24a78}
:root[data-theme="light"] .tile{border-color:rgba(7,31,61,.08);box-shadow:0 18px 40px -26px rgba(7,31,61,.45)}
:root[data-theme="light"] .tile:hover{box-shadow:0 30px 60px -30px rgba(7,31,61,.55),0 0 0 1px rgba(15,111,147,.25) inset}
/* Héroes interiores */
:root[data-theme="light"] .page-hero.dark{background:radial-gradient(1200px 600px at 15% -10%,#dcf1f7 0,transparent 60%),linear-gradient(180deg,#ffffff,var(--night-2))}
:root[data-theme="light"] .page-hero.dark .brand{box-shadow:0 10px 30px -14px rgba(7,31,61,.35)}
:root[data-theme="light"] .page-hero.dark .frame{border-color:rgba(7,31,61,.12);box-shadow:0 34px 70px -32px rgba(7,31,61,.45)}
:root[data-theme="light"] .page-hero.dark figcaption b{color:#0b2236!important}
:root[data-theme="light"] .crumb:hover{background:rgba(7,31,61,.06);color:#0b2236}
:root[data-theme="light"] .page-hero.dark .btn.ghost{color:#0b2236;border-color:rgba(7,31,61,.25);background:#fff}
:root[data-theme="light"] .page-hero.dark .btn.ghost:hover{border-color:#0b2236}
:root[data-theme="light"] .page-hero.dark .sw button{background:#fff;color:#0b2236;border-color:rgba(7,31,61,.18)}
:root[data-theme="light"] .page-hero.dark .sw button[aria-pressed="true"]{background:#0b2236;color:#fff}
:root[data-theme="light"] .page-hero.dark .client-box{background:rgba(7,31,61,.04)}
:root[data-theme="light"] .floaty .mockframe{box-shadow:0 34px 70px -34px rgba(7,31,61,.5)}
/* Pie y bloques de llamada: se mantienen en azul marino (buen contraste en ambos temas) */
:root[data-theme="light"] .is-cover .foot{background:#0b2236}

@media (max-width:980px){.cover{flex-direction:column}.cover-ver{padding-inline:clamp(20px,4vw,72px);margin-top:18px;width:100%}}
