:root {
  --navy: #001421; --navy-2: #00243a; --blue: #0877d1; --blue-dark: #0564b5;
  --paper: #fff; --soft: #f3f6f8; --ink: #101820; --muted: #5c6670; --line: #d7dee4;
  --max: 1180px; --radius: 6px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.58; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.container { width: min(100% - 2rem, var(--max)); margin-inline: auto; }
.skip-link { position: fixed; top: -4rem; left: 1rem; z-index: 1000; padding: .65rem .9rem; color: var(--navy); background: #fff; border: 1px solid var(--line); }
.skip-link:focus { top: 1rem; }
.site-header { position: sticky; top: 0; z-index: 100; color: #fff; background: var(--navy); border-bottom: 1px solid rgba(255,255,255,.12); }
.navbar { min-height: 84px; display: flex; align-items: center; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .62rem; flex: 0 0 auto; }
.brand img { width: 70px; height: 70px; object-fit: contain; }
.brand span { display: grid; line-height: 1; }
.brand strong { color: #fff; font-size: 1.08rem; letter-spacing: .02em; text-transform: uppercase; }
.brand small { margin-top: .26rem; color: #a9c1d0; font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: .05rem; margin-left: auto; }
.nav-links a { padding: .72rem .49rem; color: #d9e5ed; font-size: .82rem; font-weight: 800; white-space: nowrap; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: #fff; }
.header-actions { display: flex; align-items: center; gap: .66rem; }
.header-phone { display: inline-flex; align-items: center; gap: .4rem; color: #fff; font-size: .88rem; font-weight: 800; white-space: nowrap; }
.header-phone svg { width: 18px; height: 18px; color: var(--blue); }
.header-book { min-height: 42px; padding: .64rem .82rem; font-size: .88rem; }
.mobile-toggle { display: none; width: 42px; height: 42px; padding: 0; border: 0; color: #fff; background: transparent; }
.mobile-toggle svg { width: 28px; height: 28px; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { line-height: 1.06; letter-spacing: -.045em; }
h1 { font-size: clamp(3rem,7vw,5.7rem); }
h2 { font-size: clamp(1.9rem,4vw,3rem); }
h3 { font-size: 1.22rem; }
.eyebrow { margin-bottom: .55rem; color: var(--blue); font-size: .76rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.lead { max-width: 720px; color: var(--muted); font-size: 1.11rem; }
.btn { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .46rem; padding: .78rem 1.02rem; border: 1px solid transparent; border-radius: var(--radius); font-weight: 900; line-height: 1.1; }
.btn svg, .text-link svg { width: 18px; height: 18px; }
.btn-primary { color: #fff; background: var(--blue); }
.btn-primary:hover { background: var(--blue-dark); }
.btn-secondary { color: var(--blue-dark); border-color: #b7cbd9; background: #fff; }
.btn-secondary:hover { border-color: var(--blue); }
.btn-ghost { color: #fff; border-color: rgba(255,255,255,.42); background: rgba(0,0,0,.14); }
.text-link { display: inline-flex; align-items: center; gap: .25rem; color: var(--blue-dark); font-weight: 900; }
.hero { min-height: 660px; display: grid; align-items: center; color: #fff; background: linear-gradient(90deg,rgba(0,14,25,.98) 0%,rgba(0,17,30,.90) 43%,rgba(0,16,29,.34) 78%,rgba(0,16,29,.18) 100%),url('hero-home-real.jpg') right center/auto 100% no-repeat,var(--navy); }
.hero-inner { padding: 5rem 0; }
.hero h1 { margin-bottom: 1.12rem; text-transform: uppercase; }
.hero h1 span,.hero h1 strong { display:block; }
.hero h1 strong { color: var(--blue); }
.hero p:not(.eyebrow) { max-width: 520px; margin-bottom: 1.6rem; color:#f0f5f8; font-size:clamp(1.15rem,2.2vw,1.45rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.72rem; }
.hero-call { min-height:58px; font-size:1.02rem; }
.quick-services { border-bottom:1px solid var(--line); background:#fff; }
.quick-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.quick-item { display:grid; min-height:184px; place-content:center; padding:1.15rem; border-right:1px solid var(--line); text-align:center; }
.quick-item:last-child { border-right:0; }
.quick-icon { height:58px; margin-bottom:.66rem; color:var(--blue-dark); }
.quick-icon svg { width:56px; height:56px; }
.quick-item strong { font-size:1.06rem; }
.quick-item small { margin-top:.18rem; color:var(--muted); font-size:.91rem; }
.section { padding:4.8rem 0; }
.section-soft { background:var(--soft); }
.section-title { margin-bottom:1.5rem; }
.section-title h2 { margin-bottom:.44rem; }
.section-title p:last-child { margin-bottom:0; color:var(--muted); }
.split-title { display:grid; grid-template-columns:minmax(0,1fr) 410px; gap:2rem; align-items:end; }
.van-grid { display:grid; grid-template-columns:1.5fr 1fr; grid-template-rows:245px 245px; gap:.8rem; }
.van-grid figure { margin:0; overflow:hidden; border:1px solid var(--line); background:#e9eef2; }
.van-grid img { width:100%; height:100%; object-fit:cover; }
.van-main { grid-row:1/3; }
.service-intro-grid { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:2.4rem; align-items:center; }
.service-intro-grid img { width:100%; height:370px; object-fit:cover; border:1px solid var(--line); }
.contact-band { color:#fff; background:linear-gradient(90deg,rgba(0,20,33,.99),rgba(0,31,51,.94)),url('wheel-watermark.png') right center/360px auto no-repeat,var(--navy); }
.contact-band-inner { min-height:275px; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:2.5rem; }
.contact-band h2 { margin-bottom:.5rem; }
.contact-band p:last-child { max-width:570px; margin-bottom:0; color:#c3d5e0; }
.contact-lines { display:grid; gap:.78rem; }
.contact-lines a { display:flex; align-items:center; gap:.68rem; font-size:1.08rem; font-weight:900; }
.contact-lines span { display:grid; width:40px; height:40px; place-items:center; border-radius:999px; background:var(--blue); }
.contact-lines svg { width:19px; height:19px; }
.page-hero { color:#fff; background:linear-gradient(90deg,rgba(0,20,33,.99),rgba(0,29,48,.91)),url('wheel-watermark.png') right center/270px auto no-repeat,var(--navy); }
.page-hero .container { padding-block:4.5rem 3.7rem; }
.page-hero h1 { margin-bottom:.66rem; font-size:clamp(2.75rem,6vw,4.7rem); text-transform:uppercase; }
.page-hero p:last-child { max-width:720px; margin-bottom:0; color:#d5e1e8; font-size:1.12rem; }
.package-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; }
.package,.price-panel,.contact-card,.form-panel,.service-card,.video-card,.aviloo-panel { padding:1.28rem; border:1px solid var(--line); background:#fff; }
.package { display:flex; flex-direction:column; }
.package-featured { border-color:var(--blue); }
.package-name { margin-bottom:.4rem; color:var(--blue-dark); font-size:.8rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.package-price { margin-bottom:.55rem; color:var(--navy); font-size:2.45rem; font-weight:900; letter-spacing:-.07em; }
.package-price small { color:var(--muted); font-size:.88rem; font-weight:700; letter-spacing:0; }
.package p { color:var(--muted); }
.package-highlights { margin:.1rem 0 1rem; padding-left:1.05rem; color:#374151; font-size:.93rem; }
.package-highlights li+li { margin-top:.22rem; }
.package .btn { margin-top:auto; }
details { margin:1rem 0 1.1rem; border-top:1px solid var(--line); padding-top:.75rem; }
summary { cursor:pointer; color:var(--blue-dark); font-weight:900; }
ul { padding-left:1.1rem; }
.fine-print { margin:1rem 0 0; color:var(--muted); font-size:.9rem; }
.service-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.85rem; }
.service-card { display:flex; min-height:225px; flex-direction:column; }
.service-card p { color:var(--muted); }
.service-card .text-link { margin-bottom:.8rem; font-size:.92rem; }
.service-card .btn { margin-top:auto; font-size:.91rem; }
.wof-grid,.ev-grid { display:grid; grid-template-columns:minmax(0,1fr) 355px; gap:2.5rem; align-items:start; }
.tick-list { display:grid; gap:.5rem; margin-top:1.35rem; padding:0; list-style:none; }
.tick-list li { padding-left:1.55rem; position:relative; }
.tick-list li::before { content:'✓'; position:absolute; left:0; color:var(--blue); font-weight:900; }
.price-panel .btn,.ev-grid .btn { margin-top:.7rem; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.steps div { padding:1.3rem; border-right:1px solid var(--line); }
.steps div:last-child { border-right:0; }
.steps span { color:var(--blue); font-size:1.55rem; font-weight:900; }
.steps h3 { margin:.65rem 0 .25rem; }
.steps p { margin-bottom:0; color:var(--muted); }
.small-cta { border-top:1px solid rgba(255,255,255,.1); color:#fff; background:var(--navy); }
.small-cta-inner { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.small-cta strong { font-size:1.2rem; }
.aviloo-panel { background:#fbfaff; }
.aviloo-panel img { width:100%; max-height:360px; object-fit:contain; border-radius:5px; background:#fff; }
.aviloo-panel p { margin:.9rem 0 .55rem; color:var(--muted); }
.gallery-grid { display:grid; grid-template-columns:repeat(2,1fr); grid-auto-rows:300px; gap:.8rem; }
.gallery-item { margin:0; overflow:hidden; border:1px solid var(--line); background:#e9eef2; }
.gallery-item img { width:100%; height:100%; object-fit:cover; object-position:center; }
.gallery-wide { grid-column:1/-1; }
.contact-grid,.booking-grid { display:grid; grid-template-columns:360px minmax(0,1fr); gap:1rem; align-items:start; }
.booking-grid { grid-template-columns:minmax(0,1fr) 360px; }
.contact-card h2,.form-panel h2 { font-size:2rem; }
.contact-row { display:flex; align-items:center; gap:.75rem; padding:.85rem 0; border-bottom:1px solid var(--line); }
.contact-row:last-child { border-bottom:0; }
.contact-row>span { display:grid; flex:0 0 auto; width:38px; height:38px; place-items:center; color:#fff; border-radius:999px; background:var(--blue); }
.contact-row svg { width:18px; height:18px; }
.contact-row small { display:block; color:var(--muted); }
.contact-row strong { display:block; font-size:.98rem; }
.form-panel>p { color:var(--muted); }
.form-status { min-height:1.5em; margin:.75rem 0 0; color:var(--muted); font-size:.9rem; }
.form-status.is-error { color:#a52020; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.form-field { display:grid; gap:.3rem; }
.form-field.full { grid-column:1/-1; }
label { color:#374151; font-size:.87rem; font-weight:900; }
input,textarea,select { width:100%; padding:.74rem .78rem; border:1px solid #c8d2db; border-radius:4px; color:var(--ink); background:#fff; }
textarea { min-height:130px; resize:vertical; }
.form-honey { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; pointer-events:none!important; }
input:focus,textarea:focus,select:focus { outline:2px solid rgba(8,119,209,.25); border-color:var(--blue); }
.video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; }
.video-card h2 { margin:.9rem 0 .3rem; font-size:1.3rem; }
.video-thumb { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line); background:#dfe6eb; }
.video-thumb img { width:100%; height:100%; object-fit:cover; }
.play-badge { position:absolute; inset:auto auto 1rem 1rem; display:grid; place-items:center; width:52px; height:52px; border-radius:999px; color:#fff; font-size:1.2rem; font-weight:900; background:rgba(0,20,33,.78); }
.channel-link { margin:1.2rem 0 0; }
.blog-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:2rem; align-items:start; }
.blog-index { position:sticky; top:106px; display:grid; gap:.4rem; padding:1rem; border:1px solid var(--line); }
.blog-index a { padding:.5rem 0; border-top:1px solid var(--line); color:var(--blue-dark); font-weight:900; }
.blog-post { scroll-margin-top:110px; padding-bottom:4rem; }
.blog-post+.blog-post { padding-top:4rem; border-top:1px solid var(--line); }
.blog-post h2 { max-width:820px; }
.blog-post h3 { margin:1.45rem 0 .38rem; }
.blog-post p { max-width:880px; }
.post-cta { margin-top:1.5rem; padding:1.2rem; border-left:4px solid var(--blue); background:var(--soft); }
.blog-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin:1.2rem 0; }
.pdf-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.pdf-preview-page { display:block; padding:.65rem; border:1px solid var(--line); background:#fff; text-decoration:none; color:var(--ink); }
.pdf-preview-page img { width:100%; height:auto; display:block; box-shadow:0 10px 24px rgba(0,0,0,.08); }
.pdf-preview-page span { display:block; margin-top:.55rem; font-weight:800; color:var(--blue-dark); }
.pdf-fallback { margin-top:.75rem; color:var(--muted); font-size:.9rem; }
.pdf-fallback a { color:var(--blue-dark); font-weight:900; }
.terms { max-width:880px; }
.terms h2 { margin-top:1.9rem; font-size:1.4rem; letter-spacing:-.02em; }
.terms li+li { margin-top:.24rem; }
.supplier-band { border-top:1px solid var(--line); background:#fff; }
.supplier-inner { display:grid; grid-template-columns:260px minmax(0,1fr); gap:2rem; align-items:center; padding-block:1.2rem; }
.capricorn-link { display:grid; gap:.38rem; color:var(--blue-dark); font-size:.82rem; font-weight:900; letter-spacing:.09em; text-align:center; text-transform:uppercase; }
.capricorn-link img { width:100%; border:1px solid #e0d7e8; }
.brand-area .eyebrow { margin-bottom:.6rem; color:var(--muted); }
.brand-strip { display:grid; grid-template-columns:repeat(5,1fr); gap:.85rem; align-items:center; }
.brand-strip img { width:100%; height:66px; object-fit:contain; filter:saturate(.9); }
.site-footer { color:#d6e0e7; background:var(--navy); border-top:1px solid rgba(255,255,255,.1); }
.footer-info { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; padding-block:1.55rem; border-bottom:1px solid rgba(255,255,255,.11); }
.footer-label { margin-bottom:.18rem; color:#87a3b4; font-size:.74rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.footer-info a,.footer-info span { color:#fff; font-size:.94rem; font-weight:700; }
.footer-main { display:flex; align-items:center; justify-content:space-between; gap:1.3rem; padding-block:1.25rem; }
.footer-brand img { width:58px; height:58px; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.72rem; color:#bfd0dc; font-size:.83rem; }
.footer-links a:hover { color:#fff; }
.footer-bottom { padding-block:.8rem; color:#91a8b6; font-size:.8rem; text-align:center; }
@media(max-width:1100px){ .header-phone span{display:none}.nav-links a{padding-inline:.43rem}.brand strong{font-size:1rem}.brand small{font-size:.61rem}.service-card-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:900px){ .navbar{min-height:76px}.brand img{width:60px;height:60px}.nav-links{position:fixed;top:76px;right:0;left:0;display:none;padding:.65rem 1rem .9rem;border-bottom:1px solid rgba(255,255,255,.13);background:var(--navy)}.nav-links.open{display:grid}.nav-links a{padding:.68rem 0}.mobile-toggle{display:grid;place-items:center}.header-phone span{display:inline}.hero{min-height:590px}.contact-grid,.booking-grid,.wof-grid,.ev-grid{grid-template-columns:1fr}.service-intro-grid{grid-template-columns:1fr}.service-intro-grid img{height:280px}.blog-layout{grid-template-columns:1fr}.blog-index{position:static}.supplier-inner{grid-template-columns:220px minmax(0,1fr);gap:1.2rem}.footer-info{grid-template-columns:repeat(2,1fr)} }
@media(max-width:680px){ .container{width:min(100% - 1.25rem,var(--max))}.brand img{width:56px;height:56px}.brand strong{font-size:.9rem}.brand small{display:none}.header-actions{margin-left:auto;gap:.38rem}.header-phone span{display:none}.header-book{min-height:39px;padding:.56rem .68rem}.hero{min-height:560px;background:linear-gradient(90deg,rgba(0,14,25,.99) 0%,rgba(0,17,30,.94) 54%,rgba(0,16,29,.45) 100%),url('hero-home-real.jpg') 63% center/auto 100% no-repeat,var(--navy)}.hero-inner{padding:3.8rem 0}.hero h1{font-size:clamp(3.1rem,16vw,4.45rem)}.hero p:not(.eyebrow){max-width:345px;font-size:1.08rem}.hero-actions .btn{width:100%}.quick-grid{grid-template-columns:1fr}.quick-item{min-height:116px;grid-template-columns:58px 1fr;grid-template-rows:auto auto;column-gap:.72rem;place-content:center start;border-right:0;border-bottom:1px solid var(--line);text-align:left}.quick-item:last-child{border-bottom:0}.quick-icon{grid-row:1/3;height:auto;margin:0}.quick-icon svg{width:48px;height:48px}.section{padding:3.75rem 0}.split-title{grid-template-columns:1fr;gap:.2rem}.van-grid{display:grid;grid-template-columns:1fr;grid-template-rows:230px 150px 190px}.van-main{grid-row:auto}.service-card-grid,.package-grid,.steps,.gallery-grid,.video-grid{grid-template-columns:1fr}.service-card{min-height:auto}.steps div{border-right:0;border-bottom:1px solid var(--line)}.steps div:last-child{border-bottom:0}.contact-band-inner{min-height:290px;display:block;padding-block:2.4rem}.contact-lines{margin-top:1.25rem}.small-cta-inner{display:block;padding-block:1.2rem}.small-cta .btn{margin-top:.75rem}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.gallery-grid{grid-auto-rows:235px}.gallery-wide{grid-column:auto}.supplier-inner{grid-template-columns:1fr;gap:1rem}.capricorn-link{max-width:280px}.brand-strip{grid-template-columns:repeat(3,1fr);gap:.58rem}.brand-strip img{height:55px}.footer-info{grid-template-columns:1fr;gap:.8rem}.footer-main{display:block}.footer-links{justify-content:flex-start;gap:.62rem .8rem;margin-top:1rem}.pdf-preview-grid{grid-template-columns:1fr} }
