@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@300;400;500;600;700&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-family);background:var(--color-primary);color:var(--color-on-surface);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;padding-top:112px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

:root{
  --color-primary:#F4F4F4;--color-primary-dark:#0A0A0A;--color-primary-light:#FFFFFF;--color-secondary:#161616;
  --color-accent:#ED1C24;--color-accent-dark:#DB0E1C;--color-surface:#FFFFFF;--color-surface-alt:#F4F4F4;--color-surface-dark:#0A0A0A;
  --color-on-surface:#0A0A0A;--color-on-surface-muted:#555555;--color-on-dark:#FFFFFF;
  --color-success:#22c55e;--color-error:#ef4444;--color-warning:#f59e0b;--color-info:#3b82f6;
  --font-family:'Inter',sans-serif;--font-serif:'Bebas Neue',sans-serif;--font-mono:'IBM Plex Mono',monospace;
  --font-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);--font-sm:clamp(0.875rem,0.8rem + 0.25vw,1rem);
  --font-base:clamp(1rem,0.9rem + 0.5vw,1.125rem);--font-lg:clamp(1.125rem,1rem + 0.5vw,1.375rem);
  --font-xl:clamp(1.5rem,1.2rem + 1vw,2rem);--font-2xl:clamp(2rem,1.5rem + 2vw,3rem);
  --font-3xl:clamp(2.5rem,2rem + 2.5vw,4rem);--font-4xl:clamp(3rem,2.5rem + 3vw,5rem);--font-5xl:clamp(4rem,3rem + 5vw,8rem);
  --space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
  --space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --leading-tight:1.25;--leading-normal:1.6;--leading-relaxed:1.75;
  --ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-editorial:cubic-bezier(0.22,1,0.36,1);
}

.display{font-family:var(--font-serif);font-weight:400;line-height:var(--leading-tight);letter-spacing:-0.02em;text-wrap:balance;text-transform:uppercase}
.font-5xl{font-size:var(--font-5xl)}.font-4xl{font-size:var(--font-4xl)}.font-3xl{font-size:var(--font-3xl)}.font-2xl{font-size:var(--font-2xl)}.font-xl{font-size:var(--font-xl)}
.body-text{font-size:var(--font-base);color:var(--color-on-surface-muted)}
.lede{font-size:var(--font-lg);line-height:var(--leading-relaxed);color:var(--color-on-surface-muted);max-width:65ch}
.eyebrow{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.18em;color:var(--color-accent)}
.mono{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.18em;font-size:var(--font-xs)}
.coord{font-family:var(--font-mono);font-size:var(--font-xs);color:var(--color-on-surface-muted);letter-spacing:0.1em}

