@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_app/immutable/assets/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_app/immutable/assets/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_app/immutable/assets/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_app/immutable/assets/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_app/immutable/assets/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_app/immutable/assets/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_app/immutable/assets/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_app/immutable/assets/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_app/immutable/assets/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_app/immutable/assets/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_app/immutable/assets/dm-mono-latin-ext-400-normal.C2zvOubV.woff2) format("woff2"),url(/_app/immutable/assets/dm-mono-latin-ext-400-normal.1aZr6b2b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_app/immutable/assets/dm-mono-latin-400-normal.4GdczIuU.woff2) format("woff2"),url(/_app/immutable/assets/dm-mono-latin-400-normal.-0xN8mdc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_app/immutable/assets/dm-mono-latin-ext-500-normal.BtRyHRi6.woff2) format("woff2"),url(/_app/immutable/assets/dm-mono-latin-ext-500-normal.Dw3M13d8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_app/immutable/assets/dm-mono-latin-500-normal.DRMDZjhP.woff2) format("woff2"),url(/_app/immutable/assets/dm-mono-latin-500-normal.CN8Miw6E.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=light]{--paper: #f0ede4;--paper-deep: #e3dccd;--tan: #b7a180;--card: #ffffff;--card-hover: #fffdfa;--ink: #1c1917;--ink-soft: #44403c;--muted-fg: #78716c;--border: rgba(12, 10, 9, .12);--border-strong: rgba(12, 10, 9, .24);--primary: #fb6f3f;--primary-hover: #f4551f;--primary-soft: #fd9f74;--primary-deep: #c21e0c;--primary-on: #ffffff;--primary-dim: rgba(251, 111, 63, .12);--accent-wash: rgba(183, 161, 128, .2);--positive: #16a34a;--warning: #d97706;--destructive: #dc2626;--teal: #0f766e;--header-bg: rgba(240, 237, 228, .82);--shadow-card: 0 1px 2px rgba(28, 25, 23, .04), 0 4px 16px rgba(28, 25, 23, .05);--shadow-lift: 0 2px 6px rgba(28, 25, 23, .06), 0 16px 40px rgba(28, 25, 23, .13);--shadow-tray: 0 -2px 8px rgba(28, 25, 23, .05), 0 16px 48px rgba(28, 25, 23, .18);--art-board: #e9e3d6;--art-trace: rgba(28, 25, 23, .38);--grain-opacity: .05;--overlay-bg: rgba(28, 25, 23, .4)}[data-theme=dark]{--paper: #1c1917;--paper-deep: #292524;--tan: #b7a180;--card: #292524;--card-hover: #322e2a;--ink: #fafaf9;--ink-soft: #d6d3d1;--muted-fg: #a8a29e;--border: rgba(121, 113, 107, .3);--border-strong: rgba(121, 113, 107, .5);--primary: #fb6f3f;--primary-hover: #fd9f74;--primary-soft: #fd9f74;--primary-deep: #c21e0c;--primary-on: #1c0a04;--primary-dim: rgba(251, 111, 63, .16);--accent-wash: rgba(41, 37, 36, .8);--positive: #34d399;--warning: #fbbf24;--destructive: #f87171;--teal: #5eead4;--header-bg: rgba(28, 25, 23, .82);--shadow-card: 0 1px 2px rgba(0, 0, 0, .25), 0 4px 16px rgba(0, 0, 0, .28);--shadow-lift: 0 2px 6px rgba(0, 0, 0, .3), 0 16px 40px rgba(0, 0, 0, .45);--shadow-tray: 0 -2px 8px rgba(0, 0, 0, .25), 0 16px 48px rgba(0, 0, 0, .55);--art-board: #242019;--art-trace: rgba(250, 250, 249, .28);--grain-opacity: .06;--overlay-bg: rgba(12, 10, 9, .62);--part-stage: rgba(250, 250, 249, .04);--art-shadow: drop-shadow(0 14px 24px rgba(0, 0, 0, .34))}:root{--font-display: "Bricolage Grotesque Variable", system-ui, sans-serif;--font-body: "Inter Variable", system-ui, sans-serif;--font-mono: "DM Mono", ui-monospace, SFMono-Regular, monospace;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shell-max: 80rem;--shell-pad: 1.5rem;--part-stage: rgba(28, 25, 23, .03);--art-shadow: drop-shadow(0 14px 24px rgba(17, 24, 39, .12))}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);min-height:100dvh;line-height:1.55;overflow-x:hidden;transition:background .35s ease,color .35s ease}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input{font-family:inherit}::selection{background:var(--primary);color:var(--primary-on)}.site-shell{position:relative;display:flex;flex-direction:column;min-height:100dvh}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}.site-main{flex:1;width:100%;max-width:var(--shell-max);margin:0 auto;padding:0 var(--shell-pad) 4rem}.announcement-bar{position:relative;z-index:5;background:var(--primary);color:var(--primary-on);text-align:center;padding:.5rem 1.5rem}.announcement-bar p{font-family:var(--font-body);font-size:.875rem;line-height:1.4}.site-header{position:sticky;top:0;z-index:50;background:var(--paper);color:var(--ink)}.header-inner{max-width:var(--shell-max);margin:0 auto;padding:1rem var(--shell-pad);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.wordmark{display:flex;flex-direction:row;align-items:center;gap:.85rem;color:var(--ink);min-width:0}.wordmark-name{font-family:var(--font-display);font-weight:800;font-size:1.85rem;letter-spacing:-.03em;line-height:1}.wordmark-origin{display:inline-flex;align-items:center;gap:.4rem;flex:none;padding-left:.85rem;border-left:1px solid color-mix(in srgb,var(--ink) 22%,transparent);font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1;white-space:nowrap;color:var(--teal)}.wordmark-flag{width:1.5rem;height:auto;flex:none;display:block}.header-actions{display:flex;align-items:center;gap:.6rem}.theme-toggle{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--primary);border-color:var(--border-strong)}.cart-button{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;transition:background .15s ease,transform .15s ease}.cart-button:hover{background:var(--primary);color:var(--primary-on);transform:translateY(-1px)}.cart-button--empty{background:transparent;color:var(--muted-fg);border-color:var(--border)}.cart-button--empty:hover{color:var(--ink);background:transparent;transform:none}.cart-count{background:var(--primary);color:var(--primary-on);border-radius:999px;min-width:18px;height:18px;font-size:.68rem;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.5rem;border:none;border-radius:var(--radius);background:var(--primary);color:var(--primary-on);font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:.01em;box-shadow:0 4px 20px var(--primary-dim);transition:background .15s ease,transform .15s ease,box-shadow .2s ease}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 8px 28px var(--primary-dim)}.btn-primary:active{transform:translateY(0)}.btn-primary--added{background:var(--positive)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-sm{padding:.55rem 1.05rem;font-size:.85rem}.btn-block{width:100%}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.05rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:border-color .15s ease,color .15s ease,transform .15s ease}.btn-ghost:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.linklike{background:none;border:none;padding:0;color:var(--primary);font-size:inherit;text-decoration:underline;text-underline-offset:3px}.catalogue{padding:4rem 0 3rem}.catalogue-header{margin-bottom:2.5rem}.catalogue-kicker{display:inline-flex;align-items:center;height:1.75rem;width:fit-content;padding:0 .5rem;border-radius:4px;background:var(--accent-wash);color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:1.5rem;line-height:1;letter-spacing:-.02em;text-transform:uppercase}.catalogue-title{margin-top:1rem;font-family:var(--font-body);font-weight:500;font-size:clamp(2.25rem,5vw,3.75rem);line-height:1.05;letter-spacing:-.03em;text-wrap:balance}.catalogue-sub{margin-top:1rem;max-width:40rem;font-size:1.125rem;line-height:1.5;color:var(--muted-fg)}.catalogue-tools{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.catalogue-search{position:relative;display:flex;align-items:center;max-width:48rem;color:var(--muted-fg)}.catalogue-search svg{position:absolute;left:.75rem;pointer-events:none}.catalogue-search input{width:100%;height:2.25rem;padding:.25rem .75rem .25rem 2.5rem;border:1px solid var(--border-strong);border-radius:6px;background:var(--card);color:var(--ink);font-size:.875rem;outline:none}.catalogue-search input::placeholder{color:var(--muted-fg)}.catalogue-search input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.catalogue-filters{display:flex;flex-wrap:wrap;align-items:center;width:fit-content;max-width:100%;gap:.15rem;height:auto;min-height:2.25rem;padding:.25rem;border-radius:8px;background:var(--paper-deep)}.seg{position:relative;display:inline-flex;align-items:center;justify-content:center;height:1.75rem;padding:0 .7rem;border-radius:6px;color:color-mix(in srgb,var(--ink) 60%,transparent);font-size:.875rem;line-height:1;white-space:nowrap;cursor:pointer}.seg input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer}.seg:hover{color:var(--ink)}.seg--active{background:var(--card);color:var(--ink)}.seg:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:1px}.catalogue-meta{display:flex;align-items:center;min-height:2rem;margin-bottom:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.catalogue-count{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-fg)}.catalog-empty{padding:2.5rem 0;color:var(--muted-fg);font-size:.95rem}.section-head{margin-bottom:1.6rem}.section-eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--primary);margin-bottom:.5rem}.section-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,3.4vw,2.3rem);letter-spacing:-.015em;line-height:1.08}.product-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.product-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:var(--card);color:inherit}.product-card:hover{border-color:var(--border-strong)}.product-card-art{position:relative;aspect-ratio:5 / 4;overflow:hidden;background:var(--card)}.product-badges{position:absolute;top:.7rem;left:.7rem;display:flex;gap:.35rem;z-index:2}.product-badge{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.22rem .55rem;border-radius:999px;background:var(--ink);color:var(--paper)}.product-badge--new{background:var(--primary);color:var(--primary-on)}.product-badge--limited{background:var(--warning);color:#1c1917}.product-card-body{display:flex;flex-direction:column;gap:.35rem;flex:1;padding:1rem 1.1rem 1.05rem}.product-eyebrow{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--teal)}.product-name{font-family:var(--font-body);font-weight:700;font-size:1rem;letter-spacing:-.01em;line-height:1.3}.product-tagline{font-size:.875rem;color:var(--muted-fg);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-foot{margin-top:auto;padding-top:.35rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.product-price{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-fg)}.product-price--xl{font-size:1.7rem;margin:.4rem 0 .2rem}.add-btn{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:transparent;color:var(--ink);transition:all .15s ease}.add-btn:hover{background:var(--primary);border-color:var(--primary);color:var(--primary-on)}.add-btn--added{background:var(--positive);border-color:var(--positive);color:#fff}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--overlay-bg);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;justify-content:flex-end}.cart-drawer{width:min(420px,100vw);height:100%;background:var(--paper);border-left:1px solid var(--border-strong);display:flex;flex-direction:column;outline:none;box-shadow:var(--shadow-tray)}.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.4rem;border-bottom:1px solid var(--border)}.cart-drawer-header h2{font-family:var(--font-display);font-weight:700;font-size:1.3rem}.modal-close{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--ink-soft);font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.modal-close:hover{color:var(--ink);border-color:var(--border-strong)}.cart-drawer-empty{padding:3rem 1.4rem;text-align:center;color:var(--muted-fg);display:flex;flex-direction:column;gap:.8rem}.cart-drawer-empty a{color:var(--primary);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.cart-lines{list-style:none;overflow-y:auto;flex:1;padding:.6rem 1.4rem}.cart-line{display:flex;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--border);align-items:flex-start}.cart-line-art{width:84px;aspect-ratio:5 / 4;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);flex-shrink:0;background:var(--card)}.cart-line-art img{display:block;width:100%;height:100%;object-fit:contain}.cart-line-info{flex:1;min-width:0}.cart-line-name{font-weight:600;font-size:.92rem}.cart-line-variant{color:var(--muted-fg);font-weight:400;margin-left:.35rem}.cart-line-price{font-family:var(--font-mono);font-size:.74rem;color:var(--muted-fg);margin:.15rem 0 .45rem}.cart-line-controls{display:flex;align-items:center;gap:.5rem}.qty-btn{width:26px;height:26px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:transparent;color:var(--ink);font-size:.95rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease}.qty-btn:hover{border-color:var(--primary);color:var(--primary)}.qty-value{font-family:var(--font-mono);font-size:.85rem;min-width:1.4rem;text-align:center}.cart-line-remove{margin-left:auto;background:none;border:none;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-fg);transition:color .12s ease}.cart-line-remove:hover{color:var(--destructive)}.cart-line-total{font-family:var(--font-mono);font-size:.85rem;font-weight:500;white-space:nowrap}.cart-drawer-foot{border-top:1px solid var(--border);padding:1.1rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:.6rem}.free-ship-note{font-size:.8rem;color:var(--ink-soft)}.free-ship-note--met{color:var(--positive)}.cart-subtotal{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.95rem;font-weight:500}.cart-shipping-note{font-size:.74rem;color:var(--muted-fg);margin-top:-.3rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--overlay-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}.modal-dialog{background:var(--paper);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-tray);width:min(560px,100%);max-height:min(88dvh,52rem);display:flex;flex-direction:column;outline:none;overflow:hidden}.modal-dialog--wide{width:min(880px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h1{font-family:var(--font-display);font-weight:700;font-size:1.4rem;letter-spacing:-.01em}.modal-body{overflow-y:auto;padding:1.2rem 1.5rem 1.6rem}.checkout-form{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.6rem}.checkout-summary h2{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-fg);margin-bottom:.8rem}.checkout-lines{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-bottom:1rem}.checkout-lines li{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;font-size:.9rem}.checkout-line-meta{display:block;font-size:.76rem;color:var(--muted-fg)}.checkout-line-end{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.84rem;white-space:nowrap}.checkout-line-delete{background:none;border:none;color:var(--muted-fg);display:inline-flex;padding:2px;transition:color .12s ease}.checkout-line-delete:hover{color:var(--destructive)}.checkout-totals{border-top:1px solid var(--border);padding-top:.8rem;display:flex;flex-direction:column;gap:.4rem}.checkout-row{display:flex;justify-content:space-between;font-size:.86rem;color:var(--ink-soft)}.checkout-row span:last-child{font-family:var(--font-mono)}.checkout-row--total{font-size:1rem;font-weight:700;color:var(--ink);padding-top:.4rem;border-top:1px solid var(--border)}.checkout-status{font-size:.9rem;color:var(--muted-fg);margin-bottom:1rem}.checkout-status a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}.checkout-error{background:color-mix(in oklab,var(--destructive) 10%,transparent);border:1px solid color-mix(in oklab,var(--destructive) 35%,transparent);color:var(--destructive);border-radius:var(--radius-sm);padding:.7rem .9rem;font-size:.86rem;margin-bottom:1rem}.checkout-card-form{display:flex;flex-direction:column;gap:1.1rem}.checkout-field>label,.checkout-field>span{display:block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-fg);margin-bottom:.45rem}.checkout-field input{width:100%;padding:.7rem .9rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font-size:.95rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.checkout-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.checkout-stripe-host{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem}.checkout-pay-btn{width:100%;padding:.95rem;border:none;border-radius:var(--radius);background:var(--primary);color:var(--primary-on);font-family:var(--font-display);font-weight:700;font-size:1rem;box-shadow:0 4px 20px var(--primary-dim);transition:background .15s ease,transform .15s ease}.checkout-pay-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.checkout-pay-btn:disabled{opacity:.6;cursor:not-allowed}.checkout-agree{font-size:.76rem;color:var(--muted-fg);text-align:center}.checkout-agree a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}.checkout-agree a:hover{color:var(--primary)}.breadcrumb{display:flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;color:var(--muted-fg);padding:1.8rem 0 1.4rem}.breadcrumb a{color:var(--ink-soft);transition:color .15s ease}.breadcrumb a:hover{color:var(--primary)}.product-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.4rem;align-items:start;margin-bottom:4rem}.product-hero-art{position:sticky;top:5.5rem;aspect-ratio:5 / 4;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--card)}.product-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,4.5vw,3rem);letter-spacing:-.02em;line-height:1.02;margin:.5rem 0 .6rem}.product-lead{font-size:1.05rem;color:var(--ink-soft);max-width:30rem}.product-stock{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;color:var(--warning);margin-bottom:.4rem}.product-buy{display:flex;align-items:center;gap:.7rem;margin:1.1rem 0 .8rem;flex-wrap:wrap}.qty-stepper{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border-strong);border-radius:var(--radius);padding:.35rem .5rem;background:var(--card)}.product-ship-note{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;color:var(--muted-fg);margin-bottom:1.6rem}.product-description{color:var(--ink-soft);font-size:.98rem;max-width:34rem;margin-bottom:1.8rem}.spec-table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--card);font-size:.88rem}.spec-table th,.spec-table td{text-align:left;padding:.65rem .9rem;border-bottom:1px solid var(--border);vertical-align:top}.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none}.spec-table th{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:400;color:var(--muted-fg);width:38%}.related{padding-bottom:3rem}.prose-page{max-width:640px;padding:3rem 0 4rem}.prose-page h1{font-family:var(--font-display);font-weight:800;font-size:2.4rem;letter-spacing:-.02em;margin-bottom:.4rem}.prose-updated{font-family:var(--font-mono);font-size:.74rem;color:var(--muted-fg);margin-bottom:2rem}.prose-page h2{font-family:var(--font-display);font-weight:700;font-size:1.25rem;margin:1.8rem 0 .5rem}.prose-page p{color:var(--ink-soft);font-size:.95rem;margin-bottom:.8rem}.prose-page a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}.success-page{max-width:560px;margin:0 auto;padding:4.5rem 0 5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.9rem}.success-eyebrow{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.24em;color:var(--positive)}.success-page h1{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,5vw,3rem);letter-spacing:-.02em}.success-page p{color:var(--ink-soft)}.success-email{font-size:.9rem}.success-page .btn-primary{margin-top:.8rem}@media(min-width:768px){.catalogue{padding-top:6rem;padding-bottom:4rem}.catalogue-header{margin-bottom:3.5rem}}@media(max-width:900px){.product-hero{grid-template-columns:1fr}.product-hero-art{position:static}.checkout-form{grid-template-columns:1fr}}@media(max-width:640px){:root{--shell-pad: 1rem}.cart-button-label{display:none}.wordmark-name{font-size:1.45rem}.wordmark{gap:.6rem}.wordmark-origin{gap:.32rem;padding-left:.6rem;font-size:.55rem;letter-spacing:.1em}.wordmark-flag{width:1.25rem}.catalogue{padding-top:2.5rem}.modal-overlay{padding:0;align-items:flex-end}.modal-dialog{width:100%;max-height:94dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.site-footer.svelte-4jwo3w{--pcb-under: #d9d0be;--pcb-mask: #f9f7f2;--pcb-edge: #d2c8b5;--pcb-cu: #ebe4d4;--pcb-pad: #d3ae60;--pcb-laminate: #e6dcc4;--pcb-silk: #2a2521;--pcb-via: #e7e1d3;--pcb-paste: #a4a29c;--pcb-solder: #c4c1b9;--pcb-c: #b78d60;--pcb-r: #23201d;--pcb-led: #f1e6c6;--pcb-f: #d5cdbb;--pcb-d: #1e1c1a;--pcb-ic: #2b2825;--pcb-xtal: #c3c1bb;--pcb-sw: #36332f;--pcb-t: #dad8d1;--pcb-x: #6f6a63;--pcb-blade: #8d949a;--pcb-shadow: rgba(60, 45, 25, .16);--strip-h: clamp(12.5rem, 24vw, 22rem);--mm: calc(var(--strip-h) / var(--panel-h-mm));--panel-w: calc(var(--mm) * var(--panel-w-mm));position:relative;overflow:hidden;container-type:inline-size;padding:clamp(2rem,4vw,3.25rem) 0 clamp(1.5rem,3vw,2.5rem);background:var(--pcb-under)}[data-theme=dark] .site-footer.svelte-4jwo3w{--pcb-under: #0f0d0c;--pcb-mask: #22201d;--pcb-edge: #3a342e;--pcb-cu: #2a2723;--pcb-pad: #c9a45c;--pcb-laminate: #4a4232;--pcb-silk: #ece6db;--pcb-via: #1a1816;--pcb-paste: #8e8c87;--pcb-solder: #dddbd4;--pcb-c: #a5835f;--pcb-r: #1b1917;--pcb-led: #efe9d6;--pcb-f: #cfc8b8;--pcb-d: #141210;--pcb-ic: #191715;--pcb-xtal: #b8b6b0;--pcb-sw: #2e2c29;--pcb-t: #d4d2cc;--pcb-x: #5f5a54;--pcb-blade: #9aa1a7;--pcb-shadow: rgba(0, 0, 0, .45)}.panel.svelte-4jwo3w{position:relative;width:var(--panel-w);margin-left:calc((100% - var(--panel-w)) / 2);border-radius:calc(var(--mm) * 1.2);background:var(--pcb-mask);box-shadow:0 0 0 1px var(--pcb-edge),0 calc(var(--mm) * 1.2) calc(var(--mm) * 3) var(--pcb-shadow)}.strip.svelte-4jwo3w{height:var(--strip-h)}.board-art.svelte-4jwo3w{display:block;width:100%;height:100%}.rail.svelte-4jwo3w{position:relative;display:flex;align-items:center;min-height:max(calc(var(--mm) * 6),2.5rem);background-image:radial-gradient(circle,var(--pcb-cu) 0 calc(var(--mm) * .32),transparent calc(var(--mm) * .32 + .5px));background-size:calc(var(--mm) * 1.4) calc(var(--mm) * 1.4);background-position:center}.rail-inner.svelte-4jwo3w{position:relative;width:min(100%,100cqw,var(--shell-max));margin-inline:auto;padding:.5rem var(--shell-pad);display:flex;align-items:center;gap:.6rem 1.4rem;flex-wrap:wrap;background:linear-gradient(90deg,transparent,var(--pcb-mask) 3rem,var(--pcb-mask) calc(100% - 3rem),transparent)}.rail--bottom.svelte-4jwo3w .rail-inner:where(.svelte-4jwo3w){justify-content:space-between}.fid.svelte-4jwo3w{flex:none;width:calc(var(--mm) * 2.2);height:calc(var(--mm) * 2.2);min-width:12px;min-height:12px;border-radius:50%;background:radial-gradient(circle,var(--pcb-pad) 0 34%,var(--pcb-laminate) calc(34% + .5px) 100%)}.fid--end.svelte-4jwo3w{margin-left:auto}.tooling.svelte-4jwo3w{position:absolute;top:50%;width:calc(var(--mm) * 2.2);height:calc(var(--mm) * 2.2);border-radius:50%;background:var(--pcb-under);box-shadow:inset 0 0 0 1px var(--pcb-edge);transform:translateY(-50%)}.tooling--start.svelte-4jwo3w{left:calc(var(--mm) * 2.5)}.tooling--end.svelte-4jwo3w{right:calc(var(--mm) * 2.5)}.rail-brand.svelte-4jwo3w{font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:.02em;line-height:1;color:var(--pcb-silk)}.rail-note.svelte-4jwo3w,.footer-nav.svelte-4jwo3w a:where(.svelte-4jwo3w),.footer-copy.svelte-4jwo3w{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pcb-silk)}.footer-nav.svelte-4jwo3w{display:flex;gap:1.4rem}.footer-nav.svelte-4jwo3w a:where(.svelte-4jwo3w){padding-block:.35rem}.rail-brand.svelte-4jwo3w:hover,.footer-nav.svelte-4jwo3w a:where(.svelte-4jwo3w):hover{text-decoration:underline;text-underline-offset:.3em}.board-art.svelte-4jwo3w .k-c{fill:var(--pcb-c)}.board-art.svelte-4jwo3w .k-r{fill:var(--pcb-r)}.board-art.svelte-4jwo3w .k-led{fill:var(--pcb-led)}.board-art.svelte-4jwo3w .k-f{fill:var(--pcb-f)}.board-art.svelte-4jwo3w .k-d{fill:var(--pcb-d)}.board-art.svelte-4jwo3w .k-ic{fill:var(--pcb-ic)}.board-art.svelte-4jwo3w .k-xtal{fill:var(--pcb-xtal)}.board-art.svelte-4jwo3w .k-sw{fill:var(--pcb-sw)}.board-art.svelte-4jwo3w .k-t{fill:var(--pcb-t)}.board-art.svelte-4jwo3w .k-x{fill:var(--pcb-x)}.armed.svelte-4jwo3w .assembled:where(.svelte-4jwo3w),.live.svelte-4jwo3w .assembled:where(.svelte-4jwo3w){visibility:hidden}.paste.svelte-4jwo3w{fill:var(--pcb-paste)}.blade.svelte-4jwo3w{fill:var(--pcb-blade)}.bead.svelte-4jwo3w{fill:var(--pcb-paste)}.armed.svelte-4jwo3w .squeegee:where(.svelte-4jwo3w){opacity:0}.board-art.svelte-4jwo3w .pd,.board-art.svelte-4jwo3w .ps{transform-box:fill-box;transform-origin:center}.armed.svelte-4jwo3w .pd{opacity:0}.armed.svelte-4jwo3w .ps{transform:translate(var(--dx),var(--dy)) rotate(var(--dr))}.live.svelte-4jwo3w .sweep:where(.svelte-4jwo3w),.live.svelte-4jwo3w .squeegee:where(.svelte-4jwo3w){animation:svelte-4jwo3w-rw-print .9s cubic-bezier(.45,0,.4,1) both}.live.svelte-4jwo3w .paste:where(.svelte-4jwo3w){animation:svelte-4jwo3w-rw-melt .28s ease-in 1.78s both}.live.svelte-4jwo3w .pd{animation:svelte-4jwo3w-rw-place .3s cubic-bezier(.2,.7,.3,1) calc(.9s + var(--i) * .55s) both}.live.svelte-4jwo3w .ps{animation:svelte-4jwo3w-rw-snap .55s calc(2s + var(--j) * .12s) both}@keyframes svelte-4jwo3w-rw-print{0%{transform:translate(0)}to{transform:translate(calc(var(--panel-w-mm) * 1px + 2px))}}@keyframes svelte-4jwo3w-rw-melt{0%{fill:var(--pcb-paste)}to{fill:var(--pcb-solder)}}@keyframes svelte-4jwo3w-rw-place{0%{opacity:0;transform:scale(1.4)}55%{opacity:1}to{opacity:1;transform:none}}@keyframes svelte-4jwo3w-rw-snap{0%{transform:translate(var(--dx),var(--dy)) rotate(var(--dr));animation-timing-function:cubic-bezier(.6,0,.9,.5)}55%{transform:translate(calc(var(--dx) * -.14),calc(var(--dy) * -.14)) rotate(calc(var(--dr) * -.14));animation-timing-function:ease-in-out}80%{transform:translate(calc(var(--dx) * .04),calc(var(--dy) * .04)) rotate(calc(var(--dr) * .04));animation-timing-function:ease-out}to{transform:none}}@media(max-width:720px){.rail-note--wide.svelte-4jwo3w{display:none}.footer-nav.svelte-4jwo3w{gap:1rem}}
