/* Base */
:root {
  --bg: #000000;
  --bg-alt: #000000;
  --panel: #ededed;
  --text: #f5f5f5;
  --text-dim: #c8c8c8;
  --accent: #ffffff;
  --accent-soft: #d6d6d6;
  --focus: #4da3ff;
  --brand-font: 'Darker Grotesque', sans-serif;
  --body-font: 'Darker Grotesque', sans-serif;
  --ease: cubic-bezier(.4,.0,.2,1);
}

* { box-sizing: border-box; }
/* Enforce Darker Grotesque everywhere (including form controls and pseudo elements) */
*, *::before, *::after, body, button, input, select, textarea { font-family: var(--body-font) !important; }
html { scroll-behavior: smooth; font-size:18px; }
/* Clean base body rule (previous version was malformed and caused cascade issues) */
body { 
  margin:0; 
  background: var(--bg); 
  color: var(--text); 
  -webkit-font-smoothing: antialiased; 
}
/* Global horizontal scroll suppression */
html, body { overflow-x: hidden !important; width:100%; }
/* Optional: clip instead of creating scrollbars for browsers supporting it */
@supports (overflow-x: clip) { html, body { overflow-x: clip !important; } }
/* Mobile floating button stack (moved out of broken body rule) */
@media (max-width: 600px) {
  .float-btn-stack { 
    position:fixed; 
    left:50%; 
    /* Center horizontally and move closer to bottom */
    transform:translateX(-50%); 
    bottom: calc(env(safe-area-inset-bottom, 0px) + 1.2rem); 
    display:flex; 
    flex-direction:column; 
    gap:1.8rem; 
    z-index:60; 
    width:420px; 
    max-width:88%; 
    pointer-events:none; 
  }
}
/* Prevent unexpected horizontal scroll (safety net for wide transforms / rounding) */
/* Hide horizontal overflow only at root to avoid creating a nested scrolling context */
html { overflow-x:hidden; }
/* Emphasis utility for highlighted orange strong text */
.emphasis-orange { color:#ff4d00; font-weight:700; }

img { max-width:100%; display:block; }

/* Layout Utilities */
.container { width: min(1180px, 92%); margin-inline:auto; }
.section { padding: clamp(4rem, 10vh, 7rem) 0; position:relative; border-top:1.5px solid #d9d9d0; }
/* Remove top border if a section is intentionally nested inside another container in future */
.section.noborder { border-top:none; }
/* Optional: if you ever add a section without wanting border, add class 'noborder'. */
.section, section, [id] { scroll-margin-top: 82px; }
.section-title { font-family: var(--brand-font); font-size: clamp(2.15rem, 2.8vw, 2.9rem); letter-spacing:.06em; text-align:center; margin:0 0 1.25rem; font-weight:600; }
.section-underline { width:70px; height:2px; background: var(--accent-soft); margin:0 auto 3rem; }
.small { font-size:.72rem; letter-spacing:.05em; }

/* Navigation */
.site-header { position:fixed; inset:0 0 auto 0; height:62px; background:rgba(12,12,12,.7); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); z-index:40; border-bottom:1px solid #1b1b1b; }
.nav { height:100%; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:0 clamp(1rem,3vw,2.4rem); }
/* Shift non-button groups right: apply additional left padding inside flex except on very small screens */
@media (min-width: 861px) {
  .nav-left { margin-left:3.5rem; }
  /* Keep center group pulled slightly right as well */
  .nav-center { margin-left:2.2rem; }
}
.nav-new { gap:.5rem; }
/* Left: logo + tagline */
.nav-left { display:flex; align-items:center; gap:1.65rem; flex:1 1 0; min-width:0; }
.nav-tagline { font-size:.9rem; letter-spacing:.05em; color:#ffffff; font-weight:600; white-space:nowrap; position:relative; top:1px; }
/* Center: primary links */
.nav-center { display:flex; align-items:center; gap:2.4rem; flex:0 0 auto; }
/* Right: partner button flush right */
.nav-right { display:flex; align-items:center; justify-content:flex-end; flex:1 1 0; min-width:0; }
.brand { display:flex; align-items:center; gap:.65rem; font-family:var(--brand-font); letter-spacing:.08em; font-size:1.25rem; color:var(--text); text-decoration:none; font-weight:600; }
.brand-logo { height:32px; width:auto; filter: drop-shadow(0 2px 4px rgba(0,0,0,.6)); max-width:138px; }
.brand-text { font-size:1.3rem; }
.nav-links { list-style:none; display:flex; gap:1.75rem; margin:0; padding:0; align-items:center; }
.nav-links a { font-size:.95rem; text-decoration:none; color:#ffffff; position:relative; letter-spacing:.065em; font-weight:600; line-height:1; padding:.4rem 0; display:inline-flex; align-items:center; }
.nav-links a .icon-ext { 
  /* Smaller & centered external icon per spec */
  width:12px; 
  height:12px; 
  margin-left:.32rem; 
  display:block; 
  position:relative; 
  top:2px; /* remove upward nudge so it sits centered */
  filter:brightness(1) contrast(1.05); 
}
.press-link { display:inline-flex; align-items:center; }
.nav-links a sup { font-size:1.4em; top:0em; position:relative; letter-spacing:0; margin-right:.4em; }
.nav-links a:hover, .nav-links a:focus-visible { color:#ffffff; }
.nav-links a::after { content:""; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--accent); transition:width .35s var(--ease); }
.nav-links a:hover::after, .nav-links a:focus-visible::after { width:100%; }
/* Nav partner CTA override to orange outlined pill */
.btn-cta.btn-partner-nav { 
  --btn-bg: transparent; 
  --btn-color: #fff; 
  --btn-border: #ff4d00; 
  display:inline-flex; 
  align-items:center; 
  justify-content:center; 
  gap:.4rem; 
  background:transparent !important; 
  color:#fff !important; 
  /* Thicker high-contrast border for better bottom visibility */
  border:3px solid #ff4d00 !important; 
  /* Slightly reduce vertical padding to keep overall height similar after thicker border */
  padding:.48rem 1.55rem !important; 
  border-radius:30px !important; 
  font:700 0.95rem var(--body-font) !important; 
  letter-spacing:.11em !important; 
  text-transform:uppercase !important; 
  text-decoration:none !important; 
  line-height:1 !important; 
  position:relative; 
  top:0; 
  transition:background .3s var(--ease), color .3s var(--ease), box-shadow .45s var(--ease), transform .35s var(--ease) !important; 
  margin-right:.5rem !important; 
  /* Subtle inner glow to keep edge crisp on dark bg */
  box-shadow:0 0 0 0 rgba(255,77,0,0.4); 
}
/* Partner outline button (nav right) */
.partner-outline-btn { 
  display:inline-flex; align-items:center; justify-content:center; 
  font:700 1.375rem var(--body-font); letter-spacing:.05em; text-transform:uppercase; 
  padding:.1rem 2rem .2rem; border:3px solid #ff4d00; border-radius:30px; 
  color:#fff; text-decoration:none; background:transparent; 
  transition:background .35s var(--ease), color .35s var(--ease), box-shadow .45s var(--ease), transform .35s var(--ease); 
  line-height:1.05; 
}
.partner-outline-btn:hover, .partner-outline-btn:focus-visible { background:#ff4d00; color:#000; box-shadow:0 0 0 4px rgba(255,77,0,.25); transform:translateY(-2px); }
.partner-outline-btn:focus-visible { outline:none; }
/* Mobile menu partner item hidden on desktop */
.mobile-partner-item { display:none; }

/* === Earlier Responsive Nav Adjustments to Prevent Mid-size Overlap === */
/* Phase 1: mild compression (reduce gaps / slightly adjust button) */
@media (max-width: 1180px) {
  .nav-center { gap:1.55rem; }
  .nav-links a { font-size:.9rem; }
  .partner-outline-btn { padding:.1rem 1.75rem .2rem; font-size:1.25rem; }
}
/* Forced collapse utility: applied dynamically via JS when width insufficient even above 1100px */
.nav.nav-collapsed .nav-tagline { display:none !important; }
.nav.nav-collapsed .nav-right { display:none !important; }
.nav.nav-collapsed .mobile-partner-item { display:block !important; }
.nav.nav-collapsed .nav-toggle { display:inline-block !important; }
.nav.nav-collapsed .nav-links { position:fixed; inset:62px 0 auto 0; background:#0c0c0cec; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); flex-direction:column; padding:2.5rem 2rem calc(env(safe-area-inset-bottom,0px) + 3.25rem); transform:translateY(-120%); transition:transform .55s var(--ease); width:100%; max-width:100%; box-sizing:border-box; overflow-y:auto; }
.nav.nav-collapsed .nav-links.open { transform:translateY(0); }
.nav.nav-collapsed .partner-outline-btn { width:100%; justify-content:center; }
/* Phase 2: convert to mobile overlay earlier (now triggers at 1280px) */
@media (max-width: 1280px) {
  .nav-tagline { display:none; }
  .nav-center { gap:1.4rem; }
  .nav-links { position:fixed; inset:62px 0 auto 0; background:#0c0c0cec; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); flex-direction:column; padding:2.5rem 2rem calc(env(safe-area-inset-bottom,0px) + 3.25rem); transform:translateY(-120%); transition:transform .55s var(--ease); width:100%; max-width:100%; box-sizing:border-box; overflow-y:auto; }
  .nav-links.open { transform:translateY(0); }
  .nav-toggle { display:inline-block; }
  .nav-right { display:none; }
  .mobile-partner-item { display:block; width:100%; }
  .partner-outline-btn { width:100%; justify-content:center; }
}

@media (max-width: 1000px) {
  .nav-center { gap:2rem; }
}
@media (max-width: 860px) {
  .nav-center.open { transform:translateY(0); }
  .nav-right { margin-left:0; }
  .partner-outline-btn { font-size:1.05rem; font-weight:700; letter-spacing:.12em; width:100%; justify-content:center; padding:.65rem 1.75rem .72rem; border-radius:28px; }
  .nav-tagline { display:none; }
  .nav-new { justify-content:space-between; }
  /* Show mobile partner item inside menu; hide original nav-right container */
  .mobile-partner-item { display:block; width:100%; }
  .nav-right { display:none; }
}
.btn-cta.btn-partner-nav::after { display:none !important; }
.btn-cta.btn-partner-nav:hover, .btn-cta.btn-partner-nav:focus-visible { 
  background:#ff4d00 !important; 
  color:#000 !important; 
  transform:translateY(-2px); 
  box-shadow:0 0 0 4px rgba(255,77,0,.25); 
}

/* tighten alignment for first nav text link after button */
.nav-toggle { display:none; background:none; border:1px solid #2a2a2a; color:var(--text); font-size:1.15rem; padding:.4rem .7rem; border-radius:4px; }

/* Hero */
.hero { min-height:calc(100vh - 62px); min-height:calc(100dvh - 62px); margin-top:62px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; padding-top:0; perspective:800px; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; filter:brightness(.9) saturate(1.05); }
.hero-video { pointer-events:none; }
.hero-video::-webkit-media-controls-start-playback-button { display:none !important; }
.hero-video::-webkit-media-controls-play-button { display:none !important; }
.hero-video::-webkit-media-controls { display:none !important; }
/* Additional Safari-specific video controls hiding */
.hero-video::-webkit-media-controls-panel { display:none !important; }
.hero-video::-webkit-media-controls-overlay-play-button { display:none !important; }
.hero-video { -webkit-appearance: none; appearance: none; }
.hero-mobile-still { display:none; position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.hero-mobile-still img { width:100%; height:100%; object-fit:cover; display:block; filter:brightness(.92) saturate(1.05); }
/* Mobile: show video as well; fallback image only if JS adds a class */
@media (max-width: 720px) {
  .hero-video { display:block; }
  .hero-mobile-still { display:none; }
  .hero-video.video-fallback-active { display:none; }
  .hero-video.video-fallback-active + .hero-mobile-still { display:block; }
}
/* If legacy tile grid remains in DOM, keep it hidden */
.hero-bg { display:none !important; }
.hero-bg { position:absolute; inset:0; overflow:hidden; z-index:0; display:grid; grid-auto-rows:90px; grid-template-columns:repeat(var(--cols, 1), 90px); opacity:.14; filter:saturate(0) brightness(1.4); pointer-events:none; }
.hero-bg .tile { position:relative; display:flex; align-items:center; justify-content:center; padding:18px 10px; --pop-i:0; transform:translateZ(calc(var(--pop-i)*55px)) scale(calc(.88 + var(--pop-i)*0.28)); opacity:calc(.45 + var(--pop-i)*0.55); filter:brightness(calc(.85 + var(--pop-i)*0.50)) contrast(calc(1 + var(--pop-i)*0.18)) saturate(calc(.90 + var(--pop-i)*0.25)); will-change:transform,opacity,filter; }
.hero-bg .tile img { width:44px; height:44px; object-fit:contain; filter:drop-shadow(0 2px 6px rgba(0,0,0,.5)); opacity:inherit; transition:filter .9s ease-in-out; }
.hero-bg .tile.excluded { opacity:0 !important; pointer-events:none; transform:none !important; }

@media (prefers-reduced-motion: reduce) {
  .hero-bg .tile { transition:none; transform:scale(.95); filter:none; opacity:.65; }
  .hero-brand { animation: shimmer 6s ease-in-out infinite !important; transition: none !important; }
  .hero-brand:hover { transform: none !important; }
  .hero-logo { animation: none !important; transition: none !important; }
  .hero-logo:hover { transform: none !important; }
}
.hero::after { content:""; position:absolute; inset:0; background:transparent; pointer-events:none; z-index:1; }
.hero-inner { width: min(1040px, 92%); margin:auto; position:relative; display:flex; align-items:center; justify-content:center; }
.hero-logo-block { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.25rem; width:100%; text-align:center; position: relative; z-index: 3; }
.hero-row { display:inline-flex; align-items:center; justify-content:center; gap:1rem; }
.hero-logo { 
  width:300px; 
  max-width: 90vw;
  margin:0; 
  flex:0 0 auto; 
  filter: 
    drop-shadow(0 4px 12px rgba(0,0,0,0.8)) 
    drop-shadow(0 0 20px rgba(255,255,255,0.15));
  transition: all 0.3s ease;
  animation: logo-float 6s ease-in-out infinite, logo-glow 4.5s ease-in-out infinite;
}
.hero-logo:hover {
  transform: translateY(-3px) scale(1.05);
  filter: 
    drop-shadow(0 6px 20px rgba(0,0,0,0.9)) 
    drop-shadow(0 0 30px rgba(255,255,255,0.25));
}

@keyframes logo-float {
  0%, 100% { 
    transform: translateY(0px) rotate(0deg); 
  }
  33% { 
    transform: translateY(-3px) rotate(0.5deg); 
  }
  66% { 
    transform: translateY(3px) rotate(-0.5deg); 
  }
}
@keyframes logo-glow {
  0%, 100% { 
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.85)) drop-shadow(0 0 18px rgba(255,255,255,0.18)) drop-shadow(0 0 40px rgba(255,77,0,0.0));
  }
  45% { 
    filter: drop-shadow(0 6px 16px rgba(0,0,0,0.9)) drop-shadow(0 0 26px rgba(255,255,255,0.28)) drop-shadow(0 0 55px rgba(255,77,0,0.38));
  }
  70% { 
    filter: drop-shadow(0 5px 14px rgba(0,0,0,0.85)) drop-shadow(0 0 22px rgba(255,255,255,0.24)) drop-shadow(0 0 48px rgba(255,77,0,0.25));
  }
}
/* Hero tagline (simplified: no border/backdrop panel) */
.hero-tagline { 
  font-family: var(--body-font); 
  font-size: clamp(1.1rem, 2.5vw, 1.4rem); 
  letter-spacing: .02em; 
  line-height: 1.4; 
  margin: 0; 
  font-weight: 400; 
  color: #ffffff; 
  position: relative; 
  z-index: 3; 
  background: none; 
  padding: 0; 
  border: none; 
  -webkit-backdrop-filter: none; 
  backdrop-filter: none; 
  text-shadow: 0 2px 6px rgba(0,0,0,.55); 
}
.hero-title { 
  font-family:var(--brand-font); 
  font-size: clamp(3.2rem, 8.5vw, 5.2rem); 
  letter-spacing:.05em; 
  line-height:1; 
  margin:0; 
  font-weight:600; 
  position:relative; 
  overflow:visible;
  perspective: 1000px;
}
/* (Removed duplicate smaller uppercase hero-tagline style) */
.hero-brand { 
  background: linear-gradient(135deg, 
    #ffffff 0%, 
    #f8f8f8 20%, 
    #ffffff 35%, 
    #e8e8e8 50%, 
    #ffffff 65%, 
    #f0f0f0 80%, 
    #ffffff 100%
  ); 
  background-size: 200% 100%;
  -webkit-background-clip: text; 
  background-clip: text; 
  color: transparent;
  animation: shimmer 3s ease-in-out infinite, text-pulse 2s ease-in-out infinite alternate;
  filter: 
    drop-shadow(0 0 20px rgba(255,255,255,0.15)) 
    drop-shadow(0 4px 12px rgba(0,0,0,0.4));
  position: relative;
  display: inline-block;
  transform-style: preserve-3d;
  transition: transform 0.3s ease;
}
.hero-brand:hover {
  transform: translateY(-2px) scale(1.02);
  filter: 
    drop-shadow(0 0 30px rgba(255,255,255,0.25)) 
    drop-shadow(0 6px 20px rgba(0,0,0,0.3));
}

@keyframes shimmer {
  0%, 100% { 
    background-position: 0% 0%; 
  }
  50% { 
    background-position: 100% 0%; 
  }
}
@keyframes text-pulse {
  0% { 
    text-shadow: 
      0 0 5px rgba(255,255,255,0.3),
      0 0 10px rgba(255,255,255,0.2),
      0 0 15px rgba(255,255,255,0.1);
  }
  100% { 
    text-shadow: 
      0 0 10px rgba(255,255,255,0.5),
      0 0 20px rgba(255,255,255,0.3),
      0 0 30px rgba(255,255,255,0.2);
  }
}
/* Layering to keep content above animated grid */
.hero-inner, .hero-logo-block, .hero-row { position:relative; z-index:2; }
/* Removed scroll cue */

/* Impact Section */
.impact { padding: clamp(5rem, 12vh, 8rem) 0; background: var(--bg-alt); position: relative; }
.impact::before { 
  content: ""; 
  position: absolute; 
  inset: 0; 
  background: linear-gradient(135deg, rgba(255,255,255,.02), transparent 60%), 
              radial-gradient(circle at 30% 70%, rgba(255,255,255,.05), transparent 50%); 
  pointer-events: none; 
}
.impact-content { text-align: center; position: relative; }
.impact-main { 
  font-family: var(--brand-font); 
  font-size: clamp(2.2rem, 4.5vw, 3.8rem); 
  line-height: 1.2; 
  font-weight: 600; 
  letter-spacing: .02em; 
  margin: 0 0 3rem; 
  color: var(--text); 
  text-shadow: 0 2px 8px rgba(0,0,0,.6); 
}
/* Centered impact rows */
.impact-rows { 
  font-family: var(--body-font); 
  font-weight:300; 
  letter-spacing:.01em; 
  display:flex; 
  flex-direction:column; 
  align-items:center; 
  margin:0 0 5.2rem; 
  gap:0; 
  /* Shift the entire impact block left while keeping stagger */
  transform: translateX(-5%);
}
.impact-row { 
  font-size: clamp(1.7rem, 4.42vw, 3.28rem); 
  line-height:1.08; 
  display:flex; 
  align-items:flex-start; 
  justify-content:center; 
  text-align:center; 
  font-weight:300; 
  color:var(--text); 
  white-space:normal; 
  position:relative; 
}
/* Centered layout: no horizontal offsets */
.impact-row.row-1,
.impact-row.row-2,
.impact-row.row-3,
.impact-row.row-4 { padding-left:0; justify-content:center; }
/* Variable vertical spacing approximating design */
.impact-row + .impact-row { margin-top: clamp(2.2rem, 6vh, 4rem); }
.impact-row.row-4 { margin-top: clamp(2.5rem, 7vh, 4.5rem); }
.impact-row .arrow { 
  color:#ff4d00; 
  font-size:.9em; 
  line-height:1; 
  margin-right:.55rem; 
  font-weight:400; 
  display:inline-flex; 
  position:relative; 
  top:.55em; /* push arrow down so its bottom aligns with text baseline */
  transform:none; 
  align-items:flex-end; 
}
.impact-row .arrow.up { 
  color:#ff4d00; 
  top:.4em; /* raise final arrow so its top aligns with top of text */
}
/* Replace unicode arrows with SVG icons */
.impact-row .arrow img { 
  width:22px; 
  height:22px; 
  display:block; 
  filter:brightness(1) saturate(1) hue-rotate(0deg); 
  /* Arrow.svg already points down-right (↘), so no rotation needed */
  transform:none; 
}
/* Mobile: shrink arrow icons for better visual balance */
@media (max-width: 860px) {
  .impact-row .arrow img { width:18px; height:18px; }
  .impact-row .arrow { margin-right:.45rem; }
}
@media (max-width: 520px) {
  .impact-row .arrow img { width:14px; height:14px; }
  .impact-row .arrow { margin-right:.35rem; }
}
/* Final line arrow should point horizontally right (→) */
.impact-row .arrow.up img { 
  transform:rotate(-90deg); /* rotate from down-right to right */
  /* removed extra top offset; container handles vertical positioning */
}
/* Removed previous indents to keep centered layout */
@media (max-width: 860px) { 
  .impact-row { font-size: clamp(1.53rem, 6.12vw, 2.42rem); } 
  .impact-row + .impact-row { margin-top:2.2rem; } 
  .impact-row.row-4 { margin-top:2.4rem; }
  .impact-row.row-2 { padding-left:0; }
  .impact-row.row-3 { padding-left:0; }
  .impact-row.row-4 { padding-left:0; }
}
@media (max-width: 520px) { 
  .impact-row { font-size: clamp(1.45rem, 7.2vw, 1.9rem); } 
  .impact-row .arrow { font-size:.85em; margin-right:.4rem; } 
  .impact-row.row-2 { padding-left:0; }
  .impact-row.row-4 { padding-left:0; }
}
.impact-text { 
  max-width: 880px; 
  margin: 0 auto; 
  font-size: 1.375rem; 
  line-height: 1.74; 
  color: #e6e6e6; 
  text-align: left; 
  letter-spacing:.01em; 
}
.impact-text p { 
  margin: 0 0 2.3rem; 
  text-align: left; 
}
.impact-text p:last-child { 
  margin-bottom: 0; 
}
.impact-text p strong { 
  font-weight:600; 
  color:#fff; 
}
/* Override for emphasized orange strong text inside impact paragraphs */
.impact-text p strong.emphasis-orange { 
  color:#ff4d00 !important; 
  font-weight:700; 
}

/* Press Links (new layout) */
.press-links { background:var(--bg); padding: clamp(3.5rem, 8vh, 5.5rem) 0; }
.press-links-wrapper { display:flex; flex-direction:column; gap:3.25rem; font-size:1.35rem; line-height:1.4; }
.press-line { color:var(--text); font-weight:300; letter-spacing:.01em; }
.press-highlight { color:#ff4d00; font-weight:600; }
.press-btn { 
  display:inline-block; 
  padding:.85rem 2.1rem; 
  border:3px solid #ff4d00; /* unified 3px stroke */
  border-radius:28px; 
  font:700 1.375rem var(--body-font); 
  letter-spacing:.08em; 
  text-transform:uppercase; 
  color:#fff; 
  text-decoration:none; 
  position:relative; 
  top:-.15rem; 
  transition:background .35s var(--ease), color .35s var(--ease), box-shadow .45s var(--ease); 
}
.press-btn:hover, .press-btn:focus-visible { background:#ff4d00; color:#000; box-shadow:0 0 0 4px rgba(255,77,0,.25); }
@media (max-width: 860px) { 
  .press-links-wrapper { font-size:1.15rem; gap:2.6rem; }
  .press-btn { padding:.75rem 1.7rem; font-size:.78rem; }
}
@media (max-width:520px) { 
  .press-links-wrapper { font-size:1.05rem; gap:2.2rem; }
  .press-btn { padding:.65rem 1.5rem; border-width:3px; }
}

/* Press logos grid */
.press-logos { background:var(--bg); padding: clamp(4rem, 11vh, 6.5rem) 0; }
.press-logos-inner { width:min(1180px, 92%); margin:0 auto; text-align:center; }
.press-logos-title { font:600 1.375rem var(--body-font); letter-spacing:.12em; text-transform:uppercase; margin:0 0 3.5rem; color:#ffffff; }
.press-logos-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:2.2rem 3rem; align-items:center; }
.press-logo-item { display:flex; align-items:center; justify-content:center; }
.press-logo-img { max-width:140px; width:100%; height:auto; filter:brightness(1.05) contrast(1.05); opacity:.95; transition:opacity .35s var(--ease), transform .4s var(--ease); }
.press-logo-img:hover, .press-logo-img:focus-visible { opacity:1; transform:scale(1.05); }
@media (max-width:780px) { .press-logos-grid { gap:1.9rem 2.2rem; } }
@media (max-width:520px) { .press-logos-grid { gap:1.6rem 1.6rem; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); } .press-logos-title { margin-bottom:2.4rem; } }
/* Desktop refinement: keep logos clustered instead of stretching to full width when few items */
@media (min-width: 821px) {
  .press-logos-grid {
    grid-template-columns:repeat(auto-fit, minmax(130px, 150px)); /* fixed-ish column widths so items don't expand */
    justify-content:center; /* center the cluster */
    gap:1.3rem 2.1rem; /* tighter horizontal spacing */
  }
  .press-logo-img { max-width:130px; }
}

/* Partner (contact replacement) */
.partner { background:var(--bg); padding: clamp(4rem, 10vh, 6rem) 0 5rem; text-align:center; }
.partner-inner { width:min(780px,85%); margin:0 auto; }
.partner-line { font-size:1.375rem; letter-spacing:.02em; margin:0 0 1.9rem; color:#f5f5f5; }
.partner-btn, .btn-partner-nav { 
  display:inline-block; 
  padding:.60rem 2.1rem; 
  border:3px solid #ff4d00; /* thicker for visibility */
  border-radius:30px; 
  font:700 1.375rem var(--body-font); 
  letter-spacing:.09em; 
  text-transform:uppercase; 
  text-decoration:none; 
  color:#fff !important; 
  background:transparent !important; 
  transition:background .35s var(--ease), color .35s var(--ease), box-shadow .45s var(--ease), border-color .35s var(--ease); 
}
.partner-btn { box-shadow:0 0 0 0 rgba(255,77,0,.35), inset 0 0 0 1px rgba(255,77,0,.25); }
.partner-btn:hover, .partner-btn:focus-visible, .btn-partner-nav:hover, .btn-partner-nav:focus-visible { background:#ff4d00 !important; color:#000 !important; box-shadow:0 0 0 4px rgba(255,77,0,.25); }
.btn-partner-nav { margin-right:1rem !important; }
/* Floating press release button (bottom-left) */
.press-float-btn, .partner-float-btn { 
  position:fixed; 
  bottom:clamp(.75rem, env(safe-area-inset-bottom, 0px) + .9rem, 1.4rem); 
  z-index:60; 
  padding:.62rem 1.85rem; 
  font-size:1.375rem; 
  -webkit-backdrop-filter:blur(4px); 
  backdrop-filter:blur(4px); 
  background:#ff4d00 !important; 
  color:#000 !important; 
  border:3px solid #ff4d00; 
  box-shadow:0 4px 16px -4px rgba(0,0,0,.55), 0 0 0 3px rgba(255,77,0,.28); 
  font-weight:700; 
  letter-spacing:.09em; 
  text-transform:uppercase; 
  transition:background .35s var(--ease), color .35s var(--ease), box-shadow .45s var(--ease), transform .35s var(--ease); 
  max-width:46%; 
  box-sizing:border-box; 
}

/* New nav press release CTA */
.btn-cta.btn-press-nav { 
  --btn-bg: transparent; 
  --btn-color: #fff; 
  --btn-border: #ff4d00; 
  display:inline-flex; 
  align-items:center; 
  justify-content:center; 
  gap:.4rem; 
  background:transparent !important; 
  color:#fff !important; 
  border:3px solid #ff4d00 !important; 
  padding:.48rem 1.55rem !important; 
  border-radius:30px !important; 
  font:700 0.95rem var(--body-font) !important; 
  letter-spacing:.11em !important; 
  text-transform:uppercase !important; 
  text-decoration:none !important; 
  line-height:1 !important; 
  position:relative; 
  top:0; 
  transition:background .3s var(--ease), color .3s var(--ease), box-shadow .45s var(--ease), transform .35s var(--ease) !important; 
  box-shadow:0 0 0 0 rgba(255,77,0,0.4); 
}
.btn-cta.btn-press-nav:hover, .btn-cta.btn-press-nav:focus-visible { 
  background:#ff4d00 !important; 
  color:#000 !important; 
  transform:translateY(-2px); 
  box-shadow:0 0 0 4px rgba(255,77,0,.25); 
}
@media (max-width:720px) { 
  .btn-cta.btn-press-nav { width:100%; justify-content:center; } 
}

/* Scroll down CTA */
.scroll-down-cta {
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  color: #fff;
  text-decoration: none;
  font-family: var(--brand-font);
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: all 0.3s var(--ease);
  opacity: 0.8;
}

.scroll-down-cta:hover {
  opacity: 1;
  transform: translateX(-50%) translateY(-2px);
}

.scroll-arrow {
  font-size: 1.5rem;
  animation: bounce 2s infinite;
  color: #ff4d00;
}

.scroll-text {
  font-size: 0.7rem;
  margin-top: 0.1rem;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-8px); }
  60% { transform: translateY(-4px); }
}

/* Mobile positioning - above floating buttons */
@media (max-width: 600px) {
  .scroll-down-cta {
    bottom: 9.2rem; /* Further above the top floating button */
    font-size: 0.68rem;
  }
  .scroll-arrow {
    font-size: 1.3rem;
  }
  .scroll-text {
    font-size: 0.65rem;
  }
}

/* Hidden state when scrolled past hero */
.scroll-down-cta.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(8px);
}

/* Individual horizontal placement */
.press-float-btn { left:1.2rem; }
.partner-float-btn { right:1.2rem; }
.press-float-btn:hover, .press-float-btn:focus-visible, 
.partner-float-btn:hover, .partner-float-btn:focus-visible { 
  background:#ff6a26 !important; 
  color:#000 !important; 
  box-shadow:0 6px 22px -6px rgba(0,0,0,.6), 0 0 0 4px rgba(255,106,38,.3); 
  transform:translateY(-2px); 
}
.press-float-btn:hover, .press-float-btn:focus-visible { 
  background:#ff6a26 !important; 
  color:#000 !important; 
  box-shadow:0 6px 22px -6px rgba(0,0,0,.6), 0 0 0 4px rgba(255,106,38,.3); 
  transform:translateY(-2px); 
}
@media (max-width: 600px) {
  .float-btn-stack { 
    position:fixed;
    left:50%;
    /* Centered (was -54%) and lowered closer to bottom */
    transform:translateX(-50%);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 1.2rem); 
    display:flex;
    flex-direction:column;
    gap:1.6rem; /* tighten slightly for visual balance higher on screen */
    z-index:60;
    width:min(440px, 92%); /* centered width */
    max-width:440px;
    pointer-events:none; /* let buttons handle events */
  }
  .float-btn-stack > a { pointer-events:auto; position:static; left:auto; right:auto; bottom:auto; transform:none; width:100%; }
  .press-float-btn, .partner-float-btn { 
    left:auto; 
    right:auto; 
    transform:none; 
    max-width:100%; 
    width:100%; 
    padding:.55rem 1.25rem; 
    font-size:1.375rem; 
    border-width:2px; 
    text-align:center; 
    display:block; 
  }
  /* Remove individual bottom offsets when inside stack */
  .float-btn-stack .press-float-btn, .float-btn-stack .partner-float-btn { bottom:auto !important; }
}

/* Hidden state when overlapping footer or very short viewport */
.float-btn-hidden { 
  opacity:0; 
  pointer-events:none; 
  transform:translateY(8px); 
  transition:opacity .4s var(--ease), transform .45s var(--ease); 
}
/* Keep partner-line size consistent across breakpoints per spec */
@media (max-width:600px) { .partner-line { font-size:1.375rem; } }

/* Founders (new light layout) */
.founders-new { background:#d9d9d0; padding: clamp(5rem, 12vh, 7rem) 0; color:#191919; }
.founders-container { width:min(1200px,92%); margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(440px,1fr)); gap:4.5rem 4rem; }
.founder-card { position:relative; display:flex; flex-direction:column; padding:0 0 .5rem; }
.founder-media { width:170px; height:170px; background:#f5f5f0; border-radius:36px; margin:0 0 1.9rem; box-shadow:0 4px 14px -4px rgba(0,0,0,.18), 0 2px 4px rgba(0,0,0,.12); }
.founder-media img { width:100%; height:100%; object-fit:cover; border-radius:inherit; display:block; }
.founder-header { margin:0 0 1.4rem; }
.founder-title { font:700 1.375rem var(--body-font); margin:0 0 .35rem; letter-spacing:.01em; color:#101010; }
.founder-role { margin:0; font:600 1.125rem var(--body-font); color:#ff4d00; letter-spacing:.015em; }
.founder-bio { font-size:1.125rem; line-height:1.58; letter-spacing:.01em; color:#2d2d2d; max-width:560px; }
.founder-bio p { margin:0 0 1.25rem; }
.founder-bio p:last-child { margin-bottom:0; }
.bio-full { margin-top:.6rem; }
.founder-toggle { margin-top:1.1rem; align-self:flex-start; background:none; border:none; color:#ff4d00; font:700 1.375rem var(--body-font); letter-spacing:.05em; text-transform:uppercase; cursor:pointer; display:inline-flex; align-items:center; gap:.55rem; padding:.55rem .35rem; border-radius:6px; }
.founder-toggle::before { content:"+"; font-size:1.1em; line-height:1; font-weight:700; }
.founder-toggle[aria-expanded="true"]::before { content:"–"; }
.founder-toggle:focus-visible { outline:2px solid #ff4d00; outline-offset:2px; }
.founder-bio[data-collapsed="true"] .bio-full { display:none; }
.founder-bio[data-collapsed="false"] .bio-full { display:block; }
/* Hide the short summary when expanded so only long bio is visible */
.founder-bio[data-collapsed="false"] .bio-short { display:none; }
@media (max-width:1000px) { .founders-container { grid-template-columns:1fr; gap:4rem 2.4rem; } }
@media (max-width:560px) { .founder-media { width:150px; height:150px; margin-bottom:1.4rem; } }

/* Model */
.model { background:var(--bg); }
.model-flex { display:grid; gap:3.5rem; align-items:center; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); margin-top:2rem; }
.model-media { position:relative; }
.model-img { width:100%; aspect-ratio:4/3; object-fit:cover; border:1px solid #222; background:#111; filter:saturate(1.1); }
.model-text h3 { font-family:var(--brand-font); font-size:1.25rem; letter-spacing:.04em; margin:0 0 1rem; }
.model-text p { line-height:1.65; color:var(--text-dim); margin:0 0 1.3rem; font-size:1.08rem; }
.model-points { list-style:disc inside; margin:0; padding:0; line-height:1.55; font-size:.95rem; color:var(--text-dim); columns:2; column-gap:2rem; }

/* Contact */
.contact { background:var(--bg-alt); }
.contact-inner { text-align:center; }
.contact-sub { letter-spacing:.18em; font-size:.95rem; margin:0 0 2.2rem; font-weight:500; color:var(--text-dim); }
.waitlist-form { display:flex; flex-direction:column; gap:1rem; width:min(680px, 100%); margin:0 auto; }
.waitlist-form input { background:#111; color:var(--text); border:1px solid #242424; padding:1rem 1.1rem; font:inherit; letter-spacing:.03em; border-radius:2px; outline:none; transition:border-color .3s var(--ease), background .3s var(--ease); }
.waitlist-form input:focus-visible { border-color:var(--focus); background:#161616; }
.form-msg { margin:.25rem 0 0; min-height:1.2rem; font-size:.8rem; letter-spacing:.04em; }
.legal-text { margin-top:2.75rem; color:#6e6e6e; max-width:720px; margin-inline:auto; font-size:.62rem; line-height:1.4; }
.legal-text a { color:#9d9d9d; text-decoration:none; }
.legal-text a:hover { text-decoration:underline; }

/* Footer */
.footer { background:#050505; padding:3.5rem 0 2.5rem; border-top:1px solid #181818; font-size:.8rem; }
.footer-grid { display:grid; gap:2.5rem; justify-items:center; }
.footer-brand { text-align:center; }
.footer-logo { width:70px; margin:0 auto 1rem; filter:drop-shadow(0 4px 10px rgba(0,0,0,.55)); }
.footer-tag { margin:0; color:var(--text-dim); font-size:.72rem; letter-spacing:.05em; }
.footer-nav { display:flex; gap:1.75rem; flex-wrap:wrap; justify-content:center; }
.footer-nav a { color:var(--text-dim); text-decoration:none; font-weight:500; letter-spacing:.08em; position:relative; }
.footer-nav a:hover { color:var(--text); }
.footer-nav a::after { content:""; position:absolute; left:0; bottom:-4px; width:0; height:1px; background:var(--text); transition:width .35s var(--ease); }
.footer-nav a:hover::after { width:100%; }
.copyright { margin:1.25rem 0 0; text-align:center; color:#585858; letter-spacing:.05em; }
.footer-powered { margin:.6rem 0 0; text-align:center; font-size:.7rem; letter-spacing:.08em; color:#5f5f5f; }
/* Preserve brand orange for the powered-by link in all states */
.footer-powered-link:link,
.footer-powered-link:visited { color:#ff4d00; text-decoration:none; font-weight:600; }
.footer-powered-link:hover,
.footer-powered-link:focus-visible,
.footer-powered-link:active { text-decoration:underline; color:#ff4d00; }

/* Mobile: add extra bottom padding so floating buttons (stack) don't obscure footer */
@media (max-width:600px) {
  .footer { 
    /* Original bottom padding (2.5rem) + reserve space (~11rem) for two stacked buttons + gap + safe area */
    padding-bottom: calc(2.5rem + 11rem + env(safe-area-inset-bottom, 0px));
  }
}

/* Buttons */
.btn { --btn-bg:#111; --btn-color:#fff; --btn-border:#111; cursor:pointer; font:600 1.375rem var(--body-font); letter-spacing:.18em; text-transform:uppercase; padding:1.05rem 2.3rem; border:1px solid var(--btn-border); background:var(--btn-bg); color:var(--btn-color); position:relative; overflow:hidden; transition:background .5s var(--ease), color .4s var(--ease), border-color .4s var(--ease); }
.btn-dark { background:#111; color:#fff; border-color:#111; }
.btn-primary { background:#fff; color:#000; border-color:#fff; }
.btn-primary:hover { background:#dcdcdc; }
.btn-dark:hover { background:#222; }
.btn:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }

/* Accessibility helper */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); border:0; }

/* Reveal Animations */
/* Enhanced Reveal System */
.reveal, .reveal-center, .reveal-left, .reveal-right, .reveal-up, .reveal-scale, .reveal-tilt { 
  opacity:0; 
  --reveal-tr: translateY(46px); 
  transform: var(--reveal-tr); 
  transition: opacity .85s var(--ease), transform 1.05s var(--ease), filter 1.05s var(--ease); 
  will-change: opacity, transform, filter; 
  filter:blur(3px) saturate(.7); 
}
.reveal-left { --reveal-tr: translateX(-70px); }
.reveal-right { --reveal-tr: translateX(70px); }
.reveal-up { --reveal-tr: translateY(60px); }
.reveal-scale { --reveal-tr: scale(.82) translateY(20px); }
.reveal-tilt { --reveal-tr: perspective(800px) rotateX(18deg) translateY(30px); transform-origin: top center; }
.reveal-visible { 
  opacity:1; 
  transform: translateZ(0) scale(1); 
  filter:blur(0) saturate(1); 
}
/* Stagger utility via data attributes */
[data-reveal-delay] { transition-delay: calc(var(--base-delay,0s) + attr(data-reveal-delay s)); }

/* Reduced motion: skip transforms */
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-center, .reveal-left, .reveal-right, .reveal-up, .reveal-scale, .reveal-tilt { 
    opacity:1 !important; 
    transform:none !important; 
    filter:none !important; 
    transition:none !important; 
  }
}

/* Hero intro animations */
.animate-pop { animation:pop .9s var(--ease); }
.animate-fade-slide { animation:fadeSlide .95s var(--ease); }
.animate-fade-slide.delay-1 { animation-delay:.2s; }
@keyframes pop { 0% { transform:scale(.7) rotate(-6deg); opacity:0;} 60% { transform:scale(1.04);} 100% { transform:scale(1) rotate(0); opacity:1;} }
@keyframes fadeSlide { from { opacity:0; transform:translateY(25px);} to { opacity:1; transform:none;} }

/* Responsive */
@media (max-width: 880px) {
  .founder-block { grid-template-columns:1fr; }
  .order-img, .order-text { order:initial; }
  .founders-grid { gap:4rem; }
}
/* Preserve specified sizes; remove downscaling for impact text */
@media (max-width: 720px) {
  .founder-text { font-size:1rem; line-height:1.6; }
  .model-text p { font-size:1rem; line-height:1.6; }
  .model-points { font-size:.9rem; }
}
@media (max-width: 520px) {
  html { font-size:16px; }
  .founder-text { font-size:.95rem; line-height:1.55; }
  .model-text p { font-size:.97rem; line-height:1.55; }
  .model-points { font-size:.85rem; }
}
@media (max-width: 720px) {
  .nav-links { position:fixed; inset:62px 0 auto 0; background:#0c0c0cec; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); flex-direction:column; padding:2.5rem 2rem calc(env(safe-area-inset-bottom,0px) + 3.25rem); transform:translateY(-120%); transition:transform .55s var(--ease); width:100%; max-width:100%; box-sizing:border-box; overflow-y:auto; }
  .nav-links.open { transform:translateY(0); }
  .nav-toggle { display:inline-block; }
  .press-card { padding:3rem 1.5rem; }
  .hero-row { gap:.75rem; }
  .hero-logo { width:250px; max-width: 85vw; }
  .hero-tagline { font-size: clamp(1rem, 2vw, 1.2rem); padding: 0.6rem 1.5rem; }
  .model-points { columns:1; }
}

/* === BLUM SECTION STYLES === */
.blum-section { background:#000; padding: clamp(5rem, 11vh, 7rem) 0 clamp(4.5rem, 10vh, 6rem); position:relative; }
.blum-section { 
  /* Alignment tuning variables: adjust these to nudge shared right edge + brain proximity */
  --blum-left-shift: -4.1rem; /* how far copy shifts left toward brain image */
  --blum-right-trim: 4.1rem;  /* matching inset applied to subtitle's right side so edges align */
}
.blum-container { width:min(1180px, 92%); margin:0 auto; }
.blum-title { margin:0 0 1.6rem; font:700 clamp(2.1rem, 3.8vw, 2.9rem) var(--brand-font); letter-spacing:.02em; text-align:center; color:#ff4d00; }
.blum-title sup { 
  font-size: .45em; /* shrink only this TM */
  position: relative; 
  top: -0.24em; /* slightly lower to better align with cap height */
  transform: translateY(2%); /* minor optical tweak */
  letter-spacing:0; 
  margin-left:.04em; /* tighter gap to sit closer to BLUM */
  font-weight:700; 
  line-height:1; 
}
.blum-subtitle { 
  max-width:880px; /* default width */
  margin:0 0 4.2rem; 
  font-size:1.375rem; 
  line-height:1.55; 
  color:#e2e2e2; 
  text-align:left; 
  font-weight:400; 
  letter-spacing:.01em; 
  -webkit-hyphens:none; 
  hyphens:none; 
}
/* Large screen: keep full width, trim right side to match shifted copy right edge */
@media (min-width: 1100px) { 
  .blum-subtitle.two-line-intent { 
    max-width:none; 
    width:100%; 
    margin-right: var(--blum-right-trim); /* pulls right edge left */
    margin-left:0; 
    padding-left:2.5rem; /* maintain visual starting offset from brain */
    box-sizing:border-box; 
  }
}
/* Safety: on very narrow screens allow normal wrapping (may exceed two lines) */
@media (max-width: 640px) { 
  .blum-subtitle.two-line-intent { 
    max-width:100%; 
    margin-left:0; 
  }
}
.blum-layout { display:grid; grid-template-columns:repeat(12, 1fr); gap:3.5rem; align-items:stretch; }
.blum-image-card { grid-column: 1 / span 6; background:#0c0c0c; border:1px solid #262626; border-radius:46px; padding:2.2rem 2.2rem 1.8rem; display:flex; align-items:center; justify-content:center; min-height:360px; position:relative; box-shadow:0 12px 40px -18px rgba(0,0,0,.65), 0 4px 14px -6px rgba(0,0,0,.5); height:100%; }
.blum-image-card::before { content:""; position:absolute; inset:0; border-radius:inherit; background:radial-gradient(circle at 32% 40%, rgba(255,77,0,.12), transparent 70%); pointer-events:none; }
.blum-image { width:100%; /* removed max-width to allow larger growth */ height:100%; object-fit:contain; filter:drop-shadow(0 6px 22px rgba(0,0,0,.65)) brightness(1.02); }

/* === BLUM image: remove card visuals while keeping layout column === */
.blum-image-card.no-frame { 
  background:transparent !important; 
  border:none !important; 
  padding:0 !important; 
  border-radius:0 !important; 
  box-shadow:none !important; 
  min-height:0 !important; 
}
.blum-image-card.no-frame::before { display:none !important; }
.blum-image-card.no-frame .blum-image { 
  max-width:100% !important; 
  width:100% !important; 
  height:auto; 
  filter:none; 
  border-radius:0; 
}
/* Crop helper to hide intrinsic white corners on transparent/rounded source asset */
.blum-image-card.no-frame.brain-crop { 
  position:relative; 
  overflow:hidden; 
  border-radius:24px; 
}
.blum-image-card.no-frame.brain-crop .blum-image { 
  display:block; 
  width:102%; 
  max-width:none; 
  transform:translate(-1%, -1%) scale(1.04); 
  height:auto; 
}
@media (max-width: 720px) { 
  .blum-image-card.no-frame.brain-crop { border-radius:18px; }
  .blum-image-card.no-frame.brain-crop .blum-image { transform:translate(-1%, -1%) scale(1.06); }
}
/* Curved outline variant for small thumbnail brain */
.brain-thumb { 
  /* Subtle upward shift per request */
  margin-top:-36px;
  border:3px solid #4a4a4a; 
  border-radius:26px; 
  padding:14px; 
  background:#000; 
  display:block; 
  width:100%; 
  max-width:520px; 
  box-shadow:none; 
  position:relative; 
}
.brain-thumb img { width:100%; height:auto; display:block; border-radius:18px; transform:none !important; }
/* Remove crop scaling when inside brain-thumb */
.brain-thumb .blum-image { transform:none !important; width:100%; max-width:100%; }
.blum-copy { grid-column: 7 / span 6; font-size:1.375rem; line-height:1.72; letter-spacing:.01em; color:#d9d9d9; display:flex; flex-direction:column; gap:1.9rem; justify-content:center; margin-left:var(--blum-left-shift); }
.blum-copy p { margin:0; }

@media (max-width: 1040px) { 
  .blum-layout { grid-template-columns:repeat(12, 1fr); gap:2.8rem; }
  .blum-image-card { grid-column: span 6; height:auto; }
  .blum-copy { grid-column: span 12; justify-content:flex-start; margin-left:0; }
}
@media (max-width: 860px) { 
  .blum-layout { display:flex; flex-direction:column; }
  .blum-image-card { width:100%; max-width:640px; margin:0 auto; height:auto; }
  .blum-copy { width:100%; max-width:640px; margin:0 auto; }
}
@media (max-width:560px) { 
  .blum-title { font-size:2.1rem; }
  .blum-image-card { padding:1.6rem 1.6rem 1.4rem; border-radius:38px; min-height:300px; }
}
@media (min-width: 601px) {
  .press-float-btn, .partner-float-btn { display:none !important; }
}

/* Plain BLUM image (no card container) */
.blum-image-plain {
  width:100%;
  max-width:900px;
  display:block;
  margin:0 auto 3rem;
  height:auto;
  border-radius:40px;
  background:transparent;
  object-fit:contain;
  border:none;
  box-shadow:none;
}
@media (max-width: 560px) {
  .blum-image-plain { margin-bottom:2.4rem; border-radius:32px; }
}
/* Larger variant (applied together) */
.blum-image-large { max-width:1040px; }
/* Center copy now that grid removed */
/* Removed earlier override so desktop 6/6 layout stays intact */

/* Reintroduce staggered offsets while keeping the block centered */
.impact-row.row-1 { transform: translateX(6%); }
.impact-row.row-2 { 
  /* Nudge ~2px left (reduced each value by ~0.15-0.2%) */
  transform: translateX(clamp(41.2%, 47.2vw, 55.2%)); 
}
.impact-row.row-3 { transform: translateX(2%); }
.impact-row.row-4 { transform: translateX(clamp(45%, 52vw, 60%)); }

@media (max-width: 860px) {
  .impact-row.row-1 { transform: translateX(0%); }
  .impact-row.row-2 { transform: translateX(25%); }
  .impact-row.row-3 { transform: translateX(0%); }
  .impact-row.row-4 { transform: translateX(30%); }
}
@media (max-width: 520px) {
  .impact-row.row-1 { transform: translateX(0%); }
  .impact-row.row-2 { transform: translateX(15%); }
  .impact-row.row-3 { transform: translateX(0%); }
  .impact-row.row-4 { transform: translateX(18%); }
}

/* Shift the entire impact block left while keeping stagger */
.impact-rows { 
  transform: translateX(-22%);
}
/* Scale the left shift down on smaller breakpoints */
@media (max-width: 1200px) {
  .impact-rows { transform: translateX(-16%); }
}
@media (max-width: 860px) {
  .impact-rows { transform: translateX(-8%); }
}
@media (max-width: 520px) {
  /* Mobile: shift impact block left significantly (user request) */
  .impact-rows { transform: translateX(-4%) !important; }
  /* Nudge individual rows slightly to preserve readable stagger while left-shifted */
  .impact-row.row-1 { transform: translateX(-3%) !important; }
  .impact-row.row-2 { transform: translateX(8%) !important; }
  .impact-row.row-3 { transform: translateX(-7%) !important; }
  .impact-row.row-4 { transform: translateX(10%) !important; }
}

/* === Horizontal Scroll Suppression & Mobile Nav Alignment Fixes === */
/* (Removed duplicate html,body overflow-x rule; primary definition is at top of file) */
/* Ensure no child introduces unintended width */
body > * { max-width:100%; }
/* Hard kill any accidental horizontal overflow from transforms/margins */

/* === Utility: desktop-only forced line break === */
/* Usage in HTML: Some text <br class="break-desktop"> continued text */
/* Hidden on mobile/tablet, becomes a real break only at desktop breakpoint */
.break-desktop { display:none; }
@media (min-width:1100px) {
  .break-desktop { display:inline; }
}

/* === Temporary Coming Soon Overlay (remove when launching) === */
.coming-soon-overlay { 
  position:fixed; inset:0; z-index:9999; 
  background:#000; color:#fff; 
  display:flex; align-items:center; justify-content:center; 
  padding:3rem 1.5rem; text-align:center; 
  font-family:var(--brand-font); 
}
.coming-soon-inner { max-width:760px; width:100%; display:flex; flex-direction:column; gap:1.75rem; }
.coming-soon-inner h1 { margin:0; font:700 clamp(2.8rem,7vw,4.2rem) var(--brand-font); letter-spacing:.05em; }
.coming-soon-tag { margin:0; font:400 clamp(1.15rem,2.2vw,1.55rem) var(--body-font); letter-spacing:.02em; color:#e2e2e2; }
.coming-soon-main { margin:.4rem 0 0; font:600 clamp(1.35rem,2.6vw,2rem) var(--brand-font); letter-spacing:.025em; color:#ff4d00; }
.coming-soon-cta { 
  align-self:center; text-decoration:none; 
  background:#ff4d00; color:#000; 
  font:700 1.15rem var(--body-font); letter-spacing:.08em; text-transform:uppercase; 
  padding:.9rem 2.2rem .95rem; border-radius:34px; 
  border:3px solid #ff4d00; 
  transition:background .35s var(--ease), color .35s var(--ease), box-shadow .45s var(--ease), transform .35s var(--ease); 
}
.coming-soon-cta:hover, .coming-soon-cta:focus-visible { background:#ff6d24; box-shadow:0 0 0 4px rgba(255,77,0,.3); color:#000; transform:translateY(-2px); }
.coming-soon-foot { margin-top:.25rem; font-size:.85rem; letter-spacing:.08em; color:#bbb; }
@media (max-width:600px) { .coming-soon-inner { gap:1.3rem; } }

/* (Removed overscroll-behavior-x for broader compatibility) */
/* Optional class (not yet applied) to lock body scroll when mobile menu open */
.no-scroll { position:relative; overflow:hidden !important; touch-action:none; }
/* Force mobile menus to align perfectly without 100vw scrollbar side-effects */
@media (max-width: 860px) {
  .nav-center { left:0; right:0; width:100% !important; margin:0; }
}
@media (max-width: 720px) {
  .nav-links { left:0; right:0; width:100% !important; margin:0; }
}
/* Safety: prevent subtle fractional transforms from causing layout overflow */
.impact-rows, .float-btn-stack, .hero, .hero-video { max-width:100%; }
