.noland-page { --noland-gap: clamp(10px, .85vw, 16px); background: #fff; color: var(--red); }
.noland-page .menu-toggle { background: var(--red); color: #fff; }
.noland-layout { grid-template-columns: minmax(300px, 27vw) minmax(0, 1fr); gap: clamp(34px, 5.5vw, 104px); min-height: 100vh; padding: clamp(24px, 2.8vw, 46px) clamp(20px, 2.5vw, 40px) clamp(70px, 8vw, 130px); background: #fff; }
.noland-sidebar { gap: clamp(84px, 14vh, 170px); color: var(--red); }
.noland-page .work-detail-logo { width: clamp(126px, 11vw, 208px); }
.noland-intro { gap: clamp(18px, 2vw, 30px); max-width: 430px; }
.noland-kicker { margin: 0 0 -10px; font-size: var(--type-case-kicker); font-weight: 800; line-height: var(--leading-case-kicker); text-transform: uppercase; }
.noland-page h1 { font-size: var(--type-case-title); line-height: var(--leading-case-title); }
.noland-story { display: grid; gap: clamp(18px, 1.8vw, 28px); }
.noland-story p { max-width: 410px; font-size: var(--type-case-copy); line-height: var(--leading-case-copy); }
.noland-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 18px; margin: 4px 0 0; padding-top: 18px; border-top: 1px solid currentColor; }
.noland-meta div:nth-child(n + 3) { grid-column: 1 / -1; }
.noland-meta dt, .noland-meta dd { margin: 0; }
.noland-meta dt { margin-bottom: 5px; font-size: var(--type-case-kicker); font-weight: 800; text-transform: uppercase; }
.noland-meta dd { font-size: var(--type-case-meta); line-height: var(--leading-case-meta); }
.noland-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; align-items: start; gap: var(--noland-gap); padding-top: clamp(4px, 1vw, 16px); }
.noland-span-2 { grid-column: 1 / -1; }
.noland-tile { position: relative; min-width: 0; min-height: 0; margin: 0; overflow: hidden; background: #fff; }
.noland-tile img { display: block; width: 100%; height: auto; }
.noland-web-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--noland-gap); }
.noland-tile.has-detail-bulge { z-index: 0; overflow: visible; background: transparent; }
.noland-tile.has-detail-bulge.is-bulging { z-index: 1; }
.noland-tile.has-detail-bulge > img { opacity: 0; }
.noland-tile .work-detail-bulge-canvas { position: absolute; top: calc(-1 * var(--bulge-gutter-y, 0px)); left: calc(-1 * var(--bulge-gutter-x, 0px)); display: block; max-width: none; width: calc(100% + 2 * var(--bulge-gutter-x, 0px)); height: calc(100% + 2 * var(--bulge-gutter-y, 0px)); pointer-events: none; }
@media (max-width: 900px) { .noland-layout { grid-template-columns: 1fr; gap: 42px; } .noland-sidebar { position: relative; min-height: auto; gap: 54px; padding-bottom: 20px; } .noland-intro, .noland-story p { max-width: 620px; } }
@media (max-width: 760px), (hover: none), (pointer: coarse) { .noland-tile.has-detail-bulge > img { opacity: 1; } .noland-tile .work-detail-bulge-canvas { display: none !important; } }
@media (max-width: 560px) { .noland-layout { padding: 18px 16px 64px; } .noland-page .work-detail-logo { width: 112px; } .noland-meta { grid-template-columns: 1fr; } .noland-meta div:nth-child(n + 3) { grid-column: 1; } .noland-board, .noland-web-grid { grid-template-columns: 1fr; } .noland-span-2, .noland-tile { grid-column: 1; } }

/* Let every project sheet retain its complete natural height. */
.noland-page .noland-board .noland-tile { aspect-ratio: auto; height: auto; }
.noland-page .noland-board .noland-tile > img { height: auto; object-fit: contain; }
