
.hero{position:relative;display:grid;grid-template-columns:47% 53%;min-height:0;align-items:stretch}.hero-copy{grid-column:1;grid-row:1;padding:48px 9%;min-height:440px;display:flex;flex-direction:column;justify-content:center}.hero-copy>.btn{align-self:flex-start}.hero-image{grid-column:2;grid-row:1;min-height:440px}.hero-caption{display:none}
.hero-reviews{grid-column:1/-1;grid-row:2;position:relative;background:#f3f7f5;color:var(--ink);padding:30px max(5%,calc((100% - 1280px)/2));display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px 44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-review-top{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.review-kicker{display:block;font-size:13px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:var(--teal-dark);margin-bottom:12px}.hero-review-rating{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:14px}.hero-review-rating strong{font-size:30px;line-height:1.2;font-family:'DM Sans',Arial,sans-serif}.review-stars{display:inline-flex;gap:2px;color:#a76d0e}.review-stars svg{width:17px;height:17px;fill:currentColor}.hero-review-rating>span:last-child{color:#52605d;display:block;flex-basis:100%}
.hero .review-play,.hero .review-next{border:1px solid #b4c8bf;background:white;color:var(--teal-dark);padding:0 13px;min-height:44px;font-size:14px;font-weight:600;cursor:pointer;border-radius:3px}.hero-review-track{grid-column:2;grid-row:1;display:grid;min-width:0}.hero-review-slide{grid-area:1/1;opacity:0;transform:translateY(9px);pointer-events:none;visibility:hidden;transition:opacity .5s ease,transform .5s ease,visibility .5s;min-width:0}.hero-review-slide.is-active{opacity:1;transform:translateY(0);pointer-events:auto;visibility:visible}
.hero .review-project{font-size:14px;line-height:1.45;color:var(--teal-dark);margin:0 0 10px;max-width:none;font-weight:600}.hero-review-slide blockquote,.hero .review-title{font-family:'DM Sans',Arial,sans-serif;font-size:27px;font-weight:500;line-height:1.22;letter-spacing:-.035em;margin:0 0 13px}.hero .review-summary{font-size:16px;line-height:1.6;color:#52605d;margin:0 0 14px;max-width:800px}.review-summary>span{display:block;font-size:12px;letter-spacing:.06em;color:#52605d;font-weight:700;text-transform:uppercase;margin-bottom:4px}.review-author{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.review-author strong{font-size:16px;font-weight:700}.review-author a{font-size:14px;color:var(--teal-dark);text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:32px}.hero-review-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #d7e3dd;padding-top:10px}.review-counter{font-size:13px;color:#52605d;font-weight:600;font-variant-numeric:tabular-nums}.review-dots{display:flex;align-items:center;gap:0}.review-dot{width:32px;height:44px;display:grid;place-items:center;background:transparent;border:0;cursor:pointer}.review-dot span{width:7px;height:7px;border-radius:50%;background:#b8ccc2;transition:background .25s}.review-dot[aria-current="true"] span{background:var(--teal-dark)}.review-timing{grid-column:1/-1;height:2px;background:#dbe7e0;overflow:hidden}.review-timing span{display:block;width:100%;height:100%;background:var(--teal);transform-origin:left;animation:review-progress 8s linear infinite}.hero-reviews.is-paused .review-timing span{animation-play-state:paused}.hero .review-checked{grid-column:1/-1;font-size:12px;line-height:1.5;color:#62716c;margin:0;max-width:none}
.hero-reviews button:focus-visible,.hero-reviews a:focus-visible{outline:3px solid var(--teal-dark);outline-offset:4px}@keyframes review-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1000px) and (min-width:721px){.hero-reviews{grid-template-columns:220px minmax(0,1fr);gap:14px 28px}.hero-copy{padding:40px 8%}.hero-review-slide blockquote,.hero .review-title{font-size:24px}}
@media(max-width:720px){.hero{display:flex;flex-direction:column}.hero-copy{order:1;padding:30px 19px 24px;min-height:0}.hero .hero-copy>.eyebrow{font-size:12px}.hero h1{font-size:clamp(40px,10vw,58px);margin:15px 0 18px}.hero .hero-copy>p{font-size:16px;line-height:1.6;margin-bottom:22px}.hero-copy .btn{min-height:50px;padding:13px 20px}.hero-reviews{order:2;padding:22px 19px;display:flex;flex-direction:column;gap:14px;width:100%}.hero-image{order:3;min-height:340px}.hero-review-top{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:10px}.review-kicker{font-size:12px;letter-spacing:.08em;margin-bottom:8px}.hero-review-rating{gap:6px;font-size:13px}.hero-review-rating strong{font-size:25px}.hero-review-track{display:grid}.hero-review-slide blockquote,.hero .review-title{font-size:24px}.hero .review-summary{font-size:16px}.review-author{gap:4px;flex-direction:column;align-items:flex-start}.hero-review-bottom{gap:4px;padding-top:4px}.review-dot{width:26px}.hero .review-next{padding-inline:10px}.hero .review-play{padding-inline:10px}.review-counter{font-size:12px}}
@media(max-width:360px){.review-dot{width:22px}.hero .review-next{padding-inline:7px}}
@media(prefers-reduced-motion:reduce){.hero-review-slide,.review-dot span{transition:none}.review-timing span{animation:none;transform:scaleX(0)}}



/* Approved dark teal customer proof section, separate from the project photo. */
.hero-reviews{background:#173f3b;color:#fff;border-top:4px solid #d7bb7b;border-bottom:0;box-shadow:0 8px 25px #173f3b12}.hero-reviews .review-kicker{color:#e0c489}.hero-reviews .hero-review-rating{color:white}.hero-reviews .hero-review-rating>span:last-child{color:#e2ece7}.hero-reviews .review-stars{color:#e5c276}.hero-reviews .review-project{color:#d7e7dd}.hero-reviews .review-summary,.hero-reviews .review-summary>span{color:#e1ebe5}.hero-reviews .review-author a{color:#f2dfb5}.hero-reviews .review-counter,.hero-reviews .review-checked{color:#d0ded7}.hero-reviews .hero-review-bottom{border-color:#57736b}.hero-reviews .review-timing{background:#527167}.hero-reviews .review-timing span{background:#dec084}.hero-reviews .review-dot span{background:#8ca99e}.hero-reviews .review-dot[aria-current="true"] span{background:#efc97d}.hero-reviews .review-play,.hero-reviews .review-next{background:#244f47;border-color:#8aa59a;color:white}.hero-reviews .review-call{background:#f2dfb5;color:#173f3b;border-color:#f2dfb5;font-size:13px;letter-spacing:.025em;min-height:48px;padding:12px 14px;text-transform:none;text-align:center}.hero-reviews .review-call:hover{background:white;color:#173f3b}.hero .review-invite{font-size:14px;line-height:1.55;color:#e2ece7;max-width:280px;margin:14px 0}.hero-reviews button:focus-visible,.hero-reviews a:focus-visible{outline-color:#f2dfb5}.hero-review-top{gap:12px}
@media(max-width:720px){.hero-review-top{position:relative;padding-right:0}.hero-review-top>div{width:100%}.hero-review-top .review-play{position:absolute;right:0;top:0}.hero .review-invite{max-width:310px;margin:12px 0}.hero-reviews .review-call{font-size:14px}.hero-review-rating{padding-right:60px}}
