/* Shared page geometry. Surface edges are fluid; prose keeps a readable measure. */
html body.theme-vibrant{
 --page-gutter:clamp(24px,3.3vw,64px);
 --section-space:clamp(44px,4.4vw,68px);
 --panel-space:clamp(28px,3.3vw,48px);
 --grid-space:24px;
 --title-size:clamp(40px,4.4vw,64px);
 --heading-size:clamp(30px,3vw,44px);
 --body-size:16px;
}
html body.theme-vibrant .wrap{width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:var(--page-gutter)!important}
html body.theme-vibrant .wrap>header.reference-header,html body.theme-vibrant .wrap>header.reference-header.is-scrolled{width:calc(100% + 2 * var(--page-gutter))!important;margin-inline:calc(-1 * var(--page-gutter))!important;padding-inline:var(--page-gutter)!important}
html body.theme-vibrant main#main{width:100%!important;max-width:none!important;margin-inline:0!important}
html body.theme-vibrant main#main :is(.career-visual,.about-biography){width:100%!important;max-width:none!important;margin-inline:0!important}
html body.theme-vibrant main#main>section,html body.theme-vibrant main#main :is(.career-visual,.about-biography)>section{width:100%!important;max-width:none!important;margin-inline:0!important;min-width:0!important}
html body.theme-vibrant main#main :is(.section,.case-intro,.contact-introduction){padding-block:var(--section-space)!important}
html body.theme-vibrant main#main :is(.page-hero,.case-hero,.detail-opening,.editorial-case-hero){padding:var(--panel-space)!important;margin-block:28px 32px!important;gap:var(--grid-space)!important;border-radius:22px!important}
html body.theme-vibrant main#main :is(.page-hero,.case-hero,.detail-opening,.editorial-case-hero) h1{font-size:var(--title-size)!important;line-height:1.12!important;letter-spacing:-.045em!important;margin-block:18px 22px!important;max-width:24ch!important}
html body.theme-vibrant main#main :is(.page-hero,.case-hero,.detail-opening,.editorial-case-hero) p{font-size:var(--body-size)!important;line-height:1.75!important;max-width:68ch!important}
html body.theme-vibrant main#main :is(.section-head h2,.case-intro>h2,.feature>h2,.case-focus>h2,.detail-context>h2,.lesson-body h2,.role-takeaway h2,.enquiry-section>div>h2){font-size:var(--heading-size)!important;line-height:1.2!important;letter-spacing:-.035em!important}
html body.theme-vibrant main#main .section-head{gap:20px 40px!important;align-items:end!important;margin-bottom:28px!important}
html body.theme-vibrant main#main .section-head h2{margin:8px 0 0!important}
html body.theme-vibrant main#main .section-head>p{font-size:var(--body-size)!important;line-height:1.75!important;margin:0!important;max-width:48ch!important}
html body.theme-vibrant main#main :is(.story-grid,.collection-grid,.home-service-grid,.service-detail-grid,.profile-detail-grid,.depth-grid,.live-grid,.outcome-grid,.role-story-grid,.service-offers,.collaboration-grid,.opportunity-grid){gap:var(--grid-space)!important;align-items:stretch!important}
html body.theme-vibrant main#main :is(.story-copy,.collection-caption,.live-copy,.home-service,.role-story,.outcome-card,.service-detail-grid>article,.profile-detail-grid>article,.depth-grid>article,.service-offers>article,.opportunity-grid>a){padding:clamp(20px,2vw,28px)!important;min-width:0!important}
html body.theme-vibrant main#main :is(.story-copy,.collection-caption,.live-copy,.home-service,.role-story,.outcome-card) h3{font-size:clamp(21px,1.8vw,26px)!important;line-height:1.3!important;margin-block:12px!important}
html body.theme-vibrant main#main :is(.story-copy,.collection-caption,.live-copy,.home-service,.role-story,.outcome-card,.depth-grid>article) p{font-size:15px!important;line-height:1.75!important}
html body.theme-vibrant main#main :is(.feature,.case-focus,.role-brief,.role-takeaway,.venture-feature,.track-record,.statement,.contact-panel){padding:var(--panel-space)!important;margin-block:24px!important;border-radius:20px!important}
html body.theme-vibrant main#main :is(.case-intro,.lesson-body){width:100%!important;max-width:none!important;margin-inline:0!important}
html body.theme-vibrant main#main .lesson-body{padding-block:var(--section-space)!important}
html body.theme-vibrant main#main :is(.case-intro,.lesson-body,.feature,.case-focus,.detail-context)>p{max-width:72ch!important;font-size:var(--body-size)!important;line-height:1.8!important}
html body.theme-vibrant main#main .lesson-body>section{max-width:none!important;padding-block:24px!important;margin:0!important;border-bottom:1px solid #e3e6dc}
html body.theme-vibrant main#main .lesson-body :is(p,ul,ol){max-width:72ch!important}
html body.theme-vibrant main#main .visual-story{margin-block:24px 32px!important}
html body.theme-vibrant main#main .page-directory{width:100%!important;max-width:none!important;margin:24px 0!important}
html body.theme-vibrant main#main .project-meta{gap:24px!important;margin-block:24px!important;padding:var(--panel-space)!important}
html body.theme-vibrant main#main :is(.story-card,.collection-card,.live-card){overflow:hidden!important}
html body.theme-vibrant main#main :is(.story-card figure,.collection-art,.live-image){aspect-ratio:16/10!important;margin:0!important;min-height:0!important}
html body.theme-vibrant main#main :is(.media-grid,.record-grid,.project-gallery){gap:var(--grid-space)!important}
html body.theme-vibrant main#main :is(.pill,.enquiry-submit){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;min-height:48px!important;line-height:1.4!important;padding:12px 20px!important}
html body.theme-vibrant main#main :is(.enquiry-section,.contact-layout){gap:clamp(24px,4vw,56px)!important;align-items:start!important}
html body.theme-vibrant main#main .enquiry-form{padding:var(--panel-space)!important}
html body.theme-vibrant .modern-footer{width:100%!important;max-width:none!important;margin-inline:0!important;padding:var(--panel-space)!important}
html body.theme-vibrant .footer-columns{gap:32px!important}
html body.theme-vibrant .footer-invitation{padding:0 0 32px!important}
@media(min-width:601px) and (max-width:1000px){
 html body.theme-vibrant{--page-gutter:28px;--panel-space:28px;--grid-space:20px;--title-size:clamp(38px,5.5vw,54px);--heading-size:32px;--body-size:15px}
 html body.theme-vibrant main#main .section-head{grid-template-columns:1fr!important;gap:14px!important}
 html body.theme-vibrant main#main .section-head>p{justify-self:start!important;max-width:66ch!important}
 html body.theme-vibrant main#main :is(.story-grid,.collection-grid,.home-service-grid,.service-detail-grid,.depth-grid,.live-grid,.role-story-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.theme-vibrant main#main :is(.venture-feature,.enquiry-section){grid-template-columns:1fr!important}
 html body.theme-vibrant main#main .workflow-panel ol{grid-template-columns:1fr!important}
 html body.theme-vibrant .footer-invitation{grid-template-columns:1fr!important}
 html body.theme-vibrant .footer-invitation .footer-contact{grid-column:1!important;grid-row:auto!important;justify-self:start!important}
}
@media(max-width:600px){
 html body.theme-vibrant{--page-gutter:16px;--section-space:32px;--panel-space:22px;--grid-space:16px;--title-size:clamp(29px,8vw,38px);--heading-size:clamp(26px,7vw,31px);--body-size:14px}
 html body.theme-vibrant main#main :is(.page-hero,.case-hero,.detail-opening,.editorial-case-hero){margin-block:20px 24px!important;border-radius:18px!important}
 html body.theme-vibrant main#main .section-head{grid-template-columns:1fr!important;gap:14px!important;margin-bottom:22px!important}
 html body.theme-vibrant main#main .section-head>p{justify-self:start!important}
 html body.theme-vibrant main#main :is(.story-grid,.collection-grid,.home-service-grid,.service-detail-grid,.profile-detail-grid,.depth-grid,.live-grid,.outcome-grid,.role-story-grid,.service-offers,.collaboration-grid,.opportunity-grid){grid-template-columns:1fr!important}
 html body.theme-vibrant main#main :is(.story-copy,.collection-caption,.live-copy,.home-service,.role-story,.outcome-card) h3{font-size:21px!important}
 html body.theme-vibrant main#main :is(.story-copy,.collection-caption,.live-copy,.home-service,.role-story,.outcome-card) p{font-size:14px!important}
 html body.theme-vibrant main#main .project-meta{gap:18px!important}
 html body.theme-vibrant main#main .visual-story{margin-block:20px 24px!important}
 html body.theme-vibrant main#main .page-directory{margin-block:20px!important}
 html body.theme-vibrant .modern-footer{padding-bottom:76px!important}
 html body.theme-vibrant .footer-columns{gap:24px 16px!important}
}
/* Logo contrast and the standalone campaign preview use the same page geometry. */
html body.theme-vibrant main#main :is(.portfolio-brandboard,.company-logo-grid,.employer-identity) img[src$="dre.png"]{filter:brightness(0)!important}
html body.theme-vibrant.page-mockup main#main{width:calc(100% - 2 * var(--page-gutter))!important;margin-inline:var(--page-gutter)!important;margin-block:32px!important;padding:0!important}
html body.theme-vibrant main#main h2{font-size:var(--heading-size)!important;line-height:1.2!important;letter-spacing:-.035em!important}
html body.theme-vibrant main#main :is(.service-offers>article,.depth-grid>article,.profile-detail-grid>article,.service-detail-grid>article) h2{font-size:clamp(22px,2vw,28px)!important;line-height:1.3!important}
html body.theme-vibrant main#main #career-overview .section-head h2{font-size:var(--heading-size)!important}
html body.theme-vibrant.page-home main#main #introduction{padding:var(--panel-space)!important}
html body.theme-vibrant .modern-footer{margin-block:32px 24px!important}
html body.theme-vibrant .footer-invitation{gap:12px 24px!important}
html body.theme-vibrant .footer-columns{padding-block:28px!important}
