:root{
    --navy:#000;
    --ink:#152f3b;
    --muted:#59707a;
    --lime:#f2d634;
    --line:#dbe3e6;
    --pale:#f3f6f7;
}
/*:root{
    --navy:#102c38;
    --ink:#152f3b;
    --muted:#59707a;
    --lime:#c9ef76;
    --line:#dbe3e6;
    --pale:#f3f6f7
}*/
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth;
    scroll-padding-top:30px
}
body{
    margin:0;
    background:#fff;
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    line-height:1.6
}
a{
    color:inherit;
    text-decoration:none
}
button,input,select,textarea{
    font:inherit
}
button,a,input,select,textarea,summary{
    -webkit-tap-highlight-color:transparent
}
button{
    cursor:pointer
}
a:focus-visible,button:focus-visible,summary:focus-visible{
    outline:3px solid #6f9e25;
    outline-offset:5px
}
header{
    max-width:1360px;
    margin:auto;
    min-height:112px;
    padding:24px 48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px
}
.brand{
    display:flex;
    align-items:center;
    gap:14px;
    font-size:18px;
    font-weight:800;
    letter-spacing:2px;
    line-height:1.2
}
.brand small{
    display:block;
    font-size:10px;
    letter-spacing:2.5px;
    margin-top:6px
}
.brand-mark{
    border-right:1px solid #bccbd0;
    padding-right:16px;
    font-size:26px;
    letter-spacing:-2px
}
.brand-mark span{
    display:block;
    text-align:right;
    font-size:23px;
    line-height:.6;
    color:#f2d634
}
nav{
    display:flex;
    gap:32px;
    font-size:14px;
    font-weight:600
}
nav a:hover{
    color:#f2d634
}
.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    background:var(--lime);
    color:var(--navy);
    padding:16px 27px;
    border-radius:4px;
    font-weight:700;
    line-height:1.4
}
.button:hover{
    background:#dfc325
}
.button.small{
    font-size:14px;
    padding:13px 20px
}
.hero{
    max-width:1440px;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    background:var(--navy);
    color:#fff;
    min-height:555px
}
.hero-copy{
    padding:70px max(48px,calc((100vw - 1264px)/2));
    padding-right:45px
}
.eyebrow{
    font-size:12px;
    letter-spacing:2px;
    font-weight:700;
    margin:0 0 22px
}
.hero .eyebrow{
    color:var(--lime)
}
h1{
    font-size:clamp(42px,4.4vw,64px);
    font-weight:500;
    line-height:1.08;
    letter-spacing:-2.6px;
    margin:0 0 26px
}
.intro{
    max-width:450px;
    color:#d4e0e5;
    font-size:18px;
    line-height:1.7;
    margin-bottom:30px
}
.hero-note{
    font-size:13px;
    color:#c4d1d7;
    margin:22px 0 0
}
.hero-photo{
    background:#426571 url('images/plane.png') center/cover;
    position:relative;
    min-height:390px
}
.photo-caption{
    position:absolute;
    inset:auto 0 0;
    padding:75px 35px 28px;
    background:linear-gradient(transparent,rgba(9,28,36,.8));
    display:flex;
    flex-direction:column;
    font-size:14px
}
.photo-caption span:first-child{
    font-size:23px;
    font-weight:600
}
.coverage-strip{
    max-width:1264px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:27px 0;
    border-bottom:1px solid var(--line);
    gap:20px
}
.coverage-strip>span{
    font-size:11px;
    font-weight:700;
    letter-spacing:1.8px
}
.coverage-strip p{
    margin:0;
    font-size:16px;
    font-weight:600
}
.coverage-strip i{
    font-style:normal;
    color:#a5b6bf;
    margin:0 17px
}
.section{
    max-width:1264px;
    margin:auto;
    padding:78px 0
}
.section-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:50px;
    margin-bottom:37px
}
.section-heading>p{
    max-width:350px;
    color:var(--muted);
    margin:0 0 5px
}
h2{
    font-size:40px;
    font-weight:500;
    letter-spacing:-1.3px;
    line-height:1.2;
    margin:0
}
h3{
    font-size:19px;
    line-height:1.4;
    margin:0
}
.airport-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px
}
.airport{
    border:1px solid var(--line);
    padding:26px 23px 23px;
    text-align:left;
    background:#fff;
    border-radius:4px;
    color:var(--ink);
    transition:background .2s,border-color .2s
}
.airport:hover{
    border-color:#f2d634;
    background:#fff6c4
}
.airport-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:30px;
    font-size:10px;
    letter-spacing:1px;
    font-weight:700;
    color:var(--muted)
}
.code{
    font-size:19px;
    letter-spacing:1px;
    color:#8ca0aa;
    font-weight:400
}
.airport h3{
    font-size:26px;
    font-weight:500;
    letter-spacing:-.5px
}
.airport p{
    font-size:14px;
    min-height:44px;
    color:var(--muted);
    margin:8px 0 25px
}
.airport-link{
    font-size:13px;
    font-weight:700;
    border-bottom:1px solid #f2d634;
    padding-bottom:5px
}
.additional{
    margin:24px 0 0;
    color:var(--muted);
    font-size:14px
}
.journey{
    border-top:1px solid var(--line);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:100px
}
.journey>div>p:last-child{
    max-width:380px;
    color:var(--muted)
}
.steps article{
    display:flex;
    gap:24px;
    padding:20px 0;
    border-bottom:1px solid var(--line)
}
.steps article:first-child{
    padding-top:0
}
.steps article>span{
    font-size:14px;
    color:#000;
    padding-top:4px
}
.steps p{
    font-size:15px;
    color:var(--muted);
    margin:6px 0 0
}
.enquiry-section{
    max-width:none;
    padding:70px max(48px,calc((100vw - 1264px)/2));
    background:var(--pale);
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:100px
}
.enquiry-copy h2{
    font-size:48px
}
.enquiry-copy>p{
    max-width:320px;
    color:var(--muted)
}
.pickup-area{
    margin-top:60px;
    max-width:320px
}
.pickup-area h3{
    font-size:16px
}
.pickup-area p{
    color:var(--muted);
    font-size:14px
}
form{
    background:#fff;
    padding:30px;
    border:1px solid var(--line);
    border-radius:6px
}
.form-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:23px
}
.form-top span{
    font-size:12px;
    color:var(--muted)
}
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}
label{
    font-size:13px;
    font-weight:600;
    display:block
}
.full{
    grid-column:1/-1
}
input,select,textarea{
    display:block;
    width:100%;
    border:1px solid #cad6dc;
    border-radius:3px;
    background:#fff;
    color:var(--ink);
    padding:12px;
    margin-top:7px;
    font-size:15px;
    min-width:0
}
input:focus,select:focus,textarea:focus{
    outline:2px solid #96ba5e;
    outline-offset:1px
}
.optional{
    font-weight:400;
    color:var(--muted)
}
.check{
    display:flex;
    align-items:center;
    gap:10px
}
.check input{
    width:17px;
    height:17px;
    margin:0;
    accent-color:var(--navy)
}
form .button{
    width:100%;
    margin-top:23px
}
.form-note{
    font-size:12px;
    color:var(--muted);
    text-align:center;
    margin-bottom:0
}
#result{
    border-top:1px solid var(--line);
    margin-top:25px;
    padding-top:20px
}
#result p{
    font-size:14px;
    color:var(--muted)
}
pre{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    font:14px/1.7 Arial
}
.copy{
    background:var(--navy);
    border:0;
    border-radius:3px;
    color:white;
    padding:10px 16px
}
.faq{
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:70px
}
.faq h2{
    font-size:34px
}
details{
    border-bottom:1px solid var(--line);
    padding:19px 0
}
details:first-child{
    padding-top:0
}
summary{
    cursor:pointer;
    font-size:16px;
    font-weight:600;
    list-style:none;
    display:flex;
    justify-content:space-between;
    gap:20px
}
summary::after{
    content:'+';
    font-size:22px;
    font-weight:400
}
details[open] summary::after{
    content:'−'
}
details p{
    color:var(--muted);
    font-size:15px;
    margin-bottom:0
}
footer{
    background:var(--navy);
    color:white;
    padding:35px max(48px,calc((100vw - 1264px)/2));
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px
}
footer p{
    font-size:13px;
    color:#c1ced4
}
footer>a:last-child{
    font-size:14px;
    border-bottom:1px solid #f2d634
}
footer .brand{
    font-size:15px
}
footer .brand-mark{
    color:var(--lime)
}
[hidden]{
    display:none!important
}
@media(min-width:1441px){
    .hero-copy{
        padding-left:88px
    }
}
@media(max-width:1359px){
    .section,.coverage-strip{
        margin-left:48px;
        margin-right:48px
    }
    .enquiry-section{
        margin:0
    }
}
@media(max-width:1000px){
    header{
        padding:22px 28px
    }
    nav{
        gap:18px
    }
    .hero-copy{
        padding:55px 30px
    }
    .section,.coverage-strip{
        margin-left:30px;
        margin-right:30px
    }
    .enquiry-section{
        margin:0;
        padding:55px 30px;
        gap:40px
    }
    .airport-grid{
        grid-template-columns:repeat(2,1fr)
    }
    .airport p{
        min-height:0
    }
    .journey{
        gap:50px
    }
    .coverage-strip>span{
        display:none
    }
    footer{
        padding:35px 30px
    }
    footer p{
        display:none
    }
}
@media(max-width:700px){
    header{
        padding:22px 20px;
        min-height:88px
    }
    .brand{
        font-size:15px;
        gap:10px
    }
    .brand small{
        font-size:8px
    }
    header .brand-mark{
        font-size:23px
    }
    nav{
        display:none
    }
    header .button{
        font-size:12px;
        padding:11px 12px
    }
    .hero{
        grid-template-columns:1fr
    }
    .hero-copy{
        padding:43px 24px
    }
    h1{
        font-size:47px;
        letter-spacing:-2px
    }
    .hero-photo{
        min-height:290px
    }
    .intro{
        font-size:16px
    }
    .coverage-strip{
        margin:0 24px;
        padding:22px 0
    }
    .coverage-strip p{
        font-size:13px
    }
    .coverage-strip i{
        margin:0 7px
    }
    .section{
        margin:0;
        padding:48px 24px
    }
    .section-heading{
        display:block
    }
    .section-heading>p{
        margin-top:20px
    }
    h2{
        font-size:33px
    }
    .airport-grid{
        gap:12px
    }
    .airport{
        padding:20px 16px
    }
    .airport-top{
        font-size:9px;
        margin-bottom:22px
    }
    .code{
        font-size:16px
    }
    .airport h3{
        font-size:23px
    }
    .airport p{
        min-height:44px;
        font-size:13px
    }
    .airport-link{
        font-size:12px
    }
    .journey,.enquiry-section,.faq{
        grid-template-columns:1fr;
        gap:30px
    }
    .enquiry-copy h2{
        font-size:38px
    }
    .pickup-area{
        margin-top:28px;
        max-width:none
    }
    form{
        padding:23px 18px
    }
    .form-top span{
        font-size:11px
    }
    .form-grid{
        gap:16px 12px
    }
    label{
        font-size:12px
    }
    input,select,textarea{
        font-size:16px
    }
    footer{
        padding:28px 24px;
        align-items:flex-start
    }
    footer>a:last-child{
        font-size:12px
    }
    .faq h2{
        font-size:32px
    }
}
@media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto
    }
    *{
        transition:none!important
    }
}
 