/* Quiet homepage refinements; dedicated pages keep their existing styles. */
.header-rating-badge { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .85rem; min-height: 44px; padding: .35rem 0; border: 0; border-radius: 0; background: transparent; color: var(--bone); box-shadow: none; text-shadow: 0 1px 8px rgba(20,5,10,.65); }
.header-rating-badge:hover .header-rating-label { text-decoration: underline; text-underline-offset: .3em; }
.header-rating-badge:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.home-header.has-open-panel .header-rating-badge { color: var(--burgundy); text-shadow: none; }
.header-rating-score { display: flex; align-items: baseline; line-height: 1; }
.header-rating-star { display: inline-flex; align-self: center; width: 19px; height: 19px; margin-right: .4rem; }
.header-rating-star svg { width: 100%; height: 100%; fill: currentColor; }
.header-rating-score strong { display: inline-flex; align-items: baseline; gap: .3rem; font-size: 1.9rem; font-weight: 500; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.header-rating-score small { font-size: .6875rem; font-weight: 400; letter-spacing: 0; opacity: .8; }
.header-rating-divider { width: 1px; height: 30px; background: currentColor; opacity: .32; }
.header-rating-details { display: flex; flex-direction: column; gap: .3rem; }
.header-rating-label { font-size: .5625rem; font-weight: 500; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.header-rating-count { font-size: .6875rem; line-height: 1.25; opacity: .85; }
@media(max-width:1100px) { .header-rating-badge { gap: .65rem; } .header-rating-score strong { font-size: 1.6rem; } .header-rating-divider { height: 26px; } }
@media(max-width:850px) { .header-rating-score strong { font-size: 1.55rem; } .header-rating-star { width: 16px; height: 16px; margin-right: .3rem; } .header-rating-label { font-size: .5rem; letter-spacing: .08em; } .header-rating-count { font-size: .625rem; } .header-rating-divider { height: 25px; } }
.home-refined .home-cover-bottom {
  position: absolute;
  inset: auto var(--gutter) 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  color: var(--bone);
  border-top: 1px solid rgba(241,232,230,.28);
  padding-top: 1.2rem;
}
.home-cover-bottom p { font-size: .75rem; letter-spacing: .08em; }
.home-cover-bottom p span { margin: 0 .65rem; opacity: .6; }
.home-cover-bottom a { display: inline-flex; align-items: center; gap: 1.5rem; min-height: 44px; font-size: .8125rem; }
.home-cover-bottom a span { font-size: 1.35rem; transition: transform .25s; }
.home-cover-bottom a:hover span { transform: translateY(3px); }
.intro-active .home-cover-bottom { visibility: hidden; }

.home-refined .home-preview { padding-block: clamp(3.75rem,7vw,7rem); border-bottom: 0; }
.home-refined .home-preview .eyebrow,
.home-refined .contact-intro .eyebrow { font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 1.2rem; }
.home-refined .home-preview h2 { font-size: clamp(2.75rem,4.8vw,5rem); letter-spacing: -.045em; }
.home-refined .overview-intro { max-width: 33ch; line-height: 1.7; font-size: 1.0625rem; }
.home-refined .overview-copy > .text-link { margin-top: 2rem; display: inline-flex; align-items: center; gap: 1.1rem; min-height: 44px; }
.home-refined .home-services { align-items: center; grid-template-columns: minmax(0,.9fr) minmax(0,1.2fr); }
.home-refined .service-preview-list { grid-template-columns: minmax(0,1fr); gap: 0; border-top: 1px solid var(--line); }
.home-refined .service-preview-list a { display: grid; grid-template-columns: 94px minmax(0,1fr) 42px; gap: 1.5rem; padding-block: 1.4rem; min-height: 124px; transition: background-color .25s; }
.home-refined .service-preview-list a:hover { opacity: 1; }
.home-service-photo { width: 94px; height: 78px; overflow: hidden; background: var(--burgundy); }
.home-service-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.65); transition: transform .4s; }
.service-preview-list a:hover .home-service-photo img { transform: scale(1.06); }
.home-service-copy { min-width: 0; }
.home-service-copy strong { display: block; font-size: clamp(1.35rem,2vw,1.85rem); font-weight: 400; letter-spacing: -.025em; line-height: 1.2; }
.home-service-copy small { display: block; margin-top: .45rem; font-size: .8125rem; color: var(--muted); line-height: 1.5; }
.home-service-arrow { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; transition: color .25s,background-color .25s; }
.service-preview-list a:hover .home-service-arrow { background: var(--burgundy); color: var(--bone); }

