/* Shared responsive geometry: content and approved photos occupy independent tracks. */
main .page-copy,main .hero-copy,main .strategy-copy,main .crm-copy{min-width:0}
main h1,main h2,main h3,main p{overflow-wrap:break-word}
main .button{max-width:100%;white-space:normal}
.hero-benefits{width:100%;max-width:100%;white-space:normal;flex-wrap:wrap}
.contact-form>*{min-width:0}.contact-form input,.contact-form textarea,.contact-form select{max-width:100%}
.blog-page .recommended-actions .blog-handwriting{padding-right:40px}
@media(min-width:768px){
 .service-page .page-hero>.page-split,.service-page .layout-split>.page-split,.service-page .layout-banner>.page-split{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:32px;position:relative;align-items:center}
 .service-page .page-hero .page-copy,.service-page .layout-split .page-copy,.service-page .layout-banner .page-copy{display:block;max-width:100%;width:100%;margin-left:0;padding-right:0}
 .service-page .page-hero .page-visual,.service-page .layout-split .page-visual,.service-page .layout-banner .page-visual{position:relative;inset:auto;width:100%;height:auto;min-height:0;max-height:none;margin:0;aspect-ratio:auto;overflow:visible;grid-column:2;grid-row:1}
 .service-page .page-hero .page-visual img,.service-page .layout-split .page-visual img,.service-page .layout-banner .page-visual img{width:100%;height:auto;object-fit:contain;mask-image:none;-webkit-mask-image:none}
 .service-page .visual-first .page-copy{grid-column:2;grid-row:1}
 .service-page .visual-first .page-visual{grid-column:1;grid-row:1}
 .service-page .layout-split .page-cards,.service-page .layout-banner .page-cards{position:static;margin-top:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-page .layout-split .page-card,.service-page .layout-banner .page-card{min-width:0}
 .service-page .layout-split,.service-page .layout-banner{min-height:0;padding-block:38px}
 .service-page .page-hero{min-height:0}
 .service-page .service-section-3 .page-visual{height:auto;top:auto;bottom:auto}
 .service-page .page-hero h1{font-size:clamp(34px,3.3vw,52px);letter-spacing:-.035em}
 .service-page .page-lead{max-width:100%}
 .service-page .seo-journey-visual{width:100%;margin:0;min-height:0}
 .service-page .seo-journey-visual img{object-fit:contain;mask-image:none;-webkit-mask-image:none}
 .faq-hero-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px;min-height:0}
 .faq-hero-art{position:relative;inset:auto;width:100%;height:auto;margin:0;grid-column:2;grid-row:1}
 .faq-hero-art .page-art{width:100%;height:auto;object-fit:contain;mask-image:none;-webkit-mask-image:none}
 .faq-hero-copy h1{font-size:clamp(34px,3.4vw,52px)}
 .faq-reference-cta>.container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
 .faq-cta-copy{max-width:100%;width:100%;padding-block:30px}
 .faq-cta-art{position:relative;inset:auto;width:100%;height:auto;margin:0}
 .faq-cta-art .page-art{height:auto;object-fit:contain;mask-image:none;-webkit-mask-image:none}
 .contact-reference-process>.container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 32px;align-items:center}
 .contact-process-copy{max-width:100%;grid-column:1;grid-row:1}
 .contact-process-visual{position:relative;inset:auto;width:100%;height:auto;margin:0;opacity:1;grid-column:2;grid-row:1}
 .contact-process-visual img{height:auto;object-fit:contain;mask-image:none;-webkit-mask-image:none}
 .contact-process-steps{max-width:100%;grid-column:1/-1;margin-top:0}
 .contact-reference-process{min-height:0}
 .contact-final-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;padding:32px max(24px,calc((100vw - 1360px)/2));min-height:0;background:#080808}
 .contact-final-cta:after{display:none}
 .contact-final-cta>.container{width:100%;margin:0;grid-column:1;grid-row:1}
 .contact-final-cta .contact-cta-art{position:relative;inset:auto;width:100%;height:auto;grid-column:2;grid-row:1}
 .contact-final-cta .contact-cta-art img{width:100%;height:auto;object-fit:contain;mask-image:none;-webkit-mask-image:none}
}
@media(min-width:1024px){
 .evo-front .hero-inner,.evo-front .strategy-inner,.evo-front .crm-inner{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:30px}
 .evo-front .hero-art,.evo-front .strategy-art,.evo-front .crm-art{position:relative;inset:auto;width:100%;height:auto;padding:0;margin:0;min-height:0}
 .evo-front .hero-art .evo-art,.evo-front .strategy-art .evo-art,.evo-front .crm-art .evo-art{width:100%;height:auto;max-height:none;object-fit:contain;mask-image:none;-webkit-mask-image:none}
 .evo-front .hero-copy h1{font-size:clamp(36px,3.45vw,54px);width:100%;transform:none}
 .evo-front .hero-copy{max-width:100%}
 .evo-front .crm-inner{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
 .traffic-context-pair{display:block}
 .traffic-context-pair .layout-split>.page-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .service-page .page-cta:has(.cta-art){position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;padding:30px max(56px,calc((100vw - 1360px)/2));min-height:0}
 .service-page .page-cta:has(.cta-art):after{display:none}
 .service-page .page-cta:has(.cta-art)>.container{width:100%;margin:0;grid-column:1;grid-row:1;display:block}
 .service-page .page-cta .cta-art{position:relative;inset:auto;width:100%;height:auto;grid-column:2;grid-row:1}
 .service-page .page-cta .cta-art img{width:100%;height:auto;object-fit:contain;mask-image:none;-webkit-mask-image:none}
 .service-page .page-cta .button{margin-top:20px}
}
@media(min-width:768px) and (max-width:1023px){
 .service-page .page-hero>.page-split,.service-page .layout-split>.page-split,.service-page .layout-banner>.page-split{grid-template-columns:1fr;gap:24px}
 .service-page .page-hero .page-visual,.service-page .layout-split .page-visual,.service-page .layout-banner .page-visual,.service-page .visual-first .page-copy{grid-column:1;grid-row:auto}
 .service-page .page-visual{max-width:740px;margin-inline:auto!important}
 .service-page .visual-first .page-visual{order:2}
 .service-page .page-hero h1{font-size:42px}
 .seo-journey-layout{grid-template-columns:1fr}
 .seo-journey-visual{max-width:620px;margin-inline:auto!important}
 .contact-reference-process>.container{grid-template-columns:1fr}
 .contact-process-copy,.contact-process-visual,.contact-process-steps{grid-column:1;grid-row:auto}
 .contact-process-steps{margin-top:20px}
 .contact-process-visual{max-width:740px;margin-inline:auto}
}
@media(max-width:767px){
 main .page-copy,main .contact-process-copy,main .faq-hero-copy{max-width:100%;width:100%}
 .hero-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;min-width:0}
 .hero-benefits li{min-width:0}
 .contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{font-size:16px;width:100%}
 .contact-hero-visual{height:auto;max-height:none}
 .contact-hero-visual .page-art{height:auto;max-height:none;object-fit:contain}
 .faq-group-heading{flex-wrap:wrap}.faq-count{margin-left:auto}
 .faq-reference .faq-group h2{min-width:0}
 .page-hero .button-row{display:flex;gap:14px;flex-wrap:wrap}
}
@media(min-width:768px) and (max-width:1200px){
 .faq-hero-layout{grid-template-columns:1fr;gap:10px}
 .faq-hero-art{grid-column:1;grid-row:auto;max-width:760px;margin-inline:auto}
 .faq-hero-copy{padding-bottom:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Audit A09/A11/A14: scoped form, touch, expanded text and native WP navigation states. */
.contact-page .contact-required-note{font-size:12px;color:#505056;margin:0}
.contact-page .contact-field-error{font-size:12px;line-height:1.4;color:#a32121;margin-top:4px}
.contact-page .contact-form [aria-invalid="true"]{border-color:#a32121}
.contact-page .contact-form .consent{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;min-height:44px}
.contact-page .contact-form .consent .contact-field-error{grid-column:1/-1}
.contact-page .form-feedback.error{font-size:14px;color:#822020;background:#fff2ef;padding:14px;border-radius:10px;margin-bottom:15px}
.contact-page .form-feedback.error p{margin:0 0 7px;font-size:14px;color:inherit}
.contact-page .form-feedback.error ul{margin:8px 0 0;padding-left:20px}
.contact-page .form-feedback.error a{text-decoration:underline;text-underline-offset:3px}
.contact-page .contact-form select:focus-visible{outline:3px solid #785a00;outline-offset:3px}
.process-grid li,.process-grid li>div{min-width:0}
.process-grid h3,.process-grid p{overflow-wrap:anywhere}
.menu .current-menu-item>a,.menu .current-menu-ancestor>a,.menu a[aria-current="page"]{color:var(--yellow)}
.site-header .menu .current-menu-item>a:after,.site-header .menu .current-menu-ancestor>a:after,.site-header .menu a[aria-current="page"]:after{content:'';position:absolute;bottom:10px;height:2px;left:0;right:0;background:var(--yellow)}
.faq-reference .faq-group-toggle{position:relative;min-width:44px;min-height:44px;background:#f0f0f0}
/* The home header is absolute; keep it below WordPress's admin toolbar. */
.evo-front.admin-bar .site-header{top:32px}
@media(max-width:782px){.evo-front.admin-bar .site-header{top:46px}}
@media(max-width:767px){.text-link{min-height:44px}.contact-page .contact-form input,.contact-page .contact-form textarea,.contact-page .contact-form select{font-size:16px}.contact-page .contact-form .consent input{width:24px;height:24px}}
