/* ═══════════════════════════════════════════════════════════════════════════
   ALMONZY — Luxury Dry Fruits | Premium CSS Design System
   Philosophy: Cartier × Aesop × Apple × Tesla
   Palette: 90% Black & White + Product accents
═══════════════════════════════════════════════════════════════════════════ */

/* ── Design Tokens ──────────────────────────────────────────────────────── */
:root {
  /* ── Brand Palette ─────────────────────────────────────────────────────── */
  --black:#232426; --charcoal:#1B1D21; --ink:#161616;
  --onyx:#0D0F12; --ash:#2A2D33; --graphite:#3A3A3C;
  --stone:#8A8782; --silver:#B0ABA5; --mist:#ECEAE5;
  --ivory:#F4F1EC; --cream:#FAF8F4; --white:#FFFFFF;
  /* Brand accents */
  --gold:#8B9A6B; --amber:#8B9A6B; --ember:#E07B4A;
  --pistachio:#8B9A6B; --walnut:#5C4433;
  --almond:#DBC8AC; --almond-beige:#DBC8AC;
  --cashew-cream:#EBE0CB; --date-amber:#A9712F;
  /* Semantic tokens */
  --bg:var(--ink); --bg-card:var(--charcoal); --bg-elevated:var(--ash);
  --bg-dark:var(--black); --bg-light:rgba(255,255,255,.04); --surface:var(--ash);
  --text:var(--ivory); --text-dim:var(--stone); --text-strong:var(--white);
  --text-muted:var(--stone);
  --border:rgba(255,255,255,.08); --border-light:rgba(255,255,255,.04);
  /* Fonts */
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'Jost',-apple-system,BlinkMacSystemFont,sans-serif;
  /* Spacing */
  --space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:32px;
  --space-xl:64px;--space-2xl:120px;--space-3xl:180px;
  --radius-sm:6px;--radius:12px;--radius-lg:20px;
  --shadow-md:0 4px 24px rgba(0,0,0,.3);--shadow-lg:0 12px 48px rgba(0,0,0,.4);
  --ease:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(0,0,.2,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --duration:.36s;--duration-slow:.6s;
  --max-w:1320px;--topbar-h:36px;--nav-h:108px;
}

/* ── Reset ──────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;width:100%;max-width:100%;overflow-x:hidden}
body{font-family:var(--font-body);background:var(--ink);color:var(--text);line-height:1.65;width:100%;max-width:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@supports (overflow:clip){
  html,body{overflow-x:clip}
}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-strong);line-height:1.1;font-weight:400;letter-spacing:-.01em}
a{color:inherit;text-decoration:none;transition:color var(--duration) var(--ease)}
img{max-width:100%;display:block}
input,select,textarea,button{font-family:inherit}
ul{list-style:none}
button{cursor:pointer;background:none;border:none}
.icon-svg{width:1em;height:1em;display:inline-block;vertical-align:-.16em;fill:currentColor;flex-shrink:0}

/* ── Container ──────────────────────────────────────────────────────────── */
.container{width:100%;max-width:var(--max-w);min-width:0;margin:0 auto;padding:0 clamp(20px,5vw,80px)}

/* ── Page Loader ────────────────────────────────────────────────────────── */
.almonzy-loader{position:fixed;inset:0;z-index:9999;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .8s var(--ease),visibility .8s var(--ease)}
.almonzy-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-wordmark{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.8rem);color:var(--white);letter-spacing:.35em;font-weight:300}
.loader-logo{width:clamp(220px,28vw,360px);height:auto;object-fit:contain}
.loader-tagline{font-size:.65rem;letter-spacing:.3em;color:var(--silver);text-transform:uppercase}
.loader-line{width:120px;height:1px;background:var(--stone);overflow:hidden}
.loader-line::after{content:'';display:block;height:100%;width:40%;background:var(--white);animation:loader-sweep 1.4s var(--ease) infinite}
@keyframes loader-sweep{0%{transform:translateX(-150%)}100%{transform:translateX(350%)}}

/* ── Flash Alerts ───────────────────────────────────────────────────────── */
.alm-flash{position:fixed;top:calc(var(--nav-h) + 16px);left:50%;transform:translateX(-50%);z-index:8000;padding:12px 24px;border-radius:var(--radius);font-size:.875rem;letter-spacing:.02em;display:flex;align-items:center;gap:12px;animation:flash-in .4s var(--ease-out) both;box-shadow:var(--shadow-md);max-width:calc(100vw - 40px)}
@keyframes flash-in{from{opacity:0;transform:translateX(-50%) translateY(-8px)}}
.alm-flash-success{background:var(--charcoal);color:var(--pistachio);border:1px solid rgba(122,158,110,.3)}
.alm-flash-error{background:var(--charcoal);color:#E87B7B;border:1px solid rgba(232,123,123,.3)}

/* ── NAVIGATION ─────────────────────────────────────────────────────────── */
.alm-nav{position:fixed;top:var(--topbar-h);left:0;right:0;z-index:1000;height:calc(var(--nav-h) - var(--topbar-h));display:flex;align-items:center;transition:background var(--duration-slow) var(--ease),border-color var(--duration-slow) var(--ease),backdrop-filter var(--duration-slow) var(--ease);border-bottom:1px solid transparent}
.alm-nav.scrolled{background:rgba(35,36,38,.96);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-bottom-color:var(--border)}
/* Non-home pages don't have a full-bleed hero behind the nav, so the header
   should always carry the solid background — not only once scrolled past
   the home page's hero like .scrolled does. */
.alm-nav.alm-nav-solid,
.alm-nav.alm-nav-solid.scrolled{
  background:#232426!important;
  border-bottom-color:var(--border);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--max-w);margin:0 auto;padding:0 clamp(20px,5vw,80px)}
.nav-brand{font-family:var(--font-display);font-size:1.5rem;font-weight:300;letter-spacing:.3em;color:var(--white);text-transform:uppercase;flex-shrink:0;transition:opacity var(--duration) var(--ease);display:flex;align-items:center;min-width:136px}
.nav-brand:hover{opacity:.7}
.nav-brand img{height:42px;width:auto;max-width:178px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:36px;margin:0 auto;padding:0}
.nav-link{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);position:relative;padding-bottom:2px;transition:color var(--duration) var(--ease)}
.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--white);transform:scaleX(0);transform-origin:right;transition:transform var(--duration) var(--ease)}
.nav-link:hover{color:var(--white)}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1);transform-origin:left}
.nav-link.active{color:var(--white)}
.nav-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}
.nav-icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--silver);border-radius:50%;transition:color var(--duration) var(--ease),background var(--duration) var(--ease);position:relative;font-size:1rem}
.nav-icon-btn:hover{color:var(--white);background:var(--border)}
.cart-badge{position:absolute;top:6px;right:4px;min-width:16px;height:16px;background:var(--white);color:var(--black);font-size:.6rem;font-weight:700;border-radius:8px;line-height:16px;text-align:center;padding:0 3px}
.nav-cta{margin-left:16px;padding:8px 20px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--black);background:var(--white);border-radius:var(--radius-sm);transition:background var(--duration) var(--ease),transform var(--duration) var(--ease);white-space:nowrap}
.nav-cta:hover{background:var(--ivory);transform:translateY(-1px)}
.hamburger{width:40px;height:40px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--silver)}
.hamburger span{display:block;width:22px;height:1px;background:currentColor;transition:transform var(--duration) var(--ease),opacity var(--duration) var(--ease)}
.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Search Panel */
.nav-search-panel{position:fixed;top:var(--nav-h);left:0;right:0;z-index:999;background:rgba(35,36,38,.98);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:24px 0;transform:translateY(-8px);opacity:0;visibility:hidden;transition:transform var(--duration) var(--ease),opacity var(--duration) var(--ease),visibility var(--duration) var(--ease)}
.nav-search-panel.open{transform:translateY(0);opacity:1;visibility:visible}
.search-inner{display:flex;align-items:center;gap:16px}
.search-input{flex:1;background:none;border:none;border-bottom:1px solid var(--border);color:var(--white);font-size:1.2rem;padding:8px 0;outline:none;transition:border-color var(--duration) var(--ease)}
.search-input::placeholder{color:var(--ash)}
.search-input:focus{border-bottom-color:var(--white)}
.search-submit{padding:8px 24px;background:var(--white);color:var(--black);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-sm)}

/* Mobile Drawer */
.nav-overlay{position:fixed;inset:0;z-index:1001;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;transition:opacity var(--duration) var(--ease),visibility var(--duration) var(--ease)}
.nav-overlay.open{opacity:1;visibility:visible}
.nav-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1002;width:min(360px,90vw);background:var(--charcoal);transform:translateX(100%);transition:transform var(--duration-slow) var(--ease);display:flex;flex-direction:column;overflow-y:auto}
.nav-drawer.open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--border)}
.drawer-brand{font-family:var(--font-display);font-size:1.3rem;letter-spacing:.25em;color:var(--white);text-transform:uppercase;display:flex;align-items:center}
.drawer-brand img{height:38px;width:auto;object-fit:contain}
.drawer-close{color:var(--silver);font-size:1.2rem;padding:4px;transition:color var(--duration) var(--ease)}
.drawer-close:hover{color:var(--white)}
.drawer-nav{padding:24px 0;flex:1}
.drawer-link{display:block;padding:14px 28px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--silver);border-bottom:1px solid var(--border-light);transition:color var(--duration) var(--ease),padding-left var(--duration) var(--ease)}
.drawer-link:hover{color:var(--white);padding-left:36px}
.drawer-footer{padding:24px 28px;border-top:1px solid var(--border)}

/* Cart Drawer */
.cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1002;width:min(440px,100vw);background:var(--charcoal);transform:translateX(100%);transition:transform var(--duration-slow) var(--ease);display:flex;flex-direction:column}
.cart-drawer.open{transform:translateX(0)}
.cart-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--border)}
.cart-drawer-head h3{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.08em;font-weight:400}
.cart-drawer-body{flex:1;overflow-y:auto;padding:20px 28px}
.cart-drawer-foot{padding:20px 28px;border-top:1px solid var(--border)}
.cart-overlay{position:fixed;inset:0;z-index:1001;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;transition:opacity var(--duration) var(--ease),visibility var(--duration) var(--ease)}
.cart-overlay.open{opacity:1;visibility:visible}

/* ── BUTTONS ─────────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid transparent;transition:all var(--duration) var(--ease);white-space:nowrap;cursor:pointer;position:relative;overflow:hidden}
.btn-primary{background:var(--white);color:var(--black);border-color:var(--white)}
.btn-primary:hover{background:var(--ivory);transform:translateY(-1px)}
.btn-gold{background:var(--white);color:var(--black);border-color:var(--white)}
.btn-gold:hover{background:var(--ivory);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.3)}
.btn-outline:hover{border-color:var(--white)}
.btn-ghost{background:transparent;color:var(--silver);border-color:transparent}
.btn-ghost:hover{color:var(--white);background:var(--border)}
.btn-dark{background:var(--onyx);color:var(--white);border-color:var(--border)}
.btn-dark:hover{background:var(--stone)}
.btn-lg{padding:16px 36px;font-size:.75rem}
.btn-sm{padding:9px 18px;font-size:.75rem !important}
.w-full{width:100%}
.mt-2{margin-top:8px}

/* ── FORMS ───────────────────────────────────────────────────────────────── */
.form-group{margin-bottom:20px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr}
.form-label{display:block;margin-bottom:6px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--silver)}
.form-group label{display:block;margin-bottom:7px;font-size:.72rem;letter-spacing:.08em;color:var(--silver)}
.form-control{width:100%;background:var(--onyx);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-strong);padding:12px 16px;font-size:.9rem;outline:none;transition:border-color var(--duration) var(--ease)}
.form-control::placeholder{color:var(--ash)}
.form-control:focus{border-color:rgba(255,255,255,.4)}
textarea.form-control{resize:vertical;min-height:120px}
select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}

.glass-card{background:rgba(255,255,255,.03);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:0 18px 60px rgba(0,0,0,.22)}
.checkout-section{padding:54px 0 64px;background:var(--charcoal)}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.76fr);gap:28px;align-items:start}
.checkout-left{display:grid;gap:22px}
.checkout-right{position:sticky;top:calc(var(--nav-h) + 24px)}
.checkout-card{padding:26px}
.checkout-card-head{margin-bottom:22px}
.checkout-card-head span{display:block;margin-bottom:6px;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--silver)}
.checkout-card-head h2{font-size:clamp(1.35rem,2vw,2rem)}
.payment-options{display:grid;gap:12px}
.payment-option{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(0,0,0,.16);cursor:pointer;transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease)}
.payment-option.active,.payment-option:focus-within{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.06)}
.payment-option input{margin-top:4px;accent-color:var(--white)}
.payment-option-inner{display:grid;gap:4px}
.payment-option-inner strong{font-family:var(--font-display);font-size:1.05rem;color:var(--white);font-weight:400}
.payment-option-inner span{font-size:.82rem;color:var(--silver);line-height:1.5}
.bank-details{margin-top:14px;padding:14px;border:1px solid var(--border-light);background:rgba(0,0,0,.18);color:var(--silver);font-size:.84rem;line-height:1.6}
.checkout-summary-card{overflow:hidden}
.checkout-items{display:grid;gap:14px;margin-bottom:22px}
.checkout-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--border-light)}
.checkout-item img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);background:var(--onyx);filter:grayscale(30%)}
.checkout-item-info{display:grid;gap:4px;min-width:0}
.checkout-item-info span:first-child{color:var(--white);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checkout-item-info span:last-child{color:var(--silver);font-size:.76rem}
.checkout-item strong{font-family:var(--font-display);font-weight:400;color:var(--white)}
.checkout-coupon-box{margin-bottom:22px;padding:18px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:rgba(0,0,0,.16)}
.checkout-coupon-box label{display:block;margin-bottom:10px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver)}
.checkout-coupon-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.btn-auto{width:auto;padding-left:18px;padding-right:18px}
.summary-rows{display:grid;gap:12px;margin-bottom:22px}
.summary-row{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--silver);font-size:.85rem}
.summary-row span,.summary-row strong{min-width:0;overflow-wrap:anywhere}
.summary-row strong{color:var(--white);font-weight:500}
.total-row{padding-top:14px;border-top:1px solid var(--border);font-size:1rem;color:var(--white)}
.text-green{color:#b8c7a2!important}
.checkout-disclaimer{margin-top:14px;color:var(--silver);font-size:.76rem;line-height:1.5;text-align:center}
.checkout-disclaimer a{color:var(--white);border-bottom:1px solid var(--border)}
.checkout-summary-card .btn{max-width:100%;min-width:0;white-space:normal;text-align:center;line-height:1.35}
.checkout-summary-card .btn svg{flex:0 0 auto}

@media (max-width: 900px) {
  .checkout-layout{grid-template-columns:1fr}
  .checkout-right{position:static}
}

@media (max-width: 640px) {
  .form-row{grid-template-columns:1fr;gap:0}
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .container{padding-left:16px;padding-right:16px}
  .checkout-section{padding:34px 0 44px}
  .checkout-card{padding:18px;max-width:100%}
  .checkout-layout,.checkout-left,.checkout-right{min-width:0}
  .checkout-coupon-row{grid-template-columns:1fr}
  .checkout-item{grid-template-columns:60px minmax(0,1fr);align-items:start}
  .checkout-item img{width:60px;height:60px}
  .checkout-item strong{grid-column:2;text-align:left;overflow-wrap:anywhere}
  .checkout-summary-card .btn-lg{padding-left:16px;padding-right:16px;letter-spacing:.12em}
}

/* ── LAYOUT HELPERS ──────────────────────────────────────────────────────── */
.section{padding:calc(var(--space-3xl) * .28) 0}
.section-lg{padding:calc(var(--space-3xl) * .45) 0}
.section-sm{padding:calc(var(--space-xl) * .5) 0}
.section-light{background:var(--ivory);color:var(--charcoal)}
.section-light h1,.section-light h2,.section-light h3,.section-light h4,.section-light h5,.section-light h6{color:var(--charcoal)}
.section-light .text-dim{color:#666}
.section-black{background:var(--black)}
.section-head{margin-bottom:clamp(22px,3vw,34px)}
.section-head.center{text-align:center}
.eyebrow{display:inline-block;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--silver);margin-bottom:12px}
.section-head h2{font-size:clamp(2.2rem,4vw,3.6rem);font-weight:300;line-height:1.1;margin-bottom:16px}
.section-head p{font-size:1.05rem;line-height:1.7;color:var(--text-dim);max-width:560px}
.section-head.center p{margin:0 auto}
.rule{display:block;width:40px;height:1px;background:var(--white);margin-bottom:28px}
.rule.center{margin:0 auto 28px}
.rule.dark{background:var(--black)}

/* Ambient floating dry-fruit layer */
.dryfruit-atmosphere{display:none;position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden;perspective:1200px;transform-style:preserve-3d;opacity:.9}
.atmo-piece{position:absolute;display:block;width:72px;height:42px;border-radius:58% 42% 55% 45%;opacity:.22;filter:blur(.15px) saturate(.9);transform-style:preserve-3d;box-shadow:inset -10px -14px 20px rgba(0,0,0,.42),inset 8px 10px 16px rgba(255,255,255,.24),0 26px 70px rgba(0,0,0,.45);animation:atmo-float 18s ease-in-out infinite}
.atmo-piece::before{content:'';position:absolute;inset:12% 18%;border-radius:inherit;border-top:1px solid rgba(255,255,255,.24);transform:translateZ(9px)}
.atmo-piece::after{content:'';position:absolute;left:18%;top:24%;width:22%;height:16%;border-radius:50%;background:rgba(255,255,255,.25);filter:blur(5px);transform:translateZ(14px)}
.atmo-piece.almond{background:linear-gradient(145deg,rgba(218,162,103,.78),rgba(109,58,32,.68) 62%,rgba(31,15,9,.68));border-radius:60% 40% 56% 44%}
.atmo-piece.cashew{background:linear-gradient(145deg,rgba(244,224,180,.78),rgba(183,145,86,.66) 62%,rgba(84,55,27,.66));border-radius:70% 30% 72% 28%;height:38px}
.atmo-piece.pistachio{background:linear-gradient(145deg,rgba(238,226,197,.78),rgba(194,176,127,.58) 52%,rgba(75,91,56,.66) 53%,rgba(34,42,27,.66));height:44px}
.atmo-piece.date{background:linear-gradient(145deg,rgba(86,25,24,.72),rgba(24,8,8,.7));height:58px;border-radius:46% 54% 50% 50%}
.atmo-piece.walnut{background:linear-gradient(145deg,rgba(210,156,81,.74),rgba(122,74,34,.66) 58%,rgba(41,22,11,.66));height:56px;border-radius:38% 62% 43% 57%}
.atmo-piece.raisin{background:linear-gradient(145deg,rgba(52,22,27,.7),rgba(8,5,6,.72));width:48px;height:56px;border-radius:52% 48% 44% 56%}
.atmo-piece.apricot{background:linear-gradient(145deg,rgba(236,165,58,.75),rgba(151,81,22,.62));width:62px;height:50px;border-radius:60% 40% 62% 38%}
.atmo-1{left:5%;top:18%;animation-delay:-1s;--tx:26px;--ty:-34px;--rz:30deg;--rx:54deg;--ry:18deg}
.atmo-2{left:18%;top:76%;animation-delay:-8s;--tx:-28px;--ty:24px;--rz:-22deg;--rx:40deg;--ry:-26deg;opacity:.16}
.atmo-3{left:31%;top:14%;animation-delay:-4s;--tx:18px;--ty:36px;--rz:48deg;--rx:70deg;--ry:-10deg;opacity:.18}
.atmo-4{left:44%;top:82%;animation-delay:-12s;--tx:-20px;--ty:-30px;--rz:-38deg;--rx:48deg;--ry:34deg;opacity:.14}
.atmo-5{left:58%;top:22%;animation-delay:-6s;--tx:32px;--ty:-22px;--rz:16deg;--rx:62deg;--ry:24deg}
.atmo-6{left:72%;top:70%;animation-delay:-10s;--tx:-36px;--ty:28px;--rz:42deg;--rx:38deg;--ry:-30deg;opacity:.16}
.atmo-7{left:86%;top:16%;animation-delay:-14s;--tx:-24px;--ty:30px;--rz:-28deg;--rx:58deg;--ry:14deg}
.atmo-8{left:90%;top:52%;animation-delay:-3s;--tx:18px;--ty:-36px;--rz:36deg;--rx:46deg;--ry:-22deg;opacity:.18}
.atmo-9{left:11%;top:48%;animation-delay:-16s;--tx:34px;--ty:18px;--rz:-46deg;--rx:65deg;--ry:26deg;opacity:.18}
.atmo-10{left:38%;top:43%;animation-delay:-11s;--tx:-22px;--ty:-28px;--rz:24deg;--rx:52deg;--ry:-18deg;opacity:.12}
.atmo-11{left:64%;top:48%;animation-delay:-5s;--tx:26px;--ty:34px;--rz:-16deg;--rx:48deg;--ry:38deg;opacity:.14}
.atmo-12{left:80%;top:34%;animation-delay:-18s;--tx:-34px;--ty:-20px;--rz:54deg;--rx:72deg;--ry:-28deg;opacity:.2}
@keyframes atmo-float{
  0%,100%{transform:translate3d(0,0,-80px) rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(var(--rz)) scale(.86)}
  45%{transform:translate3d(var(--tx),var(--ty),120px) rotateX(calc(var(--rx) + 58deg)) rotateY(calc(var(--ry) - 46deg)) rotateZ(calc(var(--rz) + 18deg)) scale(1.06)}
  70%{transform:translate3d(calc(var(--tx) * -.45),calc(var(--ty) * .55),40px) rotateX(calc(var(--rx) - 22deg)) rotateY(calc(var(--ry) + 38deg)) rotateZ(calc(var(--rz) - 26deg)) scale(.96)}
}

/* ── HERO ────────────────────────────────────────────────────────────────── */
.alm-hero {
  position: relative;
  min-height: calc(100svh - var(--nav-h));
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--ink);
  margin-top: var(--nav-h);
  padding: 40px 0 60px;
}
.alm-hero::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 55%;
  z-index: 1;
  background: rgba(18, 19, 21, 0.52);
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 78%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 78%, transparent 100%);
  pointer-events: none;
}
.alm-hero::after {
  content: none;
}
.hero-background-video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 55%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.95;
  filter: brightness(0.92) contrast(1.02);
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 78%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 78%, transparent 100%);
  pointer-events: none;
}
.hero-media {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.hero-media-luxury {
  background: transparent;
}

.hero-media-luxury::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  z-index: 1;
  background:
    linear-gradient(30deg, transparent 48.8%, rgba(255,255,255,.035) 49.5%, rgba(255,255,255,.035) 50.5%, transparent 51.2%) 0 0 / 72px 72px,
    linear-gradient(150deg, transparent 48.8%, rgba(255,255,255,.025) 49.5%, rgba(255,255,255,.025) 50.5%, transparent 51.2%) 0 0 / 72px 72px,
    repeating-linear-gradient(90deg, transparent 0 143px, rgba(255,255,255,.018) 144px);
  opacity: .72;
  pointer-events: none;
}

