:root{
  --bg:#120f0c;
  --paper:#f4eadb;
  --accent:#ff6a2b;
  --accent-2:#e2c38a;
  --muted:#b7aa99;
  --panel:#1b1713;
  --line:rgba(244,234,219,.12);
  --glass-shadow:
    0 0 6px rgba(0,0,0,.03),
    0 10px 24px rgba(0,0,0,.18),
    inset 3px 3px .5px -3px rgba(255,255,255,.28),
    inset -3px -3px .5px -3px rgba(255,255,255,.24),
    inset 1px 1px 1px -.5px rgba(255,255,255,.2),
    inset -1px -1px 1px -.5px rgba(255,255,255,.12),
    inset 0 0 8px 2px rgba(255,255,255,.05),
    0 0 16px rgba(255,255,255,.04);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{background-color:#120f0c}
body{
  margin:0;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,106,43,.12), transparent 24%),
    radial-gradient(circle at 80% 20%, rgba(226,195,138,.08), transparent 18%),
    linear-gradient(180deg, #120f0c 0%, #17120f 100%);
  color:var(--paper);
  font-family:"Manrope", system-ui, sans-serif;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.08;
  background-image:
    linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), rgba(0,0,0,.2));
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:0;
  z-index:9998;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.03), transparent 28%),
    linear-gradient(180deg, rgba(18,15,12,.08), rgba(18,15,12,.38) 40%, rgba(18,15,12,.82));
  transition:opacity .42s cubic-bezier(.22,1,.36,1);
}
body.preloading{overflow:hidden}
body.mobile-menu-open{overflow:hidden}
body.preloading main,
body.preloading .topbar{
  opacity:0;
  visibility:hidden;
  transform:translateY(18px) scale(.992);
  filter:blur(10px);
}
html.skip-loader body.preloading{
  overflow-x:hidden;
  overflow-y:auto;
}
html.skip-loader body.preloading main,
html.skip-loader body.preloading .topbar{
  opacity:1;
  visibility:visible;
  transform:none;
  filter:none;
}
html.skip-loader .page-loader{display:none}
.topbar, main{
  transition:
    opacity .78s cubic-bezier(.22,1,.36,1),
    visibility .78s ease,
    transform .78s cubic-bezier(.22,1,.36,1),
    filter .78s cubic-bezier(.22,1,.36,1);
}
body.site-ready .topbar,
body.site-ready main{
  opacity:1;
  visibility:visible;
  transform:none;
  filter:none;
}
section{
  position:relative;
}
section::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(214,208,201,.06) 8%, rgba(178,172,166,.3) 50%, rgba(214,208,201,.06) 92%, transparent);
}
section.hero::before{
  display:none;
}
body.page-exit{overflow:hidden}
body.page-exit::after{opacity:1}
body.page-exit .topbar,
body.page-exit main{
  opacity:0;
  visibility:hidden;
  transform:translateY(16px) scale(.992);
  filter:blur(8px);
}
.wrap{
  width:100%;
  max-width:1680px;
  margin:0 auto;
  padding:0 28px;
}
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(14px);
  background:rgba(18,15,12,.72);
  border-bottom:1px solid var(--line);
}
.nav{
  min-height:88px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
}
.brand{
  text-decoration:none;
  font-family:"Unbounded", sans-serif;
  font-size:26px;
  font-weight:800;
  letter-spacing:-.06em;
  display:flex;
  align-items:center;
  gap:2px;
  flex-wrap:wrap;
}
.brand-white{color:var(--paper)}
.brand-green{color:var(--accent-2)}
.nav-center,.nav-right{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
.nav-center{justify-content:center}
.nav-right{justify-content:flex-end}
.mobile-menu-toggle,
.mobile-menu-panel{
  display:none;
}
.home-page-view .mobile-menu-toggle,
.home-page-view .mobile-menu-panel,
.merch-page-view .mobile-menu-toggle,
.merch-page-view .mobile-menu-panel,
.order-page-view .mobile-menu-toggle,
.order-page-view .mobile-menu-panel,
.contact-page-view .mobile-menu-toggle,
.contact-page-view .mobile-menu-panel{
  display:none !important;
}
.mobile-menu-toggle{
  min-width:46px;
  width:46px;
  padding:0;
  margin-left:auto;
  flex-direction:column;
  gap:5px;
  border-radius:16px;
}
.mobile-menu-toggle span{
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:transform .22s ease, opacity .22s ease;
}
body.mobile-menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.mobile-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}
body.mobile-menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.mobile-menu-open .mobile-menu-toggle{
  display:none !important;
  opacity:0;
  pointer-events:none;
}
.mobile-menu-panel{
  gap:14px;
  justify-items:center;
  align-content:start;
  padding:86px 16px 28px;
  position:fixed;
  inset:0;
  z-index:2005;
  overflow:auto;
  background:rgba(8,6,5,.98);
}
.mobile-menu-brand{
  width:min(100%, 360px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  text-decoration:none;
  font-family:"Unbounded", sans-serif;
  font-size:24px;
  font-weight:800;
  letter-spacing:-.06em;
  padding:0 0 18px;
}
.mobile-menu-langs{
  display:grid;
  gap:8px;
  position:absolute;
  top:18px;
  right:16px;
  width:auto;
}
.mobile-menu-langs .lang-switch{
  width:auto;
  justify-content:center;
}
.mobile-menu-links{
  display:grid;
  gap:10px;
  width:min(100%, 360px);
}
.mobile-menu-links .pill{
  width:100%;
  min-height:48px;
  justify-content:center;
}
/* Liquid glass treatment shared by links and buttons. */
.pill,
.lang-btn,
.btn,
.submit{
  --liquid-stroke:rgba(244,234,219,.14);
  --liquid-text:var(--paper);
  --liquid-glow:rgba(255,255,255,.06);
  --liquid-glow-strong:rgba(255,255,255,.12);
  --liquid-overlay:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.24), transparent 34%),
    radial-gradient(circle at 82% 80%, rgba(226,195,138,.08), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.02));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  position:relative;
  z-index:0;
  overflow:hidden;
  isolation:isolate;
  border:1px solid var(--liquid-stroke);
  background:transparent;
  color:var(--liquid-text);
  text-decoration:none;
  cursor:pointer;
  box-shadow:
    var(--glass-shadow),
    0 0 16px var(--liquid-glow),
    0 0 34px rgba(255,255,255,.03);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  transform:translateZ(0);
  transition:
    transform .3s cubic-bezier(.2,.8,.2,1),
    border-color .3s ease,
    box-shadow .3s ease,
    color .3s ease,
    filter .3s ease;
  -webkit-tap-highlight-color:transparent;
}
.pill::before,
.lang-btn::before,
.btn::before,
.submit::before,
.pill::after,
.lang-btn::after,
.btn::after,
.submit::after{
  content:"";
  position:absolute;
  border-radius:inherit;
  pointer-events:none;
}
.pill::before,
.lang-btn::before,
.btn::before,
.submit::before{
  inset:0;
  z-index:-2;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.04) 42%, rgba(255,255,255,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(255,255,255,.08);
}
.pill::after,
.lang-btn::after,
.btn::after,
.submit::after{
  inset:1px;
  z-index:-1;
  opacity:.96;
  background:var(--liquid-overlay);
}
.pill:hover,
.lang-btn:hover,
.btn:hover,
.submit:hover{
  transform:translateY(-2px) scale(1.04);
  border-color:rgba(244,234,219,.3);
  box-shadow:
    0 18px 34px rgba(0,0,0,.2),
    0 0 8px rgba(0,0,0,.04),
    inset 3px 3px .5px -3px rgba(255,255,255,.32),
    inset -3px -3px .5px -3px rgba(255,255,255,.28),
    inset 1px 1px 1px -.5px rgba(255,255,255,.24),
    inset -1px -1px 1px -.5px rgba(255,255,255,.16),
    inset 0 0 10px 2px rgba(255,255,255,.08),
    0 0 18px var(--liquid-glow-strong),
    0 0 36px var(--liquid-glow);
}
.pill:active,
.lang-btn:active,
.btn:active,
.submit:active{
  transform:translateY(1px) scale(.98);
  filter:brightness(.96);
}
.pill:focus-visible,
.lang-btn:focus-visible,
.btn:focus-visible,
.submit:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(226,195,138,.14),
    var(--glass-shadow),
    0 0 20px var(--liquid-glow-strong),
    0 0 40px var(--liquid-glow);
}
.pill{
  --liquid-stroke:rgba(244,234,219,.14);
  --liquid-text:var(--paper);
  --liquid-glow:rgba(244,234,219,.06);
  --liquid-glow-strong:rgba(244,234,219,.12);
  --liquid-overlay:
    radial-gradient(circle at 18% 14%, rgba(255,255,255,.22), transparent 32%),
    radial-gradient(circle at 82% 80%, rgba(226,195,138,.08), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.02));
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  color:var(--liquid-text);
  font-size:14px;
  font-weight:700;
  box-shadow:
    0 8px 20px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -1px 0 rgba(255,255,255,.06),
    0 0 14px var(--liquid-glow);
}
.pill:hover{transform:translateY(-2px) scale(1.02)}
.pill.ghost{
  --liquid-stroke:rgba(255,255,255,.26);
  --liquid-text:#fff;
  --liquid-glow:rgba(255,255,255,.1);
  --liquid-glow-strong:rgba(255,255,255,.18);
  --liquid-overlay:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.34), transparent 32%),
    radial-gradient(circle at 82% 80%, rgba(255,255,255,.14), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.08));
}
.lang-switch{
  display:flex;
  gap:8px;
  padding:6px;
  border:1px solid rgba(244,234,219,.08);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.lang-btn{
  --liquid-stroke:rgba(244,234,219,.12);
  --liquid-text:var(--paper);
  --liquid-glow:rgba(244,234,219,.05);
  --liquid-glow-strong:rgba(244,234,219,.1);
  --liquid-overlay:
    radial-gradient(circle at 18% 14%, rgba(255,255,255,.18), transparent 30%),
    radial-gradient(circle at 82% 80%, rgba(255,255,255,.06), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  appearance:none;
  min-width:42px;
  height:34px;
  padding:0 14px;
  border-radius:999px;
  font-family:"Unbounded", sans-serif;
  font-size:11px;
  letter-spacing:.14em;
  box-shadow:
    0 6px 16px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(255,255,255,.04),
    0 0 12px var(--liquid-glow);
}
.lang-btn.active{
  --liquid-stroke:rgba(226,195,138,.46);
  --liquid-text:#24180a;
  --liquid-glow:rgba(226,195,138,.16);
  --liquid-glow-strong:rgba(226,195,138,.26);
  --liquid-overlay:
    radial-gradient(circle at 18% 14%, rgba(255,255,255,.42), transparent 30%),
    radial-gradient(circle at 82% 80%, rgba(255,255,255,.16), transparent 34%),
    linear-gradient(135deg, rgba(226,195,138,.95), rgba(226,195,138,.42));
  box-shadow:
    0 12px 24px rgba(226,195,138,.12),
    0 0 6px rgba(0,0,0,.03),
    inset 3px 3px .5px -3px rgba(255,255,255,.6),
    inset -3px -3px .5px -3px rgba(255,255,255,.25),
    inset 1px 1px 1px -.5px rgba(255,255,255,.35),
    inset -1px -1px 1px -.5px rgba(255,255,255,.18),
    0 0 18px var(--liquid-glow),
    0 0 34px rgba(226,195,138,.08);
}
.lang-btn:hover{transform:translateY(-1px) scale(1.03)}
.btn.primary:hover,
.submit:hover{
  border-color:rgba(255,106,43,.48);
}
.lang-btn.active:hover{
  border-color:rgba(226,195,138,.56);
}
.hero{
  padding:52px 0 24px;
  position:relative;
}
.hero-stage{
  min-height:calc(100svh - 80px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:end;
  width:100%;
}
.hero-copy-col{
  transform:translateY(-76px);
}
.eyebrow{
  display:inline-block;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.2em;
  margin-bottom:18px;
}
h1{
  margin:0;
  font-family:"Unbounded", sans-serif;
  font-size:clamp(42px, 6.8vw, 88px);
  line-height:.92;
  letter-spacing:-.065em;
  max-width:760px;
}
.accent{
  color:var(--accent);
  display:block;
  transform:translateX(9%);
}
.hero-copy{
  margin-top:26px;
  max-width:590px;
  font-size:18px;
  line-height:1.7;
  color:#e4d8c8;
}
.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}
.btn{
  --liquid-stroke:rgba(244,234,219,.18);
  --liquid-text:var(--paper);
  --liquid-glow:rgba(244,234,219,.07);
  --liquid-glow-strong:rgba(244,234,219,.14);
  --liquid-overlay:
    radial-gradient(circle at 16% 14%, rgba(255,255,255,.26), transparent 32%),
    radial-gradient(circle at 84% 84%, rgba(255,255,255,.08), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.03));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:56px;
  padding:0 24px;
  text-decoration:none;
  border-radius:18px;
  font-weight:800;
}
.btn:hover{transform:translateY(-3px) scale(1.015)}
.btn.secondary{
  --liquid-stroke:rgba(244,234,219,.18);
  --liquid-text:var(--paper);
  --liquid-glow:rgba(226,195,138,.08);
  --liquid-glow-strong:rgba(226,195,138,.16);
  --liquid-overlay:
    radial-gradient(circle at 16% 14%, rgba(255,255,255,.24), transparent 32%),
    radial-gradient(circle at 84% 84%, rgba(226,195,138,.12), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
}
.btn.secondary:hover{
  border-color:rgba(226,195,138,.28);
}
.btn.primary,
.submit{
  --liquid-stroke:rgba(255,106,43,.34);
  --liquid-text:#fff7f1;
  --liquid-glow:rgba(255,106,43,.12);
  --liquid-glow-strong:rgba(255,106,43,.22);
  --liquid-overlay:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.34), transparent 32%),
    radial-gradient(circle at 82% 80%, rgba(255,106,43,.32), transparent 40%),
    linear-gradient(135deg, rgba(255,106,43,.42), rgba(255,106,43,.12) 60%, rgba(255,255,255,.05));
  box-shadow:
    0 16px 34px rgba(255,106,43,.14),
    0 10px 24px rgba(0,0,0,.18),
    inset 3px 3px .5px -3px rgba(255,255,255,.28),
    inset -3px -3px .5px -3px rgba(255,255,255,.24),
    inset 1px 1px 1px -.5px rgba(255,255,255,.2),
    inset -1px -1px 1px -.5px rgba(255,255,255,.12),
    inset 0 0 8px 2px rgba(255,255,255,.05),
    0 0 18px var(--liquid-glow),
    0 0 34px rgba(255,106,43,.07);
}
.hero-card{
  position:relative;
  min-height:560px;
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.1), transparent 26%),
    linear-gradient(145deg, rgba(255,106,43,.1), rgba(226,195,138,.035) 56%, rgba(18,15,12,.14)),
    linear-gradient(180deg, rgba(35,29,24,.2), rgba(21,17,14,.1));
  box-shadow:
    0 14px 40px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.1),
    inset 0 -1px 0 rgba(255,255,255,.03),
    0 0 16px rgba(255,255,255,.025);
  backdrop-filter:blur(22px) saturate(135%);
  -webkit-backdrop-filter:blur(22px) saturate(135%);
  padding:26px;
  transform:translateY(-56px);
}
.hero-card::before{
  content:"ALEKSEYMEDIA";
  position:absolute;
  right:-36px;
  top:26px;
  font-family:"Unbounded", sans-serif;
  font-size:58px;
  line-height:.9;
  letter-spacing:-.08em;
  color:rgba(244,234,219,.08);
  transform:rotate(90deg);
  transform-origin:top right;
}
.frame{
  position:absolute;
  inset:18px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.07);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:22px;
  padding:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.018) 36%, rgba(255,255,255,.03)),
    radial-gradient(circle at 18% 16%, rgba(226,195,138,.09), transparent 24%),
    radial-gradient(circle at 76% 65%, rgba(255,106,43,.12), transparent 26%),
    linear-gradient(180deg, rgba(244,234,219,.018), rgba(244,234,219,.006));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.1),
    inset 0 -1px 0 rgba(255,255,255,.025),
    inset 0 0 0 1px rgba(255,255,255,.02);
}
.frame-top{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:16px;
  font-size:13px;
  line-height:1;
  color:#dfd1c1;
  font-weight:700;
}
.big-stamp{
  font-family:"Unbounded", sans-serif;
  font-size:clamp(42px,5vw,64px);
  line-height:.95;
  max-width:7ch;
  letter-spacing:-.08em;
}
.big-stamp span{color:var(--accent-2)}
.stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.stat{
  padding:16px;
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.016) 42%, rgba(255,255,255,.028)),
    radial-gradient(circle at 18% 14%, rgba(255,255,255,.06), transparent 28%),
    rgba(255,255,255,.014);
  border:1px solid rgba(255,255,255,.065);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(255,255,255,.025),
    0 8px 20px rgba(0,0,0,.06);
  backdrop-filter:blur(16px) saturate(132%);
  -webkit-backdrop-filter:blur(16px) saturate(132%);
}
.stat strong{
  display:block;
  font-family:"Unbounded", sans-serif;
  font-size:28px;
  margin-bottom:6px;
  letter-spacing:-.06em;
}
.ticker{
  margin:0 0 18px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden;
  white-space:nowrap;
}
.ticker-track{
  display:inline-block;
  padding:16px 0;
  min-width:200%;
  animation:slide 42s linear infinite;
  font-family:"Unbounded", sans-serif;
  font-size:15px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#d4c6b5;
}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
section{padding:52px 0}
.section-kicker{
  color:var(--accent-2);
  text-transform:uppercase;
  letter-spacing:.26em;
  font-size:12px;
  font-weight:800;
  margin-bottom:14px;
}
.section-kicker.orange{color:var(--accent)}
.section-kicker.white{color:rgba(255,255,255,.78)}
.section-title{
  margin:0;
  font-family:"Unbounded", sans-serif;
  font-size:clamp(34px,5vw,74px);
  letter-spacing:-.07em;
  line-height:.94;
}
.section-title.dark{color:#120f0c}
.services{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:26px;
  align-items:start;
}
.lead{
  font-size:18px;
  line-height:1.75;
  color:#dfd1c1;
  max-width:560px;
}
.services-lead{
  margin:24px 0 0;
  max-width:30ch;
}
.services-cta{
  margin-top:22px;
}
.lead.compact{margin:0; max-width:460px}
.service-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.service{
  min-height:180px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:28px;
  padding:22px;
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, border-color .25s ease;
}
.service:hover{
  transform:translateY(-6px) rotate(-.5deg);
  border-color:rgba(255,106,43,.45);
}
.service b{
  display:block;
  font-family:"Unbounded", sans-serif;
  font-size:34px;
  letter-spacing:-.06em;
  color:var(--accent);
  margin-bottom:12px;
}
.service p{margin:0;color:#eadfce;line-height:1.6;font-size:17px}
.works-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
.works{
  display:grid;
  grid-template-columns:1.1fr .9fr 1fr;
  gap:16px;
}
.work > *{position:relative; z-index:1}
.work{
  min-height:420px;
  border-radius:30px;
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .28s ease;
}
.work:hover{transform:translateY(-6px)}
.work-gallery-card{
  cursor:pointer;
  background:
    linear-gradient(180deg, rgba(18,15,12,.08), rgba(18,15,12,.66) 56%, rgba(18,15,12,.92)),
    linear-gradient(145deg, rgba(255,106,43,.16), rgba(18,15,12,.08));
  background-image:
    linear-gradient(180deg, rgba(18,15,12,.08), rgba(18,15,12,.66) 56%, rgba(18,15,12,.92)),
    var(--work-cover),
    linear-gradient(145deg, rgba(255,106,43,.16), rgba(18,15,12,.08));
  background-size:cover, cover, cover;
  background-position:center, center, center;
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.work-gallery-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 18% 18%, rgba(255,255,255,.12), transparent 28%);
  pointer-events:none;
}
.work-gallery-card:hover{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 24px 54px rgba(0,0,0,.28);
}
.work:not(.work-gallery-card):nth-child(1){background:linear-gradient(155deg, rgba(255,106,43,.32), rgba(18,15,12,.1)), linear-gradient(180deg, #2e1d13, #17120e);}
.work:not(.work-gallery-card):nth-child(2){background:linear-gradient(155deg, rgba(226,195,138,.18), rgba(18,15,12,.08)), linear-gradient(180deg, #2c2418, #191511);}
.work:not(.work-gallery-card):nth-child(3){background:linear-gradient(155deg, rgba(244,234,219,.14), rgba(18,15,12,.08)), linear-gradient(180deg, #211a15, #15110e);}
.work small{
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#dfd1c1;
  font-weight:800;
}
.work h3{
  margin:0;
  font-family:"Unbounded", sans-serif;
  font-size:clamp(28px, 3vw, 42px);
  line-height:.96;
  letter-spacing:-.06em;
  max-width:9ch;
}
.work p{margin:12px 0 0; max-width:28ch; line-height:1.65; color:#eadfce}
.work-meta{
  margin:14px 0 0;
  font-family:"Unbounded", sans-serif;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(244,234,219,.88);
}
.work-gallery-hint{
  display:inline-flex;
  margin-top:14px;
  font-family:"Unbounded", sans-serif;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,106,43,.92);
}
.gallery-modal{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:center;
  padding:18px;
}
.gallery-modal[hidden]{display:none !important}
.gallery-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,8,6,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.gallery-dialog{
  position:relative;
  z-index:1;
  width:min(980px, calc(100vw - 40px));
  max-height:calc(100vh - 40px);
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(244,234,219,.12);
  background:linear-gradient(180deg, rgba(28,23,18,.96), rgba(18,15,12,.98));
  box-shadow:0 24px 80px rgba(0,0,0,.34);
  padding:18px;
}
.gallery-close{
  position:absolute;
  top:14px;
  right:16px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(244,234,219,.12);
  background:rgba(255,255,255,.04);
  color:var(--paper);
  font-size:26px;
  cursor:pointer;
}
.gallery-title{
  margin:6px 0 0;
  font-family:"Unbounded", sans-serif;
  font-size:clamp(26px, 3vw, 34px);
  line-height:.95;
  letter-spacing:-.06em;
}
.gallery-subtitle{
  margin:8px 0 0;
  color:#dfd1c1;
  font-size:14px;
  line-height:1.5;
}
.gallery-counter{
  font-family:"Unbounded", sans-serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(244,234,219,.64);
}
.gallery-stage{
  display:grid;
  grid-template-columns:48px minmax(0, 1fr) 48px;
  gap:14px;
  align-items:center;
  min-height:auto;
}
.gallery-figure{
  margin:0;
  position:relative;
  display:grid;
  gap:12px;
  touch-action:pan-y;
}
.gallery-image{
  width:100%;
  height:min(58vh, 560px);
  min-height:300px;
  display:block;
  object-fit:contain;
  border-radius:24px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(244,234,219,.08);
  user-select:none;
  -webkit-user-drag:none;
  transition:opacity .25s ease;
}
.gallery-image.is-loading{
  opacity:0;
}
.gallery-spinner{
  display:none;
  position:absolute;
  inset:0;
  z-index:2;
  place-items:center;
  pointer-events:none;
}
.gallery-spinner.is-visible{
  display:grid;
}
.gallery-spinner-circle{
  width:40px;
  height:40px;
  border:3px solid rgba(244,234,219,.15);
  border-top-color:rgba(255,106,43,.8);
  border-radius:50%;
  animation:gallerySpinnerRotate .7s linear infinite;
}
@keyframes gallerySpinnerRotate{
  to{transform:rotate(360deg)}
}
.gallery-caption{
  display:block;
}
.gallery-caption-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
}
.gallery-nav{
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(244,234,219,.12);
  background:rgba(255,255,255,.05);
  color:var(--paper);
  font-size:24px;
  cursor:pointer;
}
.gallery-strip{
  display:none;
  gap:10px;
  overflow:auto;
  margin-top:18px;
  padding-bottom:4px;
}
.gallery-thumb{
  flex:0 0 auto;
  width:82px;
  height:82px;
  border-radius:16px;
  border:1px solid rgba(244,234,219,.08);
  overflow:hidden;
  background:rgba(255,255,255,.03);
  cursor:pointer;
  opacity:.68;
}
.gallery-thumb.is-active{
  opacity:1;
  border-color:rgba(255,106,43,.48);
}
.gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
body.gallery-open{overflow:hidden}
body.gallery-open .topbar{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-120%) !important;
}

@media (max-width: 900px){
  .gallery-dialog{width:min(100%, calc(100vw - 20px)); padding:18px; overflow:auto}
  .gallery-stage{grid-template-columns:1fr; gap:12px}
  .gallery-figure{order:1}
  .gallery-nav{width:48px; height:48px}
  .gallery-nav[data-gallery-prev]{order:2; justify-self:start}
  .gallery-nav[data-gallery-next]{order:3; justify-self:end; margin-top:-60px}
  .gallery-caption-top{flex-direction:column; align-items:flex-start}
  .gallery-image{min-height:280px; height:min(56vh, 520px)}
}
.merch{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:18px;
}
.merch-copy{
  border-radius:32px;
  background:var(--paper);
  color:#1b1713;
  padding:32px;
  min-height:340px;
  position:relative;
  overflow:hidden;
}
.merch-copy::after{
  content:"DROP";
  position:absolute;
  right:-8px;
  bottom:-20px;
  font-family:"Unbounded", sans-serif;
  font-size:100px;
  line-height:.9;
  color:rgba(18,15,12,.06);
}
.merch-copy p{color:#42362d; max-width:44ch; line-height:1.75; font-size:18px}
.merch-card{
  border-radius:32px;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.12), transparent 25%),
    linear-gradient(145deg, #ff6a2b, #d84a18 48%, #120f0c 130%);
  border:1px solid rgba(255,106,43,.3);
  padding:32px;
  min-height:340px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-decoration:none;
  color:white;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(255,106,43,.16);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.merch-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 46px rgba(255,106,43,.18);
}
.shop-word{
  font-family:"Unbounded", sans-serif;
  font-size:clamp(64px,8vw,108px);
  line-height:.9;
  letter-spacing:-.08em;
  max-width:5.5ch;
  text-wrap:balance;
}
.merch-bottom{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
}
.merch-text{
  max-width:20ch;
  line-height:1.6;
  color:rgba(255,255,255,.88);
}
.merch-card-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-family:"Unbounded", sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.merch-layout{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  align-items:start;
  min-height:auto;
  padding:24px 0 16px;
}
.merch-page-content{
  width:100%;
  display:grid;
  gap:16px;
  position:relative;
  z-index:1;
  margin-top:-18px;
}
.merch-page-head{
  max-width:none;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.merch-page-title{
  margin-bottom:14px;
}
.merch-page-sub{
  max-width:52ch;
  margin-bottom:0;
}
.merch-page-actions{
  display:flex;
  justify-content:center;
  margin-top:2px;
}
.caps-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  max-width:980px;
  margin:0 auto;
  margin-top:-4px;
}
.cap-card{
  min-height:420px;
  border-radius:30px;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid rgba(244,234,219,.08);
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  overflow:hidden;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.cap-card-dark{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)), linear-gradient(160deg, #2b231c, #16120f 68%);
}
.cap-card-cream{
  background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.08)), linear-gradient(160deg, #f1e7d8, #d7c9b5 68%);
  color:#1b1713;
}
.cap-card-accent{
  background:radial-gradient(circle at 18% 14%, rgba(255,255,255,.16), transparent 22%), linear-gradient(155deg, #ff6a2b, #d84a18 54%, #1b1410 120%);
}
.cap-copy h2{
  margin:0;
  font-family:"Unbounded", sans-serif;
  font-size:clamp(22px, 2.6vw, 30px);
  line-height:1.02;
  letter-spacing:-.06em;
  text-align:center;
}
.cap-copy p{
  margin:12px 0 0;
  line-height:1.7;
  color:inherit;
  opacity:.84;
}
.cap-copy{
  display:grid;
  justify-items:center;
  text-align:center;
}
.cap-item-type{
  margin-bottom:4px;
  font-family:"Manrope", system-ui, sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(244,234,219,.62);
}
.cap-card[data-product-card]{
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.cap-card[data-product-card]:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 40px rgba(0,0,0,.2);
}
.cap-card-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.availability-badge{
  position:relative;
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(70,210,111,.24);
  background:rgba(70,210,111,.08);
  color:#53df79;
  font-family:"Manrope", system-ui, sans-serif;
  font-size:13px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  box-shadow:
    0 0 0 1px rgba(70,210,111,.08),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 0 14px rgba(63,216,111,.08);
}
.availability-badge::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:#3fd86f;
  box-shadow:0 0 0 6px rgba(63,216,111,.12);
  animation:availabilityPulse 2.2s ease-in-out infinite;
}
.availability-badge::after{
  content:"";
  position:absolute;
  top:0;
  left:-38%;
  width:34%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform:skewX(-20deg);
  animation:availabilitySweep 3.1s ease-in-out infinite;
}
.cap-photo-link{
  display:block;
  width:100%;
  text-decoration:none;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(244,234,219,.08);
  background:rgba(255,255,255,.03);
  box-shadow:0 14px 28px rgba(0,0,0,.14);
}
.cap-photo{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
}
.cap-price{
  margin-top:14px;
  font-family:"Unbounded", sans-serif;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  opacity:1;
  text-align:center;
}
.cap-detail-copy{display:none !important}
.cap-art{
  position:relative;
  width:min(100%, 280px);
  height:180px;
  margin:0 auto 10px;
}
.cap-crown,
.cap-brim,
.cap-button,
.cap-seam{
  position:absolute;
  display:block;
}
.cap-crown{
  left:50%;
  top:18px;
  width:172px;
  height:108px;
  transform:translateX(-50%);
  border-radius:58% 58% 44% 44% / 70% 70% 34% 34%;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24), inset 0 -16px 20px rgba(0,0,0,.16), 0 12px 24px rgba(0,0,0,.12);
}
.cap-seam{
  left:50%;
  top:20px;
  width:2px;
  height:84px;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(255,255,255,.18);
}
.cap-brim{
  left:50%;
  bottom:20px;
  width:176px;
  height:48px;
  transform:translateX(-50%) perspective(120px) rotateX(52deg);
  transform-origin:center top;
  border-radius:50% 50% 58% 58%;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 12px 16px rgba(0,0,0,.14);
}
.cap-button{
  left:50%;
  top:12px;
  width:12px;
  height:12px;
  transform:translateX(-50%);
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(255,255,255,.16);
}
.cap-art-dark .cap-crown,
.cap-art-dark .cap-brim,
.cap-art-dark .cap-button{
  background:linear-gradient(180deg, #3b332c, #17120f 72%);
}
.cap-art-cream .cap-crown,
.cap-art-cream .cap-brim,
.cap-art-cream .cap-button{
  background:linear-gradient(180deg, #fff8ee, #d7c8b3 72%);
}
.cap-art-cream .cap-seam{
  background:rgba(27,23,19,.14);
}
.cap-art-accent .cap-crown,
.cap-art-accent .cap-brim,
.cap-art-accent .cap-button{
  background:linear-gradient(180deg, #ff945f, #e85b20 72%);
}
.cap-card-cream .section-kicker{
  color:#6f4f38;
  border-color:rgba(111,79,56,.16);
  background:rgba(111,79,56,.04);
}
.cap-card-cream .cap-copy p{
  color:#42362d;
  opacity:1;
}
.cap-card-cream .cap-price{
  color:#a75318;
}
.cap-card-cream .cap-item-type{
  color:rgba(27,23,19,.52);
}
.cap-card-cream .availability-badge{
  border-color:rgba(70,210,111,.18);
  background:rgba(70,210,111,.08);
  color:#148033;
}
.product-modal{
  position:fixed;
  inset:0;
  z-index:10030;
  display:grid;
  place-items:center;
  padding:18px;
}
.product-modal[hidden]{display:none !important}
.product-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,8,6,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.product-modal-dialog{
  position:relative;
  z-index:1;
  width:min(1080px, calc(100vw - 36px));
  max-height:calc(100vh - 36px);
  overflow:auto;
  border-radius:30px;
  border:1px solid rgba(244,234,219,.12);
  background:linear-gradient(180deg, rgba(28,23,18,.96), rgba(18,15,12,.98));
  box-shadow:0 24px 80px rgba(0,0,0,.34);
  padding:20px;
}
.product-modal.is-light .product-modal-dialog{
  border-color:rgba(111,79,56,.14);
  background:linear-gradient(180deg, rgba(247,240,230,.98), rgba(230,216,196,.98));
  box-shadow:0 24px 80px rgba(0,0,0,.18);
}
.product-modal-close{
  position:absolute;
  top:14px;
  right:16px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(244,234,219,.12);
  background:rgba(255,255,255,.04);
  color:var(--paper);
  font-size:26px;
  cursor:pointer;
}
.product-modal.is-light .product-modal-close{
  border-color:rgba(111,79,56,.16);
  background:rgba(255,255,255,.42);
  color:#1b1713;
}
.product-modal-body{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:20px;
  align-items:stretch;
}
.product-modal-media{
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(244,234,219,.08);
  background:rgba(255,255,255,.03);
}
.product-modal.is-light .product-modal-media{
  border-color:rgba(111,79,56,.14);
  background:rgba(255,255,255,.34);
}
.product-modal-image{
  display:block;
  width:100%;
  max-height:min(76vh, 760px);
  object-fit:contain;
  background:#130f0d;
}
.product-modal.is-light .product-modal-image{
  background:#f4eadb;
}
.product-modal-content{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding-top:12px;
}
.product-modal-main{
  display:grid;
  gap:14px;
  text-align:center;
}
.product-modal-type{
  font-family:"Manrope", system-ui, sans-serif;
  font-size:15px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(244,234,219,.68);
}
.product-modal.is-light .product-modal-type{
  color:rgba(27,23,19,.56);
}
.product-modal-title{
  margin:0;
  font-family:"Unbounded", sans-serif;
  font-size:clamp(28px, 3vw, 38px);
  line-height:1;
  letter-spacing:-.06em;
  text-align:center;
}
.product-modal.is-light .product-modal-title{
  color:#1b1713;
}
.product-modal-price{
  font-family:"Unbounded", sans-serif;
  font-size:14px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent);
  text-align:center;
}
.product-modal.is-light .product-modal-price{
  color:#a75318;
}
.product-modal-copy{
  margin:0;
  color:#dfd1c1;
  line-height:1.7;
  text-align:left;
}
.product-modal.is-light .product-modal-copy{
  color:#42362d;
}
.product-modal-note{
  margin:-4px 0 0;
  color:rgba(223,209,193,.46);
  font-size:12px;
  line-height:1.45;
  text-align:left;
}
.product-modal.is-light .product-modal-note{
  color:rgba(66,54,45,.46);
}
.product-modal-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:18px;
}
.product-buy-btn{
  min-height:48px;
  padding:0 22px;
}
.product-buy-btn:hover,
.order-submit-btn:hover{
  --liquid-stroke:rgba(70,210,111,.42);
  --liquid-text:#f6fff8;
  --liquid-glow:rgba(70,210,111,.16);
  --liquid-glow-strong:rgba(70,210,111,.28);
  --liquid-overlay:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.28), transparent 32%),
    radial-gradient(circle at 82% 80%, rgba(70,210,111,.22), transparent 40%),
    linear-gradient(135deg, rgba(70,210,111,.82), rgba(41,168,81,.32) 62%, rgba(255,255,255,.05));
  border-color:rgba(70,210,111,.56);
  box-shadow:
    0 16px 34px rgba(70,210,111,.16),
    0 10px 24px rgba(0,0,0,.18),
    inset 3px 3px .5px -3px rgba(255,255,255,.28),
    inset -3px -3px .5px -3px rgba(255,255,255,.24),
    inset 1px 1px 1px -.5px rgba(255,255,255,.2),
    inset -1px -1px 1px -.5px rgba(255,255,255,.12),
    inset 0 0 8px 2px rgba(255,255,255,.05),
    0 0 18px rgba(70,210,111,.18),
    0 0 34px rgba(70,210,111,.08);
}
body.product-open{overflow:hidden}

.order-shell{
  padding:28px 0 36px;
  display:grid;
  gap:16px;
}
.order-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:24px;
  align-items:start;
}
.order-summary-card{
  display:grid;
  gap:18px;
  align-self:start;
  width:100%;
  max-width:360px;
  justify-self:center;
  position:static;
  top:auto;
}
.order-summary-image{
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:24px;
  border:1px solid rgba(244,234,219,.08);
  background:rgba(255,255,255,.03);
}
.order-summary-copy{
  display:grid;
  gap:12px;
  justify-items:center;
  text-align:center;
}
.order-title{
  margin:0;
  font-family:"Unbounded", sans-serif;
  font-size:clamp(26px, 3vw, 38px);
  line-height:.98;
  letter-spacing:-.06em;
}
.order-price{
  font-family:"Unbounded", sans-serif;
  font-size:14px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent);
}
.order-form-wrap{
  display:grid;
  gap:16px;
}
.order-form-title{
  margin-bottom:14px;
}
.order-form-sub{
  margin-bottom:18px;
}
.order-steps-nav{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-bottom:20px;
}
.order-step-chip{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:0 18px;
  border-radius:20px;
  border:1px solid rgba(244,234,219,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  color:rgba(244,234,219,.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.order-step-chip span{
  font-family:"Unbounded", sans-serif;
  font-size:12px;
  letter-spacing:.14em;
}
.order-step-chip strong{
  font-size:15px;
  letter-spacing:.02em;
}
.order-step-chip-link{
  text-decoration:none;
  color:inherit;
  transition:transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.order-step-chip-link:hover,
.order-step-chip-link:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(244,234,219,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 10px 24px rgba(0,0,0,.12);
  outline:none;
}
.order-step-chip.is-active{
  border-color:rgba(255,106,43,.34);
  background:linear-gradient(180deg, rgba(255,106,43,.12), rgba(255,106,43,.05));
  color:var(--paper);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 24px rgba(255,106,43,.08);
}
.order-step-panel{
  display:block;
}
.order-phone-row{
  grid-template-columns:160px 1fr;
}
.order-code-field select,
.order-form .field select{
  width:100%;
  min-height:48px;
  border-radius:16px;
  border:1px solid rgba(244,234,219,.08);
  background:rgba(255,255,255,.02);
  color:var(--paper);
  padding:0 13px;
  font-size:14px;
  outline:none;
}
.delivery-options{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.order-delivery-help{
  margin:12px 2px 0;
  color:rgba(244,234,219,.56);
  line-height:1.55;
  font-size:14px;
}
.delivery-option{
  --delivery-option-travel:232px;
  --delivery-option-center:120px;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:58px;
  border-radius:16px;
  border:1px solid rgba(244,234,219,.08);
  background:rgba(255,255,255,.02);
  cursor:pointer;
  overflow:hidden;
  padding:10px 14px;
  text-align:center;
}
.delivery-option input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.delivery-option-content{
  display:grid;
  justify-items:center;
  align-content:center;
  width:100%;
  transition:opacity .18s ease, transform .18s ease;
}
.delivery-option-brand{
  display:block;
  width:100%;
  font-family:"Unbounded", sans-serif;
  font-size:12px;
  letter-spacing:.14em;
  line-height:1;
  text-align:center;
}
.delivery-option-price{
  display:block;
  width:100%;
  margin-top:9px;
  font-family:"Manrope", system-ui, sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  color:rgba(244,234,219,.72);
  line-height:1;
  text-align:center;
}
.delivery-option-anim{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.delivery-option-anim-omniva{
  left:-170px;
  bottom:4px;
  width:168px;
  height:52px;
  object-fit:cover;
  object-position:center 78%;
  mix-blend-mode:normal;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.2));
}
.delivery-option-anim-dpd{
  left:50%;
  top:50%;
  width:86px;
  height:38px;
  object-fit:cover;
  object-position:left center;
  transform:translate(-50%, -50%) scale(.72);
  filter:drop-shadow(0 10px 16px rgba(255,67,108,.16));
}
.delivery-option-anim-smartposti{
  left:50%;
  top:50%;
  width:118px;
  transform:translate(-50%, -50%) scale(.84);
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.16));
}
.delivery-option.is-animating .delivery-option-content{
  opacity:0;
  transform:translateY(6px) scale(.96);
}
.delivery-option.is-animating.is-omniva .delivery-option-anim-omniva{
  animation:deliveryOptionOmnivaDrive 1.22s cubic-bezier(.18,.72,.2,1) forwards;
}
.delivery-option.is-animating.is-dpd .delivery-option-anim-dpd{
  animation:deliveryOptionDpdPop .82s cubic-bezier(.2,.84,.2,1) forwards;
}
.delivery-option.is-animating.is-smartposti .delivery-option-anim-smartposti{
  animation:deliveryOptionSmartpostiPulse .85s cubic-bezier(.2,.84,.2,1) forwards;
}
.delivery-option:has(input:checked){
  border-color:rgba(255,106,43,.32);
  background:rgba(255,106,43,.08);
  color:#fff4ef;
}
.delivery-option:has(input:checked) .delivery-option-price{
  color:#fff4ef;
}
.order-step-actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin-top:10px;
}
.order-step-actions-split{
  justify-content:space-between;
  align-items:center;
}
.order-payment-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.order-next-btn{
  min-height:48px;
  padding:0 22px;
}
.order-paypal-btn{
  min-height:48px;
  padding:0 22px;
}
.order-pay-btn{
  min-height:48px;
  padding:0 22px;
}
.order-slide-btn{
  --slide-offset:0px;
  --slide-fill-width:44px;
  position:relative;
  min-width:236px;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  padding:0 18px;
}
.order-slide-fill{
  position:absolute;
  left:4px;
  top:4px;
  bottom:4px;
  width:var(--slide-fill-width);
  border-radius:999px;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.3), transparent 34%),
    radial-gradient(circle at 82% 80%, rgba(255,106,43,.24), transparent 42%),
    linear-gradient(135deg, rgba(255,106,43,.9), rgba(255,106,43,.34));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 10px 24px rgba(255,106,43,.16);
  transition:width .2s ease, background .2s ease, box-shadow .2s ease;
  z-index:0;
}
.order-slide-label{
  position:relative;
  z-index:1;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, color .18s ease;
}
.order-slide-handle{
  position:absolute;
  left:4px;
  top:50%;
  z-index:2;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:0;
  background:transparent;
  box-shadow:none;
  transform:translate(var(--slide-offset), -50%);
  cursor:grab;
  touch-action:none;
  user-select:none;
  transition:transform .18s ease;
}
.order-slide-handle:active{
  cursor:grabbing;
}
.order-slide-handle-icon{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  font-family:"Unbounded", sans-serif;
  font-size:14px;
  line-height:1;
  color:#fff7f1;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}
.order-slide-btn:hover .order-slide-fill,
.order-slide-btn:focus-visible .order-slide-fill,
.order-slide-btn.is-sliding .order-slide-fill{
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.3), transparent 34%),
    radial-gradient(circle at 82% 80%, rgba(70,210,111,.24), transparent 42%),
    linear-gradient(135deg, rgba(70,210,111,.92), rgba(41,168,81,.34));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.2),
    0 12px 26px rgba(70,210,111,.16);
}
.order-slide-btn.is-sliding .order-slide-label{
  opacity:.92;
  transform:translateY(-1px);
}
.order-slide-btn:disabled{
  cursor:not-allowed;
}
.order-slide-btn:disabled .order-slide-fill{
  opacity:.72;
}
.order-slide-btn:disabled .order-slide-handle{
  opacity:.62;
  cursor:not-allowed;
}
.order-page-actions{
  display:flex;
  justify-content:center;
}
.order-page-view .form-status{
  margin-top:16px;
}
.order-wizard-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) 360px;
  grid-template-areas:
    "steps steps summary"
    "contact delivery summary"
    "status status summary";
  gap:18px;
  align-items:start;
}
.order-wizard-layout > input[type="hidden"]{
  display:none;
}
.order-steps-nav-wide{
  grid-area:steps;
}
.order-wizard-layout [data-order-panel="contact"]{
  grid-area:contact;
}
.order-wizard-layout [data-order-panel="delivery"]{
  grid-area:delivery;
}
.order-wizard-layout .order-summary-card{
  grid-area:summary;
  max-width:360px;
  justify-self:center;
}
.order-step-card{
  min-height:100%;
  display:flex;
  flex-direction:column;
  padding:22px 22px 18px;
}
.order-step-card .order-step-actions{
  margin-top:auto;
  padding-top:18px;
}
.order-step-card.is-locked{
  opacity:.42;
  filter:saturate(.72);
}
.order-step-card.is-locked input,
.order-step-card.is-locked select,
.order-step-card.is-locked button{
  pointer-events:none;
}
.order-wizard-layout .form-status{
  grid-area:status;
}
.order-wizard-layout .order-title{
  font-size:clamp(22px, 2.2vw, 30px);
}
.order-wizard-layout .order-price{
  font-size:12px;
}
.order-delivery-view .order-shell{
  padding:18px 0 24px;
  display:flex;
  justify-content:center;
}
.order-delivery-view .order-layout{
  width:min(100%, 1280px);
  grid-template-columns:minmax(0, 1fr) 360px;
  justify-content:center;
  gap:24px;
}
.order-delivery-view .order-form-wrap{
  max-width:none;
}
.order-delivery-view .order-summary-card{
  max-width:360px;
  gap:14px;
  justify-self:center;
  top:auto;
}
.order-delivery-view .order-form{
  padding:22px 22px 18px;
}
.order-delivery-view .order-summary-image{
  border-radius:20px;
}
.order-delivery-view .order-summary-copy{
  gap:10px;
}
.order-delivery-view .order-title{
  font-size:clamp(22px, 2.4vw, 30px);
}
.order-delivery-view .order-price{
  font-size:12px;
}
.order-delivery-view .order-steps-nav{
  margin-bottom:16px;
}
.order-delivery-view .order-step-chip{
  min-height:50px;
  padding:0 16px;
}
.order-delivery-view .order-form-title{
  margin-bottom:10px;
}
.order-delivery-view .order-form-sub{
  margin-bottom:14px;
  font-size:14px;
  line-height:1.45;
  max-width:none;
}
.order-delivery-view .row{
  gap:10px;
}
.order-delivery-view .order-delivery-address-row{
  grid-template-columns:1.35fr .95fr;
}
.order-delivery-view .field{
  margin-bottom:10px;
}
.order-delivery-view .field label{
  margin-bottom:6px;
  font-size:10px;
}
.order-delivery-view .order-code-field select,
.order-delivery-view .order-form .field select,
.order-delivery-view .field input{
  min-height:44px;
  font-size:14px;
  padding:0 12px;
}
.order-delivery-view .delivery-options{
  gap:10px;
}
.order-delivery-view .delivery-option{
  min-height:54px;
  padding:8px 12px;
}
.order-delivery-view .delivery-option-brand{
  font-size:11px;
}
.order-delivery-view .delivery-option-price{
  margin-top:8px;
  font-size:12px;
}
.order-delivery-view .delivery-option-anim-omniva{
  left:-156px;
  width:154px;
  height:48px;
  bottom:4px;
}
.order-delivery-view .delivery-option-anim-dpd{
  width:80px;
  height:34px;
}
.order-delivery-view .delivery-option-anim-smartposti{
  width:108px;
}
.order-delivery-view .order-delivery-help{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
}
.order-delivery-view .order-step-actions{
  margin-top:8px;
}
.order-delivery-view .order-pay-btn{
  min-height:44px;
  padding:0 18px;
}

