/* Home = the shop. Hero wordmark, rule, meta row, product collage, a row of spaces, the footer. */
.kv-section-head { display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: var(--gut); align-items: end; margin-bottom: 40px; }
.kv-section-head .kv-rule { grid-column: 1 / -1; margin-bottom: 24px; }
.kv-section-head__title { grid-column: 1 / span 6; font-size: 48px; font-weight: 700; line-height: 1; letter-spacing: -0.025em; }
.kv-section-head__text { grid-column: 7 / span 6; font-size: var(--t-ui); line-height: 1.33; letter-spacing: -0.025em; max-width: 36ch; }
.kv-section-head__link { grid-column: 14 / span 3; justify-self: end; font-size: var(--t-meta); font-weight: 700; }
@media (max-width: 1023px) { .kv-section-head { grid-template-columns: 1fr; gap: 16px; } .kv-section-head__title, .kv-section-head__text, .kv-section-head__link { grid-column: 1 / -1; justify-self: start; } }
.kv-spaces-row { display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: var(--gut); align-items: start; margin-bottom: var(--block); }
.kv-spaces-row > .kv-card:nth-child(1) { grid-column: 1 / span 8; --ar: 4 / 3; }
.kv-spaces-row > .kv-card:nth-child(2) { grid-column: 10 / span 4; --ar: 3 / 4; margin-top: 136px; }
.kv-spaces-row > .kv-card:nth-child(3) { grid-column: 14 / span 3; --ar: 2 / 3; }
@media (max-width: 767px) { .kv-spaces-row { grid-template-columns: repeat(8, minmax(0, 1fr)); } .kv-spaces-row > .kv-card:nth-child(1) { grid-column: 1 / span 8; } .kv-spaces-row > .kv-card:nth-child(2) { grid-column: 1 / span 5; margin-top: 0; } .kv-spaces-row > .kv-card:nth-child(3) { grid-column: 6 / span 3; } }
.kv-journal-row { display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: var(--gut); margin-bottom: var(--block); }
.kv-journal-row > .kv-card:nth-child(1) { grid-column: 1 / span 5; --ar: 4 / 5; }
.kv-journal-row > .kv-card:nth-child(2) { grid-column: 7 / span 4; --ar: 1; margin-top: 96px; }
.kv-journal-row > .kv-card:nth-child(3) { grid-column: 13 / span 4; --ar: 3 / 4; }
@media (max-width: 767px) { .kv-journal-row { grid-template-columns: repeat(8, minmax(0, 1fr)); } .kv-journal-row > .kv-card:nth-child(1) { grid-column: 1 / span 5; } .kv-journal-row > .kv-card:nth-child(2) { grid-column: 4 / span 5; margin-top: 0; } .kv-journal-row > .kv-card:nth-child(3) { grid-column: 1 / span 4; } }

/* One room: the first photo wide at its own proportion, two more beside it. */
.kv-room { display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: var(--gut); align-items: start; margin-bottom: var(--block); }
.kv-room > .kv-card:nth-child(1) { grid-column: 1 / span 10; }
.kv-room > .kv-card:nth-child(2) { grid-column: 12 / span 5; }
.kv-room > .kv-card:nth-child(3) { grid-column: 12 / span 5; margin-top: 24px; }
.kv-room > .kv-card .kv-card__fig { aspect-ratio: var(--ar, 3 / 2); }
@media (max-width: 767px) { .kv-room { grid-template-columns: repeat(8, minmax(0, 1fr)); } .kv-room > .kv-card:nth-child(1) { grid-column: 1 / span 8; } .kv-room > .kv-card:nth-child(2) { grid-column: 1 / span 4; } .kv-room > .kv-card:nth-child(3) { grid-column: 5 / span 4; margin-top: 0; } }
/* One line about mixing, with a photo that shows it. */
.kv-mix { margin-bottom: var(--block); }
.kv-mix .kv-rule { margin-bottom: 40px; }
.kv-mix__grid { display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: var(--gut); align-items: end; }
.kv-mix__line { grid-column: 1 / span 7; font-size: clamp(32px, 3.4vw, 52px); font-weight: 500; line-height: 1.05; letter-spacing: -0.03em; text-wrap: balance; padding-bottom: 0.3em; }
.kv-mix__photo { grid-column: 9 / span 8; aspect-ratio: 3 / 2; overflow: hidden; background: var(--placeholder); }
.kv-mix__photo img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1023px) { .kv-mix__line, .kv-mix__photo { grid-column: 1 / -1; } .kv-mix__line { font-size: 30px; } }
