
.ky { font-family: Jost, sans-serif; }
.ky-display { font-family: Shippori Mincho, serif; }
body { background: #f6f3ec; }
.ky { --paper:#f6f3ec; --ink:#1b2430; --clay:#8c6b4f; --vermilion:#c2472f;
  background: var(--paper); color: var(--ink); min-height: 100vh; }
.ky-wrap { max-width: 860px; margin: 0 auto; padding: 0 2rem; }
.ky-hero { display: grid; gap: 3rem; padding: 7rem 0 5rem; }
@media (min-width: 800px) { .ky-hero { grid-template-columns: 1fr auto; align-items: end; padding: 9rem 0 6rem; } }
.ky-vertical { writing-mode: vertical-rl; font-size: clamp(3rem, 7vw, 4.6rem); line-height: 1.5; letter-spacing: 0.16em; font-weight: 400; }
.ky-vertical span { color: var(--vermilion); font-size: 0.42em; }
.ky-seal { width: 62px; height: 62px; border-radius: 4px; background: var(--vermilion); color: var(--paper);
  display: grid; place-items: center; font-size: 0.72rem; letter-spacing: 0.16em; line-height: 1.5; text-align: center; }
.ky-meta { font-size: 0.82rem; letter-spacing: 0.22em; line-height: 2.6; color: #5c6470; }
.ky-rule { height: 1px; background: rgba(27,36,48,0.18); }
.ky-section { padding: 5rem 0; }
.ky-label { font-size: 0.68rem; letter-spacing: 0.34em; text-transform: uppercase; color: var(--clay); margin-bottom: 2rem; }
.ky-h { font-size: 1.6rem; letter-spacing: 0.1em; margin-bottom: 1.4rem; }
.ky-body { font-size: 0.98rem; line-height: 2.1; color: #39414d; max-width: 58ch; }
.ky-list { display: grid; gap: 0; margin-top: 1rem; }
.ky-row { display: grid; grid-template-columns: 92px 1fr; gap: 1.6rem; padding: 1.5rem 0; border-top: 1px solid rgba(27,36,48,0.12); }
.ky-time { font-size: 0.86rem; letter-spacing: 0.14em; color: var(--vermilion); padding-top: 0.15rem; }
.ky-rowbody { font-size: 0.9rem; line-height: 1.95; color: #4c545f; margin-top: 0.45rem; }
.ky-photo { position: relative; aspect-ratio: 16 / 9; overflow: hidden; filter: grayscale(0.35) contrast(1.02); }
.ky-cta { text-align: center; padding: 6rem 0 7rem; }
.ky-btn { display: inline-block; margin-top: 2rem; padding: 1rem 3.4rem; border: 1px solid var(--ink);
  font-size: 0.74rem; letter-spacing: 0.3em; text-transform: uppercase; text-decoration: none; transition: background 0.3s, color 0.3s; }
.ky-btn:hover { background: var(--ink); color: var(--paper); }
.ky-foot { padding: 3rem 0 4rem; text-align: center; font-size: 0.72rem; letter-spacing: 0.24em; color: #7b828c; }