.hero-media-luxury::after {
  content: none;
}

/* Orbit Container & Layout */
.hero-media-orbit-container {
  position: absolute;
  right: 3%;
  top: 43%;
  transform: translateY(-50%);
  width: 50%;
  height: 62%;
  max-width: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  pointer-events: auto;
  perspective: 1500px;
  transform-style: preserve-3d;
  touch-action: manipulation;
  user-select: none;
}
.hero-constellation-container {
  max-width: 660px;
  height: min(520px, 58vh);
}
.hero-constellation-lines {
  position: absolute;
  inset: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.constellation-line {
  stroke: rgba(255, 255, 255, 0.12);
  stroke-width: 0.55;
  vector-effect: non-scaling-stroke;
}
.constellation-line-center {
  stroke-dasharray: 2 9;
  opacity: 0.82;
}
.constellation-line-thread {
  stroke: rgba(255, 255, 255, 0.1);
  stroke-width: 0.55;
}

/* Concentric mechanical watch rings in 3D perspective */
.hero-orbit-ring-3d {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.04);
  transform-style: preserve-3d;
  pointer-events: none;
  z-index: 2;
}
.hero-orbit-ring-3d.ring-outer {
  width: min(480px, 39vw);
  height: min(480px, 39vw);
  transform: translate(-50%, -50%) rotateX(70deg);
  border: 1px dashed rgba(255, 255, 255, 0.03);
}
.hero-orbit-ring-3d.ring-inner {
  width: min(320px, 26vw);
  height: min(320px, 26vw);
  transform: translate(-50%, -50%) rotateX(70deg);
  border: 1.5px solid rgba(255, 255, 255, 0.045);
}

/* Center Brand block with radial watch configurator lighting glow */
.hero-circle-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
  z-index: 130; /* Placed visually in front of constellation background items */
  width: 260px;
  height: 260px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.01) 50%, transparent 100%);
}
.hero-circle-center::before {
  content: '';
  position: absolute;
  inset: 28px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 0 48px rgba(255,255,255,0.06);
  pointer-events: none;
}
.hero-brand-logo-img {
  width: clamp(75px, 8.5vw, 115px) !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 10px rgba(255, 255, 255, 0.15));
  margin-bottom: 12px;
}

/* Center Details Display Card */
.hero-center-details {
  width: 100%;
  padding: 0 10px;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.hero-details-crossfade {
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.28s ease-out, transform 0.28s ease-out;
}
.hero-details-crossfade.active {
  opacity: 1;
  transform: translateY(0);
}
.center-category-name {
  display: block;
  font-family: var(--font-display);
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--white);
  font-weight: 500;
  margin-bottom: 4px;
}
.center-category-desc {
  display: block;
  font-size: 0.58rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.3;
  letter-spacing: 0.02em;
  margin-bottom: 8px;
  text-align: center;
  max-width: 190px;
  min-height: 2.6em;
}
.center-category-cta {
  display: inline-block;
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--silver);
  font-weight: 600;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 1px;
  transition: color 0.3s ease, border-color 0.3s ease;
  pointer-events: auto;
}
.center-category-cta:hover {
  color: var(--white);
  border-color: var(--white);
}

/* Orbiting categories ring wrapper */
.hero-orbit-ring-wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  pointer-events: none;
  z-index: 20;
}
.hero-orbit-ring {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  pointer-events: none;
}

/* Orbiting items */
.hero-orbit-item-wrapper {
  position: absolute;
  left: 50%;
  top: 50%;
  transform-style: preserve-3d;
  pointer-events: auto;
  display: block;
  will-change: transform;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  backface-visibility: hidden;
  text-align: center;
  min-width: 118px;
  transition: opacity .5s ease;
}

/* Dry Fruit Bowls with active class state */
.hero-orbit-bowl {
  position: relative;
  width: clamp(68px, 6vw, 86px);
  height: clamp(68px, 6vw, 86px);
  border: 0;
  box-shadow: 0 12px 28px rgba(0,0,0,0.6);
  background: transparent;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  -webkit-clip-path: polygon(50% 94%, 12% 58%, 5% 46%, 3% 33%, 7% 20%, 16% 10%, 28% 6%, 39% 9%, 50% 23%, 61% 9%, 72% 6%, 84% 10%, 93% 20%, 97% 33%, 95% 46%, 88% 58%);
  clip-path: polygon(50% 94%, 12% 58%, 5% 46%, 3% 33%, 7% 20%, 16% 10%, 28% 6%, 39% 9%, 50% 23%, 61% 9%, 72% 6%, 84% 10%, 93% 20%, 97% 33%, 95% 46%, 88% 58%);
  transition: box-shadow 0.5s ease, transform 0.7s cubic-bezier(.22, 1, .36, 1), filter 0.5s ease;
  transform-style: preserve-3d;
  will-change: transform;
}
.hero-orbit-bowl.active {
  box-shadow: 0 16px 36px rgba(0,0,0,0.72) !important;
  filter: drop-shadow(0 8px 16px rgba(0,0,0,0.6)) drop-shadow(0 0 6px rgba(255,255,255,0.4)) saturate(1.04) brightness(1.05);
}
.hero-orbit-item-wrapper:not(.is-featured) .hero-orbit-bowl {
  filter: saturate(.72) brightness(.76);
}
.hero-orbit-item-wrapper:focus-visible .hero-orbit-bowl {
  box-shadow: 0 16px 36px rgba(0,0,0,0.85);
}
.hero-orbit-bowl img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  -webkit-clip-path: inherit;
  clip-path: inherit;
  filter: saturate(0.92) contrast(1.04);
}
.hero-orbit-bowl::after {
  content: '';
  position: absolute;
  inset: 0;
  -webkit-clip-path: inherit;
  clip-path: inherit;
  background: linear-gradient(145deg, rgba(255,255,255,.12), transparent 28%, transparent 68%, rgba(0,0,0,.3));
  box-shadow: inset 0 8px 16px rgba(0,0,0,0.52);
  pointer-events: none;
  z-index: 2;
}

/* SVG Heart Outline Border styling */
.hero-heart-border {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 3;
}
.hero-heart-border polygon {
  fill: none;
  stroke: rgba(255, 255, 255, 0.4);
  stroke-width: 3; /* Out of 100 coordinates, matches ~1.2px visible border when clipped */
  stroke-linejoin: round;
  transition: stroke 0.3s ease, stroke-width 0.3s ease;
}
.hero-orbit-item-wrapper:hover .hero-heart-border polygon {
  stroke: rgba(255, 255, 255, 0.7);
  stroke-width: 3.5;
}
.hero-orbit-bowl.active .hero-heart-border polygon {
  stroke: #ffffff;
  stroke-width: 4; /* Matches ~1.6px visible border when clipped */
}
.hero-orbit-item-wrapper:focus-visible .hero-heart-border polygon {
  stroke: var(--white);
  stroke-width: 4;
}
.hero-orbit-item-wrapper:not(.is-featured) .hero-heart-border polygon {
  stroke: rgba(255, 255, 255, 0.25);
}

/* Constellation node label */
.hero-bowl-tooltip {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.04);
  color: var(--white);
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease, color 0.3s ease;
  font-weight: 500;
  font-family: var(--font-body);
  box-shadow: 0 8px 20px rgba(0,0,0,0.5);
  z-index: 30;
  text-shadow: none;
  transform-origin: center top;
  backface-visibility: hidden;
}
.hero-orbit-item-wrapper:hover .hero-bowl-tooltip,
.hero-orbit-item-wrapper[aria-current="true"] .hero-bowl-tooltip,
.hero-orbit-item-wrapper:focus-visible .hero-bowl-tooltip {
  opacity: 1;
  color: var(--white);
  transform: translateX(-50%) translateY(-2px);
}

@media (min-width: 901px) {
  .hero-content {
    max-width: 47%;
    text-shadow: 0 2px 18px rgba(0,0,0,.42);
  }
  .hero-subtitle {
    max-width: 520px;
  }
}

/* Floating dryfruit pieces */
.hero-floating-fruits-container {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  overflow: hidden;
}
.hero-float-fruit {
  position: absolute;
  display: block;
  opacity: 0.72;
  filter: drop-shadow(0 8px 16px rgba(0,0,0,0.5)) blur(0.15px);
  will-change: transform;
  transform-style: preserve-3d;
}
.hero-float-fruit::before {
  content: '';
  position: absolute;
  inset: 12% 18%;
  border-radius: inherit;
  border-top: 1px solid rgba(255,255,255,.24);
  transform: translateZ(6px);
}
.hero-float-fruit::after {
  content: '';
  position: absolute;
  left: 18%;
  top: 24%;
  width: 22%;
  height: 16%;
  border-radius: 50%;
  background: rgba(255,255,255,.25);
  filter: blur(3px);
  transform: translateZ(10px);
}

.hero-float-fruit.almond { background: linear-gradient(145deg, rgba(218,162,103,.88), rgba(109,58,32,.78) 62%, rgba(31,15,9,.78)); border-radius: 60% 40% 56% 44%; }
.hero-float-fruit.cashew { background: linear-gradient(145deg, rgba(244,224,180,.88), rgba(183,145,86,.76) 62%, rgba(84,55,27,.76)); border-radius: 70% 30% 72% 28%; }
.hero-float-fruit.pistachio { background: linear-gradient(145deg, rgba(238,226,197,.88), rgba(194,176,127,.68) 52%, rgba(75,91,56,.76) 53%, rgba(34,42,27,.76)); }
.hero-float-fruit.date { background: linear-gradient(145deg, rgba(86,25,24,.82), rgba(24,8,8,.8)); border-radius: 46% 54% 50% 50%; }
.hero-float-fruit.walnut { background: linear-gradient(145deg, rgba(210,156,81,.84), rgba(122,74,34,.76) 58%, rgba(41,22,11,.76)); border-radius: 38% 62% 43% 57%; }
.hero-float-fruit.raisin { background: linear-gradient(145deg, rgba(52,22,27,.8), rgba(8,5,6,.82)); border-radius: 52% 48% 44% 56%; }
.hero-float-fruit.apricot { background: linear-gradient(145deg, rgba(236,165,58,.85), rgba(151,81,22,.72)); border-radius: 60% 40% 62% 38%; }

/* Scattered coordinates */
.float-fruit-1 { right: 32%; top: 22%; width: 34px; height: 20px; animation: hero-float-item-1 12s ease-in-out infinite; }
.float-fruit-2 { right: 8%; top: 38%; width: 32px; height: 22px; animation: hero-float-item-2 15s ease-in-out infinite; }
.float-fruit-3 { right: 42%; top: 58%; width: 30px; height: 20px; animation: hero-float-item-3 10s ease-in-out infinite; }
.float-fruit-4 { right: 12%; top: 72%; width: 36px; height: 24px; animation: hero-float-item-4 18s ease-in-out infinite; }
.float-fruit-5 { right: 28%; top: 82%; width: 38px; height: 28px; animation: hero-float-item-5 14s ease-in-out infinite; }
.float-fruit-6 { right: 48%; top: 34%; width: 22px; height: 26px; animation: hero-float-item-6 11s ease-in-out infinite; }
.float-fruit-7 { right: 18%; top: 18%; width: 35px; height: 28px; animation: hero-float-item-7 16s ease-in-out infinite; }

@keyframes hero-float-item-1 { 0%, 100% { transform: translateY(0) rotate(0deg) scale(1); } 50% { transform: translateY(-8px) translateX(4px) rotate(8deg) scale(1.03); } }
@keyframes hero-float-item-2 { 0%, 100% { transform: translateY(0) rotate(15deg) scale(1); } 50% { transform: translateY(6px) translateX(-5px) rotate(8deg) scale(0.97); } }
@keyframes hero-float-item-3 { 0%, 100% { transform: translateY(0) rotate(-10deg) scale(1); } 50% { transform: translateY(-10px) translateX(3px) rotate(-15deg) scale(1.05); } }
@keyframes hero-float-item-4 { 0%, 100% { transform: translateY(0) rotate(5deg) scale(1); } 50% { transform: translateY(8px) translateX(6px) rotate(-5deg) scale(0.95); } }
@keyframes hero-float-item-5 { 0%, 100% { transform: translateY(0) rotate(25deg) scale(1); } 50% { transform: translateY(-6px) translateX(-4px) rotate(32deg) scale(1.02); } }
@keyframes hero-float-item-6 { 0%, 100% { transform: translateY(0) rotate(-5deg) scale(1); } 50% { transform: translateY(5px) translateX(2px) rotate(5deg) scale(0.98); } }
@keyframes hero-float-item-7 { 0%, 100% { transform: translateY(0) rotate(0deg) scale(1); } 50% { transform: translateY(-7px) translateX(5px) rotate(-10deg) scale(1.04); } }

