/* Explicit section palettes prevent light text inheriting onto light surfaces. */
html{overflow-x:clip;scroll-padding-top:76px}
body{margin:0;overflow-x:clip}
main{display:block}
.cinema-progress,.showcase-progress{display:none}
.cinema-stage,.mobile-portrait-panel{border:0;box-shadow:none}
.site-header{border-bottom:0}
.site-header.over-cinema .wordmark,.site-header.over-cinema nav{color:#f5f5f7}
.site-header.over-cinema .menu-toggle>span{background:#f5f5f7}
.site-header nav.open{color:#202124;background:#fff}
body.motion-ready .reveal{opacity:1!important;transform:none!important;filter:none!important}
.section{scroll-margin-top:0}
.brand-manifesto{background:#f5f5f7;color:#171719;border:0}
.brand-manifesto h2{font-size:clamp(40px,6vw,88px);line-height:1.06;max-width:1150px}
.brand-manifesto h2 span{color:#58585f}
.manifesto-grid p{color:#36363c}
.about,.services,.technology.section,.section#partner{color:#202124;background:#fff}
.about-copy h2,.services h2,.section#partner h2,.tech-copy h2{color:#202124}
.about-copy h2 span,.services h2 span,.section#partner h2 span,.tech-copy h2 span{color:#5c5c64}
.about-copy p,.about-copy .role,.about-copy p:nth-of-type(n),.partner-grid p,.tech-copy>p,.tech-copy>.technical-note,.service-list details>p,.catalog-row p,.catalog-row .materials{font-size:17px;line-height:1.7;color:#414149}
.about-copy .eyebrow,.experience-block .eyebrow,.experience-block>p,.experience-block .experience-role,.services>.eyebrow,.section#partner .eyebrow,.tech-copy>.eyebrow{color:#53535b;font-size:13px;line-height:1.6}
.experience-value,.experience-value>span{color:#222226}
.about{gap:8%;align-items:start}
.experience-block{padding:36px;border-radius:28px;background:#f2f2f5}
.about-copy{min-width:0}
.service-list{display:grid;gap:16px}
.service-list details,.service-list details:last-child{border:1px solid #d1d1d8;background:#f5f5f7;border-radius:22px;padding:0 28px;overflow:hidden}
.service-list summary{display:grid;grid-template-columns:30px minmax(0,1fr) auto 44px;gap:20px;padding:26px 0;min-height:110px}
.service-list summary>span{font-size:14px;color:#55555e}
.service-list summary h3{font-size:clamp(21px,2vw,29px);line-height:1.25;font-weight:600;color:#202124}
.service-list summary small{font-size:13px;line-height:1.55;letter-spacing:.025em;color:#414149;margin:0}
.service-list summary b,.service-list details[open] summary b{width:44px;height:44px;color:#fff;background:#242428;border:0;font-size:28px}
.service-list details>p{margin:0 0 20px;max-width:800px}
.service-list details>.text-link{margin:4px 0 26px;min-height:48px;padding:12px 20px;border:1px solid #242428;border-radius:999px;background:#242428;color:#fff;font-size:15px;display:inline-flex;align-items:center}
.catalog-row{background:#f5f5f7;border:1px solid #dedee4}
.catalog-row .button{background:#242428;color:#fff;border-color:#242428;font-size:15px;min-height:48px;padding:14px 24px}
.button,.quiet-link,.text-link{font-size:15px}
.button{min-height:48px;padding:14px 24px;line-height:1.4;white-space:normal;text-align:center}
.button:focus-visible,summary:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #4977c6!important;outline-offset:5px}
.contact.section{background:#111114;color:#f5f5f7;border:0;gap:clamp(32px,5vw,80px)}
.contact h2,.contact h2 em{color:#f5f5f7}
.contact .eyebrow{color:#c7c7d0;font-size:12px}
.contact .contact-mail{color:#fff;font-size:clamp(18px,1.9vw,28px);line-height:1.6;overflow-wrap:anywhere;padding:8px 0}
.contact .contact-phone{color:#fff;font-size:clamp(24px,2.6vw,38px);font-weight:600;line-height:1.5;padding:8px 0}
.contact>div>p,.contact .small{color:#d5d5df;font-size:15px;line-height:1.75}
.contact form{background:#202024;border:1px solid #45454e;border-radius:26px;color:#fff}
.contact form h3{color:#fff;font-size:26px;line-height:1.25}
.contact .fields label{font-size:14px;color:#ededf2;line-height:1.5}
.contact .fields input,.contact .fields textarea{font-size:16px;color:#fff;background:#29292f;border:1px solid #777780;border-radius:10px;padding:12px;min-height:48px;margin-top:8px}
.contact .fields input:focus,.contact .fields textarea:focus{outline:2px solid #ccd9ff;outline-offset:2px}
.contact .topics span{font-size:14px;color:#eeeef5;background:#29292f;border-color:#777780;padding:12px 15px;min-height:44px;line-height:1.5}
.contact .topics input:checked+span{background:#fff;color:#171719;border-color:#fff}
.contact form>p.small,.contact #form-status{font-size:14px;color:#d5d5df;line-height:1.65}
.contact .button.dark{background:#fff;color:#171719;border:1px solid #fff;font-size:16px;font-weight:600;min-height:52px}
.contact .button.dark:hover{background:#e5e5ed;color:#171719}
footer,.footer-top p,.footer-bottom,.footer-bottom button,.back-top{color:#484850}
.footer-bottom,.footer-bottom button{font-size:13px;line-height:1.6}
.footer-bottom button{min-height:44px}
.consulting-benefits li:after{display:none}
.showcase-slide[aria-hidden=false]{opacity:1!important}
.gallery-top-note p,.gallery-top-note a,.gallery-fineprint,.depth-gallery .gallery-fineprint{font-size:13px;color:#d1d1d9;line-height:1.6}
.slide-editorial p,.depth-gallery .slide-editorial p{font-size:15px;color:#fff;line-height:1.5}
.slide-expand,.showcase-controls button,.depth-gallery .showcase-controls button{min-width:44px;min-height:44px}
.press-read{font-size:15px;min-height:44px}
.press-editorial>p,.press-scroll .press-editorial>p{color:#3e3e44}
.press-kicker,.press-editorial>small,.press-source{color:#53535b}
@media(max-width:760px){
 html{scroll-padding-top:68px}
 .about{grid-template-columns:1fr;gap:36px}
 .experience-block{padding:28px}
 .about-copy p,.about-copy p:nth-of-type(n),.about-copy .role,.partner-grid p,.tech-copy>p,.tech-copy>.technical-note,.service-list details>p{font-size:16px;line-height:1.7}
 .service-list details,.service-list details:last-child{padding:0 20px}
 .service-list summary{grid-template-columns:minmax(0,1fr) 44px;gap:12px;padding:24px 0}
 .service-list summary>span{display:none}
 .service-list summary h3{grid-column:1;grid-row:1;font-size:23px;overflow-wrap:anywhere}
 .service-list summary small{grid-column:1;grid-row:2;font-size:14px}
 .service-list summary b{grid-column:2;grid-row:1/3}
 .contact.section{padding:72px 6%;grid-template-columns:1fr}
 .contact form{padding:24px}
 .contact .fields{grid-template-columns:1fr;gap:20px}
 .contact .fields .wide{grid-column:1}
 .contact .button.dark{width:100%}
 .mobile-portrait-panel{display:grid;grid-template-rows:auto minmax(300px,1fr);height:auto;min-height:calc(100svh - 68px);padding:36px 6% 0;gap:20px}
 .mobile-portrait-figure{position:relative;top:auto;bottom:auto;left:auto;right:auto;min-height:300px;width:100%;margin:0}
 .mobile-portrait-figure img{position:relative;left:auto;bottom:auto;transform:none;width:100%;height:auto;max-width:480px;margin:0 auto;display:block}
 .mobile-portrait-figure figcaption{left:0;bottom:12px}
 .mobile-portrait-copy h2{max-width:none;font-size:clamp(34px,10vw,56px)}
 .mobile-portrait-copy a{font-size:14px;line-height:1.5}
 .site-header nav.open a{color:#202124}
}
