
@import url(fonts.css);
:root{--ink:#10151f;--ink2:#1b2333;--saf:#f2a01e;--saf2:#ffc15a;--cream:#fbf5e9;--paper:#fffdf8;--teal:#0f5f66;--mute:#5d6676;--line:rgba(16,21,31,.12);--r:18px;
--fs-0:clamp(.95rem,.9rem + .2vw,1.05rem);--fs-1:clamp(1.15rem,1rem + .6vw,1.4rem);--fs-2:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);--fs-3:clamp(2.2rem,1.3rem + 3.6vw,4.2rem);--fs-4:clamp(2.6rem,1.4rem + 5vw,5.6rem);
--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{font-family:'Instrument Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--fs-0);line-height:1.6;color:var(--ink);background:var(--paper);overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.02em;line-height:1.05}
.wrap{width:min(1200px,100% - 2.4rem);margin-inline:auto}
:focus-visible{outline:3px solid var(--saf);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:8px;z-index:100}.skip:focus{left:8px}
.btn{display:inline-flex;align-items:center;gap:.55rem;border:0;cursor:pointer;text-decoration:none;font-weight:600;padding:.85rem 1.35rem;border-radius:999px;transition:transform .25s var(--ease),background .2s,box-shadow .25s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}.btn--saf{background:var(--saf);color:var(--ink);box-shadow:0 8px 22px -8px rgba(242,160,30,.7)}.btn--saf:hover{background:var(--saf2)}
.btn--ink{background:var(--ink);color:var(--cream)}.btn--ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn svg{width:1.15em;height:1.15em}
/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,box-shadow .3s,padding .3s;padding:1rem 0;color:var(--cream)}
.hdr.is-solid{background:rgba(16,21,31,.94);backdrop-filter:blur(10px);padding:.55rem 0;box-shadow:0 8px 30px -14px #000}
.hdr .wrap{display:flex;align-items:center;gap:1.2rem;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}.brand img{width:44px;height:44px;transition:width .3s,height .3s}.hdr.is-solid .brand img{width:38px;height:38px}
.brand b{font-family:'Fraunces',serif;font-size:1.35rem;line-height:1;display:block;letter-spacing:-.02em}.brand small{display:block;font-size:.66rem;letter-spacing:.28em;color:var(--saf);font-weight:600;margin-top:3px}
.nav{display:flex;gap:1.5rem;align-items:center}.nav a{text-decoration:none;font-weight:500;opacity:.9;position:relative}.nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--saf);transition:width .3s var(--ease)}.nav a:not(.btn):hover::after{width:100%}
.menu-btn{display:none;background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff;width:46px;height:46px;border-radius:12px;cursor:pointer}
.menu-btn span{display:block;width:20px;height:2px;background:currentColor;margin:5px auto;transition:transform .3s,opacity .3s}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:center;color:var(--cream);background:var(--ink);overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:-6% 0 0;z-index:-2;background:radial-gradient(60% 55% at 78% 30%,rgba(242,120,30,.55),transparent 70%),radial-gradient(45% 45% at 15% 85%,rgba(15,95,102,.55),transparent 70%),#10151f;will-change:transform}
.hero::after{display:none}
.hero__in{padding:7.5rem 0 2.5rem;display:grid;grid-template-columns:1.2fr .8fr;gap:2.2rem clamp(1.5rem,4vw,4rem);align-items:center}.hero__tx{display:grid;gap:1.6rem;grid-column:1;grid-row:1}.search{grid-column:1/-1}
.hero__ph{grid-column:2;grid-row:1;margin:0;justify-self:end;width:min(100%,380px);position:relative;transform:rotate(2.2deg)}.hero__ph img{width:100%;aspect-ratio:4/5;max-height:58vh;object-fit:cover;object-position:35% 82%;border-radius:26px;box-shadow:0 40px 80px -30px #000,0 0 0 8px rgba(255,253,248,.08)}.hero__ph figcaption{position:absolute;left:-14px;bottom:22px;background:var(--saf);color:var(--ink);font-weight:600;font-size:.85rem;padding:.4rem .9rem;border-radius:999px}
.eyebrow{display:inline-flex;gap:.6rem;align-items:center;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--saf)}.eyebrow::before{content:"";width:34px;height:2px;background:currentColor}
.hero h1{font-size:var(--fs-4);max-width:12ch}.hero h1 em{font-style:italic;color:var(--saf);font-weight:500}
.hero p.lead{max-width:48ch;font-size:var(--fs-1);opacity:.92}
.hero__cta{display:flex;gap:.8rem;flex-wrap:wrap}
.search{background:rgba(255,253,248,.97);color:var(--ink);border-radius:22px;padding:1rem;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:.8rem;align-items:end;box-shadow:0 30px 60px -25px #000;max-width:1000px}
.fld{display:grid;gap:.25rem}.fld label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--mute)}
.fld input,.fld select,.fld textarea{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:.7rem .8rem;min-height:48px}.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px rgba(15,95,102,.18)}
.fld .err{color:#b3261e;font-size:.8rem;min-height:1em}.fld.bad input,.fld.bad select{border-color:#b3261e}
/* sections */
section{padding:clamp(4rem,8vw,7.5rem) 0}.sec-h{display:grid;gap:.9rem;margin-bottom:clamp(2rem,4vw,3.4rem);max-width:760px}.sec-h h2{font-size:var(--fs-3)}.sec-h p{color:var(--mute);font-size:var(--fs-1)}
.dark{background:var(--ink);color:var(--cream)}.dark .sec-h p{color:rgba(251,245,233,.7)}.cream{background:var(--cream)}
.marq{background:var(--saf);color:var(--ink);overflow:hidden;padding:.9rem 0;font-family:'Fraunces',serif;font-size:1.25rem;font-weight:500}
.marq__t{display:flex;gap:2.2rem;width:max-content;animation:mq 38s linear infinite}.marq span::after{content:"\2726";margin-left:2.2rem;opacity:.55}
@keyframes mq{to{transform:translateX(-50%)}}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.6rem}.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:.5rem 1rem;cursor:pointer;font-weight:500;transition:.2s}.chip[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.card{position:relative;border-radius:var(--r);overflow:hidden;min-height:300px;grid-column:span 4;color:#fff;background:var(--ink);text-align:left;border:0;padding:0;cursor:pointer;isolation:isolate;display:block;width:100%}
.card:nth-child(5n+1){grid-column:span 7;min-height:380px}.card:nth-child(5n+2){grid-column:span 5;min-height:380px}.card:last-child:nth-child(5n+1){grid-column:1/-1}.grid.flt .card{grid-column:span 4!important;min-height:300px}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(10,12,18,.88))}
.card:hover img{transform:scale(1.06)}
.card__b{position:absolute;inset:auto 0 0;padding:1.2rem 1.3rem}.card h3{font-size:var(--fs-2)}.card small{display:block;opacity:.8;letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;margin-bottom:.3rem;color:var(--saf2)}.card p{opacity:.88;font-size:.95rem;margin-top:.35rem;max-width:34ch}
.card .go{position:absolute;top:1rem;right:1rem;background:rgba(255,253,248,.95);color:var(--ink);border-radius:999px;padding:.35rem .8rem;font-size:.8rem;font-weight:600;transform:translateY(-6px);opacity:0;transition:.3s}.card:hover .go,.card:focus-visible .go{opacity:1;transform:none}
.card.hide{display:none}
.more{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:.5rem}.more span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem .85rem;font-size:.92rem}
.more h3{width:100%;font-size:var(--fs-1);margin-bottom:.3rem}
/* vehicle */
.veh{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.veh__ph{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.veh__ph img{border-radius:var(--r);width:100%;height:100%;object-fit:cover;aspect-ratio:9/16}.veh__ph img:nth-child(2){margin-top:2.5rem}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.6rem 0;list-style:none;padding:0}.feat li{display:flex;gap:.6rem;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.8rem .9rem}.feat svg{flex:none;width:22px;height:22px;color:var(--saf);margin-top:2px}
.rates{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.rate{background:var(--saf);color:var(--ink);border-radius:var(--r);padding:1.1rem 1.2rem}.rate b{font-family:'Fraunces',serif;font-size:var(--fs-3);display:block;line-height:1}.rate span{font-weight:600}.rate:nth-child(2){background:var(--cream)}
.note{font-size:.9rem;opacity:.75;margin-top:.8rem}
/* routes */
.acc{display:grid;gap:.8rem}.acc details{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0 1.3rem}.acc summary{cursor:pointer;list-style:none;padding:1.15rem 0;display:flex;justify-content:space-between;gap:1rem;font-family:'Fraunces',serif;font-size:var(--fs-1);font-weight:600}
.acc summary::-webkit-details-marker{display:none}.acc summary::after{content:"+";font-size:1.6rem;line-height:1;color:var(--saf);transition:transform .3s}.acc details[open] summary::after{transform:rotate(45deg)}.acc .in{padding:0 0 1.2rem;color:var(--mute)}.acc .in ol{padding-left:1.2rem;display:grid;gap:.35rem}
.acc .in .btn{margin-top:1rem}
.who{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem}.who div{border-top:2px solid var(--saf);padding-top:.9rem}.who h3{font-size:var(--fs-1);margin-bottom:.3rem}.who p{font-size:.95rem;color:var(--mute)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:s}.step{counter-increment:s;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:1.4rem}.step::before{content:"0" counter(s);font-family:'Fraunces',serif;font-size:2.6rem;color:var(--saf);display:block;line-height:1}.step h3{font-size:var(--fs-1);margin:.6rem 0 .3rem}.step p{opacity:.78;font-size:.95rem}
.band{background:linear-gradient(120deg,var(--teal),#0b3f45);color:var(--cream);border-radius:28px;padding:clamp(1.6rem,4vw,3.2rem);display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;justify-content:space-between}.band h2{font-size:var(--fs-3);max-width:16ch}
.owner{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:center;max-width:760px}.owner img{width:92px;height:92px}
/* enquiry */
.enq{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,4rem);align-items:start}
form.f{background:#fff;border-radius:24px;padding:clamp(1.2rem,3vw,2rem);display:grid;grid-template-columns:1fr 1fr;gap:1rem;color:var(--ink);box-shadow:0 30px 70px -40px #000}.f .full{grid-column:1/-1}
.ok{display:none;background:#e9f6ec;border:1px solid #9ad0a6;border-radius:var(--r);padding:1.2rem;color:#14501f}.ok.show{display:block}
.contact-list{list-style:none;padding:0;display:grid;gap:.8rem;margin-top:1.4rem}.contact-list a{text-decoration:none;font-weight:600;font-size:var(--fs-1)}
footer{background:#0a0e16;color:rgba(251,245,233,.75);padding:3rem 0 6rem;font-size:.92rem}footer .row{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between}footer a{color:var(--saf2)}
.credits summary{cursor:pointer;margin-top:1.4rem}.credits ul{columns:2;margin:.6rem 0 0 1.1rem;font-size:.82rem}
.bar{display:none}
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
@media (max-width:980px){
.hero__in{grid-template-columns:1fr}.hero__ph{grid-column:1;grid-row:auto;justify-self:start;width:min(70%,300px);order:2}.hero__tx{order:1}.search{order:3}
.nav{position:fixed;inset:0 0 auto 0;top:0;height:100svh;padding:5.5rem 1.4rem 2rem;background:var(--ink);flex-direction:column;align-items:flex-start;gap:1.1rem;font-size:1.3rem;transform:translateY(-100%);transition:transform .45s var(--ease);z-index:-1}.nav.open{transform:none}.menu-btn{display:block}
.search{grid-template-columns:1fr 1fr}.search .btn{grid-column:1/-1;justify-content:center}
.card,.card:nth-child(n){grid-column:span 6!important;min-height:300px}
.veh,.enq{grid-template-columns:1fr}.who{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}
.bar{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(16,21,31,.96);backdrop-filter:blur(8px)}.bar .btn{justify-content:center;padding:.8rem}
}
@media (max-width:560px){.card,.card:nth-child(n){grid-column:1/-1!important;min-height:260px}.feat,.rates,form.f,.who,.steps{grid-template-columns:1fr}.search{grid-template-columns:1fr}.credits ul{columns:1}.hero__in{padding-top:7rem}.veh__ph img:nth-child(2){margin-top:1.2rem}.owner{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}

.fleet{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem;margin-top:1.1rem}.fl{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:.8rem .9rem}.fl b{display:block;font-family:Fraunces,serif;font-size:1.25rem;color:var(--saf)}.fl span{font-size:.85rem;opacity:.75}.rate small{font-weight:500;opacity:.7}
