/* Shared homepage section styles, used by about-us.php and faq.php (copied from index.php). */
/* =======================================================
   ROOT TOKENS
   ======================================================= */
:root {
    --navy:      #002B4A;
    --navy-mid:  #004772;
    --navy-soft: #1A5F8A;
    --sky:       #19A9E5;
    --sky-pale:  #E8F6FD;
    --gold:      #F6A006;
    --gold-warm: #FDB833;
    --gold-pale: #FFF8EC;
    --gold-tint: #FEF3D0;
    --white:     #FFFFFF;
    --cream:     #FAFAF8;
    --stone:     #F2F4F6;
    --border:    rgba(0,71,114,0.10);
    --text-dark: #0D1B2A;
    --text-body: #3D4F61;
    --text-muted:#7A8FA0;

    --ff-display:'Playfair Display', Georgia, serif;
    --ff-body:   'Outfit', system-ui, sans-serif;
    --ff-01:     'Outfit', system-ui, sans-serif;

    --r-sm:  8px;
    --r-md:  14px;
    --r-lg:  22px;
    --r-xl:  32px;
    --r-full:999px;

    --sh-card: 0 2px 20px rgba(0,43,74,0.07);
    --sh-lift: 0 12px 48px rgba(0,43,74,0.14);
    --sh-deep: 0 24px 72px rgba(0,43,74,0.20);

    --ease: cubic-bezier(0.4,0,0.2,1);
    --dur:  0.28s;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:var(--ff-body);
    color:var(--text-body);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
    line-height:1.65;
    font-size:15px;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
ul{list-style:none}

.w{max-width:1180px;margin:0 auto;padding:0 40px}
.fcc{display:flex;align-items:center;justify-content:center}
.fsb{display:flex;align-items:center;justify-content:space-between}

/* Image placeholder — swap .img-ph > img src when photos are ready */
.img-ph{
    background:linear-gradient(135deg,#C8DEF4 0%,#A8C8E8 100%);
    position:relative;
    overflow:hidden;
}
.img-ph::after{
    font-family:var(--ff-body);
    font-size:10px;
    font-weight:500;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:rgba(0,71,114,0.25);
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
}
.img-ph img{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
    position:relative;
    z-index:1;
}
/* When a real img is present, hide the placeholder text */
.img-ph img ~ *{display:none}

/* =======================================================
   GLOBAL COMPONENTS
   ======================================================= */
.btn-gold{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 32px;
    background:var(--gold);
    color:var(--white);
    font-family:var(--ff-body);font-size:14px;font-weight:600;
    letter-spacing:0.8px;text-transform:uppercase;
    border-radius:var(--r-full);border:none;cursor:pointer;
    transition:background var(--dur) var(--ease),
               transform  var(--dur) var(--ease),
               box-shadow var(--dur) var(--ease);
    box-shadow:0 6px 22px rgba(246,160,6,0.32);
}
.btn-gold:hover{background:#e89400;transform:translateY(-2px);box-shadow:0 10px 32px rgba(246,160,6,0.42)}
.btn-gold:active{transform:translateY(0)}
.btn-gold img{width:17px;filter:brightness(0) invert(1)}

.btn-ghost{
    display:inline-flex;align-items:center;gap:10px;
    padding:13px 30px;
    background:transparent;
    color:var(--white);
    font-family:var(--ff-body);font-size:14px;font-weight:500;
    border-radius:var(--r-full);
    border:1.5px solid rgba(255,255,255,0.4);
    transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.btn-ghost:hover{border-color:rgba(255,255,255,0.85);background:rgba(255,255,255,0.08)}

.btn-navy{
    display:inline-flex;align-items:center;gap:10px;
    padding:13px 28px;
    background:var(--navy-mid);
    color:var(--white);
    font-family:var(--ff-body);font-size:13px;font-weight:600;
    letter-spacing:0.8px;text-transform:uppercase;
    border-radius:var(--r-full);border:none;cursor:pointer;
    transition:background var(--dur) var(--ease),
               transform  var(--dur) var(--ease),
               box-shadow var(--dur) var(--ease);
    box-shadow:0 6px 20px rgba(0,71,114,0.18);
    white-space:nowrap;
}
.btn-navy:hover{background:var(--navy);transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,71,114,0.28)}

.s-tag{
    display:inline-flex;align-items:center;gap:8px;
    font-size:11px;font-weight:600;letter-spacing:2.5px;
    text-transform:uppercase;color:var(--sky);
    margin-bottom:14px;
}
.s-tag::before{content:"";width:24px;height:2px;background:var(--sky);border-radius:2px;flex-shrink:0}
.s-tag--gold{color:var(--gold)}.s-tag--gold::before{background:var(--gold)}
.s-tag--white{color:rgba(255,255,255,0.65)}.s-tag--white::before{background:rgba(255,255,255,0.4)}
.s-tag--navy{color:var(--navy-mid)}.s-tag--navy::before{background:var(--navy-mid)}

.d-head{
    font-family:var(--ff-display);
    font-size:clamp(30px,3.8vw,50px);
    font-weight:600;line-height:1.1;letter-spacing:-0.4px;
    color:var(--text-dark);
}
.d-head--white{color:var(--white)}
.d-head--navy {color:var(--navy-mid)}

/* =======================================================
   SECTION 02 — FEATURES + PRICING + ABOUT
   ======================================================= */
#zse2{padding:100px 0;background:var(--white)}

/* Intro two-col */
.sec2-intro{
    display:grid;grid-template-columns:1fr 1fr;
    gap:60px;align-items:end;margin-bottom:72px;
}
.sec2-intro-left{}
.sec2-intro-left .d-head{margin-top:12px;margin-bottom:0}
.sec2-intro-right{}
.sec2-intro-desc{
    font-size:16px;color:var(--text-body);line-height:1.78;
    margin-bottom:28px;
}

/* 4×2 feature grid (8 items) */
.feature-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border:1px solid var(--border);
    border-radius:var(--r-lg);
    overflow:hidden;
    margin-bottom:80px;
}
.feat-item{
    padding:26px 20px;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:var(--white);
    transition:background var(--dur) var(--ease);
}
.feat-item:hover{background:var(--sky-pale)}
.feat-item:nth-child(4n){border-right:none}
.feat-item:nth-last-child(-n+4){border-bottom:none}

.feat-icon{
    width:38px;height:38px;background:var(--navy-mid);
    border-radius:var(--r-sm);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:14px;
}
.feat-icon img{width:19px;height:19px}

.feat-title{font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:6px;line-height:1.35}
.feat-body{font-size:13px;color:var(--text-muted);line-height:1.62}

/* Pricing card */
#z2d2{
    background:var(--cream);
    border:1px solid var(--border);
    border-radius:var(--r-xl);
    padding:52px 48px;
}

.pricing-hdr{
    display:flex;align-items:flex-end;justify-content:space-between;
    gap:24px;margin-bottom:32px;
}
.pricing-hdr-left{}

#z2h21{
    font-family:var(--ff-display);
    font-size:clamp(24px,3vw,34px);
    font-weight:600;color:var(--navy-mid);
    letter-spacing:-0.3px;
}
#z2h21::after{display:none}

