/* Phone, foldable and tablet shell. Loaded after the original art direction. */
.site-header {
 padding-left: max(4.5%, env(safe-area-inset-left, 0px));
 padding-right: max(4.5%, env(safe-area-inset-right, 0px));
}
.site-header .brand, .site-header .brand-copy { min-width: 0; }
.site-header .brand-copy { overflow-wrap: anywhere; }
.site-header .language a { display: flex; align-items: center; justify-content: center; min-height: 44px; }
.site-header .menu-toggle { min-height: 44px; }
.about-dialog { max-height: calc(100svh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; }

/* Collapse before the company name, navigation and language controls compete. */
@media (max-width: 1180px) {
 .site-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 44px;
  column-gap: clamp(6px, 1.5vw, 16px);
  padding-left: max(clamp(12px, 4vw, 32px), env(safe-area-inset-left, 0px));
  padding-right: max(clamp(12px, 4vw, 32px), env(safe-area-inset-right, 0px));
  z-index: 30;
 }
 .site-header .brand { gap: 10px; }
 .site-header .brand-copy { max-width: none; font-size: clamp(12px, 1.7vw, 17px); line-height: 1.4; }
 html[lang=en] .site-header .brand-copy { max-width: none; font-size: clamp(11px, 1.65vw, 16px); letter-spacing: 0; }
 .site-header .brand-mark { width: 42px; height: 42px; }
 .site-header .brand-mark img { width: 85px; height: auto; left: -21px; top: -14px; }
 .site-header .language { margin-left: 0; font-size: 12px; }
 .site-header .language a { padding: 0 11px; }
 .site-header .menu-toggle {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin: 0; padding: 0;
  border: 1px solid #315062; border-radius: 50%; background: #10273480; color: #c8e5ed;
 }
 .site-header .menu-toggle svg { width: 21px; height: 21px; }
 .site-header .desktop-nav { display: none; }
 .site-header .desktop-nav.mobile-open {
  display: flex; position: absolute; top: calc(100% - 2px);
  left: max(12px, env(safe-area-inset-left, 0px));
  right: max(12px, env(safe-area-inset-right, 0px));
  padding: 12px; flex-direction: column; align-items: stretch; gap: 4px;
  max-height: calc(100svh - 100px - env(safe-area-inset-top, 0px));
  max-height: calc(100dvh - 100px - env(safe-area-inset-top, 0px));
  overflow-y: auto; overscroll-behavior: contain;
  background: #0b2233 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  border: 1px solid #28596d; border-radius: 14px; box-shadow: 0 15px 50px #0008;
  white-space: normal; z-index: 30;
 }
 .site-header .desktop-nav.mobile-open a,
 .site-header .desktop-nav.mobile-open button { display: block; min-height: 44px; padding: 12px; text-align: left; }
 .site-header .desktop-nav.mobile-open .active::after { left: 12px; right: 12px; }
 .static-showroom { --site-header-height: calc(76px + env(safe-area-inset-top, 0px)); }
 .static-showroom .site-header {
  height: var(--site-header-height);
  padding-top: calc(10px + env(safe-area-inset-top, 0px)); padding-bottom: 10px;
 }
}

