/* Contractor hero: neutral type, actual stages of work, flat controls. */
.hero{padding:48px 0 0;background:#fff}
.hero .hero-grid{grid-template-columns:.94fr 1.06fr;gap:54px;align-items:center}
.hero .hero-copy{padding:0;min-width:0}
.hero h1{font-family:var(--font-heading);font-size:clamp(36px,3.8vw,52px);line-height:1.13;letter-spacing:-.035em;font-weight:600;max-width:600px;color:#171c20}
.hero h1>span{color:#171c20}
.hero .hero-description{font-size:18px;line-height:1.65;margin-top:22px;max-width:470px;color:#353a3e;font-weight:400}
.hero .hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:28px;max-width:490px}
.hero .hero-actions .button{min-height:52px;height:52px;min-width:184px;padding:0 24px;gap:0;border-radius:2px;font-family:var(--font-ui);font-size:15px;font-weight:500;line-height:1;letter-spacing:0;box-shadow:none;white-space:nowrap;justify-content:center;transition:background .15s}
.hero .hero-actions .button-primary{background:#20262a;color:#fff;border:1px solid #20262a}
.hero .hero-actions .button-primary:hover{background:#343c41;border-color:#343c41}
.hero-phone-link{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-ui);font-size:16px;font-weight:600;line-height:1.3;white-space:nowrap;color:#20262a}
.hero-phone-link .icon{width:16px;height:16px;fill:currentColor;stroke:none;display:block}
.hero-phone-link>span{text-decoration:underline;text-decoration-color:#8b9399;text-underline-offset:5px;text-decoration-thickness:1px}
.hero-phone-link:hover>span{text-decoration-color:#20262a}
.hero-offer{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:490px;margin-top:28px;padding:18px 0;border-block:1px solid #d5dade}
.hero-offer>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;padding-left:14px;border-left:3px solid #e5c900}
.hero-offer>div+div{border-left:1px solid #d5dade;margin-left:15px;padding-left:21px}
.hero-offer strong{font-size:16px;line-height:1.4;font-weight:600;color:#20262a}
.hero-offer span{font-size:13px;line-height:1.5;color:#353a3e}
.hero .hero-visual{padding:0;position:relative;isolation:isolate;min-width:0}
.hero .hero-visual::before{top:-10px;right:-10px;width:80px;height:150px;border-radius:0;background:#f1d600;z-index:-1}
.hero .hero-circuit{inset:-16px -17px -16px -17px;width:calc(100% + 34px);height:calc(100% + 32px);color:#b9c0c5;stroke-width:1;z-index:-2}
.hero .hero-circuit path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
.hero .hero-circuit circle{fill:#fff;stroke-width:1}
.hero-project{padding:14px;border:1px solid #d5dade;background:#fff;border-radius:2px}
.hero-project-heading{display:flex;justify-content:space-between;gap:16px;padding-bottom:13px;font-size:13px;line-height:1.4;color:#353a3e}
.hero-project-heading>span:first-child{font-weight:600;color:#20262a}
.hero-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero-comparison figure{min-width:0;margin:0}
.hero .hero-comparison .gallery-trigger{border-radius:0;background:#e7e8e7}
.hero .hero-comparison .gallery-trigger img{width:100%;height:370px;object-fit:cover;object-position:50% 50%;border-radius:0;transition:none}
.hero .hero-comparison .gallery-trigger:hover img{transform:none}
.hero .hero-comparison .gallery-trigger:hover{outline:1px solid #20262a;outline-offset:2px}
.hero-comparison figcaption{font-size:12px;font-weight:500;line-height:1.5;color:#353a3e;padding-top:10px}
.hero .hero-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0;padding:0;margin-top:40px;border-radius:0;box-shadow:none;border:0;border-top:1px solid #d5dade;border-bottom:1px solid #d5dade;background:transparent}
.hero .hero-proof>.hero-feature{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px;min-width:0;padding:24px 18px;min-height:92px;border:0;line-height:1.4}
.hero .hero-proof>.hero-feature:first-child{padding-left:0}
.hero .hero-proof>.hero-feature+.hero-feature{border-left:1px solid #d5dade}
.hero .hero-proof .trust-icon{width:20px;height:20px;flex:0 0 20px;color:#20262a;fill:currentColor;stroke:none;display:block;margin:0;padding:0}
.hero .hero-proof .feature-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.hero .hero-proof .feature-copy>strong{font-family:var(--font-heading);font-size:14px;font-weight:600;color:#20262a;line-height:1.4}
.hero .hero-proof .feature-copy>span{font-size:12px!important;line-height:1.5;color:#353a3e}
.hero .hero-proof .feature-google{display:grid;place-items:center;background:transparent;border:0}
.hero .hero-proof .feature-google>img{width:20px;height:20px;object-fit:contain;max-width:none;background:transparent}
.hero .hero-proof .proof-review:hover .feature-copy{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1190px){
  .hero .hero-grid{gap:38px}.hero .hero-description{font-size:17px}.hero .hero-actions{gap:20px}
  .hero .hero-actions .button{min-width:168px;padding-inline:20px;font-size:14px}.hero-phone-link{font-size:15px}
  .hero-offer strong{font-size:15px}.hero-offer>div+div{margin-left:10px;padding-left:16px}.hero-offer span{font-size:12px}
  .hero-project{padding:12px}.hero .hero-comparison .gallery-trigger img{height:350px}
  .hero .hero-proof>.hero-feature{padding:23px 15px;gap:10px}.hero .hero-proof .feature-copy>strong{font-size:13px}.hero .hero-proof .feature-copy>span{font-size:11px!important}
}
@media(max-width:980px){
  .hero{padding-top:38px}.hero .hero-grid{grid-template-columns:1fr 1fr;gap:32px}.hero h1{font-size:clamp(34px,4.2vw,40px)}
  .hero .hero-description{font-size:16px;line-height:1.65;margin-top:19px}.hero .hero-actions{gap:14px;margin-top:23px}
  .hero .hero-actions .button{min-width:156px;font-size:13px;padding-inline:17px}.hero-phone-link{font-size:14px;gap:7px}
  .hero-offer{margin-top:24px;padding-block:17px}.hero-offer strong{font-size:14px}.hero-offer span{font-size:12px}.hero-offer>div{padding-left:10px}.hero-offer>div+div{margin-left:8px;padding-left:13px}
  .hero-project-heading{font-size:11px;gap:10px}.hero-project{padding:10px}.hero-comparison{gap:8px}.hero .hero-comparison .gallery-trigger img{height:315px}.hero-comparison figcaption{font-size:11px}
  .hero .hero-proof{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}
  .hero .hero-proof>.hero-feature{min-height:85px;padding:20px 22px;gap:12px}.hero .hero-proof>.hero-feature:first-child{padding-left:22px}
  .hero .hero-proof>.hero-feature:nth-child(3){border-left:0}.hero .hero-proof>.hero-feature:nth-child(n+3){border-top:1px solid #d5dade}
  .hero .hero-proof .feature-copy>strong{font-size:14px}.hero .hero-proof .feature-copy>span{font-size:12px!important}
}
@media(max-width:690px){
  .hero{padding-top:30px}.hero .hero-grid{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(34px,8.8vw,43px);line-height:1.14;letter-spacing:-.03em}
  .hero .hero-description{font-size:16px;line-height:1.7;margin-top:18px;max-width:470px}.hero .hero-actions{gap:20px;flex-wrap:nowrap;margin-top:23px}
  .hero .hero-actions .button{min-width:0;font-size:13px;padding-inline:17px;flex:1;height:50px;min-height:50px}.hero-phone-link{min-height:50px;font-size:14px;gap:7px}
  .hero-offer{margin-top:24px;max-width:none}.hero-offer strong{font-size:14px}.hero-offer span{font-size:12px}.hero-offer>div+div{margin-left:8px;padding-left:14px}
  .hero .hero-visual{margin:0 8px 0 0}.hero .hero-visual::before{top:-8px;right:-8px;width:54px;height:106px}
  .hero .hero-circuit{inset:-9px -10px -9px -9px;width:calc(100% + 19px);height:calc(100% + 18px)}
  .hero-project{padding:8px}.hero-project-heading{font-size:11px;padding-bottom:10px}.hero .hero-comparison .gallery-trigger img{height:270px}.hero-comparison figcaption{font-size:11px;padding-top:8px}
  .hero .hero-proof{margin-top:29px}.hero .hero-proof>.hero-feature{min-height:91px;padding:17px 11px;gap:9px}.hero .hero-proof>.hero-feature:first-child{padding-left:11px}
  .hero .hero-proof .trust-icon{width:18px;height:18px;flex-basis:18px}.hero .hero-proof .feature-google>img{width:18px;height:18px}
  .hero .hero-proof .feature-copy>strong{font-size:12px}.hero .hero-proof .feature-copy>span{font-size:11px!important}
}
@media(max-width:360px){
  .hero h1{font-size:32px}.hero .hero-actions{gap:14px}.hero .hero-actions .button{font-size:12px;padding-inline:10px}.hero-phone-link{font-size:13px;gap:5px}.hero-phone-link .icon{width:13px;height:13px}
  .hero-offer strong{font-size:13px}.hero-offer span{font-size:11px}.hero-offer>div+div{padding-left:10px}.hero .hero-comparison .gallery-trigger img{height:250px}
  .hero .hero-proof{grid-template-columns:1fr}.hero .hero-proof>.hero-feature{min-height:72px;padding:16px 16px;gap:14px}.hero .hero-proof>.hero-feature:first-child{padding-left:16px}.hero .hero-proof>.hero-feature+.hero-feature{border-left:0;border-top:1px solid #d5dade}
  .hero .hero-proof .feature-copy>strong{font-size:13px}.hero .hero-proof .feature-copy>span{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){.hero .hero-actions .button{transition:none}}

/* Accepted homepage hero: service selector and concise offer. */
.hero.hero-service-layout{padding-top:64px}
.hero-service-layout .hero-grid{grid-template-columns:1.12fr 1fr;gap:88px;align-items:center}
.hero-service-layout .hero-description{max-width:510px}
.hero-service-layout .hero-offer-note{font-size:13px;line-height:1.7;margin-top:16px;color:#353a3e;font-weight:400;max-width:490px}
.hero-service-selector{display:grid;gap:12px;position:relative;isolation:isolate;min-width:0;font-family:var(--font-body)}
.hero-service-selector::before{content:"";position:absolute;top:-8px;right:-8px;width:64px;height:92px;background:#f1d600;z-index:-1;pointer-events:none}
.hero-service-choice{display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:18px;align-items:center;min-height:112px;padding:24px;border:1px solid #d5dade;background:#fff;color:#20262a;border-radius:2px;transition:background .16s,border-color .16s}
.hero-service-choice .choice-icon{display:grid;place-items:center;width:44px;height:44px;background:#f3f4f1;border:1px solid #e7e9e5;border-radius:2px;transition:background .16s,border-color .16s}
.hero-service-choice .icon{width:23px;height:23px;fill:currentColor;stroke:none}
.hero-service-choice .choice-arrow{width:18px;height:18px;color:#555d61;transition:transform .16s}
.hero-service-choice .choice-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.hero-service-choice strong{font-size:20px;line-height:1.35;font-weight:600;letter-spacing:-.025em}
.hero-service-choice .choice-copy>span{font-size:13px;line-height:1.5;font-weight:400;color:#353a3e}
.hero-service-choice:hover,.hero-service-choice:focus-visible{background:#fafbf8;border-color:#8b9399}
.hero-service-choice:hover .choice-icon,.hero-service-choice:focus-visible .choice-icon{background:#f1d600;border-color:#e5c900}
.hero-service-choice:hover .choice-arrow,.hero-service-choice:focus-visible .choice-arrow{transform:translateX(3px)}
.hero-service-layout .hero-proof{margin-top:48px}
@media(max-width:1190px){.hero-service-layout .hero-grid{gap:54px}.hero-service-choice{padding:22px;gap:16px;min-height:110px}.hero-service-choice strong{font-size:18px}}
@media(max-width:980px){.hero.hero-service-layout{padding-top:42px}.hero-service-layout .hero-grid{gap:34px;grid-template-columns:1fr 1fr}.hero-service-choice{grid-template-columns:38px minmax(0,1fr) 16px;gap:13px;padding:20px 18px;min-height:112px}.hero-service-choice .choice-icon{width:38px;height:38px}.hero-service-choice .icon{width:21px;height:21px}.hero-service-choice .choice-arrow{width:16px;height:16px}.hero-service-choice strong{font-size:17px}.hero-service-choice .choice-copy>span{font-size:12px}.hero-service-layout .hero-offer-note{font-size:12px}.hero-service-layout .hero-proof{margin-top:35px}}
@media(max-width:690px){.hero.hero-service-layout{padding-top:30px}.hero-service-layout .hero-grid{grid-template-columns:1fr;gap:34px}.hero-service-choice{padding:21px 18px;gap:14px;min-height:106px}.hero-service-choice strong{font-size:17px}.hero-service-choice .choice-copy>span{font-size:12px}.hero-service-layout .hero-offer-note{font-size:12px;line-height:1.65}.hero-service-layout .hero-proof{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.hero-service-choice,.hero-service-choice .choice-icon,.hero-service-choice .choice-arrow{transition:none}.hero-service-choice:hover .choice-arrow,.hero-service-choice:focus-visible .choice-arrow{transform:none}}

/* Final homepage refinements after acceptance of the service layout. */
.hero.hero-service-layout{padding-bottom:32px}
.hero-service-layout h1{font-size:clamp(38px,4vw,55px);font-weight:650}
.hero-service-layout .hero-proof{border:1px solid #d5dade}
.hero-service-layout .hero-proof>.hero-feature:first-child{padding-left:18px}
.hero-service-layout+.services-section{border-top:1px solid #e7eaeb}
@media(max-width:980px){
  .hero-service-layout h1{font-size:clamp(36px,4.4vw,42px)}
  .hero-service-layout .hero-proof>.hero-feature:first-child{padding-left:22px}
}
@media(max-width:690px){
  .hero.hero-service-layout{padding-bottom:24px}
  .hero-service-layout h1{font-size:clamp(36px,9.2vw,45px);font-weight:650}
  .hero-service-layout .hero-service-choice{grid-template-columns:40px minmax(0,1fr) 16px;min-height:124px;padding:24px 18px}
  .hero-service-layout .hero-service-choice .choice-icon{width:40px;height:40px}
  .hero-service-layout .hero-service-choice strong{font-size:18px}
  .hero-service-layout .hero-service-choice .choice-copy>span{font-size:13px}
  .hero-service-layout .hero-proof>.hero-feature:first-child{padding-left:11px}
}
@media(max-width:360px){
  .hero-service-layout h1{font-size:34px}
  .hero-service-layout .hero-proof>.hero-feature:first-child{padding-left:16px}
}
