/* Shared presentation: editable content and purposeful product exploration. */
:root {
  --nd-coral: var(--wp--preset--color--brand);
  --nd-accent: var(--wp--preset--color--accent);
  --nd-brand-text: var(--wp--preset--color--brand-text);
  --nd-tint: var(--wp--preset--color--brand-tint);
  --nd-ink: #171a21; --nd-muted: #565d68; --nd-line: #e4e6e9;
  --nd-radius: var(--wp--custom--novusdash--radius--medium, 16px);
  --nd-media-height: var(--wp--custom--novusdash--media-height, min(360px, 48svh));
  --nd-ease: var(--wp--custom--novusdash--motion--ease, cubic-bezier(.22,1,.36,1));
}
.nd-main-content { --nd-gutter: clamp(1.25rem, 4.5vw, 4rem); color: var(--nd-ink); }
.nd-main-content .nd-container { max-width: 1200px; }
.nd-main-content :where(.wp-block-group,.wp-block-columns,.wp-block-column,.wp-block-image,.wp-block-gallery) { min-width: 0; margin-block-start: 0; }
.nd-main-content :where(.nd-source-group,.nd-section-content,.nd-source-fragment) > * + * { margin-top: 1.5rem; }
.nd-main-content .nd-body { max-width: 68ch; font-size: clamp(1rem, 1.15vw, 1.125rem); line-height: 1.75; }
.nd-main-content :where(h1,h2,h3,h4) { font-family: var(--wp--preset--font-family--sans); text-wrap: balance; }
.nd-main-content .nd-product-title { font-size: clamp(1.75rem, 2.7vw, 2.5rem); line-height: 1.15; font-weight: 600; letter-spacing: -.045em; max-width: 35ch; }
.nd-main-content h3.nd-product-title { font-size: clamp(1.3rem, 1.7vw, 1.65rem); letter-spacing: -.025em; max-width: none; }
.nd-main-content .nd-feature-list { color: var(--nd-muted); line-height: 1.8; font-size: 1rem; padding-left: 1.25rem; }
.nd-feature-list li + li { margin-top: .5rem; }
.nd-main-hero { padding-block: clamp(2.5rem, 5vw, 4.5rem); background: linear-gradient(110deg, #fff 45%, var(--nd-tint)); }
.nd-main-content .nd-main-hero .nd-hero-title { font-size: clamp(2.75rem, 4.6vw, 4.75rem); line-height: 1.05; font-weight: 600; letter-spacing: -.055em; max-width: 18ch; margin-bottom: 1.5rem; }
.nd-main-hero .nd-eyebrow { font-size: .875rem; letter-spacing: .055em; margin-bottom: 1rem; }
.nd-main-hero .nd-body { max-width: 52ch; }
.nd-main-hero :where(h2,h3) { font-size: clamp(1.25rem, 1.75vw, 1.75rem); line-height: 1.35; letter-spacing: -.025em; margin-bottom: 1rem; }
.nd-main-hero-grid.wp-block-columns { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center !important; gap: clamp(2rem, 5vw, 5rem); margin: 0; }
.nd-main-hero .nd-hero-copy { display: block; margin: 0; }
.nd-main-hero .nd-page-hero-media { margin: 0; width: 100%; overflow: hidden; border-radius: var(--nd-radius); }
.nd-main-content .nd-page-hero-media img { display: block; width: 100%; height: min(340px, 46svh) !important; object-fit: contain; }
.nd-page--solutions .nd-page-hero-media img, .nd-page--contact-us .nd-page-hero-media img { object-fit: cover; }
.nd-hero-diagram img { width: 100%; height: auto !important; max-height: 260px !important; object-fit: contain; }
.nd-main-section { padding-block: clamp(3rem, 5vw, 5rem); border-top: 1px solid var(--nd-line); scroll-margin-top: 2rem; }
.nd-main-content .nd-product-columns { gap: clamp(1.5rem, 3vw, 3rem); align-items: start !important; }
.nd-main-content .nd-product-showcase { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.nd-product-copy > * + * { margin-top: 1.25rem; }
.nd-product-media, .nd-wide-media { width: 100%; margin-inline: auto; }
.nd-main-content .nd-product-media img, .nd-main-content .nd-wide-media img { display: block; width: 100%; height: auto !important; max-height: var(--nd-media-height) !important; object-fit: contain !important; }
.nd-wide-media { max-width: 960px; }
.nd-main-content figcaption { color: var(--nd-muted); font-size: .875rem; line-height: 1.5; }
/* Core Gallery selectors must not grow a product view beyond the viewport. */
.nd-main-content .wp-block-gallery.nd-product-gallery { display: flex !important; flex-wrap: nowrap !important; gap: 1rem; width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.nd-main-content .wp-block-gallery.nd-product-gallery > figure.wp-block-image { flex: 0 0 100%; width: 100% !important; min-width: 0; max-width: none; margin: 0; scroll-snap-align: start; }
.nd-main-content .wp-block-gallery.nd-product-gallery > figure.wp-block-image img { display: block; flex: none; width: 100% !important; height: var(--nd-media-height) !important; max-height: var(--nd-media-height) !important; object-fit: contain !important; }
.nd-main-content .wp-block-gallery.nd-product-gallery figcaption { position: static !important; background: transparent !important; color: var(--nd-muted) !important; font-size: .875rem; padding: .75rem 0 0 !important; }
.nd-gallery-controls { display: flex; align-items: center; gap: .5rem; margin-top: .75rem; }
.nd-gallery-controls > button { width: 44px; height: 44px; border: 1px solid var(--nd-line); background: #fff; color: var(--nd-ink); border-radius: 50%; font-size: 1.25rem; cursor: pointer; }
.nd-gallery-controls > button:hover { border-color: var(--nd-coral); background: var(--nd-tint); }
.nd-gallery-controls > button:disabled { opacity: .4; cursor: default; }
.nd-gallery-position { margin-inline: .5rem; color: var(--nd-muted); font-size: .875rem; font-variant-numeric: tabular-nums; }
.nd-gallery-thumbnails { display: flex; gap: .5rem; overflow-x: auto; padding: .5rem 2px; margin-top: .5rem; scrollbar-width: thin; }
.nd-gallery-thumbnail { flex: 0 0 56px; width: 56px; height: 56px; padding: 4px; border: 1px solid var(--nd-line); border-radius: 8px; background: #fff; cursor: pointer; }
.nd-gallery-thumbnail[aria-pressed="true"] { border: 2px solid var(--nd-coral); background: var(--nd-tint); }
.nd-gallery-thumbnail img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Native grouped catalogue content gains a navigable product workspace. */
.nd-collection { padding-block: clamp(2.5rem, 5vw, 4.5rem); border-top: 1px solid var(--nd-line); }
.nd-main-content .nd-collection-title { font-size: clamp(1.75rem, 2.8vw, 2.5rem); font-weight: 600; letter-spacing: -.04em; margin-bottom: 2rem; }
.nd-catalogue-panel { padding-block: 2rem; border-top: 1px solid var(--nd-line); scroll-margin-top: 1rem; }
.nd-catalogue-panel + .nd-catalogue-panel { margin-top: 2rem; }
.nd-catalogue.nd-explorer { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.nd-explorer-sidebar { position: sticky; top: 1rem; align-self: start; }
.nd-explorer-search { display: flex; gap: .5rem; border-bottom: 1px solid #aeb2ba; margin-bottom: 1rem; }
.nd-explorer-search input { width: 100%; min-width: 0; font: inherit; font-size: .9375rem; border: 0; background: transparent; padding: .75rem 0; color: var(--nd-ink); }
.nd-explorer-search button { flex: 0 0 44px; border: 0; background: none; color: var(--nd-muted); cursor: pointer; }
.nd-explorer-nav { display: grid; gap: .25rem; max-height: min(580px, 68svh); overflow-y: auto; padding: 4px; scrollbar-width: thin; }
.nd-explorer-choice { display: flex; width: 100%; gap: .75rem; align-items: center; text-align: left; padding: .75rem; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--nd-muted); font: inherit; font-size: .9375rem; line-height: 1.4; cursor: pointer; }
.nd-explorer-choice:hover { color: var(--nd-ink); background: #f5f6f8; }
.nd-explorer-choice[aria-pressed="true"] { color: var(--nd-ink); background: var(--nd-tint); border-left: 3px solid var(--nd-coral); font-weight: 600; }
.nd-explorer-choice img { width: 36px; height: 44px; flex: 0 0 36px; object-fit: contain; }
.nd-explorer-note { margin-top: 1rem; font-size: .875rem; color: var(--nd-muted); }
.nd-explorer-workspace { min-width: 0; }
.nd-explorer .nd-catalogue-panel { padding: 0; border: 0; margin: 0; }
.nd-catalogue-panel[hidden], .nd-model-panel[hidden], .nd-explorer-choice[hidden] { display: none !important; }
.nd-explorer .nd-source-fragment + .nd-source-fragment { margin-top: 2rem; }
.nd-model-picker { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 1.5rem; }
.nd-model-picker button { min-height: 44px; border: 1px solid var(--nd-line); border-radius: 999px; background: #fff; color: var(--nd-ink); font: inherit; font-size: .9375rem; padding: .6rem 1rem; cursor: pointer; }
.nd-model-picker button[aria-selected="true"] { background: var(--nd-coral); border-color: var(--nd-coral); color: var(--nd-ink); font-weight: 600; }
.nd-model-panel .nd-model-details > summary { display: none; }
.nd-model-panel > .nd-model-details { padding: 0 !important; border: 0 !important; margin: 0 !important; }
.nd-model-panel { padding: 0 !important; border: 0 !important; }
.nd-main-content .nd-model-panel .nd-product-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start !important; }
.nd-model-panel .nd-product-media { position: sticky; top: 1.5rem; }
.nd-product-details { border-block: 1px solid var(--nd-line); padding-block: 1.25rem; margin-top: 1rem; }
.nd-product-details + .nd-product-details { border-top: 0; }
.nd-product-details > summary { font-size: 1.125rem; font-weight: 600; line-height: 1.5; cursor: pointer; }
.nd-product-details > summary::marker { color: var(--nd-brand-text); }
.nd-product-details[open] > summary { margin-bottom: 1.5rem; }
.nd-spec-details { border-block: 1px solid var(--nd-line); margin-top: 1.25rem; padding-block: 1rem; }
.nd-spec-details > summary { font-size: .9375rem; font-weight: 600; cursor: pointer; }
.nd-spec-details > summary::marker { color: var(--nd-brand-text); }
.nd-spec-details[open] > summary { margin-bottom: 1.25rem; }
.nd-spec-details > * + * { margin-top: 1rem; }
.nd-spec-table { width: 100%; overflow-x: auto; margin-block: 1.5rem; font-size: .9375rem; }
.nd-main-content .nd-spec-table table { border-collapse: collapse; min-width: 560px; width: 100%; }
.nd-spec-table :where(td,th) { border: 0; border-bottom: 1px solid var(--nd-line); padding: .85rem .75rem; text-align: left; vertical-align: top; }
.nd-spec-table thead { background: #f5f6f8; }
.nd-spec-table td:first-child { font-weight: 600; color: var(--nd-ink); }
.nd-spec-table :where(p,h6) { font: inherit; margin: 0; }
.nd-spec-table:focus-visible { outline: 3px solid var(--nd-coral); outline-offset: 4px; }
.nd-configurator { display: grid; grid-template-columns: 1.25fr 1fr; gap: 2rem; align-items: center; padding: 1.5rem; background: #f7f8fa; border-radius: var(--nd-radius); margin-block: 1.5rem; }
.nd-config-images { min-width: 0; }
.nd-main-content .nd-config-image img { width: 100%; height: min(300px, 42svh) !important; object-fit: contain; }
.nd-config-image[hidden] { display: none !important; }
.nd-config-image figcaption { text-align: center; font-size: .875rem; }
.nd-config-controls > * + * { margin-top: 1.25rem; }
.nd-main-content .nd-choice-group { display: flex; flex-wrap: wrap; gap: .5rem; }
.nd-control-label { flex: 0 0 100%; font-size: .875rem; font-weight: 600; }
.nd-main-content .nd-choice-group .wp-block-button__link { min-height: 44px; padding: .65rem .85rem; background: #fff; border: 1px solid #cbd0d7; color: var(--nd-ink); border-radius: 8px; cursor: pointer; }
.nd-main-content .nd-choice-control[aria-pressed="true"] { border: 2px solid var(--nd-coral); background: var(--nd-tint); padding: calc(.65rem - 1px) calc(.85rem - 1px); }
.nd-axis-color .nd-choice-control::before { content: ""; display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 1px solid #a0a5ad; margin-right: .5rem; vertical-align: -1px; }
.nd-choice-color-white .nd-choice-control::before { background: #fff; }
.nd-choice-color-black .nd-choice-control::before { background: #171a21; }
.nd-choice-color-grey .nd-choice-control::before { background: #8d9299; }
.nd-choice-color-gold .nd-choice-control::before { background: #bd995e; }
.nd-config-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.nd-finish-options { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 1.25rem; }
.nd-finish-options > .nd-body { flex: 0 0 100%; font-size: .875rem; font-weight: 600; margin: 0; }
.nd-main-content .nd-finish-chip { margin: 0; padding: .4rem .7rem; font-size: .875rem; line-height: 1.5; border: 1px solid #171a211f; border-radius: 999px; }
/* Solutions has editorial rhythm, rather than one tall image per section. */
.nd-solutions-intro-grid.wp-block-columns { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(2rem, 5vw, 5rem); margin-top: 2rem; }
.nd-compatibility-panel { padding: 1.75rem; border: 1px solid var(--nd-line); border-radius: var(--nd-radius); background: #fafafa; }
.nd-main-content .nd-compatibility-title { font-size: 1.25rem; letter-spacing: -.02em; margin-bottom: 1.5rem; }
.nd-platform-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem 1rem; align-items: start; }
.nd-platform { text-align: center; }
.nd-main-content .nd-platform-logo { margin: 0 auto .75rem; }
.nd-main-content .nd-platform-logo img { display: block; width: 64px !important; height: 56px !important; max-width: 100%; object-fit: contain; margin: auto; }
.nd-main-content .nd-platform-wordmark img, .nd-main-content .nd-platform:nth-child(n+4) img { width: 112px !important; height: 40px !important; }
.nd-main-content .nd-platform-name { font-size: .875rem; font-weight: 550; letter-spacing: 0; line-height: 1.4; }
.nd-page--solutions .nd-feature-list { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; }
.nd-page--solutions .nd-feature-list li { margin: 0; padding: .4rem .7rem; border: 1px solid #edcbc7; border-radius: 999px; color: var(--nd-ink); background: var(--nd-tint); font-size: .875rem; }
.nd-solution-showcase.wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; align-items: center !important; gap: clamp(2rem, 5vw, 5rem); margin: 0; }
.nd-solution-copy > * + * { margin-top: 1.25rem; }
.nd-solution-copy > p:first-of-type { color: var(--nd-brand-text); font-size: .875rem; font-weight: 600; }
.nd-main-content .nd-solution-visual img { display: block; width: 100%; height: min(360px, 48svh) !important; object-fit: cover; border-radius: var(--nd-radius); }
.nd-page--solutions .nd-solution-story:nth-of-type(even) .nd-solution-picture { order: -1; }
.nd-page--solutions .nd-solution-story:nth-of-type(3n) { background: #f7f8fa; }
.nd-page--smart-lighting .nd-main-hero, .nd-page--security-cameras .nd-main-hero { background: #1b1e25; color: #fff; }
.nd-page--smart-lighting .nd-main-hero :is(h1,h2,h3), .nd-page--security-cameras .nd-main-hero :is(h1,h2,h3) { color: #fff; }
.nd-page--smart-lighting .nd-main-hero .nd-eyebrow, .nd-page--security-cameras .nd-main-hero .nd-eyebrow { color: #ff9e97; }
.nd-page--smart-lighting .nd-page-hero-media img, .nd-page--security-cameras .nd-page-hero-media img { object-fit: cover; }
.nd-page--smart-lighting .nd-main-hero .nd-body, .nd-page--security-cameras .nd-main-hero .nd-body { color: #e0e3e8; }
/* Charger introduction reads as a separate story before the hardware workspace. */
.nd-page--ev-chargers .nd-page-hero-media img { object-fit: cover; }
.nd-charging-intro .nd-container { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.nd-charging-intro .nd-body { max-width: 64ch; }
@media (max-width: 767px) { .nd-charging-intro .nd-container { grid-template-columns: 1fr; gap: 1.5rem; } }
/* Network education is separate from the hardware selector. */
.nd-network-intro .nd-container { display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.nd-network-intro .nd-body { max-width: 64ch; }
.nd-network-primer { padding-bottom: clamp(2rem,4vw,4rem); }
.nd-network-knowledge { display: grid; gap: 0; }
.nd-primer-details { padding: 1.25rem 0; border-top: 1px solid var(--nd-line); }
.nd-primer-details:last-child { border-bottom: 1px solid var(--nd-line); }
.nd-primer-details > summary { font-size: clamp(1.1rem,1.6vw,1.4rem); font-weight: 600; line-height: 1.5; cursor: pointer; }
.nd-primer-details > summary::marker { color: var(--nd-brand-text); }
.nd-primer-details[open] > summary { margin-bottom: 1.5rem; }
.nd-knowledge-copy > * + * { margin-top: 1.25rem; }
@media (max-width:767px) { .nd-network-intro .nd-container { grid-template-columns: 1fr; gap: 1.5rem; } }
.nd-network-categories { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 1.5rem; }
.nd-network-category { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 1rem; align-items: center; padding-block: 1rem; border-bottom: 1px solid var(--nd-line); }
.nd-main-content .nd-category-picture img { width: 96px !important; height: 80px !important; object-fit: contain; }
.nd-main-content .nd-category-link { font-size: 1rem; letter-spacing: -.015em; line-height: 1.4; margin: 0; }
.nd-category-link a { display: inline-flex; min-height: 44px; align-items: center; color: var(--nd-ink); text-decoration-color: var(--nd-coral); text-underline-offset: 5px; }
.nd-category-link a:hover { color: var(--nd-brand-text); }
@media (max-width:767px) { .nd-network-categories { grid-template-columns: 1fr; } }
/* Video/contact/directory content has its own density and hierarchy. */
.nd-video { width: 100%; max-width: 640px; margin-inline: auto; }
.nd-video video { display: block; width: 100%; height: min(360px, 48svh); object-fit: contain; background: #171a21; border-radius: var(--nd-radius); }
.nd-video-portrait { max-width: 300px; }
.nd-video-portrait video { height: min(420px, 56svh); }
.nd-film-section .nd-section-content > .nd-source-group { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: 2rem; }
.nd-location-map iframe { display: block; width: 100%; height: min(360px, 46svh); min-height: 260px; border: 0; border-radius: var(--nd-radius); margin-bottom: 1rem; }
.nd-page--contact-us .nd-product-media { max-width: 160px; }
.nd-page--socials .nd-product-media { max-width: 64px; }
.nd-page--socials .nd-product-columns { gap: 1.5rem; padding-block: 1.5rem; }
.nd-page--socials .nd-source-group { text-align: center; }
.nd-page-nav { display: flex; gap: 1.5rem; overflow-x: auto; background: #fff; border-block: 1px solid var(--nd-line); padding: .5rem var(--nd-gutter); scrollbar-width: thin; }
.nd-page-nav a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; flex: 0 0 auto; color: var(--nd-ink); text-decoration: none; font-size: .875rem; font-weight: 550; }
/* Align actual navigation labels, including the native submenu button. */
.nd-proof-header .nd-header-inner { min-height: 80px; max-width: 1200px; }
.nd-proof-header .nd-header-inner > * { margin-block: 0 !important; }
.nd-proof-header .nd-logo { width: 176px; }
.nd-proof-header .wp-block-navigation { margin-left: auto; }
.nd-proof-header .wp-block-navigation__container { align-items: center; gap: 1.75rem; }
.nd-proof-header .wp-block-navigation__container > li { display: flex; align-items: center; }
.nd-proof-header .wp-block-navigation__container > li > .wp-block-navigation-item__content { display: inline-flex !important; align-items: center; justify-content: center; height: 44px; min-height: 44px; padding-block: 0; line-height: 1.2; }
.nd-proof-header .wp-block-navigation__submenu-icon { align-self: center; }
.nd-proof-header .wp-block-navigation__submenu-container { min-width: 260px !important; padding: .75rem; border: 1px solid var(--nd-line); border-radius: 12px; box-shadow: 0 12px 28px #171a2112; }
.nd-proof-header .wp-block-navigation__submenu-container a { min-height: 44px; line-height: 1.4; padding: .6rem .75rem; }
.nd-header-search { width: auto; flex: 0 0 auto; margin: 0; }
.nd-header-search .wp-block-search__button { min-width: 44px; min-height: 44px; margin: 0; padding: .5rem; border-radius: 50%; background: transparent; color: var(--nd-ink); }
.nd-header-search .wp-block-search__inside-wrapper { padding: 0; border: 0; }
.nd-main-footer-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--nd-line); }
.nd-main-footer-meta p { font-size: .875rem; color: var(--nd-muted); }
.nd-main-footer-social { display: flex; flex-wrap: wrap; gap: 1.5rem; font-size: .875rem; }
.nd-main-footer-social a { display: inline-flex; align-items: center; min-height: 44px; }
.nd-proof-footer { background: #faf9f8; }
.nd-proof-shell .nd-eyebrow { color: var(--nd-brand-text); }
.nd-proof-shell .nd-energy-panel .nd-eyebrow { color: #ff9e97; }
.nd-proof-shell .nd-story-media { max-height: min(480px, 62svh); }
@media (max-width: 1024px) {
  .nd-catalogue.nd-explorer { grid-template-columns: 200px minmax(0,1fr); gap: 1.5rem; }
  .nd-model-panel .nd-product-columns, .nd-main-content .nd-product-showcase { grid-template-columns: 1fr !important; }
  .nd-page--smart-locks .nd-model-panel .nd-product-columns > .nd-content-column:has(.nd-product-media):not(:has(.nd-body)) { order: -1; }
  .nd-main-content .nd-product-columns { flex-wrap: wrap !important; }
  .nd-main-content .nd-product-columns > .nd-content-column { flex-basis: calc(50% - 1rem) !important; }
  .nd-configurator { grid-template-columns: 1fr; }
  .nd-main-hero-grid.wp-block-columns { gap: 2rem; }
}
@media (max-width: 767px) {
  .nd-main-hero { padding-block: 2.5rem; }
  .nd-main-content .nd-main-hero .nd-hero-title { font-size: clamp(2.25rem, 9vw, 3.25rem); max-width: 18ch; }
  .nd-main-hero-grid.wp-block-columns, .nd-solutions-intro-grid.wp-block-columns, .nd-solution-showcase.wp-block-columns { grid-template-columns: 1fr; gap: 2rem; }
  .nd-main-content .nd-page-hero-media img { height: min(260px, 35svh) !important; }
  .nd-main-section { padding-block: 2.75rem; }
  .nd-solution-picture { order: 0 !important; }
  .nd-main-content .nd-solution-visual img { height: 240px !important; }
  .nd-catalogue.nd-explorer { display: block; }
  .nd-explorer-sidebar { position: static; margin-bottom: 2rem; }
  .nd-explorer-nav { display: flex; max-height: none; overflow-x: auto; overflow-y: hidden; padding: .25rem; gap: .5rem; scroll-snap-type: x proximity; }
  .nd-explorer-nav:focus-within { scroll-snap-type: none; }
  .nd-explorer-choice { width: auto; flex: 0 0 auto; max-width: 230px; min-height: 52px; padding: .75rem; background: #f5f6f8; border: 1px solid var(--nd-line); scroll-snap-align: start; }
  .nd-explorer-choice img { display: none; }
  .nd-explorer-note { margin-top: .5rem; }
  .nd-main-content .nd-product-columns > .nd-content-column { flex-basis: 100% !important; }
  .nd-main-content .nd-model-panel .nd-product-columns { display: grid; }
  .nd-model-panel .nd-product-media { position: static; }
  .nd-main-content .wp-block-gallery.nd-product-gallery > figure.wp-block-image img { height: min(280px, 38svh) !important; max-height: min(280px, 38svh) !important; }
  .nd-main-content .nd-config-image img { height: 240px !important; }
  .nd-configurator { padding: 1rem; }
  .nd-platform-list { gap: 1.25rem .75rem; }
  .nd-compatibility-panel { padding: 1.25rem; }
  .nd-main-content .nd-platform-logo img { width: 56px !important; height: 48px !important; }
  .nd-proof-header .nd-header-inner { min-height: 72px; gap: .5rem; position: relative; }
  .nd-proof-header .nd-logo { width: 154px; }
  .nd-header-search:not(.wp-block-search__searchfield-hidden) { position: absolute; top: calc(100% + 1px); inset-inline: 0; padding: 1rem; border: 1px solid var(--nd-line); border-radius: 0 0 12px 12px; background: #fff; }
  .nd-header-search .wp-block-search__input { min-width: 0; width: 100%; flex: 1; padding: .625rem .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .nd-main-content *, .nd-main-content *::before, .nd-main-content *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Thin rack hardware needs a shorter mobile view; campus diagrams retain their scale. */
@media (max-width:767px) {
  .nd-main-content.nd-page--network-switching .nd-model-panel .wp-block-gallery.nd-product-gallery > figure.wp-block-image img { height: min(180px,26svh) !important; max-height: min(180px,26svh) !important; }
}
