/* V2 precision pass. Existing artwork, palette, fonts and Canada controls retained. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.services-home{padding-top:32px}
.services-home .service-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.services-home .service-card{grid-column:span 2;min-height:258px;padding:26px 28px 50px}
.services-home .service-card:nth-child(4){grid-column:2/span 2}
.services-home .service-card .icon{width:60px;height:60px;margin-bottom:20px}
.services-home .service-card h3{font-size:20px;line-height:1.3;min-height:0;margin-bottom:14px}
.services-home .service-card ul{font-size:15px;line-height:1.7;margin-top:0}
.service-card h3{font-size:19px;line-height:1.3;min-height:0}
.service-card ul{font-size:14px;line-height:1.65}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.service-card{padding:24px 26px 50px;min-height:260px}
.related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.related-grid .service-card{padding:24px 22px 50px}
.section-tail{margin:26px 0 36px;font-size:11px}
.process.section{padding-block:50px}
.process-steps{align-items:start;gap:30px}
.process-steps>li{display:grid;grid-template-rows:80px auto 1fr;align-content:start}
.step-icon{height:72px;width:72px;margin:0 0 8px 34px;align-self:start}
.step-icon .icon{height:64px;width:64px}
.step-heading{align-items:start;min-height:42px;gap:10px;margin:0 0 10px}
.step-heading>span{flex:0 0 26px;margin-top:1px}
.step-heading h3{font-size:17px;line-height:1.3}
.process-steps p{font-size:14px;line-height:1.6;margin:0 0 0 36px}
.work-section{padding-block:56px}
.work-intro h2{font-size:36px;line-height:1.1}
.work-intro p{font-size:16px;line-height:1.65;margin-top:18px}
.work-intro .concept-note{font-size:13px;margin:12px 0 20px}
.case-card-heading h3{font-size:17px;line-height:1.3}
.case-bottom>span:first-child{font-size:12px;line-height:1.5}
.concept-label{font-size:10px;letter-spacing:.04em;padding:4px 7px}
.inquiry-section{padding-block:48px}
.inquiry-layout{gap:42px}
.inquiry-fields{border:0;padding:0;margin:0;min-width:0}
.inquiry-form{padding:30px}
.form-topline{gap:16px;margin-bottom:26px}
.form-topline h3{font-size:26px;line-height:1.2;margin-bottom:10px}
.form-topline p{font-size:14px;line-height:1.55}
.preview-pill{font-size:9px}
.form-grid{gap:22px 20px}
.form-grid label{font-size:14px;font-weight:600;line-height:1.45}
.form-grid label small{font-size:12px;font-weight:400}
.form-grid :is(input,select,textarea){font-size:16px;line-height:1.5;min-height:48px;padding:11px 13px;margin-top:8px}
.form-grid textarea{min-height:125px;resize:vertical}
.form-note{font-size:12px;line-height:1.65;margin:20px 0 17px}
.inquiry-form .submit{min-height:50px}
.inquiry-result{margin-top:27px;padding-top:24px}
.inquiry-result p{font-size:14px;line-height:1.6}
.brief-summary{font-size:14px;line-height:1.55;gap:12px 18px;overflow-wrap:anywhere}
.faq-section{padding-block:48px}
.faq-list{column-gap:28px;row-gap:12px}
.faq-list summary{font-size:15px;line-height:1.5;padding:19px 16px;gap:24px;min-height:66px}
.faq-list summary>span{align-self:center}
.faq-list details p{font-size:15px;line-height:1.7;padding:0 18px 20px}
.faq-full .faq-list summary,.faq-full .faq-list p{font-size:16px}
.footer{padding:38px 0 30px}
.footer-top{gap:36px;padding-bottom:30px;align-items:center}
.footer-brand img{width:196px}
.footer nav{gap:24px;font-size:13px;line-height:1.5}
.footer nav a{padding-block:6px}
.footer-bottom{padding-top:24px;font-size:11px;gap:24px}
.footer-bottom nav{font-size:12px}
@media(max-width:1200px){.services-home .service-card{padding:24px 22px 50px}.services-home .service-card h3{font-size:19px}.services-home .service-card ul{font-size:14px}.process{grid-template-columns:195px 1fr;gap:30px}.process-steps{gap:22px}.step-heading h3{font-size:15px}.step-heading{gap:7px}.process-steps p{font-size:13px;margin-left:33px}.step-icon{margin-left:30px}.work-layout{grid-template-columns:220px 1fr;gap:30px}.work-intro h2{font-size:32px}.case-grid{gap:20px}.case-card-heading h3{font-size:16px}.case-bottom{gap:8px}.case-bottom>span:first-child{font-size:11px}.inquiry-layout{grid-template-columns:.75fr 1.25fr}.inquiry-form{padding:26px}.form-topline h3{font-size:23px}.form-topline p{font-size:13px}.footer-top{gap:28px}.footer nav{gap:20px;font-size:12px}.footer-brand img{width:178px}}
@media(max-width:960px){.services-home .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-home .service-card{grid-column:auto;min-height:265px}.services-home .service-card:nth-child(4){grid-column:auto}.services-home .service-card:last-child{grid-column:1/-1;min-height:200px;padding-left:110px;position:relative}.services-home .service-card:last-child .icon{position:absolute;top:30px;left:28px}.services-home .service-card:last-child ul{columns:2;column-gap:24px}.service-grid,.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process{grid-template-columns:1fr}.process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 46px}.process-steps>li{grid-template-rows:78px auto 1fr}.step-heading{min-height:0}.step-heading h3{font-size:18px}.process-steps p{font-size:15px}.process-steps li:not(:last-child):after{display:none}.work-layout{grid-template-columns:1fr}.work-intro h2{font-size:36px}.work-intro h2 br{display:none}.work-intro p{max-width:650px}.inquiry-layout{grid-template-columns:1fr}.inquiry-form{padding:30px}.form-topline h3{font-size:26px}.form-topline p{font-size:14px}.footer-top{gap:28px}.footer nav{font-size:13px}.footer-bottom{row-gap:18px}}
@media(max-width:640px){.services-home{padding-top:24px}.services-home .service-grid,.service-grid,.related-grid{grid-template-columns:1fr;gap:20px}.services-home .service-card,.services-home .service-card:last-child,.service-card,.related-grid .service-card{grid-column:auto;min-height:0;padding:24px 24px 51px 94px;display:block}.services-home .service-card .icon,.services-home .service-card:last-child .icon,.service-card .icon{position:absolute;top:24px;left:22px;width:52px;height:52px;margin:0}.services-home .service-card h3,.services-home .service-card:last-child h3,.service-card h3{font-size:18px;line-height:1.35;min-height:0;margin-bottom:12px}.services-home .service-card ul,.services-home .service-card:last-child ul,.service-card ul{font-size:14px;line-height:1.65;display:block;columns:auto;padding-left:16px;margin-bottom:0}.service-card ul li+li{margin-top:5px}.section-tail{font-size:10px;gap:12px;margin:22px 0 30px}.section-tail .text-link{font-size:13px}.process.section{padding-block:38px}.process-steps{gap:28px 20px}.process-steps>li{grid-template-rows:72px auto 1fr}.step-icon{width:60px;height:60px;margin-left:0}.step-icon .icon{width:56px;height:56px}.step-heading{min-height:44px;gap:6px;margin-bottom:8px}.step-heading>span{width:22px;height:22px;flex-basis:22px;font-size:13px}.step-heading h3{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.process-steps p{font-size:14px;line-height:1.6;margin-left:0}.work-section{padding-block:40px}.work-intro h2{font-size:32px}.work-intro p{font-size:15px;margin-top:16px}.work-intro .concept-note{font-size:13px;margin-bottom:18px}.work-intro .text-link{font-size:13px}.case-grid{gap:30px}.case-card-heading h3{font-size:19px}.case-bottom>span:first-child{font-size:12px}.concept-label{font-size:10px}.inquiry-section{padding-block:36px}.inquiry-layout{gap:28px}.inquiry-form{padding:24px 20px}.form-topline{margin-bottom:24px}.form-topline h3{font-size:24px;line-height:1.25}.form-topline p{font-size:14px;margin-bottom:12px}.form-topline .preview-pill{font-size:9px}.form-grid{gap:20px}.form-grid label{font-size:14px}.form-grid :is(input,select,textarea){margin-top:7px;font-size:16px;min-height:48px}.form-grid textarea{min-height:140px}.form-note{font-size:12px;margin:20px 0 18px}.inquiry-form .submit{min-height:50px}.brief-summary{grid-template-columns:1fr;gap:5px;font-size:14px}.brief-summary dd{margin:0 0 12px}.inquiry-result .btn{width:100%;justify-content:space-between;margin:14px 0 0}.faq-section{padding-block:40px}.faq-list{gap:10px}.faq-list summary,.faq-full .faq-list summary{font-size:15px;line-height:1.5;padding:18px 10px;gap:16px;min-height:66px}.faq-list details p,.faq-full .faq-list p{font-size:14px;line-height:1.75;padding:0 12px 20px}.footer{padding:36px 0 28px}.footer-top{gap:26px;padding-bottom:28px}.footer-brand img{width:190px}.footer-top nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;font-size:14px;width:100%}.footer-top>.btn{width:100%;justify-content:space-between}.footer-bottom{gap:20px;padding-top:24px;font-size:11px}.footer-bottom nav{font-size:13px;gap:26px}.footer nav a{padding-block:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.service-card,.case-image{transition:none}}

/* Keep brand blue, improve small-text contrast without altering the palette. */
.service-card.blue{color:var(--ink)}
.service-hero.blue .eyebrow,.service-hero.blue .breadcrumb,.service-hero.blue p{color:var(--ink)}
