/*
Theme Name: STILL GOODS
Theme URI: https://act0.net/
Author: アクトゼロ
Author URI: https://act0.net/
Description: Editorial review magazine theme for carefully selected goods.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: still-goods
*/
/* ══════════════════════════════════════════
   RESET & BASE
══════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }

:root {
  --ink: #1a1814;
  --paper: #f2ede6;
  --paper-dark: #e8e2d9;
  --paper-mid: #ede8e0;
  --amber: #c8873a;
  --muted: #7a7570;
  --rule: #2a2620;
  --pad: clamp(16px, 4vw, 40px);
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: 'Noto Serif JP', serif;
  font-weight: 300;
  line-height: 1.7;
  min-height: 100vh;
  overflow-x: hidden;
}

body::before {
  content: '';
  position: fixed; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none; z-index: 9999; opacity: 0.3;
}

img { display: block; width: 100%; height: 100%; object-fit: cover; }
a { text-decoration: none; color: inherit; }

/* ══════════════════════════════════════════
   HEADER
══════════════════════════════════════════ */
header {
  border-bottom: 3px solid var(--rule);
  padding: 0 var(--pad);
  position: sticky; top: 0;
  background: var(--paper);
  z-index: 500;
}

.header-top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 0 8px;
  border-bottom: 1px solid rgba(26,24,20,0.15);
  gap: 12px;
}

.issue-label {
  font-family: 'DM Mono', monospace;
  font-size: clamp(0.5rem, 1.5vw, 0.65rem);
  color: var(--muted); letter-spacing: 0.1em; text-transform: uppercase;
  display: none;
}
@media (min-width: 480px) { .issue-label { display: block; } }

.site-logo {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(1.7rem, 6vw, 2.8rem);
  letter-spacing: 0.08em; line-height: 1;
  color: var(--ink); cursor: pointer;
  flex-shrink: 0;
}

.site-tagline {
  font-family: 'DM Mono', monospace;
  font-size: clamp(0.48rem, 1.2vw, 0.6rem);
  color: var(--muted); letter-spacing: 0.08em;
  text-align: right; font-style: italic;
  display: none;
}
@media (min-width: 640px) { .site-tagline { display: block; } }

/* Desktop nav */
.nav-desktop {
  display: none;
  gap: 22px; padding: 9px 0; align-items: center;
}
@media (min-width: 768px) { .nav-desktop { display: flex; } }

.nav-desktop a {
  font-family: 'DM Mono', monospace;
  font-size: 0.66rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--ink);
  transition: color 0.2s; cursor: pointer;
  white-space: nowrap;
}
.nav-desktop a:hover, .nav-desktop a.active { color: var(--amber); }
.nav-desktop a.active { border-bottom: 1px solid var(--amber); padding-bottom: 1px; }
.nav-desktop .nav-right { margin-left: auto; display: flex; gap: 16px; }

/* Mobile hamburger */
.nav-mobile-toggle {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; cursor: pointer;
  flex-direction: column; gap: 5px; flex-shrink: 0;
}
@media (min-width: 768px) { .nav-mobile-toggle { display: none; } }

.nav-mobile-toggle span {
  display: block; width: 22px; height: 1.5px;
  background: var(--ink); transition: all 0.3s;
}
.nav-mobile-toggle.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-mobile-toggle.open span:nth-child(2) { opacity: 0; }
.nav-mobile-toggle.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Mobile nav drawer */
.nav-drawer {
  display: none;
  flex-direction: column;
  background: var(--paper-dark);
  border-top: 1px solid rgba(26,24,20,0.12);
  padding: 8px 0;
}
.nav-drawer.open { display: flex; }
.nav-drawer a {
  font-family: 'DM Mono', monospace;
  font-size: 0.78rem; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--ink);
  padding: 13px var(--pad); cursor: pointer;
  border-bottom: 1px solid rgba(26,24,20,0.07);
  transition: color 0.2s, background 0.2s;
}
.nav-drawer a:hover { color: var(--amber); background: var(--paper-mid); }

