/* ==========================
   ROOT VARIABLES
========================== */

:root {
  /* Primary */
  --primary: #6344F5;
  --primary-light: #f4efff;
  --primary-bg: #F8F7FF;

  /* Text */
  --text-dark: #1f2937;
  --text-medium: #48556b;
  --text-light: #6f7b92;
  --text-muted: #76819a;
  --text-gray: #a1acc0;
  --text-placeholder: #b2b7c6;

  /* Backgrounds */
  --bg-body: #fafafa;
  --bg-white: #ffffff;
  --bg-social: #eef2f7;
  --bg-input: #f4f5f8;

  /* Border */
  --border-light: #ececf8;

  /* Shadows */
  --shadow-card: 0 20px 40px rgba(0, 0, 0, 0.08);

  /* Radius */
  --radius-card: 24px;
  --radius-large: 34px;
  --radius-medium: 18px;
  --radius-small: 12px;
  --radius-circle: 50%;
}

/* ==========================
   RESET
========================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}

body {
    background: var(--bg-body);
}

/* Contact enquiry journey */
.contact-content-wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}.enquiry-routes{padding:110px 0 80px;background:#fff;color:#111827}.contact-section-heading{max-width:670px;margin-bottom:46px}.contact-section-heading>span,.form-intro-panel>span,.commercial-enquiry-card>div>span,.section-kicker{display:block;margin-bottom:14px;color:#6b4af1;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.contact-section-heading h2,.form-intro-panel h2,.corporate-contact-grid h2,.commercial-enquiry-card h2{margin:0;color:#111426;font-size:clamp(2rem,4vw,3.25rem);line-height:1.1;letter-spacing:-.045em}.contact-section-heading p,.form-intro-panel>p,.corporate-contact-grid>div>p,.commercial-enquiry-card p{margin:16px 0 0;color:#64748b;font-size:1rem;line-height:1.7}.enquiry-route-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e7e5f0;border-radius:24px;overflow:hidden}.enquiry-route-card{display:flex;min-height:325px;flex-direction:column;padding:30px;border-right:1px solid #e7e5f0;background:#fff}.enquiry-route-card:last-child{border:0}.enquiry-route-card.featured{background:linear-gradient(145deg,#f5f1ff,#faf9ff)}.enquiry-route-card>i{width:42px;height:42px;display:grid;place-items:center;margin-bottom:32px;border-radius:13px;background:#eee9ff;color:#6848ef;font-size:1.25rem}.enquiry-route-card h3{margin:0;color:#28213c;font-size:1.15rem;line-height:1.35;font-weight: 600;}.enquiry-route-card p{margin:14px 0 26px;color:#657088;font-size:.86rem;line-height:1.65}.route-link,.route-select,.text-cta,.secondary-cta{display:inline-flex;align-items:center;gap:8px;color:#6141e8;font-size:.84rem;font-weight:700;text-decoration:none}.route-link,.route-select{margin-top:auto}.route-select{padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.contact-form-section{padding:88px 0;background:#f8f8fc;color:#111827}.contact-form-layout{display:grid;grid-template-columns:.85fr 1.15fr;border-radius:4px;overflow:hidden;}.form-intro-panel{padding:48px;background:linear-gradient(155deg,#f2eeff,#fbfaff)}.form-notice{display:flex;gap:13px;margin-top:28px;padding-top:24px;border-top:1px solid #ddd7f2}.form-notice>i{color:#6848ef;font-size:1.2rem}.form-notice strong{color:#342a58;font-size:.84rem}.form-notice p{margin:6px 0 0;color:#6d7081;font-size:.78rem;line-height:1.6}.contact-right{padding:48px;background:#fff}.form-title-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px}.form-title-row h3{margin:0;color:#1c1830;font-size:1.5rem}.form-title-row span{color:#8a8796;font-size:.72rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px}.contact-right .input-group{margin-bottom:22px}.contact-right .input-group.full{grid-column:1/-1}.contact-right .input-group label{margin-bottom:8px;color:#5b5770;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.contact-right .input-group input,.contact-right .input-group textarea,.contact-right .input-group select{width:100%;border:1px solid #e2e0eb;border-radius:9px;background:#fff;padding:12px 13px;color:#29243b;font-family:inherit;font-size:.86rem;outline:none;transition:border-color .2s,box-shadow .2s}.contact-right .input-group textarea{height:116px;resize:vertical}.contact-right .input-group input:focus,.contact-right .input-group textarea:focus,.contact-right .input-group select:focus{border-color:#7658ef;box-shadow:0 0 0 3px rgba(118,88,239,.12)}.privacy-check{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;margin:2px 0 22px;color:#666377;font-size:.76rem;line-height:1.55}.privacy-check input{margin-top:3px;accent-color:#6848ef}.privacy-check a{color:#6141e8}.send-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none}.corporate-contact-section{padding:100px 0;background:#fff;color:#111827}.corporate-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:92px;align-items:start}.text-cta{margin-top:28px}.corporate-detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 34px;margin:0}.corporate-detail-list>div{padding:19px 0;border-top:1px solid #e9e8ef}.corporate-detail-list dt{color:#453d5d;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.corporate-detail-list dd{margin:7px 0 0;color:#727083;font-size:.82rem;line-height:1.55}.commercial-enquiry-section{padding:0 0 100px;background:#fff;color:#111827}.commercial-enquiry-card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:50px 56px;border-radius:28px;background:linear-gradient(105deg,#25204b,#4e37b1);color:#fff;overflow:hidden}.commercial-enquiry-card h2{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem)}.commercial-enquiry-card>div>span{color:#c8bcff}.commercial-enquiry-card p{max-width:620px;color:#ded9f5}.commercial-actions{display:flex;gap:14px;flex-shrink:0}.commercial-actions .send-btn{margin:0;background:#fff;color:#5038bd;box-shadow:none}.secondary-cta{padding:14px 18px;border:1px solid rgba(255,255,255,.4);border-radius:8px;color:#fff}
@media(max-width:900px){.enquiry-route-grid{grid-template-columns:repeat(2,1fr)}.enquiry-route-card:nth-child(2){border-right:0}.enquiry-route-card:nth-child(-n+2){border-bottom:1px solid #e7e5f0}.contact-form-layout,.corporate-contact-grid{grid-template-columns:1fr;gap:0}.corporate-contact-grid{gap:42px}.commercial-enquiry-card{align-items:flex-start;flex-direction:column}.contact-section-heading{margin-bottom:32px}}
@media(max-width:600px){.contact-content-wrap{width:min(100% - 32px,1180px)}.enquiry-routes,.contact-form-section,.corporate-contact-section{padding:68px 0}.enquiry-route-grid{grid-template-columns:1fr}.enquiry-route-card{min-height:0;padding:26px;border-right:0;border-bottom:1px solid #e7e5f0}.enquiry-route-card>i{margin-bottom:20px}.enquiry-route-card p{margin-bottom:20px}.enquiry-route-card:nth-child(2){border-bottom:1px solid #e7e5f0}.route-link,.route-select{margin-top:0}.form-intro-panel,.contact-right{padding:30px 22px}.form-grid,.corporate-detail-list{grid-template-columns:1fr}.form-title-row{align-items:flex-start;gap:8px;flex-direction:column}.commercial-enquiry-section{padding-bottom:68px}.commercial-enquiry-card{padding:32px 26px}.commercial-actions{width:100%;flex-direction:column}.commercial-actions .send-btn,.secondary-cta{width:100%}}

/* ==========================
   hero section
========================== */
.contact-section{
        width: calc(75% - 8rem); /* 4rem + 4rem */
    max-width: 1440px;
    margin: 0 auto;
    background:#fff;
    border-radius:28px;
    overflow:hidden;
    display:grid;
    grid-template-columns:330px 1fr;
    box-shadow:0 10px 40px rgba(0,0,0,.08);
    margin-top: 100px;
    margin-bottom: 50px;
        position:relative;
    z-index:100;
    margin-top:-120px;
    margin-bottom:50px;
}



/* LEFT PANEL */

.contact-left{
    position:relative;
    padding:30px;
    background:
    radial-gradient(circle at top left,
    rgba(190,130,255,.28),
    transparent 60%),
    radial-gradient(circle at bottom right,
    rgba(255,180,120,.18),
    transparent 60%),
    #faf8ff;
}

.contact-left::before{
    content:"";
    position:absolute;
    width:800px;
    height:800px;
    border:3px solid rgba(255,255,255,.6);
    border-radius:50%;
    left:-550px;
    bottom:-180px;
}

.contact-left h2{
    font-size:27px;
    font-weight:700;
    color:#111827;
    margin-bottom:20px;
}

.contact-left p{
    color:#6b7280;
    line-height:1.7;
    margin-bottom:50px;
     font-size:15px;
}

.info-item{
    display:flex;
    gap:18px;
    margin-bottom:35px;
    color:#111827;
     font-size:15px;
}

.info-item i{
    font-size:22px;
    margin-top:2px;
}

.info-item div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

/* RIGHT */

.contact-right{
    padding:45px 40px;
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
}

.input-group{
    margin-bottom:28px;
}

.input-group label{
    display:block;
    font-size:13px;
    font-weight:700;
    color:#9ca3af;
    letter-spacing:1px;
    margin-bottom:14px;
}

.message-label{
    color:#5b4cff !important;
}

.input-group input{
    width:100%;
    border:none;
    border-bottom:1px solid #e5e7eb;
    padding-bottom:14px;
    font-size:18px;
    color:#111827;
    outline:none;
}

.input-group textarea{
    width:100%;
    height:140px;
    border:none;
    border-bottom:1px solid #e5e7eb;
    resize:none;
    outline:none;
    font-size:18px;
    padding-top:10px;
    color:#111827;
}

.input-group textarea::placeholder{
    color:#c5c7cf;
}

.send-btn{
    margin-top:20px;
    border:none;
    background:#635bff;
    color:#fff;
    font-weight:600;
    font-size:16px;
    padding:16px 30px;
    border-radius:8px;
    cursor:pointer;
    box-shadow:0 10px 20px rgba(99,91,255,.25);
    transition:.3s;
}

.send-btn:hover{
    transform:translateY(-2px);
}

/* RESPONSIVE */

@media(max-width:900px){

.contact-section{
    grid-template-columns:1fr;
}

.form-row{
    grid-template-columns:1fr;
}

.contact-left{
    padding:30px;
}

.contact-right{
    padding:30px;
}

.contact-left h2{
    font-size:32px;
}
}


.error-message{
    display:block;
    margin-top:6px;
    color:#EF4444;
    font-size:13px;
    font-weight:500;
}

.input-error{
    border:1px solid #EF4444 !important;
    box-shadow:0 0 0 2px rgba(239,68,68,.15);
}

.input-success{
    border:1px solid #22C55E !important;
}


 
/* Laptop */
@media (max-width: 1440px) {
    .contact-section {
        width: 90%;
    }
}
 
/* Tablet */
@media (max-width: 1024px) {
    .contact-section {
        width: 92%;
    }
}
 
/* Mobile */
@media (max-width: 900px) {
    .contact-section {
        width: 95%;
        grid-template-columns: 1fr;
        margin: -60px auto 30px;
    }
 
    .form-row {
        grid-template-columns: 1fr;
    }
 
    .contact-left,
    .contact-right {
        padding: 30px;
    }
 
    .contact-left h2 {
        font-size: 32px;
    }
}
 
/* Small Mobile */
@media (max-width: 576px) {
    .contact-section {
        width: calc(100% - 24px); /* 12px left + right */
        border-radius: 20px;
    }
 
    .contact-left,
    .contact-right {
        padding: 20px;
    }
}




    /* =====================================================
   CTA SECTION
===================================================== */

.cta-section{
    padding:80px 20px;
    background:#ffffff;
}

.cta-card{

    position:relative;
    overflow:hidden;

    max-width:1280px;
    margin:auto;

    border-radius:32px;

    background:
    linear-gradient(
        90deg,
        #f7f8fd 0%,
        #f9f8ff 55%,
        #fff4f7 100%
    );

    border:1px solid #e8eaf6;

    box-shadow:
        0 25px 60px rgba(15,23,42,.06);

}


/* ==========================================
   Background Wave
========================================== */

.cta-bg-pattern{

    position:absolute;

    inset:0;

    pointer-events:none;

    background-image:
    radial-gradient(circle at 78% 30%,rgba(124,77,255,.08),transparent 48%),

    radial-gradient(circle at 92% 90%,rgba(255,80,180,.08),transparent 42%);

}

/* Reuse the homepage Business Outcomes typography for every contact section header. */
.contact-section-heading > .outcomes-meta,
.form-intro-panel > .outcomes-meta,
.corporate-contact-grid > div > .outcomes-meta {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  color: #888888;
  text-transform: uppercase;
  display: block;
  margin-bottom: var(--spacing-xs);
}

.contact-section-heading > .outcomes-title,
.form-intro-panel > .outcomes-title,
.corporate-contact-grid > div > .outcomes-title {
  font-size: clamp(1.7rem, 3.5vw, 2.6rem);
    font-weight: 600;
    color: #030214;
    line-height: 1.25;
    letter-spacing: normal;
    max-width: 600px;
}

.contact-section-heading > .outcomes-intro,
.form-intro-panel > .outcomes-intro,
.corporate-contact-grid > div > .outcomes-intro {
  max-width: 370px;
  margin: 0;
  color: #64748b;
  font-size: 0.85rem;
  line-height: 1.6;
}

/* Keep the Contact CTA on the exact homepage CTA type scale as well. */
.contact-homepage-cta .cta-meta {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  color: rgba(255, 255, 255, 0.65);
  text-transform: uppercase;
  margin-bottom: 18px;
}

.contact-homepage-cta .cta-title {
  font-size: clamp(1.7rem, 3.5vw, 2.6rem);
  font-weight: 600;
  line-height: 1.25;
  color: #ffffff;
  letter-spacing: normal;
  margin-bottom: 14px;
  max-width: 850px;
}

.contact-homepage-cta .cta-desc {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.85rem;
  line-height: 1.65;
}


/* Animated Curved Lines */

.cta-bg-pattern::before{

    content:"";

    position:absolute;

    right:-120px;
    top:-40px;

    width:650px;
    height:650px;

    opacity:.55;

    background:url("../assets/images/wave-pattern.svg") center/contain no-repeat;

    animation:waveFloat 10s ease-in-out infinite;

}


/* ==========================================
   CONTENT
========================================== */

.cta-content{

    position:relative;

    z-index:2;

}


/* ==========================================
   HEADING
========================================== */

.cta-title{

    font-family:"Poppins",sans-serif;

    font-weight:700;

    color:#111827;

    letter-spacing:-.03em;

}

.cta-title span{

    background:linear-gradient(90deg,#6C63FF,#7C3AED);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

}


/* ==========================================
   SUBTEXT
========================================== */

.cta-subtitle{

    color:#64748B;

    font-size:15px;

    line-height:1.7;

}

.cta-note{

    color:#94A3B8;

    font-size:14px;

}


/* ==========================================
   BUTTON
========================================== */

.cta-button{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:18px 34px;

    border-radius:999px;

    text-decoration:none;

    color:#fff;

    font-weight:600;

    background:
    linear-gradient(
        135deg,
        #5B4CF8,
        #7C3AED
    );

    box-shadow:
        0 14px 40px rgba(92,74,255,.35);

    transition:
        transform .35s,
        box-shadow .35s;

}

.cta-button:hover{

    transform:
        translateY(-4px);

    box-shadow:
        0 18px 48px rgba(92,74,255,.45);

}

.cta-button svg{

    transition:.35s;

}

.cta-button:hover svg:last-child{

    transform:
        translateX(5px);

}


/* ==========================================
   LOGO
========================================== */

.cta-logo{

    transition:.35s;

}

.cta-card:hover .cta-logo{

    transform:scale(1.04);

}


/* ==========================================
   ANIMATIONS
========================================== */

@keyframes waveFloat{

    0%{

        transform:
        translateY(0)
        rotate(0deg);

    }

    50%{

        transform:
        translateY(-12px)
        rotate(2deg);

    }

    100%{

        transform:
        translateY(0)
        rotate(0deg);

    }

}

/* =====================================================
   LARGE DESKTOP (1600px+)
===================================================== */

@media (min-width:1600px){

    .cta-card{
        max-width:1500px;
        padding:55px 70px;
    }

    .cta-title{
        font-size:54px;
    }

    .cta-button{
        padding:20px 42px;
        font-size:17px;
    }

    .cta-logo{
        width:220px;
    }

}

/* =====================================================
   DESKTOP
===================================================== */

@media (max-width:1400px){

    .cta-card{
        padding:48px;
    }

    .cta-title{
        font-size:42px;
    }

}

/* =====================================================
   LAPTOP
===================================================== */

@media (max-width:1200px){

    .cta-card{
        padding:42px;
    }

    .cta-title{
        font-size:38px;
    }

    .cta-button{
        padding:16px 30px;
    }

    .cta-logo{
        width:190px;
    }

}

/* =====================================================
   TABLET
===================================================== */

@media (max-width:992px){

    .cta-content{

        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;

        text-align:center;

        gap:35px;

    }

    .cta-left{

        display:flex;
        flex-direction:column;
        align-items:center;

        gap:25px;

    }

    .cta-title{

        font-size:34px;

    }

    .cta-subtitle,
    .cta-note{

        max-width:620px;
        margin:auto;

    }

    .cta-button{

        width:auto;

    }

}

/* =====================================================
   MOBILE LANDSCAPE
===================================================== */

@media (max-width:768px){

    .cta-card{

        border-radius:24px;

        padding:35px 24px;

    }

    .cta-title{

        font-size:30px;
        line-height:1.3;

    }

    .cta-logo{

        width:170px;

    }

    .cta-button{

        width:100%;

        justify-content:center;

        padding:16px;

    }

}

/* =====================================================
   MOBILE
===================================================== */

@media (max-width:576px){

    .cta-card{

        padding:28px 20px;

        border-radius:20px;

    }

    .cta-title{

        font-size:26px;

    }

    .cta-subtitle{

        font-size:14px;

    }

    .cta-note{

        font-size:13px;

    }

    .cta-logo{

        width:150px;

    }

    .cta-button{

        font-size:14px;

        gap:10px;

    }

}

/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width:420px){

    .cta-card{

        padding:22px 18px;

    }

    .cta-title{

        font-size:22px;

    }

    .cta-logo{

        width:135px;

    }

    .cta-button{

        padding:15px;

        font-size:13px;

    }

}

/* =====================================================
   320px DEVICES
===================================================== */

@media (max-width:320px){

    .cta-title{

        font-size:20px;

    }

    .cta-logo{

        width:120px;

    }

    .cta-subtitle{

        font-size:13px;

    }

    .cta-note{

        font-size:12px;

    }

    .cta-button{

        padding:14px;

        font-size:12px;

    }

}

/* ==========================================================
   PREMIUM BACKGROUND WAVE
========================================================== */

.cta-card::before{

    content:"";

    position:absolute;

    top:-120px;
    right:-160px;

    width:700px;
    height:700px;

    border-radius:50%;

    background:
        repeating-radial-gradient(
            circle,
            rgba(124,77,255,.08) 0px,
            rgba(124,77,255,.08) 2px,
            transparent 2px,
            transparent 18px
        );

    animation:waveRotate 22s linear infinite;

    opacity:.8;

    pointer-events:none;

}

.cta-card::after{

    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(circle at 85% 40%,
        rgba(124,77,255,.12),
        transparent 45%);

    pointer-events:none;

}


/* ==========================================================
   FLOATING CARD
========================================================== */

.cta-card{

    animation:cardFloat 7s ease-in-out infinite;

}


/* ==========================================================
   BUTTON SHINE EFFECT
========================================================== */

.cta-button{

    position:relative;

    overflow:hidden;

}

.cta-button::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:60%;
    height:100%;

    background:
    linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );

    transform:skewX(-25deg);

    transition:0s;

}

.cta-button:hover::before{

    left:140%;

    transition:1.2s;

}


/* ==========================================================
   BUTTON GLOW
========================================================== */

.cta-button:hover{

    box-shadow:
        0 18px 45px rgba(92,74,255,.45),
        0 0 0 8px rgba(92,74,255,.08);

}


/* ==========================================================
   LOGO HOVER
========================================================== */

.cta-logo{

    transition:.45s;

}

.cta-card:hover .cta-logo{

    transform:
        translateY(-4px)
        scale(1.03);

}


/* ==========================================================
   TITLE ANIMATION
========================================================== */

.cta-title{

    animation:titleFade .8s ease both;

}

.cta-subtitle{

    animation:titleFade 1s .2s both;

}

.cta-note{

    animation:titleFade 1s .35s both;

}

.cta-button{

    animation:titleFade 1s .5s both;

}


/* ==========================================================
   HOVER LIFT
========================================================== */

.cta-card{

    transition:
        transform .4s ease,
        box-shadow .4s ease;

}

.cta-card:hover{

    transform:translateY(-6px);

    box-shadow:
        0 30px 80px rgba(15,23,42,.12);

}


/* ==========================================================
   KEYFRAMES
========================================================== */

@keyframes waveRotate{

    from{

        transform:
        rotate(0deg);

    }

    to{

        transform:
        rotate(360deg);

    }

}

@keyframes cardFloat{

    0%,100%{

        transform:
        translateY(0px);

    }

    50%{

        transform:
        translateY(-5px);

    }

}

@keyframes titleFade{

    from{

        opacity:0;

        transform:
        translateY(20px);

    }

    to{

        opacity:1;

        transform:
        translateY(0);

    }

}

.cta-bg-pattern{
    position:absolute;
    right:0;
    top:0;
    width:45%;
    height:100%;
    background:url("../assets/images/cta-wave-pattern.svg") right center/contain no-repeat;
    opacity:.9;
    pointer-events:none;
}

/* Enquiry route cards — reference-inspired visual treatment */
.enquiry-routes { padding: 92px 0 104px; background: #f7f8fc; }
.enquiry-route-grid { gap: 32px; border: 0; border-radius: 0; overflow: visible; }
.enquiry-route-card {
  position: relative; isolation: isolate; min-height: 548px; padding: 40px; overflow: hidden;
  border: 1px solid #e1e5ef !important; border-radius: 26px; background: #fff;
  box-shadow: 0 12px 28px rgba(31,41,55,.06); transition: transform .3s ease, box-shadow .3s ease;
}
.enquiry-route-card::after {
  content:""; position:absolute; z-index:-1; right:-78px; bottom:-68px; width:246px; height:190px; opacity:.55;
  background-image:radial-gradient(circle,currentColor 1.35px,transparent 1.8px); background-size:11px 11px;
  border-radius:52% 0 0 0; transform:rotate(-13deg); mask-image:radial-gradient(ellipse at 100% 100%,#000 8%,transparent 68%);
}
.enquiry-route-card:hover { transform:translateY(-7px); box-shadow:0 22px 44px rgba(35,24,74,.14); }
.enquiry-route-card > i { width:82px; height:82px; margin-bottom:38px; border-radius:15px; background:linear-gradient(145deg,#3b82f6,#1553c8); color:#fff; font-size:2.25rem; box-shadow:0 12px 20px rgba(37,99,235,.19); }
.enquiry-route-card h3 { min-height:72px; color:#111631; font-size:clamp(1.3rem,1.7vw,1.62rem); font-weight:700; line-height:1.35; letter-spacing:-.035em; }
.enquiry-route-card h3::after { content:""; display:block; width:31px; height:3px; margin-top:25px; border-radius:3px; background:#2563eb; }
.enquiry-route-card p { margin:29px 0 28px; color:#68718c; font-size:1rem; line-height:1.7; }
.route-link,.route-select { gap:13px; color:#2563eb; font-size:1rem; font-weight:700; }
.route-link i,.route-select i { font-size:1.3rem; transition:transform .25s ease; }
.enquiry-route-card:hover .route-link i,.enquiry-route-card:hover .route-select i { transform:translateX(5px); }
.enquiry-route-card:nth-child(3) { color:#f4511e; }
.enquiry-route-card:nth-child(3) > i { background:linear-gradient(145deg,#ff7a22,#ef3c0f); box-shadow:0 12px 20px rgba(239,60,15,.18); }
.enquiry-route-card:nth-child(3) h3::after { background:#f4511e; }
.enquiry-route-card:nth-child(3) .route-select { color:#f4511e; }
.enquiry-route-card:nth-child(4) { color:#7c3aed; }
.enquiry-route-card:nth-child(4) > i { background:linear-gradient(145deg,#9b55f8,#6825db); box-shadow:0 12px 20px rgba(104,37,219,.18); }
.enquiry-route-card:nth-child(4) h3::after { background:#7c3aed; }
.enquiry-route-card:nth-child(4) .route-select { color:#7c3aed; }
.enquiry-route-card.featured { color:#8b5cf6; background:radial-gradient(circle at 96% 78%,rgba(139,92,246,.3),transparent 17rem),linear-gradient(145deg,#070926,#101249 70%,#17115c); border-color:#7c3aed !important; box-shadow:0 18px 38px rgba(79,55,187,.26); }
.enquiry-route-card.featured::after { opacity:.8; }
.enquiry-route-card.featured > i { background:linear-gradient(145deg,#3924cf,#1d1285); box-shadow:0 14px 25px rgba(0,0,0,.27); }
.enquiry-route-card.featured h3 { color:#fff; }
.enquiry-route-card.featured h3::after { background:#9b6cff; }
.enquiry-route-card.featured p { color:#e5e4f5; }
.enquiry-route-card.featured .route-link { color:#a778ff; }
@media (max-width:1100px) { .enquiry-route-grid{gap:18px}.enquiry-route-card{padding:30px} }
@media (max-width:600px) { .enquiry-route-grid{gap:16px}.enquiry-route-card{min-height:390px;padding:30px}.enquiry-route-card > i{width:64px;height:64px;margin-bottom:28px;font-size:1.75rem}.enquiry-route-card h3{min-height:0} }

/* Keep the original contact-page card scale and type sizes. */
.enquiry-route-grid { gap: 2; }
.enquiry-route-card { min-height: 325px; padding: 30px; }
.enquiry-route-card > i { width: 42px; height: 42px; margin-bottom: 32px; border-radius: 13px; font-size: 1.25rem; }
.enquiry-route-card h3 { min-height: 0; font-size: 1.15rem; letter-spacing: normal; }
.enquiry-route-card h3::after { margin-top: 14px; }
.enquiry-route-card p { margin: 14px 0 26px; font-size: .86rem; line-height: 1.65; }
.route-link, .route-select { gap: 8px; font-size: .84rem; }
.route-link i, .route-select i { font-size: 1rem; }
@media (max-width:1100px) { .enquiry-route-grid { gap: 0; } }
@media (max-width:600px) { .enquiry-route-grid { gap: 0; }.enquiry-route-card { min-height: 0; padding: 26px; }.enquiry-route-card > i { width: 42px; height: 42px; margin-bottom: 20px; font-size: 1.25rem; } }

/* Corporate details — shared content width with a refined two-panel layout */
.corporate-contact-section {
  padding: 100px 0;
  background-color: #F8F8FC;
}

.corporate-contact-section .corporate-contact-grid {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(129,140,248,.18);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(31,24,73,.10);
}

.corporate-contact-grid > div:first-child {
  position: relative;
  overflow: hidden;
  padding: 52px 48px;
  
}

.corporate-contact-grid > div:first-child::after {
  content: "";
  position: absolute;
  right: -105px;
  bottom: -115px;
  width: 300px;
  height: 300px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 50%;
}


.corporate-detail-list {
  margin: 0;
  padding: 28px;
  gap: 14px;
  align-content: center;
  background: #fff;
}

.corporate-detail-list > div {
  min-height: 108px;
  padding: 21px 22px;
  border: 1px solid #e4e6f1;
  border-radius: 15px;
  background: linear-gradient(145deg, #fff, #f8f8ff);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.corporate-detail-list > div:hover {
  transform: translateY(-3px);
  border-color: rgba(124,58,237,.42);
  box-shadow: 0 12px 24px rgba(72,49,162,.11);
}

.corporate-detail-list dt { color: #4c397d; font-size: .68rem; }
.corporate-detail-list dd { color: #5c6279; font-size: .85rem; }

@media (max-width: 900px) {
  .corporate-contact-section .corporate-contact-grid { grid-template-columns: 1fr; }
  .corporate-contact-grid > div:first-child { padding: 42px 34px; }
}

@media (max-width: 600px) {
  .corporate-contact-section { padding: 68px 0; }
  .corporate-contact-section .corporate-contact-grid { width: min(100% - 32px, 1180px); border-radius: 20px; }
  .corporate-contact-grid > div:first-child { padding: 34px 26px; }
  .corporate-detail-list { padding: 18px; grid-template-columns: 1fr; }
}


.country-flags{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-top:10px !important;
}

.country-flags img{
    width:42px;
    height:42px;
    border-radius:50%;
    object-fit:cover;
    box-shadow:0 4px 12px rgba(0,0,0,.12);
    transition:.3s ease;
    cursor:pointer;
}

.country-flags img:hover{
    transform:translateY(-3px) scale(1.08);
}

.country-flags{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    margin-top:12px !important;
}

.flag{
    position:relative;
}

.flag img{
    width:44px;
    height:44px;
    border-radius:50%;
    object-fit:cover;
    cursor:pointer;
    transition:.3s;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
}

.flag img:hover{
    transform:translateY(-3px) scale(1.08);
}

.flag-tooltip{
    position:absolute;
    left:50%;
    bottom:60px;
    transform:translateX(-50%) translateY(10px);

    width:220px;
    padding:14px 16px;

    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    box-shadow:0 18px 40px rgba(0,0,0,.15);

    font-size:13px;
    line-height:1.6;
    color:#5b6474;

    opacity:0;
    visibility:hidden;
    transition:.25s ease;

    z-index:100;
}

.flag-tooltip strong{
    display:block;
    margin-bottom:8px;
    color:#111827;
    font-size:14px;
    font-weight:600;
}

.flag-tooltip::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-8px;
    transform:translateX(-50%) rotate(45deg);
    width:16px;
    height:16px;
    background:#fff;
    border-right:1px solid #e5e7eb;
    border-bottom:1px solid #e5e7eb;
}

.flag:hover .flag-tooltip{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
}