/* ==========================================================================
   GODWIN DISTRIBUTORS — DESIGN SYSTEM
   Editorial B2B wholesale. Vermilion / cream / near-black.
   ========================================================================== */

:root{
  --org:#E8481F;
  --org-deep:#C93A15;
  --cream:#EFEBE2;
  --cream-2:#E7E2D6;
  --card:#F4F1E9;
  --ink:#141311;
  --ink-2:#1C1B18;
  --grey:#8B867C;
  --body-text:#4a463f;
  --line:rgba(20,19,17,.18);
  --line-d:rgba(239,235,226,.16);
  --ok:#2E7D4F;
  --err:#C0341A;
  --disp:'Archivo Black','Archivo',sans-serif;
  --body:'Archivo',-apple-system,BlinkMacSystemFont,sans-serif;
  --wrap:1320px;
  --pad:28px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;}
body.gd-locked{overflow:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:var(--body);cursor:pointer;}
::selection{background:var(--org);color:#fff;}
:focus-visible{outline:2px solid var(--org);outline-offset:3px;}

/* ---------- utilities ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);}
.micro{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;}
.micro-org{color:var(--org);}
.ast{color:var(--org);font-family:var(--disp);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

/* ---------- buttons ---------- */
.btn-pill{background:var(--org);color:#fff;border:none;padding:12px 22px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;transition:background .2s;display:inline-block;text-align:center;}
.btn-pill:hover{background:var(--ink);color:#fff;}
.btn-big{background:var(--ink);color:#fff;padding:16px 30px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;border:none;transition:background .2s;display:inline-block;text-align:center;}
.btn-big:hover{background:var(--org);color:#fff;}
.btn-ghost{border:1px solid var(--ink);padding:15px 30px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;background:none;display:inline-block;transition:all .2s;color:var(--ink);text-align:center;}
.btn-ghost:hover{background:var(--ink);color:#fff;}
.btn-dark{background:var(--ink);color:#fff;border:none;padding:16px 30px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;transition:all .2s;}
.btn-dark:hover{background:#fff;color:var(--ink);}
.btn-block{display:block;width:100%;}
.btn-sm{padding:10px 18px;font-size:11px;}
button[disabled],.btn-big[disabled]{opacity:.5;cursor:not-allowed;}

/* ---------- ticker ---------- */
.ticker{background:var(--org);color:#fff;overflow:hidden;white-space:nowrap;padding:9px 0;position:relative;z-index:60;}
.ticker-track{display:inline-block;animation:tick 28s linear infinite;}
/* Scoped to .ticker-track so the header ticker and the age-gate ticker
   (.ag-ticker) both pick these up — they share the track, not the wrapper. */
.ticker-track span{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 18px;display:inline-block;}
.ticker-track .dot{width:5px;height:5px;background:#fff;border-radius:50%;display:inline-block;vertical-align:middle;margin:0 0 2px;flex-shrink:0;}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- utility bar ---------- */
.ubar{background:var(--ink);color:#B7B2A6;font-size:11px;letter-spacing:.06em;}
.ubar-in{max-width:var(--wrap);margin:0 auto;padding:8px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.ubar a:hover{color:#fff;}
.ubar-r{display:flex;gap:18px;align-items:center;}
.ubar b{color:var(--cream);font-weight:700;}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:500;background:var(--cream);border-bottom:1px solid var(--line);}
.nav-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;height:66px;gap:20px;}
.logo{display:flex;align-items:center;padding:4px 0;flex-shrink:0;}
.logo img{height:34px;width:auto;}
.nav-links{display:flex;gap:26px;align-items:center;}
.nav-links > li{position:relative;}
.nav-links a{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:22px 0;display:inline-block;}
.nav-links a:hover,.nav-links .current-menu-item > a{color:var(--org);}
.nav-cta{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.nav-icon{background:none;border:none;color:var(--ink);display:flex;align-items:center;position:relative;padding:6px;}
.nav-icon:hover{color:var(--org);}
.nav-icon svg{width:20px;height:20px;}
.nav-count{position:absolute;top:-2px;right:-4px;background:var(--org);color:#fff;font-size:9px;font-weight:800;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.nav-count.zero{display:none;}
.nav-login{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:none;border:none;color:var(--ink);}
.nav-login:hover{color:var(--org);}
.burger{display:none;background:none;border:1px solid var(--line);width:42px;height:42px;border-radius:50%;font-size:16px;line-height:1;color:var(--ink);}

/* ---------- mega menu ---------- */
.has-mega > .mega{position:absolute;top:100%;left:-24px;background:var(--cream);border:1px solid var(--line);border-top:2px solid var(--org);min-width:640px;padding:28px 30px;display:none;grid-template-columns:repeat(3,1fr);gap:22px 34px;box-shadow:0 20px 44px rgba(20,19,17,.14);z-index:520;}
.has-mega:hover > .mega,.has-mega.open > .mega{display:grid;}
.mega-col > a:first-child{font-family:var(--disp);font-size:13px;text-transform:uppercase;padding:0 0 10px;display:block;border-bottom:1px solid var(--line);margin-bottom:10px;letter-spacing:.02em;}
.mega-col ul a{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;padding:5px 0;display:block;color:var(--body-text);}
.mega-col ul a:hover{color:var(--org);}
.mega-all{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px;}
.mega-all a{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--org);padding:0;}

/* ---------- mobile nav ---------- */
.nav-mobile{display:none;flex-direction:column;background:var(--cream);border-bottom:1px solid var(--line);padding:10px var(--pad) 22px;max-height:78vh;overflow-y:auto;}
.nav-mobile.open{display:flex;}
.nav-mobile a{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid var(--line);}
.nav-mobile .sub a{font-size:12.5px;font-weight:500;text-transform:none;letter-spacing:0;padding:8px 0 8px 16px;color:var(--body-text);border-bottom:none;}

/* ---------- search overlay ---------- */
.searchbar{display:none;border-bottom:1px solid var(--line);background:var(--cream);}
.searchbar.open{display:block;}
.searchbar form{max-width:var(--wrap);margin:0 auto;padding:22px var(--pad);display:flex;gap:14px;align-items:center;}
.searchbar input{flex:1;background:transparent;border:none;border-bottom:1.5px solid var(--ink);padding:12px 2px;font-family:var(--disp);font-size:clamp(18px,3vw,30px);text-transform:uppercase;color:var(--ink);border-radius:0;}
.searchbar input:focus{outline:none;border-bottom-color:var(--org);}
.searchbar input::placeholder{color:var(--grey);}

/* ---------- hero ---------- */
.hero{border-bottom:1px solid var(--line);position:relative;}
.hero-grid{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:1fr 340px;border-left:1px solid var(--line);border-right:1px solid var(--line);}
.hero-main{padding:64px 48px 56px 20px;border-right:1px solid var(--line);}
.hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:34px;flex-wrap:wrap;}
.hero-eyebrow .bar{width:34px;height:3px;background:var(--org);}
.hero h1{font-family:var(--disp);font-size:clamp(46px,7.2vw,104px);line-height:.92;letter-spacing:-.02em;text-transform:uppercase;}
.hero h1 .org{color:var(--org);}
.hero h1 .outline{color:transparent;-webkit-text-stroke:2px var(--ink);}
.hero-ctas{display:flex;align-items:center;gap:18px;margin-top:44px;flex-wrap:wrap;}
.hero-side{display:flex;flex-direction:column;}
.hero-side-top{padding:64px 0 30px 34px;flex:1;}
.hero-side-top p{font-size:15px;line-height:1.65;color:#3d3a34;max-width:270px;}
.circle-arrow{width:64px;height:64px;border-radius:50%;background:var(--org);display:flex;align-items:center;justify-content:center;margin-top:34px;transition:transform .25s;}
.circle-arrow:hover{transform:translateX(6px);}
.circle-arrow svg{width:22px;height:22px;}
.hero-side-corner{border-top:1px solid var(--line);padding:22px 6px 26px 34px;display:flex;justify-content:space-between;gap:10px;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);border-left:1px solid var(--line);border-right:1px solid var(--line);}
.stats > div{border-top:1px solid var(--line);border-right:1px solid var(--line);padding:30px 20px 34px;}
.stats > div:last-child{border-right:none;}
.stat-num{font-family:var(--disp);font-size:clamp(38px,4.5vw,62px);letter-spacing:-.02em;line-height:1;}
.stat-num sup{font-size:.45em;color:var(--org);}
.stat-label{margin-top:10px;}

/* ---------- black band / marquee ---------- */
.band{background:var(--ink);color:var(--cream);position:relative;overflow:hidden;}
.band-glow{position:absolute;inset:0;background:
  radial-gradient(420px 300px at 78% 40%,rgba(232,72,31,.5),transparent 65%),
  radial-gradient(300px 220px at 68% 75%,rgba(255,150,60,.28),transparent 70%);
  filter:blur(6px);pointer-events:none;}
.band-in{position:relative;max-width:var(--wrap);margin:0 auto;padding:78px var(--pad);}
.band-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;}
.band h2{font-family:var(--disp);font-size:clamp(34px,4.6vw,64px);line-height:.95;text-transform:uppercase;letter-spacing:-.02em;max-width:640px;}
.band h2 .org{color:var(--org);}
.band-head p{color:#B7B2A6;font-size:14px;line-height:1.7;max-width:340px;}
.chiprow{display:flex;flex-wrap:wrap;gap:12px;margin-top:46px;}
.chip{border:1px solid var(--line-d);border-radius:999px;padding:14px 24px;display:flex;flex-direction:column;gap:2px;min-width:150px;transition:border-color .2s;}
.chip:hover{border-color:var(--org);}
.chip b{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.chip span{font-size:10px;color:#9B968B;letter-spacing:.06em;text-transform:uppercase;}
.marquee{border-top:1px solid var(--line-d);overflow:hidden;white-space:nowrap;position:relative;background:var(--ink);}
.marquee-track{display:inline-block;animation:tick 30s linear infinite;padding:20px 0;}
.marquee span{font-family:var(--disp);font-size:26px;letter-spacing:.02em;text-transform:uppercase;margin:0 26px;color:var(--cream);}
.marquee .o{color:var(--org);}

/* ---------- features ---------- */
.features{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-right:1px solid var(--line);}
.feat{border-right:1px solid var(--line);padding:44px 28px 50px;position:relative;}
.feat:last-child{border-right:none;}
.feat .ast{font-size:26px;display:block;margin-bottom:26px;}
.feat h3{font-family:var(--disp);font-size:16px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:12px;}
.feat p{font-size:13.5px;line-height:1.65;color:var(--body-text);}

/* ---------- section head ---------- */
.sec{border-top:1px solid var(--line);}
.sec-head{max-width:var(--wrap);margin:0 auto;padding:70px var(--pad) 40px;display:flex;justify-content:space-between;align-items:flex-end;gap:26px;flex-wrap:wrap;}
.sec-head h2{font-family:var(--disp);font-size:clamp(34px,4.8vw,66px);line-height:.95;text-transform:uppercase;letter-spacing:-.02em;}
.sec-head h2 .org{color:var(--org);}
.sec-head .sub{max-width:360px;font-size:14px;line-height:1.7;color:var(--body-text);}
.sec-head .micro{display:block;margin-bottom:16px;}

/* ---------- page header (inner pages) ---------- */
.phead{border-bottom:1px solid var(--line);background:var(--cream);}
.phead-in{max-width:var(--wrap);margin:0 auto;padding:52px var(--pad) 44px;border-left:1px solid var(--line);border-right:1px solid var(--line);}
.phead h1{font-family:var(--disp);font-size:clamp(34px,5.4vw,72px);line-height:.95;text-transform:uppercase;letter-spacing:-.02em;margin-top:14px;}
.phead h1 .org{color:var(--org);}
.phead .lede{margin-top:18px;font-size:15px;line-height:1.7;color:var(--body-text);max-width:560px;}
.crumbs{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:4px;}
.crumbs a:hover{color:var(--org);}
.crumbs .sep{margin:0 8px;color:var(--org);}

/* ==========================================================================
   PRODUCTS — cards, grids, shop
   ========================================================================== */
.prod-grid,ul.products{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad) 26px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;list-style:none;}
.shop-main ul.products{padding:0;max-width:none;}
.cols-4 ul.products,ul.products.columns-4{grid-template-columns:repeat(4,1fr);}

.card,li.product{border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;position:relative;list-style:none;}
.card:hover,li.product:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,19,17,.1);}
.card-media{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:#fff;}
.card-media img{width:100%;height:100%;object-fit:contain;padding:8px;}
.card-media .alt-img{position:absolute;inset:0;opacity:0;transition:opacity .3s;}
.card:hover .card-media .alt-img{opacity:1;}
.card-type{font-family:var(--disp);font-size:clamp(22px,2.2vw,32px);line-height:1;text-transform:uppercase;text-align:center;letter-spacing:-.01em;color:var(--ink);opacity:.88;padding:0 14px;}
.card-type small{display:block;font-family:var(--body);font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--org);margin-top:10px;}
.badge{position:absolute;top:14px;left:14px;background:var(--org);color:#fff;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px;z-index:2;}
.badge.dark{background:var(--ink);}
.badge.out{background:var(--grey);}
.badge-stack{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:6px;z-index:2;align-items:flex-start;}
.badge-stack .badge{position:static;}
.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.card-brand{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);}
.card-name{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.35;}
.card-name a:hover{color:var(--org);}
.card-sku{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);}
.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);gap:8px;flex-wrap:wrap;}
.lock{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6b675f;display:flex;align-items:center;gap:7px;}
.lock svg{width:12px;height:12px;flex-shrink:0;}
.card-apply{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--org);white-space:nowrap;}
.card-apply:hover{color:var(--ink);}
.card-price{font-family:var(--disp);font-size:20px;letter-spacing:-.01em;}
.card-price del{font-family:var(--body);font-size:13px;color:var(--grey);font-weight:500;margin-right:8px;}
.card-price ins{text-decoration:none;color:var(--org);}
.card-price .woocommerce-Price-currencySymbol{font-size:.7em;vertical-align:top;}
.card-msrp{font-size:11px;color:var(--grey);letter-spacing:.04em;}
.card-actions{display:flex;gap:8px;align-items:center;width:100%;margin-top:4px;}
.card-actions .qty-mini{width:62px;border:1px solid var(--line);background:transparent;padding:11px 8px;font-family:var(--body);font-size:14px;text-align:center;color:var(--ink);border-radius:999px;}
.card-actions .btn-pill{flex:1;padding:11px 14px;}

.wish-btn{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;}
.wish-btn svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:2;}
.wish-btn:hover{background:var(--org);border-color:var(--org);}
.wish-btn:hover svg{stroke:#fff;}
.wish-btn.active{background:var(--org);border-color:var(--org);}
.wish-btn.active svg{stroke:#fff;fill:#fff;}

.prod-foot{max-width:var(--wrap);margin:0 auto;padding:6px var(--pad) 78px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.prod-foot p{font-size:13px;color:var(--body-text);}

/* tabs (new / top sellers) */
.tabrow{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad) 24px;display:flex;gap:8px;border-bottom:1px solid var(--line);}
.tabrow button{background:none;border:none;border-bottom:2px solid transparent;padding:12px 4px;margin-right:26px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);}
.tabrow button.active{color:var(--ink);border-bottom-color:var(--org);}
.tabpane{display:none;}
.tabpane.active{display:block;}

/* ==========================================================================
   SHOP LAYOUT — sidebar filters + results
   ========================================================================== */
.shop-layout{max-width:var(--wrap);margin:0 auto;padding:40px var(--pad) 80px;display:grid;grid-template-columns:250px 1fr;gap:46px;align-items:start;}
.shop-side{position:sticky;top:96px;}
.filter-block{border-top:1px solid var(--line);padding:22px 0;}
.filter-block:first-child{border-top:none;padding-top:0;}
.filter-block h4{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--org);margin-bottom:16px;}
.filter-block ul a{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:6px 0;color:var(--body-text);}
.filter-block ul a:hover,.filter-block li.current-cat > a{color:var(--org);}
.filter-block ul ul{padding-left:14px;}
.filter-block .count{color:var(--grey);font-size:11px;}
.shop-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:26px;}
.shop-bar .result-count{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin:0;}
.woocommerce-ordering select,.gd-select{background:transparent;border:1px solid var(--line);border-radius:999px;padding:10px 34px 10px 16px;font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23141311' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.woocommerce-ordering select:focus,.gd-select:focus{outline:none;border-color:var(--org);}

/* pagination */
.woocommerce-pagination,.gd-pagination{margin:50px 0 0;}
.woocommerce-pagination ul,.gd-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;border:none!important;}
.woocommerce-pagination li{border:none!important;}
.page-numbers{display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:700;color:var(--ink);}
.page-numbers:hover,.page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink);}
.page-numbers.current{background:var(--org);border-color:var(--org);}

/* ==========================================================================
   SINGLE PRODUCT
   ========================================================================== */
.sp-wrap{max-width:var(--wrap);margin:0 auto;padding:44px var(--pad) 70px;display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:start;}
.sp-gallery{border:1px solid var(--line);background:#fff;position:relative;}
.sp-gallery .woocommerce-product-gallery__image img{width:100%;object-fit:contain;}
.sp-gallery .flex-control-thumbs{display:flex;gap:8px;padding:12px;list-style:none;flex-wrap:wrap;border-top:1px solid var(--line);}
.sp-gallery .flex-control-thumbs li{width:72px;}
.sp-gallery .flex-control-thumbs img{border:1px solid var(--line);cursor:pointer;opacity:.6;}
.sp-gallery .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--org);}
.sp-brand{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--org);}
.sp-info h1,.sp-info .product_title{font-family:var(--disp);font-size:clamp(26px,3.4vw,44px);line-height:1.02;text-transform:uppercase;letter-spacing:-.02em;margin:12px 0 16px;}
.sp-meta{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:24px;}
.sp-meta div{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);}
.sp-meta b{display:block;color:var(--ink);font-size:13px;letter-spacing:0;text-transform:none;margin-top:3px;font-weight:700;}
.sp-price{font-family:var(--disp);font-size:38px;letter-spacing:-.02em;margin-bottom:6px;}
.sp-price del{font-family:var(--body);font-size:20px;color:var(--grey);font-weight:500;margin-right:10px;}
.sp-price ins{text-decoration:none;color:var(--org);}
.sp-priceunit{font-size:12px;color:var(--grey);letter-spacing:.06em;text-transform:uppercase;margin-bottom:24px;}
.sp-gate{border:1px solid var(--ink);padding:26px 26px 28px;margin-bottom:26px;background:var(--card);}
.sp-gate h3{font-family:var(--disp);font-size:18px;text-transform:uppercase;margin-bottom:10px;}
.sp-gate p{font-size:13.5px;line-height:1.65;color:var(--body-text);margin-bottom:18px;}
.sp-gate .g-btns{display:flex;gap:12px;flex-wrap:wrap;}
.sp-desc{font-size:14.5px;line-height:1.75;color:var(--body-text);margin-top:8px;}
.sp-desc p{margin-bottom:14px;}
.sp-desc ul{list-style:disc;padding-left:20px;margin-bottom:14px;}
.sp-desc li{margin-bottom:6px;}
.sp-specs{border:1px solid var(--line);margin-top:28px;}
.sp-specs .row{display:flex;border-bottom:1px solid var(--line);}
.sp-specs .row:last-child{border-bottom:none;}
.sp-specs .row > *{padding:13px 18px;font-size:13px;}
.sp-specs .row .k{width:40%;background:var(--card);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;color:#5c5850;border-right:1px solid var(--line);}
.sp-specs .row .v{flex:1;color:var(--ink);}

/* cart form */
form.cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px;}
form.cart .quantity{display:flex;align-items:center;border:1px solid var(--ink);border-radius:999px;overflow:hidden;}
form.cart .quantity button{background:none;border:none;width:42px;height:48px;font-size:18px;color:var(--ink);}
form.cart .quantity button:hover{color:var(--org);}
form.cart .quantity input{width:56px;height:48px;border:none;background:transparent;text-align:center;font-family:var(--body);font-size:15px;font-weight:700;color:var(--ink);-moz-appearance:textfield;}
form.cart .quantity input::-webkit-outer-spin-button,form.cart .quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
form.cart button[type=submit],.single_add_to_cart_button{background:var(--org);color:#fff;border:none;padding:17px 34px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;transition:background .2s;}
form.cart button[type=submit]:hover,.single_add_to_cart_button:hover{background:var(--ink);}
.variations{width:100%;margin-bottom:6px;}
.variations tr{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.variations td,.variations th{padding:0;text-align:left;}
.variations label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#5c5850;}
.variations select{background:transparent;border:none;border-bottom:1px solid var(--ink);padding:10px 2px;font-family:var(--body);font-size:15px;color:var(--ink);border-radius:0;width:100%;}

.related,.upsells{border-top:1px solid var(--line);padding-top:0;}
.related > h2,.upsells > h2,.cross-sells > h2{font-family:var(--disp);font-size:clamp(26px,3.4vw,44px);text-transform:uppercase;letter-spacing:-.02em;max-width:var(--wrap);margin:0 auto;padding:56px var(--pad) 30px;}

/* ==========================================================================
   CART / CHECKOUT / ACCOUNT
   ========================================================================== */
.woo-page{max-width:var(--wrap);margin:0 auto;padding:44px var(--pad) 80px;}
.woo-narrow{max-width:900px;}
.shop_table{width:100%;border-collapse:collapse;border:1px solid var(--line);background:var(--card);}
.shop_table th{background:var(--ink);color:var(--cream);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:16px 18px;text-align:left;}
.shop_table td{padding:18px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle;}
.shop_table td.product-thumbnail img{width:76px;border:1px solid var(--line);background:#fff;}
.shop_table td.product-name a{font-weight:700;}
.shop_table td.product-name a:hover{color:var(--org);}
.shop_table .product-remove a{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--grey);}
.shop_table .product-remove a:hover{background:var(--org);color:#fff;border-color:var(--org);}
.shop_table .amount{font-weight:700;}
.cart-collaterals{margin-top:44px;display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:start;}
.cart_totals h2,.cross-sells h2{font-family:var(--disp);font-size:22px;text-transform:uppercase;margin-bottom:18px;}
.cart_totals table{width:100%;border:1px solid var(--line);background:var(--card);}
.cart_totals th,.cart_totals td{padding:15px 18px;border-bottom:1px solid var(--line);font-size:14px;text-align:left;}
.cart_totals th{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#5c5850;width:45%;}
.cart_totals .order-total td{font-family:var(--disp);font-size:22px;}
.checkout-button,.wc-proceed-to-checkout a{display:block;text-align:center;background:var(--org);color:#fff;padding:18px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;margin-top:20px;}
.checkout-button:hover{background:var(--ink);color:#fff;}
.coupon{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;}
.coupon input{border:1px solid var(--line);background:transparent;padding:13px 18px;border-radius:999px;font-family:var(--body);font-size:13px;flex:1;min-width:160px;}

/* min order notice */
.gd-minorder{border:1px solid var(--org);background:rgba(232,72,31,.07);padding:20px 24px;margin-bottom:26px;display:flex;gap:16px;align-items:flex-start;}
.gd-minorder .ast{font-size:22px;line-height:1;}
.gd-minorder b{display:block;font-family:var(--disp);font-size:14px;text-transform:uppercase;margin-bottom:6px;}
.gd-minorder p{font-size:13.5px;line-height:1.6;color:var(--body-text);}
.gd-minorder .bar{height:6px;background:var(--cream-2);border-radius:999px;margin-top:12px;overflow:hidden;}
.gd-minorder .bar i{display:block;height:100%;background:var(--org);border-radius:999px;transition:width .4s;}

/* checkout */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.woocommerce-checkout h3{font-family:var(--disp);font-size:20px;text-transform:uppercase;margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--line);}
#order_review{margin-top:40px;}
.woocommerce-checkout-review-order-table{width:100%;}
#payment{border:1px solid var(--line);background:var(--card);padding:24px;margin-top:24px;}
#payment ul.payment_methods{list-style:none;margin-bottom:20px;}
#payment li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;}
#place_order{background:var(--org);color:#fff;border:none;width:100%;padding:19px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;}
#place_order:hover{background:var(--ink);}

/* account */
.woocommerce-MyAccount-navigation ul{border:1px solid var(--line);background:var(--card);}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line);}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:none;}
.woocommerce-MyAccount-navigation a{display:block;padding:15px 20px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--ink);color:#fff;}
.woocommerce-MyAccount-content{font-size:14.5px;line-height:1.7;color:var(--body-text);}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:250px 1fr;gap:44px;align-items:start;}
.gd-status{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:999px;}
.gd-status.approved{background:var(--ok);color:#fff;}
.gd-status.pending{background:var(--org);color:#fff;}

/* ==========================================================================
   FORMS
   ========================================================================== */
.field{display:flex;flex-direction:column;gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#5c5850;}
.field input,.field select,.field textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{background:transparent;border:none;border-bottom:1px solid var(--ink);padding:10px 2px 12px;font-family:var(--body);font-size:15px;color:var(--ink);border-radius:0;appearance:none;-webkit-appearance:none;width:100%;}
.field textarea{min-height:130px;resize:vertical;}
.field select,.woocommerce form .form-row select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23141311' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;}
.field input:focus,.field select:focus,.field textarea:focus,
.woocommerce form .form-row input.input-text:focus{outline:none;border-bottom:2px solid var(--org);}
.woocommerce form .form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;}
.woocommerce form .form-row label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#5c5850;}
.woocommerce form .form-row label.checkbox{display:flex;flex-direction:row;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-size:13px;font-weight:500;}
.required{color:var(--org);}
.gd-form{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px;align-self:start;}
.apply-wrap{max-width:var(--wrap);margin:0 auto;padding:70px var(--pad) 90px;display:grid;grid-template-columns:420px 1fr;gap:60px;}
.apply-left{position:sticky;top:110px;align-self:start;}
.apply-left h2{font-family:var(--disp);font-size:clamp(36px,4.6vw,60px);line-height:.95;text-transform:uppercase;letter-spacing:-.02em;margin:16px 0 20px;}
.apply-left h2 .org{color:var(--org);}
.apply-left p{font-size:14px;line-height:1.7;color:var(--body-text);max-width:320px;}
.apply-num{font-family:var(--disp);font-size:clamp(70px,8vw,120px);line-height:1;color:transparent;-webkit-text-stroke:2px var(--org);margin-top:34px;}
.apply-submit{grid-column:1/-1;display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:8px;}
.apply-legal{font-size:11px;color:#77726a;line-height:1.6;max-width:420px;}
.gd-checkline{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--body-text);}
.gd-checkline input{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--org);}

/* notices */
.gd-notice,.woocommerce-message,.woocommerce-error,.woocommerce-info,.woocommerce-notice{border:1px solid var(--ink);background:var(--card);padding:16px 22px;font-size:13.5px;line-height:1.6;margin-bottom:24px;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;}
.gd-notice.ok,.woocommerce-message{border-color:var(--ok);background:rgba(46,125,79,.08);}
.gd-notice.err,.woocommerce-error{border-color:var(--err);background:rgba(192,52,26,.08);}
.woocommerce-error li{list-style:none;}
.woocommerce-message .button,.woocommerce-error .button,.woocommerce-info .button{background:var(--ink);color:#fff;padding:10px 20px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;border:none;}

/* ==========================================================================
   SERVE / ABOUT / BRANDS / NEWSLETTER
   ========================================================================== */
.serve{background:var(--ink);color:var(--cream);position:relative;overflow:hidden;}
.serve .band-glow{background:
  radial-gradient(460px 340px at 12% 30%,rgba(232,72,31,.42),transparent 65%),
  radial-gradient(320px 240px at 30% 80%,rgba(255,140,50,.2),transparent 70%);filter:blur(8px);}
.serve-in{position:relative;max-width:var(--wrap);margin:0 auto;padding:84px var(--pad);}
.serve h2{font-family:var(--disp);font-size:clamp(34px,4.8vw,66px);line-height:.95;text-transform:uppercase;letter-spacing:-.02em;max-width:760px;margin-top:16px;}
.serve h2 .org{color:var(--org);}
.serve-sub{color:#B7B2A6;font-size:14px;line-height:1.7;max-width:520px;margin-top:22px;}
.serve-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line-d);margin-top:52px;}
.serve-item{padding:34px 32px;border-right:1px solid var(--line-d);border-bottom:1px solid var(--line-d);}
.serve-item:nth-child(2n){border-right:none;}
.serve-item:nth-child(3),.serve-item:nth-child(4){border-bottom:none;}
.serve-item h3{font-family:var(--disp);font-size:16px;text-transform:uppercase;margin:16px 0 10px;}
.serve-item p{font-size:13.5px;line-height:1.65;color:#B7B2A6;}

.brands-list{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad) 80px;}
.brand-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 4px;transition:padding .2s;}
.brand-row:last-child{border-bottom:1px solid var(--line);}
.brand-row b{font-family:var(--disp);font-size:clamp(26px,3.6vw,50px);text-transform:uppercase;letter-spacing:-.01em;transition:color .2s;font-weight:400;}
.brand-row span{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);text-align:right;}
.brand-row:hover b{color:var(--org);}
.brand-row:hover{padding-left:16px;}