.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--space-6)}
.grid{display:grid;gap:var(--space-8)}
.grid-2{grid-template-columns:1fr}.grid-2-8{grid-template-columns:1fr}.grid-2-cols{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr}
@media(min-width:768px){.grid-2{grid-template-columns:minmax(0,3fr) minmax(0,7fr)}.grid-2-8{grid-template-columns:minmax(0,1fr) minmax(0,4fr)}.grid-2-cols{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.why-og-grid{grid-template-columns:1fr}
@media(min-width:768px){
.why-og-grid{grid-template-columns:repeat(6,1fr)}
.why-og-grid > .card{grid-column:span 2}
.why-og-grid > .card:nth-child(4){grid-column:2 / span 2}
.why-og-grid > .card:nth-child(5){grid-column:4 / span 2}
}

.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}
.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-12{gap:var(--space-12)}
.text-center{text-align:center}.text-left{text-align:left}.mx-auto{margin-left:auto;margin-right:auto}.w-full{width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.desktop-only{display:none}
@media(min-width:1024px){.desktop-only{display:flex}}
.mobile-only{display:flex}
@media(min-width:1024px){.mobile-only{display:none}}

.section{padding:var(--space-16) 0;position:relative;background:var(--color-surface)}
.section + .section,.hero + .section{border-top:none}
.section-progress{position:absolute;top:0;left:0;height:3px;width:0;background:var(--color-accent);z-index:10;transform-origin:left}
.section--sm{padding:var(--space-12) 0}.section--lg{padding:var(--space-24) 0}
.section--alt{background:var(--color-surface-alt)}.section--dark{background:var(--color-primary-dark)}.section--primary{background:var(--color-primary)}
.section-header{max-width:700px;margin:0 auto var(--space-12);text-align:center}
.section-header .display{margin-bottom:var(--space-4)}

.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(10,10,10,0.85);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.05);transition:background 0.3s var(--ease-out);color:#fff}
.site-header .container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:88px;position:relative}
.site-header .logo{position:static;transform:none;justify-self:center;color:#fff}
.header-right{display:flex;align-items:center;gap:var(--space-3);justify-content:flex-end}
@media(min-width:1024px){.header-right{gap:var(--space-6)}}
.header-left{display:flex;align-items:center;gap:var(--space-4);min-width:0}

/* Shop/cart/checkout/account header: no logo, nav gets the full width on one line. */
.site-header--shop .container{grid-template-columns:1fr auto}
.site-header--shop .header-left{flex:1;min-width:0}

.logo{font-family:var(--font-serif);font-size:var(--font-2xl);letter-spacing:0.05em;color:var(--color-on-surface)}
.logo span{color:var(--color-accent)}
.nav-main{display:none}
.nav-main a{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.6);transition:color 0.2s;padding:var(--space-2) 0;white-space:nowrap;flex-shrink:0}
.nav-main a:hover{color:#fff}.nav-main .is-active{color:var(--color-accent)}.nav-main a.shop-link{color:var(--color-accent)}
@media(min-width:1024px){.nav-main{display:flex;gap:var(--space-8)}}
@media(min-width:1024px){.site-header--shop .nav-main{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:var(--space-6);scrollbar-width:none;-ms-overflow-style:none}}
.site-header--shop .nav-main::-webkit-scrollbar{display:none}
.menu-toggle{display:inline-flex;align-items:center;background:none;border:none;color:#fff;cursor:pointer;padding:var(--space-2)}
@media(min-width:1024px){.menu-toggle{display:none}}
.icon-link{color:rgba(255,255,255,0.6);transition:color 0.2s;display:inline-flex;align-items:center}
.icon-link:hover{color:#fff}
.nav-contact{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.6);transition:color 0.2s;padding:var(--space-2) 0}
.nav-contact:hover{color:#fff}
@media(max-width:1023px){.nav-contact{display:none}}

.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(10,10,10,0.3) 0%,rgba(10,10,10,0.7) 100%),var(--color-primary)}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:0.6}
.hero-content{position:relative;z-index:2;width:100%}
.hero .display{margin-bottom:var(--space-6);max-width:900px;color:#fff}
.hero .lede{margin-bottom:var(--space-8);max-width:600px;color:rgba(255,255,255,0.8)}
.hero .btn-outline{color:#fff;border-color:rgba(255,255,255,0.4)}
.hero .btn-outline:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,0.1)}
.hero--light{background:var(--color-primary)}
.hero--light .display,
.hero--light .lede{color:var(--color-on-surface)}
.hero--light .btn-outline{color:var(--color-on-surface);border-color:rgba(0,0,0,0.2)}
.hero--light .btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent)}

.hud-line{height:1px;background:linear-gradient(90deg,transparent,rgba(237,28,36,0.4),transparent);width:100%;margin:var(--space-4) 0}
.tech-pill{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--font-xs);border:1px solid rgba(0,0,0,0.1);padding:var(--space-2) var(--space-4);color:var(--color-on-surface-muted)}
.tech-pill::before{content:'';width:6px;height:6px;background:var(--color-accent);border-radius:50%}
.aviation-border{border:1px solid rgba(0,0,0,0.08);position:relative}
.aviation-border::before{content:'';position:absolute;top:-1px;left:-1px;width:8px;height:8px;border-top:1px solid var(--color-accent);border-left:1px solid var(--color-accent)}
.aviation-border::after{content:'';position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;border-bottom:1px solid var(--color-accent);border-right:1px solid var(--color-accent)}

