html { scroll-padding-top: 90px; }
:root { --primary-color: #a65322; }
.btn-primary-custom { color: #fff; background-color: #a65322; border-color: #a65322; }
.btn-primary-custom:hover { color: #fff; background-color: #88411a; }
.btn, .nav-link { min-height: 44px; }
a:focus-visible, button:focus-visible { outline: 3px solid #1677b8; outline-offset: 4px; }
.hero-actions, .service-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.hero-actions .btn, .service-actions .btn { display: inline-flex; align-items: center; justify-content: center; padding: .75rem 1rem; }
.hero-section .btn-outline-dark { color: white; border-color: white; }
.hero-section .btn-outline-dark:hover { color: #212529; background: white; }
.eyebrow { font-size: .85rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.cooling-section { background: #edf4f7; }
.cooling-section .service-card { border-top: 4px solid #266782; }
.service-card { display: flex; flex-direction: column; }
.service-card .service-actions { margin-top: auto; padding-top: 1rem; }
.service-card .service-title { font-size: 1.4rem; }
.service-photo { width: 100%; height: auto; border-radius: 10px; }
.region-note { max-width: 780px; margin: 2rem auto 0; text-align: center; }
.service-icon svg { width: 32px; height: 32px; color: var(--primary-color); }
.service-modal .modal-content { border: 0; border-radius: 12px; }
.service-modal .modal-header { background: var(--secondary-color); color: #fff; border-bottom: 3px solid var(--primary-color); }
.service-modal .modal-header .btn-close { filter: invert(1); }
.service-modal .modal-title { font-size: 1.4rem; }
.service-modal .modal-body { padding: 1.5rem; }
.service-modal .modal-body h3 { margin-top: 1.5rem; font-size: 1.2rem; }
.service-modal .modal-body .service-actions { margin-top: 1.5rem; }
.mobile-contact { display: none; }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 2000; padding: 1rem; background: white; color: #182d3c; }
.skip-link:focus { top: .5rem; }
.detail-page { margin: 0; font-family: 'Segoe UI', sans-serif; color: #233441; line-height: 1.65; }
.detail-page .wrap { width: min(1100px, calc(100% - 40px)); margin: auto; }
.detail-header { background: #212529; color: white; padding: 1rem 0; }
.detail-header .wrap { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: .75rem; }
.detail-header a { color: white; padding: .5rem 0; }
.detail-header .brand { font-size: 1.3rem; font-weight: 700; text-decoration: none; }
.detail-hero { background: #edf4f7; padding: 3rem 0; }
.detail-page h1 { font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.2; margin-top: .75rem; }
.detail-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem; align-items: center; }
.detail-page .button { display: inline-block; padding: .8rem 1.1rem; background: #a65322; color: white; border-radius: 6px; font-weight: 600; text-decoration: none; }
.detail-page .button.secondary { background: #233f52; }
.detail-page button.contact-trigger { border: 0; font: inherit; cursor: pointer; }
.detail-page main > section:not(.detail-hero) { padding: 3rem 0; }
.detail-page .contact-panel { background: #f4f6f7; }
.detail-page footer { padding: 2rem 0; background: #212529; color: white; }
.detail-page footer a { color: white; }
@media (max-width: 767px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .hero-section { padding: 130px 0 65px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-section .service-actions { flex-direction: column; align-items: stretch; }
  .mobile-contact { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; position: fixed; bottom: 0; left: 0; right: 0; z-index: 1020; background: #fff; border-top: 1px solid #ddd; padding: .6rem .5rem calc(.6rem + env(safe-area-inset-bottom)); box-shadow: 0 -3px 16px #0001; }
  .mobile-contact a { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: .4rem; background: #233f52; color: white; text-decoration: none; border-radius: 6px; font-size: .85rem; font-weight: 600; }
  .mobile-contact a:nth-child(2) { background: #a65322; }
  .detail-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .detail-page .wrap { width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
