@font-face{
  font-family:'Inter';
  src:url('assets/fonts/inter-latin.woff2') format('woff2');
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
}
@font-face{
  font-family:'Oswald';
  src:url('assets/fonts/oswald-latin.woff2') format('woff2');
  font-style:normal;
  font-weight:500 700;
  font-display:swap;
}
@font-face{
  font-family:'IBM Plex Mono';
  src:url('assets/fonts/ibm-plex-mono-400-latin.woff2') format('woff2');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:'IBM Plex Mono';
  src:url('assets/fonts/ibm-plex-mono-500-latin.woff2') format('woff2');
  font-style:normal;
  font-weight:500;
  font-display:swap;
}

:root{
  --bg:#0b0b0c;
  --bg-gradient:
    radial-gradient(circle at 10% 15%, rgba(245, 130, 31, 0.055) 0%, transparent 35%),
    radial-gradient(circle at 90% 25%, rgba(20, 110, 120, 0.04) 0%, transparent 40%),
    radial-gradient(circle at 20% 65%, rgba(99, 102, 241, 0.04) 0%, transparent 45%),
    radial-gradient(circle at 80% 85%, rgba(245, 130, 31, 0.04) 0%, transparent 35%),
    #0b0b0c;
  --fg:#f3f2ee;
  --muted:#8a8a86;
  --accent:#f5821f;
  --line:rgba(243,242,238,0.14);
  --surface-1:#151515;
  --surface-2:#101011;
  --surface-3:#1c1c1c;
  --ink-on-fg:#0b0b0c;
  --mono:'IBM Plex Mono',monospace;
  --sans:'Inter',sans-serif;
  --display:'Oswald',sans-serif;
  --color-1:var(--accent);
  --color-2:var(--fg);
  --color-3:#ff6b81;
  --color-4:var(--muted);
  --product-frame-bg:#202023;
}

:root[data-theme="light"]{
  --bg:#f3f2ee;
  --bg-gradient:#f3f2ee;
  --fg:#131311;
  --muted:#67665f;
  --line:rgba(19,19,17,0.14);
  --surface-1:#e6e3da;
  --surface-2:#ece9e0;
  --surface-3:#dedad0;
  --ink-on-fg:#f3f2ee;
  --product-frame-bg:#e9e5dc;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
html.lenis-smooth{scroll-behavior:auto;}
html,body{width:100%;background:var(--bg);color:var(--fg);overflow-x:hidden;}
body{
  font-family:var(--sans);font-weight:400;cursor:auto;
  background:var(--bg-gradient);
  background-attachment:scroll;
  transition:background-color .3s ease,color .3s ease;
}
/* ---------- Nike Heading Typography (Oswald Bold Uppercase) ---------- */
.hero-title,
.glitch-title,
.fan-head h2,
.showcase-head h2,
.spotlight-caption h2,
.category-head h2,
.footer-h2,
.product-modal-name {
  font-family: var(--display) !important;
  text-transform: uppercase !important;
  letter-spacing: -0.015em !important;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--accent);color:#fff;}

.tag{
  display:inline-block;font-family:var(--mono);font-size:.85rem;
  letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-bottom:1.2rem;
}

/* ---------- Loader ---------- */
.loader{
  position:fixed;inset:0;z-index:999;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;
}
.loader-mark{font-weight:700;font-size:2rem;letter-spacing:-.02em;}
.loader-bar{width:min(240px,60vw);height:2px;background:var(--line);overflow:hidden;}
.loader-bar-fill{width:0%;height:100%;background:var(--fg);}
.loader-count{font-family:var(--mono);font-size:.85rem;color:var(--muted);letter-spacing:.05em;}

/* ---------- Custom cursor ---------- */
@media (pointer:fine) and (min-width:901px){
  body{cursor:auto;}
  .cursor-dot,
  .cursor-ring{
    position:fixed;
    top:0;
    left:0;
    z-index:9999;
    pointer-events:none;
    opacity:0;
    transform:translate3d(-50%,-50%,0);
    will-change:transform,opacity;
  }
  .cursor-dot{
    width:.62rem;
    height:.62rem;
    border-radius:999px;
    background:var(--accent);
    box-shadow:0 0 18px rgba(245,130,31,.9), 0 0 3px rgba(255,255,255,.95);
  }
  .cursor-ring{
    width:2.7rem;
    height:2.7rem;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb, var(--accent) 68%, rgba(255,255,255,.65));
    border-radius:999px;
    background:
      radial-gradient(circle at 35% 28%, rgba(255,255,255,.2), transparent 38%),
      rgba(245,130,31,.08);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.06) inset,
      0 1rem 2.6rem rgba(0,0,0,.25),
      0 0 32px rgba(245,130,31,.32);
  }
  .cursor-ring span{
    font-family:var(--mono);
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.08em;
    color:var(--fg);
    opacity:0;
    transform:scale(.8);
  }
  .cursor-ring.is-hover{
    border-color:rgba(245,130,31,.95);
    background:rgba(245,130,31,.16);
  }
  .cursor-ring.is-down{
    background:rgba(245,130,31,.28);
  }
}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;width:100%;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem clamp(1.2rem,4vw,3rem);
  background:color-mix(in srgb, var(--bg) 78%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-logo{
  display:flex;align-items:center;flex:none;position:relative;
  animation: logo-float 6s ease-in-out infinite;
  transform-origin: center center;
}
.nav-logo:hover {
  animation: logo-breeze 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
@keyframes logo-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-4px) rotate(1.2deg); }
}
@keyframes logo-breeze {
  0% { transform: translateY(0) rotate(0deg); }
  15% { transform: translateY(-6px) rotate(-4deg); }
  30% { transform: translateY(3px) rotate(3deg); }
  45% { transform: translateY(-3px) rotate(-2deg); }
  60% { transform: translateY(1.5px) rotate(1deg); }
  75% { transform: translateY(-0.8px) rotate(-0.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
.logo-img{
  height:3.1rem;
  width:auto;
  transition: opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.logo-img-light {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: auto;
  opacity: 0;
  transform: scale(0.94);
  pointer-events: none;
}
.logo-img-dark {
  position: relative;
  opacity: 1;
  transform: scale(1);
}
:root[data-theme="light"] .logo-img-light {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
:root[data-theme="light"] .logo-img-dark {
  opacity: 0;
  transform: scale(0.94);
  pointer-events: none;
}
.logo-mark-bg{fill:var(--fg);}
.nav-right{display:flex;align-items:center;gap:.8rem;flex:none;}
.theme-toggle{
  width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;background:none;color:var(--fg);
  position:relative;cursor:pointer;
}
.theme-toggle svg{width:18px;height:18px;position:absolute;transition:opacity .25s,transform .25s;}
.theme-toggle .icon-sun{opacity:0;transform:rotate(-60deg) scale(.5);}
.theme-toggle .icon-moon{opacity:1;transform:rotate(0) scale(1);}
:root[data-theme="light"] .theme-toggle .icon-sun{opacity:1;transform:rotate(0) scale(1);}
:root[data-theme="light"] .theme-toggle .icon-moon{opacity:0;transform:rotate(60deg) scale(.5);}
.nav-cta{border:1px solid currentColor;padding:.6rem 1.2rem;border-radius:99px;font-size:.95rem;}

/* ---------- Gooey nav ---------- */
.gooey-nav-container{position:relative;flex:1;display:flex;justify-content:center;}
.gooey-nav-container nav{position:relative;transform:translate3d(0,0,.01px);}
.gooey-nav-container nav ul{
  display:flex;gap:.4em;list-style:none;position:relative;z-index:3;
  color:var(--fg);font-size:1.15rem;
}
.gooey-nav-container nav ul li{
  border-radius:100vw;position:relative;cursor:pointer;color:var(--fg);
  transition:color .3s ease;overflow:visible;
}
.gooey-nav-container nav ul li a{position:relative;z-index:2;display:inline-block;padding:.65em 1.15em;}
.gooey-nav-container nav ul li::after{
  content:'';position:absolute;inset:0;border-radius:100vw;background:var(--accent);
  opacity:0;transform:scale(0);transition:all .3s ease;z-index:0;
}
.gooey-nav-container nav ul li.active{color:#fff;}
.gooey-nav-container nav ul li.active::after{opacity:1;transform:scale(1);}

.gooey-particle,.gooey-point{
  display:block;opacity:0;width:14px;height:14px;border-radius:100%;transform-origin:center;
}
.gooey-particle{
  --time:5s;position:absolute;top:calc(50% - 7px);left:calc(50% - 7px);z-index:5;
  animation:gooeyParticle calc(var(--time)) ease 1 -350ms;
}
.gooey-point{background:var(--pcolor);opacity:1;animation:gooeyPoint calc(var(--time)) ease 1 -350ms;}
@keyframes gooeyParticle{
  0%{transform:rotate(0deg) translate(var(--start-x),var(--start-y));opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45);}
  70%{transform:rotate(calc(var(--rotate) * .5)) translate(calc(var(--end-x) * 1.2),calc(var(--end-y) * 1.2));opacity:1;animation-timing-function:ease;}
  85%{transform:rotate(calc(var(--rotate) * .66)) translate(var(--end-x),var(--end-y));opacity:1;}
  100%{transform:rotate(calc(var(--rotate) * 1.2)) translate(calc(var(--end-x) * .5),calc(var(--end-y) * .5));opacity:1;}
}
@keyframes gooeyPoint{
  0%{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45);}
  25%{transform:scale(calc(var(--scale) * .25));}
  38%{opacity:1;}
  65%{transform:scale(var(--scale));opacity:1;animation-timing-function:ease;}
  85%{transform:scale(var(--scale));opacity:1;}
  100%{transform:scale(0);opacity:0;}
}

/* ---------- Hero ---------- */
.hero{
  min-height:auto;display:flex;flex-direction:column;justify-content:flex-start;
  padding:7rem clamp(1.2rem,5vw,4rem) 4rem;position:relative;isolation:isolate;
}
.hero-media{
  position:relative;z-index:0;overflow:hidden;
  width:min(1120px,100%);
  aspect-ratio:16/9;
  margin:0 auto;
  border-radius:28px;
  background:var(--surface-1);
  box-shadow:0 22px 60px rgba(0,0,0,.18);
}
.hero-video{
  width:100%;height:100%;object-fit:cover;object-position:center center;
  filter:saturate(1.02) contrast(1.02);
}
.hero-video-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(8,7,6,.08),rgba(8,7,6,.2)),
    radial-gradient(circle at 50% 42%,rgba(255,148,43,.06),transparent 38%);
}
.hero-bg-grid{
  display:none;
  position:absolute;inset:0;z-index:1;opacity:.35;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 30% 30%,black,transparent 70%);
}
.hero-title{
  position:relative;z-index:2;
  font-family:var(--display);
  text-transform:uppercase;
  font-size:clamp(3.2rem,11vw,8.5rem);line-height:.95;font-weight:700;letter-spacing:-.01em;
  -webkit-user-select:none;user-select:none;
}
.hero-title .line{display:block;overflow:hidden;}
.hero-title .reveal{display:inline-block;transform:translateY(110%);}
.hero-title .accent{color:var(--accent);font-style:italic;}
.hero > .hero-sub{
  display:none;
}
.hero-context{
  padding:1.75rem clamp(1.2rem,5vw,4rem) 0;
}
.hero-sub{
  position:relative;z-index:2;
  margin:0;max-width:38rem;color:var(--muted);font-size:1.3rem;line-height:1.55;
  opacity:0;transform:translateY(20px);
}
.hero-scroll-cue{
  z-index:2;
  position:absolute;bottom:5.4rem;left:calc((100% - min(1120px, calc(100% - clamp(2.4rem,10vw,8rem)))) / 2 + 1.4rem);
  display:flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.7rem;
  text-transform:uppercase;color:var(--muted);letter-spacing:.1em;
}
.hero-scroll-line{width:1px;height:36px;background:var(--muted);position:relative;overflow:hidden;}
.hero-scroll-line::after{
  content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--fg);
  animation:scrollcue 1.8s ease-in-out infinite;
}
@keyframes scrollcue{0%{top:-100%;}50%{top:0;}100%{top:100%;}}

