/* ═══════════ NADRA — brand styles ═══════════ */
:root {
  --black: #080A0D;
  --graphite: #252A30;
  --graphite-2: #14181D;
  --silver: #D9DEE5;
  --blue: #0040B8;
  --blue-soft: rgba(0, 64, 184, 0.35);
  --off: #F1F3F5;
  --muted: #8A929C;
  --border: rgba(217, 222, 229, 0.09);
  --radius: 18px;
  --font: 'Manrope', -apple-system, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
/* The white flash when you rubber-band past the top or the bottom is the
   *canvas* showing through: a background on <body> alone does not propagate
   once <html> has one of its own to paint. Setting it here — plus color-scheme,
   which is what darkens the scrollbar gutter and the overscroll area — is the
   actual fix. */
html {
  scroll-behavior: smooth;
  background: var(--black);
  color-scheme: dark;
}
body {
  font-family: var(--font);
  background: var(--black);
  color: var(--off);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
::selection { background: var(--blue); color: #fff; }

/* No stranded last words. `balance` evens out short headings; `pretty` keeps
   the last line of a paragraph from holding a single word. Both degrade to
   normal wrapping where unsupported, so nothing depends on them. */
h1, h2, h3, .sheet-title, .work-meta h3, .hero-title { text-wrap: balance; }
p, li, figcaption, .order-meta, .summary-note, .sheet-note, .cfg-hint { text-wrap: pretty; }

/* cursor glow */
#cursor-glow {
  position: fixed; width: 560px; height: 560px; border-radius: 50%;
  pointer-events: none; z-index: 0; top: 0; left: 0;
  background: radial-gradient(circle, rgba(0,64,184,0.07) 0%, transparent 60%);
  transform: translate(-50%, -50%);
  transition: opacity .4s;
}

/* ───────── nav ───────── */
/* Liquid glass, and detached from the top edge.

   A bar welded to the top of the window reads as browser chrome; a floating
   pill reads as an object sitting *over* the page, which is the whole point of
   the material. The blur is only half of it — what sells glass is the
   saturation boost (colour bleeding up through the frost), a bright hairline
   along the top edge where light catches, and a soft shadow underneath so it
   is visibly above the content rather than part of it. */
.nav {
  position: fixed; top: 14px; left: 50%; transform: translateX(-50%); z-index: 100;
  width: min(1360px, calc(100% - 28px));
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px 10px 22px;
  border-radius: 999px;
  background: linear-gradient(165deg, rgba(38,44,54,.52), rgba(12,15,20,.38));
  backdrop-filter: blur(26px) saturate(185%);
  -webkit-backdrop-filter: blur(26px) saturate(185%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16),
              inset 0 0 0 1px rgba(255,255,255,.07),
              0 18px 46px -24px rgba(0,0,0,.9);
  transition: background .35s, padding .35s, box-shadow .35s, top .35s, width .35s;
}
.nav.scrolled {
  top: 10px;
  background: linear-gradient(165deg, rgba(34,40,50,.7), rgba(9,12,16,.58));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2),
              inset 0 0 0 1px rgba(255,255,255,.1),
              0 22px 54px -22px rgba(0,0,0,.95);
}
/* Firefox and older Safari have no backdrop-filter: fall back to solid glass
   rather than to an unreadable transparent bar over the hero */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .nav { background: rgba(14,17,22,.94); }
  .nav.scrolled { background: rgba(10,13,18,.97); }
}

.nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--off); }
.logo-mark { width: 34px; height: auto; display: block; fill: currentColor; }
.logo-word { font-weight: 800; letter-spacing: .35em; font-size: 15px; color: var(--off); }
.nav-right { display: flex; align-items: center; gap: 12px; }
.nav-links { display: flex; gap: 28px; }
.nav-toggle {
  display: none; width: 44px; height: 44px; flex-direction: column;
  align-items: center; justify-content: center; gap: 6px;
  background: rgba(217,222,229,.05); border: 1px solid var(--border);
  border-radius: 12px; cursor: pointer;
}
.nav-toggle span {
  display: block; width: 18px; height: 2px; border-radius: 2px;
  background: var(--off); transition: transform .3s, opacity .3s;
}
.nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
.nav-links a {
  color: var(--muted); text-decoration: none; font-size: 14px; font-weight: 600;
  transition: color .25s;
}
.nav-links a:hover { color: var(--off); }

/* ───────── buttons ───────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font); font-weight: 800; font-size: 15px;
  padding: 15px 30px; border-radius: 100px; text-decoration: none;
  border: none; cursor: pointer; position: relative; overflow: hidden;
  transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, background .3s, color .3s;
  will-change: transform;
}
/* Every button is lit from the top: a light-to-dark gradient, a bright inner
   hairline where the light lands, and a thin outline so the shape survives on
   any background. The outline is an inset shadow rather than a border, so it
   does not change the box size and cannot fight the border-radius. */
