@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url('/assets/open-sans-latin.woff2') format('woff2')}
html{scroll-behavior:smooth}body{font-family:'Open Sans',sans-serif}a:focus-visible,button:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #507ec7;outline-offset:4px}
.skip-link{position:fixed;top:-100px;left:20px;padding:10px 18px;background:#fff;color:#000;z-index:10000}.skip-link:focus{top:12px}
.w-nav>.container-1440{position:relative}.w-nav-button{margin-right:68px}.w-nav-menu.is-open{display:block!important}.w-nav-button .nav-close-icon{display:none}.w-nav-button[aria-expanded=true] .nav-close-icon{display:flex}.w-nav-button[aria-expanded=true] .nav-hamburger-icon{display:none}
.link-portfolio-block:hover .div-block-portfolio,.link-portfolio-block:focus-visible .div-block-portfolio{opacity:1;display:block}.service-intro{width:100%}
.legal-links{display:flex;flex-wrap:wrap;gap:18px;padding:10px 0 25px;font-size:12px;opacity:.8}.legal-links a,.legal-links button{color:inherit;text-decoration:none}.legal-links button{padding:0;border:0;background:none;font:inherit;cursor:pointer}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{font-size:16px;line-height:1.5;margin:16px 0}.privacy-form{font-size:13px}.privacy-form a{color:inherit}.w-form-done,.w-form-fail{display:none}
.case-page .section-project-item-2nd-row{background:var(--case-bg);color:var(--case-fg)}.case-page .section-heading-white,.case-page .subtitle-project-item,.case-page .heading-2,.case-page .paragraph-light-80,.case-page .breadcumb,.case-page .breadcumb-links,.case-page .text-link-arrow,.case-page .link-footer-white,.case-page .paragraph-tiny-white{color:var(--case-fg)}.case-page .navbar{background:var(--case-bg);color:var(--case-fg)}.case-page .brand,.case-page .navigation-item-white-2{color:var(--case-fg)}.case-page .case-heading{margin-top:64px;margin-bottom:24px}.case-narrative{margin-top:50px}.case-figure{margin:40px 0}.case-figure img{width:auto;height:auto;max-width:100%;max-height:none;margin:0;display:block}.case-caption{margin:12px 0 36px}.case-page .legal-links{color:var(--case-fg)}.case-page .section{background:var(--case-bg)}.heading-preject-banner-column{overflow-wrap:anywhere}.collection-item-2{background-color:#d8d8d8}
.consent-panel{position:fixed;bottom:20px;left:20px;max-width:440px;width:calc(100% - 40px);background:#fff;color:#222;border:1px solid #ddd;box-shadow:0 8px 40px #0002;padding:24px;z-index:1000;font-size:14px;line-height:1.5}.consent-panel p{margin:0 0 18px}.consent-actions{display:flex;gap:10px}.consent-actions button{background:#eee;color:#222;border:0;padding:10px 16px;font-family:inherit;cursor:pointer}.consent-actions button[data-consent=accept]{background:#222;color:#fff}
.ask-launch{position:fixed;bottom:72px;right:32px;border:0;background:#222;color:#fff;font:600 13px 'Open Sans',sans-serif;padding:10px 14px;border-radius:4px;cursor:pointer;z-index:20}.ask-panel{position:fixed;bottom:120px;right:32px;width:400px;max-width:calc(100% - 32px);max-height:70vh;overflow:auto;background:#fff;color:#222;border:1px solid #ddd;box-shadow:0 8px 40px #0002;z-index:30;padding:24px}.ask-panel header{display:flex;justify-content:space-between;align-items:center}.ask-panel h2{font-size:24px;margin:0 0 20px}.ask-panel button{font:inherit;cursor:pointer}.ask-close{border:0;background:none;font-size:24px!important}.ask-suggestions{display:grid;gap:8px}.ask-suggestions button{background:#f2f2f2;border:0;padding:12px;text-align:left;font-size:14px}.ask-answer{font-size:14px;line-height:1.6;margin:20px 0}.ask-answer a{color:#222;display:block;margin-top:10px}.ask-form{display:flex;gap:8px}.ask-form input{min-width:0;width:100%;font:inherit;border:1px solid #ccc;padding:10px}.ask-form button{padding:10px;border:0;background:#222;color:#fff}
@media(max-width:991px){.w-nav-button{margin-right:0}.w-nav-menu{margin-right:0}.w-nav-menu.is-open{position:fixed;top:46px;left:0;right:0;z-index:1;max-height:calc(100dvh - 46px);overflow:auto;padding:24px 30px 32px;background:#fff;color:#000}.case-page .w-nav-menu.is-open{background:var(--case-bg);color:var(--case-fg)}.w-nav-menu.is-open .div-block-33{display:block}.w-nav-menu.is-open a{display:block}.legal-links{gap:12px}.ask-launch{right:20px}.ask-panel{right:16px}.case-page .case-heading{margin-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.w-nav-menu>a[href="/ai"],.w-nav-menu>a[href="/es/ia"]{color:inherit}.case-narrative a{color:inherit;text-decoration:underline}

.content-paragraphs{display:block}.grid-3-columns,.column-about{min-width:0;max-width:100%}.content-paragraphs .link-block-4{align-items:center}.content-paragraphs .image-20{height:12px;flex-shrink:0}.section-project-item-2nd-row{width:100%;max-width:100%}

/* Restore spacing and geometry from the original Paginar components. */
.learn-more-wrap{width:fit-content;max-width:100%}.link-block-4{display:inline-flex;align-items:center;gap:20px;max-width:100%;width:auto}.text-link-arrow{white-space:nowrap}.link-block-4 .image-20{flex-shrink:0;margin:0;width:12px;height:12px}.paragraph-2-home-items{margin-bottom:40px}.home-featured{width:100%;margin-top:40px}.home-featured .link-portfolio-block{width:100%}.div-block-portfolio .button{display:flex;align-items:center;justify-content:center;padding:0;color:#fff}.div-block-portfolio .button svg{display:block;flex-shrink:0;width:27px;height:22px}.div-block-portfolio .client-porject-banner-column,.div-block-portfolio .heading-preject-banner-column,.div-block-portfolio ._2nd-line-banner-column{color:inherit}.integrated-header .container-1440,.integrated-header .w-nav-menu{background:inherit;color:inherit}.integrated-header a,.integrated-header .brand,.integrated-header .w-embed,.integrated-header .w-nav-button{color:inherit}.integrated-header .w-nav-brand svg{color:inherit}.integrated-header .w-nav-menu.is-open{background:inherit;color:inherit}
html:not([data-page="/"]):not([data-page="/es/"]) h1.section-heading,html:not([data-page="/"]):not([data-page="/es/"]) h1.section-heading-white{margin-bottom:40px}h1.section-heading+.paragraph-big,h1.section-heading-white+.subtitle-project-item{margin-top:0}.accordeon-item-trigger{cursor:pointer}.accordeon-item-content[hidden]{display:none}.accordeon-item-content:not([hidden]){height:auto;display:block;overflow:visible}.accordeon-item-trigger[aria-expanded=true] .plus-icon{transform:rotate(45deg)}.legal-content h2{margin-top:48px;margin-bottom:20px}.legal-content .paragraph-light{display:block;max-width:100%;margin-bottom:20px}.legal-preferences{font:inherit;padding:12px 20px;background:#222;color:#fff;border:0;cursor:pointer}.consent-links{display:flex;gap:16px;margin-bottom:18px}.consent-links a{color:#222}.consent-panel .consent-actions button{flex:1;background:#222;color:#fff}.consent-panel .consent-status{font-size:13px}
@media(max-width:991px){.integrated-header .w-nav-menu.is-open{background:var(--case-bg,#fff);color:var(--case-fg,#000)}}
@media(max-width:767px){.learn-more-wrap .text-link-arrow{font-size:clamp(13px,4vw,18px)}.link-block-4{gap:12px}}



.integrated-header .w-nav-menu.is-open{background:var(--header-bg);color:var(--header-fg)}
@media(max-width:360px){.learn-more-wrap .text-link-arrow{font-size:12.8px}}
h1.home-page-slogan{margin-bottom:40px}.hero-home>.paragraph-big{margin-top:0}

.case-light img[alt="Make it real"]{filter:brightness(0)}

.home-featured{margin-bottom:40px}

/* Text links: original resting gap, arrow motion and gentle hover growth. */
.link-block-4{gap:8px;padding-right:12px}
.link-block-4 .image-20{transform:translateX(0) scale(1);transform-origin:left center;transition:transform 300ms ease}
.link-block-4:hover .image-20,.link-block-4:focus-visible .image-20{transform:translateX(10px) scale(1.15)}
.link-block-4:hover .text-link-arrow,.link-block-4:focus-visible .text-link-arrow{border-bottom-color:currentColor}
@media(prefers-reduced-motion:reduce){.link-block-4 .image-20{transition:none}}

/* Shared project grid for Home, Work and all service pages. */
/* Match the 60px divider-to-heading gap of the original UX portfolio section. */
html:is([data-page="/ux"],[data-page="/es/ux"],[data-page="/dev"],[data-page="/es/dev"],[data-page="/ai"],[data-page="/es/ia"]) .grid-3-columns+h2.heading-2{margin-top:60px}
.home-featured{width:100%;margin:0}
.project-grid{display:block;width:100%;min-width:0;max-width:100%;margin:40px 0;padding:0;container-type:inline-size}
.project-grid .project-grid__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1%;row-gap:1cqw;width:100%;min-height:0;max-width:100%;margin:0;padding:0;border:0;border-radius:0;overflow:visible}
.project-grid__list::before,.project-grid__list::after{display:none}
/* Align vertical closing links with the left edge of their project grid. */
html:is([data-page="/ux"],[data-page="/es/ux"],[data-page="/ai"],[data-page="/es/ia"],[data-page="/dev"],[data-page="/es/dev"]) .project-grid~.learn-more-wrap{align-self:flex-start}
.project-grid .collection-item-2{float:none;clear:none;width:100%;min-width:0;max-width:100%;height:350px;min-height:350px;max-height:none;margin:0;padding:0}
.project-grid .link-portfolio-block{display:block;position:relative;width:100%;height:100%;min-height:0;max-height:none;margin:0;overflow:hidden}
.project-grid .project-cover-mask{position:absolute;inset:0;background:rgba(0,0,0,.25);pointer-events:none}
.project-grid .project-cover-logo{position:absolute;left:50%;top:50%;width:50%;height:42%;transform:translate(-50%,-50%) scale(var(--project-logo-scale,1));filter:brightness(0) invert(1);pointer-events:none}
@media(max-width:991px){.project-grid .project-grid__list{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid .collection-item-2{height:340px;min-height:340px}}
@media(max-width:767px){.project-grid .project-grid__list{grid-template-columns:1fr;row-gap:2cqw}}

/* Enlarge the project CTA circle and its centered arrow together. */
.div-block-portfolio .button{transform:scale(1);transform-origin:center;transition:transform 250ms ease,background-color 250ms ease,color 250ms ease}
.div-block-portfolio .button:hover,.link-portfolio-block:focus-visible .button{transform:scale(1.1)}

/* The hover surface always matches the complete shared project card. */
.project-grid .collection-item-2{position:relative;overflow:hidden}
.project-grid .project-card--trim-edge::before{content:"";position:absolute;inset:-2px;background-image:inherit;background-size:cover;background-position:inherit;pointer-events:none}
.project-grid .div-block-portfolio{box-sizing:border-box;position:absolute;inset:0;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:none;margin:0;border:0}

/* Preserve the intrinsic aspect ratio and left alignment in every case. */
html[data-page*="/portfolio/"] main .porject-gallery-image{display:block;width:auto;height:auto;min-width:0;min-height:0;max-width:100%;max-height:none;margin-left:0;margin-right:auto;object-fit:contain;object-position:left top;align-self:flex-start;justify-self:start}

html[data-page*="/portfolio/"] main .porject-gallery-image{width:min(100%,var(--case-image-width,100%));aspect-ratio:auto var(--case-image-ratio)}

/* Case text rhythm, contained service markers and normalized detail logos. */
.case-narrative{margin-top:40px}
.case-narrative .case-heading{margin:40px 0 20px}
.case-narrative>.case-heading:first-child{margin-top:0}
.case-narrative p.paragraph-light-80{margin:0 0 20px}
.case-narrative .case-caption{margin:12px 0 20px}
html[data-page*="/portfolio/"] main ul{box-sizing:border-box;margin-top:0;margin-bottom:20px;padding-left:1.4em;list-style-position:outside}
html[data-page*="/portfolio/"] main li{margin:0 0 8px;padding-left:0}
html[data-page*="/portfolio/"] main li:last-child{margin-bottom:0}
html[data-page*="/portfolio/"] main .case-logo-figure{margin:20px 0;max-width:100%}
html[data-page*="/portfolio/"] main .case-logo-frame{display:block;position:relative;overflow:hidden;width:min(100%,var(--logo-frame-width));max-width:100%;margin:0;flex:none}
html[data-page*="/portfolio/"] main .case-logo-frame img{position:absolute;display:block;left:var(--logo-image-left);top:var(--logo-image-top);width:var(--logo-image-width);height:auto;min-width:0;max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:left top;border:0;margin:0}
html[data-page*="/portfolio/"] main p.paragraph-light-80,html[data-page*="/portfolio/"] main .paragraph-light-80.w-richtext p{margin-top:0;margin-bottom:20px}
.case-narrative p.case-caption{margin-top:12px;margin-bottom:20px}

/* Original next-project component: 60px above the label and 10px before the link. */
.case-next-project{display:flow-root;color:var(--page-fg)}
.case-next-project .paragraph-small-copy{margin:60px 0 10px;color:inherit}
.case-next-project .link-next-proyect,.case-next-project .heading-2-copy,.case-next-project .html-embed{color:inherit}
.case-next-project .heading-2-copy{min-width:0;overflow-wrap:anywhere}
.case-next-project .html-embed{width:auto;flex-shrink:0}

/* The footer uses the page theme, including nested surfaces inherited from legacy templates. */
body .integrated-footer,body .integrated-footer .container-1440,body .integrated-footer .w-col{background-color:var(--page-bg);color:var(--page-fg)}
body .integrated-footer :is(a,button,.footer-wrap,.paragraph-tiny,.paragraph-tiny-white,.legal-links){color:var(--page-fg)}
body .integrated-footer.footer-light img[alt="Make it real"]{filter:brightness(0)}
body .integrated-footer a[aria-current="page"]{text-decoration:underline}
.footer-language-switch,.menu-language-switch{align-items:baseline;white-space:nowrap;font-size:16px;font-weight:300;line-height:28px}.footer-language-switch{display:flex}.menu-language-switch{display:none}.footer-language-label{margin-right:6px}.footer-language-switch a,.menu-language-switch a{color:inherit;text-decoration:none;opacity:.6}.footer-language-switch a[aria-current="true"],.menu-language-switch a[aria-current="true"]{font-weight:700;opacity:1}.footer-language-switch a:hover,.footer-language-switch a:focus-visible,.menu-language-switch a:hover,.menu-language-switch a:focus-visible{text-decoration:underline;opacity:1}
.mobile-menu-footer{display:none}
@media(max-width:991px){body .integrated-footer,.footer-language-switch{display:none}.integrated-header>.container-1440::before{content:"";position:fixed;top:0;left:0;right:0;z-index:2;height:50px;background:var(--header-bg);pointer-events:none}.w-nav>.container-1440>.w-nav-brand{z-index:3}.w-nav-menu.is-open{height:calc(100dvh - 46px);min-height:0;padding-left:20px;padding-right:20px}.w-nav-menu.is-open>.w-nav-link{padding-left:2px}.w-nav-menu.is-open .link-footer-menu-mobile{padding-left:0}.w-nav-menu.is-open .menu-language-switch{display:flex;margin-top:20px;padding-left:0}.w-nav-menu.is-open .mobile-menu-footer{display:block;margin-top:30px;padding:0 0 24px;font-weight:300}.mobile-menu-footer .footer-wrap{height:auto;min-height:0;margin:0 0 30px;padding:0}.mobile-menu-footer .paragraph-tiny,.mobile-menu-footer .paragraph-tiny-white{color:inherit;font-weight:300}.mobile-menu-footer .legal-links{gap:12px;padding:0;font-weight:300}}

@media(max-width:991px){.w-nav>.container-1440>.w-nav-button{position:absolute;top:10px;right:20px;z-index:3;float:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:0;padding:0}.w-nav-button .nav-hamburger-icon,.w-nav-button .nav-close-icon{position:static;align-items:center;justify-content:center;width:24px;height:24px;margin:0;opacity:1}.w-nav-button .nav-hamburger-icon{display:flex}.w-nav-button[aria-expanded=true] .nav-close-icon{display:flex}.w-nav-button :is(.nav-hamburger-icon,.nav-close-icon) svg{display:block}.w-nav-menu.is-open .div-block-33{margin-top:50px}}

/* Keep the main navigation's resting and selected states distinct. */
.integrated-header .w-nav-menu>.w-nav-link{font-weight:400;opacity:.6}
.integrated-header .w-nav-menu>.w-nav-link[aria-current="page"]{font-weight:700;opacity:1;color:var(--header-fg)}
.integrated-header .w-nav-menu>.w-nav-link:hover,.integrated-header .w-nav-menu>.w-nav-link:focus-visible{opacity:1}

/* Service pages close with the same standalone contact blurb after their projects. */
.service-closing{width:100%;margin-top:60px;padding-top:0;border-top:0}
.service-closing .about-heading{margin:0 0 20px}
.service-closing .paragraph-big{margin:0 0 40px;max-width:1000px}
.talent-content .text-link-arrow{display:inline;white-space:normal}
.talent-content .link-block-4{display:block}
.talent-content .link-block-4 .image-20{display:inline-block;margin-left:12px}
.client-case-link{color:inherit;text-decoration:none}
.client-case-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Dividers separate list items, never the outer edges of sections. */
html:is([data-page="/ux"],[data-page="/es/ux"],[data-page="/dev"],[data-page="/es/dev"],[data-page="/ai"],[data-page="/es/ia"]) .paragraph-3{text-transform:none}
html[data-page] body main .grid-3-columns{border-top:0;border-bottom:0}
html[data-page] body main .grid-3-columns:has(+.grid-3-columns){border-bottom:1px solid #a0a0a06e}
html[data-page] body main .div-services{border-bottom:0}
html[data-page] body main .hero-home+.section-3>.div-services{border-top:0}
html[data-page] body main .accordeon-item-content{border-top:0;border-bottom:0}
html[data-page] body main .accordeon-wapper+.accordeon-wapper,
html[data-page] body main .accordeon-item+.accordeon-item{border-top:1px solid #bcbcbc}

/* Keep Clients controls inside the same edges as their inter-item dividers. */
html:is([data-page="/clients"],[data-page="/es/clientes"]) body main .accordeon-item>.accordeon-item-trigger{margin:0;padding:20px 0}
html:is([data-page="/clients"],[data-page="/es/clientes"]) .accordeon-item-trigger>.w-row{display:flex;align-items:center;gap:24px;margin:0}
html:is([data-page="/clients"],[data-page="/es/clientes"]) .accordeon-item-trigger>.w-row::before,
html:is([data-page="/clients"],[data-page="/es/clientes"]) .accordeon-item-trigger>.w-row::after{display:none}
html:is([data-page="/clients"],[data-page="/es/clientes"]) .column-accordeon-clients-title{float:none;flex:1;min-width:0;width:auto;margin:0;padding:0}
html:is([data-page="/clients"],[data-page="/es/clientes"]) .heading-client-area{margin:0;padding:0}
html:is([data-page="/clients"],[data-page="/es/clientes"]) .column-24{float:none;flex:0 0 21px;width:21px;padding:0}
html:is([data-page="/clients"],[data-page="/es/clientes"]) .plus-icon{position:static;display:block;width:21px;height:21px;margin:0}

/* One 60px section gap throughout UX, including its tools heading and closing blurb. */
html:is([data-page="/ux"],[data-page="/es/ux"]) .header-section>.section-ux{display:flow-root;padding-top:60px}
html:is([data-page="/ux"],[data-page="/es/ux"]) .header-section>.section-page{margin-bottom:0}
html:is([data-page="/ux"],[data-page="/es/ux"]) .section-ux>.paragraph-light+.heading-2{margin-top:60px}

/* Match Home: one final content-to-footer gap of 120px, or 76px on mobile. */
body main.footer-gap-tail{margin-bottom:0;padding-bottom:0}
body main .footer-gap-empty{display:none}
body main .footer-gap-tail.accordeon-item>.accordeon-item-trigger{margin-bottom:0}
body main .footer-gap-tail.accordeon-item>.accordeon-item-content:not([hidden]){margin-top:10px}
body .integrated-footer{margin-top:0;padding-top:120px}
body .integrated-footer .columns-menu-footer{margin-top:0;padding-top:0}
@media(max-width:767px){body .integrated-footer{padding-top:76px}}
@media(min-width:768px) and (max-width:991px){.case-page main.section-project-item-2nd-row{padding-left:0;padding-right:0}}
@media(max-width:991px){.case-page main.section-project-item-2nd-row{padding-top:80px}}
@media(max-width:991px){body main.footer-gap-tail{padding-bottom:40px}}

/* Shared heading rhythm; composed components provide their own outer section gap. */
:root{--heading-section-gap:60px;--heading-subsection-gap:40px;--heading-content-gap:20px;--heading-intro-gap:40px;--text-link-gap:40px}
/* Text-to-CTA spacing matches Home, without adding inherited paragraph padding. */
html[data-page] body main :is(p,.paragraph-big,.paragraph-light,.content-paragraphs,.paragraph-3,.paragraph-2-home-items):has(+.learn-more-wrap){margin-bottom:var(--text-link-gap);padding-bottom:0}
html[data-page] body main :is(p,.paragraph-big,.paragraph-light,.content-paragraphs,.paragraph-3,.paragraph-2-home-items)+.learn-more-wrap{margin-top:0}
html[data-page] body main h1{overflow-wrap:anywhere;margin-top:0;margin-bottom:var(--heading-intro-gap)}
html[data-page] body main h2{margin-top:var(--heading-section-gap);margin-bottom:var(--heading-content-gap)}
html[data-page] body main :is(h3,h4,h5,h6){margin-top:var(--heading-subsection-gap);margin-bottom:var(--heading-content-gap)}
html[data-page] body main :is(h2,h3,h4,h5,h6):first-child{margin-top:0}
html[data-page] body main :is(h1,h2,h3,h4,h5,h6)+:is(p,.paragraph-light,.paragraph-big,.subtitle-project-item){margin-top:0}
.case-narrative h2.case-heading{margin:var(--heading-section-gap) 0 var(--heading-content-gap)}
.case-narrative h3.case-heading{margin:var(--heading-subsection-gap) 0 var(--heading-content-gap)}
.case-narrative>.case-heading:first-child{margin-top:0}
html[data-page] body main :is(.column-about-title,.w-col)>h2.about-heading,html[data-page] body main .heading-client-area,html[data-page] body main .link-next-proyect>.heading-2-copy,html[data-page] body main h4.breadcumb{margin:0}
html[data-page] body main .service-closing>.about-heading{margin:0 0 var(--heading-content-gap)}
html[data-page] body main .heading-2+.project-grid{margin-top:0}
html:is([data-page="/ux"],[data-page="/es/ux"]) #ux-services-heading{margin-bottom:var(--heading-content-gap)}
html:is([data-page="/ux"],[data-page="/es/ux"]) .section-ux:has(>#ux-services-heading)+.grid-3-columns{padding-top:0}
@media(max-width:991px){html[data-page] body main .column-about-title>h2.about-heading{margin-bottom:var(--heading-content-gap)}}
html[data-page] body main.footer-gap-tail :is(h1,h2,h3,h4,h5,h6).footer-gap-tail{margin-bottom:0}

/* Shared type styles use the same leading across cases and other pages. */
.section-heading-white,.subtitle-project-item,.heading-2,.paragraph-light-80,.paragraph-light-80.w-richtext p{line-height:1.25}

.heading-preject-banner-column,.heading-preject-banner-column:hover{font-weight:700;line-height:1.25}
html[data-page*="/portfolio/"] main h1.section-heading-white{font-weight:700}
@media(min-width:480px) and (max-width:767px){.heading-preject-banner-column{font-size:36px}}
@media(min-width:992px) and (max-width:1439px){.heading-preject-banner-column{font-size:clamp(28px,2.5vw,36px)}}
@media(min-width:480px) and (max-width:499px){.project-grid .collection-item-2{height:380px;min-height:380px}}
@media(min-width:992px) and (max-width:1100px){.project-grid .collection-item-2{height:360px;min-height:360px}}
@media(min-width:1400px){.project-grid .collection-item-2{height:380px;min-height:380px}}

/* Home starts the secondary mobile links; desktop keeps UX / DEV / AI in its header. */
.mobile-menu-home{display:none}
@media(max-width:991px){.w-nav-menu.is-open .mobile-menu-home{display:block}}

/* Align page content with the mobile logo and the visible edge of the menu icon. */
@media(max-width:991px){
  .container-1440{padding-left:28px;padding-right:24px}
  .integrated-header{--mobile-menu-left:28px}
  .integrated-header>.container-1440{padding-left:var(--mobile-menu-left)}
  .integrated-header .w-nav-menu.is-open{padding-left:var(--mobile-menu-left)}
  .integrated-header .w-nav-menu.is-open>.w-nav-link{margin-left:-8px}
}

/* Figma 67:201 mobile navigation / 69:613 desktop footer. */
body .integrated-footer .columns-menu-footer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-height:128px;margin:0;padding:0}
body .integrated-footer .columns-menu-footer::before,body .integrated-footer .columns-menu-footer::after{display:none}
body .integrated-footer .columns-menu-footer>.w-col{float:none;width:auto;padding:0}
body :is(.link-footer,.link-footer-white){display:block;margin:0;padding:0;font-family:inherit;font-size:16px;font-weight:400;line-height:32px;opacity:1;width:fit-content;color:inherit;text-decoration:none;text-decoration-thickness:1px;text-underline-offset:6px}
body :is(.link-footer,.link-footer-white):is(:hover,:active,:focus-visible){text-decoration-line:underline}
body :is(.link-footer,.link-footer-white).link-with-icon{display:inline-flex;align-items:center;gap:8px}
body .link-with-icon .link-label{text-decoration:inherit;text-decoration-thickness:inherit;text-underline-offset:inherit}
body .integrated-footer>.container-1440{display:flex;flex-direction:column;gap:40px}
body .integrated-footer .legal-links{order:1;display:flex;gap:18px;margin:0;padding:0;min-height:28px}
body .integrated-footer .legal-links a{font-size:12px;font-weight:400;line-height:28px}
body .integrated-footer .footer-wrap{order:2;margin:0;padding:0;min-height:20px;height:auto}
body .integrated-footer .footer-wrap :is(.paragraph-tiny,.paragraph-tiny-white){margin:0;font-size:14px;font-weight:400;line-height:20px;color:#7e7d7d}
:is(.integrated-footer,.w-nav-menu) a,.client-case-link{ text-decoration-thickness:1px;text-underline-offset:6px }
:is(.integrated-footer,.w-nav-menu) a:is(:hover,:active,:focus-visible),.client-case-link:is(:hover,:active,:focus-visible){text-decoration-line:underline;text-decoration-thickness:1px}
body :is(.footer-language-switch,.menu-language-switch){gap:0;font-size:16px;font-weight:400;line-height:28px}
body :is(.footer-language-switch,.menu-language-switch) .footer-language-label{margin-right:8px;cursor:default}
body :is(.footer-language-switch,.menu-language-switch) a{display:inline;width:auto;line-height:28px;font-size:16px;font-weight:400;opacity:1;text-decoration:none!important}
body :is(.footer-language-switch,.menu-language-switch) a[aria-current="true"]{font-weight:700}
@media(max-width:991px){
 body.mobile-menu-open{overflow:hidden}
 .integrated-header:has(.is-open){position:fixed;inset:0 0 auto;z-index:1000;height:100dvh;background:var(--header-bg)}
 .integrated-header:has(.is-open)>.container-1440{max-width:none;margin:0;padding:0 24px}
 .integrated-header:has(.is-open)>.container-1440::before{height:62px}
 .integrated-header:has(.is-open) .w-nav-brand{position:absolute;left:24px;top:18px;width:90px;height:26px;padding:0;margin:0}
 .integrated-header:has(.is-open) .w-nav-brand :is(img,svg){width:90px;height:auto}
 .integrated-header:has(.is-open) .w-nav-button{top:16px;right:24px}
 .integrated-header .w-nav-menu.is-open{position:fixed;inset:62px 0 0;display:flex!important;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:calc(100dvh - 62px);min-height:0;max-height:none;padding:24px 24px 12px;margin:0;overflow:auto;background:var(--header-bg);color:var(--header-fg)}
 .integrated-header .w-nav-menu.is-open>.w-nav-link{font-size:64px;line-height:64px;font-weight:400;letter-spacing:0;opacity:1;padding:0;margin:0;width:fit-content;height:64px;min-height:0;color:inherit}
 .w-nav-menu.is-open>.mobile-primary-ux{order:0}.w-nav-menu.is-open>.mobile-primary-dev{order:1}.w-nav-menu.is-open>.mobile-primary-ai{order:2}
 .integrated-header .w-nav-menu.is-open>.div-block-33{order:3;display:flex;flex-direction:column;gap:4px;width:100%;margin:20px 0 0;padding:0}
 .integrated-header .w-nav-menu.is-open .link-footer-menu-mobile{display:block;width:fit-content;font-size:16px;font-weight:400;line-height:28px;height:28px;min-height:0;margin:0;padding:0;color:inherit}
 .integrated-header .w-nav-menu.is-open .menu-language-switch{display:flex;margin:20px 0 0;padding:0;height:28px}
 .integrated-header .w-nav-menu.is-open .mobile-menu-footer{display:flex;flex-direction:column;gap:32px;width:100%;margin:20px 0 0;padding:0}
 .mobile-menu-footer .legal-links{display:flex;gap:12px;padding:0;margin:0;height:28px;flex-wrap:nowrap}
 .mobile-menu-footer .legal-links a{font-size:12px;font-weight:400;line-height:28px;white-space:nowrap;color:inherit}
 .mobile-menu-footer .footer-wrap{margin:0;padding:0;height:20px;min-height:20px}
 .mobile-menu-footer .footer-wrap :is(.paragraph-tiny,.paragraph-tiny-white){font-size:12px;font-weight:400;line-height:20px;margin:0;color:#7e7d7d}
}
@media(max-width:991px) and (max-height:700px){
 .integrated-header:has(.is-open) .w-nav-brand{top:11px}.integrated-header:has(.is-open) .w-nav-button{top:8px}
 .integrated-header .w-nav-menu.is-open{top:46px;height:calc(100dvh - 46px);padding-top:12px;padding-bottom:8px}
 .integrated-header .w-nav-menu.is-open>.w-nav-link{font-size:40px;line-height:40px;height:40px}
 .integrated-header .w-nav-menu.is-open>.div-block-33{gap:0;margin-top:8px}
 .integrated-header .w-nav-menu.is-open .link-footer-menu-mobile{line-height:24px;height:24px}
 .integrated-header .w-nav-menu.is-open .menu-language-switch{margin-top:12px}
 .integrated-header .w-nav-menu.is-open .mobile-menu-footer{margin-top:12px;gap:16px}
}
body .integrated-footer,.integrated-header .w-nav-menu.is-open{font-family:'Open Sans',sans-serif}
body .integrated-footer{padding-bottom:35px}
/* Mobile content is centered independently of the fixed close control. */
@media(max-width:991px){
 .integrated-header:has(.is-open) .w-nav-brand{visibility:hidden}
 .integrated-header:has(.is-open) .w-nav-button{position:fixed;top:16px;right:24px;z-index:1003;margin:0}
 .integrated-header .w-nav-menu.is-open{inset:62px 0 0;height:calc(100dvh - 62px);justify-content:safe center;padding:12px 24px}
 .integrated-header .w-nav-menu.is-open>.w-nav-link{flex-shrink:0;background:transparent;border-radius:0}
 .integrated-header .w-nav-menu.is-open>.w-nav-link span{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}
 .integrated-header .w-nav-menu.is-open>.div-block-33{flex-shrink:0}
 .integrated-header .w-nav-menu.is-open>.w-nav-link[aria-current="page"]{font-weight:400}
 .integrated-header .w-nav-menu.is-open a[aria-current="page"]:not(:hover):not(:active):not(:focus-visible){font-weight:400}
 .integrated-header .w-nav-menu.is-open a:not([lang]){position:relative;text-decoration:none!important}
 .integrated-header .w-nav-menu.is-open a:not([lang])::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;opacity:0;pointer-events:none}
 .integrated-header .w-nav-menu.is-open a:not([lang]):is(:hover,:active,:focus-visible)::after{opacity:1}
 .integrated-header .w-nav-menu.is-open>.w-nav-link:not([lang])::after{top:calc(100% + .03125em);bottom:auto;height:.0625em}
 .integrated-header .w-nav-menu.is-open>.w-nav-link[aria-current="page"]::after{opacity:1}
 .integrated-header .w-nav-menu.is-open a[lang]{text-decoration:none!important}
}

/* One fixed control and one reversible hamburger/X icon on phones. */
@media(max-width:991px){
 .w-nav.integrated-header>.container-1440>.w-nav-button,.integrated-header:has(.is-open) .w-nav-button{position:fixed;top:10px;right:20px;width:30px;height:30px;margin:0;padding:0;z-index:1003;display:flex;align-items:center;justify-content:center;background:transparent}
 .menu-toggle-icon{display:block;width:22px;height:22px;overflow:visible}
 .menu-toggle-icon path{stroke:currentColor;stroke-width:1.7;stroke-linecap:round;transform-box:view-box;transition:transform 280ms cubic-bezier(.4,0,.2,1),opacity 180ms ease}
 .menu-icon-top{transform-origin:12px 3px}.menu-icon-middle{transform-origin:12px 12px}.menu-icon-bottom{transform-origin:12px 21px}
 .w-nav-button[aria-expanded=true] .menu-icon-top{transform:translateY(9px) rotate(45deg) scaleX(1.1)}
 .w-nav-button[aria-expanded=true] .menu-icon-middle{transform:scaleX(0);opacity:0}
 .w-nav-button[aria-expanded=true] .menu-icon-bottom{transform:translateY(-9px) rotate(-45deg) scaleX(1.1)}
 .integrated-header:has(.is-open){height:62px}
 .integrated-header .w-nav-menu.is-open{opacity:1;transform:translateY(0);transition:opacity 280ms ease,transform 280ms cubic-bezier(.4,0,.2,1)}
 .integrated-header .w-nav-menu.is-open:is(.is-opening,.is-closing){opacity:0;transform:translateY(10px);pointer-events:none}
}
@media(max-width:991px) and (prefers-reduced-motion:reduce){.menu-toggle-icon path,.integrated-header .w-nav-menu.is-open{transition:none}}

/* Candidate form shares the site's typography, field treatment and section rhythm. */
.application-section{margin-top:var(--heading-section-gap);max-width:800px;scroll-margin-top:90px}
.application-section--standalone{margin-top:0}
.application-form{margin-top:40px}
.application-fields{display:block}
.application-form .text-field{width:100%;margin-right:0}
.application-form select.text-field{appearance:none;padding:5px 44px 5px 10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23333' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;background-size:16px}
.application-form input[type=file]{height:auto;min-height:38px}
.application-cv legend.field-label{font-size:12px;line-height:20px;letter-spacing:1px;text-transform:uppercase}
.application-form textarea{resize:vertical}
.application-cv{min-width:0;margin:0;padding:0;border:0}
.application-cv-intro.application-help{margin:0 0 25px}
.application-help{margin:-15px 0 25px;font-size:14px;line-height:1.5}
.application-form [hidden]{display:none!important}
.application-privacy{margin-top:16px;font-size:14px;line-height:1.6}
html[data-page] body main .application-privacy h3{font-size:18px;line-height:1.5;margin:0 0 10px}
.application-privacy a{display:inline;color:inherit;text-decoration:underline}
.application-form .form-status{margin:24px 0}
.application-submit{max-width:none;width:fit-content;cursor:pointer}
.application-submit:disabled{opacity:.6;cursor:wait}

/* Candidate validation: instructions stay next to the affected field. */
.application-form{--form-error:#b54708}
.application-form .text-field[aria-invalid=true]{border-color:var(--form-error);outline-color:var(--form-error)}
.application-form .application-error{margin:-15px 0 25px;color:var(--form-error);font-size:14px;line-height:1.5}
.application-form .form-status.is-error{color:var(--form-error)}
.application-form :is(input,select,textarea){scroll-margin-top:90px}

.application-form .application-verification-error{margin:8px 0 25px}
.application-form [data-turnstile].has-error{outline:1px solid var(--form-error);outline-offset:4px}

.application-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.application-file-field{position:relative;margin-bottom:25px;border:1px solid #e4e4e4;background:#fff;min-height:38px}
.application-file-field:hover{border-color:#000}
.application-file-field:focus-within{border-color:#43464d}
.application-file-field:has(input:focus-visible){outline:0;outline-offset:4px}
.application-file-field:has([aria-invalid=true]){border-color:var(--form-error);outline-color:var(--form-error)}
.application-form .application-file-display{display:block;margin:0;padding:5px 20px 5px 10px;font-size:18px;line-height:26px;font-weight:400;letter-spacing:0;text-transform:none;color:#32343a66;overflow-wrap:anywhere}
.application-file-display .has-file{color:#333}
.application-form .application-file-field input[type=file]{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer}

.application-form .application-file-display{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-right:14px}
.application-file-display [data-file-label]{min-width:0}
.application-upload-icon{flex-shrink:0;color:#333}

.application-form select.text-field:has(option:checked[value=""]){color:#32343a66}
.application-form select.text-field option{color:#333}

/* Opt-in Prado pilot: visible opening and facts, Clients/PR #3 process accordions. */
.case-pilot{margin-top:20px;--case-media-bg:color-mix(in srgb,var(--page-bg) 90%,var(--page-fg) 10%);--case-media-fg:var(--page-fg);--case-section-gap:60px}
.case-pilot .case-opening .section-heading-white{max-width:1080px}
.case-pilot .case-opening .subtitle-project-item{text-transform:none;width:100%;max-width:1000px;padding:0;font-size:24px;line-height:1.5;margin-bottom:var(--case-section-gap)}
.case-pilot .case-intro-body{margin-bottom:var(--case-section-gap)}
.case-pilot .case-services{margin-bottom:var(--case-section-gap)}
.case-opening-visual{margin:0 0 var(--case-section-gap);padding:0;background:transparent}
.case-pilot .case-opening-photo{display:block;width:100%;max-width:none;height:auto}
.case-opening-screens{display:flex;justify-content:center;align-items:flex-start;gap:clamp(12px,4vw,60px);padding:8px 0 20px}
.case-opening-image{display:block;width:calc((100% - 24px)/3);max-width:220px;height:auto;flex:0 1 220px;min-width:0}
.case-opening-screens .case-opening-image{transform:translate(calc(var(--screen-x) * var(--settle,0)),calc(var(--screen-y) * var(--settle,0))) rotate(calc(var(--screen-tilt) * var(--settle,0)))}
.case-opening-screens .case-opening-image:nth-child(1){--screen-x:-12px;--screen-y:16px;--screen-tilt:-2deg}
.case-opening-screens .case-opening-image:nth-child(2){--screen-x:0px;--screen-y:24px;--screen-tilt:0deg}
.case-opening-screens .case-opening-image:nth-child(3){--screen-x:12px;--screen-y:16px;--screen-tilt:2deg}
.case-opening-visual figcaption{margin-top:24px;font-size:14px;line-height:1.5;color:#444;text-align:left}
.case-pilot .paragraph-light-80{display:block;width:100%;max-width:900px;margin:0 0 20px;line-height:1.5;color:inherit}
.case-pilot .case-intro-summary{margin-bottom:0}
.case-pilot :is(.case-services,.case-process)>.heading-2{margin:0 0 24px;font-size:32px;font-weight:600;line-height:1.25}
.case-pilot .case-accordion-item{border:0;margin:0}
.case-pilot .case-accordion-heading{margin:0;font-size:24px;font-weight:400;line-height:1.3}
.case-pilot .case-accordion-trigger{opacity:1;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;width:100%;padding:24px 0;margin:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;line-height:inherit;cursor:pointer;white-space:normal}
.case-pilot .case-accordion-title{display:block}
.case-pilot .case-accordion-summary{display:block;max-width:780px;margin-top:12px;font-size:16px;font-weight:400;line-height:1.5}
.case-pilot .case-accordion-icon{position:static;display:block;flex:0 0 21px;width:21px;height:21px;margin:6px 0 0;transition:transform 200ms ease}
.case-pilot .case-accordion-icon svg{display:block}
.case-pilot .case-accordion-content{padding:12px 0 24px;border:0}
.case-pilot .case-media-block{width:100%;max-width:none;margin:32px 0;border-radius:var(--radius-composition);overflow:hidden;background:var(--case-media-bg)}
.case-pilot .case-collage{position:relative;aspect-ratio:1.8;overflow:hidden;isolation:isolate}
.case-pilot .case-collage-card{position:absolute;width:44%;background:var(--case-media-bg);border-radius:var(--radius-composition);overflow:hidden;box-shadow:0 8px 24px #243a431a;transform:translate(calc(var(--enter-x) * var(--settle,0)),calc(var(--enter-y) * var(--settle,0))) rotate(calc(var(--tilt) + 3deg * var(--settle,0)))}
.case-pilot .case-collage-card:nth-child(1){left:7%;top:17%;--tilt:-7deg;--enter-x:-24px;--enter-y:28px}
.case-pilot .case-collage-card:nth-child(2){left:50%;top:12%;--tilt:6deg;--enter-x:24px;--enter-y:22px}
.case-pilot .case-collage-card:nth-child(3){left:27%;top:44%;width:48%;--tilt:-2deg;--enter-x:0px;--enter-y:36px}
.case-pilot .case-collage-data .case-collage-card:nth-child(1){left:5%;top:24%;width:54%;--tilt:-5deg}
.case-pilot .case-collage-data .case-collage-card:nth-child(2){left:57%;top:11%;width:38%;--tilt:5deg}
.case-pilot .case-collage-data .case-collage-card:nth-child(3){left:54%;top:53%;width:38%;--tilt:-2deg}
.case-pilot .case-collage-personas .case-collage-card:nth-child(1){left:5%;top:12%;width:40%;--tilt:-4deg}
.case-pilot .case-collage-personas .case-collage-card:nth-child(2){left:30%;top:30%;width:40%;--tilt:0deg}
.case-pilot .case-collage-personas .case-collage-card:nth-child(3){left:55%;top:48%;width:40%;--tilt:4deg}
.case-pilot .case-collage-card img{display:block;width:100%;height:auto;max-width:none;margin:0}
.case-pilot .case-media-block figcaption{padding:0 32px 28px;font-size:16px;line-height:1.5;color:inherit;text-align:left}
.case-pilot .case-media-block figcaption strong{display:block;margin-bottom:8px;font-weight:600}
.case-pilot .case-media-block figcaption p{margin:0;font:inherit;text-align:left}
.case-pilot .case-single-stage{padding:40px;overflow:hidden}
.case-pilot .case-single-image{display:block;width:100%;max-width:960px;height:auto;margin:0 auto;transform:translateY(calc(16px * var(--settle,0))) scale(calc(1 - .04 * var(--settle,0)));transform-origin:center}
.case-pilot .case-single-ticket .case-single-image{width:50%;max-width:480px}
.case-pilot .case-media-screens{padding:40px}
@media(max-width:600px){
 .case-pilot .case-collage{aspect-ratio:1.1}
 .case-pilot .case-collage-data .case-collage-card:nth-child(1){left:-8%;top:18%;width:78%}
 .case-pilot .case-collage-data .case-collage-card:nth-child(2){left:49%;top:6%;width:60%}
 .case-pilot .case-collage-data .case-collage-card:nth-child(3){left:32%;top:52%;width:68%}
 .case-pilot .case-collage-personas .case-collage-card:nth-child(1){left:-10%;top:10%;width:74%}
 .case-pilot .case-collage-personas .case-collage-card:nth-child(2){left:17%;top:34%;width:74%}
 .case-pilot .case-collage-personas .case-collage-card:nth-child(3){left:40%;top:57%;width:74%}
 .case-pilot .case-media-block figcaption{padding:0 20px 24px;font-size:14px}
 .case-pilot .case-single-stage,.case-pilot .case-media-screens{padding:24px 16px}
}
@media(prefers-reduced-motion:reduce){.case-pilot .case-collage-card{transition:none!important;transform:rotate(var(--tilt))!important}.case-opening-screens .case-opening-image,.case-pilot .case-single-image{transform:none!important}}
.case-pilot .case-accordion-content .case-heading{margin:40px 0 20px;font-size:20px;font-weight:600;line-height:1.4}
.case-pilot .case-accordion-content h5.case-heading{font-size:18px}
.case-pilot .case-accordion-content>.case-heading:first-child{margin-top:0}
.case-pilot .case-facts{margin-top:var(--case-section-gap);padding:40px;border:1px solid #bcbcbc;border-radius:6px;background:var(--case-bg)}
.case-facts-grid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);column-gap:32px;row-gap:60px;margin:0}
.case-fact-client,.case-fact-partner{width:100%;max-width:300px}
.case-facts-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:60px;margin:60px 0 0}
.case-fact{min-width:0}
.case-fact dt{font-size:14px;font-weight:400;line-height:1.5;margin-bottom:12px;color:color-mix(in srgb,var(--case-fg) 60%,var(--case-bg) 40%)}
.case-fact dd{margin:0;font-size:20px;line-height:1.5}
.case-fact-client dd,.case-fact-partner dd{display:grid;gap:32px;align-items:center}
html[data-page] body main .case-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
html[data-page] body main .case-tags li{padding:0;margin:0;font-size:16px;line-height:1.5}
/* Match the desktop navigation format; retain the facts link's resting stroke. */
.case-tags a{display:block;padding:9px 20px;border:1px solid color-mix(in srgb,var(--case-fg) 30%,transparent);border-radius:4px;background:transparent;color:inherit;line-height:20px;text-align:center;text-decoration:none;text-decoration-thickness:1px;text-underline-offset:6px}
.case-tags a:is(:hover,:active,:focus-visible){border-color:currentColor;background:transparent;text-decoration-line:underline}
.case-tags a:active{opacity:.8}
.case-pilot .case-facts .case-tags a{font-size:18px}
@media(max-width:767px){
 .case-pilot .case-opening .subtitle-project-item{font-size:18px}
 .case-pilot{--case-section-gap:40px}
 .case-opening-visual figcaption{font-size:12px;margin-top:16px}
 .case-pilot :is(.case-services,.case-process)>.heading-2{font-size:28px}
 .case-pilot .case-facts{padding:24px}
 .case-facts-metadata{grid-template-columns:minmax(0,1fr);column-gap:32px;row-gap:48px;margin:48px 0 0}
 .case-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:48px}
}
@media(max-width:479px){
 .case-pilot :is(.case-services,.case-process)>.heading-2{font-size:24px}
 .case-pilot .case-accordion-heading{font-size:20px}
 .case-pilot .case-accordion-content .case-heading{font-size:18px}
 .case-pilot .case-accordion-content h5.case-heading{font-size:16px}
 .case-pilot .case-accordion-trigger{gap:16px;padding:20px 0}
 .case-pilot .case-accordion-summary{font-size:14px;margin-top:10px}
 .case-pilot .case-accordion-icon{margin-top:2px}
 .case-facts-grid{grid-template-columns:minmax(0,1fr)}
}

/* Shared case schema: real source media retain their native proportions. */
.case-hero-gallery{border-radius:var(--radius-composition);overflow:hidden;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;background:var(--case-media-bg);padding:40px}
.case-hero-gallery .case-opening-image{width:100%;max-width:960px;flex:1 1 280px;min-width:0}
.case-hero-gallery:has(img:nth-child(2)) .case-opening-image{max-width:calc(50% - 12px)}
.case-pilot .case-media-block{color:var(--case-media-fg)}
.case-media-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:24px;align-items:center}
.case-pilot .case-fact-entity{display:flex;min-height:56px;align-items:center}
.case-fact-client dd:has(.case-fact-entity){grid-template-rows:none;gap:32px}
@media(max-width:767px){.case-hero-gallery{padding:24px 16px}.case-hero-gallery:has(img:nth-child(2)) .case-opening-image{max-width:100%}}
.case-hero-gallery figcaption{flex:1 1 100%;color:var(--case-media-fg);text-align:left}
.case-hero-gallery figcaption .case-caption{margin:0;font-size:16px;line-height:1.5;color:inherit}
.case-hero-gallery figcaption{margin:0}
@media(max-width:600px){.case-hero-gallery figcaption .case-caption{font-size:14px}}

/* Shared internal-page H1 scale; see docs/typography.md. Home keeps Display. */
:root{--type-h1-size:60px;--type-h1-leading:68px}
@media(min-width:768px) and (max-width:991px){:root{--type-h1-size:48px;--type-h1-leading:56px}}
@media(max-width:767px){:root{--type-h1-size:36px;--type-h1-leading:40px}}
html[data-page] body main h1:not(.home-page-slogan){font-family:'Open Sans',sans-serif;font-size:var(--type-h1-size);font-weight:700;line-height:var(--type-h1-leading);letter-spacing:normal;text-transform:none}
html[data-page] body main h1:not(.home-page-slogan) :is(strong,span){font:inherit;letter-spacing:inherit;text-transform:inherit}
html[data-page] body main h1>.heading-hero-section{margin-top:0;margin-bottom:0}