/* ---------- Glitch manifesto (multi-layer stack) ---------- */
.glitch-strip{
  position:relative;min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:2.5rem;padding:4rem 1.2rem;
}
.comparison-strip{
  --compare:50%;
  isolation:isolate;
  cursor:auto;
}
.comparison-strip .iridescence-bg-container,
.comparison-strip::before{
  display:none;
}
.comparison-layer{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2.5rem;
  padding:4rem 1.2rem;
  pointer-events:none;
}
.comparison-before{
  z-index:0;
  background:
    radial-gradient(circle at 22% 20%, rgba(255,255,255,.12), transparent 32%),
    radial-gradient(circle at 80% 78%, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(135deg, #050505 0%, #151515 52%, #000 100%);
}
.comparison-before .glitch-title{color:#f7f4ee;}
.comparison-before .glitch-final{color:rgba(255,255,255,.68);}
.comparison-after{
  z-index:1;
  clip-path:inset(0 calc(100% - var(--compare)) 0 0);
  background:
    radial-gradient(circle at 16% 26%, rgba(0,0,0,.08), transparent 30%),
    radial-gradient(circle at 82% 70%, rgba(245,130,31,.12), transparent 32%),
    linear-gradient(135deg, #fff 0%, #f6f1e8 52%, #e9e4d9 100%);
}
.comparison-after .glitch-title{color:#141414;}
.comparison-after .glitch-final{color:rgba(20,20,20,.58);}
.comparison-content{
  position:relative;
  z-index:2;
  visibility:hidden;
  pointer-events:none;
}
.comparison-range{
  position:absolute;
  inset:0;
  z-index:4;
  width:100%;
  height:100%;
  opacity:0;
  cursor:ew-resize;
}
.comparison-handle{
  position:absolute;
  top:0;
  bottom:0;
  left:var(--compare);
  z-index:3;
  width:2px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.86);
  box-shadow:0 0 0 1px rgba(0,0,0,.18), 0 0 28px rgba(255,255,255,.45);
  pointer-events:none;
}
.comparison-handle span{
  position:absolute;
  top:50%;
  left:50%;
  width:3.2rem;
  height:3.2rem;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  box-shadow:0 1rem 2.2rem rgba(0,0,0,.28);
}
.comparison-handle span::before,
.comparison-handle span::after{
  content:"";
  position:absolute;
  top:50%;
  width:.55rem;
  height:.55rem;
  border-top:2px solid #171717;
  border-left:2px solid #171717;
}
.comparison-handle span::before{
  left:.95rem;
  transform:translateY(-50%) rotate(-45deg);
}
.comparison-handle span::after{
  right:.95rem;
  transform:translateY(-50%) rotate(135deg);
}
/* ---------- Aurora Gradient Background (ReactBits-inspired) ---------- */
.glitch-strip::before{
  content:"";
  position:absolute;
  inset:-50%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 40%, rgba(124,58,237,0.25), transparent 50%),
    radial-gradient(circle at 75% 30%, rgba(59,130,246,0.20), transparent 45%),
    radial-gradient(circle at 50% 80%, rgba(245,130,31,0.18), transparent 50%),
    radial-gradient(circle at 85% 75%, rgba(168,85,247,0.15), transparent 40%);
  animation: aurora-drift 12s ease-in-out infinite alternate;
  filter: blur(60px);
}
:root[data-theme="light"] .glitch-strip::before{
  background:
    radial-gradient(circle at 20% 40%, rgba(251,191,36,0.22), transparent 50%),
    radial-gradient(circle at 75% 30%, rgba(251,146,60,0.18), transparent 45%),
    radial-gradient(circle at 50% 80%, rgba(192,132,252,0.16), transparent 50%),
    radial-gradient(circle at 85% 75%, rgba(52,211,153,0.12), transparent 40%);
}


@keyframes aurora-drift {
  0% { transform: translate(0, 0) scale(1) rotate(0deg); }
  33% { transform: translate(5%, -3%) scale(1.05) rotate(2deg); }
  66% { transform: translate(-3%, 5%) scale(0.98) rotate(-1deg); }
  100% { transform: translate(2%, -2%) scale(1.03) rotate(1.5deg); }
}
.glitch-title{
  width:100%;
  text-align:center;
  font-weight:700;text-transform:uppercase;
  font-size:clamp(2.4rem,8.5vw,6.5rem);letter-spacing:-.02em;color:var(--fg);
  line-height:.92;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-wrap:balance;
}
.glitch-final{
  position:relative;z-index:2;text-align:center;font-size:clamp(1.3rem,2.8vw,1.9rem);
  color:var(--muted);line-height:1.4;
}

/* ---------- Category fan carousel ---------- */
.fan-section{padding:6rem clamp(1.2rem,5vw,4rem) 4rem;border-bottom:1px solid var(--line);}
.fan-head{max-width:30rem;margin:0 auto 3rem;text-align:center;}
.fan-head h2{font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:700;letter-spacing:-.02em;margin-top:.2rem;}
.fan-layout{
  position:relative;display:flex;justify-content:center;align-items:center;
  width:100%;max-width:70rem;margin:0 auto;height:clamp(23rem,32vw,26rem);
}
.fan-card{
  position:absolute;top:35%;left:50%;width:clamp(6.4rem,12vw,8.8rem);aspect-ratio:3/5;
  border-radius:14px;overflow:hidden;cursor:pointer;
  border:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,.35);
  will-change:transform;
}
.fan-card-inner{
  position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:var(--tint,var(--surface-1));
}
.fan-card-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.fan-card-inner .product-icon{width:40%;height:40%;color:var(--fg);}
.fan-card-inner.accent .product-icon{color:#fff;}
.fan-card-label{
  position:absolute;bottom:.55rem;left:0;right:0;text-align:center;
  font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.fan-controls{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:2.4rem;}
.fan-controls:empty{display:none;}
.mobile-carousel-root{display:none;}
.fan-arrow{
  width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid var(--line);
  background:color-mix(in srgb, var(--fg) 6%, transparent);backdrop-filter:blur(12px);
  display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;
  transition:color .2s,border-color .2s;
}
.fan-arrow:hover{color:var(--fg);border-color:var(--fg);}
.fan-arrow svg{width:16px;height:16px;}
.fan-dots{display:flex;gap:.4rem;}
.fan-dot{width:.4rem;height:.4rem;border-radius:50%;background:var(--line);transition:transform .3s,background .3s;}
.fan-dot.active{background:var(--fg);transform:scale(1.4);}

/* ---------- Showcase (horizontal scroll) ---------- */
.showcase{
  position:relative;
  background:
    radial-gradient(circle at 8% 22%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--bg) 96%, var(--fg) 4%) 0%, var(--bg) 100%);
}
.showcase-pin{height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;}
.showcase-head{padding:0 clamp(1.2rem,5vw,4rem);margin-bottom:2.2rem;}
.showcase-head h2{font-size:clamp(2.2rem,5.5vw,3.8rem);font-weight:700;letter-spacing:-.02em;}
.showcase-scroll-hint{display:flex;align-items:center;gap:.65rem;margin-top:.9rem;max-width:30rem;color:var(--muted);font-size:.9rem;line-height:1.5;}
.showcase-scroll-hint>span{color:var(--accent);font-size:1.5rem;flex-shrink:0;}
.showcase-track{display:flex;gap:clamp(1.2rem,2.5vw,2.5rem);padding:0 clamp(1.2rem,5vw,4rem);width:max-content;}
.product-card{
  --tint:var(--surface-1);
  --showcase-accent:var(--accent);
  --showcase-card:
    linear-gradient(180deg, color-mix(in srgb, var(--surface-1) 96%, var(--showcase-accent) 4%), var(--surface-1));
  --showcase-frame:#111;
  --image-position:center center;
  --image-scale:1;
  --image-scale-hover:1.04;
  width:min(70vw,360px);flex:none;
  border:1px solid var(--line);border-radius:18px;padding:1.6rem;
  background:linear-gradient(180deg,color-mix(in srgb, var(--fg) 4%, transparent),transparent);
  transform-style:preserve-3d;
  will-change:transform;
}
.product-photo{width:100%;height:100%;object-fit:cover;}
.product-photo.feature{
  object-fit:cover;
  object-position:var(--image-position);
  background:var(--product-frame-bg);
  transform:scale(var(--image-scale));
  transition:transform .7s cubic-bezier(.2,.8,.2,1), filter .7s cubic-bezier(.2,.8,.2,1);
}
.product-photo.object{
  width:88%;
  height:88%;
  object-fit:contain;
  margin:auto;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.28));
}
.product-frame{
  aspect-ratio:1/1;border-radius:12px;margin-bottom:1.4rem;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--showcase-accent) 18%, transparent), transparent 58%),
    var(--showcase-frame);
  position:relative;
  transform:translateZ(26px);
}
.product-frame:has(.product-photo.feature){
  background:var(--showcase-frame);
}
.product-card[data-tint="accent"] .product-frame{background:linear-gradient(160deg,var(--accent),#3a1c00);}
.product-cat{
  display:inline-block;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;
  color:var(--muted);letter-spacing:.08em;margin-bottom:.4rem;
}
.product-icon{width:46%;height:46%;color:var(--fg);overflow:visible;}
.product-icon.small{width:44%;height:44%;}
.product-card[data-tint="accent"] .product-icon{color:#fff;}
.product-card h3{font-size:1.35rem;font-weight:600;margin-bottom:.4rem;}
.product-card p{color:var(--muted);font-size:1rem;line-height:1.4;}
.product-card .product-cat,.product-card h3,.product-card p{transform:translateZ(18px);}
.product-card:hover .product-photo.feature{transform:scale(var(--image-scale-hover));filter:saturate(1.04) contrast(1.02);}
.product-card[data-vitrine="iphone"]{--showcase-accent:#d67733;--showcase-frame:linear-gradient(145deg,#f4c796,#5d2710 52%,#130706);--image-position:center center;--image-scale:1.03;--image-scale-hover:1.08;}
.product-card[data-vitrine="mac"]{--showcase-accent:#8ec9ee;--showcase-frame:linear-gradient(145deg,#dff1fb,#6d8fa8 48%,#10202f);--image-position:center center;--image-scale:1.02;--image-scale-hover:1.06;}
.product-card[data-vitrine="ipad"]{--showcase-accent:#8ab4f8;--showcase-frame:linear-gradient(145deg,#dfeafe,#8aa5c5 48%,#1c2635);--image-position:center center;--image-scale:1.08;--image-scale-hover:1.13;}
.product-card[data-vitrine="watch"]{--showcase-accent:#a3e635;--showcase-frame:linear-gradient(145deg,#334155,#111827 52%,#050608);--image-position:center center;--image-scale:1.06;--image-scale-hover:1.11;}
.product-card[data-vitrine="airpods"]{--showcase-accent:#dbeafe;--showcase-frame:linear-gradient(145deg,#d7dee8,#64748b 46%,#111827);--image-position:center center;--image-scale:1.04;--image-scale-hover:1.09;}
.product-card[data-vitrine="scooter"]{--showcase-accent:#f59e0b;--showcase-frame:linear-gradient(145deg,#f1dfc3,#ad8144 48%,#221207);--image-position:center center;--image-scale:1.02;--image-scale-hover:1.07;}
:root[data-theme="dark"] .product-card{
  --showcase-card:
    radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--showcase-accent) 16%, transparent), transparent 34%),
    linear-gradient(180deg, #171717 0%, #101012 100%);
}
:root[data-theme="dark"] .showcase{
  background:
    radial-gradient(circle at 10% 16%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 34%),
    radial-gradient(circle at 84% 80%, rgba(255,255,255,.035), transparent 30%),
    linear-gradient(180deg, #0b0b0c 0%, #101011 50%, #0b0b0c 100%);
}
:root[data-theme="light"] .product-card{
  --showcase-card:
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--showcase-accent) 13%, transparent), transparent 36%),
    linear-gradient(180deg, #ebe8de 0%, #dfdcd1 100%);
}
:root[data-theme="light"] .showcase{
  background:
    radial-gradient(circle at 12% 18%, rgba(245, 130, 31, 0.08), transparent 32%),
    linear-gradient(180deg, #f5f2ea 0%, #eeebe2 52%, #f5f2ea 100%);
}
:root[data-theme="light"] .product-card[data-vitrine="iphone"]{--showcase-frame:linear-gradient(145deg,#ffe2bc,#c57438 52%,#3a1608);}
:root[data-theme="light"] .product-card[data-vitrine="mac"]{--showcase-frame:linear-gradient(145deg,#eef8ff,#9fc5de 48%,#31485a);}
:root[data-theme="light"] .product-card[data-vitrine="ipad"]{--showcase-frame:linear-gradient(145deg,#eef4ff,#a9bdd7 48%,#3a465a);}
:root[data-theme="light"] .product-card[data-vitrine="watch"]{--showcase-frame:linear-gradient(145deg,#d6e7f3,#293241 54%,#090d13);}
:root[data-theme="light"] .product-card[data-vitrine="airpods"]{--showcase-frame:linear-gradient(145deg,#f7f9fb,#9da8b5 48%,#1f2937);}
:root[data-theme="light"] .product-card[data-vitrine="scooter"]{--showcase-frame:linear-gradient(145deg,#fff0d0,#c89b5e 48%,#5a3517);}

/* ---------- Sticky spotlight w/ reflection ---------- */
.spotlight{position:relative;padding:4rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.spotlight-sticky{
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:var(--bg);
}
.spotlight-banner{
  width:min(1120px,calc(100% - clamp(2.4rem,10vw,8rem)));
  aspect-ratio:16/9;
  height:auto;
  min-height:0;
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:var(--surface-1);
  box-shadow:0 22px 60px rgba(0,0,0,.18);
}
.spotlight-banner-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}
.spotlight-banner-light{display:none;}
.spotlight-banner-dark-mobile,.spotlight-banner-light-mobile{display:none;}
:root[data-theme="light"] .spotlight-banner-dark{display:none;}
:root[data-theme="light"] .spotlight-banner-light{display:block;}
:root[data-theme="light"] .spotlight-banner-dark-mobile{display:none;}
.spotlight-visual{position:relative;width:min(70vw,420px);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;}
.spotlight-glow{
  position:absolute;inset:-20%;background:radial-gradient(circle,color-mix(in srgb, var(--accent) 35%, transparent),transparent 65%);
  filter:blur(10px);z-index:-1;
}
.spotlight-icon{width:66%;height:66%;color:var(--fg);overflow:visible;}
.spotlight-reflection{
  width:min(70vw,420px);aspect-ratio:1/1;margin-top:-6%;
  transform:scaleY(-1);opacity:.28;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 75%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 75%);
}
.spotlight-caption{position:absolute;bottom:3rem;left:clamp(1.2rem,5vw,4rem);}
.spotlight-caption h2{font-size:clamp(2.2rem,6vw,4rem);font-weight:700;letter-spacing:-.02em;margin-top:.4rem;}

/* ---------- Category sections ---------- */
.category{padding:6rem clamp(1.2rem,5vw,4rem);border-top:1px solid var(--line);}
.category.alt{
  background:var(--surface-2);
  position:relative;
}
/* ---------- Dot Pattern (ReactBits-inspired) ---------- */
.category.alt::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:radial-gradient(circle, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:24px 24px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 50%, black, transparent);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 50%, black, transparent);
  transition:opacity .3s ease;
}
:root[data-theme="light"] .category.alt::before{
  background-image:radial-gradient(circle, rgba(0,0,0,0.04) 1px, transparent 1px);
}
.mac-liquid-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 30%, rgba(245, 130, 31, 0.14), transparent 45%),
    radial-gradient(circle at 80% 70%, rgba(20, 110, 120, 0.12), transparent 45%),
    radial-gradient(circle at 50% 50%, rgba(99, 102, 241, 0.08), transparent 50%),
    linear-gradient(180deg, var(--surface-2), var(--bg));
}
.mac-liquid-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--bg) 88%, transparent));
}
:root[data-theme="light"] .mac-liquid-section {
  background:
    radial-gradient(circle at 20% 30%, rgba(245, 130, 31, 0.07), transparent 45%),
    radial-gradient(circle at 80% 70%, rgba(20, 110, 120, 0.07), transparent 45%),
    radial-gradient(circle at 50% 50%, rgba(99, 102, 241, 0.05), transparent 50%),
    linear-gradient(180deg, var(--surface-2), var(--bg));
}
.mac-liquid-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.62;
  filter:saturate(1.12) contrast(1.08);
  pointer-events:none;
}
.mac-liquid-bg canvas{
  width:100%;
  height:100%;
  display:block;
}
.category-head{max-width:36rem;margin-bottom:3rem;}
.category-head h2{font-size:clamp(2.4rem,6vw,4rem);font-weight:700;letter-spacing:-.02em;margin:.2rem 0 .8rem;}
.category-head p{color:var(--muted);font-size:1.15rem;}
.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;}
.category-grid.small-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.iphone-inventory{display:grid;gap:3rem;}
.inventory-group-head{margin-bottom:1.2rem;}
.inventory-group-head h3{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;}
.inventory-group-head p{margin-top:.25rem;color:var(--muted);font-size:.95rem;}
.inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem;}
.inventory-card{min-width:0;padding:1.25rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-1);transition:transform .2s ease,border-color .2s ease;}
.inventory-card:hover{transform:translateY(-3px);border-color:var(--accent);}
.inventory-image{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;margin-bottom:1rem;border-radius:9px;background:var(--surface-2);}

.inventory-card h4{font-size:1.05rem;font-weight:600;}
.inventory-variant{min-height:2.6em;margin-top:.45rem;color:var(--muted);font-size:.88rem;}
.inventory-price{margin-top:1rem;color:var(--accent);font-family:var(--mono);font-size:1.05rem;font-weight:500;}
@media(max-width:800px){
  .inventory-grid,.category-grid,.category-grid.small-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;}
  .inventory-card{padding:.75rem;}
  .inventory-image{margin-bottom:.7rem;}
  .inventory-card h4,.category-grid .cat-item h3{font-size:.95rem;}
  .inventory-variant,.category-grid .cat-item span{font-size:.8rem;}
  .inventory-price{font-size:.95rem;}
  .category-grid .cat-item{min-width:0;}
}
.cat-item{
  border: none;
  background: transparent;
  padding: 0;
  opacity:0;transform:translateY(30px);
  transform-style:preserve-3d;
  will-change:transform;
}
.cat-item.mini{display:flex;align-items:center;justify-content:center;min-height:5.5rem;text-align:center;}
.cat-item-frame{
  aspect-ratio:1/1;border-radius:10px;background:transparent;margin-bottom:1rem;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  transform:translateZ(22px);
}
.cat-item-frame.photo-frame{
  background: transparent;
  box-shadow: none;
}
.cat-item-frame.photo-frame img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  filter: grayscale(100%) brightness(0.9);
  transition: transform .65s ease, filter .5s ease;
}
/* Dark theme: blend product photos into the dark background */
/* ---------- Dark mode vignette for product photos (ReactBits-inspired) ---------- */
.cat-item-frame.photo-frame{
  position:relative;
}
.cat-item:hover .cat-item-frame.photo-frame img{
  transform:scale(1.045);
  filter: grayscale(0%) brightness(1);
}
.cat-item-frame.accent{background:linear-gradient(160deg,var(--accent),#3a1c00);}
.cat-item h3{font-size:1.15rem;font-weight:600;margin-bottom:.3rem;}
.cat-item span{font-family:var(--mono);font-size:.88rem;color:var(--muted);}
.cat-item h3,.cat-item span{transform:translateZ(14px);}
.scooters-cat{background:linear-gradient(180deg,var(--surface-2),var(--bg));}

/* ---------- Reviews ---------- */
.reviews{padding:8rem clamp(1.2rem,5vw,4rem);border-top:1px solid var(--line);}
.reviews-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:3rem;}
.reviews-head h2{font-family:var(--display);font-size:clamp(2.2rem,5.5vw,3.8rem);font-weight:700;line-height:1.15;margin-top:.8rem;}
.reviews-head p{max-width:38rem;margin-top:1rem;color:var(--muted);font-size:1rem;line-height:1.6;}
.reviews-score{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;}
.score-num{font-size:3rem;font-weight:700;}
.score-stars{color:var(--accent);letter-spacing:.1em;}
.score-count{font-family:var(--mono);font-size:.8rem;color:var(--muted);}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem;}
.review-card{
  border:1px solid var(--line);border-radius:14px;padding:1.5rem;
  opacity:0;transform:translateY(24px);
}
.review-stars{color:var(--accent);margin-bottom:.8rem;letter-spacing:.08em;}
.review-card p{font-size:1.05rem;line-height:1.55;color:var(--fg);opacity:.85;margin-bottom:1rem;}
.review-author{font-family:var(--mono);font-size:.75rem;color:var(--muted);}

/* ---------- Footer / Contato ---------- */
.footer{
  padding:8rem clamp(1.2rem,5vw,4rem) 3rem;
  border-top:1px solid var(--line);
  position:relative;
  isolation:isolate;
}
.particles-canvas {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:0;
}
.footer-h2{font-size:clamp(2.8rem,8vw,6.2rem);font-weight:700;letter-spacing:-.02em;margin-bottom:2.5rem;}
.footer-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:5rem;}
.btn-primary,.btn-outline{
  display:inline-block;
  text-decoration:none;
  text-align:center;
  padding:1.1rem 2rem;border-radius:99px;font-size:1.05rem;font-weight:500;
}
.btn-primary{background:var(--accent);color:#fff;}
.btn-outline{border:1px solid var(--line);}
.footer-info{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;
  padding-bottom:3rem;border-bottom:1px solid var(--line);
}
.foot-label{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;color:var(--muted);letter-spacing:.08em;}
.footer-info p{margin-top:.5rem;line-height:1.5;font-size:1.1rem;}
.footer-bottom{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;
  padding-top:1.6rem;font-family:var(--mono);font-size:.72rem;color:var(--muted);
}

/* ---------- Mobile menu button + panel ---------- */
.menu-toggle{
  display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--line);background:none;cursor:pointer;
}
.menu-toggle span{
  width:16px;height:1.5px;background:var(--fg);border-radius:1px;
  transition:transform .4s cubic-bezier(.77,0,.175,1),opacity .3s ease;
}
.menu-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.menu-toggle.open span:nth-child(2){opacity:0;}
.menu-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.mobile-menu{
  position:fixed;inset:0;z-index:99;
  pointer-events:none;visibility:hidden;
}
.mobile-menu.open{
  pointer-events:auto;visibility:visible;
}

.mobile-menu-overlay{
  position:absolute;inset:0;
  background:rgba(11,11,12,.88);
  backdrop-filter:blur(24px) saturate(1.4);
  -webkit-backdrop-filter:blur(24px) saturate(1.4);
  opacity:0;
}
.mobile-menu-overlay::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:45%;
  background:radial-gradient(ellipse at 15% 100%,rgba(245,130,31,.05),transparent 60%);
  pointer-events:none;
}
:root[data-theme="light"] .mobile-menu-overlay{
  background:rgba(243,242,238,.92);
}
:root[data-theme="light"] .mobile-menu-overlay::after{
  background:radial-gradient(ellipse at 15% 100%,rgba(245,130,31,.07),transparent 60%);
}

.mobile-menu-content{
  position:relative;z-index:1;
  height:100%;
  display:flex;flex-direction:column;justify-content:center;
  padding:5.5rem 2rem 2rem;
  max-width:480px;
}

.mobile-menu-links{
  display:flex;flex-direction:column;
}

.mobile-menu-link{
  display:flex;align-items:center;gap:.9rem;
  font-size:clamp(1.6rem,7vw,2.4rem);
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--fg);
  padding:.85rem 0;
  border-bottom:1px solid var(--line);
  position:relative;
  overflow:hidden;
  text-decoration:none;
  opacity:0;
  transform:translateY(40px);
}
.mobile-menu-link:first-child{
  border-top:1px solid var(--line);
}

.mobile-menu-link .mml-num{
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:400;
  color:var(--muted);
  letter-spacing:.06em;
  min-width:1.6rem;
  opacity:.45;
  transition:color .3s ease,opacity .3s ease;
}

.mobile-menu-link .mml-text{
  flex:1;
  transition:color .3s ease,transform .3s cubic-bezier(.77,0,.175,1);
}

.mobile-menu-link .mml-arrow{
  font-size:1.1rem;
  opacity:0;
  transform:translateX(-12px);
  transition:opacity .3s ease,transform .3s cubic-bezier(.77,0,.175,1);
  color:var(--accent);
}

.mobile-menu-link:hover .mml-text,
.mobile-menu-link:active .mml-text{
  color:var(--accent);
  transform:translateX(4px);
}
.mobile-menu-link:hover .mml-num,
.mobile-menu-link:active .mml-num{
  color:var(--accent);
  opacity:1;
}
.mobile-menu-link:hover .mml-arrow,
.mobile-menu-link:active .mml-arrow{
  opacity:1;
  transform:translateX(0);
}

.mobile-menu-link::after{
  content:'';
  position:absolute;
  bottom:0;left:0;
  width:100%;height:1px;
  background:linear-gradient(90deg,var(--accent),transparent 70%);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s cubic-bezier(.77,0,.175,1);
}
.mobile-menu-link:hover::after,
.mobile-menu-link:active::after{
  transform:scaleX(1);
}

.mobile-menu-link.accent .mml-text{
  color:var(--accent);
}
.mobile-menu-link.accent .mml-num{
  color:var(--accent);
  opacity:.7;
}

.mobile-menu-footer{
  margin-top:auto;
  padding-top:1.5rem;
  opacity:0;
  transform:translateY(20px);
}
.mmf-line{
  width:32px;height:2px;
  background:var(--accent);
  margin-bottom:.8rem;
  border-radius:2px;
}
.mobile-menu-footer p{
  font-family:var(--mono);
  font-size:.72rem;
  color:var(--muted);
  letter-spacing:.04em;
  line-height:1.7;
}

/* ---------- iPhone condition choice ---------- */
.iphone-choice{
  position:fixed;margin:auto;width:min(28rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);
  padding:2.5rem 1.4rem 1.4rem;border:1px solid var(--line);border-radius:22px;
  background:var(--bg);color:var(--fg);box-shadow:0 24px 80px rgba(0,0,0,.25);
}
.iphone-choice::backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(8px);}
.iphone-choice h2{font-family:var(--display);font-size:2rem;line-height:1.2;margin:.65rem 0;}
.iphone-choice p{color:var(--muted);line-height:1.5;margin-bottom:1.4rem;}
.iphone-choice-close{
  position:absolute;top:.65rem;right:.65rem;width:2.2rem;height:2.2rem;
  border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--fg);font-size:1.5rem;cursor:pointer;
}
.iphone-choice-option{
  display:block;width:100%;padding:1.2rem;margin-top:.75rem;text-align:left;font:inherit;
  border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--fg);cursor:pointer;
}
.iphone-choice-option strong{display:flex;justify-content:space-between;gap:1rem;font-size:1.15rem;}
.iphone-choice-option strong span{color:var(--accent);}
.iphone-choice-option>span{display:block;font-size:.85rem;color:var(--muted);line-height:1.5;margin-top:.35rem;}
.iphone-choice-option:hover,.iphone-choice-option:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px;}