.btn-primary {
  background: linear-gradient(180deg, #2264DE 0%, var(--blue) 48%, #002F87 100%);
  color: #fff;
  box-shadow: 0 8px 32px -8px var(--blue-soft),
              inset 0 1px 0 rgba(255,255,255,.3),
              inset 0 0 0 1px rgba(255,255,255,.16);
}
.btn-primary:hover {
  box-shadow: 0 12px 44px -6px rgba(0,64,184,.55),
              inset 0 1px 0 rgba(255,255,255,.38),
              inset 0 0 0 1px rgba(255,255,255,.24);
}
.btn-ghost {
  background: linear-gradient(180deg, rgba(217,222,229,.09), rgba(217,222,229,.02));
  color: var(--off);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 0 0 1px rgba(217,222,229,.22);
}
.btn-ghost:hover {
  background: linear-gradient(180deg, rgba(217,222,229,.15), rgba(217,222,229,.05));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), inset 0 0 0 1px rgba(217,222,229,.45);
}
.btn-small {
  padding: 10px 22px; font-size: 13.5px; color: #fff;
  background: linear-gradient(180deg, #2264DE 0%, var(--blue) 48%, #002F87 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), inset 0 0 0 1px rgba(255,255,255,.16);
}
.btn-wide { width: 100%; }

/* ───────── hero ───────── */
.hero {
  position: relative; min-height: 100vh;
  display: flex; align-items: center; justify-content: flex-start;
  padding: 120px 7vw 80px;
}
.hero-bg { position: absolute; inset: 0; overflow: hidden; }
.hero-layer { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .5; }
.hl-1 {
  width: 60vw; height: 60vw; right: -18vw; top: -22vw;
  background: radial-gradient(circle, rgba(0,64,184,.28), transparent 65%);
  animation: drift1 14s ease-in-out infinite alternate;
}
.hl-2 {
  width: 44vw; height: 44vw; left: -16vw; bottom: -20vw;
  background: radial-gradient(circle, rgba(37,42,48,.9), transparent 65%);
  animation: drift2 18s ease-in-out infinite alternate;
}
@keyframes drift1 { to { transform: translate(-6vw, 5vw) scale(1.12); } }
@keyframes drift2 { to { transform: translate(5vw, -4vw) scale(1.08); } }
.hero-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(217,222,229,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(217,222,229,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 90% 70% at 50% 40%, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 40%, black 30%, transparent 75%);
}
/* Backlight behind the hero badge. layoutHero() sizes and positions it from the
   badge's projected bounds, so it tracks the badge at every screen width. */
.hero-glow {
  position: absolute; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle,
    rgba(0,64,184,.34) 0%, rgba(0,64,184,.14) 42%, rgba(0,64,184,0) 72%);
  filter: blur(30px);
  opacity: 0; transition: opacity 1.1s ease .2s;
}
.hero-glow.on { opacity: 1; }

/* full width so the badge can be placed anywhere across the hero;
   layoutHero() in main.js sizes and positions it against the text block */
#hero-canvas {
  position: absolute; left: 0; top: 0; width: 100%; height: 100vh;
  z-index: 1; pointer-events: none;
}
/* phones render the badge once into this image instead of running a second
   WebGL context for the whole visit */
#hero-still { display: none; }
.hero-content { position: relative; z-index: 2; max-width: 720px; }
.hero-kicker {
  font-size: 13px; letter-spacing: .28em; text-transform: uppercase;
  color: var(--muted); margin-bottom: 26px; font-weight: 600;
}
.hero-title {
  font-size: clamp(52px, 7.4vw, 108px);
  font-weight: 800; line-height: 1.02; letter-spacing: -0.02em;
  margin-bottom: 30px;
}
.hero-title em {
  font-style: normal;
  background: linear-gradient(100deg, var(--blue) 10%, #5B8CE8 50%, var(--blue) 90%);
  background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: sheen 5s linear infinite;
}
@keyframes sheen { to { background-position: -200% 0; } }
.line-mask { display: block; overflow: hidden; }
.line { display: block; transform: translateY(110%); animation: riseUp 1s cubic-bezier(.2,.8,.2,1) forwards; }
.line-mask:nth-child(2) .line { animation-delay: .12s; }
@keyframes riseUp { to { transform: translateY(0); } }
.hero-sub { font-size: 19px; line-height: 1.6; color: var(--muted); margin-bottom: 40px; font-weight: 400; }
.hero-cta { display: flex; gap: 16px; flex-wrap: wrap; }
.hero-hint {
  position: absolute; bottom: 34px; left: 50%; transform: translateX(-50%);
  width: 24px; height: 40px; border: 1.5px solid rgba(217,222,229,.25); border-radius: 14px;
  z-index: 2;
}
.hero-hint span {
  position: absolute; top: 7px; left: 50%; width: 3px; height: 8px; border-radius: 3px;
  background: var(--silver); transform: translateX(-50%);
  animation: scrollDot 1.8s ease-in-out infinite;
}
@keyframes scrollDot { 50% { transform: translate(-50%, 14px); opacity: .2; } }

/* ───────── marquee ───────── */
.marquee {
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  padding: 22px 0; overflow: hidden; background: var(--graphite-2);
  position: relative; z-index: 3;
}
/* Two self-contained copies, each carrying its own trailing gap, so a
   -50% translation is exactly one copy wide and the loop is seamless.
   (A single flat list with `gap` is off by half a gap at the seam, which
   shows up as a jump every cycle.) */
/* Одна копія лежить у розмітці, решту клонує скрипт, поки доріжка не стане
   вдвічі ширшою за екран. Зсув — рівно на ширину однієї копії в пікселях,
   тому шов сходиться на будь-якій ширині вікна. Раніше було дві копії й
   -50%: на широкому екрані одна копія вужча за вьюпорт, і за нею
   зʼявлялася порожнеча. */
.marquee-track {
  display: flex; align-items: center; white-space: nowrap;
  width: max-content;
  animation: marquee var(--mq-dur, 26s) linear infinite;
}
.marquee-copy {
  display: flex; align-items: center; gap: 46px;
  padding-right: 46px; flex: none;
}
.marquee-track span {
  font-size: 15px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
  color: rgba(217,222,229,.55);
}
.marquee-track i { color: var(--blue); font-style: normal; font-size: 11px; }
@keyframes marquee { to { transform: translateX(calc(-1 * var(--mq-w, 50%))); } }

/* ───────── sections ───────── */
section { position: relative; padding: 120px 7vw; }
.section-head { margin-bottom: 60px; }
.section-kicker {
  font-size: 13px; letter-spacing: .3em; text-transform: uppercase;
  color: var(--blue); font-weight: 800; margin-bottom: 16px;
}
.section-head h2 {
  font-size: clamp(34px, 4.4vw, 60px); font-weight: 800; line-height: 1.08; letter-spacing: -0.02em;
}
.section-sub { margin-top: 18px; color: var(--muted); font-size: 17px; max-width: 520px; line-height: 1.6; }

/* reveal on scroll */
.reveal { opacity: 0; transform: translateY(36px); transition: opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1); }
.reveal.visible { opacity: 1; transform: none; }

