/* Contact is prominent, with short and optional motion. */
.phone-pair a.phone-card{position:relative;border-radius:12px;border-color:#d9d4c8;box-shadow:0 4px 16px #14253106;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.phone-pair a.phone-card:hover{transform:translateY(-3px);border-color:#a18350;box-shadow:0 12px 28px #14253112}
.phone-pair .phone-card--institution{border-top:3px solid #b59460;background:linear-gradient(140deg,#fff,#f8f4eb)}
.phone-hours{display:flex;align-items:center;gap:7px;color:#475b4f;font-size:11px;font-weight:650;line-height:1.4}
.phone-hours i,.launcher-dot{display:inline-block;flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#52785e}
.phone-card--institution .phone-hours i{animation:contact-pulse 2.5s ease-out 2}
.phone-hours-link{display:block;font-size:11px;line-height:1.5;margin-top:9px;color:inherit;text-underline-offset:4px;opacity:.8}
.utility .phone-pair{gap:9px}
.utility .phone-pair a.phone-card{padding:9px 13px;border-radius:8px;box-shadow:none}
.utility .phone-card--institution{background:#ffffff0c;border-top:2px solid #d6b782}
.utility .phone-hours{font-size:10px;color:#dfd8c8}
.utility .phone-hours i{background:#b9ceac}
.utility .phone-label{min-height:0!important;font-size:10px!important;letter-spacing:.015em}
.utility .phone-action{display:none!important}
.utility .phone-number strong{font-size:20px!important}
.utility-inner>.phone-hours-link{display:none}
.contact-area .phone-hours{color:#3f6550}
.footer .phone-hours,.contact-nudge .phone-hours{color:inherit}
.footer .phone-card--institution{background:#ffffff08}
.phone-number{white-space:nowrap}
.button{border-radius:6px;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #14253115}
.button>span[aria-hidden]{transition:transform .2s}
.button:hover>span[aria-hidden]{transform:translate(2px,-2px)}
.header-inner nav>a:last-child{background:#142531;color:white;padding:11px 15px;border-radius:5px}
.contact-launcher{display:flex;align-items:center;gap:11px;border:1px solid #d6b78288;box-shadow:0 5px 24px #14253128;border-radius:30px;font-size:12px}
.launcher-dot{background:#d6b782;width:7px;height:7px;animation:contact-pulse 2.5s ease-out 2}
.contact-nudge{border-radius:14px;border:1px solid #e0d7c5;box-shadow:0 14px 70px #14253129}
.contact-nudge h2{font-size:26px;line-height:1.2}
.contact-nudge .phone-pair{margin-top:20px}
.nudge-calculate{display:block;margin:14px 0}
.contact-nudge .phone-hours-link{font-size:10px}
.express-section{padding:25px 0;background:#f5f3ee}
.express-panel{display:flex;align-items:center;justify-content:space-between;gap:32px}
.express-panel>div{position:relative;padding-left:52px;max-width:760px}
.express-panel h2{font-size:26px;margin:0 0 8px;line-height:1.25}
.express-panel p{margin:0;color:#52616b;font-size:14px;line-height:1.7}
.express-panel .button{flex-shrink:0}
.express-icon{position:absolute;left:0;top:4px;display:grid;place-items:center;width:35px;height:35px;border:1px solid #c6b18b;border-radius:50%;font-size:23px;color:#826336}
.agency-contact{padding-top:0;padding-bottom:40px}
.agency-panel{display:flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid #d6d0c3;border-left:4px solid #b59460;border-radius:12px;padding:30px 36px;background:#faf8f2}
.agency-panel h2{font-size:27px;margin:0 0 10px}
.agency-panel p:not(.eyebrow){max-width:650px;font-size:14px;color:#52616b}
.agency-panel .eyebrow{margin:0 0 10px;color:#7d5c2d}
.agency-number{flex-shrink:0;font-size:clamp(20px,2.2vw,29px);font-weight:750;white-space:nowrap;text-decoration:none}
.agency-number span{font-size:14px;font-weight:500;color:#7d5c2d}
.office-gallery{background:#faf9f6}
.office-gallery .section-head{max-width:790px}
.office-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.office-gallery figure{margin:0}
.office-gallery img{display:block;width:100%;height:auto;aspect-ratio:1280/831;object-fit:cover;border-radius:10px;transition:filter .2s}
.office-gallery a:hover img{filter:brightness(1.06)}
.office-gallery figcaption{font-size:12px;color:#52616b;margin-top:12px;line-height:1.5}
.qualification-card>a{position:relative;display:block;background:#f0eee8}
.qualification-card img{object-fit:contain;padding:14px}
.qualification-card{border-radius:12px;overflow:hidden}
.document-zoom{position:absolute;right:14px;bottom:14px;background:#142531;color:#fff;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}
.social-section{background:#fff;border-top:1px solid #e7e2d8}
.social-section h2{font-size:34px;margin-bottom:28px}
.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.social-card{display:flex;align-items:flex-start;gap:22px;padding:30px;border:1px solid #dddfe0;border-radius:12px}
.social-card h3{font-size:23px;margin:0 0 10px}
.social-card p{font-size:14px;color:#52616b;margin:0 0 17px;line-height:1.7}
.linkedin-card{background:#f7fbff;border-color:#d2e2f1}
.linkedin-mark{display:grid;place-items:center;background:#0a66c2;color:#fff;border-radius:4px;font-family:Arial,sans-serif;font-size:31px;font-weight:700;letter-spacing:-1px;line-height:1;width:47px;height:47px;flex-shrink:0;padding-top:4px}
.linkedin-link{display:inline-block;background:#0a66c2;color:white!important;text-decoration:none;font-weight:650;padding:10px 18px;border-radius:5px;font-size:13px}
.linkedin-link:hover{background:#004182}
.google-mark{font-family:Arial,sans-serif;color:#4285f4;font-size:40px;font-weight:750;line-height:47px;flex-shrink:0}
.social-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start;font-size:13px}
.review-card{border-radius:12px;display:flex;flex-direction:column}
.review-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.review-platform{font-family:Arial,sans-serif;font-size:12px;color:#53616b}
.review-summary{flex:1}
.review-author{display:flex;align-items:center;gap:10px;margin-top:18px}
.review-avatar{display:grid;place-items:center;width:32px;height:32px;background:#ece7dc;border-radius:50%;font-size:12px;color:#594c34}
.review-source{font-size:11px;margin-top:15px;text-underline-offset:4px}
.form-files-note{padding:20px;background:#f6f3ed;border-left:3px solid #b59460;margin:22px 0;border-radius:0 8px 8px 0}
.form-files-note strong{font-size:15px}
.form-files-note p{font-size:13px;margin:9px 0 14px}
.form-files-note .button{font-size:12px;padding:10px 14px}
.prepared-message .button{margin:14px 12px 10px 0}
.process-actions{margin-top:25px;flex-wrap:wrap;display:flex;gap:12px}
.image-viewer{position:fixed;inset:0;width:min(1100px,96vw);height:min(920px,94dvh);max-width:96vw;max-height:94dvh;margin:auto;padding:18px;background:#fff;border:0;border-radius:12px;box-shadow:0 20px 100px #0005;overflow:auto}
.image-viewer::backdrop{background:#101d29de}
.image-viewer-top{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:12px}
.image-viewer-top p{margin:0;font-size:14px}
.image-viewer button{cursor:pointer;border:1px solid #d6d0c3;border-radius:5px;background:#fff;color:#142531;padding:10px 16px;font:inherit}
.image-viewer img{display:block;max-width:100%;height:calc(100% - 120px);min-height:220px;width:100%;object-fit:contain}
.image-viewer-controls{display:flex;justify-content:center;gap:16px;margin-top:15px}
@keyframes contact-pulse{0%{box-shadow:0 0 0 0 #a68b5955}80%,100%{box-shadow:0 0 0 8px #a68b5900}}
@media(max-width:900px){.express-panel,.agency-panel{align-items:flex-start;flex-direction:column;gap:22px}.express-panel .button{margin-left:52px}.agency-panel{margin-left:4%;margin-right:4%;width:92%}.social-grid{grid-template-columns:1fr}.office-gallery-grid{gap:14px}.social-card{padding:25px}.utility .phone-number strong{font-size:18px!important}}
@media(max-width:600px){.utility .phone-pair{grid-template-columns:1fr 1fr!important;gap:6px!important;width:100%}.utility .phone-pair a.phone-card{padding:9px!important;gap:4px!important}.utility .phone-label{font-size:9px!important;min-height:25px!important}.utility .phone-number strong{font-size:17px!important}.utility .phone-country{font-size:9px!important}.utility .phone-hours{font-size:9px;gap:4px}.utility .phone-hours i{width:4px;height:4px;flex-basis:4px}.office-gallery-grid{grid-template-columns:1fr;gap:25px}.office-gallery figcaption{font-size:13px}.express-section{padding:27px 0}.express-panel h2{font-size:24px}.express-panel>div{padding-left:43px}.express-panel .button{margin-left:0;width:100%;justify-content:center}.agency-panel{padding:24px}.agency-panel h2{font-size:25px}.agency-number{font-size:25px}.social-card{gap:16px;padding:22px}.social-card h3{font-size:21px}.linkedin-mark{width:38px;height:38px;font-size:26px}.google-mark{font-size:34px;line-height:38px}.social-section h2{font-size:29px}.contact-launcher{font-size:11px;bottom:14px;right:14px;padding:12px 17px}.contact-nudge{bottom:70px}.image-viewer{padding:12px}.image-viewer-top p{font-size:12px}.process-actions .button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.phone-pair a.phone-card,.button,.button>span,.office-gallery img{transition:none}.phone-pair a.phone-card:hover,.button:hover,.button:hover>span{transform:none}.phone-hours i,.launcher-dot{animation:none}}
.utility .phone-pair a.phone-card{grid-template-columns:minmax(0,1fr)}
.utility .phone-label,.utility .phone-number,.utility .phone-hours{grid-column:1!important;grid-row:auto!important}
.phone-card .phone-hours{grid-column:1/-1;display:flex!important}
#order-form{scroll-margin-top:110px}
