@import "https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700;900&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--ink:#171715;--ink-soft:#232320;--charcoal:#494946;--ash:#b8b7b2;--bone:#d9d1bf;--natural:#ded7c7;--paper:#f4f3ef;--seal:#a23e2f;--seal-soft:#c65a41;--line:#1717151f;--line-on-dark:#f4f3ef29;--font-display:"Zen Kaku Gothic New", "Hiragino Sans", sans-serif;--font-body:"Inter", "Hiragino Sans", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:7rem;--radius-sm:2px;--radius-md:4px;--radius-lg:10px;--radius-full:999px;--shadow-lift:0 20px 45px -25px #17171573;--shadow-panel:-30px 0 60px -30px #17171559;--ease:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}img{max-width:100%;display:block}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed}a{color:inherit}:focus-visible{outline:2px solid var(--seal);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.muted{color:var(--charcoal);font-size:.85em}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.store{flex-direction:column;min-height:100vh;display:flex}.wrap{width:100%;max-width:1180px;padding-inline:var(--space-5);margin:0 auto}@media (max-width:640px){.wrap{padding-inline:var(--space-4)}}.header{z-index:40;background:var(--ink);color:var(--paper);border-bottom:1px solid var(--line-on-dark);position:sticky;top:0}.header__row{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-4);display:flex}.logo{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:1.35rem;font-weight:900;text-decoration:none}.header__actions{align-items:center;gap:var(--space-3);display:flex}.lang-toggle{border:1px solid var(--line-on-dark);border-radius:var(--radius-full);display:flex;overflow:hidden}.lang-toggle button{padding:var(--space-2) var(--space-3);font-family:var(--font-mono);letter-spacing:.08em;color:var(--ash);transition:color .2s var(--ease), background .2s var(--ease);font-size:.72rem}.lang-toggle button[aria-pressed=true]{background:var(--paper);color:var(--ink)}.cart-button{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--line-on-dark);border-radius:var(--radius-full);transition:border-color .2s var(--ease);font-size:.85rem;display:inline-flex;position:relative}.cart-button:hover{border-color:var(--paper)}.cart-count{border-radius:var(--radius-full);background:var(--seal);min-width:1.3rem;height:1.3rem;color:var(--paper);font-family:var(--font-mono);justify-content:center;align-items:center;padding-inline:4px;font-size:.68rem;display:inline-flex}.nav-row{align-items:center;gap:var(--space-5);padding-bottom:var(--space-3);scrollbar-width:none;display:flex;overflow-x:auto}.nav-row::-webkit-scrollbar{display:none}.nav-link{letter-spacing:.05em;text-transform:uppercase;color:var(--ash);white-space:nowrap;padding-bottom:var(--space-1);transition:color .2s var(--ease), border-color .2s var(--ease);border-bottom:2px solid #0000;font-size:.8rem}.nav-link[aria-current=true]{color:var(--paper);border-color:var(--seal)}.nav-link:hover{color:var(--paper)}.hero{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.hero:before{content:"";opacity:.5;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,#f4f3ef12 1px,#0000 0);background-size:22px 22px;position:absolute;inset:0}.hero__inner{align-items:center;gap:var(--space-7);padding-block:var(--space-9) var(--space-8);grid-template-columns:1.1fr .9fr;display:grid;position:relative}@media (max-width:860px){.hero__inner{padding-block:var(--space-8) var(--space-7);text-align:left;grid-template-columns:1fr}}.hero__eyebrow{align-items:center;gap:var(--space-2);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ash);margin-bottom:var(--space-4);font-size:.72rem;display:inline-flex}.hero__eyebrow:before{content:"";background:var(--seal);border-radius:50%;width:6px;height:6px}.hero h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 var(--space-5);font-size:clamp(2.4rem,5vw,4rem);font-weight:900;line-height:1.02}.hero p{max-width:44ch;color:var(--ash);margin:0 0 var(--space-6);font-size:1.05rem}.hero__ctas{gap:var(--space-3);flex-wrap:wrap;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);letter-spacing:.02em;transition:transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);border:1px solid #0000;font-size:.85rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn--primary{background:var(--paper);color:var(--ink)}.btn--primary:hover{background:var(--bone)}.btn--ghost{border-color:var(--line-on-dark);color:var(--paper)}.btn--ghost:hover{border-color:var(--paper)}.btn--seal{background:var(--seal);color:var(--paper)}.btn--seal:hover{background:var(--seal-soft)}.btn--block{width:100%}.btn:disabled{opacity:.45;transform:none}.hanko{aspect-ratio:1;background:var(--seal);width:clamp(150px,16vw,220px);box-shadow:var(--shadow-lift);border-radius:50%;justify-content:center;align-items:center;margin-inline:auto;display:flex;position:relative;transform:rotate(-6deg)}.hanko:before{content:"";border:1.5px solid #f4f3ef8c;border-radius:50%;position:absolute;inset:10px}.hanko span{font-family:var(--font-display);color:var(--paper);font-size:clamp(2.6rem,5vw,4rem);font-weight:900;line-height:1}.collections{background:var(--bone);border-bottom:1px solid var(--line)}.collections__inner{padding-block:var(--space-6)}.section-title{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.section-title h2{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:1.1rem;font-weight:700}.section-title__hint{font-family:var(--font-mono);color:var(--charcoal);font-size:.75rem}.collection-rail{gap:var(--space-4);padding-bottom:var(--space-2);scrollbar-width:none;display:flex;overflow-x:auto}.collection-rail::-webkit-scrollbar{display:none}.collection-card{width:min(280px,78vw);padding:var(--space-5);background:var(--ink);color:var(--paper);border-radius:var(--radius-lg);text-align:left;transition:transform .2s var(--ease);flex:none}.collection-card:hover{transform:translateY(-3px)}.collection-card[aria-pressed=true]{outline:2px solid var(--seal);outline-offset:2px}.collection-card__mark{width:22px;height:22px;margin-bottom:var(--space-4);border-radius:50%}.collection-card h3{font-family:var(--font-display);margin:0 0 var(--space-2);font-size:1.1rem}.collection-card p{color:var(--ash);margin:0;font-size:.85rem;line-height:1.5}.filters{gap:var(--space-2);padding-block:var(--space-6) var(--space-5);flex-wrap:wrap;display:flex}.chip{padding:var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-full);letter-spacing:.02em;transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);font-size:.8rem}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip:hover:not([aria-pressed=true]){border-color:var(--charcoal)}.grid{gap:var(--space-5);padding-bottom:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.empty-state{padding:var(--space-8) 0;text-align:center;color:var(--charcoal);font-family:var(--font-mono);font-size:.85rem}.card{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--paper);transition:transform .2s var(--ease), box-shadow .2s var(--ease);flex-direction:column;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-4px)}.card--dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.card--stone{background:var(--ash);color:var(--ink);border-color:var(--ash)}.card__media{aspect-ratio:4/5;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.card__media img{object-fit:cover;width:100%;height:100%}.card__placeholder{font-family:var(--font-display);letter-spacing:.05em;opacity:.22;text-transform:uppercase;text-align:center;padding:var(--space-4);font-size:2.2rem;font-weight:900}.badge{top:var(--space-3);left:var(--space-3);border-radius:var(--radius-full);background:var(--seal);color:var(--paper);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:5px;padding:4px 10px;font-size:.65rem;display:inline-flex;position:absolute}.badge--collection{left:auto;right:var(--space-3);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#171715b8}.card__body{padding:var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.card__name{margin:0;font-size:.95rem;font-weight:600}.card__price{font-family:var(--font-mono);font-size:.9rem}.swatch-row{padding-top:var(--space-2);gap:6px;margin-top:auto;display:flex}.swatch{border:1px solid var(--line);border-radius:50%;width:14px;height:14px}.card--dark .swatch{border-color:var(--line-on-dark)}.overlay{z-index:60;animation:fade-in .2s var(--ease);background:#1717158c;justify-content:flex-end;display:flex;position:fixed;inset:0}.overlay--center{padding:var(--space-5);justify-content:center;align-items:center}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.panel{background:var(--paper);width:min(460px,100vw);max-height:100vh;box-shadow:var(--shadow-panel);animation:slide-in .25s var(--ease);overflow-y:auto}.panel--wide{border-radius:var(--radius-lg);grid-template-columns:1fr 1fr;width:min(880px,100vw);max-height:min(720px,92vh);display:grid}@media (max-width:760px){.panel--wide{grid-template-columns:1fr;max-height:92vh}}.panel__close{z-index:2;padding:var(--space-3) var(--space-3) 0;background:inherit;justify-content:flex-end;display:flex;position:sticky;top:0}.panel__close button{border:1px solid var(--line);border-radius:50%;width:34px;height:34px;font-size:1.1rem;line-height:1}.product-gallery{background:var(--bone);flex-direction:column;display:flex}.product-gallery__main{aspect-ratio:4/5;justify-content:center;align-items:center;display:flex;overflow:hidden}.product-gallery__main img{object-fit:cover;width:100%;height:100%}.product-gallery__thumbs{gap:var(--space-2);padding:var(--space-3);display:flex;overflow-x:auto}.product-gallery__thumbs button{border-radius:var(--radius-sm);border:1px solid var(--line);flex:none;width:52px;height:65px;overflow:hidden}.product-gallery__thumbs img{object-fit:cover;width:100%;height:100%}.product-detail{padding:var(--space-6) var(--space-5) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.product-detail__collection{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--seal);font-size:.7rem}.product-detail h2{font-family:var(--font-display);margin:0;font-size:1.5rem}.product-detail__price{font-family:var(--font-mono);font-size:1.15rem}.product-detail__desc{color:var(--charcoal);font-size:.92rem;line-height:1.6}.field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--charcoal);margin-bottom:var(--space-2);justify-content:space-between;align-items:baseline;font-size:.75rem;display:flex}.option-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.option-swatch{border:1px solid var(--line);border-radius:50%;width:34px;height:34px;position:relative}.option-swatch[aria-pressed=true]{outline:2px solid var(--seal);outline-offset:2px}.size-pill{min-width:46px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);text-align:center;font-size:.82rem}.size-pill[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.size-pill:disabled{color:var(--ash);border-color:var(--line);opacity:.7;text-decoration:line-through}.text-input,.qty-input{width:100%;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}.field-hint{color:var(--charcoal);margin-top:var(--space-1);font-size:.75rem}.field-hint--error{color:var(--seal)}.qty-stepper{border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;display:inline-flex;overflow:hidden}.qty-stepper button{width:36px;height:36px;font-size:1rem}.qty-stepper span{text-align:center;min-width:32px;font-family:var(--font-mono)}.details-list{color:var(--charcoal);gap:var(--space-1);flex-direction:column;margin:0;padding-left:1.1rem;font-size:.85rem;display:flex}.size-guide{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:.78rem}.size-guide caption{text-align:left;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--charcoal);margin-bottom:var(--space-2);font-size:.75rem}.size-guide th,.size-guide td{padding:var(--space-2);border:1px solid var(--line);text-align:left}.cart-panel{flex-direction:column;height:100%;display:flex}.cart-panel__header{padding:var(--space-5);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.cart-panel__header h2{font-family:var(--font-display);margin:0;font-size:1.2rem}.cart-items{padding:var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.cart-item{gap:var(--space-3);grid-template-columns:64px 1fr auto;display:grid}.cart-item__thumb{border-radius:var(--radius-sm);background:var(--bone);justify-content:center;align-items:center;width:64px;height:80px;display:flex;overflow:hidden}.cart-item__thumb img{object-fit:cover;width:100%;height:100%}.cart-item__meta{font-size:.85rem}.cart-item__meta p{margin:0 0 2px}.cart-item__meta .muted{color:var(--charcoal);font-size:.78rem}.cart-item__remove{color:var(--seal);text-underline-offset:2px;margin-top:var(--space-1);font-size:.72rem;text-decoration:underline}.cart-panel__footer{padding:var(--space-5);border-top:1px solid var(--line);gap:var(--space-3);flex-direction:column;display:flex}.cart-total{font-family:var(--font-mono);justify-content:space-between;font-size:1rem;display:flex}.cart-note{color:var(--charcoal);font-size:.75rem}.cart-empty{justify-content:center;align-items:center;gap:var(--space-3);color:var(--charcoal);text-align:center;padding:var(--space-6);flex-direction:column;flex:1;display:flex}.footer{background:var(--ink);color:var(--ash);margin-top:auto}.footer__inner{padding-block:var(--space-7);justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;display:flex}.footer__brand{max-width:320px}.footer__brand .logo{color:var(--paper)}.footer__brand p{margin-top:var(--space-3);font-size:.82rem;line-height:1.6}.footer__links{gap:var(--space-7);flex-wrap:wrap;display:flex}.footer__col h4{letter-spacing:.1em;text-transform:uppercase;color:var(--paper);margin:0 0 var(--space-3);font-size:.72rem}.footer__col a,.footer__col p{margin:0 0 var(--space-2);color:var(--ash);font-size:.82rem;text-decoration:none;display:block}.footer__col a:hover{color:var(--paper)}.footer__bottom{border-top:1px solid var(--line-on-dark);padding-block:var(--space-4);font-family:var(--font-mono);justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;font-size:.7rem;display:flex}.toast{left:50%;bottom:var(--space-6);background:var(--ink);color:var(--paper);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);z-index:80;box-shadow:var(--shadow-lift);animation:toast-in .2s var(--ease);font-size:.85rem;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}
