@import url('promo-ad.css');

/* Shared base and UI chrome */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--bg);color:var(--plat);font-family:'Outfit',sans-serif;font-weight:300;line-height:1.6;overflow-x:hidden}
body.cursor-ready{cursor:none}
body.cursor-ready a,body.cursor-ready button,body.cursor-ready input,body.cursor-ready select,body.cursor-ready textarea{cursor:none}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font-family:inherit}
::-webkit-scrollbar{width:0.1875rem}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--ember-dk)}
::selection{background:var(--ember);color:var(--bg)}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)' opacity='0.055'/%3E%3C/svg%3E");pointer-events:none;z-index:9990;mix-blend-mode:overlay;opacity:.1}

#cur{position:fixed;width:0.5rem;height:0.5rem;background:var(--ember);border-radius:50%;pointer-events:none;z-index:9997;transform:translate(-50%,-50%);transition:width .12s,height .12s,opacity .2s;display:none}
#cur-ring{position:fixed;width:2.25rem;height:2.25rem;border:0.0625rem solid var(--ember-med);border-radius:50%;pointer-events:none;z-index:9996;transform:translate(-50%,-50%);transition:width .2s,height .2s;display:none}
body.cursor-ready #cur,body.cursor-ready #cur-ring{display:block}
.cx #cur{width:1.25rem;height:1.25rem;background:rgba(212,80,10,.5)}
.cx #cur-ring{width:4.375rem;height:4.375rem;border-color:var(--ember)}

#preloader{position:fixed;inset:0;z-index:9500;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.75rem;transition:opacity .5s .05s,visibility .5s .05s}
#preloader.out{opacity:0;visibility:hidden}
.pl-logo{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.4rem,5vw,2.4rem);letter-spacing:clamp(.12em,2vw,.32em);color:var(--plat);opacity:0;animation:fade .4s .15s forwards;text-align:center;padding:0 1rem;word-break:keep-all}.pl-logo span{color:var(--ember)}
.pl-bar-wrap{width:12.5rem;height:0.0625rem;background:var(--faint);overflow:hidden;opacity:0;animation:fade .2s .3s forwards}
.pl-bar{height:100%;width:0;background:linear-gradient(90deg,var(--ember-dk),var(--ember),var(--ember-lt));animation:plLoad 1s .35s ease-out forwards}
.pl-pct{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--silver);opacity:0;animation:fade .3s .4s forwards}