/* ---------- Product Modal ---------- */
.product-modal{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;visibility:hidden;
  padding:1.5rem;
}
.product-modal.open{
  pointer-events:auto;visibility:visible;
}
.product-modal-overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(20px) saturate(1.2);
  -webkit-backdrop-filter:blur(20px) saturate(1.2);
  opacity:0;
}
:root[data-theme="light"] .product-modal-overlay{
  background:rgba(243,242,238,.7);
}
.product-modal-content{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  max-width:880px;width:100%;max-height:88vh;
  background:var(--surface-1);
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  opacity:0;transform:translateY(30px) scale(.97);
}
.product-modal-close{
  position:absolute;top:1rem;right:1rem;z-index:10;
  width:2.4rem;height:2.4rem;border-radius:50%;
  border:1px solid var(--line);
  background:color-mix(in srgb, var(--bg) 80%, transparent);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  color:var(--fg);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .25s,border-color .25s,color .25s,transform .2s;
}
.product-modal-close:hover{
  border-color:var(--accent);background:var(--accent);color:#fff;transform:rotate(90deg);
}
.product-modal-close svg{width:16px;height:16px;}
.product-modal-image{
  display:flex;align-items:center;justify-content:center;
  padding:2.5rem;background:var(--surface-2);min-height:320px;
  perspective: 1200px;
}
.product-modal-3d-wrapper {
  position: relative;
  transform-style: preserve-3d;
  will-change: transform;
}
.product-modal-image img{
  max-width:100%;max-height:55vh;object-fit:contain;border-radius:8px;
  position: relative;
  z-index: 2;
  transform: translateZ(40px);
}
.product-modal-glare {
  position: absolute;
  inset: 0;
  border-radius: 8px;
  z-index: 3;
  pointer-events: none;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.15) 0%, transparent 60%);
  opacity: 0;
  transform: translateZ(42px);
  mix-blend-mode: screen;
}
.product-modal-shadow {
  position: absolute;
  inset: 10%;
  border-radius: 8px;
  background: rgba(0,0,0,0.5);
  filter: blur(25px);
  z-index: 1;
  transform: translateZ(-30px);
  opacity: 0.6;
}
.product-modal-info{
  display:flex;flex-direction:column;gap:.7rem;
  padding:2.2rem;overflow-y:auto;
}
.product-modal-cat{
  font-family:var(--mono);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.1em;color:var(--accent);
}
.product-modal-name{
  font-size:clamp(1.4rem,3.5vw,1.9rem);
  font-weight:700;letter-spacing:-.03em;line-height:1.1;
}
.product-modal-desc{
  font-size:.9rem;color:var(--muted);line-height:1.6;
}
.product-modal-specs{
  display:flex;flex-direction:column;gap:0;
  padding:.8rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin:.2rem 0;
}
.spec-row{
  display:flex;justify-content:space-between;align-items:center;
  font-size:.82rem;padding:.38rem 0;
  border-bottom:1px solid color-mix(in srgb, var(--line) 40%, transparent);
}
.spec-row:last-child{border-bottom:none;}
.spec-row .spec-label{
  color:var(--muted);font-family:var(--mono);font-size:.7rem;
  letter-spacing:.04em;text-transform:uppercase;
  flex-shrink:0;margin-right:1rem;
}
.spec-row .spec-value{font-weight:500;text-align:right;}
.product-modal-price{
  font-size:1.3rem;font-weight:700;
  color:var(--fg);letter-spacing:-.02em;padding:.3rem 0;
}
.product-modal-price small{
  font-size:.72rem;font-weight:400;color:var(--muted);
  display:block;margin-bottom:.1rem;letter-spacing:.02em;
}
.product-modal-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  margin-top:auto;padding:.9rem 1.6rem;
  background:#25d366;color:#fff;
  font-weight:600;font-size:.95rem;border-radius:99px;
  text-decoration:none;
  transition:background .25s,transform .15s,box-shadow .25s;
  box-shadow:0 4px 16px rgba(37,211,102,.2);
}
.product-modal-cta:hover{
  background:#1ead57;transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(37,211,102,.3);
}
.product-modal-cta svg{width:20px;height:20px;flex-shrink:0;}