/* ══════════════════════════════════════════
   COMMON UTILS
══════════════════════════════════════════ */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--ink); color: var(--paper);
  font-family: 'DM Mono', monospace;
  font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase;
  padding: 12px 20px; cursor: pointer;
  transition: background 0.2s; border: none;
}
.btn:hover { background: var(--amber); }
.btn .arr { transition: transform 0.2s; }
.btn:hover .arr { transform: translateX(3px); }
.btn-amber { background: var(--amber); }
.btn-amber:hover { background: var(--ink); }

.section-header {
  display: flex; align-items: baseline; gap: 12px;
  padding: 24px var(--pad) 14px;
  border-bottom: 1px solid rgba(26,24,20,0.15);
  flex-wrap: wrap;
}
.section-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(1.2rem, 4vw, 1.7rem);
  letter-spacing: 0.1em;
}
.section-count {
  font-family: 'DM Mono', monospace;
  font-size: 0.6rem; color: var(--muted); letter-spacing: 0.08em;
}
.section-rule { flex: 1; height: 1px; background: rgba(26,24,20,0.1); align-self: center; min-width: 20px; }
.section-link {
  font-family: 'DM Mono', monospace;
  font-size: 0.6rem; color: var(--amber);
  letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
  white-space: nowrap;
}

.cat-badge {
  display: inline-block;
  background: var(--ink); color: var(--paper);
  font-family: 'DM Mono', monospace;
  font-size: 0.55rem; letter-spacing: 0.14em; text-transform: uppercase;
  padding: 3px 9px;
}
.cat-badge.amber { background: var(--amber); }

/* ══════════════════════════════════════════
   PAGE: TOP — HERO
══════════════════════════════════════════ */
.hero {
  display: grid;
  grid-template-columns: 1fr;
  border-bottom: 3px solid var(--rule);
}
@media (min-width: 768px) {
  .hero { grid-template-columns: 1fr 360px; min-height: 80vh; }
}
@media (min-width: 1024px) {
  .hero { grid-template-columns: 1fr 460px; }
}

.hero-image {
  position: relative; overflow: hidden;
  height: clamp(260px, 55vw, 420px);
  order: 1;
}
@media (min-width: 768px) { .hero-image { height: auto; order: 2; } }

.hero-image img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-image-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(26,24,20,0.4) 0%, transparent 55%);
}
.hero-score {
  position: absolute; bottom: 20px; left: 20px;
  background: var(--paper); padding: 10px 14px;
  border-left: 3px solid var(--amber);
}
.hero-score-num { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; line-height:1; color:var(--amber); }
.hero-score-label { font-family:'DM Mono',monospace; font-size:0.52rem; color:var(--muted); letter-spacing:0.1em; text-transform:uppercase; }
.hero-stamp {
  position: absolute; top: 18px; right: 18px;
  background: var(--ink); color: var(--paper);
  font-family:'Bebas Neue',sans-serif;
  font-size:0.85rem; letter-spacing:0.15em; padding:4px 11px;
}

.hero-text {
  padding: clamp(24px,5vw,56px) var(--pad);
  display: flex; flex-direction: column; justify-content: flex-end;
  order: 2;
}
@media (min-width: 768px) {
  .hero-text { border-right: 1px solid rgba(26,24,20,0.2); order: 1; }
}

.hero-label {
  font-family:'DM Mono',monospace;
  font-size:0.62rem; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--amber); margin-bottom:12px;
  display:flex; align-items:center; gap:10px;
}
.hero-label::before { content:''; display:block; width:26px; height:1px; background:var(--amber); }

.hero-headline {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(2.8rem, 9vw, 6.5rem);
  line-height:0.92; letter-spacing:0.03em; margin-bottom:20px;
}
.hero-headline span { color:var(--amber); display:block; }

.hero-excerpt {
  font-size:clamp(0.8rem, 2vw, 0.92rem);
  line-height:1.9; max-width:480px; margin-bottom:24px;
  border-left:2px solid var(--amber); padding-left:14px;
}

.hero-meta {
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  font-family:'DM Mono',monospace;
  font-size:0.62rem; color:var(--muted); letter-spacing:0.08em;
}

