:root{
  --ink:#14151a;
  --ink-soft:#1e2027;
  --paper:#f6f4ef;
  --paper-dim:#ece8de;
  --zest:#e8ff3d;
  --brick:#c1440e;
  --slate:#8a8a8e;
  --line: rgba(20,21,26,0.12);
  --line-light: rgba(246,244,239,0.16);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--brick); font-weight:700;
}
.eyebrow.on-dark{color:var(--zest);}
h1,h2,h3{
  font-family:'Anton', sans-serif; font-weight:400; letter-spacing:.01em;
  text-transform:uppercase; line-height:0.95;
}
button{font-family:inherit; cursor:pointer;}
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:3px solid var(--brick); outline-offset:2px;
}

/* ===== Announcement bar ===== */
.announce{
  background:var(--ink); color:var(--paper);
  font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:.06em;
  text-align:center; padding:9px 12px;
}
.announce span{color:var(--zest);}

/* ===== Header ===== */
header{position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:20px 32px;}
.logo{
  font-family:'Anton', sans-serif; font-size:26px; letter-spacing:.01em; text-transform:uppercase;
  display:flex; align-items:baseline; gap:2px;
}
.logo .dot{color:var(--brick); font-size:26px; line-height:1;}
.nav-links{display:flex; gap:36px; font-size:14px; font-weight:600; letter-spacing:.02em; text-transform:uppercase;}
.nav-links a{position:relative; padding:4px 0;}
.nav-links a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--brick); transition:width .25s ease;}
.nav-links a:hover::after, .nav-links a.current::after{width:100%;}
.nav-links a.current{color:var(--brick);}
.nav-actions{display:flex; align-items:center; gap:22px;}
.icon-btn{background:none; border:none; color:var(--ink); display:flex; align-items:center;}
.bag-count{
  font-family:'JetBrains Mono', monospace; font-size:11px; background:var(--ink); color:var(--paper);
  border-radius:50%; width:16px; height:16px; display:flex; align-items:center; justify-content:center;
  position:relative; top:-8px; left:-8px;
}
.menu-toggle{display:none; background:none; border:none;}

/* ===== Page banner (non-home pages) ===== */
.page-banner{
  background:var(--ink); color:var(--paper); padding:64px 32px 46px;
}
.page-banner-inner{max-width:1240px; margin:0 auto;}
.page-banner h1{font-size:clamp(40px,7vw,76px); color:var(--paper);}
.page-banner p{color:#c8c7c2; max-width:52ch; margin-top:14px; font-size:15px; line-height:1.6;}
.page-banner .crumbs{
  font-family:'JetBrains Mono', monospace; font-size:11px; color:#8f8e89; letter-spacing:.06em;
  text-transform:uppercase; margin-bottom:16px;
}
.page-banner .crumbs a:hover{color:var(--zest);}

/* ===== Hero (home) ===== */
.hero{background:var(--ink); color:var(--paper); padding:96px 32px 0; position:relative; overflow:hidden;}
.hero-inner{max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:end; padding-bottom:64px;}
.hero h1{font-size:clamp(52px, 8vw, 108px); color:var(--paper);}
.hero h1 em{font-style:normal; color:var(--zest);}
.hero-sub{font-size:16px; line-height:1.6; color:#c8c7c2; max-width:34ch; margin:22px 0 30px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.btn{
  font-family:'JetBrains Mono', monospace; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:15px 26px; border:1px solid var(--paper); display:inline-flex; align-items:center; gap:10px;
  transition:transform .18s ease, background .18s ease, color .18s ease; background:none;
}
.btn-solid{background:var(--zest); color:var(--ink); border-color:var(--zest);}
.btn-solid:hover{transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--paper);}
.btn-ghost{background:transparent; color:var(--paper);}
.btn-ghost:hover{transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--zest); border-color:var(--zest); color:var(--zest);}
.btn-dark{border-color:var(--ink); color:var(--ink);}
.btn-dark:hover{background:var(--ink); color:var(--paper);}
.hero-figure{justify-self:end; text-align:right;}
.hero-stat{font-family:'JetBrains Mono', monospace; font-size:13px; color:#8f8e89; margin-bottom:10px;}
.hero-stat b{color:var(--zest); font-size:15px;}

/* Marquee brand strip */
.marquee-band{background:var(--zest); border-top:1px solid var(--ink); overflow:hidden; white-space:nowrap;}
.marquee-track{display:inline-flex; animation:scroll 28s linear infinite;}
.marquee-track span{
  font-family:'JetBrains Mono', monospace; font-weight:700; font-size:14px; letter-spacing:.05em; text-transform:uppercase;
  padding:14px 28px; border-right:1px solid rgba(20,21,26,0.25); color:var(--ink);
}
@keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none;}}

