/* One coordinate plane above Stories, shared by PC and tablet. */
body { min-width:0; }
.page-canvas { container: page / inline-size; }
#main-content,.site-footer { width:var(--content-viewport-width,100%); }
.hero-stage { position:relative; }
.hero-artboard { position:relative; transform-origin:top left; font-size:14px; line-height:1.4; --header-height:90px; --header-gutter:36px; }
.hero-artboard .header-inner { gap:36px; }
.hero-artboard .primary-nav { gap:37.6px; }
.hero-artboard .primary-nav a { font-size:14px; }
.hero-artboard .hero-inner { width:min(calc(100% - 2 * var(--content-gutter)),var(--content-max)); height:calc(var(--hero-height) + var(--hero-extension-height)); min-height:0; }
.hero-artboard .hero { height:calc(var(--hero-height) + var(--hero-extension-height)); min-height:0; z-index:2; }
.page-canvas::before { content:none; }
.hero-artboard::before { position:absolute; inset:0 0 auto; height:calc(2501px * 4010 / 1962); z-index:1; content:''; pointer-events:none; background:linear-gradient(90deg,rgba(2,4,5,.96),rgba(8,11,13,.82) 39%,rgba(9,12,14,.42) 67%,rgba(3,5,6,.82)),linear-gradient(180deg,transparent,rgba(5,7,8,.28)); }
.hero-artboard .hero-copy { display:contents; }
.hero-artboard .hero-tagline-art { top:var(--hero-tagline-art-y); left:var(--hero-tagline-art-x); width:var(--hero-tagline-art-width); max-width:none; }
.hero-artboard .hero-left-round-logo { top:var(--hero-left-round-logo-y); right:var(--hero-left-round-logo-x); left:auto; width:var(--hero-left-round-logo-size); }
.hero-artboard .hero-cta-group { top:var(--hero-cta-y); left:var(--hero-cta-x); transform:scale(var(--hero-cta-scale)); max-width:none; flex-wrap:nowrap; }
.footer-wordmark { position:relative; width:100%; display:flex; justify-content:center; padding:28px 20px 0; }
.footer-wordmark .hero-title-art { position:relative; top:auto; left:auto; width:min(var(--hero-title-art-width),100%); margin:0; transform:translateX(clamp(-100px,var(--hero-title-art-x),100px)); }
.owner-slot-image { width:100%; height:100%; object-fit:contain; }
.social-icons span:has(.owner-slot-image),.footer-brand-slot:has(.owner-slot-image) { border:0; background:none; }
/* Mobile alone separates the photo from every overlaid brand element. */
[data-cim-layout-mode="mobile"] .hero-artboard { --mobile-inner-width:calc(390px - 2 * var(--content-gutter)); --header-height:64px; --header-gutter:16px; }
[data-cim-layout-mode="mobile"] .hero-artboard::before { content:none; }
[data-cim-layout-mode="mobile"] .hero-artboard .site-header { position:relative; height:64px; background:#080c0e; }
[data-cim-layout-mode="mobile"] .hero-artboard .header-inner { width:358px; min-height:64px; grid-template-columns:1fr auto; gap:16px; }
[data-cim-layout-mode="mobile"] .mobile-brand { display:block; color:#efd29c; font-size:14px; letter-spacing:.1em; }
[data-cim-layout-mode="mobile"] .primary-nav { display:none; }
[data-cim-layout-mode="mobile"] .hero-artboard .header-actions { grid-column:2; grid-row:1; gap:8px; }
[data-cim-layout-mode="mobile"] .hero-artboard .icon-button { width:44px; height:44px; }
[data-cim-layout-mode="mobile"] .hero-artboard .menu-panel { top:64px; min-width:0; width:358px; }
[data-cim-layout-mode="mobile"] .page-scene-background { position:relative; inset:auto; transform:none; overflow:hidden; pointer-events:auto; }
[data-cim-layout-mode="mobile"] .page-scene-background > .page-scene-part:not(:first-child) { display:none; }
[data-cim-layout-mode="mobile"] .hero-artboard .hero { height:auto; min-height:0; background:linear-gradient(#080c0e,#111516); }
[data-cim-layout-mode="mobile"] .hero-artboard .hero-inner { display:flex; flex-direction:column; align-items:center; width:calc(390px - 2 * var(--content-gutter)); max-width:390px; min-width:100px; height:auto; min-height:0; padding:0 0 32px; }
[data-cim-layout-mode="mobile"] .hero-extension { display:none; }
[data-cim-layout-mode="mobile"] .hero-artboard .hero-left-round-logo { position:relative; inset:auto; order:0; flex:none; width:min(var(--hero-left-round-logo-size),100%); margin-top:max(0px,var(--hero-left-round-logo-y)); transform:translateX(clamp(calc((min(var(--hero-left-round-logo-size),var(--mobile-inner-width)) - var(--mobile-inner-width)) / 2), var(--hero-left-round-logo-x), calc((var(--mobile-inner-width) - min(var(--hero-left-round-logo-size),var(--mobile-inner-width))) / 2))); }
[data-cim-layout-mode="mobile"] .hero-artboard .hero-tagline-art { position:relative; inset:auto; order:1; flex:none; width:min(var(--hero-tagline-art-width),100%); margin-top:max(0px,var(--hero-tagline-art-y)); transform:translateX(clamp(calc((min(var(--hero-tagline-art-width),var(--mobile-inner-width)) - var(--mobile-inner-width))/2),var(--hero-tagline-art-x),calc((var(--mobile-inner-width) - min(var(--hero-tagline-art-width),var(--mobile-inner-width)))/2))); }
[data-cim-layout-mode="mobile"] .hero-artboard .hero-cta-group { position:relative; inset:auto; order:2; width:min(calc(340px * var(--hero-cta-scale)),100%); max-width:100%; display:grid; grid-template-columns:1fr; gap:var(--hero-cta-gap); margin-top:max(0px,var(--hero-cta-y)); transform:translateX(clamp(calc((min(340px * var(--hero-cta-scale),var(--mobile-inner-width)) - var(--mobile-inner-width))/2),var(--hero-cta-x),calc((var(--mobile-inner-width) - min(340px * var(--hero-cta-scale),var(--mobile-inner-width)))/2))); }
[data-cim-layout-mode="mobile"] .hero-artboard .hero-cta-group .button { width:100%; min-width:0; min-height:64px; padding:12px; font-size:16px; }
[data-cim-layout-mode="mobile"] .hero-artboard .button-stories__art,[data-cim-layout-mode="mobile"] .hero-artboard .button-video__art { inset:auto; top:50%; left:0; width:100%; height:auto; aspect-ratio:3; transform:translateY(-50%); }
[data-cim-layout-mode="mobile"] .hero-glow-slot { display:none; }
[data-cim-layout-mode="mobile"] .hero-resize-handle { display:none; }

[data-cim-layout-mode="mobile"] .builder-control:has(#builder-heroHeight), [data-cim-layout-mode="mobile"] .builder-control:has(#builder-heroExtensionHeight), [data-cim-layout-mode="mobile"] .builder-control:has(#builder-heroCopyWidth) { display:none; }
/* Fixed button boxes prevent font hinting at browser zoom from moving the art. */
[data-cim-layout-mode="desktop"] .hero-artboard .hero-cta-group,
[data-cim-layout-mode="tablet"] .hero-artboard .hero-cta-group { width:calc(330px + var(--hero-cta-gap)); grid-template-columns:165px 165px; }
[data-cim-layout-mode="desktop"] .hero-artboard .hero-cta-group .button,
[data-cim-layout-mode="tablet"] .hero-artboard .hero-cta-group .button { width:165px; min-width:0; height:55px; min-height:55px; padding:0; }

/* The entire 3:1 artwork now lies inside its native link rectangle. */
.hero-artboard .hero-cta-group :is(.button-stories__art,.button-video__art) {
  inset:0; width:100%; height:100%; aspect-ratio:3; transform:none;
}
[data-cim-layout-mode="mobile"] .hero-artboard .hero-cta-group .button {
  height:auto; min-height:64px; aspect-ratio:3; padding:0;
}
/* Compensate native header controls without changing the artboard transform. */
[data-cim-layout-mode="desktop"] .hero-artboard .primary-nav a { font-size:32px; }
[data-cim-layout-mode="desktop"] .hero-artboard .icon-button { width:104px; height:104px; }
[data-cim-layout-mode="desktop"] .hero-artboard { --header-height:112px; }
[data-cim-layout-mode="desktop"] .hero-artboard .menu-panel { font-size:32px; }
[data-cim-layout-mode="tablet"] .hero-artboard .primary-nav { display:none; }
[data-cim-layout-mode="tablet"] .hero-artboard .header-actions { grid-column:2; }
[data-cim-layout-mode="tablet"] .hero-artboard .icon-button { width:144px; height:144px; }
[data-cim-layout-mode="tablet"] .hero-artboard { --header-height:150px; }
[data-cim-layout-mode="tablet"] .hero-artboard .menu-panel { top:150px; font-size:48px; min-width:900px; }
.hero-artboard .menu-panel a { font-size:inherit; min-height:2.8em; }
@media (max-width:1100px) {
  [data-cim-layout-mode="desktop"] .hero-artboard .primary-nav { display:none; }
  [data-cim-layout-mode="desktop"] .hero-artboard .header-actions { grid-column:2; }
  [data-cim-layout-mode="desktop"] .hero-artboard .icon-button { width:180px; height:180px; }
  [data-cim-layout-mode="desktop"] .hero-artboard { --header-height:190px; }
  [data-cim-layout-mode="desktop"] .hero-artboard .menu-panel { top:190px; font-size:60px; min-width:900px; }
  /* Maintain target intent in narrow desktop windows without rewriting saved tuning. */
  [data-cim-layout-mode="desktop"] .hero-artboard .hero-cta-group .button { height:86px; min-height:86px; width:258px; }
  [data-cim-layout-mode="desktop"] .hero-artboard .hero-cta-group { width:calc(516px + var(--hero-cta-gap)); grid-template-columns:258px 258px; }
}

[data-cim-layout-mode="desktop"] .hero-artboard .search-button span,
[data-cim-layout-mode="tablet"] .hero-artboard .search-button span { width:44px; border-width:4px; }
[data-cim-layout-mode="desktop"] .hero-artboard .menu-button span,
[data-cim-layout-mode="tablet"] .hero-artboard .menu-button span { width:48px; height:4px; margin:8px; }
