*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sw-font-body);background:var(--sw-paper);color:var(--sw-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1.02rem;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{padding:0;list-style:none}:focus-visible{outline:2px solid var(--sw-surf);outline-offset:3px;border-radius:4px}h1,h2,h3{font-family:var(--sw-font-display);letter-spacing:-.02em;font-weight:600;line-height:1.1}h1{font-size:clamp(2.1rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3.2vw,2.3rem)}h3{letter-spacing:-.01em;font-size:1.15rem}.wrap{width:100%;max-width:1160px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}.section{padding-block:clamp(3rem,7vw,5.5rem)}.section--tight{padding-block:clamp(2rem,4vw,3rem)}.eyebrow{font-family:var(--sw-font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--sw-teal);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.74rem;display:inline-flex}.eyebrow:before{content:"~";color:var(--sw-surf);font-size:1.1rem;line-height:0}.on-dark .eyebrow{color:var(--sw-surf2)}.lead{color:var(--sw-slate);max-width:52ch;font-size:clamp(1rem,1.5vw,1.15rem)}.on-dark .lead{color:#eef6f6b8}.btn{font-family:var(--sw-font-body);background:var(--sw-surf);color:var(--sw-abyss);cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.78rem 1.45rem;font-size:.97rem;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.btn:hover{box-shadow:0 10px 30px -8px color-mix(in srgb, var(--sw-surf) 50%, transparent);transform:translateY(-2px)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn--ghost{color:var(--sw-ink);border-color:var(--sw-line-on-light);background:0 0}.btn--ghost:hover{background:var(--sw-foam);box-shadow:none}.on-dark .btn--ghost{color:var(--sw-foam);border-color:var(--sw-line-on-dark)}.btn--block{width:100%}.btn--small{padding:.5rem .95rem;font-size:.88rem}.nav{z-index:50;background:color-mix(in srgb, var(--sw-abyss) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--sw-line-on-dark);position:sticky;top:0}.nav__inner{align-items:center;gap:1.5rem;height:68px;display:flex}.nav__logo{width:auto;height:26px}.nav__links{gap:1.5rem;margin-left:auto;display:flex}.nav__links a{color:#eef6f6cc;font-size:.95rem;transition:color .15s}.nav__links a:hover,.nav__links a[aria-current=page]{color:var(--sw-surf)}.nav__cart{border:1px solid var(--sw-line-on-dark);color:var(--sw-foam);border-radius:999px;align-items:center;gap:.5rem;padding:.42rem .9rem;font-size:.9rem;transition:border-color .15s,color .15s;display:inline-flex}.nav__cart:hover{border-color:var(--sw-surf);color:var(--sw-surf)}.nav__cart-count{font-family:var(--sw-font-mono);background:var(--sw-surf);min-width:1.35rem;height:1.35rem;color:var(--sw-abyss);border-radius:999px;place-items:center;font-size:.72rem;font-weight:600;display:inline-grid}.hero{background:radial-gradient(120% 90% at 85% -10%, color-mix(in srgb, var(--sw-surf) 16%, transparent), transparent 55%), linear-gradient(180deg, var(--sw-abyss) 0%, var(--sw-deep) 100%);color:var(--sw-foam);padding-block:clamp(3.5rem,8vw,6.5rem);position:relative;overflow:hidden}.hero h1{max-width:18ch;margin-bottom:1.1rem}.hero h1 em{color:var(--sw-surf);font-style:normal}.hero__sub{color:#eef6f6c7;max-width:46ch;margin-bottom:1.9rem;font-size:clamp(1rem,1.6vw,1.2rem)}.hero__cta{flex-wrap:wrap;gap:.8rem;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.2rem;display:grid}.card{background:var(--sw-paper);border:1px solid var(--sw-line-on-light);border-radius:var(--sw-radius);flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.card:hover{border-color:var(--sw-surf);box-shadow:0 18px 40px -22px color-mix(in srgb, var(--sw-current) 50%, transparent);transform:translateY(-4px)}.card__media{aspect-ratio:4/3;background:var(--sw-foam);place-items:center;display:grid;overflow:hidden}.card__media img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.card__placeholder{font-family:var(--sw-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sw-slate);font-size:.75rem}.card__body{flex-direction:column;flex:1;gap:.35rem;padding:1.05rem 1.1rem 1.2rem;display:flex}.card__category{font-family:var(--sw-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sw-slate);font-size:.68rem}.card__name{font-size:1.02rem;font-weight:500}.card__price{font-family:var(--sw-font-mono);color:var(--sw-ink);margin-top:auto;padding-top:.55rem;font-size:1.12rem;font-weight:600}.badge{font-family:var(--sw-font-mono);letter-spacing:.07em;text-transform:uppercase;background:var(--sw-badge-positive-bg);color:var(--sw-badge-positive-fg);border-radius:999px;align-self:flex-start;padding:.28rem .6rem;font-size:.66rem}.chips{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.chip{border:1px solid var(--sw-line-on-light);color:var(--sw-slate);border-radius:999px;padding:.42rem .95rem;font-size:.9rem;transition:all .15s}.chip:hover{border-color:var(--sw-surf);color:var(--sw-ink)}.chip[aria-current=page]{background:var(--sw-current);border-color:var(--sw-current);color:var(--sw-foam)}.product{align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}@media (width>=900px){.product{grid-template-columns:1.1fr 1fr}}.product__gallery{gap:.7rem;display:grid}.product__photo{border-radius:var(--sw-radius);border:1px solid var(--sw-line-on-light);background:var(--sw-foam);aspect-ratio:4/3;overflow:hidden}.product__photo img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.product__thumbs{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.55rem;display:grid}.product__thumbs img{border:1px solid var(--sw-line-on-light);aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border-radius:8px}.product__price{font-family:var(--sw-font-mono);margin:.9rem 0 .3rem;font-size:2rem;font-weight:600}.product__lead-time{color:var(--sw-slate);margin-bottom:1.4rem;font-size:.9rem}.product__description{color:var(--sw-slate);margin-bottom:1.6rem}.field{gap:.38rem;margin-bottom:1.05rem;display:grid}.field label{font-family:var(--sw-font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--sw-slate);font-size:.7rem}.field input,.field textarea,.field select{font:inherit;width:100%;color:var(--sw-ink);background:var(--sw-paper);border:1px solid var(--sw-line-on-light);border-radius:var(--sw-radius);padding:.68rem .85rem;transition:border-color .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--sw-surf);outline:none}.field textarea{resize:vertical;min-height:5rem}.field__hint{color:var(--sw-slate);font-size:.82rem}.field__error{color:#c0392b;font-size:.84rem}.field--inline{align-items:flex-end;gap:.7rem;display:flex}.field--inline input{width:5.5rem}.notice{border-radius:var(--sw-radius);background:var(--sw-badge-positive-bg);color:var(--sw-badge-positive-fg);margin-bottom:1.4rem;padding:.85rem 1.05rem;font-size:.95rem}.notice--warn{background:var(--sw-badge-warning-bg);color:var(--sw-badge-warning-fg)}.cart{align-items:start;gap:clamp(1.5rem,4vw,2.5rem);display:grid}@media (width>=900px){.cart{grid-template-columns:1.6fr 1fr}}.cart__line{border-top:1px solid var(--sw-line-on-light);grid-template-columns:84px 1fr auto;align-items:start;gap:1rem;padding:1.1rem 0;display:grid}.cart__line:first-child{border-top:0}.cart__thumb{background:var(--sw-foam);aspect-ratio:1;border-radius:10px;overflow:hidden}.cart__thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.cart__personalization{color:var(--sw-slate);margin-top:.2rem;font-size:.86rem}.cart__line-total{font-family:var(--sw-font-mono);white-space:nowrap;font-weight:600}.cart__actions{align-items:center;gap:.6rem;margin-top:.55rem;display:flex}.cart__remove{color:var(--sw-slate);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-size:.84rem;text-decoration:underline}.cart__remove:hover{color:#c0392b}.summary{background:var(--sw-foam);border:1px solid var(--sw-line-on-light);border-radius:var(--sw-radius);padding:1.3rem;position:sticky;top:6rem}.summary__row{justify-content:space-between;gap:1rem;padding:.42rem 0;font-size:.95rem;display:flex}.summary__row--total{border-top:1px solid var(--sw-line-on-light);margin-top:.5rem;padding-top:.75rem;font-size:1.12rem;font-weight:600}.summary__value{font-family:var(--sw-font-mono);font-variant-numeric:tabular-nums}.empty{text-align:center;padding:clamp(2.5rem,8vw,5rem) 0}.empty p{color:var(--sw-slate);margin-bottom:1.4rem}.footer{background:var(--sw-abyss);color:#eef6f6b8;border-top:1px solid var(--sw-line-on-dark);padding-block:2.6rem;font-size:.88rem}.footer__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.8rem;display:grid}.footer h4{font-family:var(--sw-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sw-surf2);margin-bottom:.7rem;font-size:.7rem;font-weight:400}.footer a:hover{color:var(--sw-surf)}.footer li{margin-bottom:.4rem}.footer address{white-space:pre-line;font-style:normal}.footer__bottom{border-top:1px solid var(--sw-line-on-dark);color:var(--sw-slate);flex-wrap:wrap;justify-content:space-between;gap:.8rem 1.5rem;margin-top:2rem;padding-top:1.3rem;font-size:.8rem;display:flex}.pagination{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:2.5rem;display:flex}.pagination a,.pagination span{border:1px solid var(--sw-line-on-light);color:var(--sw-slate);border-radius:8px;padding:.42rem .8rem;font-size:.9rem}.pagination a:hover{border-color:var(--sw-surf);color:var(--sw-ink)}.pagination [aria-current=page]{background:var(--sw-current);border-color:var(--sw-current);color:var(--sw-foam)}@media (width<=720px){.nav__links{display:none}.cart__line{grid-template-columns:64px 1fr}.cart__line-total{grid-column:2}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.prose h2{margin:2rem 0 .7rem;font-size:1.22rem}.prose h2:first-child{margin-top:0}.prose p{color:var(--sw-slate);margin-bottom:1rem}.prose p strong{color:var(--sw-ink)}.prose ul{color:var(--sw-slate);margin:0 0 1.2rem}.prose li{margin-bottom:.4rem}.prose a{color:var(--sw-teal);text-underline-offset:3px;text-decoration:underline}.prose a:hover{color:var(--sw-current)}
