/* Shared type scale, retained from the approved editorial direction. */
:root {
  --font-display:var(--font-body); --weight-regular:400;
  --title-sm:16px; --title-md:22px; --title-lg:28px;
  --title-xl:36px; --title-2xl:36px; --title-hero:48px;
  --editorial-title:22px; --editorial-copy:14px; --editorial-leading:1.42;
  --banner-duration:360ms; --banner-control-ground:#191919;
  --nav-gold:#d5b56f; --nav-panel-line:#333333; --nav-weight:500; --nav-search-radius:12px; --nav-search-ground:#1c1c1e; --nav-search-border:#767676; --nav-search-width:240px;
}
h1,h2,h3,h4,strong,b { font-weight:var(--weight-regular); letter-spacing:0; }
h1,h2,h3,h4 { line-height:1.333; }
.hero-title h1 { font-size:var(--title-hero); line-height:1.25; max-width:22ch; }
.hero-title>.eyebrow { margin-bottom:16px; }
.hero-body { font-size:var(--editorial-copy); line-height:var(--editorial-leading); max-width:60ch; }
.eyebrow { font-weight:400; letter-spacing:.01em; }
.home-page .text-link,.home-page .button { font-size:var(--text-xs); font-weight:400; letter-spacing:.01em; }
.section-heading h2,.proof-intro h2,.global-copy h2,.catalogue-heading h3 { font-size:var(--editorial-title); line-height:1.333; max-width:40ch; }
.space-copy h3,.cta-section h2 { font-size:var(--title-xl); line-height:1.333; }
.theatre-caption>strong { font-size:var(--editorial-title); line-height:1.333; }
.catalogue-copy h4,.product-tab-copy>strong,.why-card h3 { font-size:var(--text-base); line-height:1.35; }
.proof-intro p:not(.eyebrow),.split-heading>p,.catalogue-heading>p,.why-card p,.global-copy>p:last-child,.partner-line>p,.cta-body,.product-tab-body,.footer-brand p { font-size:var(--editorial-copy); line-height:var(--editorial-leading); }
/* Media and controls inherit the existing monochrome design tokens. */
/* Black navigation surface and gold brand accent, retaining directional reveal. */
.site-header { position:fixed; top:0; left:0; width:100%; z-index:50; background:var(--nav-surface); color:var(--nav-foreground); border-bottom:0; --nav-surface:#000000; --nav-foreground:var(--white); transition:transform var(--motion-enter) ease-out,opacity var(--motion-small) ease-out; }
.site-header .nectunt-brand { background-color:var(--nav-gold); -webkit-mask-image:url('assets/nectunt-logo.png'); mask-image:url('assets/nectunt-logo.png'); -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; }
.site-header .nectunt-brand img { opacity:0; }
.site-header :where(a,button,summary):focus-visible { outline-color:currentColor; }
.site-header .nav-products-panel :where(a,button):focus-visible { outline-color:currentColor; }
.display-site { padding-top:var(--site-nav-height,var(--header-height)); }
.site-header.is-nav-hidden { transform:translateY(-100%); opacity:0; visibility:hidden; pointer-events:none; transition:transform var(--motion-exit) ease-in,opacity var(--motion-exit) ease-in,visibility 0s var(--motion-exit); }

@media (prefers-reduced-motion:reduce) { .site-header,.site-header.is-nav-hidden { transition:none; } }
.home-page { position:relative; }

.site-header .desktop-nav { display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; gap:var(--space-8) var(--space-24); }
.site-header>.desktop-nav,.site-header>.header-actions,.site-header>.nectunt-brand { order:0; grid-column:auto; }
.nav-products { position:relative; flex:none; }
.nav-products>summary { display:flex; align-items:center; gap:var(--space-4); min-height:var(--touch); list-style:none; white-space:nowrap; }
.nav-products>summary::-webkit-details-marker { display:none; }
.nav-products .nav-chevron { width:var(--space-16); height:var(--space-16); transition:transform var(--motion-small) ease-out; }
.nav-products[open] .nav-chevron { transform:rotate(180deg); }
.nav-products-panel { position:absolute; top:100%; left:0; z-index:60; display:grid; min-width:200px; max-width:calc(100vw - var(--gutter) * 2); padding:var(--space-8) var(--space-16); background:var(--nav-surface); color:var(--nav-foreground); border:var(--border) solid var(--nav-panel-line); }
.nav-products-panel>a { display:flex; align-items:center; min-height:var(--touch); white-space:nowrap; }
.nav-products>summary.is-current,.nav-products-panel>a[aria-current=page] { text-decoration:underline; text-underline-offset:var(--space-8); }
.site-header .language-switch .language-icon { display:flex; align-items:center; justify-content:center; min-width:var(--touch); min-height:var(--touch); }
.language-icon>.icon { width:var(--space-24); height:var(--space-24); stroke-width:1.5; }
@media (hover:hover) { .nav-products>summary:hover,.nav-products-panel>a:hover { text-decoration:underline; text-underline-offset:var(--space-4); } }
@media (prefers-reduced-motion:reduce) { .nav-products .nav-chevron { transition:none; } }
.site-header .desktop-nav>a { min-height:var(--touch); }
.site-header .header-actions>.language-switch { display:flex; }
.motion-banner { width:min(100%,var(--content-width)); margin-inline:auto; background:transparent; }
.banner-video-frame { background:var(--banner-control-ground); }
.banner-video { display:block; width:100%; height:auto; aspect-ratio:1920/1080; object-fit:contain; pointer-events:none; }
.banner-video::-webkit-media-controls,.banner-video::-webkit-media-controls-enclosure,.banner-video::-webkit-media-controls-panel,.banner-video::-webkit-media-controls-start-playback-button { display:none!important; -webkit-appearance:none; }
@media (max-width:1279px) {
  .site-header { grid-template-columns:auto minmax(0,1fr) auto; gap:var(--space-16); }
  .site-header .desktop-nav { gap:var(--space-8) var(--space-12); }
}
@media (max-width:767px) {
  :root { --title-hero:28px; --title-xl:20px; --title-2xl:20px; --title-lg:20px; --title-md:16px; --editorial-title:16px; }
  .hero-title h1 { font-size:var(--title-hero); }
  .catalogue-copy h4,.product-tab-copy>strong,.why-card h3,.theatre-caption>strong { font-size:16px; }
  .site-header { gap:8px 16px; }
  .site-header .desktop-nav { gap:0 var(--space-12); font-size:var(--text-sm); }
}
@media (max-width:679px) {
  .site-header { grid-template-columns:minmax(0,1fr) auto; }
  .site-header>.header-actions { grid-column:2; grid-row:1; }
  .site-header>.desktop-nav { grid-column:1/-1; flex-wrap:wrap; justify-content:flex-start; gap:var(--space-8) var(--space-20); }
}

@media (hover:hover) {
  .site-header .desktop-nav a:hover,
  .site-header .nav-products>summary:hover,
  .site-header .language-icon:hover { color:var(--nav-gold); }
}

/* Medium navigation, scene destinations and product-name search. */
.site-header { font-weight:var(--nav-weight); }
.site-header .desktop-nav { justify-content:flex-end; }
.site-header .header-actions { gap:var(--space-12); }
.site-header .nav-contact { display:inline-flex; align-items:center; justify-content:center; min-height:var(--touch); padding:var(--space-8) var(--space-20); background:var(--nav-gold); color:#000; font-size:var(--text-sm); font-weight:var(--nav-weight); white-space:nowrap; text-decoration:none; }
.site-header .nav-contact:focus-visible { outline-color:var(--nav-gold); }
.nav-products-panel { left:var(--scene-panel-left,0px); width:560px; max-width:calc(100vw - var(--space-32)); grid-template-columns:minmax(0,184px) minmax(0,1fr); gap:var(--space-24); padding:var(--space-16); max-height:calc(100dvh - var(--site-nav-height,var(--header-height)) - var(--space-16)); overflow-y:auto; overscroll-behavior:contain; }
.nav-scenes-list.od-stack { gap:0; }
.nav-scenes-list>a,.nav-scene-trigger { display:flex; align-items:center; min-height:var(--touch); width:100%; gap:var(--space-8); padding:var(--space-8); line-height:1.5; color:var(--nav-foreground); }
.nav-scene-trigger { justify-content:space-between; }
.nav-scene-trigger>.icon { width:var(--space-16); height:var(--space-16); }
.nav-scene-trigger[aria-expanded=true] { color:var(--nav-gold); }
.nav-scene-results { min-width:0; border-left:var(--border) solid var(--nav-panel-line); padding-left:var(--space-24); }
.nav-scene-products.od-stack { gap:0; }
.nav-scene-title { margin:0; padding:var(--space-8) 0; font-size:var(--text-sm); color:var(--nav-gold); }
.nav-scene-products>a { display:flex; align-items:center; min-height:var(--touch); padding:var(--space-8) 0; line-height:1.5; overflow-wrap:anywhere; color:var(--nav-foreground); }
.nav-scene-products>.nav-scene-all { margin-top:var(--space-8); text-decoration:underline; text-underline-offset:var(--space-4); }
.nav-scene-product[aria-current=page] { text-decoration:underline; text-underline-offset:var(--space-4); }
@media (hover:hover) { .nav-scene-trigger:hover { color:var(--nav-gold); } }
@media (max-width:767px) {
  .nav-products-panel { width:calc(100vw - var(--space-32)); grid-template-columns:minmax(0,1fr); gap:var(--space-16); }
  .nav-scenes-list.od-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-8); }
  .nav-scenes-list>a { grid-column:1/-1; }
  .nav-scene-results { border-left:0; border-top:var(--border) solid var(--nav-panel-line); padding-left:0; padding-top:var(--space-8); }
}

