/* PRISME case studies. Each project keeps its own visual vocabulary. */
.projections-page, .case-page { --case-accent: #b5c6cf; --case-soft: #e5e9e9; }
.case-page--habitat { --case-accent: #d6bba0; --case-soft: #eee7da; }
.projection-eyebrow { margin: 0 0 1.6rem; color: var(--gold); font-size: .72rem; line-height: 1.5; letter-spacing: .11em; }
.projection-intro, .case-intro { padding-block: clamp(3rem, 7vw, 7rem) clamp(4rem, 7vw, 7.5rem); }
.projection-intro h1, .case-intro h1 { max-width: 1300px; font-size: clamp(3.2rem, 6.8vw, 7.6rem); line-height: 1.03; letter-spacing: -.055em; font-weight: 400; }
.projection-intro h1 em, .case-intro h1 em { color: var(--gold); }
.projection-intro__lead { max-width: 530px; margin: 2.4rem 0 0; font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.75; color: #bdbdb7; }
.projection-entry { display: grid; grid-template-columns: 1.1fr .9fr; min-width: 0; }
.projection-entry__image { position: relative; display: block; min-width: 0; min-height: 640px; overflow: hidden; background: #25323b; }
.projection-entry__image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 20%, #071017a8); pointer-events: none; }
.projection-entry__image img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 58% 50%; transition: transform 1.2s cubic-bezier(.2,.6,.3,1); }
.projection-entry__image:hover img { transform: scale(1.035); }
.projection-entry__image-word { position: absolute; z-index: 1; left: clamp(1.5rem, 5vw, 5rem); bottom: clamp(2rem, 4vw, 4rem); color: #fff; font-size: clamp(2.8rem, 5vw, 5.4rem); letter-spacing: -.065em; line-height: .94; font-weight: 600; }
.projection-entry__copy { padding: clamp(3rem, 6.2vw, 7rem) var(--gutter) clamp(3rem, 6.2vw, 7rem) clamp(2.5rem, 5vw, 6rem); align-self: center; min-width: 0; }
.projection-entry h2 { font-size: clamp(2.4rem, 3.3vw, 4rem); line-height: 1.12; font-weight: 400; letter-spacing: -.045em; margin: 0 0 2rem; }
.projection-entry h2 em, .projection-invitation h2 em, .case-page h2 em, .case-page h3 em { font-family: var(--serif); font-weight: 400; }
.projection-entry h2 em { color: #b5c6cf; }
.projection-entry__copy > p:not(.projection-eyebrow) { font-size: 1rem; line-height: 1.7; color: #bdbdb7; max-width: 380px; }
.projection-entry__copy > p.projection-entry__supports { font-size: .76rem; margin-block: 1.9rem 1.8rem; color: #a9b7bd; line-height: 1.65; }
.projection-link { display: inline-flex; gap: 2rem; justify-content: space-between; align-items: center; min-height: 50px; padding-block: .7rem; border-bottom: 1px solid var(--gold); font-size: .83rem; line-height: 1.5; }
.projection-link > span { color: var(--gold); font-size: 1.3rem; transition: transform .25s ease; }
.projection-link:hover > span { transform: translate(3px, -3px); }
.projection-entry--habitat { background: #eee7da; color: #352f27; }
.projection-entry--habitat .projection-entry__image { order: 2; background: #81644b; }
.projection-entry--habitat .projection-entry__image::after { background: linear-gradient(180deg, transparent 15%, #2d1c14b3); }
.projection-entry--habitat .projection-entry__copy { padding-left: var(--gutter); padding-right: clamp(2.5rem, 5vw, 6rem); }
.projection-entry--habitat .projection-eyebrow, .projection-entry--habitat .projection-entry__copy > p.projection-entry__supports { color: #6c5a43; }
.projection-entry--habitat .projection-entry__copy > p:not(.projection-eyebrow) { color: #61584c; }
.projection-entry--habitat h2 em { color: #78583a; }
.projection-entry--habitat .projection-link { border-color: #836746; }
.projection-entry--habitat .projection-link > span { color: #725634; }
.projection-entry--habitat a:focus-visible { outline-color: #725634; }
.projection-invitation { padding-block: clamp(5rem, 10vw, 11rem); }
.projection-invitation h2 { max-width: 1000px; font-size: clamp(2.7rem, 5.3vw, 6rem); line-height: 1.08; letter-spacing: -.05em; margin: 0; font-weight: 400; }
.projection-invitation h2 em { color: var(--gold); }
.projection-invitation > p:not(.projection-eyebrow) { margin: 2rem 0; max-width: 450px; color: #bdbdb7; line-height: 1.75; }

/* Case introduction and the visual promise. */
.case-back { display: inline-flex; align-items: center; min-height: 44px; gap: 1rem; color: #b6b6b0; font-size: .78rem; margin-bottom: 2.8rem; }
.case-back:hover { color: var(--paper); }
.case-intro { padding-top: clamp(1.5rem, 3vw, 3.5rem); }
.case-intro__bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-top: 2.6rem; }
.case-intro__bottom p { color: #bdbdb7; max-width: 495px; margin: 0; font-size: 1.05rem; line-height: 1.75; }
.case-concept { flex-shrink: 0; color: #aaa9a3; border-bottom: 1px solid #484948; padding-bottom: .5rem; font-size: .72rem; }
.case-cover { position: relative; min-height: 500px; height: min(76vw, 780px); margin: 0; overflow: hidden; isolation: isolate; background: #27333a; }
.case-cover::after { content: ''; position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, #061017b3 0%, #0610171a 72%); }
.case-cover img { display: block; height: 100%; width: 100%; object-fit: cover; object-position: 50% 48%; }
.case-cover figcaption { position: absolute; z-index: 1; left: var(--gutter); bottom: clamp(2.5rem, 6vw, 7rem); color: #fff; font-size: clamp(4rem, 9vw, 10rem); letter-spacing: -.065em; line-height: .95; }
.case-cover figcaption em { font-family: var(--serif); font-weight: 400; }
.case-page--habitat .case-cover::after { background: linear-gradient(90deg, #291c1680 0%, #291c1600 80%); }
.case-page--habitat .case-cover img { object-position: 50% 55%; }
.case-reading { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 6vw, 7rem); padding-block: clamp(5rem, 9vw, 10rem); }
.case-reading h2 { font-size: clamp(2.4rem, 3.7vw, 4.6rem); font-weight: 400; letter-spacing: -.045em; line-height: 1.12; margin: 0; }
.case-reading h2 em { color: var(--case-accent); }
.case-reading__body { align-self: center; max-width: 480px; }
.case-reading__body p { color: #bdbdb7; font-size: 1rem; line-height: 1.8; margin: 0 0 1.5rem; }
.case-reading__body p:last-child { margin-bottom: 0; }
.case-shift { background: var(--case-soft); color: #24323a; padding-block: clamp(3rem, 6vw, 7rem); }
.case-page--habitat .case-shift { color: #3e3e2b; }
.case-shift__title { font-size: .75rem; letter-spacing: .08em; font-weight: 400; margin: 0 0 3rem; }
.case-shift__pair { display: grid; grid-template-columns: 1fr .22fr 1fr; align-items: center; gap: 2rem; }
.case-shift__label { color: #596367; font-size: .75rem; line-height: 1.6; margin: 0 0 1.5rem; }
.case-shift__statement { font-size: clamp(2.5rem, 4.1vw, 4.9rem); font-weight: 400; letter-spacing: -.05em; line-height: 1.06; margin: 0; }
.case-shift__statement em { font-family: var(--serif); }
.case-shift__arrow { font-size: 2.8rem; color: #5e747f; justify-self: center; }
.case-page--habitat .case-shift__arrow { color: #82704d; }
.case-shift__reason { margin: 3rem 0 0 auto; max-width: 570px; font-size: 1rem; line-height: 1.75; color: #49585e; }
.case-page--habitat .case-shift__reason, .case-page--habitat .case-shift__label { color: #635d4b; }

/* Applications are illustrative compositions, not interactive controls. */
.case-applications { padding-top: clamp(5rem, 9vw, 10rem); }
.case-applications__heading { padding-bottom: clamp(3rem, 5vw, 5rem); }
.case-applications__heading h2 { font-size: clamp(2.7rem, 5.3vw, 6rem); line-height: 1.06; font-weight: 400; letter-spacing: -.05em; margin: 0; }
.case-applications__heading h2 em { color: var(--case-accent); }
.case-application { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 6vw, 7rem); align-items: center; padding-bottom: clamp(4rem, 8vw, 9rem); }
.case-application__art { min-width: 0; min-height: 560px; padding: clamp(1.5rem, 4vw, 4.5rem); display: grid; place-items: center; }
.case-application__art--steel { background: #99acb5; }
.case-application__art--paper { background: #d9dfdf; }
.case-application__art--clay { background: #c2ad95; }
.case-application__art--sage { background: #a0a387; }
.case-application__art--campaign { background: #ddd1bc; }
.case-application__copy { min-width: 0; max-width: 450px; }
.case-application__copy h3, .case-film__copy h3 { font-size: clamp(2.15rem, 3.1vw, 3.6rem); line-height: 1.1; letter-spacing: -.04em; font-weight: 400; margin: 0 0 2rem; }
.case-application__copy h3 em, .case-film__copy h3 em { color: var(--case-accent); }
.case-application__copy > p:not(.projection-eyebrow) { font-size: 1rem; line-height: 1.75; color: #bdbdb7; }
.case-application__copy > p.case-application__decision { border-top: 1px solid #303235; margin-top: 1.7rem; padding-top: 1.5rem; font-size: .87rem; color: #a7a9a6; }
.case-application--reverse { grid-template-columns: .85fr 1.15fr; }
.case-application--reverse .case-application__art { order: 2; }
.sample-kicker { display: block; font-size: .6rem; line-height: 1.65; letter-spacing: .12em; text-transform: uppercase; }
.sample-sitehead { display: flex; justify-content: space-between; align-items: center; gap: .7rem; border-bottom: 1px solid #314b5c33; padding-bottom: .7rem; font-size: .64rem; line-height: 1.5; }
.sample-sitehead > span:last-child { font-size: 1rem; }
.atelier-brochure { width: min(100%, 360px); min-height: 475px; padding: clamp(1.3rem, 3vw, 2.8rem); background: #153b51; color: #eef4f4; box-shadow: 18px 24px 35px #1c344233, inset 5px 0 #0f2a3c; transform: rotate(-3deg); }
.atelier-brochure__title { margin: 2.4rem 0 2rem; font-size: clamp(2rem, 3.6vw, 3.6rem); letter-spacing: -.045em; line-height: .98; }
.atelier-brochure__title strong { color: #b4d6df; font-weight: 400; }
.atelier-brochure__line { width: 55%; height: 1px; background: #b4d6df; margin-top: 3rem; }
.atelier-brochure__bottom { display: block; margin-top: 1rem; color: #b4d6df; font-size: .66rem; line-height: 1.5; }
.atelier-web { width: 100%; max-width: 520px; padding: clamp(1rem, 2vw, 2rem); color: #1b3a4b; background: #f4f7f7; box-shadow: 0 20px 40px #223b4a24; }
.atelier-web__title { font-size: clamp(1.5rem, 2.5vw, 2.6rem); letter-spacing: -.045em; line-height: 1.1; margin: 2rem 0; }
.atelier-web__title strong { font-weight: 400; color: #35647a; }
.atelier-web img { display: block; width: 100%; height: auto; aspect-ratio: 1.9; object-fit: cover; object-position: 50% 50%; }
.atelier-web__steps { display: flex; gap: .5rem; justify-content: space-between; margin-top: 1rem; font-size: .65rem; }
.case-film { padding-bottom: clamp(5rem, 8vw, 9rem); }
.case-film__frame { position: relative; isolation: isolate; overflow: hidden; width: 100%; min-width: 0; min-height: 460px; aspect-ratio: 2.15; color: #fff; background: #15232e; }
.case-film__frame::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #05131dd9, #05131d0d), linear-gradient(0deg, #05131dcc, transparent 45%); }
.case-film__frame img { position: absolute; z-index: -2; inset: 0; height: 100%; width: 100%; object-fit: cover; object-position: 50% 58%; }
.case-film__frame > p { margin: 0; padding: clamp(2rem, 5vw, 5rem); font-size: clamp(3rem, 6vw, 6.5rem); letter-spacing: -.045em; line-height: 1.02; }
.case-film__frame > p em { font-family: var(--serif); }
.case-film__sequence { position: absolute; bottom: 2rem; left: clamp(2rem, 5vw, 5rem); right: clamp(2rem, 5vw, 5rem); display: flex; gap: 1rem; border-top: 1px solid #ffffff66; padding-top: 1rem; }
.case-film__sequence > span { flex: 1; font-size: .72rem; line-height: 1.5; }
.case-film__copy { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 7rem); margin-top: 2.5rem; }
.case-film__copy h3 { margin: 0; }
.case-film__copy > p { max-width: 490px; color: #bdbdb7; font-size: 1rem; line-height: 1.8; align-self: center; margin: 0; }
.habitat-web { background: #f5f0e5; color: #4d5036; padding: clamp(1rem, 2vw, 1.7rem); width: 100%; max-width: 520px; box-shadow: 0 20px 40px #4934212e; }
.habitat-web .sample-sitehead { border-color: #4d503633; }
.habitat-web__visual { position: relative; overflow: hidden; margin-top: 1rem; min-height: 340px; }
.habitat-web__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #282b18c9, transparent 85%); }
.habitat-web__visual img { position: absolute; height: 100%; width: 100%; object-fit: cover; object-position: 60% 50%; }
.habitat-web__visual p { position: absolute; z-index: 1; bottom: 1.6rem; left: 1.4rem; right: 1rem; margin: 0; color: #fff9ed; font-size: clamp(1.6rem, 2.4vw, 2.7rem); line-height: 1.04; letter-spacing: -.045em; }
.habitat-web__visual p em { font-family: var(--serif); }
.habitat-web__steps { display: flex; gap: .6rem; justify-content: space-between; margin-top: 1rem; font-size: .61rem; line-height: 1.5; }
.habitat-guide { position: relative; overflow: hidden; width: min(100%, 370px); min-height: 485px; padding: clamp(1.4rem, 2.7vw, 2.6rem); color: #404a2e; background: #f0ead8; box-shadow: 14px 22px 35px #29351f33, inset 5px 0 #d4cebc; transform: rotate(3deg); }
.habitat-guide__title { position: relative; z-index: 1; font-size: clamp(1.7rem, 2.8vw, 3.1rem); font-weight: 400; line-height: 1.08; letter-spacing: -.045em; margin: 2.5rem 0; }
.habitat-guide__title em { font-family: var(--serif); }
.habitat-guide__window { width: 110px; height: 135px; background: #b8bea0; border-radius: 55px 55px 0 0; margin-left: auto; position: relative; overflow: hidden; }
.habitat-guide__window::before { content: ''; height: 72%; width: 1px; position: absolute; bottom: 0; left: 50%; background: #f0ead8; }
.habitat-guide__window::after { content: ''; height: 1px; width: 100%; position: absolute; top: 55%; left: 0; background: #f0ead8; }
.habitat-guide__bottom { margin: 1.8rem 0 0; font-size: .7rem; line-height: 1.65; }
.habitat-campaign { position: relative; isolation: isolate; width: min(100%, 365px); min-height: 510px; background: #303722; color: #fff9e8; overflow: hidden; box-shadow: 8px 18px 30px #473b2a38; }
.habitat-campaign::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, #303722fa 8%, #30372299 48%, #30372219 70%, #303722a6); }
.habitat-campaign img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 64% 50%; }
.habitat-campaign__copy { display: flex; flex-direction: column; min-height: inherit; padding: clamp(1.3rem, 2.7vw, 2.4rem); }
.habitat-campaign__copy > p { font-size: clamp(1.7rem, 2.8vw, 3rem); line-height: 1.04; letter-spacing: -.035em; margin: 2rem 0 4rem; }
.habitat-campaign__copy em { font-family: var(--serif); }
.habitat-campaign__signature { margin-top: auto; font-size: .7rem; line-height: 1.5; }
.case-conclusion { padding-block: clamp(4rem, 7vw, 8rem); background: var(--case-soft); color: #24323a; }
.case-conclusion .projection-eyebrow { color: #4b6370; }
.case-conclusion h2 { font-size: clamp(2.7rem, 5vw, 5.8rem); line-height: 1.08; font-weight: 400; letter-spacing: -.05em; margin: 0; }
.case-conclusion > p:not(.projection-eyebrow) { max-width: 570px; color: #4c5c65; margin: 2rem 0; line-height: 1.8; }
.case-conclusion .projection-link { border-color: #5b707b; }
.case-conclusion .projection-link > span { color: #466371; }
.case-page--habitat .case-conclusion { color: #41482f; }
.case-page--habitat .case-conclusion .projection-eyebrow, .case-page--habitat .case-conclusion > p:not(.projection-eyebrow) { color: #5c614c; }
.case-page--habitat .case-conclusion .projection-link { border-color: #747953; }
.case-page--habitat .case-conclusion .projection-link > span { color: #59603e; }
.case-next { padding-block: clamp(3rem, 5vw, 5rem); display: flex; justify-content: space-between; align-items: center; gap: 2.5rem; }
.case-next > a:first-child { display: block; }
.case-next > a:first-child > span { display: block; color: #acada6; font-size: .75rem; margin-bottom: 1rem; line-height: 1.6; }
.case-next strong { font-size: clamp(1.65rem, 2.9vw, 3.2rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.2; }
.case-next strong > span { color: var(--gold); display: inline-block; margin-left: .5rem; }
.case-next__contact { display: inline-flex; min-height: 44px; align-items: center; gap: 2rem; border-bottom: 1px solid var(--gold); font-size: .85rem; line-height: 1.5; padding-bottom: .5rem; }
.case-next__contact > span { color: var(--gold); }

@media (max-width: 1100px) {
 .projection-entry__image { min-height: 580px; }
 .projection-entry__copy { padding-left: 2.4rem; }
 .projection-entry--habitat .projection-entry__copy { padding-right: 2.4rem; }
 .case-application { gap: 2.8rem; }
 .case-application__art { min-height: 510px; padding: 2rem; }
 .atelier-brochure { min-height: 430px; }
 .habitat-guide { min-height: 450px; }
 .habitat-campaign { min-height: 475px; }
 .case-film__frame { min-height: 420px; }
}
@media (max-width: 900px) {
 .projection-entry { grid-template-columns: 1fr; }
 .projection-entry__image { min-height: 0; aspect-ratio: 1.45; }
 .projection-entry__copy, .projection-entry--habitat .projection-entry__copy { padding: 3rem var(--gutter) 4rem; }
 .projection-entry--habitat .projection-entry__image { order: 0; }
 .projection-entry__copy > p:not(.projection-eyebrow) { max-width: 520px; }
 .projection-entry h2 { font-size: clamp(2.5rem, 5.5vw, 3.8rem); }
 .case-reading { grid-template-columns: 1fr; gap: 2rem; }
 .case-reading__body { max-width: 650px; }
 .case-shift__pair { gap: 1rem; grid-template-columns: 1fr .15fr 1fr; }
 .case-shift__statement { font-size: clamp(2.2rem, 4.8vw, 3.2rem); }
 .case-application, .case-application--reverse { grid-template-columns: 1fr; gap: 2.5rem; }
 .case-application--reverse .case-application__art { order: 0; }
 .case-application__art { min-height: 550px; padding: 3rem; }
 .case-application__copy { max-width: 610px; }
 .case-application__copy h3, .case-film__copy h3 { font-size: clamp(2.3rem, 5vw, 3.3rem); }
 .atelier-brochure { min-height: 450px; padding: 2.5rem; }
 .atelier-brochure__title { font-size: 3rem; }
 .atelier-web__title { font-size: 2.5rem; }
 .habitat-web__visual p { font-size: 2.6rem; }
 .habitat-guide { min-height: 480px; padding: 2.5rem; }
 .habitat-guide__title { font-size: 2.5rem; }
 .habitat-campaign { min-height: 510px; }
 .habitat-campaign__copy { padding: 2.4rem; }
 .habitat-campaign__copy > p { font-size: 2.6rem; }
 .case-film__copy { grid-template-columns: 1fr; gap: 1.7rem; }
 .case-film__copy > p { max-width: 650px; }
 .case-next { flex-wrap: wrap; }
}
@media (max-width: 600px) {
 .projection-intro, .case-intro { padding-bottom: 3.8rem; }
 .projection-intro h1, .case-intro h1 { font-size: clamp(2.5rem, 10.5vw, 4rem); line-height: 1.08; letter-spacing: -.055em; }
 .projection-eyebrow { font-size: .68rem; margin-bottom: 1.35rem; }
 .projection-intro__lead { margin-top: 1.7rem; font-size: .95rem; }
 .projection-entry__image { aspect-ratio: 1.1; }
 .projection-entry__image-word { font-size: clamp(2.6rem, 10vw, 4rem); }
 .projection-entry h2 { font-size: clamp(2.1rem, 8.5vw, 3.2rem); }
 .projection-entry__copy > p:not(.projection-eyebrow) { font-size: .94rem; }
 .projection-link { gap: 1.2rem; font-size: .78rem; }
 .projection-invitation h2 { font-size: clamp(2.25rem, 9.2vw, 3.5rem); }
 .case-back { margin-bottom: 2rem; }
 .case-intro__bottom { flex-direction: column; align-items: flex-start; gap: 1.6rem; margin-top: 1.8rem; }
 .case-intro__bottom p { font-size: .95rem; }
 .case-cover { min-height: 420px; height: 135vw; max-height: 620px; }
 .case-cover img { object-position: 61% 50%; }
 .case-page--habitat .case-cover img { object-position: 60% 50%; }
 .case-cover::after { background: linear-gradient(0deg, #061017ba 0%, transparent 70%); }
 .case-page--habitat .case-cover::after { background: linear-gradient(0deg, #291c16ad 0%, transparent 75%); }
 .case-cover figcaption { font-size: clamp(3.3rem, 14vw, 5rem); bottom: 2rem; }
 .case-reading { padding-block: 4.3rem; }
 .case-reading h2 { font-size: clamp(2.1rem, 8.5vw, 3.2rem); }
 .case-reading__body p { font-size: .94rem; }
 .case-shift__title { margin-bottom: 2.3rem; }
 .case-shift__pair { grid-template-columns: 1fr; gap: 1.5rem; }
 .case-shift__arrow { justify-self: start; transform: rotate(90deg); font-size: 2rem; }
 .case-shift__statement { font-size: clamp(2.5rem, 10vw, 3.6rem); }
 .case-shift__label { margin-bottom: 1rem; }
 .case-shift__reason { margin-top: 2rem; font-size: .94rem; }
 .case-applications__heading h2, .case-conclusion h2 { font-size: clamp(2.25rem, 9.2vw, 3.5rem); }
 .case-application__art { min-height: 0; padding: 2rem 1.4rem; }
 .case-application__copy h3, .case-film__copy h3 { font-size: clamp(2.1rem, 8.5vw, 3.2rem); }
 .case-application__copy > p:not(.projection-eyebrow), .case-film__copy > p { font-size: .94rem; }
 .atelier-brochure { min-height: 380px; padding: 1.5rem; }
 .atelier-brochure__title { font-size: clamp(2.1rem, 8vw, 3rem); margin-top: 2rem; }
 .atelier-brochure__line { margin-top: 2rem; }
 .atelier-web { padding: 1rem; }
 .atelier-web__title { font-size: clamp(1.45rem, 5.7vw, 2.2rem); margin-block: 1.5rem; }
 .atelier-web__steps { font-size: .6rem; }
 .case-film__frame { min-height: 440px; aspect-ratio: auto; }
 .case-film__frame img { object-position: 65% 50%; }
 .case-film__frame > p { font-size: clamp(2.3rem, 9vw, 3.7rem); padding: 2rem 1.5rem; }
 .case-film__sequence { left: 1.5rem; right: 1.5rem; bottom: 1.5rem; flex-wrap: wrap; gap: .65rem; }
 .case-film__sequence > span { font-size: .63rem; min-width: 60px; }
 .habitat-web { padding: 1rem; }
 .habitat-web__visual { min-height: 290px; }
 .habitat-web__visual p { left: 1rem; right: .6rem; font-size: clamp(1.55rem, 6vw, 2.4rem); }
 .habitat-web__steps { flex-wrap: wrap; gap: .5rem 1rem; font-size: .6rem; }
 .habitat-guide { min-height: 400px; padding: 1.5rem; }
 .habitat-guide__title { font-size: clamp(1.7rem, 6.5vw, 2.45rem); margin-block: 2rem; }
 .habitat-guide__window { width: 85px; height: 105px; }
 .habitat-campaign { min-height: 440px; }
 .habitat-campaign__copy { padding: 1.5rem; }
 .habitat-campaign__copy > p { font-size: clamp(1.7rem, 6.5vw, 2.5rem); }
 .sample-kicker { font-size: .55rem; letter-spacing: .08em; }
 .sample-sitehead { font-size: .58rem; }
 .case-next { gap: 2.3rem; }
 .case-next strong { font-size: 1.8rem; }
}
@media (prefers-reduced-motion: reduce) {
 .projection-entry__image:hover img { transform: none; }
}
@media (forced-colors: active) {
 .projection-entry__image-word, .case-cover figcaption, .case-film__frame > p, .case-film__sequence, .habitat-web__visual p, .habitat-campaign__copy { background: Canvas; color: CanvasText; }
 .case-application__art [role='img'] { border: 1px solid CanvasText; box-shadow: none; }
}