/* ══════════════════════════════════════════
   CARD GRID
══════════════════════════════════════════ */
.card-grid {
  display:grid; grid-template-columns:1fr;
  border-bottom:3px solid var(--rule);
}
@media (min-width: 560px) { .card-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width: 900px) { .card-grid { grid-template-columns:repeat(3,1fr); } }

.card {
  border-bottom:1px solid rgba(26,24,20,0.15);
  cursor:pointer; transition:background 0.25s;
  display:flex; flex-direction:column;
}
@media (min-width: 560px) {
  .card:nth-child(odd) { border-right:1px solid rgba(26,24,20,0.15); }
}
@media (min-width: 900px) {
  .card:nth-child(odd) { border-right:1px solid rgba(26,24,20,0.15); }
  .card:nth-child(3n-1) { border-right:1px solid rgba(26,24,20,0.15); }
  .card:nth-child(3n) { border-right:none; }
  .card { border-bottom:none; }
}
.card:hover { background:var(--paper-dark); }

.card-img {
  height:clamp(170px, 28vw, 230px);
  overflow:hidden; position:relative; flex-shrink:0;
}
.card-img img { transition:transform 0.45s ease; width:100%; height:100%; }
.card:hover .card-img img { transform:scale(1.04); }
.card-cat-badge { position:absolute; top:12px; left:12px; }

.card-body { padding:18px 20px 22px; border-top:2px solid var(--ink); flex:1; display:flex; flex-direction:column; }
.card-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.2rem,3vw,1.5rem); letter-spacing:0.04em; line-height:1.1; margin-bottom:7px; }
.card-desc { font-size:0.78rem; line-height:1.75; color:var(--muted); margin-bottom:12px; flex:1; }
.card-foot {
  display:flex; justify-content:space-between; align-items:center;
  font-family:'DM Mono',monospace; font-size:0.58rem; color:var(--muted); letter-spacing:0.07em;
  padding-top:10px; border-top:1px solid rgba(26,24,20,0.1); margin-top:auto;
}
.card-score { color:var(--amber); font-size:0.8rem; }

/* ══════════════════════════════════════════
   FEATURED + COLUMN LIST
══════════════════════════════════════════ */
.featured-section {
  display:grid; grid-template-columns:1fr;
  border-bottom:3px solid var(--rule);
}
@media (min-width: 860px) { .featured-section { grid-template-columns:1fr 1fr; } }

.featured-large {
  padding:clamp(22px,5vw,44px) var(--pad);
  border-bottom:1px solid rgba(26,24,20,0.15);
}
@media (min-width: 860px) { .featured-large { border-right:1px solid rgba(26,24,20,0.2); border-bottom:none; } }

.featured-img { height:clamp(190px,38vw,320px); overflow:hidden; margin-bottom:22px; position:relative; }
.featured-img img { width:100%; height:100%; }
.featured-tag { position:absolute; bottom:0; right:0; }

.featured-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.5rem,4.5vw,2.6rem); line-height:1.05; letter-spacing:0.04em; margin-bottom:11px; }
.featured-text { font-size:0.84rem; line-height:1.9; color:var(--ink); margin-bottom:18px; }

.column-list { display:flex; flex-direction:column; }
.col-item {
  display:grid; grid-template-columns:96px 1fr;
  border-bottom:1px solid rgba(26,24,20,0.12);
  cursor:pointer; transition:background 0.2s;
}
@media (min-width: 480px) { .col-item { grid-template-columns:116px 1fr; } }
.col-item:first-child { border-top:1px solid rgba(26,24,20,0.12); }
.col-item:hover { background:var(--paper-dark); }
.col-thumb { height:86px; overflow:hidden; }
.col-thumb img { width:100%; height:100%; }
.col-body-inner { padding:11px 14px; }
.col-cat { font-family:'DM Mono',monospace; font-size:0.55rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--amber); margin-bottom:3px; }
.col-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(0.9rem,2.5vw,1.05rem); letter-spacing:0.04em; line-height:1.2; color:var(--ink); margin-bottom:3px; }
.col-meta { font-family:'DM Mono',monospace; font-size:0.54rem; color:var(--muted); letter-spacing:0.06em; }

