/* Focused additions for service discovery, local navigation, and readable long-form pages. */
:focus-visible{outline:2px solid #d8bd8b;outline-offset:3px}
html{scroll-padding-top:100px}
.hero{padding-top:104px}
.service{position:relative;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,border-color .2s,background-color .2s}
.service:hover,.service:focus-visible{transform:translateY(-3px);border-color:rgba(185,154,97,.55);background:#111}
.service-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:#d8bd8b;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.service-link::after{content:"→";font-size:1rem;transition:transform .2s}
.service:hover .service-link::after{transform:translateX(4px)}
.info-section{padding:88px 0;border-top:1px solid var(--line)}
.info-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.info-intro h2{margin:.65rem 0 1rem;font-size:clamp(1.8rem,4vw,3rem);line-height:1.2}
.info-intro p,.info-copy p{color:#c1c1c1;max-width:62ch}
.faq-groups{display:grid;gap:26px}
.faq-group h3{color:#d8bd8b;font-size:1.05rem;letter-spacing:.06em;margin:0 0 9px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{position:relative;list-style:none;cursor:pointer;min-height:56px;padding:16px 42px 16px 0;color:var(--silver2);font-weight:500;line-height:1.45}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:8px;top:12px;color:#d8bd8b;font-size:1.35rem;line-height:1}
.faq-item[open] summary::after{content:"−"}
.faq-item p{padding:0 38px 18px 0;color:#bbb;max-width:72ch}
.area-note{border-left:2px solid #b99a61;padding:18px 22px;background:#101010;max-width:68ch}
.area-note p+p{margin-top:12px}
.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 10px}
.location-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:12px 14px;border:1px solid rgba(185,154,97,.28);background:#090909;color:#e7e3dc;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}
.location-link::after{content:"↗";color:#d8bd8b;font-size:.95rem}
.location-link:hover,.location-link:focus-visible{background:#17140f;border-color:#b99a61;color:#fff}
.location-help{font-size:.84rem;color:#aaa}
.location-field{margin:0 0 16px}
.location-status{grid-column:1/-1;min-height:1.2em;margin:-8px 0 12px;color:#d8bd8b;font-size:.85rem}
.reviews-section{padding:88px 0;background:#090909;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);scroll-margin-top:104px}
.reviews-intro{max-width:710px;margin-bottom:34px}
.reviews-intro h2{margin:.65rem 0 1rem;color:#f7f7f4;font-size:clamp(1.9rem,4vw,3rem);line-height:1.16}
.reviews-intro>p{max-width:62ch;color:#c8c5bf}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.review-card{min-width:0;padding:24px;background:#131313;border:1px solid #29251f;border-radius:2px}
.review-card h3{margin:0 0 10px;color:#f7f7f4;font-size:1rem;font-weight:600;line-height:1.35}
.review-stars{margin-bottom:14px;color:#c6a267;font-size:1.05rem;letter-spacing:.12em;line-height:1}
.review-card>p{margin:0;color:#cfccc6;font-size:.92rem;line-height:1.72}
.reviews-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin-top:26px}
.reviews-google-link,.reviews-quote-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:1px solid #c6a267;background:#c6a267;color:#101010;font:600 .75rem/1.3 Inter,Arial,sans-serif;letter-spacing:.06em;text-decoration:none}
.reviews-google-link:disabled{cursor:not-allowed;opacity:.62}
.reviews-link-status{flex-basis:100%;margin:0;color:#a9a59e;font-size:.78rem;line-height:1.6}
.reviews-link-status code{color:#e1d2b8;font-family:inherit;font-size:inherit}
.reviews-quote-link{border-color:#4b4030;background:transparent;color:#e2d1ad}
.reviews-google-link:not(:disabled):hover,.reviews-google-link:not(:disabled):focus-visible{background:#d6b77e;border-color:#d6b77e}
.reviews-quote-link:hover,.reviews-quote-link:focus-visible{background:#19150f;border-color:#c6a267;color:#fff}
.reviews-google-link:focus-visible,.reviews-quote-link:focus-visible{outline:2px solid #f2d9a9;outline-offset:3px}
.review-card:last-child:nth-child(3n + 1){grid-column:2}
.service-page{padding:136px 0 90px}
.menu-toggle{display:none;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;background:#111;color:#eee;border:1px solid var(--line);letter-spacing:.06em}
.primary-nav{display:flex}
.primary-nav .nav-links a{min-height:44px;display:flex;align-items:center}
.breadcrumbs{font-size:.78rem;color:#aaa;margin-bottom:30px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.service-page h1{font-size:clamp(2.1rem,5vw,4.25rem);line-height:1.13;max-width:17ch;margin:.55rem 0 1rem}
.service-lede{font-size:1.08rem;color:#d0d0d0;max-width:66ch}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:46px;align-items:center;margin:38px 0 65px}
.service-hero-grid .service-sections{grid-template-columns:1fr}
.service-photo{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#151515;border:1px solid var(--line)}
.photo-caption{font-size:.76rem;color:#aaa;margin-top:8px}
.service-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-block{padding:24px 0;border-top:1px solid var(--line)}
.service-block h2{font-size:1.24rem;margin:0 0 10px;color:#eee}
.service-block p,.service-block li{color:#bbb}
.service-block ul{padding-left:1.2rem;margin-top:10px}
.service-block li+li{margin-top:6px}
.service-cta{margin-top:46px;padding:30px;border:1px solid rgba(185,154,97,.35);background:#101010;display:flex;align-items:center;justify-content:space-between;gap:24px}
.service-cta h2{font-size:clamp(1.35rem,3vw,2rem);margin-bottom:6px}
.back-services{display:inline-block;margin-top:22px;color:#d8bd8b;text-decoration:underline;text-underline-offset:4px}
.mobile-cta{padding-bottom:env(safe-area-inset-bottom)}
.footer-extra{padding:0 16px 22px;text-align:center;color:#aaa;font-size:.8rem}
.footer-extra a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){
  .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-card:last-child:nth-child(2n + 1){grid-column:1/-1;width:calc((100% - 16px)/2);justify-self:center}
  .menu-toggle{display:inline-flex}
  .primary-nav{display:none}
  .primary-nav.is-open{display:block;position:absolute;top:calc(100% - 4px);right:14px;z-index:21;width:min(300px,calc(100vw - 28px));padding:10px;background:#101010;border:1px solid var(--line);box-shadow:0 12px 32px #000b}
  .primary-nav.is-open .nav-links{display:flex;flex-direction:column;gap:0}
  .primary-nav.is-open .nav-links a{min-height:48px;padding:12px 10px}
}
@media(max-width:760px){
  .reviews-section{padding:64px 0;scroll-margin-top:126px}
  html{scroll-padding-top:126px}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .hero{min-height:88svh;padding-top:132px;padding-bottom:44px}
  .info-section{padding:64px 0}
  .info-grid,.service-hero-grid{grid-template-columns:1fr;gap:24px}
  .service-page{padding:142px 0 62px}
  .service-sections{grid-template-columns:1fr}
  .service-cta{align-items:flex-start;flex-direction:column;padding:24px}
  .service{min-height:150px}
  .location-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}
@media(max-width:620px){
  .reviews-grid{grid-template-columns:1fr;gap:12px}
  .review-card:last-child:nth-child(2n + 1){grid-column:auto;width:auto}
  .reviews-actions{align-items:stretch;flex-direction:column}
  .reviews-google-link,.reviews-quote-link{width:100%}
  .nav{padding:10px 0;background:rgba(5,5,5,.97)}
  .nav-inner{gap:8px}
  .logo{width:38px;height:38px}
  .brand-wrap{gap:8px}
  .brand{max-width:112px;font-size:.6rem;letter-spacing:.08em}
  .menu-toggle{padding:8px;font-size:.62rem}
  .nav-cta{padding:10px 8px;font-size:.58rem;letter-spacing:.05em;white-space:nowrap}
}
@media(min-width:901px){
  .service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .service{grid-column:span 2}
  .service:nth-child(4){grid-column:2/span 2}
  .service:nth-child(5){grid-column:4/span 2}
}
@media(min-width:621px) and (max-width:900px){
  .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .service{grid-column:span 2}
  .service:nth-child(5){grid-column:2/span 2}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
