/* FINAL SHARED RULES — the original three brand colours, on every page. */
:root { --brand-navy:#0f172a; --brand-deep:#0f172a; --brand-amber:#f59e0b; --brand-highlight:#f59e0b; --white:#fff; --muted:#0f172a; --line:#0f172a; }
body { background:#fff; }
img,svg { max-width:100%; }
.site-logo img { width:100%; height:100%; object-fit:contain; border-radius:inherit; }
.site-nav > .site-brand { min-width:0; }
.site-menu { min-width:44px; min-height:44px; flex-shrink:0; }
a,button { touch-action:manipulation; }
button,input,select,textarea { font:inherit; }
input,select,textarea { font-size:16px!important; }
input::placeholder,textarea::placeholder { color:#0f172a; opacity:1; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #f59e0b; outline-offset:4px; }
.direct-contact { margin-top:18px; font-size:14px; overflow-wrap:anywhere; }
.direct-contact a,.form-note a { text-decoration:underline; text-underline-offset:4px; font-weight:700; }
.form-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; }
.editor-section { padding-top:64px; padding-bottom:64px; }
.editor-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; }
.editor-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:32px; }
.editor-cards article { border:1px solid #0f172a; border-radius:16px; padding:28px; }
.step-number { display:inline-grid; place-items:center; background:#f59e0b; color:#0f172a; border-radius:12px; width:44px; height:44px; font-weight:800; }
.quick-enquiry { padding:64px 24px; background:#fff; color:#0f172a; }
.quick-inner { max-width:760px; margin:auto; }
.quick-inner > p { margin:12px 0 28px; }
.quick-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.quick-fields label { display:grid; gap:8px; font-size:14px; font-weight:700; }
.quick-fields input,.quick-fields textarea { width:100%; padding:14px; background:#fff; color:#0f172a; border:1px solid #0f172a; border-radius:10px; }
.quick-full { grid-column:1/-1; }
.quick-inner button { border:0; margin-top:20px; min-height:48px; cursor:pointer; }
.quick-inner .status { border:1px solid #0f172a; border-left:5px solid #f59e0b; padding:16px; margin-top:16px; }
.form-note { font-size:14px; margin-top:16px; }
.status { color:#0f172a; background:#fff; }
.hero { background:#0f172a; }
.eyebrow { color:#0f172a; }
.hero .eyebrow { color:#f59e0b; }
.site-header,.site-footer { color:#fff; }
.site-footer a { color:#fff; }
.site-footer .site-brand b { color:#f59e0b; }
@media(max-width:850px) { .site-brand { max-width:calc(100% - 62px); } .editor-grid { grid-template-columns:1fr; gap:20px; } .editor-cards { grid-template-columns:1fr; } }
@media(max-width:600px) { .quick-fields { grid-template-columns:1fr; } .quick-inner button { width:100%; } .editor-section { padding-top:40px; padding-bottom:40px; } .quick-enquiry { padding:44px 20px; } .hero h1 { font-size:clamp(32px,9vw,46px)!important; } .site-foot-bottom nav { flex-wrap:wrap; } .form-head { flex-wrap:wrap; } h1,h2,h3 { overflow-wrap:break-word; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
/* Muted labels remain legible on the navy panels. */
[class*="bg-navy-"] [class*="text-slate-"], [class*="bg-slate-8"] [class*="text-slate-"], [class*="bg-slate-9"] [class*="text-slate-"] { color:#fff; }
[class*="text-green-"],[class*="text-emerald-"],[class*="text-blue-"] { color:#f59e0b; }
[class*="bg-green-"],[class*="bg-emerald-"],[class*="bg-blue-"] { background-color:#f59e0b; }
.text-slate-400 { color:#0f172a; }
[class*="bg-navy-"] .text-slate-400,[class*="bg-slate-8"] .text-slate-400,[class*="bg-slate-9"] .text-slate-400,.text-slate-400[class*="bg-slate-9"] { color:#fff; }
[class*="bg-emerald-"][class*="text-emerald-"],[class*="bg-green-"][class*="text-green-"] { color:#0f172a; }