.home-refined .home-projects { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.2fr); gap: clamp(2rem,6vw,6rem); align-items: center; padding-top: 0; }
.home-refined .home-projects .project-grid { margin: 0; grid-template-columns: minmax(0,1fr); gap: 1rem; }
.home-refined .project-preview-empty { isolation: isolate; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 340px; padding: 2.5rem; color: var(--bone); background: #24131b; border: 0; }
.home-refined .project-preview-empty::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,rgba(20,5,10,.12),rgba(20,5,10,.88)),url('/assets/garden-lighting-hero.webp') center / cover; opacity: .8; }
.home-refined .project-preview-copy h3 { font-size: clamp(2.25rem,3vw,3.2rem); margin-bottom: 1rem; }
.home-refined .project-preview-copy > p:last-child { max-width: 33ch; line-height: 1.65; font-size: .9375rem; color: var(--bone); opacity: .9; }
.home-refined .project-preview-caption { margin-top: 2rem; font-size: .625rem; letter-spacing: .04em; color: var(--bone); opacity: .7; }
.home-refined .home-projects #project-error { grid-column: 1 / -1; }
.home-refined .home-projects .project-tile { aspect-ratio: 2 / 1; min-height: 190px; }

.home-refined .home-testimonials { position: relative; background: rgba(255,255,255,.38); border-top: 1px solid rgba(88,13,41,.09); }
.home-refined .home-testimonials .section-heading { align-items: flex-end; }
.home-refined .home-testimonials .section-heading > .text-link { display: inline-flex; gap: 1rem; align-items: center; min-height: 44px; font-size: .875rem; }
.home-refined .home-testimonials .testimonials-layout { margin-top: 3rem; }
.home-refined .home-testimonials .reviews-carousel { position: relative; padding: .5rem 0 .5rem 2.5rem; background: transparent; border: 0; border-left: 1px solid var(--line); }
.home-refined .home-testimonials .testimonial-card .review-quote { font-size: clamp(1.4rem,2.35vw,2.2rem); line-height: 1.5; letter-spacing: -.02em; margin-top: 1.8rem; }
.home-refined .home-testimonials .reviewer-avatar { width: 52px; height: 52px; flex-basis: 52px; }
.home-refined .home-testimonials .rating-summary { padding-top: .5rem; }
.home-refined .contact { padding-block: clamp(3.75rem,6vw,6rem); }
.home-refined .contact-intro .eyebrow { margin-top: 0; opacity: .7; }
.home-refined .contact h2 { font-size: clamp(2.5rem,4.4vw,4.6rem); }
.home-refined .contact-launch { display: inline-flex; gap: 2rem; align-items: center; padding: 1rem 1.5rem; }
.home-refined .contact-launch::after { content: '↗'; font-size: 1.2rem; }

@media(max-width:1000px) {
  .home-refined .home-services,.home-refined .home-projects { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
  .home-refined .overview-intro { max-width: 45ch; }
  .home-refined .project-preview-empty { min-height: 300px; }
}
@media(max-width:600px) {
  .home-refined .home-cover-bottom { bottom: 1.5rem; padding-top: .7rem; gap: .75rem; }
  .home-cover-bottom p { font-size: .625rem; letter-spacing: .03em; line-height: 1.7; }
  .home-cover-bottom p span { margin: 0 .3rem; }
  .home-cover-bottom a { gap: .65rem; font-size: .75rem; flex-shrink: 0; }
  .home-refined .home-preview { padding-block: 3.5rem; }
  .home-refined .home-projects { padding-top: 0; }
  .home-refined .service-preview-list a { grid-template-columns: 72px minmax(0,1fr) 36px; gap: 1rem; padding-block: 1.1rem; min-height: 108px; }
  .home-service-photo { width: 72px; height: 68px; }
  .home-service-copy strong { font-size: 1.35rem; }
  .home-service-copy small { font-size: .75rem; }
  .home-service-arrow { width: 36px; height: 36px; }
  .home-refined .project-preview-empty { padding: 2rem; min-height: 310px; }
  .home-refined .home-testimonials .section-heading { display: block; }
  .home-refined .home-testimonials .section-heading > .text-link { margin-top: 1.2rem; }
  .home-refined .home-testimonials .testimonials-layout { margin-top: 2rem; gap: 2rem; }
  .home-refined .home-testimonials .reviews-carousel { padding: 1.7rem 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .home-refined .home-testimonials .testimonial-card .review-quote { font-size: 1.4rem; }
  .home-refined .contact { gap: 2rem; }
  .home-refined .contact-launch { width: 100%; justify-content: space-between; padding-inline: 1rem; font-size: .875rem; }
}
@media(prefers-reduced-motion:reduce) {
  .home-cover-bottom a span,.home-service-photo img,.home-service-arrow { transition: none; }
  .home-cover-bottom a:hover span,.service-preview-list a:hover .home-service-photo img { transform: none; }
}