@keyframes deliveryOptionOmnivaDrive{
  0%{
    opacity:0;
    transform:translateX(0) translateY(4px) scale(.92);
  }
  10%{
    opacity:1;
    transform:translateX(0) translateY(0) scale(1);
  }
  24%{
    opacity:1;
    transform:translateX(0) translateY(0) scale(1);
  }
  52%{
    opacity:1;
    transform:translateX(var(--delivery-option-center)) translateY(0) scale(1);
  }
  72%{
    opacity:1;
    transform:translateX(var(--delivery-option-center)) translateY(0) scale(1);
  }
  92%{
    opacity:1;
    transform:translateX(calc(var(--delivery-option-travel) - 42px)) translateY(0) scale(1);
  }
  100%{
    opacity:0;
    transform:translateX(var(--delivery-option-travel)) translateY(-2px) scale(1.02);
  }
}

@keyframes deliveryOptionDpdPop{
  0%{
    opacity:0;
    transform:translate(-50%, -50%) scale(.72);
  }
  38%{
    opacity:1;
    transform:translate(-50%, -50%) scale(1.06);
  }
  66%{
    opacity:1;
    transform:translate(-50%, -50%) scale(.98);
  }
  100%{
    opacity:0;
    transform:translate(-50%, -50%) scale(1.08);
  }
}