/* ===== Sections ===== */
.section{padding:88px 32px;}
.section-tight{padding:56px 32px 88px;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:40px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(34px,5vw,52px);}
.filters{display:flex; gap:10px; flex-wrap:wrap; margin-top:36px;}
.filter-btn{
  background:transparent; border:1px solid var(--ink); padding:10px 18px;
  font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; font-weight:700;
  transition:background .15s ease, color .15s ease;
}
.filter-btn:hover{background:var(--paper-dim);}
.filter-btn.active{background:var(--ink); color:var(--zest); border-color:var(--ink);}
.filters-row{display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-top:36px;}
.sort-select{
  font-family:'JetBrains Mono', monospace; font-size:12px; text-transform:uppercase; letter-spacing:.05em;
  background:var(--paper); border:1px solid var(--ink); padding:10px 14px; font-weight:700; color:var(--ink);
}
.result-count{font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--slate);}

/* ===== Product grid & cards ===== */
.grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:28px; margin-top:40px;}
.card{
  background:var(--paper); border:1px solid var(--line); display:flex; flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease; position:relative;
}
.card:hover{transform:translateY(-6px); box-shadow:6px 10px 0 var(--line);}
.card-visual{
  aspect-ratio:1/1.05; position:relative; overflow:hidden; background:var(--paper-dim);
}
.card-visual img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.card:hover .card-visual img{transform:scale(1.06);}
.badge{
  position:absolute; top:14px; left:14px;
  font-family:'JetBrains Mono', monospace; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 9px; background:var(--zest); color:var(--ink);
}
.badge.sale{background:var(--brick); color:var(--paper);}
.tag{
  position:absolute; top:14px; right:16px; background:var(--paper); border:1px solid var(--ink); border-radius:3px;
  padding:6px 10px 6px 8px; display:flex; align-items:center; gap:6px; transform:rotate(-6deg);
  font-family:'JetBrains Mono', monospace; font-size:13px; font-weight:700; box-shadow:2px 2px 0 var(--ink);
}
.tag::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--paper); border:1.5px solid var(--ink);}
.card-body{padding:18px 18px 20px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:6px;}
.card-brand{font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--brick); font-weight:700;}
.card-name{font-size:17px; font-weight:600;}
.card-meta{display:flex; justify-content:space-between; align-items:center; margin-top:8px;}
.card-price{font-family:'JetBrains Mono', monospace; font-weight:700; font-size:15px;}
.card-price .was{color:var(--slate); text-decoration:line-through; font-weight:500; font-size:12px; margin-right:6px;}
.add-btn{background:var(--ink); color:var(--paper); border:none; width:34px; height:34px; display:flex; align-items:center; justify-content:center; transition:background .15s ease;}
.add-btn:hover{background:var(--brick);}

