:root{
    --void:#FFFFFF;
    --charcoal:#F5F1EA;
    --panel:#ECE6DB;
    --pink:#E3242C;
    --purple:#6B3FA0;
    --bone:#1B1420;
    --stone:#6B6478;
    --stone-dim:#A39CB0;
    --line:#E4DFD6;
    --cream:#F1E8D2;
    --radius:0px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{
    font-family:'Archivo',sans-serif;
    background:var(--void);
    color:var(--bone);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  .display{font-family:'Archivo Black',sans-serif;}
  .mono{font-family:'IBM Plex Mono',monospace;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;cursor:pointer;}

  nav{
    position:sticky;top:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:22px 32px;
    background:rgba(255,255,255,0.92);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(6px);
  }
  .loop-transition{
    position:fixed;inset:0;z-index:999;pointer-events:none;overflow:hidden;
    background:#0B0710;
    opacity:0;
    transition:opacity 0.5s ease;
  }
  .loop-transition.show{opacity:1;}
  .flame-wash{
    position:absolute;inset:0;
    background:linear-gradient(to top, #ff5a1f 0%, rgba(255,138,31,0.55) 32%, rgba(5,4,3,0.9) 100%);
    mix-blend-mode:screen;
  }
  .flame-layer{
    position:absolute;bottom:-25%;left:-25%;width:150%;height:75%;
    background:radial-gradient(ellipse at 50% 100%, #ffe29a 0%, #ffd166 20%, #ff8a1f 42%, #ff5a1f 62%, transparent 78%);
    filter:blur(4px);
    transform-origin:bottom center;
    mix-blend-mode:screen;
    animation:flameLick 0.7s ease-in-out infinite alternate;
  }
  .fl1{animation-duration:0.55s;animation-delay:0s;opacity:0.95;}
  .fl2{animation-duration:0.7s;animation-delay:0.12s;opacity:0.85;left:-38%;}
  .fl3{animation-duration:0.48s;animation-delay:0.22s;opacity:0.75;left:-8%;}
  .fl4{animation-duration:0.85s;animation-delay:0.05s;opacity:0.65;left:4%;}
  .fl5{animation-duration:0.6s;animation-delay:0.3s;opacity:0.8;left:-18%;}
  @keyframes flameLick{
    0%{transform:scaleY(1) scaleX(1) skewX(-3deg) translateY(0);}
    50%{transform:scaleY(1.35) scaleX(0.88) skewX(4deg) translateY(-4%);}
    100%{transform:scaleY(0.9) scaleX(1.08) skewX(-5deg) translateY(2%);}
  }
  .page-burn-line{
    position:fixed;top:0;left:0;right:0;height:46px;
    z-index:40;pointer-events:none;overflow:hidden;
  }
  .page-burn-char{
    position:absolute;inset:0;
    background:linear-gradient(to bottom, rgba(5,4,3,0.95) 0%, rgba(5,4,3,0.5) 55%, rgba(5,4,3,0) 100%);
  }
  .page-burn-ember{
    position:absolute;left:-6%;right:-6%;top:32px;height:14px;
    background:linear-gradient(90deg, transparent, #ff8a1f 12%, #ffd166 50%, #ff5a1f 88%, transparent);
    filter:blur(5px);
    box-shadow:0 0 24px 10px rgba(255,110,30,0.5);
    animation:pageFlicker 0.45s ease-in-out infinite alternate;
  }
  @keyframes pageFlicker{
    0%{transform:scaleY(1) scaleX(1);opacity:0.85;}
    100%{transform:scaleY(1.4) scaleX(1.02);opacity:1;}
  }
  .page-burn-smoke{position:absolute;inset:0;}
  .page-puff{
    position:absolute;top:26px;width:9%;height:140%;border-radius:50%;
    background:radial-gradient(circle, rgba(235,232,224,0.5) 0%, rgba(235,232,224,0) 70%);
    filter:blur(10px);animation:pageSmokeRise 5s ease-in infinite;
  }
  .pp1{left:8%;animation-delay:0s;}
  .pp2{left:28%;animation-delay:1.1s;}
  .pp3{left:50%;animation-delay:2.2s;}
  .pp4{left:70%;animation-delay:0.6s;}
  .pp5{left:88%;animation-delay:3.1s;}
  @keyframes pageSmokeRise{
    0%{transform:translateY(0) scale(1);opacity:0;}
    15%{opacity:0.5;}
    100%{transform:translateY(-260%) scale(1.8);opacity:0;}
  }
  .logo-badge{
    background:var(--pink);color:#FFFFFF;font-family:'Archivo Black',sans-serif;
    font-size:38px;letter-spacing:0.5px;padding:0.05em 0.22em;display:inline-block;line-height:1;
  }
  .nav-links{display:flex;gap:28px;font-size:12px;color:var(--stone);letter-spacing:0.5px;}
  .hamburger-btn{display:none;background:none;border:none;color:var(--bone);padding:6px;cursor:pointer;}
  .nav-links a{text-decoration:none;}
  .nav-right{display:flex;align-items:center;gap:20px;position:relative;}
  .plus-btn{
    background:none;border:none;color:var(--bone);font-size:20px;line-height:1;
    padding:6px 8px;cursor:pointer;position:relative;transition:transform .2s ease;
  }
  .plus-btn.open{transform:rotate(45deg);}
  .nav-dropdown{
    position:absolute;top:100%;right:0;margin-top:10px;
    background:var(--charcoal);border:1px solid var(--line);min-width:200px;
    display:none;flex-direction:column;z-index:60;
  }
  .nav-dropdown.open{display:flex;}
  .nav-dropdown a{
    padding:12px 16px;font-size:13px;color:var(--bone);text-decoration:none;
    border-bottom:1px solid var(--line);text-transform:lowercase;
  }
  .nav-dropdown a:last-child{border-bottom:none;}
  .nav-dropdown a:hover{color:var(--pink);}
  .nav-search{padding:10px;border-bottom:1px solid var(--line);position:relative;}
  .nav-search input{
    width:100%;background:var(--void);border:1px solid var(--line);color:var(--bone);
    font-family:'IBM Plex Mono',monospace;font-size:12px;padding:9px 12px;
    text-transform:lowercase;
  }
  .nav-search input::placeholder{color:var(--stone-dim);}
  .nav-search input:focus{outline:none;border-color:var(--pink);}
  .search-results{display:none;max-height:280px;overflow-y:auto;margin-top:8px;border:1px solid var(--line);}
  .search-results.show{display:block;}
  .search-result{
    display:flex;justify-content:space-between;align-items:center;gap:10px;
    padding:10px 12px;cursor:pointer;background:var(--void);border-bottom:1px solid var(--line);
    text-transform:lowercase;font-size:12px;
  }
  .search-result:last-child{border-bottom:none;}
  .search-result:hover{background:var(--panel);}
  .search-result .sr-price{color:var(--stone-dim);flex-shrink:0;}
  .search-empty{padding:12px;font-size:12px;color:var(--stone-dim);text-align:center;background:var(--void);}
  .cart-btn{
    position:relative;background:none;border:none;display:flex;align-items:center;
    padding:6px;color:var(--bone);
  }
  .wishlist-nav-btn{
    position:relative;background:none;border:none;display:flex;align-items:center;
    padding:6px;color:var(--bone);cursor:pointer;
  }
  .cart-count{
    position:absolute;top:-4px;right:-4px;
    background:var(--pink);color:#FFFFFF;
    font-size:10px;font-weight:700;
    width:16px;height:16px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    transform:scale(1);transition:transform .25s cubic-bezier(.34,1.56,.64,1);
  }
  .bump{transform:scale(1.35);}

  .hero{
    min-height:0;display:flex;flex-direction:column;justify-content:center;
    padding:0 32px;max-width:1180px;margin:0 auto;position:relative;
  }
  .brandmark{max-width:1180px;margin:0 auto;padding:0 32px 64px;}
  .brandmark-grid{}
  .brandmark-img{
    aspect-ratio:1178/1342;background-size:cover;background-position:center;
    background-color:var(--panel);position:relative;overflow:hidden;
  }
  .ticker{
    width:100%;margin-bottom:12px;
    background:var(--pink);
    overflow:hidden;white-space:nowrap;padding:9px 0;
  }
  .ticker-track{display:inline-block;animation:tickerScroll 12s linear infinite;}
  .media-wrap{position:relative;width:100%;}
  .wishlist-btn{
    position:absolute;top:8px;right:8px;z-index:5;
    background:none;border:none;color:var(--bone);
    width:28px;height:28px;display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:color .15s;
    filter:drop-shadow(0 1px 3px rgba(0,0,0,0.35));
  }
  .wishlist-btn:hover{color:var(--pink);}
  .wishlist-btn.active{color:var(--pink);}
  .sold-out-banner{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);
    background:var(--pink);color:#FFFFFF;font-family:'Archivo Black',sans-serif;
    font-size:13px;letter-spacing:1px;padding:6px 14px;white-space:nowrap;
    z-index:4;box-shadow:0 4px 12px rgba(0,0,0,0.4);
  }
  .quick-add:disabled{opacity:0.4;cursor:not-allowed;}
  .quick-add:disabled:hover{transform:none;}
  .media-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    background:rgba(11,7,16,0.6);color:#FFFFFF;border:none;
    width:26px;height:26px;font-size:16px;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;z-index:3;
    opacity:0;transition:opacity .15s;
  }
  .media-wrap:hover .media-arrow{opacity:1;}
  .modal-img .media-arrow{opacity:1;}
  .media-arrow-left{left:4px;}
  .media-arrow-right{right:4px;}
  .media-arrow:hover{background:var(--pink);}
  .ticker-unit{
    font-family:'Archivo Black',sans-serif;font-size:clamp(11px,1.6vw,15px);
    letter-spacing:2px;color:#FFFFFF;padding:0 20px;text-transform:uppercase;
    display:inline-block;
  }
  @keyframes tickerScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .hero-utility{
    display:flex;justify-content:space-between;align-items:center;
    padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:28px;
  }
  .hero-utility button{
    background:none;border:none;color:var(--bone);font-family:'IBM Plex Mono',monospace;
    font-size:12px;letter-spacing:0.5px;text-transform:lowercase;
    display:flex;align-items:center;gap:8px;cursor:pointer;
  }
  .hero-utility button:hover{color:var(--pink);}
  .hero-utility svg{flex-shrink:0;}

  .icon-wrap{
    width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
    position:relative;border-radius:4px;background:var(--panel);
    overflow:hidden;--burn:0;contain:layout paint size;
  }
  .icon-float{width:74%;height:74%;animation:iconFloat 3s ease-in-out infinite;}
  .icon-tilt{width:100%;height:100%;display:flex;transition:transform .28s cubic-bezier(0.22,0.68,0.32,1);}
  .icon-tilt svg{width:100%;height:100%;}
  .icon-tilt img, .icon-tilt video{width:100%;height:100%;object-fit:contain;}
  @keyframes iconFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
  .stamp-sm{
    position:absolute;bottom:10px;right:10px;background:var(--pink);color:#FFFFFF;
    font-family:'Archivo Black',sans-serif;font-size:9px;padding:3px 6px;letter-spacing:0.3px;
    z-index:2;
  }
  .kit-name{font-size:12px;text-transform:uppercase;letter-spacing:0.5px;color:var(--stone);}
  .kit-price{font-size:12px;color:var(--bone);margin-top:2px;margin-bottom:8px;}
  .swatches{display:flex;gap:8px;margin-bottom:14px;}
  .swatch-dot{
    width:17px;height:17px;border-radius:50%;border:1px solid var(--line);cursor:pointer;
    transition:transform .15s;padding:0;
  }
  .swatch-dot:hover{transform:scale(1.18);}
  .swatch-dot.active{outline:2px solid var(--pink);outline-offset:2px;}

  /* ---------- shop ---------- */
  .shop{max-width:1180px;margin:0 auto;padding:0 32px 120px;scroll-margin-top:90px;}
  .shop-head{
    display:flex;justify-content:space-between;align-items:baseline;
    margin-bottom:28px;padding-top:60px;border-top:1px solid var(--line);
    flex-wrap:wrap;gap:16px;
  }
  .shop-head h2{font-size:15px;letter-spacing:1.5px;text-transform:uppercase;}
  .count{font-size:12px;color:var(--stone-dim);}
  .filters{display:flex;gap:6px;flex-wrap:wrap;}
  .filter-row{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
  .sort-select{
    background:var(--void);border:1px solid var(--line);color:var(--stone);
    font-family:'IBM Plex Mono',monospace;font-size:12px;padding:9px 12px;
    text-transform:lowercase;cursor:pointer;
  }
  .sort-select:focus{outline:none;border-color:var(--pink);}
  .chip{
    background:none;border:1px solid var(--line);color:var(--stone);
    font-size:12px;padding:9px 16px;transition:all .15s;text-transform:uppercase;letter-spacing:0.3px;
  }
  .chip.active{background:var(--pink);color:#FFFFFF;border-color:var(--pink);}
  .chip:hover:not(.active){border-color:var(--pink);color:var(--pink);}

  .grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--line);
  }
  .card{
    background:var(--void);cursor:pointer;padding:16px;display:flex;flex-direction:column;
    align-items:center;
    opacity:0;transform:translateY(28px) scale(0.94);
    transition:opacity .5s ease, transform .55s cubic-bezier(.34,1.56,.64,1);
  }
  .card.pop-in{opacity:1;transform:translateY(0) scale(1);}
  .quick-add{
    position:absolute;bottom:8px;left:8px;z-index:5;
    background:var(--pink);border:none;color:#FFFFFF;
    width:32px;height:32px;border-radius:50%;font-size:20px;line-height:1;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:transform .15s;
  }
  .quick-add:hover{transform:scale(1.12);}

  footer{
    border-top:1px solid var(--line);padding:32px;
    display:flex;justify-content:space-between;align-items:center;
    font-size:12px;color:var(--stone-dim);
  }
  .social-links{display:flex;gap:14px;}
  .footer-signup{display:flex;flex-direction:column;gap:8px;align-items:center;}
  .footer-signup-label{font-size:11px;color:var(--stone);text-transform:lowercase;}
  .footer-signup-row{display:flex;gap:0;}
  .footer-signup-row input{
    background:var(--void);border:1px solid var(--line);color:var(--bone);
    font-family:'IBM Plex Mono',monospace;font-size:12px;padding:9px 12px;width:180px;
  }
  .footer-signup-row input:focus{outline:none;border-color:var(--pink);}
  .footer-signup-row button{
    background:var(--pink);color:#FFFFFF;border:none;padding:9px 16px;
    font-size:11px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;cursor:pointer;
  }
  .footer-signup-row button:hover{opacity:0.85;}
  .social-links a{
    display:flex;align-items:center;justify-content:center;
    width:42px;height:42px;border-radius:50%;
    border:1.5px solid var(--line);background:var(--panel);
    text-decoration:none;
    transition:all .2s cubic-bezier(0.34,1.56,0.64,1);
  }
  .social-links a:hover{
    border-color:var(--pink);
    transform:scale(1.15) translateY(-2px);
    box-shadow:0 6px 18px rgba(227,36,44,0.4);
  }

  .overlay{display:none;position:fixed;inset:0;z-index:100;background:rgba(11,7,16,0.8);}
  .checkout-success-banner{
    position:fixed;top:0;left:0;right:0;z-index:700;
    background:var(--pink);color:#FFFFFF;text-align:center;
    padding:14px 20px;font-size:13px;
  }
  .age-gate-overlay{
    display:none;position:fixed;inset:0;z-index:600;
    background:var(--void);align-items:center;justify-content:center;padding:20px;
  }
  .age-gate-overlay.show{display:flex;}
  .age-gate{
    background:var(--charcoal);border:1px solid var(--line);
    width:100%;max-width:420px;padding:48px 36px;text-align:center;
  }
  .age-gate-buttons{display:flex;flex-direction:column;gap:12px;}
  .age-gate-no{
    background:none;border:1px solid var(--line);color:var(--stone);
    padding:14px;font-size:12px;letter-spacing:0.5px;text-transform:uppercase;
    cursor:pointer;transition:all .15s;
  }
  .age-gate-no:hover{border-color:var(--pink);color:var(--pink);}
  .exit-popup-overlay{
    display:none;position:fixed;inset:0;z-index:500;
    background:rgba(11,7,16,0.85);align-items:center;justify-content:center;padding:20px;
  }
  .exit-popup-overlay.show{display:flex;}
  .exit-popup{
    position:relative;background:var(--charcoal);border:1px solid var(--line);
    width:100%;max-width:420px;padding:48px 36px 36px;text-align:center;
  }
  .exit-popup-stamp{
    display:inline-block;background:var(--pink);color:#FFFFFF;
    font-family:'Archivo Black',sans-serif;font-size:16px;padding:6px 16px;
    letter-spacing:1px;margin-bottom:20px;
  }
  .exit-popup-headline{
    font-family:'Archivo Black',sans-serif;font-size:26px;text-transform:lowercase;
    margin-bottom:10px;
  }
  .exit-popup-sub{font-size:13px;color:var(--stone);margin-bottom:24px;line-height:1.6;}
  .exit-popup-form{display:flex;flex-direction:column;gap:12px;}
  .exit-popup-form input{
    width:100%;background:var(--void);border:1px solid var(--line);color:var(--bone);
    font-family:'IBM Plex Mono',monospace;font-size:13px;padding:13px;text-align:center;
  }
  .exit-popup-form input:focus{outline:none;border-color:var(--pink);}
  .overlay.open{display:block;}
  .modal{
    position:fixed;top:0;right:0;bottom:0;left:0;z-index:101;
    display:flex;align-items:center;justify-content:center;pointer-events:none;
  }
  .modal-card{
    pointer-events:auto;background:var(--charcoal);width:min(860px,94vw);max-height:94vh;overflow:auto;
    display:grid;grid-template-columns:1fr 1fr;
    opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease;
    border:1px solid var(--line);
  }
  .overlay.open .modal-card{opacity:1;transform:translateY(0);}
  .modal-img{aspect-ratio:1/1;position:relative;padding:8%;}
  .modal-img .icon-wrap{width:100%;height:100%;}
  .modal-info{padding:32px;display:flex;flex-direction:column;}
  .modal-info h3{font-size:22px;text-transform:uppercase;margin-bottom:6px;}
  .modal-description{font-size:13px;color:var(--stone);line-height:1.6;margin-bottom:16px;}
  .modal-info .price{font-size:14px;color:var(--stone);margin-bottom:22px;}
  .modal-info .label{font-size:11px;color:var(--stone-dim);margin-bottom:10px;letter-spacing:1px;text-transform:uppercase;}
  .label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
  .label-row .label{margin-bottom:0;}
  .size-guide-toggle{
    background:none;border:none;color:var(--pink);font-size:11px;
    text-decoration:underline;cursor:pointer;text-transform:lowercase;
  }
  .size-guide{display:none;margin-bottom:16px;border:1px solid var(--line);padding:12px;}
  .size-guide.show{display:block;}
  .size-guide table{width:100%;border-collapse:collapse;}
  .size-guide th, .size-guide td{
    padding:6px 8px;text-align:center;font-size:11px;color:var(--stone);
    border-bottom:1px solid var(--line);
  }
  .size-guide th{color:var(--stone-dim);text-transform:uppercase;letter-spacing:0.5px;}
  .size-guide tr:last-child td{border-bottom:none;}
  .sizes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;}
  .size-btn{
    min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);background:none;color:var(--bone);
    font-size:13px;transition:all .15s;white-space:nowrap;
  }
  .size-btn:hover{border-color:var(--pink);}
  .size-btn.selected{background:var(--pink);color:#FFFFFF;border-color:var(--pink);}
  .size-btn.unavailable{
    color:var(--stone-dim);border-color:var(--line);text-decoration:line-through;
    cursor:pointer;opacity:0.4;
  }
  .size-btn.unavailable:hover{border-color:var(--pink);}
  .size-btn.unavailable.selected{opacity:1;}
  .error-text{font-size:12px;color:var(--pink);margin:-16px 0 16px;display:none;}
  .notify-toggle{
    background:none;border:none;color:var(--pink);font-size:11px;
    text-decoration:underline;cursor:pointer;text-transform:lowercase;
    margin:-10px 0 16px;display:block;
  }
  .notify-form{display:none;gap:8px;margin:-10px 0 16px;}
  .notify-form.show{display:flex;}
  .notify-form input{
    flex:1;background:var(--void);border:1px solid var(--line);color:var(--bone);
    font-family:'IBM Plex Mono',monospace;font-size:12px;padding:10px;
  }
  .notify-form input:focus{outline:none;border-color:var(--pink);}
  .notify-submit{
    background:var(--pink);color:#FFFFFF;border:none;padding:0 16px;
    font-size:11px;font-weight:700;text-transform:uppercase;cursor:pointer;
  }
  .notify-confirm{font-size:12px;color:var(--pink);}
  .error-text.show{display:block;}
  .related-products{margin-top:24px;border-top:1px solid var(--line);padding-top:16px;}
  .related-products .label{margin-bottom:12px;}
  .related-row{display:flex;gap:10px;overflow-x:auto;}
  .related-item{flex-shrink:0;width:90px;cursor:pointer;text-align:center;}
  .related-item .icon-wrap{width:100%;aspect-ratio:1/1;}
  .related-name{font-size:10px;color:var(--bone);margin-top:6px;text-transform:lowercase;}
  .related-price{font-size:10px;color:var(--stone-dim);}
  .add-btn{
    background:var(--pink);color:#FFFFFF;border:none;padding:16px;
    font-size:13px;font-weight:700;margin-top:auto;letter-spacing:0.5px;
    text-transform:uppercase;transition:opacity .15s;
  }
  .add-btn:hover{opacity:0.85;}
  .close-x{
    position:absolute;top:16px;right:16px;background:var(--void);border:none;color:var(--bone);
    width:32px;height:32px;border-radius:50%;font-size:16px;display:flex;
    align-items:center;justify-content:center;z-index:2;
  }

  .drawer{
    position:fixed;top:0;right:0;bottom:0;z-index:101;
    width:min(400px,92vw);background:var(--charcoal);
    display:flex;flex-direction:column;border-left:1px solid var(--line);
    transform:translateX(100%);transition:transform .25s ease;
  }
  .overlay.cart-open .drawer{transform:translateX(0);}
  .drawer-head{
    padding:22px 24px;border-bottom:1px solid var(--line);
    display:flex;justify-content:space-between;align-items:center;
  }
  .drawer-head h3{font-size:14px;text-transform:uppercase;letter-spacing:1px;}
  .drawer-items{flex:1;overflow:auto;padding:16px 24px;}
  .cart-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
  .cart-item .thumb{width:64px;height:76px;flex-shrink:0;background:var(--panel);position:relative;padding:14%;}
  .cart-item .thumb .icon-wrap{width:100%;height:100%;}
  .cart-item .thumb svg{width:60%;height:60%;}
  .cart-item .info{flex:1;}
  .cart-item .info .n{font-size:13px;font-weight:600;text-transform:uppercase;}
  .cart-item .info .s{font-size:12px;color:var(--stone-dim);margin:2px 0 8px;}
  .qty-row{display:flex;align-items:center;gap:10px;}
  .qty-btn{
    width:24px;height:24px;border:1px solid var(--line);background:none;color:var(--bone);
    font-size:13px;line-height:1;
  }
  .remove-btn{
    background:none;border:none;font-size:12px;color:var(--stone-dim);
    text-decoration:underline;margin-left:auto;
  }
  .empty-cart{text-align:center;padding:60px 20px;color:var(--stone-dim);font-size:14px;}
  .drawer-foot{padding:22px 24px;border-top:1px solid var(--line);}
  .wishlist-section{border-top:1px solid var(--line);}
  .wishlist-section-toggle{
    width:100%;background:none;background-color:transparent;border:none;color:var(--stone-dim);
    padding:16px 24px;text-align:center;font-size:12px;
    cursor:pointer;transition:color .15s;display:flex;align-items:center;justify-content:center;gap:6px;
  }
  .wishlist-section-toggle #wishlistCount{color:var(--pink);font-weight:700;}
  .wishlist-section-toggle::after{content:'▾';font-size:9px;transition:transform .15s;}
  .wishlist-section-toggle.open::after{transform:rotate(180deg);}
  .wishlist-section-toggle:hover{color:var(--pink);}
  .wishlist-section-items{display:none;max-height:280px;overflow-y:auto;padding:0 24px 16px;}
  .wishlist-section-items.show{display:block;}
  .ship-bar-wrap{margin-bottom:20px;}
  .ship-bar-label{font-size:11px;color:var(--stone);margin-bottom:8px;text-align:center;}
  .ship-bar-highlight{color:var(--pink);font-weight:700;}
  .ship-bar-track{width:100%;height:6px;background:var(--line);overflow:hidden;}
  .ship-bar-fill{height:100%;background:var(--pink);transition:width .3s ease;}
  .ship-bar-unlocked .ship-bar-label{color:var(--pink);font-weight:700;font-size:12px;}
  .subtotal-row{display:flex;justify-content:space-between;font-size:14px;font-weight:600;margin-bottom:16px;}
  .checkout-btn{
    width:100%;background:var(--pink);color:#FFFFFF;border:none;
    padding:16px;font-size:13px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;
    transition:opacity .15s;
  }
  .checkout-btn:hover{opacity:0.85;}
  .checkout-note{font-size:11px;color:var(--stone-dim);margin-top:10px;text-align:center;display:none;}
  .checkout-note.show{display:block;}

  .contact-section{max-width:640px;margin:0 auto;padding:0 32px 120px;scroll-margin-top:90px;}
  .subpage{display:none;}
  .subpage.active{display:block;padding-top:60px;}
  .back-link{display:inline-block;margin-bottom:20px;font-size:12px;color:var(--stone-dim);text-decoration:none;text-transform:lowercase;}
  .back-link:hover{color:var(--pink);}
  .contact-blurb{font-size:14px;color:var(--stone);margin-bottom:28px;line-height:1.6;}
  .contact-direct{font-size:13px;color:var(--stone-dim);margin-top:-16px;margin-bottom:28px;}
  .contact-direct a{color:var(--pink);text-decoration:none;}
  .contact-direct a:hover{text-decoration:underline;}
  .contact-form{display:flex;flex-direction:column;gap:14px;}
  .contact-form input, .contact-form textarea{
    width:100%;background:var(--panel);border:1px solid var(--line);color:var(--bone);
    font-family:'IBM Plex Mono',monospace;font-size:13px;padding:14px;
    resize:vertical;
  }
  .contact-form input::placeholder, .contact-form textarea::placeholder{color:var(--stone-dim);}
  .contact-form input:focus, .contact-form textarea:focus{outline:none;border-color:var(--pink);}
  .form-note{font-size:11px;color:var(--stone-dim);margin-top:4px;text-align:center;}

  .faq-list{display:flex;flex-direction:column;gap:22px;}
  .faq-item{border-bottom:1px solid var(--line);padding-bottom:20px;}
  .faq-q{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--bone);}
  .faq-a{font-size:13px;color:var(--stone);line-height:1.6;}
  .faq-a a{color:var(--pink);text-decoration:none;}
  .faq-a a:hover{text-decoration:underline;}

  .policy-text p{font-size:13px;color:var(--stone);line-height:1.7;margin-bottom:16px;}
  .policy-text h3{font-size:13px;text-transform:uppercase;letter-spacing:0.5px;color:var(--bone);margin:24px 0 8px;}
  .policy-text h3:first-child{margin-top:0;}
  .policy-text a{color:var(--pink);text-decoration:none;}
  .policy-text a:hover{text-decoration:underline;}

  @media(max-width:820px){
    .hero{padding:0 20px;min-height:auto;}
    .brandmark{padding:0 0 48px;}
    .brandmark-grid{grid-template-columns:1fr;}
    .grid{grid-template-columns:1fr;gap:0;background:var(--void);margin:0 -20px;}
    .card{padding:0;}
    .icon-wrap{border-radius:0;}
    nav{padding:16px 20px;}
    .hamburger-btn{display:flex;align-items:center;justify-content:center;}
    .nav-links{
      display:none;position:absolute;top:100%;left:0;right:0;
      flex-direction:column;gap:0;background:var(--charcoal);
      border-bottom:1px solid var(--line);padding:4px 20px;z-index:55;
    }
    .nav-links.mobile-open{display:flex;}
    .nav-links a{padding:14px 0;border-bottom:1px solid var(--line);}
    .nav-links a:last-child{border-bottom:none;}
    .shop{padding:0 20px 90px;}
    .modal-card{grid-template-columns:1fr;width:94vw;}
    .modal-img{max-height:340px;aspect-ratio:auto;padding:6%;}
    .modal-info{padding:20px;}
    footer{flex-direction:column;gap:8px;text-align:center;}
    .logo-badge{font-size:26px;}
    .swatch-dot{width:26px;height:26px;}
    .swatches{gap:12px;}
  }

  /* ---------- legal / compliance additions ---------- */
  .product-disclaimer{
    font-size:11px;color:var(--stone);line-height:1.5;margin:0 0 18px;
    padding:8px 0 8px 12px;border-left:2px solid var(--line);
  }
  .footer-signup-note{font-size:10px;color:var(--stone-dim);text-transform:none;text-align:center;max-width:260px;}
  .exit-popup-note{font-size:10px;color:var(--stone);margin-top:12px;text-align:center;}
  .footer-legal{
    display:flex;justify-content:center;flex-wrap:wrap;gap:6px 20px;
    padding:6px 20px 32px;font-size:11px;color:var(--stone-dim);
  }
  .footer-legal a,.footer-legal button{
    color:var(--stone-dim);background:none;border:none;font:inherit;
    text-decoration:underline;cursor:pointer;padding:0;
  }
  .footer-legal a:hover,.footer-legal button:hover{color:var(--pink);}

  .cookie-banner{
    display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:450;
    max-width:620px;margin:0 auto;background:var(--charcoal);border:1px solid var(--line);
    padding:14px 16px;box-shadow:0 8px 30px rgba(0,0,0,0.18);
    align-items:center;gap:14px;font-size:12px;line-height:1.5;color:var(--bone);
  }
  .cookie-banner.show{display:flex;}
  .cookie-banner p{flex:1;margin:0;}
  .cookie-banner a{color:var(--pink);text-decoration:underline;}
  .cookie-banner-actions{display:flex;gap:8px;flex-shrink:0;}
  .cookie-btn{
    background:none;border:1px solid var(--line);color:var(--bone);
    font-size:11px;letter-spacing:0.5px;text-transform:uppercase;
    padding:10px 16px;cursor:pointer;transition:all .15s;
  }
  .cookie-btn:hover{border-color:var(--pink);}
  .cookie-btn-primary{background:var(--pink);border-color:var(--pink);color:#FFFFFF;}
  .cookie-btn-primary:hover{opacity:0.85;}

  .cookie-modal-overlay{
    display:none;position:fixed;inset:0;z-index:650;
    background:rgba(11,7,16,0.6);align-items:center;justify-content:center;padding:20px;
  }
  .cookie-modal-overlay.show{display:flex;}
  .cookie-modal{
    position:relative;background:var(--void);border:1px solid var(--line);
    width:min(460px,100%);padding:28px 26px 26px;
  }
  .cookie-modal h2{font-size:15px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 18px;}
  .cookie-modal-close{
    position:absolute;top:8px;right:12px;background:none;border:none;
    font-size:26px;line-height:1;color:var(--stone);cursor:pointer;
  }
  .cookie-modal-close:hover{color:var(--pink);}
  .cookie-row{
    display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
    padding:14px 0;border-top:1px solid var(--line);
  }
  .cookie-row:last-of-type{margin-bottom:18px;}
  .cookie-row strong{font-size:13px;text-transform:uppercase;letter-spacing:0.5px;}
  .cookie-row p{font-size:12px;color:var(--stone);line-height:1.5;margin:4px 0 0;}
  .cookie-always{font-size:11px;color:var(--stone-dim);white-space:nowrap;padding-top:2px;}
  .cookie-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;}
  .cookie-switch input{opacity:0;width:0;height:0;position:absolute;}
  .cookie-switch-slider{
    position:absolute;inset:0;background:var(--line);border-radius:24px;
    cursor:pointer;transition:background .15s;
  }
  .cookie-switch-slider::before{
    content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;
    background:#FFFFFF;border-radius:50%;transition:transform .15s;
  }
  .cookie-switch input:checked + .cookie-switch-slider{background:var(--pink);}
  .cookie-switch input:checked + .cookie-switch-slider::before{transform:translateX(18px);}
  .cookie-switch input:focus-visible + .cookie-switch-slider{outline:2px solid var(--pink);outline-offset:2px;}
  @media(max-width:820px){
    .cookie-banner{flex-direction:column;align-items:stretch;left:12px;right:12px;bottom:12px;}
    .cookie-banner-actions{justify-content:flex-end;}
  }

  .policy-summary{
    border:1px solid var(--line);background:var(--charcoal);
    padding:18px 22px;margin:22px 0 30px;
  }
  .policy-summary strong{
    display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;
    color:var(--bone);margin-bottom:10px;
  }
  .policy-summary ul{margin:0;padding-left:18px;}
  .policy-summary li{font-size:13px;color:var(--stone);line-height:1.7;margin-bottom:4px;}
  .policy-summary a{color:var(--pink);text-decoration:underline;}

  .restricted-note{
    font-size:11px;color:var(--stone);line-height:1.5;margin:0 0 14px;
    padding:10px 12px;border-left:2px solid var(--pink);
  }
