/* OJO V18 — accessibility, legal pages and clean source logo */
.v8-site{--v18-ink:#173247;--v18-muted:#435666;--v18-subtle:#526575}
.v8-site p,.v8-site li,.v8-site small,.v8-site label{ text-shadow:none }
.v8-site .v8-footer,.v8-site .v8-footer p,.v8-site .v8-footer a{color:#f7f4ed}
.v8-site .v8-footer a{opacity:1}
.v8-site .v8-logo,.v8-site .v8-footer-logo{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.v8-site .v8-logo img,.v8-site .v8-footer-logo img{display:block;background:transparent!important;object-fit:contain;mix-blend-mode:normal;filter:none;max-width:100%;height:auto}
.v8-site .v8-mobile a,.v8-site .v8-nav nav a,.v8-site .v8-login-link{color:#183247!important}
.v8-site .v8-login-link{font-weight:750!important}
.v8-site .v7-contact-form label,.v8-site .v7-contact-form small,.v8-site .v7-contact-form .form-status{color:#344b5c!important}
.v8-site .v7-contact-form input,.v8-site .v7-contact-form textarea,.v8-site .v7-contact-form select{color:#183247!important;background:#fff!important;border-color:#b9c4c9!important}
.v8-site .v7-contact-form input::placeholder,.v8-site .v7-contact-form textarea::placeholder{color:#687985!important;opacity:1}
.v8-site .v7-contact-form .v7-consent{color:#263f50!important;font-size:14px!important;line-height:1.65!important}
.v8-site .v7-contact-form .v7-consent a{color:#a44e32!important;text-decoration:underline;font-weight:750}
.v8-site .v7-contact-form .form-status{font-weight:700;min-height:1.5em}
.v8-site .v7-contact-form button:disabled{opacity:.65;cursor:wait}
.v18-legal{max-width:1040px;margin:0 auto;padding:clamp(42px,7vw,88px) 28px 100px;color:#1c3548}
.v18-legal-head{max-width:900px;margin-bottom:30px}
.v18-legal h1{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(48px,7vw,82px);line-height:1.02;letter-spacing:-.035em;color:#f6f0e7;margin:26px 0}
.v18-legal h1 em{color:#e99a73;font-weight:400}
.v18-legal .v18-lead{font-size:19px;line-height:1.75;color:#e0e8e9;max-width:820px}
.v18-legal .v18-draft{margin:26px 0;padding:15px 18px;border-left:4px solid #e98b62;background:#ffffff12;color:#f5d5c4;font-size:13px;line-height:1.7}
.v18-legal section{margin:24px 0;padding:27px 30px;background:#fffdf8;border:1px solid #e6ddd1;border-radius:12px;box-shadow:0 12px 32px #091b2812}
.v18-legal section h2{font:600 24px/1.25 'DM Sans',sans-serif;color:#173247;margin:0 0 13px}
.v18-legal section p,.v18-legal section li{font:16px/1.8 'DM Sans',sans-serif;color:#435666}
.v18-legal section li{margin:7px 0}
.v18-legal a{color:#a34e32;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.v18-legal .v18-placeholder{color:#9b452c;font-weight:800;background:#fff0e8;padding:2px 5px}
.v18-legal .v18-retention-note{margin:26px 0;padding:22px 26px;background:#f8e9dc;border-left:5px solid #c96d49;border-radius:8px;color:#263f50}
.v18-legal .v18-retention-note p{color:#435666;line-height:1.75}
.v18-legal .v18-request-form{max-width:760px;margin-top:24px;padding:30px;background:#fffdf8;border-radius:14px}
.v18-legal .v18-request-form>span{color:#173247;font-weight:850;letter-spacing:.14em}
.v18-legal .v18-request-form small{font-size:13px;line-height:1.7;color:#526575!important}
.v18-legal .v8-eyebrow{color:#f0a27e}
.v18-legal-site{background:#102b3b}
.v18-legal-site .v8-nav{background:#fffdf8}
.v18-legal-site .v8-footer{margin-top:0}
/* Fix low-contrast copy in shared marketing sections without changing the established palette. */
.v8-site .ojo14-section-heading p,.v8-site .v8-section-intro,.v8-site .v7-service-card p,.v8-site .v8-feature-row p,.v8-site .v8-journey-list p{color:#435666!important}
.v8-site .ojo14-capability p{color:#fff!important}
.v8-site .v7-contact-hero>div>p,.v8-site .v7-application-page>div>p{color:#e5ebeb!important}
.v8-site .v7-contact-note,.v8-site .v7-contact-note p{color:#253e50!important}
.v8-site .v7-contact-note b{color:#a44f35!important}
@media(max-width:700px){.v18-legal{padding:34px 16px 64px}.v18-legal section{padding:21px 18px}.v18-legal section p,.v18-legal section li{font-size:15px}.v18-legal .v18-lead{font-size:17px}.v18-legal .v18-request-form{padding:22px 17px}}
@media(prefers-reduced-motion:reduce){.v18-legal *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Contrast corrections for the actual V8 application and enquiry forms. */
.v8-site .v8-form label{font-size:14px!important;line-height:1.55!important;color:#243f52!important}
.v8-site .v8-form input,.v8-site .v8-form select,.v8-site .v8-form textarea{font-size:15px!important;color:#173247!important;border-color:#aebdc4!important}
.v8-site .v8-form input::placeholder,.v8-site .v8-form textarea::placeholder{color:#667985!important;opacity:1}
.v8-site .v8-form>small{font-size:13px!important;line-height:1.7!important;color:#526575!important}
.v8-site .v8-form .v8-consent{font-size:14px!important;line-height:1.65!important;color:#263f50!important}
.v8-site .v8-form .v8-consent a{color:#9c472d!important;text-decoration:underline!important;font-weight:800!important}
.v8-site .v8-form .form-status{font-size:14px!important;color:#176b58!important;font-weight:750!important}
.v8-site .ojo-existing-login{color:#263f50!important;font-size:14px!important}
.v8-site .ojo-existing-login strong{color:#263f50!important}
.v8-site .ojo-existing-login a{color:#913f29!important;text-decoration:underline!important;font-weight:850!important}
.v8-site .v8-apply-note b{color:#713c2a!important}
.v8-site .v8-apply-note span{color:#465b69!important;font-size:13px!important}
.v8-site .v8-apply-steps>p{color:#d4dfdf!important;font-size:13px!important}
.v8-site .v8-apply-steps>strong{font-size:15px!important}
.v8-site .v8-footer-links a{font-size:13px!important;color:#e4e9e9!important}
.v8-site .v8-footer-links b{font-size:10px!important}
.v8-site .v8-footer-bottom{font-size:11px!important;color:#c3d0d0!important;letter-spacing:.04em!important}
