/* Service discovery: editorial opening, working estimate, photographic evidence. */
.home-opening{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:end;padding-block:48px 35px}
.home-opening .eyebrow{margin-bottom:20px;font-size:10px;letter-spacing:1.2px}
.home-opening h1{font-size:clamp(45px,4.9vw,66px);line-height:1.05;letter-spacing:-3px;font-weight:500}
.home-opening h1>span{color:var(--accent);position:relative;display:inline-block}
.home-opening h1>span::after{content:'';position:absolute;left:0;bottom:-9px;width:100%;height:2px;background:currentColor;opacity:.35;transform-origin:left;animation:ink-line .65s ease-out both}
.home-opening.is-choosing h1>span::after{animation:ink-line .4s ease-out both}
.home-opening-aside{justify-self:end;padding-bottom:3px}.home-opening-aside>p{font-size:15px;line-height:1.75;color:var(--muted)}
.opening-reputation{display:grid;grid-template-columns:auto auto;gap:5px 12px;align-items:center;justify-content:start;margin-top:22px;min-height:44px;font-size:11px}.opening-stars{color:var(--accent);font-size:15px;letter-spacing:2px}.opening-reputation strong{font-size:16px;font-weight:500}.opening-reputation small{font-size:11px;font-weight:400;color:var(--muted)}.opening-reputation>span:last-child{grid-column:1/-1;color:var(--muted)}.opening-reputation b{font-weight:400;margin-left:12px}
.home-catalog{border:0}.home-catalog .catalog-bar{padding-block:12px 19px;border:0}.home-catalog .catalog-bar h2{font-size:22px;letter-spacing:-.7px}.home-catalog .search{max-width:380px;width:100%}
.home-catalog .catalog-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-areas:'directions directions' 'prices proof' 'estimate proof';gap:28px 44px}
.home-catalog .directions{grid-area:directions;scroll-margin-top:20px}.home-catalog .directions-label{display:none}
.home-catalog .service-menu{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;max-height:none;overflow:visible}
.home-catalog .service-menu button{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:115px;padding:17px 16px 13px;background:#f0f1ed;border:1px solid transparent;border-radius:8px;box-shadow:none;margin:0;font-size:13px;color:var(--ink);line-height:1.35;transition:background .18s,border-color .18s,transform .18s}
.home-catalog .service-menu .offer-label{flex-direction:column;align-items:flex-start;gap:12px}.home-catalog .service-menu .offer-icon{width:34px;height:34px;stroke-width:1.25;transition:transform .2s}
.home-catalog .service-menu button>span:last-child{position:absolute;right:13px;top:15px;color:#79837f;font-size:14px}
.home-catalog .service-menu button[aria-pressed=true]{background:#f3e9dd;border-color:#bb8260;color:#783b29;box-shadow:none}.home-catalog .service-menu button[aria-pressed=true]>span:last-child{color:#783b29}
.home-catalog .service-menu button:hover{border-color:#b5bbb4}.home-catalog .service-menu button:hover .offer-icon{transform:translateY(-2px)}
.home-catalog .price-sheet{scroll-margin-top:20px;grid-area:prices;border-top:1px solid var(--ink);min-width:0;padding-top:17px}.home-catalog .sheet-heading{font-size:15px;padding-bottom:0}.home-catalog .sheet-heading>span:nth-child(2){font-size:10px;color:var(--muted)}
.home-catalog .service-page-link{margin:0;padding:0}.home-catalog .service-page-link a{font-size:11px;margin:0;min-height:44px}
.home-catalog .price-row summary{font-size:15px;min-height:77px}.home-catalog .price-row strong{font-size:17px;letter-spacing:-.4px}.home-catalog .price-details{padding:0 16px 19px 26px;font-size:12px;line-height:1.75}.home-catalog .price-details .price-basis{font-size:11px;color:var(--muted)}.home-catalog .price-details .button{background:var(--ink);border-color:var(--ink);color:white;font-size:12px;margin-top:12px}.home-catalog .price-details .button[aria-disabled=true]{background:#e7ede5;border-color:#bdcbb9;color:#36553a}
.home-proof{grid-area:proof;align-self:start;position:sticky;top:24px;min-width:0;background:#f1eee7;border-radius:4px;overflow:hidden}.proof-eyebrow{display:flex;gap:7px;align-items:center;font-size:10px;padding:15px 18px;color:#606c64}.proof-dot{height:5px;width:5px;border-radius:50%;background:#5c785c}
.proof-photo{display:block;width:100%;position:relative;background:#e5e4dc;overflow:hidden}.proof-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .25s}.proof-photo:hover img{transform:scale(1.025)}.proof-photo>span{display:flex;align-items:center;justify-content:space-between;gap:14px;position:absolute;inset:auto 14px 14px;background:#fafaf7f5;padding:8px 12px;font-size:10px;border-radius:3px}.proof-photo b{font-size:16px;font-weight:400}
.proof-copy{padding:18px 20px}.proof-copy>p:first-child{font-size:10px;color:var(--muted)}.proof-copy h3{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.6px;margin-top:8px}.proof-amount{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #d6d7ce;margin-top:17px;padding-top:14px}.proof-amount>span{font-size:11px;color:var(--muted)}.proof-amount strong{font-size:23px;font-weight:500;letter-spacing:-.6px}.proof-copy .proof-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:12px}
.proof-archive{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;font-size:12px;border-top:1px solid #d6d7ce;min-height:50px}.proof-archive>span{font-size:11px;color:var(--muted)}.proof-archive b{font-size:16px;margin-left:12px;font-weight:400}
#home-proof-fallback{padding:27px 23px}#home-proof-fallback h3{font-size:30px;font-weight:500;line-height:1.2;letter-spacing:-1px;margin-top:17px}#home-proof-fallback ol{padding-left:18px;margin-block:23px;font-size:13px;line-height:1.8}#home-proof-fallback li+li{margin-top:12px}#home-proof-fallback .text-link{font-size:12px}
.home-catalog .estimate{grid-area:estimate;display:block;position:relative;padding:25px 26px;background:#f0f2ee;border-top:1px solid #d7dcd4}.home-catalog .estimate-top,.home-catalog .estimate-note{display:none}.home-catalog .estimate h2{font-size:24px;letter-spacing:-.7px;margin:0 0 12px}.home-catalog .estimate-lead{font-size:13px;line-height:1.8;max-width:480px}.home-catalog .estimate>.button{margin-top:18px;max-width:280px}.home-catalog .estimate-callback{display:inline-flex;margin-left:16px;vertical-align:middle;font-size:11px}.home-catalog .estimate-items{margin-top:0}.home-catalog .estimate-items li{font-size:13px}.home-catalog .estimate-total small{font-size:11px}
.proof-controls{display:flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap}.proof-controls button{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;font-size:16px}.proof-controls button:disabled{opacity:.3}.proof-controls button:hover:not(:disabled){background:var(--paper)}
.is-home-page .principles{padding-top:18px;padding-bottom:42px}.is-home-page .principles h3{font-size:17px}.is-home-page .work-section{background:#e9ede8;padding-block:56px}.is-home-page .case-card h3{font-size:20px;min-height:0}.is-home-page .case-price{margin-top:16px}.is-home-page .work-section .section-heading h2{max-width:650px}
.review-service{display:block;font-size:11px;color:var(--accent);margin:0 0 13px;line-height:1.5}.reviews-feed .review blockquote{font-size:15px;line-height:1.8}.review-head .review-avatar{border-radius:50%;background:#e8ece6}.reviews-section{background:#fafaf7}.reviews-feed-heading{letter-spacing:.5px}.reviews-feed .review{border-top:1px solid var(--line);padding-block:25px}
@media(min-width:601px) and (max-width:1000px){.home-opening{gap:25px;padding-block:34px 28px}.home-opening h1{font-size:46px;letter-spacing:-2px}.home-opening-aside>p{font-size:13px}.home-catalog .catalog-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}.home-catalog .service-menu{gap:7px}.home-catalog .service-menu button{font-size:11px;padding:12px 10px;min-height:105px}.home-catalog .service-menu .offer-icon{width:30px;height:30px}.home-catalog .price-row summary{font-size:13px}.home-catalog .price-row strong{font-size:15px}.proof-copy h3{font-size:19px}.home-catalog .estimate-callback{margin-left:0;display:flex}.is-home-page .work-gallery .case-image img{height:280px}}
@media(max-width:600px){.home-opening{display:block;padding-block:28px 23px}.home-opening .eyebrow{font-size:9px;margin-bottom:15px}.home-opening h1{font-size:clamp(33px,10.2vw,45px);line-height:1.08;letter-spacing:-1.9px}.home-opening h1>span::after{bottom:-6px}.home-opening-aside{margin-top:22px;padding:0}.home-opening-aside>p{font-size:13px;line-height:1.65}.home-opening-aside>p br{display:none}.opening-reputation{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:9px;font-size:10px}.opening-stars{font-size:11px;letter-spacing:0}.opening-reputation strong{font-size:13px}.opening-reputation small{font-size:10px}.opening-reputation>span:last-child{font-size:10px}.opening-reputation b{margin-left:4px}
.home-catalog .catalog-bar{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:0 0 14px}.home-catalog .catalog-bar h2{font-size:20px}.home-catalog .search{max-width:none;min-height:46px}.home-catalog .catalog-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:'directions' 'prices' 'estimate' 'proof';gap:21px}.home-catalog .service-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.home-catalog .service-menu button{min-height:100px;padding:12px 10px;font-size:11px;border-radius:6px}.home-catalog .service-menu .offer-label{gap:9px}.home-catalog .service-menu .offer-icon{width:29px;height:29px}.home-catalog .service-menu button>span:last-child{right:9px;top:10px;font-size:12px}.home-catalog .price-sheet{padding-top:15px}.home-catalog .sheet-heading{font-size:15px}.home-catalog .price-row summary{font-size:13px;gap:8px;min-height:76px}.home-catalog .price-row strong{font-size:15px}.home-catalog .price-row summary>span:first-child{gap:8px}.home-catalog .price-details{padding-left:18px;padding-right:5px;font-size:12px}.home-catalog .price-details .button{width:100%;justify-content:center}.home-catalog .price-row summary>span:first-child::before{font-size:9px}.home-catalog .price-disclaimer{font-size:10px}
.home-proof{position:static}.proof-photo img{aspect-ratio:4/3}.proof-copy{padding:17px 18px}.proof-copy h3{font-size:22px}.home-catalog .estimate{padding:22px 20px}.home-catalog .estimate h2{font-size:23px}.home-catalog .estimate>.button{width:100%;max-width:none}.home-catalog .estimate-callback{margin-left:0;display:flex}.home-catalog .estimate-lead{font-size:12px}.is-home-page .principles{padding-block:10px 30px}.is-home-page .principles h3{font-size:15px}.is-home-page .work-section{padding-block:35px}.is-home-page .work-gallery{grid-auto-columns:88%;gap:15px}.is-home-page .work-gallery .case-image img{height:260px}.is-home-page .case-card h3{font-size:20px}.reviews-feed .review blockquote{font-size:14px}.reviews-feed .review{padding-block:22px}.review-service{font-size:11px}}
@media(prefers-reduced-motion:reduce){.home-opening h1>span::after{animation:none}.home-catalog .service-menu .offer-icon,.proof-photo img{transition:none}}

#change-direction{display:none}.review>p.review-service{font-size:11px;color:var(--accent);margin-bottom:13px}
@media(max-width:600px){#change-direction{display:block;font-size:10px;min-height:44px;color:var(--accent)}.home-catalog .sheet-heading>span:nth-child(2){display:none}}

/* A fractional five-star scale matches the numeric public rating. */
.opening-stars{position:relative;display:inline-block;white-space:nowrap;color:#c4cbc6;line-height:1.3}
.opening-stars>span{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--accent)}

.empty-search-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:14px}.empty-results .empty-search-actions button{margin-top:0;min-height:44px}.empty-results p{line-height:1.7;max-width:440px}

.home-catalog.is-searching .directions{display:none}.home-catalog.is-searching .catalog-layout{grid-template-areas:'prices proof' 'estimate proof'}
@media(max-width:600px){.home-catalog.is-searching .catalog-layout{grid-template-areas:'prices' 'estimate' 'proof'}}

/* The selected estimate is a compact summary, not another full-page section. */
.has-estimate .estimate h2{font-size:22px;line-height:1.25;margin-bottom:12px}
.has-estimate .estimate-items{margin:0;max-height:230px}
.has-estimate .estimate-items li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:3px;padding:10px 0;border-bottom:0}
.has-estimate .estimate-items li+li{border-top:1px solid #d8ded4}
.estimate-item-name{grid-column:1;line-height:1.5}
.has-estimate .estimate-item-bottom{grid-column:1;grid-row:2;padding-top:0;justify-content:flex-start;gap:14px}
.has-estimate .estimate-items .quantity{grid-column:2;grid-row:1/3;align-self:center;margin-top:0;flex:none}
.has-estimate .estimate-total{margin:10px 0 0;padding-top:12px;line-height:1.5}
.has-estimate .estimate-total strong{font-size:25px;line-height:1.4;letter-spacing:-.7px}
.has-estimate .home-catalog .estimate{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:0 28px;align-content:start;padding:19px 22px}
.has-estimate .home-catalog .estimate h2{grid-column:1/-1;font-size:22px}
.has-estimate .home-catalog #estimate-content{display:contents}
.has-estimate .home-catalog .estimate-items{grid-column:1;grid-row:2/5;align-self:start;padding-right:20px;border-right:1px solid #d8ded4}
.has-estimate .home-catalog .estimate-total{grid-column:2;grid-row:2;border-top:0;padding:0;margin:0}
.has-estimate .home-catalog .estimate>.button{grid-column:2;grid-row:3;max-width:none;width:100%;margin-top:10px;min-height:44px}
.has-estimate .home-catalog .estimate-callback{grid-column:2;grid-row:4;margin:2px 0 0;min-height:38px;justify-content:flex-start;text-align:left;line-height:1.5}
@media(max-width:600px){
 .has-estimate .home-catalog .estimate{display:block;padding:18px}
 .has-estimate .home-catalog .estimate h2{font-size:21px;margin-bottom:8px}
 .has-estimate .home-catalog .estimate-items{padding:0;border-right:0}
 .has-estimate .home-catalog .estimate-total{border-top:1px solid #d8ded4;padding-top:12px;margin-top:8px}
 .has-estimate .estimate-items li{column-gap:10px;padding:9px 0}
 .has-estimate .estimate-item-name{font-size:12px}
 .has-estimate .estimate-item-bottom{flex-wrap:wrap;gap:3px 10px;font-size:11px}
 .has-estimate .estimate-item-bottom button{min-height:32px}
 .has-estimate .estimate-items .quantity button{width:40px;height:44px}
 .has-estimate .estimate-items .quantity span{width:25px}
 .has-estimate .home-catalog .estimate-callback{justify-content:center;min-height:44px}
}