#age-gate{position:fixed;inset:0;z-index:9000;background:rgba(5,5,5,.97);display:flex;align-items:center;justify-content:center;transition:opacity .5s,visibility .5s;padding:1rem;backdrop-filter:blur(4px)}
#age-gate.hidden{opacity:0;visibility:hidden;pointer-events:none}
.ag{text-align:center;width:100%;max-width:26rem;padding:2.5rem 2rem;border:0.0625rem solid var(--faint);background:var(--l1);position:relative;overflow:hidden;border-radius:1rem}
.ag::before{content:'';position:absolute;top:0;left:0;right:0;height:0.125rem;background:linear-gradient(90deg,transparent,var(--ember),transparent)}
.ag-ico{color:var(--ember);margin-bottom:1rem;display:flex;justify-content:center}
.ag-brand{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.32em}.ag-brand span{color:var(--ember)}
.ag-line{width:2rem;height:0.0625rem;background:var(--ember);margin:1.125rem auto}
.ag-h{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:300;margin-bottom:.5rem;color:var(--plat)}
.ag-p{font-size:.78rem;color:var(--silver);margin-bottom:1.5rem;line-height:1.75;padding:0 0.5rem}
.ag-sel{display:flex;gap:0.625rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}
.ag-sel select{background:var(--l2);color:var(--plat);border:0.0625rem solid var(--faint);padding:0.75rem 1rem;font-family:'Outfit',sans-serif;font-size:.85rem;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23D4500A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.75rem center;padding-right:2.25rem;background-color:var(--l2);border-radius:0.5rem;min-width:8rem;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.ag-sel select:focus{border-color:var(--ember);box-shadow:0 0 0 0.1875rem rgba(212,80,10,.15)}
.ag-sel select option{background:var(--l2);color:var(--plat);padding:0.5rem}
#age-gate.ag-custom .ag{overflow:visible}
#age-gate.ag-custom .ag-sel{width:100%}
#age-gate.ag-custom .ag-select{position:relative;width:100%;max-width:none;min-width:0;flex:1 1 0}
#age-gate.ag-custom .ag-select-btn{width:100%;background:var(--l2);color:var(--plat);border:0.0625rem solid var(--faint);padding:0.75rem 1rem;padding-right:2.25rem;font-family:'Outfit',sans-serif;font-size:.85rem;border-radius:0.5rem;text-align:left;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23D4500A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.75rem center;transition:border-color .2s,box-shadow .2s;cursor:pointer}
#age-gate.ag-custom .ag-select-label{display:block;text-align:left}
#age-gate.ag-custom .ag-select-list{position:absolute;left:0;right:0;top:calc(100% + 0.5rem);background:var(--l1);border:0.0625rem solid var(--faint);border-radius:0.5rem;max-height:16rem;overflow-y:auto;z-index:5;opacity:0;visibility:hidden;transform:translateY(-0.25rem);transition:opacity .2s,transform .2s,visibility .2s;box-shadow:0 1.25rem 2.5rem rgba(0,0,0,.55);-webkit-overflow-scrolling:touch}
#age-gate.ag-custom .ag-select-option{display:block;width:100%;background:none;border:none;color:var(--plat);text-align:left;padding:0.6rem 0.9rem;font-family:'Outfit',sans-serif;font-size:.85rem;cursor:pointer}
#age-gate.ag-custom .ag-select-option:hover{background:var(--faint2)}
#age-gate.ag-custom .ag-select-option[aria-selected="true"]{background:var(--ember);color:var(--bg)}
#age-gate.ag-custom .ag-select-option.placeholder{color:var(--ash);cursor:default}
#age-gate.ag-custom .ag-select.open .ag-select-list{opacity:1;visibility:visible;transform:translateY(0)}
#age-gate.ag-custom .ag-select.open .ag-select-btn,
#age-gate.ag-custom .ag-select-btn:focus{border-color:var(--ember);box-shadow:0 0 0 0.1875rem rgba(212,80,10,.15)}
#age-gate.ag-custom .ag-sel select.ag-native{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.ag-btns{display:flex;gap:0.625rem;justify-content:center;flex-wrap:wrap}
.ag-yes{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.18em;padding:0.8rem 2.25rem;background:var(--ember);color:var(--bg);border:none;transition:background .2s,transform .2s;border-radius:0.25rem;cursor:pointer}
.ag-yes:hover{background:var(--ember-lt);transform:translateY(-1px)}
.ag-no{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.12em;padding:0.75rem 1.25rem;border:0.0625rem solid var(--faint);color:var(--silver);background:transparent;transition:all .2s;border-radius:0.25rem;cursor:pointer}
.ag-no:hover{border-color:var(--silver);color:var(--plat)}
.ag-legal{font-size:.62rem;color:var(--ash);margin-top:1rem;line-height:1.65;padding:0 0.5rem}
@media(max-width:48rem){
  .ag{padding:2.5rem 2rem;max-width:26rem;border-radius:1rem}
  .ag-brand{font-size:1.8rem;letter-spacing:.32em}
  .ag-h{font-size:1.25rem}
  .ag-p{font-size:.78rem;margin-bottom:1.5rem}
  .ag-sel{flex-direction:row;align-items:stretch;gap:0.625rem}
  .ag-sel select{width:100%;max-width:none;min-width:0;padding:0.75rem 1rem;padding-right:2.25rem;font-size:.85rem;border-radius:0.5rem}
  .ag-btns{flex-direction:row;align-items:center;gap:0.625rem}
  .ag-yes{width:auto;max-width:none;padding:0.8rem 2.25rem}
  .ag-no{width:auto;max-width:none;padding:0.75rem 1.25rem}
  .ag-legal{font-size:.62rem}
  .ag-ico svg{width:36px;height:36px}
}

#cart-panel{position:fixed;top:0;right:0;bottom:0;width:26.25rem;max-width:100vw;background:var(--l1);border-left:0.0625rem solid var(--faint);z-index:800;transform:translateX(100%);transition:transform .45s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}
#cart-panel.open{transform:translateX(0)}
#cart-overlay{position:fixed;inset:0;background:var(--black-70);backdrop-filter:blur(0.375rem);z-index:799;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
#cart-overlay.open{opacity:1;visibility:visible}
.cart-head{padding:2rem 1.75rem 1.5rem;border-bottom:0.0625rem solid var(--faint);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.cart-title{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.12em;display:flex;align-items:center;gap:0.75rem}
.cart-count{background:var(--ember);color:var(--bg);font-family:'IBM Plex Mono',monospace;font-size:.62rem;width:1.375rem;height:1.375rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:400}
.cart-close{width:2.5rem;height:2.5rem;border:0.0625rem solid var(--faint);background:transparent;color:var(--silver);display:flex;align-items:center;justify-content:center;transition:all .2s}
.cart-close:hover{border-color:var(--border-e);color:var(--ember)}
.cart-body{flex:1;overflow-y:auto;padding:1.5rem 1.75rem}
.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:12.5rem;gap:1rem;color:var(--silver)}
.cart-empty svg{opacity:.3}
.cart-empty p{font-size:.82rem;text-align:center;line-height:1.7}
.cart-item{display:flex;gap:1rem;padding:1.25rem 0;border-bottom:0.0625rem solid var(--faint2)}
.ci-img{width:5rem;height:4.5rem;flex-shrink:0;overflow:hidden}
.ci-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.6)}
.ci-info{flex:1}
.ci-steel{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.18em;color:var(--ember);text-transform:uppercase;margin-bottom:0.25rem}
.ci-name{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.04em;color:var(--plat);line-height:1}
.ci-sub{font-size:.75rem;color:var(--silver);margin-top:0.1875rem}
.ci-row{display:flex;align-items:center;justify-content:space-between;margin-top:0.625rem}
.ci-price{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--plat)}
.ci-qty{display:flex;align-items:center;gap:0.5rem}
.ci-qbtn{width:1.75rem;height:1.75rem;border:0.0625rem solid var(--faint);background:transparent;color:var(--silver);font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}
.ci-qbtn:hover{border-color:var(--border-e);color:var(--ember)}
.ci-qval{font-family:'IBM Plex Mono',monospace;font-size:.75rem;width:1.5rem;text-align:center}
.ci-remove{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.12em;color:var(--ash);text-transform:uppercase;transition:color .2s;background:none;border:none;padding:0.125rem 0;margin-top:0.375rem;display:block}
.ci-remove:hover{color:var(--red-71)}
.ci-remove-x{margin-top:0;padding:0;width:1.625rem;height:1.625rem;border:0.0625rem solid var(--faint);display:inline-flex;align-items:center;justify-content:center;color:var(--silver);text-transform:none;font-size:.8rem}
.ci-remove-x:hover{border-color:var(--border-e);color:var(--red-71)}
.ci-qty-slider-wrap{display:flex;align-items:center;gap:0.625rem;margin-top:0.5rem}
.ci-qty-slider{flex:1;appearance:none;height:0.375rem;background:rgba(255,255,255,.12);outline:none;border-radius:0.1875rem;transition:background .2s}
.ci-qty-slider:hover{background:rgba(255,255,255,.18)}
.ci-qty-slider::-webkit-slider-thumb{appearance:none;width:1.375rem;height:1.375rem;border-radius:50%;background:var(--ember);cursor:none;border:0.125rem solid var(--bg);box-shadow:0 0 0 0.1875rem rgba(221,107,32,.2);transition:all .2s}
.ci-qty-slider::-webkit-slider-thumb:active{cursor:none;box-shadow:0 0 0 0.3125rem rgba(221,107,32,.3)}
.ci-qty-slider::-moz-range-thumb{width:1.375rem;height:1.375rem;border-radius:50%;background:var(--ember);cursor:none;border:0.125rem solid var(--bg);box-shadow:0 0 0 0.1875rem rgba(221,107,32,.2);transition:all .2s}
.ci-qty-slider::-moz-range-thumb:active{cursor:none;box-shadow:0 0 0 0.3125rem rgba(221,107,32,.3)}
.ci-qty-slider-wrap .ci-qval{width:auto;min-width:3.375rem;font-size:.65rem;color:var(--silver)}
.cart-foot{padding:1.5rem 1.75rem 2rem;border-top:0.0625rem solid var(--faint);flex-shrink:0}
.cart-sub-row{display:flex;justify-content:space-between;margin-bottom:0.5rem}
.cart-sub-row span{font-size:.82rem;color:var(--silver)}
.cart-sub-row strong{font-family:'IBM Plex Mono',monospace;font-size:.82rem;color:var(--plat)}
.cart-total-row{display:flex;justify-content:space-between;padding-top:1rem;border-top:0.0625rem solid var(--faint);margin-top:0.5rem;margin-bottom:1.5rem}
.cart-total-row span{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--silver)}
.cart-total-row strong{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;color:var(--plat)}
.cart-checkout{width:100%;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.2em;padding:1.0625rem;background:var(--ember);color:var(--bg);border:none;transition:background .2s,transform .2s}
.cart-checkout:hover{background:var(--ember-lt);transform:translateY(-0.0625rem)}
.cart-note{font-size:.7rem;color:var(--ash);text-align:center;margin-top:0.75rem;line-height:1.65}
.cart-btn-badge{position:relative}
.cart-badge{position:absolute;top:-0.4375rem;right:-0.4375rem;background:var(--ember);color:var(--bg);font-family:'IBM Plex Mono',monospace;font-size:.55rem;font-weight:400;width:1.125rem;height:1.125rem;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0);transition:opacity .3s,transform .3s}
.cart-badge.show{opacity:1;transform:scale(1)}

