/* Phase 8: performance, accessibility, analytics consent and production acceptance */
:root{--p8-focus:#f3ce6e;--p8-consent-bg:#fffaf0;--p8-consent-ink:#10261d}
/* Correct Phase 5/6 cascade contrast issues found during browser acceptance. */
.p5-card.p5-card-featured h3{color:#fff}
.p5-section-dark .p5-eyebrow,.p6-section-dark .p5-eyebrow,.p6-enquiry-section .p5-eyebrow,.p6-enquiry-summary .p5-eyebrow{color:#f1d88f}
.p5-footer .p5-btn-light{color:var(--p5-forest-900);background:var(--p5-ivory-100)}
.p6-b2b-panel .p5-btn-secondary{color:#fff;border-color:rgba(255,255,255,.68);background:transparent}
.p6-b2b-panel .p5-btn-secondary:hover{background:rgba(255,255,255,.1)}
/* One consistent, high-visibility focus treatment across every interactive surface. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--p8-focus)!important;outline-offset:3px!important}
main:focus{outline:none}
.p8-privacy-link{appearance:none;border:0;background:transparent;color:#d5e1dc;padding:0;margin:.42rem 0;font:inherit;text-align:left;cursor:pointer;display:block;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.p8-privacy-link:hover{color:#fff}
/* Consent is non-modal: content remains usable and the control is keyboard/screen-reader accessible. */
.p8-consent{position:fixed;z-index:120;left:1rem;right:1rem;bottom:1rem;max-width:760px;margin-inline:auto;padding:1rem 1.1rem;border:1px solid rgba(16,38,29,.2);border-radius:18px;background:var(--p8-consent-bg);color:var(--p8-consent-ink);box-shadow:0 22px 70px rgba(3,23,18,.24)}
.p8-consent[hidden]{display:none!important}.p8-consent-inner{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.p8-consent-copy strong{display:block;color:var(--p5-forest-950)}.p8-consent-copy p{margin:.25rem 0 0;color:#43564c;font-size:.9rem}.p8-consent-actions{display:flex;gap:.55rem;flex-wrap:wrap}.p8-consent .p5-btn{min-height:44px;padding:.6rem 1rem}
/* Maps do not contact Google until the visitor chooses to load the embed. */
.p8-map-shell{position:relative;min-height:340px;background:linear-gradient(145deg,var(--p5-ivory-200),#e4dac7);display:grid;place-items:center;overflow:hidden}
.p8-map-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.p8-map-shell iframe[hidden]{display:none!important}
.p8-map-placeholder{position:relative;z-index:2;text-align:center;max-width:460px;padding:1.4rem}.p8-map-placeholder p{color:var(--p5-muted)}
/* Prevent expensive below-fold legacy sections from painting before needed, with stable intrinsic space. */
@supports(content-visibility:auto){.p8-defer-render{content-visibility:auto;contain-intrinsic-size:auto 720px}}
/* Progress and status helpers. */
.p6-progress[role=progressbar]{outline:0}.p6-field-error{color:#8f1f2d!important;font-weight:750}.p6-result[role=status]:focus{outline:3px solid var(--p8-focus);outline-offset:4px}
body.p8-nav-open{overflow:hidden}
@media(max-width:680px){.p8-consent{left:.65rem;right:.65rem;bottom:calc(76px + env(safe-area-inset-bottom));padding:.9rem}.p8-consent-inner{grid-template-columns:1fr}.p8-consent-actions{display:grid;grid-template-columns:1fr 1fr}.p8-consent .p5-btn{width:100%}.p8-map-shell{min-height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.p8-consent,.p8-map-shell,*{scroll-behavior:auto!important}}
