/* Apply page (/apply): the scholarship application.
   Every rule is scoped to [data-page="apply"]. Surfaces come from site.css only: .page-header
   (dark, --grad-page-header), .ground-ivory (the daybreak) for "Before you start", and
   .ground-ivory.ground-flat for the form, so long typing happens on a calm ground.
   Controls stay flat: solid fills and 1px rules, no gradients, shadows, or lifts. */

/* ---------- Page header ---------- */
[data-page="apply"] .apply-hero .facts{max-width:60rem}
[data-page="apply"] .apply-facts > div{align-content:start}
[data-page="apply"] .apply-facts__sub{display:block;margin-top:2px;font:400 16px/24px var(--f-body);color:var(--fg-1)}
@media (min-width:768px){[data-page="apply"] .apply-facts{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr))}}
[data-page="apply"] .apply-hero .page-header__actions{margin-top:32px}
[data-page="apply"] .apply-hero__closed{margin-top:24px;font:600 17px/26px var(--f-body);color:var(--fg)}
@media (max-width:767px){
  [data-page="apply"] .apply-facts{gap:12px}
  [data-page="apply"] .apply-facts dd{font-size:19px;line-height:25px}
}

/* ---------- Before you start (ivory daybreak) ---------- */
/* The two ivory sections read as one page: half the usual padding where they meet */
[data-page="apply"] .apply-before{padding-bottom:calc(var(--section) * .625)}
[data-page="apply"] .apply-before__top{display:grid;gap:40px}
[data-page="apply"] .apply-before__intro h2{margin-top:8px}
[data-page="apply"] .apply-before__intro .lede{margin-top:16px}
@media (min-width:1024px){
  [data-page="apply"] .apply-before__top{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:48px;align-items:start}
}

/* The awards: two Meritta numerals on a ruled row */
[data-page="apply"] .apply-awards{display:grid;gap:12px;align-content:start}
[data-page="apply"] .apply-awards__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule)}
[data-page="apply"] .apply-award{display:grid;gap:2px;align-content:start;padding:16px 12px 18px 0;min-width:0}
[data-page="apply"] .apply-award + .apply-award{padding-left:20px;border-left:1px solid var(--rule)}
[data-page="apply"] .apply-award__num{font-size:44px;line-height:50px;color:var(--fg)}
[data-page="apply"] .apply-award__name{font:500 19px/24px var(--f-serif);color:var(--fg)}
[data-page="apply"] .apply-award__count{margin-top:4px;font:600 13px/18px var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
@media (min-width:1024px){
  [data-page="apply"] .apply-award__num{font-size:60px;line-height:66px}
  [data-page="apply"] .apply-award__name{font-size:21px;line-height:28px}
}

/* Three short columns: who, what you need, what happens next */
[data-page="apply"] .apply-facts-cols{display:grid;gap:40px;margin-top:56px}
[data-page="apply"] .apply-col{max-width:40rem;padding-top:20px;border-top:1px solid var(--rule-strong)}
[data-page="apply"] .apply-col > h3 + *{margin-top:12px}
[data-page="apply"] .apply-col p{color:var(--fg-1)}
@media (min-width:1024px){
  [data-page="apply"] .apply-facts-cols{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;margin-top:80px}
  [data-page="apply"] .apply-col{max-width:none}
}
[data-page="apply"] .apply-list{list-style:none}
[data-page="apply"] .apply-list > li{padding:10px 0;border-bottom:1px solid var(--rule);color:var(--fg-1)}
[data-page="apply"] .apply-list > li:first-child{padding-top:0}
[data-page="apply"] .apply-timeline{list-style:none}
[data-page="apply"] .apply-timeline > li{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--rule);color:var(--fg-1)}
[data-page="apply"] .apply-timeline > li:first-child{padding-top:0}
[data-page="apply"] .apply-timeline b{font:600 13px/20px var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}

