/* Shared editorial rhythm: quiet collection navigation, decisive primary actions. */
:root{--nav-height:64px}
.collection-heading{display:block;margin-bottom:48px;width:100%}
.collection-kicker{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}
.collection-kicker .eyebrow{margin:0}
.collection-kicker>a{font-size:15px;line-height:1.3;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;white-space:nowrap}
.collection-heading h2{margin:0;max-width:1000px}
.hero-action .textlink.action-primary,.cta .button.action-primary{background:#151218;color:#fff;border:1px solid #ffffff38;border-radius:8px;min-height:60px;padding:18px 36px;justify-content:center;text-align:center;font-size:19px;letter-spacing:0;width:280px;box-shadow:none}
.hero-action{width:280px;max-width:100%}.hero-action>span{display:none}
.hero-action .action-primary:hover,.cta .action-primary:hover{background:#2c2238;transform:none}
.cta .button.action-primary{border-color:transparent}
.technology-story{position:relative;isolation:isolate;background:#100624;align-items:flex-start}
.technology-art{position:absolute;inset:0;z-index:-2;overflow:hidden}
.technology-art video{width:100%;height:100%;object-fit:cover;opacity:.72;object-position:65% center}
.technology-story:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(130deg,#100624ee,#100624b8 65%,#10062470)}
.technology-story .story-copy{padding-top:72px}
.technology-story .technology-action{background:#fff;color:#20152c;border-color:#fff}
.ambient-toggle{position:absolute;top:15px;right:28px;padding:7px 0;min-height:40px;border:0;background:none;color:#fff;font-size:13px;text-decoration:underline;text-underline-offset:5px}
.footer.section,.home .footer{min-height:620px;padding-top:150px;padding-bottom:56px}
.footer .footer-art{background:#100624}
.footer .footer-film{opacity:1;object-position:50% 55%;transform:translate3d(0,var(--footer-drift,0px),0) scale(1.04)}
.footer:after{background:linear-gradient(90deg,#100624cc,#10062488 48%,#10062440),linear-gradient(0deg,#100624c0,transparent 65%)}
.footer-top{position:relative;z-index:1}.footer-bottom{position:relative;z-index:1;margin-top:85px}
.footer a{text-shadow:none}
/* Navigation is a flat continuation of the header, never a floating dialog. */
body.immersive .header{position:sticky;top:0;height:var(--nav-height);min-height:var(--nav-height);margin-bottom:calc(-1 * var(--nav-height));background:transparent;color:#fff;border:0;z-index:50;transition:background .2s,color .2s}
body.immersive .header.is-scrolled,body.immersive .header:has([aria-expanded="true"]){background:var(--paper);color:var(--ink);box-shadow:0 1px 0 #24005212}
body .mobile-nav,.home .mobile-nav{position:fixed!important;inset:var(--nav-height) 0 auto!important;max-height:calc(100dvh - var(--nav-height));padding:18px var(--page-gutter,5.1vw) 32px;margin:0;border-radius:0;box-shadow:0 18px 24px #10062412;background:var(--paper);color:var(--ink);overflow:auto;z-index:49}
.mobile-nav a{font-family:Sofia,Arial,sans-serif;font-style:normal;font-weight:400;font-size:26px;line-height:1.25;padding:13px 0;border-bottom:1px solid #20132e18}
body.menu-open .header{background:var(--paper);color:var(--ink)}
body.menu-open .site-scroll{overflow-y:hidden}
body.menu-open:not(.home){overflow:hidden}
/* Full width art precedes all interior copy. The overlay only protects navigation. */
.interior-visual{margin:0;position:relative;isolation:isolate;background:#1e0645;min-height:380px;height:clamp(420px,68svh,850px);overflow:hidden}
.interior-visual:after{content:'';position:absolute;inset:0 0 auto;height:170px;background:linear-gradient(#100624b3,transparent);pointer-events:none;z-index:1}
.interior-image{height:100%;width:100%;object-fit:cover;object-position:center}
.article-visual .interior-image{object-position:center}.people-visual .interior-image{object-position:center 45%}
.hero-client{position:absolute;top:100px;left:var(--page-gutter,5.1vw);z-index:2;background:#fffffff2;border-radius:2px;padding:20px 25px;max-width:250px;height:108px;display:flex;align-items:center;justify-content:center}
.hero-client img{max-width:180px;max-height:72px;object-fit:contain}
.case-visual .hero-client{top:auto;bottom:35px}
.case-visual .hero-client img[src$="brand-bauer.svg"],.case-visual .hero-client img[src$="brand-helsinki.svg"],.case-visual .hero-client img[src$="brand-turku.svg"]{filter:brightness(0)}
.immersive .page-intro{padding-top:64px;padding-bottom:64px;margin:0;min-height:0}
.immersive .page-intro h1{font-size:clamp(60px,7.5vw,112px);max-width:1100px;margin-bottom:24px;text-wrap:balance}
.immersive .page-intro .lead{font-size:23px;line-height:1.5;max-width:780px}
.immersive .back{display:inline-block;font-size:15px;margin:0 0 30px;text-decoration:underline;text-underline-offset:5px}
.immersive .page-intro .eyebrow{margin-bottom:20px}
.immersive .editorial,.source-editorial{max-width:950px;margin:0 auto;padding-top:0;padding-bottom:96px}
.editorial p,.case-story article p,.detail-copy p{font-size:19px;line-height:1.65}
.editorial h2,.case-story article h2{font-family:Sofia,Arial,sans-serif;font-style:normal;font-weight:400;font-size:34px;letter-spacing:-.025em;line-height:1.2;margin:44px 0 20px}
.editorial h3{font-size:25px;line-height:1.25;margin:32px 0 16px}
.editorial .article-lead{font-size:23px;line-height:1.5;border-bottom:1px solid #20132e22;padding-bottom:36px;margin-bottom:44px}
.editorial p{margin:0 0 22px}.editorial li{font-size:18px;line-height:1.6;margin:10px 0}.editorial ul,.editorial ol{padding-left:24px}
.editorial a{color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.editorial img{width:100%;height:auto;margin:32px 0}.editorial blockquote{margin:35px 0;padding:12px 0 12px 25px;border-left:2px solid #816bad}.editorial blockquote p{font-size:22px}.editorial blockquote footer{font-size:16px}
.table-scroll{overflow:auto;margin:30px 0}.table-scroll table{width:100%;min-width:500px;border-collapse:collapse;font-size:16px}.table-scroll td,.table-scroll th{padding:14px;text-align:left;vertical-align:top;border:1px solid #20132e33}
.source-case .source-image{display:flex;flex-direction:column;padding:0;aspect-ratio:1.25;background:#ece9e5}
.client-strip{background:#ece9e5;padding:16px 24px;height:80px;display:flex;align-items:center;flex:none;color:#20142e;font-size:19px}
.client-strip img{height:48px;max-width:170px;object-fit:contain;object-position:left center;mix-blend-mode:multiply}
.source-case .case-art{flex:1;min-height:0;width:100%;object-fit:cover;filter:none;box-shadow:none;border-radius:0;transform:none}
.source-case:hover .case-art{transform:scale(1.025)}
.insight-perspectives h2{margin-bottom:40px}
.method-section.section{margin-left:var(--page-gutter,5.1vw);margin-right:var(--page-gutter,5.1vw);padding-left:48px;padding-right:48px;border-radius:12px}
@media(max-width:1000px){:root{--nav-height:56px}.immersive .header{padding:0 27px}.header nav{display:none}.mobile-nav a{font-size:25px}.method-section.section{margin-left:27px;margin-right:27px}}
@media(max-width:760px){
 .collection-kicker{gap:15px;margin-bottom:25px}.collection-kicker>a{font-size:14px}.collection-heading{margin-bottom:34px}.collection-heading .eyebrow{font-size:10px;letter-spacing:.075em}
 .news-heading.collection-heading{display:block}.news-heading h2{margin:0}.collection-heading h2{font-size:54px}
 .hero-action,.hero-action .textlink.action-primary{width:100%;max-width:none}.hero-action .textlink.action-primary{min-height:60px;font-size:18px}
 .cta .button.action-primary{width:100%;justify-self:stretch;margin-top:26px;font-size:18px;min-height:58px}.cta.section{display:block}
 body .mobile-nav,.home .mobile-nav{padding:12px 27px 24px}.mobile-nav a{font-size:24px;line-height:1.25;padding:12px 0}
 .footer.section,.home .footer{min-height:670px;padding-top:140px;padding-bottom:max(50px,env(safe-area-inset-bottom))}.footer .footer-film{object-position:48% center;opacity:1}.footer:after{background:linear-gradient(90deg,#100624c9,#1006249c),linear-gradient(0deg,#100624ad,transparent)}.footer-bottom{margin-top:70px}
 .interior-visual{height:58svh;min-height:320px;max-height:580px}.hero-client{top:85px;left:27px;padding:14px 18px;height:80px;max-width:185px}.hero-client img{max-width:140px;max-height:52px}.case-visual .hero-client{bottom:25px}
 .immersive .page-intro{padding:38px 27px 44px}.immersive .page-intro h1{font-size:clamp(50px,14.5vw,78px);line-height:1.03;text-wrap:pretty}.immersive .page-intro .lead{font-size:19px;line-height:1.5}
 .immersive .editorial{padding:0 27px 65px}.editorial p,.case-story article p{font-size:17px;line-height:1.65}.editorial .article-lead{font-size:20px}.editorial h2,.case-story article h2{font-size:28px;line-height:1.2;margin-top:34px}.editorial blockquote{padding-left:18px}.editorial blockquote p{font-size:20px}.editorial li{font-size:17px}
 .client-strip{height:65px;padding:12px 18px}.client-strip img{height:40px;max-width:150px}.source-case .case-meta{margin-top:18px}.source-case h3{max-width:100%}
 .method-section.section{margin:0 27px;padding:40px 24px;border-radius:12px}.method-section h2{font-size:48px}.method-graph{margin:0}.technology-story .story-copy{padding-top:65px}
}
@media(prefers-reduced-motion:reduce){body.immersive .header,.source-case .case-art{transition:none}}
.collection-kicker .eyebrow{font-size:12px;letter-spacing:.07em}
.source-visual{display:flex;flex-direction:column}
.source-visual .interior-image{flex:1;min-height:0}
.source-visual .hero-client{position:relative;top:auto;left:auto;bottom:auto;order:2;margin:0;max-width:none;width:100%;height:84px;flex:none;justify-content:flex-start;padding:16px var(--page-gutter,5.1vw);background:#ece9e5}
.source-visual .hero-client img{max-height:50px}
.source-case .concept-art{position:relative;display:block;background:#100624}
.concept-art .case-art{height:100%;width:100%;object-fit:cover}
.concept-art .client-strip{position:absolute;z-index:2;top:0;left:0;right:0;height:100px;background:none;padding:24px 28px;mix-blend-mode:screen}
.concept-art .client-strip img{filter:grayscale(1) invert(1);mix-blend-mode:screen;max-width:175px;max-height:56px}
.concept-visual .interior-image{width:100%;height:100%;flex:none}
.concept-visual .hero-client{position:absolute;z-index:2;top:100px;left:var(--page-gutter,5.1vw);height:85px;width:auto;max-width:240px;padding:12px 0;bottom:auto;background:none;mix-blend-mode:screen}
.concept-visual .hero-client img{filter:grayscale(1) invert(1);mix-blend-mode:screen;max-width:200px;max-height:65px}
@media(max-width:760px){.news-heading.collection-heading{width:auto}.concept-visual .hero-client{top:85px;left:27px;max-width:175px}.concept-visual .hero-client img{max-width:155px;max-height:54px}.source-visual:not(.concept-visual) .hero-client{padding-left:27px}.concept-art .client-strip{padding:22px;height:85px}.concept-art .client-strip img{max-width:145px;max-height:45px}}
.has-caption:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#100624e6,transparent 85%);z-index:1}
.interior-caption{position:absolute;bottom:45px;left:var(--page-gutter,5.1vw);right:var(--page-gutter,5.1vw);z-index:2;color:#fff}
.interior-caption h1{font-size:clamp(70px,9vw,140px);line-height:1.01;max-width:1100px;text-wrap:balance}
.interior-caption .eyebrow{margin-bottom:22px;font-size:12px}
.has-caption+.page-intro{padding-bottom:35px;padding-top:40px}
@media(max-width:760px){.interior-caption{bottom:32px;left:27px;right:27px}.interior-caption h1{font-size:clamp(53px,16vw,78px)}.interior-caption .eyebrow{font-size:12px;margin-bottom:20px}.has-caption+.page-intro{padding-top:32px;padding-bottom:22px}}
/* The same solid action, inverted against dark and light surroundings. */
.hero-action .textlink.action-primary{background:#f6f2ed;color:#1b1227;border-color:transparent}
.hero-action .textlink.action-primary:hover{background:#fff;color:#1b1227}
.concept-art .client-strip{color:#fff}
.concept-art .client-strip img[src*="logo-"],.concept-visual .hero-client img[src*="logo-"]{filter:grayscale(1) brightness(0) invert(1);mix-blend-mode:normal}
@media(max-width:760px){.footer .footer-film{object-position:56% center}.footer:after{background:linear-gradient(90deg,#100624b8,#1006248a),linear-gradient(0deg,#10062499,transparent 65%)}}
.service-practice{padding-top:60px}.service-practice h2{max-width:960px;margin-bottom:48px}.service-practice .three-cols p{font-size:18px;line-height:1.6;margin-top:18px}.service-practice>.textlink{margin-top:32px}.related-work{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;padding-top:40px}.related-work h2{max-width:500px}
@media(max-width:760px){.service-practice{padding-top:40px}.service-practice h2{margin-bottom:30px}.service-practice .three-cols p{font-size:17px}.related-work{grid-template-columns:1fr;gap:28px}.related-work h2{font-size:49px}}