@keyframes deliveryOptionSmartpostiPulse{
  0%{
    opacity:0;
    transform:translate(-50%, -50%) scale(.84);
  }
  30%{
    opacity:1;
    transform:translate(-50%, -50%) scale(1.04);
  }
  68%{
    opacity:1;
    transform:translate(-50%, -50%) scale(.98);
  }
  100%{
    opacity:0;
    transform:translate(-50%, -50%) scale(1.06);
  }
}
.order-steps-nav-three{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.order-payment-card{
  display:grid;
  gap:18px;
  padding:22px 22px 18px;
}
.payment-breakdown{
  display:grid;
  gap:14px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(244,234,219,.08);
  background:
    radial-gradient(circle at 12% 16%, rgba(255,255,255,.05), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}
.payment-breakdown-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.payment-breakdown-head strong{
  font-family:"Unbounded", sans-serif;
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.payment-warning-badge{
  min-height:36px;
  max-width:min(100%, 340px);
  align-items:flex-start;
  gap:10px;
  padding:8px 14px;
  border-color:rgba(255,106,107,.3);
  background:rgba(255,78,78,.1);
  color:#ff8d8d;
  white-space:normal;
  line-height:1.25;
  text-align:left;
  box-shadow:
    0 0 0 1px rgba(255,78,78,.08),
    inset 0 1px 0 rgba(255,255,255,.04),
    0 0 16px rgba(255,78,78,.08);
}
.payment-warning-badge::before{
  flex:0 0 10px;
  min-width:10px;
  min-height:10px;
  align-self:flex-start;
  margin-top:3px;
  background:#ff5656;
  box-shadow:0 0 0 6px rgba(255,86,86,.12);
}
.payment-breakdown-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  font-size:14px;
  line-height:1.5;
}
.payment-breakdown-row strong{
  flex:0 0 auto;
  font-family:"Unbounded", sans-serif;
  font-size:13px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--paper);
}
.payment-breakdown-row.is-total{
  padding-top:14px;
  border-top:1px solid rgba(244,234,219,.08);
  align-items:center;
}
.payment-breakdown-row.is-total strong{
  color:var(--accent);
  font-size:16px;
  letter-spacing:.08em;
}
.payment-method-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.payment-method-card{
  appearance:none;
  width:100%;
  min-height:220px;
  display:grid;
  gap:12px;
  align-content:start;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(244,234,219,.08);
  background:
    radial-gradient(circle at 16% 14%, rgba(255,255,255,.06), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  color:var(--paper);
  text-align:left;
  cursor:pointer;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.payment-method-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.payment-brand-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(244,234,219,.1);
  background:rgba(255,255,255,.03);
  font-family:"Unbounded", sans-serif;
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
}
.payment-brand-logo{
  position:relative;
  flex:0 0 auto;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:1px solid rgba(244,234,219,.1);
  background:rgba(255,255,255,.04);
  font-family:"Unbounded", sans-serif;
  font-size:18px;
  letter-spacing:-.04em;
}
.payment-brand-logo-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}
.payment-brand-logo-swedbank{
  width:48px;
  height:48px;
  padding:0;
  overflow:hidden;
  border-color:rgba(255,138,43,.18);
  background:#1c200f;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.payment-brand-logo-paypal{
  background:linear-gradient(135deg, rgba(42,171,238,.9), rgba(29,91,201,.68));
  color:#f4fbff;
  border-color:rgba(42,171,238,.26);
  box-shadow:0 10px 24px rgba(42,171,238,.18);
}
.payment-brand-logo-revolut{
  width:48px;
  height:48px;
  padding:0;
  overflow:hidden;
  background:#ffffff;
  border-color:rgba(255,255,255,.18);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.payment-brand-logo-bank{
  background:linear-gradient(135deg, rgba(226,195,138,.18), rgba(255,255,255,.05));
  color:#f4eadb;
  border-color:rgba(226,195,138,.2);
}
.payment-method-card:hover,
.payment-method-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(255,106,43,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 18px 34px rgba(0,0,0,.18);
  outline:none;
}
.payment-method-card:disabled{
  opacity:.66;
  cursor:default;
  transform:none;
}
.payment-method-card.is-paypal{
  border-color:rgba(42,171,238,.2);
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.08), transparent 28%),
    radial-gradient(circle at 82% 80%, rgba(42,171,238,.12), transparent 38%),
    linear-gradient(180deg, rgba(42,171,238,.08), rgba(255,255,255,.02));
}
.payment-method-card-swedbank{
  border-color:rgba(255,138,43,.18);
  background:
    radial-gradient(circle at 16% 14%, rgba(255,166,92,.12), transparent 28%),
    radial-gradient(circle at 82% 82%, rgba(255,115,0,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,138,43,.06), rgba(255,255,255,.02));
}
.payment-method-card-revolut{
  border-color:rgba(244,234,219,.12);
  background:
    radial-gradient(circle at 14% 16%, rgba(255,255,255,.08), transparent 28%),
    radial-gradient(circle at 82% 84%, rgba(162,173,255,.08), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
}
.payment-method-card-bank{
  border-color:rgba(226,195,138,.14);
  background:
    radial-gradient(circle at 16% 14%, rgba(226,195,138,.1), transparent 28%),
    radial-gradient(circle at 82% 84%, rgba(255,255,255,.04), transparent 36%),
    linear-gradient(180deg, rgba(226,195,138,.05), rgba(255,255,255,.015));
}
.payment-method-name{
  font-family:"Unbounded", sans-serif;
  font-size:22px;
  line-height:1;
  letter-spacing:-.04em;
}
.payment-method-copy{
  color:rgba(244,234,219,.64);
  font-size:14px;
  line-height:1.55;
}
.payment-method-cta{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  width:max-content;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(244,234,219,.12);
  background:rgba(255,255,255,.03);
  font-family:"Unbounded", sans-serif;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.payment-method-card.is-paypal .payment-method-cta{
  border-color:rgba(42,171,238,.3);
  background:rgba(42,171,238,.1);
  color:#e3f4ff;
}
.payment-bank-details{
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(226,195,138,.16);
  background:
    radial-gradient(circle at 14% 14%, rgba(226,195,138,.1), transparent 26%),
    linear-gradient(180deg, rgba(226,195,138,.05), rgba(255,255,255,.015));
}
.payment-bank-details.is-hidden{
  display:none;
}
.payment-bank-details-title{
  font-family:"Unbounded", sans-serif;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.payment-bank-details-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-top:12px;
  border-top:1px solid rgba(244,234,219,.07);
}
.payment-bank-details-row:first-of-type{
  padding-top:0;
  border-top:0;
}
.payment-bank-details-copy{
  display:grid;
  gap:4px;
  min-width:0;
}
.payment-bank-details-row span{
  color:rgba(244,234,219,.62);
  font-size:13px;
}
.payment-bank-details-row strong{
  max-width:60%;
  text-align:left;
  word-break:break-word;
  font-family:"Unbounded", sans-serif;
  font-size:13px;
  letter-spacing:.06em;
}
.payment-copy-btn{
  min-height:40px;
  padding:0 14px;
  flex:0 0 auto;
}
.payment-side-rail{
  display:grid;
  grid-template-columns:minmax(0, 360px) minmax(220px, 1fr);
  align-items:start;
  gap:18px;
}
.payment-side-meta{
  display:grid;
  gap:12px;
  align-content:start;
  min-width:0;
  width:min(100%, 320px);
  padding:16px;
  justify-self:center;
  align-self:center;
}
.payment-quantity-box{
  width:100%;
  display:grid;
  gap:10px;
  padding-top:14px;
  border-top:1px solid rgba(244,234,219,.07);
}
.payment-quantity-label{
  color:rgba(244,234,219,.62);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.payment-quantity-controls{
  display:grid;
  grid-template-columns:48px 1fr 48px;
  align-items:center;
  gap:10px;
}
.payment-quantity-btn{
  min-height:44px;
  border-radius:16px;
  border:1px solid rgba(244,234,219,.12);
  background:rgba(255,255,255,.03);
  color:var(--paper);
  font-family:"Unbounded", sans-serif;
  font-size:22px;
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
.payment-quantity-btn:hover,
.payment-quantity-btn:focus-visible{
  border-color:rgba(255,106,43,.28);
  background:rgba(255,106,43,.08);
  transform:translateY(-1px);
  outline:none;
}
.payment-quantity-btn:disabled{
  opacity:.4;
  cursor:default;
  transform:none;
}
.payment-quantity-value{
  display:grid;
  place-items:center;
  min-height:44px;
  border-radius:16px;
  border:1px solid rgba(244,234,219,.08);
  background:rgba(255,255,255,.03);
  font-family:"Unbounded", sans-serif;
  font-size:18px;
  letter-spacing:.08em;
}
.payment-cart-heading{
  font-family:"Unbounded", sans-serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(244,234,219,.72);
  text-align:center;
}
.payment-cart-mobile-caption{
  display:none;
  color:rgba(244,234,219,.58);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.payment-cart-list,
.payment-summary-total{
  width:100%;
  display:grid;
  gap:12px;
  padding:0;
  border-radius:0;
  border:0;
  background:transparent;
}
.payment-cart-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.payment-cart-row + .payment-cart-row{
  padding-top:12px;
  border-top:1px solid rgba(244,234,219,.07);
}
.payment-cart-copy{
  display:grid;
  gap:4px;
  min-width:0;
  text-align:left;
}
.payment-cart-row-title,
.payment-cart-copy small{
  color:rgba(244,234,219,.62);
  font-size:12px;
  line-height:1.4;
}
.payment-cart-copy strong{
  font-size:14px;
  line-height:1.45;
  word-break:break-word;
}
.payment-cart-row-price{
  flex:0 0 auto;
  font-family:"Unbounded", sans-serif;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--paper);
}
.payment-summary-total{
  margin-top:2px;
  padding-top:14px;
  border-top:1px solid rgba(244,234,219,.07);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.payment-summary-total strong{
  font-family:"Unbounded", sans-serif;
  font-size:15px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
}
.order-payment-view .order-layout{
  width:min(100%, 1480px);
  grid-template-columns:minmax(0, 1fr) minmax(0, 600px);
  justify-content:center;
  gap:22px;
}
.order-payment-view .order-form-wrap{
  max-width:none;
}
.order-payment-view .payment-side-rail{
  width:min(100%, 560px);
  justify-self:center;
  align-self:start;
  position:sticky;
  top:94px;
}
.order-payment-view .order-summary-card{
  max-width:none;
  gap:16px;
  position:static;
  top:auto;
}
.order-payment-view .order-summary-copy{
  gap:12px;
}
.order-payment-view .order-title{
  font-size:clamp(26px, 2.2vw, 38px);
  line-height:1.02;
}
.order-payment-view .order-price{
  font-size:13px;
}

@keyframes availabilityPulse{
  0%,100%{box-shadow:0 0 0 6px rgba(63,216,111,.12)}
  50%{box-shadow:0 0 0 9px rgba(63,216,111,.06)}
}
@keyframes availabilitySweep{
  0%{transform:translateX(0) skewX(-20deg); opacity:0}
  12%{opacity:.55}
  30%{transform:translateX(340%) skewX(-20deg); opacity:0}
  100%{transform:translateX(340%) skewX(-20deg); opacity:0}
}
.contact-layout{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:28px;
  padding:60px 0;
  justify-items:center;
  text-align:center;
}
.contact-layout.single{
  min-height:calc(100vh - 220px);
  align-items:center;
}
.contact-layout.contact-layout-map{
  width:100%;
  max-width:1120px;
  grid-template-columns:minmax(0, 640px) minmax(360px, 430px);
  justify-content:space-between;
  align-items:start;
  justify-items:stretch;
}
.contact-page-view main.wrap{
  min-height:calc(100svh - 80px);
  display:flex;
  flex-direction:column;
}
.contact-page-view .contact-page-shell{
  flex:1;
  display:flex;
  align-items:center;
}
.contact-page-view .contact-page-shell .contact-layout.single{
  min-height:auto;
  width:100%;
  padding:18px 0 6px;
}
.contact-page-view .contact-page-shell .contact-layout.contact-layout-map{
  min-height:auto;
  width:100%;
  padding:18px 0 6px;
}
.contact-page-view .form-wrap{
  justify-content:flex-start;
}
.contact-page-view .form-box{
  max-width:640px;
}
.contact-page-view .form-card{
  padding:26px 24px 20px;
  border-radius:24px;
  text-align:left;
}
.contact-page-view .contact-title{
  margin:0 0 16px;
  font-size:clamp(28px, 3.4vw, 42px);
  line-height:.94;
  text-align:center;
}
.contact-page-view .contact-sub{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.55;
  max-width:42ch;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.contact-page-view .contact-meta{
  gap:10px;
  margin:0 0 16px;
}
.contact-page-view .contact-meta-item{
  padding:12px 14px;
  align-items:flex-start;
  text-align:left;
}
.contact-page-view .contact-meta-item strong{
  font-size:15px;
}
.contact-page-view .row{
  gap:12px;
}
.contact-page-view .field{
  margin-bottom:10px;
}
.contact-page-view .field label{
  margin-bottom:6px;
  font-size:10px;
}
.contact-page-view .field input,
.contact-page-view .field textarea{
  padding:12px 13px;
  font-size:14px;
}
.contact-page-view .field textarea{
  min-height:96px;
}
.contact-page-view .submit{
  min-height:48px;
  order:1;
}
.contact-page-view .contact-form-actions{
  grid-template-columns:1fr;
  align-items:stretch;
  gap:10px;
  margin-top:6px;
  justify-items:center;
}
.contact-page-view .contact-back-btn{
  order:2;
  min-height:48px;
  padding:0 18px;
  font-size:10px;
  justify-self:center;
  align-self:start;
}
.contact-map-wrap{
  display:flex;
  justify-content:flex-end;
  width:100%;
  align-self:center;
}
.contact-map-card{
  width:min(100%, 430px);
  display:grid;
  gap:18px;
  padding:22px;
  border-radius:28px;
  border:1px solid rgba(244,234,219,.08);
  background:
    radial-gradient(circle at 18% 14%, rgba(255,255,255,.06), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  box-shadow:0 20px 60px rgba(0,0,0,.18);
  transition:transform .95s cubic-bezier(.22,1,.36,1), filter .95s ease, opacity .95s ease;
}
.contact-map-card.is-loading{
  filter:blur(12px);
  transform:translateY(10px) scale(.985);
  opacity:.72;
}
.contact-map-head{
  display:grid;
  gap:8px;
  justify-items:center;
  text-align:center;
}
.contact-map-head .section-kicker{
  margin-bottom:0;
}
.contact-map-title{
  margin:0;
  font-family:"Unbounded", sans-serif;
  font-size:clamp(30px, 3.2vw, 40px);
  line-height:.98;
  letter-spacing:-.06em;
}
.contact-page-view .submit:hover{
  --liquid-stroke:rgba(42,171,238,.42);
  --liquid-text:#f7fbff;
  --liquid-glow:rgba(42,171,238,.16);
  --liquid-glow-strong:rgba(42,171,238,.28);
  --liquid-overlay:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.34), transparent 32%),
    radial-gradient(circle at 82% 80%, rgba(42,171,238,.24), transparent 40%),
    linear-gradient(135deg, rgba(42,171,238,.74), rgba(34,158,217,.28) 62%, rgba(255,255,255,.06));
  border-color:rgba(42,171,238,.56);
  box-shadow:
    0 16px 34px rgba(42,171,238,.16),
    0 10px 24px rgba(0,0,0,.18),
    inset 3px 3px .5px -3px rgba(255,255,255,.3),
    inset -3px -3px .5px -3px rgba(255,255,255,.24),
    inset 1px 1px 1px -.5px rgba(255,255,255,.22),
    inset -1px -1px 1px -.5px rgba(255,255,255,.12),
    inset 0 0 8px 2px rgba(255,255,255,.05),
    0 0 18px rgba(42,171,238,.18),
    0 0 34px rgba(42,171,238,.08);
}
.contact-map-link{
  width:max-content;
  text-decoration:none;
  font-family:"Unbounded", sans-serif;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,106,43,.82);
  transition:color .2s ease, transform .2s ease;
}
.contact-map-link:hover{
  color:#ff915d;
  transform:translateX(2px);
}
.contact-map-frame{
  aspect-ratio:1 / 1;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(244,234,219,.08);
  background:#171310;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .95s cubic-bezier(.22,1,.36,1), filter .95s ease, opacity .95s ease;
}
.contact-map-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  transition:transform .95s cubic-bezier(.22,1,.36,1), filter .95s ease, opacity .95s ease;
}
.contact-map-card.is-loading .contact-map-frame{
  transform:scale(.992);
}
.contact-map-card.is-loading .contact-map-frame iframe{
  filter:blur(10px) saturate(.84);
  transform:scale(1.03);
  opacity:.68;
}
.left-rail{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:center;
}
.num{
  color:rgba(255,255,255,.2);
  font-family:"Unbounded", sans-serif;
}
.label{
  color:var(--accent);
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-family:"Unbounded", sans-serif;
}
.form-wrap{display:flex;justify-content:center; width:100%}
.form-box{width:100%;max-width:640px}
.form-card{
  border:1px solid rgba(244,234,219,.08);
  background:rgba(255,255,255,.02);
  padding:28px;
  border-radius:28px;
  box-shadow:0 20px 60px rgba(0,0,0,.18);
}
.contact-title{
  font-family:"Unbounded",sans-serif;
  font-size:clamp(26px,4vw,42px);
  line-height:1;
  letter-spacing:-.06em;
  margin:0 0 22px;
  text-align:left;
}
.contact-sub{
  margin:0 0 26px;
  color:rgba(244,234,219,.56);
  line-height:1.65;
  text-align:left;
}
.contact-meta{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin:0 0 26px;
}
.contact-meta-item{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(244,234,219,.08);
  background:rgba(255,255,255,.03);
  color:var(--paper);
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
}
.contact-meta-item:hover{
  transform:translateY(-2px);
  border-color:rgba(226,195,138,.22);
  background:rgba(255,255,255,.05);
}
.contact-meta-label{
  font-family:"Unbounded", sans-serif;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(244,234,219,.46);
}
.contact-meta-item strong{
  font-size:16px;
  line-height:1.4;
  font-weight:700;
}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:14px; text-align:left}
.field label{
  font-size:11px;
  letter-spacing:.2em;
  color:rgba(255,255,255,.5);
  display:block;
  margin-bottom:8px;
  font-family:"Unbounded", sans-serif;
  text-transform:uppercase;
}
.field input,.field textarea{
  width:100%;
  background:rgba(0,0,0,.3);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  padding:14px;
  font-family:"Manrope", system-ui, sans-serif;
  font-size:15px;
  outline:none;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
  border-radius:16px;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(244,234,219,.28)}
.field textarea{min-height:140px; resize:vertical}
.field input:focus,.field textarea:focus{
  border-color:rgba(226,195,138,.3);
  background:rgba(0,0,0,.34);
  box-shadow:0 0 0 3px rgba(226,195,138,.05);
}
.submit{
  width:100%;
  appearance:none;
  min-height:52px;
  padding:14px 22px;
  text-transform:uppercase;
  letter-spacing:.2em;
  font-family:"Unbounded", sans-serif;
  font-size:12px;
  font-weight:800;
  border-radius:18px;
}
.submit:hover{transform:translateY(-3px) scale(1.01)}
.submit:disabled{
  opacity:.78;
  cursor:wait;
  transform:none;
}
.contact-form-actions{
  display:grid;
  gap:14px;
  margin-top:4px;
  justify-items:center;
}
.contact-back-btn{
  --liquid-stroke:rgba(255,106,43,.34);
  --liquid-text:#fff7f1;
  --liquid-glow:rgba(255,106,43,.12);
  --liquid-glow-strong:rgba(255,106,43,.22);
  --liquid-overlay:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.28), transparent 32%),
    radial-gradient(circle at 82% 80%, rgba(255,106,43,.24), transparent 40%),
    linear-gradient(135deg, rgba(255,106,43,.4), rgba(216,74,24,.14) 60%, rgba(255,255,255,.05));
  width:max-content;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  justify-self:center;
  justify-content:center;
  gap:8px;
  font-family:"Unbounded", sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:
    0 12px 28px rgba(255,106,43,.12),
    0 8px 20px rgba(0,0,0,.16),
    inset 3px 3px .5px -3px rgba(255,255,255,.28),
    inset -3px -3px .5px -3px rgba(255,255,255,.24),
    inset 1px 1px 1px -.5px rgba(255,255,255,.2),
    inset -1px -1px 1px -.5px rgba(255,255,255,.12),
    inset 0 0 8px 2px rgba(255,255,255,.05),
    0 0 18px var(--liquid-glow),
    0 0 34px rgba(255,106,43,.07);
}
.contact-back-btn:hover{
  transform:translateY(-2px) scale(1.02);
  border-color:rgba(255,106,43,.48);
}
.form-status{
  min-height:24px;
  margin:14px 2px 0;
  font-size:14px;
  line-height:1.5;
  color:rgba(244,234,219,.62);
  text-align:left;
}
.form-status.is-success{color:var(--accent-2)}
.form-status.is-error{color:#ff9b7a}
.footer-note{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:18px clamp(22px, 3vw, 40px) 14px;
  color:#a79b8d;
  font-size:12px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  align-items:center;
  gap:18px;
  border-top:1px solid rgba(244,234,219,.1);
  text-transform:uppercase;
  letter-spacing:.18em;
}
.footer-note-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  text-align:center;
}
.footer-note-item{
  line-height:1.2;
}
.footer-note-item:first-child{text-align:left}
.footer-note-item:last-child{text-align:right}
.footer-brand-lock{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:"Unbounded", sans-serif;
  font-size:15px;
  font-weight:700;
  letter-spacing:.08em;
  color:#d7cab9;
}
.footer-green{color:var(--accent-2)}
.footer-legal{
  text-align:center;
  color:rgba(167,155,141,.7);
  font-size:10px;
  line-height:1.25;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.footer-owner{
  display:none;
  text-align:center;
  color:rgba(167,155,141,.62);
  font-size:9px;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#services,
#works,
#merch{
  scroll-margin-top:118px;
}

.contact-page-view .footer-note{
  padding:10px clamp(16px, 2.4vw, 28px) 12px;
  font-size:10px;
  gap:12px;
}
.contact-page-view .footer-brand-lock{
  font-size:12px;
}
.contact-page-view .footer-legal{
  font-size:9px;
  letter-spacing:.12em;
}

/* loader */
.page-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,106,43,.12), transparent 24%),
    radial-gradient(circle at 80% 20%, rgba(226,195,138,.08), transparent 18%),
    linear-gradient(180deg, #120f0c 0%, #17120f 100%);
  transition:opacity .7s ease, visibility .7s ease;
  overflow:hidden;
}
.loader-shader-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  z-index:0;
  opacity:0;
  background:#120f0c;
  filter:blur(2px) saturate(106%);
  transform:scale(1.015);
  transition:opacity .28s ease;
}
.page-loader.shader-ready .loader-shader-bg{opacity:.74}
.page-loader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.loader-inner{
  width:min(520px, calc(100% - 48px));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  z-index:2;
}
.loader-inner::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(720px, calc(100vw - 40px));
  height:220px;
  transform:translate(-50%, -50%);
  z-index:-1;
  pointer-events:none;
  border-radius:999px;
  background:radial-gradient(circle at center, rgba(18,15,12,.56), rgba(18,15,12,.22) 46%, rgba(18,15,12,.06) 64%, transparent 82%);
  filter:blur(12px);
}
.loader-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  position:relative;
  isolation:isolate;
  gap:6px;
  font-family:"Unbounded", sans-serif;
  font-size:clamp(34px, 8vw, 72px);
  font-weight:800;
  letter-spacing:-.08em;
  margin-bottom:22px;
  animation:loaderPulse 2.6s cubic-bezier(.33,1,.68,1) infinite;
  text-shadow:
    0 2px 12px rgba(18,15,12,.58),
    0 0 26px rgba(18,15,12,.2);
}
.loader-brand::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(560px, calc(100% + 120px));
  height:132px;
  transform:translate(-50%, -50%);
  z-index:-1;
  pointer-events:none;
  border-radius:999px;
  background:radial-gradient(circle at center, rgba(18,15,12,.92), rgba(18,15,12,.64) 40%, rgba(18,15,12,.24) 70%, transparent 100%);
  filter:blur(12px);
}
.loader-brand span{display:inline-block}
.loader-white{color:var(--paper); margin-right:2px}
.loader-green{color:var(--accent-2); margin-left:2px}
.loader-line{
  --loader-progress:0%;
  width:100%;
  max-width:240px;
  height:4px;
  background:rgba(255,106,43,.12);
  margin:0 auto;
  position:relative;
  overflow:hidden;
  border-radius:999px;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 12px rgba(255,106,43,.04);
}
.loader-line::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,.08), rgba(255,255,255,.02));
}
.loader-line::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #ff6a2b, #ff915d 46%, #e2c38a);
  box-shadow:
    0 0 10px rgba(255,106,43,.16),
    0 0 18px rgba(226,195,138,.08);
  transform:translateX(calc(var(--loader-progress) - 100%));
  transition:transform .5s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
