/* Usability and policy additions: keep existing imagery, prices and layouts intact. */
html { overflow-x: clip; }
body { overflow-x: clip; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #946812 !important; outline-offset: 4px !important; }
.site-header :focus-visible, .hero :focus-visible, .services :focus-visible, .site-footer :focus-visible { outline-color: #ffe19a !important; }
.legal-links { display: flex; flex-wrap: wrap; gap: 10px 22px; padding-block: 28px 6px; border-top: 1px solid #ffffff25; margin-top: 32px; }
.legal-links a, .legal-links button { display: inline-flex; align-items: center; min-height: 44px; color: #eef7fa; font: inherit; font-size: .95rem; text-decoration: underline; text-underline-offset: 5px; }
.legal-links button { border: 0; background: transparent; cursor: pointer; padding: 0; }
.legal-links + .footer-bottom { margin-top: 20px; }
.quote-privacy-note { padding: 16px; color: #264653; background: #edf6f8; border: 1px solid #d0e2e7; border-radius: 14px; font-size: .94rem; }
.quote-privacy-note p { margin: 0 0 8px; line-height: 1.7; }
.quote-privacy-note a, .chat-privacy-note a { text-decoration: underline; text-underline-offset: 3px; }
.quote-form .consent-field, .consent-field { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; font-size: .96rem; line-height: 1.7; cursor: pointer; color: #153c49; }
.quote-form .consent-field input, .consent-field input { width: 22px; height: 22px; flex: 0 0 22px; margin: 4px 0 0; padding: 0; accent-color: #08687b; }
.quote-form .marketing-consent-group { margin-top: 12px; padding-top: 16px; border-top: 1px solid #d0e2e7; }
.quote-form .marketing-consent-caption { margin: 0; color: #455c66; font-size: .85rem; font-weight: 700; }
.quote-form .marketing-consent-group .consent-field { padding-bottom: 16px; }
.quote-form .consent-error { margin: 0; color: #922c26; font-size: .9rem; line-height: 1.6; }
.quote-form .consent-error:empty { display: none; }
.quote-form .quote-status { color: #235b3b; line-height: 1.7; }
.quote-form .quote-status:empty { display: none; }
.quote-form [hidden] { display: none !important; }
.quote-form button:disabled { opacity: .65; cursor: wait; }
.quote-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.quote-form small { color: #455c66; font-size: .85rem; }
.chat-privacy-note { padding: 8px 14px; margin: 0; color: #264653; background: #f2f8fa; font-size: .8rem; }
.motion-control { margin-top: 22px; min-height: 44px; padding: 7px 16px; border: 1px solid #ffffff60; border-radius: 12px; color: #fff; background: #082f3cc9; cursor: pointer; font: inherit; font-size: .85rem; }
.motion-control[aria-pressed="true"] { border-color: #e1b34d; color: #ffe8b3; }
.privacy-dialog { width: min(580px, calc(100% - 24px)); max-height: calc(100svh - 32px); padding: 0; border: 1px solid #d5e4e9; border-radius: 22px; color: #153c49; background: #fff; box-shadow: 0 24px 80px #00182055; }
.privacy-dialog::backdrop { background: #021e2bcc; }
.privacy-surface { padding: 30px; }
.privacy-close { float: left; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #d5e4e9; background: #f0f7fa; color: #153c49; font-size: 1.6rem; cursor: pointer; }
.privacy-surface h2 { font-size: 1.65rem; line-height: 1.4; margin: 14px 0; clear: both; }
.privacy-surface p { line-height: 1.75; }
.privacy-surface a { text-decoration: underline; }
.care-eyebrow { color: #77581d; font-weight: 700; letter-spacing: .08em; }
.privacy-essential { padding: 14px 18px; background: #f2f7f9; border-radius: 14px; }
.privacy-essential p { margin: 6px 0 0; }
.privacy-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.privacy-actions button { min-height: 48px; padding: 10px; border: 1px solid #0a5368; border-radius: 12px; background: #0a5368; color: #fff; font: inherit; cursor: pointer; }
.privacy-status { color: #235b3b; font-size: .95rem; }
.site-search-dialog { overflow-y: auto; }
.pricing-modal-body .pricing-card-content > .pricing-volume-note, .pricing-modal-body .pricing-card-content > .pricing-scope-list { display: grid; }
.pricing-modal-body :is(.pricing-fineprint, .pricing-card-lead, .pricing-scope-list span, .pricing-volume-note span, .window-service-grid p, .upholstery-addons p, .upholstery-note p, .upholstery-feature-price p) { color: #395562; font-size: .97rem; line-height: 1.75; }
.pricing-modal-body .upholstery-feature-price p { color: #fff; }
.pricing-modal-body .pricing-table :is(th, td) { font-size: .94rem; padding: 10px; }
.pricing-modal-body .pricing-table th { color: #365866; }
.pricing-modal-body .pricing-badge { margin: 6px 0 0; max-width: 100%; font-size: .85rem; }
.pricing-modal-body .pricing-card-heading { min-width: 0; }
.faq-service summary small, .faq-questions p, .site-search-result small { color: #425f6b; }
.service-grid { touch-action: pan-y; }
.review-evidence-grid { touch-action: pan-x pan-y; }
.header-phone { white-space: nowrap; }
#service-carousel-count { direction: ltr; unicode-bidi: isolate; }
html[data-motion="paused"] *, html[data-motion="paused"] *::before, html[data-motion="paused"] *::after { animation-play-state: paused !important; transition: none !important; scroll-behavior: auto !important; }
html[data-motion="paused"] { scroll-behavior: auto !important; }
html[data-motion="paused"] .reveal { opacity: 1 !important; transform: none; }
html[data-motion="paused"] .gold-dust-canvas { visibility: hidden; }
@media (max-width: 760px) {
  .header-inner, .header-actions, .site-nav { min-width: 0; }
  .site-footer { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
  .legal-links { gap: 8px 18px; }
  .privacy-surface { padding: 20px; }
  .privacy-actions { grid-template-columns: 1fr; }
  .pricing-modal-body :is(.upholstery-addons, .window-service-grid) { grid-template-columns: 1fr; }
  .pricing-modal-body :is(.upholstery-addons strong, .window-service-grid strong) { min-height: 0; font-size: 1rem; }
  .pricing-modal-body .pricing-table-wrap { overflow-x: auto; }
  .pricing-modal-body .pricing-table :is(th, td) { font-size: .9rem; padding: 9px 7px; }
  .pricing-modal-body .pricing-private-rate { flex-wrap: wrap; }
  .service-modal-close, .pricing-modal-close, .site-search-close { min-width: 44px; min-height: 44px; }
}