/* ══════════════════════════════════════════
   MARQUEE
══════════════════════════════════════════ */
.marquee-wrap { background:var(--ink); color:var(--paper); padding:11px 0; overflow:hidden; }
.marquee-track { display:flex; animation:marquee 30s linear infinite; white-space:nowrap; width:max-content; }
.marquee-item { font-family:'Bebas Neue',sans-serif; font-size:0.88rem; letter-spacing:0.2em; padding:0 26px; color:rgba(242,237,230,0.42); display:flex; align-items:center; gap:26px; }
.marquee-item::after { content:'◆'; font-size:0.42rem; color:var(--amber); }

/* ══════════════════════════════════════════
   ABOUT STRIP
══════════════════════════════════════════ */
.about-strip {
  display:grid; grid-template-columns:1fr;
  border-bottom:3px solid var(--rule);
}
@media (min-width: 768px) { .about-strip { grid-template-columns:2fr 1fr; } }

.about-left { padding:clamp(26px,5vw,50px) var(--pad); }
@media (min-width: 768px) { .about-left { border-right:1px solid rgba(26,24,20,0.2); } }
.about-eyebrow { font-family:'DM Mono',monospace; font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
.about-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.8rem,6vw,3.5rem); line-height:0.95; letter-spacing:0.04em; margin-bottom:18px; }
.about-headline em { color:var(--amber); font-style:normal; }
.about-body { font-size:0.84rem; line-height:1.95; color:var(--muted); max-width:500px; }
.badge { display:inline-block; background:var(--amber); color:var(--paper); font-family:'DM Mono',monospace; font-size:0.52rem; letter-spacing:0.1em; text-transform:uppercase; padding:3px 8px; vertical-align:middle; margin-left:6px; }

.about-right {
  padding:clamp(22px,5vw,44px) var(--pad);
  display:flex; flex-direction:row; flex-wrap:wrap;
  gap:0; background:var(--paper-dark);
}
@media (min-width: 768px) { .about-right { flex-direction:column; } }
.stat-item { padding:16px 20px 16px 0; border-bottom:1px solid rgba(26,24,20,0.1); flex:1; min-width:100px; }
@media (min-width: 768px) { .stat-item { padding:0 0 20px; border-bottom:1px solid rgba(26,24,20,0.1); border-right:none; } }
.stat-item:last-child { border-bottom:none; }
.stat-num { font-family:'Bebas Neue',sans-serif; font-size:2.6rem; line-height:1; color:var(--amber); }
.stat-label { font-family:'DM Mono',monospace; font-size:0.56rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); }

/* ══════════════════════════════════════════
   BREADCRUMB
══════════════════════════════════════════ */
.breadcrumb {
  padding:12px var(--pad);
  font-family:'DM Mono',monospace; font-size:0.58rem;
  color:var(--muted); letter-spacing:0.08em;
  border-bottom:1px solid rgba(26,24,20,0.1);
  display:flex; gap:8px; align-items:center; flex-wrap:wrap;
}
.breadcrumb span { color:var(--amber); }
.breadcrumb a { cursor:pointer; }
.breadcrumb a:hover { color:var(--amber); }

/* ══════════════════════════════════════════
   ARTICLE PAGE
══════════════════════════════════════════ */
.article-hero {
  height:clamp(240px, 48vw, 500px);
  position:relative; overflow:hidden;
  border-bottom:3px solid var(--rule);
}
.article-hero img { position:absolute; inset:0; width:100%; height:100%; }
.article-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(26,24,20,0.75) 0%, rgba(26,24,20,0.1) 65%);
  display:flex; align-items:flex-end;
  padding:clamp(18px,4vw,44px) var(--pad);
}
.article-hero-meta { display:flex; flex-direction:column; gap:8px; }
.article-title-hero { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.8rem,6vw,4rem); line-height:0.95; letter-spacing:0.04em; color:var(--paper); }
.article-hero-sub { font-family:'DM Mono',monospace; font-size:0.6rem; color:rgba(242,237,230,0.6); letter-spacing:0.12em; display:flex; gap:14px; flex-wrap:wrap; }

