
 body { font-family: 'Public Sans', system-ui, sans-serif; font-size: 17px; line-height: 1.6; color: var(--nfx-ink); }
 h1, h2, h3, h4 { font-family: 'Newsreader', Georgia, serif; font-weight: 400; color: var(--nfx-teal); letter-spacing: -0.015em; margin: 0; text-wrap: pretty; }
 h1 em, h2 em, h3 em { font-style: italic; color: var(--nfx-teal-mid); font-weight: 300; }

 .nav { position: sticky; top: 0; z-index: 60; background: rgba(250, 247, 241, 0.92); backdrop-filter: blur(14px); box-shadow: 0 1px 0 var(--nfx-rule-soft); }
 .nav__inner { display: flex; align-items: center; justify-content: space-between; padding: 22px 56px; max-width: 1440px; margin: 0 auto; }
 .nav__logo { display: flex; align-items: center; }
 .nav__links { display: flex; gap: 34px; align-items: center; font-weight: 500; font-size: 15px; color: var(--nfx-teal); }
 .nav__links a { opacity: 0.84; position: relative; }
 .nav__cta { background: var(--nfx-gold); color: var(--nfx-teal-deep); padding: 11px 20px; border-radius: 999px; font-weight: 600; font-size: 14px; box-shadow: 0 6px 18px rgba(231, 190, 39, .35); }
 .nav__burger { display: none; width: 42px; height: 42px; border-radius: 999px; border: 0; cursor: pointer; background: rgba(1, 72, 93, 0.08); color: var(--nfx-teal); align-items: center; justify-content: center; }

 .banner { position: relative; overflow: hidden; padding: 110px 0 100px; color: #fff; background-color: var(--nfx-teal-deep);
 /* background-image set inline per page */
 background-size: cover; background-position: center 55%;
 }
 .banner__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; position: relative; }
 .breadcrumb { display: flex; gap: 8px; align-items: center; font-size: 13px; color: rgba(255,255,255,0.72); margin-bottom: 22px; letter-spacing: 0.02em; }
 .breadcrumb a { color: rgba(255,255,255,0.72); }
 .breadcrumb__sep { opacity: 0.45; }
 .banner__eyebrow { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nfx-gold-soft); font-weight: 600; margin-bottom: 18px; display: inline-flex; align-items: center; gap: 12px; }
 .banner__eyebrow::before { content: ""; width: 32px; height: 1.5px; background: var(--nfx-gold); }
 .banner h1 { font-size: 68px; line-height: 1.02; color: #fff; max-width: 880px; margin-bottom: 24px; }
 .banner h1 em { color: var(--nfx-gold); font-style: italic; font-weight: 300; }
 .banner__lead { font-size: 19px; color: rgba(255, 255, 255, 0.92); max-width: 640px; line-height: 1.55; margin: 0 0 32px; }
 .banner__meta { display: flex; gap: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.2); flex-wrap: wrap; max-width: 720px; }
 .banner__meta-item { display: flex; flex-direction: column; gap: 2px; }
 .banner__meta-num { font-family: 'Newsreader', serif; font-size: 26px; color: var(--nfx-gold-soft); font-weight: 400; }
 .banner__meta-label { font-size: 11px; color: rgba(255,255,255,0.7); letter-spacing: 0.06em; text-transform: uppercase; }
 .banner__bird { position: absolute; top: 18%; right: 7%; opacity: 0.65; transform: rotate(12deg); z-index: 1; }
 .banner__wave { position: absolute; bottom: -1px; left: 0; right: 0; line-height: 0; pointer-events: none; }
 .banner__wave svg { display: block; width: 100%; height: 140px; }

 /* Intro strip with Tina's video, just below the hero */
 .tina-intro { background: var(--nfx-paper); padding: 64px 0 56px; }
 .tina-intro__inner { max-width: 1200px; margin: 0 auto; padding: 0 56px; display: grid; grid-template-columns: 360px 1fr; gap: 64px; align-items: center; }
 .tina-intro__text h2 { font-size: 38px; line-height: 1.1; margin-bottom: 14px; }
 .tina-intro__text > p { font-size: 17px; color: var(--nfx-ink); line-height: 1.7; margin: 0 0 14px; max-width: 56ch; }
 .tina-intro__text > p strong { color: var(--nfx-teal-deep); font-weight: 600; }
 .tina-intro__caption { font-size: 13px; color: var(--nfx-ink-soft); font-style: italic; margin-top: 18px; }
 @media (max-width: 760px) {
 .tina-intro { padding: 36px 0 32px; }
 .tina-intro__inner { grid-template-columns: 1fr; gap: 28px; padding: 0 22px; }
 .tina-intro__text h2 { font-size: 26px; text-align: center; }
 .tina-intro__text > p { font-size: 15.5px; text-align: center; margin-left: auto; margin-right: auto; }
 }

 /* Two-route panel, In-person vs Online */
 .routes { background: var(--nfx-paper); padding: 90px 0 80px; }
 .routes__inner { max-width: 1200px; margin: 0 auto; padding: 0 56px; }
 .routes__head { text-align: center; margin-bottom: 48px; }
 .routes h2 { font-size: 44px; line-height: 1.08; margin-bottom: 14px; }
 .routes__head p { font-size: 16px; color: var(--nfx-ink-soft); max-width: 580px; margin: 0 auto; }
 .routes__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
 .route-card { background: var(--nfx-paper-2); border-radius: 22px; padding: 36px 36px 32px; border: 1px solid var(--nfx-rule-soft); }
 .route-card__eyebrow { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; margin-bottom: 12px; }
 .route-card h3 { font-size: 28px; line-height: 1.15; margin-bottom: 14px; font-weight: 500; }
 .route-card h3 em { color: var(--nfx-teal-mid); font-style: italic; font-weight: 300; }
 .route-card__lead { font-size: 15.5px; color: var(--nfx-ink-soft); line-height: 1.65; margin: 0 0 22px; }
 .route-card__rows { display: grid; gap: 12px; margin: 22px 0 26px; padding: 18px 0; border-top: 1px solid var(--nfx-rule); border-bottom: 1px solid var(--nfx-rule); }
 .route-card__row { display: flex; justify-content: space-between; align-items: center; font-size: 14px; }
 .route-card__row span:first-child { color: var(--nfx-ink-soft); }
 .route-card__row strong { color: var(--nfx-teal-deep); font-weight: 600; }

 /* Section: about the area */
 .area { background: linear-gradient(180deg, var(--nfx-paper) 0%, var(--nfx-sky-wash) 100%); padding: 100px 0; }
 .area__inner { max-width: 1200px; margin: 0 auto; padding: 0 56px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
 .area h2 { font-size: 44px; line-height: 1.08; margin-bottom: 22px; }
 .area > .area__inner > div > p { font-size: 17px; color: var(--nfx-ink); line-height: 1.7; max-width: 56ch; margin: 0 0 16px; }
 .area p strong { color: var(--nfx-teal-deep); font-weight: 600; }

 /* Travel routes */
 .travel { display: grid; gap: 14px; margin-top: 28px; }
 .travel__item { background: var(--nfx-paper); border-radius: 14px; padding: 16px 22px; border: 1px solid var(--nfx-rule-soft); display: grid; grid-template-columns: 38px 1fr auto; gap: 16px; align-items: center; }
 .travel__icon { width: 38px; height: 38px; border-radius: 50%; background: var(--nfx-sky-wash); display: flex; align-items: center; justify-content: center; color: var(--nfx-teal-deep); }
 .travel__route { font-size: 14.5px; color: var(--nfx-teal-deep); font-weight: 500; }
 .travel__detail { font-size: 12.5px; color: var(--nfx-ink-soft); }
 .travel__time { font-family: 'Newsreader', serif; font-size: 22px; color: var(--nfx-teal); font-weight: 400; }

 /* Services row */
 .services { background: var(--nfx-paper); padding: 100px 0; }
 .services__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
 .services__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 36px; flex-wrap: wrap; }
 .services h2 { font-size: 44px; line-height: 1.08; }
 .services__head p { font-size: 15px; color: var(--nfx-ink-soft); max-width: 460px; margin: 0; }
 .services__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
 .service-link { background: var(--nfx-paper-2); border-radius: 18px; padding: 0; display: grid; grid-template-columns: 180px 1fr; overflow: hidden; border: 1px solid var(--nfx-rule-soft); transition: transform .2s, box-shadow .2s; min-height: 180px; }
 .service-link:hover { transform: translateY(-3px); box-shadow: var(--nfx-shadow); }
 .service-link__visual { display: flex; align-items: center; justify-content: center; background: var(--nfx-teal-deep); position: relative; background-size: cover; background-position: center; }
 .service-link__bird img { width: 70px; }
 .service-link__body { padding: 26px 28px; display: flex; flex-direction: column; gap: 8px; }
 .service-link__price { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; }
 .service-link h3 { font-size: 22px; line-height: 1.2; font-weight: 500; }
 .service-link p { font-size: 14px; color: var(--nfx-ink-soft); margin: 0; line-height: 1.5; flex: 1; }
 .service-link__cta { color: var(--nfx-teal); font-weight: 600; font-size: 14px; margin-top: 6px; }
 .service-link__cta::after { content: " →"; }

 /* FAQ */
 .faq { background: var(--nfx-paper-2); padding: 100px 0; }
 .faq__inner { max-width: 980px; margin: 0 auto; padding: 0 56px; }
 .faq__head { text-align: center; margin-bottom: 36px; }
 .faq h2 { font-size: 40px; line-height: 1.1; margin-bottom: 12px; }
 .faq__head p { font-size: 15px; color: var(--nfx-ink-soft); margin: 0; }
 .faq__list { display: grid; gap: 10px; }
 .faq-item { background: var(--nfx-paper); border-radius: 14px; border: 1px solid var(--nfx-rule-soft); overflow: hidden; }
 .faq-item[open] { box-shadow: var(--nfx-shadow-sm); }
 .faq-item summary { padding: 20px 26px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; font-family: 'Newsreader', serif; font-size: 19px; color: var(--nfx-teal); font-weight: 500; }
 .faq-item summary::-webkit-details-marker { display: none; }
 .faq-item summary::after { content: "+"; font-size: 26px; color: var(--nfx-teal-mid); font-weight: 300; }
 .faq-item[open] summary::after { content: "−"; }
 .faq-item__body { padding: 0 26px 22px; color: var(--nfx-ink-soft); font-size: 15.5px; line-height: 1.65; }

 /* Final CTA */
 .final { position: relative; overflow: hidden; padding: 140px 0 160px; background-image: linear-gradient(135deg, rgba(1, 72, 93, 0.78) 0%, rgba(1, 72, 93, 0.45) 60%, rgba(231, 190, 39, 0.35) 100%), url('../assets/heroes/pastel-mountains.webp'); background-size: cover; background-position: center; color: #fff; }
 .final__inner { max-width: 880px; margin: 0 auto; padding: 0 56px; text-align: center; }
 .final h2 { font-size: 56px; line-height: 1.05; color: #fff; margin-bottom: 22px; }
 .final h2 em { color: var(--nfx-gold); }
 .final__lead { font-size: 18px; opacity: 0.92; max-width: 580px; margin: 0 auto 36px; line-height: 1.55; }
 .final__ctas { display: flex; gap: 14px; justify-content: center; }
 .final__ctas .nfx-btn--ghost { color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.45); }

 .footer { background: var(--nfx-teal-deep); color: #cfdce1; padding: 80px 0 32px; }
 .footer__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
 .footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,0.1); }
 .footer h4 { color: #fff; font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
 .footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; font-size: 14px; }
 .footer a { opacity: 0.78; }
 .footer a:hover { opacity: 1; color: var(--nfx-gold-soft); }
 .footer__base { padding-top: 28px; display: flex; justify-content: space-between; font-size: 12px; opacity: 0.6; }

 @media (max-width: 760px) {
 .nav__inner { padding: 16px 20px; }
 .nav__links, .nav__cta { display: none; }
 .nav__burger { display: flex; }
 .banner { padding: 56px 0 64px; }
 .banner__inner { padding: 0 22px; }
 .banner h1 { font-size: 38px; }
 .banner__meta { gap: 20px; }
 .banner__bird { display: none; }
 .routes { padding: 56px 0; }
 .routes__inner { padding: 0 22px; }
 .routes h2 { font-size: 28px; }
 .routes__grid { grid-template-columns: 1fr; }
 .route-card { padding: 28px 24px; }
 .area { padding: 56px 0; }
 .area__inner { grid-template-columns: 1fr; gap: 36px; padding: 0 22px; }
 .area h2 { font-size: 28px; }
 .services { padding: 56px 0; }
 .services__inner { padding: 0 22px; }
 .services h2 { font-size: 28px; }
 .services__grid { grid-template-columns: 1fr; }
 .service-link { grid-template-columns: 1fr; min-height: 0; }
 .service-link__visual { height: 120px; }
 .faq { padding: 56px 0; }
 .faq__inner { padding: 0 22px; }
 .faq h2 { font-size: 28px; }
 .faq-item summary { padding: 16px 20px; font-size: 16px; }
 .faq-item__body { padding: 0 20px 18px; font-size: 14.5px; }
 .final { padding: 80px 0 90px; }
 .final h2 { font-size: 34px; }
 .final__inner { padding: 0 22px; }
 .final__ctas { flex-direction: column; }
 .final__ctas .nfx-btn { width: 100%; justify-content: center; }
 .footer { padding: 48px 0 24px; }
 .footer__inner { padding: 0 22px; }
 .footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; padding-bottom: 36px; }
 .footer__grid > div:first-child { grid-column: 1 / -1; }
 .footer__base { flex-direction: column; gap: 8px; text-align: center; }
 }
 /* ===== Tier 1 additions ===== */

 /* Location block expanded */
 .loc-block { background: linear-gradient(180deg, var(--nfx-paper) 0%, var(--nfx-sky-wash) 100%); padding: 100px 0; }
 .loc-block__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
 .loc-block__head { max-width: 720px; margin-bottom: 56px; }
 .loc-block h2 { font-size: 44px; line-height: 1.08; margin-bottom: 16px; }
 .loc-block__head p { font-size: 17px; color: var(--nfx-ink); line-height: 1.7; margin: 0; }
 .loc-block__head p strong { color: var(--nfx-teal-deep); font-weight: 600; }
 .loc-block__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px; align-items: start; }
 .loc-block__col h3 { font-family: 'Newsreader', serif; font-size: 22px; color: var(--nfx-teal); font-weight: 500; margin: 28px 0 12px; }
 .loc-block__col h3:first-child { margin-top: 0; }
 .loc-block__col p { font-size: 16px; color: var(--nfx-ink); line-height: 1.7; max-width: 56ch; margin: 0 0 16px; }
 .loc-block__col p strong { color: var(--nfx-teal-deep); font-weight: 600; }
 .icb-card { background: var(--nfx-paper); border-radius: 18px; padding: 28px 32px; border: 1px solid var(--nfx-rule-soft); border-left: 3px solid var(--nfx-gold); }
 .icb-card__eyebrow { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; margin-bottom: 10px; }
 .icb-card__title { font-family: 'Newsreader', serif; font-size: 20px; color: var(--nfx-teal-deep); margin-bottom: 10px; font-weight: 500; }
 .icb-card p { font-size: 14.5px; line-height: 1.6; margin: 0 0 12px; color: var(--nfx-ink); }
 .icb-card__stat { display: flex; gap: 24px; padding-top: 14px; border-top: 1px solid var(--nfx-rule); margin-top: 14px; }
 .icb-card__stat-item { display: flex; flex-direction: column; gap: 2px; }
 .icb-card__stat-num { font-family: 'Newsreader', serif; font-size: 22px; color: var(--nfx-teal); font-weight: 400; }
 .icb-card__stat-label { font-size: 11px; color: var(--nfx-ink-soft); letter-spacing: 0.04em; text-transform: uppercase; }
 .areas-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 14px; }
 .areas-grid a {
 padding: 10px 14px; background: var(--nfx-paper); border: 1px solid var(--nfx-rule-soft);
 border-radius: 10px; font-size: 13.5px; color: var(--nfx-teal-deep); font-weight: 500;
 text-align: left; transition: background .15s, border-color .15s;
 }
 .areas-grid a:hover { background: var(--nfx-paper-2); border-color: var(--nfx-gold); color: var(--nfx-teal-deep); }

 /* Assessment Process */
 .process { background: var(--nfx-paper); padding: 100px 0; }
 .process__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
 .process__head { display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px; align-items: end; margin-bottom: 48px; }
 .process h2 { font-size: 44px; line-height: 1.08; }
 .process__head-lead { font-size: 16px; color: var(--nfx-ink); line-height: 1.65; max-width: 60ch; margin: 0; }
 .process__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
 .process__step { background: var(--nfx-paper-2); border-radius: 18px; padding: 26px 28px; border: 1px solid var(--nfx-rule-soft); }
 .process__step-num { font-family: 'Newsreader', serif; font-size: 14px; color: var(--nfx-gold); font-weight: 500; letter-spacing: 0.08em; margin-bottom: 12px; }
 .process__step h3 { font-size: 19px; line-height: 1.25; margin-bottom: 8px; font-weight: 500; }
 .process__step p { font-size: 14px; color: var(--nfx-ink); line-height: 1.6; margin: 0; }
 .process__step p strong { color: var(--nfx-teal-deep); font-weight: 600; }
 .process__step-time { font-size: 11px; color: var(--nfx-teal-mid); letter-spacing: 0.06em; text-transform: uppercase; font-weight: 600; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--nfx-rule); display: block; }

 /* Clinician block */
 .clinician { background: linear-gradient(180deg, var(--nfx-paper) 0%, var(--nfx-paper-2) 100%); padding: 80px 0 100px; }
 .clinician__inner {
 max-width: 1100px; margin: 0 auto; padding: 0 56px;
 background: var(--nfx-paper); border-radius: 28px; padding: 56px;
 border: 1px solid var(--nfx-rule-soft); box-shadow: var(--nfx-shadow-sm);
 display: grid; grid-template-columns: 220px 1fr; gap: 48px; align-items: start;
 }
 .clinician__media { display: grid; gap: 16px; }
 .clinician__photo { aspect-ratio: 4/5; border-radius: 20px; overflow: hidden; box-shadow: var(--nfx-shadow); }
 .clinician__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
 .clinician__eyebrow { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; margin-bottom: 12px; }
 .clinician h2 { font-size: 38px; line-height: 1.1; margin-bottom: 4px; }
 .clinician__role { font-family: 'Newsreader', serif; font-style: italic; color: var(--nfx-teal-mid); font-size: 18px; margin-bottom: 20px; }
 .clinician__creds { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 22px; }
 .clinician__cred { font-size: 11px; padding: 4px 11px; border-radius: 999px; background: var(--nfx-paper-2); border: 1px solid var(--nfx-rule); color: var(--nfx-teal-deep); font-weight: 600; letter-spacing: 0.06em; }
 .clinician__bio { font-size: 16px; color: var(--nfx-ink); line-height: 1.7; margin: 0 0 14px; max-width: 58ch; }
 .clinician__bio strong { color: var(--nfx-teal-deep); font-weight: 600; }
 .clinician__link { color: var(--nfx-teal); font-weight: 600; font-size: 14px; border-bottom: 1.5px solid var(--nfx-gold); }

 /* Reviews */
 .reviews { background: var(--nfx-paper-2); padding: 100px 0; }
 .reviews__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
 .reviews__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 36px; flex-wrap: wrap; }
 .reviews h2 { font-size: 40px; line-height: 1.1; }
 .reviews__rating-strip { display: flex; align-items: center; gap: 16px; font-size: 14px; }
 .reviews__rating-stars { display: inline-flex; gap: 3px; color: var(--nfx-gold); }
 .reviews__rating-stars svg { width: 18px; height: 18px; fill: currentColor; }
 .reviews__rating-text { color: var(--nfx-teal-deep); font-weight: 600; }
 .reviews__rating-text strong { font-family: 'Newsreader', serif; font-size: 22px; font-weight: 500; }
 .reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
 .review-card { background: var(--nfx-paper); border-radius: 18px; padding: 28px 30px; border: 1px solid var(--nfx-rule-soft); }
 .review-card__stars { display: flex; gap: 3px; color: var(--nfx-gold); margin-bottom: 14px; }
 .review-card__stars svg { width: 18px; height: 18px; fill: currentColor; }
 .review-card__text { font-family: 'Newsreader', serif; font-style: italic; font-size: 18px; color: var(--nfx-teal); line-height: 1.5; margin: 0 0 18px; }
 .review-card__meta { display: flex; justify-content: space-between; align-items: center; padding-top: 14px; border-top: 1px solid var(--nfx-rule); font-size: 12.5px; }
 .review-card__author { color: var(--nfx-teal-deep); font-weight: 600; }
 .review-card__date { color: var(--nfx-ink-soft); }

 /* Library links */
 .library { background: var(--nfx-paper); padding: 100px 0; }
 .library__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
 .library__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 32px; flex-wrap: wrap; }
 .library h2 { font-size: 36px; line-height: 1.1; }
 .library__head a { color: var(--nfx-teal); font-weight: 600; font-size: 14px; }
 .library__head a::after { content: " →"; }
 .library__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
 .lib-card { background: var(--nfx-paper-2); border-radius: 16px; border: 1px solid var(--nfx-rule-soft); overflow: hidden; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
 .lib-card:hover { transform: translateY(-3px); box-shadow: var(--nfx-shadow-sm); }
 .lib-card__visual { aspect-ratio: 16/9; background-size: cover; background-position: center; }
 .lib-card__body { padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
 .lib-card__cat { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; }
 .lib-card h3 { font-size: 18px; line-height: 1.25; font-weight: 500; }
 .lib-card p { font-size: 13.5px; color: var(--nfx-ink-soft); margin: 0; line-height: 1.55; flex: 1; }
 .lib-card__meta { font-size: 12px; color: var(--nfx-ink-soft); padding-top: 12px; border-top: 1px solid var(--nfx-rule-soft); }

 /* Nearby locations */
 .nearby { background: var(--nfx-paper-2); padding: 80px 0; }
 .nearby__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
 .nearby__head { text-align: center; margin-bottom: 32px; }
 .nearby h2 { font-size: 32px; line-height: 1.1; margin-bottom: 10px; }
 .nearby__head p { font-size: 15px; color: var(--nfx-ink-soft); margin: 0; }
 .nearby__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
 .nearby-link {
 background: var(--nfx-paper); border-radius: 14px; padding: 20px 22px;
 border: 1px solid var(--nfx-rule-soft); display: flex; flex-direction: column; gap: 4px;
 transition: transform .2s, box-shadow .2s, border-color .2s;
 }
 .nearby-link:hover { transform: translateY(-2px); box-shadow: var(--nfx-shadow-sm); border-color: var(--nfx-gold); }
 .nearby-link__label { font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; }
 .nearby-link__name { font-family: 'Newsreader', serif; font-size: 17px; color: var(--nfx-teal-deep); font-weight: 500; }
 .nearby-link__dist { font-size: 12px; color: var(--nfx-ink-soft); margin-top: 4px; }

 @media (max-width: 760px) {
 .loc-block { padding: 56px 0; }
 .loc-block__inner { padding: 0 22px; }
 .loc-block h2 { font-size: 28px; }
 .loc-block__grid { grid-template-columns: 1fr; gap: 32px; }
 .areas-grid { grid-template-columns: repeat(2, 1fr); }
 .process { padding: 56px 0; }
 .process__inner { padding: 0 22px; }
 .process__head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; }
 .process h2 { font-size: 28px; }
 .process__steps { grid-template-columns: 1fr; }
 .clinician { padding: 56px 0; }
 .clinician__inner { grid-template-columns: 1fr; gap: 28px; padding: 32px 24px; margin: 0 22px; }
 .clinician__media { max-width: 200px; }
 .clinician h2 { font-size: 28px; }
 .reviews { padding: 56px 0; }
 .reviews__inner { padding: 0 22px; }
 .reviews h2 { font-size: 26px; }
 .reviews__grid { grid-template-columns: 1fr; }
 .review-card__text { font-size: 16px; }
 .library { padding: 56px 0; }
 .library__inner { padding: 0 22px; }
 .library h2 { font-size: 26px; }
 .library__grid { grid-template-columns: 1fr; }
 .nearby { padding: 56px 0; }
 .nearby__inner { padding: 0 22px; }
 .nearby h2 { font-size: 24px; }
 .nearby__grid { grid-template-columns: repeat(2, 1fr); }
 }
 /* Trust + awards strips (location page) */
 .trust-strip { background: var(--nfx-paper); padding: 36px 0; border-bottom: 1px solid var(--nfx-rule-soft); }
 .trust-strip__inner { max-width: 1200px; margin: 0 auto; padding: 0 56px; }
 .trust-strip__label { text-align: center; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; margin-bottom: 18px; }
 .trust-strip img { display: block; width: 100%; max-width: 980px; height: auto; margin: 0 auto; }

 .awards-strip { background: linear-gradient(180deg, var(--nfx-paper) 0%, var(--nfx-paper-2) 100%); padding: 64px 0; text-align: center; }
 .awards-strip__inner { max-width: 1100px; margin: 0 auto; padding: 0 56px; }
 .awards-strip__eyebrow { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; margin-bottom: 12px; }
 .awards-strip h3 { font-family: 'Newsreader', serif; font-size: 24px; color: var(--nfx-teal-deep); margin: 0 auto 28px; max-width: 640px; font-weight: 500; line-height: 1.25; }
 .awards-strip img { display: block; width: 100%; max-width: 880px; height: auto; margin: 0 auto; }

 /* Google Map embed */
 .map-card {
 background: var(--nfx-paper); border-radius: 20px;
 overflow: hidden; border: 1px solid var(--nfx-rule-soft);
 box-shadow: var(--nfx-shadow-sm);
 margin-top: 22px;
 }
 .map-card iframe {
 display: block; width: 100%; height: 280px; border: 0;
 }
 .map-card__addr {
 padding: 18px 22px;
 display: flex; justify-content: space-between; align-items: center; gap: 16px;
 border-top: 1px solid var(--nfx-rule);
 font-size: 13.5px;
 }
 .map-card__addr-text { color: var(--nfx-ink); line-height: 1.5; }
 .map-card__addr-text strong { color: var(--nfx-teal-deep); display: block; font-family: 'Newsreader', serif; font-size: 16px; font-weight: 500; margin-bottom: 2px; }
 .map-card__addr-link { font-size: 13px; color: var(--nfx-teal); font-weight: 600; white-space: nowrap; }
 .map-card__addr-link::after { content: " →"; }

 .tina-video { display: flex; flex-direction: column; gap: 14px; align-items: center; margin-top: 22px; }
 .tina-video__shell { position: relative; aspect-ratio: 2 / 3; width: 100%; max-width: 320px; border-radius: 24px; overflow: hidden; background: var(--nfx-teal-deep); box-shadow: var(--nfx-shadow-lg); cursor: pointer; }
.tina-video__player { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #000; }
 .tina-video__poster { position: absolute; inset: 0; }
 .tina-video__poster img { width: 100%; height: 100%; object-fit: cover; display: block; }
 .tina-video__poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(1, 52, 66, 0) 35%, rgba(1, 52, 66, 0.6) 80%, rgba(1, 52, 66, 0.92) 100%); }
 .tina-video__chip { position: absolute; top: 14px; left: 14px; background: rgba(250, 247, 241, 0.88); backdrop-filter: blur(8px); color: var(--nfx-teal-deep); padding: 5px 11px; border-radius: 999px; font-size: 10.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; z-index: 2; }
 .tina-video__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 68px; height: 68px; border-radius: 50%; background: var(--nfx-gold); border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 12px 36px rgba(0,0,0,0.4); transition: transform .2s ease; z-index: 3; }
 .tina-video__shell:hover .tina-video__play { transform: translate(-50%, -50%) scale(1.06); }
 .tina-video__caption { position: absolute; left: 18px; right: 18px; bottom: 18px; color: #fff; z-index: 2; display: flex; flex-direction: column; gap: 4px; }
 .tina-video__cap-eyebrow { font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.82; font-weight: 600; }
 .tina-video__cap-title { font-family: 'Newsreader', serif; font-style: italic; font-size: 16px; line-height: 1.35; }
 .tina-video__transcript { width: 100%; max-width: 320px; background: var(--nfx-paper-2); border-radius: 12px; border: 1px solid var(--nfx-rule-soft); overflow: hidden; }
 .tina-video__transcript summary { padding: 10px 16px; cursor: pointer; list-style: none; font-size: 12.5px; font-weight: 600; color: var(--nfx-teal-deep); display: flex; justify-content: space-between; align-items: center; }
 .tina-video__transcript summary::-webkit-details-marker { display: none; }
 .tina-video__transcript summary::after { content: "+"; font-size: 16px; color: var(--nfx-teal-mid); font-weight: 300; }
 .tina-video__transcript[open] summary::after { content: "−"; }
 .tina-video__transcript-body { padding: 0 16px 14px; font-size: 13px; color: var(--nfx-ink); line-height: 1.6; }
 .tina-video__transcript-body p { margin: 0 0 8px; }
 .tina-video__transcript-body p:last-child { margin-bottom: 0; }
 @media (max-width: 760px) {
 .trust-strip { padding: 28px 0; }
 .trust-strip__inner { padding: 0 22px; }
 .awards-strip { padding: 40px 0; }
 .awards-strip__inner { padding: 0 22px; }
 .map-card iframe { height: 220px; }
 }

 /* City character: optional image slot to the left */
  .city-intro__inner.has-image { grid-template-columns: 360px 1fr 1.3fr; gap: 56px; }
  .city-intro__image { aspect-ratio: 4 / 5; border-radius: 20px; overflow: hidden; box-shadow: var(--nfx-shadow); }
  .city-intro__image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
  @media (max-width: 980px) {
    .city-intro__inner.has-image { grid-template-columns: 1fr; }
    .city-intro__image { aspect-ratio: 16 / 10; max-width: 460px; margin: 0 auto; }
  }

  /* Elfsight widget container styling */
  .reviews__elfsight { min-height: 320px; }
  .reviews__noscript { color: var(--nfx-ink-soft); font-size: 14px; padding: 32px; text-align: center; }

  /* ===== SEO intro summary (above-the-fold keyword payload + in-page TOC) ===== */
 /* Offset for TOC anchor jumps so sections don't land under the sticky nav */
 #assessment-process, #your-clinician, #attend, #nhs-waits, #right-to-choose, #local-support, #faqs {
 scroll-margin-top: 120px;
 }
 .intro-summary { background: var(--nfx-paper); padding: 56px 0 48px; border-bottom: 1px solid var(--nfx-rule-soft); }
 .intro-summary__inner { max-width: 1100px; margin: 0 auto; padding: 0 56px; display: grid; grid-template-columns: 240px 1fr; gap: 64px; align-items: start; }
 .intro-summary__left { display: flex; flex-direction: column; gap: 10px; }
 .intro-summary__pretitle { font-family: 'Newsreader', serif; font-style: italic; color: var(--nfx-teal-mid); font-size: 20px; font-weight: 300; line-height: 1.3; }
 .intro-summary__lead { font-size: 18px; color: var(--nfx-ink); line-height: 1.7; max-width: 62ch; margin: 0 0 22px; }
 .intro-summary__lead strong { color: var(--nfx-teal-deep); font-weight: 600; }
 .intro-summary__toc { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 18px; border-top: 1px solid var(--nfx-rule); align-items: center; }
 .intro-summary__toc-label { font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; margin-right: 8px; }
 .intro-summary__toc a { padding: 7px 13px; background: var(--nfx-paper-2); border: 1px solid var(--nfx-rule-soft); border-radius: 999px; font-size: 12.5px; color: var(--nfx-teal-deep); font-weight: 500; transition: background .15s, border-color .15s; }
 .intro-summary__toc a:hover { background: var(--nfx-paper); border-color: var(--nfx-gold); }

 /* ===== Cambridge cross-link grid (internal SEO) ===== */
 .cx-band { background: var(--nfx-paper); padding: 80px 0 0; }
 .cx-band__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
 .cx-band__head { text-align: center; margin-bottom: 32px; }
 .cx-band__head h2 { font-size: 32px; line-height: 1.1; margin-bottom: 10px; }
 .cx-band__head p { font-size: 15px; color: var(--nfx-ink-soft); margin: 0 auto; max-width: 540px; }
 .cx-band__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
 .cx-link {
 background: var(--nfx-paper-2); border-radius: 16px; padding: 22px 24px;
 border: 1px solid var(--nfx-rule-soft); display: flex; flex-direction: column; gap: 6px;
 transition: transform .2s, box-shadow .2s, border-color .2s;
 }
 .cx-link:hover { transform: translateY(-2px); box-shadow: var(--nfx-shadow-sm); border-color: var(--nfx-gold); }
 .cx-link__label { font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; }
 .cx-link__name { font-family: 'Newsreader', serif; font-size: 19px; color: var(--nfx-teal-deep); font-weight: 500; line-height: 1.2; }
 .cx-link__detail { font-size: 12.5px; color: var(--nfx-ink-soft); margin-top: 4px; line-height: 1.45; }

 @media (max-width: 760px) {
 .intro-summary { padding: 36px 0 28px; }
 .intro-summary__inner { grid-template-columns: 1fr; gap: 18px; padding: 0 22px; }
 .intro-summary__pretitle { font-size: 16px; }
 .intro-summary__lead { font-size: 16px; }
 .cx-band__inner { padding: 0 22px; }
 .cx-band__grid { grid-template-columns: 1fr 1fr; }
 }

 /* ===== Cambridge v2 additions ===== */

 /* City character intro, sets local authenticity before any clinical content */
 .city-intro { background: var(--nfx-paper); padding: 70px 0 80px; }
 .city-intro__inner { max-width: 1100px; margin: 0 auto; padding: 0 56px; display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; align-items: start; }
 .city-intro__eyebrow-wrap { display: flex; flex-direction: column; gap: 8px; }
 .city-intro__pretitle { font-family: 'Newsreader', serif; font-style: italic; color: var(--nfx-teal-mid); font-size: 22px; font-weight: 300; line-height: 1.3; }
 .city-intro__title { font-family: 'Newsreader', serif; font-size: 44px; color: var(--nfx-teal); line-height: 1.05; letter-spacing: -0.015em; margin: 0; }
 .city-intro__title em { color: var(--nfx-teal-mid); font-style: italic; font-weight: 300; }
 .city-intro__body { font-size: 17px; color: var(--nfx-ink); line-height: 1.75; max-width: 60ch; }
 .city-intro__body p { margin: 0 0 16px; }
 .city-intro__body p:last-child { margin-bottom: 0; }
 .city-intro__hairline { display: inline-block; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--nfx-rule); font-size: 13.5px; color: var(--nfx-ink-soft); font-style: italic; max-width: 56ch; }

 /* Local research and further-reading link cluster inside the (enriched) loc-block */
 .loc-block__reading { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--nfx-rule); }
 .loc-block__reading ul { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 9px; }
 .loc-block__reading li { font-size: 13px; line-height: 1.45; padding-left: 14px; position: relative; }
 .loc-block__reading li::before { content: "\2192"; position: absolute; left: 0; color: var(--nfx-teal-mid); }
 .loc-block__reading a { color: var(--nfx-teal-deep); font-weight: 600; border-bottom: 1px solid var(--nfx-rule); }
 .loc-block__reading a:hover { border-color: var(--nfx-teal); }

 /* Route card emphasis: in-person is primary, online is secondary visually */
 .route-card--primary { background: var(--nfx-paper); border: 1.5px solid var(--nfx-teal-mid); position: relative; box-shadow: 0 12px 32px rgba(1, 72, 93, 0.08); }
 .route-card--primary::before { content: "Recommended for Cambridge"; position: absolute; top: -12px; left: 28px; background: var(--nfx-gold); color: var(--nfx-teal-deep); padding: 4px 14px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
 .route-card--secondary { background: var(--nfx-paper-2); }
 .route-card--secondary h3 { color: var(--nfx-teal-mid); }

 /* Sources cite block, reused for NHS / shared care / DSA panels */
 .nfx-sources { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--nfx-rule); }
 .nfx-sources__label { font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; margin-bottom: 10px; display: block; }
 .nfx-sources ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
 .nfx-sources li { font-size: 12.5px; color: var(--nfx-ink-soft); line-height: 1.45; padding-left: 14px; position: relative; }
 .nfx-sources li::before { content: "→"; position: absolute; left: 0; color: var(--nfx-teal-mid); }
 .nfx-sources a { color: var(--nfx-teal); border-bottom: 1px solid var(--nfx-rule); word-break: break-all; }
 .nfx-sources a:hover { border-color: var(--nfx-teal); }

 /* RTC / Shared care "explainer" cards, calmer than icb-card */
 .explain-band { background: var(--nfx-paper-2); padding: 100px 0; }
 .explain-band__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
 .explain-band__head { display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; margin-bottom: 48px; align-items: end; }
 .explain-band h2 { font-size: 40px; line-height: 1.08; }
 .explain-band__head p { font-size: 16px; color: var(--nfx-ink); line-height: 1.65; margin: 0; max-width: 60ch; }
 .explain-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
 .explain-card { background: var(--nfx-paper); border-radius: 20px; padding: 36px 36px 32px; border: 1px solid var(--nfx-rule-soft); display: flex; flex-direction: column; }
 .explain-card--accent { border-left: 3px solid var(--nfx-gold); }
 .explain-card__eyebrow { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nfx-teal-mid); font-weight: 600; margin-bottom: 12px; }
 .explain-card h3 { font-size: 24px; line-height: 1.18; margin-bottom: 14px; font-weight: 500; }
 .explain-card h3 em { color: var(--nfx-teal-mid); font-style: italic; font-weight: 300; }
 .explain-card__body { font-size: 15px; color: var(--nfx-ink); line-height: 1.65; }
 .explain-card__body p { margin: 0 0 12px; }
 .explain-card__body p:last-child { margin-bottom: 0; }
 .explain-card__body strong { color: var(--nfx-teal-deep); font-weight: 600; }
 .explain-card__pull { margin: 18px 0; padding: 16px 18px; background: var(--nfx-paper-2); border-radius: 12px; font-size: 14px; line-height: 1.55; color: var(--nfx-teal-deep); font-family: 'Newsreader', serif; font-style: italic; }

 /* Three-col local support, charities, LEA/SENCO, DSA/employers */
 .support-band { background: var(--nfx-paper); padding: 100px 0; }
 .support-band__inner { max-width: 1280px; margin: 0 auto; padding: 0 56px; }
 .support-band__head { max-width: 720px; margin-bottom: 48px; }
 .support-band h2 { font-size: 40px; line-height: 1.08; margin-bottom: 14px; }
 .support-band__head p { font-size: 16px; color: var(--nfx-ink); line-height: 1.65; margin: 0; }
 .support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
 .support-card { background: var(--nfx-paper-2); border-radius: 20px; padding: 32px 30px; border: 1px solid var(--nfx-rule-soft); display: flex; flex-direction: column; gap: 14px; }
 .support-card__icon { width: 40px; height: 40px; border-radius: 12px; background: var(--nfx-sky-wash); display: flex; align-items: center; justify-content: center; color: var(--nfx-teal-deep); margin-bottom: 4px; }
 .support-card__icon svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.5; }
 .support-card h3 { font-size: 21px; line-height: 1.2; font-weight: 500; }
 .support-card__intro { font-size: 14.5px; color: var(--nfx-ink); line-height: 1.6; margin: 0; }
 .support-card__list { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 10px; border-top: 1px solid var(--nfx-rule); padding-top: 14px; }
 .support-card__list li { font-size: 13.5px; line-height: 1.4; }
 .support-card__list a { color: var(--nfx-teal-deep); font-weight: 600; display: block; }
 .support-card__list a:hover { color: var(--nfx-teal); }
 .support-card__list span { display: block; color: var(--nfx-ink-soft); font-size: 12.5px; font-weight: 400; margin-top: 2px; line-height: 1.45; }

 /* Directions deep-link button under map */
 .map-card__actions { display: flex; gap: 8px; padding: 14px 22px 18px; border-top: 1px solid var(--nfx-rule); }
 .map-card__actions a { flex: 1; text-align: center; padding: 10px 12px; border-radius: 10px; font-size: 13px; font-weight: 600; }
 .map-card__actions a.is-primary { background: var(--nfx-teal-deep); color: #fff; }
 .map-card__actions a.is-primary:hover { background: var(--nfx-teal); }
 .map-card__actions a.is-ghost { background: var(--nfx-paper-2); color: var(--nfx-teal-deep); box-shadow: inset 0 0 0 1px var(--nfx-rule); }
 .map-card__actions a.is-ghost:hover { background: var(--nfx-paper); }

 /* Tina LinkedIn chip beside profile link */
 .clinician__links { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
 .clinician__linkedin { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--nfx-teal-deep); font-weight: 600; padding: 6px 14px 6px 10px; border-radius: 999px; background: var(--nfx-paper-2); border: 1px solid var(--nfx-rule); }
 .clinician__linkedin:hover { background: var(--nfx-paper); border-color: var(--nfx-teal-mid); }
 .clinician__linkedin svg { width: 18px; height: 18px; fill: currentColor; flex-shrink: 0; }

 @media (max-width: 760px) {
 .city-intro { padding: 48px 0 56px; }
 .city-intro__inner { grid-template-columns: 1fr; gap: 28px; padding: 0 22px; }
 .city-intro__title { font-size: 30px; }
 .city-intro__body { font-size: 15.5px; }
 .explain-band { padding: 56px 0; }
 .explain-band__inner { padding: 0 22px; }
 .explain-band__head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; }
 .explain-band h2 { font-size: 28px; }
 .explain-grid { grid-template-columns: 1fr; }
 .explain-card { padding: 28px 24px; }
 .support-band { padding: 56px 0; }
 .support-band__inner { padding: 0 22px; }
 .support-band h2 { font-size: 28px; }
 .support-grid { grid-template-columns: 1fr; }
 .route-card--primary::before { left: 20px; }
 }


