/* Zahlon Study interiors. Loaded after the shared experience design system.
   Scope deliberately excludes the homepage and does not restyle the site header,
   footer, global heading elements, or base .btn component. */
body:not(.experience-home) #main {
  background: radial-gradient(ellipse at 88% 0, #eaf0ff 0, transparent 38rem), var(--paper, #f6f8fc);
}
body:not(.experience-home) #main :is(.feature, .form-card, .institution-card, .app-card, .auth-panel) {
  min-width: 0;
  border-color: var(--line, #dce3ee);
  background: var(--white, #fff);
  box-shadow: 0 6px 24px #14203304;
}
body:not(.experience-home) #main :is(.feature, .form-card, .institution-card, .app-card) {
  border-radius: 20px;
}
body:not(.experience-home) #main .eyebrow {
  color: var(--blue, #3158e7);
  font-size: .68rem;
  font-weight: 750;
  line-height: 1.6;
  letter-spacing: .13em;
}
body:not(.experience-home) #main :is(.text-link, .source-link) {
  color: var(--blue, #3158e7);
  border-bottom-color: #b8c7f4;
  line-height: 1.6;
}
body:not(.experience-home) #main .tag {
  border-color: var(--line, #dce3ee);
  background: #fff;
  color: var(--ink, #142033);
  font-size: .72rem;
  padding: 7px 13px;
}
body:not(.experience-home) #main .reveal { animation: none; }

/* Guide introductions retain an editorial voice; practical content is sans serif. */
body:not(.experience-home) .page-intro {
  max-width: none;
  padding: clamp(44px, 6vw, 82px) 0 46px;
  position: relative;
}
body:not(.experience-home) .page-intro .crumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
  font-size: .72rem;
  color: var(--muted, #53627a);
}
body:not(.experience-home) .page-intro .crumb a {
  color: var(--blue, #3158e7);
  font-weight: 650;
}
body:not(.experience-home) .page-intro h1 {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(2.75rem, 5.8vw, 5.6rem);
  font-weight: 400;
  max-width: 22ch;
  line-height: 1.07;
  letter-spacing: -.04em;
  margin-bottom: 24px;
  color: var(--ink, #142033);
  text-wrap: balance;
}
body:not(.experience-home) .page-intro h1 em {
  color: var(--blue, #3158e7);
  font-style: normal;
}
body:not(.experience-home) .page-intro > p {
  max-width: 66ch;
  font-size: clamp(.96rem, 1.3vw, 1.1rem);
  line-height: 1.85;
  margin-bottom: 26px;
}
body:not(.experience-home) .intro-meta { gap: 9px; }
body:not(.experience-home) .route-banner {
  height: clamp(250px, 28vw, 390px);
  border-radius: 24px;
  border: 7px solid #fff;
  box-shadow: 0 16px 44px #1420330c;
}
body:not(.experience-home) #main > .section { padding-block: 76px; }
body:not(.experience-home) #main > .section.section-tight { padding-top: 0; }
body:not(.experience-home) #main .section.sage { background: #edf2fb; }
body:not(.experience-home) .body-grid {
  grid-template-columns: 224px minmax(0, 1fr);
  gap: clamp(32px, 4vw, 64px);
}
body:not(.experience-home) .side-nav {
  padding: 22px;
  background: #fff;
  border: 1px solid var(--line, #dce3ee);
  border-radius: 18px;
  top: 110px;
  box-shadow: 0 8px 28px #14203304;
}
body:not(.experience-home) .side-nav strong {
  font-size: .72rem;
  letter-spacing: .04em;
  color: var(--ink, #142033);
  margin-bottom: 16px;
}
body:not(.experience-home) .side-nav a {
  padding: 10px 12px;
  margin: 2px -8px;
  border-radius: 9px;
  font-size: .78rem;
  line-height: 1.55;
  transition: background .15s ease;
}
body:not(.experience-home) .side-nav a:hover {
  color: var(--blue, #3158e7);
  background: #edf2ff;
}
body:not(.experience-home) .article { min-width: 0; }
body:not(.experience-home) .article > section {
  padding: clamp(23px, 3vw, 36px);
  margin-bottom: 24px;
  border: 1px solid var(--line, #dce3ee);
  border-radius: 20px;
  background: #fff;
}
body:not(.experience-home) .article h2 {
  font-family: Manrope, system-ui, sans-serif;
  font-size: clamp(1.45rem, 2.2vw, 1.9rem);
  line-height: 1.35;
  letter-spacing: -.035em;
  font-weight: 750;
  margin-bottom: 20px;
}
body:not(.experience-home) .article :is(p, li) { font-size: .91rem; line-height: 1.85; }
body:not(.experience-home) .article a:not(.btn) { color: var(--blue, #3158e7); }
body:not(.experience-home) .article .feature { background: #f6f8fc; box-shadow: none; }
body:not(.experience-home) .article .feature h3 { font-size: 1rem; }
body:not(.experience-home) .article .feature p { font-size: .83rem; }

/* Research collections and contextual information. */
body:not(.experience-home) #main .feature { padding: 28px; }
body:not(.experience-home) #main .feature h3 {
  font-size: 1.16rem;
  letter-spacing: -.025em;
  line-height: 1.4;
  font-weight: 750;
  margin-bottom: 14px;
}
body:not(.experience-home) #main .feature p { font-size: .88rem; line-height: 1.8; }
body:not(.experience-home) #main .note-icon { background: #edf2ff; color: var(--blue, #3158e7); }
body:not(.experience-home) #main :is(.callout, .explore-note) {
  padding: 24px 27px;
  border: 1px solid #d7e1fa;
  border-left: 3px solid var(--blue, #3158e7);
  border-radius: 14px;
  background: #edf2ff;
  color: var(--ink, #142033);
  line-height: 1.8;
}
body:not(.experience-home) #main :is(.callout, .explore-note) p { color: #475873; line-height: 1.8; }
body:not(.experience-home) #main .callout.warm { background: #fff7eb; border-color: #ecd7b4; border-left-color: #aa6b19; }
body:not(.experience-home) #main .callout.warm p { color: #70552f; }
body:not(.experience-home) #main .news-note {
  border-color: var(--line, #dce3ee);
  border-radius: 16px;
  background: #fff;
  padding: 22px;
  align-items: flex-start;
  line-height: 1.75;
}
body:not(.experience-home) #main .news-note .icon { color: var(--blue, #3158e7); }
body:not(.experience-home) .resource-toolbar {
  align-items: center;
  background: #fff;
  padding: 18px;
  border: 1px solid var(--line, #dce3ee);
  border-radius: 18px;
  gap: 16px;
}
body:not(.experience-home) .resource-toolbar .field { margin-bottom: 0; }
body:not(.experience-home) #main .filters { gap: 7px; }
body:not(.experience-home) #main .filter {
  min-height: 42px;
  border: 1px solid var(--line, #dce3ee);
  border-radius: 10px;
  padding: 10px 15px;
  color: var(--muted, #53627a);
  background: #fff;
  font-size: .77rem;
  font-weight: 650;
  line-height: 1.5;
}
body:not(.experience-home) #main .filter[aria-pressed=true] {
  border-color: var(--blue, #3158e7);
  background: var(--blue, #3158e7);
  color: #fff;
}
body:not(.experience-home) #main .filter:not([aria-pressed=true]):hover { background: #edf2ff; color: var(--blue, #3158e7); }
body:not(.experience-home) .resource-card { min-height: 278px; }
body:not(.experience-home) .resource-card .text-link { margin-top: auto; }
body:not(.experience-home) .institution-card { padding: 30px; border-top: 3px solid #3158e7; }
body:not(.experience-home) .institution-card h2 {
  font-family: Manrope, system-ui, sans-serif;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: -.03em;
}
body:not(.experience-home) .institution-monogram { color: var(--blue, #3158e7); background: #edf2ff; border-radius: 15px; font-family: Editorial, Georgia, serif; }
body:not(.experience-home) .institution-actions { border-color: var(--line, #dce3ee); }
body:not(.experience-home) .institution-fees { font-size: .86rem; line-height: 1.85; }
body:not(.experience-home) .compare-panel { background: #edf2ff; border: 1px solid #d7e1fa; }
body:not(.experience-home) :is(.comparison-table, .comparison) th { color: var(--ink, #142033); background: #edf2ff; }
body:not(.experience-home) :is(.comparison-table, .comparison) :is(td, th) { border-bottom-color: var(--line, #dce3ee); line-height: 1.75; }
body:not(.experience-home) .funding-scope { background: #f2f5fc; color: var(--muted, #53627a); border: 1px solid #e3e9f5; }
body:not(.experience-home) .funding-source { gap: 15px; }
body:not(.experience-home) .funding-source h2 { font-family: Manrope, system-ui, sans-serif; font-weight: 750; font-size: 1.35rem; }
body:not(.experience-home) .funding-source summary { padding-right: 28px; }
body:not(.experience-home) .funding-source small { font-size: .71rem; }
body:not(.experience-home) .job-source-card { display: flex; flex-direction: column; gap: 14px; }
body:not(.experience-home) .job-source-card :is(h3, p) { margin-bottom: 0; }
body:not(.experience-home) .job-source-card .text-link { align-self: flex-start; margin-top: auto; }
body:not(.experience-home) .job-source-card .job-checked { font-size: .72rem; padding-top: 15px; border-top: 1px solid var(--line, #dce3ee); }
body:not(.experience-home) .job-discovery-intro { margin-bottom: 36px; }
body:not(.experience-home) .job-premium-section { padding-block: 54px; }
body:not(.experience-home) .job-premium-section .callout { border: 1px solid #cdd9fc; padding: clamp(24px, 4vw, 46px); background: linear-gradient(120deg, #fff, #edf2ff); }
body:not(.experience-home) .job-premium-section h2 { font-family: Editorial, Georgia, serif; font-size: clamp(2rem, 4vw, 3.1rem); max-width: 22ch; }

/* Controls stay comfortably legible in every student workflow. */
body:not(.experience-home) #main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea),
body:not(.experience-home) .modal :is(input:not([type=checkbox]), select, textarea) {
  border: 1px solid #c8d3e3;
  border-radius: 11px;
  background: #fff;
  color: var(--ink, #142033);
  min-height: 50px;
  max-width: 100%;
  font-size: 1rem;
  padding: 13px 14px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
body:not(.experience-home) #main :is(input, textarea)::placeholder { color: #65748a; opacity: 1; }
body:not(.experience-home) #main :is(input, select, textarea):focus-visible,
body:not(.experience-home) .modal :is(input, select, textarea):focus-visible {
  border-color: var(--blue, #3158e7);
  outline: 2px solid var(--blue, #3158e7);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #3158e712;
}
body:not(.experience-home) #main input:is([type=checkbox], [type=range], [type=radio]) { accent-color: var(--blue, #3158e7); }
body:not(.experience-home) #main .field { min-width: 0; }
body:not(.experience-home) #main .field label { color: var(--ink, #142033); font-size: .8rem; font-weight: 650; line-height: 1.6; margin-bottom: 9px; }
body:not(.experience-home) #main .field label span { color: var(--muted, #53627a); font-weight: 450; }
body:not(.experience-home) #main .field small { font-size: .73rem; line-height: 1.65; }
body:not(.experience-home) #main .field-grid { gap: 20px; }
body:not(.experience-home) #main .form-card { padding: clamp(23px, 3vw, 36px); }
body:not(.experience-home) #main .form-card h2 { font-family: Manrope, system-ui, sans-serif; font-size: 1.65rem; font-weight: 750; line-height: 1.4; }
body:not(.experience-home) #main .notice { border: 1px solid #dce5fa; background: #edf2ff; color: #334a70; padding: 15px 18px; border-radius: 12px; font-size: .79rem; line-height: 1.75; }
body:not(.experience-home) #main .notice.error { background: #fff0f0; color: #9d2929; border-color: #f1cdcd; }
body:not(.experience-home) #main .progress { height: 8px; background: #e4eaf6; }
body:not(.experience-home) #main .progress > span { background: var(--blue, #3158e7); }
body:not(.experience-home) .quiz-choice { padding: 20px; border-radius: 14px; }
body:not(.experience-home) .quiz-choice[aria-pressed=true] { border-color: var(--blue, #3158e7); box-shadow: 0 0 0 1px var(--blue, #3158e7); background: #edf2ff; }
body:not(.experience-home) .quiz-choice strong { font-size: .94rem; }
body:not(.experience-home) .quiz-choice small { font-size: .79rem; }
body:not(.experience-home) .planner-aside h1 { font-family: Editorial, Georgia, serif; line-height: 1.08; }

/* Dark contextual panels remain restrained and clearly separated from forms. */
body:not(.experience-home) #main :is(.budget-result, .funding-note, .app-banner) {
  background: radial-gradient(ellipse at 100% 0, #284b87 0, transparent 65%), #142033;
  color: #fff;
  border: 1px solid #263b5b;
  border-radius: 20px;
  box-shadow: 0 14px 38px #1420330c;
}
body:not(.experience-home) #main :is(.budget-result, .funding-note, .app-banner, .city-band) .eyebrow { color: #dafa9a; }
body:not(.experience-home) #main :is(.budget-result, .funding-note, .app-banner, .city-band) p { color: #dbe5f5; }
body:not(.experience-home) .funding-note ol { color: #e4ebf6; font-size: .88rem; }
body:not(.experience-home) .budget-result .big-number { font-family: Manrope, system-ui, sans-serif; font-weight: 650; font-size: clamp(2.25rem, 4vw, 3.6rem); letter-spacing: -.05em; }
body:not(.experience-home) .budget-result .budget-line { border-color: #ffffff24; }
body:not(.experience-home) .app-banner { padding: 32px; }
body:not(.experience-home) .app-banner h2 { font-family: Manrope, system-ui, sans-serif; font-size: 1.6rem; font-weight: 700; line-height: 1.35; letter-spacing: -.03em; }

/* Authentication: a calm, bounded form beside an editorial image. */
body:not(.experience-home) .auth-wrap { gap: clamp(30px, 5vw, 72px); padding-block: 64px; min-height: 760px; }
body:not(.experience-home) .auth-panel { max-width: 480px; padding: 35px; border: 1px solid var(--line, #dce3ee); border-radius: 24px; box-shadow: 0 20px 65px #14203308; }
body:not(.experience-home) .auth-panel h1 { font-family: Editorial, Georgia, serif; font-size: clamp(2.5rem, 4vw, 3.4rem); line-height: 1.1; letter-spacing: -.035em; }
body:not(.experience-home) .auth-panel > p { font-size: .92rem; line-height: 1.8; }
body:not(.experience-home) .auth-panel .eyebrow { margin-bottom: 18px; }
body:not(.experience-home) .auth-panel .form-links { font-size: .78rem; gap: 15px; flex-wrap: wrap; }
body:not(.experience-home) .auth-panel .form-links a { color: var(--blue, #3158e7); }
body:not(.experience-home) .auth-art { height: 650px; border: 7px solid #fff; border-radius: 30px; box-shadow: 0 24px 64px #14203312; }
body:not(.experience-home) .auth-art::after { background: linear-gradient(180deg, #14203300 28%, #142033e8 100%); }
body:not(.experience-home) .auth-art-copy { bottom: 40px; left: 36px; right: 36px; }
body:not(.experience-home) .auth-art-copy h2 { font-family: Editorial, Georgia, serif; font-size: clamp(2.4rem, 4vw, 3.2rem); line-height: 1.12; }
body:not(.experience-home) .auth-art-copy p { color: #f0f4fc; font-size: .93rem; line-height: 1.75; }
body:not(.experience-home) .auth-panel .password-toggle { right: 9px; top: 7px; color: #455675; font-size: .75rem; min-height: 36px; }
body:not(.experience-home) .auth-panel .consent label { font-size: .77rem; line-height: 1.75; }

/* Workspace: clear navigation, tabular figures and quietly structured records. */
body:not(.experience-home) .app-shell { grid-template-columns: 224px minmax(0, 1fr); gap: 34px; padding: 42px 0 80px; }
body:not(.experience-home) .app-sidebar { position: sticky; top: 108px; align-self: start; max-height: calc(100dvh - 130px); overflow-y: auto; padding: 18px 13px; background: #fff; border: 1px solid var(--line, #dce3ee); border-radius: 20px; scrollbar-width: thin; scrollbar-color: #becbea transparent; }
body:not(.experience-home) .app-sidebar .eyebrow { padding-inline: 12px; margin: 9px 0 18px; font-size: .62rem; }
body:not(.experience-home) .app-tab { padding: 12px 13px; border: 1px solid transparent; border-radius: 11px; margin-bottom: 4px; font-size: .79rem; min-height: 46px; color: var(--muted, #53627a); line-height: 1.5; }
body:not(.experience-home) .app-tab .icon { width: 18px; height: 18px; }
body:not(.experience-home) .app-tab:hover { color: var(--blue, #3158e7); background: #f0f4ff; }
body:not(.experience-home) .app-tab[aria-pressed=true] { color: #fff; background: var(--blue, #3158e7); border-color: var(--blue, #3158e7); font-weight: 700; box-shadow: 0 5px 13px #3158e71b; }
body:not(.experience-home) .app-sidebar .text-link { margin: 22px 12px 7px; font-size: .71rem; }
body:not(.experience-home) .app-heading { margin: 3px 0 28px; gap: 22px; }
body:not(.experience-home) .app-heading h1 { font-family: Manrope, system-ui, sans-serif; font-size: clamp(1.9rem, 3.1vw, 2.65rem); line-height: 1.2; font-weight: 750; letter-spacing: -.045em; margin-bottom: 12px; }
body:not(.experience-home) .app-heading p { font-size: .88rem; line-height: 1.75; max-width: 68ch; }
body:not(.experience-home) .app-heading .eyebrow { margin-bottom: 14px; }
body:not(.experience-home) .stat-grid { gap: 16px; margin-bottom: 24px; }
body:not(.experience-home) .stat { padding: 24px; border-color: var(--line, #dce3ee); border-radius: 18px; background: #fff; box-shadow: 0 5px 20px #14203303; }
body:not(.experience-home) .stat strong { font-family: Manrope, system-ui, sans-serif; font-size: 2.1rem; line-height: 1.25; font-weight: 650; letter-spacing: -.045em; font-variant-numeric: tabular-nums; color: var(--ink, #142033); margin-bottom: 8px; }
body:not(.experience-home) .stat span { font-size: .75rem; line-height: 1.6; }
body:not(.experience-home) #main .app-card { padding: 28px; margin-bottom: 24px; }
body:not(.experience-home) #main .app-card h2 { font-family: Manrope, system-ui, sans-serif; font-size: 1.1rem; font-weight: 750; line-height: 1.4; letter-spacing: -.025em; }
body:not(.experience-home) #main .app-card > p { font-size: .88rem; line-height: 1.8; }
body:not(.experience-home) .app-card .app-card { box-shadow: none; background: #f6f8fc; }
body:not(.experience-home) .application-item { padding: 23px; border-color: var(--line, #dce3ee); border-radius: 15px; background: #fff; }
body:not(.experience-home) .application-item h3 { font-size: 1.08rem; line-height: 1.4; }
body:not(.experience-home) .application-item p { font-size: .82rem; line-height: 1.75; }
body:not(.experience-home) .document-row { grid-template-columns: minmax(0, 1fr) minmax(180px, 220px); gap: 24px; padding-block: 24px; border-color: var(--line, #dce3ee); }
body:not(.experience-home) .document-row > div { min-width: 0; }
body:not(.experience-home) .document-row h3 { font-size: 1.02rem; line-height: 1.45; }
body:not(.experience-home) .document-row p { font-size: .83rem; line-height: 1.8; }
body:not(.experience-home) :is(.funding-record, .job-record, .premium-job) { grid-template-columns: minmax(0, 1fr); padding: 24px; border: 1px solid var(--line, #dce3ee); border-radius: 16px; background: #fafbfe; }
body:not(.experience-home) :is(.funding-record, .job-record, .premium-job):last-child { border: 1px solid var(--line, #dce3ee); }
body:not(.experience-home) :is(.funding-record, .job-record, .premium-job) .eyebrow { margin-bottom: 11px; }
body:not(.experience-home) :is(.funding-record, .job-record, .premium-job) h3 { font-size: 1.16rem; }
body:not(.experience-home) :is(.funding-record, .job-record, .premium-job) .text-link { margin-block: 10px; }
body:not(.experience-home) .task-row { border-color: var(--line, #dce3ee); padding-block: 17px; gap: 13px; }
body:not(.experience-home) .task-row label { font-size: .86rem; line-height: 1.65; }
body:not(.experience-home) .task-row small { font-size: .74rem; }
body:not(.experience-home) .delete-button { color: #a0323c; font-size: .77rem; min-height: 40px; }
body:not(.experience-home) .empty { padding: 36px 24px; background: #fafbfe; border-color: #cbd7ec; border-radius: 16px; }
body:not(.experience-home) .empty h3 { font-size: 1.1rem; line-height: 1.5; }
body:not(.experience-home) .empty p { font-size: .85rem; line-height: 1.8; }
body:not(.experience-home) .premium-tool-tabs { padding: 10px; background: #fff; border: 1px solid var(--line, #dce3ee); border-radius: 16px; }
body:not(.experience-home) .premium-workspace fieldset { border-color: var(--line, #dce3ee); background: #f7f9fd; border-radius: 16px; padding: 24px; }
body:not(.experience-home) .premium-workspace legend { font-size: .85rem; color: var(--blue, #3158e7); }
body:not(.experience-home) .premium-scenario-totals { font-size: .8rem; line-height: 1.7; }
body:not(.experience-home) .premium-scenario-totals dt { color: var(--muted, #53627a); }
body:not(.experience-home) .premium-scenario-totals dd { color: var(--ink, #142033); font-variant-numeric: tabular-nums; }
body:not(.experience-home) .premium-price { color: var(--ink, #142033) !important; font-family: Manrope, system-ui, sans-serif !important; font-size: clamp(2.5rem, 5vw, 4rem) !important; font-weight: 650; letter-spacing: -.055em; }
body:not(.experience-home) .premium-offer { border-top: 3px solid var(--blue, #3158e7); }
body:not(.experience-home) .modal { background: #fff; border-color: var(--line, #dce3ee); border-radius: 22px; box-shadow: 0 30px 100px #14203330; }
body:not(.experience-home) .modal::backdrop { background: #14203399; }
body:not(.experience-home) .modal-head h2 { font-family: Manrope, system-ui, sans-serif; font-size: 1.6rem; line-height: 1.35; font-weight: 750; }

/* Long-form policies remain quiet and readable. */
body:not(.experience-home) .legal { padding: clamp(25px, 4vw, 48px); border: 1px solid var(--line, #dce3ee); border-radius: 22px; background: #fff; box-shadow: 0 8px 30px #14203303; }
body:not(.experience-home) .legal :is(p, li) { font-size: .92rem; line-height: 1.9; }
body:not(.experience-home) .legal h2 { font-size: 1.23rem; margin-top: 36px; line-height: 1.5; }
body:not(.experience-home) .legal h2:first-child { margin-top: 0; }
body:not(.experience-home) .legal a { color: var(--blue, #3158e7); }
body:not(.experience-home) .legal :is(ul, ol) { padding-left: 21px; }

@media (min-width: 1700px) {
  body:not(.experience-home) .app-shell { grid-template-columns: 240px minmax(0, 1fr); gap: 44px; }
  body:not(.experience-home) .body-grid { grid-template-columns: 240px minmax(0, 1fr); }
}
@media (max-width: 1100px) {
  body:not(.experience-home) .app-shell { grid-template-columns: 190px minmax(0, 1fr); gap: 24px; }
  body:not(.experience-home) .app-sidebar { padding: 14px 9px; }
  body:not(.experience-home) .app-tab { gap: 9px; font-size: .76rem; padding: 11px; }
  body:not(.experience-home) .document-row { grid-template-columns: minmax(0, 1fr) 190px; gap: 20px; }
  body:not(.experience-home) :is(.funding-record, .job-record, .premium-job) { grid-template-columns: minmax(0, 1fr); }
  body:not(.experience-home) .auth-panel { padding: 28px; }
  body:not(.experience-home) .auth-art { height: 610px; }
}
@media (max-width: 960px) {
  body:not(.experience-home) .body-grid { display: block; }
  body:not(.experience-home) .side-nav { position: static; display: flex; flex-wrap: wrap; gap: 7px; padding: 17px; margin-bottom: 26px; }
  body:not(.experience-home) .side-nav strong { width: 100%; margin: 0 0 5px; }
  body:not(.experience-home) .side-nav a { margin: 0; padding: 8px 12px; border: 1px solid var(--line, #dce3ee); min-height: 40px; }
}
@media (max-width: 900px) {
  body:not(.experience-home) .app-shell { display: block; padding-top: 28px; }
  body:not(.experience-home) .app-sidebar { position: static; display: flex; gap: 5px; max-height: none; padding: 9px; margin-bottom: 27px; overflow-x: auto; overflow-y: hidden; border-radius: 15px; }
  body:not(.experience-home) .app-sidebar :is(.eyebrow, .text-link) { display: none; }
  body:not(.experience-home) .app-tab { flex: 0 0 auto; width: auto; white-space: nowrap; min-height: 43px; margin: 0; padding: 11px 14px; font-size: .78rem; }
  body:not(.experience-home) .app-tab .icon { display: inline-block; width: 16px; height: 16px; }
  body:not(.experience-home) .auth-wrap { gap: 26px; }
}
@media (max-width: 840px) {
  body:not(.experience-home) .auth-wrap { grid-template-columns: minmax(0, 1fr); min-height: auto; padding-block: 46px; }
  body:not(.experience-home) .auth-panel { max-width: 540px; padding: 34px; }
  body:not(.experience-home) .auth-art { display: none; }
}
@media (max-width: 650px) {
  body:not(.experience-home) .page-intro { padding: 38px 0 30px; }
  body:not(.experience-home) .page-intro .crumb { margin-bottom: 25px; font-size: .69rem; }
  body:not(.experience-home) .page-intro h1 { font-size: clamp(2.4rem, 10.8vw, 3.8rem); line-height: 1.1; }
  body:not(.experience-home) .page-intro > p { font-size: .96rem; line-height: 1.8; }
  body:not(.experience-home) #main > .section { padding-block: 50px; }
  body:not(.experience-home) #main > .section.section-tight { padding-top: 0; }
  body:not(.experience-home) .route-banner { height: 235px; border-width: 5px; border-radius: 20px; }
  body:not(.experience-home) .article > section { padding: 22px; border-radius: 17px; }
  body:not(.experience-home) .article h2 { font-size: 1.4rem; }
  body:not(.experience-home) .article :is(p, li) { font-size: .88rem; }
  body:not(.experience-home) #main .feature { padding: 23px; }
  body:not(.experience-home) #main :is(.callout, .explore-note) { padding: 21px; }
  body:not(.experience-home) .resource-toolbar { padding: 13px; gap: 12px; border-radius: 15px; }
  body:not(.experience-home) #main .filter { min-height: 42px; padding: 9px 12px; font-size: .76rem; }
  body:not(.experience-home) .institution-card { padding: 24px; }
  body:not(.experience-home) .job-source-card { gap: 13px; }
  body:not(.experience-home) #main .field-grid { gap: 17px; }
  body:not(.experience-home) #main .field-grid .field { min-width: 0; }
  body:not(.experience-home) .app-shell { padding-top: 20px; padding-bottom: 48px; }
  body:not(.experience-home) .app-heading { gap: 17px; margin-bottom: 24px; }
  body:not(.experience-home) .app-heading h1 { font-size: clamp(1.8rem, 7.8vw, 2.3rem); line-height: 1.22; }
  body:not(.experience-home) .app-heading p { font-size: .86rem; }
  body:not(.experience-home) .stat-grid { gap: 10px; }
  body:not(.experience-home) .stat { padding: 17px 14px; border-radius: 14px; }
  body:not(.experience-home) .stat strong { font-size: 1.55rem; }
  body:not(.experience-home) .stat span { font-size: .71rem; }
  body:not(.experience-home) #main .app-card { padding: 22px; border-radius: 17px; margin-bottom: 20px; }
  body:not(.experience-home) #main .app-card h2 { font-size: 1.06rem; }
  body:not(.experience-home) .app-banner { padding: 25px; }
  body:not(.experience-home) .app-banner h2 { font-size: 1.45rem; }
  body:not(.experience-home) .document-row { grid-template-columns: minmax(0, 1fr); gap: 14px; padding-block: 21px; }
  body:not(.experience-home) :is(.funding-record, .job-record, .premium-job) { padding: 19px; }
  body:not(.experience-home) .document-row p { font-size: .84rem; }
  body:not(.experience-home) .task-row { flex-wrap: wrap; align-items: flex-start; }
  body:not(.experience-home) .task-row input { margin-top: 5px; }
  body:not(.experience-home) .task-row label { flex-basis: calc(100% - 40px); }
  body:not(.experience-home) .task-row button { margin-left: auto; }
  body:not(.experience-home) .premium-tool-tabs { padding: 8px; border-radius: 13px; }
  body:not(.experience-home) .premium-workspace fieldset { padding: 17px; }
  body:not(.experience-home) .auth-panel { padding: 27px; border-radius: 20px; }
  body:not(.experience-home) .auth-panel h1 { font-size: 2.65rem; }
  body:not(.experience-home) .auth-panel .form-links { font-size: .75rem; }
  body:not(.experience-home) .modal { padding: 24px; }
  body:not(.experience-home) .modal-head h2 { font-size: 1.35rem; }
  body:not(.experience-home) .legal { padding: 25px; border-radius: 18px; }
  body:not(.experience-home) .legal :is(p, li) { font-size: .88rem; }
}
@media (max-width: 400px) {
  body:not(.experience-home) #main .field-grid { grid-template-columns: minmax(0, 1fr); }
  body:not(.experience-home) .auth-panel { padding: 23px 19px; }
  body:not(.experience-home) .auth-panel h1 { font-size: 2.3rem; }
  body:not(.experience-home) .stat-grid { grid-template-columns: minmax(0, 1fr); }
  body:not(.experience-home) .stat { display: flex; align-items: center; gap: 18px; }
  body:not(.experience-home) .stat strong { margin-bottom: 0; min-width: 58px; }
  body:not(.experience-home) .stat span { font-size: .78rem; }
  body:not(.experience-home) #main .app-card { padding: 19px; }
  body:not(.experience-home) :is(.funding-record, .job-record, .premium-job) { padding: 16px; }
  body:not(.experience-home) .article > section { padding: 19px; }
  body:not(.experience-home) .premium-scenario-totals { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  body:not(.experience-home) .premium-scenario-totals dd { text-align: left; margin-bottom: 13px; }
  body:not(.experience-home) .legal { padding: 22px 19px; }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.experience-home) #main *, body:not(.experience-home) #main *::before, body:not(.experience-home) #main *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  body:not(.experience-home) #main { background: #fff; }
  body:not(.experience-home) #main :is(.feature, .form-card, .institution-card, .app-card, .legal, .article > section) { box-shadow: none; border-color: #ccc; }
  body:not(.experience-home) .article > section { padding: 15px; }
  body:not(.experience-home) .app-shell { display: block; }
  body:not(.experience-home) .page-intro h1 { font-size: 36pt; }
}