/* Orbit Keyframes */
@keyframes hero-ring-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes hero-bowl-reverse-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(-360deg); }
}

/* Left side text layout */
.hero-content {
  position: relative;
  z-index: 2;
  max-width: 54%;
  min-width: 0;
}
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .65rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--silver);
  margin-bottom: 28px;
}
.hero-eyebrow::before {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: var(--silver);
}
.hero-title {
  font-size: clamp(2.8rem, 6.2vw, 5.2rem);
  font-weight: 300;
  line-height: .98;
  color: var(--white);
  margin-bottom: 24px;
  letter-spacing: -.02em;
  overflow-wrap: break-word;
}
.hero-title em {
  font-style: italic;
  color: var(--white);
  font-weight: 300;
}
.hero-subtitle {
  font-size: clamp(.9rem, 1.4vw, 1.05rem);
  line-height: 1.7;
  color: var(--mist);
  max-width: 480px;
  margin-bottom: 38px;
  overflow-wrap: break-word;
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

@media (min-width: 901px) {
  .hero-content {
    padding-top: clamp(34px, 5vh, 68px);
  }
}

/* Premium 5-item Stats Bar Card */
.hero-stats-bar {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: center;
  margin: clamp(40px, 6vh, 80px) auto 0;
  max-width: 1100px;
  padding: 24px 32px;
  background: rgba(10, 10, 10, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 25px 60px rgba(0,0,0,0.65), inset 0 0 1px rgba(255,255,255,0.12);
}
.hero-stat-card {
  display: flex;
  align-items: center;
  gap: 14px;
}
.hero-stat-card:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  padding-right: 20px;
}
.hero-stat-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.hero-stat-icon svg {
  width: 20px;
  height: 20px;
  opacity: 0.85;
}
.hero-stat-info strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 300;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 2px;
}
.hero-stat-info span {
  display: block;
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.03em;
  font-weight: 400;
  line-height: 1.2;
}

.hero-scroll-cue {
  display: none;
}
.scroll-line {
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom, var(--silver), transparent);
}

/* ── TICKER ──────────────────────────────────────────────────────────────── */
.promo-banner-strip{padding:28px 0}
.promo-banner-track{position:relative;width:100%;aspect-ratio:16/5;min-height:160px;border-radius:var(--radius-lg);overflow:hidden;background:var(--black)}
.promo-banner-slide{position:absolute;inset:0;display:flex;align-items:center;background-size:cover;background-position:center 40%;opacity:0;visibility:hidden;transition:opacity var(--duration-slow) var(--ease);z-index:1}
.promo-banner-slide.active{opacity:1;visibility:visible;z-index:2}
.promo-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.32) 55%,rgba(0,0,0,.08) 100%)}
.promo-banner-content{position:relative;z-index:1;padding:clamp(20px,4vw,48px);max-width:520px}
.promo-banner-content h3{font-family:var(--font-display);font-size:clamp(1.3rem,2.6vw,2rem);font-weight:400;color:var(--white);margin-bottom:8px}
.promo-banner-content p{font-size:.9rem;color:var(--mist);margin-bottom:18px;line-height:1.5}
.promo-banner-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.promo-banner-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;cursor:pointer;transition:background var(--duration) var(--ease),transform var(--duration) var(--ease)}
.promo-banner-dot.active{background:var(--gold);transform:scale(1.25)}
@media (max-width:640px){
  .promo-banner-track{aspect-ratio:4/5;min-height:240px}
  .promo-banner-content{max-width:100%}
}
.alm-ticker{margin-top:16px;background:var(--charcoal);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0;overflow:hidden}
.ticker-track{display:flex;white-space:nowrap;animation:ticker 32s linear infinite}
.ticker-track span{flex-shrink:0;padding:0 40px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--silver);position:relative}
.ticker-track span::after{content:'·';position:absolute;right:0;color:var(--stone)}
@keyframes ticker{to{transform:translateX(-50%)}}

/* Signature circular ingredient portraits */
.signature-circles{position:relative;padding:calc(var(--space-2xl) * .32) 0;background:var(--cream);overflow:hidden}
.signature-circles::before{content:'';position:absolute;right:-80px;top:36px;width:420px;height:420px;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg width='220' height='220' viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000000' stroke-width='1'%3E%3Cpath d='M60 112c34-48 82-48 100 0-34 48-82 48-100 0Z'/%3E%3Cpath d='M88 74c28 28 33 65 14 103'/%3E%3Ccircle cx='56' cy='56' r='18'/%3E%3Cpath d='M150 42c18 6 27 18 28 36-18-6-28-18-28-36Z'/%3E%3C/g%3E%3C/svg%3E");background-size:220px 220px}
.signature-circles .section-head h2,.signature-circles .section-head p{color:var(--black)}
.circle-gallery{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(18px,3vw,34px);align-items:start}
.circle-collection{display:flex;flex-direction:column;align-items:center;gap:18px;color:var(--black);transition:transform var(--duration) var(--ease),opacity var(--duration) var(--ease)}
.circle-collection:hover{transform:translateY(-6px)}
.circle-photo{width:min(180px,100%);aspect-ratio:1;border-radius:50%;padding:10px;background:var(--white);border:1px solid rgba(0,0,0,.1);box-shadow:0 24px 70px rgba(0,0,0,.08);overflow:hidden}
.circle-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(.9) contrast(1.04)}
.circle-label{font-family:var(--font-display);font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.1;text-align:center;color:var(--black)}

/* ── PHILOSOPHY ──────────────────────────────────────────────────────────── */
.philosophy-section{padding:calc(var(--space-3xl) * .28) 0;background:var(--ink)}
.philosophy-section{position:relative;overflow:hidden}
.philosophy-section::before{content:'';position:absolute;left:-80px;bottom:4%;width:360px;height:360px;border:1px solid rgba(255,255,255,.06);border-radius:50%}
.philosophy-section::after{content:'';position:absolute;right:5%;top:10%;width:220px;height:220px;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg width='220' height='220' viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cpath d='M38 118c28-42 76-48 108-16-26 44-78 52-108 16Z'/%3E%3Cpath d='M92 78c18 42 14 75-12 100'/%3E%3Cpath d='M140 74c28 8 44 26 48 54-28-8-44-26-48-54Z'/%3E%3C/g%3E%3C/svg%3E")}
.philosophy-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,84px);align-items:center}
.philosophy-headline{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:300;line-height:1.15;margin-bottom:28px}
.philosophy-body{font-size:1rem;line-height:1.85;color:var(--text-dim);margin-bottom:36px}
.philosophy-body p+p{margin-top:16px}
.philosophy-visual{position:relative;aspect-ratio:16/10;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:260px}
.philosophy-visual img{width:min(78%,560px);height:auto;object-fit:contain;filter:drop-shadow(0 22px 60px rgba(255,255,255,.08))}
.philosophy-accent{position:absolute;bottom:-20px;right:-20px;width:40%;aspect-ratio:1;border:1px solid var(--border);z-index:-1}

/* Editorial goodness poster band */
.editorial-goodness{position:relative;padding:calc(var(--space-2xl) * .32) 0;background:var(--white);overflow:hidden;color:var(--black)}
.editorial-goodness::before{content:'';position:absolute;inset:auto 0 0 0;height:44%;background:#f5f5f5;border-top:1px solid rgba(0,0,0,.06)}
.goodness-layout{position:relative;display:grid;grid-template-columns:1fr minmax(260px,440px) 1fr;gap:clamp(28px,4vw,60px);align-items:center}
.goodness-copy h2{font-size:clamp(2rem,3.6vw,3.8rem);font-weight:300;color:var(--black);margin-bottom:20px}
.goodness-copy p{color:#555;max-width:420px}
.goodness-bowl{position:relative;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 42% 36%,#fff 0%,#f3f3f0 42%,#deded8 74%,#cfcfc9 100%);box-shadow:0 34px 90px rgba(0,0,0,.12),inset 0 0 0 14px #fff,inset 0 0 0 16px rgba(0,0,0,.07)}
.goodness-bowl::after{content:'';position:absolute;inset:12%;border-radius:50%;border:1px solid rgba(0,0,0,.08)}
.bowl-piece-1{width:34%;height:20%;left:18%;top:22%}
.bowl-piece-2{width:34%;height:18%;left:50%;top:42%;transform:rotate(16deg)}
.bowl-piece-3{width:28%;height:18%;left:32%;top:55%;transform:rotate(-12deg)}
.bowl-piece-4{width:18%;height:24%;left:56%;top:18%;transform:rotate(18deg)}
.bowl-piece-5{width:24%;height:20%;left:19%;top:50%;transform:rotate(-20deg)}
.goodness-notes{display:grid;gap:14px}
.goodness-note{background:var(--white);border:1px solid rgba(0,0,0,.08);padding:24px}
.goodness-note h3{font-family:var(--font-body);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#111;margin-bottom:10px}
.goodness-note p{font-size:.88rem;line-height:1.7;color:#555}
.origin-board{border-radius:8px;background:linear-gradient(135deg,#fff,#f2f2f0);box-shadow:0 34px 90px rgba(0,0,0,.12),inset 0 0 0 1px rgba(0,0,0,.08)}
.origin-board::before{content:'';position:absolute;inset:9%;background-image:linear-gradient(rgba(0,0,0,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.045) 1px,transparent 1px);background-size:34px 34px;border:1px solid rgba(0,0,0,.08)}
.origin-board::after{content:'ALMONZY ORIGIN ROUTE';position:absolute;left:8%;top:7%;font-size:.58rem;letter-spacing:.16em;color:#555}
.origin-board.origin-board-static {
  overflow: hidden;
  background: #fff;
  box-shadow: 0 34px 90px rgba(0,0,0,.12), inset 0 0 0 1px rgba(0,0,0,.08);
}
.origin-board.origin-board-static::before,
.origin-board.origin-board-static::after {
  content: none;
}
.origin-board-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.origin-pin{position:absolute;width:12px;height:12px;border-radius:50%;background:#111;z-index:2;box-shadow:0 0 0 8px rgba(0,0,0,.08)}
.pin-1{left:28%;top:28%}.pin-2{left:63%;top:42%}.pin-3{left:43%;top:68%}
.origin-route{position:absolute;height:1px;background:rgba(0,0,0,.22);transform-origin:left center;z-index:1}
.route-1{left:30%;top:31%;width:38%;transform:rotate(18deg)}
.route-2{left:45%;top:66%;width:26%;transform:rotate(-38deg)}

/* ── COLLECTIONS ─────────────────────────────────────────────────────────── */
.collections-section{padding:calc(var(--space-3xl) * .28) 0;background:var(--charcoal)}
.collection-block{display:grid;grid-template-columns:1fr 1fr;min-height:520px;border-bottom:1px solid var(--border)}
.collection-block:last-child{border-bottom:none}
.collection-block:nth-child(even) .collection-text{order:-1}
.collection-media{position:relative;overflow:hidden}
.collection-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease);filter:grayscale(20%)}
.collection-block:hover .collection-media img{transform:scale(1.03)}
.collection-text{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,80px) clamp(40px,7vw,100px)}
.collection-num{font-family:var(--font-display);font-size:4rem;font-weight:300;color:rgba(255,255,255,.06);line-height:1;margin-bottom:24px;user-select:none}
.collection-name{font-size:clamp(1.8rem,2.8vw,2.8rem);font-weight:300;margin-bottom:16px}
.collection-desc{font-size:.95rem;line-height:1.75;color:var(--text-dim);margin-bottom:32px;max-width:360px}
.collection-link{display:inline-flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--white);transition:gap var(--duration) var(--ease)}
.collection-link:hover{gap:18px}
.collection-link::after{content:'→';font-family:var(--font-body)}

/* Compact luxury category mosaic override */
.collections-section{position:relative;padding:calc(var(--space-2xl) * .32) 0;background:var(--charcoal);overflow:hidden}
.collections-section::before{content:'';position:absolute;left:-120px;top:80px;width:360px;height:360px;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg width='220' height='220' viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cpath d='M60 112c34-48 82-48 100 0-34 48-82 48-100 0Z'/%3E%3Cpath d='M88 74c28 28 33 65 14 103'/%3E%3Cpath d='M150 42c18 6 27 18 28 36-18-6-28-18-28-36Z'/%3E%3C/g%3E%3C/svg%3E");background-size:220px 220px}
.collection-mosaic-grid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,2vw,24px)}
.collections-section .collection-block{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border-light);background:rgba(0,0,0,.18);padding:18px;transition:transform var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}
.collections-section .collection-block:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.18);background:rgba(0,0,0,.32)}
.collections-section .collection-block:nth-child(even) .collection-text{order:0}
.collections-section .collection-media{position:relative;display:block;overflow:hidden;aspect-ratio:1;border-radius:50%;background:var(--onyx);margin-bottom:22px;border:1px solid var(--border)}
.collections-section .collection-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease);filter:grayscale(40%) contrast(1.08)}
.collections-section .collection-block:hover .collection-media img{transform:scale(1.06);filter:grayscale(12%) contrast(1.06)}
.collections-section .collection-text{display:flex;flex-direction:column;justify-content:flex-start;padding:0;text-align:center;align-items:center;flex:1}
.collections-section .collection-num{font-family:var(--font-body);font-size:.6rem;font-weight:600;letter-spacing:.18em;color:var(--silver);line-height:1;margin-bottom:10px;user-select:none}
.collections-section .collection-name{font-size:clamp(1.12rem,1.5vw,1.45rem);font-weight:300;margin-bottom:10px}
.collections-section .collection-desc{font-size:.8rem;line-height:1.6;color:var(--text-dim);margin-bottom:20px;max-width:220px}
.collections-section .collection-link{margin-top:auto}

/* Collection vehicle concept */
.collection-vehicle-section{padding:calc(var(--space-3xl) * .28) 0;background:
  radial-gradient(circle at 50% 18%,rgba(255,255,255,.06),transparent 34%),
  linear-gradient(180deg,var(--black) 0%,var(--charcoal) 100%)}
.collection-vehicle-section .section-head{position:relative;z-index:2}
.collection-vehicle{position:relative;min-height:510px;margin-top:clamp(12px,2vw,28px);padding:42px 0 104px;--vehicle-visible:3}
.home-collection-vehicle {
  padding-bottom: 50px !important;
}
.home-collection-vehicle .collection-vehicle.vehicle-heart-style {
  min-height: 0;
  padding-bottom: 96px;
}
.collection-vehicle-section:has(.vehicle-heart-style),
.compact-collection-vehicle {
  padding-bottom: 50px !important;
}
.collection-vehicle.vehicle-heart-style {
  min-height: 0 !important;
  padding-bottom: 96px !important;
}
.vehicle-skyline{position:absolute;left:3%;bottom:120px;width:24%;height:150px;opacity:.18}

.hero-stat-card {
  display: flex;
  align-items: center;
  gap: 14px;
}
.hero-stat-card:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  padding-right: 20px;
}
.hero-stat-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.hero-stat-icon svg {
  width: 20px;
  height: 20px;
  opacity: 0.85;
}
.hero-stat-info strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 300;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 2px;
}
.hero-stat-info span {
  display: block;
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.03em;
  font-weight: 400;
  line-height: 1.2;
}

.hero-scroll-cue {
  display: none;
}
.scroll-line {
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom, var(--silver), transparent);
}

/* ── TICKER ──────────────────────────────────────────────────────────────── */
.promo-banner-strip{padding:28px 0}
.promo-banner-track{position:relative;width:100%;aspect-ratio:16/5;min-height:160px;border-radius:var(--radius-lg);overflow:hidden;background:var(--black)}
.promo-banner-slide{position:absolute;inset:0;display:flex;align-items:center;background-size:cover;background-position:center 40%;opacity:0;visibility:hidden;transition:opacity var(--duration-slow) var(--ease);z-index:1}
.promo-banner-slide.active{opacity:1;visibility:visible;z-index:2}
.promo-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.32) 55%,rgba(0,0,0,.08) 100%)}
.promo-banner-content{position:relative;z-index:1;padding:clamp(20px,4vw,48px);max-width:520px}
.promo-banner-content h3{font-family:var(--font-display);font-size:clamp(1.3rem,2.6vw,2rem);font-weight:400;color:var(--white);margin-bottom:8px}
.promo-banner-content p{font-size:.9rem;color:var(--mist);margin-bottom:18px;line-height:1.5}
.promo-banner-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.promo-banner-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;cursor:pointer;transition:background var(--duration) var(--ease),transform var(--duration) var(--ease)}
.promo-banner-dot.active{background:var(--gold);transform:scale(1.25)}
@media (max-width:640px){
  .promo-banner-track{aspect-ratio:4/5;min-height:240px}
  .promo-banner-content{max-width:100%}
}
.alm-ticker{margin-top:16px;background:var(--charcoal);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0;overflow:hidden}
.ticker-track{display:flex;white-space:nowrap;animation:ticker 32s linear infinite}
.ticker-track span{flex-shrink:0;padding:0 40px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--silver);position:relative}
.ticker-track span::after{content:'·';position:absolute;right:0;color:var(--stone)}
@keyframes ticker{to{transform:translateX(-50%)}}

/* Signature circular ingredient portraits */
.signature-circles{position:relative;padding:calc(var(--space-2xl) * .32) 0;background:var(--cream);overflow:hidden}
.signature-circles::before{content:'';position:absolute;right:-80px;top:36px;width:420px;height:420px;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg width='220' height='220' viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000000' stroke-width='1'%3E%3Cpath d='M60 112c34-48 82-48 100 0-34 48-82 48-100 0Z'/%3E%3Cpath d='M88 74c28 28 33 65 14 103'/%3E%3Ccircle cx='56' cy='56' r='18'/%3E%3Cpath d='M150 42c18 6 27 18 28 36-18-6-28-18-28-36Z'/%3E%3C/g%3E%3C/svg%3E");background-size:220px 220px}
.signature-circles .section-head h2,.signature-circles .section-head p{color:var(--black)}
.circle-gallery{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(18px,3vw,34px);align-items:start}
.circle-collection{display:flex;flex-direction:column;align-items:center;gap:18px;color:var(--black);transition:transform var(--duration) var(--ease),opacity var(--duration) var(--ease)}
.circle-collection:hover{transform:translateY(-6px)}
.circle-photo{width:min(180px,100%);aspect-ratio:1;border-radius:50%;padding:10px;background:var(--white);border:1px solid rgba(0,0,0,.1);box-shadow:0 24px 70px rgba(0,0,0,.08);overflow:hidden}
.circle-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(.9) contrast(1.04)}
.circle-label{font-family:var(--font-display);font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.1;text-align:center;color:var(--black)}