/* ---------- Mobile nav (placed last on purpose: must win the cascade) ---------- */
@media (max-width:800px){
  .cat-item-frame.photo-frame img{filter:none;}
  .nav-logo{animation:none;}
  .gooey-nav-container{display:none;}
  .nav{padding:.9rem 1.1rem;gap:.6rem;}
  .logo-img{height:2.5rem;}
  .nav-right{gap:.5rem;}
  .theme-toggle{width:2.1rem;height:2.1rem;}
  .nav-cta{display:none;}
  .hero{
    padding:6.8rem 1rem 2.2rem;
  }
  .hero-title{
    font-size:clamp(2.0rem, 8.5vw, 2.9rem) !important;
    line-height:1.15 !important;
    margin-bottom:1.5rem;
    text-align:center;
  }
  .hero-media{
    width:100%;
    max-width:480px;
    margin:0 auto;
    aspect-ratio:9/16;
    max-height:calc(100vh - 12rem);
    border-radius:22px;
  }
  .hero-video{object-position:center center;}
  .hero-scroll-cue{
    display:none;
  }
  .hero-sub{
    max-width:100%;
    font-size:1.05rem;
    line-height:1.5;
  }
  .hero-context{padding:1.25rem 1rem 0;}

  .glitch-strip{min-height:auto;gap:1.5rem;padding:3rem 1rem;}
  .glitch-title{
    max-width:100%;
    padding:0 .6rem;
    font-size:clamp(1.85rem,11vw,3rem);
    line-height:.96;
    letter-spacing:-.03em;
  }
  .glitch-final{font-size:clamp(1.1rem,6vw,1.5rem);}

  .fan-section{padding:3rem 1rem 2.5rem;}
  .fan-head{margin:0 auto 2rem;}
  .fan-layout,.fan-controls{display:none;}
  .mobile-carousel-root{display:block;min-height:48rem;}

  .spotlight{height:auto;padding:2rem 0;}
  .spotlight-banner{
    width:calc(100% - 2rem);
    aspect-ratio:9/16;
    height:auto;
    max-height:calc(100vh - 7rem);
    min-height:0;
    border-radius:22px;
  }
  .spotlight-banner-dark,.spotlight-banner-light{display:none;}
  .spotlight-banner-dark-mobile{display:block;}
  :root[data-theme="light"] .spotlight-banner-dark-mobile{display:none;}
  :root[data-theme="light"] .spotlight-banner-light-mobile{display:block;}

  .menu-toggle{display:flex;}

  .product-modal{padding:.8rem;}
  .product-modal-content{
    grid-template-columns:1fr;
    max-height:90vh;
    border-radius:18px;
    overflow-y:auto;
  }
  .product-modal-image{
    padding:1.5rem;
    min-height:240px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .product-modal-image img{max-height:30vh;}
  .product-modal-info{
    padding: 1.5rem 1.5rem 2.8rem 1.5rem;
    overflow: visible;
  }
  .product-modal-cta{
    margin-bottom: 2.2rem !important;
  }
  .product-modal-name{font-size:1.3rem;}

  /* Light mode overrides for mobile menu contrast */
  :root[data-theme="light"] .mobile-menu-overlay {
    background: rgba(243, 242, 238, 0.98);
  }
  :root[data-theme="light"] .mobile-menu-link {
    border-bottom-color: rgba(19, 19, 17, 0.22);
    color: #131311;
  }
  :root[data-theme="light"] .mobile-menu-link:first-child {
    border-top-color: rgba(19, 19, 17, 0.22);
  }
  :root[data-theme="light"] .mobile-menu-link .mml-num {
    color: #131311;
    opacity: 0.8;
  }
  :root[data-theme="light"] .mobile-menu-footer p {
    color: #131311;
    opacity: 0.85;
  }

}

/* ---------- Border Glow Component Integration ---------- */
.product-card.border-glow-card {
  padding: 0;
  overflow: visible;
  border: none;
}
.product-card.border-glow-card .border-glow-inner {
  padding: 1.6rem;
  border-radius: inherit;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  background: var(--showcase-card);
}
.product-card.border-glow-card .border-glow-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(circle at 22% 10%, color-mix(in srgb, var(--showcase-accent) 20%, transparent), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 40%);
  opacity: .72;
}
.product-card.border-glow-card .border-glow-inner > * {
  position: relative;
  z-index: 1;
}
.border-glow-card {
  --edge-proximity: 0;
  --cursor-angle: 45deg;
  --edge-sensitivity: 30;
  --color-sensitivity: calc(var(--edge-sensitivity) + 20);
  --border-radius: 28px;
  --glow-padding: 40px;
  --cone-spread: 25;

  position: relative;
  border-radius: var(--border-radius);
  isolation: isolate;
  transform: translate3d(0, 0, 0.01px);
  display: grid;
  border: 1px solid rgb(255 255 255 / 15%);
  background: var(--showcase-card);
  overflow: visible;
  box-shadow:
    rgba(0, 0, 0, 0.1) 0px 1px 2px,
    rgba(0, 0, 0, 0.1) 0px 2px 4px,
    rgba(0, 0, 0, 0.1) 0px 4px 8px,
    rgba(0, 0, 0, 0.1) 0px 8px 16px,
    rgba(0, 0, 0, 0.1) 0px 16px 32px,
    rgba(0, 0, 0, 0.1) 0px 32px 64px;
}
:root[data-theme="light"] .border-glow-card {
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.border-glow-card::before,
.border-glow-card::after,
.border-glow-card > .edge-light {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  transition: opacity 0.25s ease-out;
  z-index: -1;
}
.border-glow-card:not(:hover):not(.sweep-active)::before,
.border-glow-card:not(:hover):not(.sweep-active)::after,
.border-glow-card:not(:hover):not(.sweep-active) > .edge-light {
  opacity: 0;
  transition: opacity 0.75s ease-in-out;
}
.border-glow-card::before {
  border: 1px solid transparent;
  background:
    linear-gradient(var(--card-bg, var(--surface-1)) 0 100%) padding-box,
    linear-gradient(rgb(255 255 255 / 0%) 0% 100%) border-box,
    var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;
  opacity: calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));
  mask-image:
    conic-gradient(
      from var(--cursor-angle) at center,
      black calc(var(--cone-spread) * 1%),
      transparent calc((var(--cone-spread) + 15) * 1%),
      transparent calc((100 - var(--cone-spread) - 15) * 1%),
      black calc((100 - var(--cone-spread)) * 1%)
    );
}
.border-glow-card::after {
  border: 1px solid transparent;
  background:
    var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;
  mask-image:
    linear-gradient(to bottom, black, black),
    radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%),
    radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%),
    radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%),
    radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%),
    radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%),
    conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);
  mask-composite: subtract, add, add, add, add, add;
  opacity: calc(var(--fill-opacity, 0.5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));
  mix-blend-mode: soft-light;
}
.border-glow-card > .edge-light {
  inset: calc(var(--glow-padding) * -1);
  pointer-events: none;
  z-index: 1;
  mask-image:
    conic-gradient(
      from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%
    );
  opacity: calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));
  mix-blend-mode: plus-lighter;
}
.border-glow-card > .edge-light::before {
  content: "";
  position: absolute;
  inset: var(--glow-padding);
  border-radius: inherit;
  box-shadow:
    inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),
    inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),
    inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),
    inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),
    inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),
    inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),
    inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),
    0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),
    0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),
    0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),
    0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),
    0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),
    0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%));
}

