/* RESET */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }
ul, ol { list-style: none; }
input, select, textarea { font: inherit; }

/* TOKENS */
:root {
  --bg:            #f5f3f0;
  --bg-2:          #edebe8;
  --fg:            #0c0b09;
  --fg-muted:      #6b6966;
  --fg-faint:      #9c9a97;
  --border:        rgba(12,11,9,0.10);
  --border-mid:    rgba(12,11,9,0.18);
  --border-strong: rgba(12,11,9,0.28);
  --font-display:  'Oswald', Impact, sans-serif;
  --font-sans:     'DM Sans', system-ui, -apple-system, sans-serif;
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem;
  --s5:1.25rem; --s6:1.5rem; --s8:2rem; --s10:2.5rem;
  --s12:3rem; --s16:4rem; --s20:5rem; --s24:6rem;
  --s32:8rem; --s40:10rem; --s48:12rem;
  --header-h: 60px;
  --ease-expo: cubic-bezier(0.16,1,0.3,1);
  --dur-fast: 150ms; --dur-mid: 300ms; --dur-slow: 600ms;
  --red: #c82828;
  --red-faint: rgba(200,40,40,0.12);
  --hero-fg: var(--fg); --hero-fg-muted: var(--fg-muted); --hero-fg-faint: var(--fg-faint);
}

body {
  font-family: var(--font-sans); font-size: 14px; line-height: 1.6;
  color: var(--fg); background-color: var(--bg); overflow-x: hidden;
}
body::before {
  content: ''; position: fixed; inset: 0;
  background: repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(0,0,0,0.011) 3px,rgba(0,0,0,0.011) 4px);
  pointer-events: none; z-index: 9998;
}
#grain { position: fixed; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:9999; }
.vignette { position: relative; }
.vignette::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 40%,transparent 25%,rgba(0,0,0,0.38) 100%); pointer-events:none; z-index:1; }

/* GLITCH */
@keyframes glitch-a {
  0%,80%,100% { opacity:0; transform:translate(0); }
  81% { opacity:1; transform:translate(-6px,0) skewX(-1.5deg); clip-path:polygon(0 10%,100% 10%,100% 35%,0 35%); }
  83% { transform:translate(5px,0); clip-path:polygon(0 8%,100% 8%,100% 40%,0 40%); }
  85% { opacity:0; transform:translate(-3px,0); }
}
@keyframes glitch-b {
  0%,84%,100% { opacity:0; transform:translate(0); }
  85% { opacity:1; transform:translate(7px,0) skewX(1deg); clip-path:polygon(0 58%,100% 58%,100% 80%,0 80%); }
  87% { transform:translate(-5px,0); clip-path:polygon(0 55%,100% 55%,100% 85%,0 85%); }
  89% { opacity:0; }
}
@keyframes glitch-main {
  0%,88%,100% { transform:translate(0) skew(0deg); }
  89% { transform:translate(-3px,1px) skewX(-0.8deg); }
  90% { transform:translate(3px,-1px) skewX(0.5deg); }
  91% { transform:translate(-1px,0); }
  92% { transform:translate(0); }
}
@keyframes blink { 0%,49% { opacity:1; } 50%,100% { opacity:0; } }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes noise-shift {
  0%,100% { transform:translate(0,0); } 10% { transform:translate(-1%,-1%); } 20% { transform:translate(1%,0); }
  30% { transform:translate(0,1%); } 40% { transform:translate(1%,-1%); } 50% { transform:translate(0,0); }
  60% { transform:translate(-1%,1%); } 70% { transform:translate(0,-1%); } 80% { transform:translate(1%,1%); } 90% { transform:translate(-1%,0); }
}
@keyframes flicker { 0%,97%,100% { opacity:1; } 98% { opacity:0.7; } 99% { opacity:0.9; } }
@keyframes shake { 0%,100% { transform:translateX(0); } 20%,60% { transform:translateX(-6px); } 40%,80% { transform:translateX(6px); } }

.glitch { position:relative; display:block; animation:glitch-main 8s 3s infinite, flicker 12s 6s infinite; }
.glitch::before, .glitch::after { content:attr(data-g); position:absolute; top:0; left:0; width:100%; color:inherit; font:inherit; text-transform:inherit; letter-spacing:inherit; pointer-events:none; }
.glitch::before { animation:glitch-a 8s 3s infinite; }
.glitch::after  { animation:glitch-b 8s 3.05s infinite; }
.cursor { display:inline-block; animation:blink 0.9s step-end infinite; color:var(--fg-muted); font-weight:300; }
.shake { animation:shake 0.35s ease; }

/* HEADER */
.header { position:fixed; top:0; left:0; right:0; height:var(--header-h); display:flex; align-items:center; justify-content:space-between; padding:0 var(--s8); z-index:100; transition:background var(--dur-mid) var(--ease-expo), border-color var(--dur-mid) var(--ease-expo); border-bottom:1px solid transparent; }
.header.scrolled { background:rgba(245,243,240,0.95); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom-color:var(--border); }
.header-logo { font-family:var(--font-display); font-size:20px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--fg); flex-shrink:0; }
.header-nav { display:flex; align-items:center; gap:var(--s8); position:absolute; left:50%; transform:translateX(-50%); }
.header-nav a { font-family:var(--font-sans); font-size:10px; font-weight:400; letter-spacing:0.12em; text-transform:uppercase; color:var(--fg-muted); transition:color var(--dur-fast); position:relative; white-space:nowrap; }
.header-nav a::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:1px; background:var(--fg); transition:width var(--dur-mid) var(--ease-expo); }
.header-nav a:hover { color:var(--fg); }
.header-nav a:hover::after { width:100%; }
.header-nav a.active { color:var(--fg); }
.header-nav a.active::after { width:100%; }
.header-actions { display:flex; align-items:center; gap:var(--s5); flex-shrink:0; }
.header-actions button, .header-actions a { font-size:10px; font-weight:400; letter-spacing:0.1em; text-transform:uppercase; color:var(--fg-muted); transition:color var(--dur-fast); display:flex; align-items:center; gap:var(--s2); }
.header-actions button:hover, .header-actions a:hover { color:var(--fg); }
.cart-count { display:inline-flex; align-items:center; justify-content:center; min-width:16px; height:16px; background:var(--fg); color:var(--bg); font-size:9px; font-weight:500; border-radius:50%; padding:0 3px; }

