:root{color-scheme:dark;--c-bg: #0a0b0d;--c-bg-subtle: #101216;--c-bg-sunken: #16191e;--c-bg-deep: #060709;--c-border: #1f232a;--c-border-strong: #646d79;--c-text: #eceef1;--c-text-muted: #969da8;--c-text-onaccent: #0a0b0d;--c-accent: #d8f14e;--c-accent-hover: #e6fa7a;--c-accent-active: #c2dc38;--c-accent-bg: #1a1e12;--c-accent-border: #5c6b26;--c-acid: var(--c-accent);--c-acid-hover: var(--c-accent-hover);--c-acid-active: var(--c-accent-active);--c-acid-soft: var(--c-accent-bg);--c-error: #ff7a6b;--c-error-bg: #1e1210;--c-error-border: #4a2420;--c-success: #6ee7a0;--c-success-bg: #0d1a13;--c-success-border: #1f4430;--c-warning: #f5c542;--c-warning-bg: #1e1a0d;--c-warning-border: #4a3d14;--font-sans: "Satoshi", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--font-display: var(--font-sans);--fs-xs: .8125rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: clamp(1.3rem, 1.19rem + .55vw, 1.6rem);--fs-xl: clamp(1.75rem, 1.3rem + 2.2vw, 2.9rem);--fs-2xl: clamp(2.5rem, 1.5rem + 4.4vw, 4.75rem);--lh-tight: 1.02;--lh-snug: 1.35;--lh-base: 1.6;--measure: 62ch;--tr-display: -.04em;--tr-title: -.03em;--tr-mono: .02em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4rem;--radius-sm: 3px;--radius: 6px;--radius-lg: 10px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--shadow: 0 4px 12px rgb(0 0 0 / .5);--shadow-lift: 0 12px 32px rgb(0 0 0 / .6);--hairline: inset 0 1px 0 rgb(255 255 255 / .06);--glow-accent: 0 0 0 1px rgb(216 241 78 / .35), 0 0 28px rgb(216 241 78 / .18);--glow-soft: 0 0 40px rgb(216 241 78 / .1);--grid-line: rgb(255 255 255 / .028);--grid-major: rgb(255 255 255 / .045);--grid-size: 32px;--w-container: 72rem;--w-prose: 44rem;--tap: 44px;--t-fast: .13s;--t-base: .24s;--t-slow: .52s;--ease: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}@property --ang{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --n{syntax: "<integer>"; inherits: false; initial-value: 0;}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-variable.woff2) format("woff2-variations"),url(/fonts/satoshi-variable.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-variable.woff2) format("woff2-variations"),url(/fonts/jetbrains-mono-variable.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}:where(body,h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote,fieldset,legend){margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background-color:var(--c-bg);background-image:repeating-linear-gradient(to right,var(--grid-major) 0 1px,transparent 1px calc(var(--grid-size) * 4)),repeating-linear-gradient(to bottom,var(--grid-major) 0 1px,transparent 1px calc(var(--grid-size) * 4)),repeating-linear-gradient(to right,var(--grid-line) 0 1px,transparent 1px var(--grid-size)),repeating-linear-gradient(to bottom,var(--grid-line) 0 1px,transparent 1px var(--grid-size))}body{margin:0;background:transparent;color:var(--c-text);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:400;line-height:var(--lh-base);overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-sans);line-height:var(--lh-tight);text-wrap:balance;overflow-wrap:break-word}h1{font-size:var(--fs-2xl);font-weight:600;letter-spacing:var(--tr-display)}h2{font-size:var(--fs-xl);font-weight:600;letter-spacing:var(--tr-title)}h3{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;line-height:var(--lh-snug)}h4{font-size:var(--fs-md);font-weight:600;letter-spacing:-.01em;line-height:var(--lh-snug)}p{text-wrap:pretty}a{color:var(--c-accent);text-decoration:underline;text-decoration-color:#d8f14e59;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--t-fast),text-decoration-color var(--t-fast)}a:hover{color:var(--c-accent-hover);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:var(--radius-sm);box-shadow:0 0 0 6px #d8f14e26}.btn--primary:focus-visible,.btn--pay:focus-visible,.skip-link:focus-visible{outline-color:var(--c-text-onaccent);box-shadow:0 0 0 6px #d8f14e59}.site-main:focus{outline:none}img,svg,video{max-width:100%;height:auto;display:block}ul,ol{list-style:none}.prose ul{list-style:disc;padding-left:1.25em}.prose ol{list-style:decimal;padding-left:1.25em}button,input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse;width:100%}caption,th{text-align:left}strong,b{font-weight:650}small{font-size:var(--fs-xs)}hr{border:0;border-top:1px solid var(--c-border);margin:var(--sp-6) 0}:target{scroll-margin-top:var(--sp-6)}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}::view-transition-old(root){animation:vt-salida 90ms ease-in both}::view-transition-new(root){animation:vt-entrada .22s var(--ease) both}@keyframes vt-salida{to{opacity:0}}@keyframes vt-entrada{0%{opacity:0;transform:translateY(8px)}}.calendar__slot-hint,.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--sp-3);top:-100%;z-index:100;display:inline-flex;align-items:center;min-height:var(--tap);padding:var(--sp-2) var(--sp-4);background:var(--c-accent);color:var(--c-text-onaccent);font-weight:600;text-decoration:none;border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow)}.skip-link:focus{top:0;color:var(--c-text-onaccent)}.prose{max-width:var(--w-prose)}.prose>*+*{margin-top:var(--sp-4)}.prose h2{margin-top:var(--sp-7)}.prose h3{margin-top:var(--sp-5)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}.site-header__inner,.site-footer__inner,.site-footer__legal,.site-main>*:not(.campo){width:100%;max-width:var(--w-container);margin-inline:auto;padding-inline:var(--sp-4)}@media(min-width:48em){.site-header__inner,.site-footer__inner,.site-footer__legal,.site-main>*{padding-inline:var(--sp-5)}}.site-main{display:block;padding-block:var(--sp-5) var(--sp-8)}.site-main>section+section,.site-main>*+*{margin-top:var(--sp-7)}.site-header{border-bottom:1px solid var(--c-border);background:var(--c-bg)}.site-header__inner{display:grid;gap:var(--sp-3);padding-block:var(--sp-4)}.site-header__inner>*{min-width:0}.site-header__brand{display:flex;flex-direction:column;gap:2px}.site-header__logo{color:var(--c-text);font-size:var(--fs-md);font-weight:680;letter-spacing:-.015em;text-decoration:none}.site-header__logo:hover{color:var(--c-accent)}.site-header__tagline{color:var(--c-text-muted);font-size:var(--fs-sm);line-height:var(--lh-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.site-nav__list{display:flex;gap:var(--sp-1);overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--sp-4) * -1);padding-inline:var(--sp-4);scroll-padding-inline:var(--sp-4)}.site-nav__list::-webkit-scrollbar{display:none}.site-nav__link{display:inline-flex;align-items:center;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);color:var(--c-text-muted);font-size:var(--fs-sm);font-weight:550;white-space:nowrap;text-decoration:none;transition:background var(--t-fast),color var(--t-fast)}.site-nav__link:hover{background:var(--c-bg-sunken);color:var(--c-text)}.site-nav__link[aria-current=page]{color:var(--c-accent);font-weight:650;background:var(--c-accent-bg);box-shadow:inset 0 -3px 0 var(--c-accent)}.site-nav--subjects{border-top:1px solid var(--c-border);padding-top:var(--sp-2)}.site-nav--subjects .site-nav__link{min-height:var(--tap);font-size:var(--fs-xs);color:var(--c-text-muted);text-transform:none}.site-nav--subjects .site-nav__link:before{content:"· ";color:var(--c-border-strong)}.site-header__cta{display:flex}.site-header__cta .btn{width:100%}@media(min-width:60em){.site-header__inner{grid-template-columns:1fr auto;grid-template-areas:"brand    cta" "nav      nav" "subjects subjects";align-items:center;column-gap:var(--sp-5)}.site-header__brand{grid-area:brand;max-width:40rem}.site-nav:not(.site-nav--subjects){grid-area:nav}.site-nav--subjects{grid-area:subjects}.site-header__cta{grid-area:cta;justify-self:end}.site-nav:not(.site-nav--subjects) .site-nav__list{flex-wrap:wrap;overflow-x:visible;margin-inline:0;padding-inline:0}.site-header__cta .btn{width:auto}}.page-header{max-width:var(--w-prose)}.page-header__title{margin-bottom:var(--sp-3)}.page-header__lead{font-size:var(--fs-md);color:var(--c-text-muted);line-height:var(--lh-snug)}.section__title{margin-bottom:var(--sp-4)}.breadcrumb{font-size:var(--fs-sm)}.breadcrumb__list{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.breadcrumb__item+.breadcrumb__item:before{content:"/";margin-right:var(--sp-2);color:var(--c-border-strong)}.breadcrumb__item[aria-current=page]{color:var(--c-text-muted)}.site-footer{margin-top:var(--sp-8);border-top:1px solid var(--c-border);background:var(--c-bg-subtle);color:var(--c-text-muted);font-size:var(--fs-sm)}.site-footer__inner{display:grid;gap:var(--sp-6);padding-block:var(--sp-7)}@media(min-width:40em){.site-footer__inner{grid-template-columns:repeat(2,1fr)}}@media(min-width:60em){.site-footer__inner{grid-template-columns:repeat(4,1fr)}}.site-footer__title{font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text);margin-bottom:var(--sp-3)}.site-footer__list{display:grid;gap:var(--sp-1)}.site-footer__list a{display:inline-flex;align-items:center;min-height:32px;color:var(--c-text-muted);text-decoration:none}.site-footer__list a:hover{color:var(--c-accent);text-decoration:underline}.site-footer__legal{padding-block:var(--sp-5);border-top:1px solid var(--c-border);font-size:var(--fs-xs);display:grid;gap:var(--sp-2)}.site-footer__tax{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-text);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--sp-3);max-width:var(--measure)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);width:100%;min-height:48px;padding:var(--sp-3) var(--sp-5);border:1px solid transparent;border-radius:var(--radius);font-size:var(--fs-base);font-weight:620;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}@media(min-width:40em){.btn{width:auto}}.btn--primary{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-text-onaccent)}.btn--primary:hover{background:var(--c-accent-hover);border-color:var(--c-accent-hover);color:#fff}.btn--primary:active{background:var(--c-accent-active)}.btn--secondary{background:var(--c-bg);border-color:var(--c-accent);color:var(--c-accent)}.btn--secondary:hover{background:var(--c-accent-bg);color:var(--c-accent-hover)}.btn--tertiary{background:transparent;border-color:transparent;color:var(--c-text-muted);text-decoration:underline;min-height:var(--tap)}.btn--tertiary:hover{color:var(--c-text);background:var(--c-bg-sunken)}.btn--danger{background:var(--c-error);border-color:var(--c-error);color:#fff}.btn--danger:hover{background:#861d22;border-color:#861d22;color:#fff}.btn--large{min-height:56px;padding:var(--sp-4) var(--sp-6);font-size:var(--fs-md)}.btn--pay{background:var(--c-success);border-color:var(--c-success);color:#fff;min-height:56px;font-size:var(--fs-md)}.btn--pay:hover{background:#114c2f;border-color:#114c2f;color:#fff}.btn[disabled],.btn[aria-disabled=true]{background:var(--c-bg-sunken);border-color:var(--c-border);color:var(--c-text-muted);cursor:not-allowed}.form{display:grid;gap:var(--sp-5);max-width:var(--w-prose)}.form__fieldset{display:grid;gap:var(--sp-4);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--sp-4);background:var(--c-bg)}.form__legend{padding-inline:var(--sp-2);margin-left:calc(var(--sp-2) * -1);font-size:var(--fs-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text)}.form__field{display:grid;gap:var(--sp-2)}.form__label{font-weight:600;line-height:var(--lh-snug)}.form__required{color:var(--c-error);margin-left:2px}.form__hint{font-size:var(--fs-sm);color:var(--c-text-muted);line-height:var(--lh-snug)}.form__input,.form__textarea,.form__select{width:100%;min-height:48px;padding:var(--sp-3);background:var(--c-bg);border:1px solid var(--c-border-strong);border-radius:var(--radius);font-size:var(--fs-base)}.form__textarea{min-height:7.5rem;resize:vertical;line-height:var(--lh-base)}.form__select{appearance:none;padding-right:var(--sp-6)}.form__input:hover,.form__textarea:hover,.form__select:hover{border-color:var(--c-text)}.form__input::placeholder,.form__textarea::placeholder{color:var(--c-text-muted)}[aria-invalid=true]{border-color:var(--c-error)!important;border-width:2px;background:var(--c-error-bg)}.form__error{display:flex;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:600;color:var(--c-error)}.form__error:before{content:"!";font-weight:800}.form__field--checkbox{grid-template-columns:auto 1fr;align-items:start;gap:0 var(--sp-3);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius)}.form__field--checkbox:has(.form__label--checkbox:hover){background:var(--c-bg-sunken)}.form__checkbox{grid-column:1;align-self:start;margin-top:var(--sp-2);width:26px;height:26px;flex:none;accent-color:var(--c-accent);cursor:pointer}.form__label--checkbox{grid-column:2;display:block;min-height:var(--tap);padding-block:var(--sp-2);font-weight:500;line-height:var(--lh-base);text-wrap:pretty;cursor:pointer}.form__field--checkbox .form__error{grid-column:1 / -1;margin-top:var(--sp-1)}.form__field--checkbox:has(input[aria-invalid=true]){padding-block:var(--sp-3);background:var(--c-error-bg);box-shadow:inset 4px 0 0 var(--c-error)}.form__field--checkbox:has(input[aria-invalid=true]) .form__label--checkbox{font-weight:600}.form__warning{padding:var(--sp-3) var(--sp-4);background:var(--c-warning-bg);border:1px solid var(--c-warning-border);border-radius:var(--radius);color:var(--c-warning);font-size:var(--fs-sm)}.form__actions{display:grid;gap:var(--sp-3)}@media(min-width:40em){.form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4)}}.flash{display:grid;gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--c-border);border-left-width:6px;border-radius:var(--radius);background:var(--c-bg-subtle)}.flash:before{font-size:var(--fs-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.flash__message{font-weight:600}.flash__errors{display:grid;gap:var(--sp-1);font-size:var(--fs-sm)}.flash__error a{color:inherit;font-weight:600}.flash--error{background:var(--c-error-bg);border-color:var(--c-error-border);border-left-color:var(--c-error);color:var(--c-error)}.flash--error:before{content:"Error"}.flash--success{background:var(--c-success-bg);border-color:var(--c-success-border);border-left-color:var(--c-success);color:var(--c-success)}.flash--success:before{content:"Listo"}.flash--info{background:var(--c-accent-bg);border-color:var(--c-accent-border);border-left-color:var(--c-accent);color:var(--c-accent)}.flash--info:before{content:"Información"}.empty-state{padding:var(--sp-5);background:var(--c-bg-subtle);border:1px dashed var(--c-border-strong);border-radius:var(--radius-lg);color:var(--c-text-muted);font-size:var(--fs-sm);max-width:var(--measure)}.empty-state--inline{padding:var(--sp-3);display:inline-block}.service-card{display:flex;flex-direction:column;gap:var(--sp-3);height:100%;padding:var(--sp-5);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.service-card__title{font-size:var(--fs-lg)}.service-card__subject{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-accent)}.service-card__facts{display:grid;gap:var(--sp-2);font-size:var(--fs-sm)}.service-card__fact{display:grid;grid-template-columns:8rem 1fr;gap:var(--sp-3);padding-block:var(--sp-1);border-top:1px solid var(--c-border)}.service-card__fact dt{color:var(--c-text-muted)}.service-card__fact--price{border-top:0;align-items:baseline}.service-card__price{display:block;font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.service-card__price-unit{display:block;font-size:var(--fs-sm);color:var(--c-text-muted)}.service-card__description{font-size:var(--fs-sm);color:var(--c-text-muted)}.service-card__prerequisites{font-size:var(--fs-sm)}.service-card__action{margin-top:auto;padding-top:var(--sp-2)}.service-card__action .btn{width:100%}.testimonial{display:grid;gap:var(--sp-3);height:100%;padding:var(--sp-5);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg)}.testimonial__quote{font-size:var(--fs-md);line-height:var(--lh-snug)}.testimonial__quote p:before{content:"“"}.testimonial__quote p:after{content:"”"}.testimonial__meta{display:grid;gap:var(--sp-1);font-size:var(--fs-sm)}.testimonial__name{font-style:normal;font-weight:650}.testimonial__context{color:var(--c-text-muted)}.testimonial__context:before{content:" · "}.testimonial__rating{font-variant-numeric:tabular-nums;font-weight:650}.testimonial__rating-max{font-weight:400;color:var(--c-text-muted)}.testimonial__source{display:grid;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--c-text-muted)}.testimonial__verified{justify-self:start;padding:2px var(--sp-2);background:var(--c-success-bg);border:1px solid var(--c-success-border);border-radius:999px;color:var(--c-success);font-weight:700}.admin-table,table{font-size:var(--fs-sm)}th,td{padding:var(--sp-3);border-bottom:1px solid var(--c-border);vertical-align:top}th{font-weight:700}.btn--slot{width:100%;min-height:48px;padding:var(--sp-3) var(--sp-2);background:var(--c-accent-bg);border:1px solid var(--c-accent);border-radius:var(--radius);color:var(--c-accent);font-size:var(--fs-base);font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:.01em}.btn--slot:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-text-onaccent)}.btn--slot:focus-visible{outline-width:3px;outline-offset:2px}.calendar{display:grid;gap:var(--sp-4)}.calendar__header{display:grid;gap:var(--sp-3)}.calendar__title{font-size:var(--fs-lg)}.calendar__nav{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:space-between}.calendar__nav-link{display:inline-flex;align-items:center;min-height:var(--tap);padding:var(--sp-2) var(--sp-4);border:1px solid var(--c-accent-border);border-radius:var(--radius);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.calendar__nav-link:hover{background:var(--c-accent-bg)}.calendar__nav-link--prev:before{content:"‹ "}.calendar__nav-link--next:after{content:" ›"}.calendar__nav-link--disabled{color:var(--c-text-muted);border-style:dashed;border-color:var(--c-border);background:var(--c-bg-subtle);cursor:not-allowed}.calendar__nav-link--disabled:hover{background:var(--c-bg-subtle)}.calendar__timezone,.calendar__empty{font-size:var(--fs-sm);color:var(--c-text-muted)}.calendar__empty{padding:var(--sp-4);background:var(--c-bg-subtle);border:1px dashed var(--c-border-strong);border-radius:var(--radius)}.calendar__grid{display:grid;gap:var(--sp-3)}.calendar__day{display:grid;gap:var(--sp-3);padding:var(--sp-4);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg)}.calendar__day-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-base);font-weight:700}.calendar__day-name{text-transform:capitalize}.calendar__day-date{color:var(--c-text-muted);font-weight:500}.calendar__day--today{border-color:var(--c-accent);box-shadow:inset 0 0 0 1px var(--c-accent)}.calendar__day--today .calendar__day-title:after{content:"hoy";padding:2px var(--sp-2);background:var(--c-accent);border-radius:999px;color:var(--c-text-onaccent);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.calendar__day--empty{background:var(--c-bg-subtle)}.calendar__day-empty{font-size:var(--fs-sm);color:var(--c-text-muted)}.calendar__slots{display:grid;gap:var(--sp-2)}.calendar__slot{display:block}.calendar__form{display:block;margin:0}.calendar__slot--free .calendar__slot-time{display:flex;align-items:center;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);background:var(--c-accent-bg);border:1px solid var(--c-accent-border);border-radius:var(--radius);font-weight:650;font-variant-numeric:tabular-nums}.calendar__slot--taken{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:var(--sp-2) var(--sp-3);background:var(--c-bg-sunken);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-text-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.calendar__slot--taken time{text-decoration:line-through}.calendar__slot-state{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}@media(min-width:48em){.calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--sp-2);align-items:start}.calendar__day{padding:var(--sp-3);gap:var(--sp-2)}.calendar__day-title{display:grid;gap:0;font-size:var(--fs-sm)}.calendar__day--today .calendar__day-title:after{justify-self:start}.btn--slot{padding-inline:var(--sp-1);font-size:var(--fs-sm)}.calendar__slot--taken{flex-direction:column;align-items:flex-start;gap:0}.calendar__nav{justify-content:flex-start}}.booking-summary{display:grid;gap:var(--sp-4);padding:var(--sp-5);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg)}.booking-summary__title{font-size:var(--fs-md)}.booking-summary__list{display:grid;gap:var(--sp-2);font-size:var(--fs-sm)}.booking-summary__row{display:grid;grid-template-columns:minmax(6rem,9rem) 1fr;gap:var(--sp-3);padding-block:var(--sp-2);border-top:1px solid var(--c-border)}.booking-summary__row dt{color:var(--c-text-muted)}.booking-summary__row dd{margin:0}.booking-summary__row code{font-family:var(--font-mono);font-size:var(--fs-sm);padding:1px 6px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm)}.booking-summary__row--price{align-items:baseline;padding-top:var(--sp-3);border-top:2px solid var(--c-text)}.booking-summary__price{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.booking-summary__hold{display:block;position:relative;padding:var(--sp-4);padding-left:calc(var(--sp-4) + 1.75rem);background:var(--c-warning-bg);border:1px solid var(--c-warning-border);border-left:6px solid var(--c-warning);border-radius:var(--radius);color:var(--c-warning);font-size:var(--fs-sm);line-height:var(--lh-snug)}.booking-summary__hold:before{content:"⏱";position:absolute;left:var(--sp-4);top:var(--sp-4);font-size:var(--fs-lg);line-height:1}.booking-summary__hold strong{font-weight:700;font-size:var(--fs-base);font-variant-numeric:tabular-nums;white-space:nowrap}@media(min-width:48em){.booking-summary__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-6)}.booking-summary__row--price{grid-column:1 / -1}.booking-summary__price{font-size:var(--fs-2xl)}}.page--home .hero{display:grid;gap:var(--sp-5);padding-block:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--c-border)}.hero__photo{width:100%;max-width:15rem;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-lg);background:var(--c-bg-sunken)}.hero__photo--placeholder{display:grid;place-content:center;padding:var(--sp-4);max-width:15rem;aspect-ratio:1;background:repeating-linear-gradient(135deg,var(--c-bg-sunken) 0 8px,var(--c-bg-subtle) 8px 16px);border:1px dashed var(--c-border-strong);border-radius:var(--radius-lg);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-text-muted);text-align:center}.hero__content{display:grid;gap:var(--sp-4)}.hero__title{max-width:30ch}.hero__lead{font-size:var(--fs-md);color:var(--c-text-muted);max-width:var(--measure)}.hero__price{font-size:var(--fs-md);margin:0}.hero__price strong{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.hero__actions{display:grid;gap:var(--sp-3)}@media(min-width:40em){.hero__actions{display:flex;flex-wrap:wrap;gap:var(--sp-4)}}.hero__reassurance{font-size:var(--fs-sm);color:var(--c-text-muted);padding-left:var(--sp-4);border-left:3px solid var(--c-accent-border);max-width:var(--measure)}@media(min-width:60em){.page--home .hero{grid-template-columns:minmax(14rem,20rem) 1fr;gap:var(--sp-7);align-items:center;padding-block:var(--sp-6) var(--sp-8)}.hero__photo,.hero__photo--placeholder{max-width:none}}.subjects__list{display:grid;gap:var(--sp-3)}@media(min-width:40em){.subjects__list{grid-template-columns:repeat(2,1fr)}}@media(min-width:64em){.subjects__list{grid-template-columns:repeat(3,1fr)}}.subjects__link{display:grid;gap:var(--sp-1);height:100%;min-height:var(--tap);padding:var(--sp-4);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);text-decoration:none;color:var(--c-text);transition:border-color var(--t-fast),background var(--t-fast)}.subjects__link:hover{border-color:var(--c-accent);background:var(--c-accent-bg);color:var(--c-text)}.subjects__name{font-weight:650;color:var(--c-accent)}.subjects__name:after{content:" →"}.subjects__description{font-size:var(--fs-sm);color:var(--c-text-muted)}.subjects__levels{font-size:var(--fs-xs);color:var(--c-text-muted)}.how-it-works{padding-block:var(--sp-2)}.how-it-works__list{display:grid;gap:var(--sp-4);counter-reset:paso}@media(min-width:48em){.how-it-works__list{grid-template-columns:repeat(4,1fr)}}.how-it-works__step{counter-increment:paso;display:grid;gap:var(--sp-2);padding-top:var(--sp-3);border-top:2px solid var(--c-accent-border);font-size:var(--fs-sm);color:var(--c-text-muted)}.how-it-works__step:before{content:counter(paso);font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;color:var(--c-accent)}.how-it-works__title{font-size:var(--fs-base);color:var(--c-text)}.featured-services__list{display:grid;gap:var(--sp-4)}@media(min-width:40em){.featured-services__list{grid-template-columns:repeat(2,1fr)}}@media(min-width:64em){.featured-services__list{grid-template-columns:repeat(3,1fr)}}.featured-services__more,.testimonials-preview__more,.faq-preview__more{margin-top:var(--sp-4);font-weight:600}.testimonials-preview__list{display:grid;gap:var(--sp-4)}@media(min-width:48em){.testimonials-preview__list{grid-template-columns:repeat(3,1fr)}}.external-profiles{margin-top:var(--sp-5);padding:var(--sp-4);background:var(--c-accent-bg);border:1px solid var(--c-accent-border);border-radius:var(--radius-lg)}.external-profiles__title{font-size:var(--fs-base);margin-bottom:var(--sp-3)}.external-profiles__list{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.external-profiles__link{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:var(--sp-2) var(--sp-4);background:var(--c-bg);border:1px solid var(--c-accent-border);border-radius:999px;font-size:var(--fs-sm);font-weight:600;text-decoration:none}.external-profiles__link:hover{border-color:var(--c-accent);background:#fff}.external-profiles__item{min-width:0;max-width:100%}.external-profiles__link{flex-wrap:wrap;max-width:100%}.external-profiles__platform{font-weight:700}.external-profiles__label{font-weight:500;color:var(--c-text-muted)}.external-profiles__badge{font-size:var(--fs-xs);font-weight:700;color:var(--c-success)}.external-profiles__note{margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--c-text-muted);max-width:var(--measure)}.faq-preview__list{display:grid;gap:0;max-width:var(--w-prose)}.faq-preview__item{padding-block:var(--sp-4);border-top:1px solid var(--c-border)}.faq-preview__question{font-weight:650;margin-bottom:var(--sp-2)}.faq-preview__answer{color:var(--c-text-muted)}.cta-final{display:grid;gap:var(--sp-4);padding:var(--sp-6) var(--sp-5);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);text-align:left}.site-main>.cta-final{padding-inline:var(--sp-5)}.cta-final__actions{display:grid;gap:var(--sp-3)}@media(min-width:40em){.cta-final__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4)}}.page--availability .availability-filter{display:grid;gap:var(--sp-4);padding:var(--sp-4);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg)}.availability-filter__fieldset{border:0;padding:0;display:grid;gap:var(--sp-3)}.availability-filter__legend{font-size:var(--fs-sm);font-weight:700}.availability-filter__options{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.availability-filter__option{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:var(--sp-2) var(--sp-4);background:var(--c-bg);border:1px solid var(--c-border-strong);border-radius:999px}.availability-filter__option:has(input:checked){border-color:var(--c-accent);background:var(--c-accent-bg);font-weight:650}.availability-filter__option input{width:20px;height:20px;accent-color:var(--c-accent)}.availability-filter__option label{min-height:var(--tap);display:flex;align-items:center;cursor:pointer}@media(min-width:40em){.page--availability .availability-filter{grid-template-columns:1fr auto;align-items:end}}.availability-rules__list{display:grid;gap:var(--sp-2);max-width:var(--w-prose);font-size:var(--fs-sm);color:var(--c-text-muted)}.availability-rules__list li{padding-left:var(--sp-4);position:relative}.availability-rules__list li:before{content:"•";position:absolute;left:0;color:var(--c-accent)}.booking-steps{display:grid;gap:var(--sp-2)}.booking-steps__summary{font-size:var(--fs-sm);font-weight:700;color:var(--c-text-muted)}.booking-steps__list{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.booking-steps__item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);font-size:var(--fs-sm);color:var(--c-text-muted)}.booking-steps__number{display:grid;place-content:center;width:26px;height:26px;flex:none;border:1px solid currentColor;border-radius:999px;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700}.booking-steps__item--done .booking-steps__label:after{content:" ✓";font-weight:700}.booking-steps__item--current,.booking-steps__item[aria-current=step]{background:var(--c-accent-bg);border:1px solid var(--c-accent-border);color:var(--c-accent);font-weight:700}.booking-steps__item--todo{color:var(--c-text-muted);opacity:.8}.booking-steps__link{text-decoration:underline}@media(max-width:29.99em){.booking-steps__item--todo .booking-steps__label,.booking-steps__item--done .booking-steps__label{display:none}}.booking-selection{padding:var(--sp-4);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg)}.booking-selection .section__title{font-size:var(--fs-base)}.booking-selection__list{display:grid;gap:var(--sp-2);font-size:var(--fs-sm)}.booking-selection__row{display:grid;grid-template-columns:8rem 1fr;gap:var(--sp-3);padding-block:var(--sp-1);border-top:1px solid var(--c-border)}.booking-selection__row dt{color:var(--c-text-muted)}.booking-selection__row--price dd{font-size:var(--fs-lg);font-weight:700;font-variant-numeric:tabular-nums}.booking-selection__change{margin-top:var(--sp-3);font-size:var(--fs-sm)}.booking-note{max-width:var(--measure);padding:var(--sp-3) var(--sp-4);background:var(--c-accent-bg);border:1px solid var(--c-accent-border);border-radius:var(--radius);font-size:var(--fs-sm)}.form--booking-data{gap:var(--sp-6)}.form__fieldset--minor{background:var(--c-bg-subtle)}.form__fieldset--minor>.form__hint{padding:var(--sp-3) var(--sp-4);background:var(--c-accent-bg);border:1px solid var(--c-accent-border);border-radius:var(--radius);color:var(--c-text);font-size:var(--fs-sm)}.form__fieldset--minor>.form__field:not(.form__field--checkbox){padding-left:var(--sp-4);border-left:3px solid var(--c-accent-border)}.form__fieldset--minor>.form__field:not(.form__field--checkbox) .form__label:after{content:" · solo si marcaste la casilla";font-weight:400;font-size:var(--fs-xs);color:var(--c-text-muted)}.form__fieldset--consent{border-color:var(--c-border-strong)}.form__fieldset--consent .form__label--checkbox a{font-weight:600}.form__fieldset--consent .form__required{margin-left:0}.booking-student,.booking-notes,.booking-policies{max-width:var(--w-prose)}.booking-student .section__title,.booking-notes .section__title,.booking-policies .section__title{font-size:var(--fs-md)}.booking-student__list{display:grid;gap:var(--sp-2);font-size:var(--fs-sm)}.booking-student__row{display:grid;grid-template-columns:minmax(6rem,9rem) 1fr;gap:var(--sp-3);padding-block:var(--sp-2);border-top:1px solid var(--c-border)}.booking-student__row dt{color:var(--c-text-muted)}.booking-student__row dd{margin:0;overflow-wrap:anywhere}.booking-student__change{margin-top:var(--sp-3);font-size:var(--fs-sm)}.booking-notes__text{padding:var(--sp-4);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere}.booking-policies__list{display:grid;gap:var(--sp-3);font-size:var(--fs-sm)}.booking-policies__list li{position:relative;padding-left:var(--sp-5)}.booking-policies__list li:before{content:"✓";position:absolute;left:0;font-weight:700;color:var(--c-accent)}.booking-test-warning{display:grid;gap:var(--sp-2);max-width:var(--w-prose);padding:var(--sp-4);background:var(--c-bg-sunken);border:2px dashed var(--c-border-strong);border-radius:var(--radius);color:var(--c-text);font-size:var(--fs-sm)}.booking-test-warning:before{content:"Entorno de pruebas";font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-muted)}.booking-test-warning code{font-family:var(--font-mono);padding:1px 6px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm)}.form--pay{gap:0;max-width:none}.page--pay .pay{display:grid;gap:var(--sp-5);max-width:34rem;padding:var(--sp-6) var(--sp-5);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.pay__title{font-size:var(--fs-xl)}.pay__summary{display:grid;gap:var(--sp-2);font-size:var(--fs-sm)}.pay__row{display:grid;grid-template-columns:minmax(6rem,8rem) 1fr;gap:var(--sp-3);padding-block:var(--sp-2);border-top:1px solid var(--c-border)}.pay__row dt{color:var(--c-text-muted)}.pay__row dd{margin:0}.pay__row code{font-family:var(--font-mono);padding:1px 6px;background:var(--c-bg-sunken);border-radius:var(--radius-sm)}.pay__row--total{align-items:baseline;padding-top:var(--sp-3);border-top:2px solid var(--c-text)}.pay__amount{font-size:var(--fs-2xl);font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.pay__form{display:grid}.pay__form .btn--pay{width:100%;min-height:60px}.pay__destination{padding:var(--sp-4);background:var(--c-accent-bg);border:1px solid var(--c-accent-border);border-radius:var(--radius);font-size:var(--fs-sm);line-height:var(--lh-snug)}.pay__destination strong{font-family:var(--font-mono);font-weight:700;overflow-wrap:anywhere}.pay__cancel{font-size:var(--fs-sm)}.booking-done{display:grid;gap:var(--sp-6);max-width:var(--w-prose)}.booking-done__title{font-size:var(--fs-2xl)}.booking-done__lead{padding:var(--sp-4);background:var(--c-success-bg);border:1px solid var(--c-success-border);border-left:6px solid var(--c-success);border-radius:var(--radius);color:var(--c-success);font-size:var(--fs-md);line-height:var(--lh-snug)}.booking-done__lead strong{overflow-wrap:anywhere}.booking-done__details,.booking-done__payment-list{display:grid;gap:var(--sp-2);font-size:var(--fs-sm)}.booking-done__row{display:grid;grid-template-columns:minmax(7rem,10rem) 1fr;gap:var(--sp-3);padding-block:var(--sp-2);border-top:1px solid var(--c-border)}.booking-done__row dt{color:var(--c-text-muted)}.booking-done__row dd{margin:0;overflow-wrap:anywhere}.booking-done__row code{font-family:var(--font-mono);padding:1px 6px;background:var(--c-bg-sunken);border-radius:var(--radius-sm)}.booking-done__meet{display:grid;gap:var(--sp-3);padding:var(--sp-5);background:var(--c-accent-bg);border:2px solid var(--c-accent);border-radius:var(--radius-lg)}.booking-done__meet .section__title{font-size:var(--fs-lg)}.booking-done__meet-link{display:block}.booking-done__meet-link .btn{min-height:56px;font-size:var(--fs-md)}.booking-done__meet-url{display:inline-block;margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--c-bg);border:1px solid var(--c-accent-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);overflow-wrap:anywhere;user-select:all}.booking-done__meet-pending{padding:var(--sp-3) var(--sp-4);background:var(--c-bg);border:1px dashed var(--c-border-strong);border-radius:var(--radius);font-size:var(--fs-sm);color:var(--c-text-muted)}.booking-done__ics{font-size:var(--fs-sm);font-weight:600}.booking-done__payment,.booking-done__manage,.booking-done__next{display:grid;gap:var(--sp-3)}.booking-done__payment .section__title,.booking-done__manage .section__title,.booking-done__next .section__title{font-size:var(--fs-md)}.booking-done__payment{padding:var(--sp-4);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg)}.booking-done__tax-note{font-size:var(--fs-xs);color:var(--c-text-muted)}.booking-done__manage{padding-top:var(--sp-4);border-top:1px solid var(--c-border);font-size:var(--fs-sm)}.booking-done__next{font-size:var(--fs-sm)}.booking-done__checklist{display:grid;gap:var(--sp-2)}.booking-done__checklist li{position:relative;padding-left:var(--sp-5)}.booking-done__checklist li:before{content:"✓";position:absolute;left:0;font-weight:700;color:var(--c-accent)}.booking-failed{display:grid;gap:var(--sp-5);max-width:var(--w-prose)}.booking-failed__title{font-size:var(--fs-2xl)}.booking-failed__reason{padding:var(--sp-4);background:var(--c-error-bg);border:1px solid var(--c-error-border);border-left:6px solid var(--c-error);border-radius:var(--radius);color:var(--c-error);font-size:var(--fs-md);line-height:var(--lh-snug)}.booking-failed__status{padding:var(--sp-4);background:var(--c-bg-sunken);border:1px solid var(--c-border);border-radius:var(--radius);font-size:var(--fs-sm)}.booking-failed__options{display:grid;gap:var(--sp-3);font-size:var(--fs-sm)}.booking-failed__options>li:first-child{margin-bottom:var(--sp-1)}.booking-failed__options>li:not(:first-child){position:relative;padding-left:var(--sp-5)}.booking-failed__options>li:not(:first-child):before{content:"→";position:absolute;left:0;color:var(--c-accent)}.booking-failed__help{display:grid;gap:var(--sp-3);padding:var(--sp-4);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);font-size:var(--fs-sm)}.booking-failed__help .section__title{font-size:var(--fs-md)}.booking-failed__help ul{display:grid;gap:var(--sp-2)}.booking-failed__help li{position:relative;padding-left:var(--sp-4)}.booking-failed__help li:before{content:"•";position:absolute;left:0;color:var(--c-border-strong)}.service-list{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}.service-list__item{display:grid}.page--services .subject-block{display:grid;gap:var(--sp-3);padding-top:var(--sp-6);border-top:2px solid var(--c-border)}.subject-block__title{font-size:var(--fs-xl)}.subject-block__title a{color:var(--c-text);text-decoration:none}.subject-block__title a:hover{color:var(--c-accent);text-decoration:underline}.subject-block__description{color:var(--c-text-muted);max-width:var(--measure)}.subject-block__levels{font-size:var(--fs-sm);color:var(--c-text-muted)}.subject-block__levels-label{font-weight:650;color:var(--c-text)}.subject-block__more{font-size:var(--fs-sm);font-weight:600}.services-notes{padding:var(--sp-5);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);max-width:var(--w-prose)}.services-notes .section__title{font-size:var(--fs-md)}.services-notes__list{display:grid;gap:var(--sp-2);font-size:var(--fs-sm)}.services-notes__list li{position:relative;padding-left:var(--sp-4)}.services-notes__list li:before{content:"•";position:absolute;left:0;color:var(--c-accent)}.form__fieldset--boleta{background:var(--c-bg-subtle)}.form__fieldset--boleta>.form__hint{padding:var(--sp-3) var(--sp-4);background:var(--c-accent-bg);border:1px solid var(--c-accent-border);border-radius:var(--radius);color:var(--c-text);font-size:var(--fs-sm)}.form__fieldset--boleta>.form__field:not(.form__field--checkbox){padding-left:var(--sp-4);border-left:3px solid var(--c-accent-border)}.form__fieldset--boleta>.form__field:not(.form__field--checkbox) .form__label:after{content:" · solo si marcaste la casilla";font-weight:400;font-size:var(--fs-xs);color:var(--c-text-muted)}.admin .admin-main,.admin .admin-header>*,.admin .admin-footer{width:100%;max-width:80rem;margin-inline:auto;padding-inline:var(--sp-4)}.admin .admin-main{padding-block:var(--sp-5) var(--sp-8);display:grid;gap:var(--sp-6)}.admin .admin-header{border-bottom:1px solid var(--c-border);padding-block:var(--sp-3)}.admin .admin-nav .site-nav__list,.admin .admin-nav ul{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.admin-alert{padding:var(--sp-3) var(--sp-4);background:var(--c-warning-bg);border:1px solid var(--c-warning-border);border-left:6px solid var(--c-warning);border-radius:var(--radius);color:var(--c-warning);font-size:var(--fs-sm);font-weight:600}.admin-section{display:grid;gap:var(--sp-3)}.admin-section__title{font-size:var(--fs-lg)}.admin-section__subtitle{font-size:var(--fs-sm);color:var(--c-text-muted)}.admin-table{display:block;overflow-x:auto;white-space:nowrap}.admin-table__caption{font-size:var(--fs-sm);color:var(--c-text-muted);margin-bottom:var(--sp-2)}.admin-note{font-size:var(--fs-sm);color:var(--c-text-muted)}.admin-boletas{display:grid;gap:var(--sp-5)}.admin-boleta{padding:var(--sp-5);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.admin-boleta__title{font-size:var(--fs-md);margin-bottom:var(--sp-2)}.admin-boleta__meta{font-size:var(--fs-sm);color:var(--c-text-muted);margin-bottom:var(--sp-4)}.admin-boleta__datos{display:grid;gap:var(--sp-1);margin-bottom:var(--sp-4);font-size:var(--fs-sm)}.admin-boleta__dato{display:grid;grid-template-columns:minmax(9rem,12rem) 1fr;gap:var(--sp-3);padding-block:var(--sp-2);border-top:1px solid var(--c-border)}.admin-boleta__dato dd{margin:0;font-family:var(--font-mono);overflow-wrap:anywhere}.admin-boleta__plano summary{cursor:pointer;font-size:var(--fs-sm);font-weight:600;color:var(--c-accent);padding-block:var(--sp-2)}.admin-boleta__pre{margin:var(--sp-2) 0 var(--sp-4);padding:var(--sp-4);background:var(--c-bg-sunken);border:1px solid var(--c-border);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:var(--lh-base);white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}.site-header{position:sticky;top:0;z-index:80;border-bottom:1px solid var(--c-border);background:color-mix(in srgb,var(--c-bg) 92%,transparent);backdrop-filter:blur(14px);transition:box-shadow var(--t-base),background var(--t-base)}.site-header.esta-fija{position:fixed;inset:0 0 auto}.site-header__espacio{height:0}.site-header.esta-condensada{box-shadow:0 8px 28px -12px #000c;background:color-mix(in srgb,var(--c-bg) 96%,transparent)}.site-header.esta-condensada .site-header__tagline,.site-header.esta-condensada .site-nav--subjects{display:none}.site-header.esta-condensada .site-header__inner{padding-block:var(--sp-2)}@media(max-width:59.99em){.site-header.esta-condensada .site-nav:not(.site-nav--subjects){display:none}}:target{scroll-margin-top:14rem}.site-header:after{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(to right,transparent,rgb(216 241 78 / .35) 20%,rgb(216 241 78 / .35) 80%,transparent)}.site-header__logo{display:inline-flex;align-items:center;gap:var(--sp-2);padding-block:var(--sp-1);color:var(--c-text);font-size:1.35rem;font-weight:700;letter-spacing:-.03em;line-height:1.1;text-decoration:none}.site-header__mark{color:var(--c-accent);flex:none;transition:transform var(--t-base) var(--ease),filter var(--t-base)}.site-header__logo:hover{color:var(--c-text)}.site-header__logo:hover .site-header__mark{transform:rotate(-180deg);filter:drop-shadow(0 0 8px rgb(216 241 78 / .6))}.site-header__wordmark{font-family:var(--font-sans)}.site-header__tagline{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-muted)}.site-nav__link{border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:500;color:var(--c-text-muted);transition:color var(--t-fast),background var(--t-fast)}.site-nav__link:hover{background:var(--c-bg-subtle);color:var(--c-text)}.site-nav__link[aria-current=page]{background:transparent;color:var(--c-text);font-weight:600;box-shadow:none}.site-nav:not(.site-nav--subjects) .site-nav__link[aria-current=page]:before{content:"";width:5px;height:5px;margin-right:var(--sp-2);border-radius:50%;background:var(--c-accent);box-shadow:0 0 8px #d8f14ecc;flex:none}.site-nav--subjects{border-top:1px solid var(--c-border)}.site-nav--subjects .site-nav__link{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tr-mono)}.site-nav--subjects .site-nav__link:before{content:"/ ";color:var(--c-accent);opacity:.5}@media(max-width:39.99em){.site-header__inner{padding-block:var(--sp-3);gap:var(--sp-2)}.site-header__tagline{-webkit-line-clamp:1}}.site-footer{margin-top:var(--sp-8);border-top:1px solid var(--c-border);background:var(--c-bg-deep);color:var(--c-text-muted)}.site-footer__title{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.16em;color:var(--c-text)}.site-footer__list a{color:var(--c-text-muted);text-decoration-color:transparent}.site-footer__list a:hover{color:var(--c-accent);text-decoration-color:currentColor}.site-footer__legal{border-top:1px solid var(--c-border)}.site-footer__tax{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-left:2px solid var(--c-accent);border-radius:var(--radius);color:var(--c-text);font-family:var(--font-mono);font-size:var(--fs-xs)}.btn{position:relative;overflow:hidden;border-radius:var(--radius);font-weight:600;letter-spacing:-.005em;transition:transform var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease),background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.btn--primary:after,.btn--pay:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgb(255 255 255 / .45) 50%,transparent 62%);transform:translate(-130%);transition:transform .75s var(--ease-out)}.btn--primary:hover:after,.btn--pay:hover:after{transform:translate(130%)}.btn--primary{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-text-onaccent);box-shadow:0 0 #d8f14e00}.btn--primary:hover{background:var(--c-accent-hover);border-color:var(--c-accent-hover);color:var(--c-text-onaccent);transform:translateY(-2px);box-shadow:0 8px 30px -6px #d8f14e73}.btn--primary:active{transform:translateY(0);box-shadow:none}.btn--secondary{background:var(--c-bg-subtle);border-color:var(--c-border);color:var(--c-text);box-shadow:var(--hairline)}.btn--secondary:hover{background:var(--c-bg-sunken);border-color:var(--c-accent-border);color:var(--c-text);transform:translateY(-2px)}.btn--tertiary{color:var(--c-text-muted)}.btn--tertiary:hover{background:var(--c-bg-subtle);color:var(--c-text)}.btn--pay{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-text-onaccent)}.btn--pay:hover{background:var(--c-accent-hover);border-color:var(--c-accent-hover);color:var(--c-text-onaccent);transform:translateY(-2px);box-shadow:0 10px 36px -8px #d8f14e80}.btn--danger{background:var(--c-error);border-color:var(--c-error);color:#1a0a08}.btn--danger:hover{background:#ff9488;border-color:#ff9488;color:#1a0a08}.btn[disabled],.btn[aria-disabled=true]{background:var(--c-bg-sunken);border-color:var(--c-border);color:var(--c-text-muted);transform:none;box-shadow:none}.btn[disabled]:after,.btn[aria-disabled=true]:after{display:none}.service-card,.subjects__link,.testimonial,.calendar__day,.booking-summary,.services-notes,.booking-failed__help,.booking-done__payment{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--hairline)}.service-card,.subjects__link,.testimonial{position:relative;transition:transform var(--t-base) var(--ease),border-color var(--t-base),box-shadow var(--t-base)}.service-card:hover,.service-card:focus-within,.subjects__link:hover,.subjects__link:focus-visible,.testimonial:hover{transform:translateY(-3px);border-color:var(--c-accent-border);box-shadow:var(--hairline),var(--shadow-lift),var(--glow-soft)}.service-card:before,.subjects__link:before,.testimonial:before{content:"";position:absolute;inset:-1px auto auto -1px;width:calc(100% + 2px);height:1px;background:linear-gradient(to right,transparent,var(--c-accent),transparent);opacity:0;transition:opacity var(--t-base)}.service-card:hover:before,.service-card:focus-within:before,.subjects__link:hover:before,.subjects__link:focus-visible:before,.testimonial:hover:before{opacity:1}.service-card__subject,.form__legend,.site-footer__title,.booking-test-warning:before,.flash:before,.about__section>.section__title,.faq-group__title{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase}.service-card__subject{color:var(--c-accent)}.service-card__price,.booking-summary__price,.pay__amount,.booking-selection__row--price dd,.hero__price strong,.testimonial__rating,.about__years strong{font-family:var(--font-mono);font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--c-text)}.service-card__fact{grid-template-columns:minmax(0,8rem) minmax(0,1fr);border-top-color:var(--c-border)}.service-card__fact--price{grid-template-columns:minmax(0,1fr);gap:0}.service-card__price{display:block;line-height:1.05}.service-card__price-unit{font-family:var(--font-mono);font-size:var(--fs-xs)}.featured-services__list,.testimonials-preview__list,.subjects__list,.service-list{grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr))}.subjects__name{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;color:var(--c-text)}.subjects__name:after{transition:transform var(--t-base) var(--ease);display:inline-block}.subjects__link:hover .subjects__name:after,.subjects__link:focus-visible .subjects__name:after{transform:translate(5px)}.subjects__link{color:var(--c-text)}.subjects__levels{font-family:var(--font-mono);font-size:var(--fs-xs)}.testimonial__quote{font-size:var(--fs-md);line-height:var(--lh-snug);color:var(--c-text)}.testimonial__verified{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--c-success-bg);border-color:var(--c-success-border);color:var(--c-success);border-radius:var(--radius-sm)}.page--home .hero{position:relative;isolation:isolate;border-bottom:0;padding-block:var(--sp-7) var(--sp-8)}.page--home .site-main{overflow:clip}.page--home .site-main:before{content:"";position:absolute;inset:0 0 auto;height:46rem;z-index:0;pointer-events:none;background:radial-gradient(46% 54% at 26% 30%,rgb(216 241 78 / .17),transparent 70%),radial-gradient(42% 48% at 76% 18%,rgb(110 190 255 / .1),transparent 72%);filter:blur(34px)}.page--home .hero>*{position:relative;z-index:1}.page--home .hero{grid-template-columns:minmax(0,1fr)}.hero__title{max-width:18ch;font-weight:600;letter-spacing:var(--tr-display);font-size:clamp(2.6rem,1.3rem + 5.6vw,5.25rem);line-height:.98}.hero__lead{font-size:clamp(1.125rem,1.02rem + .5vw,1.4rem);line-height:var(--lh-snug);color:var(--c-text-muted);max-width:46ch}@media(min-width:60em){.page--home .hero{padding-block:var(--sp-4) calc(var(--sp-8) * 1.5)}.page--home .hero__content{gap:var(--sp-4)}}@supports selector(:has(*)){@media(min-width:60em){.page--home .hero:has(.hero__photo){grid-template-columns:minmax(14rem,20rem) 1fr;align-items:center}.page--home .hero:has(.hero__photo) .hero__title{font-size:var(--fs-2xl);max-width:17ch;line-height:var(--lh-tight)}}}.hero__photo{border-radius:var(--radius-lg);border:1px solid var(--c-border);box-shadow:var(--shadow-lift),0 0 60px -20px #d8f14e59}.hero__photo--placeholder{border:1px dashed var(--c-accent-border);border-radius:var(--radius-lg);background:repeating-linear-gradient(135deg,rgb(216 241 78 / .05) 0 10px,transparent 10px 20px),var(--c-bg-subtle);color:var(--c-text-muted);font-family:var(--font-mono);font-size:var(--fs-xs)}.hero__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3);font-size:var(--fs-md);color:var(--c-text-muted)}.hero__price strong{font-size:clamp(2.1rem,1.45rem + 2.8vw,3.4rem);line-height:1;color:var(--c-accent)}.page--home .hero__actions .btn--large{min-height:60px;padding-inline:var(--sp-6);font-size:var(--fs-md)}.hero__reassurance{border-left:1px solid var(--c-accent-border);font-size:var(--fs-sm);color:var(--c-text-muted)}.page--home .site-main{counter-reset:seccion}.page--home .site-main>section:not(.hero):not(.cta-final){counter-increment:seccion;border-top:1px solid var(--c-border);padding-top:var(--sp-6)}.page--home .site-main>section:not(.hero):not(.cta-final)>.section__title:before{content:counter(seccion,decimal-leading-zero);display:block;margin-bottom:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.24em;color:var(--c-accent)}.how-it-works__step{border-top:1px solid var(--c-border);color:var(--c-text-muted)}.how-it-works__step:before{content:counter(paso,decimal-leading-zero);font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:500;letter-spacing:-.02em;color:var(--c-accent)}.how-it-works__title{font-size:var(--fs-base);font-weight:600;color:var(--c-text)}.external-profiles{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--hairline)}.external-profiles__title{font-size:var(--fs-base);font-weight:600}.external-profiles__link{background:var(--c-bg-sunken);border-color:var(--c-border);color:var(--c-text);text-decoration:none;transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast) var(--ease)}.external-profiles__link:hover{background:var(--c-bg-sunken);border-color:var(--c-accent-border);transform:translateY(-2px)}.external-profiles__badge{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-success)}.external-profiles__label{color:var(--c-text-muted)}.faq-preview__list{gap:var(--sp-2)}.cta-final{position:relative;isolation:isolate;background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-xl);box-shadow:var(--hairline);padding-block:var(--sp-7);overflow:hidden}.cta-final:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 80% at 50% 0%,rgb(216 241 78 / .1),transparent 70%)}.form__fieldset{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--hairline)}.form__legend{color:var(--c-accent)}.form__input,.form__textarea,.form__select{background:var(--c-bg);border:1px solid var(--c-border-strong);border-radius:var(--radius);color:var(--c-text);transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.form__input:hover,.form__textarea:hover,.form__select:hover{border-color:var(--c-text-muted)}.form__input:focus,.form__textarea:focus,.form__select:focus{border-color:var(--c-accent);background:var(--c-bg-subtle)}.form__input::placeholder,.form__textarea::placeholder{color:var(--c-text-muted);opacity:.7}.form__hint{color:var(--c-text-muted)}.form__checkbox{accent-color:var(--c-accent)}.form__field--checkbox:has(.form__label--checkbox:hover){background:var(--c-bg-subtle)}.form__fieldset--minor,.form__fieldset--boleta{background:var(--c-bg-sunken)}.form__fieldset--minor>.form__hint,.form__fieldset--boleta>.form__hint{background:var(--c-accent-bg);border:1px solid var(--c-accent-border);color:var(--c-text)}.form__fieldset--minor>.form__field:not(.form__field--checkbox),.form__fieldset--boleta>.form__field:not(.form__field--checkbox){border-left-color:var(--c-accent-border)}.form__fieldset--consent{border-color:var(--c-accent-border)}.form__warning{background:var(--c-warning-bg);border-color:var(--c-warning-border)}.flash{border-radius:var(--radius)}.empty-state{background:var(--c-bg-subtle);border:1px dashed var(--c-border-strong);border-radius:var(--radius-lg);color:var(--c-text-muted)}.booking-steps__number{font-family:var(--font-mono);font-weight:500}.booking-steps__item{color:var(--c-text-muted)}.booking-steps__item--done{color:var(--c-accent)}.booking-steps__item--done .booking-steps__number{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-text-onaccent)}.booking-steps__item--current,.booking-steps__item[aria-current=step]{background:var(--c-accent-bg);border:1px solid var(--c-accent);color:var(--c-accent);font-weight:600}.booking-steps__item--todo{opacity:1;color:var(--c-text-muted)}.booking-selection,.booking-note,.booking-notes__text,.booking-test-warning{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg)}.booking-note{border-left:2px solid var(--c-accent)}.booking-test-warning{border:1px dashed var(--c-warning-border)}.booking-test-warning:before{color:var(--c-warning)}.booking-summary__row,.booking-student__row,.booking-done__row,.pay__row,.booking-selection__row{border-top-color:var(--c-border)}.booking-summary__row code,.booking-done__row code,.pay__row code,.booking-test-warning code,.booking-summary__row dd code{background:var(--c-bg-sunken);border:1px solid var(--c-border);border-radius:var(--radius-sm);color:var(--c-accent)}.booking-summary__row--price,.pay__row--total{border-top:1px solid var(--c-border-strong)}.booking-summary__hold{background:var(--c-warning-bg);border:1px solid var(--c-warning-border);border-left:2px solid var(--c-warning);color:var(--c-warning)}.booking-policies__list li:before,.booking-done__checklist li:before,.services-notes__list li:before,.availability-rules__list li:before,.booking-failed__options>li:not(:first-child):before{color:var(--c-accent)}.btn--slot{background:var(--c-bg-sunken);border:1px solid var(--c-border-strong);border-radius:var(--radius);color:var(--c-text);font-family:var(--font-mono);font-weight:500;letter-spacing:var(--tr-mono)}.btn--slot:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-text-onaccent);box-shadow:0 6px 20px -6px #d8f14e80}.btn--slot:active{background:var(--c-accent-active);border-color:var(--c-accent-active)}.calendar__day-title{font-weight:600;color:var(--c-text)}.calendar__day-date{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--c-text-muted)}.calendar__day--today{border-color:var(--c-accent-border);box-shadow:var(--hairline),var(--glow-soft)}.calendar__day--today .calendar__day-title:after{background:var(--c-accent);color:var(--c-text-onaccent);border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:500}.calendar__day--empty{background:var(--c-bg)}.calendar__slot--free .calendar__slot-time{background:var(--c-bg-sunken);border:1px solid var(--c-border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--c-text)}.calendar__slot--taken{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--c-text-muted)}.calendar__slot-state{font-size:var(--fs-xs);letter-spacing:.1em}.calendar__nav-link{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-text);transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.calendar__nav-link:hover{background:var(--c-bg-sunken);border-color:var(--c-accent-border);color:var(--c-accent)}.calendar__nav-link--disabled{background:var(--c-bg);color:var(--c-text-muted);border-style:dashed}.calendar__nav-link--disabled:hover{background:var(--c-bg);color:var(--c-text-muted);border-color:var(--c-border)}.calendar__empty{background:var(--c-bg-subtle);border:1px dashed var(--c-border-strong);border-radius:var(--radius-lg)}.calendar__timezone{font-family:var(--font-mono);font-size:var(--fs-xs)}.availability-filter{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--hairline)}.availability-filter__option{background:var(--c-bg);border:1px solid var(--c-border-strong)}.availability-filter__option:has(input:checked){border-color:var(--c-accent);background:var(--c-accent-bg);color:var(--c-accent);font-weight:600}.availability-filter__option input{accent-color:var(--c-accent)}.availability-rules__list strong{color:var(--c-text)}.page--pay .pay{background:var(--c-bg-subtle);border:1px solid var(--c-accent-border);border-radius:var(--radius-xl);box-shadow:var(--hairline),var(--shadow-lift),0 0 80px -30px #d8f14e80}.pay__amount{font-size:clamp(2.5rem,1.7rem + 3.2vw,3.75rem);line-height:1;color:var(--c-accent)}.pay__destination{background:var(--c-bg-sunken);border:1px solid var(--c-border);border-left:2px solid var(--c-accent);border-radius:var(--radius)}.pay__destination strong{font-family:var(--font-mono);color:var(--c-accent)}.booking-done__lead{background:var(--c-success-bg);border:1px solid var(--c-success-border);border-left:2px solid var(--c-success);color:var(--c-success)}.booking-done__meet{background:var(--c-accent-bg);border:1px solid var(--c-accent);border-radius:var(--radius-xl);box-shadow:var(--glow-soft)}.booking-done__meet-url{font-family:var(--font-mono);background:var(--c-bg);border-color:var(--c-accent-border);color:var(--c-accent)}.booking-done__meet-pending{background:var(--c-bg-subtle);border:1px dashed var(--c-border-strong)}.booking-failed__reason{background:var(--c-error-bg);border:1px solid var(--c-error-border);border-left:2px solid var(--c-error);color:var(--c-error)}.booking-failed__status{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg)}.page--services .subject-block{border-top:1px solid var(--c-border)}.subject-block__title a{color:var(--c-text);text-decoration-color:transparent}.subject-block__title a:hover{color:var(--c-accent);text-decoration-color:currentColor}.subject-block__description{color:var(--c-text-muted)}.subject-block__levels{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-text-muted)}.subject-block__levels-label{color:var(--c-text)}.services-notes{border-left:2px solid var(--c-accent)}.site-main>*:not(.campo){margin-inline:max(0px,calc((100% - var(--w-container)) / 2)) auto}.site-main{position:relative}.page--pay .pay{margin-inline:auto}.page-header{padding-top:var(--sp-3)}.page-header__title{letter-spacing:var(--tr-display)}.page-header__lead{font-size:var(--fs-md);color:var(--c-text-muted);max-width:var(--measure)}.section__title{letter-spacing:var(--tr-title)}.breadcrumb{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-text-muted)}.breadcrumb a{color:var(--c-text-muted);text-decoration-color:transparent}.breadcrumb a:hover{color:var(--c-accent)}.breadcrumb__item+.breadcrumb__item:before{color:var(--c-border-strong)}.about{display:grid;gap:var(--sp-7)}.about__header{display:grid;gap:var(--sp-4);padding-bottom:var(--sp-7);border-bottom:1px solid var(--c-border)}.about__title{max-width:14ch;font-size:clamp(2.4rem,1.4rem + 4.2vw,4.5rem);line-height:.98;letter-spacing:var(--tr-display)}.about__headline{font-size:clamp(1.05rem,.98rem + .4vw,1.3rem);line-height:var(--lh-snug);color:var(--c-text-muted);max-width:40ch}@media(min-width:64em){.about__header{grid-template-columns:12rem minmax(0,var(--w-prose));column-gap:var(--sp-7)}.about__title{grid-column:1 / -1}.about__headline{grid-column:2}}.about__photo{width:100%;max-width:14rem;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--c-border);box-shadow:var(--shadow-lift),0 0 60px -24px #d8f14e66}@media(min-width:52em){.about__header{grid-template-columns:1fr auto;grid-template-areas:"titulo  foto" "bajada  foto";align-items:start;column-gap:var(--sp-7)}.about__title{grid-area:titulo}.about__headline{grid-area:bajada}.about__photo{grid-area:foto;max-width:15rem}}.about__section{display:grid;gap:var(--sp-4);max-width:var(--w-prose);padding-top:var(--sp-6);border-top:1px solid var(--c-border)}.about__section>.section__title{margin-bottom:0;color:var(--c-accent)}@media(min-width:64em){.about__section{max-width:none;grid-template-columns:12rem minmax(0,var(--w-prose));column-gap:var(--sp-7);align-items:start}.about__section>.section__title{grid-column:1;position:sticky;top:10rem}.about__section>*:not(.section__title){grid-column:2}}.about__prose{color:var(--c-text-muted);line-height:var(--lh-base)}.about__prose>*+*{margin-top:var(--sp-4)}.about__prose strong{color:var(--c-text)}.about__years{display:flex;align-items:baseline;gap:var(--sp-3);margin-top:var(--sp-2);padding:var(--sp-4) var(--sp-5);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-left:2px solid var(--c-accent);border-radius:var(--radius-lg);box-shadow:var(--hairline);font-size:var(--fs-sm);color:var(--c-text-muted)}.about__years strong{font-size:clamp(2.25rem,1.6rem + 2.6vw,3.25rem);line-height:1;color:var(--c-accent)}.about__list{display:grid;gap:0;counter-reset:dato}.about__list li{counter-increment:dato;display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:var(--sp-3);align-items:baseline;padding-block:var(--sp-3);border-top:1px solid var(--c-border);font-size:var(--fs-sm)}.about__list li:last-child{border-bottom:1px solid var(--c-border)}.about__list li:before{content:counter(dato,decimal-leading-zero);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-accent)}.about__list--tools,.about__list--subjects{display:flex;flex-wrap:wrap;gap:var(--sp-2);counter-reset:none}.about__list--tools li,.about__list--subjects li{display:inline-flex;align-items:center;padding:var(--sp-2) var(--sp-4);border:1px solid var(--c-border);border-top:1px solid var(--c-border);border-radius:999px;background:var(--c-bg-subtle);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tr-mono);transition:border-color var(--t-fast)}.about__list--tools li:last-child,.about__list--subjects li:last-child{border-bottom:1px solid var(--c-border)}.about__list--tools li:before,.about__list--subjects li:before{content:none}.about__list--subjects li a{color:var(--c-accent);text-decoration:none}.about__list--subjects li:hover{border-color:var(--c-accent-border)}.about__footer{padding-top:var(--sp-6);border-top:1px solid var(--c-border)}.about__cta{display:grid;gap:var(--sp-3)}@media(min-width:40em){.about__cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4)}}.testimonials{display:grid;gap:var(--sp-5)}.testimonials__list{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(min(19rem,100%),1fr));align-items:start}.testimonials__item{display:grid}.testimonials__disclaimer{max-width:var(--measure);padding:var(--sp-4);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-left:2px solid var(--c-accent);border-radius:var(--radius);font-size:var(--fs-sm);color:var(--c-text-muted)}.testimonials--external{padding-top:var(--sp-6);border-top:1px solid var(--c-border)}.faq-group{display:grid;gap:var(--sp-3);counter-reset:pregunta}.faq-group__title{color:var(--c-accent)}.faq-group__list{display:grid;gap:var(--sp-2);max-width:var(--w-prose)}.faq-group__item{counter-increment:pregunta;display:grid}.faq__question:before{content:counter(pregunta,decimal-leading-zero);flex:none;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;color:var(--c-text-muted);transition:color var(--t-base)}.faq[open]>.faq__question:before{color:var(--c-accent)}.faq__answer>*+*{margin-top:var(--sp-3)}.faq,.faq-preview__item{position:relative;background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--hairline);transition:border-color var(--t-base),background var(--t-base);padding-block:0}.faq:hover,.faq-preview__item:hover{border-color:var(--c-accent-border)}.faq[open],.faq-preview__item[open]{background:var(--c-bg-sunken);border-color:var(--c-accent-border)}.faq__question,.faq-preview__question{position:relative;display:flex;align-items:center;gap:var(--sp-3);min-height:60px;padding:var(--sp-4) calc(var(--sp-4) + 2.5rem) var(--sp-4) var(--sp-4);cursor:pointer;font-size:var(--fs-md);font-weight:600;letter-spacing:-.015em;color:var(--c-text);list-style:none;transition:color var(--t-fast);-webkit-user-select:none;user-select:none}.faq__question::-webkit-details-marker,.faq-preview__question::-webkit-details-marker{display:none}.faq__question:hover,.faq-preview__question:hover{color:var(--c-accent)}.faq[open]>.faq__question,.faq-preview__item[open]>.faq-preview__question{color:var(--c-accent)}.faq__question:after,.faq-preview__question:after{content:"";position:absolute;right:var(--sp-4);top:50%;translate:0 -50%;width:30px;height:30px;border:1px solid var(--c-border-strong);border-radius:var(--radius);background-color:var(--c-bg);background-image:linear-gradient(var(--c-accent),var(--c-accent)),linear-gradient(var(--c-accent),var(--c-accent));background-repeat:no-repeat;background-position:center,center;background-size:12px 1.5px,1.5px 12px;transition:background-size var(--t-base) var(--ease),border-color var(--t-base),box-shadow var(--t-base)}.faq__question:hover:after,.faq-preview__question:hover:after{border-color:var(--c-accent);box-shadow:0 0 14px -2px #d8f14e73}.faq[open]>.faq__question:after,.faq-preview__item[open]>.faq-preview__question:after{border-color:var(--c-accent);background-size:12px 1.5px,1.5px 0}.faq__answer,.faq-preview__answer{padding:0 calc(var(--sp-4) + 2.5rem) var(--sp-5) var(--sp-4);color:var(--c-text-muted);line-height:var(--lh-base)}@supports selector(::details-content){:root{interpolate-size:allow-keywords}.faq::details-content,.faq-preview__item::details-content{block-size:0;overflow:hidden;transition:block-size var(--t-base) var(--ease),content-visibility var(--t-base) allow-discrete}.faq[open]::details-content,.faq-preview__item[open]::details-content{block-size:auto}}.faq-policies{display:grid;gap:0;max-width:var(--w-prose);padding:var(--sp-2) var(--sp-5);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--hairline)}.faq-policies__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-3);align-items:baseline;padding-block:var(--sp-3)}.faq-policies__item+.faq-policies__item{border-top:1px solid var(--c-border)}.faq-policies__item dt{color:var(--c-text-muted);font-size:var(--fs-sm)}.faq-policies__item dd{margin:0;font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--c-accent);text-align:right}.faq-policies__link{margin-top:var(--sp-4);max-width:var(--w-prose);font-size:var(--fs-sm);color:var(--c-text-muted)}.contact{display:grid;gap:var(--sp-6)}@media(min-width:56em){.contact{grid-template-columns:minmax(0,20rem) minmax(0,1fr);gap:var(--sp-8);align-items:start}}.contact__direct{display:grid;gap:var(--sp-4);padding:var(--sp-5);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--hairline)}.contact__direct .section__title{font-size:var(--fs-md)}.contact__channels{display:grid;gap:var(--sp-3)}.contact__channel{display:grid;gap:var(--sp-1)}.contact__channel-label{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-muted)}.contact__channel a{font-family:var(--font-mono);font-size:var(--fs-sm);overflow-wrap:anywhere}.contact__form-block{display:grid;gap:var(--sp-4)}.contact__note{font-size:var(--fs-sm);color:var(--c-text-muted);max-width:var(--measure)}.page--booking .booking-subject{display:grid;gap:var(--sp-4);padding-top:var(--sp-6);border-top:1px solid var(--c-border)}.booking-subject__title{letter-spacing:var(--tr-title)}.booking-subject__description{max-width:var(--measure);color:var(--c-text-muted)}.booking-options{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(15.5rem,100%),1fr));align-items:stretch}.booking-options__item{display:grid}.booking-option{position:relative;display:flex;flex-direction:column;gap:var(--sp-2);height:100%;padding:var(--sp-5);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--hairline);transition:border-color var(--t-base),box-shadow var(--t-base),transform var(--t-base) var(--ease)}.booking-option:hover,.booking-option:focus-within{transform:translateY(-3px);border-color:var(--c-accent-border);box-shadow:var(--hairline),var(--shadow-lift),var(--glow-soft)}.booking-option__kind{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent)}.booking-option__title{font-size:var(--fs-md);font-weight:650;letter-spacing:-.015em;text-wrap:balance}.booking-option__price{margin-top:var(--sp-2);font-family:var(--font-mono);font-size:clamp(1.75rem,1.4rem + 1.5vw,2.25rem);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1;color:var(--c-text)}.booking-option__unit{font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--c-accent)}.booking-option__facts{display:grid;gap:0;margin-top:var(--sp-3);font-size:var(--fs-sm)}.booking-option__fact{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:var(--sp-3);justify-content:space-between;padding-block:var(--sp-2);border-top:1px solid var(--c-border)}.booking-option__fact dt{color:var(--c-text-muted)}.booking-option__fact dd{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;color:var(--c-text)}.booking-option__description{margin-top:var(--sp-2);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--c-text-muted)}.booking-option__prerequisites{font-size:var(--fs-sm);color:var(--c-text-muted)}.booking-option__prerequisites strong{color:var(--c-text)}.booking-option__note{padding:var(--sp-2) var(--sp-3);background:var(--c-bg-sunken);border-left:2px solid var(--c-accent-border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--c-text-muted)}.booking-option__action{margin-top:auto;padding-top:var(--sp-4)}.booking-option__action .btn{width:100%}.page--booking .booking-conditions{margin-top:var(--sp-7);padding:var(--sp-5);max-width:var(--w-prose);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-left:2px solid var(--c-accent);border-radius:var(--radius-lg);box-shadow:var(--hairline)}.booking-conditions .section__title{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent);margin-bottom:var(--sp-4)}.booking-conditions__list{display:grid;gap:var(--sp-3);font-size:var(--fs-sm)}.booking-conditions__list li{position:relative;padding-left:var(--sp-5);color:var(--c-text-muted)}.booking-conditions__list li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 8px #d8f14e80}.booking-conditions__list strong{color:var(--c-text)}.acceso{display:grid;gap:var(--sp-4);width:100%;max-width:26rem}.acceso__marca{color:var(--c-accent)}.acceso__titulo{font-size:clamp(1.75rem,1.5rem + 1.2vw,2.25rem);letter-spacing:var(--tr-title)}.acceso__intro{font-size:var(--fs-sm);color:var(--c-text-muted);max-width:38ch}.acceso__via{display:grid;gap:var(--sp-3);padding:var(--sp-4);background:var(--c-bg-sunken);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--hairline)}.acceso__rotulo{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent)}.acceso__form{display:grid;gap:var(--sp-3)}.acceso__form .btn,.acceso__via--admin .btn{width:100%}.acceso__pista{font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--c-text-muted)}.acceso__separador{display:flex;align-items:center;gap:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-muted)}.acceso__separador:before,.acceso__separador:after{content:"";flex:1;height:1px;background:var(--c-border)}.acceso__proveedores{display:grid;gap:var(--sp-2)}.acceso__proveedores .btn{width:100%}.modal-acceso{width:min(30rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:1px solid var(--c-accent-border);border-radius:var(--radius-xl);background:var(--c-bg-subtle);color:var(--c-text);box-shadow:var(--hairline),var(--shadow-lift),0 0 80px -30px #d8f14e66;overflow:auto}.modal-acceso::backdrop{background:#040506b8;backdrop-filter:blur(6px)}.modal-acceso__caja{position:relative;padding:var(--sp-6) var(--sp-5) var(--sp-5)}.modal-acceso .acceso{max-width:none}.modal-acceso__cerrar-form{position:absolute;top:var(--sp-3);right:var(--sp-3);margin:0}.modal-acceso__cerrar{display:grid;place-content:center;width:var(--tap);height:var(--tap);padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--c-text-muted);cursor:pointer;transition:color var(--t-fast),background var(--t-fast),border-color var(--t-fast)}.modal-acceso__cerrar:hover{background:var(--c-bg-sunken);border-color:var(--c-border);color:var(--c-text)}@media(prefers-reduced-motion:no-preference){.modal-acceso[open]{animation:modal-entra .26s var(--ease) both}.modal-acceso[open]::backdrop{animation:modal-fondo .26s ease both}}@keyframes modal-entra{0%{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes modal-fondo{0%{opacity:0}}.login-page{display:grid;justify-items:start;gap:var(--sp-5);padding-block:var(--sp-7) var(--sp-8)}.btn--ghost{background:transparent;border-color:var(--c-border);color:var(--c-text-muted)}.btn--ghost:hover{background:var(--c-bg-subtle);border-color:var(--c-accent-border);color:var(--c-text)}.site-header__cta{display:flex;gap:var(--sp-2);align-items:center}.site-header__cta .btn--ghost{flex:none;width:auto}.site-header__cta .btn--primary{flex:1 1 auto;width:auto;min-width:0}@media(min-width:60em){.site-header__cta .btn--primary{flex:none}}.error-page{display:grid;gap:var(--sp-5);max-width:40rem;padding-block:var(--sp-8)}.error-page__title{letter-spacing:var(--tr-display)}.error-page__title:before{content:"404";display:block;margin-bottom:var(--sp-3);font-family:var(--font-mono);font-size:clamp(3.5rem,2rem + 7vw,7rem);font-weight:500;letter-spacing:-.05em;line-height:.9;color:var(--c-accent);text-shadow:0 0 60px rgb(216 241 78 / .35)}.error-page__lead{font-size:var(--fs-md);color:var(--c-text-muted)}.error-page__links,.error-page__subjects{display:grid;gap:var(--sp-3)}.error-page__list{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.error-page__list li{display:flex}.error-page__list a{display:inline-flex;align-items:center;min-height:var(--tap);padding:var(--sp-2) var(--sp-4);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-text);text-decoration:none;transition:border-color var(--t-fast),color var(--t-fast)}.error-page__list a:hover{border-color:var(--c-accent-border);color:var(--c-accent)}.error-page .section__title{font-size:var(--fs-base);color:var(--c-text-muted)}.prose{color:var(--c-text-muted);line-height:1.7}.prose h2{padding-top:var(--sp-5);border-top:1px solid var(--c-border);color:var(--c-text);font-size:var(--fs-lg)}.prose h3{color:var(--c-text);font-size:var(--fs-md)}.prose strong{color:var(--c-text)}.prose li{margin-top:var(--sp-2)}.prose li::marker{color:var(--c-accent)}.prose code{padding:2px 6px;background:var(--c-bg-sunken);border:1px solid var(--c-border);border-radius:var(--radius-sm);color:var(--c-accent)}.prose blockquote{padding:var(--sp-3) var(--sp-4);border-left:2px solid var(--c-accent);background:var(--c-bg-subtle);border-radius:0 var(--radius) var(--radius) 0}.admin h1{font-size:clamp(1.5rem,1.3rem + 1vw,2rem);letter-spacing:-.02em}.admin h2{font-size:var(--fs-lg)}.admin h3{font-size:var(--fs-md)}.admin-header{border-bottom:1px solid var(--c-border);background:var(--c-bg-deep)}.admin-nav .site-nav__link{font-family:var(--font-mono);font-size:var(--fs-xs)}.admin-section__title{color:var(--c-text)}.admin-section__subtitle{color:var(--c-text-muted)}.admin-alert{background:var(--c-warning-bg);border:1px solid var(--c-warning-border);border-left:2px solid var(--c-warning);border-radius:var(--radius);color:var(--c-warning)}.admin-alert--info{background:var(--c-accent-bg);border-color:var(--c-accent-border);border-left-color:var(--c-accent);color:var(--c-accent)}.admin-note{color:var(--c-text-muted)}.admin-table{border:1px solid var(--c-border);border-radius:var(--radius-lg)}.admin th{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-muted);background:var(--c-bg-subtle)}.admin td{border-bottom-color:var(--c-border)}.admin tbody tr{transition:background var(--t-fast)}.admin tbody tr:hover{background:var(--c-bg-subtle)}.admin td code,.admin th code{font-family:var(--font-mono);color:var(--c-accent)}.admin-boleta{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--hairline)}.admin-boleta__meta{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-text-muted)}.admin-boleta__dato{border-top-color:var(--c-border)}.admin-boleta__dato dt{color:var(--c-text-muted)}.admin-boleta__dato dd{color:var(--c-text)}.admin-boleta__plano summary{color:var(--c-accent)}.admin-boleta__pre{background:var(--c-bg);border:1px solid var(--c-border);border-left:2px solid var(--c-accent);border-radius:var(--radius);color:var(--c-text)}@keyframes surgir{0%{opacity:0;transform:translateY(18px)}}@keyframes surgir-corto{0%{opacity:0;transform:translateY(8px)}}@keyframes aparecer{0%{opacity:0;transform:translateY(24px) scale(.985)}}.page--home .hero__photo,.page--home .hero__photo--placeholder{animation:aparecer .7s var(--ease) 80ms both}.page--home .hero__content>*{animation:surgir .62s var(--ease) both}.page--home .hero__content>*:nth-child(1){animation-delay:.14s}.page--home .hero__content>*:nth-child(2){animation-delay:.23s}.page--home .hero__content>*:nth-child(3){animation-delay:.32s}.page--home .hero__content>*:nth-child(4){animation-delay:.41s}.page--home .hero__content>*:nth-child(5){animation-delay:.5s}.page--home .hero__content>*:nth-child(6){animation-delay:.59s}.site-header__brand,.site-header .site-nav,.site-header__cta{animation:surgir-corto .42s var(--ease) both}.page-header__title,.about__title,.error-page__title{animation:surgir .56s var(--ease) both}.page-header__lead,.about__headline{animation:surgir .56s var(--ease) 90ms both}@keyframes derivar{0%{transform:translateZ(0) scaleY(1);opacity:.85}50%{transform:translate3d(0,-2%,0) scaleY(1.08);opacity:1}to{transform:translate3d(0,2%,0) scaleY(1.03);opacity:.9}}.page--home .site-main:before{animation:derivar 22s ease-in-out infinite alternate;will-change:transform,opacity}.scroll-progress{display:none}@supports (animation-timeline: scroll()){.scroll-progress{display:block;position:fixed;inset:0 0 auto;z-index:90;height:2px;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(to right,var(--c-accent-active),var(--c-accent-hover));box-shadow:0 0 12px #d8f14e99;pointer-events:none;animation:progreso linear;animation-timeline:scroll(root block)}@keyframes progreso{to{transform:scaleX(1)}}}@media(scripting:enabled)and (prefers-reduced-motion:no-preference){.page--home .site-main>section:not(.hero),.page--services .subject-block,.page--testimonials .testimonials__item,.page--faq .faq-group,.page--about .about__section,.page--home .featured-services__item,.page--home .subjects__item{opacity:0;transform:translateY(20px);transition:opacity .62s var(--ease),transform .62s var(--ease)}.esta-visible{opacity:1!important;transform:none!important}}@media(hover:hover)and (pointer:fine)and (scripting:enabled){.service-card,.subjects__link,.testimonial,.faq,.faq-preview__item{--fx: 50%;--fy: 0%}.service-card:after,.subjects__link:after,.testimonial:after,.faq:after,.faq-preview__item:after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--t-base);background:radial-gradient(22rem circle at var(--fx) var(--fy),rgb(216 241 78 / .09),transparent 55%)}.service-card:hover:after,.subjects__link:hover:after,.testimonial:hover:after,.faq:hover:after,.faq-preview__item:hover:after{opacity:1}.service-card>*,.subjects__link>*,.testimonial>*{position:relative;z-index:1}}.hero__title.esta-partido .palabra{display:inline-block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em;vertical-align:bottom}.hero__title.esta-partido .palabra__int{display:inline-block;animation:entrar-palabra .76s var(--ease-out) both}@keyframes entrar-palabra{0%{transform:translateY(105%);opacity:0}}.campo{position:absolute;z-index:0;pointer-events:none}.cta-final>.campo{inset:0;width:100%;height:100%;mask-image:radial-gradient(110% 130% at 30% 0%,#000 35%,transparent 85%)}.site-main>.campo{inset:0 0 auto;width:100%;height:30rem;mask-image:linear-gradient(to bottom,#000 0%,#000 42%,transparent 96%)}.page--home .site-main>.campo{height:46rem;mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 98%)}@media(prefers-reduced-motion:no-preference){.site-nav__link:active,.calendar__nav-link:active,.external-profiles__link:active,.faq-policies__link:active,.error-page__list a:active,.subjects__link:active{transform:translateY(1px)}}@media print{*{animation:none!important;opacity:1!important;transform:none!important}.scroll-progress{display:none!important}}
