*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#05080d;color:#f6f7f9;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.nav{position:sticky;top:0;z-index:9;display:flex;align-items:center;gap:28px;padding:15px 5%;background:rgba(4,8,14,.94);border-bottom:1px solid #8a6722}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand b{font-size:20px}.brand i,.hero span,footer span{color:#e9b83f;font-style:normal}.brand small{display:block;letter-spacing:3px;font-size:9px}.mark{font-size:32px;color:#1b9cff}.nav nav{display:flex;gap:22px;font-size:14px}.phone,.btn{border-radius:7px;font-weight:700}.phone{background:#e9b83f;color:#07090d;padding:12px 18px}.hero{min-height:650px;display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:40px;padding:80px 7%;background:radial-gradient(circle at 80% 40%,#073260 0,transparent 28%),linear-gradient(125deg,#03060a 35%,#07121f 70%,#03172b)}.hero h1{font-size:64px;line-height:.95;margin:10px 0}.hero h2{color:#e9b83f;letter-spacing:7px}.eyebrow{color:#e9b83f;letter-spacing:4px;font-weight:700}.actions{display:flex;gap:15px;margin-top:28px}.btn{display:inline-block;padding:14px 22px;border:1px solid #e9b83f;cursor:pointer}.gold{background:linear-gradient(#ffd76a,#d89d22);color:#080a0e}.outline{background:transparent}.hero-card{border:1px solid #b88927;background:#07101ccc;padding:30px;display:grid;gap:18px;border-radius:14px;box-shadow:0 0 45px #0068c333}.hero-card b{font-size:28px;color:#e9b83f}.hero-card strong{font-size:30px}.section{padding:70px 7%;border-top:1px solid #192230}.section>h2,.section div>h2{font-size:38px;margin-top:5px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid article{background:linear-gradient(145deg,#0b111a,#070a10);border:1px solid #73551c;padding:25px;border-radius:12px}.grid article:hover{transform:translateY(-3px);border-color:#e9b83f}.icon{font-size:30px;color:#e9b83f}.grid h3{font-size:21px}.grid p,.section p{color:#c5cad2;line-height:1.6}.quote{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#07101a}.quote form,.contact form{display:grid;gap:14px;background:#0a1018;padding:25px;border:1px solid #1c6ca8;border-radius:12px}label{display:grid;gap:7px;font-size:13px;color:#ddd}input,select,textarea{width:100%;padding:13px;border-radius:6px;border:1px solid #303846;background:#101722;color:#fff}textarea{min-height:90px}.estimate{padding:12px;border-left:3px solid #e9b83f}.workgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.workgrid div{height:180px;display:flex;flex-direction:column;justify-content:end;padding:20px;border-radius:10px;background:linear-gradient(135deg,#0d2237,#141414);border:1px solid #32465c;font-size:22px;font-weight:bold}.split,.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px}.split li{margin:15px 0}.split li::marker{color:#e9b83f}.contact{background:linear-gradient(120deg,#061321,#080a0e)}.contact a{color:#e9b83f}footer{text-align:center;padding:35px;border-top:1px solid #9a7428;background:#020407}footer b{font-size:20px}.float{position:fixed;right:22px;bottom:22px;background:#e9b83f;color:#050505;width:55px;height:55px;border-radius:50%;display:grid;place-items:center;font-size:24px;box-shadow:0 5px 25px #000}@media(max-width:850px){.nav nav{display:none}.phone{font-size:12px;padding:10px}.hero{grid-template-columns:1fr;min-height:auto}.hero h1{font-size:42px}.grid{grid-template-columns:1fr}.quote,.split,.contact{grid-template-columns:1fr}.workgrid{grid-template-columns:1fr}.section{padding:55px 6%}.brand small{letter-spacing:1px}.brand b{font-size:15px}}
.calcgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#dynamicFields{display:grid;gap:12px}
.hint{font-size:12px!important;margin:0;color:#9da7b5!important}
fieldset{border:1px solid #303846;border-radius:7px;padding:14px}legend{color:#e9b83f;padding:0 7px}
.check{display:inline-flex;align-items:center;margin:6px 14px 6px 0}.check input{width:auto;margin-right:7px}
.request{text-align:center}
@media(max-width:600px){.calcgrid{grid-template-columns:1fr}}

/* Cross-browser brand colour consistency */
:root{color-scheme:light;--bo-gold:#e9b83f;--bo-gold-bright:#ffd76a;--bo-blue:#1b9cff;--bo-ink:#05080d;--bo-white:#f6f7f9}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background-color:var(--bo-ink);color:var(--bo-white)}
.brand i,.hero span,footer span,.eyebrow,.hero h2,.hero-card b{color:var(--bo-gold)}
.phone,.gold,.float{background-color:var(--bo-gold);color:#080a0e}
.gold{background-image:linear-gradient(180deg,#ffe08a 0%,#e9b83f 55%,#d99c23 100%)}
.btn,.phone,.float{forced-color-adjust:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
button,input,select,textarea{font:inherit}
input,select,textarea{color-scheme:dark}
button{appearance:none;-webkit-appearance:none}
:focus-visible{outline:3px solid #58b5ff;outline-offset:3px}
@media(max-width:600px){.actions{flex-wrap:wrap}.actions .btn{max-width:100%}.hero h1{overflow-wrap:anywhere;font-size:clamp(30px,9vw,42px)}.hero h2{font-size:clamp(17px,5vw,24px);letter-spacing:3px}.hero{padding:60px 6%}.nav{gap:10px;padding:14px 4%}.phone{white-space:nowrap}.hero-card{padding:22px}}

.booking-section{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;background:#07101a}.booking-form{display:grid;gap:14px;background:#0a1018;border:1px solid #1c6ca8;padding:25px;border-radius:12px}.booking-form .btn{width:100%;text-align:center}.admin-section{background:#080d15}.admin-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.booking-list{display:grid;gap:12px}.booking-item{padding:18px;border:1px solid #73551c;border-radius:9px;background:#101722}.booking-item select{max-width:250px}.booking-item p{overflow-wrap:anywhere}@media(max-width:850px){.booking-section{grid-template-columns:1fr}}

.trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* V29 FINAL REVIEW — public button contrast fix */
.btn{
  color:#f7fbff;
  -webkit-text-fill-color:#f7fbff;
}
.btn.outline{
  color:#f7fbff !important;
  -webkit-text-fill-color:#f7fbff !important;
  background:#0b1420 !important;
  border-color:#d2a436 !important;
}
.btn.outline:hover,
.btn.outline:focus-visible{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:#132235 !important;
  border-color:#ffd76a !important;
}
#requestQuoteFromCalc{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:linear-gradient(180deg,#111c29,#0b1420) !important;
  border:1px solid #e9b83f !important;
  font-weight:900;
}
#requestQuoteFromCalc:hover,
#requestQuoteFromCalc:focus-visible{
  background:linear-gradient(180deg,#17304a,#102236) !important;
  border-color:#ffd76a !important;
}


/* V30 FINAL REVIEW — one-way quotation flow */
#quote[data-flow-step]::before,#booking[data-flow-step]::before{content:"STEP " attr(data-flow-step);display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px;padding:6px 10px;border:1px solid rgba(233,184,63,.55);border-radius:999px;color:#e9b83f;font-size:11px;font-weight:900;letter-spacing:.16em;background:rgba(233,184,63,.06)}
#quote{scroll-margin-top:18px}#booking{scroll-margin-top:18px}
.quote-handoff-status{min-height:1.4em}
.contact-simple{align-items:center}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.contact-actions .btn{text-decoration:none}
@media(max-width:760px){.contact-actions{justify-content:flex-start}.contact-simple{display:block}.contact-actions{margin-top:16px}}
