/* Image framing only: the approved bitmap files remain unchanged. */
.page-hero,.service-page .layout-split,.service-page .layout-banner{position:relative;isolation:isolate}
.page-hero .page-copy,.service-page .page-copy{position:relative;z-index:2}
.page-art{border-radius:0}
.channel-art{border-radius:10px;margin: -22px -22px 18px;width:calc(100% + 44px);aspect-ratio:2.05}
.channel-art img{object-fit:cover;object-position:center}
.page-cta .cta-art{width:100%;height:100%;inset:0;position:absolute;margin:0;mask-image:none;-webkit-mask-image:none}
.page-cta .cta-art img{object-fit:cover;object-position:70% 52%}
.page-cta:has(.cta-art){min-height:250px;padding-block:30px}
.page-cta:has(.cta-art)>.container{padding:0;background:none;border-radius:0;position:relative;z-index:2}
.page-cta:has(.cta-art)::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#030303e8,#03030390 42%,transparent 75%);z-index:1;pointer-events:none}
.page-cta h2,.page-cta p:not(.eyebrow){max-width:630px}
.page-cta .button{position:relative;z-index:2}
.page-cta-blog{background:#fafaf8;color:#080808}
.page-cta-blog:has(.cta-art)::after{background:linear-gradient(90deg,#fafaf8,#fafaf8f0 40%,transparent 72%)}
.page-cta-blog p:not(.eyebrow){color:#5e5e67}
.page-cta-blog .cta-art{left:48%;width:52%}
.page-cta-blog .cta-art img{object-fit:cover;object-position:center 40%}
.contact-final-cta{min-height:260px}
.contact-cta-art img{object-fit:cover;object-position:75% 40%}
.faq-path-image .page-art{object-fit:cover}
@media(min-width:1024px){
 .page-hero{padding:38px 0;min-height:clamp(460px,34vw,580px)}
 .page-hero>.page-split{display:block;position:static}
 .page-hero .page-copy{max-width:46%;padding-block:12px}
 .page-hero .page-visual{position:absolute;inset:0 0 0 auto;width:59%;height:100%;aspect-ratio:auto;z-index:0;overflow:hidden}
 .page-hero .page-visual img{height:100%;width:100%;object-fit:cover;object-position:right center;mask-image:linear-gradient(90deg,transparent,#000 20%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%)}
 .service-page .layout-split,.service-page .layout-banner{padding-block:36px;min-height:clamp(410px,31vw,530px)}
 .service-page .layout-split>.page-split,.service-page .layout-banner>.page-split{display:block;position:static}
 .service-page .layout-split .page-copy,.service-page .layout-banner .page-copy{max-width:48%}
 .service-page .layout-split .page-visual,.service-page .layout-banner .page-visual{position:absolute;right:0;top:0;bottom:0;width:53%;height:100%;aspect-ratio:auto;z-index:0;overflow:hidden}
 .service-page .layout-split .page-visual img,.service-page .layout-banner .page-visual img{width:100%;height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 14%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%)}
 .service-page .visual-first .page-copy{margin-left:51%;max-width:49%}
 .service-page .visual-first .page-visual{right:auto;left:0;width:52%}
 .service-page .visual-first .page-visual img{mask-image:linear-gradient(90deg,#000 82%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);object-position:center}
 .service-page .visual-first .page-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .service-page .visual-first .page-card{padding:16px}
 .service-seo .service-section-2{min-height:440px}
 .service-seo .service-section-2 .page-copy{max-width:53%}
 .service-seo .service-section-2 .page-visual{width:51%}
 .service-seo .service-section-2 .page-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
 .service-seo .service-section-2 .page-card{padding:14px;background:#ffffffef}
 .service-seo .service-section-2 .page-card h3{font-size:15px}
 .service-seo .service-section-2 .page-card p{font-size:13px}
 .service-seo .service-section-3{padding-bottom:132px;min-height:430px}
 .service-seo .service-section-3 .page-copy{position:static}
 .service-seo .service-section-3 .page-copy>h2,.service-seo .service-section-3 .page-copy>.page-lead,.service-seo .service-section-3 .eyebrow{position:relative;z-index:2}
 .service-seo .service-section-3 .page-cards{position:absolute;z-index:3;left:56px;right:56px;bottom:22px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
 .service-seo .service-section-3 .page-card{padding:16px;background:#fffffff2;color:#080808;display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-content:start}
 .service-seo .service-section-3 .page-card-icon{grid-row:1/span 2;background:#ffe4a1;color:#080808;width:44px;height:44px}
 .service-seo .service-section-3 .page-card h3{margin:0 0 5px;font-size:15px}
 .service-seo .service-section-3 .page-card p{color:#66656c;font-size:13px}
 .service-seo .service-section-5{min-height:280px}
 .service-seo .service-section-5 .page-copy{max-width:50%}
 .service-seo .service-section-5 .page-visual{width:54%}
 .seo-journey-layout{grid-template-columns:32% minmax(0,1fr);gap:32px;align-items:stretch}
 .seo-journey-visual{height:100%;min-height:270px;aspect-ratio:auto;margin-left:-56px;width:calc(100% + 56px)}
 .seo-journey-visual img{height:100%;object-fit:cover;object-position:40% center;mask-image:linear-gradient(90deg,#000 86%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent)}
 .service-geo .service-section-2{min-height:350px}
 .service-geo .service-section-2 .page-copy{max-width:none;display:grid;grid-template-columns:35% 1fr 35%;gap:0 24px;align-items:start}
 .service-geo .service-section-2 .page-copy>h2,.service-geo .service-section-2 .page-copy>.page-lead,.service-geo .service-section-2 .eyebrow{grid-column:1}
 .service-geo .service-section-2 .page-cards{grid-column:3;grid-row:1/span 4;margin:0;align-self:center}
 .service-geo .service-section-2 .page-card{background:#fffffff2;padding:16px}
 .service-geo .service-section-2 .page-visual{width:68%}
 .service-geo .service-section-3{min-height:280px}
 .service-geo .service-section-3 .page-visual{width:61%}
 .service-geo .service-section-3 .page-copy{max-width:44%}
 .traffic-context-pair .layout-split{min-height:300px;padding:30px 24px}
 .traffic-context-pair .layout-split>.container{width:100%}
 .traffic-context-pair .layout-split .page-copy{max-width:64%}
 .traffic-context-pair .layout-split .page-visual{width:64%;height:100%}
 .traffic-context-pair .layout-split .page-visual img{object-position:58% center;mask-image:linear-gradient(90deg,transparent,#000 45%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%)}
 .traffic-context-pair .page-lead{font-size:15px;line-height:1.5}
 .blog-page .featured-article{position:relative;isolation:isolate;display:block;padding:0;min-height:380px;overflow:hidden}
 .blog-page .featured-article>div{position:relative;z-index:2;max-width:53%;padding:32px}
 .blog-page .featured-image{position:absolute;right:0;top:0;bottom:0;width:63%;height:100%;z-index:0}
 .blog-page .featured-image img{width:100%;height:100%;object-fit:cover;object-position:right center;mask-image:linear-gradient(90deg,transparent,#000 24%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%)}
 .faq-hero-art{left:42%}
 .faq-hero-art .page-art{object-fit:cover;object-position:right center;mask-image:linear-gradient(90deg,transparent,#000 15%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%)}
 .faq-cta-art{left:43%;width:auto;right:calc((100% - 100vw)/2);top:0;bottom:0;height:100%}
 .faq-cta-art .page-art{object-fit:cover;object-position:right center;mask-image:linear-gradient(90deg,transparent,#000 20%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%)}
 .contact-process-visual{right:calc((100% - 100vw)/2);width:61%}
 .contact-process-visual img{object-fit:cover;object-position:65% center}
 .contact-process-steps{max-width:60%}
 /* Preserve complete heads and interface lettering in shorter compositions. */
 .service-geo .page-hero .page-copy{max-width:50%}
 .service-geo .page-hero h1{font-size:clamp(38px,3.35vw,52px)}
 .service-geo .service-section-2{min-height:460px}
 .service-geo .service-section-2 .page-visual{left:32%;right:auto;width:34%;mask-image:none;-webkit-mask-image:none}
 .service-geo .service-section-2 .page-visual img{object-fit:contain;object-position:center}
 .service-geo .service-section-3{min-height:340px}
 .service-geo .service-section-3 .page-visual img{object-fit:contain;object-position:right center}
 .service-seo .service-section-2 .page-visual img{object-fit:contain;object-position:right center}
 .service-seo .service-section-3 .page-visual img{object-fit:contain;object-position:right center}
 .service-seo .service-section-5 .page-visual img{object-fit:contain;object-position:right center}
 .traffic-context-pair .page-copy{background:linear-gradient(90deg,#fff,#fffffff2 78%,transparent);padding-right:22px}
 .traffic-context-pair .dark .page-copy{background:linear-gradient(90deg,#080808,#080808ec 78%,transparent)}
 .page-cta:has(.cta-art){min-height:300px}
 .page-cta .cta-art{left:auto;right:0;width:64%}
 .page-cta .cta-art img{object-fit:contain;object-position:right center}
 .page-cta-geo:has(.cta-art){min-height:350px}
 .page-cta-geo>.container,.page-cta-blog>.container{display:block}
 .page-cta-geo .button,.page-cta-blog .button{margin-top:20px}
 .page-cta-blog .cta-art{width:56%;left:auto;right:0}
 .page-cta-blog h2,.page-cta-blog p:not(.eyebrow){max-width:52%}
 .contact-final-cta{min-height:320px}
 .contact-cta-art img{object-fit:contain;object-position:right center}
 .faq-reference-cta{min-height:320px}
 .faq-cta-art .page-art{object-fit:contain;object-position:right center}
}
@media(min-width:768px) and (max-width:1023px){
 .page-hero .page-split,.service-page .page-split{gap:24px}
 .page-visual{aspect-ratio:auto;height:100%;min-height:320px}
 .page-visual img{object-fit:contain}
 .service-page .page-cards{gap:12px}
 .channel-art{margin:-18px -18px 18px;width:calc(100% + 36px)}
}
@media(max-width:767px){
 .page-hero,.service-page .layout-split,.service-page .layout-banner{padding-bottom:0}
 .page-hero .page-split,.service-page .page-split{gap:24px}
 .page-hero .page-visual,.service-page .layout-split .page-visual,.service-page .layout-banner .page-visual{width:calc(100% + 40px);margin-left:-20px;height:auto;max-height:none;aspect-ratio:auto;display:block}
 .page-visual .page-art{height:auto;object-fit:contain;mask-image:none;-webkit-mask-image:none}
 .traffic-context-pair .layout-split{padding-bottom:0}
 .channel-art{margin:-22px -22px 18px;width:calc(100% + 44px)}
 .seo-journey-visual{aspect-ratio:auto;height:auto;width:calc(100% + 40px);margin-left:-20px;max-height:none}
 .seo-journey-visual img{height:auto;object-fit:contain}
 .page-cta:has(.cta-art){padding:30px 0 0}
 .page-cta:has(.cta-art)>.container{padding:0 0 25px}
 .page-cta .cta-art,.page-cta-blog .cta-art{position:relative;inset:auto;width:100%;height:auto;display:block;order:2}
 .page-cta .cta-art img{height:auto;object-fit:contain}
 .page-cta:has(.cta-art){display:flex;flex-direction:column}
 .page-cta:has(.cta-art)::after{display:none}
 .contact-final-cta{padding-bottom:0;display:flex;flex-direction:column}
 .contact-final-cta>.container{padding-bottom:25px}
 .contact-cta-art{position:relative;inset:auto;order:2}
 .contact-cta-art img{height:auto;object-fit:contain}
 .contact-final-cta:has(.contact-cta-art)::after{display:none}
 .faq-hero-art,.faq-cta-art{display:block;position:relative;inset:auto;width:calc(100% + 40px);margin-left:-20px;height:auto}
 .faq-hero-layout{display:block}
 .faq-hero-art .page-art,.faq-cta-art .page-art{height:auto;object-fit:contain}
 .faq-cta-copy{padding-bottom:25px}
 .contact-hero-visual{display:block;min-height:0;height:auto;width:calc(100% + 40px);margin:0 -20px;max-height:540px;overflow:hidden}
 .contact-hero-visual .page-art{height:540px;object-fit:contain;object-position:center}
}
