/* Bison Seal Coating - accessibility, legal, cookie, contrast (loaded last) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:#222;color:#fff;padding:12px 20px;font-weight:700;text-decoration:none}
.skip-link:focus{left:0;outline:3px solid #fdc236}
a:focus,button:focus,input:focus,textarea:focus,select:focus,[tabindex]:focus{outline:3px solid #8a6200!important;outline-offset:2px}
/* theme gold #fdc236 is 1.62:1 on white - only safe as a background behind dark text */
.legal-page a,.footer-links a,.content a{color:#8a6200}
.legal-page a:hover,.legal-page a:focus{color:#6b4c00}
.legal-page{max-width:900px;margin:40px auto 60px;padding:0 20px;color:#333;line-height:1.7;font-size:16px}
.legal-page h1{font-size:32px;margin-bottom:10px;color:#222}
.legal-page h2{font-size:24px;margin-top:34px;color:#6b4c00}
.legal-page ul{margin:12px 0 12px 22px;list-style:disc outside}
.legal-page li{margin-bottom:8px;list-style:disc outside;display:list-item}
.legal-page a{text-decoration:underline}
.legal-updated{color:#666;font-style:italic;margin-bottom:24px}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:99999;background:#1c1c1c;color:#fff;padding:16px 20px;box-shadow:0 -2px 10px rgba(0,0,0,.35);display:none}
.cookie-banner.is-visible{display:block}
.cookie-banner__inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.cookie-banner__text{font-size:14px;line-height:1.5;margin:0;flex:1 1 420px;color:#fff}
.cookie-banner__text a{color:#fdc236;text-decoration:underline}
.cookie-btn{border:0;padding:10px 18px;margin-left:8px;font-size:14px;font-weight:700;cursor:pointer}
.cookie-btn--accept{background:#fdc236;color:#222}
.cookie-btn--accept:hover,.cookie-btn--accept:focus{background:#e0aa22}
.cookie-btn--decline{background:#e6e6e6;color:#222}
@media(max-width:600px){.cookie-banner__actions{margin-top:8px}.cookie-btn{margin:6px 8px 0 0}}
.bv-top{position:fixed;bottom:22px;right:22px;z-index:100040;width:48px;height:48px;border:none;border-radius:50%;background:#222;color:#fff;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s;display:flex;align-items:center;justify-content:center;padding:0}
.bv-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.bv-top:hover,.bv-top:focus{background:#000;outline:3px solid #fdc236}
.bv-top svg{width:22px;height:22px;fill:#fdc236}
.footer-legal{list-style:none;padding:0;margin:10px 0 0;font-size:13px}
.footer-legal li{display:inline-block;margin:0 10px 4px 0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* ---------- WCAG AA contrast fixes (measured with axe) ---------- */
.topbar-note{color:#fff}                       /* was #333 on the black top bar (1.66:1) */
.video h2,.parallax h2,.gold-bg h2{color:#222} /* white on gold #fdc236 was 2.26:1; dark on gold = 9.8:1 */
h2 + span,.section-title span,.heading span{color:#8a6200} /* gold text on white was 1.62:1 */
.content p,.about-text p,p.grey,.service-text p{color:#595959} /* was #878787 (3.59:1) */

/* ---------- Measured AA contrast fixes (axe) ---------- */
.topbar-note{color:#fff}                              /* #333 on black bar = 1.66:1 */
.quote-wrap h2{color:#222}                            /* white on gold #fdc236 = 2.26:1 -> 9.8:1 */
h1 span,h2 span,h3 span{color:#8a6200}                /* gold eyebrow text on white = 1.62:1 -> 5.49:1 */
.quote-wrap h2 span{color:#222}                       /* keep dark inside the gold band */
.content p,.about-text p,.aboutTxt,.service-text p,p.grey{color:#595959}  /* #878787 = 3.59:1 */
.about-wrap p{color:#595959}   /* theme #878787 = 3.59:1 */
.field-long,.field-select,textarea{color:#222;background:#fff;border:1px solid #767676}
input.field-long,textarea.field-long,.field-long,select{color:#333!important;background:#fff}
input.field-long::placeholder,textarea::placeholder{color:#6b6b6b}
.thanks-wrap a,.grey-bg a{color:#1f5c8b}   /* #337ab7 on #eee = 3.92:1 */
a{color:#1f5c8b}
.embed-full{width:100%;max-width:100%;border:0}
.inner-title{font-size:30px;font-weight:700;color:#fff;margin:0}
.widget-title{font-size:18px;font-weight:700}
.faq-answer{display:block;height:auto}

/* ---------- FAQ accordions (native <details>, no JS) ---------- */
.faq-block { max-width: 900px; margin: 40px auto; padding: 0 15px; }
.faq-block > h2 { text-align: center; margin-bottom: 24px; }
.faq-item { border: 1px solid #ddd; margin-bottom: 12px; background: #fafafa; border-radius: 3px; }
.faq-item > summary {
    cursor: pointer; padding: 16px 46px 16px 18px; font-weight: 700; font-size: 17px;
    color: #222; list-style: none; position: relative; line-height: 1.4;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after {
    content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
    font-size: 24px; line-height: 1; color: #8a6200; font-weight: 700;
}
.faq-item[open] > summary::after { content: "\2212"; }
.faq-item > summary:hover { background: #f2f2f2; }
.faq-item > summary:focus { outline: 3px solid #fdc236; outline-offset: -3px; }
.faq-item .faq-a { padding: 0 18px 18px; font-size: 15.5px; color: #4f4f4f; line-height: 1.7; }
.faq-item .faq-a p { color: #4f4f4f; margin: 0; }

/* ---------- Preserve intrinsic aspect ratio (Lighthouse image-aspect-ratio) ---------- */
.service-image img, .about-image img, .inner-content img, .faq-image img { height: auto; max-width: 100%; }
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* constrain logo display so the 2x source satisfies DPR (Lighthouse image-size-responsive) */
.logo img{width:122px;height:auto}
