/* Phase 5: accessible contrast and controls within the approved warm palette. */
:root { --ink-readable:#302016; --accent-readable:#88452d; }
.home-page .manifesto-copy > .section-index,
.v2-page .v2-usecase > span,
.v2-page .v2-related .v2-kicker,
.v2-page .v2-related-grid .v2-kicker { color:var(--accent-readable)!important; }
.home-page .final-cta p,
.v2-page .v2-close :is(.v2-kicker,small,small a),
.v2-page .v2-close-grid :is(.v2-kicker,small,small a),
.law-page .law-final-grid :is(.law-label,p),
.product-page .closing-section :is(.section-kicker,p,.brand-name) { color:var(--ink-readable)!important; }
.law-page :is(.law-label,.law-obligation-number,.law-obligation-list small,.law-service-steps article > span,.law-boundary-grid a),
.law-page #law-boundary-title em { color:var(--accent-readable)!important; }
/* Labels in dark contexts retain a light accent. */
.law-page .law-hero .law-label { color:#efb58a!important; }
.product-page :is(.section-kicker,.problem-item > span,.feature-index,.form-heading,.form-heading span) { color:var(--accent-readable)!important; }
.product-page :is(.product-heading > p,.prototype-note,.report-frame-top,.form-field small,.form-field label span) { color:#604a3a!important; }
.product-page .method-section :is(.section-kicker,.step > span) { color:#efb58a!important; }
.product-page #contact-submit { background:#88452d!important;color:#fffaf3!important; }
.garage-page .garage-hero .button,
.garage-page .final-actions .button { background:#302016!important;color:#fffaf3!important; }
.garage-page .garage-filters button[aria-pressed=true] { background:#88452d!important;color:#fffaf3!important; }
.garage-page .garage-filters button[aria-pressed=true] span { color:inherit!important; }
.garage-page .garage-engineering .section-index { color:#efb58a!important; }
.garage-page .final-cta { background:#c67852!important; }
.garage-page .final-cta :is(.section-index,p,small,small a,a:not(.button)) { color:#302016!important; }
.garage-page .final-cta p { font-size:16px!important;line-height:1.6; }
.garage-page .final-actions :is(small,small a) { font-size:15px!important;line-height:1.6; }
.garage-page .final-actions > a:not(.button) { font-size:16px!important; }
.v2-page .sample-section .v2-inline { color:var(--accent-readable)!important; }
.v2-page .sample-section small { font-size:14px; }
/* Keyboard focus remains visible on cream and dark surfaces. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible {
 outline:3px solid #8a4429;outline-offset:4px;box-shadow:0 0 0 6px #fffaf3;
}
.site-footer a,.site-footer button { min-height:28px; }
.site-footer .footer-bottom a,.site-footer .footer-bottom button { display:inline-flex;align-items:center; }
button,.button,summary { touch-action:manipulation; }
.cookie-modal .close-x { min-width:44px;min-height:44px; }
.cookie-modal .switch { min-width:44px;min-height:28px; }
.cookie-modal { max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain; }
@media(prefers-reduced-motion:reduce){
 html { scroll-behavior:auto!important; }
 *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}
.law-page .law-timeline-heading .law-label { color:#efb58a!important; }
.v2-page .v2-action,.product-page .hero .button-primary { background:#88452d!important;color:#fffaf3!important; }
.v2-page .v2-intro-grid > .v2-kicker,.product-page .note-icon { color:#88452d!important; }
@media(max-width:480px){
 .product-page .nav-wrap { gap:12px; }
 .product-page .site-header :is(.product-brand,.brand-divider) { display:none; }
 .product-page .site-header .brand { min-width:0; }
 .product-page .site-header .menu-toggle { flex-shrink:0;margin-left:auto;min-width:44px;min-height:44px; }
}
.product-page .contact-section :is(h2 em,.contact-aside > span,a,.form-field b,.privacy-check b) { color:#88452d!important; }
.product-page .contact-section :is(.contact-intro > p,.contact-aside small,.privacy-summary) { color:#604a3a!important; }
.product-page .contact-section .form-field label { font-size:16px!important; }
.product-page .form-field :is(input,textarea) { border-color:#a88c76; }
.product-page .form-field :is(input,textarea)::placeholder { color:#6a5a4e;opacity:1; }
