/* HERO */
.hero { min-height: 100vh; display: flex; flex-direction: column; position: relative; overflow: hidden; background: var(--bg-primary); }
.hero-content { flex: 1; display: flex; align-items: center; justify-content: center; position: relative; padding: 100px 52px 0; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.hero-mobile-text { display: none; }
.scroll-hint { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 10; display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--text-secondary); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; opacity: 0; transition: opacity .8s ease; pointer-events: none; }
.scroll-hint.visible { opacity: 1; }
.scroll-hint svg { animation: scrollBounce 2s ease-in-out infinite; }
@keyframes scrollBounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }

/* Hero animated text */
.hero-giant-wrap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; overflow: hidden; }
.hero-anim { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.hero-anim-line { display: flex; overflow: hidden; }
.hero-anim-line span { display: inline-block; opacity: 0; transform: translateY(100%); animation: heroLetterUp .8s cubic-bezier(.16,1,.3,1) forwards; }
.hero-anim-brand { font-family: 'Benzin', 'Inter', sans-serif; font-size: clamp(100px, 22vw, 360px); font-weight: 700; letter-spacing: .06em; color: var(--text-primary); text-transform: uppercase; line-height: 1; }
.hero-anim-brand span:nth-child(1) { animation-delay: .2s; }
.hero-anim-brand span:nth-child(2) { animation-delay: .32s; color: var(--accent-neutral); }
.hero-anim-brand span:nth-child(3) { animation-delay: .44s; color: var(--accent-neutral); }
.hero-anim-brand span:nth-child(4) { animation-delay: .56s; }
.hero-anim-sub { font-size: clamp(13px, 1.6vw, 22px); font-weight: 300; letter-spacing: .18em; color: var(--text-secondary); text-transform: uppercase; }
.hero-anim-sub span:nth-child(1) { animation-delay: .8s; }
.hero-anim-sub span:nth-child(2) { animation-delay: .92s; }
.hero-anim-sub span:nth-child(3) { animation-delay: 1.04s; }
.hero-anim-sub span:nth-child(4) { animation-delay: 1.16s; }
@keyframes heroLetterUp { to { opacity: 1; transform: translateY(0); } }

/* 3D Particles canvas */
#particles-canvas { position: absolute; inset: 0; z-index: 0; pointer-events: none; }

/* Product over text — 3D tilt */
.hero-product { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; height: 65vh; min-height: 400px; perspective: 800px; animation: heroScale 1.2s cubic-bezier(.22,.68,0,1) .3s both; }
.hero-product img { height: 92%; max-height: 620px; width: auto; object-fit: contain; filter: drop-shadow(0 40px 80px rgba(0,0,0,0.6)); transition: transform .4s ease-out; will-change: transform; transform-style: preserve-3d; }

/* Side devices */
.hero-side-left, .hero-side-right { display: none; }

/* Hero left info */
.hero-info-left { position: absolute; left: 52px; bottom: 140px; z-index: 5; animation: heroFadeUp .8s ease .6s both; }
.hero-roles { font-size: 13px; color: rgba(244,244,242,0.55); line-height: 1.8; }
.hero-cta-wrap { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
.hero-btn-outline { border: 1px solid var(--border-strong); color: var(--text-primary); padding: 14px 28px; font-size: 11px; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; transition: background .3s, color .3s, gap .3s; border-radius: 30px; display: inline-flex; align-items: center; gap: 10px; background: transparent; font-family: inherit; }
.hero-btn-outline:hover { background: var(--text-primary); color: var(--text-dark); }
.hero-btn-arrow { border: none; background: var(--text-primary); color: var(--text-dark); width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; cursor: none; transition: background .3s; }
.hero-btn-arrow:hover { background: var(--accent-neutral-strong); }
.hero-btn-row { display: flex; align-items: center; gap: 8px; }

/* Hero right info */
.hero-info-right { position: absolute; right: 52px; bottom: 28px; z-index: 5; display: flex; align-items: center; gap: 20px; animation: heroFadeUp .8s ease .7s both; }
.hero-avail { display: flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-secondary); }
.hero-avail-dot { width: 7px; height: 7px; border-radius: 50%; background: #4ADE80; animation: pulse-green 2s ease-in-out infinite; }
@keyframes pulse-green { 0%,100% { box-shadow: 0 0 0 0 rgba(74,222,128,0.4); } 50% { box-shadow: 0 0 0 8px rgba(74,222,128,0); } }
.hero-year { font-size: 11px; color: var(--text-secondary); letter-spacing: .05em; }

/* Hero stat cards */
.hero-stats { position: absolute; right: 52px; top: 38%; transform: translateY(-50%); z-index: 5; display: flex; flex-direction: column; gap: 10px; animation: heroFadeUp .8s ease .8s both; }
.hero-stat-card { background: rgba(244,244,242,0.06); backdrop-filter: blur(16px); border: 1px solid rgba(244,244,242,0.08); border-radius: 20px; padding: 22px 24px; min-width: 180px; transition: background .3s, border-color .3s; }
.hero-stat-card:hover { background: rgba(244,244,242,0.1); border-color: rgba(244,244,242,0.15); }
.hero-stat-num { font-family: 'Benzin', 'Inter', sans-serif; font-size: 48px; font-weight: 700; line-height: 1; margin-bottom: 4px; letter-spacing: -.03em; }
.hero-stat-label { font-size: 11px; color: var(--text-secondary); letter-spacing: .05em; }

/* Hero partner logos row */
.hero-partners { position: absolute; right: 52px; bottom: 240px; z-index: 5; display: flex; gap: 24px; align-items: center; }
.hero-partner-logo { font-size: 11px; color: rgba(244,244,242,0.3); letter-spacing: .06em; transition: color .3s; }
.hero-partner-logo:hover { color: var(--text-secondary); }

/* Hero bottom bar */
.hero-bar { position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between; padding: 16px 52px; border-top: 1px solid rgba(244,244,242,0.1); background: rgba(0,0,0,0.15); backdrop-filter: blur(10px); animation: heroFadeUp .6s ease 1s both; }
.hero-bar-item { display: flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-secondary); }
.hero-bar-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent-neutral); }