.dealers-map-section{padding:var(--space-16) 0;background:var(--color-primary)}
#dealers-map{width:100%;height:600px;background:var(--color-primary-dark);border-radius:4px;overflow:hidden}
.dealers-list{border-top:1px solid rgba(0,0,0,0.06)}
.country-group{border-bottom:1px solid rgba(0,0,0,0.06)}
.country-toggle{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-5) 0;background:none;border:none;color:var(--color-on-surface);font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.12em;cursor:pointer;transition:color .2s}
.country-toggle:hover{color:var(--color-accent)}
.country-name{flex:1;text-align:left}
.country-count{color:var(--color-on-surface-muted)}
.country-icon{color:var(--color-on-surface-muted);transition:transform .3s var(--ease-out)}
.country-group.is-open .country-icon{transform:rotate(180deg)}
.country-dealers{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-out)}
.country-group.is-open .country-dealers{max-height:500px}
.country-dealers .dealer-item{padding-left:var(--space-4);border-bottom:none;border-top:1px solid rgba(0,0,0,0.04)}
.country-dealers .dealer-item:first-child{border-top:none}
.dealer-item{padding:var(--space-5) 0;border-bottom:1px solid rgba(0,0,0,0.06);cursor:pointer;transition:background .2s var(--ease-out)}
.dealer-item:hover{background:rgba(237,28,36,0.04)}
.dealer-item.is-active .dealer-item-name{color:var(--color-accent)}
.dealer-item-name{font-family:var(--font-serif);font-size:var(--font-xl);text-transform:uppercase;margin-bottom:var(--space-1);letter-spacing:-0.01em}
.dealer-item-city{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;color:var(--color-on-surface-muted);letter-spacing:0.12em}
.dealer-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--space-6);opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out)}
.dealer-modal.is-open{opacity:1;pointer-events:auto}
.dealer-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(4px)}
.dealer-modal-panel{position:relative;background:var(--color-secondary);color:#fff;border:1px solid rgba(255,255,255,0.08);border-radius:4px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;padding:var(--space-10);transform:translateY(20px);transition:transform .4s var(--ease-out)}
.dealer-modal.is-open .dealer-modal-panel{transform:translateY(0)}
.dealer-modal-close{position:absolute;top:var(--space-4);right:var(--space-4);background:none;border:none;color:#fff;font-size:var(--font-2xl);line-height:1;cursor:pointer;padding:var(--space-2);opacity:.6;transition:opacity .2s}
.dealer-modal-close:hover{opacity:1}
.dealer-modal-name{margin-bottom:var(--space-2)}
.dealer-modal-city{margin-bottom:var(--space-8)}
.dealer-modal-details{display:grid;gap:var(--space-6);margin-bottom:var(--space-8)}
.dealer-detail-label{display:block;margin-bottom:var(--space-2);color:rgba(255,255,255,.5);letter-spacing:0.12em}
.dealer-detail-value{color:#fff;font-size:var(--font-sm)}
.dealer-detail-value a{color:var(--color-accent);text-decoration:underline;text-underline-offset:4px;transition:opacity .2s}
.dealer-detail-value a:hover{opacity:.8}
.dealers-layout{display:grid;gap:var(--space-12);align-items:start;grid-template-columns:1fr}
@media(min-width:768px){.dealers-layout{grid-template-columns:minmax(0,320px) minmax(0,1fr)}}
.dealers-scroll{max-height:70vh;overflow-y:auto;padding-right:var(--space-4);scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0.25) transparent}
@media(min-width:768px){.dealers-scroll{max-height:600px}}
.dealers-scroll::-webkit-scrollbar{width:6px}
.dealers-scroll::-webkit-scrollbar-track{background:transparent}
.dealers-scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.25);border-radius:3px}
.dealers-scroll::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.4)}
.leaflet-div-icon{background:transparent;border:none;padding:0;margin:0}
.custom-marker-container{display:flex;align-items:center;justify-content:center}
.custom-marker{width:16px;height:16px;background:var(--color-accent);border-radius:50%;border:2px solid #fff;box-shadow:0 0 12px rgba(237,28,36,0.6);position:relative}
.custom-marker::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(237,28,36,0.35);animation:pulse-ring 2s cubic-bezier(0.22,1,0.36,1) infinite}
@keyframes pulse-ring{0%{transform:scale(0.8);opacity:1}100%{transform:scale(2.2);opacity:0}}
.leaflet-popup-content-wrapper{background:var(--color-secondary);color:#fff;border-radius:4px;border:1px solid rgba(255,255,255,0.08);box-shadow:0 8px 24px rgba(0,0,0,0.5)}
.leaflet-popup-tip{background:var(--color-secondary)}
.leaflet-popup-content{margin:var(--space-6);font-family:var(--font-family)}
.leaflet-container a.leaflet-popup-close-button{color:rgba(255,255,255,0.5)}
.leaflet-container a.leaflet-popup-close-button:hover{color:#fff}
.leaflet-control-zoom a{background:var(--color-secondary)!important;color:#fff!important;border-color:rgba(255,255,255,0.1)!important}
.leaflet-control-zoom a:hover{background:var(--color-accent)!important}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.12em;padding:var(--space-4) var(--space-8);border:1px solid transparent;cursor:pointer;transition:all 0.3s var(--ease-out);position:relative;overflow:hidden}
.btn-primary{background:var(--color-accent);color:var(--color-on-dark);border-color:var(--color-accent)}
.btn-primary:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}
.btn-outline{background:transparent;color:var(--color-on-surface);border-color:rgba(0,0,0,0.2)}
.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent)}
.btn-white{background:#fff;color:var(--color-primary);border-color:#fff}
.btn-ghost{background:transparent;color:var(--color-on-surface-muted);border-color:transparent}
.btn-lg{padding:var(--space-5) var(--space-10)}.btn-sm{padding:var(--space-2) var(--space-6)}

.altitude-timeline{display:grid;gap:0;border-top:1px solid rgba(0,0,0,0.08)}
.altitude-item{display:grid;grid-template-columns:120px 1fr;align-items:center;padding:var(--space-8) var(--space-6);border-bottom:1px solid rgba(0,0,0,0.08);position:relative}
.altitude-item .ft{font-family:var(--font-serif);font-size:var(--font-3xl);color:var(--color-accent);line-height:1}
.altitude-item .label{font-family:var(--font-mono);font-size:var(--font-sm);text-transform:uppercase;letter-spacing:0.1em}
.altitude-item .desc{font-family:var(--font-mono);font-size:var(--font-xs);color:var(--color-on-surface-muted);margin-top:var(--space-2)}
@media(min-width:768px){
.altitude-timeline{grid-template-columns:repeat(4,1fr);border-top:none}
.altitude-item{grid-template-columns:1fr;text-align:center;padding:var(--space-12) var(--space-6);border-bottom:none;border-right:1px solid rgba(0,0,0,0.08)}
.altitude-item:last-child{border-right:none}
.altitude-item .ft{font-size:var(--font-4xl);margin-bottom:var(--space-4)}
}

.brand-item{padding:var(--space-4) 0;border-bottom:1px solid rgba(0,0,0,0.15)}.brand-item:last-child{border-bottom:none}@media(min-width:1024px){.brand-item{border-bottom:none;border-right:1px solid rgba(0,0,0,0.15);padding:var(--space-4) var(--space-6)}.brand-item:last-child{border-right:none}}.brand-split{gap:0}@media(min-width:768px){.brand-split-left{padding-right:var(--space-12);display:flex;align-items:center;border-right:1px solid rgba(0,0,0,0.15)}.brand-split-right{padding-left:var(--space-12)}}.card{background:var(--color-surface-alt);position:relative;overflow:hidden;transition:transform 0.4s var(--ease-out)}
.card--elevated{box-shadow:0 20px 40px rgba(0,0,0,0.4)}
.card--bordered{border:1px solid rgba(0,0,0,0.06)}
.card-img{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--color-primary-light)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-out)}
.card:hover .card-img img{transform:scale(1.05)}
.card-body{padding:var(--space-6)}
.card-title{font-family:var(--font-serif);font-size:var(--font-xl);text-transform:uppercase;margin-bottom:var(--space-2)}
.card-text{font-size:var(--font-sm);color:var(--color-on-surface-muted)}
.card-icon{width:36px;height:36px;margin-bottom:var(--space-4);color:var(--color-accent)}

