/* Phone-first contact actions: retain HLM's matte green identity. */
.call-label{display:block;min-width:0;text-align:left;line-height:1.3}
.call-label>span{display:block}
.call-label small{display:block;margin-top:3px;font-size:12px;font-weight:500;line-height:1.3;letter-spacing:.025em;white-space:nowrap}
.button.call-primary,.button.header-call{gap:11px;box-shadow:none}
.button.call-primary .icon,.button.header-call .icon{width:21px;height:21px}
.button.call-primary:hover,.button.header-call:hover{box-shadow:none;transform:none}
.button.header-call{min-width:176px;min-height:52px;padding:10px 18px;font-size:13px;flex-shrink:0}
.header-call .call-label small{font-size:12px;color:#e3f3eb}

.hero .actions{align-items:center;gap:12px 14px;max-width:700px}
.hero .actions>.button{min-height:58px;font-size:14px}
.hero .actions>.call-primary{min-width:203px;padding:12px 24px}
.hero .call-primary .call-label small{color:#e3f3eb}
.hero-video-link{display:inline-flex;align-items:center;gap:9px;flex-basis:100%;min-height:44px;color:#e5f1ec;font-size:14px;font-weight:500;line-height:1.5;text-decoration:underline;text-decoration-color:#7c9f8f;text-underline-offset:5px}
.hero-video-link .icon{width:19px;height:19px;flex-shrink:0}
.hero-video-link:hover{color:#8ae6ba;text-decoration-color:currentColor}

.seo-call-prompt{max-width:60ch;margin:0 0 13px;font-size:14px;line-height:1.65;color:#4d6256}
.seo-hero .actions{align-items:stretch;gap:12px;max-width:660px}
.seo-hero .actions>.button{min-height:58px;font-size:14px}
.seo-hero .call-primary{padding:12px 22px}
.seo-hero .call-primary .call-label small{color:#e3f3eb}
.seo-hero .button-secondary{background:transparent;border:1px solid #87a793;color:#145639;box-shadow:none;padding-inline:24px}
.seo-hero .button-secondary:hover{background:#e5eee7;border-color:#4d8062;box-shadow:none;transform:none}

/* Keep service calls prominent; office and written enquiries remain close by. */
.contact .contact-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 36px;min-height:0;padding-block:36px}
.contact .contact-copy{min-width:0;max-width:700px}
.contact .contact-copy h2{font-size:clamp(27px,2.5vw,36px);line-height:1.18;letter-spacing:-.7px;text-wrap:balance}
.contact .contact-copy p{max-width:65ch;margin-top:11px;color:#e6f2eb;font-size:15px;line-height:1.65}
.contact .contact-primary{justify-self:end;margin:0}
.contact .contact-primary.call-primary,.contact .contact-primary .call-primary{min-height:64px;min-width:220px;padding:13px 23px;background:#f7fcf9;border-color:#f7fcf9;color:#075736;font-size:15px;box-shadow:none}
.contact .contact-primary.call-primary:hover,.contact .contact-primary .call-primary:hover{background:#e6f3eb;border-color:#e6f3eb;transform:none}
.contact .contact-primary .call-label small{font-size:15px;font-weight:600;letter-spacing:.01em;color:#075736}
.contact .contact-primary .icon{width:24px;height:24px}
.contact-secondary{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:18px 32px;min-width:0;padding-top:23px;border-top:1px solid #ffffff2e}
.contact-secondary>a:not(.button){display:inline-flex;align-items:center;gap:11px;min-height:44px;max-width:100%;color:#f2faf5;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.contact-secondary>a:not(.button):hover{text-decoration:underline;text-underline-offset:4px}
.contact-secondary>a>.icon{width:21px;height:21px;color:#cae9d8}
.contact-secondary a>span{min-width:0}
.contact-secondary small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:#d6ebdf;line-height:1.5}
.contact .contact-secondary>.button{min-height:46px;margin-left:auto;padding:12px 20px;font-size:13px;box-shadow:none}
.contact .contact-secondary>.button:hover{box-shadow:none;transform:none}
.contact .service-request .service-request-callout{display:flex;align-items:center;flex-wrap:wrap;gap:3px 12px;margin:0 0 24px;padding:10px 16px;border:1px solid #d9e5dc;border-left:3px solid #b49a38;border-radius:8px;background:#edf4ee;color:#3c5948;font-size:14px;line-height:1.65}
.service-request-callout a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#00623b;font-weight:600;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}

/* Existing navigation supplies the safe-area position and reserved body space. */
.app-navigation.contact-dock{grid-template-columns:repeat(2,minmax(0,1fr)) 44px;gap:6px;max-width:480px;border-radius:17px;background:#fcfdfc;backdrop-filter:none;-webkit-backdrop-filter:none}
.app-navigation.contact-dock[hidden]{display:none!important}
.contact-dock-dismissed{--app-nav-height:0px}
.contact-dock .contact-dock-close{display:grid;place-items:center;align-self:center;grid-column:3;grid-row:1;width:44px;height:44px;padding:0;border:1px solid #d8e2dc;border-radius:11px;background:#f4f7f4;color:#456152;cursor:pointer}
.contact-dock .contact-dock-close:hover{background:#e5ede7;color:#173e2a}
.contact-dock .contact-dock-close .icon{width:18px;height:18px}
.contact-dock .contact-dock-close:focus-visible{outline:3px solid #007744;outline-offset:2px}
@media(max-width:350px){.app-navigation.contact-dock a .icon{display:none}}
.app-navigation.contact-dock a{flex-direction:row;gap:9px;min-height:50px;padding:10px 12px;border-radius:11px;font-size:13px;font-weight:600;line-height:1.3;text-align:center}
.app-navigation.contact-dock .icon{width:21px;height:21px;flex-shrink:0}
.app-navigation.contact-dock .dock-call{background:#007b47;color:#fff}
.app-navigation.contact-dock .dock-call:hover,.app-navigation.contact-dock .dock-call:active{background:#00623b;color:#fff}
.app-navigation.contact-dock .dock-request{background:#eef4ef;color:#24573b}
.app-navigation.contact-dock .dock-request:hover,.app-navigation.contact-dock .dock-request:active{background:#e1ece3;color:#17462c}

@media(min-width:1600px){.button.header-call{min-width:192px;font-size:14px}.header-call .call-label small{font-size:13px}.hero .actions>.button{min-height:60px;font-size:15px}.hero .actions>.call-primary{min-width:220px}.hero-video-link{font-size:15px}.contact .contact-inner{padding-block:42px}.contact .contact-copy p{font-size:16px}}
@media(min-width:900px) and (max-width:1200px){.button.header-call{min-width:152px;padding:10px 13px;gap:8px;font-size:12px}.button.header-call .icon{width:18px;height:18px}.header-call .call-label small{font-size:11px}.hero .actions>.button{min-width:174px;padding-inline:19px}}
@media(max-width:899px){.button.header-call{min-width:156px;padding:9px 14px;font-size:12px}.header-call .call-label small{font-size:11px}.button.header-call .icon{width:19px;height:19px}.contact .contact-inner{column-gap:24px}.contact .contact-primary.call-primary,.contact .contact-primary .call-primary{min-width:198px;padding-inline:19px}.contact-secondary{gap:16px 24px}.contact .contact-secondary>.button{margin-left:0}}
@media(max-width:620px){.hero .actions{gap:12px}.hero .actions>.button{min-height:56px;font-size:13px;min-width:0;padding-inline:19px}.hero-video-link{font-size:13px}.seo-hero .actions>.button{font-size:13px;min-height:56px}.seo-hero .actions>.call-primary{padding-inline:18px}.seo-hero .button-secondary{padding-inline:19px}.contact .contact-inner{grid-template-columns:minmax(0,1fr);gap:22px;padding-block:32px}.contact .contact-copy h2{font-size:29px}.contact .contact-primary{justify-self:start}.contact .contact-primary.call-primary,.contact .contact-primary .call-primary{min-width:220px;min-height:62px}.contact-secondary{gap:16px 24px;padding-top:20px}.contact-secondary>a:not(.button){font-size:14px}.contact .contact-secondary>.button{margin:0}.contact .service-request .service-request-callout{padding-inline:12px;font-size:13px}}
@media(max-width:440px){.button.header-call{min-width:132px;min-height:48px;padding:9px 13px;font-size:11px}.button.header-call .icon{display:none}.header-call .call-label small{font-size:11px}.hero .actions>.button{padding-inline:15px}.hero .actions>.call-primary{gap:9px}.hero .actions>.call-primary .icon{width:19px;height:19px}.hero .call-label small{font-size:11px}.seo-hero .actions{gap:10px}.seo-hero .actions>.button{padding-inline:14px}.seo-hero .call-primary{gap:9px}.seo-hero .call-primary .icon{width:19px;height:19px}.seo-hero .call-label small{font-size:11px}.contact-secondary{align-items:flex-start;flex-direction:column;gap:14px}.contact .contact-secondary>.button{margin-top:4px}.app-navigation.contact-dock a{gap:8px;padding-inline:9px;font-size:12px}.app-navigation.contact-dock .icon{width:20px;height:20px}}
@media(max-width:350px){.button.header-call{min-width:124px;padding-inline:11px}.hero .actions{gap:10px}.hero .actions>.button{font-size:12px;padding-inline:13px}.hero .actions>.call-primary{gap:8px}.seo-hero .actions>.button{font-size:12px;padding-inline:12px}.seo-hero .actions>.call-primary{gap:8px}.seo-hero .call-primary .icon{width:18px;height:18px}.app-navigation.contact-dock a{font-size:11px;gap:7px}}
@media print{.app-navigation.contact-dock,.hero-video-link{display:none!important}.contact .contact-primary.call-primary,.contact .contact-primary .call-primary{border-color:#777}}
