:root {
  color-scheme: light;
  --navy: #172d3d;
  --blue: #24516c;
  --ink: #1d2730;
  --muted: #69757d;
  --line: #dbe2e4;
  --paper: #f6f8f8;
  --white: #ffffff;
  --accent: #c58a32;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.55;
}

main, footer { max-width: 1120px; margin: 0 auto; }

.masthead {
  padding: 3.8rem 2rem 2.8rem;
  color: var(--white);
  background: linear-gradient(115deg, var(--navy), var(--blue));
  border-bottom: 5px solid var(--accent);
}

.eyebrow, .stock-label {
  margin: 0;
  color: var(--accent);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
}

h1 { margin: .4rem 0; font-size: clamp(2rem, 6vw, 3.4rem); letter-spacing: .04em; }
.lead { margin: 0; font-size: 1rem; color: #e6eef1; }

.notice {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin: 1.2rem 1rem 2.2rem;
  padding: .9rem 1rem;
  border-left: 4px solid var(--accent);
  background: #fffaf2;
}
.notice span { flex: 0 0 auto; color: #8a5d19; font-size: .85rem; font-weight: 800; }
.notice p { margin: 0; font-size: .9rem; }

.inventory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
  padding: 0 1rem 3rem;
}

.product-card {
  display: grid;
  grid-template-rows: 220px auto;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: 0 8px 24px rgba(23, 45, 61, .07);
}

.product-card img {
  width: 100%;
  height: 220px;
  object-fit: contain;
  padding: .8rem;
  background: linear-gradient(145deg, #f5f8f9, #fff);
}

.product-content { padding: 1rem 1rem 1.15rem; border-top: 1px solid var(--line); }
h2 { margin: .28rem 0 .6rem; font-size: 1.02rem; line-height: 1.45; }
.details { margin: 0; padding: 0; color: var(--muted); font-size: .84rem; list-style: none; }
.details li { padding: .12rem 0; }
.details li::before { content: "・"; color: var(--accent); font-weight: 800; }

footer { padding: 1.5rem 1rem 2.2rem; color: var(--muted); font-size: .8rem; text-align: center; }
footer p { margin: 0; }

@media (max-width: 800px) {
  .inventory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .product-card { grid-template-rows: 180px auto; }
  .product-card img { height: 180px; }
}

@media (max-width: 480px) {
  .masthead { padding: 2.8rem 1.25rem 2.1rem; }
  .notice { align-items: flex-start; flex-direction: column; gap: .25rem; margin: 1rem .75rem 1.6rem; }
  .inventory { grid-template-columns: 1fr; padding: 0 .75rem 2rem; }
  .product-card { grid-template-columns: 44% 56%; grid-template-rows: auto; }
  .product-card img { height: 170px; min-height: 170px; padding: .4rem; }
  .product-content { border-top: 0; border-left: 1px solid var(--line); }
}
