/* Shared Rivercat materials: liquid backgrounds, restrained glass and light eyebrows. */
:root{--brand-accent:#8155bd;--glass-border:rgba(231,225,255,.2)}
.home-page .brand-accent{color:var(--brand-accent)}
body .label,body .hero-kicker,body .service-index,body .process article>span,body .service-no,body .contact-signature>span,body .thanks-next>span{font-family:Inter,sans-serif;font-weight:400}
.hero-bottom .button{flex-shrink:0;width:max-content;max-width:100%;white-space:nowrap}
.hero-bottom>p{min-width:0}
.hero-content,.hero-end{will-change:opacity,transform,filter}
/* Keep the gradient circle and the text in separate, stable spaces. */
.home-page .hero-bottom .button,.service-page .service-hero .button,.service-page .topic-hero .button{padding:15px 30px 15px 82px}
.service-page :is(.service-hero:not(.service-videoproduktion),.topic-hero,.company-hero,.contact-page,.thank-you){background-color:#10101b;background-image:linear-gradient(90deg,rgba(10,9,20,.94) 0%,rgba(10,9,20,.8) 38%,rgba(10,9,20,.2) 100%),url('/assets/optimized/51b96e6f292b90.webp');background-size:cover;background-position:center;position:relative;isolation:isolate}
.service-page :is(.topic-hero,.company-hero){padding-bottom:80px}
.service-page :is(.service-hero,.topic-hero,.company-hero) .breadcrumbs{color:#d4cedf}
.service-page .service-hero:not(.service-videoproduktion) .hero-art{padding:14px;background:rgba(208,215,255,.055);border:1px solid var(--glass-border);border-radius:22px;box-shadow:0 24px 70px #05061640;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.service-page .hero-art .project-hero img{border-radius:12px}
.service-page .service-hero:not(.service-videoproduktion){padding-bottom:65px}
/* Liquid remains visible around the glass, as in the brand reference. */
body .contact-section,body .service-contact{background:#0b0b17 url('/assets/optimized/51b96e6f292b90.webp') center/cover;padding:100px max(5vw,24px);display:flex;align-items:center;justify-content:center;isolation:isolate}
body .contact-section>img{display:none}
body .contact-section::before,body .service-contact::before{content:'';position:absolute;inset:0;background:rgba(6,7,17,.23);z-index:-1}
body .contact-inner,.service-contact-glass{width:min(100%,1020px);padding:70px 65px;border:1px solid var(--glass-border);border-radius:30px;background:linear-gradient(120deg,rgba(17,22,49,.78),rgba(25,14,42,.7) 60%,rgba(7,37,47,.72));box-shadow:inset 0 1px 0 #ffffff14,0 24px 80px #05071533;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);text-align:center;color:#fff}
body .contact-inner h2,body .service-contact h2{font-size:clamp(38px,4.4vw,68px);line-height:1.07;letter-spacing:-.05em;margin:25px 0}
body .contact-inner .contact-copy,body .service-contact p:not(.label){max-width:690px;margin:0 auto 32px;color:#d6d0e2;font-size:18px;line-height:1.75}
body .contact-inner .email{display:inline-flex;align-items:center;justify-content:center;min-height:60px;border:1px solid #ffffff50;border-radius:50px;padding:16px 25px;margin:0 0 0 15px;font-size:15px}
.service-contact-glass>.button{margin-top:0}
/* The contact form shares the same glass material instead of a separate cream card. */
.service-page .contact-page{background-position:60% center;padding-bottom:95px}
.contact-grid{gap:5vw;align-items:center}
.contact-heading{padding:0}
.contact-form-panel{background:linear-gradient(135deg,rgba(17,24,48,.82),rgba(25,16,40,.76));color:#fff;border:1px solid var(--glass-border);border-radius:26px;box-shadow:inset 0 1px 0 #ffffff17,0 30px 80px #08061740;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);padding:38px}
.contact-form-panel>.label{color:#c7afe9}.contact-form-panel h2{font-size:38px}
.contact-heading>p:not(.label),.contact-next li,.form-intro{color:#d7d0e2}
.form-fields label,.message-label,.interest-options legend{color:#eeeaf5}
.form-fields input,.message-label textarea{color:#fff;background:rgba(225,225,255,.055);border:1px solid #d6cceb45;border-radius:10px;transition:border-color .2s,background .2s}
.form-fields input::placeholder,.message-label textarea::placeholder{color:#b8afc9}
.form-fields input:focus,.message-label textarea:focus{background:#ffffff0f;border-color:#b795ed;outline:2px solid #b795ed;outline-offset:2px}
.form-fields label>span,.message-label>span{color:#cfb2fa}
.form-fields small,.interest-options legend>span,.form-privacy,.form-required{color:#bfb4cc}
.interest-options label>span{border-color:#d6cceb45;background:#ffffff04;color:#e6dfef}
.interest-options input:checked+span{background:#c5a6ef;border-color:#d9c3f7;color:#28183e}
.interest-options input:hover+span{border-color:#c4a4e9}
.contact-form-panel #form-status{color:#ffc4cd}.contact-next{margin-top:42px}.contact-signature{margin-top:36px}
@media(max-width:1100px){.hero-bottom{flex-wrap:wrap;gap:24px}.hero-bottom .button{margin-top:0}.contact-form-panel{padding:28px}.contact-grid{gap:35px}.service-page .contact-heading h1{font-size:clamp(48px,6vw,70px)}body .contact-inner,.service-contact-glass{padding:55px 35px}}
@media(max-width:760px){
 .home-page .hero-bottom .button,.service-page .service-hero .button,.service-page .topic-hero .button{padding:14px 24px 14px 73px;font-size:15px}
 .home-page .hero-bottom .button{margin-top:25px}
 .service-page :is(.service-hero:not(.service-videoproduktion),.topic-hero,.company-hero,.contact-page,.thank-you){background-image:linear-gradient(90deg,#0a0914eb,#0a0914a6),url('/assets/optimized/51b96e6f292b90.webp');background-position:60% center}
 .service-page :is(.topic-hero,.company-hero){padding-bottom:50px}
 body .contact-section,body .service-contact{padding:65px 20px;min-height:0}
 body .contact-inner,.service-contact-glass{padding:40px 22px;border-radius:22px}
 body .contact-inner h2,body .service-contact h2{font-size:clamp(32px,8.5vw,48px)}
 body .contact-inner .contact-copy,body .service-contact p:not(.label){font-size:16px}
 body .contact-inner .email{margin:18px 0 0;padding:12px 18px;min-height:50px}
 .contact-inner .button,.service-contact-glass .button{font-size:14px;max-width:100%}
 .contact-form-panel{padding:28px 20px;border-radius:22px}.contact-grid{gap:40px}.contact-form-panel h2{font-size:32px}
 .service-page .contact-heading h1{font-size:clamp(48px,12vw,70px)}
}
@media(prefers-reduced-motion:reduce){.hero-content,.hero-end{filter:none!important;will-change:auto}}
body .contact-section::after{display:none}
.service-page .hero-art :is(.search-art,.ai-art,.ads-art){background:rgba(16,15,30,.3);box-shadow:none;border-radius:12px}
/* Navigation: visual wayfinding, tactile links and a short entrance. */
.mega.visual-mega{grid-template-columns:.8fr 1.4fr;gap:35px;padding:26px;background:linear-gradient(135deg,#171725f7,#15101df7);border-color:#c1acd633;box-shadow:0 24px 80px #0006;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}
.mega:not([hidden]){animation:nav-reveal .25s ease both;transform-origin:top center}
@keyframes nav-reveal{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}
.desktop-nav>a,.desktop-nav>button{position:relative;transition:color .2s}
.desktop-nav>a::after,.desktop-nav>button::after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:1px;background:#c7aff0;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.desktop-nav>a:hover::after,.desktop-nav>button:hover::after,.desktop-nav>button[aria-expanded=true]::after,.desktop-nav>a:focus-visible::after{transform:scaleX(1)}
.nav-feature{position:relative;display:block;overflow:hidden;border-radius:15px;min-height:300px;color:white}
.nav-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .6s;filter:brightness(.57)}
.nav-feature>div{position:relative;padding:28px;height:100%;display:flex;flex-direction:column;justify-content:end;min-height:300px}
.nav-feature .label{font-size:10px;color:#d7c3ed}.nav-feature h2{font-size:40px;margin:12px 0 20px}.nav-feature-link{font-size:13px}.nav-feature:hover>img{transform:scale(1.045);filter:brightness(.7)}
.illustrated-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 15px}
.mega .illustrated-links>a{display:flex;align-items:center;gap:13px;border:1px solid transparent;border-radius:12px;padding:12px;font-size:16px;transition:background .25s,transform .25s,border-color .25s}
.illustrated-links>a>img{width:68px;height:62px;object-fit:cover;border-radius:8px;transition:transform .35s}.nav-item-copy{display:flex;flex-direction:column;gap:6px;flex:1}.nav-item-copy small{font-size:10px;font-weight:400;color:#c2adcf}.nav-item-arrow{margin:0!important;transition:transform .25s}
.mega .mega-links>a:hover,.mega .mega-links>a:focus-visible{background:#ffffff09;border-color:#c5afe62b;transform:translateX(3px)}
.mega .mega-links>a:hover .nav-item-arrow{transform:translate(2px,-2px)}
.knowledge-feature{position:relative;isolation:isolate;overflow:hidden;padding:25px;border-radius:15px}.knowledge-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;z-index:-1}.knowledge-feature h2{font-size:36px}.mega .mega-links>a{transition:background .25s,transform .25s}
.service-hub .hub-project{border-radius:18px;object-fit:cover;height:clamp(150px,21vw,330px)}
/* Recruitment: an introduction, concrete work and data-driven openings. */
.career-build-art{position:relative;overflow:hidden;border-radius:24px;border:1px solid #ffffff25;background:#171025;min-height:460px}.career-build-art>img{width:100%;height:460px;object-fit:cover;display:block}.career-build-art>div{position:absolute;left:0;right:0;bottom:0;padding:35px;background:linear-gradient(transparent,#0e0b1bed)}.career-build-art p{font-size:clamp(28px,3vw,44px);line-height:1.15;margin-top:15px;font-weight:600;letter-spacing:-.035em}
.careers-hero .company-intro{font-size:18px;line-height:1.75}.career-work{background:#ede8f2}.career-work h2,.career-openings h2,.career-ai h2{font-size:clamp(36px,4.8vw,68px);line-height:1.08;margin:25px 0;letter-spacing:-.045em}.career-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.career-work-grid article{border-top:1px solid #cbbdd7;padding-top:25px}.career-work-grid span{font-size:11px;color:#76578b;letter-spacing:.1em}.career-work-grid h3{font-size:32px;margin:20px 0}.career-work-grid p{font-size:17px;color:#64596e}
.career-openings-head{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;margin-bottom:50px}.career-openings-head>p{font-size:19px;line-height:1.8;color:#665b70}.career-role{border:1px solid #d8cce3;border-radius:25px;padding:50px;background:#fff}.career-role-top{max-width:850px}.career-role-top>.label{color:#8055a5}.career-role-top h3{font-size:clamp(30px,3.6vw,50px);font-weight:600;line-height:1.1;margin:24px 0}.career-role p{font-size:17px;color:#695d73;line-height:1.8}.career-role-columns{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin:35px 0}.career-role h4{font-size:19px;font-weight:600;margin:0 0 20px}.career-role ul{padding-left:20px;margin:0}.career-role li{padding-left:7px;font-size:16px;color:#665a70;line-height:1.8;margin-bottom:14px}.career-role li::marker{color:#9162bd}.career-role-bottom{border-top:1px solid #e7dfec;padding-top:25px;display:flex;align-items:center;gap:40px}.career-role-bottom p{flex:1}.career-role-bottom .button{flex-shrink:0}.career-role details{margin-top:35px;border-top:1px solid #e7dfec;padding-top:25px}.career-role summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:17px}.career-role details p{margin-top:20px}.career-role+.career-role{margin-top:30px}
.career-ai{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#171120;color:white}.career-ai p:not(.label){font-size:18px;line-height:1.85;color:#d2c7db;margin-bottom:25px}.career-ai h2{margin-top:25px}.career-apply .button{padding-left:82px}
@media(max-width:1050px){.mega.visual-mega{grid-template-columns:.7fr 1.3fr;gap:18px;padding:20px}.illustrated-links{gap:5px}.illustrated-links>a>img{width:45px;height:50px}.mega .illustrated-links>a{font-size:14px;gap:10px;padding:8px}.nav-feature>div{padding:22px}.nav-feature h2{font-size:32px}.career-role{padding:32px}.career-role-columns{gap:30px}.career-build-art,.career-build-art>img{height:390px;min-height:390px}}
@media(max-width:760px){.career-build-art,.career-build-art>img{height:330px;min-height:330px}.career-build-art>div{padding:25px}.career-work-grid,.career-openings-head,.career-role-columns,.career-ai{grid-template-columns:1fr;gap:25px}.career-role{padding:28px 20px;border-radius:18px}.career-role-bottom{display:block}.career-role-bottom .button{margin-top:24px}.career-role p,.career-role li,.career-ai p:not(.label){font-size:16px}.career-work-grid h3{font-size:29px}.career-apply .button{padding-left:73px}.service-hub .hub-project{height:150px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){.mega:not([hidden]){animation:none}.desktop-nav>a::after,.desktop-nav>button::after,.mega a,.nav-feature>img,.nav-item-arrow{transition:none!important}}
/* Editorial menus: generous type, useful descriptions, no per-service thumbnails. */
.mega.editorial-mega{grid-template-columns:.75fr 1.45fr;gap:50px;padding:38px;background:#15131e}
.nav-intro{padding:8px 20px 8px 5px;border-right:1px solid #ffffff16;display:flex;flex-direction:column;align-items:flex-start}
.nav-intro>.label{color:#a99ab9;font-size:10px}.nav-intro h2{font-size:clamp(30px,3vw,45px);line-height:1.08;margin:23px 0 19px;color:#fff}.nav-intro p{font-size:14px;line-height:1.8;color:#a89caf;max-width:270px}.nav-intro .nav-overview{margin-top:auto;padding-top:28px;font-size:13px;color:#e0caef;display:flex;gap:30px;align-items:center}
.service-nav-links{display:grid;grid-template-columns:1fr 1fr;column-gap:35px;row-gap:0}
.mega .service-nav-links>a{position:relative;display:flex;align-items:center;gap:15px;padding:25px 0;border-bottom:1px solid #ffffff17;border-radius:0;transform:none;color:#f5effa}
.service-nav-links .nav-index{font-size:10px;color:#97879f;align-self:flex-start;padding-top:7px}.service-nav-links .nav-item-copy{gap:9px}.service-nav-links strong{font-weight:400;font-size:23px;letter-spacing:-.025em}.service-nav-links .nav-item-copy>span{font-size:12px;color:#ad9eb8;line-height:1.5}.service-nav-links .nav-item-arrow{font-size:22px;color:#a790bc;transition:transform .25s,color .25s}.mega .service-nav-links>a:hover,.mega .service-nav-links>a:focus-visible{background:transparent;border-color:#bfa0d9;transform:none}.service-nav-links>a:hover strong{color:#c8a9e4}.service-nav-links>a:hover .nav-item-arrow{color:#e6cdfa;transform:translate(3px,-3px)}
.company-menu .mega-links{gap:0 32px}.company-menu .mega-links>a{font-size:18px;padding:25px 3px;line-height:1.5;align-items:center}.mega.company-menu .mega-links>a:hover{background:transparent;border-color:#c6a7df;transform:none;color:#fff}.company-menu .mega-links>a>span{transition:transform .25s}.company-menu .mega-links>a:hover>span{transform:translate(3px,-3px)}
.service-hub .hub-project{height:auto;aspect-ratio:1.6;object-fit:contain;background:#f7f7f7;border-radius:12px}.career-build-art>img{object-fit:cover}.career-build-art>div{background:linear-gradient(transparent,#0e0b1b 95%)}
@media(max-width:1050px){.mega.editorial-mega{gap:25px;padding:25px;grid-template-columns:.65fr 1.5fr}.service-nav-links{column-gap:20px}.service-nav-links strong{font-size:19px}.service-nav-links .nav-index{display:none}.service-nav-links .nav-item-copy>span{font-size:11px}.nav-intro h2{font-size:30px}.nav-intro p{font-size:13px}.company-menu .mega-links>a{font-size:16px}}
@media(max-width:760px){.service-hub .hub-project{height:auto;aspect-ratio:1.3}}
/* Homepage headline experiment: regular Inter, while H2 keeps Display 600. */
.home-page .hero-content h1,.home-page .hero-content h1 em{font-family:Inter,Arial,sans-serif;font-weight:400}
/* New film: retain its colour and keep both headline stages equally strong. */
.home-page .hero-content h1,.home-page .hero-content h1 em,.home-page .hero-end>p,.home-page .hero-end em{font-family:'Inter Display',Inter,sans-serif;font-weight:600}
.home-page .shade{background:linear-gradient(90deg,#08080d70, #08080d26 60%,#08080d08),linear-gradient(0deg,#08080d70,transparent 30%,#08080d30)}
/* The overview link shares the light card surface and must use dark text. */
.related-topics .parent-card{color:#241a2d;background:#e3d9ec;border-color:#c7b6d5;border-radius:12px;padding:30px 24px}
.related-topics .parent-card:hover,.related-topics .parent-card:focus-visible{background:#d9c9e7;color:#241a2d}
.related-topics .parent-card>.label{color:#705080}.related-topics .parent-card>p{color:#605369}.related-topics .parent-card h3,.related-topics .parent-card .card-link{color:#241a2d}
/* Editorial covers: contained artwork in a measured gallery, never edge-to-edge cropping. */
.service-page .case-cover,.service-page .article-cover{margin:0;padding:45px max(5vw,22px) 65px;background:#eeeaf2;display:flex;align-items:center;justify-content:center}
.service-page .case-cover>img,.service-page .article-cover>img{display:block;width:auto;height:auto;max-width:100%;max-height:650px;aspect-ratio:auto;object-fit:contain;border-radius:14px;box-shadow:0 18px 50px #27113714}
.service-page .case-cover>img{max-width:min(100%,1100px)}.service-page .article-cover>img{max-width:min(100%,1000px);max-height:570px}
@media(max-width:760px){.service-page .case-cover,.service-page .article-cover{padding:28px 20px 38px}.service-page .case-cover>img,.service-page .article-cover>img{max-height:500px;border-radius:9px}.related-topics .parent-card{padding:28px}}
/* One dark-purple text accent throughout the light homepage sections. */
.home-page :is(.services,.cases,.review-wall,.about,.home-knowledge,.home-depth){--section-accent:var(--brand-accent)}
.home-page :is(.services,.cases,.review-wall,.about,.home-knowledge,.home-depth) :is(h2 em,h3 em,.brand-accent,.intent-copy>.label,.library-card>.label){color:var(--section-accent)}

/* Text-led service cards and project portfolios. */
.service-hub article{padding:30px;border:1px solid #d5cadd;border-radius:16px}
.service-hub .service-no{position:static;display:inline-block;background:transparent;padding:0;font-size:14px;color:#785793}
.service-hub h2{margin:20px 0 18px}
.service-hub article p{font-size:16px}
.service-hub .hub-topics a{font-size:14px}
.home-portfolio,.website-cases{background:#f7f4f9;color:#21162c}
.home-portfolio .section-head,.website-cases .section-head{margin-bottom:48px}
.home-portfolio>.button{margin-top:48px}
.case-text-card{border:1px solid #cfbfdc;border-radius:16px;padding:32px;background:#eee6f4;justify-content:center;min-height:300px}
.case-text-card h3{max-width:650px}
@media(max-width:760px){.service-hub{grid-template-columns:1fr}.service-hub article{padding:25px}.service-hub h2{font-size:28px}.service-hub .service-no{font-size:14px}.service-hub .hub-topics a{font-size:14px}.case-text-card{padding:26px;min-height:260px}.home-portfolio .section-head,.website-cases .section-head{margin-bottom:32px}}

.library-image.image-contain,.case-cover.image-contain{background:#f4f4f4}.image-contain>img{object-fit:contain}.case-cover.image-contain>img{aspect-ratio:4/3;max-height:850px}

.cases-library .library-image.image-contain,.library-image.image-contain{aspect-ratio:4/3}.library-image.image-contain>img{width:100%;height:100%;object-fit:contain}

/* Case introductions pair the story with a bounded project presentation. */
.service-page .case-introduction{padding-bottom:48px}
.case-introduction .breadcrumbs{margin-bottom:42px}
.case-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:5vw;align-items:center}
.case-intro-copy{min-width:0}.case-intro-copy>.label{color:#c7afe4;line-height:1.7}
.service-page .case-introduction h1{font-size:clamp(34px,4.2vw,62px);line-height:1.08;letter-spacing:-.045em;margin:24px 0;overflow-wrap:break-word;text-wrap:balance}
.case-introduction .service-intro{font-size:18px;line-height:1.75;color:#d7cde2;max-width:620px;margin:0}
.case-introduction .case-intro-link{display:inline-flex;margin-top:30px;font-size:15px;color:#fff;border-bottom:1px solid #b494d166;padding-bottom:10px;gap:28px}
.case-intro-project{min-width:0;margin:0;padding:12px;border-radius:22px;border:1px solid #ffffff2c;background:linear-gradient(135deg,#ffffff12,#ffffff05);box-shadow:0 22px 65px #08041040}
.case-intro-image{aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#f4f4f4}
.case-intro-image img{display:block;width:100%;height:100%;object-fit:cover}.case-intro-image.is-website img{object-fit:contain}
.case-intro-project figcaption{display:flex;justify-content:space-between;gap:20px;padding:17px 6px 7px;color:#e3dbea;font-size:14px;line-height:1.5}.case-intro-project figcaption>span:last-child{color:#b9a4cf;text-align:right}
.case-intro-services{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:24px;border-top:1px solid #ffffff26}.case-intro-services>span{font-size:14px;line-height:1.4;color:#d0c1dc;padding:8px 14px;border:1px solid #ffffff26;border-radius:30px}.case-intro-text-only{grid-template-columns:1fr}
@media(max-width:900px){.case-intro-grid{grid-template-columns:1fr;gap:35px}.service-page .case-introduction h1{max-width:720px;font-size:clamp(34px,6vw,54px)}.case-intro-project{width:100%;max-width:620px}.case-introduction .breadcrumbs{margin-bottom:30px}.case-intro-image{max-height:400px}.case-introduction .service-intro{font-size:17px}.case-intro-services{margin-top:30px}.case-intro-project figcaption{font-size:13px}}
@media(max-width:480px){.case-intro-project{padding:8px;border-radius:17px}.case-intro-image{border-radius:10px}.case-intro-project figcaption{gap:12px;padding:13px 4px 6px}.case-intro-services{gap:8px}.case-intro-services>span{font-size:13px;padding:7px 11px}}

/* Stable vector icons, independent of the device's symbol/emoji font. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;pointer-events:none}
.button>.ui-icon,.nav-cta>.ui-icon{display:none}
.button::after,.nav-cta::after{content:'';height:24px;width:24px;left:22px;transform:translateY(-50%);background:#fff;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.mobile-top img{display:block;width:140px;height:auto;object-fit:contain}
#close-menu{display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px}
#mobile-menu nav a{display:flex;align-items:center;gap:14px}
#mobile-menu nav a small{flex-shrink:0;margin-right:0}
#mobile-menu nav a>.ui-icon{margin-left:auto;width:22px;height:22px}
@media(max-width:760px){
 #mobile-menu{height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:max(20px,env(safe-area-inset-top)) 22px max(28px,env(safe-area-inset-bottom));border:0}
 #mobile-menu nav{margin-top:36px}
 #mobile-menu nav a{padding:20px 0;font-size:clamp(23px,6.5vw,30px);line-height:1.25}
 .mobile-mail{margin-top:28px;min-height:44px;padding:10px 0}
 #menu-toggle{min-width:44px;min-height:44px}
 .button::after{left:20px;width:22px;height:22px}
 .nav-cta::after{left:13px;width:20px;height:20px}
 .home-page .film,.home-page.still .film{height:auto}
 .home-page .stage,.home-page.still .stage{position:relative;height:auto;min-height:100svh;padding:138px 22px 30px;display:flex;flex-direction:column;gap:30px}
 .home-page #film-frames,.home-page .hero-end,.home-page .timeline,.home-page #motion{display:none}
 .home-page .hero-top,.home-page .hero-content,.home-page .film-bottom{position:relative;inset:auto}
 .home-page .hero-top{font-size:9px;letter-spacing:.1em}
 .home-page .hero-content{margin:auto 0;will-change:auto;filter:none!important;transform:none!important}
 .home-page .hero-content h1{font-size:clamp(34px,9.2vw,64px);line-height:1.08;letter-spacing:-.045em}
 .home-page .hero-kicker{font-size:10px;letter-spacing:.12em;margin-bottom:22px}
 .home-page .hero-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:24px;margin-top:28px}
 .home-page .hero-bottom p{font-size:16px}.home-page .hero-bottom p br{display:none}
 .home-page .hero-bottom .button{margin-top:0}
 .home-page .film-bottom{margin-top:10px}
 .home-page .film-poster{opacity:.9!important}
 h1,h2,h3,.service-page h1{overflow-wrap:anywhere;hyphens:auto}
 .service-hero-grid>*,.topic-hero-grid>*,.contact-grid>*,.chatgpt-context li>*,.footer-information>*{min-width:0}
 .service-page .chatgpt-hero h1{font-size:clamp(34px,9.2vw,56px)}
 .service-page .contact-heading h1{font-size:clamp(38px,11vw,60px)}
 .service-page .service-hero h1,.service-page .topic-hero h1{max-width:100%}
 .breadcrumbs ol{flex-wrap:wrap;row-gap:8px}.breadcrumbs li{min-width:0;overflow-wrap:anywhere}
 .text-link{max-width:100%;gap:16px}.text-link>span{flex-shrink:0}
 .button{max-width:100%;white-space:normal;min-width:0;overflow-wrap:break-word}
 #contact-form .button{min-width:0;width:100%;padding-right:18px}
 .form-fields input,.message-label textarea{font-size:16px}
 .contact-inner .button,.service-contact-glass .button{padding-right:18px}
}
@media(max-width:760px){.method-controls button{padding-right:10px}}
.nav-cta::after{left:14px;width:20px;height:20px}
.nav-chevron{flex-shrink:0;margin-right:4px}
.method-controls button{padding-right:10px}
@media(max-width:1100px){.client-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;text-align:center;gap:30px 20px}.client-list img,.client-list img.no1-logo{max-width:100%}}
@media(max-width:760px){.nav-cta::after{left:11px}.client-list{gap:30px 15px}}

/* Compact, touch-friendly navigation with the same hierarchy as desktop. */
@media(max-width:760px){
 #mobile-menu .mobile-group{border-bottom:1px solid #ffffff25}
 #mobile-menu .mobile-group summary{display:flex;align-items:center;gap:14px;padding:20px 0;min-height:64px;font-size:clamp(23px,6.5vw,30px);line-height:1.25;letter-spacing:-.04em;cursor:pointer;list-style:none}
 #mobile-menu .mobile-group summary::-webkit-details-marker{display:none}
 #mobile-menu .mobile-group summary small{margin:0}
 #mobile-menu .mobile-group summary .nav-chevron{margin-left:auto;flex-shrink:0;transition:transform .2s}
 #mobile-menu .mobile-group[open] summary .nav-chevron{transform:rotate(225deg)}
 #mobile-menu .mobile-subnav{padding:0 0 18px 28px;display:grid;gap:2px}
 #mobile-menu .mobile-subnav a{font-size:17px;line-height:1.4;letter-spacing:0;padding:11px 12px;border:0;border-radius:8px;min-height:44px;color:#e1d7ec}
 #mobile-menu .mobile-subnav a:first-child{color:white;font-weight:600;background:#ffffff0a;margin-bottom:6px}
 #mobile-menu .mobile-subnav a:hover,#mobile-menu a[aria-current="page"]{background:#ffffff12;color:white}
 #mobile-menu summary:focus-visible,#mobile-menu a:focus-visible{outline:2px solid #b797df;outline-offset:3px}
}

.desktop-nav>a[data-nav-trigger]{display:inline-flex;align-items:center;gap:10px;padding:16px 0}
.desktop-nav>a[aria-expanded="true"] .nav-chevron{transform:rotate(225deg) translate(-2px,-1px)}

.article-cover figcaption[hidden],.prose figcaption[hidden]{display:none}

.article-intro-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:5vw;align-items:center}
.article-intro-grid.article-text-only{grid-template-columns:1fr;max-width:1100px}
.service-page .article-intro-grid h1{font-size:clamp(34px,3.7vw,60px);line-height:1.1;overflow-wrap:break-word}
.article-intro-copy{min-width:0}.article-intro-image{margin:0;overflow:hidden;border-radius:18px;background:#24172e;border:1px solid #ffffff1a}
.article-intro-image img{display:block;width:100%;height:auto;aspect-ratio:1.3;object-fit:cover}.article-intro-image figcaption[hidden]{display:none}
.article-intro-copy .article-meta{margin-top:28px;line-height:1.6}
@media(max-width:900px){.article-intro-grid{grid-template-columns:1fr;gap:30px}.service-page .article-intro-grid h1{font-size:clamp(32px,6.5vw,52px)}.article-intro-image{max-width:620px;width:100%;border-radius:12px}.article-intro-image img{aspect-ratio:1.5}.article-intro-copy .service-intro{font-size:18px}}