/* ---------- Iridescence Background Component ---------- */
.iridescence-bg-container {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.28;
}
.iridescence-bg-container canvas {
  width: 100%;
  height: 100%;
  display: block;
}
.glitch-title, .glitch-final {
  position: relative;
  z-index: 2;
}

/* ---------- Infinite Marquee Ticker ---------- */
.ticker-section {
  width: 100%;
  overflow: hidden;
  background: var(--bg);
  padding: 4rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin: 4rem 0;
}
.ticker-wrap {
  display: flex;
  overflow: hidden;
  width: 100%;
}
.ticker-track {
  display: flex;
  white-space: nowrap;
  gap: 2rem;
  animation: marquee-scroll 24s linear infinite;
}
.ticker-track span {
  font-size: clamp(3rem, 8vw, 5.5rem);
  font-weight: 900;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--fg);
  opacity: 0.12;
  letter-spacing: 0.05em;
  transition: opacity 0.3s ease;
}
.ticker-wrap:hover .ticker-track span {
  opacity: 0.28;
}
@keyframes marquee-scroll {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}

/* ---------- Premium Shimmer Sweep (21st.dev style) ---------- */
.btn-shimmer {
  position: relative;
  overflow: hidden;
}
.btn-shimmer::after {
  content: '';
  position: absolute;
  top: 0;
  left: -150%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.22),
    transparent
  );
  transform: skewX(-20deg);
  transition: none;
}
.btn-shimmer:hover::after {
  left: 150%;
  transition: left 0.85s ease-in-out;
}