.product-card{align-self:start}
.product-card .card-img{aspect-ratio:3/4}
.product-price{font-family:var(--font-mono);color:var(--color-accent);margin-top:var(--space-2)}
.category-card{position:relative;overflow:hidden;display:block;color:inherit}
.category-card-img{aspect-ratio:3/4;overflow:hidden;background:var(--color-primary-light)}
.category-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-out)}
.category-card:hover .category-card-img img{transform:scale(1.05)}
.category-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-6);background:linear-gradient(transparent 0%,rgba(0,0,0,0.95) 100%);display:flex;align-items:center;justify-content:space-between}
.category-card-name{font-family:var(--font-serif);font-size:var(--font-xl);text-transform:uppercase;color:#fff;line-height:1}
.category-card-arrow{color:var(--color-accent);font-size:var(--font-xl);line-height:1;transition:transform 0.3s var(--ease-out)}
.category-card:hover .category-card-arrow{transform:translateX(4px)}

.athlete-card{position:relative;overflow:hidden}
.athlete-card img{transition:transform 0.6s var(--ease-out);width:100%;aspect-ratio:1/1;object-fit:cover}
.athlete-card:hover img{transform:scale(1.08)}
.athlete-info{position:absolute;bottom:0;left:0;right:0;padding:var(--space-8) var(--space-6) var(--space-6);background:linear-gradient(transparent,rgba(0,0,0,0.9))}
.athlete-name{font-family:var(--font-serif);font-size:var(--font-2xl);text-transform:uppercase;color:#fff}
.athlete-meta{font-family:var(--font-mono);font-size:var(--font-xs);color:rgba(255,255,255,0.6);margin-top:var(--space-2)}
.athlete-meta span{color:var(--color-accent)}
.athlete-social{display:flex;gap:var(--space-4);margin-top:var(--space-4)}
.athlete-social a{color:rgba(255,255,255,0.7);transition:all 0.2s var(--ease-out);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);backdrop-filter:blur(4px)}
.athlete-social a:hover{color:#fff;background:var(--color-accent);border-color:var(--color-accent);transform:translateY(-2px)}
.athlete-social svg{width:20px;height:20px}
.athlete-card--hover .athlete-info{opacity:0;transform:translateY(30px);transition:opacity 0.35s var(--ease-out),transform 0.35s var(--ease-out),backdrop-filter 0.35s var(--ease-out);background:linear-gradient(transparent 0%,rgba(0,0,0,0.90) 20%,rgba(0,0,0,0.98) 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(237,28,36,0.35);padding-top:var(--space-8)}
.athlete-card--hover:hover .athlete-info{opacity:1;transform:translateY(0)}
.section[data-vb-section="athlete-grid"] .athlete-card{transform:scale(0.96);transform-origin:center}
.athlete-name-static{position:absolute;bottom:0;left:0;right:0;padding:var(--space-8) var(--space-6) var(--space-6);pointer-events:none;color:#fff}
.section[data-vb-section="athletes"] .athlete-card{aspect-ratio:1/1}
.section[data-vb-section="athletes"] .athlete-card img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}

.journal-card{display:grid;gap:var(--space-6)}
.journal-card .card-img{aspect-ratio:1/1}
.journal-card .eyebrow{margin-bottom:var(--space-3);display:inline-block}
.journal-card .card-title{font-size:var(--font-2xl)}
.section[data-vb-section="journal-newsletter"] .journal-card{gap:var(--space-4)}
.section[data-vb-section="journal-newsletter"] .journal-card .card-img{aspect-ratio:16/10}
.section[data-vb-section="journal-newsletter"] .journal-card .card-title{font-size:var(--font-xl)}
.journal-card.journal-card--rect{grid-template-columns:1fr 1fr;gap:0}
.section[data-vb-section="journal-newsletter"] .journal-card.journal-card--rect .card-img{aspect-ratio:16/10;height:100%}
.journal-card.journal-card--rect .card-body{padding:var(--space-5);display:flex;flex-direction:column;justify-content:center}
.section[data-vb-section="journal-newsletter"] .journal-card.journal-card--rect .card-title{font-size:var(--font-lg)}
@media(max-width:767px){.journal-card.journal-card--rect{grid-template-columns:1fr}}
.journal-layout{grid-template-columns:1fr}
@media(min-width:768px){.journal-layout{grid-template-columns:2fr 3fr 2fr}}
.journal-split{grid-template-columns:1fr}
@media(min-width:768px){.journal-split{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}}

.instagram-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}
.instagram-grid img{aspect-ratio:1;object-fit:cover;width:100%}
@media(min-width:768px){.instagram-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1024px){.instagram-grid{grid-template-columns:repeat(6,1fr)}}

.newsletter-form{display:flex;gap:var(--space-4);max-width:500px;margin:var(--space-8) auto 0;flex-direction:column}
@media(min-width:640px){.newsletter-form{flex-direction:row}}
.newsletter-form input{flex:1;background:var(--color-surface-alt);border:1px solid rgba(0,0,0,0.1);color:var(--color-on-surface);padding:var(--space-4) var(--space-6);font-family:var(--font-family);font-size:var(--font-sm)}
.newsletter-form input:focus{outline:none;border-color:var(--color-accent)}

.site-footer{background:#0A0A0A;padding:var(--space-16) 0 var(--space-8);border-top:1px solid rgba(255,255,255,0.05);color:#fff}
.footer-grid{display:grid;gap:var(--space-12);grid-template-columns:1fr}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr repeat(3,1fr)}}
.footer-col h4{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.12em;color:#888;margin-bottom:var(--space-6)}
.footer-col ul li{margin-bottom:var(--space-3)}
.footer-col ul li a{color:#888;font-size:var(--font-sm);transition:color 0.2s}
.footer-col ul li a:hover{color:#fff}
.footer-bottom{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid rgba(255,255,255,0.05);display:flex;flex-direction:column;gap:var(--space-4);align-items:center;justify-content:space-between}
@media(min-width:768px){.footer-bottom{flex-direction:row}}
.footer-social{display:flex;gap:var(--space-6)}
.footer-social a{color:#888;transition:color 0.2s}
.footer-social a:hover{color:var(--color-accent)}

.form-group{margin-bottom:var(--space-6)}
.form-group label{display:block;font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-on-surface-muted);margin-bottom:var(--space-3)}
.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--color-surface-alt);border:1px solid rgba(0,0,0,0.1);color:var(--color-on-surface);padding:var(--space-4) var(--space-5);font-family:var(--font-family);font-size:var(--font-sm)}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}
.form-row{display:grid;gap:var(--space-6);grid-template-columns:1fr}
@media(min-width:640px){.form-row.grid-2{grid-template-columns:repeat(2,1fr)}}
.form-hp{display:none;}

.cart-table{width:100%;border-collapse:collapse}
.cart-table th{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-on-surface-muted);text-align:left;padding:var(--space-4) 0;border-bottom:1px solid rgba(0,0,0,0.08)}
.cart-table td{padding:var(--space-6) 0;border-bottom:1px solid rgba(0,0,0,0.05);vertical-align:middle}
.cart-product{display:flex;align-items:center;gap:var(--space-4)}
.cart-product img{width:80px;height:100px;object-fit:cover;background:var(--color-surface-alt)}
.cart-summary{background:var(--color-surface-alt);padding:var(--space-8);border:1px solid rgba(0,0,0,0.06)}
.cart-summary-row{display:flex;justify-content:space-between;margin-bottom:var(--space-4);font-size:var(--font-sm)}
.cart-summary-row.total{font-family:var(--font-serif);font-size:var(--font-xl);text-transform:uppercase;border-top:1px solid rgba(0,0,0,0.1);padding-top:var(--space-4);margin-top:var(--space-4)}