#mob-nav{position:fixed;inset:0;z-index:900;background:var(--black-98);backdrop-filter:blur(1.5rem);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.25rem;pointer-events:none;opacity:0;transition:opacity .4s;border-left:0.0625rem solid var(--faint)}
#mob-nav.open{opacity:1;pointer-events:all}
.mob-link{font-family:'Bebas Neue',sans-serif;font-size:3.5rem;letter-spacing:.08em;color:var(--silver);transition:color .25s;text-align:center;line-height:1}
.mob-link:hover{color:var(--plat)}
.mob-link em{color:var(--ember);font-style:normal}
#mob-close{position:absolute;top:1.75rem;right:1.75rem;background:none;border:0.0625rem solid var(--faint);width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;color:var(--silver);transition:all .2s}
#mob-close:hover{border-color:var(--border-e);color:var(--ember)}
.mob-cta{margin-top:1.25rem;font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:.22em;padding:1rem 3rem;background:var(--ember);color:var(--bg);border:none}

nav{position:fixed;top:0;left:0;right:0;z-index:500;height:4.5rem;padding:0 3.25rem;display:flex;align-items:center;justify-content:space-between;transition:background .4s,border-bottom .4s}
nav.solid{background:var(--black-94);backdrop-filter:blur(1.75rem);border-bottom:0.0625rem solid var(--faint)}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:1.35rem;letter-spacing:.3em;position:relative;z-index:1}.nav-logo span{color:var(--ember)}
.nav-links{display:flex;gap:2.375rem;list-style:none;position:absolute;left:50%;transform:translateX(-50%)}
.nav-links a{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--silver);transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-0.25rem;left:0;right:0;height:0.0625rem;background:var(--ember);transform:scaleX(0);transition:transform .3s}
.nav-links a:hover{color:var(--plat)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:0.75rem}
.nav-cta{font-family:'Bebas Neue',sans-serif;font-size:.9rem;letter-spacing:.2em;padding:0.625rem 1.75rem;background:transparent;border:0.0625rem solid var(--ember);color:var(--ember);position:relative;overflow:hidden;transition:color .3s}
.nav-cta::before{content:'';position:absolute;inset:0;background:var(--ember);transform:translateX(-101%);transition:transform .25s ease}
.nav-cta:hover{color:var(--bg)}.nav-cta:hover::before{transform:translateX(0)}
.nav-cta span{position:relative;z-index:1}
.nav-cart-btn{width:2.75rem;height:2.75rem;border:0.0625rem solid var(--faint);background:transparent;display:flex;align-items:center;justify-content:center;color:var(--silver);transition:all .25s;position:relative}
.nav-cart-btn:hover{border-color:var(--border-e);color:var(--ember)}
.nav-ham{display:none;flex-direction:column;gap:0.3125rem;padding:0.375rem;background:none;border:none}
.nav-ham span{display:block;width:1.5rem;height:0.0938rem;background:var(--plat);transition:.3s}
.nav-ham.open span:nth-child(1){transform:rotate(45deg) translate(0.3125rem,0.3125rem)}
.nav-ham.open span:nth-child(2){opacity:0}
.nav-ham.open span:nth-child(3){transform:rotate(-45deg) translate(0.3125rem,-0.3125rem)}
body.nav-open .nav-ham{opacity:0;pointer-events:none}

