/* Dirección inspirada en Framer State of Sites y los botones de Spacious74. */
:root{--hero-font:'Instrument Serif',Georgia,'Times New Roman',serif;--ui-font:Inter,'Segoe UI',system-ui,sans-serif;--glow:145,145,145;--line-ui:#353535;--surface-ui:#090909;--text-ui:#f9f9f9;--secondary-ui:#aaa}
body.light{--line-ui:#c7c7c7;--surface-ui:#fff;--text-ui:#111;--secondary-ui:#555}
body[data-service=canal]{--glow:30,124,255}body[data-service=curso]{--glow:255,123,35}
html,body,button,input,select,textarea{font-family:var(--ui-font)}
body{color:var(--text-ui);background:#070707}body.light{background:#f2f2f2}
.topbar{border:0;background:transparent;height:64px}.brand{font-size:15px;letter-spacing:-.03em}.brand small{font-size:10px;letter-spacing:.08em}
.icon-button{width:40px;height:40px;background:transparent;color:var(--text-ui);border:1px solid var(--line-ui);box-shadow:none}
.icon-button:hover{color:var(--text-ui);border-color:var(--text-ui);background:transparent;box-shadow:none}
.home{width:100%;max-width:1440px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,470px);grid-template-rows:auto auto;column-gap:clamp(36px,8vw,130px);align-content:center;align-items:center;justify-content:stretch;padding:28px clamp(28px,5vw,76px)}
.home-heading{grid-column:1;grid-row:1;margin:0}.home-heading .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:24px}
.home-heading h1,.service-intro h1{font-family:var(--hero-font);font-weight:400;font-style:normal;letter-spacing:-.03em}
.home-heading h1{font-size:clamp(64px,8.3vw,118px);line-height:.9;max-width:680px}.home-heading h1 em{font-style:normal;color:inherit;-webkit-text-stroke:0}
.home-heading>p:last-child{max-width:460px;color:var(--secondary-ui);font-size:clamp(15px,1.4vw,19px);line-height:1.45;margin-top:22px}
.cards{grid-column:2;grid-row:1 / span 2;height:auto;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;padding:0}
.choice-card{--glow:30,124,255;position:relative;min-height:172px;max-height:200px;overflow:visible;display:flex;align-items:stretch;border:1px solid var(--line-ui);border-radius:20px;background:var(--surface-ui);color:var(--text-ui);box-shadow:none;transform:none;isolation:auto}
.choice-card[data-choice=curso]{--glow:255,123,35}.choice-card:hover{border-color:var(--line-ui);transform:none;box-shadow:none}
.choice-card img,.choice-card:first-child img,.choice-card:nth-child(2) img{order:2;width:39%;height:auto;min-height:0;object-fit:contain;object-position:center;opacity:1;border:0;border-radius:0 19px 19px 0;background:#090909}
.card-overlay{order:1;position:relative;inset:auto;width:61%;padding:21px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0}
.card-overlay small{font-family:var(--ui-font);font-size:10px;font-weight:500;letter-spacing:.08em;color:var(--secondary-ui)}
.card-overlay strong{font-family:var(--hero-font);font-weight:400;letter-spacing:-.02em;font-size:clamp(30px,2.6vw,39px);line-height:.96;margin:10px 0 15px}
.card-overlay>span,.button,.outline-button,.read-terms,.info-mini{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:43px;padding:0 16px;color:#fff!important;background:#090909!important;border:1.5px solid rgba(var(--glow),.9)!important;border-radius:12px!important;font-family:var(--ui-font);font-size:13px!important;font-weight:500;letter-spacing:0;line-height:1.2;text-shadow:none;box-shadow:0 0 0 1px rgba(var(--glow),.18),0 0 18px rgba(var(--glow),.24)!important;transition:box-shadow .4s ease,border-color .25s ease,transform .15s ease;isolation:isolate}
.card-overlay>span{min-height:40px;font-size:12px!important;padding:0 12px}.card-overlay b,.button span,.outline-button span,.read-terms span{display:inline-flex;align-items:center;justify-content:center;min-height:0;width:auto;height:auto;margin:0;border:0;background:none;box-shadow:none;color:inherit}.arrow-icon{width:17px;height:17px}
.button:hover,.outline-button:hover,.read-terms:hover,.info-mini:hover,.choice-card:hover .card-overlay>span,.button:focus-visible,.choice-card:focus-visible .card-overlay>span{color:#fff!important;background:#090909!important;border-color:rgb(var(--glow))!important;box-shadow:0 0 0 1px rgba(var(--glow),.32),0 0 24px rgba(var(--glow),.55)!important;filter:none;transform:none}
.button:active,.outline-button:active,.read-terms:active,.info-mini:active,.choice-card:active .card-overlay>span{box-shadow:0 0 4px rgba(var(--glow),.4)!important;transform:translateY(1px)}
.home-note{grid-column:1;grid-row:2;align-self:start;margin:24px 0 0;color:var(--secondary-ui);font-size:12px}
.registration-layout{max-width:1440px;padding:26px clamp(28px,5vw,76px);grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:clamp(36px,8vw,130px)}
.service-backdrop{opacity:.08;background-position:left center;background-size:cover}.registration:after{background:linear-gradient(90deg,var(--bg) 0%,transparent 90%),linear-gradient(0deg,var(--bg),transparent 75%)}
.service-intro h1{font-size:clamp(68px,7.5vw,106px);line-height:.88;margin:18px 0 24px}
.service-intro .eyebrow{margin-top:clamp(28px,5vh,55px)}.service-intro>p:not(.eyebrow):not(.preview-note){font-size:17px;line-height:1.5;max-width:400px;color:var(--secondary-ui)}
.service-intro .preview-note{font-size:11px;line-height:1.4}
.panel,.info-panel{background:var(--surface-ui);border:1px solid var(--line-ui);border-radius:28px;box-shadow:0 20px 50px #0002}
.panel{max-height:560px;padding:clamp(24px,3.5vh,36px)}.panel-top h2,.info-panel h2{font-family:var(--ui-font);font-size:25px;font-weight:600;letter-spacing:-.04em}
.progress{height:2px;background:var(--line-ui);margin:20px 0 24px}.step-copy{color:var(--secondary-ui)}
input:not([type=checkbox]),select,.glass-select-trigger,body.light .glass-select-trigger{border:1px solid transparent;border-radius:8px;background:#1a1a1a;color:#fff;box-shadow:none}
body.light input:not([type=checkbox]),body.light select,body.light .glass-select-trigger{background:#ededed;color:#111;border-color:#ddd}
.glass-select-trigger:hover,.glass-select.is-open .glass-select-trigger{border-color:var(--line-ui);background:#1a1a1a;box-shadow:none}
body.light .glass-select-trigger:hover,body.light .glass-select.is-open .glass-select-trigger{background:#ededed;border-color:#aaa}
.glass-select-icon{border:0;box-shadow:none;background:transparent}.glass-select-list,body.light .glass-select-list{background:var(--surface-ui);border-color:var(--line-ui);box-shadow:0 14px 35px #0006}
.glass-select-option.is-active{background:var(--soft)}.glass-select.is-placeholder .glass-select-value{color:var(--secondary-ui)}
.back-link,.back-link:hover{color:var(--secondary-ui);font-size:13px;background:transparent;border:0;box-shadow:none}
.info-mini{font-size:12px!important;padding:0 14px}.panel-actions{border:0}.required-note,.home-note{color:var(--secondary-ui)}
footer{height:30px;border:0;color:var(--secondary-ui);letter-spacing:.04em;font-size:10px}
@media(max-width:700px){
 .topbar{height:52px;padding-inline:20px}.brand{font-size:14px}.brand small{font-size:9px}.icon-button{width:36px;height:36px}
 .home{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:16px 20px;gap:0}.home-heading{margin:0 0 20px}.home-heading .eyebrow{margin:0 0 10px;font-size:10px}.home-heading h1{font-size:clamp(51px,13vw,70px);line-height:.9;letter-spacing:-.03em}.home-heading>p:last-child{font-size:14px;line-height:1.35;margin:12px 0 0;max-width:300px}
 .cards{flex:1;max-height:360px;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}.choice-card{min-height:0;max-height:none;border-radius:16px}.choice-card img,.choice-card:first-child img,.choice-card:nth-child(2) img{width:39%;border-radius:0 15px 15px 0;object-fit:contain}.card-overlay{width:61%;padding:12px 16px}.card-overlay small{font-size:9px}.card-overlay strong{font-size:clamp(26px,7vw,32px);margin:7px 0 9px;line-height:.95}.card-overlay>span{min-height:37px;font-size:12px!important}.home-note{margin:10px 0 0;font-size:10px}
 .registration-layout{padding:10px 16px;gap:10px}.service-intro h1{font-family:var(--hero-font);font-size:32px;line-height:.9;margin:0}.service-intro .back-link{font-size:12px}.panel{max-height:none;padding:20px;border-radius:19px}.panel-top h2{font-size:22px}.panel-top .eyebrow{font-size:10px}.progress{margin:15px 0 18px}.form-step{gap:13px}.step-copy{font-size:13px}.button{min-height:44px}.required-note{font-size:10px}footer{height:24px}
}
@media(max-height:680px) and (min-width:701px){.cards{gap:8px}.choice-card{min-height:135px}.card-overlay{padding:12px 18px}.card-overlay strong{margin:5px 0 7px;font-size:30px}.home-heading h1{font-size:75px}.panel{max-height:100%;padding:18px 25px}.progress{margin:12px 0 14px}.form-step{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
/* El acceso compacto a la información solo aparece en móvil. */
.info-mini{display:none}
@media(max-width:700px){.info-mini{display:inline-flex}}

/* El botón compacto usa fondo opaco; el desenfoque heredado no es necesario. */
.info-mini{
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  font-size:14px!important;
}

/* Las flechas no llevan un recuadro propio: solo el botón recibe el brillo. */
.button:hover span,.button:focus-visible span,.button:active span,
.outline-button:hover span,.outline-button:focus-visible span,.outline-button:active span,
.read-terms:hover span,.read-terms:focus-visible span,.read-terms:active span,
.choice-card:hover .card-overlay b,.choice-card:focus-visible .card-overlay b,.choice-card:active .card-overlay b,
body.light .button:hover span,body.light .button:focus-visible span,body.light .button:active span {
  background:transparent;
  border:0;
  box-shadow:none;
  transform:none;
}