.checkout-layout{display:grid;gap:var(--space-12);grid-template-columns:1fr}
@media(min-width:1024px){.checkout-layout{grid-template-columns:1fr 400px}}
.checkout-form{background:var(--color-surface-alt);padding:var(--space-8);border:1px solid rgba(0,0,0,0.06)}
.checkout-steps{display:flex;gap:var(--space-4);margin-bottom:var(--space-8)}
.checkout-step{font-family:var(--font-mono);font-size:var(--font-xs);color:var(--color-on-surface-muted)}
.checkout-step.active{color:var(--color-accent)}
.step-divider{color:rgba(0,0,0,0.1)}

.account-nav{display:flex;flex-direction:column;gap:var(--space-2)}
.account-nav a{display:block;padding:var(--space-4) var(--space-6);font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;color:var(--color-on-surface-muted);border-left:2px solid transparent}
.account-nav a:hover,.account-nav a.is-active{color:var(--color-on-surface);border-left-color:var(--color-accent);background:var(--color-surface-alt)}
.account-content{background:var(--color-surface-alt);padding:var(--space-8);border:1px solid rgba(0,0,0,0.06)}

.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity 0.8s var(--ease-editorial),transform 0.8s var(--ease-editorial)}
.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:0.1s}.delay-2{transition-delay:0.2s}.delay-3{transition-delay:0.3s}.delay-4{transition-delay:0.4s}

