/* Final spacing, type and interaction details; keep the approved compositions. */
:root{--ag-sapphire:#183bb1;--ag-body:#6b778a;--ag-focus:#7297db}
.process-header h2,.about-header h2,.faq-heading h2,.contact-copy h2{font-size:clamp(38px,4.2vw,60px);font-weight:300;line-height:1.14;letter-spacing:-.05em}
.process-intro,.about-intro,.faq-heading>p:not(.closing-tag),.contact-copy>p:not(.closing-tag){font-weight:350;color:var(--ag-body);text-wrap:pretty}
.process-step>p,.about-person-note,.faq-answer p{color:var(--ag-body);text-wrap:pretty}
.process-intro{margin-top:47px}
.services-header,.process-header,.about-header{column-gap:48px}
.services-heading h2,.about-header h2,.faq-heading h2{ text-wrap:pretty }
.service-number,.process-number{font-variant-numeric:tabular-nums}
.process-step{border-bottom-color:#e0e6ef}
.process-step>p{max-width:860px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7b8a9f}
.contact-form textarea{line-height:1.65}
.contact-form label{margin-bottom:24px}
.contact-form-status:empty{display:none}
.contact-form-status{margin-top:20px}
.contact-form-bottom{gap:20px}
.contact-form .cta{flex-shrink:0}
.contact-form :is(input,select,textarea):focus-visible{outline:none;border-bottom-color:var(--ag-sapphire);box-shadow:0 1px 0 var(--ag-sapphire)}
.site-footer nav a,.footer-bottom button{transition:color .25s}
.footer-bottom{line-height:1.65}
.hero header nav button{position:relative;min-height:36px;transition:color .25s}
.hero header nav button:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--ag-sapphire);transform:scaleX(0);transform-origin:left;transition:transform .3s}
@media(hover:hover){.hero header nav button:hover{color:var(--ag-sapphire)}.hero header nav button:hover:after{transform:scaleX(1)}}
@media(min-width:801px) and (max-width:1100px){.contact-form-bottom{flex-direction:column;align-items:flex-start;gap:16px}.contact-form-note{max-width:none}}
@media(max-width:800px){
 .process-header h2,.about-header h2,.faq-heading h2,.contact-copy h2{font-size:38px}
 .process-intro{margin-top:24px}
 .contact-form input,.contact-form select,.contact-form textarea{font-size:16px}
 .contact-form-bottom{flex-direction:column;align-items:stretch;gap:16px;margin-top:24px}
 .contact-form-note{max-width:none;font-size:14px;line-height:1.6}
 .contact-form .cta{width:100%;font-size:14px;height:50px;justify-content:space-between;padding-left:23px}
 .contact-form{padding-bottom:25px}
 .faq-list summary{min-height:68px}
 .footer-main nav a{display:inline-flex;align-items:center;min-height:44px}
 .footer-main nav{column-gap:22px;row-gap:0}
 .footer-main{row-gap:20px}
 .footer-bottom button{min-height:44px}
 .site-footer{padding-bottom:calc(85px + env(safe-area-inset-bottom,0px))}
 .review{bottom:calc(10px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:480px){.contact-form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:360px){.process-header h2,.about-header h2,.faq-heading h2,.contact-copy h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){.hero header nav button:after,.hero header nav button,.site-footer nav a,.footer-bottom button{transition:none}}