/* ── PHILOSOPHY ──────────────────────────────────────────────────────────── */
.philosophy-section{padding:calc(var(--space-3xl) * .28) 0;background:var(--ink)}
.philosophy-section{position:relative;overflow:hidden}
.philosophy-section::before{content:'';position:absolute;left:-80px;bottom:4%;width:360px;height:360px;border:1px solid rgba(255,255,255,.06);border-radius:50%}
.philosophy-section::after{content:'';position:absolute;right:5%;top:10%;width:220px;height:220px;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg width='220' height='220' viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cpath d='M38 118c28-42 76-48 108-16-26 44-78 52-108 16Z'/%3E%3Cpath d='M92 78c18 42 14 75-12 100'/%3E%3Cpath d='M140 74c28 8 44 26 48 54-28-8-44-26-48-54Z'/%3E%3C/g%3E%3C/svg%3E")}
.philosophy-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,84px);align-items:center}
.philosophy-headline{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:300;line-height:1.15;margin-bottom:28px}
.philosophy-body{font-size:1rem;line-height:1.85;color:var(--text-dim);margin-bottom:36px}
.philosophy-body p+p{margin-top:16px}
.philosophy-visual{position:relative;aspect-ratio:16/10;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:260px}
.philosophy-visual img{width:min(78%,560px);height:auto;object-fit:contain;filter:drop-shadow(0 22px 60px rgba(255,255,255,.08))}
.philosophy-accent{position:absolute;bottom:-20px;right:-20px;width:40%;aspect-ratio:1;border:1px solid var(--border);z-index:-1}

/* Editorial goodness poster band */
.editorial-goodness{position:relative;padding:calc(var(--space-2xl) * .32) 0;background:var(--white);overflow:hidden;color:var(--black)}
.editorial-goodness::before{content:'';position:absolute;inset:auto 0 0 0;height:44%;background:#f5f5f5;border-top:1px solid rgba(0,0,0,.06)}
.goodness-layout{position:relative;display:grid;grid-template-columns:1fr minmax(260px,440px) 1fr;gap:clamp(28px,4vw,60px);align-items:center}
.goodness-copy h2{font-size:clamp(2rem,3.6vw,3.8rem);font-weight:300;color:var(--black);margin-bottom:20px}
.goodness-copy p{color:#555;max-width:420px}
.goodness-bowl{position:relative;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 42% 36%,#fff 0%,#f3f3f0 42%,#deded8 74%,#cfcfc9 100%);box-shadow:0 34px 90px rgba(0,0,0,.12),inset 0 0 0 14px #fff,inset 0 0 0 16px rgba(0,0,0,.07)}
.goodness-bowl::after{content:'';position:absolute;inset:12%;border-radius:50%;border:1px solid rgba(0,0,0,.08)}
.bowl-piece-1{width:34%;height:20%;left:18%;top:22%}
.bowl-piece-2{width:34%;height:18%;left:50%;top:42%;transform:rotate(16deg)}
.bowl-piece-3{width:28%;height:18%;left:32%;top:55%;transform:rotate(-12deg)}
.bowl-piece-4{width:18%;height:24%;left:56%;top:18%;transform:rotate(18deg)}
.bowl-piece-5{width:24%;height:20%;left:19%;top:50%;transform:rotate(-20deg)}
.goodness-notes{display:grid;gap:14px}
.goodness-note{background:var(--white);border:1px solid rgba(0,0,0,.08);padding:24px}
.goodness-note h3{font-family:var(--font-body);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#111;margin-bottom:10px}
.goodness-note p{font-size:.88rem;line-height:1.7;color:#555}
.origin-board{border-radius:8px;background:linear-gradient(135deg,#fff,#f2f2f0);box-shadow:0 34px 90px rgba(0,0,0,.12),inset 0 0 0 1px rgba(0,0,0,.08)}
.origin-board::before{content:'';position:absolute;inset:9%;background-image:linear-gradient(rgba(0,0,0,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.045) 1px,transparent 1px);background-size:34px 34px;border:1px solid rgba(0,0,0,.08)}
.origin-board::after{content:'ALMONZY ORIGIN ROUTE';position:absolute;left:8%;top:7%;font-size:.58rem;letter-spacing:.16em;color:#555}
.origin-pin{position:absolute;width:12px;height:12px;border-radius:50%;background:#111;z-index:2;box-shadow:0 0 0 8px rgba(0,0,0,.08)}
.pin-1{left:28%;top:28%}.pin-2{left:63%;top:42%}.pin-3{left:43%;top:68%}
.origin-route{position:absolute;height:1px;background:rgba(0,0,0,.22);transform-origin:left center;z-index:1}
.route-1{left:30%;top:31%;width:38%;transform:rotate(18deg)}
.route-2{left:45%;top:66%;width:26%;transform:rotate(-38deg)}

/* ── COLLECTIONS ─────────────────────────────────────────────────────────── */
.collections-section{padding:calc(var(--space-3xl) * .28) 0;background:var(--charcoal)}
.collection-block{display:grid;grid-template-columns:1fr 1fr;min-height:520px;border-bottom:1px solid var(--border)}
.collection-block:last-child{border-bottom:none}
.collection-block:nth-child(even) .collection-text{order:-1}
.collection-media{position:relative;overflow:hidden}
.collection-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease);filter:grayscale(20%)}
.collection-block:hover .collection-media img{transform:scale(1.03)}
.collection-text{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,80px) clamp(40px,7vw,100px)}
.collection-num{font-family:var(--font-display);font-size:4rem;font-weight:300;color:rgba(255,255,255,.06);line-height:1;margin-bottom:24px;user-select:none}
.collection-name{font-size:clamp(1.8rem,2.8vw,2.8rem);font-weight:300;margin-bottom:16px}
.collection-desc{font-size:.95rem;line-height:1.75;color:var(--text-dim);margin-bottom:32px;max-width:360px}
.collection-link{display:inline-flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--white);transition:gap var(--duration) var(--ease)}
.collection-link:hover{gap:18px}
.collection-link::after{content:'→';font-family:var(--font-body)}

/* Compact luxury category mosaic override */
.collections-section{position:relative;padding:calc(var(--space-2xl) * .32) 0;background:var(--charcoal);overflow:hidden}
.collections-section::before{content:'';position:absolute;left:-120px;top:80px;width:360px;height:360px;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg width='220' height='220' viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cpath d='M60 112c34-48 82-48 100 0-34 48-82 48-100 0Z'/%3E%3Cpath d='M88 74c28 28 33 65 14 103'/%3E%3Cpath d='M150 42c18 6 27 18 28 36-18-6-28-18-28-36Z'/%3E%3C/g%3E%3C/svg%3E");background-size:220px 220px}
.collection-mosaic-grid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,2vw,24px)}
.collections-section .collection-block{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border-light);background:rgba(0,0,0,.18);padding:18px;transition:transform var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}
.collections-section .collection-block:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.18);background:rgba(0,0,0,.32)}
.collections-section .collection-block:nth-child(even) .collection-text{order:0}
.collections-section .collection-media{position:relative;display:block;overflow:hidden;aspect-ratio:1;border-radius:50%;background:var(--onyx);margin-bottom:22px;border:1px solid var(--border)}
.collections-section .collection-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease);filter:grayscale(40%) contrast(1.08)}
.collections-section .collection-block:hover .collection-media img{transform:scale(1.06);filter:grayscale(12%) contrast(1.06)}
.collections-section .collection-text{display:flex;flex-direction:column;justify-content:flex-start;padding:0;text-align:center;align-items:center;flex:1}
.collections-section .collection-num{font-family:var(--font-body);font-size:.6rem;font-weight:600;letter-spacing:.18em;color:var(--silver);line-height:1;margin-bottom:10px;user-select:none}
.collections-section .collection-name{font-size:clamp(1.12rem,1.5vw,1.45rem);font-weight:300;margin-bottom:10px}
.collections-section .collection-desc{font-size:.8rem;line-height:1.6;color:var(--text-dim);margin-bottom:20px;max-width:220px}
.collections-section .collection-link{margin-top:auto}

/* Collection vehicle concept */
.collection-vehicle-section{padding:calc(var(--space-3xl) * .28) 0;background:
  radial-gradient(circle at 50% 18%,rgba(255,255,255,.06),transparent 34%),
  linear-gradient(180deg,var(--black) 0%,var(--charcoal) 100%)}
.collection-vehicle-section .section-head{position:relative;z-index:2}
.collection-vehicle{position:relative;min-height:510px;margin-top:clamp(12px,2vw,28px);padding:42px 0 104px;--vehicle-visible:3}
.vehicle-skyline{position:absolute;left:3%;bottom:120px;width:24%;height:150px;opacity:.18}
.vehicle-skyline span{position:absolute;bottom:0;width:18%;background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.08)}
.vehicle-skyline span:nth-child(1){left:0;height:42%}.vehicle-skyline span:nth-child(2){left:24%;height:72%}.vehicle-skyline span:nth-child(3){left:52%;height:56%}.vehicle-skyline span:nth-child(4){left:78%;height:90%}
.vehicle-cabin{position:absolute;left:0;bottom:94px;width:30%;height:286px;border:1px solid rgba(255,255,255,.26);background:linear-gradient(130deg,#f3f3f3 0%,#bdbdbd 28%,#5a5a5a 60%,#171717 100%);clip-path:polygon(0 69%,12% 49%,30% 20%,100% 20%,100% 100%,0 100%);filter:grayscale(100%);box-shadow:inset -46px -32px 70px rgba(0,0,0,.62),inset 22px 18px 42px rgba(255,255,255,.22),0 38px 90px rgba(0,0,0,.48)}
.vehicle-cabin::before{content:'';position:absolute;left:0;right:0;bottom:0;height:52px;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.52));border-top:1px solid rgba(255,255,255,.14)}
.vehicle-cabin::after{content:'';position:absolute;left:7%;top:63%;width:43%;height:1px;background:rgba(255,255,255,.28);box-shadow:0 14px 0 rgba(255,255,255,.08),142px 58px 0 rgba(255,255,255,.12)}
.vehicle-window{position:absolute;left:8%;top:72px;width:60%;height:108px;border:1px solid rgba(255,255,255,.72);background:linear-gradient(132deg,rgba(255,255,255,.95),rgba(255,255,255,.44) 48%,rgba(255,255,255,.12));clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);box-shadow:inset 20px 18px 34px rgba(255,255,255,.25),inset -24px -18px 34px rgba(0,0,0,.22),0 10px 34px rgba(0,0,0,.28)}
.vehicle-window::before{content:'';position:absolute;left:43%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.42),rgba(255,255,255,.18))}
.vehicle-window::after{content:'';position:absolute;left:31%;right:9%;top:34%;border-top:1px solid rgba(255,255,255,.58);transform:skewX(-15deg);box-shadow:0 34px 0 rgba(255,255,255,.22),-56px 54px 0 rgba(255,255,255,.2)}
.vehicle-door-logo{position:absolute;left:39%;top:166px;width:48%;height:48px;display:flex;align-items:center;justify-content:center;padding:7px 12px;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.2);border-radius:4px;box-shadow:0 12px 26px rgba(0,0,0,.32),inset 0 0 18px rgba(255,255,255,.04)}
.vehicle-door-logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 8px rgba(255,255,255,.16))}
.vehicle-door-line{position:absolute;left:34%;top:72px;bottom:52px;width:1px;background:rgba(255,255,255,.2)}
.vehicle-door-handle{position:absolute;left:89%;top:190px;width:22px;height:5px;border-radius:999px;background:rgba(255,255,255,.5);box-shadow:0 0 14px rgba(255,255,255,.14)}
.vehicle-headlight{position:absolute;left:8%;bottom:66px;width:48px;height:14px;border-radius:999px;background:rgba(255,255,255,.8);box-shadow:0 0 30px rgba(255,255,255,.24)}
.vehicle-cargo{position:relative;margin-left:28%;min-height:380px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(0,0,0,.55),0 35px 90px rgba(0,0,0,.42);overflow:hidden}
.cargo-topline{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.14);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--silver)}
.vehicle-compartments{display:flex;min-height:314px;will-change:transform;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.collection-vehicle.is-sliding-prev .vehicle-compartments{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.collection-vehicle.is-sliding-next .vehicle-compartments{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.vehicle-compartment{position:relative;display:flex;flex:0 0 calc(100% / var(--vehicle-visible));flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:314px;padding:22px 14px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.08);text-align:center;overflow:hidden;transition:background var(--duration) var(--ease),transform var(--duration) var(--ease)}
.vehicle-compartment:last-child{border-right:none}
.vehicle-compartment::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.13),transparent 42%);opacity:0;transition:opacity var(--duration) var(--ease)}
.vehicle-compartment:hover,.vehicle-compartment:focus-visible{background:rgba(255,255,255,.06);transform:translateY(-4px);outline:none}
.vehicle-compartment:hover::before,.vehicle-compartment:focus-visible::before{opacity:1}
.compartment-photo{position:relative;width:min(184px,86%);aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.22);background:var(--onyx);box-shadow:0 18px 40px rgba(0,0,0,.38)}
.compartment-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(0) saturate(1.08) contrast(1.05);transition:filter var(--duration) var(--ease),transform var(--duration) var(--ease)}
.vehicle-compartment:hover .compartment-photo img,.vehicle-compartment:focus-visible .compartment-photo img{filter:grayscale(92%) contrast(1.08);transform:scale(1.06)}
.compartment-count{font-size:.58rem;letter-spacing:.2em;color:var(--silver)}
.compartment-name{font-family:var(--font-display);font-size:clamp(1rem,1.35vw,1.38rem);line-height:1.05;color:var(--white)}
.compartment-action{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--silver)}
.vehicle-base{position:absolute;left:0;right:0;bottom:42px;height:72px}
.vehicle-rail{position:absolute;left:8%;right:4%;top:16px;height:12px;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05)}
.vehicle-wheel{position:absolute;bottom:0;width:88px;height:88px;border-radius:50%;background:#090909;box-shadow:0 16px 36px rgba(0,0,0,.5);overflow:visible}
.vehicle-wheel-btn{border:0;padding:0;color:var(--white);cursor:pointer;transition:transform .32s var(--ease),box-shadow .32s var(--ease),filter .32s var(--ease)}
.vehicle-wheel-btn::before{content:'';position:absolute;inset:0;z-index:1;border-radius:50%;background:radial-gradient(circle,#f8f8f8 0 22%,#0a0a0a 23% 25%,transparent 26%),conic-gradient(from 0deg,rgba(255,255,255,.72) 0 10deg,#111 10deg 34deg,rgba(255,255,255,.34) 34deg 44deg,#111 44deg 72deg,rgba(255,255,255,.58) 72deg 82deg,#111 82deg 112deg,rgba(255,255,255,.28) 112deg 122deg,#111 122deg 160deg,rgba(255,255,255,.72) 160deg 170deg,#111 170deg 214deg,rgba(255,255,255,.34) 214deg 224deg,#111 224deg 258deg,rgba(255,255,255,.58) 258deg 268deg,#111 268deg 318deg,rgba(255,255,255,.28) 318deg 328deg,#111 328deg 360deg);box-shadow:inset 0 0 0 8px rgba(255,255,255,.04),inset 0 0 0 25px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.32);transition:transform .68s cubic-bezier(.22,1,.36,1)}
.vehicle-wheel-btn::after{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1;color:#000;text-shadow:0 0 5px rgba(255,255,255,.72);animation:wheel-arrow-pulse 1.55s ease-in-out infinite}
.wheel-front::after{content:'P'}
.wheel-back::after{content:'N'}
.vehicle-wheel-btn:hover,.vehicle-wheel-btn:focus-visible,.vehicle-wheel-btn.hint-pulse{transform:translateY(-5px);filter:brightness(1.2);box-shadow:0 22px 50px rgba(0,0,0,.58),0 0 0 8px rgba(255,255,255,.04);outline:none}
.vehicle-wheel-btn:hover::after,.vehicle-wheel-btn:focus-visible::after,.vehicle-wheel-btn.hint-pulse::after{animation:none;text-shadow:0 0 9px rgba(255,255,255,.95);transform:translate(-50%,-50%) scale(1.12)}
.wheel-front:hover::before,.wheel-front:focus-visible::before,.wheel-front.hint-pulse::before{animation:wheel-hover-ccw 1s linear infinite}
.wheel-back:hover::before,.wheel-back:focus-visible::before,.wheel-back.hint-pulse::before{animation:wheel-hover-cw 1s linear infinite}
.vehicle-wheel-tip{position:absolute;z-index:4;left:50%;bottom:calc(100% + 14px);transform:translateX(-50%) translateY(6px);padding:7px 10px;background:rgba(255,255,255,.94);color:#050505;border-radius:3px;font-size:.62rem;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .22s var(--ease),transform .22s var(--ease);box-shadow:0 12px 28px rgba(0,0,0,.38)}
.vehicle-wheel-tip::after{content:'';position:absolute;left:50%;top:100%;width:8px;height:8px;background:rgba(255,255,255,.94);transform:translate(-50%,-50%) rotate(45deg)}
.vehicle-wheel-btn:hover .vehicle-wheel-tip,.vehicle-wheel-btn:focus-visible .vehicle-wheel-tip,.vehicle-wheel-btn.hint-pulse .vehicle-wheel-tip{opacity:1;transform:translateX(-50%) translateY(0)}
.vehicle-wheel-btn.is-holding{filter:brightness(1.28)}
/* Visibility is controlled entirely by JS (main.js sets .is-active on this
   element using the exact same hover/pointer check that gates the real
   auto-advance feature) rather than a CSS media query. Two separate prior
   attempts using (hover:hover)/(pointer:fine) and a min-width breakpoint
   both failed to show this reliably in testing, so there is now a single
   source of truth instead of two heuristics that can disagree. */
p.vehicle-hover-hint{
  display:none !important;align-items:center;gap:7px;margin:14px auto 0 !important;
  font-size:.74rem;letter-spacing:.04em;color:var(--gold) !important;
  opacity:.9;max-width:none !important;
}
p.vehicle-hover-hint.is-active{display:inline-flex !important}
.vehicle-wheel-btn:focus-visible{outline:1px solid rgba(255,255,255,.7);outline-offset:6px}
.collection-vehicle.is-sliding-next .wheel-back::before{animation:wheel-spin-cw .35s cubic-bezier(.22,1,.36,1)}
.collection-vehicle.is-sliding-prev .wheel-front::before{animation:wheel-spin-ccw .35s cubic-bezier(.22,1,.36,1)}
@keyframes wheel-spin-cw{to{transform:rotate(360deg)}}
@keyframes wheel-spin-ccw{to{transform:rotate(-360deg)}}
@keyframes wheel-hover-cw{to{transform:rotate(360deg)}}
@keyframes wheel-hover-ccw{to{transform:rotate(-360deg)}}
@keyframes wheel-arrow-pulse{0%,100%{opacity:.82}50%{opacity:1}}
.wheel-front{left:10%}.wheel-back{right:8%}

/* ── WHY ALMONZY ─────────────────────────────────────────────────────────── */
.why-section{padding:calc(var(--space-3xl) * .28) 0;background:var(--ink)}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}
.feature-item{background:var(--ink);padding:clamp(32px,4vw,48px);transition:background var(--duration) var(--ease)}
.feature-item:hover{background:var(--charcoal)}
.feature-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--almond);margin-bottom:20px}
.feature-icon svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.feature-item:hover .feature-icon svg{opacity:1;transform:translateY(-1px);transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease)}
.feature-title{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:var(--white);margin-bottom:10px}
.feature-desc{font-size:.875rem;line-height:1.7;color:var(--text-dim)}

/* ── CORPORATE GIFTING ───────────────────────────────────────────────────── */
.corporate-section{position:relative;overflow:hidden;padding:calc(var(--space-3xl) * .28) 0;background:var(--black)}
.corporate-bg{display:none}
.corporate-content{position:relative;z-index:1;max-width:640px;margin:0 auto;text-align:center}
.corporate-section .reveal-up{opacity:1;transform:none}
.corporate-title{font-size:clamp(2.2rem,4vw,3.8rem);font-weight:300;line-height:1.1;margin-bottom:24px}
.corporate-desc{font-size:1rem;line-height:1.8;color:var(--text-dim);margin-bottom:44px}
.corporate-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.corporate-features{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;margin-top:60px;padding-top:40px;border-top:1px solid var(--border)}
.corp-feat{text-align:center}
.corp-feat strong{display:block;font-family:var(--font-display);font-size:1.6rem;font-weight:300;color:var(--white);margin-bottom:4px}
.corp-feat span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--silver)}