/* book now inside pricing */
#z2a1{
    display:inline-flex;align-items:center;gap:10px;
    padding:12px 26px;
    background:var(--navy-mid);color:var(--white);
    font-size:13px;font-weight:600;letter-spacing:0.8px;
    text-transform:uppercase;border-radius:var(--r-full);
    border:none;cursor:pointer;white-space:nowrap;flex-shrink:0;
    transition:background var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
    box-shadow:0 6px 20px rgba(0,71,114,0.18);
}
#z2a1:hover{background:var(--navy);transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,71,114,0.28)}

.z2i1{width:17px;filter:brightness(0) invert(1);display:none}
#z2a1:hover .z2i1{display:block}

/* Pricing table */
#z2t1{width:100%;border-collapse:separate;border-spacing:0}
.z2tb1{}
tr{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.z2td1{border:none;display:block}

.z2d3{
    background:var(--white);
    border:1.5px solid var(--border);
    border-radius:var(--r-md);
    padding:16px 20px;
    display:flex;align-items:center;justify-content:space-between;
    gap:14px;min-height:72px;
    transition:border-color var(--dur) var(--ease),
               box-shadow var(--dur) var(--ease),
               transform  var(--dur) var(--ease);
    -webkit-transform:translateZ(0);backface-visibility:hidden;
    -webkit-font-smoothing:antialiased;
}
.z2d3:hover{
    border-color:var(--navy-mid);
    box-shadow:var(--sh-lift);
    transform:translateY(-2px) translateZ(0);
}

.z2d4{font-size:14px;font-weight:400;color:var(--text-body);line-height:1.45;flex:1}
.z2d5{
    font-family:var(--ff-display);font-size:24px;font-weight:700;
    color:var(--navy-mid);white-space:nowrap;flex-shrink:0;
    transition:color var(--dur) var(--ease);
}
.z2d3:hover .z2d4,.z2d3:hover .z2d5{color:var(--text-dark)}
.z2s1{}

/* About block — image + text */
#z2d6{
    margin-top:80px;
    display:grid;grid-template-columns:5fr 7fr;
    gap:60px;align-items:center;
}
#z2h31{
    font-family:var(--ff-display);
    font-size:clamp(26px,3.2vw,40px);
    font-weight:600;color:var(--navy-mid);
    line-height:1.12;letter-spacing:-0.4px;
    padding:0;text-align:left;margin-bottom:20px;
}
#z2h31::after{display:none}