.marquee{overflow:hidden;white-space:nowrap;position:relative}
.marquee-track{display:inline-flex;animation:marq 20s linear infinite}
.marquee-item{padding:0 var(--space-8);font-family:var(--font-serif);font-size:var(--font-3xl);text-transform:uppercase;opacity:0.15}

@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.app-window{background:var(--color-surface-alt);border:1px solid rgba(0,0,0,0.08);border-radius:4px;overflow:hidden}
.aw-top{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid rgba(0,0,0,0.06)}
.aw-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.15)}
.aw-url{font-family:var(--font-mono);font-size:10px;color:var(--color-on-surface-muted);margin-left:auto}
.aw-main{padding:var(--space-4)}

.spec-list{border-top:1px solid rgba(255,255,255,0.06)}
.spec-list dt{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;color:var(--color-on-surface-muted);padding:var(--space-4) 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.spec-list dd{padding:var(--space-4) 0 var(--space-6);font-size:var(--font-sm);color:var(--color-on-surface);border-bottom:1px solid rgba(255,255,255,0.06);margin:0}
@media(min-width:768px){
.spec-list div{display:grid;grid-template-columns:200px 1fr;align-items:baseline;gap:var(--space-6);border-bottom:1px solid rgba(255,255,255,0.06)}
.spec-list dt{border:none;padding:var(--space-4) 0}
.spec-list dd{border:none;padding:var(--space-4) 0}
}

.faq-list{border-top:1px solid rgba(0,0,0,0.06)}
.faq-item{border-bottom:1px solid rgba(0,0,0,0.06)}
.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-6) 0;background:none;border:none;color:var(--color-on-surface);font-family:var(--font-family);font-size:var(--font-base);text-align:left;cursor:pointer}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s var(--ease-out)}
.faq-item.is-open .faq-answer{max-height:500px;padding-bottom:var(--space-6)}
.faq-icon{transition:transform 0.3s;color:var(--color-accent)}
.faq-item.is-open .faq-icon{transform:rotate(45deg)}

.legal-page{padding:var(--space-24) 0;max-width:800px;margin:0 auto}
.prose h2{font-family:var(--font-serif);font-size:var(--font-2xl);text-transform:uppercase;margin:var(--space-12) 0 var(--space-4)}
.prose p{margin-bottom:var(--space-4);color:var(--color-on-surface-muted);line-height:var(--leading-relaxed)}
.prose ul{list-style:disc;padding-left:var(--space-6);margin-bottom:var(--space-4);color:var(--color-on-surface-muted)}