.article-layout {
  display:grid; grid-template-columns:1fr;
  max-width:1100px; margin:0 auto;
  padding:clamp(22px,5vw,52px) var(--pad); gap:40px;
}
@media (min-width: 860px) { .article-layout { grid-template-columns:1fr 260px; } }

/* Score card */
.score-card { border:2px solid var(--ink); padding:20px; margin-bottom:28px; background:var(--paper-dark); }
.score-card-title { font-family:'DM Mono',monospace; font-size:0.58rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; border-bottom:1px solid rgba(26,24,20,0.12); padding-bottom:9px; }
.score-overall { font-family:'Bebas Neue',sans-serif; font-size:4.5rem; line-height:1; color:var(--amber); display:flex; align-items:baseline; gap:5px; margin-bottom:18px; }
.score-overall small { font-size:1.1rem; color:var(--muted); }
.score-rows { display:flex; flex-direction:column; gap:9px; }
.score-row { display:flex; align-items:center; gap:9px; }
.score-row-label { font-family:'DM Mono',monospace; font-size:0.58rem; color:var(--muted); letter-spacing:0.07em; width:65px; flex-shrink:0; }
.score-bar-wrap { flex:1; height:2px; background:rgba(26,24,20,0.1); }
.score-bar { height:100%; background:var(--amber); }
.score-val { font-family:'DM Mono',monospace; font-size:0.58rem; color:var(--ink); width:22px; text-align:right; }

.article-body h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.3rem,4vw,1.9rem); letter-spacing:0.06em; margin:32px 0 12px; border-bottom:1px solid rgba(26,24,20,0.13); padding-bottom:7px; }
.article-body p { font-size:0.9rem; line-height:2; color:var(--ink); margin-bottom:16px; }
.article-body .pullquote { border-left:3px solid var(--amber); padding-left:18px; font-size:0.95rem; line-height:1.85; color:var(--ink); margin:24px 0; font-style:italic; }
.article-body .article-img { margin:24px 0; }
.article-body .article-img img { width:100%; height:clamp(180px,38vw,360px); }
.article-body .img-cap { font-family:'DM Mono',monospace; font-size:0.58rem; color:var(--muted); letter-spacing:0.07em; margin-top:5px; text-align:center; }

.buy-box { border:2px solid var(--ink); padding:20px; margin-top:36px; display:flex; flex-direction:column; gap:12px; }
.buy-box-label { font-family:'DM Mono',monospace; font-size:0.58rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); }
.buy-box-price { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; line-height:1; color:var(--ink); }
.buy-box-note { font-size:0.72rem; color:var(--muted); line-height:1.7; }
.buy-box-btns { display:flex; gap:10px; flex-wrap:wrap; }

/* Sidebar */
.sidebar { display:flex; flex-direction:column; gap:24px; }
.sidebar-block { border:1px solid rgba(26,24,20,0.15); padding:18px; }
.sidebar-title { font-family:'Bebas Neue',sans-serif; font-size:1.15rem; letter-spacing:0.1em; border-bottom:1px solid rgba(26,24,20,0.12); padding-bottom:7px; margin-bottom:13px; }
.sidebar-item { display:grid; grid-template-columns:64px 1fr; gap:11px; margin-bottom:12px; cursor:pointer; }
.sidebar-item:last-child { margin-bottom:0; }
.sidebar-thumb { height:50px; overflow:hidden; }
.sidebar-thumb img { width:100%; height:100%; }
.sidebar-item-title { font-family:'Bebas Neue',sans-serif; font-size:0.9rem; line-height:1.2; letter-spacing:0.04em; }
.sidebar-item-meta { font-family:'DM Mono',monospace; font-size:0.54rem; color:var(--muted); letter-spacing:0.06em; margin-top:3px; }

/* ══════════════════════════════════════════
   CATEGORY PAGE
══════════════════════════════════════════ */
.category-hero {
  padding:clamp(36px,7vw,72px) var(--pad);
  border-bottom:3px solid var(--rule);
}
.category-hero-label { font-family:'DM Mono',monospace; font-size:0.62rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--amber); margin-bottom:8px; }
.category-hero-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.8rem,10vw,6.5rem); line-height:0.9; letter-spacing:0.04em; margin-bottom:10px; }
.category-hero-desc { font-size:0.86rem; color:var(--muted); max-width:480px; line-height:1.8; }