/* The essay prompt and the questions card */
[data-page="apply"] .apply-before__bottom{display:grid;gap:40px;margin-top:56px}
@media (min-width:1024px){
  [data-page="apply"] .apply-before__bottom{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:48px;align-items:start;margin-top:80px}
}
[data-page="apply"] .apply-prompt{margin:0;padding-top:20px;border-top:1px solid var(--rule-strong)}
[data-page="apply"] .apply-prompt__text{margin:16px 0 0;padding-left:20px;border-left:2px solid var(--accent)}
[data-page="apply"] .apply-prompt__text p{font:italic 400 22px/33px var(--f-serif);color:var(--fg);text-wrap:pretty}
@media (min-width:1024px){[data-page="apply"] .apply-prompt__text p{font-size:26px;line-height:38px}}
[data-page="apply"] .apply-prompt figcaption{margin-top:16px}
[data-page="apply"] .apply-questions{display:grid;gap:8px;padding:24px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-card)}
[data-page="apply"] .apply-questions .copy-row{margin-top:8px;padding-bottom:0}
[data-page="apply"] .apply-questions__title{font-size:22px;line-height:28px}

/* ---------- The application (flat ivory) ---------- */
[data-page="apply"] .apply-app{padding-top:calc(var(--section) * .625);border-top:1px solid var(--rule)}
[data-page="apply"] .apply-app__head h2{margin-top:8px}
[data-page="apply"] .apply-app__head .meta{margin-top:12px}
[data-page="apply"] .apply-app__grid{display:grid;gap:40px;margin-top:32px}
@media (min-width:1024px){
  [data-page="apply"] .apply-app__grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);column-gap:48px;align-items:start;margin-top:40px}
}
[data-page="apply"] .apply-app__main{display:grid;gap:24px;min-width:0}
[data-page="apply"] .apply-closed{display:grid;gap:12px;max-width:var(--measure);margin-top:32px;padding:24px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-card)}

/* The form sheet: a white page on the ivory table from 768px; plain on phones */
[data-page="apply"] .apply-form{gap:28px}
@media (min-width:768px){
  [data-page="apply"] .apply-form{padding:40px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-card)}
}
@media (min-width:1200px){[data-page="apply"] .apply-form{padding:48px}}

/* Welcome back */
[data-page="apply"] .apply-welcome{display:grid;gap:4px;padding:14px 18px;background:var(--ivory);border-left:3px solid var(--accent);border-radius:var(--r-ctl)}
[data-page="apply"] .apply-welcome__title{font:400 17px/26px var(--f-body);color:var(--fg)}
[data-page="apply"] .apply-welcome__confirm{display:grid;gap:8px;padding-top:4px}

/* Progress: the shared 2px accent bar, plus step names from 768px */
[data-page="apply"] .apply-stepnames{display:none}
@media (min-width:768px){
  [data-page="apply"] .apply-stepnames{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin-top:10px}
  [data-page="apply"] .apply-stepnames > li{padding-right:8px;font:600 12px/16px var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}
  [data-page="apply"] .apply-stepnames > li.is-done{color:var(--fg-2)}
  [data-page="apply"] .apply-stepnames > li.is-current{color:var(--fg)}
}

/* One step on screen at a time */
[data-page="apply"] .apply-step{display:grid;gap:24px;min-width:0}
[data-page="apply"] .apply-step__title{scroll-margin-top:96px}
[data-page="apply"] .apply-step__body{display:grid;gap:24px;min-width:0}
[data-page="apply"] .apply-step__intro{max-width:var(--measure);color:var(--fg-1)}
[data-page="apply"] .apply-step .field__hint{max-width:var(--measure)}

/* Groups of fields (fieldsets without the shared big legend) */
[data-page="apply"] .apply-group{margin:0;padding:0;border:0;min-width:0}
[data-page="apply"] .apply-group__legend{display:block;width:100%;padding:0;margin-bottom:10px;font:600 15px/22px var(--f-label);color:var(--fg)}
[data-page="apply"] .apply-group__legend--sub{margin-bottom:14px;font:500 20px/26px var(--f-serif)}
[data-page="apply"] .apply-group__body{display:grid;gap:20px}
[data-page="apply"] .apply-group > .field__error{margin-bottom:12px}
[data-page="apply"] .apply-guardian{padding:4px 0 4px 20px;border-left:2px solid var(--accent)}
[data-page="apply"] .apply-when{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:28rem}
[data-page="apply"] .field-row--addr select{min-height:48px} /* line up with the city and ZIP inputs */
[data-page="apply"] .apply-input-date{max-width:14rem;text-align:left}
[data-page="apply"] .apply-input-date::-webkit-date-and-time-value{text-align:left}
[data-page="apply"] .radio-card__title{font-size:19px;line-height:26px}

