*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.6;text-wrap:pretty}
a{color:var(--color-text);text-decoration:none}a:hover{color:var(--color-accent)}
p a,.note a,.consent a{text-decoration:underline}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
h1,h2,h3{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0}
h1{font-size:clamp(38px,5.4vw,74px);line-height:1.06;letter-spacing:-.02em}
h2{font-size:clamp(28px,3vw,40px);line-height:1.1}
ul,ol{list-style:none;margin:0;padding:0}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:99;background:var(--color-bg);padding:8px 12px}
.wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(20px,5vw,72px)}
.wrapx{max-width:calc(1200px - 2*clamp(20px,5vw,72px));margin-inline:auto;width:calc(100% - 2*clamp(20px,5vw,72px))}
.kick{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);margin:0 0 16px;font-family:var(--font-body);font-weight:400}
.muted{color:color-mix(in srgb,var(--color-text) 78%,transparent)}
.mw{max-width:60ch}
.note{font-size:13.5px;line-height:21px;color:color-mix(in srgb,var(--color-text) 72%,transparent)}
.lead{font-size:18px;line-height:28px;max-width:56ch;margin:24px 0 0}
.row{display:flex;gap:8px;flex-wrap:wrap}
.btn{justify-content:flex-start;text-align:left;white-space:nowrap}
.btn-primary,.btn-primary:hover{color:var(--color-bg)}
.btn.inv{color:var(--color-bg);border-color:var(--color-bg)}
.nav{flex-wrap:wrap;gap:16px;max-width:none}
.links{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-left:auto}
.links a{white-space:nowrap}
.lang{font-size:13px;letter-spacing:.08em;border:1px solid var(--color-divider);padding:4px 8px}
.logo{display:inline-flex;align-items:center;gap:10px;color:var(--color-text)}
.mark{width:30px;height:30px;background:var(--color-accent);color:var(--color-bg);display:flex;align-items:flex-end;padding:0 0 3px 4px;font-family:var(--font-heading);font-weight:800;font-size:15px;line-height:1;letter-spacing:-.03em;flex-shrink:0}
.word{font-family:var(--font-heading);font-weight:800;font-size:17px;letter-spacing:-.02em;white-space:nowrap;display:flex;flex-direction:column;line-height:1;gap:4px}
.word span{font-weight:400;display:inline}.word b{color:var(--color-accent)}
.word small{font-family:var(--font-body);font-weight:400;font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.logo.big .mark{width:40px;height:40px;font-size:20px}.logo.big .word{font-size:22px}
.word{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0}.word small{flex-basis:100%;margin-top:4px}
.hero{padding-block:clamp(48px,8vw,96px) clamp(40px,6vw,72px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:48px;align-items:end}
.hero1{padding-block:clamp(56px,10vw,120px)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.pricecard{padding:var(--space-8);gap:16px;border-top:2px solid var(--color-divider)}
.price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0}
.price span{font-family:var(--font-heading);font-weight:800;font-size:64px;line-height:1;color:var(--color-accent)}
.price b{font-size:15px}
.disc{margin-top:0;margin-bottom:24px;font-size:13px;line-height:20px;color:color-mix(in srgb,var(--color-text) 72%,transparent)}
.hr{margin-block:0}
.sec{padding-block:clamp(48px,7vw,84px)}.sec0{padding-bottom:clamp(48px,7vw,84px)}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:48px}
.two>div>p{max-width:46ch}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));border-top:2px solid var(--color-divider)}
.steps li{padding:24px 24px 24px 0;border-bottom:2px solid var(--color-divider);display:flex;flex-direction:column;gap:12px}
.num{font-family:var(--font-heading);font-weight:800;font-size:44px;line-height:1;color:var(--color-accent)}
.steps h3{font-size:22px;line-height:1.2}.steps p{margin:0;font-size:15px;line-height:24px;color:color-mix(in srgb,var(--color-text) 78%,transparent)}
.sub{font-family:var(--font-body);font-weight:400;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:16px 0;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.sub.acc{color:var(--color-accent-700)}
.docs{border-top:2px solid var(--color-divider)}
.doc{display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;align-items:baseline;padding:16px 0;border-bottom:2px solid var(--color-divider)}
.doc b{display:block;font-size:16.5px;line-height:24px}.doc div span{display:block;font-size:14.5px;line-height:22px;color:color-mix(in srgb,var(--color-text) 72%,transparent)}
.dot{width:10px;height:10px;background:var(--color-accent);display:block}.dot.ink{background:var(--color-text)}
.sits{display:flex;flex-wrap:wrap;margin-top:24px}
.sits>input{position:absolute;opacity:0;pointer-events:none}
.sits>label{font-size:14px;padding:10px 14px;border:2px solid var(--color-divider);margin:0 -2px -2px 0;cursor:pointer;white-space:nowrap}
.sits>label:hover{background:var(--color-accent-100)}
.sits>input:checked+label{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}
.sits>input:focus-visible+label{outline:2px solid var(--color-accent);outline-offset:2px}
.sits>.two{flex-basis:100%;margin-top:24px}
.panel{display:none}
#sit-ajena:checked~.two [data-sit=ajena],#sit-autonomo:checked~.two [data-sit=autonomo],#sit-estudiante:checked~.two [data-sit=estudiante],#sit-sin:checked~.two [data-sit=sin],#sit-familiar:checked~.two [data-sit=familiar]{display:block}
.sub{margin:0}
.morelinks{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px;font-weight:600}.morelinks a{text-decoration:none}
.tscroll{overflow-x:auto}.table{font-size:15px;width:100%}.table th[scope=row]{font-weight:600;text-align:left}
.table td,.table th{padding:16px 8px;vertical-align:top}
.bigprice{font-family:var(--font-heading);font-weight:800;font-size:clamp(64px,8vw,112px);line-height:1;color:var(--color-accent);margin:24px 0 16px}
.incl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));border-top:2px solid var(--color-divider);align-self:end;gap:0 24px}
.incl ul{display:flex;flex-direction:column;gap:8px;padding-bottom:24px}.incl .note{grid-column:1/-1;margin:0;padding-top:16px;border-top:2px solid var(--color-divider)}
.cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));border-top:2px solid var(--color-divider);margin:24px 0 16px}
.cities a{display:flex;flex-direction:column;gap:8px;padding:24px 16px 24px 0;border-bottom:2px solid var(--color-divider);height:100%}
.cities b{font-family:var(--font-heading);font-weight:800;font-size:22px;line-height:1.2}.cities span{font-size:14px;color:color-mix(in srgb,var(--color-text) 72%,transparent)}
.glinks{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px;border-top:2px solid var(--color-divider);padding-top:20px}
.full{grid-column:1/-1}.hp{position:absolute;left:-9999px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:20px;cursor:pointer}.consent input{accent-color:var(--color-accent);margin-top:3px;width:16px;height:16px}
.faqs{border-top:2px solid var(--color-divider)}
.qa{border-bottom:2px solid var(--color-divider)}
.qa summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:16px;padding:20px 0}
.qa summary::-webkit-details-marker{display:none}
.qa h3{font-weight:600;font-size:18px;line-height:26px;letter-spacing:0}.qa summary:hover h3{color:var(--color-accent)}
.sign{font-size:24px;line-height:26px;color:var(--color-accent)}.qa[open] .sign{transform:rotate(45deg)}
.qa p{margin:0;padding:0 48px 20px 0;font-size:15.5px;line-height:26px;color:color-mix(in srgb,var(--color-text) 78%,transparent)}
.poster{background:var(--color-accent);color:var(--color-bg)}.poster .wrap{padding-block:clamp(56px,8vw,96px)}
.ph{font-family:var(--font-heading);font-weight:800;font-size:clamp(34px,4.2vw,56px);line-height:1.06;letter-spacing:-.015em;margin:0 0 24px}
.crumbs{padding-block:24px;font-size:13px;display:flex;gap:8px;flex-wrap:wrap;color:color-mix(in srgb,var(--color-text) 72%,transparent)}
.gl{display:flex;flex-wrap:wrap;gap:48px;padding-block:clamp(40px,6vw,72px)}
.side{flex:1 1 220px;max-width:280px}.side nav{position:sticky;top:24px;border-top:2px solid var(--color-divider)}
.side .sh{margin:0;padding:20px 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 70%,transparent)}
.side a{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-divider);font-size:15px}
.side a .dot{width:8px;height:8px;background:transparent}.side a[aria-current]{font-weight:700}.side a[aria-current] .dot{background:var(--color-accent)}
.art{flex:999 1 480px;min-width:0;max-width:760px}
.art>h2{font-size:26px;line-height:1.2;margin-top:48px;padding-top:24px;border-top:2px solid var(--color-divider)}
.art>p{font-size:16px;line-height:27px;max-width:66ch}
.art>.docs,.art>.gsteps,.art>.faqs,.art>.tscroll,.art>.cities{margin-top:24px}
.notec{margin-top:24px;padding:20px;border-top:2px solid var(--color-accent)}.notec p{margin:0;font-size:15px;line-height:24px}.notec .kick{margin:0}
.gsteps{border-top:2px solid var(--color-divider)}.gsteps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:2px solid var(--color-divider)}
.gsteps .num{font-size:28px}.gsteps h3{font-size:17px;font-weight:600;letter-spacing:0;font-family:var(--font-body)}.gsteps p{margin:4px 0 0;font-size:15px;line-height:24px;color:color-mix(in srgb,var(--color-text) 75%,transparent)}
.ctabox{margin-top:56px;background:var(--color-accent);color:var(--color-bg);padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:12px;align-items:flex-start}.ctabox p{margin:0}
.ph2{font-family:var(--font-heading);font-weight:800;font-size:clamp(26px,3vw,36px);line-height:1.1}
.foot{border-top:2px solid var(--color-divider);margin-top:0}
.fgrid{padding-block:var(--space-8);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:24px;font-size:13.5px;line-height:21px;color:color-mix(in srgb,var(--color-text) 72%,transparent)}
.fcol{display:flex;flex-direction:column;gap:8px}.fcol strong{color:var(--color-text)}.fcol p{margin:0}
.linkbtn{all:unset;cursor:pointer;text-decoration:underline}.linkbtn:focus-visible{outline:2px solid var(--color-accent)}
.copy{padding-bottom:24px;font-size:13px;color:color-mix(in srgb,var(--color-text) 72%,transparent)}
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--color-bg);border-top:2px solid var(--color-divider);box-shadow:var(--shadow-lg)}
.cbar{padding-block:20px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.cbar p{margin:0;font-size:14px;line-height:22px;max-width:70ch}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.wa-float{position:fixed;right:clamp(12px,3vw,24px);bottom:clamp(12px,3vw,24px);z-index:40;display:flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;background:var(--color-text);color:var(--color-bg);font-weight:600;font-size:15px;box-shadow:var(--shadow-md)}
.wa-float:hover{background:var(--color-accent);color:var(--color-bg)}.wa-float:active{background:var(--color-accent-600)}
@media (max-width:520px){.wa-float span{display:none}.wa-float{width:52px;height:52px;padding:0;justify-content:center}}
body.cookie-open .wa-float{display:none}
.langs{position:relative}
.langs summary{list-style:none;cursor:pointer;font-size:13px;letter-spacing:.08em;border:1px solid var(--color-divider);padding:4px 8px;display:flex;align-items:center;gap:6px}
.langs summary::-webkit-details-marker{display:none}
.langs summary::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.langs summary:hover{background:var(--color-accent-100)}
.langs[open] summary{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}
.langs-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:45;background:var(--color-bg);border:2px solid var(--color-divider);box-shadow:var(--shadow-md);min-width:180px;display:flex;flex-direction:column}
.langs-menu a{display:grid;grid-template-columns:32px 1fr;gap:8px;padding:10px 14px;border-bottom:1px solid var(--color-divider);font-size:14px}
.langs-menu a:last-child{border-bottom:0}.langs-menu a:hover{background:var(--color-accent-100);color:var(--color-text)}
.langs-menu a[aria-current]{font-weight:700}.langs-menu a[aria-current] b{color:var(--color-accent)}
.langs-menu b{font-size:12px;letter-spacing:.08em}
.exit{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:20px;background:color-mix(in srgb,var(--color-text) 55%,transparent)}
.exit .dialog{max-width:480px;width:100%;position:relative;border-top:4px solid var(--color-accent)}
.exit .dialog-title{font-family:var(--font-heading);font-weight:800;font-size:28px;line-height:1.15;margin:0;padding-right:40px}
.exit .dialog-body{margin:0}
.exit .dialog-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.exit-x{position:absolute;top:12px;right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:var(--color-text)}
.exit-x:hover{color:var(--color-accent)}.exit-x:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
/*end-langs*/
