:root{--cream:#f7f3ec;--sand:#ebe4d8;--ink:#1f1a16;--muted:#6f655c;--border:#d9d0c3;--card:#fbf8f3;--accent:#c9b8a8;--sale:#8a3b32;--radius:2px;--font-serif:"Cormorant Garamond", "Times New Roman", serif;--font-sans:"Manrope", "Hiragino Sans", "Noto Sans JP", sans-serif;--max:1180px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:radial-gradient(1200px 600px at 10% -10%, #fff8ef 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #efe6da 0%, transparent 50%), var(--cream);color:var(--ink);flex-direction:column;min-height:100dvh;margin:0;line-height:1.55;display:flex}.shop-root{flex-direction:column;flex:1;width:100%;min-height:100dvh;display:flex}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-serif);margin:0 0 .5rem;font-weight:500;line-height:1.15}h1{font-size:clamp(2.4rem,5vw,4.2rem)}h2{font-size:clamp(1.8rem,3vw,2.6rem)}.is-italic{font-style:italic}.eyebrow,.label,.brand{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:.72rem}.muted{color:var(--muted)}.app-shell{width:min(100% - 2rem, var(--max));flex:1;margin:0 auto;padding:1.25rem 0 4rem}.shop-ad{border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);background:color-mix(in srgb, var(--sand) 55%, transparent);justify-content:center;width:100%;margin:1rem 0 1.25rem;padding:.75rem 0;display:flex}.shop-ad--home{margin-top:0}.shop-ad--feed{grid-column:1/-1}.shop-ad--detail{margin:0 0 2.5rem}.ad-container-with-label{flex-direction:column;align-items:center;gap:.35rem;width:100%;max-width:320px;display:flex}.ad-container-with-label .ad-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.ad-container-with-label .ad-content{margin:0 auto}.site-header{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb, var(--cream) 88%, transparent);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header__inner{width:min(100% - 2rem, var(--max));grid-template-columns:auto 1fr auto auto;align-items:center;gap:1rem;min-height:64px;margin:0 auto;display:grid}.logo{font-family:var(--font-serif);align-items:center;gap:.35rem;font-size:1.35rem;display:inline-flex}.logo__spark{font-size:.75rem}.site-nav{justify-content:center;gap:1rem;display:flex}.site-nav a{letter-spacing:.08em;color:var(--muted);font-size:.72rem}html[lang=en] .site-nav a{text-transform:uppercase;letter-spacing:.12em}.site-nav a.active,.site-nav a:hover{color:var(--ink)}.site-header__tagline{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;margin:0;font-size:.68rem}.site-header__actions{align-items:center;gap:.65rem;display:flex}.lang-switch{letter-spacing:.08em;align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.lang-switch button{cursor:pointer;color:var(--muted);font:inherit;background:0 0;border:0;padding:0}.lang-switch button.is-active{color:var(--ink);font-weight:600}.icon-btn{color:var(--ink);display:inline-flex;position:relative}.badge{background:var(--ink);min-width:16px;height:16px;color:var(--cream);border-radius:999px;place-items:center;padding:0 4px;font-size:.65rem;display:grid;position:absolute;top:-6px;right:-8px}.btn{border:1px solid var(--ink);color:var(--ink);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius);background:0 0;justify-content:center;align-items:center;gap:.4rem;padding:.75rem 1.2rem;font-size:.75rem;transition:background .2s,color .2s,transform .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--ink);color:var(--cream)}.btn--ghost{background:0 0}.btn--text{letter-spacing:.08em;border:0;padding:.4rem 0}.btn--block{width:100%}.hero{grid-template-columns:1.05fr .95fr;align-items:end;gap:2rem;min-height:min(72vh,640px);padding:2rem 0 1rem;animation:.7s both rise;display:grid}.hero__body{max-width:36rem;color:var(--muted)}.hero__ctas{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.hero__visual{border-radius:var(--radius);aspect-ratio:3/2;background:var(--sand);position:relative;overflow:hidden}.hero__slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .48s,transform 4.2s;position:absolute;inset:0;transform:scale(1.03)}.hero__slide.is-active{opacity:1;transform:scale(1)}.hero__overlay{z-index:2;max-width:min(68%,22rem);position:absolute;bottom:1rem;left:1rem}.hero__badge{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.12em;text-transform:uppercase;background:#18181857;border:1px solid #ffffff52;padding:.45rem .7rem;font-size:.74rem;display:inline-block}.hero__slogan{color:#fffffff0;text-shadow:0 2px 14px #00000047;margin:.7rem 0 0;font-size:1rem;line-height:1.4}.hero__dots{z-index:2;gap:.4rem;display:flex;position:absolute;bottom:1rem;right:1rem}.hero__dot{cursor:pointer;background:#ffffff73;border:0;border-radius:999px;width:.55rem;height:.55rem;padding:0}.hero__dot.is-active{background:#fffffff5}.coming-soon{color:var(--muted);margin:0 0 3rem;font-size:.9rem}.collections{margin:3rem 0 4rem}.collections__intro{max-width:42rem;color:var(--muted);margin:.7rem 0 0}.collections__grid{grid-template-columns:repeat(7,minmax(9.5rem,1fr));align-items:stretch;gap:1rem;margin-top:1rem;display:grid}.collection-card{text-align:left;cursor:pointer;font:inherit;color:inherit;background:linear-gradient(#ffffffeb,#f6f2ecf5),radial-gradient(circle at top,#fffffff2,#fff0);border:1px solid #1818181f;grid-template-rows:auto 1fr;gap:.8rem;min-height:13.75rem;padding:1rem;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 32px #1818180d}.collection-card:before{content:"";pointer-events:none;background:linear-gradient(#ffffff05,#fff0);position:absolute;inset:0}.collection-card:hover{border-color:#18181847;transform:translateY(-3px);box-shadow:0 20px 44px #18181817}.collection-card__index{z-index:2;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-size:.78rem;position:relative}.collection-card__body{z-index:2;position:relative}.collection-card h3{margin:.22rem 0 .45rem;font-size:1.12rem;line-height:1.1}.collection-card__kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem}.collection-card p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.38}.collection-card__visual{pointer-events:none;height:48%;position:absolute;inset:auto 0 0;overflow:hidden}.collection-card__visual:before{content:"";z-index:1;background:linear-gradient(#f7f4ef00 0%,#f7f4ef73 18%,#f7f4efe0 55%,#f7f4effa 100%),linear-gradient(#ffffff2e,#ffffff2e);position:absolute;inset:0}.collection-card__visual img{object-fit:cover;object-position:center bottom;filter:saturate(.82)contrast(1.02);width:100%;height:100%;display:block;transform:scale(1.03)}.collection-card--sand{background:linear-gradient(#fdf9f2f7,#f4ece2fa),radial-gradient(circle at top,#fffffff2,#fff0)}.collection-card--gold{background:linear-gradient(#fefaf0f7,#f4ecd5fa),radial-gradient(circle at top,#fffffff2,#fff0)}.collection-card--ink{background:linear-gradient(#f4f5f8fa,#e2e6eefa),radial-gradient(circle at top,#fffffff2,#fff0)}.collection-card--mocha{background:linear-gradient(#faf5f0fa,#eee2d8fa),radial-gradient(circle at top,#fffffff2,#fff0)}.collection-card--sage{background:linear-gradient(#f6f9f4fa,#e4ece2fa),radial-gradient(circle at top,#fffffff2,#fff0)}.collection-card--plum{background:linear-gradient(#f7f3f8fa,#e9dfecfa),radial-gradient(circle at top,#fffffff2,#fff0)}.collection-card--rose{background:linear-gradient(#fcf5f6fa,#f1e0e4fa),radial-gradient(circle at top,#fffffff2,#fff0)}.feed__head,.feed__controls,.chip-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.feed__head{justify-content:space-between}.feed__controls input,.feed__controls select,.form-grid input{border:1px solid var(--border);background:var(--card);font:inherit;color:var(--ink);border-radius:var(--radius);padding:.7rem .85rem}.feed__controls input{flex:1;min-width:min(100%,280px)}.chip-row__label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:.25rem;font-size:.7rem}.chip{border:1px solid var(--border);font:inherit;letter-spacing:.04em;cursor:pointer;color:var(--muted);border-radius:var(--radius);background:0 0;padding:.4rem .7rem;font-size:.72rem}html[lang=en] .chip{text-transform:uppercase;letter-spacing:.08em}.chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--cream)}.product-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem 1rem;display:grid}.product-card__media{aspect-ratio:3/4;background:var(--sand);display:block;position:relative;overflow:hidden}.product-card__image{width:100%;height:100%;display:block}.product-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.product-card:hover .product-card__media img{transform:scale(1.04)}.product-card__badges{z-index:2;gap:.35rem;display:flex;position:absolute;top:.6rem;left:.6rem}.pill{background:var(--card);border:1px solid var(--border);letter-spacing:.08em;padding:.2rem .4rem;font-size:.65rem}.pill--new{background:var(--ink);border-color:var(--ink);color:var(--cream)}.pill--sale{color:var(--sale)}.product-card__wish{z-index:2;background:color-mix(in srgb, var(--cream) 92%, white);width:36px;height:36px;color:var(--ink);cursor:pointer;opacity:0;border:0;border-radius:50%;place-items:center;transition:opacity .2s,transform .2s,background .2s;display:grid;position:absolute;top:.55rem;right:.55rem;transform:translateY(-4px);box-shadow:0 1px 2px #0000000f}.product-card__wish.is-on{color:var(--sale)}.product-card__wish:hover{background:#fff}.product-card__quick{z-index:2;border-radius:var(--radius);background:color-mix(in srgb, var(--cream) 94%, white);width:auto;color:var(--ink);font:inherit;letter-spacing:.14em;text-transform:uppercase;text-align:center;cursor:pointer;opacity:0;border:0;margin:0;padding:.7rem .75rem;font-size:.72rem;transition:opacity .2s,transform .2s,background .2s;position:absolute;bottom:.55rem;left:.55rem;right:.55rem;transform:translateY(6px);box-shadow:0 1px 2px #0000000f}html[lang=ja] .product-card__quick{letter-spacing:.08em;text-transform:none}.product-card__quick:hover{background:#fff}.product-card:hover .product-card__wish,.product-card:hover .product-card__quick,.product-card__wish:focus-visible,.product-card__quick:focus-visible{opacity:1;transform:none}.product-card__meta{padding-top:.75rem}.product-card__name{font-family:var(--font-serif);margin-bottom:.35rem;font-size:1.15rem;display:block}.price{align-items:baseline;gap:.5rem;margin:0 0 .5rem;display:flex}.price__was{color:var(--muted);font-size:.9em;text-decoration:line-through}.price--lg{font-family:var(--font-serif);font-size:1.6rem}.tags{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.tags span{border:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.15rem .4rem;font-size:.65rem}.feed__more{justify-content:center;margin:2rem 0;display:flex}.promise{text-align:center;max-width:40rem;margin:4rem auto 2rem;padding:2rem 0}.promise blockquote{font-family:var(--font-serif);margin:0 0 1rem;font-size:1.6rem;font-style:italic}.back-link{font:inherit;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-bottom:1rem;padding:0;font-size:.72rem;display:inline-block}.product-page__main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:2.5rem;margin-bottom:1.5rem;display:grid}.product-page__media{background:var(--sand);aspect-ratio:1;width:100%;min-width:0;max-width:100%}.product-page__info{min-width:0}.product-page__media img{object-fit:cover;width:100%;height:100%}.product-page__desc{color:var(--muted);max-width:34rem}.size-row{flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;display:flex}.size-btn{border:1px solid var(--border);cursor:pointer;min-width:44px;height:40px;font:inherit;background:0 0}.size-btn.is-on{background:var(--ink);color:var(--cream);border-color:var(--ink)}.selected-size{margin:-.4rem 0 .6rem;font-size:.85rem}.product-page__actions{gap:.6rem;margin-bottom:1.25rem;display:grid}.product-aside{border-top:1px solid var(--border);gap:.75rem;padding-top:1rem;display:grid}.product-aside div{justify-content:space-between;gap:1rem;display:flex}.product-aside dt{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem}.product-aside dd{margin:0;font-weight:500}.reco{margin:3rem 0}.cart-layout,.checkout-layout{grid-template-columns:1.3fr .9fr;align-items:start;gap:1.5rem;display:grid}.cart-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.cart-item{border-bottom:1px solid var(--border);grid-template-columns:96px 1fr auto;gap:1rem;padding-bottom:1rem;display:grid}.cart-item img{object-fit:cover;width:96px;height:120px}.summary-card{border:1px solid var(--border);background:var(--card);padding:1.25rem;position:sticky;top:84px}.summary-row,.summary-total{justify-content:space-between;gap:1rem;margin:.55rem 0;display:flex}.summary-row.is-discount{color:var(--sale)}.summary-total{border-top:1px solid var(--border);font-family:var(--font-serif);margin-top:1rem;padding-top:.85rem;font-size:1.25rem}.tier-bars{flex-wrap:wrap;gap:.4rem;margin:.75rem 0 1rem;display:flex}.tier-bars span{letter-spacing:.06em;border:1px solid var(--border);color:var(--muted);padding:.25rem .45rem;font-size:.68rem}.tier-bars span.is-on{background:var(--ink);color:var(--cream);border-color:var(--ink)}.tier-note,.tier-hint,.disclaimer{color:var(--muted);font-size:.85rem}.disclaimer{text-align:center;margin-top:.75rem}.banner-warn{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);margin:1rem 0;padding:.6rem .8rem;font-size:.78rem}.steps{gap:1.25rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.steps li{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.72rem;display:flex}.steps li span{border:1px solid var(--border);border-radius:999px;place-items:center;width:22px;height:22px;display:grid}.steps li.is-on{color:var(--ink)}.steps li.is-on span{background:var(--ink);color:var(--cream);border-color:var(--ink)}.steps__link{color:inherit;align-items:center;gap:.45rem;text-decoration:none;display:flex}.steps__link:hover{color:var(--ink);text-underline-offset:.2em;text-decoration:underline}.form-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.form-grid label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);gap:.35rem;font-size:.72rem;display:grid}.form-grid .span-2{grid-column:span 2}.form-actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.method-list{gap:.75rem;display:grid}.method-card{text-align:left;border:1px solid var(--border);background:var(--card);cursor:pointer;font:inherit;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:1rem;display:grid}.method-card strong{grid-column:1}.method-card span{color:var(--muted);grid-column:1;font-size:.85rem}.method-card em{grid-area:1/2/span 2;align-self:center;font-style:normal;font-weight:600}.method-card.is-on{border-color:var(--ink)}.mini-items{gap:.75rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.mini-items li{grid-template-columns:56px 1fr auto;align-items:center;gap:.65rem;display:grid}.mini-items img{object-fit:cover;width:56px;height:70px}.mini-items strong{font-size:.9rem;display:block}.mini-items span{color:var(--muted);font-size:.75rem}.checkout-processing,.checkout-success,.empty-state,.page-narrow{text-align:center;max-width:36rem;margin:3rem auto}.checkout-success .hero__ctas{justify-content:center}.saved-amount{font-family:var(--font-serif);margin:.25rem 0 1rem;font-size:clamp(2.5rem,6vw,4rem)}.spinner{border:2px solid var(--border);border-top-color:var(--ink);border-radius:50%;width:28px;height:28px;margin:1.5rem auto;animation:.8s linear infinite spin}.stat-grid{grid-template-columns:1.4fr 1fr 1fr;gap:1rem;margin:1.5rem 0 2.5rem;display:grid}.stat-card{border:1px solid var(--border);background:var(--card);padding:1.25rem}.stat-value{font-family:var(--font-serif);margin:.25rem 0;font-size:2.2rem}.badge-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0 3rem;display:grid}.badge-card{border:1px solid var(--border);background:var(--card);padding:1rem}.badge-card h3{font-size:1.15rem}.badge-card p{color:var(--muted);min-height:2.6em;font-size:.85rem}.progress{background:var(--sand);height:4px;margin:.75rem 0 .35rem}.progress>div{background:var(--ink);height:100%}.site-footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);padding:1.5rem 1rem;font-size:.85rem}.site-footer__nav{flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem;margin:.85rem 0 1rem;display:flex}.site-footer__nav a{color:var(--ink);letter-spacing:.04em;font-size:.8rem;text-decoration:none}.site-footer__nav a:hover{text-underline-offset:.2em;text-decoration:underline}.site-footer__meta{letter-spacing:.12em;text-transform:uppercase;justify-content:center;gap:1.5rem;font-size:.7rem;display:flex}.legal-page{width:min(720px,100%);margin:0 auto;padding:2.5rem 1rem 4rem}.legal-page h1{margin:.35rem 0 .75rem;font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.15}.legal-page__updated,.legal-page__lead{color:var(--muted);margin:0 0 1.75rem;line-height:1.6}.legal-page__section{margin-bottom:1.75rem}.legal-page__section h2{margin:0 0 .65rem;font-size:1.05rem}.legal-page__section p{color:var(--ink);margin:0 0 .75rem;line-height:1.7}.legal-page__contact a{color:var(--ink)}.legal-page__list{margin:0;padding-left:1.2rem;line-height:1.8}.legal-page__cta{margin:2rem 0 0}.legal-page__cta a{color:var(--ink);border-bottom:1px solid;padding-bottom:.1em;font-size:.95rem;text-decoration:none}.legal-page__cta a:hover{opacity:.75}.legal-page__back{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.legal-page__back a{color:var(--ink);font-size:.9rem;text-decoration:none}.legal-page__back a:hover{text-underline-offset:.2em;text-decoration:underline}.toast{z-index:80;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, #fffdfa 0%, var(--card) 100%);width:min(92vw,380px);color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:flex-start;gap:.85rem;padding:1.05rem 1.2rem 1.1rem;animation:.4s cubic-bezier(.22,1,.36,1) both toastIn;display:flex;position:fixed;bottom:2rem;left:50%;box-shadow:inset 0 1px #ffffffb3,0 12px 40px #1f1a161a,0 2px 8px #1f1a160f}.toast__mark{letter-spacing:0;color:var(--muted);flex-shrink:0;margin-top:.1rem;font-size:.75rem;line-height:1}.toast__message{font-family:var(--font-serif);letter-spacing:.01em;margin:0;font-size:1.05rem;font-weight:500;line-height:1.45}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,18px)scale(.98)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes zoomSoft{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:960px){.site-header__inner{grid-template-columns:1fr auto;grid-template-areas:"logo actions""nav nav""tag tag"}.logo{grid-area:logo}.site-nav{grid-area:nav;justify-content:flex-start;overflow-x:auto}.site-header__tagline{white-space:normal;grid-area:tag}.site-header__actions{grid-area:actions}.hero,.product-page__main,.cart-layout,.checkout-layout,.stat-grid{grid-template-columns:1fr}.collections__grid,.product-grid,.badge-grid{grid-template-columns:repeat(2,1fr)}.collections__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header__tagline{display:none}}@media (max-width:560px){.product-grid{grid-template-columns:repeat(2,1fr);gap:.75rem .65rem}.collections__grid{grid-auto-columns:minmax(11rem,72vw);grid-auto-flow:column;gap:.75rem;padding-bottom:.35rem;display:grid;overflow-x:auto}.collection-card{min-height:12.8rem;padding:.9rem}.badge-grid,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.product-card__wish,.product-card__quick{opacity:1;transform:none}.product-card__wish{width:32px;height:32px}.product-card__quick{padding:.6rem .5rem;font-size:.65rem;bottom:.4rem;left:.4rem;right:.4rem}.collection-card h3{font-size:1.05rem}.collection-card p{font-size:.78rem}.product-card__name{font-size:1rem}}