/* ===== Brand feature split ===== */
.feature{background:var(--ink); color:var(--paper);}
.feature-inner{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.feature-visual{background:var(--ink-soft); border:1px solid var(--line-light); aspect-ratio:4/3; overflow:hidden;}
.feature-visual img{width:100%; height:100%; object-fit:cover;}
.feature h2{color:var(--paper); font-size:clamp(32px,5vw,50px); margin:16px 0 18px;}
.feature p{color:#c8c7c2; line-height:1.7; max-width:46ch; margin-bottom:26px;}
.feature-stats{display:flex; gap:36px; margin-bottom:30px;}
.feature-stats div b{display:block; font-family:'Anton', sans-serif; font-size:30px; color:var(--zest);}
.feature-stats div span{font-family:'JetBrains Mono', monospace; font-size:11px; color:#9b9a95; text-transform:uppercase; letter-spacing:.06em;}

/* ===== Brand directory cards ===== */
.brand-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; margin-top:40px;}
.brand-card{
  display:grid; grid-template-columns:160px 1fr; border:1px solid var(--line); background:var(--paper);
  transition:transform .2s ease, box-shadow .2s ease;
}
.brand-card:hover{transform:translateY(-4px); box-shadow:6px 8px 0 var(--line);}
.brand-card .bimg{overflow:hidden; background:var(--paper-dim);}
.brand-card .bimg img{width:100%; height:100%; object-fit:cover;}
.brand-card .binfo{padding:20px 22px; display:flex; flex-direction:column; gap:8px;}
.brand-card h3{font-size:22px; text-transform:none; font-family:'Anton', sans-serif; text-transform:uppercase;}
.brand-card p{font-size:13px; color:var(--slate); line-height:1.55;}
.brand-meta{
  display:flex; gap:14px; font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--brick);
  text-transform:uppercase; letter-spacing:.05em; margin-top:4px;
}

/* ===== Perks strip ===== */
.perks{background:var(--paper-dim); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.perks-inner{display:grid; grid-template-columns:repeat(4,1fr);}
.perk{padding:34px 28px; border-right:1px solid var(--line); display:flex; gap:14px; align-items:flex-start;}
.perk:last-child{border-right:none;}
.perk svg{width:26px; height:26px; flex-shrink:0; margin-top:2px;}
.perk h3{font-family:'Work Sans', sans-serif; text-transform:none; font-size:15px; font-weight:700; margin-bottom:4px;}
.perk p{font-size:13px; color:var(--slate); line-height:1.5;}

/* ===== Newsletter ===== */
.news{background:var(--zest); text-align:center; padding:90px 32px;}
.news h2{font-size:clamp(30px,5vw,48px); max-width:16ch; margin:0 auto 14px;}
.news p{font-family:'JetBrains Mono', monospace; font-size:13px; margin-bottom:30px;}
.news-form{display:flex; max-width:440px; margin:0 auto; border:2px solid var(--ink);}
.news-form input{flex:1; border:none; background:transparent; padding:15px 16px; font-family:'JetBrains Mono', monospace; font-size:13px; color:var(--ink);}
.news-form input::placeholder{color:rgba(20,21,26,.55);}
.news-form button{background:var(--ink); color:var(--zest); border:none; padding:0 22px; font-family:'JetBrains Mono', monospace; font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase;}
.news-note{margin-top:14px; font-size:11px; color:rgba(20,21,26,.6); font-family:'JetBrains Mono', monospace;}

/* ===== Footer ===== */
footer{background:var(--ink); color:#c8c7c2; padding:70px 32px 26px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid var(--line-light);}
.footer-brand .logo{color:var(--paper);}
.footer-brand p{font-size:13px; line-height:1.7; color:#9b9a95; margin-top:14px; max-width:32ch;}
.footer-col h4{font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--zest); margin-bottom:16px;}
.footer-col a{display:block; font-size:13px; color:#c8c7c2; margin-bottom:11px; width:fit-content;}
.footer-col a:hover{color:var(--zest);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-family:'JetBrains Mono', monospace; font-size:11px; color:#7d7c78; flex-wrap:wrap; gap:10px;}
.socials{display:flex; gap:14px;}
.socials a{width:32px; height:32px; border:1px solid var(--line-light); display:flex; align-items:center; justify-content:center;}
.socials a:hover{border-color:var(--zest); color:var(--zest);}

/* ===== Responsive ===== */
@media (max-width: 980px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-figure{justify-self:start; text-align:left;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .feature-inner{grid-template-columns:1fr;}
  .perks-inner{grid-template-columns:repeat(2,1fr);}
  .perk{border-bottom:1px solid var(--line);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .brand-grid{grid-template-columns:1fr;}
}
@media (max-width: 680px){
  .wrap, .section, .section-tight, .nav, .hero, .news, footer, .page-banner{padding-left:20px; padding-right:20px;}
  .nav-links{display:none;}
  .menu-toggle{display:block;}
  .grid{grid-template-columns:1fr 1fr; gap:16px;}
  .card-name{font-size:15px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .news-form{flex-direction:column; border:none; gap:10px;}
  .news-form input, .news-form button{border:2px solid var(--ink); padding:14px 16px;}
  .brand-card{grid-template-columns:100px 1fr;}
}