/* ─── STICKY CONTACT ─── */
#sticky-contact{position:fixed;bottom:1.75rem;right:1.75rem;z-index:800;display:flex;flex-direction:column;align-items:flex-end;gap:0.625rem;transition:opacity .3s,visibility .3s,transform .3s}
#sticky-contact.chat-open{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(1rem)}
.sc-fab{width:3.25rem;height:3.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;border:0.0625rem solid var(--faint);background:var(--l1);color:var(--silver);transition:all .3s;position:relative;box-shadow:0 0.25rem 1rem rgba(0,0,0,.4)}
.sc-fab:hover{transform:translateY(-0.125rem);box-shadow:0 0.5rem 1.5rem rgba(0,0,0,.5)}
.sc-fab.wa{border-color:rgba(37,211,102,.2);color:#25D366}
.sc-fab.wa:hover{background:rgba(37,211,102,.1);border-color:rgba(37,211,102,.5)}
.sc-fab.mail{border-color:rgba(234,67,53,.15);color:#EA4335}
.sc-fab.mail:hover{background:rgba(234,67,53,.08);border-color:rgba(234,67,53,.4)}
.sc-fab.chat{border-color:var(--glow);color:var(--ember)}
.sc-fab.chat:hover{background:var(--glow);border-color:var(--ember)}
.sc-fab svg{width:1.25rem;height:1.25rem}
.sc-fab .sc-tip{position:absolute;right:4rem;top:50%;transform:translateY(-50%) scale(.9);background:var(--l2);border:0.0625rem solid var(--faint);padding:0.35rem 0.75rem;font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.1em;color:var(--plat);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;border-radius:0.25rem}
.sc-fab:hover .sc-tip{opacity:1;transform:translateY(-50%) scale(1)}
.sc-badge{position:absolute;top:-0.25rem;right:-0.25rem;width:1.125rem;height:1.125rem;background:var(--ember);color:var(--bg);font-family:'IBM Plex Mono',monospace;font-size:.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%}

#chat-widget{position:fixed;bottom:1.75rem;right:1.75rem;width:22.5rem;max-width:calc(100vw - 3.5rem);background:var(--l1);border:0.0625rem solid var(--faint);border-radius:0.75rem;z-index:801;transform:translateY(1.25rem);opacity:0;visibility:hidden;transition:all .35s cubic-bezier(.16,1,.3,1);box-shadow:0 1.5rem 4rem rgba(0,0,0,.6)}
#chat-widget.open{opacity:1;visibility:visible;transform:translateY(0)}
.chat-head{padding:1.25rem 1.5rem;border-bottom:0.0625rem solid var(--faint);display:flex;align-items:center;gap:0.75rem;position:relative}
.chat-av{width:2.25rem;height:2.25rem;border-radius:50%;background:var(--ember);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--bg);overflow:hidden}
.chat-close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--silver);font-size:1.5rem;cursor:pointer;padding:0.25rem 0.5rem;line-height:1;border-radius:0.25rem;transition:color .2s,background .2s}
.chat-close:hover{color:var(--plat);background:var(--faint)}
.chat-info h5{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.1em;color:var(--plat)}
.chat-info span{font-family:'IBM Plex Mono',monospace;font-size:.55rem;color:var(--silver);letter-spacing:.1em}
.chat-body{padding:1.25rem 1.5rem;height:17.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:0.75rem}
.chat-bubble{max-width:85%;padding:0.75rem 1rem;font-size:.82rem;line-height:1.6;border-radius:0.125rem}
.chat-bubble.them{align-self:flex-start;background:var(--l2);border:0.0625rem solid var(--faint);color:var(--silver)}
.chat-bubble.me{align-self:flex-end;background:var(--ember);color:var(--bg)}
.chat-foot{padding:1rem 1.5rem;border-top:0.0625rem solid var(--faint);display:flex;gap:0.5rem}
.chat-foot input{flex:1;background:var(--bg);border:0.0625rem solid var(--faint);color:var(--plat);padding:0.625rem 0.875rem;font-family:'Outfit',sans-serif;font-size:.82rem;outline:none}
.chat-foot input:focus{border-color:var(--border-e)}
.chat-foot button{padding:0.625rem 1rem;background:var(--ember);color:var(--bg);border:none;font-family:'Bebas Neue',sans-serif;font-size:.7rem;letter-spacing:.14em}