.about-img-col{
    border-radius:var(--r-xl);overflow:hidden;
    aspect-ratio:4/5;
    box-shadow:var(--sh-deep);
    /* INSERT IMAGE: driver assisting family with luggage at airport */
}
.about-img-col .img-ph{width:100%;height:100%}

.about-txt-col{display:flex;flex-direction:column;gap:16px}

.z2p1{
    font-size:15px;color:var(--text-body);line-height:1.8;
    width:100%;margin:0;
}

.about-stats{
    display:flex;gap:28px;
    margin-top:10px;padding-top:24px;
    border-top:1px solid var(--border);
}
.ab-stat-n{
    font-family:var(--ff-display);font-size:38px;font-weight:700;
    color:var(--navy-mid);line-height:1;
}
.ab-stat-d{font-size:12px;color:var(--text-muted);margin-top:5px}

/* =======================================================
   SECTION 03 — HOW IT WORKS
   ======================================================= */
#zse3{background:var(--white);padding:100px 0;border-top:1px solid var(--border)}

.how-layout{
    display:grid;grid-template-columns:1fr 1fr;
    gap:80px;align-items:center;
}

/* INSERT IMAGE: happy family inside cab or arrival hall with driver */
.how-img-col{
    border-radius:var(--r-xl);overflow:hidden;
    aspect-ratio:3/4;
    box-shadow:var(--sh-deep);position:relative;
}
.how-img-col .img-ph{width:100%;height:100%;background:linear-gradient(160deg,#B8D8F0 0%,#88B8D8 100%)}

.how-float{
    position:absolute;bottom:24px;left:24px;right:24px;
    background:var(--white);border-radius:var(--r-md);
    padding:14px 18px;display:flex;align-items:center;gap:14px;
    box-shadow:var(--sh-deep);z-index:2;
}
.how-float-icon{
    width:42px;height:42px;background:var(--navy-mid);
    border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.how-float-icon img{width:20px}
.how-float-title{font-size:14px;font-weight:600;color:var(--text-dark)}
.how-float-sub{font-size:12px;color:var(--text-muted);margin-top:2px}

.how-txt-col{}

.how-steps{display:flex;flex-direction:column;gap:0;margin-top:32px}
.how-step{display:flex;gap:20px;padding-bottom:32px;position:relative}
.how-step:last-child{padding-bottom:0}
.how-step:not(:last-child)::before{
    content:"";position:absolute;
    left:18px;top:38px;bottom:0;
    width:1px;background:var(--border);
}
.how-step-n{
    width:38px;height:38px;border-radius:50%;
    background:var(--navy-mid);color:var(--white);
    font-family:var(--ff-display);font-size:17px;font-weight:600;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;position:relative;z-index:1;
}
.how-step-title{
    font-family:var(--ff-display);font-size:20px;font-weight:600;
    color:var(--text-dark);margin-bottom:6px;padding-top:6px;
}
.how-step-body{font-size:14px;color:var(--text-muted);line-height:1.7}

.how-cta{display:flex;align-items:center;gap:16px;margin-top:36px;flex-wrap:wrap}
.how-note{font-size:13px;color:var(--text-muted);line-height:1.6}

/* Keep original IDs (used by JS) but hidden visually */
#z3d1{display:none!important}
.z3d2,.z3p1,.z3i100,.z3i5{display:none!important}

/* z3a1 — main CTA in How It Works */
#z3a1{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:14px 32px;
    background:linear-gradient(135deg,var(--gold),#e8940a);
    color:var(--white);
    font-size:14px;font-weight:600;letter-spacing:0.6px;text-transform:uppercase;
    border-radius:var(--r-full);border:none;cursor:pointer;
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
    box-shadow:0 6px 22px rgba(246,160,6,.32);
}
#z3a1:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(246,160,6,.42)}
.z3a101{color:var(--sky);font-weight:500;font-size:13px;transition:color var(--dur) var(--ease)}
.z3a101:hover{color:var(--navy-mid)}
.z3d4{display:none} /* replaced by .how-cta */

/* =======================================================
   SECTION 04 — FAQ  (rebuilt)
   ======================================================= */
#zse4{background:var(--stone);padding:100px 0}

.faq-layout{
    display:grid;
    grid-template-columns:2fr 3fr;
    gap:72px;
    align-items:start;
}

/* --- Left column --- */
.faq-left-head{margin-bottom:0}
.faq-left-heading{
    font-family:var(--ff-display);
    font-size:clamp(26px,3.5vw,42px);
    font-weight:600;
    color:var(--navy-mid);
    letter-spacing:-0.4px;
    line-height:1.12;
    margin-top:12px;
    margin-bottom:10px;
}
.faq-left-contact{
    font-size:14px;
    font-weight:400;
    color:var(--text-muted);
    margin-bottom:0;
}
.faq-left-contact a{
    color:var(--sky);
    font-weight:500;
    transition:color var(--dur) var(--ease);
}
.faq-left-contact a:hover{color:var(--navy-mid)}

.faq-left-desc{
    font-size:15px;
    color:var(--text-body);
    line-height:1.75;
    margin:16px 0 24px;
}

.faq-img-wrap{
    border-radius:var(--r-xl);
    overflow:hidden;
    aspect-ratio:3/4;
    box-shadow:var(--sh-deep);
}
.faq-img-wrap .img-ph{width:100%;height:100%;background:linear-gradient(160deg,#B8D4EC 0%,#8FB8D8 100%)}
.faq-img-wrap .img-ph img{opacity:0.9;width:80%;margin:auto;position:relative;z-index:1}

/* --- Right accordion column --- */
.faq-accordion{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.faq-item{
    background:var(--white);
    border:1.5px solid var(--border);
    border-radius:var(--r-sm);
    overflow:hidden;
}

.faq-question{
    width:100%;
    text-align:left;
    background:transparent;
    border:none;
    padding:15px 18px;
    font-family:var(--ff-body);
    font-size:14px;
    font-weight:500;
    color:var(--text-dark);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    line-height:1.45;
    outline:none;
    transition:background var(--dur) var(--ease),
               color var(--dur) var(--ease);
}
.faq-question:hover,
.faq-item.is-open .faq-question{
    background:var(--navy-mid);
    color:var(--white);
}
.faq-question-icon{
    width:22px;
    height:22px;
    border-radius:50%;
    border:1.5px solid currentColor;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-size:16px;
    font-weight:300;
    line-height:1;
    transition:transform var(--dur) var(--ease);
}
.faq-item.is-open .faq-question-icon{
    transform:rotate(45deg);
}

.faq-answer{
    display:none;
    padding:14px 20px 18px;
    border-top:1.5px solid var(--border);
    background:var(--white);
}
.faq-item.is-open .faq-answer{
    display:block;
}

.faq-answer-text{
    font-size:14px;
    color:var(--text-body);
    line-height:1.75;
    margin-bottom:8px;
    font-family:var(--ff-body);
}
.faq-answer-text:last-child{margin-bottom:0}

.faq-answer-contact{
    font-size:13px;
    color:var(--text-muted);
    display:block;
    margin-top:6px;
}
.faq-answer-contact a{
    color:var(--sky);
    font-weight:500;
    transition:color var(--dur) var(--ease);
}
.faq-answer-contact a:hover{
    color:var(--navy-mid);
    text-decoration:underline;
}

/* =======================================================
   RESPONSIVE
   ======================================================= */
@media(max-width:1100px){
    #z1se1{grid-template-columns:1fr}
    .hero-visual{min-height:52vh}
    .hero-visual-inner{padding:36px 32px 42px}
    .hero-booking{padding:40px 32px}
    .hero-wedge{display:none}
    .sec2-intro{grid-template-columns:1fr;gap:22px}
    .feature-grid{grid-template-columns:repeat(2,1fr)}
    .feat-item:nth-child(2n){border-right:none}
    .feat-item:nth-child(n+5){border-bottom:none}
    .feat-item:nth-child(n+3){border-bottom:1px solid var(--border)}
    .feat-item:nth-child(n+7){border-bottom:none}
    .aoe-grid{grid-template-columns:repeat(2,1fr)}
    .aoe-top{grid-template-columns:1fr;gap:20px}
    .geo-top{grid-template-columns:1fr;gap:20px}
    .geo-body{grid-template-columns:1fr}
    .geo-map-wrap{aspect-ratio:16/9}
    .how-layout{grid-template-columns:1fr;gap:48px}
    .how-img-col{aspect-ratio:16/10}
    .faq-layout{grid-template-columns:1fr;gap:40px}
    .faq-img-wrap{aspect-ratio:16/9}
    #z2d6{grid-template-columns:1fr;gap:36px}
}

@media(max-width:768px){
    .w{padding:0 22px}
    .hero-visual-inner{padding:28px 22px 32px}
    .hero-stats{gap:22px}
    #z1h11{font-size:26px}
    .hero-booking{padding:32px 22px}
    #z1d3{flex-direction:column;align-items:flex-start;gap:8px}
    .feature-grid{grid-template-columns:1fr}
    .feat-item{border-right:none;border-bottom:1px solid var(--border)}
    .feat-item:last-child{border-bottom:none}
    #z2d2{padding:28px 20px}
    .pricing-hdr{flex-direction:column;align-items:flex-start}
    tr{grid-template-columns:1fr}
    .aoe-grid{grid-template-columns:1fr}
    .trust-item{padding:8px 14px}
    .trust-item-label{font-size:11px}
}

@media(max-width:500px){
    #z1h11{font-size:22px}
    .hero-stat-num{font-size:28px}
    #z100d5{flex-direction:column}
    #z100d6,#z100bt3{width:100%}
    .w3u1{z-index:10000}
    .trust-row{gap:0}
    .trust-item{width:50%;border-bottom:1px solid rgba(255,255,255,.08)}
    .trust-item-label{white-space:normal}
}

/* --- page banner for the info pages --- */
.pg-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);color:#fff;padding:150px 0 70px;text-align:center}
.pg-hero .s-tag{margin-bottom:14px}
.pg-hero h1{font-family:var(--ff-display);font-size:clamp(30px,5vw,48px);font-weight:700;line-height:1.15;margin:0 0 14px;color:#fff}
.pg-hero p{max-width:720px;margin:0 auto;font-size:17px;line-height:1.6;color:rgba(255,255,255,.85)}
.pg-cta{background:var(--navy);color:#fff;padding:70px 0;text-align:center}
.pg-cta h2{font-family:var(--ff-display);font-size:clamp(24px,4vw,34px);margin:0 0 12px;color:#fff}
.pg-cta p{max-width:620px;margin:0 auto 26px;color:rgba(255,255,255,.85);line-height:1.6}
.pg-cta .pg-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.pg-cta .btn-ghost-w{display:inline-block;padding:14px 26px;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;text-decoration:none;font-weight:500}
:where(img[width][height]){height:auto}


/* =======================================================
   AOE SECTION — Areas of Expertise
   ======================================================= */
#zse-aoe{background:var(--navy);padding:100px 0;position:relative;overflow:hidden}
#zse-aoe::before{
    content:"";position:absolute;inset:0;
    background:
        radial-gradient(ellipse 55% 55% at 85% 20%,rgba(25,169,229,.10) 0%,transparent 60%),
        radial-gradient(ellipse 35% 50% at 5% 90%, rgba(246,160,6,.06) 0%,transparent 55%);
    pointer-events:none;
}

.aoe-inner{position:relative;z-index:1}

.aoe-top{
    display:grid;grid-template-columns:1fr 1fr;
    gap:60px;align-items:end;margin-bottom:56px;
}
.aoe-hdg{
    font-family:var(--ff-display);
    font-size:clamp(30px,3.8vw,50px);
    font-weight:600;color:var(--white);
    line-height:1.1;letter-spacing:-0.5px;margin-top:12px;
}
.aoe-top-desc{
    font-size:16px;color:rgba(255,255,255,.52);
    line-height:1.78;margin-bottom:26px;
}

.aoe-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.aoe-card{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.09);
    border-radius:var(--r-lg);overflow:hidden;
    display:flex;flex-direction:column;
    transition:transform var(--dur) var(--ease),
               border-color var(--dur) var(--ease),
               background var(--dur) var(--ease),
               box-shadow var(--dur) var(--ease);
}
.aoe-card:hover{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.18);
    transform:translateY(-5px);
    box-shadow:0 20px 50px rgba(0,0,0,.35);
}

/* INSERT IMAGE per card (16:9 slot) */
.aoe-card-img{aspect-ratio:16/9;overflow:hidden;flex-shrink:0}
.aoe-card-img .img-ph{
    width:100%;height:100%;
}

.aoe-card-body{padding:22px 20px 24px;flex:1;display:flex;flex-direction:column}

.aoe-card-eyebrow{
    font-size:10px;font-weight:600;letter-spacing:2px;
    text-transform:uppercase;color:var(--gold);margin-bottom:8px;
}
.aoe-card-title{
    font-family:var(--ff-display);font-size:20px;font-weight:600;
    color:var(--white);margin-bottom:10px;line-height:1.25;
}
.aoe-card-text{font-size:13px;color:rgba(255,255,255,.52);line-height:1.7;flex:1}

.aoe-card-foot{
    display:flex;align-items:center;justify-content:space-between;
    margin-top:20px;padding-top:16px;
    border-top:1px solid rgba(255,255,255,.08);
}
.aoe-price{
    font-family:var(--ff-display);font-size:26px;font-weight:700;
    color:var(--gold-warm);line-height:1;
}
.aoe-price-lbl{font-size:11px;color:rgba(255,255,255,.32);margin-top:3px}

.aoe-link{
    font-size:11px;font-weight:600;color:rgba(255,255,255,.35);
    letter-spacing:0.5px;text-transform:uppercase;
    display:flex;align-items:center;gap:6px;
    transition:color var(--dur) var(--ease);
}
.aoe-card:hover .aoe-link{color:var(--gold-warm)}
.aoe-link::after{content:"";display:block;width:14px;height:1px;background:currentColor}

/* =======================================================
   GEO SECTION — Where We Operate
   ======================================================= */
#zse-geo{
    background:var(--gold-pale);padding:100px 0;
    border-top:1px solid rgba(246,160,6,.12);
    border-bottom:1px solid rgba(246,160,6,.12);
}

.geo-top{
    display:grid;grid-template-columns:1fr 1fr;
    gap:60px;align-items:end;margin-bottom:52px;
}
.geo-hdg{
    font-family:var(--ff-display);
    font-size:clamp(30px,3.8vw,50px);
    font-weight:600;color:var(--navy-mid);
    line-height:1.1;letter-spacing:-0.5px;margin-top:12px;
}
.geo-top-desc{font-size:16px;color:var(--text-body);line-height:1.75}

.geo-body{
    display:grid;
    grid-template-columns:5fr 4fr;
    gap:36px;align-items:start;
}

/* Map image */
.geo-map-wrap{
    border-radius:var(--r-xl);overflow:hidden;
    aspect-ratio:4/3;
    border:1px solid rgba(0,71,114,.10);
    box-shadow:var(--sh-deep);
    margin-bottom:20px;
    /* INSERT IMAGE: Ile-de-France map or aerial Paris view */
}
.geo-map-wrap .img-ph{width:100%;height:100%;background:linear-gradient(160deg,#B8D4F0 0%,#90BCDC 100%)}

/* Route rows */
.geo-routes{display:flex;flex-direction:column;gap:8px}
.geo-route-row{
    background:var(--white);
    border:1px solid rgba(0,71,114,.08);
    border-radius:var(--r-md);
    padding:13px 16px;
    display:flex;align-items:center;gap:12px;
    box-shadow:var(--sh-card);
    transition:border-color var(--dur) var(--ease),
               box-shadow var(--dur) var(--ease),
               transform var(--dur) var(--ease);
}
.geo-route-row:hover{border-color:var(--navy-mid);box-shadow:var(--sh-lift);transform:translateX(4px)}

.geo-ri{
    width:36px;height:36px;background:var(--navy-mid);
    border-radius:var(--r-sm);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.geo-ri img{width:17px;height:17px}

.geo-rt{flex:1}
.geo-rt-name{font-size:13px;font-weight:600;color:var(--text-dark);margin-bottom:2px;line-height:1.35}
.geo-rt-desc{font-size:11px;color:var(--text-muted);line-height:1.45}

.geo-fare{
    font-family:var(--ff-display);font-size:22px;font-weight:700;
    color:var(--navy-mid);flex-shrink:0;
}

/* Info sidebar */
.geo-info-col{display:flex;flex-direction:column;gap:14px}

.geo-info-card{
    background:var(--white);
    border:1px solid rgba(0,71,114,.08);
    border-radius:var(--r-lg);
    padding:22px 20px;box-shadow:var(--sh-card);
}
.geo-info-title{
    font-family:var(--ff-display);font-size:17px;font-weight:600;
    color:var(--navy-mid);margin-bottom:14px;
    padding-bottom:12px;border-bottom:1px solid var(--border);
}
.geo-info-list{display:flex;flex-direction:column;gap:9px}
.geo-info-list li{
    font-size:13px;color:var(--text-body);
    display:flex;align-items:flex-start;gap:10px;line-height:1.5;
}
.geo-info-list li::before{
    content:"";width:6px;height:6px;border-radius:50%;
    background:var(--sky);flex-shrink:0;margin-top:5px;
}

.geo-night{
    background:var(--navy-mid);border-radius:var(--r-md);
    padding:18px 18px;display:flex;gap:12px;align-items:flex-start;
}
.geo-night-bar{width:3px;min-height:36px;background:var(--gold);border-radius:2px;flex-shrink:0;margin-top:2px}
.geo-night-txt{font-size:13px;color:rgba(255,255,255,.7);line-height:1.72}
.geo-night-txt strong{color:var(--white);font-weight:600}


/* --- class copies of id rules (uk-ireland) --- */
.zse2x{padding:100px 0;background:var(--white)}
.z2d6x{
    margin-top:80px;
    display:grid;grid-template-columns:5fr 7fr;
    gap:60px;align-items:center;
}
.z2h31x{
    font-family:var(--ff-display);
    font-size:clamp(26px,3.2vw,40px);
    font-weight:600;color:var(--navy-mid);
    line-height:1.12;letter-spacing:-0.4px;
    padding:0;text-align:left;margin-bottom:20px;
}
.z2h31x::after{display:none}
@media(max-width:1100px){.z2d6x{grid-template-columns:1fr;gap:36px}}

/* --- responsive rules copied from the homepage for the reused sections --- */

/* --- responsive overrides re-applied after the late base rules --- */
@media(max-width:1100px){
.aoe-grid{grid-template-columns:repeat(2,1fr)}
.aoe-top{grid-template-columns:1fr;gap:20px}
.geo-top{grid-template-columns:1fr;gap:20px}
.geo-body{grid-template-columns:1fr}
.geo-map-wrap{aspect-ratio:16/9}
}
@media(max-width:768px){
.aoe-grid{grid-template-columns:1fr}
}