.about{background:var(--ink);color:var(--cream);position:relative;overflow:hidden;}
.about .band-glow{background:radial-gradient(500px 380px at 85% 20%,rgba(232,72,31,.4),transparent 65%);filter:blur(8px);}
.about-in{position:relative;max-width:var(--wrap);margin:0 auto;padding:88px var(--pad);display:grid;grid-template-columns:1.1fr .9fr;gap:70px;}
.about h2{font-family:var(--disp);font-size:clamp(34px,4.6vw,62px);line-height:.95;text-transform:uppercase;letter-spacing:-.02em;margin:16px 0 24px;}
.about h2 .org{color:var(--org);}
.about-copy p{font-size:14.5px;line-height:1.75;color:#C4BFB3;margin-bottom:16px;max-width:520px;}
.about-stats{display:flex;margin-top:38px;border:1px solid var(--line-d);}
.about-stats div{flex:1;padding:22px 20px;border-right:1px solid var(--line-d);}
.about-stats div:last-child{border-right:none;}
.about-stats b{font-family:var(--disp);font-size:30px;display:block;font-weight:400;}
.about-stats span{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#9B968B;display:block;margin-top:6px;}
.steps{border:1px solid var(--line-d);align-self:start;}
.steps-head{padding:24px 28px;border-bottom:1px solid var(--line-d);}
.steps-head p{font-size:13.5px;line-height:1.65;color:#C4BFB3;margin-top:10px;}
.step{display:flex;gap:22px;align-items:baseline;padding:22px 28px;border-bottom:1px solid var(--line-d);}
.step b{font-family:var(--disp);font-size:24px;color:var(--org);font-weight:400;}
.step span{font-size:14px;color:var(--cream);line-height:1.5;}
.steps-cta{padding:22px 28px;}

.news{background:var(--org);color:#fff;}
.news-in{max-width:var(--wrap);margin:0 auto;padding:70px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.news h2{font-family:var(--disp);font-size:clamp(30px,4vw,52px);line-height:.95;text-transform:uppercase;letter-spacing:-.02em;margin-top:14px;}
.news .micro{color:rgba(255,255,255,.85);}
.news p{margin-top:14px;font-size:14px;line-height:1.7;color:rgba(255,255,255,.88);max-width:400px;}
form.news-form{display:flex;flex-direction:column;gap:20px;}
.news-form input{background:transparent;border:none;border-bottom:1.5px solid rgba(255,255,255,.55);padding:12px 2px;font-family:var(--body);font-size:15px;color:#fff;border-radius:0;}
.news-form input::placeholder{color:rgba(255,255,255,.7);}
.news-form input:focus{outline:none;border-bottom-color:#fff;}
.news-form .btn-dark{align-self:flex-start;}
.news-note{font-size:11px;color:rgba(255,255,255,.75);}
.news-msg{font-size:13px;font-weight:700;}

/* brand logo strip */
.logostrip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.logostrip-in{max-width:var(--wrap);margin:0 auto;padding:34px var(--pad);display:flex;gap:44px;align-items:center;justify-content:center;flex-wrap:wrap;}
.logostrip img{height:38px;width:auto;opacity:.55;filter:grayscale(1);transition:all .25s;}
.logostrip a:hover img{opacity:1;filter:none;}

/* ==========================================================================
   BLOG / PAGE CONTENT
   ========================================================================== */
.entry{max-width:800px;margin:0 auto;padding:52px var(--pad) 80px;font-size:16px;line-height:1.8;color:#2f2c27;}
.entry h2{font-family:var(--disp);font-size:clamp(24px,3vw,36px);text-transform:uppercase;letter-spacing:-.01em;margin:44px 0 16px;}
.entry h3{font-family:var(--disp);font-size:20px;text-transform:uppercase;margin:32px 0 12px;}
.entry h4{font-size:16px;font-weight:800;margin:24px 0 10px;}
.entry p{margin-bottom:20px;}
.entry ul,.entry ol{margin:0 0 20px 22px;}
.entry ul{list-style:disc;}
.entry ol{list-style:decimal;}
.entry li{margin-bottom:8px;}
.entry a{color:var(--org);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.entry blockquote{border-left:3px solid var(--org);padding:6px 0 6px 24px;margin:28px 0;font-size:18px;line-height:1.6;color:var(--ink);}
.entry img{margin:28px 0;border:1px solid var(--line);}
.entry table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:14px;}
.entry th,.entry td{border:1px solid var(--line);padding:12px 14px;text-align:left;}
.entry th{background:var(--card);font-size:11px;letter-spacing:.1em;text-transform:uppercase;}
.entry hr{border:none;border-top:1px solid var(--line);margin:40px 0;}

.postgrid{max-width:var(--wrap);margin:0 auto;padding:44px var(--pad) 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.post-card{border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;}
.post-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,19,17,.1);}
.post-card .pc-media{aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--line);background:var(--cream-2);}
.post-card .pc-media img{width:100%;height:100%;object-fit:cover;}
.post-card .pc-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.post-card h3{font-family:var(--disp);font-size:18px;line-height:1.15;text-transform:uppercase;}
.post-card p{font-size:13.5px;line-height:1.6;color:var(--body-text);}
.post-card .pc-more{margin-top:auto;padding-top:12px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--org);}

/* accordion (FAQ) */
.acc{max-width:860px;margin:0 auto;padding:44px var(--pad) 80px;}
.acc-item{border-top:1px solid var(--line);}
.acc-item:last-child{border-bottom:1px solid var(--line);}
.acc-q{width:100%;background:none;border:none;text-align:left;padding:22px 40px 22px 0;font-family:var(--disp);font-size:16px;text-transform:uppercase;color:var(--ink);position:relative;letter-spacing:.01em;}
.acc-q::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--org);font-size:26px;line-height:1;}
.acc-item.open .acc-q::after{content:"–";}
.acc-a{display:none;padding:0 0 24px;font-size:14.5px;line-height:1.75;color:var(--body-text);}
.acc-item.open .acc-a{display:block;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:var(--ink);color:var(--cream);}
.foot-in{max-width:var(--wrap);margin:0 auto;padding:76px var(--pad) 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;}
.foot-brand img{height:44px;width:auto;filter:brightness(0) invert(1);}
.foot-brand > p{font-size:13.5px;line-height:1.7;color:#B7B2A6;max-width:320px;margin:18px 0 26px;}
.foot-contact div{font-size:13px;color:#C4BFB3;margin-bottom:12px;line-height:1.6;}
.foot-contact b{color:var(--cream);display:block;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:3px;}
.foot-col h4{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--org);margin-bottom:20px;}
.foot-col a{display:block;font-size:13.5px;color:#C4BFB3;padding:5px 0;}
.foot-col a:hover{color:#fff;}
.foot-giant{max-width:var(--wrap);margin:0 auto;padding:10px var(--pad) 0;overflow:hidden;}
.foot-giant div{font-family:var(--disp);font-size:clamp(52px,10vw,150px);line-height:.9;text-transform:uppercase;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px rgba(239,235,226,.28);white-space:nowrap;}
.foot-giant .c{color:var(--org);-webkit-text-stroke:0;}
.foot-disclaimer{max-width:var(--wrap);margin:0 auto;padding:34px var(--pad) 0;font-size:11px;line-height:1.75;color:#7E7A71;border-top:1px solid var(--line-d);margin-top:34px;}
.foot-legal{border-top:1px solid var(--line-d);margin-top:34px;}
.foot-legal-in{max-width:var(--wrap);margin:0 auto;padding:24px var(--pad);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11px;color:#9B968B;}
.foot-legal-in a{margin-left:18px;}
.foot-legal-in a:first-child{margin-left:0;}
.foot-legal-in a:hover{color:#fff;}
.foot-warn{background:#0E0D0B;text-align:center;padding:13px 20px;font-size:11px;letter-spacing:.06em;color:#9B968B;text-transform:uppercase;}

/* ==========================================================================
   AGE GATE
   ========================================================================== */
.agegate{position:fixed;inset:0;background:var(--cream);z-index:2000;display:flex;flex-direction:column;overflow-y:auto;}
.agegate.hidden{display:none;}
.ag-ticker{background:var(--org);color:#fff;overflow:hidden;white-space:nowrap;padding:9px 0;flex-shrink:0;}
.ag-center{flex:1;display:flex;align-items:center;justify-content:center;padding:30px;}
.ag-card{max-width:620px;width:100%;border:1px solid var(--ink);padding:56px 54px;text-align:center;position:relative;background:var(--cream);}
.ag-card::after{content:"*";position:absolute;top:18px;right:24px;font-family:var(--disp);font-size:30px;color:var(--org);}
.ag-mark img{height:52px;width:auto;margin:0 auto 34px;}
.ag-big{font-family:var(--disp);font-size:clamp(64px,12vw,120px);line-height:.9;letter-spacing:-.02em;}
.ag-big sup{color:var(--org);font-size:.5em;}
.ag-q{font-family:var(--disp);font-size:18px;text-transform:uppercase;margin:18px 0 20px;}
.ag-card > p{font-size:13.5px;line-height:1.7;color:var(--body-text);max-width:440px;margin:0 auto 30px;}
.ag-dob{display:flex;gap:12px;justify-content:center;margin-bottom:26px;flex-wrap:wrap;}
.ag-dob select{background:transparent;border:none;border-bottom:1.5px solid var(--ink);padding:11px 26px 11px 4px;font-family:var(--body);font-size:15px;color:var(--ink);border-radius:0;appearance:none;-webkit-appearance:none;min-width:104px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23141311' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;}
.ag-dob select:focus{outline:none;border-bottom-color:var(--org);}
.ag-err{color:var(--err);font-size:13px;font-weight:700;margin-bottom:18px;min-height:19px;}
.ag-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.ag-note{margin-top:30px;font-size:10.5px;color:#77726a;line-height:1.6;}
.ag-foot{background:var(--ink);color:#C4BFB3;text-align:center;padding:12px 20px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;}

/* ==========================================================================
   MODALS + MINI CART DRAWER
   ========================================================================== */
.modal{position:fixed;inset:0;background:rgba(20,19,17,.72);z-index:900;display:none;align-items:center;justify-content:center;padding:24px;}
.modal.open{display:flex;}
.modal-card{background:var(--cream);max-width:440px;width:100%;padding:46px 44px;border:1px solid var(--ink);position:relative;max-height:90vh;overflow-y:auto;}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:1px solid var(--line);width:36px;height:36px;border-radius:50%;font-size:15px;color:var(--ink);z-index:2;}
.modal-close:hover{background:var(--ink);color:#fff;}
.modal-card h3{font-family:var(--disp);font-size:26px;text-transform:uppercase;margin:12px 0 8px;}
.modal-card > p{font-size:13px;color:var(--body-text);line-height:1.6;margin-bottom:28px;}
.modal-card form{display:flex;flex-direction:column;gap:22px;}
.modal-foot{margin-top:24px;font-size:12.5px;color:var(--body-text);}
.modal-foot a{color:var(--org);font-weight:700;}
.modal-msg{font-size:13px;font-weight:700;margin-top:4px;}
.modal-msg.err{color:var(--err);}
.modal-msg.ok{color:var(--ok);}

.drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:92vw;background:var(--cream);border-left:1px solid var(--ink);z-index:950;transform:translateX(100%);transition:transform .3s;display:flex;flex-direction:column;}
.drawer.open{transform:translateX(0);}
.drawer-scrim{position:fixed;inset:0;background:rgba(20,19,17,.6);z-index:940;display:none;}
.drawer-scrim.open{display:block;}
.drawer-head{padding:24px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;}
.drawer-head h3{font-family:var(--disp);font-size:20px;text-transform:uppercase;}
.drawer-body{flex:1;overflow-y:auto;padding:20px 26px;}
.drawer-foot{border-top:1px solid var(--line);padding:22px 26px;}
.dc-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
.dc-item img{width:64px;height:64px;object-fit:contain;border:1px solid var(--line);background:#fff;flex-shrink:0;}
.dc-item .n{font-size:13.5px;font-weight:700;line-height:1.35;}
.dc-item .q{font-size:12px;color:var(--grey);margin-top:4px;}
.dc-item .rm{background:none;border:none;color:var(--grey);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 0;margin-top:4px;}
.dc-item .rm:hover{color:var(--err);}
.dc-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;}
.dc-total b{font-family:var(--disp);font-size:24px;}
.drawer-empty{text-align:center;padding:50px 20px;color:var(--grey);font-size:14px;}

/* toast */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(140%);background:var(--ink);color:#fff;padding:15px 26px;border-radius:999px;font-size:13px;font-weight:600;z-index:1200;transition:transform .3s;max-width:90vw;text-align:center;}
.toast.show{transform:translateX(-50%) translateY(0);}
.toast.err{background:var(--err);}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1200px){
  .has-mega > .mega{min-width:520px;grid-template-columns:repeat(2,1fr);}
}
@media(max-width:1024px){
  .features{grid-template-columns:repeat(2,1fr);}
  .feat{border-bottom:1px solid var(--line);}
  .feat:nth-child(2n){border-right:none;}
  .feat:nth-child(3),.feat:nth-child(4){border-bottom:none;}
  .prod-grid,ul.products,.cols-4 ul.products,ul.products.columns-4{grid-template-columns:repeat(2,1fr);}
  .apply-wrap{grid-template-columns:1fr;gap:40px;}
  .apply-left{position:static;}
  .about-in{grid-template-columns:1fr;gap:50px;}
  .foot-in{grid-template-columns:1fr 1fr;}
  .news-in{grid-template-columns:1fr;}
  .shop-layout{grid-template-columns:1fr;gap:30px;}
  .shop-side{position:static;border-bottom:1px solid var(--line);padding-bottom:20px;}
  .sp-wrap{grid-template-columns:1fr;gap:36px;}
  .cart-collaterals{grid-template-columns:1fr;}
  .woocommerce-checkout .col2-set{grid-template-columns:1fr;gap:20px;}
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:26px;}
  .postgrid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:820px){
  .nav-links{display:none;}
  .burger{display:block;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-main{border-right:none;padding:48px 8px 40px;}
  .hero-side-top{padding:0 8px 26px;}
  .hero-side-corner{padding:18px 8px 22px;}
  .stats > div{padding:22px 14px 26px;}
  .serve-grid{grid-template-columns:1fr;}
  .serve-item{border-right:none!important;border-bottom:1px solid var(--line-d)!important;}
  .serve-item:last-child{border-bottom:none!important;}
  .gd-form{grid-template-columns:1fr;}
  .ubar-in{justify-content:center;}
  .ubar-l{display:none;}
}
@media(max-width:640px){
  :root{--pad:18px;}
  .stats{grid-template-columns:1fr;}
  .stats > div{border-right:none;}
  .foot-in{grid-template-columns:1fr;}
  .ag-card{padding:40px 24px;}
  .nav-cta .nav-login{display:none;}
  .prod-grid,ul.products,.cols-4 ul.products,ul.products.columns-4{grid-template-columns:1fr;}
  .postgrid{grid-template-columns:1fr;}
  .shop_table thead{display:none;}
  .shop_table tr{display:block;border-bottom:1px solid var(--line);padding:12px 0;}
  .shop_table td{display:flex;justify-content:space-between;border-bottom:none;padding:8px 14px;gap:14px;}
  .shop_table td::before{content:attr(data-title);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);}
  .sp-price{font-size:30px;}
}
@media(prefers-reduced-motion:reduce){
  .ticker-track,.marquee-track{animation:none;}
  html{scroll-behavior:auto;}
  *{transition:none!important;}
}