.mobile-menu{position:fixed;inset:0;z-index:150;background:#0A0A0A;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--space-6);opacity:0;pointer-events:none;transition:opacity 0.3s;padding:var(--space-12) var(--space-8)}
.mobile-menu.is-open{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:var(--font-serif);font-size:var(--font-2xl);text-transform:uppercase;line-height:1.2;color:#fff}
.mobile-close{position:absolute;top:var(--space-6);right:var(--space-6);background:none;border:none;color:#fff;cursor:pointer;padding:var(--space-2);display:flex;align-items:center;justify-content:center}
.mobile-close svg{width:32px;height:32px}
.mobile-search{width:100%;max-width:400px;margin-bottom:var(--space-2)}
.mobile-search input{width:100%;background:#161616;border:1px solid rgba(255,255,255,0.1);color:#fff;padding:var(--space-4) var(--space-5);font-family:var(--font-family);font-size:var(--font-sm)}
.mobile-search input:focus{outline:none;border-color:var(--color-accent)}

.product-gallery{background:var(--color-surface-alt);aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.product-gallery img{object-fit:cover;width:100%;height:100%}
.thumbnails{display:flex;gap:var(--space-3);margin-top:var(--space-4)}
.thumb{width:80px;height:80px;background:var(--color-surface-alt);border:1px solid rgba(0,0,0,0.06);cursor:pointer;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;opacity:0.5;transition:opacity 0.2s}
.thumb:hover img,.thumb.is-active img{opacity:1}

.color-swatches{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}
.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;position:relative;transition:transform .2s var(--ease-out),border-color .2s}
.color-swatch:hover{transform:scale(1.1)}
.color-swatch.is-active{border-color:var(--color-accent);transform:scale(1.1)}
.color-swatch.has-pattern::after{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,0.15)}
.color-swatch:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}

.process-steps{display:grid;gap:var(--space-8);grid-template-columns:1fr;counter-reset:step}
@media(min-width:768px){.process-steps{grid-template-columns:repeat(4,1fr)}}
.process-step{position:relative;padding-left:var(--space-8);border-left:1px solid rgba(0,0,0,0.08)}
.process-step::before{counter-increment:step;content:"0" counter(step);position:absolute;left:-1px;top:0;transform:translateX(-50%);background:var(--color-primary);padding:0 var(--space-2);font-family:var(--font-mono);font-size:var(--font-xs);color:var(--color-accent)}

.kpi-grid{display:grid;gap:var(--space-8);grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.kpi-grid{grid-template-columns:repeat(4,1fr)}}
.kpi .k{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;color:var(--color-on-surface-muted);margin-bottom:var(--space-2)}
.kpi .n{font-family:var(--font-serif);font-size:var(--font-3xl);color:var(--color-on-surface);line-height:1}
.kpi .d{font-family:var(--font-mono);font-size:var(--font-xs);color:var(--color-accent);margin-top:var(--space-2)}

.skip-link{position:absolute;top:-40px;left:0;background:var(--color-accent);color:#fff;padding:var(--space-2) var(--space-4);z-index:101;font-family:var(--font-mono);font-size:var(--font-xs);transition:top 0.2s}
.skip-link:focus{top:0}

.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--color-surface-dark);border-top:1px solid rgba(255,255,255,0.08);padding:var(--space-6) 0;transform:translateY(100%);transition:transform 0.4s var(--ease-out)}
.cookie-banner.is-visible{transform:translateY(0)}
.cookie-inner{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;justify-content:space-between}
@media(min-width:768px){.cookie-inner{flex-direction:row}}
.cookie-text{font-size:var(--font-sm);color:var(--color-on-surface-muted)}
.cookie-actions{display:flex;gap:var(--space-4)}

.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-on-surface-muted)}
.border-top{border-top:1px solid rgba(0,0,0,0.06)}.border-bottom{border-bottom:1px solid rgba(0,0,0,0.06)}
.gift-card-layout{display:grid;gap:var(--space-12);grid-template-columns:1fr;align-items:center}
@media(min-width:768px){.gift-card-layout{grid-template-columns:1fr 1fr}}