/* ── PRODUCTS ────────────────────────────────────────────────────────────── */
.dispatch-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:38px auto 0;max-width:560px;border:1px solid var(--border);background:var(--border)}
.dispatch-strip span{padding:14px 10px;background:rgba(0,0,0,.48);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--silver)}

.products-section{padding:calc(var(--space-3xl) * .28) 0;background:var(--charcoal)}
.curated-tray{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;max-width:900px;margin:-26px auto 46px;border:1px solid var(--border);background:var(--border)}
.curated-tray span{position:relative;padding:18px 14px;background:rgba(0,0,0,.22);text-align:center;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--silver)}
.curated-tray span::before{content:'';display:block;width:22px;height:22px;border:1px solid rgba(255,255,255,.2);border-radius:50%;margin:0 auto 10px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 58%)}
.finest-view-all-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:48px}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,32px)}
.product-card{position:relative;background:var(--ink);border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;transition:border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}
.product-card:hover{border-color:var(--border);transform:translateY(-4px)}
.product-card-media{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--onyx)}
.product-card-img-link{display:block;width:100%;height:100%}
.product-card-media img{width:100%;height:100%;object-fit:cover;object-position:center 60%;transition:transform var(--duration-slow) var(--ease);filter:grayscale(15%)}
.product-card:hover .product-card-media img{transform:scale(1.04)}
.product-badge{position:absolute;bottom:16px;left:16px;z-index:2;padding:4px 10px;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;background:var(--white);color:var(--black);border-radius:var(--radius-sm);transition:opacity var(--duration) var(--ease),visibility var(--duration) var(--ease)}
.product-card:hover .product-badge,.product-card:focus-within .product-badge{opacity:0;visibility:hidden;pointer-events:none}
.product-wishlist-btn{position:absolute;top:12px;right:12px;z-index:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);border:1px solid var(--border);border-radius:50%;color:var(--silver);backdrop-filter:blur(4px);transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease)}
.product-wishlist-btn:hover{color:var(--white);border-color:var(--white)}
.product-wishlist-btn.active{color:var(--gold);border-color:var(--gold);background:rgba(139,154,107,.2)}
.product-wishlist-btn.active svg{fill:var(--gold)}
.product-card-quick-add{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);transform:translateY(100%);transition:transform var(--duration) var(--ease);display:flex;gap:4px}
.product-card:hover .product-card-quick-add,.product-card:focus-within .product-card-quick-add{transform:translateY(0)}
.product-card-body{padding:20px}
.product-category{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);margin-bottom:6px}
.product-name{font-family:var(--font-display);font-size:1.05rem;font-weight:400;color:var(--white);margin-bottom:4px;line-height:1.3}
.product-origin{font-size:.75rem;color:var(--silver);margin-bottom:12px}
.product-rating{display:flex;align-items:center;gap:6px;margin-bottom:12px}
.star-group{display:inline-flex;gap:1px}
.star{color:var(--almond);font-size:.75rem}
.star.empty{color:var(--ash)}
.rating-count{font-size:.72rem;color:var(--silver)}
.product-footer{display:flex;align-items:center;justify-content:space-between}
.product-price{display:flex;align-items:baseline;gap:8px}
.price-main{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--white)}
.price-old{font-size:.8rem;color:var(--silver);text-decoration:line-through}
.product-weight{font-size:.68rem;color:var(--silver);letter-spacing:.06em}

/* ── JOURNAL ─────────────────────────────────────────────────────────────── */
.journal-section{padding:calc(var(--space-3xl) * .28) 0;background:var(--ink)}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,32px)}
.journal-card{display:flex;flex-direction:column;border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;transition:border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}
.journal-card:hover{border-color:var(--border);transform:translateY(-4px)}
.journal-card-media{position:relative;overflow:hidden;aspect-ratio:16/9}
.journal-card-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease);filter:grayscale(20%)}
.journal-card:hover .journal-card-media img{transform:scale(1.04)}
.journal-card-cat{position:absolute;bottom:12px;left:12px;padding:4px 10px;background:rgba(0,0,0,.8);backdrop-filter:blur(4px);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--silver);border-radius:var(--radius-sm)}
.journal-card-body{padding:24px;flex:1;display:flex;flex-direction:column}
.journal-card-meta{display:flex;align-items:center;gap:12px;font-size:.68rem;color:var(--silver);margin-bottom:10px}
.journal-card-title{font-family:var(--font-display);font-size:1.1rem;font-weight:400;line-height:1.3;color:var(--white);margin-bottom:10px;flex:1}
.journal-card-excerpt{font-size:.85rem;line-height:1.65;color:var(--text-dim);margin-bottom:20px}
.read-more{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);display:inline-flex;align-items:center;gap:8px;transition:color var(--duration) var(--ease),gap var(--duration) var(--ease)}
.read-more:hover{color:var(--white);gap:14px}
.read-more::after{content:'→'}

/* ── TESTIMONIALS ────────────────────────────────────────────────────────── */
.testimonials-section{padding:calc(var(--space-3xl) * .28) 0;background:var(--charcoal)}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,28px)}
.testimonial-card{padding:clamp(24px,3vw,36px);background:var(--ink);border:1px solid var(--border-light);border-radius:var(--radius);transition:border-color var(--duration) var(--ease)}
.testimonial-card:hover{border-color:var(--border)}
.testimonial-rating{margin-bottom:16px}
.testimonial-text{font-family:var(--font-display);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.6;font-weight:400;font-style:italic;color:var(--mist);margin-bottom:20px}
.testimonial-author{display:flex;align-items:center;gap:10px}
.author-avatar{width:36px;height:36px;border-radius:50%;background:var(--onyx);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.9rem;color:var(--almond);flex-shrink:0}
.author-name{font-size:.82rem;color:var(--white)}
.author-city{font-size:.7rem;color:var(--silver)}

/* ── FOOTER ──────────────────────────────────────────────────────────────── */
.alm-footer{background:var(--black);border-top:1px solid var(--border);padding:calc(var(--space-3xl) * .28) 0 calc(var(--space-lg) * .75)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:clamp(40px,5vw,80px);margin-bottom:var(--space-xl)}
.footer-wordmark{font-family:var(--font-display);font-size:1.8rem;font-weight:300;letter-spacing:.3em;color:var(--white);text-transform:uppercase;margin-bottom:16px;display:block}
.footer-logo{height:46px;width:auto;max-width:230px;object-fit:contain;margin-bottom:20px}
.footer-tagline{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--silver);margin-bottom:20px}
.footer-about{font-size:.875rem;line-height:1.75;color:var(--text-dim);margin-bottom:28px;max-width:320px}
.footer-contact-item{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--silver);margin-bottom:8px}
.footer-contact-item a{transition:color var(--duration) var(--ease)}
.footer-contact-item a:hover{color:var(--white)}
.footer-heading{font-family:var(--font-body);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--silver);margin-bottom:20px;font-weight:600}
.footer-links{display:flex;flex-direction:column;gap:12px}
.footer-link{font-size:.85rem;color:var(--text-dim);transition:color var(--duration) var(--ease)}
.footer-link:hover{color:var(--white)}
.footer-social{display:flex;gap:12px;margin-top:24px}
.social-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;color:var(--silver);transition:border-color var(--duration) var(--ease),color var(--duration) var(--ease)}
.social-btn:hover{border-color:var(--white);color:var(--white)}
.newsletter-form{display:flex;gap:0;margin-top:16px}
.newsletter-input{flex:1;background:var(--onyx);border:1px solid var(--border);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);color:var(--white);padding:10px 14px;font-size:.8rem;outline:none;transition:border-color var(--duration) var(--ease)}
.newsletter-input::placeholder{color:var(--ash)}
.newsletter-input:focus{border-color:rgba(255,255,255,.3)}
.newsletter-btn{padding:10px 16px;background:var(--white);color:var(--black);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;border-radius:0 var(--radius-sm) var(--radius-sm) 0;transition:background var(--duration) var(--ease);white-space:nowrap}
.newsletter-btn:hover{background:var(--ivory)}
.footer-bottom{padding-top:16px;border-top:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.footer-copy{font-size:.75rem;color:var(--silver)}
.footer-copy a{color:var(--gold);text-decoration:underline;text-decoration-color:rgba(139,154,107,.4)}
.footer-copy a:hover{color:var(--white);text-decoration-color:currentColor}
.footer-legal{display:flex;gap:20px;flex-wrap:wrap}
.footer-legal a{font-size:.72rem;color:var(--silver);transition:color var(--duration) var(--ease)}
.footer-legal a:hover{color:var(--white)}

.map-section {
  position: relative;
  width: 100%;
  min-height: 450px;
  margin-top: 48px;
  line-height: 0;
  background: #d8d8d8;
}
.map-section iframe {
  display: block;
  width: 100%;
  min-height: 450px;
}
.map-external-link {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 2;
  padding: 9px 14px;
  background: rgba(35,36,38,.92);
  border: 1px solid rgba(255,255,255,.16);
  color: var(--white);
  font-size: .72rem;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

/* ── PAGE HERO ───────────────────────────────────────────────────────────── */
.page-hero{padding:40px 0 24px;background:var(--black);border-bottom:1px solid var(--border)}
.page-hero h1{font-size:clamp(2rem,4vw,3.5rem);font-weight:300}
.page-hero p{color:var(--text-dim);margin-top:8px;font-size:.9rem}
.breadcrumb{display:flex;align-items:center;gap:10px;font-size:.72rem;letter-spacing:.06em;color:var(--silver);flex-wrap:wrap;margin-bottom:16px}
.breadcrumb a{transition:color var(--duration) var(--ease)}
.breadcrumb a:hover{color:var(--white)}
.breadcrumb span{color:var(--ash)}

/* ── SHOP ─────────────────────────────────────────────────────────────────── */
.shop-section{padding:calc(var(--space-xl) * .35) 0 calc(var(--space-3xl) * .28)}
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start}
/* Plain sticky — no outer height cap, so the sidebar floats with scroll
   like any other sticky element. Only the category list (the one section
   long enough to threaten that) gets its own small internal scroll via
   .filter-scroll below, keeping the rest of the sidebar (price range,
   buttons, banner) always fully visible without scrolling. */
.shop-sidebar{position:sticky;top:calc(var(--nav-h) + 16px);background:var(--charcoal);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.sidebar-header h3{font-family:var(--font-body);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--white)}
.filter-group{margin-bottom:16px}
.filter-group h4{font-family:var(--font-body);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);font-weight:600;margin-bottom:10px}
.filter-scroll{max-height:130px;overflow-y:auto;overflow-x:hidden;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.filter-scroll::-webkit-scrollbar{width:5px}
.filter-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px}
.filter-scroll::-webkit-scrollbar-track{background:transparent}
.filter-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}
.filter-check{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text-dim);margin-bottom:6px;cursor:pointer;transition:color var(--duration) var(--ease)}
.filter-check:hover{color:var(--white)}
.filter-check input{
  appearance: none;
  -webkit-appearance: none;
  width: 18px!important;
  height: 18px!important;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--onyx);
  outline: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--duration) var(--ease), border-color var(--duration) var(--ease);
  position: relative;
  flex-shrink: 0;
}
.filter-check input:checked{
  background: var(--gold)!important;
  border-color: var(--gold)!important;
}
.filter-check input:checked::after{
  content: '';
  width: 5px;
  height: 9px;
  border: solid var(--black);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  position: absolute;
  top: 2px;
  left: 5px;
}
.filter-check-all{padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid var(--border)}
.filter-check-all.active{color:var(--gold)}
.sidebar-banner{position:relative;display:block;margin-top:16px;border-radius:var(--radius-sm);overflow:hidden;height:84px;background:var(--onyx)}
.sidebar-banner img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease)}
.sidebar-banner:hover img{transform:scale(1.04)}
.sidebar-banner-overlay{position:absolute;left:0;right:0;bottom:0;padding:8px 12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.85) 65%);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.sidebar-banner-overlay strong{font-family:var(--font-display);font-size:.85rem;color:var(--white);font-weight:400;white-space:nowrap}
.sidebar-banner-overlay span:not(.btn){display:none}
.sidebar-banner-overlay .btn{padding:4px 10px;font-size:.6rem;margin-left:auto}
.price-inputs{display:flex;align-items:center;gap:8px;min-width:0}
.price-inputs input{flex:1;min-width:0;width:0;background:var(--onyx);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--white);padding:8px 10px;font-size:.8rem;outline:none}
.price-inputs span{color:var(--silver);flex-shrink:0}
.shop-topbar{display:flex;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.shop-sort select{background:var(--onyx);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--white);padding:8px 32px 8px 12px;font-size:.8rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;outline:none;cursor:pointer}
.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--silver);font-size:.9rem;transition:border-color var(--duration) var(--ease),color var(--duration) var(--ease)}
.icon-btn:hover,.icon-btn.active{border-color:var(--white);color:var(--white)}
/* Always visible (not just below the 1300px breakpoint) so there is always
   a guaranteed, unambiguous way to reach filters regardless of viewport
   quirks — clicking it just toggles .open on the sidebar, which is a no-op
   on wide screens where the sidebar is already shown inline. */
.filter-toggle{display:inline-flex}
.shop-sidebar-overlay{position:fixed;inset:0;z-index:1190;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity var(--duration) var(--ease),visibility var(--duration) var(--ease)}
.shop-sidebar-overlay.open{opacity:1;visibility:visible}
.shop-count{margin-left:auto;font-size:.78rem;color:var(--silver)}
.shop-products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,24px)}
.search-result-bar{background:var(--onyx);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 16px;font-size:.85rem;margin-bottom:20px;color:var(--text-dim)}
.empty-state{grid-column:1/-1;text-align:center;padding:80px 20px}
.empty-state h3{font-size:1.5rem;margin-bottom:10px}
.empty-state p{color:var(--text-dim);margin-bottom:28px}
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:48px}
.page-btn{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;color:var(--silver);transition:all var(--duration) var(--ease)}
.page-btn:hover{border-color:var(--white);color:var(--white)}
.page-btn.active{background:var(--white);color:var(--black);border-color:var(--white)}

/* ── PRODUCT DETAIL ──────────────────────────────────────────────────────── */
/* No nav-h compensation needed here — the global .site-promo-banner already
   clears the fixed nav on every non-home page before <main> even starts. */