/* HORIZONTAL SCROLL */
.hscroll { overflow: hidden; padding:clamp(90px,11vw,160px) max(52px,calc((100vw - 1240px)/2)); background: var(--bg-primary); position: relative; }
.hscroll-inner { display: flex; align-items: baseline; flex-wrap:wrap; gap: 12px 28px; width:100%; height:auto; }
.hw { font-family: 'Benzin', 'Inter', sans-serif; font-size: clamp(36px, 5vw, 72px); font-weight: 700; color: rgba(244,244,242,0.4); white-space: normal; }
.hw-accent { color: var(--text-primary); }

/* HERO ANIMATIONS */
@keyframes heroFadeUp { from { opacity:0; transform:translateY(40px); } to { opacity:1; transform:none; } }
@keyframes heroScale { from { opacity:0; transform:scale(.9); } to { opacity:1; transform:none; } }

/* HERO MOBILE */
@media (max-width: 768px) {
  .hero { min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(200,203,209,.055) 0%, var(--bg-primary) 70%); }
  .hero-video { display: none; }
  .hero-content { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 20px 80px; position: relative; z-index: 2; }
  .hero-mobile-text { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; animation: heroFadeUp .8s ease .3s both; }
  .hero-m-logo { font-family: 'Inter', 'Helvetica Neue', sans-serif; font-size: 48px; font-weight: 200; letter-spacing: .35em; color: var(--text-primary); text-transform: uppercase; }
  .hero-m-logo span { color: var(--accent-neutral); font-weight: 200; }
  .hero-m-tagline { font-family: 'Inter', 'Helvetica Neue', sans-serif; font-size: 16px; font-weight: 300; line-height: 1.5; color: rgba(244,244,242,0.7); letter-spacing: .08em; }
  .hero-m-line { width: 40px; height: 1px; background: var(--accent-neutral); }
  .hero-m-sub { font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--text-secondary); }
  .scroll-hint { display: none; }
  .hero-anim-brand { font-size: clamp(64px, 18vw, 120px); }
  .hero-anim-sub { font-size: clamp(12px, 3.2vw, 18px); letter-spacing: .06em; }
  .hero-anim { gap: 10px; }
  .hero-product img { max-height: 320px; }
  .hero-side-left, .hero-side-right { display: none; }
  .hero-info-left { left: 20px; bottom: 90px; }
  .hero-roles { font-size: 12px; }
  .hero-info-right { right: 20px; bottom: 90px; }
  .hero-stats { display: none; }
  .hero-partners { display: none; }
  .hero-bar { padding: 14px 20px; flex-wrap: wrap; gap: 12px; justify-content: center; }
  .hero-bar-item { font-size: 10px; }
}

