/* Local design pilot. Scoped to HomePage: other templates keep their accepted styles. */
.template-homepage { --hp-ink:#14252d; --hp-muted:#51616a; --hp-teal:#006c68; --hp-line:#dce3e6; --hp-soft:#f3f6f7; --hp-signal:#f5c443; color:var(--hp-ink); }
.template-homepage .utility-bar {font-size:.875rem; letter-spacing:0; color:#d7e2e5;}
.template-homepage .utility-bar__inner {min-height:36px; gap:20px;}
.template-homepage .site-header {background:#fff; backdrop-filter:none;}
.template-homepage .site-header__inner {gap:24px;min-height:84px;}
.template-homepage .site-nav {gap:22px;}
.template-homepage .site-nav a {font-size:.9375rem;min-height:44px;display:flex;align-items:center;}
.template-homepage .brand small {font-size:.75rem;letter-spacing:0;}
.template-homepage .brand__mark {box-shadow:none;}
.template-homepage .header-action {font-size:.9375rem;min-height:48px;gap:12px;}
.template-homepage .menu-toggle {width:48px;height:48px;}
.template-homepage .site-footer p {font-size:1rem;color:#b7c8cd;}
.template-homepage .site-footer a:not(.brand) {font-size:.9375rem;}
.template-homepage .site-footer nav strong {font-size:.875rem;color:#b7c8cd;letter-spacing:.03em;}
.template-homepage .site-footer__bottom {font-size:.875rem;color:#b7c8cd;letter-spacing:0;}
.hp {font-size:1rem;line-height:1.65;}
.hp [id] {scroll-margin-top:112px;}
.hp a {text-decoration:none;}
.hp h1,.hp h2,.hp h3,.hp p {overflow-wrap:break-word;}
.hp h1 {font-size:clamp(2.45rem,4.3vw,4rem);line-height:1.16;letter-spacing:0;margin:24px 0;max-width:780px;}
.hp h1 span {display:block;color:var(--hp-teal);}
.hp h2 {font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.24;letter-spacing:0;margin:12px 0 0;}
.hp h2 span {color:var(--hp-muted);}
.hp h3 {font-size:1.1875rem;line-height:1.4;letter-spacing:0;}
.hp p {margin:0;}
.hp .hp-kicker {font-size:.875rem;font-weight:700;line-height:1.6;letter-spacing:.015em;color:var(--hp-teal);}
.hp-status {width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--hp-teal);margin:0 8px 1px 0;}
.hp-hero {padding:60px 0 0;background:var(--hp-soft);}
.hp-hero__grid {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.86fr);gap:64px;align-items:center;padding-bottom:46px;}
.hp-lead {max-width:590px;color:var(--hp-muted);font-size:1.125rem;}
.hp-actions {display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 22px;}
.hp-button {display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:12px 20px;border:1px solid transparent;border-radius:10px;font-size:1rem;font-weight:750;line-height:1.4;transition:background .16s ease,border-color .16s ease;}
.hp-button span {font-size:1.375rem;line-height:1;}
.hp-button--call {background:var(--hp-signal);color:var(--hp-ink);}
.hp-button--call:hover {background:#ffd362;}
.hp-button--outline {border-color:#899a9f;background:transparent;color:var(--hp-ink);}
.hp-button--outline:hover {background:#fff;border-color:var(--hp-ink);}
.hp .hp-hero__phone {display:flex;flex-wrap:wrap;column-gap:14px;align-items:center;font-size:.875rem;color:var(--hp-muted);}
.hp-hero__phone a {font-size:1.125rem;font-weight:750;color:var(--hp-ink);}
.hp-hero__facts {display:flex;gap:20px;flex-wrap:wrap;margin-top:32px;padding-top:22px;border-top:1px solid var(--hp-line);font-size:.875rem;color:var(--hp-muted);}
.hp-hero__facts span {display:flex;align-items:center;gap:9px;}
.hp-hero__facts span::before {content:"";width:4px;height:4px;border-radius:50%;background:var(--hp-teal);}
.hp-dispatch {background:var(--hp-ink);color:white;border-radius:20px;padding:26px 28px 24px;}
.hp-dispatch__top {display:flex;justify-content:space-between;align-items:center;gap:16px;color:#bfd0d4;font-size:.875rem;}
.hp-dispatch__top strong {color:var(--hp-signal);font-size:1.5rem;letter-spacing:-.06em;}
.hp .hp-dispatch h2 {margin:16px 0 24px;font-size:2rem;color:#fff;}
.hp-dispatch nav a {display:flex;align-items:center;gap:12px;min-height:82px;padding:16px 0;border-top:1px solid #405158;transition:color .16s ease;}
.hp-dispatch nav a:hover {color:var(--hp-signal);}
.hp-dispatch__index {font-size:.875rem;color:#b7c8cd;}
.hp-dispatch nav strong {font-size:1rem;display:block;font-weight:700;}
.hp-dispatch nav small {display:block;font-size:.875rem;color:#b7c8cd;margin-top:3px;}
.hp-dispatch nav b {margin-left:auto;font-size:1.25rem;color:var(--hp-signal);}
.hp .hp-dispatch p {font-size:.875rem;color:#b7c8cd;margin-top:12px;padding-top:14px;border-top:1px solid #405158;}
.hp-safety {display:flex;gap:16px;align-items:center;padding-block:22px;border-top:1px solid var(--hp-line);font-size:.875rem;color:var(--hp-muted);}
.hp-safety strong {color:var(--hp-ink);}
.hp-safety__mark {display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border:1px solid #9ba9ae;border-radius:50%;font-weight:750;}
.hp-section {padding:84px 0;}
.hp-section-head {display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:36px;}
.hp-section-head>p {max-width:330px;font-size:1rem;color:var(--hp-muted);}
.hp-text-link {display:inline-flex;gap:16px;align-items:center;min-height:48px;font-size:1rem;line-height:1.45;color:var(--hp-teal);font-weight:750;}
.hp-text-link:hover {text-decoration:underline;text-underline-offset:5px;}
.hp-text-link span {font-size:1.25rem;}
.hp-prices__grid {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:48px;}
.hp-price-list__head {display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-block:1px solid var(--hp-line);font-size:.875rem;color:var(--hp-muted);}
.hp-price-row {display:flex;align-items:center;justify-content:space-between;gap:26px;padding:23px 0;border-bottom:1px solid var(--hp-line);}
.hp-price-row h3 {margin:0 0 5px;font-size:1rem;line-height:1.5;max-width:350px;}
.hp-price-row span {color:var(--hp-muted);font-size:.875rem;}
.hp-price-row>strong {white-space:nowrap;font-size:1.25rem;letter-spacing:-.03em;}
.hp .hp-price-list__note {font-size:.875rem;line-height:1.6;color:var(--hp-muted);margin-top:18px;max-width:610px;}
.hp-price-empty {padding:24px 0;}
.hp-price-explain {border:1px solid var(--hp-line);border-radius:16px;padding:28px;background:var(--hp-soft);align-self:start;}
.hp-section-number {font-size:.875rem;color:var(--hp-muted);letter-spacing:.04em;}
.hp .hp-price-explain h3 {font-size:1.55rem;margin:16px 0;}
.hp-price-explain ul {padding-left:20px;margin:0 0 20px;}
.hp-price-explain li {margin:9px 0;font-size:1rem;}
.hp .hp-price-explain p {font-size:.9375rem;color:var(--hp-muted);margin-bottom:15px;}
.hp-services {background:var(--hp-soft);}
.hp-service-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.hp-service-grid>a {display:flex;flex-direction:column;min-width:0;padding:28px;background:#fff;border:1px solid var(--hp-line);border-radius:14px;transition:border-color .16s ease;}
.hp-service-grid>a:hover {border-color:var(--hp-teal);}
.hp-service-num {font-size:.875rem;color:var(--hp-muted);}
.hp .hp-service-grid h3 {font-size:1.375rem;margin:24px 0 12px;}
.hp-service-grid p {font-size:1rem;color:var(--hp-muted);margin-bottom:24px;}
.hp-service-link {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:20px;font-size:.9375rem;font-weight:700;color:var(--hp-teal);}
.hp-service-link b {font-size:1.375rem;}
.hp-project__grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;}
.hp-project__photo {margin:0;position:relative;border-radius:16px;overflow:hidden;background:var(--hp-soft);}
.hp-project__photo img {display:block;width:100%;height:580px;object-fit:cover;}
.hp-project__photo figcaption {position:absolute;bottom:16px;left:16px;right:16px;padding:12px 16px;background:#14252deb;color:#fff;border-radius:9px;font-size:.875rem;}
.hp .hp-project__copy>p:not(.hp-kicker) {color:var(--hp-muted);margin-top:24px;}
.hp-object-links {margin-top:28px;}
.hp-object-links a {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--hp-line);}
.hp-object-links small {display:block;font-size:.875rem;color:var(--hp-muted);margin-bottom:5px;}
.hp-object-links strong {font-size:1.125rem;}
.hp-object-links b {color:var(--hp-teal);font-size:1.375rem;}
.hp-object-links a:hover strong {color:var(--hp-teal);}
.hp .hp-project__copy .hp-project__note {font-size:.875rem;}
.hp-process {padding-top:0;}
.hp-process__steps {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;}
.hp-process__steps li {padding-top:24px;border-top:2px solid var(--hp-line);}
.hp-process__steps li>span {font-size:1rem;font-weight:750;color:var(--hp-teal);}
.hp .hp-process__steps h3 {margin:22px 0 12px;}
.hp-process__steps p {font-size:1rem;color:var(--hp-muted);}
.hp-faq {background:var(--hp-soft);}
.hp-faq__grid {display:grid;grid-template-columns:.75fr 1.35fr;gap:90px;}
.hp .hp-faq__grid>div>p:not(.hp-kicker) {margin:24px 0 12px;color:var(--hp-muted);}
.hp-faq details {border-bottom:1px solid #cbd6da;}
.hp-faq details:first-child {border-top:1px solid #cbd6da;}
.hp-faq summary {display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;cursor:pointer;font-size:1.0625rem;font-weight:700;list-style:none;}
.hp-faq summary::-webkit-details-marker {display:none;}
.hp-faq summary span {font-size:1.5rem;color:var(--hp-teal);font-weight:500;}
.hp-faq details[open] summary span {transform:rotate(45deg);}
.hp-faq details>div {padding:0 42px 24px 0;font-size:1rem;color:var(--hp-muted);}
.hp-contact__card {display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;background:var(--hp-ink);color:#fff;border-radius:22px;padding:48px;}
.hp .hp-contact .hp-kicker {color:#86d9cf;}
.hp .hp-contact h2 {color:#fff;}
.hp .hp-contact p {color:#c0cfd4;margin-top:20px;}
.hp-contact ul {padding-left:20px;color:#c0cfd4;font-size:.9375rem;}
.hp-contact li {margin:6px 0;}
.hp-contact__actions {display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.hp-contact__phone {font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:750;letter-spacing:-.04em;}
.hp-contact__actions>span {font-size:.875rem;color:#c0cfd4;}
.hp-contact__prices {font-size:.9375rem;text-decoration:underline!important;text-underline-offset:5px;min-height:44px;display:flex;align-items:center;}
.template-homepage .mobile-action-bar {padding-bottom:max(10px,env(safe-area-inset-bottom));}
.template-homepage .mobile-action-bar a {font-size:1rem;min-height:48px;}
.template-homepage :is(a,button,input,textarea,summary):focus-visible {outline:3px solid #00766f;outline-offset:4px;}
.template-homepage :is(.hp-dispatch,.hp-contact,.site-footer) :is(a,button,input,textarea,summary):focus-visible {outline-color:var(--hp-signal);}
@media(max-width:1100px){.hp-hero__grid{gap:32px;grid-template-columns:1.25fr .9fr}.template-homepage .site-header__inner{gap:16px}.template-homepage .site-nav{gap:16px}.template-homepage .brand small{font-size:.75rem}.hp-actions{flex-direction:column;align-items:flex-start}.hp-project__grid{gap:40px}.hp-faq__grid{gap:48px}.hp-contact__card{gap:32px;padding:36px}}
@media(max-width:900px){.hp-hero__grid{grid-template-columns:1fr;gap:30px}.hp-hero{padding-top:32px}.hp-hero__copy{max-width:740px}.hp h1{max-width:700px}.hp-actions{flex-direction:row}.hp-dispatch h2 br{display:none}.hp .hp-dispatch h2{margin-bottom:16px}.hp-dispatch nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hp-dispatch nav a{align-items:flex-start}.hp-dispatch__index{display:none}.hp-dispatch nav b{display:none}.hp-dispatch p br{display:none}.hp-prices__grid{grid-template-columns:1fr;gap:28px}.hp-price-explain{width:100%}.hp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-process__steps{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-faq__grid{grid-template-columns:1fr;gap:24px}.hp-contact__card{grid-template-columns:1fr}.hp-project__photo img{height:520px}.template-homepage .header-action{margin-left:auto}.template-homepage .utility-bar__inner>span{display:none}.template-homepage .utility-bar__inner{justify-content:center}}
@media(max-width:640px){.hp .container{width:calc(100% - 32px)}.hp h1{font-size:clamp(2rem,8.1vw,2.75rem);letter-spacing:-.045em;line-height:1.14;margin:18px 0}.hp h2{font-size:1.9rem}.hp .hp-kicker{font-size:.875rem}.hp-desktop-break{display:none}.hp-lead{font-size:1rem}.hp-hero__grid{padding-bottom:26px}.hp-actions{display:grid;grid-template-columns:1fr;margin:24px 0 18px;gap:10px}.hp-button{width:100%;min-height:52px}.hp .hp-hero__phone{display:block}.hp-hero__phone span{display:block;margin-top:4px}.hp-hero__facts{gap:8px 14px;margin-top:22px;padding-top:16px}.hp-hero__facts span{font-size:.875rem}.hp-dispatch{padding:22px;border-radius:14px}.hp-dispatch nav{display:block}.hp-dispatch nav a{align-items:center;min-height:78px}.hp-dispatch nav b{display:block}.hp-safety{align-items:flex-start;padding-block:20px}.hp-safety__mark{width:24px;height:24px}.hp-section{padding:52px 0}.hp-section-head{display:block;margin-bottom:26px}.hp-section-head>.hp-text-link{margin-top:16px}.hp-section-head>p{margin-top:20px}.hp-price-row{gap:16px;padding:18px 0}.hp-price-row h3{font-size:1rem}.hp-price-row>strong{font-size:1.125rem}.hp-price-list__head{font-size:.875rem}.hp-price-list__head span:last-child{text-align:right}.hp-price-explain{padding:24px}.hp-service-grid{grid-template-columns:1fr;gap:12px}.hp-service-grid>a{padding:24px}.hp .hp-service-grid h3{margin-top:14px;font-size:1.25rem}.hp-service-grid p{margin-bottom:12px}.hp-service-link{padding-top:12px}.hp-project__grid{display:flex;flex-direction:column-reverse;gap:28px}.hp-project__photo{width:100%}.hp-project__photo img{height:440px}.hp-project__photo figcaption{left:12px;right:12px;bottom:12px;font-size:.875rem}.hp-process{padding-top:0}.hp-process__steps{grid-template-columns:1fr;gap:24px}.hp-process__steps li{padding-top:18px}.hp .hp-process__steps h3{margin:10px 0}.hp-faq summary{font-size:1rem;padding:21px 0;gap:20px}.hp-faq details>div{padding-right:0}.hp-contact .hp-contact__card{width:calc(100% - 32px);padding:28px 22px;gap:26px;border-radius:16px}.hp-contact__actions{align-items:stretch}.hp-contact__phone{font-size:1.35rem}.template-homepage .site-header__inner{min-height:72px}.template-homepage .brand small{font-size:.75rem}.template-homepage .utility-bar__inner{min-height:32px}.hp [id]{scroll-margin-top:88px}}
@media(prefers-reduced-motion:reduce){html:has(.template-homepage){scroll-behavior:auto}.template-homepage *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
