/* Homepage: "What do you need?" Plain one-tap tasks for applicants, parents and current students. Used by both halves of index.html. */
:where(.nd) :where(h2, p, ul) { margin: 0; }
:where(.nd) :where(ul) { list-style: none; padding: 0; }
.nd { padding: 76px 0 84px; background: #0b0910; color: #f6efe9; font-family: Geist, Inter, -apple-system, "Segoe UI", Arial, sans-serif; font-weight: 300; font-size: 17px; line-height: 1.5; }
html.lt .nd{background:#ffffff;color:#0f1a2e;font-weight:400}
.nd .w { width: min(1200px, 100% - 48px); margin: 0 auto; }
.nd-top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 22px 32px; }
.nd .eb { display: flex; align-items: center; gap: 12px; font: 500 12px "Geist Mono", ui-monospace, Menlo, monospace; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 226, 200, .72); }
html.lt .nd .eb{color:#0c4da2}
.nd .eb::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #ffd6a8; box-shadow: 0 0 12px 2px rgba(255, 200, 140, .55); }
html.lt .nd .eb::before{border-radius:50%;background:#e4b316;box-shadow:0 0 12px 2px rgba(228,179,22,0.121)}
.nd h2 { margin-top: 18px; font-size: 52px; font-weight: 300; letter-spacing: -.04em; line-height: 1.04; }
.nd h2 b { font-weight: 500; }
.nd-who { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 4px; border: 1px solid rgba(255, 240, 230, .18); border-radius: 14px; }
html.lt .nd-who{border:1px solid #e5e1d9;border-radius:14px}
.nd-who > span { padding: 0 8px 0 10px; font: 500 12px "Geist Mono", ui-monospace, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; color: rgba(246, 239, 233, .56); }
html.lt .nd-who > span{color:#5f6878}
.nd-who button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 10px; background: none; color: rgba(246, 239, 233, .72); font: 400 15.5px Geist, Inter, -apple-system, "Segoe UI", Arial, sans-serif; cursor: pointer; }
html.lt .nd-who button{border:0;border-radius:10px;background:none;color:#3f4859}
.nd-who button[aria-pressed="true"] { background: #f3e7dc; color: #1a1218; font-weight: 500; }
html.lt .nd-who button[aria-pressed="true"]{background:#0c4da2;color:#ffffff}
.nd-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 34px; }
.nd-list[hidden] { display: none; }
.nd-list a, .nd-list button { position: relative; display: block; width: 100%; height: 100%; min-height: 108px; padding: 20px 56px 20px 22px; border: 1px solid rgba(255, 222, 196, .16); border-radius: 16px; background: #120d16; color: inherit; font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
html.lt .nd-list a, html.lt .nd-list button{border:1px solid #e5e1d9;border-radius:16px;background:#ffffff;color:inherit}
.nd-list a:hover, .nd-list button:hover { border-color: rgba(255, 222, 196, .42); }
html.lt .nd-list a:hover, html.lt .nd-list button:hover{border-color:#d4cec3}
.nd-list a::after, .nd-list button::after { content: "→"; position: absolute; top: 19px; right: 22px; font-size: 19px; color: rgba(255, 214, 168, .9); }
html.lt .nd-list a::after, html.lt .nd-list button::after{color:#0c4da2}
.nd-list b { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 400; letter-spacing: -.01em; color: #f6efe9; }
html.lt .nd-list b{color:#0f1a2e}
.nd-list b svg { flex: none; }
.nd-list span { display: block; margin-top: 6px; font-size: 14.5px; color: rgba(246, 239, 233, .72); }
html.lt .nd-list span{color:#3f4859}
.nd-list .nd-prog { color: #ffd6a8; }
html.lt .nd-list .nd-prog{color:#0c4da2}
.nd a:focus-visible, .nd button:focus-visible { outline: 3px solid #ffd6a8; outline-offset: 2px; }
html.lt .nd a:focus-visible, html.lt .nd button:focus-visible{outline:3px solid #d4cec3;outline-offset:2px}
@media (max-width: 999px) { .nd-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nd h2 { font-size: 42px; } }
@media (max-width: 699px) {
  .nd { padding: 56px 0 64px; }
  .nd .w { width: calc(100% - 32px); }
  .nd h2 { font-size: 36px; }
  .nd-who { width: 100%; }
  .nd-who > span { flex-basis: 100%; padding: 6px 8px 2px; }
  .nd-who button { flex: 1 1 auto; padding: 0 10px; }
  .nd-list { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 24px; }
  .nd-list a, .nd-list button { min-height: 0; padding: 16px 50px 16px 18px; }
  .nd-list a::after, .nd-list button::after { top: 16px; right: 18px; }
}
.nd-list span span { display: inline; margin-top: 0; }
