/* V22: isolated overrides; retain legacy styles for untouched pages. */
.nutrition-v22 { --ns-ink: #123f30; --ns-muted: #52665d; --ns-gold: #a47c32; --ns-line: #dfe7df; --ns-soft: #f3f6ef; font-family: 'Cairo', sans-serif; }
.nutrition-v22 .ns-section, .nutrition-v22 #doctor { font-family: 'Cairo', sans-serif; scroll-margin-top: 7rem; }
.nutrition-v22 .ns-section { padding-block: clamp(3rem, 5vw, 5.5rem); color: var(--ns-ink); }
.nutrition-v22 .ns-section *, .nutrition-v22 #doctor * { box-sizing: border-box; }
.nutrition-v22 .ns-shell { width: min(1480px, calc(100% - 3rem)); margin-inline: auto; }
.nutrition-v22 .ns-section h2, .nutrition-v22 .ns-section h3, .nutrition-v22 .ns-section p, .nutrition-v22 .ns-section figure { margin: 0; font-family: inherit; }
.nutrition-v22 .ns-section h3 { font-size: 1.05rem; font-weight: 800; line-height: 1.7; color: var(--ns-ink); }
.nutrition-v22 .ns-section p { font-size: 1rem; line-height: 1.95; color: var(--ns-muted); }
.nutrition-v22 .ns-section .ns-title { font-size: clamp(1.9rem, 3.25vw, 3.2rem); font-weight: 800; line-height: 1.55; color: var(--ns-ink); text-wrap: balance; margin-block: .7rem 1rem; overflow-wrap: anywhere; }
.nutrition-v22 .ns-eyebrow { display: inline-flex; align-items: center; gap: .6rem; color: #876324; font-size: .9375rem; font-weight: 700; }
.nutrition-v22 .ns-section-head { text-align: center; max-width: 1000px; margin: 0 auto 2.5rem; }
.nutrition-v22 .ns-section-head.ns-align-start { max-width: none; text-align: start; }
.nutrition-v22 .ns-lead { max-width: 75ch; }
.nutrition-v22 .ns-section-head:not(.ns-align-start) .ns-lead { margin-inline: auto; }
.nutrition-v22 .ns-divider { display: flex; gap: .75rem; align-items: center; justify-content: center; margin-top: 1.4rem; color: var(--ns-gold); }
.nutrition-v22 .ns-divider::before, .nutrition-v22 .ns-divider::after { content: ''; width: 4rem; height: 1px; background: #d9c59c; }
.nutrition-v22 .ns-icon { display: inline-grid; place-items: center; width: 4.2rem; height: 4.2rem; flex: 0 0 auto; background: #eff4e9; color: var(--ns-ink); border: 1px solid #e7eddf; border-radius: 50%; }
.nutrition-v22 .ns-section .ui-icon { flex-shrink: 0; }
.nutrition-v22 .ns-section a { text-decoration: none; }
.nutrition-v22 .ns-section a:focus-visible { outline: 3px solid #967329; outline-offset: 5px; }
.nutrition-v22 .ns-actions { display: flex; align-items: stretch; flex-wrap: wrap; gap: 1rem; margin-top: 1.8rem; }
.nutrition-v22 .ns-button { display: inline-flex; justify-content: center; align-items: center; gap: .8rem; min-height: 3.4rem; padding: .85rem 1.6rem; border: 1px solid transparent; border-radius: 1rem; font-size: 1rem; font-weight: 800; line-height: 1.7; text-align: center; transition: transform .18s, box-shadow .18s; }
.nutrition-v22 .ns-primary { color: #fff; background: var(--primary, #124b36); box-shadow: 0 8px 22px #153d3015; }
.nutrition-v22 .ns-outline { color: var(--ns-ink); background: #fff; border-color: #c8b47e; }
.nutrition-v22 .ns-centered-actions { justify-content: center; }
.nutrition-v22 .ns-section .ns-note { font-size: .875rem; display: flex; gap: .5rem; align-items: center; margin-top: 1rem; }
html[dir='rtl'] .nutrition-v22 .ns-arrow, html[dir='rtl'] .nutrition-v22 .ns-card-link .ui-icon { transform: rotate(180deg); }

/* About: framed media, readable clinical profile, actual recorded facts. */
.nutrition-v22 .ns-about { background: #f3f6f0; }
.nutrition-v22 .ns-about-surface { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(2rem, 4vw, 4.5rem); padding: clamp(1.3rem, 3vw, 3rem); border-radius: 2.5rem; border: 1px solid #e4eae1; background: #fff; box-shadow: 0 20px 60px #173b2910; }
.nutrition-v22 .ns-about-art { position: relative; padding: 1.4rem; min-width: 0; }
.nutrition-v22 .ns-about-frame { position: relative; width: 100%; aspect-ratio: .9; border: 1px solid #bd974b; padding: .7rem; border-radius: 3rem 3rem 2rem 2rem; box-shadow: 0 12px 34px #1c452315; background: linear-gradient(150deg, #fff, #f4f5ec); overflow: hidden; }
.nutrition-v22 .ns-about-frame::after { content: ''; position: absolute; inset: .4rem; border: 1px solid #e5d8b8; border-radius: inherit; pointer-events: none; }
.nutrition-v22 .ns-about-frame img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: var(--image-x, 50%) var(--image-y, 35%); border-radius: 2.4rem; }
.nutrition-v22 .ns-about-frame[data-fit='cover'] img { object-fit: cover; }
.nutrition-v22 .ns-art-badges { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-top: 1rem; }
.nutrition-v22 .ns-art-badges span { display: flex; gap: .6rem; align-items: center; justify-content: center; text-align: center; font-size: .875rem; font-weight: 700; padding: 1rem .7rem; background: #fff; border: 1px solid var(--ns-line); border-radius: 1.2rem; box-shadow: 0 6px 18px #143b2910; }
.nutrition-v22 .ns-biography { line-height: 2; color: var(--ns-muted); font-size: 1rem; margin-top: 1.1rem; overflow-wrap: anywhere; }
.nutrition-v22 .ns-profile-panels { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1rem; margin-top: 1.5rem; }
.nutrition-v22 .ns-profile-panels article { border: 1px solid var(--ns-line); border-radius: 1.2rem; padding: 1.15rem; box-shadow: 0 5px 14px #153d300a; }
.nutrition-v22 .ns-profile-panels h3 { display: flex; align-items: center; gap: .6rem; font-size: .9375rem; }
.nutrition-v22 .ns-profile-panels ul { padding: 0; margin: 1rem 0 0; list-style: none; }
.nutrition-v22 .ns-profile-panels li { display: flex; gap: .5rem; align-items: baseline; line-height: 1.9; font-size: .875rem; color: var(--ns-muted); margin-block: .35rem; }
.nutrition-v22 .ns-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.nutrition-v22 .ns-tags span { padding: .4rem .7rem; border-radius: .7rem; background: #edf4ed; color: #22553a; font-size: .875rem; }
.nutrition-v22 .ns-profile-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: .75rem; margin-top: 1.2rem; }
.nutrition-v22 .ns-profile-facts > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; text-align: center; padding: 1rem .6rem; border: 1px solid var(--ns-line); border-radius: 1rem; font-size: .875rem; }
.nutrition-v22 .ns-profile-facts strong { font-size: 1.6rem; }

/* Collections wrap naturally; no fixed heights or hidden CMS items. */
.nutrition-v22 .ns-expertise { background: linear-gradient(140deg, #f6f7f0, #fff 45%, #edf2e9); }
.nutrition-v22 .ns-expertise-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.nutrition-v22 .ns-expertise-card { display: flex; align-items: center; gap: 1rem; position: relative; min-width: 0; padding: 2rem 1.25rem 1.4rem; background: #fff; border: 1px solid #e5e9e0; border-radius: 1.25rem; box-shadow: 0 8px 24px #233b2608; transition: transform .2s, box-shadow .2s; }
.nutrition-v22 .ns-expertise-card .ns-number { position: absolute; inset-inline-end: 1rem; top: .7rem; color: #947025; font-size: .875rem; font-weight: 700; }
.nutrition-v22 .ns-expertise-card h3 { font-size: 1rem; }
.nutrition-v22 .ns-expertise-card p { font-size: .875rem; line-height: 1.85; margin-top: .5rem; }
.nutrition-v22 .ns-audience { background: #f5f8f4; }
.nutrition-v22 .ns-audience-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.nutrition-v22 .ns-audience-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 1.8rem; border: 1px solid var(--ns-line); border-radius: 1.7rem; background: #fff; box-shadow: 0 10px 28px #163d3009; transition: transform .2s, box-shadow .2s; }
.nutrition-v22 .ns-tab-number { position: absolute; inset-inline-end: 0; top: 0; background: #124b36; color: #fff; font-size: 1rem; padding: .65rem 1rem; border-radius: 0 1.2rem 0 1.2rem; }
.nutrition-v22 .ns-audience-card .ns-icon { margin-bottom: 1.3rem; }
.nutrition-v22 .ns-audience-card p { margin-top: .7rem; font-size: .9375rem; }
.nutrition-v22 .ns-card-link { display: grid; place-items: center; align-self: flex-end; width: 44px; height: 44px; color: #174632; background: #e8f1dc; border-radius: 50%; margin-top: auto; translate: 0 .6rem; }
.nutrition-v22 .ns-audience-card p { margin-bottom: 1rem; }

/* Services: illustrated benefits, followed by the unchanged booking catalogue. */
.nutrition-v22 .ns-services { background: #fff; }
.nutrition-v22 .ns-care-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: 2rem; align-items: center; }
.nutrition-v22 .ns-care-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.nutrition-v22 .ns-care-card { display: flex; align-items: flex-start; gap: .85rem; padding: 1.2rem; border: 1px solid var(--ns-line); border-radius: 1.2rem; background: #fff; }
.nutrition-v22 .ns-care-card .ns-icon { width: 3.25rem; height: 3.25rem; }
.nutrition-v22 .ns-care-card h3 { font-size: .9375rem; }
.nutrition-v22 .ns-care-card p { font-size: .875rem; margin-top: .45rem; }
.nutrition-v22 .ns-care-art { overflow: hidden; border-radius: 3rem 1rem 3rem 1rem; }
.nutrition-v22 .ns-care-art img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: var(--ns-image-fit, cover); object-position: var(--ns-image-x, 50%) var(--ns-image-y, 50%); }
.nutrition-v22 .ns-services .ns-services-subtitle { margin-block: 3rem 1.5rem; font-size: 1.45rem; }
.nutrition-v22 .ns-services .v17-services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nutrition-v22 .ns-services .v17-service-card { min-width: 0; border-radius: 1.4rem; }
.nutrition-v22 .ns-services .v17-service-card h3 { margin-bottom: .6rem; }
.nutrition-v22 .ns-services .v17-service-meta { flex-wrap: wrap; gap: .7rem; }
.nutrition-v22 .ns-services .v17-service-content > a { color: #144d35; min-height: 44px; }

/* Hero: retain the entire image and put the invitation below it, not over the doctor. */
.nutrition-v22 #doctor.nd-arch-design .nd-shell { width: min(1600px, calc(100% - 3rem)); }
.nutrition-v22 #doctor.nd-arch-design .nd-hero-grid { gap: clamp(1.5rem, 3vw, 3.5rem); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.nutrition-v22 #doctor.nd-arch-design .nd-copy { min-width: 0; max-width: 100%; text-align: start; }
.nutrition-v22 #doctor.nd-arch-design .nd-name { font-size: clamp(2.1rem, 3.8vw, 4rem); overflow-wrap: anywhere; }
.nutrition-v22 #doctor.nd-arch-design .nd-specialty { font-size: clamp(1.35rem, 2vw, 2rem); }
.nutrition-v22 #doctor.nd-arch-design .nd-credentials, .nutrition-v22 #doctor.nd-arch-design .nd-description { font-size: 1rem; line-height: 1.95; }
.nutrition-v22 #doctor.nd-arch-design .nd-value-title { font-size: clamp(1.1rem, 1.5vw, 1.5rem); }
.nutrition-v22 #doctor.nd-arch-design .nd-arch-scene { margin: 0; min-width: 0; padding: 0; transform: none; }
.nutrition-v22 #doctor.nd-arch-design .nd-arch-frame { aspect-ratio: 1.5; border: 1px solid #d8c69a; border-radius: 2.5rem; }
.nutrition-v22 #doctor.nd-arch-design .nd-arch-image { object-fit: contain; }
.nutrition-v22 #doctor.nd-arch-design .nd-arch-frame[data-fit='cover'] .nd-arch-image { object-fit: cover; }
.nutrition-v22 #doctor.nd-arch-design .nd-booking-card { position: relative; inset: auto; width: 100%; margin: 1rem 0 0; padding: 1rem 1.2rem; display: grid; grid-template-columns: 1fr auto; column-gap: 1rem; border-radius: 1.2rem; box-shadow: 0 8px 20px #143e300d; }
.nutrition-v22 #doctor.nd-arch-design .nd-booking-symbol { display: none; }
.nutrition-v22 #doctor.nd-arch-design .nd-booking-card > b { padding: 0; }
.nutrition-v22 #doctor.nd-arch-design .nd-booking-card > p { grid-column: 1; }
.nutrition-v22 #doctor.nd-arch-design .nd-booking-detail { display: none; }
.nutrition-v22 #doctor.nd-arch-design .nd-booking-card > a { grid-column: 2; grid-row: 1 / span 2; align-self: center; padding-inline: 1rem; min-height: 44px; }
.nutrition-v22 #doctor.nd-arch-design .nd-botanical { opacity: .12; pointer-events: none; max-width: 8%; }
.nutrition-v22 #doctor.nd-arch-design .nd-inline-stats { margin-top: 1.3rem; }
.nutrition-v22 #doctor.nd-arch-design .nd-stars { direction: ltr; position: relative; display: inline-block; width: max-content; font-family: Arial, sans-serif; letter-spacing: 0; line-height: 1; }
.nutrition-v22 #doctor.nd-arch-design .nd-stars > span { white-space: nowrap; }
.nutrition-v22 #doctor.nd-arch-design .nd-stars .nd-stars-fill { position: absolute; left: 0; right: auto; top: 0; overflow: hidden; }

/* Header layout bounds every column, including long translated navigation. */
.nutrition-v22 #nd-public-header.nd-header .nav-wrap { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.25rem; width: min(1720px, calc(100% - 3rem)); }
.nutrition-v22 #nd-public-header.nd-header .desktop-nav { display: flex; min-width: 0; width: 100%; overflow-x: auto; gap: 1.1rem; padding: .9rem .3rem; scrollbar-width: thin; }
.nutrition-v22 #nd-public-header.nd-header .nav-actions { display: flex; flex-shrink: 0; width: auto; }
.nutrition-v22 #nd-public-header.nd-header .brand { min-width: 0; }
.nutrition-v22 #nd-public-header.nd-header .brand-copy { min-width: 0; }
.nutrition-v22 #nd-public-header.nd-header .desktop-login, .nutrition-v22 #nd-public-header.nd-header .desktop-book { display: inline-flex; }
.nutrition-v22 #nd-public-header.nd-header .mobile-menu-toggle { display: none; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .nutrition-v22 .ns-expertise-card:hover, .nutrition-v22 .ns-audience-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px #153d3012; }
    .nutrition-v22 .ns-button:hover { transform: translateY(-2px); }
}
@media (max-width: 1350px) {
    .nutrition-v22 .ns-expertise-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nutrition-v22 .ns-care-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nutrition-v22 .ns-audience-grid { gap: 1rem; }
    .nutrition-v22 .ns-audience-card { padding: 1.4rem; }
    .nutrition-v22 .ns-profile-panels { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
    .nutrition-v22 #nd-public-header.nd-header .nav-wrap { grid-template-columns: minmax(0, 1fr) auto; }
    .nutrition-v22 #nd-public-header.nd-header .desktop-nav, .nutrition-v22 #nd-public-header.nd-header .desktop-login, .nutrition-v22 #nd-public-header.nd-header .desktop-book, .nutrition-v22 #nd-public-header.nd-header .desktop-language { display: none; }
    .nutrition-v22 #nd-public-header.nd-header .mobile-menu-toggle { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; }
    .nutrition-v22 .ns-about-surface { gap: 1.5rem; }
    .nutrition-v22 .ns-expertise-grid, .nutrition-v22 .ns-audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nutrition-v22 .ns-care-layout { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
    .nutrition-v22 .ns-care-card { flex-direction: column; }
}
@media (max-width: 900px) {
    .nutrition-v22 #doctor.nd-arch-design .nd-hero-grid, .nutrition-v22 .ns-about-surface, .nutrition-v22 .ns-care-layout { grid-template-columns: minmax(0, 1fr); }
    .nutrition-v22 .ns-about-art { max-width: 560px; width: 100%; margin-inline: auto; order: 2; }
    .nutrition-v22 .ns-about-frame { aspect-ratio: 1; }
    .nutrition-v22 .ns-profile-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nutrition-v22 .ns-care-art { max-width: 480px; margin-inline: auto; width: 100%; }
    .nutrition-v22 .ns-care-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nutrition-v22 .ns-services .v17-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .nutrition-v22 .ns-shell, .nutrition-v22 #doctor.nd-arch-design .nd-shell { width: calc(100% - 2rem); }
    .nutrition-v22 .ns-about-surface { padding: 1.25rem; border-radius: 1.5rem; }
    .nutrition-v22 .ns-expertise-grid, .nutrition-v22 .ns-audience-grid, .nutrition-v22 .ns-profile-panels, .nutrition-v22 .ns-services .v17-services-grid { grid-template-columns: minmax(0, 1fr); }
    .nutrition-v22 .ns-care-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nutrition-v22 .ns-care-card { padding: 1rem; }
    .nutrition-v22 .ns-about-art { padding: 0; }
    .nutrition-v22 .ns-actions > a { flex: 1 1 100%; }
    .nutrition-v22 #doctor.nd-arch-design .nd-booking-card { grid-template-columns: 1fr; }
    .nutrition-v22 #doctor.nd-arch-design .nd-booking-card > a { grid-column: 1; grid-row: auto; margin-top: .8rem; }
    .nutrition-v22 #doctor.nd-arch-design .nd-arch-frame { border-radius: 1.5rem; }
    .nutrition-v22 #nd-public-header.nd-header .nav-wrap { width: calc(100% - 2rem); }
}
@media (max-width: 380px) {
    .nutrition-v22 .ns-care-grid, .nutrition-v22 .ns-art-badges { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .nutrition-v22 .ns-section *, .nutrition-v22 #doctor * { animation: none !important; transition: none !important; }
}

/* Additional approved sections: editorial previews and truthful public content. */
.nutrition-v22 .ns-editorial-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4.5rem); align-items: center; }
.nutrition-v22 .ns-plan, .nutrition-v22 .ns-portal, .nutrition-v22 .ns-community { background: linear-gradient(140deg, #fff, #f4f6f1); }
.nutrition-v22 .ns-check-list { display: grid; gap: 1rem; list-style: none; padding: 0; margin: 2rem 0; }
.nutrition-v22 .ns-check-list li { display: flex; gap: 1rem; align-items: center; border: 1px solid var(--ns-line); background: #fff; border-radius: 1.1rem; padding: 1.15rem; line-height: 1.9; font-weight: 700; }
.nutrition-v22 .ns-plan-preview, .nutrition-v22 .ns-portal-preview { background: #fff; border: 1px solid #d8c8a6; border-radius: 2rem; padding: clamp(1.3rem, 3vw, 2.5rem); box-shadow: 0 20px 48px #163a2610; min-width: 0; }
.nutrition-v22 .ns-section .ns-demo-label { font-size: .875rem; color: #726032; padding: .5rem .8rem; background: #f7f3e8; border-radius: .75rem; margin-bottom: 1.3rem; }
.nutrition-v22 .ns-energy { width: 13rem; height: 10rem; margin: 1.5rem auto; border: 6px solid #e8eee3; border-block-start-color: var(--primary, #13462f); border-radius: 50% 50% 1rem 1rem; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.nutrition-v22 .ns-energy strong { font-size: 3rem; line-height: 1.3; }
.nutrition-v22 .ns-macros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.nutrition-v22 .ns-macros div { display: flex; flex-direction: column; gap: .5rem; padding: 1rem .7rem; border: 1px solid var(--ns-line); border-radius: 1rem; text-align: center; }
.nutrition-v22 .ns-macros strong { font-size: 1.5rem; }
.nutrition-v22 .ns-macros span { font-size: .875rem; overflow-wrap: anywhere; }
.nutrition-v22 .ns-section .ns-meal-heading { margin-block: 1.8rem 1rem; }
.nutrition-v22 .ns-meal-row { display: grid; grid-template-columns: 4.5rem minmax(2rem, 1fr) 3rem 5rem; gap: .7rem; align-items: center; margin-block: 1rem; font-size: .875rem; }
.nutrition-v22 .ns-meal-row meter { width: 100%; accent-color: #276444; height: .8rem; }
.nutrition-v22 .ns-portal-preview > header { display: flex; gap: .75rem; align-items: center; margin-bottom: 1.3rem; }
.nutrition-v22 .ns-portal-preview > header > :last-child { margin-inline-start: auto; }
.nutrition-v22 .ns-portal-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block: 1.5rem; border: 1px solid var(--ns-line); border-radius: 1rem; }
.nutrition-v22 .ns-portal-metrics > div { display: grid; justify-items: center; gap: .5rem; padding: 1.2rem .5rem; text-align: center; font-size: .875rem; }
.nutrition-v22 .ns-portal-metrics > div + div { border-inline-start: 1px solid var(--ns-line); }
.nutrition-v22 .ns-portal-metrics strong { font-size: 1.8rem; }
.nutrition-v22 .ns-portal-lock { display: flex; gap: .8rem; align-items: center; background: #f3f6ed; padding: 1rem; border-radius: 1rem; }
.nutrition-v22 .ns-portal-shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.25rem; }
.nutrition-v22 .ns-portal-shortcuts a { display: flex; gap: .7rem; align-items: center; justify-content: center; border: 1px solid var(--ns-line); padding: 1.3rem .6rem; border-radius: 1rem; color: var(--ns-ink); }
.nutrition-v22 .ns-journey { background: #f5f7f1; }
.nutrition-v22 .ns-steps { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; padding: 0; list-style: none; }
.nutrition-v22 .ns-steps li { position: relative; padding-top: 4.8rem; min-width: 0; }
.nutrition-v22 .ns-step-number { position: absolute; top: 0; left: calc(50% - 1.8rem); display: grid; place-items: center; width: 3.6rem; height: 3.6rem; border: 1px solid #adb88d; border-radius: 50%; background: #fff; font-size: 1.4rem; font-weight: 800; z-index: 1; }
.nutrition-v22 .ns-steps li::before { content: ''; position: absolute; top: 1.8rem; width: calc(100% + 1rem); inset-inline-start: 50%; height: 1px; background: #cbd5b9; }
.nutrition-v22 .ns-steps li:last-child::before { display: none; }
.nutrition-v22 .ns-steps article { height: 100%; display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 1.5rem 1rem; text-align: center; background: #fff; border: 1px solid var(--ns-line); border-radius: 1.2rem; box-shadow: 0 7px 20px #1b3d2908; }
.nutrition-v22 .ns-steps article p { font-size: .9375rem; }
.nutrition-v22 .ns-review-summary { display: flex; justify-content: center; width: fit-content; max-width: 100%; flex-wrap: wrap; margin: 0 auto 2rem; padding: 1.2rem; border: 1px solid #decead; border-radius: 1.5rem; background: #fff; box-shadow: 0 10px 30px #21432e0c; }
.nutrition-v22 .ns-review-summary > div { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1rem 2.3rem; gap: .5rem; }
.nutrition-v22 .ns-review-summary strong { font-size: 2rem; }
.nutrition-v22 .ns-review-summary > div:first-child strong { font-size: 3rem; line-height: 1.2; }
.nutrition-v22 .ns-review-summary span { font-size: .875rem; }
.nutrition-v22 .ns-review-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }
.nutrition-v22 .ns-review-card { border: 1px solid var(--ns-line); border-radius: 1.6rem; padding: 1.5rem; background: #fff; box-shadow: 0 10px 30px #173e280a; display: flex; flex-direction: column; min-width: 0; }
.nutrition-v22 .ns-review-card header { display: flex; gap: .8rem; align-items: center; }
.nutrition-v22 .ns-review-avatar { display: grid; place-items: center; flex-shrink: 0; width: 3.3rem; height: 3.3rem; border-radius: 50%; background: #f3f5ee; border: 1px solid #e6decd; font-size: 1.4rem; font-weight: 800; }
.nutrition-v22 .ns-review-stars { color: #967022; font-family: Arial, sans-serif; direction: ltr; display: inline-block; letter-spacing: .15rem; }
.nutrition-v22 .ns-review-card blockquote { margin: 1.5rem 0; color: var(--ns-muted); line-height: 2; font-size: 1rem; overflow-wrap: anywhere; }
.nutrition-v22 .ns-review-card footer { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--ns-line); display: flex; justify-content: space-between; gap: .7rem; font-size: .875rem; }
.nutrition-v22 .ns-empty { grid-column: 1 / -1; text-align: center; border: 1px dashed var(--ns-line); border-radius: 1.5rem; padding: 2.5rem; }
.nutrition-v22 .ns-community-invite { padding: 2.5rem; text-align: center; border-radius: 2rem; background: #fff; border: 1px solid var(--ns-line); box-shadow: 0 15px 36px #193b2610; }
.nutrition-v22 .ns-community-invite h3 { margin-block: 1.3rem .8rem; }
.nutrition-v22 .ns-community-invite .ns-button { margin-top: 1.4rem; }
.nutrition-v22 .ns-community .ns-services-subtitle { margin-block: 2rem 1.3rem; }
.nutrition-v22 .ns-category-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 1rem; }
.nutrition-v22 .ns-category-card { padding: 1.3rem; color: var(--ns-ink); border: 1px solid var(--ns-line); border-radius: 1.3rem; background: #fff; }
.nutrition-v22 .ns-category-card h3 { margin-block: .6rem; }
.nutrition-v22 .ns-category-card p { font-size: .875rem; }
.nutrition-v22 .ns-category-card > span { display: inline-block; font-size: .875rem; background: #edf4e9; border-radius: 1rem; padding: .2rem .6rem; margin-top: .8rem; }
.nutrition-v22 .ns-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.2rem; margin-top: 2rem; }
.nutrition-v22 .ns-topic { border: 1px solid var(--ns-line); border-radius: 1.2rem; padding: 1.3rem; background: #fff; color: var(--ns-ink); }
.nutrition-v22 .ns-topic h3 { margin-block: .8rem; }
.nutrition-v22 .ns-topic > span, .nutrition-v22 .ns-topic footer { font-size: .875rem; }
.nutrition-v22 .ns-topic footer { display: flex; justify-content: space-between; gap: .7rem; margin-top: 1rem; }
.nutrition-v22 .ns-faq-surface { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 3rem; padding: 2.5rem; border: 1px solid #e7e6dc; border-radius: 2rem; background: #fbfcf9; }
.nutrition-v22 .ns-faq-surface .ns-button { margin-top: 1.4rem; }
.nutrition-v22 .ns-faq-list details { border: 1px solid #dce3d8; border-radius: 1rem; background: #fff; margin-bottom: .75rem; }
.nutrition-v22 .ns-faq-list summary { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.2rem; cursor: pointer; font-size: 1rem; font-weight: 700; list-style: none; }
.nutrition-v22 .ns-faq-list summary::-webkit-details-marker { display: none; }
.nutrition-v22 .ns-faq-list details[open] summary > span { transform: rotate(45deg); }
.nutrition-v22 .ns-faq-list details p { padding: 0 1.2rem 1.2rem; }
.nutrition-v22 .v17-clinic { padding-block: 2rem; }
.nutrition-v22 .v17-clinic-card { border-radius: 2rem; background: #0e3f30; }
.nutrition-v22 .v17-clinic-card h2, .nutrition-v22 .v17-clinic-card h3, .nutrition-v22 .v17-contact-grid b, .nutrition-v22 .v17-contact-grid a { color: #fff; }
.nutrition-v22 .v17-clinic-card p, .nutrition-v22 .v17-clinic-card small { color: #d8e8db; }
.nutrition-v22 .v17-final { padding-block: 1.5rem 2.5rem; }
.nutrition-v22 .v17-final-card { border: 1px solid #e5e8de; background: #f2f5ec; color: #123f30; border-radius: 1.6rem; }
.nutrition-v22 .v17-final-card h2, .nutrition-v22 .v17-final-card p, .nutrition-v22 .v17-final-card a { color: #123f30; }
.nutrition-v22 .v17-final-card .v17-btn-light { background: var(--primary, #13462f); color: #fff; }
.nutrition-v22 .site-footer { background: #f4f6ef; color: #163d30; border-top: 1px solid #e0e5dc; }
.nutrition-v22 .site-footer :is(p, a, b, small, .brand-copy b, .brand-copy small) { color: #385849; }
.nutrition-v22 .site-footer .footer-cta-column { border: 1px solid #dce4d8; background: #fff; border-radius: 1.3rem; }
.nutrition-v22 .site-footer .footer-cta-column h3 { color: #163d30; }
.nutrition-v22 .site-footer .footer-bottom { border-color: #dce4d8; }
.nutrition-v22 #doctor.nd-arch-design .nd-arch-frame { aspect-ratio: 4 / 5; max-height: 740px; border-radius: 48% 48% 1.8rem 1.8rem; }
.nutrition-v22 #doctor.nd-arch-design .nd-arch-scene { width: min(100%, 590px); margin-inline: auto; }
.nutrition-v22 #doctor.nd-arch-design .nd-arch-image { object-fit: cover; }
.nutrition-v22 .ns-audience-card { align-items: center; text-align: center; }
.nutrition-v22 .ns-tab-number { background: #f6f7f1; color: #947025; }
.nutrition-v22 .ns-audience-card .ns-card-link { align-self: center; }
.nutrition-v22 .ns-audience .ns-section-head { text-align: center; }
.nutrition-v22 .ns-audience .ns-lead { margin-inline: auto; }
.nutrition-v22 .ns-custom-visual { max-width: 640px; margin-block: 0 2rem; }
.nutrition-v22 .ns-custom-visual img { display: block; width: 100%; max-height: 420px; border-radius: 1.5rem; }
.nutrition-v22 .ns-eyebrow { color: var(--ns-gold, #947025); }
.nutrition-v22 .ns-outline { border-color: var(--ns-gold, #b8a16a); }
.nutrition-v22 #doctor .nd-button-primary { background: var(--primary, #124b36); }
.nutrition-v22 #doctor .nd-value-title { color: var(--ns-gold, #947025); }
.nutrition-v22 [data-ns-items='off'] :is(.ns-profile-panels, .ns-profile-facts, .ns-review-grid, .ns-faq-list, .v17-services-grid) { display: none; }
.nutrition-v22 [data-ns-items='off'] .ns-faq-surface { grid-template-columns: 1fr; }
.nutrition-v22 [data-ns-items='off'] :is(.v17-trust-grid, .v17-social-links) { display: none; }
.nutrition-v22 .v17-trust { padding-block: 1.3rem; }
.nutrition-v22 .v17-trust-grid { margin-top: 0; }
.nutrition-v22 .v17-social-card { border-radius: 1.7rem; background: #f4f7ef; border: 1px solid #dfe7d9; }
.nutrition-v22 .v17-social-card h2, .nutrition-v22 .v17-social-card p, .nutrition-v22 .v17-social-links a { color: #194a35; }
.nutrition-v22 [data-ns-visual='off'] :is(.nd-arch-scene, .ns-about-art, .ns-care-art, .ns-custom-visual, .ns-plan-preview, .ns-portal-preview, .v17-clinic-media) { display: none; }
.nutrition-v22 [data-ns-visual='off'] :is(.nd-hero-grid, .ns-about-surface, .ns-care-layout, .ns-editorial-grid) { grid-template-columns: minmax(0, 1fr) !important; }
.nutrition-v22 [data-ns-items='off'] :is(.nd-features, .ns-expertise-grid, .ns-audience-grid, .ns-care-grid, .ns-check-list, .ns-steps, .ns-category-grid, .ns-topic-grid) { display: none; }
.nutrition-v22 [data-ns-items='off'] .ns-care-layout { grid-template-columns: minmax(0, 1fr); }
.nutrition-v22 [data-ns-items='off'] .ns-care-art { max-width: 480px; margin-inline: auto; }
.nutrition-v22 [data-ns-items='off'] .nd-bottom-row { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1200px) {
    .nutrition-v22 #nd-public-header.nd-header .nav-wrap { grid-template-columns: minmax(0, 1fr) auto; }
    .nutrition-v22 .ns-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nutrition-v22 .ns-steps li:nth-child(3n)::before { display: none; }
    .nutrition-v22 .ns-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .nutrition-v22 .ns-editorial-grid, .nutrition-v22 .ns-faq-surface { grid-template-columns: minmax(0, 1fr); }
    .nutrition-v22 .ns-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .nutrition-v22 .ns-steps { grid-template-columns: minmax(0, 1fr); }
    .nutrition-v22 .ns-steps li::before { display: none; }
    .nutrition-v22 .ns-review-grid, .nutrition-v22 .ns-topic-grid { grid-template-columns: minmax(0, 1fr); }
    .nutrition-v22 .ns-faq-surface { padding: 1.2rem; gap: 1.5rem; }
    .nutrition-v22 .ns-meal-row { grid-template-columns: 4rem 1fr 3rem; }
    .nutrition-v22 .ns-meal-row bdi:last-child { grid-column: 2 / -1; }
    .nutrition-v22 .ns-review-summary > div { padding: .8rem; }
    .nutrition-v22 #doctor.nd-arch-design .nd-arch-frame { max-height: none; }
}

/* V22 visual system — bright clinical editorial, deep green and restrained gold. */
.nutrition-v22 {
    --ns-ink: #073d2a;
    --ns-muted: #5c6b65;
    --ns-gold: #b78932;
    --ns-line: #dfe7e0;
    --ns-soft: #f4f7f1;
    --ns-surface: #ffffff;
    --ns-shadow: 0 24px 70px rgba(13, 57, 39, .08);
    background: #f7f9f6;
    color: var(--ns-ink);
}
.nutrition-v22 .ns-section,
.nutrition-v22 #doctor {
    position: relative;
    isolation: isolate;
    width: min(1740px, calc(100% - 2rem));
    margin: 1.1rem auto;
    border: 1px solid rgba(214, 225, 216, .92);
    border-radius: clamp(1.6rem, 3vw, 3.4rem);
    overflow: clip;
    background-color: var(--section-bg, #fff);
    box-shadow: 0 12px 40px rgba(20, 61, 43, .035);
}
.nutrition-v22 .ns-section::after,
.nutrition-v22 #doctor::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: min(34vw, 430px);
    aspect-ratio: 1;
    inset-inline-end: -8%;
    inset-block-end: -28%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(164, 190, 139, .14), rgba(164, 190, 139, 0) 70%);
    pointer-events: none;
}
.nutrition-v22 .ns-shell,
.nutrition-v22 #doctor.nd-arch-design .nd-shell {
    width: min(1540px, calc(100% - clamp(2rem, 5vw, 6rem)));
}
.nutrition-v22 .ns-section {
    padding-block: clamp(4rem, 6.5vw, 7rem);
}
.nutrition-v22 .ns-section .ns-title {
    font-size: clamp(2rem, 3.35vw, 3.65rem);
    line-height: 1.35;
    letter-spacing: -.035em;
    margin-block: .85rem 1rem;
}
.nutrition-v22 .ns-section h3 {
    line-height: 1.6;
}
.nutrition-v22 .ns-section p,
.nutrition-v22 #doctor p {
    font-size: clamp(1rem, 1.05vw, 1.075rem);
    line-height: 2;
}
.nutrition-v22 .ns-eyebrow,
.nutrition-v22 #doctor .nd-eyebrow {
    width: fit-content;
    min-height: 2.7rem;
    padding: .55rem 1rem;
    border: 1px solid rgba(185, 139, 50, .18);
    border-radius: 999px;
    background: rgba(248, 244, 234, .86);
    color: #936b22;
}
.nutrition-v22 .ns-section-head {
    margin-bottom: clamp(2.4rem, 4vw, 4rem);
}
.nutrition-v22 .ns-section-head:not(.ns-align-start) .ns-eyebrow {
    margin-inline: auto;
}
.nutrition-v22 .ns-divider {
    color: var(--ns-gold);
}
.nutrition-v22 .ns-icon {
    background: linear-gradient(145deg, #f6f8f2, #eaf2e4);
    border-color: #e0e9dc;
    box-shadow: inset 0 0 0 6px rgba(255, 255, 255, .48);
}
.nutrition-v22 .ns-button,
.nutrition-v22 #doctor .nd-button {
    min-height: 3.75rem;
    padding-inline: 1.9rem;
    border-radius: 1rem;
}
.nutrition-v22 .ns-primary,
.nutrition-v22 #doctor .nd-button-primary {
    background: linear-gradient(135deg, var(--primary, #075237), #0c6b46);
    box-shadow: 0 14px 30px rgba(5, 76, 49, .18);
}
.nutrition-v22 .ns-outline,
.nutrition-v22 #doctor .nd-button-outline {
    border-color: rgba(173, 128, 43, .55);
    background: rgba(255, 255, 255, .92);
}

/* Header */
.nutrition-v22 #nd-public-header.nd-header {
    margin: .75rem auto 0;
    width: min(1740px, calc(100% - 2rem));
    border: 1px solid #e1e8e1;
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 32px rgba(16, 57, 40, .07);
    backdrop-filter: blur(18px);
}
.nutrition-v22 #nd-public-header.nd-header .nav-wrap {
    width: min(1660px, calc(100% - 2rem));
    min-height: 5.25rem;
}
.nutrition-v22 #nd-public-header.nd-header .desktop-nav a {
    position: relative;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}
.nutrition-v22 #nd-public-header.nd-header .desktop-nav a::after {
    content: "";
    position: absolute;
    inset-inline: .45rem;
    bottom: .15rem;
    height: 2px;
    border-radius: 3px;
    background: var(--primary, #075237);
    scale: 0 1;
    transition: scale .2s ease;
}
.nutrition-v22 #nd-public-header.nd-header .desktop-nav a:hover::after,
.nutrition-v22 #nd-public-header.nd-header .desktop-nav a[aria-current="page"]::after {
    scale: 1 1;
}

/* Hero */
.nutrition-v22 #doctor.nd-arch-design {
    margin-top: 1rem;
    padding: clamp(2.5rem, 5vw, 5rem) 0 2rem;
    background:
        radial-gradient(circle at 8% 86%, rgba(137, 170, 113, .18), transparent 24%),
        radial-gradient(circle at 92% 15%, rgba(194, 157, 78, .08), transparent 24%),
        linear-gradient(120deg, #f1f5ee, #fff 52%, #fbfaf6);
}
.nutrition-v22 #doctor.nd-arch-design .nd-hero-grid {
    grid-template-columns: minmax(0, 1.03fr) minmax(420px, .97fr);
    gap: clamp(2.5rem, 5vw, 6.5rem);
    align-items: center;
}
.nutrition-v22 #doctor.nd-arch-design .nd-copy {
    padding-block: 1rem;
}
.nutrition-v22 #doctor.nd-arch-design .nd-name {
    font-size: clamp(3rem, 5.2vw, 6.2rem);
    line-height: 1.08;
    letter-spacing: -.055em;
    margin-block: 1.15rem .45rem;
    color: #06442f;
}
.nutrition-v22 #doctor.nd-arch-design .nd-specialty {
    color: #557922;
    font-size: clamp(1.65rem, 2.35vw, 2.75rem);
    font-weight: 800;
}
.nutrition-v22 #doctor.nd-arch-design .nd-description {
    max-width: 68ch;
    margin-top: .85rem;
}
.nutrition-v22 #doctor.nd-arch-design .nd-value-title {
    margin-top: 1.1rem;
}
.nutrition-v22 #doctor.nd-arch-design .nd-arch-scene {
    width: min(100%, 650px);
    padding: .7rem .7rem 0;
}
.nutrition-v22 #doctor.nd-arch-design .nd-arch-frame {
    aspect-ratio: 4 / 5;
    max-height: 760px;
    border: 2px solid rgba(184, 135, 45, .78);
    border-radius: 50% 50% 1rem 1rem;
    padding: .7rem .7rem 0;
    background:
        linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08)),
        radial-gradient(circle at 50% 30%, #f9faf4, #dfe8db);
    box-shadow: 0 30px 80px rgba(14, 61, 40, .14);
}
.nutrition-v22 #doctor.nd-arch-design .nd-arch-frame::after {
    content: "";
    position: absolute;
    inset: .6rem;
    border: 1px solid rgba(191, 148, 62, .35);
    border-radius: inherit;
    pointer-events: none;
}
.nutrition-v22 #doctor.nd-arch-design .nd-arch-image {
    position: relative;
    z-index: 1;
    border-radius: inherit;
    object-fit: cover;
    object-position: var(--image-x, 50%) var(--image-y, 35%);
}
.nutrition-v22 #doctor.nd-arch-design .nd-booking-card {
    margin: -2.2rem auto 0;
    width: calc(100% - 3rem);
    z-index: 3;
    border: 1px solid rgba(216, 225, 216, .95);
    background: rgba(255,255,255,.96);
    box-shadow: 0 20px 45px rgba(10, 61, 40, .13);
}
.nutrition-v22 #doctor.nd-arch-design .nd-inline-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
    gap: 0;
    margin-top: 1.7rem;
    padding: .7rem;
    border: 1px solid #dfe6de;
    border-radius: 1.25rem;
    background: rgba(255,255,255,.78);
}
.nutrition-v22 #doctor.nd-arch-design .nd-stat {
    min-width: 0;
    border-radius: .9rem;
}
.nutrition-v22 #doctor.nd-arch-design .nd-features {
    gap: .85rem;
}
.nutrition-v22 #doctor.nd-arch-design .nd-feature {
    min-height: 190px;
    border-radius: 1.35rem;
    background: rgba(255,255,255,.9);
    box-shadow: 0 15px 32px rgba(12, 59, 41, .06);
}
.nutrition-v22 #doctor.nd-arch-design .nd-bottom-row {
    margin-top: 2.3rem;
}

/* About and audience */
.nutrition-v22 .ns-about {
    background: linear-gradient(120deg, #fff, #f5f8f2);
}
.nutrition-v22 .ns-about-surface {
    padding: clamp(1.4rem, 3.5vw, 4.5rem);
    background: transparent;
    border: 0;
    box-shadow: none;
}
.nutrition-v22 .ns-about-frame {
    border-radius: 2.8rem;
    border-width: 2px;
    background: linear-gradient(145deg, #fff, #f0f4ec);
    box-shadow: 0 28px 65px rgba(13, 59, 40, .1);
}
.nutrition-v22 .ns-about-frame img {
    object-fit: var(--ns-about-fit, contain);
}
.nutrition-v22 .ns-art-badges {
    position: relative;
    z-index: 2;
    margin-top: -1.4rem;
    padding-inline: 1.25rem;
}
.nutrition-v22 .ns-profile-panels article,
.nutrition-v22 .ns-profile-facts > div {
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 30px rgba(13, 56, 39, .055);
}
.nutrition-v22 .ns-audience {
    background:
        radial-gradient(circle at 0 45%, rgba(112, 153, 92, .15), transparent 25%),
        linear-gradient(145deg, #f0f5ef, #fff);
}
.nutrition-v22 .ns-audience-grid {
    gap: 1.25rem;
}
.nutrition-v22 .ns-audience-card {
    min-height: 350px;
    align-items: flex-start;
    text-align: start;
    padding: 2.1rem;
    border-radius: 1.8rem;
}
.nutrition-v22 .ns-audience-card .ns-icon {
    width: 5rem;
    height: 5rem;
}
.nutrition-v22 .ns-tab-number {
    inset-inline-end: 1rem;
    top: 0;
    border-radius: 0 0 1rem 1rem;
    background: linear-gradient(155deg, #0b6745, #043d2b);
}
.nutrition-v22 .ns-audience-card .ns-card-link {
    align-self: flex-start;
}

/* Expertise and services */
.nutrition-v22 .ns-expertise {
    background:
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(240,245,236,.96)),
        url("../images/nutrition/botanical-gold.png") no-repeat -4% 50% / auto 85%;
}
.nutrition-v22 .ns-expertise-grid {
    gap: 1rem;
}
.nutrition-v22 .ns-expertise-card {
    min-height: 155px;
    padding: 1.6rem;
    border-radius: 1.35rem;
    box-shadow: 0 14px 34px rgba(14, 54, 39, .055);
}
.nutrition-v22 .ns-expertise-card .ns-number {
    inset-inline-start: 1.15rem;
    inset-inline-end: auto;
    top: 1rem;
    color: var(--ns-gold);
}
.nutrition-v22 .ns-expertise-card .ns-icon {
    width: 4.6rem;
    height: 4.6rem;
}
.nutrition-v22 .ns-services {
    background: #fbfcfa;
}
.nutrition-v22 .ns-services .ns-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
    align-items: end;
    gap: 2rem;
}
.nutrition-v22 .ns-care-layout {
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
    padding: clamp(1.2rem, 2vw, 2rem);
    border: 1px solid #e0e7df;
    border-radius: 2rem;
    background: #fff;
    box-shadow: var(--ns-shadow);
}
.nutrition-v22 .ns-care-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.nutrition-v22 .ns-care-card {
    min-height: 145px;
    border-radius: 1.25rem;
    background: #fbfcfa;
}
.nutrition-v22 .ns-care-art {
    border-radius: 2rem;
    box-shadow: 0 20px 45px rgba(10, 54, 37, .09);
}
.nutrition-v22 .ns-services .v17-service-card {
    overflow: hidden;
    border: 1px solid #dfe6df;
    box-shadow: 0 16px 36px rgba(13, 56, 40, .065);
}

/* Journey */
.nutrition-v22 .ns-journey {
    background:
        radial-gradient(circle at 95% 4%, rgba(193, 163, 94, .12), transparent 18%),
        linear-gradient(180deg, #fff, #f4f7f1);
}
.nutrition-v22 .ns-steps {
    gap: 1.15rem;
}
.nutrition-v22 .ns-steps li {
    padding-top: 5.3rem;
}
.nutrition-v22 .ns-step-number {
    width: 4rem;
    height: 4rem;
    left: calc(50% - 2rem);
    border: 4px solid #f5f7f2;
    outline: 1px solid #8aa477;
    box-shadow: 0 8px 20px rgba(13, 55, 38, .08);
}
.nutrition-v22 .ns-steps li::before {
    top: 2rem;
    background: linear-gradient(90deg, #c5d5bc, #b4924f, #c5d5bc);
}
.nutrition-v22 .ns-steps article {
    min-height: 305px;
    padding: 1.8rem 1.15rem;
    border-radius: 1.6rem;
    box-shadow: 0 18px 38px rgba(11, 55, 37, .06);
}

/* Plan and portal */
.nutrition-v22 .ns-plan,
.nutrition-v22 .ns-portal {
    background:
        radial-gradient(circle at 3% 100%, rgba(112, 149, 89, .14), transparent 22%),
        linear-gradient(135deg, #fff, #f5f7f2);
}
.nutrition-v22 .ns-editorial-grid {
    gap: clamp(2.5rem, 6vw, 7rem);
}
.nutrition-v22 .ns-plan-preview,
.nutrition-v22 .ns-portal-preview {
    border: 1px solid rgba(183, 137, 50, .38);
    border-radius: 2.2rem;
    box-shadow: 0 30px 70px rgba(13, 57, 39, .1);
}
.nutrition-v22 .ns-plan-preview {
    padding: clamp(1.5rem, 3vw, 3rem);
}
.nutrition-v22 .ns-energy {
    position: relative;
    width: 15.5rem;
    height: 11rem;
    border-width: 8px;
    background: radial-gradient(circle, #fff, #f7faf6);
}
.nutrition-v22 .ns-energy strong {
    font-size: clamp(3rem, 5vw, 4.6rem);
}
.nutrition-v22 .ns-macros div {
    min-height: 105px;
    justify-content: center;
    background: #fbfcfa;
}
.nutrition-v22 .ns-check-list li {
    min-height: 4.6rem;
    border-radius: 1.2rem;
    box-shadow: 0 10px 24px rgba(13, 56, 39, .045);
}
.nutrition-v22 .ns-portal-preview {
    padding: clamp(1.4rem, 3vw, 2.7rem);
    background: linear-gradient(145deg, #fff, #f7faf6);
}
.nutrition-v22 .ns-portal-metrics {
    background: #fff;
}

/* Reviews and community */
.nutrition-v22 .ns-reviews {
    background:
        radial-gradient(circle at 0 15%, rgba(103, 151, 79, .13), transparent 22%),
        linear-gradient(160deg, #fff, #f7f9f5);
}
.nutrition-v22 .ns-review-summary {
    border-radius: 1.6rem;
    box-shadow: var(--ns-shadow);
}
.nutrition-v22 .ns-review-card {
    min-height: 330px;
    border-radius: 1.75rem;
    padding: 1.8rem;
}
.nutrition-v22 .ns-review-avatar {
    width: 4rem;
    height: 4rem;
    border: 1px solid rgba(183, 137, 50, .36);
    background: #fbfaf6;
}
.nutrition-v22 .ns-community {
    background:
        radial-gradient(circle at 95% 5%, rgba(123, 163, 99, .13), transparent 23%),
        #fff;
}
.nutrition-v22 .ns-community-invite {
    min-height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: linear-gradient(145deg, #fff, #f4f7f1);
}
.nutrition-v22 .ns-category-card,
.nutrition-v22 .ns-topic {
    min-height: 170px;
    border-radius: 1.35rem;
    box-shadow: 0 12px 28px rgba(12, 55, 38, .05);
}

/* FAQ, clinic, CTA and footer */
.nutrition-v22 .ns-faq {
    background: #fff;
}
.nutrition-v22 .ns-faq-surface {
    grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
    padding: clamp(1.5rem, 4vw, 4rem);
    border-radius: 2.4rem;
    background:
        linear-gradient(105deg, rgba(246,248,243,.92), #fff),
        url("../images/nutrition/botanical-gold.png") no-repeat left center / auto 90%;
    box-shadow: var(--ns-shadow);
}
.nutrition-v22 .ns-faq-list details {
    overflow: hidden;
    border-radius: 1.1rem;
    box-shadow: 0 8px 22px rgba(14, 54, 39, .035);
}
.nutrition-v22 .ns-faq-list summary {
    min-height: 3.7rem;
}
.nutrition-v22 .ns-faq-list details[open] {
    border-color: rgba(183, 137, 50, .45);
}
.nutrition-v22 .v17-clinic {
    width: min(1740px, calc(100% - 2rem));
    margin: 1.1rem auto;
    padding: 0;
}
.nutrition-v22 .v17-clinic-card {
    overflow: hidden;
    padding: clamp(2rem, 4vw, 4rem);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 2.4rem;
    background:
        radial-gradient(circle at 10% 20%, rgba(171, 197, 146, .17), transparent 30%),
        linear-gradient(135deg, #063d2c, #0b5c40);
    box-shadow: 0 28px 65px rgba(3, 47, 32, .18);
}
.nutrition-v22 .v17-contact-grid > div,
.nutrition-v22 .v17-clinic-online {
    border-color: rgba(255,255,255,.18);
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(10px);
}
.nutrition-v22 .v17-final {
    width: min(1740px, calc(100% - 2rem));
    margin: 1.1rem auto;
}
.nutrition-v22 .v17-final-card {
    padding: clamp(1.7rem, 3vw, 3rem);
    border-radius: 2rem;
    background: linear-gradient(115deg, #f2f5ec, #fff);
    box-shadow: 0 18px 40px rgba(13, 56, 39, .06);
}
.nutrition-v22 .site-footer {
    width: min(1740px, calc(100% - 2rem));
    margin: 1rem auto;
    border: 1px solid #dfe6df;
    border-radius: 2.2rem 2.2rem .7rem .7rem;
    overflow: hidden;
    background: #f6f8f4;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .nutrition-v22 :is(.ns-expertise-card, .ns-audience-card, .ns-care-card, .ns-review-card, .ns-category-card, .ns-topic, .ns-steps article, .v17-service-card) {
        transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    .nutrition-v22 :is(.ns-expertise-card, .ns-audience-card, .ns-care-card, .ns-review-card, .ns-category-card, .ns-topic, .ns-steps article, .v17-service-card):hover {
        transform: translateY(-6px);
        border-color: rgba(173, 128, 43, .35);
        box-shadow: 0 22px 45px rgba(10, 53, 36, .1);
    }
}
@media (max-width: 1200px) {
    .nutrition-v22 #doctor.nd-arch-design .nd-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
        gap: 2.25rem;
    }
    .nutrition-v22 #doctor.nd-arch-design .nd-name {
        font-size: clamp(2.7rem, 5vw, 4.8rem);
    }
    .nutrition-v22 .ns-services .ns-section-head {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .nutrition-v22 .ns-care-layout {
        grid-template-columns: 1fr;
    }
    .nutrition-v22 .ns-care-art {
        max-width: 580px;
        width: 100%;
        margin-inline: auto;
    }
}
@media (max-width: 900px) {
    .nutrition-v22 .ns-section,
    .nutrition-v22 #doctor,
    .nutrition-v22 .v17-clinic,
    .nutrition-v22 .v17-final,
    .nutrition-v22 .site-footer,
    .nutrition-v22 #nd-public-header.nd-header {
        width: calc(100% - 1rem);
        border-radius: 1.5rem;
    }
    .nutrition-v22 #doctor.nd-arch-design .nd-hero-grid {
        grid-template-columns: 1fr;
    }
    .nutrition-v22 #doctor.nd-arch-design .nd-copy {
        order: 1;
    }
    .nutrition-v22 #doctor.nd-arch-design .nd-arch-scene {
        order: 2;
        max-width: 580px;
        margin-inline: auto;
    }
    .nutrition-v22 #doctor.nd-arch-design .nd-arch-frame {
        max-height: none;
    }
    .nutrition-v22 .ns-about-surface,
    .nutrition-v22 .ns-editorial-grid,
    .nutrition-v22 .ns-faq-surface {
        grid-template-columns: 1fr;
    }
    .nutrition-v22 .ns-about-art {
        order: 2;
    }
    .nutrition-v22 .ns-audience-card {
        min-height: 300px;
    }
}
@media (max-width: 640px) {
    .nutrition-v22 .ns-shell,
    .nutrition-v22 #doctor.nd-arch-design .nd-shell {
        width: calc(100% - 1.5rem);
    }
    .nutrition-v22 .ns-section {
        padding-block: 3.2rem;
    }
    .nutrition-v22 .ns-section .ns-title {
        font-size: clamp(1.8rem, 8.5vw, 2.6rem);
    }
    .nutrition-v22 #doctor.nd-arch-design {
        padding-top: 2rem;
    }
    .nutrition-v22 #doctor.nd-arch-design .nd-name {
        font-size: clamp(2.5rem, 13vw, 4rem);
    }
    .nutrition-v22 #doctor.nd-arch-design .nd-specialty {
        font-size: clamp(1.35rem, 7vw, 2rem);
    }
    .nutrition-v22 #doctor.nd-arch-design .nd-actions,
    .nutrition-v22 .ns-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .nutrition-v22 #doctor.nd-arch-design .nd-booking-card {
        width: calc(100% - 1rem);
        margin-top: -1rem;
    }
    .nutrition-v22 #doctor.nd-arch-design .nd-inline-stats {
        grid-template-columns: 1fr;
    }
    .nutrition-v22 .ns-care-grid,
    .nutrition-v22 .ns-macros,
    .nutrition-v22 .ns-portal-metrics,
    .nutrition-v22 .ns-portal-shortcuts {
        grid-template-columns: 1fr;
    }
    .nutrition-v22 .ns-portal-metrics > div + div {
        border-inline-start: 0;
        border-top: 1px solid var(--ns-line);
    }
    .nutrition-v22 .ns-audience-card {
        min-height: auto;
    }
    .nutrition-v22 .ns-steps article {
        min-height: auto;
    }
}
