@font-face { font-family: Manrope; src: url('assets/fonts/manrope-cyrillic.woff2') format('woff2'); font-style: normal; font-weight: 200 800; font-display: swap; unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: Manrope; src: url('assets/fonts/manrope-latin.woff2') format('woff2'); font-style: normal; font-weight: 200 800; font-display: swap; unicode-range: U+0000-00FF,U+2000-206F; }
:root { --type-display: Manrope, Arial, sans-serif; --type-text: Manrope, Arial, sans-serif; --type-editorial: Manrope, Arial, sans-serif; --sans: Manrope, Arial, sans-serif; --serif: Manrope, Arial, sans-serif; }
body { font-family: var(--type-text); font-weight: 450; font-kerning: normal; -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
h1, h2, h3, .case-page h1, .case-page h2, .case-page h3, .case-journey-list strong { font-family: var(--type-text); }
h1 em, h2 em { font-family: inherit; font-style: normal; font-weight: inherit; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 120; backdrop-filter: none; transition: background .2s ease, height .2s ease; }
.site-header .wordmark-main, .site-footer .wordmark-main { font-family: "Bodoni Moda", Didot, serif; font-weight: 500; letter-spacing: .12em; text-shadow: none; }
.site-header .wordmark-sub, .site-footer .wordmark-sub { font-family: "Bodoni Moda", Didot, serif; font-weight: 500; letter-spacing: .33em; font-size: 15px; }
.site-header .wordmark-sub b, .site-footer .wordmark-sub b { width: 32px; }
.site-footer .wordmark-sub { font-size: 11px; }
.site-header .wordmark-main { font-size: 46px; }
.site-header .wordmark-main i { font-weight: 400; margin-inline: .03em; }
.desktop-nav a { font-size: 12px; font-weight: 600; letter-spacing: .01em; text-transform: none; }
.header-action { text-transform: none; letter-spacing: .01em; }
.site-header.is-scrolled { height: 78px; color: #e9f8fa; background: #071e28; border-bottom: 1px solid #bddde522; box-shadow: none; backdrop-filter: none; }
.site-header.is-scrolled .wordmark-main { font-size: 35px; }
.site-header.is-scrolled .wordmark-sub { font-size: 11px; }
.site-header.is-scrolled .desktop-nav a { text-shadow: none; }
.site-header.is-scrolled .header-action { color: #e9f8fa; border-color: #a8cfd5; }
.site-header.is-scrolled .menu-button { border-color: #a8cfd5; }
.menu-open .site-header, .menu-open .site-header.is-scrolled { background: #bddce0; color: #153f49; }
.case-page .site-header, .case-page .site-header.is-scrolled { backdrop-filter: none; }
.case-page:not(.aktiv-page).menu-open .site-header { background: #0a2029; color: #e9f8fa; }
.case-page:not(.aktiv-page).menu-open .site-header .wordmark { color: #e9f8fa; }
.aktiv-page.menu-open .site-header { background: #eef0e4; color: #202f28; }
.aktiv-page .site-header.is-scrolled .header-action { color: #202f28; border-color: #829082; }
.aktiv-page .site-header.is-scrolled .header-action:hover { color: #fff; }
.mobile-hero-eyebrow, .section-index, .portfolio-index, .case-eyebrow { font-weight: 650; letter-spacing: .12em; }
.mobile-hero-intro h2 { font-family: var(--type-text); font-weight: 600; letter-spacing: -.045em; line-height: 1.13; }
.portfolio-heading h2, :is(#about,#services,#approach,#contact) h2 { font-family: var(--type-text); font-size: clamp(40px, 4.6vw, 66px); font-weight: 550; line-height: 1.09; letter-spacing: -.052em; text-shadow: none; }
.portfolio-heading h2 em, :is(#about,#services,#approach,#contact) h2 em { font-family: inherit; font-style: normal; font-weight: inherit; font-size: 1em; letter-spacing: inherit; line-height: inherit; }
#about .value-card h3, #approach .steps h3 { font-family: var(--type-text); font-size: 22px; font-weight: 600; line-height: 1.3; letter-spacing: -.035em; }
#services .accordion summary b { font-family: var(--type-text); font-weight: 550; letter-spacing: -.035em; }
#contact .contact-form label > span { font-weight: 600; letter-spacing: .01em; }
.mobile-nav a { grid-template-columns: 1fr 24px; }
.mobile-nav span { font-family: var(--type-text); font-weight: 550; letter-spacing: -.035em; }
.case-page h1 { font-weight: 600; letter-spacing: -.06em; }
.case-page h2 { font-weight: 550; letter-spacing: -.045em; line-height: 1.13; }
.case-page h2 em { font-family: inherit; font-style: normal; font-size: 1em; font-weight: inherit; letter-spacing: inherit; }
.case-page h3 { font-weight: 600; letter-spacing: -.03em; }
.case-page p { font-weight: 450; }
.case-page .case-hero-lead { letter-spacing: -.015em; }
.js .reveal { transition-duration: .55s; transform: translateY(14px); }
.js .reveal.is-visible { transform: none; }
@media (min-width: 921px) and (max-width: 1120px) { .desktop-nav { gap: 18px; } .desktop-nav a { font-size: 11px; } }
@media (max-width: 700px) {
 .site-header .wordmark-main { font-size: 36px; }
 .site-header .wordmark-sub { font-size: 12px; }
 .site-header .wordmark-sub b { width: 24px; }
 .site-header.is-scrolled { height: 72px; }
 .site-header.is-scrolled .wordmark-main { font-size: 29px; }
 .site-header.is-scrolled .wordmark-sub { font-size: 10px; }
 .mobile-hero-intro h2 { font-size: clamp(34px,9vw,43px); }
 .portfolio-heading h2, :is(#about,#services,#approach,#contact) h2 { font-size: clamp(32px,8.8vw,46px); line-height: 1.12; letter-spacing: -.045em; }
 .section-note { font-size: 12px; line-height: 1.7; letter-spacing: 0; }
 .mobile-nav span { font-size: 29px; }
}
@media (prefers-reduced-motion: reduce) { .js .reveal { transform: none; transition: none; } }

.client-rail-item, .client-rail-item em { font-family: var(--type-text); }