.currency-switcher{position:relative;display:inline-flex;align-items:center}
.currency-select{background:transparent;border:none;color:rgba(255,255,255,0.6);font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.12em;padding:var(--space-1) var(--space-5) var(--space-1) var(--space-1);appearance:none;-webkit-appearance:none;border-radius:0;cursor:pointer;transition:color .2s}
.currency-select option{background:#fff;color:#0A0A0A}
.currency-select:focus-visible{outline:1px solid var(--color-accent);outline-offset:2px}
.currency-switcher::after{content:'▾';position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:11px;color:rgba(255,255,255,0.6);pointer-events:none;transition:color .2s}
.currency-switcher:hover .currency-select,.currency-select:hover{color:var(--color-accent)}
.currency-switcher:hover::after{color:var(--color-accent)}

.cart-layout{grid-template-columns:1fr}
@media(min-width:768px){.cart-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
.cart-layout .cart-summary{padding:var(--space-6)}

.page-header{padding:var(--space-16) 0 var(--space-8);background:var(--color-primary-dark);color:var(--color-on-dark)}
.page-header .display{color:#fff}
.page-header .lede{color:rgba(255,255,255,0.75)}
.page-header .breadcrumb ol li{color:rgba(255,255,255,0.5)}
.page-header .breadcrumb a{color:#fff}
.page-header .breadcrumb a:hover{color:var(--color-accent)}

/* WC-wrapped pages (cart/checkout/account): align body padding to the fixed header height (88px) so no light band shows above the dark page-header. */
body.option-gravity-wc{padding-top:56px}

.breadcrumb{font-size:var(--font-sm);margin-bottom:var(--space-6)}
.breadcrumb ol{display:flex;gap:var(--space-3);list-style:none;padding:0;flex-wrap:wrap}
.breadcrumb li{color:var(--color-on-surface-muted)}
.breadcrumb li:not(:last-child)::after{content:'/';margin-left:var(--space-3);color:var(--color-on-surface-muted)}
.breadcrumb a{color:var(--color-on-surface);text-decoration:underline;text-underline-offset:4px}
.breadcrumb a:hover{color:var(--color-accent)}

.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid rgba(0,0,0,0.06);flex-wrap:wrap;gap:var(--space-4)}
.results-count{color:var(--color-on-surface-muted)}
.sort-dropdown select{background:var(--color-surface-alt);border:1px solid rgba(0,0,0,0.1);padding:var(--space-2) var(--space-5);font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-on-surface);cursor:pointer}
.sort-dropdown select:focus{outline:none;border-color:var(--color-accent)}

.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-12)}
.pagination a,.pagination span{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.1em;padding:var(--space-3) var(--space-5);border:1px solid transparent;color:var(--color-on-surface-muted)}
.pagination a{border-color:rgba(0,0,0,0.1);transition:all 0.2s}
.pagination a:hover{border-color:var(--color-accent);color:var(--color-accent)}
.pagination .current{background:var(--color-accent);color:var(--color-on-dark);border-color:var(--color-accent)}

/* Single product (OG-rendered): style the real WooCommerce add-to-cart form to match the design. */
.og-product .og-product-summary .lede p{margin-bottom:var(--space-4)}
.og-product .og-product-summary .lede p:last-child{margin-bottom:0}
.og-product .og-add-to-cart .price{display:none}
.og-product .og-add-to-cart .stock{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.12em;color:var(--color-on-surface-muted);margin-bottom:var(--space-4)}
.og-product .og-add-to-cart form.cart{display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--space-4)}
.og-product .og-add-to-cart .quantity{display:inline-flex}
.og-product .og-add-to-cart .quantity input.qty{width:88px;background:var(--color-surface-alt);border:1px solid rgba(0,0,0,0.1);color:var(--color-on-surface);padding:var(--space-4) var(--space-3);font-family:var(--font-family);font-size:var(--font-sm);text-align:center}
.og-product .og-add-to-cart .quantity input.qty:focus{outline:none;border-color:var(--color-accent)}
.og-product .og-add-to-cart button.single_add_to_cart_button,.og-product .og-add-to-cart .single_add_to_cart_button{flex:1;min-width:200px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.12em;padding:var(--space-4) var(--space-8);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-on-dark);cursor:pointer;transition:all 0.3s var(--ease-out)}
.og-product .og-add-to-cart button.single_add_to_cart_button:hover,.og-product .og-add-to-cart .single_add_to_cart_button:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}
.og-product .og-add-to-cart table.variations{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}
.og-product .og-add-to-cart table.variations th,.og-product .og-add-to-cart table.variations td{display:block;width:100%;text-align:left;padding:0 0 var(--space-3)}
.og-product .og-add-to-cart table.variations th label{font-family:var(--font-mono);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-on-surface-muted)}
.og-product .og-add-to-cart table.variations select{width:100%;background:var(--color-surface-alt);border:1px solid rgba(0,0,0,0.1);color:var(--color-on-surface);padding:var(--space-4) var(--space-5);font-family:var(--font-family);font-size:var(--font-sm)}
.og-product .og-add-to-cart .reset_variations{font-family:var(--font-mono);font-size:var(--font-xs);color:var(--color-accent);margin-left:var(--space-3)}
.og-product .og-add-to-cart .woocommerce-variation-price{margin-bottom:var(--space-4)}
.og-product .og-add-to-cart .woocommerce-variation-price .price{display:block;font-family:var(--font-mono);color:var(--color-accent)}

@media (prefers-reduced-motion: reduce){
*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
.marquee-track{animation:none}
}