.wrap{max-width:80rem;margin:0 auto;padding:0 3.25rem}
section{padding:8rem 0}
.tlabel{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ember)}
.tlabel-dim{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--silver)}
.sec-eye{display:flex;align-items:center;justify-content:center;gap:0.875rem;margin-bottom:0.875rem}
.sec-eye::before,.sec-eye::after{content:'';display:block;width:1.5rem;height:0.0625rem;background:var(--ember)}
.sec-h{font-family:'Bebas Neue',sans-serif;font-size:clamp(3.5rem,6vw,5.5rem);color:var(--plat);line-height:.92;text-align:center;margin-bottom:.9rem}
.sec-h em{color:var(--ember);font-style:normal}
.sec-p{font-size:.88rem;color:var(--silver);line-height:1.8;text-align:center;max-width:31.25rem;margin:0 auto}
.sec-head{margin-bottom:0}

.btn-p{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.2em;padding:1rem 3rem;background:var(--ember);color:var(--bg);border:none;position:relative;overflow:hidden;transition:transform .2s;display:inline-block}
.btn-p::after{content:'';position:absolute;inset:0;background:var(--white-18);transform:translateX(-100%) skewX(-15deg);transition:transform .4s ease}
.btn-p:hover{transform:translateY(-0.125rem)}.btn-p:hover::after{transform:translateX(110%) skewX(-15deg)}
.btn-o{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.18em;padding:0.9375rem 2rem;border:0.0625rem solid var(--faint);color:var(--silver);background:transparent;transition:border-color .2s,color .2s,transform .2s;display:inline-flex;align-items:center;gap:0.625rem}
.btn-o svg{width:1rem;height:1rem;flex-shrink:0}
.btn-o:hover{border-color:var(--ember-strong);color:var(--plat);transform:translateY(-0.125rem)}
.btn-gold{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.2em;padding:1rem 3rem;background:transparent;border:0.0625rem solid var(--gold);color:var(--gold);position:relative;overflow:hidden;transition:color .3s,transform .2s;display:inline-block}
.btn-gold::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .25s ease}
.btn-gold:hover{color:var(--bg);transform:translateY(-0.125rem)}.btn-gold:hover::before{transform:translateX(0)}
.btn-gold span{position:relative;z-index:1}

