:root{--navy:#0f2a43;--navy2:#173b5c;--teal:#0e8c8c;--gold:#f4a300;--mist:#eef3f6;--ink:#13202b;--mute:#52636f;--line:#d6e0e6;--white:#fff;--r:10px;--f-head:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--f-body:"Figtree","Segoe UI",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 1.0625rem/1.65 var(--f-body);color:var(--ink);background:var(--white)}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal)}a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
h1,h2,h3{font-family:var(--f-head);line-height:1.15;color:var(--navy);margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:800}h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800}h3{font-size:1.2rem;font-weight:600}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}.narrow{max-width:800px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--navy);padding:.6rem 1rem;z-index:99}.skip:focus{left:0}
.btn{display:inline-block;padding:.8rem 1.4rem;border-radius:var(--r);font:600 1rem var(--f-body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s}
.btn-gold{background:var(--gold);color:var(--navy)}.btn-gold:hover{background:#ffb920;color:var(--navy)}
.btn-line{border-color:rgba(255,255,255,.6);color:#fff}.btn-line:hover{background:#fff;color:var(--navy)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy2);color:#fff}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.topbar{background:var(--navy);color:#dbe6ee;font-size:.85rem}.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none;margin-left:1rem}
.bar{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0;gap:1rem}
.brand img,.custom-logo{max-height:46px;width:auto}
.nav{display:flex;align-items:center;gap:1.2rem}
.menu{list-style:none;margin:0;padding:0;display:flex;gap:1.3rem}
.menu a{color:var(--navy);text-decoration:none;font-weight:600;padding:.4rem 0;border-bottom:2px solid transparent}
.menu a:hover,.menu .current-menu-item>a{border-color:var(--gold)}
.menu li{position:relative}.menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);list-style:none;margin:0;padding:.5rem 1rem;min-width:200px}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:44px;height:44px;cursor:pointer}
.nav-toggle i,.nav-toggle i::before,.nav-toggle i::after{display:block;width:20px;height:2px;background:var(--navy);margin:auto;position:relative}
.nav-toggle i::before,.nav-toggle i::after{content:"";position:absolute;left:0}.nav-toggle i::before{top:-6px}.nav-toggle i::after{top:6px}
/* hero: navy sky with boarding-pass enquiry card */
.hero{background:linear-gradient(115deg,rgba(15,42,67,.96) 40%,rgba(14,140,140,.85)),var(--hero,none) center/cover,var(--navy);color:#fff;padding:clamp(2.5rem,7vw,5.5rem) 0}
.hero h1{color:#fff}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.lead{font-size:1.2rem;color:#dbe9f1;max-width:34em}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0}
.proof{list-style:none;display:flex;gap:2rem;padding:0;margin:2rem 0 0;flex-wrap:wrap;color:#c4d6e2;font-size:.95rem}.proof strong{display:block;font:800 1.6rem var(--f-head);color:var(--gold)}
.pass{position:relative;background:#fff;color:var(--ink);border-radius:16px;padding:1.4rem 1.4rem 1.6rem;box-shadow:0 20px 50px rgba(0,0,0,.3);border-left:10px solid var(--gold)}
.pass::before,.pass::after{content:"";position:absolute;right:-12px;width:24px;height:24px;border-radius:50%;background:var(--navy)}
.pass::before{top:62px}.pass::after{bottom:84px}
.pass-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px dashed var(--line);padding-bottom:.8rem;margin-bottom:1rem;gap:.5rem;flex-wrap:wrap}
.pass-head strong{font:800 1.25rem var(--f-head);color:var(--navy)}.pass-head span{font-size:.85rem;color:var(--mute)}
.pass label{display:block;font-size:.85rem;font-weight:600;color:var(--navy);margin-bottom:.7rem}
.pass input,.pass select,.searchform input{width:100%;margin-top:.25rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:8px;font:400 1rem var(--f-body);background:#fff;color:var(--ink)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.hp{position:absolute;left:-9999px}
.pass-tear{border-top:2px dashed var(--line);margin:.6rem 0 1rem}.pass .btn{width:100%}
.notice{padding:.7rem .9rem;border-radius:8px;font-size:.92rem;margin:0 0 1rem}.ok{background:#e3f6ef;color:#0a5c42}.bad{background:#fde8e6;color:#8a1d12}
/* sections */
.sec{padding:clamp(3rem,7vw,5rem) 0}.sec-tint{background:var(--mist)}.sec-lead{color:var(--mute);max-width:38em;margin-bottom:2rem}
.grid{display:grid;gap:1.2rem}.services{grid-template-columns:repeat(4,1fr)}.tiles{grid-template-columns:repeat(4,1fr);margin-top:1.5rem}.cards{grid-template-columns:repeat(3,1fr);margin-top:1.5rem}
.svc{display:block;padding:1.4rem;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);background:#fff}
.svc svg{color:var(--teal)}.svc:hover{border-color:var(--teal)}.svc p{margin:0;color:var(--mute);font-size:.95rem}
.tile{display:flex;align-items:flex-end;min-height:150px;padding:1rem;border-radius:var(--r);background:linear-gradient(160deg,var(--navy2),var(--teal));color:#fff;text-decoration:none;background-size:cover;background-position:center;position:relative;overflow:hidden}
.tile.has-img::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,42,67,.85),transparent 60%)}
.tile span{position:relative;font:800 1.2rem var(--f-head)}.tile:hover{filter:brightness(1.08);color:#fff}
.region-links{margin-top:1.5rem;color:var(--mute)}.region-links a{margin-left:.9rem;font-weight:600}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.ticks{list-style:none;padding:0}.ticks li{padding-left:1.8rem;margin:.6rem 0;position:relative}.ticks li::before{content:"";position:absolute;left:0;top:.5em;width:.9rem;height:.5rem;border-left:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(-45deg)}
.steps{list-style:none;counter-reset:s;padding:0;margin:0;border-left:3px dashed var(--line)}
.steps li{counter-increment:s;position:relative;padding:0 0 1.6rem 2.2rem}.steps li::before{content:counter(s);position:absolute;left:-16px;top:0;width:29px;height:29px;border-radius:50%;background:var(--gold);color:var(--navy);font:800 .9rem var(--f-head);display:grid;place-items:center}
.steps strong{display:block;color:var(--navy)}.steps span{color:var(--mute)}
.faq{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin:.7rem 0;padding:0 1.2rem}.faq summary{cursor:pointer;font-weight:600;padding:1rem 0;color:var(--navy)}.faq p{margin:0 0 1rem;color:var(--mute)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.card-img img,.card .ph{width:100%;aspect-ratio:3/2;object-fit:cover;background:linear-gradient(160deg,var(--navy2),var(--teal));display:block}
.card-body{padding:1.1rem}.card time{font-size:.85rem;color:var(--mute)}.card h3 a{color:var(--navy);text-decoration:none}.card p{margin:0;color:var(--mute);font-size:.95rem}
.cta{background:var(--navy);color:#fff;text-align:center;padding:4rem 0}.cta h2{color:#fff}.cta p{color:#c4d6e2}
/* inner pages */
.page-head{padding:2rem 0 1rem}.page-head h1{font-size:clamp(1.9rem,4vw,2.8rem)}.meta,.lead-dark{color:var(--mute)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0 0 .8rem;font-size:.9rem;color:var(--mute)}.crumbs li+li::before{content:"/";margin-right:.4rem}
.sec-body{padding-bottom:4rem}.entry{max-width:760px}.entry-hero{border-radius:var(--r);margin-bottom:1.5rem;width:100%}
.entry-content h2{margin-top:2rem}.entry-content h3{margin-top:1.5rem}.entry-content img{border-radius:8px}
.entry-content table{border-collapse:collapse;width:100%}.entry-content td,.entry-content th{border:1px solid var(--line);padding:.6rem}
.inline-cta{background:var(--mist);border-left:6px solid var(--gold);border-radius:var(--r);padding:1.2rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:2rem 0}
.searchform{display:flex;gap:.6rem;max-width:520px;margin-top:1rem}.pagination{margin-top:2rem}.pagination .page-numbers{padding:.4rem .8rem;border:1px solid var(--line);border-radius:6px;text-decoration:none;margin-right:.3rem}.pagination .current{background:var(--navy);color:#fff}
/* footer */
.site-footer{background:#0a1f33;color:#b9cbd8;padding-top:3.5rem;font-size:.97rem}.site-footer a{color:#dbe9f1;text-decoration:none}.site-footer a:hover{color:var(--gold)}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:2rem}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.45rem 0}.fw-title{color:#fff;font-size:1.05rem}
.foot-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid #1d3a55;margin-top:2.5rem;padding:1.2rem 0;font-size:.88rem}.social a{margin-left:1rem}
.wa{position:fixed;right:1rem;bottom:1rem;background:#1faa59;color:#fff;padding:.7rem 1.1rem;border-radius:999px;font-weight:600;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:40}.wa:hover{color:#fff;background:#178a48}
/* responsive */
@media(max-width:980px){.hero-grid,.split{grid-template-columns:1fr}.services,.tiles{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.nav-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:1rem 1.25rem;gap:.8rem}.nav.open{display:flex}.menu{flex-direction:column;gap:.2rem}.menu .sub-menu{position:static;display:block;border:0;padding:0 0 0 1rem}}
@media(max-width:560px){.services,.tiles,.cards,.foot-grid,.row2{grid-template-columns:1fr}.pass::before,.pass::after{display:none}.tiles{grid-template-columns:1fr 1fr}.topbar span:first-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