/* The essay */
[data-page="apply"] .apply-essay__prompt{margin:4px 0;padding-left:16px;border-left:2px solid var(--accent);max-width:var(--measure)}
[data-page="apply"] .apply-essay__prompt p{font:italic 400 19px/29px var(--f-serif);color:var(--fg)}
[data-page="apply"] .apply-essay textarea{min-height:360px}
[data-page="apply"] .apply-short-area{min-height:148px}

/* Documents */
[data-page="apply"] .apply-docs-to{--copy-label-w:96px;border-bottom:1px solid var(--rule)}
[data-page="apply"] .apply-preview-note{max-width:var(--measure)}

/* Step buttons: Continue, then Back */
[data-page="apply"] .apply-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;padding-top:24px;border-top:1px solid var(--rule)}
@media (max-width:599px){[data-page="apply"] .apply-nav .btn{flex:1 1 100%}}

/* Review */
[data-page="apply"] .apply-review{border-top:1px solid var(--rule-strong)}
[data-page="apply"] .apply-review__group{padding:16px 0 20px;border-bottom:1px solid var(--rule)}
[data-page="apply"] .apply-review__head{display:flex;align-items:center;justify-content:space-between;gap:16px}
[data-page="apply"] .apply-review__title{font:500 20px/26px var(--f-serif);color:var(--fg)}
[data-page="apply"] .apply-review__rows{display:grid;gap:12px;margin-top:8px}
[data-page="apply"] .apply-review__rows > div{display:grid;gap:2px;min-width:0}
[data-page="apply"] .apply-review__rows dt{font:600 13px/20px var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2)}
[data-page="apply"] .apply-review__rows dd{font:400 17px/26px var(--f-body);color:var(--fg);overflow-wrap:anywhere}
[data-page="apply"] .apply-review__text{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
[data-page="apply"] .apply-review__words{display:block;margin-top:4px;font:400 15px/22px var(--f-body);color:var(--fg-2)}
@media (min-width:768px){
  [data-page="apply"] .apply-review__rows > div{grid-template-columns:13rem minmax(0,1fr);column-gap:16px;align-items:baseline}
}
[data-page="apply"] .apply-certify{margin-top:4px}
[data-page="apply"] .apply-privacy{max-width:var(--measure)}

/* Aside (desktop): deadline, progress note, questions */
[data-page="apply"] .apply-aside{display:none}
@media (min-width:1024px){
  [data-page="apply"] .apply-aside{display:grid;gap:12px;align-content:start;padding-top:8px}
}
@media (min-width:1024px) and (min-height:760px){
  [data-page="apply"] .apply-aside{position:sticky;top:calc(var(--hdr-h) + 24px)}
}
[data-page="apply"] .apply-aside__list > div{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid var(--rule)}
[data-page="apply"] .apply-aside__list > div:first-child{border-top:1px solid var(--rule-strong)}
[data-page="apply"] .apply-aside__list dt{font:600 13px/18px var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}
[data-page="apply"] .apply-aside__list dd{font:400 16px/24px var(--f-body);color:var(--fg)}
[data-page="apply"] .apply-aside .copy-row{--copy-label-w:100%;border-top:0;padding-top:4px}
[data-page="apply"] .apply-aside .copy-value{font-size:16px}

/* After the form */
[data-page="apply"] .apply-family{margin-top:40px;max-width:var(--measure);color:var(--fg-1)}

/* Confirmation extras (the panel itself is the shared .confirm) */
[data-page="apply"] .apply-confirm-essay{display:grid;gap:8px;padding-top:20px;border-top:1px solid var(--rule)}
[data-page="apply"] .apply-confirm-essay__more{margin-top:4px}
[data-page="apply"] .apply-confirm-next{display:grid;gap:12px;padding-top:20px;border-top:1px solid var(--rule)}
[data-page="apply"] .apply-confirm-next__title{font-size:22px;line-height:28px}
[data-page="apply"] .apply-confirm-next__list{list-style:none}
[data-page="apply"] .apply-confirm-next__list > li{padding:8px 0;border-bottom:1px solid var(--rule);color:var(--fg-1)}
[data-page="apply"] .apply-confirm-next__list > li:first-child{padding-top:0}
[data-page="apply"] .confirm > .btn-text{justify-self:start}
/* Narrow phones: the .confirm padding and wrapping button labels now come from site.css */
