/* Shared editorial finish. Page compositions and functional labels retain their own styles. */
.ft-inline-arrow{display:inline-block;vertical-align:middle;width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ft-close svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.ft-menu-back{display:inline-flex;align-items:center;gap:10px}
.ft-menu-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ft-section-head h2,.au-section-head h2,.au-principles-head h2,.kc-booking-head h2,.wd-projects-heading h2,.gd-gallery-heading h2,.seo-focus-heading h2,.ai-lab-heading h2{margin-top:0}
.ft-section-head:has(>h2:only-child),.au-section-head:has(>h2:only-child),.au-page .ft-section-head:has(>h2:only-child){grid-template-columns:minmax(0,1fr)}
.ft-section-head>h2:only-child,.au-section-head>h2:only-child{width:100%;max-width:1100px;min-width:0}
.tl-intro h1,.pn-intro h1,.jr-intro h1,.kc-opening h1,.wd-hero h1,.gd-hero h1,.pm-hero h1,.seo-hero h1,.ai-hero h1,.mt-hero h1,.wr-hero h1,.fr-hero h1{margin-top:0}
.au-focus-grid h3{margin-top:0}
.tl-practices>div{gap:0}
.pn-section-top:has(>span:only-child){justify-content:flex-end;margin-bottom:16px}
.ft-footer-card{box-shadow:none}
.ft-site-footer .ft-footer-cta h2{line-height:1.05}
.ft-page ::selection,.ft-home ::selection,.ft-inner-page ::selection{background:#ffc000;color:#111}
body :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #aa7d00;outline-offset:5px}
:is(.wd-page,.ai-page,.pm-page,.pa-page,.tl-craft,.au-team,.ft-overlay) :is(a,button,summary,input,select,textarea):focus-visible{outline-color:#ffc000}
.wd-actions .wd-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 22px;border:1px solid #555;border-radius:99px;text-decoration:none;color:#fff}
.wd-actions .wd-link:hover{border-color:#ffc000;color:#ffc000}
.mt-request-purpose{margin:0 0 16px;font-size:16px;color:#595950;line-height:1.5}
/* Booking forms also occur inside narrow builder columns on tablets. */
.latepoint-w{container-type:inline-size;max-width:100%}
.latepoint-w .latepoint-booking-form-element .latepoint-form-w{min-width:0;flex-shrink:1}
@container(max-width:739px){
 .latepoint-w .latepoint-booking-form-element :is(.latepoint-side-panel,.latepoint-summary-w){display:none!important}
 .latepoint-w .latepoint-booking-form-element .latepoint-form-w{flex:1 1 100%!important;width:100%!important;max-width:100%}
}
.pa-real-ads{display:flex;justify-content:center;gap:18px;width:min(calc(100% - 44px),1160px);margin:0 auto 42px}
.pa-real-ads img{width:calc((100% - 72px)/5);min-width:0;aspect-ratio:1;object-fit:cover;border-radius:12px}
.pa-work-example{margin:0;max-width:470px;justify-self:end}
.pa-work-example img{display:block;width:100%;height:auto;border-radius:12px}
.pa-work-example figcaption{margin-top:14px;font-size:14px;color:#555}
.pa-page :is(.pa-grid5,.pa-services) .pa-card{border-radius:0;box-shadow:none;background:transparent;border:0;border-top:1px solid #ccc;padding-inline:0;text-align:left}
.pa-page :is(.pa-grid5,.pa-services) .pa-card>img{background:transparent;border-radius:0;padding:0;margin:0 0 20px}
@media(max-width:680px){
 .pa-real-ads{gap:8px;margin-bottom:30px}
 .pa-real-ads img{width:calc((100% - 32px)/5);border-radius:6px}
 .pa-work-example{max-width:100%;justify-self:start}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