.product-detail-section{padding:24px 0 calc(var(--space-3xl) * .28)}
.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,96px);align-items:start}
.product-gallery{position:sticky;top:calc(var(--nav-h) + 24px)}
.gallery-main{position:relative;overflow:hidden;aspect-ratio:1;background:var(--onyx);border-radius:var(--radius-lg);margin-bottom:12px}
.gallery-main img{width:100%;height:100%;object-fit:cover;object-position:center 60%;transform-origin:50% 50%;transition:transform .25s var(--ease)}
.gallery-main.zoomable{cursor:zoom-in}
.gallery-main.zoomable.is-zoomed img{transition:none}
.gallery-main.is-zoomed img{transform:scale(2.2)}
.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.gallery-thumb{flex-shrink:0;width:72px;height:72px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:border-color var(--duration) var(--ease)}
.gallery-thumb.active,.gallery-thumb:hover{border-color:var(--white)}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.product-detail-category{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--silver);margin-bottom:12px}
.product-detail-name{font-size:clamp(1.8rem,2.8vw,2.6rem);font-weight:300;line-height:1.1;margin-bottom:8px}
.product-detail-origin{font-size:.8rem;color:var(--silver);margin-bottom:20px}
.product-detail-price{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}
.detail-price-main{font-family:var(--font-display);font-size:2rem;font-weight:400;color:var(--white)}
.detail-price-old{font-size:1rem;color:var(--silver);text-decoration:line-through}
.product-detail-weight{font-size:.75rem;color:var(--silver);margin-bottom:28px;letter-spacing:.06em}
.product-detail-divider{height:1px;background:var(--border);margin:28px 0}
.product-short-desc{font-size:.95rem;line-height:1.75;color:var(--text-dim);margin-bottom:28px}
.qty-control{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);width:fit-content;margin-bottom:20px}
.qty-ctrl-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--silver);font-size:1rem;transition:color var(--duration) var(--ease)}
.qty-ctrl-btn:hover{color:var(--white)}
.qty-ctrl-val{min-width:48px;text-align:center;font-size:.9rem;color:var(--white);border-left:1px solid var(--border);border-right:1px solid var(--border);padding:0 8px;line-height:42px}
.product-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.product-tabs{margin-top:40px}
.tabs-nav{display:flex;border-bottom:1px solid var(--border);margin-bottom:28px;overflow-x:auto;gap:0}
.tab-btn{padding:12px 20px;flex-shrink:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);border-bottom:1px solid transparent;margin-bottom:-1px;transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease)}
.tab-btn.active{color:var(--white);border-bottom-color:var(--white)}
.tab-panel{display:none;font-size:.9rem;line-height:1.75;color:var(--text-dim)}
.tab-panel.active{display:block}
.tab-panel h4{font-family:var(--font-body);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--white);font-weight:600;margin-bottom:12px;margin-top:20px}
.tab-panel h4:first-child{margin-top:0}
.faq-accordion{display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{width:100%;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.875rem;color:var(--text-strong);text-align:left;cursor:pointer;transition:color var(--duration) var(--ease)}
.faq-question:hover{color:var(--white)}
.faq-icon{font-size:1.2rem;color:var(--silver);flex-shrink:0;transition:transform var(--duration) var(--ease)}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;font-size:.875rem;line-height:1.75;color:var(--text-dim);transition:max-height var(--duration-slow) var(--ease),padding var(--duration-slow) var(--ease)}
.faq-item.open .faq-answer{max-height:400px;padding-bottom:18px}

/* ── ACCOUNT ─────────────────────────────────────────────────────────────── */
.account-section{padding:calc(var(--nav-h) + 16px) 0 calc(var(--space-3xl) * .28)}
.account-layout{display:grid;grid-template-columns:220px 1fr;gap:32px}
.account-sidebar{position:sticky;top:calc(var(--nav-h) + 24px);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.account-nav-link{display:block;padding:14px 20px;font-size:.8rem;color:var(--silver);border-bottom:1px solid var(--border-light);transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}
.account-nav-link:hover,.account-nav-link.active{color:var(--white);background:var(--charcoal)}
.account-title{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:300;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}

/* ── AUTH PAGES ───────────────────────────────────────────────────────────── */
.auth-section{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:calc(var(--nav-h) + 20px) 0 40px}
.auth-card{width:100%;max-width:440px;background:var(--charcoal);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px}
.auth-title{font-size:1.8rem;font-weight:300;margin-bottom:8px}
.auth-sub{font-size:.875rem;color:var(--text-dim);margin-bottom:32px}

/* ── CART ─────────────────────────────────────────────────────────────────── */
.cart-page-section{padding:calc(var(--nav-h) + 16px) 0 calc(var(--space-3xl) * .28)}
.cart-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.cart-items-col{display:flex;flex-direction:column;gap:0}
.cart-items-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--charcoal)}
.cart-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto auto;gap:18px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border-light)}
.cart-row:last-child{border-bottom:none}
.cart-row-img{width:72px;height:72px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--onyx)}
.cart-row-img img{width:100%;height:100%;object-fit:cover}
.cart-row-info{min-width:0}
.cart-row-info h3{font-size:.95rem;font-weight:400;color:var(--white);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-row-price{font-size:.85rem;color:var(--silver)}
.cart-row-total{font-family:var(--font-display);font-size:1rem;color:var(--white);min-width:90px;text-align:right}
.cart-row .qty-control{margin-bottom:0}
.cart-row .qty-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--silver);font-size:1rem;background:none;border:none;cursor:pointer;transition:color var(--duration) var(--ease)}
.cart-row .qty-btn:hover{color:var(--white)}
.cart-row .qty-input{width:44px;height:34px;text-align:center;background:none;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);color:var(--white);font-size:.85rem;-moz-appearance:textfield}
.cart-row .qty-input::-webkit-outer-spin-button,.cart-row .qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cart-remove{border-color:var(--border);color:var(--silver)}
.cart-remove:hover{border-color:#e25b5b;color:#e25b5b}
.coupon-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:20px}
.coupon-row input{background:var(--charcoal);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--white);padding:12px 14px;font-size:.85rem;outline:none}
.coupon-msg{margin-top:10px;font-size:.8rem;color:var(--silver)}
.cart-summary-col{position:sticky;top:calc(var(--nav-h) + 24px)}
.cart-summary{background:var(--charcoal);border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.cart-summary h3{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:24px;font-weight:400}
.cart-summary .summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;padding:10px 0;border-bottom:1px solid var(--border-light);color:var(--silver)}
.cart-summary .summary-row strong{color:var(--white);font-weight:500}
.cart-summary .total-row{padding-top:16px;border-top:1px solid var(--border);border-bottom:none;font-size:1rem;color:var(--white)}
.cart-summary .total-row strong{font-family:var(--font-display);font-size:1.4rem;font-weight:400}
.cart-summary .btn{margin-top:18px}
.cart-summary .coupon-tag{display:inline-block;margin-left:6px;padding:2px 8px;border:1px solid var(--border);border-radius:99px;font-size:.7rem;letter-spacing:.04em;color:var(--silver)}
.trust-badges{display:flex;flex-direction:column;gap:8px}
.trust-item{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--silver)}
.empty-state.large-empty{padding:100px 20px}
.empty-state .empty-icon{font-size:2.6rem;color:var(--silver);margin-bottom:18px}
@media (max-width:880px){
  .cart-page-layout{grid-template-columns:1fr}
  .cart-summary-col{position:static}
  .cart-row{grid-template-columns:56px minmax(0,1fr);grid-template-areas:"img info" "img qty" "img total" "img remove";row-gap:8px;padding:16px}
  .cart-row-img{grid-area:img;width:56px;height:56px}
  .cart-row-info{grid-area:info}
  .cart-row .qty-control{grid-area:qty}
  .cart-row-total{grid-area:total;text-align:left}
  .cart-remove{grid-area:remove;justify-self:start}
}

/* ── BLOG ─────────────────────────────────────────────────────────────────── */
.blog-section{padding:calc(var(--nav-h) + 16px) 0 calc(var(--space-3xl) * .28)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.blog-featured-grid{display:grid;grid-template-columns:1.2fr 1fr}

/* ── ABOUT ────────────────────────────────────────────────────────────────── */
.about-hero{min-height:42vh;display:flex;align-items:center;padding:calc(var(--nav-h) + 22px) 0 30px;background:var(--black)}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-story-grid{display:grid;grid-template-columns:1fr 1fr}
.about-stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--border);border:1px solid var(--border)}
.stat-box{background:var(--charcoal);padding:36px;text-align:center}
.stat-box strong{display:block;font-family:var(--font-display);font-size:2.5rem;font-weight:300;color:var(--white);margin-bottom:8px}
.stat-box span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--silver)}

/* ── REVEAL ANIMATIONS ────────────────────────────────────────────────────── */
.reveal-up{opacity:0;transform:translateY(28px);transition:opacity .72s var(--ease-out),transform .72s var(--ease-out)}
.reveal-up.in-view{opacity:1;transform:translateY(0)}
.reveal-right{opacity:0;transform:translateX(-28px);transition:opacity .72s var(--ease-out),transform .72s var(--ease-out)}
.reveal-right.in-view{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .72s var(--ease-out),transform .72s var(--ease-out)}
.reveal-scale.in-view{opacity:1;transform:scale(1)}
[data-delay="0.1"]{transition-delay:.1s}
[data-delay="0.2"]{transition-delay:.2s}
[data-delay="0.3"]{transition-delay:.3s}
[data-delay="0.4"]{transition-delay:.4s}
[data-delay="0.5"]{transition-delay:.5s}

/* ── UTILITY ─────────────────────────────────────────────────────────────── */
.text-dim{color:var(--text-dim)}
.text-silver{color:var(--silver)}
.text-white{color:var(--white)}
.text-accent{color:var(--almond)}
.text-sm{font-size:.875rem}
.text-xs{font-size:.75rem}
.text-center{text-align:center}
.d-flex{display:flex}
.items-center{align-items:center}
.gap-8{gap:8px}
.gap-16{gap:16px}
.mt-8{margin-top:8px}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.mb-16{margin-bottom:16px}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ── RESPONSIVE ──────────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .nav-links{display:none}
  .hamburger{display:flex}
  .nav-cta{display:none}
  .philosophy-layout{grid-template-columns:1fr}
  .philosophy-visual{max-height:320px}
  .collection-block{grid-template-columns:1fr;min-height:auto}
  .collection-block:nth-child(even) .collection-text{order:0}
  .collection-media{aspect-ratio:16/9}
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .journal-grid{grid-template-columns:repeat(2,1fr)}
  .testimonials-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;row-gap:40px}
  .product-layout{grid-template-columns:1fr}
  .product-gallery{position:relative;top:auto}
  .cart-layout{grid-template-columns:1fr}
  .about-layout{grid-template-columns:1fr}
  .about-story-grid{grid-template-columns:1fr;gap:40px!important}
  .account-layout{grid-template-columns:1fr}
  .account-sidebar{position:relative;top:auto}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .blog-featured-grid{grid-template-columns:1fr}
  .hero-product-cluster{width:min(540px,58vw);opacity:.82}
  .circle-gallery{grid-template-columns:repeat(3,1fr)}
  .collection-mosaic-grid{grid-template-columns:repeat(3,1fr)}
  .collection-vehicle{min-height:auto;padding:40px 0 96px;--vehicle-visible:3}
  .vehicle-cabin{position:relative;left:auto;bottom:auto;width:54%;height:218px;margin:0 auto -1px 0}
  .vehicle-window{left:8%;top:50px;width:60%;height:84px;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}
  .vehicle-door-logo{left:39%;top:124px;height:42px}
  .vehicle-door-line{left:34%;top:50px;bottom:42px}
  .vehicle-door-handle{top:148px}
  .vehicle-cargo{margin-left:0}
  .vehicle-compartment{min-height:250px}
  .vehicle-base{bottom:16px}
  .goodness-layout{grid-template-columns:1fr}
  .goodness-bowl{max-width:440px;margin:0 auto}
  .goodness-notes{grid-template-columns:repeat(3,1fr)}
}
/* Shop filter sidebar shows inline on virtually any real desktop/laptop
   viewport now (collapses to a toggleable drawer only below 900px) so it's
   visible by default without requiring the user to find and click the
   Filters button — that button still exists below this breakpoint, and is
   also kept visible above it as a redundant, always-available fallback. */
@media(max-width:900px){
  .shop-layout{grid-template-columns:1fr}
  .shop-sidebar{
    display:block;
    position:fixed!important;
    top:50%!important;
    left:50%!important;
    transform:translate(-50%,-40%) scale(.95)!important;
    width:90vw!important;
    max-width:400px!important;
    height:auto!important;
    max-height:80vh!important;
    z-index:1200!important;
    margin:0!important;
    border-radius:var(--radius)!important;
    border:1px solid var(--border)!important;
    background:var(--charcoal)!important;
    box-shadow:0 20px 50px rgba(0,0,0,.8);
    opacity:0;
    visibility:hidden;
    transition:transform var(--duration) var(--ease),opacity var(--duration) var(--ease),visibility var(--duration) var(--ease);
    overflow-y:auto;
  }
  .shop-sidebar.open{
    opacity:1!important;
    visibility:visible!important;
    transform:translate(-50%,-50%) scale(1)!important;
  }
  .filter-scroll{
    max-height:none!important;
    overflow-y:visible!important;
  }
  .filter-check{
    padding:10px 4px!important;
    margin-bottom:2px!important;
  }
  .filter-check input{
    width:18px!important;
    height:18px!important;
  }
}
@media(max-width:900px) {
  .alm-hero .hero-media-orbit-container,
  .alm-hero .hero-constellation-container {
    display: none !important;
  }
}
@media(max-width:640px){
  :root{--nav-h:96px}
  .section{padding:calc(var(--space-xl) * .35) 0}
  .section-lg{padding:calc(var(--space-2xl) * .35) 0}
  .features-grid{grid-template-columns:1fr}
  .about-stats-grid{grid-template-columns:repeat(2,1fr);gap:28px!important}
  .about-story-badge{bottom:-16px!important;right:0!important;padding:16px 20px!important}
  .products-grid{grid-template-columns:1fr 1fr;gap:12px}
  .journal-grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero-stats{gap:28px}
  .corporate-features{gap:28px}
  .shop-products-grid{grid-template-columns:1fr 1fr;gap:12px}
  .auth-card{padding:28px 20px}
  .blog-grid{grid-template-columns:1fr}
  .blog-featured-body{padding:28px 22px!important}
  /* Mirrors the desktop layout — text in a left column, the floating
     3D cluster in a right column, both in one row, vertically centered. */
  .alm-hero{min-height:92svh;padding-bottom:48px}
  .hero-orbit{align-items:center;justify-content:flex-end;padding-right:12px}
  .hero-glow{right:2%;top:50%;left:auto;transform:translateY(-50%);width:min(220px,46vw)}
  .hero-product-cluster{width:min(168px,40vw);opacity:.9}
  .hero-content{max-width:58%;padding-top:var(--nav-h)}
  .hero-eyebrow{font-size:.52rem;letter-spacing:.16em;margin-bottom:14px}
  .hero-eyebrow::before{width:22px}
  .hero-title{margin-bottom:14px}
  .hero-subtitle{font-size:.76rem;line-height:1.55;margin-bottom:20px;max-width:100%}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:28px}
  .hero-actions .btn{width:auto;padding:10px 16px;font-size:.6rem}
  /* Widen just the stats row back out to the full container width (it
     would otherwise inherit hero-content's 58% column and feel cramped,
     even though the right side is visually empty by this point) — 172%
     of a 58%-wide parent ≈ 100% of the container, math not a guess. */
  .hero-stats{flex-wrap:nowrap;gap:18px;padding-top:18px;margin-bottom:8px;width:172%;max-width:none}
  .hero-stat-item{flex:1;min-width:0}
  .hero-stat-item strong{font-size:1rem;margin-bottom:2px;white-space:nowrap}
  .hero-stat-item span{font-size:.5rem;line-height:1.3;letter-spacing:.03em;display:block}
  .signature-circles{padding:calc(var(--space-xl) * .35) 0}
  .circle-gallery{grid-template-columns:repeat(2,1fr);gap:22px 14px}
  .collection-mosaic-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .collection-vehicle-section{padding:calc(var(--space-xl) * .35) 0}
  .collection-vehicle{padding:24px 0 64px;margin-top:20px;--vehicle-visible:2}
  .vehicle-skyline{display:none}
  .nav-brand{min-width:118px}
  .nav-brand img{height:34px;max-width:140px}
  /* The full vehicle illustration is a lot of tiny absolutely-positioned
     accents (seam line, handle, headlight) that don't scale gracefully
     down to a ~166px-tall cab — they end up reading as visual noise on a
     phone rather than a recognisable cabin. Strip those accents back to
     just the cab silhouette + window + a clean centred wordmark badge. */
  .vehicle-cabin{width:100%;margin:0 0 -1px 0;height:172px}
  .vehicle-window{left:6%;top:22px;width:64%;height:58px;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}
  .vehicle-door-logo{left:50%;top:auto;bottom:14px;transform:translateX(-50%);width:62%;height:88px;padding:10px 14px}
  .vehicle-door-logo img{filter:none}
  .vehicle-door-line,.vehicle-door-handle,.vehicle-headlight{display:none}
  .vehicle-cargo{border-radius:8px}
  .cargo-topline{height:auto;gap:8px;flex-direction:column;align-items:flex-start;padding:14px}
  .vehicle-compartments{min-height:0}
  .vehicle-compartment{min-height:198px;padding:16px 10px}
  .compartment-photo{width:min(104px,82%)}
  .vehicle-wheel{width:62px;height:62px}
  .vehicle-wheel-btn::after{font-size:.92rem}
  .vehicle-wheel-tip{display:none}
  .wheel-front{left:12%}.wheel-back{right:12%}
  .dispatch-strip,.curated-tray{grid-template-columns:1fr;max-width:320px}
  .collections-section .collection-block{padding:14px}
  .collections-section .collection-desc{display:none}
  .circle-photo{width:min(138px,100%)}
  .editorial-goodness{padding:calc(var(--space-xl) * .35) 0}
  .goodness-notes{grid-template-columns:1fr}
  .goodness-note{padding:20px}
  .dryfruit-atmosphere{opacity:.62}
  .atmo-piece{width:44px;height:28px}
  .atmo-piece:nth-child(n+8){display:none}
  .product-footer {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }
  .product-weight {
    font-size: 0.65rem !important;
    margin-top: 2px !important;
  }
  .product-wishlist-btn {
    top: 8px !important;
    right: 8px !important;
    width: 28px !important;
    height: 28px !important;
  }
  .product-wishlist-btn svg {
    width: 11px !important;
    height: 11px !important;
  }
  .product-badge {
    padding: 2px 6px !important;
    font-size: 0.52rem !important;
    letter-spacing: 0.05em !important;
  }
  .product-card-quick-add.has-two {
    flex-direction: column !important;
    gap: 4px !important;
    padding: 8px !important;
  }
  .shop-products-grid .product-card-quick-add .btn,
  .products-grid .product-card-quick-add .btn {
    min-height: 28px !important;
    font-size: 0.6rem !important;
    padding: 4px 8px !important;
  }
  .shop-products-grid .product-card-media,
  .products-grid .product-card-media {
    aspect-ratio: 3/5.1 !important;
    padding-bottom: 78px !important;
  }
  .shop-products-grid .product-card .product-badge,
  .products-grid .product-card .product-badge {
    bottom: 86px !important;
  }
}
/* ── Order Success / Confirmation page ── */
.order-success-section {
  min-height: 60vh;
  display: flex;
  align-items: center;
  padding: clamp(60px, 10vh, 120px) 0;
}
.success-card {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  padding: clamp(40px, 6vw, 72px) clamp(28px, 5vw, 64px) !important;
}
.success-icon {
  font-size: clamp(2.5rem, 6vw, 4rem);
  margin-bottom: 20px;
  display: block;
}
.success-card h1 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  margin-bottom: 12px;
}
.success-order-num {
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin-bottom: 16px;
}
.success-order-num strong {
  color: var(--gold);
  font-family: var(--font-body);
  letter-spacing: 0.04em;
}
.success-card > p:not(.success-order-num) {
  font-size: 1rem;
  color: var(--text-muted);
  line-height: 1.7;
  margin-bottom: 32px;
}
.success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}
@media (max-width: 640px) {
  .success-actions { flex-direction: column; }
  .success-actions .btn { width: 100%; justify-content: center; }
}