/* ══════════════════════════════════════════
   COLUMN PAGE
══════════════════════════════════════════ */
/* uses card-grid */

/* ══════════════════════════════════════════
   ABOUT PAGE
══════════════════════════════════════════ */
.about-page-hero {
  padding:clamp(36px,7vw,72px) var(--pad);
  border-bottom:3px solid var(--rule);
  display:grid; grid-template-columns:1fr;
  gap:36px;
}
@media (min-width: 768px) { .about-page-hero { grid-template-columns:1fr 1fr; align-items:center; } }

.about-page-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.8rem,9vw,5.5rem); line-height:0.92; letter-spacing:0.04em; margin-bottom:18px; }
.about-page-title em { color:var(--amber); font-style:normal; display:block; }
.about-page-text { font-size:0.88rem; line-height:2; color:var(--ink); margin-bottom:13px; }
.about-page-img { height:clamp(240px,40vw,380px); overflow:hidden; }
.about-page-img img { width:100%; height:100%; }

.about-rules { border-bottom:3px solid var(--rule); padding:clamp(26px,5vw,52px) var(--pad); }
.about-rules-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.4rem,4vw,2rem); letter-spacing:0.06em; margin-bottom:24px; }
.rules-grid { display:grid; grid-template-columns:1fr; }
@media (min-width: 560px) { .rules-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width: 860px) { .rules-grid { grid-template-columns:repeat(3,1fr); } }
.rule-item { padding:22px; border-bottom:1px solid rgba(26,24,20,0.1); border-right:none; }
@media (min-width: 560px) {
  .rule-item:nth-child(odd) { border-right:1px solid rgba(26,24,20,0.1); }
}
@media (min-width: 860px) {
  .rule-item { border-right:1px solid rgba(26,24,20,0.1); border-bottom:none; }
  .rule-item:last-child { border-right:none; }
}
.rule-num { font-family:'Bebas Neue',sans-serif; font-size:2.8rem; line-height:1; color:rgba(26,24,20,0.07); margin-bottom:7px; }
.rule-title { font-family:'Bebas Neue',sans-serif; font-size:1.15rem; letter-spacing:0.06em; margin-bottom:7px; color:var(--amber); }
.rule-text { font-size:0.78rem; line-height:1.8; color:var(--muted); }

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
footer {
  background:var(--ink); color:var(--paper);
  padding:clamp(32px,5vw,52px) var(--pad) clamp(18px,3vw,28px);
  border-top:3px solid var(--rule);
}
.footer-top {
  display:grid; grid-template-columns:1fr 1fr;
  gap:28px; padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,0.08); margin-bottom:18px;
}
@media (min-width: 560px) { .footer-top { grid-template-columns:2fr 1fr 1fr; } }

.footer-brand-col { grid-column:1/-1; }
@media (min-width: 560px) { .footer-brand-col { grid-column:auto; } }

.footer-logo { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.6rem,5vw,2.4rem); letter-spacing:0.08em; color:var(--paper); cursor:pointer; }
.footer-tagline { font-family:'DM Mono',monospace; font-size:0.58rem; color:rgba(242,237,230,0.3); letter-spacing:0.08em; margin-top:6px; font-style:italic; }
.footer-col-title { font-family:'DM Mono',monospace; font-size:0.56rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--amber); margin-bottom:12px; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:8px; }
.footer-links a { font-family:'Noto Serif JP',serif; font-size:0.78rem; color:rgba(242,237,230,0.45); transition:color 0.2s; cursor:pointer; }
.footer-links a:hover { color:var(--amber); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; font-family:'DM Mono',monospace; font-size:0.56rem; color:rgba(242,237,230,0.22); letter-spacing:0.06em; flex-wrap:wrap; gap:6px; }

/* ══════════════════════════════════════════
   ANIMATIONS
══════════════════════════════════════════ */
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes fadeUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
.anim { animation:fadeUp 0.55s ease both; }

