:root {
  color-scheme: light;
  --navy: #10275b;
  --muted: #657088;
  --gold: #9a7734;
  --line: #e3e5e9;
  --serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif CJK JP", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
* { box-sizing: border-box; }
html { background: #fff; color: var(--navy); }
body { margin: 0; font-family: var(--sans); -webkit-font-smoothing: antialiased; }
.brand { display: flex; justify-content: center; padding: 25px 24px 31px; }
.brand-logo { display: block; width: 252px; max-width: 100%; height: auto; }
.products { width: min(960px, calc(100% - 96px)); margin: 0 auto; }
.section-title { margin: 0 0 20px; font-size: 11px; font-weight: 500; line-height: 1.6; letter-spacing: .22em; }
.product-list { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--navy); }
.product-list > li { border-bottom: 1px solid var(--line); }
.product { display: grid; grid-template-columns: 38px 142px minmax(0, 1fr) 200px 22px; align-items: center; gap: 16px; min-height: 96px; padding: 19px 8px; color: inherit; text-decoration: none; }
.number, .category { font-size: 10px; font-weight: 500; line-height: 1.6; letter-spacing: .12em; }
.number { color: var(--gold); font-variant-numeric: tabular-nums; }
.category { color: var(--muted); }
.product-name { margin: 0; font-family: var(--serif); font-size: 21px; font-weight: 500; line-height: 1.6; letter-spacing: .035em; }
.product-name.latin { font-family: var(--sans); font-size: 25px; font-weight: 500; letter-spacing: .065em; }
.detail { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.description { color: var(--muted); font-size: 12px; line-height: 1.8; letter-spacing: .04em; }
.coming-soon { color: var(--gold); font-size: 9px; line-height: 1.6; letter-spacing: .14em; }
.arrow { color: var(--gold); font-size: 22px; font-weight: 300; text-align: right; }
a.product:hover { background: #fcfbf8; }
a.product:hover .product-name { color: #775c28; }
a.product:focus-visible { position: relative; outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 1px; background: #fcfbf8; }
footer { text-align: center; padding: 43px 24px 34px; }
footer small { color: var(--muted); font-size: 9px; line-height: 1.8; letter-spacing: .17em; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1000px) {
  .product { grid-template-columns: 28px 115px minmax(0, 1fr) 175px 18px; gap: 12px; }
  .product-name { font-size: 18px; }
}
@media (max-width: 760px) {
  .brand { padding: 16px 24px 22px; }
  .brand-logo { width: 228px; }
  .products { width: calc(100% - 48px); max-width: 540px; }
  .section-title { margin-bottom: 15px; font-size: 10px; letter-spacing: .21em; }
  .product { grid-template-columns: 28px minmax(0, 1fr) 18px; grid-template-rows: auto auto auto; column-gap: 12px; row-gap: 3px; min-height: 117px; padding: 17px 3px; }
  .number { grid-column: 1; grid-row: 1; }
  .category { grid-column: 2; grid-row: 1; font-size: 9px; }
  .product-name { grid-column: 2; grid-row: 2; font-size: 20px; line-height: 1.65; letter-spacing: .015em; }
  .product-name.latin { font-size: 25px; }
  .detail { grid-column: 2; grid-row: 3; gap: 3px; }
  .description { font-size: 11px; line-height: 1.8; }
  .arrow { grid-column: 3; grid-row: 1 / 4; align-self: center; }
  footer { padding: 31px 24px 28px; }
}
@media (max-width: 374px) {
  .products { width: calc(100% - 36px); }
  .product { column-gap: 8px; grid-template-columns: 22px minmax(0, 1fr) 15px; }
  .product-name { font-size: 18px; }
}
@media (forced-colors: active) { a.product:focus-visible { outline-color: Highlight; } }