/* ── Blog post responsive layout ── */
@media (max-width: 900px) {
  .blog-post-layout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .blog-post-layout aside {
    display: none; /* hide sidebar on mobile — saves space */
  }
}

/* ── Product card mobile: always show quick-add, remove dead black gap ── */
@media (max-width: 900px) {
  .shop-products-grid .product-card-media,
  .products-grid .product-card-media {
    aspect-ratio: 3/4 !important;     /* less extreme than 3/5.1 */
    padding-bottom: 72px !important;
  }
  .shop-products-grid .product-card-quick-add,
  .products-grid .product-card-quick-add {
    transform: translateY(0) !important;  /* always visible on mobile */
  }
  .shop-products-grid .product-card .product-badge,
  .products-grid .product-card .product-badge {
    opacity: 0 !important;
    visibility: hidden !important;
  }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .dryfruit-atmosphere{display:none}
}


/* ── Product Placeholders ────────────────────────────────────────────────── */
.prod-placeholder{width:100%;height:100%;display:flex;align-items:flex-end;padding:16px;background:var(--ash)}
.prod-placeholder-label{font-family:var(--font-body);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;opacity:.45;color:var(--white)}
.ph-almond,.ph-almonds{background:#EBE0CB}
.ph-pistachio,.ph-pistachios{background:#8B9A6B}
.ph-cashew,.ph-cashews{background:#EBE0CB}
.ph-dates,.ph-date{background:#A9712F}
.ph-gift,.ph-gifts,.ph-gift-collections{background:#DBC8AC}
.ph-neutral{background:var(--ash)}
.ph-dates .prod-placeholder-label,.ph-pistachio .prod-placeholder-label{color:var(--white);opacity:.55}
.ph-almonds .prod-placeholder-label,.ph-cashews .prod-placeholder-label,.ph-gift .prod-placeholder-label{color:var(--ink);opacity:.4}

/* ── Site Promo Banner ───────────────────────────────────────────────────── */
.site-promo-banner{width:100%;background:var(--charcoal);border-bottom:1px solid rgba(255,255,255,.08);padding:10px 0;margin-top:var(--nav-h)}
.site-promo-inner{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;max-width:var(--max-w);margin:0 auto;padding:0 clamp(20px,5vw,80px);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--silver)}
.promo-sep{opacity:.4;font-size:.6rem}
@media(max-width:600px){
  .site-promo-inner {
    flex-direction: column !important;
    gap: 6px !important;
    padding: 8px 10px !important;
    text-align: center !important;
    width: 100% !important;
  }
  .site-promo-inner .promo-sep {
    display: none !important;
  }
  .site-promo-inner span:last-child {
    display: none !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   ALMONZY LUXURY TYPOGRAPHY SYSTEM
   Typography-only overrides — no colors, layout, spacing, or components changed.
══════════════════════════════════════════════════════════════════════════ */

/* ── Global heading reset ───────────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:400;
  line-height:1.05;
  letter-spacing:-0.01em;
}

/* ── Body ───────────────────────────────────────────────────────────────── */
body{
  font-family:'Jost',-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:300;
  line-height:1.6;
}

/* ── Hero title — Cartier scale ─────────────────────────────────────────── */
.hero-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(2.6rem,5vw,4.8rem);
  font-weight:400;
  line-height:1.0;
  letter-spacing:-0.02em;
}

/* ── Section headings ───────────────────────────────────────────────────── */
.section-head h2,
.philosophy-headline,
.goodness-copy h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.9rem,3.2vw,3.2rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-0.01em;
}

/* ── Page hero heading ──────────────────────────────────────────────────── */
.page-hero h1{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.7rem,2.8vw,2.8rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-0.01em;
}

/* ── Collection & subsection headings ──────────────────────────────────── */
.collection-name,
.compartment-name,
.collections-section .collection-name{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.4rem,2.2vw,2.2rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-0.01em;
}

/* ── Feature, card, journal titles ─────────────────────────────────────── */
.feature-title,
.product-name,
.journal-card-title,
.cart-drawer-head h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:400;
  line-height:1.1;
  letter-spacing:-0.01em;
}
.product-name{font-size:1.05rem}
.feature-title{font-size:1.15rem}
.journal-card-title{font-size:1.15rem}

/* ── Navigation links ───────────────────────────────────────────────────── */
.nav-link,.drawer-link{
  font-family:'Jost',sans-serif;
  font-weight:500;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
}
.nav-cta{
  font-family:'Jost',sans-serif;
  font-weight:500;
  letter-spacing:0.18em;
  text-transform:uppercase;
}

/* ── Eyebrow / label elements ───────────────────────────────────────────── */
.eyebrow,
.hero-eyebrow,
.collections-section .collection-num,
.ticker-track span,
.form-label,
.cargo-topline,
.compartment-count,
.collection-link,
.goodness-note h3{
  font-family:'Jost',sans-serif;
  font-weight:500;
  font-size:11px;
  letter-spacing:0.25em;
  text-transform:uppercase;
}

/* ── Buttons — typography only ──────────────────────────────────────────── */
.btn{
  font-family:'Jost',sans-serif;
  font-weight:500;
  letter-spacing:0.18em;
  text-transform:uppercase;
}

/* ── Body / description text ────────────────────────────────────────────── */
.hero-subtitle,
.philosophy-body,
.collection-desc,
.collections-section .collection-desc,
.feature-desc,
.section-head p,
.goodness-note p{
  font-family:'Jost',sans-serif;
  font-weight:300;
  line-height:1.7;
}
.hero-subtitle{font-size:clamp(0.95rem,1.4vw,1.1rem)}

/* ── Stat & loader wordmark ─────────────────────────────────────────────── */
.hero-stat-item strong{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:400;
}
.loader-wordmark{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:300;
  letter-spacing:0.35em;
}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.footer-wordmark{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:300;
  letter-spacing:0.3em;
}
.footer-heading{
  font-family:'Jost',sans-serif;
  font-weight:500;
  font-size:11px;
  letter-spacing:0.25em;
  text-transform:uppercase;
}
.footer-link,.footer-legal,.footer-contact-item{
  font-family:'Jost',sans-serif;
  font-weight:300;
}

/* ── Blog content typography ────────────────────────────────────────────── */
.blog-content h2,.blog-content h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:400;
  line-height:1.1;
  letter-spacing:-0.01em;
}
.blog-content p,.blog-content li{
  font-family:'Jost',sans-serif;
  font-weight:300;
  line-height:1.75;
}

/* ── Promo banner ───────────────────────────────────────────────────────── */
.site-promo-inner{
  font-family:'Jost',sans-serif;
  font-weight:500;
  font-size:11px;
  letter-spacing:0.2em;
}

/* ── Nav brand wordmark ─────────────────────────────────────────────────── */
.nav-brand{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:300;
  letter-spacing:0.3em;
}

/* ── Calibrated heading sizes (Cormorant Garamond optical correction) ─── */
.corporate-title{font-size:clamp(1.9rem,3.2vw,3.2rem);font-weight:400;line-height:1.05;letter-spacing:-0.01em}
.product-detail-name{font-size:clamp(1.5rem,2.2vw,2.2rem);font-weight:400;line-height:1.05;letter-spacing:-0.01em}
.collections-section .collection-name{font-size:clamp(1rem,1.3vw,1.3rem);font-weight:400;line-height:1.1;letter-spacing:-0.01em}
.goodness-copy h2{font-size:clamp(1.9rem,3.2vw,3.2rem)}
.hero-stat-item strong{font-size:clamp(1.4rem,2vw,1.9rem)}

/* ── Feature card h3 — use Jost for small card headings (not display serif) */
.feature-card h3,
.feature-item h3,
.features-grid h3{
  font-family:'Jost',sans-serif;
  font-weight:500;
  font-size:.95rem;
  letter-spacing:0.04em;
  line-height:1.3;
}

/* ── Section title (corporate/about utility class) ───────────────────────── */
.section-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:400;
  font-size:clamp(1.6rem,2.8vw,2.4rem);
  line-height:1.1;
  letter-spacing:-0.01em;
}

/* ── Section Light features-grid adjustments ───────────────────────────── */
.section-light .features-grid {
  background: rgba(22, 22, 22, 0.06) !important;
  border-color: rgba(22, 22, 22, 0.06) !important;
}
.section-light .feature-item {
  background: var(--white) !important;
  color: var(--charcoal) !important;
}
.section-light .feature-item:hover {
  background: var(--cream) !important;
}
.section-light .feature-icon {
  color: var(--gold) !important;
}
.section-light .feature-title {
  color: var(--charcoal) !important;
}
.section-light .feature-desc {
  color: #555555 !important;
}

.why-section.section-light {
  background: var(--ivory) !important;
}

/* ── Discover Dropdown ────────────────────────────────────────────────── */
.nav-dropdown-wrapper {
  position: relative;
}

button.nav-link.nav-dropdown-toggle {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--silver);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: inherit;
  transition: color var(--duration) var(--ease);
}

button.nav-link.nav-dropdown-toggle::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--white);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--duration) var(--ease);
}

button.nav-link.nav-dropdown-toggle:hover::after,
button.nav-link.nav-dropdown-toggle.active::after {
  transform: scaleX(1);
  transform-origin: left;
}

.dropdown-chevron {
  transition: transform var(--duration) var(--ease);
  flex-shrink: 0;
}

.nav-dropdown-wrapper:hover .dropdown-chevron {
  transform: rotate(180deg);
}

.nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(12px);
  background: rgba(10, 10, 10, 0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px 20px;
  min-width: 170px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease), visibility var(--duration) var(--ease);
  z-index: 1005;
  box-shadow: var(--shadow-md);
  margin: 0;
  list-style: none;
}

.nav-dropdown-wrapper:hover .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(4px);
}

.nav-dropdown-link {
  font-family: 'Jost', sans-serif;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--silver);
  transition: color var(--duration) var(--ease);
  display: block;
  white-space: nowrap;
}

.nav-dropdown-link:hover,
.nav-dropdown-link.active {
  color: var(--white);
}

/* Mobile Drawer Dropdown */
.drawer-dropdown-wrapper {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--border-light);
}

button.drawer-dropdown-toggle {
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 28px;
  font-family: inherit;
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--silver);
  transition: color var(--duration) var(--ease), padding-left var(--duration) var(--ease);
}

button.drawer-dropdown-toggle:hover {
  color: var(--white);
  padding-left: 36px;
}

.drawer-chevron {
  transition: transform var(--duration) var(--ease);
  color: var(--silver);
  flex-shrink: 0;
}

.drawer-dropdown-wrapper.open .drawer-chevron {
  transform: rotate(180deg);
}

.drawer-dropdown-content {
  display: none;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.01);
  padding-bottom: 8px;
}

.drawer-dropdown-wrapper.open .drawer-dropdown-content {
  display: flex;
}



.drawer-sublink {
  display: block;
  padding: 12px 28px 12px 42px;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--silver);
  transition: color var(--duration) var(--ease), padding-left var(--duration) var(--ease);
}

.drawer-sublink:hover,
.drawer-sublink.active {
  color: var(--white);
  padding-left: 50px;
}

/* ── Top Bar ──────────────────────────────────────────────────────────── */
.site-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--topbar-h);
  background: #232426;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  z-index: 1010;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 clamp(20px,5vw,80px);
}
.topbar-left,
.topbar-right {
  font-family: 'Jost', sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--silver);
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 12px;
}
.topbar-sep {
  color: rgba(255,255,255,0.2);
  font-size: 0.8rem;
}
.topbar-link {
  color: var(--silver);
  transition: color var(--duration) var(--ease);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.topbar-link:hover { color: var(--white); }
@media (max-width: 768px) {
  .topbar-right { display: none !important; }
  .topbar-inner { justify-content: center !important; padding: 0 !important; margin: 0 auto !important; width: 100% !important; }
  .topbar-left  {
    font-size: 0.68rem;
    letter-spacing: 0.05em;
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
@media (max-width: 480px) {
  .topbar-left .topbar-sep,
  .topbar-left span:last-child { display: none !important; }
}

/* ── Mobile Bottom Navigation Bar ──────────────────────────────────────── */
.mobile-bottom-nav { display: none; }

.shop-sort-modal { display: none; }

.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 54px;
  height: 54px;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #25D366;
  color: var(--white) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.38);
  transition: transform var(--duration) var(--ease), background-color var(--duration) var(--ease);
}
.whatsapp-float:hover {
  transform: translateY(-2px) scale(1.04);
  background: #22c35e;
}
.whatsapp-float svg {
  width: 27px;
  height: 27px;
  display: block;
  margin: 0;
  fill: currentColor !important;
  stroke: none !important;
}

@media (max-width: 900px) {
  .mobile-bottom-nav {
    display: flex;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    width: 100%;
    max-width: 100vw;
    min-width: 0;
    height: calc(64px + env(safe-area-inset-bottom, 0px));
    background: rgba(10,10,10,0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--border);
    z-index: 1150;
    justify-content: space-around;
    align-items: center;
    padding: 0 max(8px, env(safe-area-inset-left, 0px)) env(safe-area-inset-bottom, 0px) max(8px, env(safe-area-inset-right, 0px));
    box-shadow: 0 -4px 20px rgba(0,0,0,0.5);
    overflow: hidden;
  }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  .whatsapp-float {
    right: 16px;
    bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important;
    width: 50px;
    height: 50px;
  }

  .bottom-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--text-dim);
    font-size: 0.65rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    flex: 1;
    min-width: 0;
    height: 100%;
    gap: 4px;
    transition: color var(--duration) var(--ease), transform var(--duration) var(--ease);
    padding: 4px 0;
    overflow: hidden;
  }
  .bottom-nav-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bottom-nav-item svg {
    width: 20px; height: 20px;
    stroke-width: 1.8;
    transition: transform var(--duration) var(--ease);
  }
  .bottom-nav-item:hover,
  .bottom-nav-item.active { color: var(--white); }
  .bottom-nav-item.active svg { stroke: var(--white); transform: scale(1.05); }

  .bottom-nav-cart { position: relative; }
  .cart-icon-wrapper { position: relative; display: inline-flex; }
  .bottom-nav-cart .cart-badge {
    position: absolute;
    top: -6px; right: -10px;
    background: var(--gold);
    color: var(--black);
    font-size: 0.6rem;
    font-weight: 600;
    min-width: 14px; height: 14px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    border: 1px solid rgba(0,0,0,0.8);
  }

  /* Sort modal — floats as a centred popup */
  .shop-sort-modal {
    display: block;
    position: fixed !important;
    top: 50% !important; left: 50% !important;
    transform: translate(-50%,-40%) scale(0.95) !important;
    width: 90vw !important;
    max-width: 360px !important;
    height: auto !important;
    max-height: 85vh !important;
    z-index: 1200 !important;
    margin: 0 !important;
    border-radius: var(--radius) !important;
    border: 1px solid var(--border) !important;
    background: var(--charcoal) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.8);
    opacity: 0;
    visibility: hidden;
    transition: transform var(--duration) var(--ease), opacity var(--duration) var(--ease), visibility var(--duration) var(--ease);
    overflow-y: auto;
    padding: 24px;
  }
  .shop-sort-modal.open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%,-50%) scale(1) !important;
  }
  .shop-sort-modal .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border);
    padding-bottom: 12px;
    margin-bottom: 20px;
  }
  .shop-sort-modal .modal-header h3 {
    font-size: 1.15rem;
    font-family: var(--font-display);
    color: var(--white);
    margin: 0;
    letter-spacing: 0.03em;
  }
  .shop-sort-modal .modal-body h4 {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-dim);
    margin-bottom: 12px;
    font-weight: 600;
  }
  .sort-options-list,
  .per-page-options-list { display: flex; flex-direction: column; gap: 8px; }
  .sort-option-item,
  .per-page-option-item {
    display: block;
    width: 100%;
    text-align: left;
    background: rgba(255,255,255,0.02);
    border: 1px solid var(--border);
    padding: 12px 16px;
    border-radius: var(--radius);
    color: var(--white);
    font-size: 0.85rem;
    cursor: pointer;
    transition: all var(--duration) var(--ease);
    font-family: var(--font-body);
  }
  .sort-option-item:hover,
  .per-page-option-item:hover { background: rgba(255,255,255,0.05); border-color: var(--text-dim); }
  .sort-option-item.active,
  .per-page-option-item.active { background: var(--gold); color: var(--black); border-color: var(--gold); font-weight: 600; }
}