/* WordPress adaptations */
.admin-bar header { top: 32px; }
@media (max-width: 782px){ .admin-bar header { top: 46px; } }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.wp-caption, .aligncenter { max-width:100%; }
.aligncenter { margin-left:auto; margin-right:auto; }
.article-body img { height:auto; object-fit:cover; }
.article-body ul, .article-body ol { margin: 0 0 1.5em 1.3em; line-height: 2; }
.article-body blockquote { border-left:3px solid var(--amber); padding-left:18px; font-size:0.95rem; line-height:1.85; margin:24px 0; font-style:italic; }
.article-body a { color: var(--amber); border-bottom: 1px solid rgba(200,135,58,.35); }
.article-body h3 { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.1rem,3vw,1.45rem); letter-spacing:0.06em; margin:26px 0 10px; }
.hero-image .post-thumbnail-placeholder,
.card-img .post-thumbnail-placeholder,
.featured-img .post-thumbnail-placeholder,
.article-hero .post-thumbnail-placeholder,
.sidebar-thumb .post-thumbnail-placeholder,
.about-page-img .post-thumbnail-placeholder { width:100%; height:100%; background:linear-gradient(135deg,var(--paper-dark),var(--paper-mid)); display:flex; align-items:center; justify-content:center; font-family:'DM Mono',monospace; color:var(--muted); font-size:.65rem; letter-spacing:.12em; }
.pagination { display:flex; gap:8px; justify-content:center; padding:30px var(--pad); border-bottom:3px solid var(--rule); }
.pagination .page-numbers { font-family:'DM Mono',monospace; font-size:.66rem; border:1px solid rgba(26,24,20,.2); padding:8px 11px; }
.pagination .current, .pagination a:hover { background:var(--ink); color:var(--paper); }
.no-results { padding: clamp(36px,7vw,72px) var(--pad); border-bottom:3px solid var(--rule); }
.no-results h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,6vw,4rem); letter-spacing:.06em; }
.search-form { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
.search-field { background:var(--paper); border:1px solid rgba(26,24,20,.25); padding:12px 14px; min-width:240px; font-family:'Noto Serif JP',serif; }
.search-submit { display:inline-flex; align-items:center; background:var(--ink); color:var(--paper); font-family:'DM Mono',monospace; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; padding:12px 20px; border:0; cursor:pointer; }
.article-body .wp-block-image { margin:24px 0; }
.article-body .wp-block-image img { width:100%; height:auto; }

/* STILL GOODS v1.1.2 adjustments */
.hero-slider { position: relative; border-bottom: 3px solid var(--rule); overflow: hidden; }
.hero-slider-track { display: flex; transition: transform .45s ease; width: 100%; }
.hero-slider .hero { min-width: 100%; border-bottom: none; }
.hero-slider-controls { position: absolute; left: var(--pad); bottom: 14px; display: flex; gap: 8px; z-index: 5; }
.hero-dot { appearance: none; border: 1px solid rgba(242,237,230,.45); background: rgba(26,24,20,.55); color: var(--paper); font-family: 'DM Mono', monospace; font-size: .56rem; letter-spacing: .08em; padding: 5px 8px; cursor: pointer; }
.hero-dot.active, .hero-dot:hover { background: var(--amber); border-color: var(--amber); color: var(--paper); }

.about-right { justify-content: center; }
.about-right .stat-item { min-width: 150px; }
@media (min-width: 768px) { .about-right .stat-item { padding: 0 0 28px; } }

.buy-box-btns .btn { min-width: 160px; justify-content: center; }
.buy-box .btn-amber,
.buy-box .btn-amber:visited { background: var(--amber); color: var(--paper) !important; border: 1px solid var(--amber); }
.buy-box .btn-amber:hover,
.buy-box .btn-amber:focus { background: var(--ink); color: var(--paper) !important; border-color: var(--ink); }
.buy-box .btn:not(.btn-amber),
.buy-box .btn:not(.btn-amber):visited { background: var(--ink); color: var(--paper) !important; border: 1px solid var(--ink); }
.buy-box .btn:not(.btn-amber):hover,
.buy-box .btn:not(.btn-amber):focus { background: var(--amber); color: var(--paper) !important; border-color: var(--amber); }