/* A flowing page remains usable on narrow outer screens and square inner screens. */
@media (max-width: 1100px) {
 .static-showroom .exhibition {
  display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: 'copy' 'product' 'dock';
  gap: 0; height: auto; min-height: calc(100svh - var(--site-header-height, 76px)); max-height: none;
  overflow: clip;
  padding: 14px max(5%, env(safe-area-inset-right, 0px)) max(22px, env(safe-area-inset-bottom, 0px)) max(5%, env(safe-area-inset-left, 0px));
 }
 .static-showroom .exhibition > section { min-width: 0; }
 .static-showroom .hero-copy { grid-area: copy; position: relative; left: auto; top: auto; width: 100%; text-align: center; }
 .static-showroom .hero-copy .eyebrow { display: none; }
 .static-showroom .hero-copy h1 { font-size: clamp(25px, 4.5vw, 43px); line-height: 1.25; white-space: normal; }
 .static-showroom .hero-copy h1 br { display: none; }
 html[lang=en] .static-showroom .hero-copy h1 { font-size: clamp(28px, 4.5vw, 43px); line-height: 1.2; }
 .static-showroom .hero-copy .tiny-rule { margin: 13px auto; }
 .static-showroom .hero-copy p { font-size: 14px; letter-spacing: .035em; line-height: 1.5; }
 .static-showroom .hero-actions { justify-content: center; flex-direction: row; flex-wrap: wrap; gap: 12px; margin-top: 17px; }
 .static-showroom .hero-actions .primary,
 .static-showroom .hero-actions .outline { min-height: 44px; padding: 10px 19px; font-size: 13px; }
 .static-showroom .hero-actions .primary::after,
 .static-showroom .hero-actions .outline::after { font-size: 18px; margin-left: 12px; }
 .static-showroom .product-stage {
  grid-area: product; position: relative; left: auto; right: auto; top: auto; bottom: auto;
  height: clamp(352px, 56vw, 460px); margin: 0 -5.555%;
 }
 .static-showroom .photo-frame { --float-y: 0px; inset: 0 0 88px; }
 .static-showroom .photo-dust { inset: 2% 6% 47%; }
 .static-showroom .stage-label { bottom: 5px; left: 5%; right: 5%; }
 .static-showroom .stage-label h2 { font-size: clamp(21px, 3.5vw, 28px); line-height: 1.3; letter-spacing: .035em; overflow-wrap: anywhere; }
 .static-showroom .stage-label p { font-size: 10px; line-height: 1.4; letter-spacing: .1em; margin-top: 5px; overflow-wrap: anywhere; }
 .static-showroom .stage-label .tiny-rule { display: none; }
 .static-showroom .stage-controls { top: 10px; bottom: auto; right: max(5%, env(safe-area-inset-right, 0px)); }
 .static-showroom .gesture { position: static; font-size: 10px; min-width: 0; }
 .static-showroom .gesture svg { width: 16px; height: 16px; }
 .static-showroom .spec-panel { left: 50%; right: auto; bottom: 86px; width: min(82%, 410px); max-width: 410px; padding: 13px 16px 11px; }
 .static-showroom .spec-grid { margin: 10px 0 8px; }
 .static-showroom .spec-item dd { font-size: 27px; }
 .static-showroom .spec-panel[data-count='4'] .spec-item dd { font-size: 24px; }
 .static-showroom .product-dock { grid-area: dock; position: relative; left: auto; right: auto; bottom: auto; transform: none; width: 100%; max-width: none; margin-top: 14px; }
 .static-showroom .dock-row { gap: 3px; }
 .static-showroom .dock-arrow { flex: 0 0 44px; width: 44px; min-height: 44px; padding: 0; }
 .static-showroom .product-list { overscroll-behavior-x: contain; scroll-padding-inline: 4px; }
 .static-showroom .product-option { line-height: 1.35; }
 .static-showroom .product-option span { max-width: 100%; overflow-wrap: anywhere; }
 .static-showroom .dock-tabs { gap: 24px; margin: 0 4%; }
 .static-showroom .dock-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
 .static-showroom .product-counter { display: none; }
}

@media (max-width: 540px) {
 .site-header .brand { gap: 6px; }
 .site-header .brand-mark { width: 34px; height: 34px; }
 .site-header .brand-mark img { width: 69px; left: -17px; top: -11px; }
 .site-header .brand-copy { font-size: 12px; letter-spacing: 0; line-height: 1.4; }
 html[lang=en] .site-header .brand-copy { font-size: 10px; line-height: 1.3; }
 .site-header .language a { padding: 0 8px; }
 .static-showroom { --site-header-height: calc(72px + env(safe-area-inset-top, 0px)); }
 .static-showroom .site-header { padding-top: calc(8px + env(safe-area-inset-top, 0px)); padding-bottom: 8px; }
 .static-showroom .exhibition { padding-top: 12px; }
 .static-showroom .hero-copy h1 { font-size: clamp(24px, 6.7vw, 34px); }
 html[lang=en] .static-showroom .hero-copy h1 { font-size: clamp(27px, 7vw, 34px); }
 html[lang=en] .static-showroom .hero-copy h1 br { display: block; }
 .static-showroom .hero-copy p { font-size: 12px; }
 .static-showroom .hero-actions { gap: 8px; margin-top: 14px; }
 .static-showroom .hero-actions .primary,
 .static-showroom .hero-actions .outline { font-size: 12px; padding: 9px 13px; }
 .static-showroom .hero-actions .primary::after,
 .static-showroom .hero-actions .outline::after { margin-left: 9px; }
 .static-showroom .product-stage { height: clamp(352px, 95vw, 405px); }
 .static-showroom .stage-label { bottom: 6px; }
 .static-showroom .stage-label h2 { font-size: 22px; }
 html[lang=en] .static-showroom .stage-label h2 { font-size: 20px; }
 .static-showroom .stage-label p { font-size: 9px; }
 .static-showroom .spec-panel { width: min(88%, 350px); bottom: 83px; padding: 11px 12px 9px; }
 .static-showroom .spec-heading h2 { font-size: 10px; }
 .static-showroom .spec-grid { margin: 9px 0 7px; }
 .static-showroom .spec-item { padding-left: 8px; }
 .static-showroom .spec-item:first-child { padding-left: 0; }
 .static-showroom .spec-item dt { font-size: 10px; min-height: 14px; }
 .static-showroom .spec-item dd { font-size: clamp(22px, 6.3vw, 26px); }
 .static-showroom .spec-panel[data-count='4'] .spec-item { padding-left: 6px; }
 .static-showroom .spec-panel[data-count='4'] .spec-item:first-child { padding-left: 0; }
 .static-showroom .spec-panel[data-count='4'] .spec-item dd { font-size: clamp(20px, 5.4vw, 23px); }
 .static-showroom .spec-note { font-size: 10px; line-height: 1.4; }
 .static-showroom .product-option { width: 110px; min-width: 110px; min-height: 88px; }
 .static-showroom .product-dock { margin-top: 12px; }
}