@keyframes loaderPulse{
  0%,100%{transform:scale(1); opacity:.94}
  50%{transform:scale(1.006); opacity:1}
}

/* reveal */
.reveal{opacity:0; will-change:transform, opacity}
.reveal.reveal-in{
  opacity:1;
  transform:none;
  transition:opacity .8s ease, transform .8s ease;
}
.reveal-up{transform:translateY(34px)}
.reveal-fade{transform:translateY(0)}

@media (max-width: 980px){
  .nav{grid-template-columns:1fr; padding:16px 0}
  .nav-center, .nav-right{justify-content:flex-start}
  .hero-grid,.services,.merch,.works,.contact-layout,.row,.caps-grid{grid-template-columns:1fr}
  .hero-stage{min-height:auto}
  .hero-copy-col{transform:none}
  .hero-card{min-height:460px}
  .hero-card{transform:none}
  .service-list{grid-template-columns:1fr}
  .accent{transform:none}
  .wrap{padding:0 18px}
  .hero{padding:36px 0 24px}
  .hero-grid{gap:18px}
  .hero-card{padding:16px}
  .frame{inset:12px; padding:16px}
  .stats{grid-template-columns:1fr 1fr; gap:10px}
  .work{min-height:300px}
  .shop-word{font-size:clamp(48px, 16vw, 82px)}
  .contact-layout.single{min-height:auto}
  .payment-method-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .payment-side-rail{grid-template-columns:1fr}
  .payment-side-meta{grid-template-columns:1fr}
  .order-payment-view .order-layout{grid-template-columns:1fr}
  .order-payment-view .payment-side-rail{position:static; top:auto; width:100%}
  .order-payment-view .order-summary-card,
  .payment-side-meta{max-width:none; width:100%; justify-self:stretch; align-self:start}
}
@media (max-width: 640px){
  html, body{overflow-x:hidden}
  .wrap{padding:0 16px; max-width:none}
  .nav{gap:12px}
  .nav-center, .nav-right{width:100%; gap:8px}
  .nav-center{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .nav-center::-webkit-scrollbar{display:none}
  .page-indicator{justify-content:flex-start; min-height:36px; font-size:10px}
  .page-indicator-line{max-width:72px}
  .pill{
    min-height:40px;
    padding:0 14px;
    font-size:13px;
    white-space:nowrap;
  }
  .lang-switch{width:100%; justify-content:center}
  .home-page-view .nav,
  .merch-page-view .nav,
  .order-page-view .nav,
  .contact-page-view .nav{
    grid-template-columns:1fr auto;
    min-height:72px;
    padding:12px 0;
  }
  .home-page-view .brand,
  .merch-page-view .brand,
  .order-page-view .brand,
  .contact-page-view .brand{
    font-size:16px;
    letter-spacing:-.05em;
    margin-left:16px;
  }
  .home-page-view .nav-center,
  .merch-page-view .nav-center,
  .order-page-view .nav-center,
  .contact-page-view .nav-center{
    display:none;
  }
  .home-page-view .nav-right,
  .merch-page-view .nav-right,
  .order-page-view .nav-right,
  .contact-page-view .nav-right{
    display:flex;
    width:auto;
    justify-content:flex-end;
    margin-right:8px;
  }
  .home-page-view .nav-right .lang-switch,
  .merch-page-view .nav-right .lang-switch,
  .order-page-view .nav-right .lang-switch,
  .contact-page-view .nav-right .lang-switch{
    width:auto;
    justify-content:flex-end;
    gap:4px;
    padding:4px;
  }
  .home-page-view .nav-right .lang-btn,
  .merch-page-view .nav-right .lang-btn,
  .order-page-view .nav-right .lang-btn,
  .contact-page-view .nav-right .lang-btn{
    min-width:36px;
    height:30px;
    padding:0 10px;
    font-size:10px;
  }
  .home-page-view .mobile-menu-toggle,
  .merch-page-view .mobile-menu-toggle,
  .order-page-view .mobile-menu-toggle,
  .contact-page-view .mobile-menu-toggle{
    display:none !important;
  }
  .home-page-view .mobile-menu-panel[hidden],
  .merch-page-view .mobile-menu-panel[hidden],
  .order-page-view .mobile-menu-panel[hidden],
  .contact-page-view .mobile-menu-panel[hidden]{
    display:none !important;
  }
  .home-page-view .mobile-menu-panel:not([hidden]),
  .merch-page-view .mobile-menu-panel:not([hidden]),
  .order-page-view .mobile-menu-panel:not([hidden]),
  .contact-page-view .mobile-menu-panel:not([hidden]){
    display:grid !important;
  }
  h1{font-size:clamp(34px, 11vw, 56px); max-width:100%}
  .hero-copy{max-width:100%; font-size:15px; line-height:1.6}
  .hero-actions{gap:10px}
  .btn{min-height:50px; padding:0 18px; font-size:14px; border-radius:16px}
  .submit{min-height:50px; padding:14px 18px; border-radius:16px}
  .hero-card{min-height:420px}
  .hero-card::before{right:-18px; top:20px; font-size:42px}
  .frame-top{font-size:11px}
  .big-stamp{font-size:clamp(30px, 11vw, 48px)}
  .stat{padding:12px; border-radius:16px}
  .stat strong{font-size:22px}
  .section-title{font-size:clamp(28px, 9vw, 42px)}
  .lead,.service p,.work p,.merch-copy p,.merch-text{font-size:15px; line-height:1.6}
  .services-lead{max-width:100%; margin-top:18px}
  .service{min-height:auto; padding:18px; border-radius:22px}
  .service b{font-size:28px}
  .work{border-radius:24px; padding:18px}
  .merch-copy,.merch-card{min-height:auto; padding:22px; border-radius:24px}
  .merch-bottom{flex-direction:column; align-items:flex-start}
  .merch-card-btn{align-self:flex-start; min-height:40px; padding:0 16px}
  .cap-card-meta{align-items:flex-start; flex-direction:column}
  .availability-badge{font-size:12px}
  .cap-card{min-height:auto; padding:22px; border-radius:24px}
  .cap-art{height:154px}
  .cap-crown{width:148px; height:94px}
  .cap-brim{width:150px; height:40px}
  .contact-layout{padding:42px 0; gap:18px}
  .form-box{max-width:100%}
  .contact-meta{grid-template-columns:1fr}
  .field{margin-bottom:12px}
  .field input,.field textarea{font-size:16px; padding:14px}
  .order-steps-nav{grid-template-columns:1fr}
  .order-phone-row{grid-template-columns:1fr}
  .delivery-options{grid-template-columns:1fr}
  .payment-method-grid{grid-template-columns:1fr}
  .payment-quantity-controls{grid-template-columns:44px 1fr 44px}
  .payment-breakdown{padding:16px; gap:12px; border-radius:22px}
  .payment-breakdown-head{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .payment-breakdown-head strong{font-size:12px}
  .payment-breakdown-row,
  .payment-bank-details-row,
  .payment-cart-row,
  .payment-summary-total{flex-direction:row; align-items:flex-start}
  .payment-breakdown-row{align-items:center; font-size:13px}
  .payment-breakdown-row strong{font-size:12px}
  .payment-method-grid{gap:14px}
  .payment-method-card{min-height:auto; padding:18px; gap:12px; border-radius:22px}
  .payment-method-top{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 46px;
    align-items:start;
    gap:12px;
    min-height:46px;
  }
  .payment-method-name{font-size:18px}
  .payment-method-copy{font-size:13px; line-height:1.48}
  .payment-method-cta{width:100%; min-height:42px; margin-top:8px; justify-content:center}
  .payment-brand-pill{max-width:100%; width:max-content; min-height:32px}
  .payment-brand-logo{width:46px; height:46px; justify-self:end; align-self:start; border-radius:16px}
  .payment-brand-logo-swedbank,
  .payment-brand-logo-revolut,
  .payment-brand-logo-paypal{width:46px; height:46px}
  .payment-brand-logo-img{object-fit:contain; padding:4px}
  .payment-brand-logo-swedbank .payment-brand-logo-img{object-fit:cover; padding:0}
  .payment-bank-details-row strong{max-width:none; text-align:left}
  .payment-copy-btn{width:100%}
  .order-step-actions,.order-step-actions-split{flex-direction:column; align-items:stretch}
  .order-payment-actions{flex-direction:column}
  .order-next-btn,.product-buy-btn{width:100%}
  .product-modal-actions .pill[data-product-close]{display:none}
  .order-payment-view .order-page-actions{display:none}
  .order-payment-view .payment-side-rail{gap:14px}
  .order-payment-view .payment-side-meta{padding:16px; gap:14px}
  .order-payment-view .order-summary-card{padding:18px}
  .order-payment-view .payment-cart-heading{display:none}
  .payment-cart-mobile-caption{display:block; margin-top:2px}
  .payment-breakdown-row{justify-content:space-between; gap:14px}
  .payment-breakdown-row strong,
  .payment-cart-row-price,
  .payment-summary-total strong{text-align:right}
  .payment-warning-badge{max-width:100%}
  .payment-brand-logo-bank{font-size:20px}
  .footer-note{
    padding:14px 16px 16px;
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:10px;
  }
  .footer-note-center{gap:3px}
  .footer-note-item{display:none}
  .footer-brand-lock{font-size:14px}
  .footer-legal{font-size:10px; letter-spacing:.16em}
  .footer-owner{display:block; font-size:8px; letter-spacing:.12em}
  .brand{font-size:18px; margin-left:0}
  .loader-inner{width:min(360px, calc(100% - 40px))}
  .loader-inner::before{width:min(420px, calc(100vw - 28px)); height:160px}
  .loader-brand{font-size:clamp(22px, 8.8vw, 40px); gap:4px; margin-bottom:16px}
  .loader-brand::before{width:min(360px, calc(100% + 48px)); height:92px}
  .loader-line{max-width:180px}
}

@media (min-width: 761px) and (max-width: 980px){
  .contact-page-view main.wrap{min-height:auto}
  .contact-page-view .contact-page-shell{display:block}
  .contact-page-view .contact-page-shell .contact-layout.contact-layout-map{
    grid-template-columns:minmax(0, 1fr) 320px;
    gap:18px;
    padding:24px 0 10px;
  }
  .contact-page-view .form-box{max-width:none}
  .contact-map-wrap{justify-content:flex-end}
  .contact-map-card{width:100%; max-width:320px}
}

@media (max-width: 760px){
  #services,
  #works,
  #merch{scroll-margin-top:154px}
  .order-layout{grid-template-columns:1fr}
  .order-wizard-layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "steps"
      "contact"
      "delivery"
      "summary"
      "status";
  }
  .order-steps-nav-wide,
  .order-wizard-layout .form-status{grid-column:auto}
  .order-summary-card{position:static}
  .contact-page-view main.wrap{min-height:auto}
  .contact-page-view .contact-page-shell{display:block}
  .contact-page-view .contact-page-shell .contact-layout.single,
  .contact-page-view .contact-page-shell .contact-layout.contact-layout-map{
    grid-template-columns:1fr;
    padding:24px 0 10px;
  }
  .contact-page-view .form-box{max-width:none}
  .contact-map-wrap{justify-content:flex-start}
  .contact-map-card{width:100%; max-width:none}
  .contact-page-view .contact-form-actions{grid-template-columns:1fr; justify-items:start}
  .contact-page-view .submit{order:1}
  .contact-page-view .contact-back-btn{order:2; min-height:42px}
}

@media (max-width: 900px){
  .product-modal-dialog{width:min(100%, calc(100vw - 20px)); padding:18px}
  .product-modal-body{grid-template-columns:1fr}
  .product-modal-content{padding-top:0}
  .product-modal-image{max-height:52vh}
}


/* language fade */
.lang-fade-target{
  transition: opacity .28s ease, transform .28s ease;
}
.lang-fade-out{
  opacity:0;
  transform:translateY(6px);
}
.lang-fade-in{
  opacity:1;
  transform:translateY(0);
}

/* center the last page content better */
.contact-layout.single{
  grid-template-columns:1fr;
  justify-items:center;
}
.contact-layout.single .left-rail{
  margin-bottom:8px;
}
.contact-layout.single .form-wrap{
  justify-content:center;
}
.contact-layout.single .form-box{
  margin:0 auto;
}
.contact-layout.single .form-card{
  margin:0 auto;
}
.page-indicator{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  min-height:42px;
  color:rgba(244,234,219,.72);
  font-family:"Unbounded", sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
}
.page-indicator-line{
  flex:1 1 auto;
  max-width:140px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(188,182,176,.34), transparent);
}
.pill.is-active,
.pill[aria-current="page"]{
  --liquid-stroke:rgba(226,195,138,.44);
  --liquid-text:#24180a;
  --liquid-glow:rgba(226,195,138,.14);
  --liquid-glow-strong:rgba(226,195,138,.24);
  --liquid-overlay:
    radial-gradient(circle at 18% 14%, rgba(255,255,255,.42), transparent 30%),
    radial-gradient(circle at 82% 80%, rgba(255,255,255,.16), transparent 34%),
    linear-gradient(135deg, rgba(226,195,138,.96), rgba(226,195,138,.42));
  box-shadow:
    0 12px 24px rgba(226,195,138,.12),
    0 0 6px rgba(0,0,0,.03),
    inset 3px 3px .5px -3px rgba(255,255,255,.52),
    inset -3px -3px .5px -3px rgba(255,255,255,.22),
    inset 1px 1px 1px -.5px rgba(255,255,255,.28),
    inset -1px -1px 1px -.5px rgba(255,255,255,.16),
    0 0 18px rgba(226,195,138,.14);
}
.pill.is-active:hover,
.pill[aria-current="page"]:hover{
  border-color:rgba(226,195,138,.58);
}
.contact-page-shell{
  display:flex;
  justify-content:center;
}
.contact-page-shell .contact-layout.single{
  width:100%;
  max-width:920px;
}

