/* Dirección visual: una interfaz sobria con controles de vidrio discretos. */
:root{--surface:#141414;--edge:#343434;--quiet:#aaa;--glass-top:#5a5a5a;--glass-base:#222}
body.light{--surface:#fff;--edge:#d0d0d0;--quiet:#676767;--glass-top:#666;--glass-base:#242424}
html,body{font-family:"Segoe UI",system-ui,sans-serif;letter-spacing:0}
.topbar{height:68px;padding-inline:clamp(24px,5vw,80px);border-color:var(--edge)}
.topbar:after{display:none}
.brand{font-size:17px;letter-spacing:-.035em;font-weight:750}
.brand small{font-size:10px;letter-spacing:.1em;font-weight:500;margin-left:16px;padding-left:16px}
.eyebrow{font-size:11px;letter-spacing:.1em;font-weight:600;color:var(--quiet)}
.home{max-width:1250px;padding:28px clamp(24px,5vw,70px);justify-content:center}
.home-heading{display:block;margin-bottom:30px}
.home-heading .eyebrow{margin-bottom:14px;display:block}
.home-heading .eyebrow:before,.home-heading:after,.home-note:after{display:none}
.home-heading h1{font-size:clamp(36px,4.5vw,60px);line-height:1.08;letter-spacing:-.045em;font-weight:650}
.home-heading h1 em{color:inherit;-webkit-text-stroke:0}
.home-heading>p:last-child{font-size:15px;line-height:1.5;max-width:none;margin:12px 0 0;color:var(--quiet)}
.cards{height:min(43vh,350px);gap:16px}
.choice-card{display:flex;align-items:stretch;border:1px solid var(--edge);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:none;transition:border-color .2s,transform .2s}
.choice-card:hover{border-color:var(--quiet);box-shadow:none;transform:translateY(-3px)}
.choice-card:before,.choice-card:after{display:none}
.choice-card img,.choice-card:first-child img,.choice-card:nth-child(2) img{order:2;width:47%;height:100%;object-fit:cover;object-position:center;opacity:1;border-left:1px solid var(--edge)}
.choice-card:nth-child(2) img{object-fit:contain;background:#090909}
.choice-card:hover img{transform:none;opacity:1}
.card-overlay{position:relative;inset:auto;order:1;width:53%;padding:clamp(18px,2.1vw,30px);justify-content:center;align-items:flex-start;z-index:1}
.card-overlay small{color:var(--quiet);font-size:10px;letter-spacing:.1em;font-weight:600}
.card-overlay small:before{display:none}
.card-overlay strong{font-size:clamp(24px,2.7vw,35px);line-height:1.12;letter-spacing:-.04em;font-weight:650;margin:12px 0 22px;max-width:none}
.card-overlay>span{font-size:12px;min-height:42px;padding-left:14px;letter-spacing:0;border-radius:9px}
.card-overlay b{min-height:40px;width:38px;margin-left:12px}
.home-note{margin:16px 0 0;font-size:12px;letter-spacing:0}
.registration-layout{max-width:1250px;padding:28px clamp(24px,5vw,70px);grid-template-columns:1fr minmax(390px,510px);gap:clamp(40px,7vw,100px)}
.service-backdrop{opacity:.14;background-position:center;background-size:cover}
.registration:after{background:linear-gradient(90deg,var(--bg) 8%,transparent 95%),linear-gradient(0deg,var(--bg),transparent 72%)}
.service-intro:before,.service-intro .eyebrow:before{display:none}
.service-intro .eyebrow{display:block;margin:clamp(25px,5vh,50px) 0 0}
.service-intro h1{font-size:clamp(42px,5vw,68px);line-height:1.05;letter-spacing:-.045em;font-weight:650;margin:14px 0 16px}
.service-intro>p:not(.eyebrow):not(.preview-note){font-size:15px;line-height:1.5;max-width:320px}
.service-intro .preview-note{font-size:11px;letter-spacing:0;line-height:1.5}
.panel,.info-panel{background:var(--surface);border:1px solid var(--edge);border-radius:16px;box-shadow:0 18px 55px #00000024}
.panel{height:min(100%,600px);padding:clamp(24px,3.5vh,36px)}
.panel:before,.info-panel:before{display:none}
.panel-top h2,.info-panel h2{font-size:clamp(25px,2.5vw,31px);font-weight:650;letter-spacing:-.035em;line-height:1.15}
.panel-top .eyebrow{font-size:10px;letter-spacing:.1em}
.progress{height:2px;margin:23px 0 26px;background:var(--edge)}
.form-step{gap:16px}
.step-copy{font-size:14px;line-height:1.5;color:var(--quiet)}
label{font-size:12px;font-weight:600;letter-spacing:0;line-height:1.4}
input:not([type=checkbox]),select{border-radius:9px;background:var(--input);border-color:var(--edge);height:50px;font-size:14px}
.panel-actions,.info-actions{border-color:var(--edge)}
.required-note{font-size:11px;letter-spacing:0}
.preview-note{color:var(--quiet)}
.button,.outline-button,.read-terms,.info-mini,.card-overlay>span,.icon-button{color:#f9f9f9;border:1px solid #818181;border-radius:9px;background:linear-gradient(180deg,var(--glass-top),#303030 43%,var(--glass-base) 100%);box-shadow:inset 0 1px 0 #ffffff80,0 3px 10px #00000033;text-shadow:none}
.button,.outline-button,.read-terms{min-height:48px;padding-left:16px;font-size:13px;font-weight:600;letter-spacing:0}
.button span,.outline-button span,.read-terms span,.card-overlay b{width:43px;min-height:46px;border-left:1px solid #ffffff30;background:transparent;box-shadow:none}
.button:hover,.outline-button:hover,.read-terms:hover,.info-mini:hover,.icon-button:hover,.choice-card:hover .card-overlay>span{color:#fff;background:linear-gradient(180deg,#727272,#393939 43%,#292929);border-color:#aaa;box-shadow:inset 0 1px 0 #ffffffaa,0 5px 14px #00000044;filter:none;transform:none}
.back-link{font-weight:600;font-size:12px;padding:8px 0;min-height:44px;border:0;background:transparent}
.back-link:hover{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px}
.icon-button{width:42px;height:42px;border-radius:50%;font-size:19px}
.glass-select{margin-top:-8px}
.glass-select-trigger,body.light .glass-select-trigger{min-height:50px;color:var(--ink);border:1px solid var(--edge);border-radius:9px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 85%,white),var(--surface));box-shadow:inset 0 1px 0 #ffffff20}
.glass-select-trigger:hover,.glass-select.is-open .glass-select-trigger{border-color:var(--quiet);filter:none;box-shadow:inset 0 1px 0 #ffffff30}
.glass-select-value{font-size:14px;font-weight:400}
.glass-select.is-placeholder .glass-select-value{color:var(--quiet)}
.glass-select-icon{width:46px;border-left:1px solid var(--edge);background:transparent;box-shadow:none}
.glass-select-list,body.light .glass-select-list{padding:5px;border-color:var(--edge);border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:0 12px 30px #00000055}
.glass-select-option{font-size:13px;font-weight:400;border-radius:6px}
.glass-select-option.is-active{background:var(--soft);box-shadow:none}
.glass-select-option[aria-selected=true]:after{color:var(--ink)}
footer{height:34px;padding-inline:clamp(24px,5vw,80px);border-color:var(--edge);font-size:10px;letter-spacing:.1em;font-weight:500}
@media(max-width:700px){
 .topbar{height:58px;padding-inline:18px}.brand{font-size:15px}.brand small{font-size:9px;margin-left:10px;padding-left:10px}.icon-button{width:38px;height:38px}
 .home{padding:20px 18px 14px}.home-heading{margin-bottom:18px}.home-heading .eyebrow{font-size:10px;margin-bottom:10px}.home-heading h1{font-size:clamp(32px,9vw,42px);line-height:1.08;letter-spacing:-.04em}.home-heading>p:last-child{font-size:13px;margin-top:8px}.cards{height:auto;flex:1;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:10px}.choice-card{border-radius:12px}.choice-card img,.choice-card:first-child img,.choice-card:nth-child(2) img{width:39%}.card-overlay{width:61%;padding:15px 16px}.card-overlay small{font-size:9px}.card-overlay strong{font-size:clamp(22px,6vw,28px);margin:7px 0 10px;line-height:1.06}.card-overlay>span{min-height:34px;font-size:10px;padding-left:10px}.card-overlay b{width:32px;min-height:32px;margin-left:8px}.home-note{font-size:10px;margin-top:10px}
 .choice-card img,.choice-card:first-child img,.choice-card:nth-child(2) img{object-fit:contain;background:#090909}.registration-layout{padding:12px 16px;gap:12px}.service-intro .eyebrow{display:none}.service-intro h1{font-size:23px;margin:0;line-height:1.04}.service-intro .back-link{padding:4px 0}.panel{height:auto;padding:20px;border-radius:12px}.panel-top h2{font-size:24px}.progress{margin:16px 0 19px}.form-step{gap:13px}.step-copy{font-size:13px}.info-mini{display:inline-flex;min-height:40px}.button{min-height:44px}.button span{min-height:42px}.glass-select-trigger,body.light .glass-select-trigger{min-height:46px}footer{height:28px;padding-inline:18px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}

/* Una sola escala tipográfica y un acabado de vidrio común para acciones y campos. */
:root{
  --control-top:#3c3c3c; --control-bottom:#242424; --control-edge:#696969;
  --control-ink:#f5f5f5; --control-highlight:#ffffff38; --control-divider:#ffffff24;
}
body.light{
  --control-top:#fff; --control-bottom:#e5e5e5; --control-edge:#a5a5a5;
  --control-ink:#181818; --control-highlight:#ffffffd9; --control-divider:#00000020;
}
html,body,button,input,select,textarea{font-family:Inter,"Segoe UI",system-ui,sans-serif}
.home-heading h1,.service-intro h1{font-weight:600;letter-spacing:-.035em}
.card-overlay strong{font-weight:600;letter-spacing:-.025em}
.panel-top h2,.info-panel h2{font-weight:600;letter-spacing:-.025em}
.home-heading>p:last-child,.service-intro>p:not(.eyebrow):not(.preview-note),.step-copy{font-size:15px;line-height:1.5}
label{font-size:13px;font-weight:600;line-height:1.4}
.button,.outline-button,.read-terms,.info-mini,.card-overlay>span,.icon-button,
.glass-select-trigger,body.light .glass-select-trigger{
  color:var(--control-ink);border:1px solid var(--control-edge);border-radius:10px;
  background:linear-gradient(180deg,var(--control-top),var(--control-bottom));
  box-shadow:inset 0 1px 0 var(--control-highlight),0 3px 10px #00000024;
  text-shadow:none;
}
.button,.outline-button,.read-terms,.info-mini,.card-overlay>span{
  min-height:48px;font-size:14px;font-weight:600;letter-spacing:0;line-height:1.2;
}
.button span,.outline-button span,.read-terms span,.card-overlay b,.glass-select-icon{
  min-height:46px;width:46px;border-left:1px solid var(--control-divider);background:transparent;box-shadow:none;
}
.button:hover,.outline-button:hover,.read-terms:hover,.info-mini:hover,.icon-button:hover,
.choice-card:hover .card-overlay>span,.glass-select-trigger:hover,.glass-select.is-open .glass-select-trigger{
  color:var(--control-ink);background:linear-gradient(180deg,var(--control-top),var(--control-bottom));
  border-color:var(--ink);box-shadow:inset 0 1px 0 var(--control-highlight),0 5px 14px #00000030;
  filter:none;
}
.glass-select-trigger,body.light .glass-select-trigger{min-height:50px;text-align:left}
.glass-select-value{font-size:14px;font-weight:500;line-height:1.3}
.glass-select.is-placeholder .glass-select-value{color:var(--control-ink);opacity:.76}
.glass-select-option{font-size:14px;font-weight:500;line-height:1.35}
.glass-select-list,body.light .glass-select-list{border-color:var(--control-edge);border-radius:10px}
.back-link{font-size:14px;font-weight:600}
.icon-button{border-radius:50%}
body.light .button,body.light .outline-button,body.light .read-terms,body.light .info-mini{
  color:var(--control-ink);background:linear-gradient(180deg,var(--control-top),var(--control-bottom));
  border-color:var(--control-edge);box-shadow:inset 0 1px 0 var(--control-highlight),0 3px 10px #00000024;
}
body.light .button:hover,body.light .outline-button:hover,body.light .read-terms:hover,body.light .info-mini:hover{
  color:var(--control-ink);background:linear-gradient(180deg,var(--control-top),var(--control-bottom));border-color:var(--ink);
}
body.light .button span{color:inherit;background:transparent}
.required-note,.home-note,.service-intro .preview-note{font-size:12px;line-height:1.45}
@media(max-width:700px){
  .home-heading h1,.service-intro h1{letter-spacing:-.03em}
  .card-overlay strong{font-weight:600;letter-spacing:-.025em}
  .card-overlay>span{min-height:40px;font-size:13px;padding-left:11px}
  .card-overlay b{width:37px;min-height:38px;margin-left:9px}
  .button,.outline-button,.read-terms,.info-mini{min-height:44px;font-size:14px}
  .button span,.outline-button span,.read-terms span{min-height:42px;width:42px}
  .glass-select-trigger,body.light .glass-select-trigger{min-height:46px}
  .glass-select-icon{min-height:44px;width:42px}
  .glass-select-value,.glass-select-option{font-size:14px}
  .step-copy{font-size:14px}
}

/* Una misma familia y tratamiento tipográfico para todos los controles. */
:root{--interface-font:Inter,"Segoe UI",system-ui,sans-serif}
html,body,button,input,select,textarea{font-family:var(--interface-font)}
.button,.outline-button,.read-terms,.info-mini,.back-link,.card-overlay>span,
.glass-select-trigger,.glass-select-value,.glass-select-option{
  font-family:var(--interface-font);
  font-weight:500;
  letter-spacing:0;
}
label{font-family:var(--interface-font);font-weight:500;letter-spacing:0}