/* A landscape phone uses both sides but can still scroll to every control. */
@media (max-width: 1100px) and (min-width: 601px) and (max-height: 540px) {
 .static-showroom { --site-header-height: calc(60px + env(safe-area-inset-top, 0px)); }
 .static-showroom .site-header { padding-top: calc(8px + env(safe-area-inset-top, 0px)); padding-bottom: 8px; }
 .static-showroom .exhibition { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); grid-template-areas: 'copy product' 'dock dock'; gap: 8px 20px; padding-top: 4px; }
 .static-showroom .hero-copy { align-self: center; text-align: left; }
 .static-showroom .hero-copy h1,
 html[lang=en] .static-showroom .hero-copy h1 { font-size: clamp(27px, 4vw, 38px); }
 .static-showroom .hero-copy .tiny-rule { margin-left: 0; }
 .static-showroom .hero-actions { justify-content: flex-start; gap: 8px; }
 .static-showroom .hero-actions .primary,
 .static-showroom .hero-actions .outline { padding-inline: 12px; }
 .static-showroom .product-stage { height: 330px; margin: 0; }
 .static-showroom .stage-label h2 { font-size: 22px; }
 html[lang=en] .static-showroom .stage-label h2 { font-size: 20px; }
 .static-showroom .spec-panel { width: 94%; bottom: 79px; padding: 10px 12px 9px; }
 .static-showroom .spec-item dd { font-size: 24px; }
 .static-showroom .spec-panel[data-count='4'] .spec-item dd { font-size: 21px; }
 .static-showroom .product-dock { margin-top: 0; }
}

/* The compact callout points to the menu and remains part of its button. */
@media (max-width:1180px) {
 .site-header .menu-toggle {position:relative;overflow:visible;}
 .site-header .menu-discovery {position:absolute;z-index:32;top:calc(100% + 4px);right:0;display:flex;align-items:center;gap:7px;width:max-content;max-width:calc(100vw - 32px);padding:6px 9px;border:1px solid #79c7d180;border-radius:9px;background:#0b2938;color:#dcf9fa;box-shadow:0 4px 12px #00111e70;font-size:12px;font-weight:500;line-height:1.2;letter-spacing:0;white-space:nowrap;cursor:pointer;animation:menu-discovery-pulse 3.6s ease-in-out infinite;}
 .site-header .menu-discovery::before {content:'';position:absolute;right:17px;top:-4px;width:6px;height:6px;transform:rotate(45deg);border-top:1px solid #79c7d180;border-left:1px solid #79c7d180;background:#0b2938;}
 .site-header .menu-toggle .menu-discovery-arrow {width:15px;height:15px;flex:none;color:#76e1df;}
 .site-header .menu-toggle:focus-visible .menu-discovery {animation:none;opacity:1;}
 .site-header .menu-toggle[aria-expanded=true] .menu-discovery {display:none;}
}

@media (max-width:1180px) and (hover:hover) {
 .site-header .menu-toggle:hover .menu-discovery {animation:none;opacity:1;}
}

@keyframes menu-discovery-pulse {
 0%,20%,100% {opacity:1;}
 50%,65% {opacity:.4;}
}

@media (prefers-reduced-motion:reduce) {
 .site-header .menu-discovery {animation:none;opacity:1;}
}
