/* One viewport-wide panorama; one shared content grid. */
.nvd-page {padding:0;}
.ndv-panorama {width:100%;min-height:calc(var(--site-vh, 1svh) * 100);}
.ndv-panorama-images {inset:0;}
.ndv-panorama-images img {object-position:center center;}
.ndv-panorama-content.ndv-wrap {width:calc(100% - var(--nvd-gutter)*2);max-width:none;min-height:calc(var(--site-vh, 1svh) * 100);padding-block:clamp(32px,calc(var(--site-vw, 1vw) * 4),64px) 28px;}
.ndv-panorama-content header {max-width:none;}
.ndv-panorama-content h2 {font-size:clamp(56px,calc(var(--site-vw, 1vw) * 6.5),112px);font-weight:400;line-height:1.04;letter-spacing:normal;}
.ndv-panorama-content header>p:first-child {margin:0 0 24px;}
.ndv-panorama-content header>p:last-child {margin:24px 0 0;}
.ndv-panorama-thought {width:100%;max-width:none;min-height:0;margin:auto 0 24px;padding-top:48px;}
.ndv-panorama-thought p {font-size:clamp(16px,calc(var(--site-vw, 1vw) * 1.8),28px);white-space:nowrap;line-height:1.3;}
.ndv-panorama-nav a {border:0;min-height:76px;padding-block:16px;}
.ndv-panorama-content>.ndv-business-link {color:#fff;text-decoration:none;gap:6px;min-height:48px;margin-top:20px;}
.ndv-panorama-content>.ndv-business-link:visited {color:#fff;}
.ndv-panorama-content>.ndv-business-link svg {margin-left:18px;color:#ff6a33;}
.ndv-panorama-content>.ndv-business-link:hover {color:#ff6a33;}
.ndv-panorama a:focus-visible {outline:2px solid #ff6a33;outline-offset:6px;}
@media(max-width:700px) {
 .ndv-panorama-content.ndv-wrap {min-height:calc(var(--site-vh, 1svh) * 100);padding-block:32px 24px;}
 .ndv-panorama-content h2 {font-size:clamp(44px,calc(var(--site-vw, 1vw) * 10),70px);}
 .ndv-panorama-content header>p:last-child {max-width:none;font-size:15px;}
 .ndv-panorama-thought {width:100%;max-width:none;margin:auto 0 20px;padding-top:36px;}
 .ndv-panorama-thought p {font-size:14px;}
 .ndv-panorama-nav {column-gap:24px;}
 .ndv-panorama-nav a {min-height:76px;font-size:16px;}
}

.ndv-panorama-nav a {text-decoration:none;}

/* Text-only direction selectors: persistent selection, no navigation. */
.ndv-panorama-nav button {appearance:none;border:0;border-radius:0;background:none;box-shadow:none;text-align:left;color:#e9e9e9;font:inherit;font-size:clamp(18px,calc(var(--site-vw, 1vw) * 1.4),24px);line-height:1.23;min-height:76px;padding:16px 0;cursor:pointer;transition:color .25s;}
.ndv-panorama-nav button.is-active {color:#ff6a33;}
.ndv-panorama-content>button.ndv-business-link {appearance:none;border:0;border-radius:0;background:none;padding:0;font-family:inherit;font-weight:400;cursor:pointer;}
.ndv-panorama-content>button.ndv-business-link[aria-pressed="true"] {color:#ff6a33;}
.ndv-panorama button:focus-visible {outline:2px solid #ff6a33;outline-offset:6px;}
@media(max-width:700px) {.ndv-panorama-nav button {font-size:16px;min-height:76px;}}

/* Direction grid and project-page CTA rhythm. */
.ndv-panorama-content h2,.ndv-panorama-content h2 span {letter-spacing:normal;line-height:.98;}
.ndv-panorama-content header>p:first-child {font-size:clamp(17px,calc(var(--site-vw, 1vw) * 1.4),22px);line-height:1.25;margin-bottom:22px;}
.ndv-panorama-thought {justify-content:flex-end;}
.ndv-panorama-thought p {text-align:right;letter-spacing:normal;padding-bottom:16px;border-bottom:1px solid #ffffff55;}
.ndv-panorama-nav {row-gap:12px;}
.ndv-panorama-nav button {border-bottom:1px solid #ffffff55;transition:color .25s,border-color .25s;}
.ndv-panorama-nav button.is-active {border-bottom-color:#ff6a33;}
.ndv-panorama-content>a.ndv-business-link {width:calc((100% - 108px)/4);min-height:52px;margin:28px 0 0 auto;padding:14px 24px;gap:20px;justify-content:space-between;background:#ff6a33;color:#fff;font-size:16px;line-height:1.3;transition:background .25s;}
.ndv-panorama-content>a.ndv-business-link span {color:inherit;}
.ndv-panorama-content>a.ndv-business-link svg {margin:0;width:16px;height:16px;color:inherit;}
.ndv-panorama-content>a.ndv-business-link:hover {background:#e95a27;color:#fff;}
@media(max-width:1000px) and (min-width:701px){.ndv-panorama-content>a.ndv-business-link {width:calc((100% - 72px)/4);padding-inline:16px;gap:12px;}}
@media(max-width:700px){
 .ndv-panorama-content header>p:first-child {font-size:17px;}
 .ndv-panorama-thought p {padding-bottom:12px;}
 .ndv-panorama-content>a.ndv-business-link {width:100%;min-height:48px;margin-top:24px;padding:14px 18px;}
}

/* Compact mobile controls, anchored by the flexible space above them. */
@media(max-width:700px){
 .ndv-panorama-nav {row-gap:6px;column-gap:20px;}
 .ndv-panorama-nav button {min-height:60px;padding:10px 0;font-size:14px;line-height:1.22;}
 .ndv-panorama-thought {margin-bottom:16px;}
 .ndv-panorama-content>a.ndv-business-link {min-height:44px;margin-top:18px;padding:12px 16px;font-size:14px;}
}

:root {--nvd-gutter:calc(var(--site-vw, 1vw) * 5);}
@media(max-width:700px){:root{--nvd-gutter:20px;}}

/* Touch devices keep tap selection without simulated hover highlights. */
@media(min-width:701px) and (hover:hover) and (pointer:fine) {
 .ndv-panorama-nav button:hover {color:#ff6a33;border-bottom-color:#ff6a33;}
}
