/*
Theme Name: NextGen Adults Prototype V2
Theme URI: https://nextgenadults.com/
Author: NextGen Adults
Description: Fidelity-first WordPress implementation of the approved NextGenAdults Sites prototype.
Version: 2.4.1
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: nextgenadults-v2
*/

:root {
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
}

.admin-bar .site-header { top: 32px; }
.admin-bar .reading-progress { top: 112px; }
.wp-content { color: var(--nga-ink-soft); }
.wp-content > * + * { margin-top: 1.2rem; }
.wp-content h2 { margin-top: 2.5rem; }
.wp-content h3 { margin-top: 1.8rem; }
.wp-content ul { display: grid; gap: .7rem; padding-left: 1.25rem; }
.resource-card[hidden] { display: none; }
#nga-newsletter-card:not(.newsletter-card) { display: none !important; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.card-label { display: block; margin-bottom: .8rem; color: var(--nga-violet); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.resource-cover {
  position: relative;
  display: flex;
  min-height: 174px;
  margin: -1.35rem -1.35rem 1.25rem;
  padding: 1.3rem;
  overflow: hidden;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 20px 20px 9px 9px;
  border: 1px solid rgba(80, 69, 155, .13);
  box-shadow: inset -14px 0 0 rgba(255,255,255,.36);
  color: #302d55;
}
.resource-cover::before {
  position: absolute;
  width: 86px;
  height: 116px;
  right: 18px;
  bottom: -22px;
  content: "";
  border: 2px solid rgba(255,255,255,.8);
  border-radius: 9px 9px 3px 3px;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,.75) 0 3px, transparent 3px 14px);
  transform: rotate(7deg);
}
.resource-cover::after {
  position: absolute;
  width: 94px;
  height: 94px;
  top: -38px;
  left: -28px;
  content: "";
  border-radius: 50%;
  background: rgba(255,255,255,.55);
}
.resource-cover > * { position: relative; z-index: 1; max-width: 73%; }
.resource-cover small,
.resource-cover span { font-size: .69rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.resource-cover strong { font-family: var(--font-display); font-size: 1rem; line-height: 1.2; }
.resource-cover-finance { background: linear-gradient(145deg, #ddd9ff, #f7f5ff 62%, #cbc4ff); }
.resource-cover-career { background: linear-gradient(145deg, #cfe9ff, #f4faff 62%, #a9d7ff); }
.resource-cover-housing { background: linear-gradient(145deg, #ffe5a8, #fff9e9 62%, #ffd372); }
.resource-cover-wellness { background: linear-gradient(145deg, #ffd8dd, #fff5f6 62%, #ffb9c4); }
.resource-cover-personal-growth { background: linear-gradient(145deg, #d8f3e8, #f4fcf8 62%, #afe5d2); }
.button-coral { background: var(--nga-coral); }
.button-coral:hover { background: #f36d51; }
.article-card h2 { margin: 14px 0 12px; font-size: 1.45rem; }
.article-rail .button { width: 100%; margin-bottom: .75rem; text-align: center; }

.about-hero,
.tools-page-hero,
.legal-hero {
  background:
    radial-gradient(circle at 82% 22%, rgba(255, 205, 112, .38), transparent 22%),
    radial-gradient(circle at 15% 80%, rgba(155, 203, 255, .42), transparent 26%),
    linear-gradient(135deg, #fbfaff, #fffaf0);
}
.about-hero-grid { display: grid; grid-template-columns: 1.05fr .75fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.about-portrait { min-height: 300px; margin: 0; padding: 1rem; border: 1px solid rgba(78, 65, 145, .12); border-radius: 36px 16px 36px 16px; background: rgba(255,255,255,.7); box-shadow: 0 24px 55px rgba(93, 78, 155, .14); transform: rotate(1.5deg); }
.about-portrait img { width: 100%; height: 100%; min-height: 268px; object-fit: cover; border-radius: 28px 11px 28px 11px; }
.about-content-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.about-story { padding: clamp(1.5rem, 4vw, 3rem); background: #fff; }
.about-principles { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid #ddd8ff; border-radius: 28px; background: linear-gradient(145deg, #f3f0ff, #fff); }
.about-principles h2 { margin: .75rem 0 1.5rem; font-size: clamp(1.55rem, 3vw, 2.25rem); }
.principle-list { display: grid; gap: 1rem; }
.principle-list > div { display: grid; grid-template-columns: 42px 1fr; gap: .85rem; align-items: start; padding-top: 1rem; border-top: 1px solid rgba(85, 72, 155, .13); }
.principle-list strong { color: var(--nga-violet); font-size: .78rem; }
.principle-list span { display: grid; gap: .25rem; }
.principle-list small { color: var(--nga-ink-soft); line-height: 1.55; }

.tools-page-section { background: linear-gradient(180deg, #fff, #fbfaff); }
.tool-page-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.25rem); margin-top: 2rem; }
.tool-page-card { overflow: hidden; border: 1px solid rgba(84, 71, 150, .12); border-radius: 30px 14px 30px 14px; background: #fff; box-shadow: 0 24px 60px rgba(85, 72, 150, .11); transition: transform .25s ease, box-shadow .25s ease; }
.tool-page-card:hover { transform: translateY(-5px); box-shadow: 0 30px 70px rgba(85, 72, 150, .17); }
.tool-page-media { position: relative; height: 250px; overflow: hidden; }
.tool-page-media::after { position: absolute; inset: auto 0 0; height: 42%; content: ""; background: linear-gradient(transparent, rgba(255,255,255,.4)); }
.tool-page-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.tool-page-card:hover img { transform: scale(1.035); }
.tool-page-body { padding: clamp(1.4rem, 4vw, 2.3rem); }
.tool-page-body h3 { margin: .35rem 0 .7rem; font-size: clamp(1.55rem, 3vw, 2rem); }
.tool-page-body p { min-height: 4.8em; color: var(--nga-ink-soft); }
.tool-page-card-violet { border-top: 7px solid #8e79e8; }
.tool-page-card-gold { border-top: 7px solid #f2bd4b; }
.tools-note { margin-top: 2.5rem; padding: 1.25rem 1.5rem; border-radius: 18px; background: #f5f3ff; }

.legal-hero { padding-block: clamp(4rem, 9vw, 7rem); }
.legal-hero-inner { max-width: 820px; }
.legal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.legal-document { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgba(84, 71, 150, .12); border-radius: 26px; background: #fff; box-shadow: 0 20px 55px rgba(85, 72, 150, .08); }
.legal-nav { position: sticky; top: 115px; display: grid; gap: .45rem; padding: 1.35rem; border: 1px solid #ddd8ff; border-radius: 20px; background: #f6f4ff; }
.legal-nav a { padding: .72rem .8rem; border-radius: 11px; color: var(--nga-indigo); font-weight: 780; }
.legal-nav a:hover { background: #fff; }

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
  .about-hero-grid,
  .about-content-grid,
  .tool-page-grid,
  .legal-layout { grid-template-columns: 1fr; }
  .about-portrait { min-height: 220px; }
  .about-portrait img { min-height: 200px; }
  .tool-page-body p { min-height: auto; }
  .legal-nav { position: static; }
}

@media (prefers-reduced-motion: reduce) {
  .tool-page-card,
  .tool-page-media img { transition: none; }
  .tool-page-card:hover { transform: none; }
}

/* 2.2.0 — Visual Field Guide interior overhaul */
.life-skills-visual-hero,
.resource-library-hero,
.editorial-blog-hero,
.contact-visual-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 9vw, 126px) 0;
}
.life-skills-visual-hero {
  background:
    radial-gradient(circle at 8% 10%, rgba(255,128,104,.2), transparent 24%),
    radial-gradient(circle at 92% 84%, rgba(79,141,247,.22), transparent 28%),
    linear-gradient(135deg, #fffaf4, #f6f1ff 58%, #eef8ff);
}
.life-skills-hero-grid,
.resource-library-hero-grid,
.contact-visual-grid {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(520px,1.1fr);
  gap: clamp(44px,7vw,96px);
  align-items: center;
}
.life-skills-hero-copy h1,
.resource-library-hero h1,
.contact-visual-hero h1 {
  max-width: 780px;
  margin: 18px 0 24px;
  font-size: clamp(3.4rem,6vw,6.4rem);
}
.life-skills-hero-copy > p,
.resource-library-hero-grid > div:first-child > p,
.contact-visual-grid > div:first-child > p {
  max-width: 660px;
  font-size: 1.18rem;
}
.life-skills-collage {
  position: relative;
  display: grid;
  min-height: 570px;
  grid-template-columns: 1.15fr .85fr;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
}
.life-skills-collage figure {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 7px solid rgba(255,255,255,.96);
  border-radius: 30px 16px 30px 16px;
  box-shadow: 0 24px 58px rgba(54,48,113,.16);
}
.life-skills-collage .life-collage-large { grid-row: 1/-1; border-radius: 48% 48% 26px 26px; }
.life-skills-collage img { width: 100%; height: 100%; object-fit: cover; }
.life-collage-note {
  position: absolute;
  right: 8%;
  bottom: -18px;
  display: flex;
  min-width: 210px;
  flex-direction: column;
  padding: 18px 22px;
  border: 1px solid rgba(101,88,232,.18);
  border-radius: 18px 12px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--nga-shadow-soft);
  transform: rotate(-2deg);
}
.life-collage-note small { margin-top: 3px; color: var(--nga-ink-soft); }
.life-map-section { background: linear-gradient(180deg,#fff,#fbf9ff 55%,#fff); }
.life-map-grid,
.life-map-preview {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 24px;
}
.life-path-card {
  --life-accent: #7967e7;
  --life-soft: #eeeaff;
  position: relative;
  grid-column: span 6;
  overflow: hidden;
  border: 1px solid rgba(48,43,96,.12);
  border-top: 7px solid var(--life-accent);
  border-radius: 30px 16px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(70,60,132,.09);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.life-map-grid .life-path-card:nth-child(4n+1),
.life-map-grid .life-path-card:nth-child(4n) { grid-column: span 7; }
.life-map-grid .life-path-card:nth-child(4n+2),
.life-map-grid .life-path-card:nth-child(4n+3) { grid-column: span 5; }
.life-path-violet { --life-accent:#7a62df; --life-soft:#eee9ff; }
.life-path-blue { --life-accent:#3e8edb; --life-soft:#e5f3ff; }
.life-path-gold { --life-accent:#e6ad36; --life-soft:#fff2cb; }
.life-path-mint { --life-accent:#36a885; --life-soft:#dff7ee; }
.life-path-rose { --life-accent:#d95f8b; --life-soft:#ffe4ed; }
.life-path-coral { --life-accent:#eb725c; --life-soft:#ffe6df; }
.life-path-card:hover,
.life-path-card:focus-within {
  border-color: var(--life-accent);
  box-shadow: 0 30px 66px rgba(70,60,132,.16);
  transform: translateY(-6px) rotate(-.25deg);
}
.life-path-media { position: relative; min-height: 260px; overflow: hidden; background: var(--life-soft); }
.life-map-grid .life-path-card:nth-child(even) .life-path-media { min-height: 220px; }
.life-path-media::after { position: absolute; inset: auto 0 0; height: 48%; content: ""; background: linear-gradient(transparent,rgba(16,23,48,.44)); }
.life-path-media img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; transition: transform .5s ease; }
.life-path-card:hover .life-path-media img { transform: scale(1.045); }
.life-path-number {
  position: absolute;
  right: 18px;
  bottom: 9px;
  z-index: 1;
  color: rgba(255,255,255,.9);
  font-family: var(--font-display);
  font-size: 4.5rem;
  font-weight: 850;
  letter-spacing: -.08em;
  line-height: 1;
}
.life-path-icon {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  display: grid;
  width: 49px;
  height: 49px;
  place-items: center;
  border-radius: 17px 11px;
  color: var(--life-accent);
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 24px rgba(34,31,83,.15);
}
.life-path-body { padding: clamp(24px,4vw,38px); }
.life-path-kicker { color: var(--life-accent); font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.life-path-body h3 { margin: 9px 0 12px; font-size: clamp(1.75rem,3vw,2.55rem); }
.life-path-body ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 22px 0; list-style: none; }
.life-path-body li { padding: 7px 10px; border-radius: 999px; color: #4c5870; background: var(--life-soft); font-size: .75rem; font-weight: 720; }
.life-path-body a { color: var(--life-accent); font-weight: 850; }
.life-map-preview .life-path-card { display: grid; grid-column: span 6; grid-template-columns: .9fr 1.1fr; min-height: 300px; }
.life-map-preview .life-path-card:nth-child(3n+1) { grid-column: span 7; }
.life-map-preview .life-path-card:nth-child(3n+2) { grid-column: span 5; }
.life-map-preview .life-path-media { min-height: 100%; }
.life-map-preview .life-path-body { display: flex; flex-direction: column; justify-content: center; }
.life-map-preview .life-path-body p { margin-bottom: 24px; }
.life-map-chooser {
  display: grid;
  grid-template-columns: minmax(0,.95fr) minmax(380px,1.05fr);
  gap: clamp(30px,6vw,72px);
  margin-top: clamp(60px,8vw,100px);
  padding: clamp(30px,5vw,58px);
  border: 1px solid rgba(101,88,232,.14);
  border-radius: 32px 18px;
  background: radial-gradient(circle at 8% 0,rgba(255,128,104,.16),transparent 30%),linear-gradient(135deg,#fff8f2,#f4f1ff);
}
.life-map-chooser h2 { margin: 14px 0 24px; }
.life-map-chooser-buttons { display: flex; flex-wrap: wrap; gap: 9px; }
.life-map-chooser-buttons button {
  min-height: 44px;
  padding: 8px 13px;
  border: 1px solid rgba(101,88,232,.18);
  border-radius: 999px;
  color: var(--nga-indigo-deep);
  background: #fff;
  font-size: .8rem;
  font-weight: 780;
  cursor: pointer;
}
.life-map-chooser-buttons button:hover,
.life-map-chooser-buttons button.is-selected { color:#fff; border-color:var(--nga-violet); background:var(--nga-violet); }
.life-map-answer { display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center; padding:28px; border-radius:24px 14px; background:#fff; box-shadow:var(--nga-shadow-soft); }
.life-map-answer > span { color:var(--nga-violet); font-family:var(--font-display); font-size:clamp(4rem,8vw,7rem); font-weight:850; letter-spacing:-.08em; opacity:.18; }
.life-map-answer small { color:var(--nga-violet); font-weight:820; letter-spacing:.08em; text-transform:uppercase; }
.life-map-answer h3 { margin:5px 0 10px; font-size:2rem; }
.life-map-answer a { color:var(--nga-indigo-deep); font-weight:820; }
.resource-library-hero {
  background:
    radial-gradient(circle at 12% 10%,rgba(79,199,168,.2),transparent 28%),
    radial-gradient(circle at 88% 80%,rgba(155,98,230,.2),transparent 30%),
    linear-gradient(140deg,#f2fbf8,#fffaf2 54%,#f3efff);
}
.resource-library-hero .button { margin-top:28px; }
.mini-stats-left { justify-content:flex-start; margin:26px 0 0; }
.resource-hero-stack { position:relative; min-height:540px; perspective:1200px; }
.resource-hero-cover {
  position:absolute;
  display:flex;
  width:min(310px,56%);
  min-height:410px;
  flex-direction:column;
  justify-content:space-between;
  padding:32px;
  border:7px solid #fff;
  border-radius:24px 15px;
  box-shadow:0 30px 68px rgba(54,48,113,.2);
}
.resource-hero-cover small,
.resource-hero-cover span { position:relative; z-index:1; font-size:.72rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.resource-hero-cover strong { position:relative; z-index:1; max-width:88%; font-family:var(--font-display); font-size:clamp(1.6rem,3vw,2.35rem); line-height:1.05; }
.resource-hero-cover-1 { left:1%; top:76px; z-index:1; transform:rotate(-8deg); }
.resource-hero-cover-2 { left:28%; top:22px; z-index:3; transform:rotate(1deg); }
.resource-hero-cover-3 { right:0; top:84px; z-index:2; transform:rotate(8deg); }
.resource-stack-note { position:absolute; right:9%; bottom:0; z-index:4; padding:15px 18px; border-radius:14px; color:var(--nga-indigo-deep); background:#fff; box-shadow:var(--nga-shadow-soft); font-weight:820; transform:rotate(-2deg); }
.resource-starter-section { background:linear-gradient(180deg,#fff,#f7f4ff); }
.resource-starter-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:34px; }
.resource-starter-heading h2 { max-width:760px; margin-top:13px; }
.resource-starter-heading > a { color:var(--nga-indigo-deep); font-weight:820; }
.resource-starter-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.resource-starter-card { display:flex; min-height:190px; flex-direction:column; justify-content:space-between; padding:25px; border:1px solid rgba(101,88,232,.14); border-radius:24px 14px; background:#fff; box-shadow:var(--nga-shadow-soft); transition:transform .2s ease,box-shadow .2s ease; }
.resource-starter-card:nth-child(2) { background:#eff8ff; }
.resource-starter-card:nth-child(3) { background:#fff4ec; }
.resource-starter-card:hover { transform:translateY(-5px); box-shadow:var(--nga-shadow); }
.resource-starter-card span { color:var(--nga-violet); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.resource-starter-card strong { font-family:var(--font-display); font-size:1.35rem; line-height:1.15; }
.resource-starter-card small { color:var(--nga-indigo-deep); font-weight:800; }
.editorial-blog-hero {
  background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.45)),url("assets/images/productivity-planning.png") center 42%/cover;
}
.editorial-blog-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:end; }
.editorial-blog-heading h1 { max-width:850px; margin-top:17px; font-size:clamp(3.5rem,7vw,7rem); }
.editorial-blog-heading > p { max-width:520px; padding:24px; border:1px solid rgba(255,255,255,.8); border-radius:22px; background:rgba(255,255,255,.82); box-shadow:var(--nga-shadow-soft); backdrop-filter:blur(14px); font-size:1.08rem; }
.editorial-blog-section .article-featured { grid-column:1/-1; }
.article-feature-image { position:relative; min-height:470px; overflow:hidden; }
.article-feature-image img { width:100%; height:100%; min-height:inherit; object-fit:cover; }
.article-feature-image::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,transparent 45%,rgba(16,23,48,.26)); }
.article-feature-image span { position:absolute; top:24px; left:24px; z-index:1; padding:8px 12px; border-radius:999px; color:#fff; background:var(--nga-violet); font-weight:820; }
.article-visual { position:relative; }
.article-visual strong { position:absolute; right:18px; bottom:-6px; color:rgba(255,255,255,.72); font-family:var(--font-display); font-size:6rem; font-weight:850; letter-spacing:-.08em; line-height:1; }
.article-visual-banner { position:relative; min-height:460px; margin: -42px 0 0; overflow:hidden; border:8px solid #fff; border-radius:32px 18px; box-shadow:var(--nga-shadow); }
.article-visual-banner img { width:100%; height:100%; min-height:inherit; object-fit:cover; }
.article-visual-banner figcaption { position:absolute; right:24px; bottom:24px; display:flex; gap:12px; align-items:center; padding:14px 18px; border-radius:14px; background:rgba(255,255,255,.92); box-shadow:var(--nga-shadow-soft); }
.article-visual-banner figcaption span { color:var(--nga-violet); font-weight:850; }
.article-visual-banner figcaption small { color:var(--nga-ink-soft); }
.contact-visual-hero { background:radial-gradient(circle at 8% 10%,rgba(255,128,104,.18),transparent 28%),linear-gradient(135deg,#fff9f4,#eef7ff); }
.contact-visual-grid figure { position:relative; min-height:540px; margin:0; overflow:hidden; border:8px solid #fff; border-radius:48% 48% 28px 28px; box-shadow:var(--nga-shadow); }
.contact-visual-grid figure img { width:100%; height:100%; min-height:inherit; object-fit:cover; }
.contact-visual-grid figcaption { position:absolute; right:20px; bottom:20px; left:20px; display:flex; flex-direction:column; padding:18px 20px; border-radius:17px; background:rgba(255,255,255,.92); box-shadow:var(--nga-shadow-soft); }
.contact-visual-grid figcaption span { margin-top:4px; color:var(--nga-ink-soft); font-size:.82rem; }
.contact-expectations { display:grid; gap:12px; margin-top:28px; }
.contact-expectations > div { display:grid; gap:3px; padding:18px; border-left:5px solid var(--nga-violet); border-radius:16px; }
.contact-expectations > div:nth-child(1) { background:#f0edff; }
.contact-expectations > div:nth-child(2) { background:#eaf7ff; }
.contact-expectations > div:nth-child(3) { background:#fff1e9; }

@media (max-width:1050px) {
  .life-skills-hero-grid,
  .resource-library-hero-grid,
  .contact-visual-grid { grid-template-columns:1fr; }
  .life-skills-collage { min-height:520px; }
  .life-map-grid .life-path-card,
  .life-map-preview .life-path-card,
  .life-map-preview .life-path-card:nth-child(3n+1),
  .life-map-preview .life-path-card:nth-child(3n+2) { grid-column:span 6; }
  .life-map-preview .life-path-card { grid-template-columns:1fr; }
  .life-map-preview .life-path-media { min-height:250px; }
  .life-map-chooser,
  .editorial-blog-heading { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .life-skills-visual-hero,
  .resource-library-hero,
  .editorial-blog-hero,
  .contact-visual-hero { padding:58px 0 70px; }
  .life-skills-hero-copy h1,
  .resource-library-hero h1,
  .contact-visual-hero h1,
  .editorial-blog-heading h1 { font-size:clamp(2.8rem,13vw,4.5rem); }
  .life-skills-collage { min-height:430px; grid-template-columns:1fr 1fr; grid-template-rows:1.2fr .8fr; }
  .life-skills-collage .life-collage-large { grid-column:1/-1; grid-row:auto; border-radius:30px 16px; }
  .life-collage-note { right:12px; bottom:-26px; }
  .life-map-grid,
  .life-map-preview { grid-template-columns:1fr; }
  .life-map-grid .life-path-card,
  .life-map-preview .life-path-card,
  .life-map-preview .life-path-card:nth-child(3n+1),
  .life-map-preview .life-path-card:nth-child(3n+2) { grid-column:1; }
  .life-path-media,
  .life-map-grid .life-path-card:nth-child(even) .life-path-media { min-height:230px; }
  .life-map-answer { grid-template-columns:1fr; }
  .life-map-answer > span { font-size:4rem; }
  .resource-hero-stack { min-height:430px; margin-top:20px; }
  .resource-hero-cover { width:58%; min-height:320px; padding:22px; }
  .resource-hero-cover strong { font-size:1.35rem; }
  .resource-hero-cover-1 { left:0; top:70px; }
  .resource-hero-cover-2 { left:22%; top:20px; }
  .resource-hero-cover-3 { right:0; top:76px; }
  .resource-starter-heading { align-items:flex-start; flex-direction:column; }
  .resource-starter-mini-grid { grid-template-columns:1fr; }
  .article-feature-image,
  .article-visual-banner { min-height:300px; }
  .article-visual-banner { margin-top:-25px; border-width:5px; }
  .article-visual-banner figcaption { right:12px; bottom:12px; left:12px; justify-content:space-between; }
  .contact-visual-grid figure { min-height:390px; border-width:6px; }
}