/* HERO */
/* HERO SLIDER */
.hero { --hero-fg:var(--fg); --hero-fg-muted:var(--fg-muted); --hero-fg-faint:var(--fg-faint); height:100svh; min-height:560px; position:relative; overflow:hidden; background:#e6e5e5; color:var(--hero-fg); }
.hero-slider { touch-action:pan-y; }
.hero-track { position:absolute; inset:0; }
.hero-slide { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; opacity:0; visibility:hidden; transition:opacity 900ms var(--ease-expo), visibility 0s 900ms; }
.hero-slide.is-active { opacity:1; visibility:visible; z-index:1; transition-delay:0s; }
.hero-slide-media { position:absolute; inset:0; display:block; overflow:hidden; }
.hero-slide-img { width:100%; height:100%; object-fit:cover; object-position:center 40%; transform:scale(1.06); transition:transform 8s linear; }
.hero-slide.is-active .hero-slide-img { transform:scale(1); }
.hero-inner { position:relative; z-index:2; padding:0 var(--s8) var(--s12); pointer-events:none; }
.hero-card { pointer-events:auto; display:inline-flex; flex-direction:column; align-items:flex-start; gap:var(--s3); background:rgba(245,243,240,0.88); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid var(--border); padding:var(--s6) var(--s8); max-width:min(520px,100%); opacity:0; transform:translateY(24px); transition:opacity 600ms ease, transform 800ms var(--ease-expo); }
.hero-slide.is-active .hero-card { opacity:1; transform:none; transition-delay:260ms; }
.hero-eyebrow { font-family:var(--font-sans); font-size:9px; font-weight:400; letter-spacing:0.22em; text-transform:uppercase; color:var(--hero-fg-muted); margin:0; display:flex; align-items:center; gap:var(--s3); }
.hero-eyebrow::before { content:'\25A0'; font-size:6px; color:var(--red); animation:blink 2.2s step-end infinite; }
.hero-title { font-family:var(--font-display); font-size:clamp(1.9rem,3.4vw,3.2rem); font-weight:700; line-height:1; letter-spacing:0.03em; text-transform:uppercase; color:var(--hero-fg); margin:0; }
.hero-price { font-family:var(--font-sans); font-size:13px; font-weight:400; letter-spacing:0.08em; color:var(--hero-fg-muted); margin:0; }
.hero-price .amount { color:var(--hero-fg); }
.hero-cta { margin-top:var(--s2); display:inline-flex; align-items:center; gap:var(--s3); font-family:var(--font-sans); font-size:10px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--hero-fg); border-bottom:1px solid var(--hero-fg); padding-bottom:3px; transition:gap var(--dur-mid) var(--ease-expo); white-space:nowrap; }
.hero-cta:hover { gap:var(--s5); }
.hero-cta svg { width:13px; height:13px; flex-shrink:0; }
.hero-bg-text { position:absolute; bottom:-0.08em; right:-0.02em; font-family:var(--font-display); font-size:clamp(9rem,25vw,30rem); font-weight:700; line-height:1; letter-spacing:0.02em; text-transform:uppercase; color:transparent; -webkit-text-stroke:1px rgba(12,11,9,0.07); pointer-events:none; white-space:nowrap; z-index:2; user-select:none; }
.hero-tech-text { position:absolute; top:35%; right:var(--s8); font-family:'DM Sans',system-ui; font-size:8px; font-weight:400; letter-spacing:0.1em; line-height:2.2; color:var(--hero-fg-faint); writing-mode:vertical-rl; text-orientation:mixed; z-index:2; pointer-events:none; }
.hero-kanji-bg { position:absolute; top:5%; left:-0.05em; font-size:clamp(16rem,40vw,55rem); font-weight:100; line-height:1; color:transparent; -webkit-text-stroke:1px rgba(12,11,9,0.07); pointer-events:none; user-select:none; z-index:2; font-family:'Hiragino Kaku Gothic Pro','Noto Sans JP','Yu Gothic',system-ui; }
.hero-jp-vert { position:absolute; left:var(--s8); top:28%; writing-mode:vertical-rl; text-orientation:upright; font-family:'Hiragino Kaku Gothic Pro','Noto Sans JP',system-ui; font-size:15px; font-weight:300; letter-spacing:0.35em; color:var(--hero-fg-muted); pointer-events:none; z-index:2; line-height:1; }
/* light scrim under the header so nav stays legible over the photo */
.hero::before { content:''; position:absolute; left:0; right:0; top:0; height:160px; z-index:2; pointer-events:none; background:linear-gradient(180deg,rgba(245,243,240,0.72) 0%,rgba(245,243,240,0) 100%); }
/* header over light hero (before scroll) */
.home .header:not(.scrolled) .header-nav a, .home .header:not(.scrolled) .header-actions a, .home .header:not(.scrolled) .header-actions button { color:var(--fg); font-weight:500; }
.home .header:not(.scrolled) .header-nav a::after { background:var(--fg); }
/* product strip (hero background): panels slide linearly, seamless loop */
.hero-has-ring { background:linear-gradient(180deg,#dcdcdc 0%,#e6e5e5 55%,#f1f0f0 100%); }
.hero-ring-stage { --ring-h:70vh; --ring-w:calc(var(--ring-h) * 0.907); position:absolute; inset:0; z-index:0; display:flex; align-items:center; overflow:hidden; pointer-events:none; }
.hero-ring-stage::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(230,229,229,0.9) 0%,rgba(230,229,229,0) 18%,rgba(230,229,229,0) 82%,rgba(230,229,229,0.9) 100%); }
.hero-ring { display:flex; width:max-content; height:var(--ring-h); animation:vdmStrip 42s linear infinite; will-change:transform; }
.hero:hover .hero-ring { animation-play-state:paused; }
.hero-ring-item { flex:0 0 var(--ring-w); width:var(--ring-w); height:100%; margin:0; }
.hero-ring-img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; user-select:none; }
/* ground fade so the models sit into the cream floor instead of ending on a hard edge */
.hero-has-ring::after { content:''; position:absolute; left:0; right:0; bottom:0; height:22%; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(241,240,240,0) 0%,rgba(241,240,240,0.9) 100%); }
@keyframes vdmStrip { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (max-width:768px) { .hero-ring-stage { --ring-h:52vh; } .hero-ring { animation-duration:30s; } }
@media (prefers-reduced-motion:reduce) { .hero-ring { animation:none; } }
/* controls */
.hero-controls { position:absolute; right:var(--s8); bottom:var(--s12); z-index:3; display:flex; align-items:center; gap:var(--s6); }
.hero-dots { display:flex; gap:var(--s2); }
.hero-dot { position:relative; width:32px; height:2px; padding:0; background:rgba(12,11,9,0.18); transition:background var(--dur-mid); }
.hero-dot::before { content:''; position:absolute; inset:-10px 0; }
.hero-dot:hover { background:rgba(12,11,9,0.5); }
.hero-dot.is-active { background:var(--hero-fg); }
.hero-counter { font-family:var(--font-sans); font-size:9px; letter-spacing:0.18em; color:var(--hero-fg-muted); font-variant-numeric:tabular-nums; white-space:nowrap; }
.hero-arrows { display:flex; }
.hero-arrow { width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(12,11,9,0.28); color:var(--hero-fg); background:rgba(245,243,240,0.6); transition:background var(--dur-mid), color var(--dur-mid), border-color var(--dur-mid); }
.hero-arrow + .hero-arrow { margin-left:-1px; }
.hero-arrow svg { width:14px; height:14px; }
.hero-arrow-prev svg { transform:rotate(180deg); }
.hero-arrow:hover { background:var(--hero-fg); color:#f5f3f0; border-color:var(--hero-fg); }
.hero-arrow:focus-visible, .hero-dot:focus-visible { outline:1px solid var(--hero-fg); outline-offset:4px; }
.hero-slider-single .hero-slide { opacity:1; visibility:visible; }
@media (prefers-reduced-motion:reduce) {
  .hero-slide { transition:opacity 200ms linear, visibility 0s 200ms; }
  .hero-slide-img { transform:none !important; transition:none; }
  .hero-card { transform:none; transition:opacity 200ms; }
}

/* MARQUEE */
.marquee-strip { overflow:hidden; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:var(--s3) 0; position:relative; }
.marquee-strip::before { content:''; position:absolute; top:-1px; left:45%; width:15%; height:1px; background:var(--bg); }
.marquee-inner { display:flex; width:max-content; animation:marquee 22s linear infinite; }
.marquee-inner:hover { animation-play-state:paused; }
.marquee-item { display:flex; align-items:center; gap:var(--s5); padding:0 var(--s5); white-space:nowrap; font-family:var(--font-sans); font-size:9px; font-weight:400; letter-spacing:0.16em; text-transform:uppercase; color:var(--fg-muted); }
.marquee-dot { width:3px; height:3px; border-radius:50%; background:var(--fg-faint); flex-shrink:0; }

/* SECTION HEADER */
.section-header { display:flex; align-items:baseline; justify-content:space-between; padding:var(--s16) var(--s8) var(--s8); border-bottom:1px solid var(--border); margin-bottom:var(--s8); gap:var(--s4); position:relative; }
.section-header::after { content:''; position:absolute; bottom:-1px; right:0; width:25%; height:1px; background:var(--bg); }
.section-title { font-family:var(--font-display); font-size:clamp(2rem,5vw,5rem); font-weight:600; line-height:1; letter-spacing:0.04em; text-transform:uppercase; }
.section-num { font-family:var(--font-sans); font-size:8px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:var(--red) !important; margin-right:var(--s3); opacity:0.75; }
.section-link { font-family:var(--font-sans); font-size:10px; font-weight:400; letter-spacing:0.12em; text-transform:uppercase; color:var(--fg-muted); display:inline-flex; align-items:center; gap:var(--s2); transition:gap var(--dur-mid) var(--ease-expo), color var(--dur-fast); white-space:nowrap; flex-shrink:0; }
.section-link:hover { color:var(--fg); gap:var(--s4); }
.section-link svg { width:12px; height:12px; }

/* PRODUCT CARD */
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin:0 var(--s8) var(--s16); border:1px solid var(--border); }
.product-grid-4 { grid-template-columns:repeat(4,1fr); }
.product-card { background:var(--bg); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.product-card-image { aspect-ratio:3/4; position:relative; overflow:hidden; background:var(--bg-2); }
.ph-1 { background:linear-gradient(145deg,#e8e5e0 0%,#d4d0ca 100%); }
.ph-2 { background:linear-gradient(145deg,#ddd9d4 0%,#c8c3bc 100%); }
.ph-3 { background:linear-gradient(145deg,#e3e0db 0%,#d0ccc6 100%); }
.ph-4 { background:linear-gradient(145deg,#d9d5d0 0%,#c4c0b9 100%); }
.ph-dark { background:linear-gradient(145deg,#1c1a17 0%,#2d2a26 100%); }
.ph-warm { background:linear-gradient(145deg,#e8e2d8 0%,#d4cdc1 100%); }
.product-card-image img { width:100%; height:100%; object-fit:cover; transition:transform var(--dur-slow) var(--ease-expo); }
.product-card:hover .product-card-image img { transform:scale(1.04); }
.product-card-tag { position:absolute; top:var(--s3); left:var(--s3); font-family:var(--font-sans); font-size:8px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; background:var(--fg); color:var(--bg); padding:3px var(--s3); z-index:2; }
.product-card-tag.sale { background:transparent; color:var(--fg); border:1px solid var(--border-mid); }
.product-card-quick-add { position:absolute; bottom:0; left:0; right:0; background:rgba(245,243,240,0.97); backdrop-filter:blur(8px); padding:var(--s3) var(--s4); transform:translateY(100%); transition:transform var(--dur-mid) var(--ease-expo); display:flex; gap:var(--s2); align-items:center; justify-content:center; flex-wrap:wrap; z-index:2; border-top:1px solid var(--border); }
.product-card:hover .product-card-quick-add { transform:translateY(0); }
.size-chip { font-family:var(--font-sans); font-size:10px; font-weight:400; letter-spacing:0.04em; padding:4px 8px; border:1px solid var(--border-mid); cursor:pointer; background:transparent; color:var(--fg); transition:background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast); }
.size-chip:hover { background:var(--fg); color:var(--bg); border-color:var(--fg); }
.product-card-info { padding:var(--s4) var(--s4) var(--s6); display:flex; flex-direction:column; gap:4px; }
.product-card-category { font-family:var(--font-sans); font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:var(--fg-faint); }
.product-card-name { font-family:var(--font-display); font-size:18px; font-weight:500; letter-spacing:0.03em; text-transform:uppercase; color:var(--fg); line-height:1.15; }
.product-card-price { font-family:var(--font-sans); font-size:12px; font-weight:300; color:var(--fg-muted); margin-top:2px; }
.product-card-price ins { text-decoration:none; }
.product-card-price del { color:var(--fg-faint); margin-right:var(--s2); }
.product-card-price s { color:var(--fg-faint); margin-right:var(--s2); }

/* WC price overrides */
.woocommerce-Price-amount { font-family:var(--font-sans); font-size:12px; }
.price del .woocommerce-Price-amount { color:var(--fg-faint); }
.price ins .woocommerce-Price-amount { color:var(--fg); }
.detail-price .woocommerce-Price-amount { font-family:var(--font-display); font-size:inherit; font-weight:600; }

/* BENTO */
.bento-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1px; background:var(--border); margin:0 var(--s8) var(--s16); border:1px solid var(--border); position:relative; }
.bento-grid::after { content:''; position:absolute; top:-1px; right:-1px; width:60px; height:60px; background:var(--bg); clip-path:polygon(100% 0,0 0,100% 100%); z-index:2; pointer-events:none; }
.bento-item { background:var(--bg); position:relative; overflow:hidden; cursor:pointer; display:block; }
.bento-item-1 { grid-column:1/5; grid-row:1/3; min-height:500px; }
.bento-item-2 { grid-column:5/9; grid-row:1/2; min-height:250px; }
.bento-item-3 { grid-column:9/13; grid-row:1/3; min-height:500px; }
.bento-item-4 { grid-column:5/9; grid-row:2/3; min-height:250px; }
.bento-bg { position:absolute; inset:0; transition:transform var(--dur-slow) var(--ease-expo); }
.bento-item:hover .bento-bg { transform:scale(1.03); }
.bento-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,9,7,0.65) 0%,rgba(10,9,7,0.08) 50%,transparent 100%); z-index:1; }
.bento-content { position:absolute; bottom:0; left:0; right:0; padding:var(--s6); color:#f5f3f0; z-index:2; }
.bento-label { font-family:var(--font-sans); font-size:9px; font-weight:400; letter-spacing:0.2em; text-transform:uppercase; opacity:0.6; margin-bottom:var(--s2); }
.bento-title { font-family:var(--font-display); font-size:clamp(1.6rem,2.5vw,3rem); font-weight:600; line-height:1.05; letter-spacing:0.04em; text-transform:uppercase; }
.bento-arrow { display:flex; align-items:center; gap:var(--s2); font-family:var(--font-sans); font-size:9px; letter-spacing:0.12em; text-transform:uppercase; margin-top:var(--s3); opacity:0; transform:translateY(6px); transition:opacity var(--dur-mid) var(--ease-expo), transform var(--dur-mid) var(--ease-expo); }
.bento-item:hover .bento-arrow { opacity:1; transform:translateY(0); }
.bento-text-inner { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:var(--s6); }
.bento-text-inner .bento-label { color:var(--fg-muted); }
.bento-text-inner .bento-title { color:var(--fg); }
.bento-item-2::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(to right,var(--border) 0%,transparent 70%); z-index:1; }
.bento-jp { font-family:'Hiragino Kaku Gothic Pro','Noto Sans JP',system-ui; font-size:10px; font-weight:300; letter-spacing:0.2em; opacity:0.45; display:block; margin-bottom:4px; }

/* BRAND STATEMENT */

/* NEWSLETTER */
.newsletter { display:grid; grid-template-columns:1fr 1fr; gap:var(--s16); align-items:center; padding:var(--s24) var(--s8); background:var(--fg); color:var(--bg); position:relative; overflow:hidden; }
.newsletter::before { content:''; position:absolute; bottom:0; right:0; width:80px; height:80px; background:var(--bg); clip-path:polygon(100% 0,100% 100%,0 100%); }
.newsletter-title { font-family:var(--font-display); font-size:clamp(2rem,4vw,4.5rem); font-weight:600; line-height:1.05; letter-spacing:0.04em; text-transform:uppercase; }
.newsletter-form { display:flex; flex-direction:column; gap:var(--s5); }
.newsletter-desc { font-size:11px; font-weight:300; line-height:1.8; color:rgba(245,243,240,0.5); }
.newsletter-row { display:flex; border-bottom:1px solid rgba(245,243,240,0.22); }
.newsletter-input { flex:1; background:none; border:none; outline:none; color:var(--bg); font-size:13px; font-weight:300; padding:var(--s4) 0; }
.newsletter-input::placeholder { color:rgba(245,243,240,0.3); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; }
.newsletter-btn { font-family:var(--font-sans); font-size:10px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--bg); padding:var(--s4) 0; transition:opacity var(--dur-fast); white-space:nowrap; }
.newsletter-btn:hover { opacity:0.5; }
.newsletter-kanji { position:absolute; right:var(--s12); bottom:var(--s4); font-family:'Hiragino Kaku Gothic Pro','Noto Sans JP',system-ui; font-size:clamp(5rem,12vw,14rem); font-weight:100; line-height:1; color:transparent; -webkit-text-stroke:1px rgba(245,243,240,0.1); pointer-events:none; user-select:none; z-index:0; }

/* FOOTER */
footer { border-top:1px solid var(--border); padding:var(--s16) var(--s8) var(--s8); position:relative; }
footer::before { content:''; position:absolute; top:-1px; left:30%; right:50%; height:1px; background:var(--bg); }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--s16); padding-bottom:var(--s12); border-bottom:1px solid var(--border); }
.footer-brand-name { font-family:var(--font-display); font-size:26px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:var(--s4); }
.footer-brand-desc { font-size:11px; font-weight:300; line-height:1.8; color:var(--fg-muted); max-width:260px; }
.footer-col-title { font-family:var(--font-sans); font-size:9px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase; margin-bottom:var(--s5); color:var(--fg); }
.footer-links { display:flex; flex-direction:column; gap:var(--s3); }
.footer-links a { font-size:12px; font-weight:300; color:var(--fg-muted); transition:color var(--dur-fast); }
.footer-links a:hover { color:var(--fg); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:var(--s6); }
.footer-copy { font-size:10px; color:var(--fg-faint); letter-spacing:0.06em; }
.footer-socials { display:flex; gap:var(--s5); }
.footer-socials a { font-size:10px; font-weight:400; letter-spacing:0.08em; color:var(--fg-muted); transition:color var(--dur-fast); }
.footer-socials a:hover { color:var(--fg); }
.footer-jp { font-family:'Hiragino Kaku Gothic Pro','Noto Sans JP',system-ui; font-size:10px; font-weight:300; letter-spacing:0.2em; color:var(--fg-faint); opacity:0.4; margin-top:var(--s2); }

/* CART DRAWER */
.cart-overlay { position:fixed; inset:0; background:rgba(12,11,9,0.5); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); z-index:200; opacity:0; pointer-events:none; transition:opacity var(--dur-mid); }
.cart-overlay.open { opacity:1; pointer-events:all; }
.cart-drawer { position:fixed; top:0; right:0; width:380px; max-width:92vw; height:100%; background:var(--bg); z-index:201; transform:translateX(100%); transition:transform var(--dur-slow) var(--ease-expo); display:flex; flex-direction:column; border-left:1px solid var(--border); }
.cart-drawer.open { transform:translateX(0); }
.cart-header { padding:var(--s5) var(--s8); border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.cart-title { font-family:var(--font-display); font-size:16px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; }
.cart-close { font-size:22px; font-weight:300; color:var(--fg-muted); line-height:1; transition:color var(--dur-fast); }
.cart-close:hover { color:var(--fg); }
.cart-items { flex:1; overflow-y:auto; padding:var(--s6) var(--s8); }
.cart-empty { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--s3); text-align:center; }
.cart-empty-title { font-family:var(--font-display); font-size:1.4rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-muted); }
.cart-empty-sub { font-size:11px; font-weight:300; color:var(--fg-faint); }
.cart-item { display:grid; grid-template-columns:68px 1fr; gap:var(--s4); padding:var(--s5) 0; border-bottom:1px solid var(--border); }
.cart-item-img { aspect-ratio:3/4; background:var(--bg-2); overflow:hidden; }
.cart-item-details { display:flex; flex-direction:column; justify-content:space-between; }
.cart-item-name { font-family:var(--font-display); font-size:15px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; line-height:1.2; margin-bottom:2px; }
.cart-item-meta { font-size:10px; color:var(--fg-faint); letter-spacing:0.06em; }
.cart-item-bottom { display:flex; align-items:center; justify-content:space-between; }
.cart-item-price { font-size:13px; font-weight:300; }
.cart-item-remove { font-size:9px; color:var(--fg-faint); letter-spacing:0.08em; text-decoration:underline; cursor:pointer; transition:color var(--dur-fast); background:none; border:none; text-transform:uppercase; }
.cart-item-remove:hover { color:var(--fg); }
.cart-footer { padding:var(--s6) var(--s8); border-top:1px solid var(--border); display:flex; flex-direction:column; gap:var(--s4); }
.cart-total-row { display:flex; justify-content:space-between; align-items:baseline; }
.cart-total-label { font-family:var(--font-sans); font-size:10px; font-weight:400; letter-spacing:0.12em; text-transform:uppercase; color:var(--fg-muted); }
.cart-total-val { font-family:var(--font-display); font-size:1.6rem; font-weight:600; letter-spacing:0.04em; }
.checkout-btn { width:100%; height:52px; background:var(--fg); color:var(--bg); font-family:var(--font-sans); font-size:10px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase; transition:opacity var(--dur-fast); display:flex; align-items:center; justify-content:center; }
.checkout-btn:hover { opacity:0.82; }

/* PAGE HERO */
.page-hero { padding-top:calc(var(--header-h) + var(--s16)); padding-bottom:var(--s12); padding-left:var(--s8); padding-right:var(--s8); border-bottom:1px solid var(--border); display:flex; align-items:flex-end; justify-content:space-between; gap:var(--s8); position:relative; }
.page-hero::after { content:''; position:absolute; bottom:-1px; right:0; width:20%; height:1px; background:var(--bg); }
.page-title { font-family:var(--font-display); font-size:clamp(4rem,9vw,12rem); font-weight:700; line-height:0.88; letter-spacing:0.02em; text-transform:uppercase; }
.page-desc { font-size:11px; font-weight:300; line-height:1.8; color:var(--fg-muted); max-width:280px; padding-bottom:var(--s2); }

/* FILTER BAR */
.filter-bar { display:flex; align-items:center; justify-content:space-between; padding:var(--s4) var(--s8); border-bottom:1px solid var(--border); position:sticky; top:var(--header-h); background:rgba(245,243,240,0.97); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); z-index:50; gap:var(--s4); }
.filter-tabs { display:flex; gap:0; flex-wrap:wrap; }
.filter-tab { font-family:var(--font-sans); font-size:10px; font-weight:400; letter-spacing:0.1em; text-transform:uppercase; color:var(--fg-muted); padding:var(--s2) var(--s5); border:1px solid transparent; cursor:pointer; background:none; transition:color var(--dur-fast), border-color var(--dur-fast); white-space:nowrap; text-decoration:none; display:inline-block; }
.filter-tab:hover { color:var(--fg); }
.filter-tab.active { color:var(--fg); border-color:var(--border-mid); }
.filter-right { display:flex; align-items:center; gap:var(--s6); }
.sort-select { font-size:10px; font-weight:400; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-muted); background:none; border:none; outline:none; cursor:pointer; appearance:none; }
.products-count { font-size:10px; color:var(--fg-faint); }
.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin:var(--s8) var(--s8) var(--s16); border:1px solid var(--border); }

/* PRODUCT DETAIL */
.detail-wrap { padding-top:var(--header-h); display:grid; grid-template-columns:1fr 1fr; min-height:100svh; }
.gallery-col { position:sticky; top:var(--header-h); height:calc(100svh - var(--header-h)); background:var(--bg-2); overflow:hidden; display:flex; }
.gallery-main { flex:1; position:relative; overflow:hidden; cursor:zoom-in; }
.gallery-main-img { width:100%; height:100%; object-fit:cover; transition:transform var(--dur-slow) var(--ease-expo); }
.gallery-main:hover .gallery-main-img { transform:scale(1.04); }
.gallery-main-placeholder { width:100%; height:100%; background:linear-gradient(145deg,#e0ddd8 0%,#ccc9c3 100%); }
.gallery-thumbs { width:64px; display:flex; flex-direction:column; gap:1px; background:var(--border); border-left:1px solid var(--border); }
.gallery-thumb { flex:1; background:var(--bg); cursor:pointer; position:relative; overflow:hidden; border:2px solid transparent; transition:border-color var(--dur-fast); padding:0; }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.gallery-thumb.active { border-color:var(--fg); }
.gallery-thumb-ph { width:100%; height:100%; background:linear-gradient(145deg,#ddd9d3 0%,#ccc8c2 100%); }
.info-col { padding:var(--s12) var(--s10); display:flex; flex-direction:column; gap:var(--s5); overflow-y:auto; }
.breadcrumb { display:flex; align-items:center; gap:var(--s3); font-size:9px; letter-spacing:0.12em; text-transform:uppercase; color:var(--fg-faint); }
.breadcrumb a { transition:color var(--dur-fast); }
.breadcrumb a:hover { color:var(--fg); }
.breadcrumb-sep { opacity:0.4; }
.detail-name { font-family:var(--font-display); font-size:clamp(1.8rem,3vw,3.5rem); font-weight:700; line-height:1.05; letter-spacing:0.04em; text-transform:uppercase; }
.detail-price-row { display:flex; align-items:center; gap:var(--s4); }
.detail-price { font-family:var(--font-display); font-size:1.8rem; font-weight:600; letter-spacing:0.04em; }
.detail-price del { font-size:1.2rem; font-weight:300; color:var(--fg-faint); text-decoration:line-through; }
.detail-divider { height:1px; background:var(--border); position:relative; }
.detail-divider::after { content:''; position:absolute; top:0; left:45%; right:20%; height:1px; background:var(--bg); }
.size-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--s4); }
.size-label { font-family:var(--font-sans); font-size:9px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; }
.size-guide { font-size:9px; font-weight:300; color:var(--fg-muted); text-decoration:underline; cursor:pointer; letter-spacing:0.06em; background:none; border:none; }
.sizes { display:flex; flex-wrap:wrap; gap:var(--s2); }
.size-btn { min-width:50px; height:50px; display:flex; align-items:center; justify-content:center; font-family:var(--font-sans); font-size:11px; font-weight:400; letter-spacing:0.04em; border:1px solid var(--border-mid); cursor:pointer; background:var(--bg); color:var(--fg); transition:background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast); }
.size-btn:hover { border-color:var(--fg); }
.size-btn.active { background:var(--fg); color:var(--bg); border-color:var(--fg); }
.size-btn.out { color:var(--fg-faint); border-color:var(--border); cursor:not-allowed; position:relative; }
.size-btn.out::after { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-45deg); width:70%; height:1px; background:var(--fg-faint); }
.add-btn { width:100%; height:56px; background:var(--fg); color:var(--bg); font-family:var(--font-sans); font-size:10px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; border:none; cursor:pointer; transition:opacity var(--dur-fast); display:flex; align-items:center; justify-content:center; gap:var(--s3); }
.add-btn:hover { opacity:0.82; }
.add-btn:disabled { opacity:0.35; cursor:not-allowed; }
.wishlist-btn { width:100%; height:50px; background:transparent; border:1px solid var(--border-mid); font-family:var(--font-sans); font-size:10px; font-weight:400; letter-spacing:0.12em; text-transform:uppercase; color:var(--fg-muted); cursor:pointer; display:flex; align-items:center; justify-content:center; gap:var(--s3); transition:border-color var(--dur-fast), color var(--dur-fast); }
.wishlist-btn:hover { border-color:var(--fg); color:var(--fg); }
.trust-badges { display:flex; flex-direction:column; gap:var(--s3); }
.badge { display:flex; align-items:center; gap:var(--s3); font-size:11px; font-weight:300; color:var(--fg-muted); letter-spacing:0.03em; }
.badge svg { flex-shrink:0; color:var(--fg-faint); }
.accordion-item { border-bottom:1px solid var(--border); position:relative; }
.accordion-item:last-child::after { content:''; position:absolute; bottom:-1px; right:0; width:35%; height:1px; background:var(--bg); }
.accordion-trigger { width:100%; padding:var(--s4) 0; display:flex; align-items:center; justify-content:space-between; font-family:var(--font-sans); font-size:10px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; cursor:pointer; background:none; border:none; color:var(--fg); transition:opacity var(--dur-fast); }
.accordion-trigger:hover { opacity:0.6; }
.accordion-icon { font-size:18px; font-weight:300; transition:transform var(--dur-mid) var(--ease-expo); line-height:1; }
.accordion-item.open .accordion-icon { transform:rotate(45deg); }
.accordion-body { overflow:hidden; max-height:0; transition:max-height var(--dur-slow) var(--ease-expo); }
.accordion-item.open .accordion-body { max-height:400px; }
.accordion-content { padding-bottom:var(--s6); font-size:12px; font-weight:300; line-height:1.85; color:var(--fg-muted); }
.related-section { padding:var(--s16) 0; border-top:1px solid var(--border); }
.related-section .section-header { margin-bottom:var(--s8); }

/* TORII */
.torii-line { display:flex; align-items:center; gap:var(--s4); padding:var(--s4) var(--s8); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.torii-line::before, .torii-line::after { content:''; flex:1; height:1px; background:var(--border); }
.torii-line-center { display:flex; align-items:center; gap:var(--s3); font-family:'Hiragino Kaku Gothic Pro','Noto Sans JP',system-ui; font-size:11px; letter-spacing:0.3em; color:var(--fg-faint); opacity:0.45; white-space:nowrap; }
.torii-dot { width:5px; height:5px; border-radius:50%; background:var(--red); opacity:0.7; flex-shrink:0; }

/* SEIGAIHA */
.seigaiha { position:relative; }
.seigaiha::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle at 50% 100%,transparent 36%,rgba(12,11,9,0.028) 37%,rgba(12,11,9,0.028) 40%,transparent 41%),radial-gradient(circle at 0% 50%,transparent 36%,rgba(12,11,9,0.028) 37%,rgba(12,11,9,0.028) 40%,transparent 41%),radial-gradient(circle at 100% 50%,transparent 36%,rgba(12,11,9,0.028) 37%,rgba(12,11,9,0.028) 40%,transparent 41%); background-size:48px 48px; pointer-events:none; z-index:0; }
.seigaiha > * { position:relative; z-index:1; }
.jp-label { font-family:'Hiragino Kaku Gothic Pro','Noto Sans JP',system-ui; font-size:11px; font-weight:300; letter-spacing:0.25em; color:var(--fg-faint); opacity:0.55; margin-left:var(--s3); }