/* ---------- Store Status Dot & Socials for Menu ---------- */
.mobile-menu-status, .footer-status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--mono);
  font-size: 0.76rem;
  letter-spacing: 0.02em;
  margin-bottom: 0.5rem;
}
.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
}
.status-dot.open-status {
  background-color: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
}
.status-dot.closed-status {
  background-color: #ef4444;
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.6);
}
.status-dot::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 1px solid currentColor;
  opacity: 0.8;
  animation: pulsate 1.8s infinite ease-out;
}
.status-dot.open-status::after {
  color: #22c55e;
}
.status-dot.closed-status::after {
  color: #ef4444;
}
@keyframes pulsate {
  0% { transform: scale(0.9); opacity: 0.8; }
  100% { transform: scale(2.2); opacity: 0; }
}
.status-text {
  font-weight: 500;
}
.status-text.open-text {
  color: #22c55e;
}
.status-text.closed-text {
  color: #ef4444;
}

/* Mobile Menu Socials */
.mobile-menu-socials {
  display: flex;
  gap: 1.25rem;
  margin-top: 1.25rem;
}
.mobile-menu-socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--surface-2, #181614);
  color: var(--muted);
  border: 1px solid var(--line);
  transition: all 0.25s ease;
}
.mobile-menu-socials a:hover {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
  transform: translateY(-2px);
}
.social-icon {
  width: 18px;
  height: 18px;
}
:root[data-theme="light"] .mobile-menu-socials a {
  background: #f0edea;
}
:root[data-theme="light"] .mobile-menu-socials a:hover {
  background: var(--accent);
  color: #fff;
}

/* ---------- Dedicated Product Detail Page Styles ---------- */
.product-subnav {
  position: sticky;
  top: 5.1rem;
  z-index: 90;
  width: 100%;
  height: 3.2rem;
  background: color-mix(in srgb, var(--bg) 90%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  transition: top 0.3s ease;
}
.product-subnav-content {
  width: min(1200px, 100% - clamp(2rem, 8vw, 6rem));
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.product-subnav-title {
  font-family: var(--display);
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.015em;
  color: var(--fg);
  margin: 0;
}
.product-subnav-actions {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.subnav-link {
  font-size: 0.82rem;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.2s;
}
.subnav-link:hover {
  color: var(--fg);
}
.subnav-btn {
  font-size: 0.78rem;
  font-weight: 600;
  background: var(--accent);
  color: #fff;
  padding: 0.4rem 1rem;
  border-radius: 99px;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 12px rgba(245, 130, 31, 0.2);
}
.subnav-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(245, 130, 31, 0.35);
}

.product-detail-sec {
  padding-top: 4rem;
  padding-bottom: 6rem;
}
.product-detail-container {
  width: min(1200px, 100% - clamp(2rem, 8vw, 6rem));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 5rem;
  align-items: start;
}

/* Left Column: Interactive 3D Frame Gallery */
.product-detail-visuals {
  position: sticky;
  top: 10rem;
}
.product-detail-gallery {
  display: flex;
  justify-content: center;
  align-items: center;
}
.product-detail-frame {
  position: relative;
  width: 100%;
  max-width: 440px;
  aspect-ratio: 4/5;
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: none;
  border: none;
  background: transparent !important;
  transform-style: preserve-3d;
  will-change: transform;
  transition: background 0.5s ease;
}
.product-detail-frame img {
  max-width: 80%;
  max-height: 70%;
  object-fit: contain;
  z-index: 2;
  transform: translateZ(45px);
  filter: drop-shadow(0 20px 30px rgba(0,0,0,0.32));
  will-change: transform, opacity;
}
.product-detail-glare {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  transform: translateZ(47px);
  mix-blend-mode: screen;
}
.product-detail-shadow {
  position: absolute;
  inset: 12%;
  border-radius: 20px;
  background: rgba(0,0,0,0.55);
  filter: blur(28px);
  z-index: 1;
  transform: translateZ(-35px);
  opacity: 0.65;
  pointer-events: none;
}

/* Right Column: Dynamic Info */
.product-detail-cat {
  display: block;
  font-family: var(--mono);
  font-size: 0.76rem;
  color: var(--accent);
  letter-spacing: 0.1em;
  margin-bottom: 0.6rem;
}
.product-detail-name {
  font-family: var(--display);
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  line-height: 1.05;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.015em;
  margin-bottom: 1rem;
}
.product-detail-price {
  font-family: var(--display);
  font-size: 2rem;
  font-weight: 600;
  color: var(--fg);
  margin-bottom: 1.5rem;
}
.product-detail-price small {
  display: block;
  font-family: var(--sans);
  font-size: 0.8rem;
  color: var(--muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.2rem;
}
.product-detail-desc {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--muted);
  margin-bottom: 2.2rem;
  max-width: 32rem;
}

/* Color Picker */
.product-detail-colors {
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--line);
}
.color-picker-label {
  display: block;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--fg);
  margin-bottom: 0.8rem;
}
.color-options-wrap {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
.color-bubble {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.08);
  cursor: pointer;
  position: relative;
  padding: 0;
  transition: transform 0.2s, outline 0.2s;
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.color-bubble:hover {
  transform: scale(1.08);
}
.color-bubble.active {
  outline-color: var(--accent);
}

/* Primary CTA Button */
.product-detail-cta-wrap {
  margin-bottom: 3.2rem;
}
.product-buy-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 1.1rem 2.4rem;
  font-weight: 600;
  font-size: 1rem;
  border-radius: 99px;
  text-decoration: none;
  background: #25d366;
  color: #fff;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.24);
  transition: background 0.25s, transform 0.15s, box-shadow 0.25s;
}
.product-buy-cta:hover {
  background: #20ba59;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(37, 211, 102, 0.4);
}
.product-buy-cta svg {
  width: 20px;
  height: 20px;
}
.cta-trust-badge {
  display: block;
  font-size: 0.76rem;
  color: var(--muted);
  margin-top: 0.8rem;
  letter-spacing: 0.01em;
}

/* Specifications Table */
.product-detail-specs-wrap h3 {
  font-family: var(--display);
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  margin-bottom: 1.2rem;
}
.product-specs-table {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--line);
}

/* Bento grid custom positioning */
.product-highlights {
  width: min(1200px, 100% - clamp(2rem, 8vw, 6rem));
  margin: 4rem auto 6rem;
  padding-top: 4rem;
  border-top: 1px solid var(--line);
}
.highlights-head {
  margin-bottom: 3rem;
  max-width: 38rem;
}
.highlights-head .tag {
  font-family: var(--mono);
  font-size: 0.74rem;
  color: var(--accent);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.6rem;
}
.highlights-head h2 {
  font-family: var(--display);
  font-size: clamp(2rem, 5vw, 2.8rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.015em;
  line-height: 1.1;
  margin-bottom: 1rem;
}
.highlights-head p {
  color: var(--muted);
  line-height: 1.6;
  font-size: 1rem;
}

/* Recommendations Grid */
.recommendations-section {
  width: min(1200px, 100% - clamp(2rem, 8vw, 6rem));
  margin: 6rem auto;
  padding-top: 4rem;
  border-top: 1px solid var(--line);
}
.recommendations-head h2 {
  font-family: var(--display);
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  text-transform: uppercase;
  letter-spacing: -0.015em;
  margin-bottom: 2.2rem;
}
.recommendations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 2rem;
}

