/* Hallmark · macrostructure: Split Studio · multi-page interior system · anchor hue: chromatic-green
 * nav: N11-derived disclosure · footer: Ft5 statement · enrichment: unique campus photography + CSS atmosphere
 * audience: LAC families · use: explore and contact admissions · tone: institutional-atmospheric
 * pre-emit critique: P5 H5 E5 S5 R5 V5
 */
@import url("tokens.css");

*{box-sizing:border-box}html,body{margin:0;overflow-x:clip;scroll-behavior:smooth}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.shell{margin-inline:auto;width:min(var(--page-max),100% - (var(--page-gutter)*2))}.eyebrow{color:var(--color-green-deep);font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:750;letter-spacing:-.055em;line-height:1.02;margin:0;max-width:14ch;min-width:0;overflow-wrap:anywhere}.copy{color:var(--color-muted);max-width:62ch}.section{padding-block:var(--space-4xl)}.btn{align-items:center;border:1px solid transparent;display:inline-flex;font-weight:800;gap:var(--space-sm);justify-content:center;min-height:3rem;padding:.75rem 1.15rem;transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out);white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--color-green);color:var(--color-green-ink)}.btn-primary:hover{background:var(--color-green-deep)}.btn-secondary{border-color:var(--color-rule);color:var(--color-ink)}.btn-secondary:hover{background:var(--color-paper-2);border-color:var(--color-ink)}.skip{background:var(--color-ink);color:var(--color-paper);left:var(--space-md);padding:var(--space-sm) var(--space-md);position:fixed;top:-5rem;z-index:100}.skip:focus{top:var(--space-md)}

.utility{background:var(--color-ink);color:var(--color-paper);font-size:var(--text-xs)}.utility .shell{align-items:center;display:flex;gap:var(--space-md);justify-content:flex-end;min-height:2.25rem}.utility a:hover{color:var(--color-gold)}.nav{background:color-mix(in oklch,var(--color-paper) 96%,transparent);border-bottom:var(--rule-hair) solid var(--color-rule-2);position:sticky;top:0;z-index:20}.nav-inner{align-items:center;display:grid;gap:var(--space-xl);grid-template-columns:auto 1fr auto;min-height:5.25rem}.brand{align-items:center;display:inline-flex;font-family:var(--font-display);font-size:var(--text-md);font-weight:800;gap:var(--space-sm);letter-spacing:-.04em;line-height:1.05}.brand.logo-only img{height:4rem;object-fit:contain;width:4rem}.nav-links{align-items:center;display:flex;gap:var(--space-lg);justify-content:center}.nav-links a{font-size:var(--text-sm);font-weight:700}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--color-green-deep)}.burger{background:transparent;border:0;display:none;padding:var(--space-sm)}.burger i{background:var(--color-ink);display:block;height:2px;margin:.3rem;width:1.5rem}

