/* Contact-only welcome card. Shared page styles and other routes stay untouched. */
.cp-contact-welcome{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;padding:38px 42px 28px;border-radius:24px;background:var(--green);color:var(--cream);min-width:0}
.cp-contact-welcome::before{content:'';position:absolute;z-index:-1;right:-130px;bottom:-170px;width:390px;height:390px;border:1px solid #c5d5bb26;border-radius:50%;box-shadow:0 0 0 36px #c5d5bb0a,0 0 0 72px #c5d5bb05;pointer-events:none}
.cp-welcome-top{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%}
.cp-welcome-top .eyebrow{color:#d1dec7;line-height:1.6}
.cp-welcome-icon{width:44px;height:44px;color:#d1dec7;flex:none;transform:rotate(-8deg)}
.cp-contact-welcome h2{font-size:clamp(40px,4.2vw,57px);line-height:1.12;letter-spacing:-1.8px;margin:37px 0 21px}
.cp-contact-welcome h2 em{font-family:var(--serif);font-weight:400;white-space:normal}
.cp-welcome-copy{color:#dce5d7;font-size:14px;line-height:1.85;max-width:330px}
.cp-welcome-cta{margin:28px 0 35px;font-size:13px;padding:17px 24px;gap:25px}
.cp-welcome-signoff{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #d1dec738;padding-top:20px;margin-top:auto;width:100%;color:#d1dec7}
.cp-welcome-signoff>span:first-child{font-size:9px;font-weight:600;letter-spacing:1.5px;line-height:1.7}
.cp-welcome-star{font-family:var(--serif);font-size:32px;line-height:1}
.contact-footer-address{font-style:normal;font-size:12px;line-height:1.8;margin:0 0 15px}
.contact-footer-address a{display:inline-block}
.cp-welcome-cta:focus-visible,.contact-footer-address a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:1100px){.cp-contact-welcome{padding:30px}.cp-contact-welcome h2{font-size:45px}}
@media(max-width:850px){.cp-contact-welcome{padding:28px 25px}.cp-contact-welcome h2{font-size:36px;letter-spacing:-1px}.cp-welcome-top .eyebrow{font-size:8px;letter-spacing:1.1px}.cp-welcome-copy{font-size:12px}.cp-welcome-cta{padding:16px 18px;gap:16px;font-size:12px}}
@media(max-width:680px){.cp-contact-welcome{padding:28px;border-radius:20px}.cp-contact-welcome h2{font-size:clamp(36px,10.4vw,52px);margin-top:28px;letter-spacing:-1.4px}.cp-welcome-copy{font-size:13px;max-width:420px}.cp-welcome-cta{margin-bottom:30px}.cp-welcome-signoff{padding-top:17px}.contact-footer-address{font-size:12px}}

/* Contact team first, evening availability next, then weekday hours. */
.cp-contact-details .cp-contact-intro{font-size:16px;line-height:1.75;color:var(--muted);margin:16px 0 5px;max-width:520px}
.cp-contact-details .cp-contact-email small{font-size:14px;line-height:1.6;color:var(--green);margin-bottom:7px}
.cp-contact-details .cp-contact-email strong{font-size:20px;overflow-wrap:anywhere}
.cp-contact-email>a>span{min-width:0}.cp-contact-email>a>.icon{flex-shrink:0}
.cp-evening-notice{margin:28px 0;padding:23px 24px;background:#e9eedf;border-left:4px solid var(--green);border-radius:12px;color:var(--green)}
.cp-evening-notice h3{display:flex;align-items:center;gap:11px;font-size:18px;line-height:1.5;font-weight:600;margin:0}
.cp-evening-notice h3 .icon{flex-shrink:0;width:23px;height:23px}
.cp-contact-details .cp-evening-notice .cp-hours-note{font-size:17px;line-height:1.7;margin:12px 0 0;max-width:none;color:var(--green)}
.cp-contact-details .cp-hours-row h3{font-size:18px}.cp-contact-details .cp-hours-row p{font-size:14px;line-height:1.6}
.cp-contact-details .cp-hours-row>strong{font-size:16px}
@media(max-width:1000px){.cp-contact-details .cp-hours-row{flex-wrap:wrap;gap:12px}.cp-contact-details .cp-contact-email strong{font-size:18px}}
@media(max-width:680px){.cp-evening-notice{padding:20px}.cp-evening-notice h3{font-size:17px}.cp-contact-details .cp-evening-notice .cp-hours-note{font-size:16px}.cp-contact-details .cp-contact-email small{font-size:13px}}

/* Make calling the team easy to find alongside email. */
.cp-contact-hero .cp-phone-hero{padding:20px 24px;border:1px solid #123b2b35;background:#e9eedf;border-radius:18px;max-width:100%}
.cp-contact-hero .cp-phone-hero>span{font-size:11px;font-weight:600;color:var(--green)}
.cp-contact-hero .cp-phone-hero strong{font-size:32px;font-weight:600;letter-spacing:-.7px}
.cp-contact-email>a.cp-contact-call{display:inline-flex;justify-content:flex-start;padding:8px 0;margin:2px 0 8px;font-size:20px;font-weight:700;line-height:1.5;border:0;color:var(--green);gap:12px}
.cp-contact-email>a.cp-contact-call:hover{color:var(--red)}
@media(max-width:680px){.cp-contact-hero .cp-phone-hero{min-width:0;padding:18px 20px}.cp-contact-hero .cp-phone-hero strong{font-size:30px}.cp-contact-email>a.cp-contact-call{font-size:19px}}

/* Corporate office identity, with the address anchored below the introduction. */
.cp-contact-welcome h2{font-size:clamp(30px,3.4vw,46px);line-height:1.15;letter-spacing:-1px;max-width:420px;margin:42px 0 16px}
.cp-office-tagline{font-family:var(--serif);font-size:clamp(27px,2.8vw,38px);line-height:1.3;margin:0 0 24px;color:var(--cream)}
.cp-contact-welcome .cp-welcome-copy{font-size:14px;line-height:1.85;max-width:350px;margin-bottom:60px}
.cp-office-address{font-size:13px;font-style:normal;line-height:1.9;letter-spacing:.2px}
.cp-office-address a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:850px){.cp-contact-welcome h2{font-size:32px;letter-spacing:-.6px}.cp-office-tagline{font-size:29px}}
@media(max-width:680px){.cp-contact-welcome h2{font-size:clamp(29px,8vw,43px);margin-top:30px}.cp-contact-welcome .cp-welcome-copy{margin-bottom:48px}}
