/* Admisión 2027 — a lightweight, progressive guide for families. */
.page-admision { --ad-ink:#142e46; --ad-muted:#526473; --ad-gold:#9c7336; --ad-line:#deded6; --ad-paper:#f7f4ed; --ad-serif:'Libre Baskerville',Georgia,serif; }
.page-admision #main { color:var(--ad-ink); font:400 16px/1.75 'Manrope',sans-serif; }
.page-admision #main > * { border-top:0; padding:0; }
body.page-admision #main.main-admision > section { background:none; box-shadow:none; border:0; border-radius:0; }
.page-admision #main p { margin:0 0 1.25em; text-align:left; }
.page-admision #main h1,.page-admision #main h2,.page-admision #main h3,.page-admision #main h4 { color:var(--ad-ink); text-transform:none; }
.page-admision #main h2 { font:400 clamp(30px,3.3vw,46px)/1.25 var(--ad-serif); letter-spacing:-.055em; margin:0 0 20px; }
.page-admision #main h2 em { color:var(--ad-gold); font-weight:400; }
.page-admision #main h3 { font:400 28px/1.35 var(--ad-serif); letter-spacing:-.04em; }
.page-admision #main h4 { font:800 16px/1.45 'Manrope',sans-serif; letter-spacing:-.015em; margin:0 0 7px; }
.page-admision #main a { color:inherit; }
.page-admision #main a:focus-visible,.page-admision #main button:focus-visible,.page-admision #main summary:focus-visible { outline:3px solid #9b7131; outline-offset:5px; }
.page-admision #main [hidden] { display:none !important; }
.page-admision #main .ad-eyebrow { font:800 11px/1.6 'Manrope',sans-serif; letter-spacing:.16em; text-transform:uppercase; margin:0 0 22px; }
.page-admision #main .ad-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:5.5%; align-items:center; padding:35px 0 48px; }
.ad-hero-copy { padding:12px 0 12px 18px; }
.ad-hero-copy .ad-eyebrow { display:flex; gap:10px; align-items:center; }
.ad-hero-copy .ad-eyebrow > span { width:7px; height:7px; border-radius:50%; background:var(--ad-gold); }
.page-admision #main .ad-hero h1 { font:400 clamp(54px,5.6vw,80px)/1.14 var(--ad-serif); letter-spacing:-.07em; margin:0 0 24px; }
.ad-hero h1 em { display:block; font-weight:400; color:var(--ad-gold); font-size:1.26em; letter-spacing:-.055em; }
.page-admision #main .ad-hero-line { font-size:clamp(21px,2vw,28px); font-weight:600; line-height:1.5; letter-spacing:-.04em; margin-bottom:20px; }
.ad-intro { max-width:490px; color:var(--ad-muted); font-size:15px; }
.ad-intro strong { color:var(--ad-ink); font-weight:700; }
.ad-actions { display:flex; flex-wrap:wrap; gap:20px 24px; align-items:center; padding-top:9px; }
.page-admision #main .ad-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:54px; padding:14px 23px; font:700 13px/1.5 'Manrope',sans-serif; letter-spacing:0; text-transform:none; border:1px solid var(--ad-ink); border-radius:12px; box-shadow:none; cursor:pointer; height:auto; white-space:normal; text-align:center; text-decoration:none; transition:transform .3s ease,background-color .3s ease; }
.page-admision #main .ad-button-primary { background:var(--ad-ink); color:#fff !important; border-color:var(--ad-ink); }
.ad-button > span[aria-hidden] { font-size:20px; }
.page-admision #main .ad-text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; border:0; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; font-size:13px; font-weight:700; }
.page-admision #main .ad-micro { margin:14px 0 0; color:var(--ad-muted); font-size:11px; line-height:1.8; }
.ad-hero-image { position:relative; margin:0; min-width:0; height:590px; overflow:hidden; border-radius:160px 24px 24px 24px; background:#bcc8bc; isolation:isolate; }
.ad-hero-image::after { content:''; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,rgba(13,32,42,.85)); pointer-events:none; }
.ad-hero-image > img { width:100%; height:100%; object-fit:cover; object-position:48% center; display:block; }
.ad-hero-image figcaption { position:absolute; z-index:1; left:36px; bottom:35px; right:24px; color:#fff; line-height:1.5; }
.ad-hero-image figcaption > span { display:block; font-size:12px; letter-spacing:.07em; margin-bottom:5px; }
.ad-hero-image figcaption strong { color:#fff; font:400 clamp(22px,2.3vw,31px)/1.4 var(--ad-serif); letter-spacing:-.035em; }
.ad-image-seal { position:absolute; top:25px; right:25px; z-index:1; display:grid; place-content:center; width:74px; height:74px; border-radius:50%; color:#fff; border:1px solid #ffffff96; background:#142e4666; font:400 24px/1.1 var(--ad-serif); text-align:center; }
.ad-image-seal span { display:block; font:600 8px/1.8 'Manrope',sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.page-admision #main .ad-current { display:grid; grid-template-columns:180px 1fr auto; align-items:center; gap:26px; padding:27px 32px; background:#ecece3; border:1px solid #dedfd3; border-radius:18px; }
.ad-current-label { display:flex; align-items:center; gap:10px; font-size:12px; font-weight:800; }
.ad-status-dot { width:8px; height:8px; flex-shrink:0; background:#4d7160; box-shadow:0 0 0 5px #4d716014; border-radius:50%; }
.page-admision #main .ad-current h2 { font:800 17px/1.5 'Manrope',sans-serif; margin:0 0 4px; letter-spacing:-.025em; }
.page-admision #main .ad-current p { margin:0; font-size:13px; color:#4c5e63; }
.ad-current-link { display:flex; align-items:center; gap:22px; font-size:12px; font-weight:800; border:0; white-space:nowrap; min-height:44px; }
.page-admision #main .ad-section { margin-top:100px; }
.ad-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:34px; }
.ad-section-heading > p,.ad-section-heading > div + div { max-width:385px; }
.ad-section-heading > p { color:var(--ad-muted); font-size:15px; }
.ad-section-heading h2 { margin-bottom:0 !important; }
.ad-guide-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:7px; border-radius:15px; background:#eae9e1; margin-bottom:12px; }
.page-admision #main .ad-guide-tabs button { height:auto; min-height:58px; padding:14px 20px; font:700 14px/1.45 'Manrope',sans-serif; text-transform:none; letter-spacing:-.01em; white-space:normal; box-shadow:none; border:1px solid transparent; border-radius:10px; display:flex; justify-content:space-between; gap:10px; align-items:center; color:var(--ad-muted); cursor:pointer; }
.page-admision #main .ad-guide-tabs button[aria-selected="true"] { background:var(--ad-ink); color:#fff !important; box-shadow:0 3px 9px #142e461a; }
.ad-guide-panel { display:grid; grid-template-columns:1fr 1fr; gap:8%; padding:48px; border:1px solid var(--ad-line); border-radius:20px; background:#fffdf8; margin-top:12px; }
.ad-panel-lead { position:relative; padding-right:20px; }
.page-admision #main .ad-panel-lead .ad-eyebrow { margin-bottom:18px; color:var(--ad-gold); }
.page-admision #main .ad-panel-lead h3 { font-size:32px; position:relative; margin-bottom:20px; }
.ad-panel-lead > p:not(.ad-eyebrow) { font-size:14px; color:var(--ad-muted); max-width:420px; }
.ad-panel-number { position:absolute; right:0; top:-25px; font:400 115px/1 var(--ad-serif); letter-spacing:-.09em; color:#eee9de; opacity:.7; pointer-events:none; }
.ad-panel-lead .ad-eyebrow { position:relative; }
.ad-steps { list-style:none; padding:0; margin:0; }
.ad-steps li { display:flex; gap:18px; padding:0 0 23px; }
.ad-steps li:last-child { padding-bottom:0; }
.ad-steps li > span { display:grid; place-items:center; width:34px; height:34px; border:1px solid #dcded4; border-radius:50%; flex-shrink:0; font-size:12px; font-weight:800; background:#f4f4ed; }
.page-admision #main .ad-steps p { font-size:13px; line-height:1.8; margin:0; color:var(--ad-muted); }
.page-admision #main .ad-guide-note { margin:19px 0 0; font-size:12px; color:var(--ad-muted); display:flex; gap:10px; }
.ad-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ad-date-card { display:flex; flex-direction:column; padding:30px 26px; border:1px solid var(--ad-line); border-radius:20px; background:#fefdf9; min-width:0; position:relative; }
.ad-date-card[data-state="active"] { border-color:#9c7336; box-shadow:0 0 0 2px #9c733618; }
.ad-date-top { min-height:68px; }
.page-admision #main .ad-date-top .ad-eyebrow { display:block; font-size:10px; margin-bottom:6px; letter-spacing:.1em; }
.ad-stage-label { font-size:10px; font-weight:700; color:#5d665c; }
.page-admision #main .ad-date { font:400 clamp(37px,3.6vw,51px)/1.1 var(--ad-serif); letter-spacing:-.055em; margin:12px 0 30px; }
.ad-date span { display:block; margin-top:8px; font:500 14px/1.4 'Manrope',sans-serif; letter-spacing:0; }
.page-admision #main .ad-date-card h3 { font-size:22px; line-height:1.45; margin:0 0 14px; }
.page-admision #main .ad-date-card > p:not(.ad-date) { font-size:13px; color:var(--ad-muted); }
.ad-date-card > .ad-text-link,.ad-card-foot { margin-top:auto; }
.ad-card-foot { font-size:11px; font-weight:700; padding-top:12px; min-height:44px; }
.page-admision #main .ad-date-card-dark { background:var(--ad-ink); color:#f5f2e9; border-color:var(--ad-ink); }
.page-admision #main .ad-date-card-dark h3,.page-admision #main .ad-date-card-dark > p:not(.ad-date) { color:#f5f2e9; }
.ad-date-card-dark .ad-stage-label { color:#d6b777; }
.ad-date-card-dark .ad-date { color:#e3c48c; }
.page-admision #main .ad-calendar-download { font-size:11px; padding:11px 16px; min-height:44px; }
.page-admision #main .ad-download-note { margin:7px 0 0; font-size:10px; color:var(--ad-muted); }
.ad-past-dates { margin-top:20px; border-bottom:1px solid var(--ad-line); }
.ad-past-dates summary,.ad-questions summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; font-weight:700; }
.ad-past-dates summary::-webkit-details-marker,.ad-questions summary::-webkit-details-marker { display:none; }
.ad-past-dates summary { padding:16px 2px; font-size:13px; }
.ad-past-dates summary > span,.ad-questions summary > span { flex-shrink:0; font-size:23px; font-weight:400; transition:transform .25s ease; }
.page-admision #main details[open] > summary > span { transform:rotate(45deg); }
.ad-past-dates dl { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; margin:10px 0 25px; font-size:12px; }
.ad-past-dates dt { font-weight:800; margin:0 0 6px; }
.ad-past-dates dd { margin:0; color:var(--ad-muted); }
.page-admision #main .ad-source-note { font-size:10px; color:var(--ad-muted); margin:16px 0 0; }
.ad-source-note a { margin-left:8px; }
.page-admision #main .ad-prepare { display:grid; grid-template-columns:1fr 1fr; gap:9%; padding:48px; background:#e9ede7; border:1px solid #dbe1d7; border-radius:24px; }
.ad-prepare > div > p:not(.ad-eyebrow):not(.ad-micro) { font-size:14px; color:var(--ad-muted); }
.ad-check-progress { margin-top:27px; }
.page-admision #main #ad-progress-label { font-size:11px; font-weight:800; margin-bottom:9px; }
.ad-check-progress progress { width:100%; height:5px; border:0; background:#d0d8ce; border-radius:5px; display:block; appearance:none; overflow:hidden; }
.ad-check-progress progress::-webkit-progress-bar { background:#d0d8ce; border-radius:5px; }
.ad-check-progress progress::-webkit-progress-value { background:#456754; border-radius:5px; transition:width .3s ease; }
.ad-check-progress progress::-moz-progress-bar { background:#456754; border-radius:5px; }
.page-admision #main .ad-checklist label { display:flex; align-items:center; gap:14px; cursor:pointer; padding:17px 0; margin:0; border-bottom:1px solid #cfd8cc; font:600 13px/1.6 'Manrope',sans-serif; letter-spacing:0; text-transform:none; color:var(--ad-ink); }
.page-admision #main .ad-checklist label:first-child { padding-top:7px; }
.page-admision #main .ad-checklist label:last-child { border:0; }
.page-admision #main .ad-checklist input { appearance:auto; opacity:1; display:block; position:static; z-index:0; width:21px; height:21px; margin:0; flex-shrink:0; accent-color:#365e46; float:none; }
.ad-checklist input:checked + span { color:#49604b; }
.ad-checklist input:focus-visible { outline:3px solid #9c7336; outline-offset:4px; }
.ad-faq { display:grid; grid-template-columns:.85fr 1.15fr; gap:9%; }
.ad-faq > div > p:not(.ad-eyebrow) { font-size:14px; color:var(--ad-muted); }
.ad-questions { border-top:1px solid var(--ad-line); }
.ad-questions details { border-bottom:1px solid var(--ad-line); }
.ad-questions summary { min-height:75px; padding:20px 0; font-size:14px; line-height:1.55; }
.page-admision #main .ad-questions details p { font-size:13px; color:var(--ad-muted); margin:0 30px 23px 0; }
.page-admision #main .ad-help { margin-top:100px; display:grid; grid-template-columns:1.15fr 1fr; gap:8%; padding:49px; border:1px solid #d7c8a9; border-radius:24px; background:#eee5d2; }
.page-admision #main .ad-help h2 { font-size:32px; }
.ad-help > div > p:not(.ad-eyebrow) { font-size:13px; color:#59605c; max-width:420px; }
.ad-help-links { display:flex; flex-direction:column; justify-content:center; }
.ad-help-links > a { display:block; border-bottom:1px solid #d7c8a9; padding:15px 0; }
.ad-help-links > a:first-child { padding-top:0; }
.ad-help-links > a > span { display:block; font-size:11px; margin-bottom:5px; }
.ad-help-links strong { font:700 25px/1.5 'Manrope',sans-serif; color:var(--ad-ink); display:flex; justify-content:space-between; }
.page-admision #main .ad-help-contact { font-size:11px; border-bottom:0; }
.ad-help-contact > span { display:inline !important; }
.page-admision #main .ad-source-footer { padding:24px 2px 0; color:var(--ad-muted); font-size:10px; }
.ad-source-footer > div { display:flex; flex-wrap:wrap; gap:8px 23px; }
.ad-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ad-skip { position:fixed; top:-100px; left:20px; z-index:20000; background:#142e46; color:#fff; padding:14px 22px; border-radius:10px; }
.ad-skip:focus { top:15px; color:#fff; }
@media (hover:hover) and (pointer:fine) {
 .page-admision #main .ad-button:hover { transform:translateY(-2px); background:#e6dfd2; }
 .page-admision #main .ad-button-primary:hover { background:#26445e; }
 .ad-guide-tabs button:not([aria-selected="true"]):hover { background:#f5f3ec; }
 .ad-checklist label:hover { background:#ffffff33; }
}
@media (max-width:1100px) {
 .page-admision #main .ad-hero { padding-top:20px; gap:5%; }
 .ad-hero-copy { padding-left:0; }
 .ad-hero-image { height:530px; border-top-left-radius:120px; }
 .page-admision #main .ad-current { grid-template-columns:1fr auto; gap:8px 20px; padding:24px; }
 .ad-current-label { grid-column:1/-1; margin-bottom:5px; }
 .ad-guide-panel { padding:35px; gap:6%; }
 .ad-date-card { padding:25px 22px; }
 .page-admision #main .ad-prepare,.page-admision #main .ad-help { padding:35px; gap:6%; }
}
@media (max-width:760px) {
 .page-admision #main .ad-hero { grid-template-columns:1fr; gap:30px; padding:15px 0 28px; }
 .ad-hero-copy { padding:0 7px; }
 .page-admision #main .ad-hero h1 { font-size:58px; line-height:1.04; margin-bottom:24px; }
 .ad-hero h1 em { display:inline; font-size:1em; }
 .page-admision #main .ad-hero-line { font-size:24px; }
 .ad-intro { max-width:none; font-size:14px; }
 .ad-actions { gap:12px 20px; }
 .ad-hero-image { height:330px; border-radius:85px 18px 18px 18px; }
 .ad-hero-image > img { object-position:center 54%; }
 .ad-hero-image figcaption { left:26px; bottom:24px; }
 .ad-image-seal { width:58px; height:58px; top:18px; right:18px; font-size:19px; }
 .page-admision #main .ad-current { grid-template-columns:1fr; padding:23px; gap:9px; }
 .ad-current-link { margin-top:1px; }
 .page-admision #main .ad-section { margin-top:65px; }
 .ad-section-heading { display:block; margin-bottom:25px; }
 .ad-section-heading > p,.ad-section-heading > div + div { margin:18px 0 0 !important; max-width:none; font-size:14px; }
 .page-admision #main .ad-eyebrow { font-size:10px; margin-bottom:17px; }
 .ad-guide-tabs { padding:5px; gap:4px; border-radius:12px; }
 .page-admision #main .ad-guide-tabs button { padding:12px 8px; font-size:11px; line-height:1.5; justify-content:center; text-align:center; min-height:58px; }
 .ad-guide-tabs button > span { display:none; }
 .ad-guide-panel { grid-template-columns:1fr; gap:26px; padding:26px 23px; }
 .ad-panel-lead { padding-right:0; }
 .ad-panel-number { font-size:100px; right:4px; top:-14px; }
 .page-admision #main .ad-panel-lead h3 { font-size:29px; }
 .ad-steps { border-top:1px solid var(--ad-line); padding-top:25px; }
 .page-admision #main .ad-guide-note { font-size:11px; padding:0 5px; }
 .ad-timeline { grid-template-columns:1fr; gap:12px; }
 .ad-date-card { padding:27px; }
 .ad-date-top { min-height:0; display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 10px; }
 .page-admision #main .ad-date { font-size:46px; margin:22px 0 23px; }
 .ad-date span { display:inline; margin-left:5px; }
 .page-admision #main .ad-date-card h3 { font-size:23px; }
 .ad-past-dates dl { grid-template-columns:1fr; gap:16px; }
 .ad-source-note a { display:inline; margin-left:0; }
 .page-admision #main .ad-prepare { padding:28px 24px; grid-template-columns:1fr; gap:27px; }
 .ad-check-progress { margin-top:22px; }
 .ad-faq { grid-template-columns:1fr; gap:26px; }
 .ad-questions summary { font-size:13px; min-height:72px; }
 .page-admision #main .ad-help { grid-template-columns:1fr; gap:24px; padding:30px 25px; margin-top:65px; }
 .page-admision #main .ad-help h2 { font-size:29px; }
 .ad-help-links strong { font-size:23px; }
 .ad-source-footer { line-height:1.8; }
}
@media (max-width:380px) {
 .page-admision #main .ad-hero h1 { font-size:48px; }
 .page-admision #main .ad-button-primary { width:100%; padding:14px; gap:12px; }
 .ad-hero-image { height:290px; }
 .page-admision #main .ad-guide-tabs button { font-size:10px; padding:10px 5px; }
 .ad-guide-panel,.ad-date-card { padding:24px 19px; }
}
@media (prefers-reduced-motion:reduce) {
 .page-admision #main *, .page-admision #main *::before, .page-admision #main *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

body.page-admision #main.main-admision > .ad-prepare { background:#e9ede7; border:1px solid #dbe1d7; border-radius:24px; }
body.page-admision #main.main-admision > .ad-help { background:#eee5d2; border:1px solid #d7c8a9; border-radius:24px; }
.page-admision #main, .page-admision #main section[id] { scroll-margin-top:110px; }