.page-hero{--hero-image:none;--hero-position:center;background:linear-gradient(118deg,var(--color-ink),color-mix(in oklch,var(--color-ink) 84%,var(--color-green)),var(--color-ink));color:var(--color-paper);isolation:isolate;overflow:hidden;padding-block:clamp(3rem,7vw,6rem);position:relative}.page-hero:before{background-image:linear-gradient(color-mix(in oklch,var(--color-ink) 42%,transparent),color-mix(in oklch,var(--color-ink) 64%,transparent)),var(--hero-image);background-position:center,var(--hero-position);background-repeat:no-repeat;background-size:cover;content:"";filter:saturate(.7) contrast(1.08);inset:0;opacity:.22;position:absolute;transform:scale(1.035);z-index:-2}.page-hero:after{background:radial-gradient(circle at 78% 24%,color-mix(in oklch,var(--color-green) 30%,transparent),transparent 34%),radial-gradient(circle at 16% 82%,color-mix(in oklch,var(--color-green) 18%,transparent),transparent 40%);content:"";inset:-16%;opacity:.72;pointer-events:none;position:absolute;transform:translate3d(-2%,0,0) scale(1.05);z-index:-1;animation:interior-hero-drift 14s var(--ease-in-out) infinite alternate}.hero-particles{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.hero-particles span{color:var(--color-green);font-family:var(--font-outlier);font-size:clamp(.68rem,1vw,.9rem);font-weight:800;opacity:0;position:absolute;text-shadow:0 0 14px color-mix(in oklch,var(--color-green) 72%,transparent);animation:interior-particle-flicker 5.5s var(--ease-in-out) infinite}.hero-particles span:nth-child(1){left:6%;top:18%;animation-delay:-1s}.hero-particles span:nth-child(2){left:15%;top:72%;animation-delay:-3.6s}.hero-particles span:nth-child(3){left:28%;top:12%;animation-delay:-2.2s}.hero-particles span:nth-child(4){left:39%;top:82%;animation-delay:-4.3s}.hero-particles span:nth-child(5){left:51%;top:27%;animation-delay:-.7s}.hero-particles span:nth-child(6){left:62%;top:69%;animation-delay:-2.9s}.hero-particles span:nth-child(7){left:73%;top:13%;animation-delay:-4.8s}.hero-particles span:nth-child(8){left:84%;top:45%;animation-delay:-1.9s}.hero-particles span:nth-child(9){left:92%;top:78%;animation-delay:-3.2s}.hero-particles span:nth-child(10){left:36%;top:50%;animation-delay:-4.6s}.hero-particles span:nth-child(11){left:57%;top:8%;animation-delay:-1.2s}.hero-particles span:nth-child(12){left:10%;top:45%;animation-delay:-2.7s}.page-hero-grid{align-items:end;display:grid;gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,.8fr);position:relative;z-index:1}.page-hero .eyebrow{color:var(--color-gold)}.page-hero h1{font-family:var(--font-display);font-size:var(--text-display-s);font-weight:750;letter-spacing:-.065em;line-height:.94;margin:var(--space-md) 0 0;max-width:11ch;min-width:0;overflow-wrap:anywhere}.page-hero p:not(.eyebrow){color:color-mix(in oklch,var(--color-paper) 86%,var(--color-ink));font-size:var(--text-md);margin:var(--space-lg) 0 0;max-width:39ch}.hero-note{border-left:var(--rule-hair) solid color-mix(in oklch,var(--color-paper) 35%,transparent);color:color-mix(in oklch,var(--color-paper) 82%,var(--color-ink));font-size:var(--text-sm);padding-left:var(--space-lg)}.hero-note b{color:var(--color-gold);display:block;font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.04em;line-height:1;margin-bottom:var(--space-sm)}@keyframes interior-hero-drift{0%{opacity:.44;transform:translate3d(-3%,-1%,0) scale(1.03)}100%{opacity:.82;transform:translate3d(4%,2%,0) scale(1.12)}}@keyframes interior-particle-flicker{0%,17%,100%{opacity:0;transform:translate3d(0,-7px,0)}28%,62%{opacity:.68;transform:translate3d(0,7px,0)}74%{opacity:.1;transform:translate3d(0,15px,0)}}

.split{align-items:center;display:grid;gap:clamp(2rem,7vw,7rem);grid-template-columns:repeat(2,minmax(0,1fr))}.split.reverse .visual{order:-1}.visual{background:var(--color-paper-2);padding:var(--space-md);position:relative}.visual img{aspect-ratio:4/5;object-fit:cover;width:100%}.label{background:var(--color-ink);bottom:var(--space-lg);color:var(--color-paper);font-size:var(--text-xs);font-weight:800;left:calc(var(--space-lg)*-1);letter-spacing:.08em;padding:var(--space-sm) var(--space-md);position:absolute;text-transform:uppercase}.text-flow{columns:2;column-gap:var(--space-xl);color:var(--color-muted);max-width:72ch}.text-flow p{margin-top:0}.values{display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-xl)}.values span{border-bottom:var(--rule-hair) solid var(--color-rule);font-size:var(--text-sm);font-weight:700;padding-bottom:var(--space-sm)}

.band{background:var(--color-paper-2)}.band.dark{background:var(--color-ink);color:var(--color-paper)}.band.dark .eyebrow{color:var(--color-gold)}.band.dark .copy{color:color-mix(in oklch,var(--color-paper) 72%,var(--color-ink))}.steps{list-style:none;margin:var(--space-2xl) 0 0;padding:0}.step{border-top:var(--rule-hair) solid var(--color-rule);display:grid;gap:var(--space-lg);grid-template-columns:3.25rem minmax(0,1fr);padding:var(--space-lg) 0}.step:last-child{border-bottom:var(--rule-hair) solid var(--color-rule)}.dark .step{border-color:color-mix(in oklch,var(--color-paper) 23%,transparent)}.step-no{color:var(--color-green-deep);font-size:var(--text-sm);font-weight:800;padding-top:.25rem}.dark .step-no{color:var(--color-gold)}.step h3{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.035em;line-height:1;margin:0}.step p{color:var(--color-muted);font-size:var(--text-sm);margin:var(--space-xs) 0 0}.dark .step p{color:color-mix(in oklch,var(--color-paper) 68%,var(--color-ink))}

.grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-2xl)}.card{border-top:var(--rule-hair) solid var(--color-rule);padding:var(--space-lg) 0}.card b{color:var(--color-green-deep);font-size:var(--text-sm)}.card h3{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.04em;line-height:1;margin:var(--space-sm) 0}.card p{color:var(--color-muted);font-size:var(--text-sm);margin:0}.card a{display:inline-block;font-size:var(--text-sm);font-weight:800;margin-top:var(--space-md)}.card a:hover{color:var(--color-green-deep)}.level-nav{display:grid;gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--space-2xl)}.level-nav a{background:var(--color-paper);min-height:11rem;padding:var(--space-lg);position:relative}.level-nav a:hover{background:var(--color-green);color:var(--color-green-ink)}.level-nav b{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.04em;line-height:1}.level-nav span{bottom:var(--space-lg);font-size:var(--text-sm);font-weight:800;left:var(--space-lg);position:absolute}

.admissions-grid,.contact-grid{display:grid;gap:var(--space-3xl);grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.form{background:var(--color-ink);color:var(--color-paper);padding:clamp(1.5rem,4vw,3rem)}.form h2{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.045em;line-height:1;margin:0}.form-grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-xl)}.field{display:grid;gap:var(--space-xs)}.field.full{grid-column:1/-1}.field label{font-size:var(--text-sm);font-weight:700}.field input,.field select,.field textarea{background:color-mix(in oklch,var(--color-paper) 6%,var(--color-ink));border:var(--rule-hair) solid color-mix(in oklch,var(--color-paper) 32%,transparent);border-radius:0;color:var(--color-paper);min-height:3rem;padding:.75rem}.field textarea{min-height:8rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-green);outline:2px solid var(--color-focus);outline-offset:1px}.field input:disabled,.field select:disabled,.field textarea:disabled{cursor:not-allowed;opacity:.55}.note{color:color-mix(in oklch,var(--color-paper) 68%,var(--color-ink));font-size:var(--text-xs);margin:var(--space-md) 0 0}.status{color:var(--color-gold);font-size:var(--text-sm);min-height:1.5em}.contact-data{border-top:var(--rule-hair) solid var(--color-rule);display:grid;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg)}.contact-data a:hover{color:var(--color-green-deep)}