@media (min-width: 981px){
  .contact-layout.single .contact-title,
  .contact-layout.single .contact-sub{
    text-align:center;
  }
  .contact-page-view .contact-layout.single .contact-title,
  .contact-page-view .contact-layout.single .contact-sub{
    text-align:left;
  }
  .order-payment-view .order-shell{
    padding:28px 0 56px;
  }
  .order-payment-view .payment-side-rail{
    display:none;
  }
  .order-payment-view .order-layout{
    width:100%;
    grid-template-columns:minmax(0, 1fr);
    justify-content:center;
  }
  .order-payment-view .order-form-wrap{
    width:100%;
    max-width:none;
    margin:0 auto;
  }
}

@media (max-width: 980px){
  .contact-page-shell .contact-layout.single{
    max-width:720px;
  }
}


/* Fullscreen WebGL shader background */
#shader-bg{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:0;
  display:block;
  pointer-events:none;
  opacity:0;
  background:#120f0c;
  transition:opacity .35s ease;
}
body.shader-bg-ready #shader-bg{opacity:1}

.topbar,
main,
.shader-hero{
  position:relative;
  z-index:1;
}

/* Center intro card above shader */
.shader-hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:120px 28px 72px;
}

.shader-card{
  border:1px solid #27272a;
  padding:2px;
  width:min(760px, 100%);
  background:rgba(10,10,12,0.3);
  box-shadow:
    0 20px 70px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.03);
  backdrop-filter:blur(12px);
}

