:root { --ink: #171714; --muted: #716d66; --line: #dedbd4; --paper: #fbfaf7; }
body { margin: 0px; background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif; }
.wrap { width: min(1180px, 100% - 48px); margin: auto; }
.hero { padding: 105px 0px 80px; }
.eyebrow { font-size: 11px; letter-spacing: 0.18em; color: var(--muted); }
h1 { font-family: Georgia, "Yu Mincho", serif; font-weight: 400; font-size: clamp(48px, 7vw, 94px); line-height: 1.03; margin: 18px 0px 24px; }
.lead { font-size: 17px; line-height: 2; color: rgb(79, 76, 71); max-width: 620px; }
.rule { height: 1px; background: var(--line); margin: 0px 0px 70px; }
.works-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 34px; }
h2 { font-family: Georgia, "Yu Mincho", serif; font-weight: 400; font-size: 36px; margin: 0px; }
.works { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 22px; }
.work { min-height: 360px; border: 1px solid var(--line); padding: 32px; display: flex; align-items: flex-end; background: rgb(255, 255, 255); }
.work.big { min-height: 560px; }
.work h3 { font-size: 22px; margin: 0px 0px 8px; }
.work p { margin: 0px; color: var(--muted); font-size: 13px; }
.info { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding: 110px 0px; }
.info p { line-height: 2; color: rgb(85, 81, 75); }
.price { font-family: Georgia, serif; font-size: 42px; margin-top: 20px; }
.cta { border-top: 1px solid var(--line); padding: 85px 0px 110px; }
.cta a { display: inline-block; border-bottom: 1px solid; padding: 12px 0px; font-size: 18px; }
@media (max-width: 720px) {
  .wrap { width: min(100% - 30px, 1180px); }
  nav { gap: 13px; font-size: 10px; }
  .hero { padding: 70px 0px 55px; min-width: 0px; }
  .hero > * { min-width: 0px; max-width: 100%; }
  .works { grid-template-columns: 1fr; }
  .work, .work.big { min-height: 300px; }
  .info { grid-template-columns: 1fr; gap: 45px; padding: 75px 0px; }
  h1 { font-size: clamp(41px, 10.3vw, 52px); }
  .works-head { display: block; }
  .works-head p { margin-top: 14px; }
}
html { text-size-adjust: 100%; }
body { overflow-wrap: normal; word-break: normal; line-break: strict; }
p, li, small, .lead { word-break: normal; overflow-wrap: normal; }
h1, h2, h3, .brand, .button, .eyebrow { word-break: keep-all; overflow-wrap: normal; }

/* Preserve the existing asymmetric works grid; show uncropped artwork above captions. */
.work, .work.big { min-height: 0; display: flex; flex-direction: column; align-items: stretch; gap: 20px; }
.work img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.work > div { min-width: 0; }
