/* Shared rhythm across content pages. Keep headings and adjacent blocks in normal flow. */
:root{--section-space:80px;--section-heading-gap:48px;--content-gap:32px}
main>section.wrap,main>section.homeStatement{padding-top:var(--section-space)!important;padding-bottom:var(--section-space)!important}
main>section.pageHero{padding-top:64px!important;padding-bottom:56px!important}
main>section.pageHero+section.contentSection{padding-top:32px!important}
main>section.serviceHero{padding-top:64px!important;padding-bottom:72px!important}
main>section.ctaSection{padding-top:32px!important;padding-bottom:88px!important}
main>section.relatedSection{padding-top:32px!important}
main>section.thankYou{padding-top:80px!important;padding-bottom:88px!important}
.sectionhead{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end;gap:32px 56px;margin:0 0 var(--section-heading-gap)}
.sectionhead>:only-child{grid-column:1/-1}.sectionhead>*{min-width:0}.sectionhead>p{margin:0;max-width:410px;line-height:1.85}.sectionhead>.textlink{justify-self:end;max-width:100%;line-height:1.7}
.sectionhead .eyebrow{margin:0 0 22px;padding:0;line-height:1.8}.sectionhead h2{margin:0;line-height:1.18}
:is(.educationGrid,.timeline,.certificationList,.skillsPanels)+.sectionhead{margin-top:88px}
main :is(h1,h2,h3,p,.eyebrow){overflow-wrap:break-word}
:is(.serviceHeroGrid,.projectIntro,.aboutFull,.contactgrid,.statementGrid,.careerEntry)>*{min-width:0}
.careerEntry{grid-template-columns:210px minmax(0,1fr);gap:40px;padding:44px 0}.careerDate{line-height:1.7}.careerDate span{margin-top:9px;max-width:none;line-height:1.7;letter-spacing:0}.careerContent>.eyebrow{margin:0;line-height:1.8}.careerEntry h3{margin:12px 0 22px;line-height:1.3}.careerEntry p{margin:0 0 18px;line-height:1.9}.careerWebsite{display:inline-flex!important;align-items:center;gap:10px;margin-top:22px!important;line-height:1.7}.careerEntry .chips{margin-top:22px;gap:8px}.educationGrid{gap:24px}.educationGrid article{min-width:0}.educationGrid h3{margin:20px 0 16px;line-height:1.4}.educationGrid p{margin:0;line-height:1.9}.certificationList article{padding:28px 0}.certificationList h3{line-height:1.4}.certificationList p{margin-bottom:0}
.projectIntro{gap:40px 70px;margin-bottom:56px}.socialShowcaseHead{gap:36px 48px;margin:56px 0 32px}.socialShowcaseHead>*{min-width:0}.socialShowcaseHead h2{line-height:1.18;margin:20px 0}.socialShowcaseFoot{padding:24px 0 36px}.websiteShowcase{padding:32px 0 56px;gap:36px}.feedToolbar{line-height:1.8}.socialProfileLink{line-height:1.6}
/* Captions follow the actual artwork instead of covering its bottom edge. */
.brandCover{display:flex;flex-direction:column;aspect-ratio:auto;min-height:440px;padding:25px 24px 22px}.coverTopline{flex-shrink:0}.coverTitle{flex-shrink:0}.coverPosts{flex-shrink:0;margin-bottom:4px}.coverFocus{position:static;inset:auto;margin-top:auto;padding:28px 0 0;background:none}.coverFocus strong{padding-right:34px;line-height:1.6}.coverCampaign{margin:12px 0 0;flex-shrink:0}.campaignCover .coverFocus{padding:28px 0 0}.projectbody h3{line-height:1.35}.projectbody p{line-height:1.85}.projectMedia .galleryPill{bottom:23px;right:22px}.projectMedia .coverMiniArrow .uiIcon{width:17px;height:17px}
.contactPage{margin:40px 28px 0;padding:72px 0!important}.contactgrid{gap:56px}.contactHeading{line-height:1.12}.formrow{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}input,select,textarea{min-width:0;max-width:100%}.privacyCheck{margin-top:24px;margin-bottom:24px}.formnote{line-height:1.8}.legalCopy h2{margin-top:40px;line-height:1.3}.legalCopy p{line-height:1.9}
.aboutFull{gap:48px 72px}.aboutFull p{margin:22px 0;line-height:1.9}.timeline h3{line-height:1.35}.timeline p{line-height:1.85}.deliveryGrid article{min-width:0}.deliveryGrid h3{line-height:1.35}.deliveryGrid p{line-height:1.85}.steps .step{min-width:0}.steps h3{line-height:1.4}.flowEndpoints{flex-wrap:wrap}
@media(max-width:1000px){.sectionhead{grid-template-columns:1fr;gap:24px}.sectionhead>.textlink{justify-self:start}.sectionhead>p{max-width:620px}.careerEntry{grid-template-columns:175px minmax(0,1fr);gap:28px}.socialShowcaseHead{grid-template-columns:1fr;gap:24px}.socialProfileLink{justify-self:start}.aboutFull{gap:40px}.websiteShowcase{gap:28px}}
@media(max-width:750px){:root{--section-space:64px;--section-heading-gap:36px}.sectionhead{gap:22px}.sectionhead .eyebrow{margin-bottom:20px}.sectionhead>p{margin:0;line-height:1.85}.sectionhead h2{line-height:1.2}.pageHero h1,.serviceHero h1{line-height:1.15}.pageHero .pageLead{line-height:1.85}main>section.pageHero{padding-top:42px!important;padding-bottom:40px!important}main>section.pageHero+section.contentSection{padding-top:28px!important}main>section.serviceHero{padding-top:42px!important;padding-bottom:48px!important}main>section.ctaSection{padding-top:24px!important;padding-bottom:64px!important}main>section.thankYou{padding-top:56px!important;padding-bottom:64px!important}:is(.educationGrid,.timeline,.certificationList,.skillsPanels)+.sectionhead{margin-top:64px}.careerEntry{grid-template-columns:minmax(0,1fr);gap:18px;padding:32px 0}.careerDate span{margin-top:5px}.careerEntry h3{font-size:25px;line-height:1.3;margin:10px 0 20px}.careerEntry p{font-size:14px;line-height:1.9}.careerWebsite{margin-top:18px!important}.educationGrid{gap:20px}.educationGrid article{padding:26px}.certificationList article{padding:25px 0}.projectIntro{gap:28px;margin-bottom:40px}.socialShowcaseHead{margin:40px 0 28px}.socialShowcaseHead h2{line-height:1.2}.socialShowcaseFoot{padding:20px 0 32px}.websiteShowcase{grid-template-columns:1fr;padding:28px 0 44px;gap:26px}.brandCover{min-height:350px;padding:22px 20px}.coverFocus{padding:24px 0 0}.campaignCover .coverFocus{padding:24px 0 0}.coverTitle{margin-bottom:22px}.coverPosts{gap:6px}.contactPage{margin:28px 12px 0;padding:56px 0!important}.contactgrid{gap:40px}.contactHeading{font-size:45px;letter-spacing:-2px;line-height:1.15}.aboutFull{gap:36px}.aboutFull>.portrait{position:static}.legalCopy h2{font-size:25px;margin-top:34px}.thankYou h1{line-height:1.15}.ctaBox h2{line-height:1.2}}
@media(max-width:420px){.formrow{grid-template-columns:minmax(0,1fr);gap:20px}.brandCover{min-height:340px}.careerEntry h3{font-size:23px}.pageHero h1,.serviceHero h1{font-size:40px;letter-spacing:-1.8px}.contactHeading{font-size:40px}.languages dl>div{gap:16px}.languages dt,.languages dd{font-size:12px}.socialProfileLink{padding:18px}.coverTitle{font-size:29px}}