/* ───────── works ───────── */
.works-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.work-card {
  background: linear-gradient(160deg, rgba(30,36,45,.62), rgba(11,14,18,.9));
  border: 1px solid rgba(255,255,255,.07); border-radius: 22px;
  overflow: hidden; transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s, box-shadow .35s;
  transform-style: preserve-3d; will-change: transform;
}
.work-card { cursor: pointer; }
.work-card:hover, .work-card:focus-visible { border-color: rgba(0,64,184,.45);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 30px 70px -30px rgba(0,64,184,.35); }
.work-card:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
/* the card is a live configuration, so say so */
.work-open {
  display: block; margin-top: 12px; font-size: 13px; font-weight: 800;
  letter-spacing: .06em; color: var(--blue);
  opacity: 0; transform: translateY(4px); transition: opacity .25s, transform .25s;
}
.work-card:hover .work-open, .work-card:focus-visible .work-open { opacity: 1; transform: none; }
.work-img { aspect-ratio: 4/3; background: radial-gradient(ellipse at 50% 60%, #171B21, #0A0D11); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.work-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.work-card:hover .work-img img { transform: scale(1.06); }
.work-meta { padding: 22px 24px 26px; }
.work-meta h3 { font-size: 19px; font-weight: 800; margin-bottom: 6px; letter-spacing: .01em; }
.work-meta p { color: var(--muted); font-size: 14.5px; line-height: 1.55; margin-bottom: 14px; }
.work-tag {
  display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  color: var(--blue); border: 1px solid rgba(0,64,184,.35); padding: 5px 12px; border-radius: 100px;
}

/* ───────── process ───────── */
.process { background: var(--graphite-2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.process-step {
  padding: 30px 26px; border: 1px solid var(--border); border-radius: var(--radius);
  background: rgba(8,10,13,.5); transition: border-color .3s, transform .3s;
}
.process-step:hover { border-color: rgba(0,64,184,.35); transform: translateY(-4px); }
.step-num { font-size: 13px; font-weight: 800; color: var(--blue); letter-spacing: .2em; }
.process-step h3 { font-size: 21px; font-weight: 800; margin: 14px 0 10px; }
.process-step p { color: var(--muted); font-size: 14px; line-height: 1.6; }

/* ───────── configurator ───────── */
/* grey grid backdrop at 10%, softened at the edges so it doesn't cut hard
   against the neighbouring sections */
.configurator::before {
  content: '';
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(217, 222, 229, .10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(217, 222, 229, .10) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 95% 85% at 50% 50%, black 55%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 95% 85% at 50% 50%, black 55%, transparent 100%);
}
.configurator > * { position: relative; z-index: 1; }

.config-shell {
  display: grid; grid-template-columns: 1fr 420px; gap: 26px;
  align-items: stretch;
}
.config-viewport {
  position: relative; border-radius: var(--radius); overflow: hidden;
  background: radial-gradient(ellipse at 50% 42%, #1A1F26 0%, #0B0E12 68%);
  border: 1px solid var(--border);
  min-height: 620px;
}
/* pan-y hands vertical swipes back to the page, so the canvas never traps
   scrolling on a phone; horizontal drags still rotate the badge */
#config-canvas {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block;
  cursor: grab; touch-action: pan-y;
}
#config-canvas:active { cursor: grabbing; }
.viewport-badge-name {
  position: absolute; top: 22px; left: 26px; font-size: 13px; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase; color: rgba(217,222,229,.6);
  pointer-events: none;
}
.viewport-hint {
  position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%);
  font-size: 13px; color: rgba(217,222,229,.36); letter-spacing: .1em; pointer-events: none;
}
.config-loading {
  position: absolute; inset: 0; display: flex; flex-direction: column; gap: 18px;
  align-items: center; justify-content: center; background: rgba(8,10,13,.85);
  color: var(--muted); font-size: 14px; z-index: 5;
  transition: opacity .5s;
}
.config-loading.hidden { opacity: 0; pointer-events: none; }
.spinner {
  width: 38px; height: 38px; border-radius: 50%;
  border: 2.5px solid rgba(0,64,184,.18); border-top-color: var(--blue);
  animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.config-panel {
  /* Glass *look* without a backdrop pass. The panel sits on a flat dark
     section, so there is nothing behind it worth blurring — and a full-screen
     blur next to a live WebGL canvas is the most expensive thing on the page.
     The gradient, the top hairline and the inner outline carry the material;
     the blur is reserved for things that genuinely float over content. */
  background: linear-gradient(165deg, rgba(30,36,45,.72), rgba(10,13,18,.92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), inset 0 0 0 1px rgba(255,255,255,.05);
  border: 1px solid var(--border); border-radius: var(--radius);
  padding: 28px; display: flex; flex-direction: column; gap: 24px;
  max-height: 820px; overflow-y: auto;
}
.config-panel::-webkit-scrollbar { width: 6px; }
.config-panel::-webkit-scrollbar-thumb { background: rgba(217,222,229,.14); border-radius: 3px; }

.cfg-group { display: flex; flex-direction: column; gap: 12px; }
/* .cfg-group sets display:flex, which beats the UA stylesheet's [hidden]
   rule — without this, hiding a group with the hidden attribute does nothing. */
[hidden] { display: none !important; }
.cfg-label { font-size: 13px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--silver); }
.cfg-note { font-weight: 600; letter-spacing: .04em; text-transform: none; color: var(--muted); font-size: 13px; margin-left: 6px; }
.cfg-label-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }

/* segmented */
.seg { display: flex; gap: 8px; }
.seg-btn {
  flex: 1; font-family: var(--font); font-size: 14px; font-weight: 800; color: var(--muted);
  background: rgba(217,222,229,.04); border: 1px solid var(--border); border-radius: 12px;
  padding: 12px 10px; cursor: pointer; transition: all .25s;
  display: flex; flex-direction: column; gap: 3px; align-items: center; line-height: 1.2;
}
.seg-btn small { font-size: 11.5px; font-weight: 600; color: var(--muted); letter-spacing: .02em; }
.seg-btn:hover { border-color: rgba(217,222,229,.28); color: var(--off); }
.seg-btn.active { background: rgba(0,64,184,.12); border-color: var(--blue); color: var(--off); }
.seg-btn.active small { color: rgba(217,222,229,.6); }
.seg-sub .seg-btn { font-size: 13.5px; padding: 10px 8px; }
.seg-btn:disabled { opacity: .32; cursor: not-allowed; }
.seg-btn:disabled:hover { border-color: var(--border); color: var(--muted); }
.seg-btn .soon { font-size: 8.5px; letter-spacing: .1em; font-weight: 800; }
/* BMW M tri-stripe preview inside the flag selector */
.mstripe { display: flex; gap: 2px; height: 9px; margin-bottom: 3px; }
.mstripe i { display: block; width: 7px; height: 100%; transform: skewX(-18deg); border-radius: 1px; }
.mstripe i:nth-child(1) { background: #4E9FD8; }
.mstripe i:nth-child(2) { background: #0A3D91; }
.mstripe i:nth-child(3) { background: #DE1B24; }

/* chips */
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip {
  min-width: 52px; font-family: var(--font); font-size: 14px; font-weight: 800; color: var(--muted);
  background: rgba(217,222,229,.04); border: 1px solid var(--border); border-radius: 100px;
  padding: 9px 16px; cursor: pointer; transition: all .25s;
}
.chip:hover:not(:disabled) { border-color: rgba(217,222,229,.3); color: var(--off); }
.chip.active { background: var(--blue); border-color: var(--blue); color: #fff; }
.chip:disabled { opacity: .32; cursor: not-allowed; }
.chip .soon { display: block; font-size: 8.5px; letter-spacing: .1em; font-weight: 600; }

/* swatches */
.swatches { display: flex; gap: 10px; flex-wrap: wrap; }
.swatch {
  width: 40px; height: 40px; border-radius: 50%; cursor: pointer; position: relative;
  border: 2px solid rgba(217,222,229,.14);
  transition: transform .22s cubic-bezier(.2,.8,.2,1), border-color .22s, box-shadow .22s;
}
.swatch:hover { transform: scale(1.14); border-color: rgba(217,222,229,.5); }
.swatch.active { border-color: #fff; transform: scale(1.12); box-shadow: 0 0 0 3px rgba(0,64,184,.45); }
.swatch[data-translucent="1"]::after {
  content: ''; position: absolute; inset: 5px; border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,.55), transparent 55%);
}
/* opaque finishes read differently from the translucent acrylics */
.swatch.sw-gloss {
  background: linear-gradient(150deg, #2A2D33 0%, #0A0A0C 45%, #000 100%);
}
/* no specular sweep at all — that is the whole point of matte */
.swatch.sw-matte { box-shadow: inset 0 0 0 1px rgba(0,0,0,.4); }
.swatch.sw-matte::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit;
  background: radial-gradient(120% 90% at 30% 20%, rgba(255,255,255,.05), transparent 60%);
}
.swatch.sw-metal {
  background: linear-gradient(150deg, #FDFDFF 0%, #A8B0BA 26%, #4C535C 52%, #E4E9F0 74%, #6E767F 100%);
}
.cfg-hint { font-size: 12.5px; line-height: 1.5; color: var(--muted); margin-top: -2px; }

/* tool buttons */
.tool-btn {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--font); font-size: 12.5px; font-weight: 800; letter-spacing: .04em;
  color: var(--muted); background: rgba(217,222,229,.04);
  border: 1px solid var(--border); border-radius: 100px; padding: 7px 14px;
  cursor: pointer; transition: all .25s;
}
.tool-btn:hover { color: var(--off); border-color: rgba(217,222,229,.3); }
.tool-btn.active { color: var(--blue); border-color: rgba(0,64,184,.55); background: rgba(0,64,184,.1); }

/* summary */
.cfg-summary { border-top: 1px solid var(--border); padding-top: 22px; display: flex; flex-direction: column; gap: 14px; }
.summary-text { font-size: 14px; font-weight: 800; letter-spacing: .06em; color: var(--silver); }
.summary-note { font-size: 13px; color: var(--muted); text-align: center; }

/* order feedback */
.order-toast {
  position: fixed; bottom: 30px; left: 50%; transform: translate(-50%, 20px);
  background: var(--graphite); border: 1px solid rgba(0,64,184,.5); color: var(--off);
  padding: 16px 26px; border-radius: 14px; font-size: 14px; font-weight: 600;
  opacity: 0; pointer-events: none; transition: all .4s cubic-bezier(.2,.8,.2,1); z-index: 200;
  box-shadow: 0 20px 60px -12px rgba(0,0,0,.6);
}
.order-toast.show { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.order-toast { display: flex; align-items: center; gap: 14px; max-width: min(560px, 92vw); }
.toast-action {
  background: var(--blue); color: #fff; border: 0; border-radius: 9px;
  padding: 8px 14px; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer;
  flex: none;
}
.toast-action:hover { filter: brightness(1.12); }

/* secondary action under the order button */
.btn-link {
  background: none; border: 0; color: var(--muted); font: inherit; font-size: 13.5px;
  font-weight: 600; cursor: pointer; padding: 6px 2px; margin-top: 2px;
  text-decoration: underline; text-underline-offset: 3px;
  text-decoration-color: rgba(217,222,229,.28); transition: color .2s;
}
.btn-link:hover { color: var(--off); text-decoration-color: currentColor; }

/* ───────── about ───────── */
.about { display: flex; justify-content: center; text-align: center; }
.about-inner { max-width: 780px; }
.about-text { font-size: clamp(20px, 2.4vw, 28px); line-height: 1.55; font-weight: 600; color: var(--silver); margin-top: 10px; }
.about-text strong { color: #fff; font-weight: 800; }
.about-text-en { margin-top: 28px; font-size: 14px; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); font-weight: 600; }

/* ───────── order sheet ───────── */
.sheet { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; padding: 24px; }
.sheet-backdrop { position: absolute; inset: 0; background: rgba(6,7,9,.78); backdrop-filter: blur(6px); }
.sheet-card {
  position: relative; width: min(560px, 100%); max-height: calc(100vh - 48px); overflow-y: auto;
  background: linear-gradient(165deg, rgba(32,38,48,.86), rgba(10,13,18,.82));
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border: 0; border-radius: 26px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14),
              inset 0 0 0 1px rgba(255,255,255,.07),
              0 40px 100px -20px rgba(0,0,0,.75);
  padding: 26px 26px 22px; box-shadow: 0 40px 100px -20px rgba(0,0,0,.75);
  animation: sheet-in .28s cubic-bezier(.2,.8,.2,1);
}
@keyframes sheet-in { from { opacity: 0; transform: translateY(14px) scale(.98); } }
@media (prefers-reduced-motion: reduce) { .sheet-card { animation: none; } }
.sheet-x {
  position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; display: grid; place-items: center;
  background: none; border: 1px solid var(--border); border-radius: 10px; color: var(--muted); cursor: pointer;
  transition: color .2s, border-color .2s;
}
.sheet-x:hover { color: var(--off); border-color: var(--silver); }
.sheet-kicker { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--blue); font-weight: 700; }
.sheet-title { font-size: 21px; font-weight: 800; margin-top: 4px; }
.sheet-card:focus { outline: none; }

/* the order list */
.order-list { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.order-item {
  display: grid; grid-template-columns: 96px 1fr auto auto; align-items: center; gap: 12px;
  padding: 10px; border: 1px solid var(--border); border-radius: 14px; background: rgba(255,255,255,.02);
}
.order-thumb {
  width: 96px; aspect-ratio: 60 / 31; object-fit: cover; border-radius: 9px;
  background: var(--graphite-2); display: block;
}
.order-body { min-width: 0; }
.order-name { font-weight: 800; font-size: 15.5px; }
.order-meta {
  margin-top: 3px; font-size: 13px; color: var(--muted); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.order-qty { display: flex; align-items: center; gap: 2px; }
.order-qty button {
  width: 26px; height: 26px; display: grid; place-items: center; cursor: pointer;
  background: none; border: 1px solid var(--border); border-radius: 8px; color: var(--silver);
  font: inherit; font-size: 15px; line-height: 1; transition: color .15s, border-color .15s;
}
.order-qty button:hover { color: #fff; border-color: var(--silver); }
.order-qty span { min-width: 22px; text-align: center; font-weight: 700; font-size: 14px; }
.order-del {
  width: 26px; height: 26px; background: none; border: 0; color: var(--muted);
  font-size: 18px; line-height: 1; cursor: pointer; transition: color .15s;
}
.order-del:hover { color: #E05263; }
.order-empty { margin: 22px 0; text-align: center; color: var(--muted); font-size: 15px; }
.order-more { display: block; margin: 14px auto 18px; }
.pair-btn { margin-top: 10px; }
.order-note-label {
  display: block; margin-bottom: 7px; font-size: 12.5px; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase; color: var(--silver);
}
.order-note {
  display: block; width: 100%; margin-bottom: 20px; padding: 12px 14px;
  font: inherit; font-size: 14px; line-height: 1.5; color: var(--off); resize: vertical;
  background: rgba(255,255,255,.03); border-radius: 12px; border: 0;
  box-shadow: inset 0 0 0 1px var(--border);
  transition: box-shadow .2s, background .2s;
}
.order-note::placeholder { color: rgba(138,146,156,.75); }
.order-note:focus {
  outline: none; background: rgba(255,255,255,.05);
  box-shadow: inset 0 0 0 1px rgba(0,64,184,.7);
}
#sheet-share { display: block; margin: 12px auto 0; }
.btn:disabled, .btn-link:disabled { opacity: .4; pointer-events: none; }

/* nav order counter */
.nav-cart {
  position: relative; display: inline-grid; place-items: center; width: 40px; height: 40px;
  border: 0; border-radius: 12px; color: var(--silver); cursor: pointer;
  background: linear-gradient(180deg, rgba(217,222,229,.1), rgba(217,222,229,.02));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 0 0 1px rgba(217,222,229,.2);
  transition: color .2s, background .2s, box-shadow .2s;
}
.nav-cart:hover { color: #fff; background: linear-gradient(180deg, rgba(0,64,184,.3), rgba(0,64,184,.1));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 0 0 1px rgba(0,64,184,.7); }
.nav-cart-count {
  position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px;
  display: grid; place-items: center; border-radius: 999px;
  background: var(--blue); color: #fff; font-size: 11.5px; font-weight: 800; line-height: 1;
}
.sheet-note { margin-top: 10px; font-size: 13.5px; color: var(--muted); text-align: center; line-height: 1.5; }
.sheet-minor { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 18px; margin-top: 16px; }
.sheet-minor .btn-link { font-size: 13px; }
@media (max-width: 560px) {
  .sheet { padding: 0; align-items: flex-end; }
  .sheet-card { width: 100%; max-height: 92vh; border-radius: 20px 20px 0 0; padding: 22px 18px 26px; }
  @keyframes sheet-in { from { opacity: 0; transform: translateY(28px); } }
  /* the thumbnail keeps its place; the delete button moves under the quantity
     so a long badge name still gets a readable column */
  .order-item { grid-template-columns: 76px 1fr auto; gap: 10px; }
  .order-thumb { width: 76px; }
  .order-del { position: absolute; top: 4px; right: 4px; }
  .order-item { position: relative; }
  .order-name { font-size: 14px; }
}

/* ───────── footer ───────── */
.footer {
  border-top: 1px solid var(--border); padding: 72px 7vw;
  background: var(--graphite-2); position: relative; overflow: hidden;
}
/* brand mark pattern, taken from the branding board's tile */
.footer::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22136.4%22%20height%3D%22202.7%22%20viewBox%3D%220%200%20136.4%20202.7%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23D9DEE5%22%20stroke-width%3D%228.0%22%20stroke-linejoin%3D%22miter%22%20stroke-linecap%3D%22butt%22%3E%3Cg%20transform%3D%22translate%28-106.4%20-172.7%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28-106.4%2030%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28-106.4%20232.7%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2830%20-172.7%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2830%2030%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2830%20232.7%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28166.4%20-172.7%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28166.4%2030%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28166.4%20232.7%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28-38.2%20-71.35%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28-38.2%20131.35%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28-38.2%20334.05%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2898.2%20-71.35%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2898.2%20131.35%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2898.2%20334.05%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28234.6%20-71.35%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28234.6%20131.35%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28234.6%20334.05%29%20scale%280.33%29%22%3E%3Cpath%20d%3D%22M%20231.489%2C0%20C%20231.496%2C0%20231.502%2C0.00599999999997%20231.502%2C0.013%20L%20231.502%2C125.273%20C%20231.502%2C125.28%20231.496%2C125.286%20231.489%2C125.286%20L%20197.278%2C125.286%20C%20197.272%2C125.286%20197.266%2C125.28%20197.266%2C125.273%20L%20197.266%2C58.833%20L%20158.909%2C125.268%20C%20158.907%2C125.272%20158.903%2C125.275%20158.898%2C125.275%20L%20122.393%2C125.275%20C%20122.383%2C125.275%20122.377%2C125.264%20122.382%2C125.256%20L%20194.694%2C0.00699999999998%20C%20194.697%2C0.00299999999999%20194.701%2C0.000999999999976%20194.705%2C0.000999999999976%20L%20197.277%2C0.000999999999976%20L%20197.278%2C0%20L%20231.489%2C0%20Z%22%2F%3E%3Cpath%20d%3D%22M%2096.668%2C0.011%20L%20108.829%2C0.011%20C%20108.831%2C0.011%20108.832%2C0.012%20108.834%2C0.013%20L%20108.838%2C0.014%20C%20108.844%2C0.014%20108.85%2C0.019%20108.85%2C0.025%20L%20109.616%2C63.233%20L%20146.118%2C0.012%20C%20146.12%2C0.00799999999998%20146.125%2C0.00599999999997%20146.13%2C0.00599999999997%20L%20182.634%2C0.00599999999997%20C%20182.644%2C0.00599999999997%20182.65%2C0.016%20182.645%2C0.025%20L%20110.368%2C125.212%20L%20110.369%2C125.277%20C%20110.369%2C125.284%20110.363%2C125.291%20110.356%2C125.291%20L%2073.847%2C125.282%20L%2073.845%2C125.28%20L%2073.817%2C125.28%20C%2073.807%2C125.28%2073.8%2C125.269%2073.805%2C125.261%20L%2073.834%2C125.211%20L%2073.067%2C61.994%20L%2036.527%2C125.284%20C%2036.525%2C125.288%2036.521%2C125.291%2036.516%2C125.291%20L%200.011%2C125.291%20C%200.00599999999997%2C125.291%200.00200000000001%2C125.288%200%2C125.284%20L%200%2C125.267%20L%2072.312%2C0.017%20C%2072.313%2C0.015%2072.316%2C0.015%2072.318%2C0.014%20C%2072.32%2C0.00899999999999%2072.323%2C0.005%2072.329%2C0.005%20L%2096.668%2C0.011%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: 136.4px 202.7px;
  opacity: .022;
}
.footer-inner { position: relative; z-index: 1; }
.footer-inner { display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; }
.footer-brand { display: flex; align-items: center; gap: 10px; }
.footer-line { color: var(--silver); font-weight: 600; letter-spacing: .06em; }
.footer-copy { color: var(--muted); font-size: 13.5px; }
.footer-tg {
  display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
  color: var(--silver); font-weight: 700; font-size: 14px; letter-spacing: .02em;
  padding: 9px 16px; border-radius: 999px;
  border: 1px solid var(--border); background: rgba(255,255,255,.02);
  transition: color .2s, border-color .2s, background .2s;
}
.footer-tg:hover { color: #fff; border-color: rgba(0,64,184,.6); background: rgba(0,64,184,.12); }
.footer-tg svg { flex: none; }
.footer-tg small { font-size: 12px; font-weight: 600; color: var(--muted); letter-spacing: 0; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* ───────── responsive ───────── */
@media (max-width: 1100px) {
  .config-shell { grid-template-columns: 1fr; }
  .config-viewport { min-height: 480px; }
  #hero-canvas { opacity: .45; }
  .works-grid { grid-template-columns: 1fr; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ───────── touch / phones ───────── */
@media (hover: none) and (pointer: coarse) {
  /* pointer-driven flourishes cost work and do nothing without a cursor */
  #cursor-glow { display: none; }
  .btn:hover, .work-card:hover { transform: none; }
}

@media (max-width: 900px) {
  /* the hero badge becomes a still, laid out under the copy instead of
     behind it — it was overlapping the subheading */
  #hero-canvas { display: none; }
  .hero-content { order: 1; }
  /* the badge sits on its own backlight, the same idea as the desktop hero */
  #hero-still {
    order: 2; display: block; width: 112%; max-width: none;
    margin: 18px -6% 0; position: relative; z-index: 1;
    opacity: 0; transform: translateY(10px);
    transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1);
  }
  #hero-still.ready { opacity: 1; transform: none; }
  .hero-glow {
    left: 50% !important; top: auto !important; bottom: 7vh;
    width: 112vw !important; height: 52vw !important;
    transform: translateX(-50%);
    opacity: .85; filter: blur(46px);
  }
  .hero {
    min-height: auto; padding: 104px 6vw 56px;
    flex-direction: column; align-items: stretch;
  }
  .hero-content { max-width: none; }
  .hero-title { font-size: clamp(38px, 11vw, 62px); }
  .hero-sub { font-size: 17px; margin-bottom: 30px; }
  .hero-sub br { display: none; }
  .hero-cta { gap: 12px; }
  .hero-cta .btn { flex: 1 1 auto; justify-content: center; }
  .hero-hint { display: none; }

  /* nav collapses into a menu — previously the links were simply hidden
     with no way to reach the sections */
  .nav, .nav.scrolled { padding: 9px 10px 9px 18px; width: calc(100% - 20px); }
  .nav-toggle { display: flex; }
  /* the menu is a second pane of the same glass, hanging under the pill */
  .nav-links {
    position: fixed; left: 10px; right: 10px; top: 72px;
    flex-direction: column; gap: 0;
    background: linear-gradient(165deg, rgba(34,40,50,.82), rgba(10,13,18,.76));
    backdrop-filter: blur(26px) saturate(185%);
    -webkit-backdrop-filter: blur(26px) saturate(185%);
    border-radius: 22px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14),
                inset 0 0 0 1px rgba(255,255,255,.07),
                0 22px 50px -24px rgba(0,0,0,.9);
    padding: 6px 18px 10px;
    transform: translateY(-12px); opacity: 0; pointer-events: none;
    transition: opacity .25s, transform .25s;
  }
  .nav.menu-open .nav-links { transform: none; opacity: 1; pointer-events: auto; }
  .nav-links a {
    padding: 15px 2px; font-size: 16px; color: var(--off);
    border-bottom: 1px solid var(--border);
  }
  .nav-links a:last-child { border-bottom: none; }
  .btn-small { padding: 11px 16px; font-size: 13px; }
  /* the hero already carries a full-width CTA, so the header one only crowds
     the logo on a phone */
  .nav .btn-small { display: none; }

  /* the "open in configurator" hint is hover-only on a pointer device; on
     touch there is no hover, so show it */
  .work-open { opacity: 1; transform: none; }
  .work-card { -webkit-tap-highlight-color: rgba(0,64,184,.18); }
  .work-card:active { transform: scale(.988); }

  section { padding: 76px 6vw; }
  .section-head { margin-bottom: 34px; }
  .section-sub { font-size: 16px; }

  /* configurator: badge stays pinned while the options scroll under it */
  .config-shell { gap: 0; }
  .config-viewport {
    position: sticky; top: 60px; z-index: 2;
    min-height: 0; height: 44vh; max-height: 380px;
    border-radius: 16px 16px 0 0; border-bottom: none;
  }
  .config-panel {
    max-height: none; overflow: visible; padding: 22px 18px 26px;
    border-radius: 0 0 16px 16px; border-top: none;
  }
  .viewport-hint { font-size: 12px; bottom: 10px; }
  .viewport-badge-name { top: 14px; left: 16px; font-size: 12px; }

  /* 44px+ hit targets throughout */
  .swatches { gap: 12px; }
  .swatch { width: 44px; height: 44px; }
  .chip { min-height: 44px; padding: 11px 18px; font-size: 15px; }
  .seg-btn { min-height: 50px; font-size: 15px; }
  .seg-sub .seg-btn { min-height: 52px; font-size: 14px; }
  .tool-btn { min-height: 40px; padding: 9px 15px; font-size: 13px; }
  .btn { padding: 16px 26px; }

  .process-grid { grid-template-columns: 1fr; gap: 14px; }
  .process-step { padding: 22px 20px; }
  .work-meta { padding: 18px 18px 22px; }
  .marquee-copy { gap: 30px; padding-right: 30px; }
  .marquee-track span { font-size: 13px; }
  .footer { padding: 52px 6vw; }
  /* the tile is sized for a wide viewport; at 390px it would read as two
     enormous monograms rather than a texture */
  .footer::before { background-size: 109px 162px; opacity: .021; }
  .footer-copy { font-size: 12.5px; }
}

@media (max-width: 420px) {
  .logo-word { font-size: 13px; letter-spacing: .28em; }
  .hero-cta { flex-direction: column; }
  .hero-cta .btn { width: 100%; }
  .config-viewport { height: 40vh; }
}

/* respect the OS setting — kills the marquee, sheen and drifting glows */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}


/* ───────── custom badge band ───────── */
.custom-band {
  display: flex; align-items: center; justify-content: space-between;
  gap: 28px; flex-wrap: wrap;
  margin-top: 34px; padding: 26px 30px;
  border: 1px solid var(--border); border-radius: 22px;
  background: linear-gradient(180deg, rgba(0,64,184,.14), rgba(0,64,184,.05));
}
.custom-band h3 { font-size: clamp(19px, 2.2vw, 24px); letter-spacing: -.01em; }
.custom-band p { margin-top: 6px; color: var(--muted); font-size: 15px; }
.custom-band .btn { flex: none; }
@media (max-width: 640px) {
  .custom-band { padding: 22px; }
  .custom-band .btn { width: 100%; }
}
