.admissions-page { background: var(--cream); }
.admissions-page .site-header { position: sticky; }

.breadcrumbs { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 3rem; color: #667086; font-size: .68rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.breadcrumbs a { text-underline-offset: .25rem; }

.admission-hero { display: grid; grid-template-columns: 1.04fr .96fr; min-height: 720px; overflow: hidden; background: var(--cream); }
.admission-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem) clamp(2rem, 7vw, 8rem); }
.admission-hero h1 { max-width: 850px; margin: 0; font-family: var(--serif); font-size: clamp(4.4rem, 7.5vw, 8.6rem); font-weight: 400; letter-spacing: -.06em; line-height: .88; }
.admission-hero h1 em { display: block; color: var(--coral); font-weight: 400; }
.admission-hero-copy > p:not(.eyebrow) { max-width: 680px; margin: 2rem 0; color: #4e5a71; font-family: var(--serif); font-size: clamp(1.12rem, 1.5vw, 1.45rem); }
.admission-hero-copy .button { align-self: flex-start; }
.admission-hero-visual { position: relative; min-height: 720px; overflow: hidden; background: var(--sage); }
.admission-hero-visual::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(23,36,62,.78)); }
.admission-hero-visual img { height: 100%; object-fit: cover; filter: saturate(.83); }
.admission-hero-visual > p { position: absolute; z-index: 2; left: 2.2rem; bottom: 2rem; margin: 0; color: var(--white); font-size: .68rem; font-weight: 900; letter-spacing: .14em; line-height: 1.6; text-transform: uppercase; }
.admission-mark { position: absolute; z-index: 3; right: 7%; top: 8%; width: 165px; height: 165px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--white); background: var(--coral); border-radius: 50%; box-shadow: 0 0 0 20px rgba(239,106,86,.2); transform: rotate(7deg); }
.admission-mark span { font-family: var(--serif); font-size: 2.4rem; line-height: 1; }
.admission-mark small { margin-top: .55rem; font-size: .58rem; font-weight: 900; letter-spacing: .12em; line-height: 1.4; text-align: center; text-transform: uppercase; }

.admission-steps { display: grid; grid-template-columns: repeat(3, 1fr); color: var(--white); background: var(--ink); }
.admission-steps article { display: grid; grid-template-columns: 52px 1fr; gap: 1rem; min-height: 150px; padding: 2rem clamp(1.4rem, 4vw, 4rem); border-right: 1px solid rgba(255,255,255,.17); }
.admission-steps article:last-child { border-right: 0; }
.admission-steps span { color: #ffc1b5; font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.admission-steps h2 { margin: 0 0 .45rem; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.admission-steps p { margin: 0; color: #bac2d0; font-size: .84rem; }

.admission-content { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: .58fr 1.12fr; gap: clamp(3rem, 7vw, 8rem); align-items: start; padding: clamp(6rem, 10vw, 10rem) max(3vw, 42px); }
.admission-aside { position: sticky; top: 120px; }
.admission-aside h2 { margin: 2.5rem 0 1.6rem; font-family: var(--serif); font-size: clamp(3rem, 4.7vw, 5.6rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; }
.admission-aside > p { max-width: 560px; color: #566078; }
.aside-card { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; margin: 2.4rem 0; padding: 1.6rem; color: var(--white); background: var(--ink); border-radius: .75rem 4rem .75rem .75rem; }
.aside-card span { color: #ffc1b5; font-size: .65rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.aside-card a { font-weight: 800; overflow-wrap: anywhere; text-underline-offset: .25rem; }
.aside-note { padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: .82rem; }

.admission-form { padding: clamp(2rem, 5vw, 4.5rem); background: var(--white); box-shadow: 0 28px 70px rgba(23,36,62,.09); }
.form-intro { margin-bottom: 3.4rem; }
.form-intro h2 { margin: 0 0 1rem; font-family: var(--serif); font-size: clamp(2.4rem, 3.8vw, 4.2rem); font-weight: 400; letter-spacing: -.04em; }
.form-intro > p:last-child { max-width: 650px; margin: 0; color: #667086; }
.form-section { margin: 0; padding: 2.3rem 0; border: 0; border-top: 1px solid var(--line); }
.form-section legend { width: 100%; display: flex; align-items: center; gap: .9rem; padding: 0 0 1.8rem; font-family: var(--serif); font-size: 1.35rem; }
.form-section legend span { width: 34px; height: 34px; display: grid; place-items: center; color: var(--white); background: var(--coral); border-radius: 50%; font-family: var(--sans); font-size: .62rem; font-weight: 900; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.field { display: flex; flex-direction: column; gap: .55rem; min-width: 0; }
.field-wide { grid-column: 1 / -1; }
.field > span { color: #35415a; font-size: .72rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; min-height: 52px; padding: .85rem 1rem; color: var(--ink); background: #fbf8f1; border: 1px solid rgba(23,36,62,.22); border-radius: 0; font: inherit; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.field textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 0; border-color: var(--coral-dark); background: var(--white); box-shadow: 0 0 0 3px rgba(239,106,86,.15); }
.field input::placeholder, .field textarea::placeholder { color: #9298a4; }
.consent { display: grid; grid-template-columns: 22px 1fr; gap: .8rem; align-items: start; margin: 1rem 0 2rem; color: #4e5a71; font-size: .82rem; }
.consent input { width: 18px; height: 18px; margin-top: .15rem; accent-color: var(--coral-dark); }
.consent a { font-weight: 800; text-underline-offset: .22rem; }
.honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-submit { display: flex; align-items: center; gap: 1.5rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.form-submit button { border: 0; cursor: pointer; }
.form-submit button:disabled { cursor: wait; opacity: .65; }
.form-submit p { max-width: 360px; margin: 0; color: #667086; font-size: .76rem; }
.form-status { min-height: 1.5rem; margin: 1rem 0 0; color: var(--coral-dark); font-size: .82rem; font-weight: 800; }
.form-status.is-success { padding: 1rem 1.15rem; color: #153f31; background: #dff4e9; border-left: 4px solid #2b8a68; }
.form-status.is-error { padding: 1rem 1.15rem; color: #6c1f1f; background: #fae5e2; border-left: 4px solid #c64b3f; }
.form-status a { font-weight: 900; text-underline-offset: .2rem; }

@media (max-width: 1080px) {
  .admission-hero { grid-template-columns: 1fr; }
  .admission-hero-visual { min-height: 600px; }
  .admission-content { grid-template-columns: 1fr; }
  .admission-aside { position: static; }
}

@media (max-width: 760px) {
  .admission-hero-copy { padding: 4.5rem 1.25rem; }
  .admission-hero h1 { font-size: clamp(3.5rem, 16vw, 5.3rem); }
  .admission-hero-visual { min-height: 460px; }
  .admission-mark { width: 110px; height: 110px; }
  .admission-mark span { font-size: 1.7rem; }
  .admission-mark small { display: none; }
  .admission-steps { grid-template-columns: 1fr; }
  .admission-steps article { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
  .admission-content { padding: 5rem 1.25rem; }
  .admission-form { padding: 2rem 1.15rem; }
  .form-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .form-submit { align-items: flex-start; flex-direction: column; }
  .form-submit button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .admission-mark { transform: none; }
}
