  :root{--ink:#0b1220;--ink-2:#131c2e;--ink-3:#070d18;--slate:#475569;--slate-2:#64748b;--muted:#94a3b8;--line:#e2e8f0;--line-2:#eef2f7;--bg:#fff;--soft:#f6f8fb;--soft-2:#eef2f7;--orange:#969674;--orange-2:#aeae8a;--orange-dk:#767650;--orange-wash:#f2f2e8;--green:#15803d;--green-wash:#e8f5ec;--disp:'Space Grotesk',sans-serif;--body:'Inter',system-ui,sans-serif;--mono:'JetBrains Mono',monospace;}
  *{margin:0;padding:0;box-sizing:border-box}
  body{font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
  a{text-decoration:none;color:inherit}
  h1,h2,h3,h4{font-family:var(--disp);letter-spacing:-.02em;line-height:1.15}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
  .ic{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
  .ic.fill{fill:currentColor;stroke:none}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--body);font-weight:600;border-radius:11px;padding:13px 22px;font-size:15px;cursor:pointer;border:0;transition:.18s}
  .btn .ic{width:18px;height:18px}
  .btn-orange{background:var(--orange);color:#fff;box-shadow:0 12px 24px -12px rgba(150,150,116,.7)}
  .btn-orange:hover{background:var(--orange-dk);transform:translateY(-2px)}
  .btn-outline{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
  .btn-outline:hover{border-color:var(--ink)}
  a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange-2);outline-offset:2px;border-radius:8px}
  .eyebrow{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-dk)}
  #progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:linear-gradient(90deg,var(--orange),var(--orange-2));box-shadow:0 0 14px rgba(150,150,116,.85)}
  @keyframes riseIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  .prod>div{animation:riseIn .8s cubic-bezier(.2,.7,.2,1) both}.prod>div:nth-child(2){animation-delay:.12s}
  @media (prefers-reduced-motion: reduce){*{animation:none!important}#progress{display:none}}
  .stockbar{background:linear-gradient(90deg,#0f5132,#15803d);color:#fff;font-size:13.5px;font-weight:600}
  .stockbar .wrap{display:flex;align-items:center;gap:12px;justify-content:center;padding:9px 24px;flex-wrap:wrap}
  .stockbar .pulse{width:9px;height:9px;border-radius:50%;background:#7ef7ab;animation:pulse 1.8s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(126,247,171,.6)}70%{box-shadow:0 0 0 10px rgba(126,247,171,0)}100%{box-shadow:0 0 0 0 rgba(126,247,171,0)}}
  .stockbar b{font-weight:700}
  header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  nav{display:flex;align-items:center;justify-content:space-between;height:76px}
  .logo img{height:56px;width:auto;display:block}
  .menu{display:flex;gap:28px;font-weight:500;font-size:14.5px;color:#334155}
  .menu a:hover{color:var(--orange-dk)}
  .nav-cta{display:flex;gap:10px;align-items:center}
  .crumb{padding:18px 0 4px;font-size:13px;color:var(--slate-2);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
  .crumb a:hover{color:var(--orange-dk)} .crumb .sep{color:var(--muted)} .crumb .cur{color:var(--ink);font-weight:600}
  .prod{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;padding:14px 0 40px;align-items:start}
  .viewer{position:relative;background:radial-gradient(120% 120% at 30% 12%,#f4f6fa,#e7ebf2 70%,#dde3ec);border:1px solid var(--line);border-radius:22px;height:560px;overflow:hidden}
  .viewer canvas{display:block;width:100%;height:100%;cursor:grab} .viewer canvas:active{cursor:grabbing}
  .pv-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3}
  .viewer.mode-3d .pv-photo{display:none}
  .viewer:not(.mode-3d) .badge3d,.viewer:not(.mode-3d) .pvhint,.viewer:not(.mode-3d) .pvctrls,.viewer:not(.mode-3d) .hotspots{display:none}
  .modeToggle{position:absolute;top:16px;right:16px;z-index:7;display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border:0;border-radius:10px;padding:9px 13px;font-family:var(--body);font-weight:600;font-size:12.5px;cursor:pointer;box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}
  .modeToggle:hover{background:var(--ink-2)} .modeToggle .ic{width:15px;height:15px;color:var(--orange-2)}
  .badge3d{position:absolute;top:16px;left:16px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:6px 11px;border-radius:8px;display:flex;align-items:center;gap:7px;z-index:6}
  .badge3d .ic{width:13px;height:13px;color:var(--orange-2)}
  .pvhint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:rgba(11,18,32,.72);color:#dbe5f0;font-size:12px;padding:7px 14px;border-radius:20px;z-index:6;backdrop-filter:blur(4px);display:flex;gap:8px;align-items:center;transition:opacity .3s}
  .pvhint .ic{width:14px;height:14px}
  .pvctrls{position:absolute;bottom:16px;right:16px;display:flex;gap:8px;z-index:6}
  .pvctrls button{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.85);backdrop-filter:blur(4px);display:grid;place-items:center;cursor:pointer;color:var(--slate)}
  .pvctrls button:hover{color:var(--ink);border-color:var(--ink)} .pvctrls button.on{background:var(--orange);color:#fff;border-color:var(--orange)}
  .pvfallback{position:absolute;inset:0;display:none;place-items:center;color:#94a3b8} .pvfallback .ic{width:120px;height:120px;color:#cbd5e1}
  .hotspots{position:absolute;inset:0;pointer-events:none;z-index:5} .hotspots.off{display:none}
  .hs{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;transition:opacity .15s;will-change:left,top}
  .hs .hd{width:13px;height:13px;border-radius:50%;background:var(--orange);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.4);flex:0 0 auto}
  .hs .hl{background:rgba(11,18,32,.92);color:#fff;border-radius:9px;padding:6px 10px;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 8px 20px -8px rgba(0,0,0,.6);line-height:1.3}
  .hs .hl small{display:block;font-weight:400;color:#9fb0c4;font-size:9.5px;font-family:var(--mono)}
  .info .cat{font-family:var(--mono);font-size:11.5px;color:var(--slate-2);letter-spacing:.05em;text-transform:uppercase}
  .info h1{font-size:30px;margin:6px 0 10px}
  .rating{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--slate-2);margin-bottom:16px;flex-wrap:wrap}
  .stars{color:var(--orange-2);letter-spacing:2px} .sku{font-family:var(--mono)}
  .pricebox{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:16px}
  .price{font-family:var(--mono);font-size:21px;font-weight:600;color:var(--ink)} .price small{font-size:13px;color:var(--slate-2);font-weight:500}
  .instock{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:13px;font-weight:700;background:var(--green-wash);padding:6px 11px;border-radius:8px}
  .instock .ic{width:14px;height:14px}
  .desc{font-size:14.5px;color:var(--slate);margin-bottom:16px}
  .feats{list-style:none;margin-bottom:18px}
  .feats li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:#2a3646;margin-bottom:8px} .feats .ic{width:17px;height:17px;color:var(--green);margin-top:2px}
  .keyspecs{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-bottom:20px}
  .keyspecs .s{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding-bottom:7px}
  .keyspecs .s span{font-size:13px;color:var(--slate-2)} .keyspecs .s b{font-family:var(--mono);font-size:12.5px;color:var(--ink)}
  .buy{display:flex;gap:12px;align-items:center;margin-bottom:14px} .buy .btn{flex:1;height:48px}
  .assur{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--slate);margin-bottom:16px}
  .assur .a{display:flex;align-items:center;gap:8px} .assur .ic{width:17px;height:17px;color:var(--orange-dk)}
  .dlrow{display:flex;gap:10px;flex-wrap:wrap}
  .dl{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 14px} .dl:hover{border-color:var(--orange);color:var(--orange-dk)} .dl .ic{width:16px;height:16px}
  .details{padding:44px 0;border-top:1px solid var(--line)}
  .tabs{display:flex;gap:4px;margin-bottom:22px;border-bottom:1px solid var(--line);flex-wrap:wrap}
  .tab{padding:12px 18px;font-weight:600;font-size:14.5px;color:var(--slate-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px} .tab.on{color:var(--ink);border-bottom-color:var(--orange)}
  .panel{display:none;max-width:840px} .panel.on{display:block} .panel p{color:var(--slate);font-size:15px;margin-bottom:14px}
  table.spec{width:100%;border-collapse:collapse;font-size:14px}
  table.spec td{padding:11px 4px;border-bottom:1px solid var(--line)} table.spec td:first-child{color:var(--slate-2);width:44%} table.spec td:last-child{font-family:var(--mono);color:var(--ink);font-weight:500}
  .appchips{display:flex;gap:9px;flex-wrap:wrap;margin:6px 0 18px}
  .chip{font-size:13px;font-weight:600;color:#334155;background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:8px 14px;display:flex;align-items:center;gap:7px} .chip .ic{width:15px;height:15px;color:var(--orange-dk)}
  .grades{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
  .grade{border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-family:var(--mono);font-size:12.5px;color:var(--ink);background:var(--soft)} .grade b{color:var(--orange-dk)}
  .faq{padding:24px 0;border-top:1px solid var(--line)} .faq h2{font-size:24px;margin-bottom:18px}
  details{border:1px solid var(--line);border-radius:13px;padding:2px 18px;margin-bottom:10px;max-width:840px;background:#fff}
  details[open]{border-color:#d8dee8;box-shadow:0 10px 30px -22px rgba(11,18,32,.4)}
  summary{cursor:pointer;font-weight:600;font-size:15px;padding:15px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
  summary::-webkit-details-marker{display:none} summary::after{content:"+";font-family:var(--mono);font-size:20px;color:var(--orange)} details[open] summary::after{content:"–"}
  details p{color:var(--slate);font-size:14.5px;padding:0 0 16px}
  .related{padding:34px 0 80px;border-top:1px solid var(--line)} .related h2{font-size:24px;margin-bottom:22px}
  .rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .rcard{border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.2s;background:#fff} .rcard:hover{transform:translateY(-5px);box-shadow:0 20px 44px -28px rgba(11,18,32,.45)}
  .rcard .t{height:110px;display:grid;place-items:center;color:#fff;position:relative} .rcard .t .ic{width:38px;height:38px}
  .rcard .t::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:20px 20px}
  .rcard:nth-child(1) .t,.rcard:nth-child(2) .t{background:linear-gradient(135deg,#15803d,#166534)} .rcard:nth-child(3) .t{background:linear-gradient(135deg,#334155,#1e293b)} .rcard:nth-child(4) .t{background:linear-gradient(135deg,#0891b2,#155e75)}
  .rcard .b{padding:14px 16px} .rcard .rc{font-family:var(--mono);font-size:10px;color:var(--slate-2);text-transform:uppercase} .rcard h4{font-size:15px;margin:3px 0 6px} .rcard .rp{font-family:var(--mono);font-weight:600;font-size:13px;color:var(--green)}
  footer{background:var(--ink-3);color:#8497ad;padding:40px 0;font-size:13px} footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
  @media(max-width:900px){.prod{grid-template-columns:1fr}.viewer{height:440px}.menu{display:none}.rgrid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.keyspecs,.rgrid{grid-template-columns:1fr}}

  nav{position:relative}
  .navtog{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
  .hamb{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;align-items:center;justify-content:center;color:var(--ink);padding:0;flex:0 0 auto}
  .hamb svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
  @media(max-width:900px){
    .menu{display:none!important}
    .hamb{display:inline-flex}
    .navtog:checked ~ .menu{display:flex!important;flex-direction:column;position:absolute;top:calc(100% + 1px);left:0;right:0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -22px rgba(11,18,32,.45);padding:6px 24px 14px;z-index:60}
    .navtog:checked ~ .menu a{padding:13px 2px;border-bottom:1px solid var(--line);color:#334155!important;font-size:16px}
    .navtog:checked ~ .menu a:last-child{border-bottom:0}
  }

/* mobile header fix */
header{padding-top:env(safe-area-inset-top,0px)}
@media(max-width:900px){.logo img{height:46px}nav{height:64px}.nav-cta{order:2;margin-left:auto}.hamb{order:3;margin-left:8px}}
