/* V27 — original composition, wet cobalt glass and quiet nickel identity. */
:root { --wet-glass: url('cobalt-water-droplets-v27.webp'); }

/* The photographic detail lives behind a calm, high-contrast navigation plane. */
.site-header,
.page-home .site-header {
  isolation: isolate;
  background: #103963;
  border-bottom: 1px solid #9fb8d08c;
  box-shadow: 0 9px 28px #061d3526;
}
.site-header::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--wet-glass) center 8% / cover no-repeat;
  pointer-events: none;
}
.site-header::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, #10396312 0%, #10396388 38%, #103963c9 74%, #1039638c);
  pointer-events: none;
}
.page-home .primary-nav,
.primary-nav { background-color: transparent; }
.site-header .brand > span:last-child { text-shadow: 0 1px 5px #061b31; }
.site-header .nav-link { color: #fff; text-shadow: 0 1px 4px #061b31; }
.nav-link:focus-visible::after { transform: scaleX(1); }
.site-header .header-action {
  padding: 16px 22px;
  min-height: 50px;
  background: linear-gradient(135deg, #fff, #edf4fa 70%, #d0deea);
  color: #103963;
  border: 1px solid #fff;
  box-shadow: 0 3px 12px #061b3124, inset 0 1px 0 #fff;
}
.site-header .header-action:hover { color: #103963; background: #fff; }

/* Use the exact approved seal; the ellipse is its existing display crop. */
.v26 :is(.local-intro, .home-owner-copy, .closing, .owner-contact, .faq-mast, .page-intro),
.site-footer { position: relative; isolation: isolate; }
.v26 :is(.local-intro, .home-owner-copy, .closing, .owner-contact, .faq-mast, .page-intro)::before,
.site-footer::before {
  content: '';
  position: absolute;
  z-index: -1;
  width: 650px;
  aspect-ratio: 4 / 3;
  background: url('texas-exterior-care-bright-nickel-v18.webp') center / contain no-repeat;
  clip-path: ellipse(36.9% 40.6% at 50.8% 51.5%);
  pointer-events: none;
  opacity: .065;
}
.v26 .local-intro::before { width: 370px; left: -117px; top: -8px; opacity: .055; }
.v26 .home-owner-copy { overflow: hidden; }
.v26 .home-owner-copy::before { width: 580px; right: -224px; top: -154px; opacity: .065; }
.v26 .closing { overflow: hidden; background: linear-gradient(115deg, #f4f8fc, #e8f1f8 72%, #d9e7f2); }
.v26 .closing::before { right: -115px; top: -180px; width: 760px; opacity: .075; }
.v26 .owner-contact { overflow: hidden; }
.v26 .owner-contact::before { width: 670px; left: -168px; bottom: -180px; opacity: .055; }
/* Keep the contact-to-footer boundary from repeating the decorative seal. */
.about-page .v26 .owner-contact::before { content: none; }
.v26 :is(.faq-mast, .page-intro) { overflow: hidden; }
.v26 .faq-mast::before { width: 560px; right: -125px; top: -163px; opacity: .055; }
.v26 .page-intro::before { width: 430px; right: -150px; top: -125px; opacity: .055; }
.site-footer { overflow: hidden; background: #103963; }
.site-footer::before { width: 850px; left: -200px; top: -150px; opacity: .07; }

/* Thin material highlights give the original offer and portrait a finished edge. */
.v26 .offer { box-shadow: 0 20px 45px -30px #10396373; }
.v26 .offer-panel {
  background: linear-gradient(135deg, #1559a4 0%, #14579f 65%, #103e72 100%);
  border-top: 1px solid #b7d1eb;
  box-shadow: inset 1px 0 #ffffff26;
}
.v26 .offer-image { overflow: hidden; }
.v26 .offer-image img { transition: transform 650ms cubic-bezier(.2,.65,.3,1); }
.v26 .offer-image:hover img { transform: scale(1.018); }
.v26 .offer-image figcaption {
  background: #f7fbfff0;
  border: 1px solid #ffffffb8;
  box-shadow: 0 3px 14px #1039631f;
}
.v26 .home-owner { border: 1px solid #dce6ef; box-shadow: 0 18px 42px -34px #10396370; }
.v26 .home-owner-copy { background: linear-gradient(135deg, #f7fbff, #edf4fa); }
.v26 .home-owner-copy::before { z-index: 0; }
.v26 .home-owner-copy > * { position: relative; z-index: 1; }
.v26 .business-band { background: linear-gradient(120deg, #103963, #124779); border-block: 1px solid #9db4cb; }
.v26 .additions { background: linear-gradient(105deg, #f7fbff, #edf4fa); }
.v26 .faq-item { transition: border-color 180ms; }
.v26 .faq-item:hover { border-color: #7197be; }
.v26 .faq-item[open] summary { color: #1559a4; }

/* One reflection per deliberate interaction; no idle movement. */
:is(.header-action, .v26 .action, .v26 .button-dark, .mobile-quote-action) {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
:is(.header-action, .v26 .action, .v26 .button-dark, .mobile-quote-action)::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 32%, #ffffff38 49%, transparent 66%);
  transform: translateX(-135%);
  pointer-events: none;
}
:is(.header-action, .v26 .action, .v26 .button-dark, .mobile-quote-action):is(:hover,:focus-visible)::before {
  animation: clean-reflection 620ms ease-out both;
}
:is(.header-action, .v26 .action) > span { transition: transform 220ms ease; }
:is(.header-action, .v26 .action):is(:hover,:focus-visible) > span { transform: translateX(3px); }
:is(.header-action, .v26 .action, .v26 .button-dark):active { box-shadow: inset 0 2px 6px #061d3533; }
.brand-mark::after {
  content: '';
  position: absolute;
  inset: 0;
  clip-path: ellipse(48% 49% at 50% 50%);
  background: linear-gradient(115deg, transparent 32%, #ffffff73 49%, transparent 63%);
  opacity: 0;
  pointer-events: none;
}
.brand:is(:hover,:focus-visible) .brand-mark::after { animation: nickel-reflection 800ms ease-out both; }
@keyframes clean-reflection { to { transform: translateX(135%); } }
@keyframes nickel-reflection { 0% { opacity: 0; background-position: -80px 0; } 35% { opacity: .7; } 100% { opacity: 0; background-position: 80px 0; } }

@media (max-width: 1050px) {
  .page-home .primary-nav, .primary-nav { background: #103963; border-bottom: 1px solid #9db4cb; box-shadow: 0 12px 24px #061d3526; }
  .site-header::before { background-size: auto 220px; background-position: 38% 4%; }
  .site-header::after { background: linear-gradient(180deg, #10396326, #103963bc 52%, #103963cf); }
  .v26 .local-intro::before { width: 290px; left: -40px; top: 0; }
}
@media (max-width: 760px) {
  .v26 .local-intro::before { left: auto; right: -17px; top: 0; opacity: .045; }
  .v26 .home-owner-copy::before { width: 440px; right: -170px; top: -105px; opacity: .06; }
  .v26 .closing::before { width: 450px; right: -85px; top: -85px; opacity: .055; }
  .v26 .owner-contact::before { width: 400px; left: -90px; bottom: -80px; }
  .site-footer::before { width: 600px; top: -15px; left: -135px; opacity: .055; }
  .site-header .brand-descriptor { color: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.header-action, .v26 .action, .v26 .button-dark, .mobile-quote-action)::before,
  .brand-mark::after { animation: none !important; display: none; }
  .v26 .offer-image img,
  :is(.header-action, .v26 .action) > span { transition: none; transform: none !important; }
}
@media print {
  .site-header::before, .site-header::after, .site-footer::before,
  .v26 :is(.local-intro, .home-owner-copy, .closing, .owner-contact, .faq-mast, .page-intro)::before { display: none; }
}