.shader-card-inner{
  border:1px solid #27272a;
  padding:34px 28px;
  background:linear-gradient(180deg, rgba(18,15,12,0.62), rgba(18,15,12,0.42));
  text-align:center;
}

.shader-title{
  margin:18px 0 12px;
  color:#ffffff;
  font-family:"Unbounded", sans-serif;
  font-weight:800;
  letter-spacing:-0.04em;
  font-size:clamp(2rem, 8vw, 5rem);
  line-height:0.95;
}

.shader-subtitle{
  margin:0 auto 24px;
  max-width:46ch;
  color:rgba(255,255,255,0.55);
  font-size:clamp(0.98rem, 2vw, 1.1rem);
  line-height:1.7;
}

.availability{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,0.09);
  border-radius:9999px;
  background:rgba(255,255,255,0.03);
}

.ping-dot{
  position:relative;
  width:10px;
  height:10px;
  border-radius:9999px;
  background:#22c55e;
  flex:0 0 auto;
}

.ping-dot::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:#22c55e;
  animation:ping 1.5s cubic-bezier(0,0,0.2,1) infinite;
}

.availability-text{
  color:#f4eadb;
  font-size:13px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-family:"Unbounded", sans-serif;
}

@keyframes ping{
  0%{transform:scale(1); opacity:0.7;}
  75%,100%{transform:scale(2.6); opacity:0;}
}

.liquid-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 22px;
  border-radius:9999px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  letter-spacing:0.01em;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.14);
  backdrop-filter:blur(10px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.25),
    inset 0 -1px 0 rgba(255,255,255,0.04),
    0 10px 30px rgba(0,0,0,0.28),
    0 0 0 1px rgba(255,255,255,0.03);
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.liquid-btn:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,0.12);
  border-color:rgba(255,255,255,0.22);
}

/* Make moving ticker reach both screen edges */
.ticker{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-left:0;
  padding-right:0;
}

@media (max-width: 640px){
  .shader-hero{
    padding:100px 16px 48px;
  }
  .shader-card-inner{
    padding:26px 18px;
  }
}


/* === Premium scroll header === */
.topbar{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  transition: all .35s ease;
}

.topbar.scrolled{
  backdrop-filter: blur(14px);
  background: rgba(15,12,10,.7);
  padding: 10px 0;
}

.topbar.hide{
  transform: translateY(-100%);
}

body{
  padding-top:80px;
}