.footer{background:var(--color-green-deep);color:var(--color-green-ink);padding:var(--space-3xl) 0 var(--space-xl)}.footer-line{font-family:var(--font-display);font-size:clamp(2.3rem,5vw,4.5rem);font-weight:740;letter-spacing:-.06em;line-height:.93;margin:0;max-width:16ch}.footer-meta{align-items:end;border-top:var(--rule-hair) solid color-mix(in oklch,var(--color-green-ink) 40%,transparent);display:flex;gap:var(--space-xl);justify-content:space-between;margin-top:var(--space-2xl);padding-top:var(--space-lg)}.footer-brand{align-items:center;display:flex;font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;gap:var(--space-sm);letter-spacing:-.04em;line-height:1.05}.footer-brand.logo-only{background:var(--color-paper);padding:.45rem}.footer-brand.logo-only img{height:4rem;object-fit:contain;width:4rem}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:flex-end}.footer-links a{font-size:var(--text-sm);font-weight:700}.footer-links a:hover{color:var(--color-gold)}.footer small{color:color-mix(in oklch,var(--color-green-ink) 78%,var(--color-green-deep));display:block;margin-top:var(--space-lg)}.reveal{opacity:0;transform:translateY(1.25rem);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.reveal.visible{opacity:1;transform:none}

/* Oferta educativa funciona como selector de etapas; cada ruta conserva la página índice como entrada alternativa. */
.level-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.level-highlights .card{min-height:12.5rem}
.nav-links{gap:clamp(.5rem,1vw,1.15rem)}.nav-links>a{font-size:var(--text-xs);font-weight:750}.faq-list{border-top:var(--rule-hair) solid var(--color-rule);margin-bottom:var(--space-xl);max-width:54rem}.faq-list details{border-bottom:var(--rule-hair) solid var(--color-rule);padding:var(--space-lg) 0}.faq-list summary{cursor:pointer;font-family:var(--font-display);font-size:var(--text-lg);font-weight:750;letter-spacing:-.035em;list-style-position:outside;padding-right:var(--space-lg)}.faq-list p{color:var(--color-muted);margin:var(--space-md) 0 0;max-width:62ch}
.brand>span,.footer-brand>span{display:none}.brand>img,.footer-brand>img{visibility:hidden}.brand.logo-only>img,.footer-brand.logo-only>img{visibility:visible}.visual img,.editorial-media img{aspect-ratio:auto;height:auto;object-fit:contain;width:100%}.editorial-section{background:var(--color-surface)}.editorial-layout{align-items:center;display:grid;gap:clamp(2rem,7vw,6rem);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.editorial-layout.reverse{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.editorial-layout.reverse .editorial-media{order:2}.editorial-media{background:var(--color-paper);padding:var(--space-md)}.editorial-copy .title{margin-top:var(--space-md)}.editorial-copy .copy{margin-top:var(--space-lg)}main>.section:nth-of-type(even){background:var(--color-surface)}main>.section:nth-of-type(odd){background:var(--color-paper)}main>.section.shell:nth-of-type(even){box-shadow:0 0 0 100vmax var(--color-surface);clip-path:inset(0 -100vmax)}main>.section.shell:nth-of-type(odd){box-shadow:0 0 0 100vmax var(--color-paper);clip-path:inset(0 -100vmax)}main>.section.dark{background:var(--color-ink);box-shadow:0 0 0 100vmax var(--color-ink)}
.level-nav.five-stages{grid-template-columns:repeat(5,minmax(0,1fr))}
.nav-dropdown{position:relative}.nav-dropdown-trigger{align-items:center;background:transparent;border:0;color:var(--color-ink);display:inline-flex;font-size:var(--text-sm);font-weight:700;gap:.35rem;padding:var(--space-sm) 0}.nav-dropdown-trigger:hover,.nav-dropdown.is-open .nav-dropdown-trigger{color:var(--color-green-deep)}.nav-dropdown-trigger span{font-size:1.1em;line-height:1;transition:transform var(--dur-fast) var(--ease-out)}.nav-dropdown.is-open .nav-dropdown-trigger span{transform:rotate(180deg)}.nav-dropdown-panel{background:var(--color-paper);border:var(--rule-hair) solid var(--color-rule);box-shadow:var(--shadow-soft);display:grid;gap:.15rem;left:50%;min-width:17.5rem;opacity:0;padding:var(--space-sm);pointer-events:none;position:absolute;top:calc(100% + .55rem);transform:translate(-50%,-.4rem);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);visibility:hidden;width:max-content;z-index:30}.nav-dropdown.is-open .nav-dropdown-panel{opacity:1;pointer-events:auto;transform:translate(-50%,0);visibility:visible}.nav-dropdown-panel a{border-left:2px solid transparent;display:grid;gap:.08rem;padding:.7rem .8rem}.nav-dropdown-panel a:hover,.nav-dropdown-panel a:focus-visible{background:var(--color-paper-2);border-left-color:var(--color-gold)}.nav-dropdown-panel strong{font-size:var(--text-sm);line-height:1.2}.nav-dropdown-panel small{color:var(--color-muted);font-size:var(--text-xs)}.nav-dropdown-panel .overview{border-bottom:var(--rule-hair) solid var(--color-rule);border-left:0;color:var(--color-green-deep);font-weight:800;margin-bottom:var(--space-xs)}

@media(max-width:60rem){.nav-inner{grid-template-columns:1fr auto}.nav-links,.nav-cta{display:none}.burger{display:block}.nav.mobile .nav-links{background:var(--color-paper);border-top:var(--rule-hair) solid var(--color-rule);display:grid;gap:var(--space-md);grid-column:1/-1;padding:var(--space-lg) var(--page-gutter)}.page-hero-grid,.split,.admissions-grid,.contact-grid{grid-template-columns:1fr}.split.reverse .visual{order:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.level-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.text-flow{columns:1}}
@media(max-width:60rem){.editorial-layout,.editorial-layout.reverse{grid-template-columns:1fr}.editorial-layout.reverse .editorial-media{order:0}.level-nav.five-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:60rem){.nav.mobile .nav-dropdown{width:100%}.nav.mobile .nav-dropdown-trigger{justify-content:space-between;width:100%}.nav.mobile .nav-dropdown-panel{box-shadow:none;display:none;min-width:0;opacity:1;padding:var(--space-sm) 0 0;position:static;transform:none;visibility:visible;width:100%}.nav.mobile .nav-dropdown.is-open .nav-dropdown-panel{display:grid}.nav.mobile .nav-dropdown-panel a{padding-inline:var(--space-sm)}}
@media(max-width:60rem){.nav.mobile .brand{grid-column:1;grid-row:1}.nav.mobile .burger{grid-column:2;grid-row:1}.nav.mobile .nav-links{grid-row:2;justify-content:stretch;width:100%}.nav.mobile .nav-links>a,.nav.mobile .nav-dropdown-trigger{justify-content:space-between;width:100%}}
@media(max-width:40rem){.utility .shell{justify-content:center}.utility a:nth-child(2){display:none}.brand{font-size:var(--text-base)}.page-hero h1{font-size:clamp(2.75rem,13vw,4.1rem)}.grid,.level-nav,.level-nav.five-stages,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-meta{align-items:flex-start;flex-direction:column}.footer-links{justify-content:flex-start}.section{padding-block:var(--space-3xl)}}
.page-hero:before{opacity:.16}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}.reveal{opacity:1;transform:none}.page-hero:after,.hero-particles span{animation:none}}