.flavors-page-link { margin-top: 34px; min-height: 58px; padding: 0 22px; border: 1px solid var(--border-strong); display: flex; justify-content: space-between; align-items: center; color: var(--text-primary); text-decoration: none; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; transition: background .3s,color .3s,border-color .3s; }
.flavors-page-link i { font-style: normal; font-size: 22px; transition: transform .3s var(--ease-out); }
.flavors-page-link:hover { background: var(--text-primary); border-color: var(--text-primary); color: var(--text-dark); }
.flavors-page-link:hover i { transform: translateX(5px); }

/* Direct contact actions */
.cta-actions { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,320px)); justify-content:center; gap:12px; }
.contact-action { min-height:108px; padding:20px 54px 20px 20px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; border:1px solid var(--border-strong); border-radius:var(--radius-card); color:var(--text-primary); text-align:left; text-decoration:none; transition:background .3s,border-color .3s,transform .3s var(--ease-out); }
.contact-action::before { content:''; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,255,255,.06),transparent 58%); opacity:0; transition:opacity .3s; }
.contact-action:hover { transform:translateY(-3px); border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.035); }
.contact-action:hover::before { opacity:1; }
.contact-action span { position:relative; color:var(--text-secondary); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.contact-action strong { position:relative; margin-top:7px; font-size:15px; font-weight:500; letter-spacing:-.01em; overflow-wrap:anywhere; }

.quote-kicker { display:none; }

/* Mobile landing — editorial object showcase */
@media (max-width: 768px) {
  .hero { min-height:max(700px,100svh); justify-content:flex-start; background:radial-gradient(circle at 50% 42%,rgba(142,124,255,.12),transparent 34%),linear-gradient(180deg,#0b0c0e 0%,#101218 72%,#0b0c0e 100%); }
  .hero::before { content:'MOOI'; position:absolute; left:50%; top:42%; transform:translate(-50%,-50%); color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.045); font-size:clamp(94px,29vw,128px); font-weight:600; letter-spacing:.08em; pointer-events:none; }
  .hero-content { width:100%; min-height:max(700px,100svh); padding:102px 16px 24px; justify-content:flex-start; }
  .hero-mobile-text { width:100%; max-width:430px; gap:0; animation:heroFadeUp .8s ease .15s both; }
  .hero-m-kicker { color:rgba(244,244,242,.46); font-size:9px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
  .hero-m-logo { margin-top:18px; font-size:clamp(54px,16vw,70px); line-height:1; letter-spacing:.25em; text-indent:.25em; }
  .hero-m-tagline { margin-top:16px; color:var(--text-primary); font-size:clamp(25px,7vw,31px); font-weight:400; line-height:1.05; letter-spacing:-.045em; }
  .hero-mobile-stage { position:relative; width:min(100%,390px); height:350px; margin-top:4px; isolation:isolate; contain:layout paint; }
  .hero-mobile-stage::before { content:''; position:absolute; left:9%; right:9%; bottom:34px; height:88px; border:1px solid rgba(255,255,255,.1); border-radius:50%; transform:perspective(300px) rotateX(68deg); background:radial-gradient(ellipse,rgba(255,255,255,.09),transparent 68%); box-shadow:0 30px 54px rgba(0,0,0,.48); }
  .hero-mobile-stage::after { content:''; position:absolute; left:18%; right:18%; bottom:55px; height:2px; background:linear-gradient(90deg,transparent,rgba(200,203,209,.56),transparent); filter:blur(.4px); }
  .hero-mobile-device { position:absolute; bottom:56px; z-index:2; display:block; background-position:center bottom; background-repeat:no-repeat; background-size:contain; filter:drop-shadow(0 22px 24px rgba(0,0,0,.52)); animation:mobile-device-float 6s ease-in-out infinite; }
  .hero-mobile-device--omny { left:4%; width:34%; height:238px; background-image:url('/assets/img/omny-white.webp'); transform:rotate(-7deg); animation-delay:-1.2s; }
  .hero-mobile-device--atlas { left:33%; width:36%; height:285px; z-index:3; background-image:url('/assets/img/atlas-white.webp'); animation-delay:-3.1s; }
  .hero-mobile-device--sleek { right:3%; width:31%; height:228px; background-image:url('/assets/img/sleek-studio-white.webp'); transform:rotate(7deg); animation-delay:-4.6s; }
  .hero-mobile-link { min-height:46px; margin-top:-12px; padding:0 18px; display:inline-flex; align-items:center; gap:18px; border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-control); color:var(--text-primary); font-size:10px; font-weight:600; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
  .hero-mobile-link span { color:var(--text-secondary); }

  .hscroll { min-height:72svh; padding:92px 20px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; border-block:1px solid rgba(255,255,255,.07); background:radial-gradient(circle at 92% 18%,rgba(127,214,255,.09),transparent 30%),#0b0c0e; }
  .hscroll::after { content:'“'; position:absolute; right:14px; top:34px; color:rgba(244,244,242,.055); font:300 180px/1 Georgia,serif; }
  .quote-kicker { display:block; margin-bottom:34px; color:rgba(244,244,242,.42); font-size:9px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
  .hscroll-inner { width:100%; height:auto; padding:0; display:block; }
  .hw { display:block; width:max-content; max-width:100%; color:rgba(244,244,242,.66); font-family:var(--font-body); font-size:clamp(38px,11.5vw,50px); font-weight:450; line-height:.94; letter-spacing:-.06em; white-space:nowrap; opacity:0; transform:translateY(34px); }
  .hw-accent { margin-top:8px; color:var(--text-primary); font-style:italic; font-weight:400; }
  .hscroll.quote-ready .hw { animation:mobile-quote-line .72s var(--ease-out) calc(var(--quote-i) * 95ms) forwards; }

  .lumen-showcase { padding:88px 16px; }
  .lumen-showcase .s-h { max-width:8ch; margin-bottom:34px; font-size:clamp(38px,11vw,48px); line-height:.94; }
  .lumen-grid { width:100%; max-width:430px; gap:14px; }
  .lcard { min-height:500px; padding:22px 20px 20px; align-items:stretch; border-radius:18px; background:radial-gradient(circle at 50% 42%,var(--product-accent-chip),transparent 44%),linear-gradient(180deg,#1a1d22,#121419); }
  .lcard-img { height:316px; margin:0 0 8px; }
  .lcard-img img { height:92%; max-width:72%; filter:drop-shadow(0 20px 32px rgba(0,0,0,.45)); }
  .lcard[data-product-id="sleek"] .lcard-img { overflow:visible; border:0; border-radius:0; background:transparent; }
  .lcard[data-product-id="sleek"].lit .lcard-img { background:transparent; }
  .lcard[data-product-id="sleek"] .lcard-img img { width:auto; height:82%; max-width:62%; object-fit:contain; filter:drop-shadow(0 20px 26px rgba(0,0,0,.42)); }
  .lcard[data-product-id="atlas"].lit .lcard-img-white,
  .lcard[data-product-id="omny"].lit .lcard-img-white { transform:scale(.94); }
  .lcard[data-product-id="sleek"].lit .lcard-img-white { transform:none; }
  .lcard-info { margin-top:auto; }
  .lcard-name { margin-bottom:9px; font-size:28px; line-height:1; letter-spacing:-.04em; }
  .lcard-desc { min-height:42px; max-width:26ch; margin-bottom:18px; font-size:13px; line-height:1.55; }
  .lcard-toggle-wrap { display:grid; grid-template-columns:1fr auto; align-items:end; gap:14px; }
  .lcard-specs { display:grid; grid-template-columns:1.35fr .72fr; gap:7px; }
  .lcard-spec { min-width:0; padding:10px 11px; display:flex; flex-direction:column; justify-content:center; border:1px solid var(--product-accent-border); border-radius:var(--radius-control); background:var(--product-accent-chip); line-height:1.1; }
  .lcard-spec b { color:var(--text-primary); font-size:12px; white-space:nowrap; }
  .lcard-spec small { margin:5px 0 0; color:rgba(244,244,242,.48); font-size:8px; letter-spacing:.09em; text-transform:uppercase; }
  .ltoggle-label { bottom:calc(100% + 7px); opacity:1; color:rgba(244,244,242,.46); }
  .ticker { display:none; }

  .flavors { padding:82px 16px; }
  .flavors .s-h { font-size:clamp(38px,10vw,46px); }
  .ftabs { margin-top:28px; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
  .ftab { min-width:0; min-height:44px; padding:0 8px; border-radius:var(--radius-control); font-size:9px; letter-spacing:.12em; cursor:pointer; }
  .ftab-count { display:none; }
  .fpanel { margin-top:14px; }
  .fpanel.on { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .fpanel .fitem:nth-child(n+7) { display:none; }
  .fitem { min-height:58px; padding:9px 10px; gap:8px; border-radius:var(--radius-control); cursor:auto; }
  .forb { width:16px; height:16px; }
  .fname { font-size:12px; line-height:1.25; }
  .flavors-page-link { min-height:54px; margin-top:12px; border-radius:var(--radius-control); font-size:10px; }

  .cta { padding:88px 20px; text-align:left; }
  .cta .s-tag { justify-content:flex-start !important; }
  .cta-h { max-width:8ch; margin-bottom:20px; font-size:clamp(42px,12vw,54px); line-height:.94; }
  .cta-p { margin:0 0 30px; font-size:15px; }
  .cta-actions { grid-template-columns:1fr; gap:8px; }
  .contact-action { min-height:92px; padding:17px 50px 17px 17px; }
}

@keyframes mobile-device-float { 0%,100%{translate:0 0} 50%{translate:0 -7px} }
@keyframes mobile-quote-line { from{opacity:0;transform:translateY(34px)} to{opacity:1;transform:none} }

@media (max-width: 380px) {
  .hero-mobile-stage { height:326px; }
  .hero-mobile-device--omny { height:218px; }
  .hero-mobile-device--atlas { height:262px; }
  .hero-mobile-device--sleek { height:210px; }
  .lcard { min-height:470px; }
  .lcard-img { height:288px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-mobile-device { animation:none; }
  .hw { opacity:1; transform:none; }
}

/* Brand-led hero: independent from the number of products in the catalogue. */
.hero {
  min-height:100svh;
  padding:0;
  isolation:isolate;
  background:#0b0c0e;
}
.hero-atmosphere {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 44%,rgba(142,124,255,.105),transparent 25%),
    radial-gradient(circle at 62% 72%,rgba(127,214,255,.07),transparent 25%),
    linear-gradient(135deg,#0b0c0e 0%,#101218 52%,#0b0c0e 100%);
}
.hero-atmosphere::before {
  content:'';
  position:absolute;
  inset:0;
  opacity:.24;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:clamp(72px,8vw,132px) clamp(72px,8vw,132px);
  mask-image:linear-gradient(90deg,transparent 4%,#000 38%,#000 86%,transparent);
}
.hero-content {
  width:min(100%,1440px);
  min-height:100svh;
  margin:0 auto;
  padding:130px clamp(28px,5vw,72px) 72px;
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(460px,1.18fr);
  align-items:center;
  gap:clamp(26px,5vw,84px);
  z-index:2;
}
.hero-copy { position:relative; z-index:2; animation:heroFadeUp .9s var(--ease-out) .08s both; }
.hero-kicker { margin:0 0 28px; color:rgba(244,244,242,.45); font-size:10px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; }
.hero-wordmark { font-size:clamp(78px,10vw,158px); font-weight:250; line-height:.82; letter-spacing:.16em; text-indent:.16em; color:var(--text-primary); }
.hero-wordmark span { color:var(--accent-neutral); }
.hero-tagline { max-width:13ch; margin:38px 0 0; color:rgba(244,244,242,.84); font-size:clamp(26px,3vw,46px); font-weight:320; line-height:1.03; letter-spacing:-.045em; }
.hero-collection-link { min-height:50px; width:max-content; margin-top:38px; padding:0 22px; display:inline-flex; align-items:center; border:1px solid rgba(255,255,255,.2); border-radius:var(--radius-control); color:var(--text-primary); font-size:10px; font-weight:600; letter-spacing:.15em; text-decoration:none; text-transform:uppercase; transition:background .25s,color .25s,border-color .25s; }
.hero-collection-link:hover { background:var(--text-primary); border-color:var(--text-primary); color:var(--text-dark); }
.hero-brand-object { position:relative; width:min(60vw,720px); aspect-ratio:1; justify-self:end; border-radius:50%; contain:layout paint; animation:hero-object-in 1.1s var(--ease-out) .12s both; }
.hero-brand-object::before,.hero-brand-object::after { content:''; position:absolute; z-index:-1; border-radius:50%; pointer-events:none; }
.hero-brand-object::before { inset:13%; background:radial-gradient(circle,rgba(244,244,242,.06),rgba(142,124,255,.035) 46%,transparent 68%); box-shadow:0 0 100px rgba(142,124,255,.07); }
.hero-brand-object::after { left:13%; right:13%; bottom:10%; height:17%; border:1px solid rgba(255,255,255,.08); transform:perspective(360px) rotateX(68deg); background:radial-gradient(ellipse,rgba(255,255,255,.07),transparent 68%); }
.hero-orbit { position:absolute; inset:50%; border:1px solid rgba(244,244,242,.13); border-radius:50%; transform:translate(-50%,-50%); will-change:transform; }
.hero-orbit::before { content:''; position:absolute; width:7px; height:7px; top:50%; left:-4px; border-radius:50%; background:#f4f4f2; box-shadow:0 0 16px rgba(244,244,242,.7); }
.hero-orbit--outer { width:88%; height:88%; animation:hero-orbit 24s linear infinite; }
.hero-orbit--middle { width:66%; height:66%; border-color:rgba(142,124,255,.34); animation:hero-orbit-reverse 19s linear infinite; }
.hero-orbit--inner { width:43%; height:43%; border-color:rgba(127,214,255,.28); animation:hero-orbit 15s linear infinite; }
.hero-orbit--middle::before { width:5px; height:5px; background:#8e7cff; }
.hero-orbit--inner::before { width:4px; height:4px; background:#7fd6ff; }
.hero-core { position:absolute; left:50%; top:50%; width:29%; aspect-ratio:1; transform:translate(-50%,-50%); display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.16),rgba(255,255,255,.035) 44%,rgba(7,8,11,.82)); box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 26px 70px rgba(0,0,0,.4); }
.hero-core span { font-size:clamp(13px,1.6vw,22px); font-weight:500; letter-spacing:.25em; text-indent:.25em; color:rgba(244,244,242,.84); }
.hero-object-caption { position:absolute; inset:auto 9% 4%; display:flex; justify-content:space-between; color:rgba(244,244,242,.32); font-size:8px; font-weight:600; letter-spacing:.18em; }
.scroll-hint { opacity:0; }
@keyframes hero-orbit { to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes hero-orbit-reverse { to { transform:translate(-50%,-50%) rotate(-360deg); } }
@keyframes hero-object-in { from { opacity:0; transform:scale(.88) rotate(-5deg); } to { opacity:1; transform:none; } }

@media (max-width:768px) {
  .hero { min-height:max(700px,100svh); justify-content:initial; background:#0b0c0e; }
  .hero::before { content:none; }
  .hero-content { min-height:max(700px,100svh); padding:104px 18px 30px; display:flex; flex-direction:column; justify-content:center; gap:18px; }
  .hero-copy { width:100%; display:flex; flex-direction:column; align-items:center; text-align:center; }
  .hero-kicker { margin-bottom:18px; font-size:8px; }
  .hero-wordmark { font-size:clamp(64px,20vw,84px); letter-spacing:.18em; text-indent:.18em; }
  .hero-tagline { margin-top:22px; font-size:clamp(27px,7.7vw,34px); line-height:1.02; }
  .hero-collection-link { order:4; min-height:48px; margin-top:16px; }
  .hero-brand-object { order:3; width:min(90vw,390px); margin-top:-8px; justify-self:auto; }
  .hero-object-caption { inset:auto 7% 2%; }
  .hero-core span { font-size:12px; }
  .scroll-hint { display:none; }
}

@media (max-width:380px) {
  .hero-content { padding-top:92px; }
  .hero-brand-object { width:min(84vw,320px); }
}

@media (prefers-reduced-motion:reduce) {
  .hero-copy,.hero-brand-object { animation:none; }
  .hero-orbit--outer,.hero-orbit--middle,.hero-orbit--inner { animation:none; will-change:auto; }
}

/* Typographic hero — restrained, fast and independent of the product roster. */
.hero-atmosphere {
  background:radial-gradient(ellipse 68% 52% at 50% 48%,rgba(255,255,255,.035),transparent 68%),#0b0c0e;
}
.hero-atmosphere::before {
  opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:clamp(86px,9vw,148px) clamp(86px,9vw,148px);
  mask-image:radial-gradient(ellipse at center,#000,transparent 76%);
}
.hero-atmosphere::after {
  content:'';
  position:absolute;
  inset:-35% auto -35% 0;
  width:24%;
  background:linear-gradient(90deg,transparent,rgba(244,244,242,.045),transparent);
  transform:skewX(-12deg) translateX(-160%);
  animation:hero-light-pass 6.8s cubic-bezier(.64,0,.36,1) 1.2s both;
}
.hero-content {
  width:100%;
  min-height:100svh;
  padding:128px 28px 72px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-typography { width:min(100%,1120px); display:flex; flex-direction:column; align-items:center; text-align:center; }
.hero-overline { margin:0 0 clamp(30px,5vw,64px); color:rgba(244,244,242,.4); font-size:9px; font-weight:600; letter-spacing:.25em; text-transform:uppercase; opacity:0; animation:hero-type-rise .65s var(--ease-out) .12s forwards; }
.hero-logo-reveal { width:min(76vw,980px); overflow:hidden; clip-path:inset(0 100% 0 0); animation:hero-logo-wipe 1.15s cubic-bezier(.16,1,.3,1) .28s forwards; }
.hero-logo-reveal img { display:block; width:100%; height:auto; filter:drop-shadow(0 18px 52px rgba(255,255,255,.045)); }
.hero-typography .hero-collection-link { margin-top:clamp(34px,4.5vw,54px); opacity:0; transform:translateY(12px); animation:hero-type-rise .65s var(--ease-out) .76s forwards; }
.hero .scroll-hint { display:none; }
@keyframes hero-logo-wipe { from { opacity:.2; clip-path:inset(0 100% 0 0); transform:translateY(12px); } to { opacity:1; clip-path:inset(0); transform:none; } }
@keyframes hero-type-rise { to { opacity:1; transform:none; } }
@keyframes hero-dot-in { to { opacity:1; } }
@keyframes hero-light-pass { 0% { transform:skewX(-12deg) translateX(-160%); } 100% { transform:skewX(-12deg) translateX(560%); } }

@media (max-width:768px) {
  .hero-content { min-height:max(660px,100svh); padding:104px 18px 34px; gap:0; }
  .hero-overline { margin-bottom:40px; font-size:8px; }
  .hero-logo-reveal { width:min(84vw,520px); }
  .hero-typography .hero-collection-link { margin-top:34px; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-atmosphere::after { display:none; }
  .hero-overline,.hero-logo-reveal,.hero-typography .hero-collection-link { opacity:1; transform:none; clip-path:none; animation:none; }
}

/* Collection-wide facts: the text value stays balanced in the same three-column rhythm. */
.stat-n--text { font-size:clamp(30px,3.1vw,42px); letter-spacing:-.035em; }

@media (max-width:768px) {
  .stat-n--text { font-size:clamp(24px,7vw,30px); }
}