/* Two stacked city/clinic images in the city-intro section, generator-driven */
.city-intro__images { display: flex; flex-direction: column; gap: 14px; }
.city-intro__images img { width: 100%; border-radius: 20px; box-shadow: var(--nfx-shadow); display: block; }
.city-intro__images img:nth-child(1) { aspect-ratio: 4 / 5; object-fit: cover; }
.city-intro__images img:nth-child(2) { aspect-ratio: 4 / 3; object-fit: cover; object-position: center top; }
@media (max-width: 980px) {
  .city-intro__images { flex-direction: row; gap: 12px; }
  .city-intro__images img { width: 50%; aspect-ratio: 4 / 3 !important; }
}


/* Library tabs (articles / pathway documents) */
.library__tabs { display: flex; gap: 4px; margin: 8px 0 28px; padding-bottom: 2px; border-bottom: 1px solid var(--nfx-rule); }
.library__tab { border: 0; background: transparent; padding: 12px 18px; font: inherit; font-size: 14.5px; font-weight: 500; color: var(--nfx-ink-soft); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color .15s, border-color .15s; }
.library__tab:hover { color: var(--nfx-teal); }
.library__tab.is-active { color: var(--nfx-teal-deep); border-bottom-color: var(--nfx-gold); }
.library__panel[hidden] { display: none; }

/* Pathway doc list inside library */
.library .pathway-docs__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.library .pathway-doc { display: grid; grid-template-columns: 48px 1fr auto; gap: 18px; align-items: center; background: var(--nfx-paper-2); border: 1px solid var(--nfx-rule-soft); border-radius: 14px; padding: 16px 22px; text-decoration: none; transition: background .15s, border-color .15s; }
.library .pathway-doc:hover { background: var(--nfx-paper); border-color: var(--nfx-gold); }
.library .pathway-doc__icon { width: 48px; display: flex; align-items: center; justify-content: center; }
.library .pathway-doc__body { display: flex; flex-direction: column; gap: 4px; }
.library .pathway-doc__title { font-family: 'Newsreader', serif; font-size: 18px; color: var(--nfx-teal-deep); font-weight: 500; }
.library .pathway-doc__meta { font-size: 12.5px; color: var(--nfx-ink-soft); }
.library .pathway-doc__action { font-size: 12px; color: var(--nfx-teal); font-weight: 600; letter-spacing: 0.04em; padding: 6px 14px; border-radius: 999px; background: var(--nfx-paper); border: 1px solid var(--nfx-rule); }