.rv{opacity:0;transform:translateY(2.25rem);transition:opacity .55s ease,transform .55s ease}
.rv.in{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-2.75rem);transition:opacity .58s ease,transform .58s ease}
.rv-l.in{opacity:1;transform:none}
.rv-r{opacity:0;transform:translateX(2.75rem);transition:opacity .58s ease,transform .58s ease}
.rv-r.in{opacity:1;transform:none}
.rv-s>*{opacity:0;transform:translateY(1.5rem);transition:opacity .4s ease,transform .4s ease}
.rv-s.in>*{opacity:1;transform:none}
.rv-s.in>*:nth-child(1){transition-delay:.02s}
.rv-s.in>*:nth-child(2){transition-delay:.08s}
.rv-s.in>*:nth-child(3){transition-delay:.14s}
.rv-s.in>*:nth-child(4){transition-delay:.2s}
.rv-s.in>*:nth-child(5){transition-delay:.26s}
.rv-s.in>*:nth-child(6){transition-delay:.32s}

.page{display:none;min-height:100vh}
.page.active{display:block}

@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes plLoad{to{width:100%}}
@keyframes sUp{from{opacity:0;transform:translateY(1.75rem)}to{opacity:1;transform:none}}
@keyframes rvLine{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes shaft{0%,100%{opacity:.25;transform:scaleY(.55)}50%{opacity:.7;transform:scaleY(1)}}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes starPop{0%{transform:scale(0) rotate(-30deg);opacity:0}70%{transform:scale(1.2)}100%{transform:scale(1);opacity:1}}
@keyframes rp{0%,100%{opacity:.2;transform:translate(-50%,-50%) scale(1)}50%{opacity:.05;transform:translate(-50%,-50%) scale(1.06)}}
@keyframes cartBounce{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 var(--ember-transparent)}50%{box-shadow:0 0 1.875rem var(--glow)}}