.nav-search { display:flex; align-items:center; gap:var(--space-8); width:var(--nav-search-width); min-width:0; flex:0 1 var(--nav-search-width); margin:0; padding:0 0 0 var(--space-12); border:var(--border) solid var(--nav-search-border); border-radius:var(--nav-search-radius); background:var(--nav-search-ground); color:var(--white); }
.nav-search-field { flex:1; min-width:0; gap:0; }
.nav-search-field>label { font-size:var(--text-xs); line-height:1.5; font-weight:var(--nav-weight); }
.nav-search-field>input { min-height:var(--space-24); padding:0; border:0; border-radius:0; background:transparent; color:var(--white); font-size:var(--text-sm); font-weight:400; line-height:1.5; }
.nav-search-field>input::placeholder { color:#bdbdbd; opacity:1; }
.nav-search:focus-within { border-color:var(--nav-gold); }
.site-header .nav-search-field>input:focus-visible { outline:none; box-shadow:none; }
.nav-search-submit { display:flex; flex:none; align-items:center; justify-content:center; width:var(--touch); min-height:var(--touch); }
@media (hover:hover) {
  .site-header .nav-contact:hover { background:var(--nav-gold); color:#000; text-decoration:underline; text-underline-offset:var(--space-4); }
  .site-header .nav-search-submit:hover { color:var(--nav-gold); }
}

@media (max-width:959px) {
  .site-header { grid-template-columns:minmax(0,1fr) auto; }
  .site-header>.header-actions { grid-column:2; grid-row:1; }
  .site-header>.desktop-nav { grid-column:1/-1; flex-wrap:wrap; justify-content:flex-start; gap:var(--space-8) var(--space-20); }
  .site-header .nav-search { margin-left:auto; flex:0 1 var(--nav-search-width); max-width:var(--nav-search-width); }
}
@media (max-width:599px) {
  .site-header .nav-search { flex:0 1 var(--nav-search-width); max-width:var(--nav-search-width); width:var(--nav-search-width); margin:0; }
  .site-header .header-actions { gap:var(--space-8); }
  .site-header .nav-contact { padding-inline:var(--space-12); }
}
@media (max-width:374px) { .site-header>.nectunt-brand { width:104px; } }

/* Compact one-line search, with a persistent accessible name. */
.nav-search { min-height:var(--touch); gap:var(--space-4); }
.nav-search-field { position:relative; }
.nav-search-field>.nav-search-label { position:absolute; width:1px; height:1px; padding:0; border:0; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.nav-search-field>input { min-height:var(--space-40); font-size:var(--text-base); -webkit-appearance:none; appearance:none; }
.nav-search-submit>.icon { width:var(--space-20); height:var(--space-20); stroke-width:1.75; }

/* Raised gold Contact button, scoped to the annotated header action. */
:root {
  --contact-radius:12px; --contact-weight:700;
  --contact-highlight:#dfc183; --contact-lowlight:#cba85f;
  --contact-face:linear-gradient(180deg,var(--contact-highlight),var(--contact-lowlight));
  --contact-raised-shadow:inset 0 4px 12px rgb(255 255 255 / .12),inset 0 -4px 12px rgb(0 0 0 / .06),0 6px 16px rgb(0 0 0 / .28);
  --contact-pressed-shadow:inset 0 2px 6px rgb(0 0 0 / .12),0 2px 8px rgb(0 0 0 / .2);
}
.site-header .nav-contact {
  border:var(--border) solid transparent;
  border-radius:var(--contact-radius);
  background:var(--contact-face); color:#000;
  font-weight:var(--contact-weight);
  box-shadow:var(--contact-raised-shadow);
  transition:transform var(--motion-small) ease-out;
}
@media (hover:hover) {
  .site-header .nav-contact:hover { background:var(--contact-face); color:#000; transform:translateY(-1px); text-decoration:none; }
}
.site-header .nav-contact:active { background:var(--contact-face); color:#000; transform:translateY(1px); box-shadow:var(--contact-pressed-shadow); }
@media (prefers-reduced-motion:reduce) { .site-header .nav-contact { transition:none; } }

/* Keep the primary links two spacing steps from the brand. */
@media (min-width:960px) {
  .site-header { column-gap:var(--space-32); }
  .site-header>.desktop-nav { justify-content:flex-start; column-gap:var(--space-32); }
  .site-header .nav-search { margin-left:auto; }
}

/* Keep focus feedback on the single rounded search surface. */
.site-header .nav-search-field>input:focus,
.site-header .nav-search-submit:focus,
.site-header .nav-search-submit:focus-visible { outline:none; box-shadow:none; }
.site-header .nav-search:focus-within { border-color:var(--nav-gold); }
.site-header .nav-search-field>input { caret-color:var(--nav-gold); }

/* Give the primary links more breathing room on wide screens. */
@media (min-width:1280px) { .site-header>.desktop-nav { column-gap:var(--space-48); } }
