/* V31 • targeted site-wide legibility and distinctive, original process illustration system.
   Loaded after other styles on every page; preserves layout and shared design. */
:root{--v31-accent:#ed7544;--v31-ink:#102d43}
/* Quote area: crisp, readable details on all screen widths. */
.lead-zone-kicker{font-size:13px;line-height:1.45;letter-spacing:.12em;margin-bottom:24px}
.lead-zone-intro{font-size:16px;line-height:1.77;color:#d5e1e8}
.lead-zone-step{gap:18px;padding-block:21px;align-items:center}
.lead-zone-step>div{min-width:0;flex:1}
.lead-zone-step-index{flex:0 0 41px;width:41px;height:41px;font-size:14px;border-radius:11px}
.lead-zone-step strong{font-size:18px;line-height:1.35;font-weight:770;color:#fff}
.lead-zone-step small{font-size:15px;line-height:1.55;margin-top:7px;color:#d3e0e8}
.lead-zone-contact-row{gap:24px;max-width:530px;align-items:start}
.lead-zone-contact-row small{font-size:14px;line-height:1.35;margin-bottom:9px;color:#c0d1dc}
.lead-zone-contact-row a.lead-contact-phone{display:inline-flex;align-items:center;gap:11px;width:max-content;max-width:100%;color:#fff;font-weight:800;font-size:22px;line-height:1.25;text-decoration:none;border:none;white-space:nowrap;transition:color .2s ease}
.lead-zone-contact-row a.lead-contact-phone:hover{color:#ffbe9d}
.lead-zone-contact-row a.lead-contact-phone:focus-visible{outline:3px solid #ffa87b;outline-offset:5px;border-radius:10px}
.lead-zone-contact-row .lead-contact-phone-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;color:#fff;background:rgba(237,117,68,.20);border:1px solid rgba(255,164,118,.50);border-radius:12px}
.lead-zone-contact-row .lead-contact-phone-icon svg{display:block;width:21px;height:21px;stroke:currentColor;fill:none}
.lead-zone-contact-row>div>span{font-size:15px;line-height:1.5}
.lead-zone-licence{font-size:13px;line-height:1.5}
.lead-zone-card-bar{font-size:12px;letter-spacing:.085em}
.lead-zone-card-main>p{font-size:15px;line-height:1.7}
.lead-zone-privacy{font-size:12.5px;line-height:1.65}
.lead-form-access span,.lead-form-access a{font-size:13px}
/* Strategic text enlargements: paragraph content, labels, actions; navigation/layout is left alone. */
.services-section .service-copy p{font-size:15px;line-height:1.7}
.services-section .service-copy a{font-size:14px}
.guidance-body p{font-size:15px;line-height:1.75}
.process-body p{font-size:15px;line-height:1.7}
.faq-list details p{font-size:15px;line-height:1.75}
.faq-list summary{font-size:15px}
.footer-col>a:not(.button),.footer-brand>p,.footer-address{font-size:14px!important;line-height:1.65}
.footer-contact-value b,body.service-page .service-footer .footer-contact-value b{font-size:14px}
.footer-contact-value small{font-size:12px}
.footer-main .footer-col h3{font-size:14px}
body.service-page .landing-section p,body.service-page .story-copy p,body.service-page .faq-section p{font-size:clamp(14px,1.06vw,16px);line-height:1.78}
body.service-page .service-steps li,body.service-page .check-list li{font-size:15px;line-height:1.65}
body.company-page .company-section p,body.company-page .company-final p{font-size:clamp(14px,1.07vw,16px);line-height:1.75}
/* Four visual process cards: illustration replaces contextually unrelated photo assets. */
.process-section .process-card{background:#fff;border-color:#dce6eb;box-shadow:0 14px 35px rgba(12,41,60,.08)}
.process-section .process-photo{height:208px;background:#eff4f6;isolation:isolate}
.process-section .process-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:100%;background:#eff4f6}
.process-section .process-card:hover .process-photo img{transform:none}
.process-section .process-grid .step-num{top:14px;left:14px;background:#0c2b3e;border:1px solid rgba(255,255,255,.5);box-shadow:0 6px 18px rgba(11,36,51,.2)}
.process-section .process-body{padding:25px 22px 28px}
.process-section .process-body h3{font-size:19px;line-height:1.35;font-weight:780;margin-bottom:11px}
.process-section .process-body p{font-size:15px;line-height:1.65}
/* Medium widths - preserve the design's existing column breakpoints. */
@media(max-width:900px){
 .lead-zone-step{align-items:flex-start;padding:19px}
 .lead-zone-step strong{font-size:17px}
 .lead-zone-step small{font-size:15px}
 .lead-zone-contact-row{max-width:100%}
}
@media(max-width:720px){
 .process-section .process-photo{height:auto!important;min-height:0!important}
 .process-section .process-photo img{height:auto!important;max-height:none!important;object-fit:contain!important}
}
@media(max-width:640px){
 .lead-zone-kicker{font-size:12px;letter-spacing:.095em}
 .lead-zone-intro{font-size:16px;line-height:1.7}
 .lead-zone-steps{margin-top:28px;margin-bottom:25px}
 .lead-zone-step{padding:19px 0;gap:14px;align-items:center;border-radius:0}
 .lead-zone-step-index{flex-basis:40px;width:40px;height:40px;font-size:14px}
 .lead-zone-step strong{font-size:17px;line-height:1.4}
 .lead-zone-step small{font-size:15px;line-height:1.55;margin-top:5px}
 .lead-zone-contact-row{grid-template-columns:1fr;gap:19px}
 .lead-zone-contact-row small{font-size:13px}
 .lead-zone-contact-row a.lead-contact-phone{font-size:clamp(19px,5.4vw,23px);gap:10px}
 .lead-zone-contact-row .lead-contact-phone-icon{width:42px;height:42px;flex-basis:42px}
 .lead-zone-contact-row>div>span{font-size:15px}
 .lead-zone-licence{font-size:12.5px}
 .lead-zone-card-main>p{font-size:15px}
 .services-section .service-copy p,.guidance-body p,.process-body p,.faq-list details p{font-size:15px}
 .process-section .process-body{padding:23px 20px 25px}
 .process-section .process-body h3{font-size:19px}
 .process-section .process-body p{font-size:15px}
 .footer-main .footer-col h3{font-size:13px}
 .footer-main .footer-col>a:not(.button){font-size:13px!important}
 .footer-contact-value b,body.service-page .service-footer .footer-contact-value b{font-size:14px}
 body .mobile-call-cta:not(.mobile-call-native){font-size:15px}
 body .mobile-call-cta:not(.mobile-call-native) .mobile-call-number{font-size:13px}
}
@media(max-width:370px){
 .lead-zone-contact-row a.lead-contact-phone{font-size:19px}
 .lead-zone-contact-row .lead-contact-phone-icon{flex-basis:39px;width:39px;height:39px}
}
/* Secondary information should not shrink to 8–10 px on small phones. */
.floating-strip b{font-size:14px;line-height:1.4}
.floating-strip small{font-size:12px;line-height:1.45}
.hero-v12 .hero-micro span{font-size:13px}
.customer-review-text,.review-slide>p{font-size:15px;line-height:1.72}
.customer-review-person small,.review-disclosure,.review-source-note{font-size:12.5px;line-height:1.55}
body.service-page .hero-credentials span{font-size:12px}
body.service-page .breadcrumb{font-size:12px}
body.service-page .jump-links a{font-size:13.5px}
body.service-page .city-card-link{font-size:14px}
body.company-page .company-hero-meta{font-size:13px}
body.company-page .contact-method p{font-size:15px}
.footer-bottom,body.service-page .footer-bottom{font-size:12px}
@media(max-width:640px){
 .floating-strip b{font-size:12.5px;line-height:1.4}
 .floating-strip small{font-size:11.5px;line-height:1.4}
 .hero-v12 .hero-micro span{font-size:12px}
 .customer-review-text,.review-slide>p{font-size:15px}
 body.service-page .landing-section p,body.service-page .story-copy p,body.service-page .faq-section p{font-size:15px}
 body.company-page .company-section p,body.company-page .company-final p{font-size:15px}
}
