/* AppsBrain V44 — unified responsive rhythm. Preserve design tokens and desktop art direction.
   Loaded after all earlier styles: prevents cascade regressions between older page families. */
:root { --ab44-mobile-edge:clamp(18px,5.2vw,28px); }
:where(.inner-hero,.inner-block,.ab18-blog-hero,.ab18-archive,.ab21-booking,.case-v13-hero,.service-v11-hero,.cms-list-hero,.cms-article-hero) { min-width:0; }
:where(.inner-hero,.service-v11-hero,.cms-list-hero,.cms-article-hero) :is(h1,h2,p) { max-width:100%; }
@media(max-width:1024px){
 body:has(#abnav-shell) :is(.inner-hero,.service-v11-hero,.cms-list-hero,.cms-article-hero,.case-v13-hero){padding-top:clamp(117px,13vw,150px);}
 body:has(#abnav-shell) .inner-hero{padding-bottom:clamp(48px,6vw,76px);}
 body:has(#abnav-shell) .inner-block{padding-block:clamp(55px,7vw,78px);}
}
@media(max-width:760px){
 /* Floating navigation consumes approximately 74px of screen space on phones. */
 body:has(#abnav-shell) :is(.inner-hero,.service-v11-hero,.cms-list-hero,.cms-article-hero,.case-v13-hero){padding-top:clamp(105px,29vw,125px);padding-bottom:clamp(30px,8vw,45px);}
 body:has(#abnav-shell) .inner-hero h1{font-size:clamp(38px,11vw,58px);line-height:1.11;letter-spacing:-.06em;margin:clamp(20px,5vw,28px) 0 clamp(18px,5vw,26px);text-wrap:balance;}
 body:has(#abnav-shell) .inner-hero h1 em{letter-spacing:-.035em;line-height:1.13;overflow-wrap:normal;word-break:normal;}
 body:has(#abnav-shell) .inner-hero .inner-sub{display:flex;flex-direction:column;gap:clamp(16px,5vw,24px);align-items:flex-start;}
 body:has(#abnav-shell) .inner-hero .inner-sub p{font-size:clamp(16px,4.25vw,19px);line-height:1.57;margin:0;}
 body:has(#abnav-shell) .inner-hero .inner-sub span{margin:0;}
 body:has(#abnav-shell) .inner-block{padding-block:clamp(36px,9vw,56px);}
 body:has(#abnav-shell) .inner-block .two-col{gap:clamp(18px,6vw,27px);}
 body:has(#abnav-shell) .inner-block .two-col h2{font-size:clamp(34px,9.4vw,51px);line-height:1.14;letter-spacing:-.058em;overflow-wrap:normal;}
 body:has(#abnav-shell) .inner-block .two-col>div>p:first-child{margin-top:0;}
 body:has(#abnav-shell) :is(.service-v11-hero,.cms-list-hero,.cms-article-hero) h1{font-size:clamp(38px,10.8vw,60px);line-height:1.12;letter-spacing:-.055em;}
 body:has(#abnav-shell) :is(.service-v11-hero,.cms-list-hero,.cms-article-hero) h1 em{line-height:1.12;letter-spacing:-.03em;}
 body:has(#abnav-shell) .service-v11-hero-grid{gap:clamp(22px,6vw,38px);}
 body:has(#abnav-shell) .case-v13-heading{padding-top:clamp(24px,6vw,45px);}
 body:has(#abnav-shell) .case-v13-heading h1{font-size:clamp(40px,11vw,64px);line-height:1.1;letter-spacing:-.055em;}
 /* The Insights landing page uses a separate CMS-rendered editorial hero. */
 body:has(#abnav-shell) .ab18-blog-hero{padding:clamp(108px,28vw,126px) 0 clamp(38px,9vw,55px);}
 body:has(#abnav-shell) .ab18-journal-topline{margin-bottom:clamp(24px,7vw,36px);}
 body:has(#abnav-shell) .ab18-journal-intro{gap:clamp(19px,5vw,27px);}
 body:has(#abnav-shell) .ab18-journal-intro h1{font-size:clamp(40px,11vw,60px);line-height:1.1;letter-spacing:-.06em;text-wrap:balance;}
 body:has(#abnav-shell) .ab18-journal-intro h1 em{letter-spacing:-.035em;}
 body:has(#abnav-shell) .ab18-journal-intro p{line-height:1.6;}
 body:has(#abnav-shell) .ab18-blog-stats{margin-top:clamp(22px,6vw,34px);}
 body:has(#abnav-shell) .ab18-archive{padding-top:clamp(42px,10vw,62px);}
 /* Prevent the injected booking panel from losing its container rhythm on mobile. */
 body:has(#abnav-shell) .ab21-booking{box-sizing:border-box;width:auto;max-width:none;margin:clamp(32px,8vw,52px) var(--ab44-mobile-edge);padding:clamp(22px,6vw,30px);border-radius:20px;gap:clamp(17px,5vw,26px);}
 body:has(#abnav-shell) .ab21-booking h2{line-height:1.14;letter-spacing:-.045em;}
 body:has(#abnav-shell) .ab21-booking-link{max-width:100%;white-space:normal;justify-content:center;}
 /* No fixed CTA on mobile: it repeatedly obscured important headings, forms, and footer copy. */
 body:has(#abnav-shell) .growth-floating-cta{display:none!important;}
 body:has(#abnav-shell) .footer-top h2{font-size:clamp(48px,11vw,76px);line-height:1.07;letter-spacing:-.065em;overflow-wrap:normal;}
 body:has(#abnav-shell) .footer-ctas{gap:18px;}
}
@media(max-width:380px){
 body:has(#abnav-shell) .inner-hero h1{font-size:clamp(36px,10.6vw,42px);}
 body:has(#abnav-shell) .ab18-journal-intro h1{font-size:clamp(38px,10.6vw,45px);}
 body:has(#abnav-shell) .ab21-booking{margin-inline:16px;padding:20px;}
}
@media(min-width:761px){
 /* Keep the footer CTA away from the screen edge and visible above floating browser widgets. */
 body:has(#abnav-shell) .growth-floating-cta{bottom:max(22px,env(safe-area-inset-bottom));right:max(22px,env(safe-area-inset-right));}
}

/* Commercial related expertise: intentional contextual links without a second services grid. */
.ab-related-services{padding:clamp(40px,6vw,84px) 0;background:#f6f6f2;border-top:1px solid rgba(14,18,27,.10)}
.ab-related-services .container{max-width:1240px}
.ab-related-kicker{font-size:11px;letter-spacing:.17em;font-weight:700;color:#6f7481}
.ab-related-services h2{font-size:clamp(26px,3vw,42px);line-height:1.12;letter-spacing:-.045em;margin:16px 0 24px;color:#161821}
.ab-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ab-related-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border:1px solid rgba(15,17,27,.14);border-radius:16px;padding:19px 20px;color:#141620;background:#fff;text-decoration:none;font-weight:650;line-height:1.4;transition:background .2s,border-color .2s,transform .2s}
.ab-related-links a span{color:#5966f2;flex-shrink:0}
.ab-related-links a:hover,.ab-related-links a:focus-visible{background:#eeefff;border-color:#5966f2;transform:translateY(-2px)}
.ab-related-links a:active{transform:translateY(0);background:#e1e5ff}
.ab-related-links a:focus-visible,.ab-related-work:focus-visible{outline:3px solid #5865f2;outline-offset:3px}
.ab-related-work{display:inline-flex;margin-top:22px;font-weight:700;color:#313bc4;text-underline-offset:5px}
@media(max-width:760px){.ab-related-services{padding:44px 0}.ab-related-services h2{margin:12px 0 18px}.ab-related-links{grid-template-columns:1fr}.ab-related-links a{padding:15px 18px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){.ab-related-links a{transition:none}.ab-related-links a:hover,.ab-related-links a:focus-visible{transform:none}}

.ab-editorial-related{padding:17px 20px;border-left:3px solid #5966f2;background:#f3f3fa;border-radius:0 8px 8px 0;font-size:.96em;margin:25px 0!important;color:#373c48}
.ab-editorial-related a{font-weight:700;color:#353ec4;text-underline-offset:4px}
.ab-editorial-related a:focus-visible{outline:3px solid #5966f2;outline-offset:3px}