/* ─── SHARED BUTTONS ─── */
.btn-wa{display:inline-flex;align-items:center;gap:0.75rem;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.2em;padding:1rem 2.25rem;background:var(--green-soft-09);border:0.0625rem solid var(--green-border-28);color:var(--plat);transition:all .3s}
.btn-wa:hover{background:var(--green-soft-18);border-color:var(--green-border-60);transform:translateY(-0.125rem)}
.btn-wa svg{width:1.25rem;height:1.25rem;fill:currentColor}
.btn-email{display:inline-flex;align-items:center;justify-content:center;gap:0.75rem;background:transparent;color:var(--silver);padding:0.875rem 1.5rem;font-family:'IBM Plex Mono',monospace;font-size:.85rem;border:0.0625rem solid rgba(255,255,255,.06);border-radius:0.125rem;letter-spacing:.14em;text-transform:uppercase;transition:border-color .2s,color .2s}
.btn-email svg{width:1rem;height:1rem;flex-shrink:0}
.btn-email:hover{border-color:var(--border-e);color:var(--plat)}

/* ─── FOOTER ─── */
footer{padding:5rem 0 2.25rem;background:var(--bg);border-top:0.0625rem solid var(--faint)}
.fg{display:grid;grid-template-columns:2.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3.5rem}
.fb{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.3em;margin-bottom:0.875rem}.fb span{color:var(--ember)}
.fa{font-size:.82rem;color:var(--silver);line-height:1.8;max-width:18.125rem;margin-bottom:1.75rem}
.fsoc{display:flex;gap:0.625rem}
.fsl{width:2.375rem;height:2.375rem;border:0.0625rem solid var(--faint);display:flex;align-items:center;justify-content:center;color:var(--silver);transition:all .28s}
.fsl:hover{border-color:var(--border-e);color:var(--ember);background:var(--glow2)}
.fsl svg{width:1rem;height:1rem;fill:currentColor}
.fc h4{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.22em;color:var(--ember);text-transform:uppercase;margin-bottom:1.375rem}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:0.8125rem}
.fc ul a{font-size:.83rem;color:var(--silver);transition:color .2s;position:relative}
.fc ul a:hover{color:var(--plat)}
.fbot{padding-top:1.875rem;border-top:0.0625rem solid var(--faint);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.875rem}
.fbot p{font-size:.72rem;color:var(--ash);line-height:1.6}
.flegal{display:flex;gap:1.375rem}
.flegal a{font-size:.7rem;color:var(--ash);transition:color .2s}.flegal a:hover{color:var(--plat)}

@media(max-width:64rem){
  .wrap{padding:0 1.75rem}
  nav{padding:0 1.75rem}
  .nav-links,.nav-cta{display:none}
  .nav-ham{display:flex}
}
@media(max-width:48rem){
  .wrap{padding:0 1.375rem}
  nav{padding:0 1.375rem;height:4rem}
  section{padding:5.5rem 0}
  #sticky-contact{bottom:1rem;right:1rem;gap:0.5rem}
  .sc-fab{width:2.75rem;height:2.75rem}
  .sc-fab svg{width:1.1rem;height:1.1rem}
  .sc-fab .sc-tip{display:none}
  #chat-widget{bottom:1rem;right:0.75rem;left:0.75rem;width:auto;max-width:none;border-radius:0.75rem}
  .fg{grid-template-columns:1fr;gap:2.25rem}
  .fbot{flex-direction:column;text-align:center}
}