/* Responsive adjustments */
@media (max-width: 900px) {
  .product-subnav {
    top: 4.3rem;
  }
  .product-detail-container {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .product-detail-visuals {
    position: relative;
    top: 0;
  }
  .product-detail-frame {
    max-width: 100%;
    aspect-ratio: 1/1;
  }
  .product-detail-frame img {
    max-height: 80%;
  }
}

/* Hunter Tech Dynamic Island */
:root:has(#htIslandDock) {
  --ht-island-height: 36px;
  --ht-island-expanded: 206px;
  --ht-island-space: env(safe-area-inset-top, 0px);
  scroll-padding-top: calc(var(--ht-island-space) + 96px);
}
:root.ht-island-resizing { overflow-anchor: none; }
:root:has(#htDynamicIsland:not([hidden])) { --ht-island-space: calc(env(safe-area-inset-top, 0px) + var(--ht-island-height) + 8px); }
:root:has(#htDynamicIsland[data-widget="timer"]) { --ht-island-expanded: 174px; }
:root:has(#htDynamicIsland[data-widget="stopwatch"]), :root:has(#htDynamicIsland[data-widget="timer"].is-timer-locked) { --ht-island-expanded: 138px; }
:root:has(#htDynamicIsland[data-widget="timer"].is-clock-error) { --ht-island-expanded: 206px; }
:root:has(#htDynamicIsland.is-functions) { --ht-island-expanded: 328px; }
:root:has(#htDynamicIsland.is-expanded) { --ht-island-height: min(var(--ht-island-expanded), calc(100dvh - env(safe-area-inset-top, 0px) - 100px)); }
:root:has(#htDynamicIsland.is-activity) { --ht-island-height: 76px; }
body:has(#htIslandDock) {
  padding-top: var(--ht-island-space);
  padding-right: env(safe-area-inset-right, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: env(safe-area-inset-left, 0px);
}
body:has(#htIslandDock) .nav, body:has(#htIslandDock) .mobile-menu { top: var(--ht-island-space); }
body:has(#htIslandDock) .nav {
  padding-left: max(clamp(1.2rem, 4vw, 3rem), env(safe-area-inset-left, 0px));
  padding-right: max(clamp(1.2rem, 4vw, 3rem), env(safe-area-inset-right, 0px));
}
.ht-island-dock {
  position: fixed;
  inset: 0 0 auto;
  z-index: 110;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  height: var(--ht-island-space);
  padding: calc(env(safe-area-inset-top, 0px) + 4px) max(12px, env(safe-area-inset-right, 0px)) 4px max(12px, env(safe-area-inset-left, 0px));
  background: var(--bg);
}
.ht-island-dock:has(> [hidden]) { display: none; }
.ht-dynamic-island {
  --track-color: #d49472;
  --track-cover: url('assets/audio/hunter-vibes.svg');
  position: relative;
  flex-shrink: 0;
  width: 148px;
  height: 36px;
  transform-origin: center top;
  overflow: hidden;
  border: 1px solid #ffffff0d;
  border-radius: 24px;
  background: #000;
  color: #fff;
  box-shadow: 0 5px 16px #0002;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-tap-highlight-color: transparent;
  transition: width .46s cubic-bezier(.22, 1.08, .36, 1), height .46s cubic-bezier(.22, 1.08, .36, 1), border-radius .3s, opacity .2s, transform .4s cubic-bezier(.23, 1, .32, 1);
}
.ht-dynamic-island[hidden], .ht-dynamic-island [hidden] { display: none !important; }
.ht-dynamic-island.is-entering { opacity: 0; transform: translateY(-6px) scale(.94); pointer-events: none; }
.ht-dynamic-island.is-playing, .ht-dynamic-island[data-compact="timer"], .ht-dynamic-island[data-compact="stopwatch"] { width: 174px; }
.ht-dynamic-island.is-expanded, .ht-dynamic-island.is-activity { width: min(366px, calc(100vw - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))); }
.ht-dynamic-island.is-expanded { height: var(--ht-island-height); border-radius: 42px; }
.ht-dynamic-island.is-activity { height: 76px; border-radius: 38px; }
.ht-di-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ht-di-shell { position: relative; display: flex; align-items: center; justify-content: space-between; width: 100%; height: 34px; padding: 0 10px; border: 0; background: transparent; color: #fff; cursor: pointer; transition: opacity .1s; }
.is-expanded .ht-di-shell, .is-activity .ht-di-shell { opacity: 0; visibility: hidden; }
.ht-di-art { display: block; flex: 0 0 52px; width: 52px; height: 52px; border-radius: 12px; background: var(--track-cover) center / cover; box-shadow: inset 0 0 0 1px #ffffff14; }
.ht-di-art-small { flex-basis: 22px; width: 22px; height: 22px; border-radius: 5px; }
.ht-di-wave { display: flex; align-items: center; justify-content: center; gap: 2px; flex: 0 0 28px; width: 28px; height: 28px; color: var(--track-color); }
.ht-di-wave i { width: 2px; height: 9px; border-radius: 2px; background: currentColor; transform-origin: center; }
.ht-di-wave i:nth-child(2), .ht-di-wave i:nth-child(6) { height: 17px; }
.ht-di-wave i:nth-child(3), .ht-di-wave i:nth-child(5) { height: 24px; }
.ht-di-wave i:nth-child(4) { height: 15px; }
.is-playing .ht-di-wave i { animation: ht-di-equalizer .7s ease-in-out infinite alternate; }
.is-playing .ht-di-wave i:nth-child(2n) { animation-delay: -.3s; }
.is-playing .ht-di-wave i:nth-child(3n) { animation-delay: -.5s; }
@keyframes ht-di-equalizer { from { transform: scaleY(.3); } to { transform: scaleY(1); } }
.ht-di-compact-clock { display: none; }
[data-compact="timer"] .ht-di-compact-clock, [data-compact="stopwatch"] .ht-di-compact-clock { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; color: #ffac42; font-size: 16px; font-weight: 500; font-variant-numeric: tabular-nums; }
[data-compact="stopwatch"] .ht-di-compact-clock { color: #ffd86a; }
.ht-di-compact-clock svg { flex: 0 0 20px; width: 20px; height: 20px; }
.ht-di-mini-stopwatch, [data-compact="stopwatch"] .ht-di-mini-timer { display: none; }
[data-compact="stopwatch"] .ht-di-mini-stopwatch { display: block; }
[data-compact="timer"] .ht-di-shell > .ht-di-art, [data-compact="timer"] .ht-di-shell > .ht-di-wave, [data-compact="stopwatch"] .ht-di-shell > .ht-di-art, [data-compact="stopwatch"] .ht-di-shell > .ht-di-wave { display: none; }
.ht-di-clock-music { display: none; color: #fff; font-size: 13px; }
.is-playing .ht-di-clock-music { display: inline; }
.is-timer-done[data-compact="timer"] { border-color: #ffac4266; }
.ht-di-panel { position: absolute; inset: 0; visibility: hidden; pointer-events: none; padding: 22px; overflow-y: auto; scrollbar-width: none; opacity: 0; transform: translateY(5px) scale(.98); transition: opacity .12s, transform .2s cubic-bezier(.23, 1, .32, 1); }
.is-expanded .ht-di-panel { visibility: visible; pointer-events: auto; opacity: 1; transform: none; transition-delay: .12s; }
.ht-di-music-head { display: flex; align-items: center; gap: 12px; }
.ht-di-music-copy { flex: 1; min-width: 0; }
.ht-di-now-title { overflow: hidden; color: #fff; font-size: 16px; font-weight: 600; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
.ht-di-artist { margin-top: 3px; overflow: hidden; color: #909093; font-size: 14px; line-height: 1.2; white-space: nowrap; text-overflow: ellipsis; }
.ht-di-music-head .ht-di-wave { margin-left: 4px; }
.ht-di-close { position: absolute; z-index: 2; top: 2px; left: calc(50% - 22px); display: grid; place-items: center; width: 44px; height: 18px; border: 0; border-radius: 12px; background: transparent; color: #777; cursor: pointer; }
.ht-di-close svg { width: 14px; height: 14px; opacity: 0; }
.ht-di-close:hover svg, .ht-di-close:focus-visible svg { opacity: 1; }
.ht-di-more, .ht-di-output { position: absolute; top: 122px; display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }
.ht-di-more { left: 8px; }
.ht-di-output { right: 8px; }
.ht-di-more svg { width: 20px; height: 20px; }
.ht-di-output svg { width: 24px; height: 24px; }
.ht-di-output.is-wireless { color: #68df88; }
[data-widget="timer"] .ht-di-more, [data-widget="stopwatch"] .ht-di-more { top: 7px; right: 12px; left: auto; color: #8e8e93; }
.is-functions .ht-di-more { display: none; }
.ht-di-timeline { display: flex; align-items: center; gap: 8px; margin-top: 18px; }
.ht-di-time { min-width: 28px; color: #929296; font-size: 10px; line-height: 16px; font-variant-numeric: tabular-nums; }
.ht-di-time:last-child { min-width: 34px; text-align: right; }
.ht-di-seek { --played: 0%; flex: 1; min-width: 0; height: 16px; background: transparent; appearance: none; -webkit-appearance: none; cursor: pointer; }
.ht-di-seek::-webkit-slider-runnable-track { height: 5px; border-radius: 5px; background: linear-gradient(to right, #eee var(--played), #38383a var(--played)); }
.ht-di-seek::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 8px; height: 8px; margin-top: -1.5px; border-radius: 50%; background: #fff; }
.ht-di-seek::-moz-range-track { height: 5px; border-radius: 5px; background: #38383a; }
.ht-di-seek::-moz-range-progress { height: 5px; border-radius: 5px; background: #eee; }
.ht-di-seek::-moz-range-thumb { width: 8px; height: 8px; border: 0; border-radius: 50%; background: #fff; }
.ht-di-seek:disabled { opacity: .45; cursor: default; }
.ht-di-controls { display: grid; grid-template-columns: repeat(3, 1fr); justify-items: center; align-items: center; margin: 12px 34px 0; }
.ht-di-controls button { display: grid; place-items: center; width: 48px; height: 48px; padding: 8px; border: 0; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }
.ht-di-controls svg { width: 29px; height: 29px; fill: currentColor; }
.ht-di-play svg { width: 32px; height: 32px; }
.ht-di-play-icon { margin-left: 3px; }
.ht-di-pause-icon, [aria-pressed="true"] > .ht-di-play-icon { display: none; }
[aria-pressed="true"] > .ht-di-pause-icon { display: block; }
.ht-di-feedback { position: absolute; right: 22px; bottom: 7px; left: 22px; color: #fca5a5; font-size: 10px; line-height: 1.3; text-align: center; }
.ht-dynamic-island:not(.is-expanded) > .ht-di-feedback, .ht-dynamic-island:not(.is-functions):not([data-widget="music"]) > .ht-di-feedback { display: none; }
.ht-di-feedback[data-kind="loading"], .ht-di-feedback[data-kind="info"] { color: #929296; }
.ht-di-clock-heading { display: flex; align-items: center; gap: 6px; height: 20px; margin-right: 32px; color: #ffac42; font-size: 12px; font-weight: 500; }
.ht-di-clock-heading svg { width: 16px; height: 16px; }
#htDiStopwatchWidget .ht-di-clock-heading { color: #ffd86a; }
.ht-di-clock-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; min-height: 56px; }
.ht-di-timer-setup { display: flex; align-items: flex-start; gap: 3px; }
.ht-di-timer-setup label { display: grid; gap: 1px; color: #777; font-size: 10px; text-align: center; }
.ht-di-timer-setup input { width: 48px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #ffac42; font: 300 clamp(30px, 9vw, 42px)/1.1 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-variant-numeric: tabular-nums; text-align: center; appearance: textfield; -moz-appearance: textfield; color-scheme: dark; }
.ht-di-timer-setup input:focus { background: #202020; }
.ht-di-timer-setup input::-webkit-inner-spin-button, .ht-di-timer-setup input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ht-di-timer-setup > span { color: #ffac42; font-size: 36px; font-weight: 300; line-height: 1.1; }
.ht-di-clock-output { min-width: 0; color: #ffac42; font-size: clamp(28px, 8.5vw, 42px); font-weight: 300; line-height: 1.15; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
#htDiStopwatchWidget .ht-di-clock-output { color: #ffd86a; font-size: clamp(25px, 7.5vw, 36px); }
.ht-di-clock-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.ht-di-clock-actions button { display: grid; place-items: center; width: 42px; height: 42px; padding: 12px; border: 0; border-radius: 50%; background: #242426; color: #ddd; cursor: pointer; }
.ht-di-clock-actions svg { width: 20px; height: 20px; }
.ht-di-clock-actions button:disabled { opacity: .35; cursor: default; }
.ht-di-clock-actions .ht-di-clock-primary { background: #392810; color: #ffb247; }
#htDiStopwatchWidget .ht-di-clock-primary { background: #14351f; color: #78ee98; }
.ht-di-clock-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.is-clock-error #htDiTimerStatus { position: static; width: auto; height: auto; margin-top: 8px; color: #fca5a5; font-size: 11px; line-height: 1.4; clip-path: none; }
.ht-di-timer-presets { display: flex; gap: 7px; margin-top: 8px; }
.ht-di-timer-presets button { padding: 5px 12px; border: 0; border-radius: 16px; background: #202022; color: #b2b2b6; font-size: 11px; cursor: pointer; }
.ht-di-functions-head { display: flex; align-items: center; justify-content: space-between; height: 24px; margin-bottom: 8px; color: #8e8e93; font-size: 12px; }
.ht-di-functions-head button { display: grid; place-items: center; width: 32px; height: 32px; margin-right: -4px; border: 0; border-radius: 50%; background: #222; color: #fff; cursor: pointer; }
.ht-di-functions-head svg { width: 16px; height: 16px; }
.ht-di-choices { display: grid; }
.ht-di-choices button { display: flex; align-items: center; gap: 10px; min-height: 38px; border: 0; border-bottom: 1px solid #222; background: transparent; color: #c7c7cc; text-align: left; font-size: 13px; cursor: pointer; }
.ht-di-choices button[aria-pressed="true"] { color: #fff; }
.ht-di-choices button[aria-pressed="true"]::after { content: '✓'; margin-left: auto; padding-right: 6px; color: #8e8e93; }
.ht-di-choices svg { width: 17px; height: 17px; color: var(--track-color); }
#htDiTimerChoice svg { color: #ffac42; }
#htDiStopwatchChoice svg { color: #ffd86a; }
.is-timer-done #htDiTimerChoice span::after { content: ' · Terminado'; color: #ffac42; font-size: 10px; }
.ht-di-track-label { display: block; margin-top: 12px; color: #8e8e93; font-size: 10px; }
.ht-di-track { width: 100%; height: 32px; padding: 4px 0; border: 0; border-radius: 4px; background: #000; color: #fff; color-scheme: dark; font: 500 13px -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; cursor: pointer; }
.ht-di-track option { background: #181818; color: #fff; }
.ht-di-volume { display: flex; align-items: center; gap: 10px; margin-top: 9px; }
.ht-di-volume button { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; padding: 6px; border: 0; border-radius: 50%; color: #9f9f9f; background: transparent; cursor: pointer; }
.ht-di-volume svg { width: 18px; height: 18px; }
.ht-di-muted-mark, [aria-pressed="true"] .ht-di-sound-waves { display: none; }
[aria-pressed="true"] .ht-di-muted-mark { display: block; }
.is-muted .ht-di-wave { opacity: .45; }
.is-buffering[data-compact="music"] .ht-di-shell .ht-di-wave { opacity: 0; }
.is-buffering[data-compact="music"] .ht-di-shell::after { content: ''; position: absolute; right: 15px; top: 9px; width: 16px; height: 16px; border: 2px solid #ffffff40; border-top-color: #fff; border-radius: 50%; animation: ht-di-spin .7s linear infinite; }
.is-buffering .ht-di-play { opacity: .65; }
@keyframes ht-di-spin { to { transform: rotate(360deg); } }
.ht-di-activity { position: absolute; inset: 0; display: flex; align-items: center; gap: 10px; padding: 12px; }
.ht-di-activity-icon { flex: 0 0 42px; display: grid; place-items: center; width: 42px; height: 42px; overflow: hidden; border-radius: 50%; background: #212121; color: #fff; }
.ht-di-activity-icon svg { width: 23px; height: 23px; }
.ht-di-caller-art { display: none; width: 100%; height: 100%; place-items: center; background: radial-gradient(circle at 75% 20%, #f8bd7d, transparent 65%), linear-gradient(135deg, #724535, #30202c); font-size: 22px; font-weight: 600; }
.ht-di-call-symbol, .ht-di-message-symbol, .ht-di-track-symbol, .ht-di-timer-symbol { display: none; }
[data-activity="call"] .ht-di-caller-art { display: grid; }
[data-activity="message"] .ht-di-activity-icon { background: #27c95a; border-radius: 12px; }
[data-activity="message"] .ht-di-message-symbol { display: block; }
[data-activity="track"] .ht-di-activity-icon { border-radius: 10px; background: var(--track-cover) center / cover; }
[data-activity="timer-done"] .ht-di-activity-icon { color: #ffac42; background: #392810; }
[data-activity="timer-done"] .ht-di-timer-symbol { display: block; }
.ht-di-activity-copy { flex: 1; min-width: 0; }
.ht-di-activity-eyebrow { overflow: hidden; color: #8e8e93; font-size: 11px; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
.ht-di-activity-title { overflow: hidden; margin-top: 3px; color: #fff; font-size: 15px; line-height: 1.2; font-weight: 500; }
.ht-di-call-sound { display: block; margin-top: 2px; padding: 0; border: 0; border-radius: 3px; background: transparent; color: #78ee98; font: inherit; font-size: 10px; line-height: 14px; cursor: pointer; }
[data-activity="message"] .ht-di-activity-title { font-size: 13px; }
.ht-di-call-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.ht-di-call-actions button, .ht-di-activity-open { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 9px; border: 0; border-radius: 50%; color: #fff; cursor: pointer; }
.ht-di-call-actions svg, .ht-di-activity-open svg { width: 22px; height: 22px; }
.ht-di-answer { background: #27c95a; }
.ht-di-decline { background: #f24848; }
.ht-di-decline svg { transform: rotate(135deg); }
.ht-di-activity-open { background: transparent; color: #8e8e93; }
.ht-dynamic-island button { transition: transform .14s cubic-bezier(.23, 1, .32, 1), opacity .14s; }
.ht-dynamic-island button:not(:disabled):active { transform: scale(.95); }
.ht-dynamic-island button:focus-visible, .ht-dynamic-island input:focus-visible, .ht-di-track:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.ht-dynamic-island.is-keyboard, .is-keyboard .ht-di-panel { transition: none; }
@media (max-width: 800px) {
  /* A ilha flutua no cabeçalho sem alterar o espaço da página. */
  :root:has(#htDynamicIsland:not([hidden])) { --ht-island-space: env(safe-area-inset-top, 0px); }
  body:has(#htIslandDock) .nav { padding-left: max(1.1rem, env(safe-area-inset-left, 0px)); padding-right: max(1.1rem, env(safe-area-inset-right, 0px)); }
  .ht-island-dock { height: 0; background: transparent; pointer-events: none; }
  .ht-dynamic-island { pointer-events: auto; }
  .ht-dynamic-island:not(.is-expanded):not(.is-activity) { width: 104px; height: 24px; border-radius: 16px; }
  .ht-di-shell { height: 22px; padding: 0 8px; }
  .ht-di-art-small { flex-basis: 16px; width: 16px; height: 16px; border-radius: 4px; }
  .ht-di-shell .ht-di-wave { flex-basis: 22px; width: 22px; height: 18px; gap: 1px; }
  .ht-di-shell .ht-di-wave i { max-height: 17px; }
  [data-compact="timer"] .ht-di-compact-clock, [data-compact="stopwatch"] .ht-di-compact-clock { font-size: 12px; gap: 5px; }
  [data-compact="timer"] .ht-di-compact-clock svg, [data-compact="stopwatch"] .ht-di-compact-clock svg { flex-basis: 14px; width: 14px; height: 14px; }
  body:has(#mobileMenu.open) .ht-island-dock { visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  .ht-dynamic-island, .ht-dynamic-island *, .ht-dynamic-island *::before, .ht-dynamic-island *::after { transition: none !important; animation: none !important; }
}