@media (max-width: 900px) {
  .sh-footer .container > div:first-child,
  .alm-footer .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }
  .sh-footer .container > div:last-child,
  .alm-footer .footer-bottom {
    align-items: flex-start !important;
  }
}

@media (max-width: 640px) {
  .sh-footer,
  .alm-footer {
    margin-top: 48px !important;
    padding-top: 44px !important;
  }
  .sh-footer .container > div:first-child,
  .alm-footer .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .sh-footer .container > div:last-child,
  .sh-footer .container > div:last-child span,
  .alm-footer .footer-bottom,
  .alm-footer .footer-bottom > * {
    width: 100%;
  }
}

/* ── Gift-cart ornament base positions (desktop) ── */
.collection-vehicle.vehicle-heart-style::before {
  content: none;
}

.collection-vehicle.vehicle-heart-style .cart-handle {
  position: absolute;
  /* align right edge of handle with left edge of cargo (cargo is 90% wide, centered → left edge at 5%) */
  left: 0.5% !important;
  top: 168px !important;
  bottom: auto !important;
  width: min(50px, 5vw) !important;
  height: auto !important;
  z-index: 10 !important;
  pointer-events: none !important;
  transform-origin: right bottom;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,0.45));
}

/* ── cart-bow (completed) ─────────────────────────────────────────────────── */
.collection-vehicle.vehicle-heart-style .cart-bow {
  position: absolute;
  top: -4px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: clamp(92px, 7.5vw, 112px) !important;
  height: auto !important;
  z-index: 16 !important;
  pointer-events: none !important;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.42));
}

/* ── Gift cart (heart-style): wheel, rail & base position fix ─────────────── */
.collection-vehicle.vehicle-heart-style .vehicle-base {
  bottom: 12px !important;
  height: 72px !important;
}
.collection-vehicle.vehicle-heart-style .vehicle-rail {
  left: 18% !important;
  right: 18% !important;
  top: 32px !important;
  height: 6px !important;
  border-top: 1px solid rgba(255,255,255,.22) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.05) !important;
  border-radius: 99px !important;
}
.collection-vehicle.vehicle-heart-style .wheel-front {
  left: 18% !important;
}
.collection-vehicle.vehicle-heart-style .wheel-back {
  right: 18% !important;
}
.collection-vehicle.vehicle-heart-style .vehicle-wheel-btn {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  width: clamp(64px, 5.5vw, 80px) !important;
  height: clamp(64px, 5.5vw, 80px) !important;
  transition: transform 0.32s var(--ease), filter 0.32s var(--ease) !important;
}
.collection-vehicle.vehicle-heart-style .vehicle-wheel-btn:hover {
  transform: scale(1.06) !important;
}
.collection-vehicle.vehicle-heart-style .vehicle-wheel-btn::before,
.collection-vehicle.vehicle-heart-style .vehicle-wheel-btn::after {
  display: none !important;
  content: none !important;
}
.collection-vehicle.vehicle-heart-style .cart-wheel-svg {
  width: 100% !important;
  height: 100% !important;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,0.55));
  transition: transform 0.68s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── WhatsApp / Inquire button ────────────────────────────────────────────── */
/* Complete heart-cart presentation */
.collection-vehicle.vehicle-heart-style .cart-tag {
  position: absolute;
  right: .5% !important;
  left: auto !important;
  top: 18px !important;
  width: clamp(85px,8.5vw,115px) !important;
  height: auto !important;
  z-index: 12 !important;
  pointer-events: none !important;
  transform-origin: 15% 10% !important;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.65));
  animation: tag-float 5s ease-in-out infinite !important;
}

@keyframes tag-float {
  0%,100% { transform: rotate(12deg); }
  50% { transform: rotate(16deg) translateY(1px); }
}

.collection-vehicle.vehicle-heart-style .vehicle-cargo {
  width: 90% !important;
  max-width: 1200px !important;
  min-height: 210px !important;
  margin: 0 auto !important;
  padding-top: 6px !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: var(--radius-lg) !important;
  background: rgba(10,10,10,.94) !important;
  box-shadow: 0 25px 65px rgba(0,0,0,.72),inset 0 0 40px rgba(255,255,255,.02) !important;
}

.cart-brand-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 8px 6px;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.cart-brand-logo-img {
  width: auto !important;
  height: clamp(14px,2vw,20px) !important;
  object-fit: contain !important;
  filter: drop-shadow(0 1px 8px rgba(255,255,255,.16));
}

.cart-brand-subtitle {
  margin-top: 3px;
  color: rgba(255,255,255,.65);
  font-size: .55rem;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.cart-bottom-slogan {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 20px;
  color: #a0a0a0;
  font-family: var(--font-display);
  font-size: .68rem;
  letter-spacing: .18em;
  text-align: center;
  text-transform: uppercase;
  opacity: .9;
}

.collection-vehicle.vehicle-heart-style .vehicle-compartments {
  min-height: 155px !important;
}

.collection-vehicle.vehicle-heart-style .vehicle-compartment {
  min-height: 155px !important;
  padding: 10px 8px !important;
}

.collection-vehicle.vehicle-heart-style .compartment-heart-wrapper {
  position: relative;
  display: block;
  width: clamp(85px,10vw,110px) !important;
  height: clamp(85px,10vw,110px) !important;
  margin: 0 auto 6px !important;
}

.collection-vehicle.vehicle-heart-style .compartment-photo-heart {
  position: absolute;
  inset: 4px;
  display: block;
  overflow: hidden;
  clip-path: url(#heartClip);
  background: var(--onyx);
}

.collection-vehicle.vehicle-heart-style .compartment-photo-heart img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--duration) var(--ease);
}

.collection-vehicle.vehicle-heart-style .vehicle-compartment:hover .compartment-photo-heart img,
.collection-vehicle.vehicle-heart-style .vehicle-compartment:focus-visible .compartment-photo-heart img {
  transform: scale(1.1);
}

.collection-vehicle.vehicle-heart-style .heart-outline-svg {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.collection-vehicle.vehicle-heart-style .heart-outline-svg path {
  stroke: rgba(255,255,255,.45) !important;
  stroke-width: 2.5;
}

.collection-vehicle.vehicle-heart-style .compartment-count {
  display: none !important;
}

.collection-vehicle.vehicle-heart-style .compartment-name {
  margin: 4px 0 2px !important;
  color: var(--white);
  font-family: var(--font-display);
  font-size: clamp(1.05rem,1.5vw,1.3rem) !important;
  font-weight: 400;
  letter-spacing: .03em;
  text-transform: capitalize;
}

.collection-vehicle.vehicle-heart-style .compartment-action {
  color: var(--gold);
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.collection-vehicle.vehicle-heart-style .vehicle-rail {
  border: 1px solid rgba(255,255,255,.22) !important;
  background: linear-gradient(90deg,#55585c,#cfd2d6,#55585c) !important;
}

.collection-vehicle.vehicle-heart-style .wheel-front:hover .cart-wheel-svg,
.collection-vehicle.vehicle-heart-style .wheel-front:focus-visible .cart-wheel-svg,
.collection-vehicle.vehicle-heart-style .wheel-front.hint-pulse .cart-wheel-svg {
  animation: wheel-hover-ccw 1.2s linear infinite !important;
}

.collection-vehicle.vehicle-heart-style .wheel-back:hover .cart-wheel-svg,
.collection-vehicle.vehicle-heart-style .wheel-back:focus-visible .cart-wheel-svg,
.collection-vehicle.vehicle-heart-style .wheel-back.hint-pulse .cart-wheel-svg {
  animation: wheel-hover-cw 1.2s linear infinite !important;
}

.collection-vehicle.vehicle-heart-style.is-sliding-next .wheel-back .cart-wheel-svg {
  animation: wheel-spin-cw .58s cubic-bezier(.22,1,.36,1) !important;
}

.collection-vehicle.vehicle-heart-style.is-sliding-prev .wheel-front .cart-wheel-svg {
  animation: wheel-spin-ccw .58s cubic-bezier(.22,1,.36,1) !important;
}

@media (max-width:900px) {
  .collection-vehicle.vehicle-heart-style .cart-handle,
  .collection-vehicle.vehicle-heart-style .cart-tag {
    display: none !important;
  }
  .collection-vehicle.vehicle-heart-style .vehicle-cargo {
    width: 96% !important;
  }
  .collection-vehicle.vehicle-heart-style .wheel-front {
    left: 10% !important;
  }
  .collection-vehicle.vehicle-heart-style .wheel-back {
    right: 10% !important;
  }
  .collection-vehicle.vehicle-heart-style .vehicle-rail {
    left: 10% !important;
    right: 10% !important;
  }
}

@media (max-width:640px) {
  .collection-vehicle.vehicle-heart-style {
    padding-bottom: 72px !important;
  }
  .collection-vehicle.vehicle-heart-style .cart-bow {
    top: -14px !important;
    width: 80px !important;
  }
  .collection-vehicle.vehicle-heart-style .vehicle-cargo {
    width: 98% !important;
  }
  .collection-vehicle.vehicle-heart-style .vehicle-wheel-btn {
    width: 56px !important;
    height: 56px !important;
  }
  .collection-vehicle.vehicle-heart-style .vehicle-base {
    bottom: 8px !important;
    height: 56px !important;
  }
  .collection-vehicle.vehicle-heart-style .vehicle-rail {
    top: 25px !important;
    height: 3px !important;
  }
  .collection-vehicle.vehicle-heart-style .cart-bottom-slogan {
    margin-top: 12px;
    font-size: .55rem;
  }
}

.btn-whatsapp {
  background: #25D366 !important;
  color: #fff !important;
  border-color: #25D366 !important;
}
.btn-whatsapp:hover {
  background: #1ebe5d !important;
  border-color: #1ebe5d !important;
  transform: translateY(-1px);
}
.btn-whatsapp svg { color: #fff !important; stroke: none !important; fill: currentColor !important; }

/* ── Product badges: visible on all screens (show above quick-add) ────────── */
@media (max-width: 900px) {
  .shop-products-grid .product-card .product-badge,
  .products-grid .product-card .product-badge {
    opacity: 1 !important;
    visibility: visible !important;
    bottom: 76px !important;
  }
}

/* ── Product card buttons: proper size on mobile ──────────────────────────── */
@media (max-width: 640px) {
  .shop-products-grid .product-card-quick-add .btn,
  .products-grid .product-card-quick-add .btn {
    min-height: 36px !important;
    font-size: 0.65rem !important;
    padding: 8px 12px !important;
    letter-spacing: 0.08em !important;
  }
  .shop-products-grid .product-card-media,
  .products-grid .product-card-media {
    padding-bottom: 86px !important;
  }
}

/* Mobile hero uses one full-width media and content plane. */
@media (max-width: 900px) {
  .alm-hero {
    background: var(--ink) !important;
  }
  .alm-hero::before {
    width: 100% !important;
    background: rgba(18,19,21,.52) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  .alm-hero .hero-background-video {
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  .alm-hero .hero-media-luxury::before,
  .alm-hero .hero-media-luxury::after {
    content: none !important;
    display: none !important;
  }
  .alm-hero .hero-media-orbit-container,
  .alm-hero .hero-constellation-container {
    display: none !important;
  }
  .alm-hero .hero-content {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
  }
  .alm-hero .hero-subtitle {
    max-width: 520px !important;
  }
  .alm-hero .hero-stats-bar {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 0 !important;
    margin: 28px 0 0 !important;
    padding: 10px !important;
    overflow: visible !important;
  }
  .alm-hero .hero-stat-card {
    min-width: 0 !important;
    min-height: 76px;
    gap: 10px !important;
    padding: 12px 10px !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
  }
  .alm-hero .hero-stat-card:nth-child(odd) {
    border-right: 1px solid rgba(255,255,255,.08) !important;
  }
  .alm-hero .hero-stat-card:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }
  .alm-hero .hero-stat-icon {
    width: 36px;
    height: 36px;
  }
  .alm-hero .hero-stat-info {
    min-width: 0;
  }
  .alm-hero .hero-stat-info strong {
    font-size: 1.05rem;
    white-space: nowrap;
  }
  .alm-hero .hero-stat-info span {
    font-size: .58rem;
    overflow-wrap: anywhere;
  }
}

/* Show complete product photography instead of cropping the packs. */
.product-card-media {
  background: #111315 !important;
}
.product-card-media .product-card-img-link {
  padding: clamp(8px,1.2vw,16px);
}
.product-card-media img {
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: none;
}
.product-card:hover .product-card-media img {
  transform: scale(1.015) !important;
}

@media (max-width: 640px) {
  .alm-hero {
    min-height: auto !important;
    align-items: flex-start !important;
    padding: 28px 0 28px !important;
  }
  .alm-hero .hero-content {
    padding-top: 18px !important;
  }
  .alm-hero .hero-stats-bar {
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    padding: 8px !important;
  }
  .alm-hero .hero-stat-card {
    min-height: 70px;
    padding: 10px 7px !important;
  }
  .alm-hero .hero-stat-icon {
    width: 32px;
    height: 32px;
  }
  .alm-hero .hero-stat-icon svg {
    width: 17px;
    height: 17px;
  }
  .product-card-media .product-card-img-link {
    padding: 7px;
  }
}

/* ==========================================================================
   HERO CUSTOM TEMPLATES & RESPONSIVE VERTICAL STACKING
   ========================================================================== */

/* --- 1. Video Template Desktop Styles --- */
.hero-template-video {
  background: var(--ink) !important; /* solid premium black background */
}
.hero-template-video::before {
  display: none !important; /* hide the background video overlay gradient mask */
}
.hero-media-video-only {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  width: 50% !important;
  height: 100% !important;
  z-index: 2 !important;
  background: #000 !important;
}
.hero-video-only-container {
  width: 100% !important;
  height: 100% !important;
}
.hero-right-side-video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* --- 1b. Option 3 Template Desktop Styles (Full-Width Background Video, Empty Right-Side) --- */
.hero-template-option3::before {
  width: 100% !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  background: rgba(18, 19, 21, 0.58) !important;
}
.hero-template-option3 .hero-background-video {
  width: 100% !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* --- 2. Mobile Responsive Vertical Stacking (< 900px) --- */
@media (max-width: 900px) {
  /* Enforce vertical stacking */
  .alm-hero.hero-template-video,
  .alm-hero.hero-template-orbit,
  .alm-hero.hero-template-option3 {
    display: flex !important;
    flex-direction: column !important;
    min-height: calc(100vh - var(--nav-h)) !important;
    min-height: calc(100svh - var(--nav-h)) !important;
    height: auto !important;
    padding: 0 !important;
    margin-top: var(--nav-h) !important;
    background: var(--ink) !important;
  }

  .alm-hero.hero-template-video::before,
  .alm-hero.hero-template-orbit::before {
    display: none !important;
  }

  /* Right-side media portion (orbit/video) goes FIRST in flex order */
  .alm-hero.hero-template-video .hero-media,
  .alm-hero.hero-template-orbit .hero-media {
    position: relative !important;
    width: 100% !important;
    height: 40vh !important;
    min-height: 280px !important;
    inset: auto !important;
    transform: none !important;
    order: 1 !important;
    display: block !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  /* Left-side content wrapper (text, buttons, stats) goes SECOND in flex order */
  .alm-hero.hero-template-video .hero-content-wrapper,
  .alm-hero.hero-template-orbit .hero-content-wrapper,
  .alm-hero.hero-template-option3 .hero-content-wrapper {
    position: relative !important;
    width: 100% !important;
    padding: 32px 16px 40px !important;
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    flex-grow: 1 !important;
    z-index: 5 !important;
  }

  .alm-hero.hero-template-video .container,
  .alm-hero.hero-template-orbit .container,
  .alm-hero.hero-template-option3 .container {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
  }

  .alm-hero.hero-template-video .hero-content,
  .alm-hero.hero-template-orbit .hero-content,
  .alm-hero.hero-template-option3 .hero-content {
    max-width: 100% !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .alm-hero.hero-template-video .hero-subtitle,
  .alm-hero.hero-template-orbit .hero-subtitle,
  .alm-hero.hero-template-option3 .hero-subtitle {
    max-width: 100% !important;
    font-size: 0.9rem !important;
  }

  .alm-hero.hero-template-video .hero-stats-bar,
  .alm-hero.hero-template-orbit .hero-stats-bar,
  .alm-hero.hero-template-option3 .hero-stats-bar {
    margin-top: 20px !important;
  }

  /* Show orbit on mobile when not hidden by admin */
  .alm-hero.hero-template-orbit:not(.hero-mobile-hide-right) .hero-media-orbit-container,
  .alm-hero.hero-template-orbit:not(.hero-mobile-hide-right) .hero-constellation-container {
    display: flex !important;
    position: relative !important;
    margin: 0 auto !important;
    width: min(340px, 94vw) !important;
    height: 240px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
  .alm-hero.hero-template-orbit:not(.hero-mobile-hide-right) .hero-constellation-lines {
    display: block !important;
  }
  .alm-hero.hero-template-orbit:not(.hero-mobile-hide-right) .hero-orbit-ring-wrapper {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
  }

  /* --- 3. Admin mobile hide/show toggle implementation --- */
  .alm-hero.hero-mobile-hide-right .hero-media {
    display: none !important;
  }
}
