/* A single contact composition: the person, direct calls and useful QR codes. */
.contact-refined{padding-block:54px 52px}
.contact-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:end;margin-bottom:36px}
.contact-intro .eyebrow{grid-column:1/-1;font-size:.8125rem;letter-spacing:.18em;margin-bottom:20px}
.contact-intro .eyebrow:after{margin-top:12px}
.contact-intro h1{font-size:clamp(2.5rem,3.8vw,3.5rem);line-height:1.07}
.contact-intro .intro{font-size:1.0625rem;line-height:1.7;max-width:430px;padding-bottom:4px}
.contact-panel{display:grid;grid-template-columns:.85fr 1.3fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 15px 40px #14352b08}
.contact-person{display:flex;flex-direction:column;background:var(--green);color:#fff;padding:40px}
.contact-label{font-size:.875rem;letter-spacing:.08em;color:#d8e7df;line-height:1.5;margin-bottom:20px}
.contact-label:before{content:"";display:block;width:36px;height:3px;background:var(--orange);margin-bottom:22px}
.contact-person h2{color:#fff;font-size:2.3rem;line-height:1.1}
.contact-person-role{margin-top:12px!important;color:#d5e4dc;font-size:1rem;max-width:280px}
.contact-person-location{display:flex;align-items:flex-start;gap:13px;margin-top:34px}
.contact-person-location>svg{color:#f99b52;width:22px;height:22px;margin-top:3px}
.contact-person-location p{font-weight:600;font-size:1rem;line-height:1.55}
.contact-person-location span{display:block;color:#d5e4dc;font-size:.9375rem;margin-top:4px}
.contact-person-slogan{border-top:1px solid #ffffff29;margin-top:auto!important;padding-top:22px;font-size:.9375rem;color:#d5e4dc}
.contact-direct{padding:40px 44px 34px;min-width:0}
.contact-direct h2{font-size:1.75rem;margin-bottom:22px}
.contact-phone-list{display:grid;gap:14px}
.contact-phone-row{display:flex;align-items:center;gap:18px;padding:17px 19px;border:1px solid #dce5df;border-radius:5px;background:#fafbf9;transition:border-color .2s,background .2s}
.contact-phone-row:hover{border-color:#8da99b;background:#f1f6f2}
.contact-phone-row:focus-visible{outline-offset:-3px}
.contact-phone-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:43px;height:43px;border-radius:50%;color:#b94b00;background:#fff1e5}
.contact-phone-icon svg{width:21px;height:21px}
.contact-phone-copy{min-width:0}
.contact-phone-copy>span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:3px}
.contact-phone-copy strong{display:block;font-size:clamp(1.3rem,2.05vw,1.7rem);line-height:1.35;letter-spacing:-.025em;white-space:nowrap;font-variant-numeric:tabular-nums}
.contact-phone-arrow{margin-left:auto;display:flex;align-items:center;flex-shrink:0;color:#5d7d6a}
.contact-phone-arrow svg{width:20px;height:20px}
.contact-call-note{margin:20px 0 0!important;font-size:.9375rem;line-height:1.65;color:var(--muted);max-width:490px}
.contact-quick-access{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;background:#f6f8f5;border-top:1px solid var(--line);padding:26px 36px}
.contact-qr-item{display:flex;align-items:center;gap:24px;min-width:0;margin:0;padding-right:36px}
.contact-qr-item+.contact-qr-item{border-left:1px solid #dce5df;padding:0 0 0 36px}
.contact-qr-item>img{width:102px;height:102px;flex:0 0 102px;object-fit:contain;background:#fff;padding:3px;border:1px solid #e2e8e3;border-radius:4px}
.contact-qr-item h3{font-size:1.0625rem;line-height:1.35;letter-spacing:-.01em}
.contact-qr-item p{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:7px;max-width:290px}
@media(max-width:1050px){
 .contact-intro{gap:24px 40px}.contact-intro .eyebrow{margin-bottom:0}
 .contact-panel{grid-template-columns:.85fr 1.15fr}
 .contact-person{padding:30px}.contact-direct{padding:30px}
 .contact-person h2{font-size:2rem}.contact-person-location{margin-top:28px}.contact-person-slogan{padding-top:18px}
 .contact-phone-row{padding:15px;gap:12px}.contact-phone-icon{width:36px;height:36px}.contact-phone-copy strong{font-size:1.375rem}.contact-phone-arrow{display:none}
 .contact-quick-access{padding:24px}.contact-qr-item{gap:18px;padding-right:24px}.contact-qr-item+.contact-qr-item{padding-left:24px}.contact-qr-item>img{width:90px;height:90px;flex-basis:90px}
}
@media(max-width:760px){
 .contact-refined{padding-block:34px}
 .contact-intro{grid-template-columns:1fr;gap:0;margin-bottom:27px}
 .contact-intro .eyebrow{font-size:.75rem;margin-bottom:20px}
 .contact-intro h1{font-size:2.65rem;line-height:1.08}
 .contact-intro .intro{font-size:1rem;margin-top:19px;padding-bottom:0;max-width:480px}
 .contact-panel{grid-template-columns:1fr;border-radius:6px;box-shadow:none}
 .contact-person{padding:26px 24px}.contact-label{font-size:.8125rem;margin-bottom:14px}.contact-label:before{margin-bottom:17px}
 .contact-person h2{font-size:2rem}.contact-person-role{margin-top:9px!important;max-width:none}
 .contact-person-location{margin-top:23px}.contact-person-slogan{display:none}
 .contact-direct{padding:26px 24px}.contact-direct h2{font-size:1.5rem;margin-bottom:18px}
 .contact-phone-row{padding:14px 12px;gap:12px}.contact-phone-copy strong{font-size:1.5rem}.contact-phone-icon{width:36px;height:36px}.contact-phone-arrow{display:flex}
 .contact-call-note{font-size:.9375rem;margin-top:18px!important}
 .contact-quick-access{grid-template-columns:1fr;padding:24px}
 .contact-qr-item{gap:20px;padding:0 0 22px}.contact-qr-item+.contact-qr-item{border-left:0;border-top:1px solid #dce5df;padding:22px 0 0}
 .contact-qr-item>img{width:96px;height:96px;flex-basis:96px}.contact-qr-item h3{font-size:1rem}.contact-qr-item p{font-size:.875rem}
}
@media(max-width:390px){
 .contact-intro h1{font-size:2.3rem}.contact-person,.contact-direct{padding:24px 18px}
 .contact-phone-row{gap:10px;padding:13px 10px}.contact-phone-copy strong{font-size:1.275rem}.contact-phone-copy>span{font-size:.8125rem}.contact-phone-icon{width:32px;height:32px}.contact-phone-icon svg{width:18px;height:18px}.contact-phone-arrow{display:none}
 .contact-quick-access{padding:22px 18px}.contact-qr-item{gap:14px}.contact-qr-item>img{width:88px;height:88px;flex-basis:88px}
}

.contact-email-row .contact-phone-copy{flex:1}
.contact-email-row .contact-phone-copy strong{font-size:clamp(1rem,1.6vw,1.4rem);white-space:normal;overflow-wrap:anywhere;letter-spacing:0}
