/* 2.9.13 release corrections. Career's page-specific geometry is unchanged. */
#mobile-navigation[hidden] { display:none !important; }
.newsletter-privacy { font-size:.875rem; }
.newsletter-privacy a { color:inherit; text-decoration:underline; }
.task-home .task-hero { grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); min-height:0; align-items:center; }
.task-home .task-hero-copy { padding:clamp(32px,4vw,64px) 32px clamp(32px,4vw,64px) max(24px,calc((100vw - 1280px)/2)); }
.task-home .task-hero h1 { font-size:clamp(2.5rem,4.1vw,4.3rem); max-width:12ch; line-height:1.08; }
.task-home .task-actions { gap:12px; }
.task-home .task-actions .button { white-space:normal; }
.task-home .task-hero-photo { min-height:0; height:auto; padding:24px; }
.task-home .task-hero-photo picture { display:block; height:auto; }
.task-home .task-hero-photo img { display:block; width:100%; height:auto; object-fit:contain; border-radius:24px; }
body.nga-money-page .category-detail-hero-copy h1 { font-size:clamp(2.6rem,4.6vw,4.8rem); line-height:1.08; }
body.nga-housing-page .section-heading { text-align:center; margin-inline:auto; }
body.nga-housing-page .section-heading p { margin-inline:auto; }
.tools-note { max-width:760px; margin:40px auto 0; padding:28px; border-radius:24px; background:#e8f1ef; text-align:center; }
.tool-page-grid, .tool-page-card, .tool-page-body { min-width:0; }
.tool-page-body h3 { overflow-wrap:break-word; }
/* Same compact desktop frame as Career; source photos retain their own proportions. */
@media (min-width:1051px) {
  body:is(.nga-money-page,.nga-housing-page,.nga-real-life-page) .category-pathway-tabs { margin:47px 0 0 28px; grid-auto-rows:64px; gap:10px; height:auto; align-self:start; }
  body:is(.nga-money-page,.nga-housing-page,.nga-real-life-page) .category-pathway-tab { height:64px; min-height:64px; padding:7px 16px 7px 10px; border-radius:14px; }
  body:is(.nga-money-page,.nga-housing-page,.nga-real-life-page) .category-pathway-tab > span { display:inline-flex; align-items:center; justify-content:center; width:38px; min-width:38px; height:38px; line-height:1; }
  body:is(.nga-money-page,.nga-housing-page,.nga-real-life-page) .category-pathway-visual { width:330px; max-width:100%; height:305px; max-height:305px; margin:0; padding:10px; align-self:start; justify-self:center; }
  body:is(.nga-money-page,.nga-housing-page,.nga-real-life-page) .category-pathway-visual picture,
  body:is(.nga-money-page,.nga-housing-page,.nga-real-life-page) .category-pathway-visual img { display:block; width:100%; height:100%; min-height:0; max-height:none; aspect-ratio:auto; object-fit:contain; object-position:center; }
  body:is(.nga-money-page,.nga-housing-page,.nga-real-life-page) .category-pathway-panel-copy { grid-column:1 / -1; grid-row:2; width:min(100%,980px); max-width:980px; text-align:center; margin-inline:auto; }
}
@media (max-width:900px) {
  .task-home .task-hero { grid-template-columns:1fr; }
  .task-home .task-hero-copy { padding:36px 24px 16px; }
  .task-home .task-hero h1 { max-width:18ch; }
  .task-home .task-hero-photo { height:auto; }
}

/* 2.9.14 gap-audit corrections. */
.section-anchor { display:block; position:relative; top:-96px; visibility:hidden; }
.cookie-consent { position:fixed; z-index:9999; right:18px; bottom:18px; left:18px; display:flex; justify-content:space-between; gap:24px; align-items:center; max-width:1100px; margin-inline:auto; padding:20px 22px; border:1px solid rgba(255,255,255,.16); border-radius:18px; background:#172522; color:#fff; box-shadow:0 22px 70px rgba(0,0,0,.3); }
.cookie-consent[hidden], .cookie-settings-button[hidden] { display:none !important; }
.cookie-consent strong { display:block; margin-bottom:.25rem; font-size:1.02rem; }
.cookie-consent p { margin:0; max-width:720px; color:rgba(255,255,255,.78); font-size:.9rem; line-height:1.55; }
.cookie-consent a { color:#fff; font-size:.84rem; text-decoration:underline; }
.cookie-consent-actions { display:flex; flex-wrap:wrap; flex:0 0 auto; gap:.6rem; }
.cookie-consent .button-ghost { background:#fff; color:#172522; border-color:#172522; }
.cookie-consent .button-ghost:hover { background:#e9e4d6; color:#172522; }
.cookie-consent .button-ghost:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.cookie-settings-button { position:fixed; z-index:9998; right:16px; bottom:16px; padding:.55rem .75rem; border:1px solid #d8d3e8; border-radius:999px; background:#fff; color:#312b4a; box-shadow:0 8px 24px rgba(49,43,74,.14); font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; }
.real-life-health-gateway { background:#eef7f3; }
.real-life-health-card { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:clamp(24px,5vw,64px); align-items:center; padding:clamp(28px,5vw,58px); border-radius:32px; background:#fff; box-shadow:0 20px 50px rgba(30,79,66,.09); }
.real-life-health-card h2 { margin:.55rem 0 1rem; font-size:clamp(2rem,4vw,3.5rem); }
.real-life-health-card p { color:var(--nga-ink-soft); font-size:1.05rem; line-height:1.7; }
.real-life-health-card figure { margin:0; }
.real-life-health-card img { display:block; width:100%; max-height:430px; object-fit:cover; border-radius:24px 8px 24px 8px; }
.practical-guides-hero { padding:clamp(56px,8vw,110px) 0; background:linear-gradient(135deg,#f7f4ff,#eef7f3); }
.practical-guides-hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:clamp(28px,5vw,72px); align-items:center; }
.practical-guides-hero h1 { margin:.65rem 0 1.1rem; max-width:13ch; font-size:clamp(2.8rem,5.8vw,5.5rem); line-height:1.02; }
.practical-guides-hero p { max-width:700px; color:var(--nga-ink-soft); font-size:1.1rem; line-height:1.75; }
.practical-guides-hero figure { margin:0; }
.practical-guides-hero picture,
.practical-guides-hero img { display:block; width:100%; }
.practical-guides-hero img { height:auto; aspect-ratio:3 / 2; object-fit:contain; border-radius:32px 10px 32px 10px; box-shadow:0 24px 60px rgba(52,42,90,.16); }
.practical-guides-standard { background:#172522; color:#fff; }
.practical-guides-standard h2, .practical-guides-standard .eyebrow { color:#fff; }
.practical-guides-standard p { color:rgba(255,255,255,.78); }
.practical-guides-standard-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,6vw,80px); align-items:start; }
.practical-guides-standard dl { display:grid; gap:.7rem; margin:0; }
.practical-guides-standard dl div { padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(255,255,255,.06); }
.practical-guides-standard dt { color:#b8e2d5; font-size:.75rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.practical-guides-standard dd { margin:.25rem 0 0; color:#fff; }
.practical-guides-standard a { color:#fff; }
.practical-guides-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.practical-guides-grid article { display:flex; flex-direction:column; min-width:0; padding:1.5rem; border:1px solid #e3dfef; border-radius:22px 8px 22px 8px; background:#fff; box-shadow:0 14px 32px rgba(63,52,111,.07); }
.practical-guides-grid article > span { color:var(--nga-violet-accessible); font-size:.75rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.practical-guides-grid h3 { margin:.55rem 0 .75rem; font-size:1.35rem; }
.practical-guides-grid p { flex:1; color:var(--nga-ink-soft); }
.practical-guides-grid a { margin-top:1rem; color:var(--nga-violet-accessible); font-weight:850; }
.practical-guides-feature-grid { display:grid; grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr); gap:clamp(28px,5vw,64px); align-items:center; }
.practical-guides-feature figure { margin:0; }
.practical-guides-feature picture,
.practical-guides-feature img { display:block; width:100%; }
.practical-guides-feature img { height:auto; aspect-ratio:3 / 2; object-fit:contain; border-radius:24px 8px 24px 8px; }
.practical-guides-feature h2 { margin:.55rem 0 1rem; font-size:clamp(2rem,4vw,3.4rem); }
.practical-guides-feature p { color:var(--nga-ink-soft); line-height:1.7; }
@media (max-width:900px) {
  .real-life-health-card, .practical-guides-hero-grid, .practical-guides-standard-grid, .practical-guides-feature-grid { grid-template-columns:1fr; }
  .practical-guides-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .practical-guides-grid { grid-template-columns:1fr; }
  .real-life-health-card { padding:24px; border-radius:22px; }
  .cookie-consent { align-items:stretch; flex-direction:column; }
  .cookie-consent-actions .button { width:100%; }
}

/* 2.9.14-r5 gap correction: Real Life's active pathway tab was falling through to the
   neutral, non-active tab background (#eef1ee) because Real Life's markup does not carry the
   shared .category-detail class that Money/Career/Housing get from category-detail.php. This
   restores the accent-colored, white-text active state with a rule specific enough to win. */
.real-life-release .category-pathway-tab.is-active {
  background: var(--path-accent);
  color: #fff;
  border-color: var(--path-accent);
}

/* Final WCAG AA contrast corrections. These preserve the approved layout and
   category identities while making small text and inactive controls readable. */
.task-home .task-kicker {
  color: #c83c34;
}

/* Links embedded in explanatory text must remain distinguishable without
   relying on color alone. */
.editorial-standards-cards p a {
  color: var(--nga-indigo-deep);
  font-weight: 750;
  text-decoration: underline;
  text-decoration-thickness: .1em;
  text-underline-offset: .14em;
}

/* Human-reviewed WCAG contrast repairs for the solid-color cases that axe
   could not decide automatically. */
.task-support-item > span { color:#b84433; }
.article-visual-banner figcaption span { color:#4938c6; }
.article-feature-image span { background:#5b3fb0; }
.nga-decision-card:nth-child(2) > span { color:#4d5e2f !important; }
.roommate-step-card b { color:#4938c6; }
.roommate-resource-section p a {
  color:#4938c6;
  font-weight:750;
  text-decoration:underline;
  text-decoration-thickness:.1em;
  text-underline-offset:.14em;
}
.real-life-release .category-pathway-tab.is-active > span {
  background:#fff;
  color:var(--path-accent);
}

/* Human-reviewed gradient and muted-text contrast repairs. The lighter violet
   endpoint was below 4.5:1 with white button text; this keeps the visual family
   while making shared actions readable. */
:root { --nga-violet:#7b52d1; }
.newsletter-card {
  background:
    radial-gradient(circle at 15% 0,rgba(255,128,104,.16),transparent 32%),
    linear-gradient(135deg,#4938c6,#6b43c6 62%,#7b52d1);
}
.newsletter-card p,
.newsletter-card label > span,
.newsletter-card .form-status,
.newsletter-card .newsletter-privacy { color:#fff; }
.newsletter-card input { color:#18243d; background:#fff; }
.newsletter-card input::placeholder { color:#596273; opacity:1; }
.native-tool-hero-budget { background:linear-gradient(135deg,#183f48,#145d59 58%,#166b63); }
.native-tool-hero-checklist { background:linear-gradient(135deg,#633b1e,#81461f 54%,#914b22); }
.native-tool-hero-rent { background:linear-gradient(135deg,#413267,#57438f 54%,#674e9c); }
.task-promise { color:#59637a; }
.life-skills-orientation .task-kicker { color:#aa302c; }
.breadcrumbs { color:#4f596e; }
.article-byline { color:#59647a; }
.about-method-grid p { color:#45595e; }
.real-life-stage-actions span { color:#405654; }
body.nga-money-page .category-detail-finance { --path-accent:#0f625f; }
body.nga-housing-page .category-detail-housing { --path-accent:#88432d; }
.category-decision-card p { color:#40575a; }

/* r15 Health reflow repair.
   The reviewed Health body is WordPress content and its outer #nga-health-v3
   element uses a full-viewport breakout style. It sits inside .article-shell,
   so a vertical scrollbar made it 7px wider than the available reading area.
   Keep this correction local to Health: preserve the content's normal width,
   eliminate sideways scrolling, and do not change other full-bleed sections. */
.health-content-shell .article-shell.wp-content > #nga-health-v3 {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