/* Shared project-card geometry on the home carousel and portfolio grid. */
.project{display:flex;flex-direction:column}.projectMedia{display:block;flex-shrink:0}.projectbody{flex:1;display:flex;flex-direction:column}.projectbody h3{min-height:2.7em;margin-bottom:14px}.projectbody p{margin-top:0}.brandCover .coverTitle{font-size:clamp(25px,2.35vw,34px);line-height:1.1;min-height:62px;margin:16px 0 22px}.brandCover .coverTitle small{line-height:1.5;letter-spacing:2px}.brandCover .coverPosts{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.brandCover .coverPosts img{min-width:0}.brandCover .coverFocus{min-height:82px}.projectbody>.eyebrow{min-height:1.8em}
@media(max-width:750px){.brandCover .coverTitle{font-size:29px;min-height:62px}.projectbody h3{min-height:0}.brandCover .coverFocus{min-height:78px}}

/* An equal visual slot preserves each project's artwork without changing card height. */
.coverVisual{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:2/1;flex-shrink:0;min-width:0}.brandCover .coverVisual .coverPosts{width:100%;margin:0;flex-shrink:0}.brandCover .coverVisual .coverCampaign{width:86%;margin:0;flex-shrink:0;transform:rotate(-3deg);border:3px solid #f4e6cb}.coverVisual .coverCampaign img{width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}.brandCover .coverFocus{margin-top:auto}

/* Approved horizontal logo; screen blending makes its black matte disappear on navy. */
.brand.brandLogo{display:inline-flex;align-items:center;flex-shrink:0;line-height:1;letter-spacing:0}.brand.brandLogo::after{display:none}.brandLogo img{display:block;width:184px;height:auto;mix-blend-mode:screen}.siteFooter .brandLogo img{width:220px}.brand.brandLogo:hover,.brand.brandLogo:focus-visible{opacity:1;background:transparent;filter:none}@media(max-width:750px){.brandLogo img{width:154px}.siteFooter .brandLogo img{width:200px}}

/* Compact mobile navigation: keep service links visible without stacked intro cards. */
@media(max-width:750px){
.servicesOpen header{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
.servicesOpen nav.wrap{min-height:64px;padding-top:12px;padding-bottom:0}
.servicesOpen .navlinks{gap:0;margin:12px 0 0;padding:8px 12px;border-radius:14px}
.servicesOpen .navlinks>a{display:none}
.servicesOpen .megaToggle{padding:12px;font-size:15px}
.servicesOpen .megaPanel{margin:8px 16px 16px;padding:8px 16px 14px;max-height:none;min-height:0;border-radius:16px;box-shadow:none}
.servicesOpen .megaIntro{display:none}
.servicesOpen .megaGrid{display:grid;grid-template-columns:1fr;gap:0}
.servicesOpen .megaService{padding:16px 0;border:0;border-bottom:1px solid #adc5e3;border-radius:0;gap:12px;grid-template-columns:34px minmax(0,1fr)}
.servicesOpen .megaService:last-child{border-bottom:0}
.servicesOpen .megaService strong{font-size:15px;line-height:1.4;margin-bottom:4px}
.servicesOpen .megaService small{font-size:12px;line-height:1.5}
.servicesOpen .megaIcon{width:32px;height:32px}
}

/* Floating mobile contact action with room for iPhone home indicator. */
@media(max-width:750px){
 body{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
 .mobilebar{display:flex;position:fixed;inset:auto 16px calc(14px + env(safe-area-inset-bottom,0px)) 16px;width:auto;min-height:56px;box-sizing:border-box;align-items:center;justify-content:center;gap:12px;padding:16px 24px;margin:0;border:1px solid #b9daff;border-radius:999px;background:#9ac8ff;color:#0a1c39;font-size:16px;font-weight:700;line-height:24px;z-index:18;box-shadow:0 0 0 6px #9ac8ff14,0 10px 35px #020a1966;text-align:center}
 .mobilebar:hover,.mobilebar:focus-visible{background:#c2dfff;color:#0a1c39;transform:none}
 .mobilebar .uiIcon{width:20px;height:20px;flex-shrink:0}
 .servicesOpen .mobilebar{visibility:hidden;pointer-events:none}
 #iubenda-cs-preferences-link,.iubenda-cs-preferences-link{bottom:calc(94px + env(safe-area-inset-bottom,0px))!important}
}
