.editorial-case { background: #071e28; color: #e3f1f4; }
.editorial-case .site-header { height: 88px; color: #e6f5f8; background: #071e28; border-bottom: 1px solid #c6e1e51b; }
.editorial-case .site-header.is-scrolled { height: 76px; }
.editorial-case .site-header .wordmark-main { text-shadow: none; }
.editorial-case .menu-button { border-color: #9bc4d0; }
.editorial-case .menu-button i { background: #d2eef5; }
.editorial-case .mobile-menu { background: #0c2a36; color: #d4ecf2; }
.editorial-case .mobile-menu-heading, .editorial-case .mobile-menu-bottom > a { color: #b3d4df; }
.editorial-case .mobile-nav a { color: #e1f5fa; border-color: #b9dbe52e; }
.editorial-case .mobile-nav a:hover, .editorial-case .mobile-nav a:focus-visible { color: #123e49; }
.editorial-main { padding-top: 140px; }
.case-layout { display: grid; grid-template-columns: minmax(290px,.8fr) minmax(0,1.5fr); gap: clamp(40px,5vw,80px); max-width: 1440px; align-items: start; }
.case-summary { padding: 0 0 35px; }
.case-back { display: inline-flex; min-height: 40px; align-items: center; margin: 0 0 34px; color: #a4c7d1; font-size: 12px; }
.case-back:hover { color: #e0faff; }
.case-label { margin: 0 0 18px; color: #8fb8c5; font-size: 10px; line-height: 1.5; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; }
.case-summary h1 { margin: 0 0 27px; color: #e8f6f8; font-size: clamp(32px,3.2vw,46px); line-height: 1.12; font-weight: 650; letter-spacing: -.045em; }
.case-summary > p:not(.case-label) { color: #b5cdd5; font-size: 15px; line-height: 1.7; margin: 0 0 22px; }
.case-summary .case-task { padding-top: 24px; border-top: 1px solid #b9d9e32e; }
.case-task strong { display: block; margin-bottom: 8px; font-weight: 650; font-size: 12px; color: #deeff3; }
.case-topics { display: flex; flex-wrap: wrap; gap: 8px 13px; list-style: none; padding: 0; margin: 28px 0; }
.case-topics li { color: #96c3cf; font-size: 11px; }
.case-topics li::before { content: '#'; opacity: .6; }
.case-summary .case-visit { width: min(100%,300px); min-height: 56px; font-size: 12px; }
.case-summary .case-visit .wave-arrow { width: 48px; height: 48px; font-size: 24px; }
.case-gallery { display: flex; flex-direction: column; min-width: 0; gap: 22px; }
.case-gallery figure { margin: 0; }
.case-poster { position: relative; overflow: hidden; aspect-ratio: 1.06; border-radius: 14px; border: 1px solid #cae5eb2b; background: radial-gradient(ellipse at 70% 35%,#255563,#0b2632 70%); }
.case-poster-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.case-poster-neiromania .case-poster-art { inset: -3% -7% auto auto; width: 87%; height: 114%; object-fit: contain; }
.case-poster-name { position: absolute; z-index: 2; top: 26px; left: 27px; color: #e9faff; font-size: clamp(21px,2.5vw,34px); font-weight: 650; letter-spacing: -.04em; }
.case-poster-aktivstroy .case-poster-name { padding: 10px 15px; border-radius: 7px; color: #163d49; background: #e4f3f5ed; }
.case-poster-screen { position: absolute; z-index: 3; left: 9%; bottom: -7%; width: 82%; height: 51%; overflow: hidden; border: 1px solid #b0d3d93d; border-radius: 10px 10px 0 0; box-shadow: 0 15px 32px #00121c66; background: #081a21; }
.case-poster-screen > img { display: block; width: 100%; height: auto; }
.case-shot-bar { display: flex; align-items: center; gap: 11px; padding: 9px 14px; min-height: 32px; color: #97b9c2; background: #16323d; font-size: 9px; }
.case-shot-bar i { width: 4px; height: 4px; margin-right: 12px; border-radius: 50%; background: #8db1bd; box-shadow: 6px 0 #8db1bd,12px 0 #8db1bd; }
.case-note { padding: clamp(25px,3.4vw,48px); border-radius: 14px; background: #102e3a; }
.case-note h2 { color: #e1f3f8; font-size: clamp(29px,3vw,44px); line-height: 1.12; font-weight: 550; letter-spacing: -.04em; margin: 0 0 24px; }
.case-note > p:not(.case-label) { max-width: 680px; margin: 0; color: #b2cdd7; font-size: 16px; line-height: 1.75; }
.case-shot { overflow: hidden; border-radius: 12px; background: #102c37; border: 1px solid #c2dfe71b; }
.case-shot > img { width: 100%; height: auto; }
.case-shot figcaption { padding: 15px 20px; color: #96b7c3; font-size: 11px; line-height: 1.6; }
.case-note-pair { display: grid; grid-template-columns: 1fr 1.1fr; gap: 30px; }
.case-feature-list article + article { padding-top: 22px; margin-top: 22px; border-top: 1px solid #b0d7e329; }
.case-feature-list h3 { margin: 0 0 10px; color: #dbf0f7; font-size: 17px; font-weight: 600; }
.case-feature-list p { margin: 0; color: #a7c4cf; font-size: 13px; line-height: 1.75; }
.case-next { display: grid; grid-template-columns: 100px 1fr 30px; align-items: center; gap: 26px; margin-top: 30px; padding: 30px 0; border-block: 1px solid #bbdce52b; }
.case-next > img { width: 100px; aspect-ratio: 1; border-radius: 10px; object-fit: cover; background: #163a45; }
.case-next > span { display: flex; flex-direction: column; gap: 9px; }
.case-next small { color: #85b2c0; font-size: 10px; }
.case-next strong { color: #deeff5; font-size: 26px; font-weight: 600; letter-spacing: -.03em; }
.case-next span > span { color: #91b5c2; font-size: 12px; line-height: 1.6; }
.case-next > b { font-size: 28px; font-weight: 400; color: #b8edf2; transition: transform .25s; }
.case-next:hover > b { transform: translate(4px,-4px); }
.case-invitation { padding: 105px 0; }
.case-invitation > .shell { display: flex; align-items: center; justify-content: space-between; gap: 50px; max-width: 1440px; }
.case-invitation h2 { font-size: clamp(30px,4vw,56px); line-height: 1.12; letter-spacing: -.045em; margin: 0; }
.case-invitation h2 em { color: #8bb4c0; }
.case-invitation .wave-button { max-width: 340px; }
.editorial-case .site-footer { padding: 35px 0; background: #071e28; color: #8db0bd; border-top: 1px solid #b6d6e029; }
.editorial-case .site-footer .wordmark { color: #d4ecf3; }
.editorial-case a:focus-visible { outline: 2px solid #b8edf2; outline-offset: 5px; }
@media(min-width:1100px) and (min-height:850px) { .case-summary { position: sticky; top: 112px; } }
@media(max-width:1100px) { .case-layout { gap: 35px; grid-template-columns: minmax(265px,.8fr) minmax(0,1.2fr); } .case-summary > p:not(.case-label) { font-size: 14px; } .case-note-pair { grid-template-columns: 1fr; } }
@media(max-width:920px) { .case-layout { grid-template-columns: 1fr; } .case-summary { max-width: 670px; } .editorial-main { padding-top: 112px; } .case-back { margin-bottom: 24px; } .case-poster { aspect-ratio: 1.16; } .case-invitation > .shell { display: block; } .case-invitation .wave-button { margin-top: 30px; } }
@media(max-width:700px) {
 .editorial-case .site-header { height: 76px; }
 .editorial-case .site-header.is-scrolled { height: 70px; }
 .case-layout { gap: 14px; }
 .case-summary h1 { font-size: 36px; margin-bottom: 24px; }
 .case-summary > p:not(.case-label) { font-size: 15px; }
 .case-summary { padding-bottom: 18px; }
 .case-gallery { gap: 16px; }
 .case-poster-name { top: 19px; left: 20px; font-size: 21px; }
 .case-poster-aktivstroy .case-poster-name { font-size: 18px; padding: 8px 11px; }
 .case-poster-screen { border-radius: 7px 7px 0 0; }
 .case-shot-bar { font-size: 7px; min-height: 24px; padding: 6px 10px; }
 .case-note { padding: 27px 23px; border-radius: 10px; }
 .case-note h2 { font-size: 31px; }
 .case-note > p:not(.case-label) { font-size: 14px; }
 .case-shot figcaption { padding: 12px 15px; font-size: 10px; }
 .case-next { grid-template-columns: 65px 1fr 20px; gap: 17px; margin-top: 18px; padding: 25px 0; }
 .case-next > img { width: 65px; }
 .case-next strong { font-size: 22px; }
 .case-next span > span { font-size: 11px; }
 .case-invitation { padding: 65px 0; }
 .editorial-case .site-footer .footer-shell { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
}
@media(prefers-reduced-motion:reduce) { .case-next > b { transition: none; } }
/* On phones the cover follows the title, before the longer project story. */
@media(max-width:700px) {
 .case-layout { display: flex; flex-direction: column; gap: 0; }
 .case-summary, .case-gallery { display: contents; }
 .case-summary .case-back, .case-summary .case-label, .case-summary h1 { order: 0; }
 .case-summary .case-back { margin-bottom: 20px; }
 .case-summary .case-label { margin-bottom: 14px; }
 .case-gallery .case-poster { order: 1; width: 100%; margin-bottom: 26px; }
 .case-summary > p:not(.case-label) { order: 2; }
 .case-summary .case-task { width: 100%; }
 .case-summary .case-topics, .case-summary .case-visit { order: 3; }
 .case-summary .case-topics { margin-block: 4px 24px; }
 .case-summary .case-visit { margin-bottom: 36px; }
 .case-gallery > :not(.case-poster) { order: 4; width: 100%; margin: 0 0 16px; }
 .case-gallery .case-next { margin-top: 16px; }
}