/* REVEAL */
[data-reveal] { opacity:0; transform:translateY(22px); transition:opacity var(--dur-slow) var(--ease-expo), transform var(--dur-slow) var(--ease-expo); }
[data-reveal].revealed { opacity:1; transform:translateY(0); }
[data-reveal-delay="1"] { transition-delay:80ms; }
[data-reveal-delay="2"] { transition-delay:160ms; }
[data-reveal-delay="3"] { transition-delay:240ms; }
[data-reveal-delay="4"] { transition-delay:320ms; }

/* RESPONSIVE */
@media (max-width:1200px) {
  .bento-grid { grid-template-columns:repeat(6,1fr); }
  .bento-item-1 { grid-column:1/4; grid-row:1/3; }
  .bento-item-2 { grid-column:4/7; grid-row:1/2; }
  .bento-item-3 { grid-column:4/7; grid-row:2/3; }
  .bento-item-4 { grid-column:1/7; grid-row:3; min-height:200px; }
  .product-grid-4 { grid-template-columns:repeat(3,1fr); }
  .footer-top { grid-template-columns:1fr 1fr; gap:var(--s8); }
}
@media (max-width:900px) {
  .header-nav { display:none; }
  .detail-wrap { grid-template-columns:1fr; }
  .gallery-col { position:relative; top:auto; height:80vw; max-height:560px; }
  .info-col { padding:var(--s8) var(--s6); }
  .newsletter { grid-template-columns:1fr; gap:var(--s8); }
  .hero-tech-text { display:none; }
  .hero-inner { padding:0 var(--s4) calc(var(--s10) + 56px); }
  .hero-controls { left:var(--s4); right:var(--s4); bottom:var(--s6); justify-content:space-between; }
  .hero-counter { display:none; }
  .hero-jp-vert { display:none; }
  .hero-kanji-bg { font-size:clamp(10rem,50vw,20rem); opacity:0.6; }
}
@media (max-width:700px) {
  :root { --s8:1.25rem; }
  .hero-arrow { width:40px; height:40px; }
  .hero-dot { width:22px; }
  .newsletter-kanji { display:none; }
  .jp-label { display:none; }
  .product-grid, .products-grid { grid-template-columns:repeat(2,1fr); margin:0 var(--s4) var(--s8); }
  .product-grid-4 { grid-template-columns:repeat(2,1fr); }
  .bento-grid { grid-template-columns:1fr; margin:0 var(--s4) var(--s8); }
  .bento-item-1,.bento-item-2,.bento-item-3,.bento-item-4 { grid-column:1; grid-row:auto; min-height:280px; }
  .section-header { flex-direction:column; align-items:flex-start; gap:var(--s3); padding:var(--s10) var(--s4) var(--s5); }
  .page-hero { flex-direction:column; align-items:flex-start; padding:calc(var(--header-h) + var(--s8)) var(--s4) var(--s6); }
  .filter-bar { flex-direction:column; align-items:flex-start; gap:var(--s3); }
  .footer-top { grid-template-columns:1fr 1fr; }
  .footer-top > div:first-child { grid-column:1/-1; }
  .header { padding:0 var(--s4); }
  .products-grid { margin:var(--s4) var(--s4) var(--s8); }
}
@media (max-width:480px) {
  .hero-title { font-size:clamp(1.6rem,7vw,2.4rem); }
  .hero-card { padding:var(--s5) var(--s6); }
  .hero-slide-img { object-position:center center; }
  .product-grid, .products-grid, .product-grid-4 { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
}

/* ═══ VDM / 2-URUN DUZENI ══════════════════════════════════════════════════ */
/* START:VDM2P */
/* tam genislik: yanlarda bosluk ve kenarlik yok, kutular arasinda 1px hairline kalir */
.bento-grid-2p, .bento-grid-1p { margin:0 0 var(--s16); border-left:0; border-right:0; }
.bento-grid-2p { grid-template-columns:repeat(2,1fr); }
.bento-grid-1p { grid-template-columns:1fr; }
.bento-grid-2p .bento-item, .bento-grid-1p .bento-item { grid-column:auto; grid-row:auto; min-height:clamp(460px,42vw,700px); }
.bento-grid-2p::after, .bento-grid-1p::after { display:none; }

/* urun kutusu - acik yuzey, urun gorseli multiply ile zemine oturur */
.bento-product .bento-bg { background:linear-gradient(158deg,#f0eeeb 0%,#dad7d2 100%); }
.bento-product .bento-media { position:absolute; left:0; right:0; top:0; bottom:172px; z-index:1;
  background-repeat:no-repeat; background-position:center 54%; background-size:contain;
  mix-blend-mode:multiply; filter:grayscale(1) contrast(1.04);
  transition:transform var(--dur-slow) var(--ease-expo), filter var(--dur-slow) var(--ease-expo); }
.bento-product:hover .bento-media { transform:scale(1.045); filter:grayscale(0) contrast(1); }
.bento-product .bento-content { color:var(--fg); padding:var(--s8); }
.bento-product .bento-label { color:var(--red) !important; opacity:0.8; }
.bento-product .bento-title { font-size:clamp(1.4rem,2.1vw,2.4rem); }
.bento-product .bento-arrow { color:var(--fg); }
.bento-price { display:block; font-family:var(--font-sans); font-size:12px; font-weight:400;
  letter-spacing:0.06em; color:var(--fg-muted); margin-top:var(--s2); }
.bento-price del { opacity:0.45; margin-right:var(--s2); }
.bento-price ins { text-decoration:none; color:var(--fg); }
.bento-product::after { content:''; position:absolute; left:var(--s8); right:var(--s8); bottom:172px;
  height:1px; background:var(--border-mid); z-index:2; }

@media (max-width:900px) {
  .bento-product .bento-content { padding:var(--s6); }
  .bento-product .bento-media { bottom:158px; }
  .bento-product::after { left:var(--s6); right:var(--s6); bottom:158px; }
}
@media (max-width:700px) {
  .bento-grid-2p { grid-template-columns:1fr; }
  .bento-grid-2p .bento-item, .bento-grid-1p .bento-item { min-height:430px; }
  .bento-product .bento-content { padding:var(--s5); }
  .bento-product .bento-media { bottom:148px; }
  .bento-product::after { left:var(--s5); right:var(--s5); bottom:148px; }
}
/* END:VDM2P */

/* SHOPIER SATIN AL */
a.add-btn.shopier-btn { text-decoration:none; height:56px; position:relative;
  transition:background var(--dur-mid) var(--ease-expo), color var(--dur-mid) var(--ease-expo), gap var(--dur-mid) var(--ease-expo);
  border:1px solid var(--fg);}
a.add-btn.shopier-btn:hover { opacity:1; background:var(--bg); color:var(--fg); gap:var(--s5);}
a.add-btn.shopier-btn svg { flex:none;}
a.add-btn.shopier-btn:focus-visible { outline:1px solid var(--fg); outline-offset:3px;}
.shopier-note { margin:var(--s3) 0 0; font-family:var(--font-sans); font-size:9px; font-weight:400;
  letter-spacing:0.16em; text-transform:uppercase; color:var(--fg-faint); text-align:center;}

/* LEGAL PAGES */
.legal { color:var(--fg-muted); }
.legal h2 { font-family:var(--font-display); font-size:clamp(1.1rem,1.6vw,1.4rem); font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--fg); margin:var(--s10) 0 var(--s4); padding-top:var(--s5); border-top:1px solid var(--border); }
.legal h3 { font-family:var(--font-sans); font-size:12px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--fg); margin:var(--s6) 0 var(--s3); }
.legal p, .legal li { margin-bottom:var(--s3); }
.legal ul, .legal ol { padding-left:1.2em; margin-bottom:var(--s5); }
.legal li::marker { color:var(--fg-faint); }
.legal a { color:var(--fg); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--border-strong); }
.legal a:hover { text-decoration-color:var(--fg); }
.legal-meta { font-family:var(--font-sans); font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:var(--fg-faint); margin-bottom:var(--s6); }
.legal-table { width:100%; border-collapse:collapse; margin:var(--s4) 0 var(--s6); font-size:13px; }
.legal-table th, .legal-table td { text-align:left; vertical-align:top; padding:var(--s3) var(--s4); border-top:1px solid var(--border); }
.legal-table tr:last-child th, .legal-table tr:last-child td { border-bottom:1px solid var(--border); }
.legal-table th { width:32%; font-family:var(--font-sans); font-size:10px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--fg); }
.vdm-todo { display:inline-block; padding:0 .4em; background:var(--red-faint); color:var(--red); font-family:var(--font-sans); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; }
@media (max-width:600px) { .legal-table th, .legal-table td { display:block; width:auto; padding:var(--s2) 0; } .legal-table td { border-top:0; padding-bottom:var(--s4); } }
