/* ============================================================
   MARALiner Sdn. Bhd. — MAIN STYLESHEET
   Single consolidated CSS file for the whole site.
   Structure:
     1. SHARED / COMMON  — design tokens, header, hero shell,
        ticket widget, service alerts, news/social/app shells, footer
     2. HOME page
     3. ABOUT US page (incl. Our Story timeline, Mandate cards,
        Organisation chart — Board / SLT)
     4. SERVICES page
     5. CONTACT US page
     6. COMING SOON (product placeholder) page
   ============================================================ */

/* ============================================================
   DESIGN TOKENS — MARALiner brand
   Red = express/primary action, Ink navy = authority/dark, Gold = premium/accent
   ============================================================ */
:root{
  --red:#C8102E; --red-dk:#8B0D1E; --red-soft:#FFE8EC;
  --gold:#B8860B; --gold-soft:#FFF8E7; --gold-mid:#E4B94F;
  --ink:#0F1923; --ink2:#16222E; --ink3:#233240;
  --white:#FFFFFF; --off:#F9FAFB; --bg2:#F3F4F6;
  --border:#E5E7EB; --border2:#EDEFF2;
  --muted:#6B7280; --body:#374151;
  --green:#059669; --green-soft:#D1FAE5;
  --amber:#D97706; --amber-soft:#FEF3C7;
  --blue:#1D4ED8; --blue-soft:#EAF0FE;
  --r-sm:8px; --r:14px; --r-lg:24px;
  --sh-sm:0 1px 3px rgba(15,25,35,.08);
  --sh-md:0 8px 24px rgba(15,25,35,.10);
  --sh-lg:0 20px 48px rgba(15,25,35,.16);
  --wrap:1120px;
  --font-display:'Plus Jakarta Sans',sans-serif;
  --font-body:'Plus Jakarta Sans',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}
body{font-family:var(--font-body);color:var(--body);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select{font-family:inherit;font-size:1rem}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.75rem 1.25rem;z-index:999;border-radius:0 0 8px 0}
.skip-link:focus{left:0}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.5rem}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--red)}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--gold);display:inline-block}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;color:var(--ink);line-height:1.15;letter-spacing:-.01em}
.section{padding:3.6rem 0}
.section-alt{background:var(--off)}
.section-alt+.section-alt,.section:not(.section-alt)+.section:not(.section-alt){padding-top:0}
@media (max-width:760px){.section{padding:3rem 0}}
.section-head{max-width:640px;margin-bottom:2.75rem}
.section-head h2{font-size:clamp(1.7rem,3.2vw,2.5rem);margin-top:.6rem}
.section-head p{color:var(--muted);margin-top:.85rem;font-size:1.05rem;line-height:1.6}
.flex-between{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:.92rem;padding:.85rem 1.6rem;border-radius:999px;transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;white-space:nowrap}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 10px 24px rgba(200,16,46,.28)}
.btn-primary:hover{background:var(--red-dk);transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}
.btn-ghost-light{background:rgba(255,255,255,.10);color:#fff;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(4px)}
.btn-ghost-light:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--border)}
.btn-outline:hover{border-color:var(--ink)}
.btn-block{width:100%}
.btn-sm{padding:.6rem 1.1rem;font-size:.85rem}

/* ============================================================
   OFFICIAL WEBSITE COMING SOON PAGE
   Lightweight temporary page for maralinergroup.my before launch.
   ============================================================ */
.official-coming-soon{min-height:100vh;background:#0F1923;color:#fff}
.official-cs-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem);overflow:hidden}
.official-cs-bg{position:absolute;inset:0;z-index:0;background:#0F1923}
.official-cs-bg img{width:100%;height:100%;object-fit:cover;object-position:66% center;filter:saturate(1.05) contrast(1.02)}
.official-cs-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,25,35,.82) 0%,rgba(15,25,35,.56) 46%,rgba(112,12,33,.52) 100%)}
.official-cs-shell{position:relative;z-index:1;width:min(1320px,100%);min-height:calc(100vh - clamp(2rem,6vw,4rem));display:grid;grid-template-columns:minmax(380px,.88fr) minmax(300px,390px);gap:clamp(1.5rem,4vw,4.5rem);align-items:center;padding-top:clamp(4rem,8vw,6.6rem)}
.official-cs-brand{position:absolute;top:0;left:0;display:inline-flex;align-items:center;width:max-content;max-width:100%;filter:drop-shadow(0 14px 26px rgba(0,0,0,.26))}
.official-cs-brand img{height:clamp(54px,7vw,82px);width:auto;max-width:min(360px,72vw)}
.official-cs-content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:660px;justify-self:start;padding:0;text-shadow:0 3px 24px rgba(0,0,0,.42)}
.official-cs-kicker{display:inline-flex;align-items:center;gap:.55rem;color:#F7C948;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.official-cs-kicker::before{content:"";width:28px;height:2px;background:#F7C948}
.official-cs-content h1{font-size:clamp(2.35rem,5.8vw,5rem);line-height:.98;color:#fff;max-width:12ch;margin:.9rem 0 1.15rem;text-transform:uppercase;overflow-wrap:normal}
.official-cs-content h1 span{display:block}
.official-cs-title-accent{color:#F7C948;text-shadow:0 8px 30px rgba(0,0,0,.38)}
.official-cs-content p{max-width:36rem;color:rgba(255,255,255,.82);font-size:clamp(1.05rem,1.7vw,1.32rem);line-height:1.65}
.official-cs-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin-top:2rem}
.official-cs-outline{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.38)}
.official-cs-outline:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.official-cs-contact{width:100%;justify-self:end;align-self:center;background:linear-gradient(145deg,rgba(255,248,231,.32),rgba(184,134,11,.2) 42%,rgba(112,12,33,.38));color:#fff;border:1px solid rgba(247,201,72,.42);border-radius:22px;padding:clamp(.95rem,1.8vw,1.2rem);box-shadow:0 20px 58px rgba(0,0,0,.24);backdrop-filter:blur(12px);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.official-cs-contact:hover{transform:translateY(-4px);border-color:rgba(247,201,72,.7);box-shadow:0 26px 70px rgba(0,0,0,.32)}
.official-cs-contact h2{font-size:clamp(1.1rem,1.7vw,1.35rem);margin:.25rem 0 .9rem;color:#fff}
.official-cs-hotline{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:-.35rem 0 .9rem;padding:.45rem .75rem;border:1px solid rgba(247,201,72,.42);border-radius:999px;background:rgba(15,25,35,.22);color:#F7C948;font-size:.82rem;font-weight:800;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.official-cs-hotline:hover{transform:translateY(-2px);border-color:rgba(247,201,72,.72);background:rgba(15,25,35,.34)}
.official-cs-contact .official-cs-kicker{color:#F7C948;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.official-cs-contact .official-cs-kicker::before{background:var(--gold)}
.official-cs-form{display:grid;grid-template-columns:1fr;gap:.64rem}
.official-cs-form label{display:flex;flex-direction:column;gap:.28rem;font-size:.68rem;font-weight:800;color:rgba(255,255,255,.78);text-transform:uppercase;letter-spacing:.04em}
.official-cs-form input,.official-cs-form textarea{width:100%;border:1px solid rgba(247,201,72,.3);border-radius:11px;background:rgba(15,25,35,.26);color:#fff;font:inherit;font-size:.86rem;padding:.64rem .75rem;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.official-cs-form textarea{resize:vertical;min-height:76px}
.official-cs-form input:-webkit-autofill{-webkit-text-fill-color:#fff;transition:background-color 9999s ease-in-out 0s}
.official-cs-form input:focus,.official-cs-form textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px rgba(200,16,46,.12)}
.official-cs-full{grid-column:1/-1}
.official-cs-form .form-consent-note{font-size:.68rem;line-height:1.45;color:rgba(255,255,255,.68);text-transform:none;letter-spacing:0;margin:.05rem 0 0;padding:.72rem .8rem;border-radius:12px;background:rgba(15,25,35,.18);border:1px solid rgba(247,201,72,.18)}
.official-cs-form .form-consent-note a{color:#F7C948;font-weight:800}
.official-cs-form .btn{width:100%;margin-top:.2rem}
.official-cs-form .form-status{font-size:.86rem;font-weight:700;margin:0;min-height:1.2rem}
.official-cs-form .form-status.is-success{color:#A7F3D0}
.official-cs-form .form-status.is-error{color:#FCA5A5}
@media (max-width:860px){
  .official-cs-page{align-items:start;padding:1rem;overflow:auto}
  .official-cs-shell{grid-template-columns:1fr;min-height:auto;gap:1rem;padding-top:4.8rem}
  .official-cs-brand{top:.25rem}
  .official-cs-content{min-height:auto;padding:2rem 0 1rem;max-width:100%}
  .official-cs-content h1{font-size:clamp(2.15rem,12vw,3.8rem);max-width:11ch}
  .official-cs-contact{justify-self:stretch}
}
@media (max-width:560px){
  .official-cs-form{grid-template-columns:1fr}
  .official-cs-actions{width:100%;align-items:stretch}
  .official-cs-actions .btn{width:100%}
}

/* ============================================================
   MATTA MEMBER REGISTRATION PREVIEW
   Standalone partner registration concept for subdomain review.
   ============================================================ */
.matta-register-page{background:#F6F7F9;color:var(--body)}
.matta-shell{width:min(1180px,100%);margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}
.matta-hero{position:relative;min-height:100vh;overflow:hidden;padding:clamp(1rem,2vw,1.5rem) 0 3rem;background:#0F1923;color:#fff}
.matta-hero-bg{position:absolute;inset:0;z-index:0;background:#0F1923}
.matta-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.04) contrast(1.04)}
.matta-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,25,35,.94),rgba(15,25,35,.78) 42%,rgba(112,12,33,.62))}
.matta-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:clamp(2rem,5vw,4rem)}
.matta-logo-main{height:clamp(48px,6vw,74px);width:auto;filter:drop-shadow(0 16px 28px rgba(0,0,0,.26))}
.matta-logo-pair{display:flex;align-items:center;gap:.9rem;padding:.55rem .85rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}
.matta-logo-pair span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#F7C948;white-space:nowrap}
.matta-logo-pair img{height:34px;width:auto;max-width:86px;object-fit:contain}
.matta-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,460px);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.matta-copy{max-width:680px}
.matta-kicker{display:inline-flex;align-items:center;gap:.55rem;font-size:.74rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#F7C948}
.matta-kicker::before{content:"";width:26px;height:2px;background:#F7C948}
.matta-copy h1{font-size:clamp(2.7rem,6.6vw,5.8rem);line-height:.95;color:#fff;margin:.9rem 0 1.1rem;max-width:10ch}
.matta-lead{max-width:42rem;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65;color:rgba(255,255,255,.84)}
.matta-hero-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin-top:1.15rem}
.matta-site-link{background:var(--red);color:#fff;border:1px solid rgba(255,255,255,.24);box-shadow:0 14px 30px rgba(200,16,46,.28)}
.matta-site-link:hover{background:var(--red-dk);border-color:rgba(247,201,72,.72);transform:translateY(-2px)}
.matta-proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:2rem}
.matta-proof-strip div{min-height:112px;padding:1rem;border:1px solid rgba(247,201,72,.28);border-radius:18px;background:linear-gradient(145deg,rgba(255,248,231,.14),rgba(200,16,46,.14));backdrop-filter:blur(8px);transition:transform .2s ease,border-color .2s ease}
.matta-proof-strip div:hover{transform:translateY(-4px);border-color:rgba(247,201,72,.58)}
.matta-proof-strip strong{display:block;color:#fff;font-size:.95rem;margin-bottom:.4rem}
.matta-proof-strip span{display:block;color:rgba(255,255,255,.68);font-size:.78rem;line-height:1.45}
.matta-form-card{background:linear-gradient(150deg,rgba(255,255,255,.92),rgba(255,248,231,.86));color:var(--ink);border:1px solid rgba(247,201,72,.5);border-radius:24px;padding:clamp(1rem,2.2vw,1.5rem);box-shadow:0 24px 68px rgba(0,0,0,.26);backdrop-filter:blur(10px);transition:transform .2s ease,box-shadow .2s ease}
.matta-form-card:hover{transform:translateY(-4px);box-shadow:0 30px 78px rgba(0,0,0,.32)}
.matta-form-card .matta-kicker{color:var(--red)}
.matta-form-card .matta-kicker::before{background:var(--gold)}
.matta-form-card h2{font-size:clamp(1.35rem,2.2vw,1.8rem);margin:.35rem 0 1rem}
.matta-form{display:grid;gap:.72rem}
.matta-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.72rem}
.matta-form label{display:flex;flex-direction:column;gap:.32rem;font-size:.68rem;font-weight:800;color:var(--ink);letter-spacing:.045em;text-transform:uppercase}
.matta-form input,.matta-form select,.matta-form textarea{width:100%;border:1.5px solid #D3D7DE;border-radius:11px;background:rgba(255,255,255,.82);color:var(--ink);font:inherit;font-size:.84rem;padding:.63rem .72rem;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.matta-form textarea{resize:vertical;min-height:76px}
.matta-form input:focus,.matta-form select:focus,.matta-form textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px rgba(200,16,46,.11);background:#fff}
.matta-form input:disabled,.matta-form select:disabled,.matta-form textarea:disabled{background:#EEF0F3;color:#8A9099;cursor:not-allowed}
.matta-consent{display:grid !important;grid-template-columns:auto 1fr;align-items:start;gap:.55rem !important;padding:.72rem;border-radius:13px;background:rgba(15,25,35,.05);border:1px solid rgba(184,134,11,.18);font-size:.68rem !important;font-weight:600 !important;line-height:1.45;text-transform:none !important;letter-spacing:0 !important;color:var(--muted) !important}
.matta-consent input{width:16px;height:16px;margin-top:.1rem;accent-color:var(--red)}
.matta-consent a{color:var(--red);font-weight:800}
.matta-form .btn{width:100%;margin-top:.1rem}
.matta-form .form-status{min-height:1rem;font-size:.82rem;font-weight:800;margin:0}
.matta-form .form-status.is-success{color:var(--green)}
.matta-section{padding:clamp(3rem,6vw,5rem) 0;background:#F6F7F9}
.matta-section-head{max-width:720px;margin-bottom:2rem}
.matta-section-head h2,.matta-offer-grid h2{font-size:clamp(1.9rem,4vw,3rem);margin:.7rem 0 .85rem}
.matta-section-head p,.matta-offer-grid p{font-size:1rem;line-height:1.7;color:var(--muted)}
.matta-path{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.matta-path article{position:relative;min-height:210px;padding:1.35rem;border-radius:20px;background:#fff;border:1.5px solid rgba(200,16,46,.18);box-shadow:var(--sh-md);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.matta-path article:hover{transform:translateY(-5px);border-color:rgba(200,16,46,.42);box-shadow:var(--sh-lg)}
.matta-path article span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--red-soft);color:var(--red);font-weight:800;margin-bottom:1.6rem}
.matta-path h3{font-size:1.05rem;margin-bottom:.45rem}
.matta-path p{font-size:.9rem;line-height:1.58;color:var(--muted)}
.matta-section-dark{background:#0F1923;color:#fff}
.matta-offer-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1fr);gap:clamp(1.4rem,4vw,4rem);align-items:center}
.matta-offer-grid h2{color:#fff}
.matta-offer-list{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.matta-offer-list div{padding:1.1rem;border:1px solid rgba(247,201,72,.28);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(200,16,46,.12));transition:transform .2s ease,border-color .2s ease}
.matta-offer-list div:hover{transform:translateY(-4px);border-color:rgba(247,201,72,.62)}
.matta-offer-list strong{display:block;color:#fff;margin-bottom:.4rem}
.matta-offer-list span{display:block;color:rgba(255,255,255,.66);font-size:.86rem;line-height:1.5}
@media (max-width:960px){
  .matta-hero-grid,.matta-offer-grid{grid-template-columns:1fr}
  .matta-copy h1{max-width:12ch}
  .matta-form-card{max-width:620px;width:100%}
  .matta-path{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:660px){
  .matta-hero{min-height:auto}
  .matta-top{align-items:flex-start;flex-direction:column}
  .matta-logo-pair{border-radius:16px}
  .matta-proof-strip,.matta-path,.matta-offer-list{grid-template-columns:1fr}
  .matta-form-row{grid-template-columns:1fr}
}

.matta-interest-hero .matta-hero-bg img{object-position:center}
.matta-interest-hero .matta-hero-bg::after{background:linear-gradient(90deg,rgba(15,25,35,.94),rgba(15,25,35,.76) 46%,rgba(112,12,33,.56))}
.matta-interest-grid{grid-template-columns:minmax(0,.72fr) minmax(400px,540px);gap:clamp(1.8rem,5vw,5rem)}
.matta-interest-page .matta-copy{max-width:590px}
.matta-interest-page .matta-copy h1{max-width:12ch;font-size:clamp(2.35rem,5.3vw,4.8rem)}
.matta-interest-page .matta-lead{max-width:35rem}
.matta-interest-form-card{background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(255,248,231,.9))}
.matta-form label em{font-style:normal;font-weight:700;color:var(--muted);text-transform:none;letter-spacing:0}
.matta-address-row{grid-template-columns:.75fr 1.25fr 1fr}
.matta-interest-strip div{min-height:118px}
.matta-interest-section{background:linear-gradient(180deg,#F8F9FB,#fff)}
.matta-interest-path article{min-height:178px}
@media (max-width:960px){
  .matta-interest-grid{grid-template-columns:1fr}
  .matta-interest-page .matta-copy{max-width:720px}
  .matta-address-row{grid-template-columns:1fr 1fr}
  .matta-address-row label:last-child{grid-column:1/-1}
}
@media (max-width:660px){
  .matta-address-row{grid-template-columns:1fr}
  .matta-address-row label:last-child{grid-column:auto}
}

/* ============================================================
   TOP UTILITY BAR + HEADER
   ============================================================ */
.topbar{background:#24272B;color:#C8CBCF;font-size:.85rem;position:sticky;top:0;z-index:61}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:2.75rem;gap:1rem}
.topbar-left{display:flex;align-items:center;gap:1.75rem}
.topbar-left>*{margin-right:1.75rem}
.topbar-left>*:last-child{margin-right:0}
.topbar a{display:flex;align-items:center;gap:.45rem;color:#C8CBCF;font-weight:400}
.topbar a:hover{color:#fff}
.topbar svg{width:14px;height:14px;flex:none}
.topbar-right{display:flex;align-items:center;gap:1.5rem}
.topbar-right>*{margin-right:1.5rem}
.topbar-right>*:last-child{margin-right:0}
.lang-toggle{display:flex;align-items:center;background:#3A3D42;border-radius:999px;padding:2px}
.lang-toggle button{padding:.3rem .85rem;border-radius:999px;font-size:.78rem;font-weight:700;color:#C8CBCF}
.lang-toggle button.active{background:var(--red);color:#fff}
header#site-header{position:sticky;top:2.75rem;z-index:60;background:#fff;border-bottom:1px solid var(--border)}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:4.6rem;gap:1rem}
.logo{display:flex;align-items:center;gap:.65rem}
.logo-img{height:2.7rem;width:auto;display:block}
.logo-chip{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:.4rem .6rem}
.logo-chip .logo-img{height:2.1rem}

nav.primary-nav{display:flex;align-items:center;gap:clamp(1.35rem,2vw,2.25rem)}
nav.primary-nav a{font-size:.92rem;font-weight:600;color:var(--body);position:relative;padding:.3rem 0}
nav.primary-nav a:hover, nav.primary-nav a.active, .nl-dd-btn:hover{color:var(--red)}
nav.primary-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--red)}

.nl-dropdown{position:relative}
.nl-dd-btn{display:flex;align-items:center;gap:.35rem;font-size:.92rem;font-weight:600;color:var(--body);padding:.3rem 0}
.nl-dd-btn svg{width:13px;height:13px;transition:transform .18s ease}
.nl-dropdown:hover .nl-dd-btn, .nl-dropdown:focus-within .nl-dd-btn{color:var(--red)}
.nl-dropdown:hover .nl-dd-btn svg, .nl-dropdown:focus-within .nl-dd-btn svg{transform:rotate(180deg)}
.nl-dropdown::after{content:"";position:absolute;top:100%;left:0;right:0;height:1rem;z-index:65}
.dd-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:1rem;background:var(--white);border:1px solid var(--border2);border-radius:var(--r);box-shadow:var(--sh-lg);padding:.6rem;width:300px;display:none;z-index:70}
.nl-dropdown:hover .dd-menu, .nl-dropdown:focus-within .dd-menu{display:block}
.ddi{display:flex;align-items:center;gap:.8rem;padding:.72rem .65rem;border-radius:10px}
.ddi:hover{background:var(--off)}
.ddi-icon{display:none}
.ddi-name{display:block;font-size:.87rem;font-weight:700;color:var(--ink)}
.ddi-sub{display:block;font-size:.74rem;color:var(--muted);margin-top:.1rem}

/* Services hover panel — photo + brief intro on the left, plain option list on the right */
.dd-menu-services{width:600px;padding:1.6rem;grid-template-columns:190px 1fr;gap:1.9rem;text-align:left}
.nl-dropdown:hover .dd-menu-services, .nl-dropdown:focus-within .dd-menu-services, .nl-dropdown.is-open .dd-menu-services{display:grid}
.dd-menu-about{width:560px}
.dd-menu-media img{width:100%;height:130px;object-fit:cover;border-radius:10px;display:block}
.dd-menu-media h4{margin-top:.85rem;font-size:1.05rem;color:var(--ink);font-family:var(--font-display)}
.dd-menu-media p{margin-top:.35rem;font-size:.78rem;color:var(--muted);line-height:1.5}
.dd-menu-list{display:flex;flex-direction:column}
.dd-menu-list a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.68rem .2rem;border-bottom:1px solid var(--border2);font-size:.95rem;font-weight:700;color:var(--ink);transition:color .18s ease,padding-left .18s ease}
.dd-menu-list a:last-child{border-bottom:0}
.dd-menu-list a svg{display:none}
.dd-menu-list a:hover{color:var(--red);padding-left:.4rem}
.dd-menu-list a:hover svg{opacity:1;transform:translateX(0);color:var(--red)}
@media (max-width:1120px){.dd-menu-services{width:92vw;grid-template-columns:1fr}}

.header-cta{display:flex;align-items:center;gap:.9rem}
.mobile-toggle{display:none;width:2.6rem;height:2.6rem;align-items:center;justify-content:center}
.mobile-toggle svg{width:24px;height:24px}
#mobileMenu{display:none;position:fixed;inset:7.35rem 0 0 0;background:var(--white);z-index:59;padding:1.5rem;overflow-y:auto}
#mobileMenu.open{display:none}
#mobileMenu a{display:block;padding:1rem 0;font-size:1.05rem;font-weight:700;border-bottom:1px solid var(--border2)}
.mobile-menu-group{border-bottom:1px solid var(--border2)}
.mobile-menu-parent{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 0;font-size:1.05rem;font-weight:800;color:var(--ink)}
.mobile-menu-parent svg{width:16px;height:16px;transition:transform .18s ease}
.mobile-menu-parent[aria-expanded="true"]{color:var(--red)}
.mobile-menu-parent[aria-expanded="true"] svg{transform:rotate(180deg)}
.mobile-submenu{padding:.2rem 0 .75rem}
#mobileMenu .mobile-submenu a{padding:.65rem 0 .65rem 1rem;font-size:.94rem;font-weight:650;color:var(--body);border-bottom:0}
#mobileMenu .mobile-submenu a:hover{color:var(--red)}
#mobileMenu .mobile-ticket-cta{width:min(220px,100%);margin:1.4rem auto 0;padding:.78rem 1.25rem;display:flex;justify-content:center;border-bottom:0;font-size:.95rem;box-shadow:0 12px 28px rgba(200,16,46,.18)}

@media (max-width:1120px){
  nav.primary-nav{display:none}
  .header-cta .btn-primary{display:none}
  .mobile-toggle{display:flex}
  .hide-sm{display:none}
  #mobileMenu.open{display:block}
  #mobileMenu{inset:11.9rem 0 0 0}
}
@media (max-width:720px){
  .topbar-left a:nth-child(2){display:none}
  .topbar .wrap{height:2.5rem}
  header#site-header{top:2.5rem}
  #mobileMenu{inset:11.65rem 0 0 0}
}
@media (max-width:560px){
  .topbar-right,
  .topbar-right>*{gap:.5rem;margin-right:.5rem}
  .lang-toggle button{padding:.25rem .58rem}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;color:#fff;overflow:hidden}
.hero .wrap{position:relative;z-index:1;padding-top:5.2rem;padding-bottom:6.5rem}
.hero-badge-pill{display:inline-flex;align-items:center;gap:.55rem;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);padding:.45rem .95rem;border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff;backdrop-filter:blur(6px)}
.hero-badge-pill .dot{width:7px;height:7px;border-radius:50%;background:#3ED598}
.hero h1{font-size:clamp(2.3rem,5vw,4rem);color:#fff;margin-top:1.4rem;max-width:30ch}
.hero h1 .accent{color:var(--gold-mid)}
.hero-sub{max-width:44ch;color:rgba(255,255,255,.78);font-size:1.12rem;line-height:1.65;margin-top:1.35rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.2rem}
.hero-actions .btn{padding:1rem 1.9rem;font-size:.95rem}

.hero-trustbar{margin-top:2.6rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18);display:flex;flex-wrap:wrap;gap:1.6rem 2.2rem}
.hero-trustbar span{display:flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:600;color:rgba(255,255,255,.82)}
.hero-trustbar svg{width:16px;height:16px;color:var(--gold-mid);flex:none}

.hero-stats{display:flex;gap:0;margin-top:2.4rem;flex-wrap:wrap}
.hero-stats .stat{padding:0 2.2rem;border-right:1px solid rgba(255,255,255,.18)}
.hero-stats .stat:first-child{padding-left:0}
.hero-stats .stat:last-child{border-right:0}
.hero-stats .num{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);color:#fff;font-weight:700}
.hero-stats .lbl{font-size:.8rem;color:rgba(255,255,255,.62);font-weight:600;margin-top:.15rem}
@media (max-width:640px){.hero-stats .stat{padding:0 1.1rem 0 0;margin-right:1.1rem;border-right:0}}

/* ============================================================
   TICKET BOOKING WIDGET (overlaps hero bottom edge)
   ============================================================ */
.booking-wrap{margin-top:-4.2rem;position:relative;z-index:5}
.selector{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden;border:1px solid var(--border2)}
.selector-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--border2);background:var(--off)}
.selector-tabs button{flex:none;padding:1.1rem 1.5rem;font-size:.88rem;font-weight:700;color:var(--muted);border-bottom:3px solid transparent}
.selector-tabs button[aria-selected="true"]{color:var(--red);border-color:var(--red);background:#fff}
.selector-panel{padding:1.9rem 2rem 1.6rem}
.selector-grid{display:grid;grid-template-columns:1fr 1fr 1fr .8fr auto;gap:1.1rem;align-items:end}
@media (max-width:920px){.selector-grid{grid-template-columns:1fr 1fr}}
.field label{display:block;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.45rem}
.field select,.field input{width:100%;border:1.5px solid var(--border);border-radius:var(--r-sm);padding:.75rem .85rem;background:#fff;color:var(--ink);font-weight:600;font-size:.92rem;outline:none}
.field select:focus,.field input:focus{border-color:var(--red)}
.field-input{display:flex;align-items:center;gap:.55rem;border:1.5px solid var(--border);border-radius:var(--r-sm);padding:.75rem .85rem;background:#fff}
.field-input:focus-within{border-color:var(--red)}
.field-input svg{width:17px;height:17px;color:var(--muted);flex:none}
.field-input select,.field-input input{border:none;outline:none;width:100%;background:transparent;color:var(--ink);font-weight:600;font-size:.92rem;padding:0}
.selector-note{margin-top:1.1rem;font-size:.82rem;color:var(--muted)}


/* ============================================================
   SERVICES - WHAT WE DELIVER
   ============================================================ */
.services-sec{padding:96px 48px;background:var(--off)}
.sec-hdr{
  display:flex;justify-content:space-between;
  align-items:flex-end;margin-bottom:44px;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--red);margin-bottom:12px;
}
.eyebrow::before{content:'';width:18px;height:2px;background:var(--red);border-radius:1px}
.sec-h2{
  font-family:'Fraunces',serif;font-weight:800;
  font-size:clamp(28px,3.5vw,46px);
  line-height:1.06;letter-spacing:-1.5px;
  color:var(--ink);margin-bottom:10px;
}
.sec-h2 em{color:var(--red);font-style:italic}
.sec-lead{font-size:15px;line-height:1.74;color:var(--muted);max-width:560px}
.see-all{
  font-size:13px;font-weight:600;color:var(--red);
  display:inline-flex;align-items:center;gap:5px;
  transition:gap .15s;cursor:pointer;white-space:nowrap;
}
.see-all:hover{gap:9px}

/* Service cards grid — 3 col, 2 rows = 6 */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc-card{
  display:flex;flex-direction:column;color:inherit;
  background:white;border:1px solid var(--border);
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-sm);transition:all .22s;cursor:pointer;
}
.svc-card:hover{box-shadow:var(--sh-lg);transform:translateY(-5px);border-color:transparent}
.svc-thumb{
  height:260px;position:relative;overflow:hidden;
  background-size:cover;background-position:center;
}
.svc-thumb::after{
  content:'';position:absolute;inset:auto 0 0 0;
  height:55%;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.52));
}
.svc-thumb-lbl{display:none}
.svc-arrow{
  position:absolute;top:11px;right:11px;z-index:2;
  width:27px;height:27px;background:rgba(255,255,255,.14);
  backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.22);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:11px;color:white;transition:all .2s;
}
.svc-card:hover .svc-arrow{background:var(--red);border-color:var(--red)}
.svc-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.svc-cat{font-size:9.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.svc-name{font-weight:800;font-size:17px;color:var(--ink);margin-bottom:8px;letter-spacing:-.3px}
.svc-desc{font-size:13px;line-height:1.64;color:var(--muted);margin-bottom:12px}
.svc-badge{
  display:inline-flex;align-items:center;gap:4px;
  font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;
  margin-top:auto;align-self:flex-start;
}
@media (max-width:1020px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.svc-grid{grid-template-columns:1fr}.svc-thumb{height:210px}}


/* ============================================================
   SERVICE ALERTS + JOURNEY PLANNER
   ============================================================ */
.util-card{border-radius:var(--r-lg);padding:2.1rem;border:1px solid var(--border2)}
.util-card.alerts{background:var(--ink);color:#fff}
.util-card-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem}
.util-icon{width:2.9rem;height:2.9rem;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none}
.util-card.alerts .util-icon{background:rgba(200,16,46,.22);color:#FF8FA0}
.util-card-head h3{font-size:1.2rem;color:inherit;margin:0}
.util-card-head .sub{font-size:.8rem;color:var(--muted);margin-top:.15rem}
.util-card.alerts .util-card-head .sub{color:#9BA5B5}

.alert-item{display:flex;gap:.85rem;padding:.95rem 0;border-top:1px solid rgba(255,255,255,.12)}
.alert-item:first-of-type{border-top:none}
.alert-flag{width:8px;height:8px;border-radius:50%;margin-top:.4rem;flex:none}
.alert-flag.warn{background:var(--gold-mid)}
.alert-flag.info{background:#5FB8FF}
.alert-item h4{font-family:var(--font-body);font-size:.92rem;font-weight:700;color:#fff}
.alert-item p{font-size:.82rem;color:#A7B0C0;margin-top:.2rem}
.alert-item time{font-size:.72rem;color:#6E7889;display:block;margin-top:.3rem}
.util-card.alerts .btn{margin-top:1.4rem}

/* ============================================================
   NEWS
   ============================================================ */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem}
@media (max-width:920px){.grid3{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.grid3{grid-template-columns:1fr}}
.news-card{border-radius:var(--r);overflow:hidden;border:1px solid var(--border2);background:#fff;transition:box-shadow .2s ease, transform .2s ease}
.news-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.news-thumb.t2{background:linear-gradient(135deg,#7A1120,var(--red))}
.news-thumb.t3{background:linear-gradient(135deg,#8A6A0B,var(--gold))}
.news-thumb .tag{position:absolute;left:1rem;top:1rem;background:rgba(255,255,255,.92);color:var(--ink);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.35rem .7rem;border-radius:999px}
.news-body{padding:1.4rem 1.5rem 1.6rem}
.news-body time{font-size:.75rem;color:var(--muted);font-weight:600}
.news-body h3{font-family:var(--font-body);font-size:1.05rem;font-weight:800;color:var(--ink);margin-top:.5rem;line-height:1.4}
.news-body p{font-size:.88rem;color:var(--muted);margin-top:.55rem;line-height:1.55}
.news-buckets{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.2rem}
.news-bucket{background:#fff;border:1px solid var(--border2);border-radius:var(--r);padding:1rem;text-align:left;color:var(--ink);transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.news-bucket span{display:block;font-size:.85rem;font-weight:800;line-height:1.3}
.news-bucket small{display:block;font-size:.72rem;color:var(--muted);margin-top:.25rem;line-height:1.35}
.news-bucket:hover{transform:translateY(-2px);border-color:var(--red)}
.news-bucket.active{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 14px 26px rgba(200,16,46,.2)}
.news-bucket.active small{color:rgba(255,255,255,.78)}
.home-news-grid-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.home-news-grid-compact .news-card{display:grid;grid-template-columns:180px 1fr;min-height:170px}
.home-news-grid-compact .news-thumb{height:100%}
.home-news-grid-compact .news-body{padding:1.1rem 1.2rem}
.home-news-grid-compact .news-body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-read{display:inline-flex;margin-top:.9rem;font-size:.78rem;font-weight:800;color:var(--red)}
@media (max-width:860px){.news-buckets{grid-template-columns:1fr}.home-news-grid-compact{grid-template-columns:1fr}.home-news-grid-compact .news-card{grid-template-columns:140px 1fr}}
@media (max-width:560px){.home-news-grid-compact .news-card{grid-template-columns:1fr}.home-news-grid-compact .news-thumb{height:170px}}

/* ============================================================
   SOCIAL MEDIA
   ============================================================ */
.social-follow{display:flex;gap:.75rem;margin-top:2.2rem;flex-wrap:wrap;justify-content:center}
.social-follow a{display:flex;align-items:center;gap:.5rem;min-height:42px;font-size:.84rem;font-weight:800;color:var(--ink);border:1.5px solid #f0b9c3;background:linear-gradient(145deg,#fff,#fff7f8);padding:.58rem 1rem;border-radius:999px;box-shadow:var(--sh-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease}
.social-follow a:hover{transform:translateY(-2px);border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 14px 28px -18px rgba(207,10,44,.62)}
.social-follow svg{width:16px;height:16px;flex:none}

/* ═══════════════════════════════════════════════════
   PEOPLE — VOICES BEHIND EVERY JOURNEY
═══════════════════════════════════════════════════ */
.voices-sec{padding:96px 48px;background:white}
.voices-hdr{text-align:center;margin-bottom:52px}
.voices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:920px){.voices-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.voices-grid{grid-template-columns:1fr}}
.voice-card{
  background:#fff;border:1px solid var(--border2);
  border-top:4px solid var(--red);
  border-radius:var(--r-lg);padding:30px;
  position:relative;box-shadow:var(--sh-sm);
  transition:all .22s;
}
.voice-card:hover{box-shadow:var(--sh-lg);transform:translateY(-3px)}
.voice-card::after{
  content:'';position:absolute;bottom:-12px;left:28px;
  width:22px;height:12px;background:#fff;
  clip-path:polygon(0 0,100% 0,50% 100%);
}
.vc-type{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;
  margin-bottom:14px;letter-spacing:.3px;text-transform:uppercase;
}
.vc-stars{color:var(--gold);font-size:13px;letter-spacing:1px;margin-bottom:14px}
.vc-quote{
  font-size:14px;line-height:1.74;color:var(--body);
  font-style:italic;margin-bottom:20px;
}
.vc-who{display:flex;align-items:center;gap:12px;margin-top:14px}
.vc-av{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;color:white;flex-shrink:0;
}
.vc-name{font-weight:700;font-size:13px;color:var(--ink);margin-bottom:2px}
.vc-role{font-size:11px;color:var(--muted);line-height:1.4}

/* ============================================================
   APP DOWNLOAD
   ============================================================ */
.app-section{background:var(--ink);border-radius:var(--r-lg);overflow:hidden;position:relative}
.app-section::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(600px 300px at 85% 20%, rgba(200,16,46,.35), transparent 70%)}
.app-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem;position:relative;z-index:1}
@media (max-width:860px){.app-grid{grid-template-columns:1fr}.phone-mockup-wrap{display:none}}
.app-copy{padding:3.2rem clamp(1.5rem,4vw,3.5rem)}
.app-copy .eyebrow{color:var(--gold-mid)}
.app-copy .eyebrow::before{background:var(--gold-mid)}
.app-copy h2{color:#fff;font-size:clamp(1.7rem,3vw,2.3rem);margin-top:.7rem}
.app-copy>p{color:#A7B0C0;margin-top:1rem;max-width:38ch;line-height:1.6}
.app-features{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;margin-top:1.8rem}
@media (max-width:560px){.app-features{grid-template-columns:1fr}.store-badge{width:100%;justify-content:center}.app-copy{padding:2.2rem 1.2rem}}
.app-feat{display:flex;align-items:flex-start;gap:.7rem}
.app-feat .ic{width:2.1rem;height:2.1rem;border-radius:8px;background:rgba(200,16,46,.22);display:flex;align-items:center;justify-content:center;flex:none;color:#FF8FA0}
.app-feat .ic svg{width:14px;height:14px}
.app-feat b{display:block;color:#fff;font-size:.88rem;font-weight:700}
.app-feat span{font-size:.78rem;color:#8A93A6}
.app-store-badges{display:flex;gap:.85rem;margin-top:2.1rem;flex-wrap:wrap}
.store-badge{display:flex;align-items:center;gap:.6rem;background:#fff;color:var(--ink);padding:.65rem 1.1rem;border-radius:10px;font-weight:700}
.store-badge svg{width:22px;height:22px}
.store-badge small{display:block;font-size:.62rem;color:var(--muted);font-weight:600}
.store-badge span{font-size:.92rem;line-height:1.1}

.phone-mockup-wrap{display:flex;justify-content:center;padding:2.5rem 2rem}
.phone{width:230px;height:470px;border-radius:36px;background:linear-gradient(160deg,#232629,#0F1114);padding:10px;box-shadow:0 30px 60px rgba(0,0,0,.45);position:relative}
.phone-screen{width:100%;height:100%;border-radius:28px;background:linear-gradient(165deg,var(--red) 0%, var(--red-dk) 55%, #4A0A15 100%);position:relative;overflow:hidden;display:flex;flex-direction:column}
.phone-notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:70px;height:18px;background:#0F1114;border-radius:12px;z-index:2}
.phone-appicon-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}
.phone-appicon{width:118px;height:118px;border-radius:28px;background:#fff;box-shadow:0 18px 34px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.25) inset;display:flex;align-items:center;justify-content:center;overflow:hidden}
.phone-appicon img{width:78%;height:78%;object-fit:contain}
.phone-appicon-label{color:#fff;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.02em}
.phone-tabbar{margin-top:auto;background:rgba(0,0,0,.18);height:52px;display:flex;align-items:center;justify-content:space-around}
.phone-tabbar span{width:16px;height:16px;border-radius:4px;background:rgba(255,255,255,.35)}
.phone-tabbar span:first-child{background:#fff}
.app-section-compact{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;padding:2rem clamp(1.25rem,3vw,2rem)}
.app-section-compact::before{background:radial-gradient(420px 220px at 90% 10%, rgba(228,185,79,.22), transparent 70%)}
.app-section-compact .app-copy{padding:0;position:relative;z-index:1}
.app-section-compact .app-copy h2{font-size:clamp(1.35rem,2.6vw,1.9rem)}
.app-section-compact .app-copy>p{max-width:56ch}
.app-status-card{position:relative;z-index:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:1rem;min-width:250px}
.app-status-card .store-badge{width:100%;justify-content:center}
.app-status-card p{margin-top:.7rem;font-size:.78rem;line-height:1.45;color:#A7B0C0;text-align:center}
.app-badge{position:static;transform:none;margin:0 auto .8rem;width:max-content}
@media (max-width:760px){
  .app-section-compact{grid-template-columns:1fr;padding:1.45rem}
  .app-status-card{min-width:0;padding:.85rem}
  .app-section-compact .app-copy h2{font-size:1.28rem}
  .app-section-compact .app-copy>p{font-size:.9rem;line-height:1.55}
  .app-status-card p{display:none}
}


/* ============================================================
   FOOTER
   ============================================================ */
footer#site-footer{background:var(--ink2);color:#B7C0CE}
.footer-top{padding:4.5rem 0 3rem}
.footer-grid{display:grid;grid-template-columns:minmax(260px,1.35fr) .8fr 1.15fr 1fr;gap:2.2rem;align-items:start}
@media (max-width:920px){.footer-grid{grid-template-columns:1fr 1fr;row-gap:2.4rem}}
@media (max-width:620px){.footer-grid{grid-template-columns:1fr}.footer-top{padding:3.2rem 0 2.4rem}}
.footer-brand .logo-word b{color:#fff}
.footer-brand p{font-size:.86rem;color:#8A93A6;margin-top:1rem;line-height:1.6;max-width:30ch}
.footer-contact{margin-top:1.3rem;display:flex;flex-direction:column;gap:.6rem}
.footer-contact a{display:flex;align-items:center;gap:.55rem;font-size:.84rem;color:#B7C0CE}
.footer-contact svg{width:15px;height:15px;color:var(--gold-mid);flex:none}
.footer-col h4{font-family:var(--font-body);color:#fff;font-size:.84rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.1rem}
.footer-col ul{display:flex;flex-direction:column;gap:.58rem}
.footer-col a{font-size:.86rem;color:#9AA3B2}
.footer-col a:hover{color:#fff}
.footer-news p{font-size:.84rem;color:#9AA3B2;line-height:1.6;margin-bottom:1rem}
.newsletter{display:flex;gap:.5rem}
.newsletter input{flex:1;background:rgba(255,255,255,.06);border:1px solid #33404E;border-radius:8px;padding:.7rem .85rem;color:#fff;font-size:.85rem}
.newsletter input::placeholder{color:#6E7889}
.newsletter button{background:var(--red);color:#fff;padding:.7rem 1.1rem;border-radius:8px;font-weight:700;font-size:.85rem;flex:none}
.footer-social{display:flex;gap:.7rem;margin-top:1.3rem}
.footer-social a{width:2.2rem;height:2.2rem;border-radius:50%;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center}
.footer-social svg{width:14px;height:14px;color:#B7C0CE}
.footer-social a:hover{background:var(--red)}
.footer-social a:hover svg{color:#fff}

.footer-bottom{border-top:1px solid #26313E;padding:1.5rem 0}
.footer-bottom .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-size:.78rem;color:#7C8697}
.footer-legal{display:flex;gap:1.4rem}
.footer-legal a{font-size:.78rem;color:#7C8697}
.footer-legal a:hover{color:#fff}
.footer-col.footer-services ul{display:grid;grid-template-columns:1fr 1fr;gap:.58rem 1.1rem}
@media (max-width:620px){.footer-col.footer-services ul{grid-template-columns:1fr}}

/* ---------- Chat widget ---------- */
.chat-fab{position:fixed;right:20px;bottom:20px;z-index:400;width:3.6rem;height:3.6rem;border-radius:50%;border:0;cursor:pointer;background:linear-gradient(135deg,var(--red),var(--red-dk));color:#fff;box-shadow:0 12px 28px rgba(200,16,46,.4);display:flex;align-items:center;justify-content:center;transition:transform .18s}
.chat-fab:hover{transform:scale(1.06)}
.chat-fab svg{width:24px;height:24px}
.chat-panel{position:fixed;right:20px;bottom:96px;z-index:401;width:360px;max-width:calc(100vw - 40px);background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-lg);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;max-height:min(560px,calc(100vh - 140px))}
.chat-panel[hidden]{display:none}
.chat-head{background:var(--ink);color:#fff;padding:.9rem 1.1rem;display:flex;justify-content:space-between;align-items:center}
.chat-head .t{font-weight:700;font-size:.95rem}
.chat-head .s{font-size:.74rem;color:#A8AEB5}
.chat-head button{background:transparent;border:0;color:#fff;font-size:1.2rem;cursor:pointer;line-height:1}
.chat-log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;background:var(--off)}
.chat-msg{max-width:85%;padding:.6rem .8rem;border-radius:12px;font-size:.86rem;line-height:1.5}
.chat-msg.bot{background:#fff;border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:3px}
.chat-msg.bot a{color:var(--red);font-weight:600}
.chat-msg.me{background:var(--red);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.chat-quick{padding:.7rem;display:flex;gap:.4rem;flex-wrap:wrap;border-top:1px solid var(--border);background:#fff}
.chat-quick button{font-family:inherit;font-size:.78rem;font-weight:600;padding:.4rem .7rem;border-radius:999px;border:1.5px solid var(--border);background:#fff;color:var(--body);cursor:pointer}
.chat-quick button:hover{border-color:var(--red);color:var(--red)}
@media (max-width:480px){.chat-panel{right:10px;left:10px;width:auto}}

/* small helpers */
.reveal{opacity:1}
.text-center{text-align:center}
.mt2{margin-top:2rem}

/* ============================================================
   HOME PAGE
   ============================================================ */
.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url('../img/MAIN BANNER ABOUT US.jpg');background-size:cover;background-position:center 40%;z-index:0}
.hero-bg::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(125deg,#16222E 0%,#0F1923 45%,#5C1220 85%,#8B0D1E 130%);opacity:.50}
.hero-bg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(180deg, transparent, rgba(0,0,0,.45));}
.about-hero .hero-bg::before{background:linear-gradient(105deg,rgba(15,25,35,.88) 0%,rgba(15,25,35,.68) 48%,rgba(184,134,11,.18) 100%);opacity:1}
.about-hero .hero-bg::after{height:45%;background:linear-gradient(180deg,transparent,rgba(15,25,35,.52))}
.about-hero .hero-badge-pill{background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.82);color:var(--red);box-shadow:0 10px 24px rgba(0,0,0,.16)}
.about-hero .hero-badge-pill .dot{background:var(--gold-mid)}
.stats-card,.news-card,.social-card,.voice-card{background:var(--white)}
.news-home-section{background:linear-gradient(180deg,#F7F8FA 0%,#FFFFFF 100%)}
section#app{background:linear-gradient(180deg,#FFFFFF 0%,#F6F7F9 100%)}
section#service-alerts{background:#F6F7F9}
.affil-sec{background:#F7F8FA}
.enquiry-pane{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.enquiry-pane p{margin:0;max-width:34rem;font-size:.95rem;line-height:1.6;color:var(--body)}
.enquiry-pane p strong{color:var(--ink)}
.btn-gold{background:var(--gold-mid);color:var(--ink);box-shadow:0 10px 24px -10px rgba(228,185,79,.55)}
.btn-gold:hover{background:var(--gold);color:#fff;transform:translateY(-2px)}

.news-thumb{height:170px;position:relative;background:linear-gradient(135deg,var(--ink2),var(--ink3));overflow:hidden}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:100%}
.social-grid-curated{grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%;margin-inline:auto}
@media (max-width:900px){.social-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.social-grid{grid-template-columns:1fr}}
.social-card{display:flex;flex-direction:column;height:100%;border:1.5px solid #f0b9c3;border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:var(--sh-sm);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.social-card-link:hover .social-card{transform:translateY(-5px);border-color:var(--red);box-shadow:0 22px 44px -26px rgba(207,10,44,.58)}
.social-tile{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;background:linear-gradient(160deg,var(--ink2),var(--ink))}
.social-tile.g1{background:linear-gradient(160deg,#6E0000,#C8102E)}
.social-tile.g2{background:linear-gradient(160deg,#3B1466,#7A3FC9)}
.social-tile.g3{background:linear-gradient(160deg,#02341F,#0E7C4A)}
.social-tile.g4{background:linear-gradient(160deg,#0B2545,#1D4ED8)}
.social-grid-curated .social-tile{aspect-ratio:16/10;background:linear-gradient(145deg,#fff7f8,#fff);border-bottom:1px solid #ef9aaa;border-radius:0}
.social-tile .dots{position:absolute;left:.85rem;top:.85rem;display:flex;gap:3px}
.social-tile .dots span{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.85)}
.social-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.social-grid-curated .social-tile img{object-fit:cover;background:#fff}
.social-card-link:hover .social-tile img{transform:scale(1.04)}
.social-platform-badge{position:absolute;left:.75rem;bottom:.75rem;z-index:2;display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:rgba(15,25,35,.86);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:.4rem .62rem}
.social-play{position:absolute;right:.75rem;bottom:.75rem;z-index:2;width:2.15rem;height:2.15rem;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;color:var(--red);box-shadow:var(--sh-sm)}
.social-play::before{content:"";display:block;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor;margin-left:2px}
.social-meta{padding:1rem 1.05rem 1.15rem;margin-top:0}
.social-meta h4{font-size:.85rem;font-weight:700;color:var(--ink);line-height:1.38;margin-bottom:.4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.social-meta .byline{font-size:.78rem;color:var(--muted)}
/* ============================================================
   FLOATING AI ASSISTANT
   ============================================================ */

/* ============================================================
   TOAST
   ============================================================ */
.toast{position:fixed;left:50%;bottom:1.75rem;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:.85rem 1.4rem;border-radius:12px;box-shadow:var(--sh-lg);display:flex;align-items:center;gap:.6rem;font-size:.88rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;z-index:80}
.toast svg{width:18px;height:18px;color:#3ED598;flex:none}
.toast.show{opacity:1;transform:translate(-50%,0)}
/* ============================================================
   INSTITUTIONAL AFFILIATIONS + STRATEGIC PARTNERS
   ============================================================ */
.affil-sec{background:#fff;padding:1.75rem 3rem 2.4rem;border-bottom:1px solid var(--border2)}
.affil-lbl{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:1.4rem}
.affil-row{display:flex;align-items:center;justify-content:center;gap:1.75rem 2.75rem;flex-wrap:wrap}
.affil-row a{display:flex;align-items:center;justify-content:center;transition:opacity .15s ease}
.affil-row a:hover{opacity:.75}
.affil-icon{width:5.5rem;height:2.4rem;object-fit:contain}
.partners-bar{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.15rem 3rem;display:flex;align-items:center;gap:2rem;overflow:hidden;max-width:100vw}
.pt-icon-wide{max-width:8.5rem!important;width:8.5rem!important}
.pt-lbl{flex:none;padding-right:1.5rem;border-right:1px solid var(--border)}
.pt-lbl-t{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:.15rem}
.pt-lbl-s{font-size:.68rem;color:var(--muted)}
.pt-scroll{overflow:hidden;flex:1;min-width:0;position:relative;height:5.3rem}
.pt-track{display:flex;width:max-content;animation:marquee 22s linear infinite;position:absolute;left:0;top:0}
.pt-item{display:inline-flex;align-items:center;padding:.45rem 1.5rem;border-right:1px solid var(--border);white-space:nowrap}
.pt-icon{width:5.6rem;height:4.4rem;object-fit:contain}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (max-width:760px){
  .affil-sec{padding:1.5rem 1.25rem 2.2rem}
  .partners-bar{display:none}
}

/* ---------- Coming Soon overlay (Service Alerts) ---------- */
.coming-soon-wrap{position:relative}
.coming-soon-blur{filter:blur(5px);opacity:.5;pointer-events:none;user-select:none}
.coming-soon-badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}
.coming-soon-badge span{background:rgba(15,25,35,.88);color:#fff;font-weight:800;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;padding:.75rem 1.7rem;border-radius:999px;border:1px solid rgba(255,255,255,.28);box-shadow:0 12px 28px rgba(0,0,0,.35)}

/* ============================================================
   ABOUT US PAGE
   ============================================================ */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem}
@media (max-width:860px){.two-col{grid-template-columns:1fr}}
.util-card.planner{background:var(--gold-soft);border-color:#F1E2B0}
.util-card.planner .util-icon{background:rgba(184,134,11,.18);color:var(--gold)}
.util-card.planner h3{color:var(--ink)}
.planner-form .field-input{background:#fff}
.planner-form{display:flex;flex-direction:column;gap:1rem}

/* ============================================================
   ABOUT US — page-specific components
   ============================================================ */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
@media (max-width:920px){.grid4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid4{grid-template-columns:1fr}}
.feature-card{background:#fff;border:2px solid var(--border2);border-radius:var(--r);padding:1.8rem 1.6rem;box-shadow:var(--sh-md);transition:box-shadow .2s ease,transform .2s ease}
.feature-card:hover{box-shadow:var(--sh-lg);transform:translateY(-3px)}
.fc-icon{width:2.9rem;height:2.9rem;border-radius:10px;background:var(--red-soft);color:var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.fc-icon svg{width:22px;height:22px}
.feature-card h4{font-size:1.05rem;margin-bottom:.55rem}
.feature-card p{font-size:.92rem;color:var(--muted);line-height:1.6}
.route-divider{max-width:var(--wrap);margin:0 auto;padding:0 1.5rem}
.route-divider svg{width:100%;height:40px;display:block}
.rd-track{stroke:var(--border);stroke-width:3}
.rd-stop{fill:var(--gold)}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media (max-width:760px){.mv-grid{grid-template-columns:1fr}}
.mv-panel{background:var(--ink);border-radius:var(--r-lg);padding:2.4rem;color:#fff}
.mv-panel.mv-alt{background:var(--red)}
.mv-tag{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-mid);margin-bottom:1rem}
.mv-panel.mv-alt .mv-tag{color:#FFE3E7}
.mv-panel p{font-size:1.2rem;line-height:1.55;font-weight:600}
.values-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.values-row span{background:var(--off);border:1px solid var(--border2);border-radius:999px;padding:.6rem 1.1rem;font-size:.85rem;font-weight:700;color:var(--ink)}
.stats-card{background:linear-gradient(145deg,#fff 0%,#fff7f8 100%);border:1px solid #F4C8D0;border-radius:var(--r-lg);padding:2rem;box-shadow:var(--sh-md);transition:box-shadow .2s ease,transform .2s ease;position:relative;overflow:hidden}
.stats-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--red),var(--gold-mid))}
.stats-card:hover{box-shadow:var(--sh-lg);transform:translateY(-3px)}
.stats-card-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.stats-card-row+.stats-card-row{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border2)}
.about-stat-row{gap:.9rem;max-width:620px;margin-left:auto}
.about-stat-row .stat-tile{background:linear-gradient(145deg,#fff 0%,#fff7f8 100%);border:1px solid #f1ccd3;box-shadow:var(--sh-sm);padding:1.25rem 1rem;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
.about-stat-row .stat-tile::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--red)}
.about-stat-row .stat-tile-icon{display:none}
.about-stat-row .stat-tile-num{color:var(--ink);font-size:1.9rem}
.about-stat-row .stat-tile-lbl{color:var(--red);font-weight:800;line-height:1.3}

.about-legacy-section{background:var(--white)}
.about-legacy-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border2);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);background:#fff}
.legacy-item{padding:1.25rem 1.4rem;border-right:1px solid var(--border2);display:flex;flex-direction:column;gap:.28rem;min-height:104px;justify-content:center}
.legacy-item:last-child{border-right:0}
.legacy-item.is-key{background:linear-gradient(180deg,var(--gold-soft),#fff)}
.legacy-year{font-family:var(--font-display);font-weight:800;font-size:1.45rem;line-height:1;color:var(--red)}
.legacy-item.is-key .legacy-year{color:var(--gold)}
.legacy-item span:last-child{font-size:.82rem;color:var(--muted);font-weight:700;line-height:1.4}
.section.about-brand-section{padding-top:4.5rem!important}
.section.about-mandate-section{padding-top:5rem!important}
@media (max-width:860px){.about-legacy-strip{grid-template-columns:1fr 1fr}.legacy-item:nth-child(2){border-right:0}.legacy-item:nth-child(-n+2){border-bottom:1px solid var(--border2)}}
@media (max-width:520px){.about-legacy-strip{grid-template-columns:1fr}.legacy-item{border-right:0;border-bottom:1px solid var(--border2)}.legacy-item:last-child{border-bottom:0}.section.about-brand-section{padding-top:3.6rem!important}}
.sc-num{font-family:var(--font-display);font-weight:800;font-size:2.3rem;color:var(--red)}
.sc-lbl{font-size:.85rem;color:var(--body);font-weight:700;margin-top:.2rem}

.fleet-band{border-radius:var(--r-lg);overflow:hidden;position:relative;min-height:320px;background:linear-gradient(120deg,var(--ink) 0%,var(--ink2) 55%,var(--red-dk) 130%);display:flex;align-items:flex-end;padding:2.4rem;transition:box-shadow .2s ease,transform .2s ease}
.fleet-band:hover{box-shadow:var(--sh-lg);transform:translateY(-2px)}
.fleet-band .fleet-caption{position:relative;z-index:1;color:#fff;max-width:520px}
.fleet-band .fleet-caption span{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-mid)}
.fleet-band .fleet-caption h3{color:#fff;margin-top:.5rem;font-size:clamp(1.25rem,2.4vw,1.6rem)}
.fleet-band svg.fleet-bus{position:absolute;right:5%;bottom:0;width:52%;max-width:520px;opacity:.95}
@media (max-width:820px){.fleet-band{min-height:auto;padding:1.8rem;flex-direction:column}.fleet-band svg.fleet-bus{position:static;width:100%;margin-top:1.2rem}}

.about-partnerships-preview{scroll-margin-top:9rem}
.partner-preview-panel{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:1.5rem;align-items:stretch;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);border:1px solid var(--border2);border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:1.2rem}
.partner-preview-copy{background:linear-gradient(135deg,var(--ink),var(--ink2));border-radius:calc(var(--r-lg) - 6px);padding:2rem;color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.partner-preview-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-mid);margin-bottom:1rem}
.partner-preview-label::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--gold-mid)}
.partner-preview-copy h3{color:#fff;font-size:clamp(1.35rem,2.5vw,1.9rem);margin-bottom:.65rem}
.partner-preview-copy p{color:rgba(255,255,255,.76);line-height:1.65;margin-bottom:1.4rem}
.partner-preview-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.partner-preview-logos img{width:100%;height:6.8rem;object-fit:contain;background:#fff;border:1px solid var(--border2);border-radius:12px;padding:1.15rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.partner-preview-logos img:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:rgba(200,16,46,.28)}
@media (max-width:860px){.partner-preview-panel{grid-template-columns:1fr}.partner-preview-logos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.partner-preview-panel{padding:.8rem}.partner-preview-copy{padding:1.5rem}.partner-preview-logos img{height:5.3rem}}

.stewardship-section{background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.stewardship-strip{display:grid;gap:1.15rem}
.stewardship-main-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;align-items:stretch}
.stewardship-programme{display:grid;gap:.65rem}
.stewardship-subhead{text-align:center;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.stewardship-programme-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,310px));justify-content:center;gap:1rem;align-items:stretch}
.stewardship-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid var(--border2);border-radius:var(--r);padding:1.45rem 1rem 1.55rem;min-height:220px;box-shadow:var(--sh-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.stewardship-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:rgba(200,16,46,.25)}
.stewardship-card img{width:100%;height:4rem;object-fit:contain;margin-bottom:1.1rem}
.stewardship-card h4{font-size:1rem;margin-bottom:.5rem;color:var(--ink)}
.stewardship-card p{font-size:.86rem;line-height:1.55;color:var(--muted)}
@media (max-width:1120px){.stewardship-main-grid{grid-template-columns:repeat(3,1fr)}.stewardship-programme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.stewardship-main-grid,.stewardship-programme-grid{grid-template-columns:1fr 1fr}.stewardship-card{min-height:210px}}
@media (max-width:460px){.stewardship-main-grid,.stewardship-programme-grid{grid-template-columns:1fr}}

.partner-card{min-height:270px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.65rem 1.55rem 1.75rem}
.partner-card .partner-logo-mark{width:100%;height:6.4rem;border-radius:14px;background:#fff;border:1px solid var(--border2);box-shadow:var(--sh-sm);padding:1rem;margin:0 0 1.35rem}
.partner-card .partner-logo-mark img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;filter:none!important}
.partner-card:hover .partner-logo-mark{border-color:rgba(200,16,46,.28);box-shadow:var(--sh-md)}
.partner-card h4{font-size:1.05rem;margin-bottom:.65rem}
.partner-card p{max-width:28ch}
.partner-value-section{background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 58%,var(--red-dk) 140%);color:#fff}
.partner-value-section .section-head .eyebrow{color:var(--gold-mid)}
.partner-value-section .section-head h2{color:#fff}
.partner-value-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);box-shadow:none;color:#fff;backdrop-filter:blur(8px)}
.partner-value-card:hover{border-color:rgba(228,185,79,.45);box-shadow:0 22px 50px rgba(0,0,0,.22)}
.partner-value-card .fc-icon{background:rgba(228,185,79,.16);color:var(--gold-mid);border:1px solid rgba(228,185,79,.32);font-weight:800}
.partner-value-card h4{color:#fff}
.partner-value-card p{color:rgba(255,255,255,.74)}
.partner-cta-section{background:#fff;padding-top:4rem!important}
.partner-cta-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;background:linear-gradient(135deg,var(--red),var(--red-dk));border-radius:var(--r-lg);padding:2.4rem 2.6rem;box-shadow:var(--sh-lg);color:#fff;position:relative;overflow:hidden}
.partner-cta-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent 45%);pointer-events:none}
.partner-cta-card>*{position:relative;z-index:1}
.partner-cta-card .eyebrow{color:#FFE6EA;margin-bottom:.55rem}
.partner-cta-card h2{color:#fff;font-size:clamp(1.55rem,3vw,2.15rem)}
.partner-cta-card p{color:#F8D4DA;margin-top:.55rem;max-width:58ch}
.partner-cta-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
@media (max-width:640px){.partner-cta-card{padding:1.7rem;text-align:left}.partner-cta-actions,.partner-cta-actions .btn{width:100%}.partner-cta-actions .btn{justify-content:center}}

/* ============================================================
   ORGANISATION CHART — Board / SLT
   ============================================================ */
/* Wider heading column for governance titles. */
#board .section-head,
#slt .section-head{ max-width:820px; }

.org-wrap{display:flex;flex-direction:column;align-items:center;gap:0}

.org-ceo{
  position:relative;
  background:linear-gradient(180deg,#fff 0%,var(--off) 100%);
  border:1px solid var(--border2);
  border-top:3px solid var(--gold-mid);
  border-radius:var(--r-lg);
  box-shadow:var(--sh-md);
  max-width:320px;
  text-align:center;
  padding:2rem 1.8rem 1.6rem;
  margin-bottom:.5rem;
  transition:box-shadow .25s ease,transform .25s ease;
}
.org-ceo:hover{box-shadow:var(--sh-lg);transform:translateY(-3px)}
.org-ceo h5{font-size:.98rem;margin:.9rem 0 .25rem;color:var(--ink)}
.org-ceo span{font-size:.78rem;color:var(--muted);font-weight:600}

.org-connector{width:2px;height:2.2rem;background:linear-gradient(var(--border),var(--gold-mid))}

.org-row{display:flex;gap:1.1rem;flex-wrap:nowrap;justify-content:center;position:relative;padding-top:2.2rem}
.org-row::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);height:2px;width:calc(100% - 7.5rem);background:var(--border)}
@media (max-width:760px){.org-row::before{display:none}}

.org-card{
  background:#fff;
  border:1px solid var(--border2);
  border-radius:var(--r);
  box-shadow:var(--sh-sm);
  flex:1 1 0;min-width:0;width:auto;
  text-align:center;
  padding:1.6rem 1rem 1.35rem;
  position:relative;
  transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease;
}
.org-card::before{content:"";position:absolute;top:-2.2rem;left:50%;width:2px;height:2.2rem;background:var(--border)}
.org-card:hover{box-shadow:var(--sh-lg);transform:translateY(-4px);border-color:var(--gold-mid)}

.org-avatar{
  position:relative;
  width:5.4rem;height:5.8rem;
  border-radius:16px;
  margin:0 auto .9rem;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.9rem;letter-spacing:.02em;
  color:#fff;background:var(--ink);
  overflow:hidden;
  box-shadow:0 0 0 3px #fff,0 0 0 4px var(--border2);
}
.org-ceo .org-avatar{width:7rem;height:7.8rem;font-size:1.05rem;border-radius:18px;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--gold-mid)}
.org-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:inherit}
.org-avatar span{position:relative;z-index:0}

.org-card h5{font-size:.85rem;margin:0 0 .3rem;color:var(--ink);line-height:1.35}
.org-card span{display:block;font-size:.72rem;color:var(--muted);line-height:1.5}
.org-role-tag{display:inline-block;margin-top:.45rem;font-size:.64rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px;background:var(--off);color:var(--muted)}
.org-role-tag.independent{background:var(--gold-soft);color:var(--gold)}
.org-role-tag.non-independent{background:var(--border2);color:var(--body)}

@media (max-width:960px){
  .org-row{flex-wrap:wrap}
  .org-card{flex:0 1 11.9rem;width:11.9rem}
  .org-card h5{font-size:.88rem}
  .org-card span{font-size:.75rem}
}
.governance-section{background:#fff}
.board-placeholder{display:flex;align-items:center;justify-content:space-between;gap:2rem;border:1px solid var(--border2);border-left:5px solid var(--gold-mid);border-radius:var(--r-lg);padding:2rem;background:linear-gradient(135deg,#fff 0%,var(--off) 100%);box-shadow:var(--sh-sm)}
.board-placeholder h3{font-size:1.15rem;color:var(--ink);margin-top:.35rem}
.board-placeholder p{max-width:34rem;color:var(--muted);font-size:.92rem;line-height:1.6}
.board-kicker{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.slt-section{background:linear-gradient(180deg,#fff 0%,#F7F8FA 100%)}
.slt-section .org-wrap{background:#fff;border:1px solid var(--border2);border-radius:var(--r-lg);padding:2.2rem 1.4rem;box-shadow:var(--sh-sm)}
.org-card,.org-ceo{isolation:isolate}
.org-hover-info{position:absolute;z-index:5;background:rgba(15,25,35,.96);color:#fff;border-radius:12px;padding:.9rem 1rem;font-size:.72rem;line-height:1.45;text-align:left;box-shadow:var(--sh-md);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.org-hover-info strong{display:block;font-size:.78rem;line-height:1.35;color:#fff}
.org-hover-info span{display:block;color:var(--gold-mid);font-size:.68rem;font-weight:800;line-height:1.35;margin-top:.2rem}
.org-hover-info p{margin-top:.55rem;color:rgba(255,255,255,.78);font-size:.72rem;line-height:1.45}
.org-card .org-hover-info{top:calc(100% + .7rem);left:50%;right:auto;width:min(240px,calc(100vw - 3rem));transform:translate(-50%,-4px);text-align:center}
.org-card:hover .org-hover-info,.org-card:focus-within .org-hover-info{opacity:1;transform:translate(-50%,0)}
.org-ceo .org-hover-info{top:50%;left:calc(100% + 1rem);right:auto;bottom:auto;width:270px;transform:translate(8px,-50%)}
.org-ceo:hover .org-hover-info,.org-ceo:focus-within .org-hover-info{opacity:1;transform:translate(0,-50%)}
.org-card:hover h5,.org-ceo:hover h5{color:var(--red)}
@media (max-width:960px){.org-ceo .org-hover-info{left:50%;top:calc(100% + .8rem);transform:translate(-50%,-4px);text-align:center}.org-ceo:hover .org-hover-info,.org-ceo:focus-within .org-hover-info{transform:translate(-50%,0)}}
@media (max-width:760px){.board-placeholder{align-items:flex-start;flex-direction:column}.slt-section .org-wrap{padding:1.6rem 1rem}.org-hover-info,.org-card .org-hover-info,.org-ceo .org-hover-info{position:static;width:auto;opacity:1;transform:none;margin-top:.9rem;background:var(--off);color:var(--body);box-shadow:none;border:1px solid var(--border2);text-align:left}.org-hover-info strong{color:var(--ink)}.org-hover-info span{color:var(--red)}.org-hover-info p{color:var(--muted)}}

/* ============================================================
   OUR STORY — dark ink/gold narrative panel
   ============================================================ */
.story-narrative{
  background: linear-gradient(135deg, var(--ink) 0%, var(--ink2) 55%, var(--red-dk) 145%);
  position: relative;
  overflow: hidden;
}
.story-narrative::before{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(circle at 15% 20%, rgba(228,185,79,.10), transparent 45%),
                     radial-gradient(circle at 85% 80%, rgba(200,16,46,.18), transparent 50%);
  pointer-events:none;
}
.story-narrative .wrap{ position:relative; z-index:1; }
.story-narrative .eyebrow{ color: var(--gold-mid); }
.story-narrative .eyebrow::before{ background: var(--gold-mid); }
.story-narrative h2{
  color:#fff;
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  margin-top:.6rem;
  line-height:1.3;
  max-width: 18ch;
}
.story-narrative-grid{
  display:grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 3rem;
  align-items:start;
}
@media (max-width:860px){ .story-narrative-grid{ grid-template-columns:1fr; gap:2.2rem; } }

.story-narrative-hint{
  color: rgba(255,255,255,.5);
  font-size: .82rem;
  margin-top: .6rem;
  font-style: italic;
}
.story-milestones{
  margin-top: 1.6rem;
  display:flex;
  flex-direction:column;
  gap: 0;
  border-left: 2px solid rgba(255,255,255,.16);
  padding-left: 1.4rem;
}
.sm-item{
  position:relative;
  padding: .1rem 0 1.5rem;
}
.sm-item:last-child{ padding-bottom:0; }
.sm-item::before{
  content:"";
  position:absolute; left:-1.86rem; top:.3rem;
  width:11px; height:11px; border-radius:50%;
  background: #000; border:2px solid #000;
  transition: background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.sm-item.is-open::before{
  background: var(--gold-mid);
  border-color: var(--gold-mid);
  box-shadow: 0 0 0 5px rgba(228,185,79,.22);
}
.sm-toggle{
  display:flex;
  align-items:center;
  gap: .7rem;
  width:100%;
  background:none;
  border:none;
  padding: .3rem .5rem .3rem 0;
  margin: -0.3rem -0.5rem -0.3rem -0.3rem;
  cursor:pointer;
  text-align:left;
  border-radius: 8px;
  transition: background .18s ease;
}
.sm-toggle:hover{ background: rgba(255,255,255,.06); }
.sm-year{
  display:block; font-family:var(--font-display, inherit);
  font-size:1.15rem; font-weight:800; color:#fff;
  transition: color .3s ease;
}
.sm-item.is-open .sm-year{ color: var(--gold-mid); }
.sm-lbl{ display:block; font-size:.82rem; color:rgba(255,255,255,.62); font-weight:600; margin-top:.15rem; }
.sm-toggle .sm-year,
.sm-toggle .sm-lbl{ flex: 1 1 auto; }
.sm-chevron{
  width:16px; height:16px; flex-shrink:0;
  color: rgba(255,255,255,.45);
  transition: transform .22s ease, color .22s ease;
}
.sm-item.is-open .sm-chevron{ transform: rotate(180deg); color: #fff; }

/* Detail text lives hidden here — it is read out and copied into the
   right-hand panel (#storyBody) on click, rather than expanding inline. */
.sm-detail{ display:none; }

.story-narrative-body{ display:flex; flex-direction:column; gap:1.1rem; }
.story-card{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--r-lg);
  padding: 1.5rem 1.7rem;
  color: rgba(255,255,255,.82);
  line-height:1.7;
  font-size: .98rem;
  margin:0;
  backdrop-filter: blur(6px);
  animation: storyCardIn .3s ease;
}
.story-card-quote{
  border-left: 3px solid var(--gold-mid);
  background: rgba(228,185,79,.08);
  color:#fff;
  font-weight:600;
  font-size:1.08rem;
  line-height:1.6;
}
.story-card-year{
  display:block;
  color: var(--gold-mid);
  font-weight:800;
  font-size:.82rem;
  letter-spacing:.06em;
  margin-bottom:.5rem;
}
.story-narrative-body h4{
  color:#fff;
  font-size:1.1rem;
  font-weight:800;
  margin:0;
  line-height:1.4;
}
@keyframes storyCardIn{
  from{ opacity:0; transform: translateY(6px); }
  to{ opacity:1; transform: translateY(0); }
}
.legacy-gallery-section{background:linear-gradient(180deg,#f7f8fa 0%,#fff 100%)}
.legacy-gallery-rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.25rem .1rem 1rem;scrollbar-color:var(--red) #f2dce1}
.legacy-gallery-card{position:relative;flex:0 0 min(78vw,390px);height:250px;border-radius:var(--r-lg);overflow:hidden;background:var(--ink);border:1px solid #dce5ef;box-shadow:var(--sh-md);scroll-snap-align:start;transition:transform .25s ease,box-shadow .25s ease}
.legacy-gallery-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
.legacy-gallery-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.04)}
@media (max-width:560px){.legacy-gallery-card{height:210px}}

/* ============================================================
   OUR MANDATE — colour-accented cards
   ============================================================ */
.mandate-card{
  position:relative;
  border-top: none;
  border-radius: var(--r-lg);
  padding-top:2rem;
  overflow:hidden;
  box-shadow: var(--sh-sm);
  transition: box-shadow .22s ease, transform .22s ease;
}
.mandate-card::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:5px;
}
.mandate-card:hover{
  box-shadow: var(--sh-lg);
  transform: translateY(-4px);
}
.mandate-card h4{position:relative;padding-top:.2rem}
.mandate-card h4::after{content:"";display:block;width:34px;height:3px;border-radius:999px;background:currentColor;opacity:.35;margin-top:.7rem}
.mandate-card p{margin-top:.85rem}
.mandate-card.mc-red{ background: linear-gradient(180deg, var(--red-soft) 0%, #fff 38%); }
.mandate-card.mc-red::before{ background: var(--red); }
.mandate-card.mc-red .fc-icon{ background:#fff; color:var(--red); box-shadow: var(--sh-sm); }

.mandate-card.mc-gold{ background: linear-gradient(180deg, var(--gold-soft) 0%, #fff 38%); }
.mandate-card.mc-gold::before{ background: var(--gold-mid); }
.mandate-card.mc-gold .fc-icon{ background:#fff; color:var(--gold); box-shadow: var(--sh-sm); }

.mandate-card.mc-ink{ background: linear-gradient(180deg, #EEF1F5 0%, #fff 38%); }
.mandate-card.mc-ink::before{ background: var(--ink2); }
.mandate-card.mc-ink .fc-icon{ background:#fff; color:var(--ink2); box-shadow: var(--sh-sm); }

.timeline{max-width:760px;margin:0 auto;position:relative;padding-left:2rem}
.timeline::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--border)}
.tl-item{position:relative;padding-bottom:2.2rem}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-2rem;top:4px;width:12px;height:12px;border-radius:50%;background:var(--border);border:2px solid #fff;box-shadow:0 0 0 2px var(--border)}
.tl-item.current::before{background:var(--red);box-shadow:0 0 0 2px var(--red)}
.tl-year{display:inline-block;font-size:.8rem;font-weight:800;color:var(--red);letter-spacing:.03em;margin-bottom:.3rem}
.tl-item h4{font-size:1.05rem;margin-bottom:.4rem}
.tl-item p{font-size:.92rem;color:var(--muted);line-height:1.6}

/* ============================================================
   SERVICES PAGE
   ============================================================ */
/* ============================================================
   SERVICES PAGE — grid + detail panel
   ============================================================ */
.fleet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
@media (max-width:1080px){.fleet-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:700px){.fleet-grid{grid-template-columns:1fr 1fr}}
.fleet-card{background:#fff;border:1px solid var(--border2);border-radius:var(--r);overflow:hidden;padding-bottom:1.3rem;text-align:left;display:block;width:100%;cursor:pointer;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
.fleet-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.fleet-card.is-active{border-color:var(--red);box-shadow:var(--sh-md)}
.fleet-photo{height:110px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fleet-photo svg{width:80%;height:auto}
.fleet-photo.fp1{background:linear-gradient(135deg,var(--ink2),var(--ink))}
.fleet-photo.fp2{background:linear-gradient(135deg,#5C4708,#8A6A0B)}
.fleet-photo.fp3{background:linear-gradient(135deg,#173B7A,#1D4ED8)}
.fleet-photo.fp4{background:linear-gradient(135deg,#065F46,#059669)}
.fleet-photo.fp5{background:linear-gradient(135deg,#3A4553,#5B6674)}
.fleet-card h4{font-size:.98rem;margin:1rem 1.1rem .4rem}
.fleet-card p{font-size:.84rem;color:var(--muted);line-height:1.5;margin:0 1.1rem}
.fleet-stat{display:inline-block;margin:.8rem 1.1rem 0;font-size:.76rem;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.04em}
.svc-panel{display:none}
.svc-panel.is-visible{display:block}
.svc-panel-inner{max-width:640px}
.svc-panel-inner p{color:var(--muted);margin-top:1rem;line-height:1.7;font-size:1rem}
.svc-stats{display:flex;gap:2.2rem;margin-top:1.6rem}
.svc-stats .num{font-family:var(--font-display);font-weight:800;font-size:1.9rem;color:var(--red)}
.svc-stats .lbl{font-size:.8rem;color:var(--muted);font-weight:600;margin-top:.15rem}
.svc-panel-inner .btn{margin-top:1.8rem}

/* ---------- Service detail (tabs + illustration layout) ---------- */
.svc-tabs{display:flex;gap:2rem;border-bottom:1px solid var(--border);margin-bottom:2.6rem;flex-wrap:wrap}
.svc-tabs button{font-family:inherit;background:transparent;border:0;border-bottom:2px solid transparent;padding:0 0 .9rem;font-size:.98rem;font-weight:700;color:var(--muted);cursor:pointer}
.svc-tabs button.active{color:var(--red);border-bottom-color:var(--red)}
.svc-tabs button:not(.active):hover{color:var(--ink)}
.svc-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
@media (max-width:860px){.svc-layout{grid-template-columns:1fr}}
.svc-illustration{background:var(--off);border-radius:var(--r-lg);padding:1.6rem;position:relative;min-height:320px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.svc-illustration-badge{position:absolute;left:1.6rem;top:1.6rem;background:var(--ink);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:.5rem 1rem;border-radius:999px;z-index:2}
.svc-illustration svg{width:70%;max-width:300px;position:relative;z-index:1;margin-bottom:2.4rem}
.svc-illustration .road{position:absolute;left:0;right:0;bottom:2.6rem;border-top:2px dashed var(--border);z-index:0}
.svc-info-col h2{font-size:clamp(1.4rem,2.3vw,1.9rem);display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.svc-info-col h2 .subtype{font-size:.9rem;font-weight:500;color:var(--muted)}
.svc-info-col p{color:var(--muted);margin-top:.9rem;line-height:1.7;font-size:1rem}
.svc-cta-btn{display:inline-block;margin-top:1.7rem;padding:.75rem 1.5rem;border-radius:999px;border:1.5px solid var(--ink);font-weight:700;font-size:.92rem;color:var(--ink);transition:transform .18s ease,background .18s ease,color .18s ease}
.svc-cta-btn:hover{transform:translateY(-3px);background:var(--ink);color:#fff}

/* ---------- Fleet class cards (light, with bullet list) ---------- */
.fleet-class-card{background:#fff;border:1px solid var(--border2);border-radius:var(--r-lg);padding:2rem 1.8rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.fleet-class-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:transparent}
.fleet-class-card .fc-icon{font-size:1.4rem}
.fleet-class-card h4{font-size:1.1rem;color:var(--ink);margin-bottom:.9rem}
.fleet-class-card ul{display:flex;flex-direction:column;gap:.55rem}
.fleet-class-card li{list-style:none;position:relative;padding-left:1.2rem;font-size:.9rem;color:var(--muted);line-height:1.5}
.fleet-class-card li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--red)}

/* ---------- Icon list rows (horizontal card, e.g. Charter & Leasing Options) ---------- */
.icon-list-item{display:flex;align-items:flex-start;gap:1.3rem;background:#fff;border:1px solid var(--border2);border-radius:var(--r-lg);padding:1.5rem 1.7rem;margin-bottom:1.1rem;transition:transform .2s ease,box-shadow .2s ease}
.icon-list-item:last-child{margin-bottom:0}
.icon-list-item:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.icon-list-item .fc-icon{flex:none;margin-bottom:0}
.icon-list-item h4{font-size:1.05rem;margin-bottom:.4rem;color:var(--ink)}
.icon-list-item p{font-size:.92rem;color:var(--muted);line-height:1.6}

/* ---------- Small colored tag badges (e.g. bus advertising placements) ---------- */
.tag-badge{display:inline-block;margin-top:1rem;padding:.32rem .85rem;border-radius:999px;font-size:.74rem;font-weight:700}
.tag-badge-red{background:var(--red-soft);color:var(--red)}
.tag-badge-blue{background:var(--blue-soft);color:var(--blue)}
.tag-badge-green{background:var(--green-soft);color:var(--green)}
.tag-badge-gold{background:var(--gold-soft);color:var(--gold)}

.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}
@media (max-width:1000px){.grid5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.grid5{grid-template-columns:1fr 1fr}}

/* ---------- Commitment / mission statement card ---------- */
.commitment-card{position:relative;background:linear-gradient(135deg,var(--off) 0%,var(--red-soft) 100%);border-radius:var(--r-lg);padding:3.4rem 3.2rem;overflow:hidden}
@media (max-width:700px){.commitment-card{padding:2.4rem 1.8rem}}
.commitment-card::before{content:'\201C';position:absolute;top:-3.2rem;left:1.6rem;font-family:var(--font-display);font-size:14rem;font-weight:800;color:var(--red);opacity:.09;line-height:1;pointer-events:none}
.commitment-card>*{position:relative}
.commitment-card h2{font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.3;margin-top:.7rem;color:var(--ink);max-width:32ch}
.commitment-card h2 .accent{color:var(--red)}
.commitment-card>p{color:var(--muted);margin-top:1.2rem;max-width:58ch;line-height:1.75;font-size:1.02rem}
.commitment-card .pill-row{margin-top:1.7rem}
.svc-cta-btn:hover{background:var(--ink);color:#fff}
.svc-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.svc-stats-row .lbl{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.svc-stats-row .val{font-size:1.05rem;font-weight:800;color:var(--ink);margin-top:.35rem}

/* ---------- Services LANDING (overview page: photo + option list) ---------- */
.svc-landing-section{padding-top:3.5rem}
.svc-landing-grid{display:grid;grid-template-columns:.85fr 1fr;gap:4.5rem;align-items:start}
@media (max-width:860px){.svc-landing-grid{grid-template-columns:1fr;gap:2.5rem}}
.svc-landing-photo{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md)}
.svc-landing-photo img{width:100%;height:320px;object-fit:cover;display:block}
.svc-landing-media h1{margin-top:1.9rem;font-size:clamp(1.9rem,3vw,2.5rem)}
.svc-landing-media>p{color:var(--muted);margin-top:.75rem;font-size:1.05rem;line-height:1.65;max-width:40ch}
.svc-overview-wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:3rem;align-items:start}
.svc-overview-intro{background:linear-gradient(135deg,var(--ink),var(--ink2));border-radius:var(--r-lg);padding:2rem;color:#fff;box-shadow:var(--sh-md)}
.svc-overview-intro .eyebrow{color:var(--gold-mid)}
.svc-overview-intro h2{color:#fff;font-size:clamp(1.35rem,2.4vw,1.85rem);margin-top:.5rem}
.svc-overview-intro p{color:rgba(255,255,255,.74);line-height:1.65;margin-top:.7rem}
.svc-story-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:.3rem}
.svc-story-card{position:relative;min-height:240px;border-radius:var(--r-lg);padding:1.55rem;background:#fff;border:1px solid var(--border2);box-shadow:var(--sh-sm);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.svc-story-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--red)}
.svc-story-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:rgba(200,16,46,.26)}
.svc-story-kicker{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.65rem}
.svc-story-card h3{font-size:1.18rem;margin-bottom:.55rem;color:var(--ink)}
.svc-story-card p{font-size:.9rem;line-height:1.58;color:var(--muted)}
.svc-story-link{display:inline-flex;margin-top:1.15rem;font-size:.82rem;font-weight:800;color:var(--red)}
.svc-story-red::before{background:var(--red)}
.svc-story-ink::before{background:var(--ink)}
.svc-story-green::before{background:var(--green)}
.svc-story-gold::before{background:var(--gold-mid)}
.svc-story-blue::before{background:var(--blue)}
.svc-story-purple::before{background:#7C3AED}
@media (max-width:940px){.svc-overview-wrap{grid-template-columns:1fr}.svc-landing-media>p{max-width:58ch}.svc-story-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.svc-story-grid{grid-template-columns:1fr}.svc-story-card{min-height:210px}}

.svc-option-list{display:flex;flex-direction:column;padding-top:.5rem}
.svc-option-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem .2rem;border-bottom:1px solid var(--border);font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--ink);transition:color .18s ease,padding-left .18s ease}
.svc-option-item:first-child{padding-top:.2rem}
.svc-option-item .arrow{width:18px;height:18px;color:var(--muted);flex:none;opacity:0;transform:translateX(-6px);transition:opacity .18s ease,transform .18s ease,color .18s ease}
.svc-option-item:hover, .svc-option-item:focus-visible{color:var(--red);padding-left:.6rem}
.svc-option-item:hover .arrow, .svc-option-item:focus-visible .arrow{opacity:1;transform:translateX(0);color:var(--red)}

/* Landscape variant — 2-column grid instead of one tall portrait column */
.svc-option-list-landscape{display:grid;grid-template-columns:1fr 1fr;column-gap:2.5rem;padding-top:.5rem}
.svc-option-list-landscape .svc-option-item{padding:1.1rem .2rem;font-size:1.1rem}
.svc-option-list-landscape .svc-option-item:first-child, .svc-option-list-landscape .svc-option-item:nth-child(2){padding-top:.2rem}
@media (max-width:640px){.svc-option-list-landscape{grid-template-columns:1fr}}

/* ---------- Service DETAIL pages (dedicated per-service pages) ---------- */
.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.86rem;color:var(--muted);padding:1.3rem 0;flex-wrap:wrap}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb .sep{color:var(--border)}
.breadcrumb .current{color:var(--ink);font-weight:700}
.svc-detail-hero{min-height:420px;display:flex;align-items:center}
.svc-detail-hero .wrap{padding-top:4.6rem;padding-bottom:4.6rem}
.svc-detail-hero.hero-center .wrap{text-align:center}
.svc-detail-hero .hero-bg::before{display:none}
.svc-detail-hero .hero-bg::after{background:linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.4))}
.svc-detail-hero h1{text-shadow:0 2px 18px rgba(0,0,0,.55)}
.hero-bg-express{background-image:url('../img/hero-express.jpg') !important}
.hero-bg-stage{background-image:url('../img/hero-stage.jpg') !important}
.hero-bg-mro{background-image:url('../img/hero-mro.jpg') !important}
.hero-bg-orangasli{background-image:url('../img/hero-orangasli.jpg') !important}
.hero-bg-charter{background-image:url('../img/hero-charter.jpg') !important}
.hero-bg-tvet{background-image:url('../img/hero-tvet.jpg') !important}
/* Home hero — left-to-right gradient (dark where the text sits, fading out
   over the bus) instead of the diagonal navy/red gradient used elsewhere */
.hero-bg-home{background-image:url('../img/hero-home-collage.jpg') !important;background-position:center 30% !important}
.hero-bg-home::before{background:linear-gradient(90deg, rgba(8,13,20,.86) 0%, rgba(8,13,20,.62) 35%, rgba(8,13,20,.28) 60%, rgba(8,13,20,.05) 85%) !important; opacity:1 !important}
.svc-detail-badgebar{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}
.svc-detail-badgebar span{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);padding:.55rem 1.1rem;border-radius:999px;font-size:.84rem;font-weight:600;color:#fff;backdrop-filter:blur(6px)}

/* ---------- About-service section: copy + photo-required placeholder ---------- */
.about-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
@media (max-width:860px){.about-svc-grid{grid-template-columns:1fr;gap:2.2rem}}
/* Framed variant: photo column height matches the copy column beside it,
   with a hover transition (lift + subtle zoom) — used on pages where the
   photo is a real crop-able photograph rather than a bleed/cutout graphic
   (Orang Asli, TVET). Charter/Express/Stage keep the original bleed style
   and are left untouched.
   The <img> is taken out of flow (position:absolute, inset:0) so a tall
   source photo can never dictate the row height itself — only the copy
   column's natural height does, and the panel + image are stretched to
   match it exactly. */
.about-svc-grid.is-framed{align-items:stretch}
.svc-photo-panel.is-framed{position:relative;display:block;width:100%;min-height:280px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);transition:box-shadow .3s ease,transform .3s ease}
.svc-photo-panel.is-framed:hover{box-shadow:var(--sh-lg);transform:translateY(-4px)}
.svc-photo-panel.is-framed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:0;transition:transform .5s ease}
.svc-photo-panel.is-framed:hover img{transform:scale(1.06)}
@media (max-width:860px){.svc-photo-panel.is-framed{aspect-ratio:4/3;min-height:0}}
.about-svc-heading{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.18;margin-top:.7rem;color:var(--ink);letter-spacing:-.01em}
.about-svc-heading em{color:var(--red);font-style:normal;display:block}
.about-svc-copy>p{color:var(--muted);margin-top:1.1rem;line-height:1.7;font-size:1rem}
.pill-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.7rem}
.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:999px;font-size:.83rem;font-weight:700;transition:transform .18s ease,box-shadow .18s ease}
.pill:hover{transform:translateY(-2px) scale(1.03);box-shadow:var(--sh-sm)}
.pill-blue{background:var(--blue-soft);color:var(--blue)}
.pill-green{background:var(--green-soft);color:var(--green)}
.pill-red{background:var(--red-soft);color:var(--red)}
.pill-gold{background:var(--gold-soft);color:var(--gold)}
.pill-purple{background:#F1E9FE;color:#7C3AED}
.btn-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--border2);box-shadow:var(--sh-sm)}
.btn-ghost:hover{background:var(--off);transform:translateY(-2px)}

/* ---------- Charter Bus & Advertising ---------- */
.charter-hero-story,.charter-ad-grid,.charter-feature-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);gap:2rem;align-items:center}
.charter-story-copy h2,.charter-ad-copy h2,.charter-feature-band h2,.charter-process h2,.charter-closing-panel h2{font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.14;color:var(--ink);margin:.55rem 0 1rem}
.charter-story-copy p,.charter-ad-copy p,.charter-feature-band p,.charter-closing-panel p{color:var(--muted);font-size:1rem;line-height:1.75;max-width:64ch;margin-top:.85rem}
.charter-split-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.8rem}
.charter-video-frame{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--ink);box-shadow:var(--sh-lg);min-height:430px;border:1px solid rgba(15,25,35,.1)}
.charter-video-frame video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.03)}
.charter-video-frame::after{display:none}
.charter-video-frame-light{min-height:470px}
.charter-proof-strip{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1fr);gap:1.5rem;align-items:center;background:linear-gradient(135deg,#fff,#fff8f0);border:2px solid #df6e81;border-radius:var(--r-lg);padding:2rem;box-shadow:0 14px 36px rgba(200,16,46,.09)}
.charter-proof-strip h2{font-size:clamp(1.45rem,2.4vw,2.15rem);line-height:1.18;margin:.55rem 0 .85rem;color:var(--ink)}
.charter-proof-strip p{color:var(--muted);line-height:1.7}
.charter-proof-points{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.charter-proof-points article{background:linear-gradient(145deg,#fff,#f8fbff);border:2px solid #ccd8e7;border-radius:var(--r);padding:1rem;box-shadow:0 6px 18px rgba(15,25,35,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.charter-proof-points article:hover{border-color:#cf6f80}
.charter-proof-points article:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.charter-proof-points span{display:block;color:var(--red);font-weight:800;font-size:.72rem;letter-spacing:.08em;margin-bottom:.35rem}
.charter-proof-points strong{font-size:.95rem;color:var(--ink);line-height:1.35}
.charter-feature-band{background:linear-gradient(135deg,var(--ink),#162536);border-radius:var(--r-lg);padding:1rem;box-shadow:var(--sh-lg);color:#fff}
.charter-feature-band figure{margin:0;border-radius:calc(var(--r-lg) - 6px);overflow:hidden;min-height:360px;background:#fff}
.charter-feature-band img{width:100%;height:100%;object-fit:cover;display:block}
.charter-feature-band .charter-poster-figure{display:flex;align-items:center;justify-content:center;padding:1rem}
.charter-feature-band .charter-poster-figure img{object-fit:contain;border-radius:14px}
.charter-feature-band>div{padding:1.5rem}
.charter-feature-band h2{color:#fff}
.charter-feature-band p{color:rgba(255,255,255,.76)}
.charter-service-line{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.charter-service-line span{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.45rem .8rem;font-size:.8rem;font-weight:800;color:#fff;background:rgba(255,255,255,.07)}
.charter-practice-gallery{position:relative;display:flex;gap:1rem;overflow:hidden;min-height:360px;border-radius:calc(var(--r-lg) - 6px);background:#fff;padding:.8rem;mask-image:linear-gradient(90deg,#000 0,#000 88%,transparent 100%)}
.charter-practice-gallery figure{flex:0 0 100%;height:auto;min-height:0;border-radius:14px;border:1px solid rgba(15,25,35,.08);background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.14);animation:charterGalleryDrift 16s linear infinite}
.charter-practice-gallery:hover figure{animation-play-state:paused}
.charter-practice-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.charter-practice-gallery figure:nth-child(1) img{object-position:center}
.charter-practice-gallery figure:nth-child(2) img{object-position:center}
@keyframes charterGalleryDrift{0%,22%{transform:translateX(0)}34%,56%{transform:translateX(calc(-100% - 1rem))}68%,90%{transform:translateX(calc(-200% - 2rem))}100%{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){.charter-practice-gallery figure{animation:none}}
.charter-process{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.15fr);gap:1.6rem;align-items:start}
.charter-process ol{list-style:none;display:grid;gap:.8rem;margin:0;padding:0}
.charter-process li{position:relative;background:#fff;border:1px solid #dce7f2;border-left:4px solid var(--red);border-radius:var(--r);padding:1.1rem 1.2rem 1.1rem 4.4rem;box-shadow:var(--sh-sm)}
.charter-process li span{position:absolute;left:1rem;top:1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--red-soft);color:var(--red);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.78rem}
.charter-process li strong{display:block;color:var(--ink);margin-bottom:.35rem}
.charter-process li p{color:var(--muted);font-size:.9rem;line-height:1.58;margin:0}
.charter-closing-panel{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;background:linear-gradient(135deg,#fff,#fff8f0);border:1px solid #f1ccd3;border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:2rem}
.charter-closing-panel .btn{flex:none}
.charter-ad-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.charter-ad-card{background:#fff;border:1.5px solid #d1dce9;border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:1.6rem;min-height:225px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.charter-ad-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:#f1ccd3}
.charter-ad-card h3{font-size:1.25rem;margin-bottom:.75rem}
.charter-ad-card p{color:var(--muted);line-height:1.65;font-size:.96rem}
.charter-ad-card span{align-self:flex-start;margin-top:1.2rem;border-radius:999px;background:var(--red-soft);color:var(--red);font-weight:800;font-size:.8rem;padding:.4rem .8rem}
.charter-ad-card:nth-child(2) span{background:var(--blue-soft);color:var(--blue)}
.charter-ad-card:nth-child(3) span{background:var(--green-soft);color:var(--green)}
.charter-interior-showcase{margin-top:2rem;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:1.3rem;align-items:center;background:linear-gradient(135deg,var(--ink),#172433);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:1.5rem;color:#fff}
.charter-interior-showcase .eyebrow{color:var(--gold-mid)}
.charter-interior-showcase .eyebrow::before{background:var(--gold-mid)}
.charter-interior-showcase h2{font-size:clamp(1.45rem,2.5vw,2rem);margin-top:.55rem;color:#fff}
.charter-interior-showcase p{color:rgba(255,255,255,.72);line-height:1.65;margin-top:.75rem}
.charter-interior-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem}
.charter-interior-grid article{background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.16);border-radius:var(--r);box-shadow:none;padding:1.2rem;text-align:center;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.charter-interior-grid article:hover{transform:translateY(-3px);background:rgba(255,255,255,.12);border-color:rgba(228,185,79,.48)}
.charter-interior-grid h3{font-size:.98rem;margin-bottom:.6rem}
.charter-interior-grid h3{color:#fff}
.charter-interior-grid p{color:rgba(255,255,255,.68);font-size:.84rem;line-height:1.55}
@media (max-width:980px){.charter-hero-story,.charter-ad-grid,.charter-feature-band,.charter-proof-strip,.charter-process{grid-template-columns:1fr}.charter-video-frame,.charter-video-frame-light{min-height:520px}}
@media (max-width:980px){.charter-ad-card-grid{grid-template-columns:1fr}.charter-interior-showcase{grid-template-columns:1fr}.charter-interior-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.charter-video-frame,.charter-video-frame-light{min-height:440px}.charter-proof-points,.charter-interior-grid{grid-template-columns:1fr}.charter-feature-band>div{padding:.6rem}.charter-process li{padding-left:1.2rem;padding-top:4rem}.charter-process li span{top:1rem}}

.photo-required{background:var(--off);border:2px dashed var(--border);border-radius:var(--r-lg);min-height:320px;display:flex;align-items:center;justify-content:center;padding:2rem}
.svc-photo-panel{display:flex;align-items:center;justify-content:center;overflow:visible}
.svc-photo-panel img{max-width:100%;width:100%;height:auto;display:block}
.express-flipbook{position:relative;align-self:stretch;min-height:340px;border-radius:var(--r-lg);background:linear-gradient(135deg,#fff7e6,#fff 42%,#ffe5eb);border:1px solid #f3c6cf;box-shadow:var(--sh-md);padding:1rem;overflow:hidden}
.express-flipbook::before{content:"";position:absolute;right:-100px;top:-120px;width:280px;height:280px;border-radius:50%;background:rgba(228,185,79,.25)}
.express-flipbook-stage{position:relative;height:100%;min-height:275px;border-radius:calc(var(--r-lg) - 8px);overflow:hidden}
.express-flipbook-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;transform:translateX(28px) rotateY(-8deg) scale(.98);transition:opacity .35s ease,transform .45s ease;background:transparent}
.express-flipbook-slide.is-active{opacity:1;transform:translateX(0) rotateY(0) scale(1);z-index:2}
.express-flipbook-slide img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;display:block}
.express-flipbook-slide:nth-child(2) img,.express-flipbook-slide:nth-child(3) img{object-fit:cover;border-radius:14px}
.express-flipbook-slide.is-placeholder{background:linear-gradient(135deg,#172433,#cf1434);border-radius:14px}
.express-flipbook-controls{position:absolute;left:1.35rem;right:1.35rem;bottom:1.25rem;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.8rem;pointer-events:none}
.express-flipbook-btn{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.72);background:rgba(15,25,35,.72);color:#fff;font-size:1.45rem;line-height:0;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--sh-sm);pointer-events:auto;transition:transform .18s ease,background .18s ease}
.express-flipbook-btn span{display:block;line-height:1;transform:translateY(-1px)}
.express-flipbook-btn:hover{transform:translateY(-2px);background:var(--red)}
.express-flipbook-dots{display:flex;gap:.42rem;align-items:center;justify-content:center;background:rgba(15,25,35,.46);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.45rem .65rem;pointer-events:auto}
.express-flipbook-dots button{width:7px;height:7px;border:0;border-radius:50%;background:rgba(255,255,255,.42);cursor:pointer;padding:0}
.express-flipbook-dots button.is-active{width:18px;border-radius:999px;background:var(--gold-mid)}
@media (max-width:860px){.express-flipbook{min-height:310px}.express-flipbook-stage{min-height:245px}}
.photo-required-inner{text-align:center;max-width:280px}
.photo-required-inner svg{width:32px;height:32px;color:var(--muted);margin:0 auto .9rem;display:block}
.pr-label{display:block;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pr-note{display:inline-block;margin-top:.8rem;background:#fff;border:1px solid var(--border2);border-radius:999px;padding:.5rem 1.1rem;font-size:.76rem;font-style:italic;color:var(--muted)}

/* ---------- Stat tiles (fresh alternative to plain divided stat columns) ---------- */
.stat-tile-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.stat-tile-row.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.stat-tile-row.cols-4{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.stat-tile-row{grid-template-columns:1fr}}
.stat-tile{background:var(--red-dk);border-radius:var(--r-lg);padding:2.1rem 1.6rem;text-align:center;transition:transform .18s ease,box-shadow .18s ease}
.stat-tile:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.stat-tile-icon{display:none}
.stat-tile-num{font-family:var(--font-display);font-size:2.1rem;font-weight:800;color:#fff}
.stat-tile-lbl{margin-top:.35rem;font-size:.9rem;color:var(--gold-mid);font-weight:600}
.stat-tile-sub{margin-top:.25rem;font-size:.76rem;color:rgba(255,255,255,.65)}
.express-stat-row .stat-tile{background:#fff;border:1px solid var(--border2);box-shadow:var(--sh-sm);text-align:left;position:relative;overflow:hidden}
.express-stat-row .stat-tile::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--red)}
.express-stat-row .stat-tile-num{color:var(--ink);font-size:1.9rem}
.express-stat-row .stat-tile-lbl{color:var(--red);font-weight:800}
.express-stat-row .stat-tile-sub{color:var(--muted);line-height:1.45}
.express-stat-compact{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.4rem}
.express-stat-compact .stat-tile{padding:1rem;min-height:118px}
.express-stat-compact .stat-tile-num{font-size:1.55rem}
.express-stat-compact .stat-tile-lbl{font-size:.78rem}
.express-stat-compact .stat-tile-sub{font-size:.7rem}
.express-video-story{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1fr);gap:2rem;align-items:center}
.express-video-story>div:first-child{grid-column:2}
.express-video-story h2{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.16;color:var(--ink);margin:.55rem 0 1rem}
.express-video-story p{color:var(--muted);font-size:1rem;line-height:1.75;max-width:58ch}
.express-video-frame{grid-column:1;grid-row:1;position:relative;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(135deg,#fff,#fff7f8);aspect-ratio:9/16;min-height:0;width:min(100%,360px);justify-self:center;box-shadow:var(--sh-lg);border:1.5px solid #e8b1bb;padding:.35rem}
.express-video-frame video{position:absolute;inset:.35rem;width:calc(100% - .7rem);height:calc(100% - .7rem);object-fit:cover;border-radius:calc(var(--r-lg) - 6px);display:block;filter:saturate(1.08) contrast(1.03)}
@media (max-width:900px){.express-video-story{grid-template-columns:1fr}.express-video-story>div:first-child,.express-video-frame{grid-column:auto;grid-row:auto}.express-video-frame{width:min(100%,430px)}}
@media (max-width:700px){.express-stat-compact{grid-template-columns:1fr}}
@media (max-width:560px){.express-video-frame{width:min(100%,360px)}}
.route-top-badge{display:inline-block;margin-left:.5rem;font-size:.68rem;font-weight:800;color:var(--gold);background:var(--gold-soft);padding:.15rem .5rem;border-radius:999px;vertical-align:middle}

/* ---------- Route zones — accent-bar list, no boxed cards ---------- */
.zone-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem}
@media (max-width:860px){.zone-list-grid{grid-template-columns:1fr;gap:2rem}}
.zone-col{border-left:3px solid var(--border);padding-left:1.5rem}
.zone-col-blue{border-left-color:var(--blue)}
.zone-col-green{border-left-color:var(--green)}
.zone-col-gold{border-left-color:var(--gold)}
.zone-col h4{font-size:1.05rem;color:var(--ink);margin-bottom:.2rem}
.zone-col .zone-sub{font-size:.8rem;color:var(--muted);margin-bottom:1.1rem}
.zone-routes{display:flex;flex-direction:column}
.zone-routes li{list-style:none;padding:.65rem 0;border-bottom:1px solid var(--border2);font-size:.92rem;color:var(--body);transition:padding-left .18s ease,color .18s ease}
.zone-routes li:hover{padding-left:.5rem;color:var(--red)}
.zone-routes li:last-child{border-bottom:0}
.zone-note{margin-top:2rem;font-size:.85rem;color:var(--muted);font-style:italic}
.route-spotlight{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:2rem;align-items:stretch;background:linear-gradient(135deg,#fff7e6 0%,#fff 34%,#ffe5eb 100%);border:1px solid #f3c6cf;border-left:6px solid var(--red);border-radius:var(--r-lg);padding:2rem;margin-bottom:1rem;color:var(--ink);box-shadow:var(--sh-md);position:relative;overflow:hidden}
.route-spotlight::before{content:"";position:absolute;right:-90px;top:-120px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(228,185,79,.28),transparent 65%);opacity:.9}
.route-spotlight::after{display:none}
.route-spotlight-kicker{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.55rem}
.route-spotlight h3{color:#fff;font-size:clamp(1.4rem,2.5vw,2rem);margin-bottom:.5rem}
.route-spotlight h3{color:var(--ink)}
.route-spotlight p{color:var(--body);line-height:1.75;max-width:76ch;font-size:1.02rem}
.route-spotlight>div{position:relative;z-index:1}
.express-motion{--route-progress:0}
.route-image-panel{position:relative;min-height:250px;border-radius:18px;overflow:hidden;box-shadow:0 18px 42px rgba(15,25,35,.18);transform:translateY(18px) scale(.98);opacity:.25;transition:opacity .6s ease,transform .6s ease}
.route-image-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.route-image-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.58))}
.route-image-panel span{position:absolute;left:1rem;bottom:1rem;z-index:1;color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.route-spotlight.is-visible .route-image-panel{opacity:1;transform:translateY(0) scale(1)}
.express-road-motion{--route-progress:0;position:relative;margin:0 0 1.8rem;padding:1rem 1.2rem;background:#fff;border:1px solid var(--border2);border-radius:var(--r);box-shadow:var(--sh-sm);overflow:hidden}
.road-copy{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.road-copy span{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.road-track{position:relative;height:34px;border-radius:999px;background:linear-gradient(90deg,#fff7e6,#ffe5eb);overflow:hidden;border:1px solid #f3c6cf}
.road-line{position:absolute;left:0;top:50%;height:4px;width:calc(var(--route-progress) * 100%);background:linear-gradient(90deg,var(--gold-mid),var(--red));border-radius:99px;transform:translateY(-50%);transition:width .12s linear}
.road-bus{position:absolute;left:calc(var(--route-progress) * (100% - 28px));top:50%;width:28px;height:14px;border-radius:5px 9px 9px 5px;background:var(--red);box-shadow:0 4px 12px rgba(200,16,46,.35);transform:translateY(-50%);transition:left .12s linear}
.road-bus::before{content:"";position:absolute;left:5px;right:7px;top:3px;height:4px;border-radius:3px;background:rgba(255,255,255,.85)}
.road-bus::after{content:"";position:absolute;left:5px;right:5px;bottom:-3px;height:5px;background:radial-gradient(circle at left center,var(--ink) 0 2px,transparent 2.5px),radial-gradient(circle at right center,var(--ink) 0 2px,transparent 2.5px)}
.enhanced-zone-grid{gap:1.2rem}
.enhanced-zone-grid .zone-col{border:1px solid transparent;border-left-width:5px;border-radius:var(--r);padding:1.45rem;box-shadow:var(--sh-sm);transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}
.enhanced-zone-grid .zone-col::before{content:"";position:absolute;inset:0;opacity:.9;z-index:0}
.enhanced-zone-grid .zone-col>*{position:relative;z-index:1}
.enhanced-zone-grid .zone-col-blue{background:#eff6ff;border-color:#bfdbfe;border-left-color:var(--blue)}
.enhanced-zone-grid .zone-col-blue::before{background:linear-gradient(145deg,#eff6ff 0%,#fff 72%)}
.enhanced-zone-grid .zone-col-green{background:#ecfdf5;border-color:#bbf7d0;border-left-color:var(--green)}
.enhanced-zone-grid .zone-col-green::before{background:linear-gradient(145deg,#ecfdf5 0%,#fff 72%)}
.enhanced-zone-grid .zone-col-gold{background:#fffbeb;border-color:#fde68a;border-left-color:var(--gold)}
.enhanced-zone-grid .zone-col-gold::before{background:linear-gradient(145deg,#fffbeb 0%,#fff 72%)}
.enhanced-zone-grid .zone-col:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
@media (max-width:860px){.route-spotlight{grid-template-columns:1fr}.route-image-panel{min-height:230px}.road-copy span{font-size:.68rem}}

.fleet-class-card{background:linear-gradient(145deg,#fff7f8 0%,#fff 78%);border:1px solid #f3c6cf;border-radius:var(--r-lg);padding:1.8rem;box-shadow:var(--sh-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}
.fleet-class-card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:var(--red)}
.grid3 .fleet-class-card:nth-child(2){background:linear-gradient(145deg,#eef6ff 0%,#fff 78%);border-color:#bfdbfe}
.grid3 .fleet-class-card:nth-child(2)::before{background:var(--blue)}
.grid3 .fleet-class-card:nth-child(3){background:linear-gradient(145deg,#fffbeb 0%,#fff 78%);border-color:#fde68a}
.grid3 .fleet-class-card:nth-child(3)::before{background:var(--gold-mid)}
.fleet-class-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:rgba(200,16,46,.25)}
.fleet-class-card .fc-icon{display:none}
.fleet-class-card h4{font-size:1.08rem;color:var(--ink);margin-bottom:1rem}
.fleet-class-card ul{display:flex;flex-direction:column;gap:.7rem}
.fleet-class-card li{list-style:none;position:relative;padding-left:1rem;font-size:.88rem;line-height:1.5;color:var(--muted)}
.fleet-class-card li::before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--red)}
.booking-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.booking-info-card{border-top:4px solid var(--red);box-shadow:var(--sh-sm)}
.booking-info-card:nth-child(2){border-top-color:var(--ink)}
.booking-kiv-note{margin-top:1rem;border:1px dashed var(--border);background:var(--off);border-radius:var(--r);padding:.9rem 1rem;color:var(--muted);font-size:.86rem;font-weight:700}
@media (max-width:680px){.booking-card-grid{grid-template-columns:1fr}}

/* ---------- Highlight callout box (e.g. TVET global mobility note) ---------- */
.highlight-box{background:var(--gold-soft);border:1px solid var(--gold-mid);border-radius:var(--r);padding:1.1rem 1.4rem;margin-top:1.6rem;transition:transform .2s ease,box-shadow .2s ease}
.highlight-box:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.highlight-box-title{font-weight:800;font-size:.85rem;color:var(--gold);margin-bottom:.3rem}
.highlight-box p{font-size:.88rem;color:var(--body);line-height:1.6}

/* ---------- Dark career-pathway cards (e.g. TVET career pathways) ---------- */
.career-card{background:var(--ink);border-radius:var(--r-lg);padding:1.9rem 1.7rem;border-top:3px solid var(--red);transition:transform .2s ease,box-shadow .2s ease}
.career-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.career-card-icon{font-size:1.4rem;margin-bottom:.9rem}
.career-card h4{color:#fff;font-size:1.05rem;margin-bottom:.2rem}
.career-card-duration{font-size:.76rem;font-weight:700;color:var(--gold-mid);margin-bottom:.9rem}
.career-card p{font-size:.88rem;color:rgba(255,255,255,.68);line-height:1.6}
.career-card-earn{margin-top:.9rem;font-size:.82rem;color:#fff;font-weight:700}

/* ---------- TVET page storytelling ---------- */
.tvet-intro-panel{background:linear-gradient(135deg,#fff,#fff7f8);border-color:#f3c6cf;padding:1.2rem}
.tvet-intro-panel .about-svc-copy{background:#fff;border:1px solid #f1ccd3;border-radius:calc(var(--r-lg) - 8px);padding:2rem;box-shadow:var(--sh-sm)}
.tvet-brand-strip{margin-top:1.1rem;background:#fff;border:1px solid #f1ccd3;border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:1.25rem 1.6rem;display:grid;grid-template-columns:190px minmax(0,1fr) 190px;gap:1.2rem;align-items:center}
.tvet-brand-logo{display:flex;align-items:center;justify-content:center;min-height:108px}
.tvet-brand-logo img{max-width:100%;max-height:98px;object-fit:contain}
.tvet-brand-logo:first-child img{max-height:86px}
.tvet-brand-copy{text-align:center}
.tvet-brand-copy span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.35rem}
.tvet-brand-copy strong{display:block;font-size:1rem;color:var(--ink)}
.tvet-stat-row{max-width:980px;margin:0 auto}
.tvet-stat-row .stat-tile{background:linear-gradient(145deg,#fff 0%,#fff7f8 100%);border:1px solid #f1ccd3;box-shadow:var(--sh-sm);padding:2rem 1.2rem;display:flex;min-height:160px;flex-direction:column;align-items:center;justify-content:center}
.tvet-stat-row .stat-tile-num{color:var(--ink);font-size:2.35rem}
.tvet-stat-row .stat-tile-lbl{color:var(--gold);font-weight:800;max-width:14ch;line-height:1.25}
.tvet-stat-row .stat-tile-sub{color:var(--muted)}
.tvet-sponsor-panel{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.2rem;background:linear-gradient(135deg,#fff7f8,#fff);border:1px solid #f3c6cf;border-radius:var(--r-lg);padding:1.2rem;box-shadow:var(--sh-md)}
.tvet-sponsor-logo{background:linear-gradient(135deg,var(--ink),#172433 70%,var(--red-dk));border-radius:var(--r);padding:1.6rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff}
.tvet-sponsor-logo img{width:min(100%,170px);height:auto;max-height:150px;object-fit:contain;background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem}
.tvet-sponsor-logo span{font-size:.82rem;font-weight:800;line-height:1.45;color:var(--gold-mid)}
.tvet-sponsor-story{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.4rem;align-items:center;background:linear-gradient(135deg,#fff7f8,#fff);border:1px solid #f3c6cf;border-radius:var(--r-lg);padding:1.2rem;box-shadow:var(--sh-md)}
.tvet-sponsor-story>div:last-child{background:transparent;border:0;border-radius:var(--r);padding:1.4rem 1.2rem}
.tvet-sponsor-story p{color:var(--muted);line-height:1.65;margin-top:.85rem}
.tvet-sponsor-grid{align-items:stretch}
.tvet-soft-card{background:linear-gradient(145deg,#fff,#fff7f8);border-color:#f1ccd3}
.tvet-video-section{background:linear-gradient(180deg,#fff,#fff7f8)}
.tvet-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.tvet-video-card{position:relative;min-height:280px;border-radius:var(--r-lg);padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#fff7f8 100%);border:1px solid #f1ccd3;box-shadow:var(--sh-md);color:var(--ink);text-decoration:none;transition:transform .22s ease,box-shadow .22s ease}
.tvet-video-card::before{display:none}
.tvet-video-card::after{content:"";position:absolute;right:-55px;top:-65px;width:180px;height:180px;border-radius:50%;background:rgba(207,10,44,.08)}
.tvet-video-card>*{position:relative;z-index:1}
.tvet-video-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
.tvet-video-logo{position:absolute;left:1rem;right:1rem;top:1rem;width:calc(100% - 2rem);height:132px;object-fit:contain;background:#fff;border-radius:14px;padding:.85rem;box-shadow:0 12px 28px rgba(15,25,35,.1)}
.tvet-play{position:absolute;left:50%;top:82px;width:54px;height:54px;border-radius:50%;background:var(--red);box-shadow:0 14px 32px rgba(207,10,44,.35);transform:translate(-50%,-50%);z-index:2}
.tvet-play::before{content:"";position:absolute;left:22px;top:16px;border-left:16px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent}
.tvet-video-card span{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.55rem}
.tvet-video-card strong{font-size:1.25rem;color:var(--ink)}
.tvet-video-card p{color:var(--muted);font-size:.9rem;margin-top:.45rem}
.tvet-program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.tvet-program-card{background:linear-gradient(145deg,#fff 0%,#fff7f8 100%);border:1px solid #f1ccd3;border-top:4px solid var(--red);box-shadow:var(--sh-sm);display:flex;flex-direction:column}
.tvet-program-card:nth-child(2){border-top-color:#1D4ED8}
.tvet-program-card:nth-child(3){border-top-color:var(--gold)}
.tvet-program-card:nth-child(4){border-top-color:var(--ink)}
.tvet-program-card h4{font-size:1.12rem}
.tvet-program-card .pill-row{margin-top:auto!important;padding-top:1rem}
.tvet-japan-section{background:linear-gradient(135deg,#fff,#fff7f8)}
.tvet-japan-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:1.2rem;align-items:stretch;background:linear-gradient(135deg,var(--ink),#172433 55%,var(--red-dk));border-radius:var(--r-lg);padding:1.2rem;box-shadow:var(--sh-lg);overflow:hidden}
.tvet-japan-copy{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:2rem;color:#fff}
.tvet-japan-copy .eyebrow{color:var(--gold-mid)}
.tvet-japan-copy h3{color:#fff;font-size:clamp(1.45rem,2.6vw,2.1rem);margin:.55rem 0 .9rem}
.tvet-japan-copy p{color:rgba(255,255,255,.76);line-height:1.7}
.tvet-japan-video{min-height:390px;border-radius:var(--r);border:1px dashed rgba(255,255,255,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:2rem;background:radial-gradient(circle at 50% 38%,rgba(228,185,79,.24),transparent 42%),rgba(255,255,255,.06)}
.tvet-japan-video span{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-mid);margin-bottom:.8rem}
.tvet-japan-video strong{font-size:1.7rem;color:#fff}
.tvet-japan-video p{max-width:36ch;color:rgba(255,255,255,.72);margin-top:.5rem}
.tvet-japan-media{padding:0;border:1px solid rgba(255,255,255,.18);background:#050b12;overflow:hidden}
.tvet-japan-media video{width:100%;height:100%;min-height:390px;display:block;object-fit:cover;background:#050b12}
.tvet-gallery-rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.35rem .1rem 1rem;scrollbar-color:var(--red) #f7dbe0}
.tvet-gallery-card{position:relative;flex:0 0 min(72vw,310px);height:220px;border-radius:var(--r-lg);overflow:hidden;scroll-snap-align:start;background:linear-gradient(135deg,var(--ink),var(--red-dk));box-shadow:var(--sh-md);border:1px solid rgba(207,10,44,.18)}
.tvet-gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.tvet-gallery-card:hover img{transform:scale(1.06)}
.tvet-gallery-card figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;color:#fff;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.tvet-gallery-card.is-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#fff,#fff2f4);border:1px dashed #df9aa6}
.tvet-gallery-card.is-placeholder span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--red)}
.tvet-gallery-card.is-placeholder figcaption{color:var(--ink);text-shadow:none}
.tvet-pathway{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2rem}
.tvet-pathway::before{content:"";position:absolute;left:7%;right:7%;top:2.15rem;height:3px;background:linear-gradient(90deg,var(--gold-mid),var(--red),var(--gold-mid));border-radius:99px;opacity:.55}
.tvet-path-step{position:relative;z-index:1;background:#fff;border:1px solid #f1ccd3;border-radius:var(--r-lg);padding:1.25rem 1rem 1.35rem;text-align:center;box-shadow:var(--sh-sm);transition:transform .22s ease,box-shadow .22s ease}
.tvet-path-step:hover{transform:translateY(-5px);box-shadow:var(--sh-md)}
.tvet-path-step span{width:2.4rem;height:2.4rem;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:.8rem;box-shadow:0 0 0 8px #fff}
.tvet-path-step.is-goal{background:linear-gradient(135deg,var(--ink),var(--red-dk));color:#fff;border-color:transparent}
.tvet-path-step.is-goal h4{color:#fff}
.tvet-path-step.is-goal p{color:rgba(255,255,255,.72)}
.tvet-path-step.is-goal span{background:var(--gold-mid);color:var(--ink)}
.tvet-path-step h4{font-size:.95rem;margin-bottom:.35rem}
.tvet-path-step p{font-size:.84rem;line-height:1.55;color:var(--muted)}
.tvet-career-line{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2rem}
.tvet-career-line::before{content:"";position:absolute;left:12%;right:12%;top:50%;height:3px;background:linear-gradient(90deg,var(--red),var(--gold-mid));opacity:.3;transform:translateY(-50%)}
.tvet-career-line .career-card{position:relative;z-index:1}
@media (max-width:1060px){.tvet-program-grid,.tvet-video-grid{grid-template-columns:repeat(2,1fr)}.tvet-sponsor-panel,.tvet-sponsor-story,.tvet-japan-panel,.tvet-brand-strip{grid-template-columns:1fr}.tvet-pathway{grid-template-columns:1fr}.tvet-pathway::before{left:2rem;right:auto;top:0;bottom:0;width:3px;height:auto}.tvet-path-step{text-align:left;padding-left:4.2rem}.tvet-path-step span{position:absolute;left:1rem;top:1.2rem}.tvet-career-line{grid-template-columns:1fr}.tvet-career-line::before{display:none}}
@media (max-width:620px){.tvet-program-grid,.tvet-video-grid{grid-template-columns:1fr}.tvet-sponsor-panel,.tvet-sponsor-story,.tvet-japan-panel{padding:.85rem}.tvet-japan-copy{padding:1.5rem}.tvet-japan-video{min-height:300px}.tvet-japan-media video{min-height:300px}.tvet-brand-strip{padding:1rem}.tvet-brand-logo{min-height:78px}.tvet-brand-logo img{max-height:74px}}

/* ---------- Numbered journey steps (e.g. TVET participant journey) ---------- */
.journey-step{background:#fff;border:1px solid var(--border2);border-radius:var(--r);padding:1.7rem 1.5rem;transition:transform .2s ease,box-shadow .2s ease}
.journey-step:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.journey-step-num{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--red-soft);-webkit-text-stroke:1px var(--red)}
.journey-step h4{font-size:1rem;color:var(--ink);margin-top:.6rem;margin-bottom:.4rem}
.journey-step p{font-size:.88rem;color:var(--muted);line-height:1.6}

/* ---------- State coverage grid (e.g. JAKOA Orang Asli state breakdown) ---------- */
.state-heading{font-size:clamp(1.5rem,2.8vw,2.2rem);margin-top:.6rem}
.state-heading .accent{color:var(--red)}
.state-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
@media (max-width:900px){.state-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.state-grid{grid-template-columns:1fr}}
.state-card{background:#fff;border-radius:var(--r-lg);border-top:4px solid var(--border);padding:1.6rem;box-shadow:var(--sh-sm);transition:transform .2s ease,box-shadow .2s ease}
.state-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md)}
.state-card h4{font-size:1.05rem;margin-bottom:1rem;color:var(--ink)}
.state-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.state-stat{background:var(--off);border-radius:var(--r);padding:.85rem .35rem;text-align:center}
.state-stat .num{font-family:var(--font-display);font-weight:800;font-size:clamp(1.05rem,3.4vw,1.4rem);white-space:nowrap;letter-spacing:-.02em}
.state-stat .lbl{font-size:.72rem;color:var(--muted);margin-top:.2rem}
@media (max-width:400px){.state-stat{padding:.7rem .2rem}.state-stat .lbl{font-size:.66rem}}
.state-card.st-green{border-top-color:#059669}
.state-card.st-green .num{color:#059669}
.state-card.st-blue{border-top-color:#1D4ED8}
.state-card.st-blue .num{color:#1D4ED8}
.state-card.st-orange{border-top-color:#D97706}
.state-card.st-orange .num{color:#D97706}
.state-card.st-crimson{border-top-color:var(--red)}
.state-card.st-crimson .num{color:var(--red)}
.state-card.st-purple{border-top-color:#7C3AED}
.state-card.st-purple .num{color:#7C3AED}
.state-card.planned{background:var(--gold-soft);border-top-color:var(--gold)}
.state-card.planned .badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:700;color:var(--gold);margin-bottom:.7rem}
.state-card.planned p{font-size:.86rem;color:var(--muted);line-height:1.55}

/* ---------- Orang Asli BPBS pupil transport storytelling ---------- */
.oa-reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease var(--oa-delay,0ms),transform .55s ease var(--oa-delay,0ms)}
.oa-reveal.is-visible{opacity:1;transform:translateY(0)}
.oa-intro-section{background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.section-tight{padding-top:3.2rem;padding-bottom:3.2rem}
.compact-head{margin-bottom:1.4rem}
.oa-story-copy{position:relative}
.oa-story-copy::before{content:"";position:absolute;left:-1.25rem;top:.2rem;bottom:.2rem;width:4px;border-radius:99px;background:linear-gradient(var(--gold-mid),var(--red))}
.oa-stats-section{background:linear-gradient(135deg,#fff7f8 0%,#fff 48%,#fff1f3 100%)}
.oa-stat-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:1020px){.oa-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.oa-stat-grid{grid-template-columns:1fr}}
.oa-stat-tile{background:linear-gradient(145deg,#fff7f8 0%,#fff 72%);border:1px solid #f3c6cf;box-shadow:var(--sh-sm);text-align:left;position:relative;overflow:hidden}
.oa-stat-tile::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--red)}
.oa-stat-tile .stat-tile-num{color:var(--ink);font-size:1.9rem}
.oa-stat-tile .stat-tile-lbl{color:var(--red);font-weight:800}
.oa-stat-tile .stat-tile-sub{color:var(--muted);line-height:1.45}
.oa-stat-gold,.oa-stat-green{background:linear-gradient(145deg,#fff2f4 0%,#fff 72%);border-color:#f3c6cf}
.oa-stat-gold::before,.oa-stat-green::before{background:var(--red)}
.oa-process-card{background:linear-gradient(145deg,#fff7f8 0%,#fff 72%);border:1px solid #f3c6cf;border-top:4px solid var(--red);box-shadow:var(--sh-sm)}
.oa-process-card:nth-child(2),.oa-process-card:nth-child(3){background:linear-gradient(145deg,#fff2f4 0%,#fff 72%);border-color:#f3c6cf;border-top-color:var(--red)}
.oa-process-card h4{font-size:1.08rem}
.oa-state-panel{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem;margin-top:2rem;background:linear-gradient(135deg,#fff,#fff2f4);border:1px solid #f3c6cf;border-radius:var(--r-lg);padding:1rem;box-shadow:var(--sh-md)}
.oa-state-card{position:relative;overflow:hidden;border:1px solid #f0c4cc;border-top:0;background:linear-gradient(160deg,#fff 0%,#fff7f8 100%);box-shadow:none;min-height:245px;display:flex;flex-direction:column}
.oa-state-card::before{content:"BPBS";position:absolute;right:1rem;top:1rem;font-size:.68rem;font-weight:800;letter-spacing:.1em;color:rgba(207,10,44,.18)}
.oa-state-card::after{content:"";position:absolute;left:-35px;bottom:-45px;width:120px;height:120px;border-radius:50%;background:rgba(207,10,44,.07)}
.oa-state-card h4{font-size:1.2rem;margin-bottom:.45rem;position:relative;z-index:1}
.oa-state-card .state-districts{font-size:.82rem;line-height:1.45;color:var(--muted);min-height:4.1rem;margin-bottom:1rem;max-width:34ch;position:relative;z-index:1}
.oa-state-card .state-card-stats{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:auto;position:relative;z-index:1}
.oa-state-card .state-stat{background:rgba(255,255,255,.82);border:1px solid #f1ccd3}
.oa-state-card .state-stat:nth-child(3){grid-column:1 / -1}
.oa-state-card .state-vehicle-stat{grid-column:1 / -1;padding:.72rem .5rem}
.oa-state-card .state-vehicle-stat .num{font-size:1.28rem;font-weight:800}
.oa-state-card .state-vehicle-stat .lbl{font-weight:600}
.oa-state-panel .state-card.st-green,
.oa-state-panel .state-card.st-blue,
.oa-state-panel .state-card.st-crimson,
.oa-state-panel .state-card.st-orange,
.oa-state-panel .state-card.st-purple{border-left:4px solid var(--red)}
.oa-state-panel .state-card .num{color:var(--red)}
@media (max-width:1180px){.oa-state-panel{grid-template-columns:repeat(2,1fr)}.oa-state-card{min-height:220px}.oa-state-card .state-districts{min-height:2.4rem}}
@media (max-width:600px){.oa-state-panel{grid-template-columns:1fr;padding:.75rem}.oa-state-card{min-height:0}.oa-state-card .state-districts{min-height:0}}
.oa-people-section{background:linear-gradient(180deg,#fff 0%,#fff7f8 100%);position:relative;overflow:hidden}
.oa-ops-story{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.5rem;align-items:stretch}
.oa-ops-main{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;background:linear-gradient(135deg,#fff,#fff2f4);border:1px solid #f3c6cf;border-radius:var(--r-lg);padding:1rem;overflow:hidden;box-shadow:var(--sh-md)}
.oa-ops-main::before{display:none}
.oa-ops-step{position:relative;z-index:1;background:#fff;border:1px solid #f1ccd3;border-radius:var(--r);padding:1.25rem;min-height:150px;box-shadow:var(--sh-sm);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.oa-ops-step::before{content:"";position:absolute;right:1rem;top:1rem;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 7px rgba(207,10,44,.1)}
.oa-ops-step::after{content:"";position:absolute;inset:auto 1.1rem 1rem 1.1rem;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--gold-mid),var(--red));transform:scaleX(.28);transform-origin:left;opacity:.55;transition:transform .28s ease,opacity .28s ease}
.oa-ops-step:nth-child(2){animation-delay:.08s}
.oa-ops-step:nth-child(3){animation-delay:.16s}
.oa-ops-step:nth-child(4){animation-delay:.24s}
.oa-ops-step:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:#e9aeb8}
.oa-ops-step:hover::after{transform:scaleX(1);opacity:1}
.oa-ops-step strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:.45rem;padding-right:1.6rem}
.oa-ops-step p{color:var(--muted);font-size:.9rem;line-height:1.62}
@keyframes oa-card-breathe{0%,100%{box-shadow:var(--sh-sm)}50%{box-shadow:0 16px 32px rgba(207,10,44,.11)}}
@media (prefers-reduced-motion:no-preference){.oa-ops-main.is-visible .oa-ops-step,.oa-reveal.is-visible .oa-ops-step{animation:oa-card-breathe 3.8s ease-in-out infinite}}
.oa-sticker-panel{background:#fff;border:1px solid #f3c6cf;border-radius:var(--r-lg);padding:1.4rem;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--sh-md);text-align:center}
.oa-sticker-panel img{width:min(190px,80%);height:auto;object-fit:contain;margin:0 auto 1.2rem;filter:drop-shadow(0 12px 18px rgba(15,25,35,.12))}
.oa-sticker-panel span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--red);margin-bottom:.45rem}
.oa-sticker-panel p{font-size:.86rem;color:var(--muted);line-height:1.55}
@media (max-width:860px){.oa-ops-story{grid-template-columns:1fr}.oa-ops-main{grid-template-columns:1fr}.oa-ops-main::before{display:none}}
.oa-gallery-section{background:linear-gradient(180deg,#fff,#fff7f8)}
.oa-media-rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem .1rem 1rem;scrollbar-color:var(--red) #f7dbe0}
.oa-media-card{position:relative;flex:0 0 min(72vw,310px);height:220px;border-radius:var(--r-lg);overflow:hidden;scroll-snap-align:start;background:linear-gradient(135deg,var(--ink),var(--red-dk));box-shadow:var(--sh-md);border:1px solid rgba(207,10,44,.18)}
.oa-media-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.oa-media-card:hover img{transform:scale(1.06)}
.oa-media-card figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;color:#fff;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.oa-media-card.is-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#fff,#fff2f4);border:1px dashed #df9aa6}
.oa-media-card.is-placeholder span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--red)}
.oa-media-card.is-placeholder figcaption{color:var(--ink);text-shadow:none}
.oa-auto-scroll{scroll-behavior:smooth}
.oa-video-panel{min-height:320px;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(135deg,var(--ink),var(--red-dk));box-shadow:var(--sh-md);padding:1rem}
.oa-video-placeholder{height:100%;min-height:300px;border:1px dashed rgba(255,255,255,.38);border-radius:calc(var(--r-lg) - 8px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:2rem;background:radial-gradient(circle at 50% 35%,rgba(228,185,79,.2),transparent 38%)}
.oa-video-placeholder span{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-mid);margin-bottom:.85rem}
.oa-video-placeholder strong{font-size:1.35rem}
.oa-video-placeholder p{color:rgba(255,255,255,.72);margin-top:.5rem}
.oa-innovation-panel{background:linear-gradient(135deg,#fff7f8 0%,#fff 42%,#fff0f3 100%);border-color:#f3c6cf;padding:1.2rem}
.oa-innovation-panel .about-svc-copy{background:#fff;border:1px solid #f1ccd3;border-radius:calc(var(--r-lg) - 8px);padding:2rem;box-shadow:var(--sh-sm)}
.oa-innovation-panel .icon-list-item{background:linear-gradient(145deg,#fff7f8,#fff);border-color:#f1ccd3}
.oa-oasys-photo{min-height:320px}
.oa-partner-panel{background:linear-gradient(135deg,#fff7f8,#fff);border-color:#f3c6cf}
.oa-jakoa-card{background:linear-gradient(135deg,var(--ink),#172433 65%,var(--red-dk));border-radius:var(--r-lg);padding:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;box-shadow:var(--sh-md);min-height:330px}
.oa-jakoa-card img{width:min(100%,360px);height:auto;max-height:120px;object-fit:contain;background:#fff;border-radius:12px;padding:1rem;margin-bottom:1.4rem}
.oa-jakoa-card span{font-weight:800;color:var(--gold-mid);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}
.oa-jakoa-card p{color:rgba(255,255,255,.76);line-height:1.65;margin-top:.75rem}
.oa-partner-panel .icon-list-item{background:linear-gradient(145deg,#fff7f8,#fff);border-color:#f1ccd3}
.oa-operator-gallery{margin-top:1.5rem}

/* ---------- Closing CTA band (per-service, e.g. Express "Ready to Book") ---------- */
.cta-band{background:linear-gradient(135deg,var(--red),var(--red-dk));padding:3.6rem 0;position:relative;overflow:hidden}
.cta-band-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;position:relative;z-index:1}
.cta-band-inner>div:first-child{flex:1 1 480px;max-width:640px}
.cta-band h2{color:#fff;font-size:clamp(1.4rem,2.4vw,2rem)}
.cta-band p{color:rgba(255,255,255,.85);margin-top:.6rem;font-size:1rem}
.cta-contact-box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:var(--r-lg);padding:1.6rem 2.2rem;text-align:center;backdrop-filter:blur(6px);flex:0 0 auto}
.cta-contact-label{display:block;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.cta-contact-phone{font-family:var(--font-display);font-size:1.55rem;font-weight:800;color:#fff;margin-top:.4rem}
.cta-contact-email{font-size:.84rem;color:rgba(255,255,255,.8);margin-top:.2rem}
.cta-contact-box .btn{margin-top:1rem}

/* ---------- Static coverage map image ---------- */
.coverage-map-wrap{display:flex;justify-content:center}
.coverage-map-wrap img{max-width:100%;height:auto;border-radius:var(--r-lg);box-shadow:var(--sh-md)}

/* ---------- Map + location list (side by side) ---------- */
.map-list-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:3rem;align-items:start}
@media (max-width:860px){.map-list-grid{grid-template-columns:1fr}}
.map-list-grid .coverage-map-wrap{position:sticky;top:6rem}
.map-list-grid .coverage-map-wrap img{max-width:100%;width:100%}
.loc-group{margin-bottom:1.8rem}
.loc-group:last-child{margin-bottom:0}
.loc-group-title{display:flex;align-items:center;gap:.55rem;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.7rem}
.loc-dot{width:9px;height:9px;border-radius:50%;flex:none}
.loc-dot-ml{background:var(--ink)}
.loc-dot-ekspres{background:var(--blue)}
.loc-dot-mro{background:var(--amber)}
.loc-dot-haso{background:var(--red)}
.loc-dot-basmy{background:#7C3AED}
.loc-group-title.t-ml{color:var(--ink)}
.loc-group-title.t-ekspres{color:var(--blue)}
.loc-group-title.t-mro{color:var(--amber)}
.loc-group-title.t-haso{color:var(--red)}
.loc-group-title.t-basmy{color:#7C3AED}
.loc-chip-row{display:flex;flex-wrap:wrap;gap:.6rem}
.loc-chip{background:var(--off);border:1px solid var(--border2);border-radius:999px;padding:.45rem 1rem;font-size:.86rem;font-weight:600;color:var(--body);transition:transform .18s ease,background .18s ease,color .18s ease}
.loc-chip:hover{transform:translateY(-2px) scale(1.03);background:var(--red-soft);color:var(--red)}

/* ---------- Stage Bus / ISBSF redesign ---------- */
.isbsf-page{background:#fff}
.isbsf-intro{background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%)}
.isbsf-hero-panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:2rem;align-items:stretch}
.isbsf-hero-copy{background:#fff;border:1px solid #f1ccd3;border-left:6px solid var(--red);border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:clamp(1.5rem,3vw,2.6rem)}
.isbsf-hero-copy h2{font-family:var(--font-display);font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.08;color:var(--ink);margin:.8rem 0 1rem;letter-spacing:0}
.isbsf-hero-copy .lead{font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:700;line-height:1.65;color:var(--ink);max-width:58ch}
.isbsf-hero-copy p:not(.lead){color:var(--muted);line-height:1.72;margin-top:1rem}
.isbsf-visual-stack{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:1rem;height:100%;min-height:100%}
.isbsf-visual-card{position:relative;min-height:0;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(135deg,var(--ink),var(--red-dk));box-shadow:var(--sh-lg);display:flex;align-items:flex-end}
.isbsf-visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.04) contrast(1.03)}
.isbsf-visual-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,25,35,.02) 0%,rgba(15,25,35,.22) 100%)}
.isbsf-visual-note{position:relative;z-index:1;margin:1rem;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.65);border-radius:calc(var(--r-lg) - 8px);padding:1.15rem 1.25rem;box-shadow:var(--sh-sm)}
.isbsf-visual-note strong{display:block;color:var(--ink);font-size:1.05rem}
.isbsf-visual-note span{display:block;color:var(--muted);line-height:1.55;margin-top:.35rem;font-size:.92rem}
.isbsf-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.isbsf-mini-grid figure{height:190px;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid #f0c8cf;box-shadow:var(--sh-md);transition:transform .22s ease,box-shadow .22s ease}
.isbsf-mini-grid figure:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.isbsf-mini-grid img{width:100%;height:100%;object-fit:cover;display:block}
.isbsf-mini-grid figure:nth-child(2) img{object-fit:contain;background:linear-gradient(135deg,#fff,#fff5f7);padding:.55rem}
.isbsf-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.4rem}
.isbsf-stat-strip article{background:linear-gradient(145deg,#fff7f8,#fff);border:1px solid #f0c8cf;border-radius:var(--r);padding:1rem;text-align:center;box-shadow:var(--sh-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.isbsf-stat-strip article:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:#df6e81}
.isbsf-stat-strip strong{display:block;font-family:var(--font-display);font-size:1.75rem;line-height:1;color:var(--red)}
.isbsf-stat-strip span{display:block;margin-top:.35rem;color:var(--ink);font-weight:800;font-size:.82rem;line-height:1.35}
.stage-support-strip{display:flex;align-items:center;gap:.85rem;margin-top:1.2rem;background:linear-gradient(145deg,#f8fbff,#fff);border:1px solid #dce8f4;border-radius:var(--r);padding:.75rem .9rem;color:var(--ink);font-weight:800;font-size:.86rem}
.stage-support-strip img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:10px;padding:.35rem;box-shadow:var(--sh-sm)}
.stage-support-strip.is-dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.basmy-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.8fr);gap:1.2rem;align-items:stretch;background:linear-gradient(135deg,#fff7e8 0%,#fff 44%,#fff4f6 100%);border:1px solid #f0c8cf;border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:1.2rem;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.basmy-panel:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:#df6e81}
.basmy-copy{background:var(--ink);color:#fff;border-radius:calc(var(--r-lg) - 8px);padding:1.8rem}
.basmy-copy .eyebrow{color:var(--gold-mid)}
.basmy-copy h2{color:#fff;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.15;margin:.55rem 0 .9rem}
.basmy-copy p{color:rgba(255,255,255,.76);line-height:1.65}
.basmy-media-card{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff,#fff1f8);border:1px solid #f0c8cf;border-radius:calc(var(--r-lg) - 8px);padding:1.4rem;box-shadow:var(--sh-sm);overflow:hidden}
.basmy-media-card img{width:100%;height:auto;max-height:320px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(15,25,35,.18))}
.basmy-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}
.basmy-metrics article{background:#fff;border:1px solid #f0c8cf;border-top:4px solid var(--red);border-radius:var(--r);padding:1.35rem;text-align:center;box-shadow:var(--sh-sm);transition:transform .2s ease,box-shadow .2s ease}
.basmy-metrics article:nth-child(2){border-top-color:var(--gold-mid)}
.basmy-metrics article:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.basmy-metrics span{display:block;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:.5rem}
.basmy-metrics strong{display:block;font-family:var(--font-display);font-size:1.8rem;color:var(--ink);line-height:1}
.basmy-metrics p{color:var(--muted);font-size:.9rem;line-height:1.55;margin-top:.7rem}
.route-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.42fr);gap:1rem;margin-bottom:1.3rem}
.route-search input,.route-search select{width:100%;border:1px solid #d7e2ed;border-radius:999px;background:#fff;padding:.95rem 1.15rem;font:inherit;color:var(--ink);box-shadow:var(--sh-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.route-search input:hover,.route-search select:hover{transform:translateY(-2px);box-shadow:var(--sh-md);border-color:#df6e81}
.route-search input:focus,.route-search select:focus{outline:3px solid rgba(207,10,44,.13);border-color:#df6e81}
.route-result{min-height:150px}
.route-empty-card,.route-card{background:linear-gradient(145deg,#fff,#fff7f8);border:1px solid #f0c8cf;border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:clamp(1.25rem,2.5vw,2rem);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.route-empty-card:hover,.route-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:#df6e81}
.route-empty-card strong{font-size:1.15rem;color:var(--ink)}
.route-empty-card p,.route-card p{color:var(--muted);line-height:1.6;margin-top:.35rem}
.route-card-head{display:flex;gap:1rem;align-items:flex-start;border-bottom:1px solid #f1ccd3;padding-bottom:1.2rem;margin-bottom:1.2rem}
.route-card-head>span{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:5.2rem;min-height:4.2rem;border-radius:var(--r);background:var(--red);color:#fff;font-family:var(--font-display);font-weight:800;font-size:1.6rem;box-shadow:0 12px 24px rgba(207,10,44,.22)}
.route-card-head h3{font-size:clamp(1.25rem,2.5vw,1.7rem);color:var(--ink);line-height:1.2}
.route-direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.route-direction{background:#fff;border:1px solid #dfe8f1;border-radius:var(--r);padding:1.25rem;box-shadow:var(--sh-sm)}
.route-direction>span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--red);margin-bottom:.55rem}
.route-direction h4{font-size:1rem;color:var(--ink);margin-bottom:.9rem}
.time-chip-row{display:flex;flex-wrap:wrap;gap:.55rem}
.time-chip{display:inline-flex;align-items:center;justify-content:center;min-width:4.25rem;border-radius:999px;background:#fff3f5;border:1px solid #f0b9c3;color:var(--red);font-weight:800;padding:.46rem .8rem}
.route-empty{color:var(--muted);font-size:.9rem;line-height:1.55}
.basmy-route-panel{margin-top:2.6rem}
.section-head.compact{text-align:left;margin-bottom:1.4rem}
.section-head.compact h2{font-size:clamp(1.45rem,2.6vw,2rem)}
.basmy-route-head{margin-top:2.4rem}
.basmy-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.basmy-route-card{background:#fff;border:1px solid #dfe8f1;border-left:5px solid var(--gold-mid);border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:1.35rem;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.basmy-route-card:nth-child(2){border-left-color:var(--red)}
.basmy-route-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:#df6e81}
.basmy-route-card>div span{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:.45rem}
.basmy-route-card h3{font-size:1rem;line-height:1.45;color:var(--ink);max-width:42rem}
.basmy-route-card p{color:var(--muted);font-size:.92rem;line-height:1.55;margin-top:.65rem}
.basmy-route-card ul{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.55rem}
.basmy-route-card li{display:grid;grid-template-columns:4.25rem minmax(0,1fr);gap:.7rem;align-items:start;border-top:1px solid #edf1f5;padding-top:.55rem}
.basmy-route-card li strong{color:var(--red);font-weight:800}
.basmy-route-card li span{color:var(--body);font-size:.92rem;line-height:1.45}
.basmy-route-link{margin-top:1.2rem}
@media (max-width:960px){.isbsf-hero-panel,.basmy-panel{grid-template-columns:1fr}.isbsf-visual-card{min-height:330px}.basmy-route-grid{grid-template-columns:1fr}}
@media (max-width:720px){.basmy-metrics,.route-search,.route-direction-grid,.isbsf-stat-strip{grid-template-columns:1fr}.route-card-head{flex-direction:column}.route-card-head>span{min-width:4.6rem;min-height:3.7rem}}
@media (max-width:520px){.isbsf-intro{padding-top:3.4rem}.isbsf-hero-copy,.basmy-copy{padding:1.35rem}.isbsf-visual-card{min-height:260px}.isbsf-mini-grid{grid-template-columns:1fr}.isbsf-mini-grid figure{height:180px}.basmy-route-card li{grid-template-columns:1fr;gap:.2rem}}

/* ---------- Track Record — revenue cards + client chip panel ---------- */
.track-record-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:2.5rem;align-items:start}
@media (max-width:900px){.track-record-grid{grid-template-columns:1fr}}
.revenue-card{border-radius:var(--r-lg);padding:2.2rem;color:#fff;margin-bottom:1.4rem;text-align:center}
.revenue-card:last-child{margin-bottom:0}
.revenue-card-dark{background:var(--ink)}
.revenue-card-red{background:linear-gradient(135deg,var(--red),var(--red-dk))}
.revenue-card .rc-year{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.revenue-card .rc-amount{font-family:var(--font-display);font-weight:800;font-size:2.4rem;margin-top:.6rem}
.revenue-card .rc-label{opacity:.85;font-size:.95rem;margin-top:.2rem}
.revenue-card .rc-desc{opacity:.7;font-size:.85rem;margin-top:.9rem;line-height:1.55;max-width:34ch;margin-left:auto;margin-right:auto}
.clients-panel{background:#fff;border:1px solid var(--border2);border-radius:var(--r-lg);padding:2.2rem;box-shadow:var(--sh-sm)}
.clients-panel h3{font-family:var(--font-display);font-weight:800;font-size:1.5rem;margin-top:.3rem;color:var(--ink)}
.clients-panel h3 .accent{color:var(--red)}
.clients-chip-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}

/* ---------- MRO interactive locator ---------- */
.mro-intro-photo{width:100%;height:100%;min-height:360px;object-fit:cover;object-position:78% 42%;border-radius:var(--r-lg);filter:saturate(1.08) contrast(1.03)}
.mro-stat-row .stat-tile{background:linear-gradient(145deg,#fff,#fff8f0);border:1px solid #f1ccd3;box-shadow:var(--sh-sm)}
.mro-stat-row .stat-tile:nth-child(2){background:linear-gradient(145deg,#fff,#f7fbff);border-color:#c9ddf6}
.mro-stat-row .stat-tile:nth-child(3){background:linear-gradient(145deg,#fff,#fff8e8);border-color:#ead8a5}
.mro-stat-row .stat-tile:nth-child(4){background:linear-gradient(145deg,#fff,#fff4f6);border-color:#e9bdc6}
.mro-stat-row .stat-tile-num{color:var(--ink)}
.mro-stat-row .stat-tile-lbl{color:var(--red);font-weight:800}
.mro-haso-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:1.2rem;align-items:stretch;background:linear-gradient(135deg,var(--ink),#162536 55%,var(--red-dk));border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:1.2rem;overflow:hidden}
.mro-haso-copy{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:2rem;color:#fff}
.mro-haso-copy .eyebrow{color:var(--gold-mid)}
.mro-haso-copy h2{color:#fff;font-size:clamp(1.6rem,3vw,2.45rem);margin:.55rem 0 1rem}
.mro-haso-copy p{color:rgba(255,255,255,.76);line-height:1.72;margin-top:.85rem}
.mro-haso-sites{display:grid;grid-template-columns:1fr;gap:1rem}
.mro-haso-card{position:relative;background:linear-gradient(145deg,#fff,#fff9ee);border-radius:var(--r);padding:1.45rem;border:1px solid rgba(228,185,79,.42);border-left:5px solid var(--gold-mid);box-shadow:0 18px 42px rgba(0,0,0,.14);transition:transform .22s ease,box-shadow .22s ease}
.mro-haso-card:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(0,0,0,.18)}
.mro-haso-card span{display:inline-flex;margin-bottom:.8rem;border-radius:999px;background:var(--gold-soft);color:#8b6106;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .7rem}
.mro-haso-card h3{font-size:1.35rem;margin-bottom:.5rem}
.mro-haso-card p{color:var(--muted);line-height:1.55;margin-bottom:1rem}
.mro-haso-card a{font-weight:800;color:var(--red);text-decoration:none}
.mro-haso-card small{display:block;color:var(--ink);font-weight:800;font-size:.82rem;line-height:1.55}
.mro-proof-grid{display:grid;grid-template-columns:minmax(300px,504px) minmax(0,1fr);gap:1.4rem;align-items:stretch}
.mro-linkedin-card{background:#fff;border:1px solid #f1ccd3;border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:1rem;overflow:hidden}
.mro-linkedin-card iframe{display:block;width:100%;max-width:504px;margin:0 auto;border-radius:12px;background:#fff}
.mro-proof-copy{background:linear-gradient(145deg,#fff,#fff8f0);border:1px solid #f1ccd3;border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:2rem;display:flex;flex-direction:column;justify-content:center}
.mro-proof-copy span{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--red);margin-bottom:.75rem}
.mro-proof-copy h3{font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.2;margin-bottom:1rem;color:var(--ink)}
.mro-proof-copy p{color:var(--muted);line-height:1.72;margin-top:.7rem}
.mro-gallery-stack{display:grid;grid-template-columns:1fr;gap:1rem}
.mro-gallery-stack figure,.mro-service-gallery figure{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;min-height:180px;background:var(--ink);box-shadow:var(--sh-md)}
.mro-gallery-stack img,.mro-service-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .38s ease,filter .38s ease}
.mro-gallery-stack figure:hover img,.mro-service-gallery figure:hover img{transform:scale(1.045);filter:saturate(1.08)}
.mro-gallery-stack figcaption,.mro-service-gallery figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;color:#fff;font-weight:800;font-size:.84rem;letter-spacing:.02em;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.mro-gallery-stack figure::after,.mro-service-gallery figure::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.66));pointer-events:none}
.mro-locator-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:1.5rem;align-items:start}
.mro-map-card{position:sticky;top:6rem;border-radius:var(--r-lg);overflow:visible;background:linear-gradient(145deg,#fff,#fff8f0);border:1px solid #f2d3d8;box-shadow:var(--sh-lg);padding:.65rem}
.mro-map-card img{width:100%;display:block;border-radius:calc(var(--r-lg) - 8px);position:relative;z-index:1}
.mro-map-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:0;background:transparent;padding:0;cursor:pointer;z-index:3}
.pin-dot{position:relative;display:block;width:23px;height:23px;border-radius:50%;background:var(--red);border:4px solid #fff;box-shadow:0 0 0 8px rgba(207,10,44,.22),0 10px 24px rgba(15,25,35,.34)}
.mro-map-pin.is-haso .pin-dot{background:var(--gold);box-shadow:0 0 0 8px rgba(200,154,43,.28),0 10px 24px rgba(15,25,35,.34)}
.pin-dot::after{content:"";position:absolute;inset:-13px;border-radius:50%;border:3px solid currentColor;color:rgba(207,10,44,.5);animation:mroPulse 1.55s ease-out infinite}
.mro-map-pin.is-haso .pin-dot::after{color:rgba(200,154,43,.52)}
@keyframes mroPulse{0%{transform:scale(.48);opacity:1}100%{transform:scale(2.05);opacity:0}}
.mro-pin-card{position:absolute;left:50%;bottom:calc(100% + 16px);width:230px;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid #f1ccd3;border-radius:14px;box-shadow:var(--sh-lg);padding:.9rem;text-align:left;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.mro-pin-card::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:9px solid #fff}
.mro-pin-card strong{display:block;color:var(--ink);font-size:.9rem;margin-bottom:.35rem}
.mro-pin-card small{display:block;color:var(--muted);font-size:.78rem;line-height:1.55}
.mro-map-pin:hover,.mro-map-pin:focus-visible{z-index:5}
.mro-map-pin:hover .mro-pin-card,.mro-map-pin:focus-visible .mro-pin-card{opacity:1;transform:translateX(-50%) translateY(0)}
.mro-branch-list{display:grid;gap:.8rem}
.mro-branch-item{background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #dce7f2;border-left:4px solid #6c7f96;border-radius:var(--r);padding:1.05rem 1.15rem;box-shadow:var(--sh-sm);transition:transform .18s ease,box-shadow .18s ease}
.mro-branch-item:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.mro-branch-item.is-haso{border-left-color:var(--gold);background:linear-gradient(145deg,#fff,#fff8e8)}
.mro-branch-item.is-upcoming{border-left-color:#9aa6b5;background:linear-gradient(145deg,#fff,#f5f7fa)}
.mro-branch-item span{display:block;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--red);margin-bottom:.38rem}
.mro-branch-item.is-haso span{color:#9a6b06}
.mro-branch-item h3{font-size:1rem;margin-bottom:.25rem}
.mro-branch-item p{color:var(--muted);font-size:.9rem;line-height:1.5}
.mro-branch-item small{display:block;margin-top:.45rem;color:var(--ink);font-weight:700;font-size:.78rem}
.mro-service-gallery{display:grid;grid-template-columns:1.15fr .9fr .95fr;gap:1rem}
.mro-service-gallery figure{height:260px}
.mro-client-panel{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.2rem;align-items:start}
.mro-client-lede{background:linear-gradient(135deg,var(--ink),#172433);border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:2rem;color:#fff;min-height:100%;display:flex;flex-direction:column;justify-content:center}
.mro-client-lede span{font-family:var(--font-display);font-size:3rem;line-height:1;font-weight:800;color:var(--gold-mid)}
.mro-client-lede strong{font-size:1.05rem;margin-top:.55rem}
.mro-client-lede p{color:rgba(255,255,255,.74);line-height:1.6;margin-top:.75rem;font-size:.9rem}
.mro-client-panel .clients-panel{background:linear-gradient(145deg,#fff,#fff8f0);border-color:#f1ccd3;box-shadow:var(--sh-md)}
@media (max-width:980px){.mro-haso-panel,.mro-locator-grid,.mro-proof-grid{grid-template-columns:1fr}.mro-map-card{position:relative;top:auto}.mro-haso-copy{padding:1.45rem}.mro-service-gallery{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.mro-client-panel{grid-template-columns:1fr}}
@media (max-width:560px){.mro-pin-card{width:190px}.mro-haso-sites{grid-template-columns:1fr}.mro-map-card{padding:.35rem}.pin-dot{width:16px;height:16px}}
@media (max-width:560px){.mro-service-gallery{grid-template-columns:1fr}.mro-linkedin-card iframe{height:560px}.mro-gallery-stack figure,.mro-service-gallery figure{height:220px}}

/* ============================================================
   CONTACT US PAGE
   ============================================================ */
/* ============================================================
   CONTACT PAGE — page-specific components
   ============================================================ */
.contact-cards-wrap{margin-top:-4.2rem;position:relative;z-index:5}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media (max-width:860px){.contact-cards{grid-template-columns:1fr}}
.contact-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-lg);border:0;padding:1.8rem;display:flex;flex-direction:column;gap:.85rem}
.cc-icon{width:2.9rem;height:2.9rem;border-radius:10px;background:var(--red-soft);color:var(--red);display:flex;align-items:center;justify-content:center}
.cc-icon svg{width:22px;height:22px;stroke-width:2.2}
.cc-icon img{width:30px;height:30px;object-fit:contain;display:block}
.cc-icon-linkedin{background:var(--red-soft)}
.contact-card h4{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0}
.contact-card .cc-big{font-size:1.15rem;font-weight:800;color:var(--ink)}
.contact-card p{font-size:.82rem;color:var(--muted);margin:0}
.map-panel{display:grid;grid-template-columns:1fr 1.2fr;border-radius:var(--r-lg);overflow:hidden;border:2px solid #cbd7e6;box-shadow:0 16px 38px rgba(15,25,35,.1);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.map-panel:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(15,25,35,.14);border-color:#df6e81}
@media (max-width:860px){.map-panel{grid-template-columns:1fr}}
.map-graphic{background:linear-gradient(135deg,var(--ink2),var(--ink));min-height:220px;display:flex;align-items:center;justify-content:center}
.map-pin svg{width:44px;height:44px;color:var(--gold-mid);filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}
.map-info{padding:2rem;display:flex;flex-direction:column;justify-content:center;gap:.4rem;background:#fff}
.map-info h4{font-size:1.1rem;margin-bottom:.2rem}
.map-info address{font-style:normal;color:var(--body);font-size:.92rem;line-height:1.7}
.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch}
.enquiry-panel{background:#fff;border:2px solid #d8e1ec;border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:2rem;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:100%}
.enquiry-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--red)}
.enquiry-panel-business{border-color:#e6a7b2;background:linear-gradient(145deg,#fff,#fff7f8)}
.enquiry-panel-customer{border-color:#e5c26b;background:linear-gradient(145deg,#fff,#fff9e8)}
.enquiry-panel-customer::before{background:var(--gold-mid)}
.enquiry-panel-head{margin-bottom:1.4rem}
.enquiry-panel-head h2{font-size:clamp(1.45rem,2.3vw,2rem);margin-top:0}
.enquiry-panel-head p{color:var(--muted);line-height:1.62;margin-top:.65rem;font-size:.95rem}
.enquiry-form{display:flex;flex-direction:column;gap:1rem;flex:1}
.enquiry-form .field{margin:0}
.enquiry-form .field label{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);margin-bottom:.45rem}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:1.5px solid #cfd9e6;border-radius:var(--r-sm);background:#fff;color:var(--ink);padding:.78rem .9rem;font-size:.92rem;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.enquiry-form textarea{resize:vertical;min-height:132px}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(200,16,46,.08)}
.enquiry-panel-customer .enquiry-form input:focus,.enquiry-panel-customer .enquiry-form select:focus,.enquiry-panel-customer .enquiry-form textarea:focus{border-color:var(--gold-mid);box-shadow:0 0 0 4px rgba(228,185,79,.12)}
.form-consent-note{font-size:.78rem;line-height:1.55;color:var(--muted);background:rgba(15,25,35,.035);border:1px solid #dde5ef;border-radius:var(--r-sm);padding:.75rem .85rem;margin:.1rem 0 0}
.form-consent-note a{font-weight:800;color:var(--red)}
.form-consent-note a:hover{text-decoration:underline}
.enquiry-form .btn:disabled{cursor:not-allowed;opacity:.72;transform:none}
.form-status{min-height:1.2rem;margin:.1rem 0 0;font-size:.84rem;font-weight:800}
.form-status.is-success{color:#0f8a50}
.form-status.is-error{color:var(--red)}
.enquiry-form .btn{width:100%;margin-top:auto}
@media (max-width:900px){.enquiry-grid{grid-template-columns:1fr}.enquiry-panel{padding:1.5rem}}

/* Privacy notice */
.privacy-section{background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)}
.privacy-panel{max-width:900px;margin:0 auto;background:#fff;border:2px solid #d8e1ec;border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:clamp(1.4rem,3vw,2.6rem)}
.privacy-updated{display:inline-flex;margin:0 0 1.35rem;padding:.45rem .7rem;border-radius:999px;background:#fff1d2;color:#8a6200;font-weight:800;font-size:.78rem}
.privacy-panel h2{font-size:1.1rem;margin:1.55rem 0 .55rem;color:var(--ink)}
.privacy-panel h2:first-of-type{margin-top:0}
.privacy-panel p{color:var(--muted);line-height:1.72;margin:0}
.privacy-panel a:not(.btn){color:var(--red);font-weight:800}
.privacy-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.form-panel-wrap{max-width:760px;margin:0 auto}
.form-panel{background:#fff;border-radius:var(--r-lg);border:1px solid var(--border2);box-shadow:var(--sh-md);padding:2.2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
@media (max-width:560px){.form-row{grid-template-columns:1fr}}
.form-panel .field label{display:block;font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:.4rem}
.form-panel .field input,.form-panel .field select,.form-panel .field textarea{width:100%;border:1.5px solid var(--border);border-radius:var(--r-sm);padding:.75rem .85rem;font-size:.92rem;color:var(--ink);outline:none;resize:vertical}
.form-panel .field input:focus,.form-panel .field select:focus,.form-panel .field textarea:focus{border-color:var(--red)}

/* ============================================================
   HIGHLIGHT RIBBON — live news/social ticker
   ============================================================ */
.highlight-ribbon{background:linear-gradient(90deg,var(--red-dk),var(--red));overflow:hidden;position:relative}
.highlight-ribbon .wrap{display:flex;align-items:center;gap:1rem;padding:0}
.hr-tag{flex:none;display:flex;align-items:center;gap:.4rem;background:rgba(0,0,0,.18);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.55rem .9rem;position:relative;z-index:2}
.hr-tag svg{width:13px;height:13px}
.hr-scroll{overflow:hidden;flex:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.hr-track{display:flex;width:max-content;animation:marquee 32s linear infinite}
.hr-item{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;padding:.55rem 2.2rem .55rem 0;font-size:.82rem;font-weight:600;color:#fff}
.hr-item b{background:rgba(255,255,255,.18);font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px;margin-right:.15rem}
.hr-item a{color:#fff}
.mandate-strip{background:linear-gradient(90deg,var(--ink),#121F2B);padding:.74rem 0}
.mandate-strip .wrap{display:flex!important;align-items:center;justify-content:center;gap:.45rem 1.1rem!important;flex-wrap:wrap!important;white-space:normal;overflow:visible;line-height:1.2}
.mandate-strip .hide-sm{display:none!important}
.mandate-strip span{flex:0 0 auto}
.mandate-strip .wrap>span:first-child{margin-right:.25rem}
.mandate-strip .wrap>span:not(.hide-sm):not(:first-child){position:relative;padding:.18rem 0 .18rem .68rem;border:0;border-radius:0;background:transparent;font-size:.76rem!important;color:rgba(255,255,255,.78)!important}
.mandate-strip .wrap>span:not(.hide-sm):not(:first-child)::before{content:"";position:absolute;left:0;top:50%;width:3px;height:1.35em;border-radius:2px;background:rgba(228,185,79,.75);transform:translateY(-50%)}
@media (max-width:1120px){
  .highlight-ribbon .wrap{max-width:none}
  .mandate-strip .wrap{justify-content:center;max-width:none;padding:0 1rem}
}
@media (max-width:560px){
  .hr-item{font-size:.78rem;padding-right:1.6rem}
  .mandate-strip{padding:.62rem 0}
  .mandate-strip .wrap{justify-content:flex-start;gap:.5rem .9rem!important}
  .mandate-strip .wrap>span:first-child{width:100%;margin:0 0 .05rem}
  .mandate-strip .wrap>span:not(.hide-sm):not(:first-child){font-size:.72rem!important;padding:.18rem 0 .18rem .62rem}
}

/* ============================================================
   HERO COLLAGE BACKGROUND
   ============================================================ */
.hero-collage{display:grid;grid-template-columns:repeat(4,1fr)}
.hero-collage .hct{background-size:cover;background-position:center;position:relative}
.hero-collage .hct::after{content:"";position:absolute;inset:0;background:rgba(15,25,35,.25)}
@media (max-width:760px){.hero-collage{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}}

/* ============================================================
   BRAND STORY BAND
   ============================================================ */
.brand-story{background:var(--ink);color:#fff;padding:3.6rem 0}
.brand-story .story-lede{max-width:760px}
.brand-story .story-lede .eyebrow{color:var(--gold-mid)}
.brand-story .story-lede .eyebrow::before{background:var(--gold-mid)}
.brand-story h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);margin-top:.7rem;line-height:1.35}
.brand-story h2 .accent{color:var(--gold-mid)}
.story-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.6rem}
@media (max-width:860px){.story-pillars{grid-template-columns:1fr}}
.story-pillar{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:1.6rem;position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}
.story-pillar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold-mid)}
.story-pillar:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(0,0,0,.22);border-color:rgba(228,185,79,.42);background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.055))}
.story-pillar h4{color:#fff;font-size:1rem;margin-top:0}
.story-pillar p{color:#A7B0C0;font-size:.86rem;margin-top:.5rem;line-height:1.6}

/* ============================================================
   JOURNEY PLANNER — results panel
   ============================================================ */
.jp-results{margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid var(--border2)}
.jp-results-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.jp-results-head h4{font-size:.95rem;color:var(--ink)}
.jp-results-head .jp-count{font-size:.8rem;color:var(--muted)}
.jp-trip{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--off);border:1px solid var(--border2);border-radius:var(--r);padding:1rem 1.2rem;margin-bottom:.75rem}
.jp-trip:last-child{margin-bottom:0}
.jp-trip .jp-time{font-family:var(--font-display);font-weight:800;font-size:1.15rem;color:var(--ink);min-width:5.5rem}
.jp-trip .jp-meta{flex:1;min-width:160px}
.jp-trip .jp-meta .jp-route{font-size:.88rem;font-weight:700;color:var(--ink)}
.jp-trip .jp-meta .jp-sub{font-size:.78rem;color:var(--muted);margin-top:.15rem}
.jp-trip .jp-eta{font-size:.78rem;font-weight:700;color:var(--green);background:var(--green-soft);padding:.3rem .7rem;border-radius:999px;flex:none}
.jp-trip .jp-price{font-family:var(--font-display);font-weight:800;color:var(--red);font-size:1.05rem;flex:none;min-width:4rem;text-align:right}
.jp-trip .btn{flex:none}
.jp-empty{font-size:.88rem;color:var(--muted);text-align:center;padding:1.2rem 0}

/* ============================================================
   GOOGLE TRANSLATE (Thai) — hidden widget driven by our own
   BM / EN / TH buttons in the topbar language toggle
   ============================================================ */
.gt-hidden-widget{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;left:-9999px}
.lang-toggle button#langTH{position:relative}
body.gt-active{top:0 !important}
.goog-te-banner-frame.skiptranslate{display:none !important}
.goog-te-gadget{height:0;overflow:hidden}

/* ============================================================
   LEADERSHIP PROFILE CARDS (Board of Directors / SLT)
   ============================================================ */

.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media (max-width:920px){.profile-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.profile-grid{grid-template-columns:1fr}}
.profile-card{background:#fff;border:1px solid var(--border2);border-radius:var(--r-lg);padding:1.7rem;text-align:left}
.profile-card .pf-avatar{width:3.4rem;height:3.4rem;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;margin-bottom:1rem}
.profile-card.slt .pf-avatar{background:var(--red)}
.profile-card h4{font-size:1rem;margin:0}
.profile-card .pf-title{font-size:.8rem;font-weight:700;color:var(--red);margin-top:.2rem}
.profile-card.slt .pf-title{color:var(--ink)}
.profile-card p{font-size:.85rem;color:var(--muted);margin-top:.8rem;line-height:1.6}
.pf-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}
.pf-tags span{background:var(--off);border:1px solid var(--border2);border-radius:999px;padding:.25rem .65rem;font-size:.7rem;font-weight:700;color:var(--body)}
.profile-note{font-size:.8rem;color:var(--muted);text-align:center;margin-top:1.6rem;font-style:italic}

/* ============================================================
   COMING SOON PRODUCT PAGE
   ============================================================ */
.cs-hero{
  position:relative;
  min-height: calc(100vh - 4.6rem);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background: linear-gradient(135deg, var(--ink) 0%, var(--ink2) 55%, var(--red-dk) 145%);
  padding: 4rem 0;
}
.cs-hero::before{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(circle at 12% 15%, rgba(228,185,79,.14), transparent 45%),
                     radial-gradient(circle at 88% 85%, rgba(200,16,46,.22), transparent 50%);
  pointer-events:none;
}
.cs-hero::after{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle at 50% 40%, #000 0%, transparent 72%);
  pointer-events:none;
}
.cs-orb{
  position:absolute;
  border-radius:50%;
  filter: blur(60px);
  opacity:.5;
  pointer-events:none;
  animation: csFloat 9s ease-in-out infinite;
}
.cs-orb.o1{ width:280px; height:280px; background: var(--gold-mid); top:8%; left:8%; }
.cs-orb.o2{ width:340px; height:340px; background: var(--red); bottom:6%; right:8%; animation-delay:-4s; }
@keyframes csFloat{
  0%,100%{ transform: translateY(0) scale(1); }
  50%{ transform: translateY(-22px) scale(1.06); }
}

.cs-content{
  position:relative; z-index:1;
  text-align:center;
  max-width: 640px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.cs-badge{
  display:inline-flex; align-items:center; gap:.55rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: .5rem 1.1rem;
  font-size: .78rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color: var(--gold-mid);
  backdrop-filter: blur(6px);
}
.cs-badge .dot{
  width:7px; height:7px; border-radius:50%; background: var(--gold-mid);
  box-shadow: 0 0 0 4px rgba(228,185,79,.25);
  animation: csPulse 1.8s ease-in-out infinite;
}
@keyframes csPulse{
  0%,100%{ box-shadow: 0 0 0 4px rgba(228,185,79,.25); }
  50%{ box-shadow: 0 0 0 8px rgba(228,185,79,.08); }
}

.cs-title{
  margin-top: 1.6rem;
  font-size: clamp(2.4rem, 7vw, 4.6rem);
  font-weight: 800;
  line-height: 1.05;
  color:#fff;
  letter-spacing:-.01em;
}
.cs-title .accent{
  background: linear-gradient(90deg, var(--gold-mid), #fff 60%, var(--gold-mid));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cs-sub{
  margin-top: 1.2rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(255,255,255,.68);
}

.cs-divider{
  width: 64px; height: 3px; border-radius: 2px;
  background: linear-gradient(90deg, var(--gold-mid), var(--red));
  margin: 2rem auto;
}

.cs-actions{
  margin-top: .5rem;
  display:flex; align-items:center; justify-content:center; gap: 1rem; flex-wrap:wrap;
}
.cs-actions .btn-ghost-inv{
  display:inline-flex; align-items:center; gap:.5rem;
  padding: .85rem 1.6rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28);
  color: #fff;
  font-weight:700;
  font-size:.92rem;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.cs-actions .btn-ghost-inv:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.5);
  transform: translateY(-2px);
}
.cs-actions .btn-primary{
  border-radius: 999px;
  padding: .85rem 1.6rem;
  font-size:.92rem;
}

.cs-notify{
  margin-top: 2.6rem;
  display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap;
}
.cs-notify input[type="email"]{
  flex: 1 1 260px;
  max-width: 300px;
  padding: .85rem 1.1rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.06);
  color:#fff;
  font-size:.92rem;
}
.cs-notify input[type="email"]::placeholder{ color: rgba(255,255,255,.45); }
.cs-notify input[type="email"]:focus{
  outline: none;
  border-color: var(--gold-mid);
  background: rgba(255,255,255,.1);
}
.cs-notify-msg{
  margin-top: .8rem;
  font-size: .84rem;
  color: var(--gold-mid);
  min-height: 1.2em;
}

@media (max-width:560px){
  .cs-hero{ padding: 3rem 0; }
}

/* ============================================================
   MRO MAP — LEGEND & COMPASS
   Added for map orientation and branch identification
   ============================================================ */


/* ------------------------------------------------------------
   COMPASS
   ------------------------------------------------------------ */

.mro-map-compass {
  position: absolute;
  top: 1rem;
  right: 1rem;

  width: 74px;
  height: 74px;

  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  border: 1px solid rgba(15, 23, 42, .12);

  box-shadow: 0 5px 18px rgba(15, 23, 42, .10);

  z-index: 5;

  font-size: .62rem;
  font-weight: 800;
  color: var(--ink);
}


/* North / East / South / West labels */

.mro-map-compass .compass-n,
.mro-map-compass .compass-e,
.mro-map-compass .compass-s,
.mro-map-compass .compass-w {
  position: absolute;
  line-height: 1;
}


.mro-map-compass .compass-n {
  top: 7px;
  left: 50%;
  transform: translateX(-50%);
}


.mro-map-compass .compass-s {
  bottom: 7px;
  left: 50%;
  transform: translateX(-50%);
}


.mro-map-compass .compass-e {
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}


.mro-map-compass .compass-w {
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
}


/* North-facing arrow */

.mro-map-compass .compass-arrow {
  position: absolute;

  top: 20px;
  left: 50%;

  transform: translateX(-50%);

  color: var(--red);
  font-size: 1rem;
  line-height: 1;
}


/* Small centre point */

.mro-map-compass .compass-centre {
  position: absolute;

  width: 5px;
  height: 5px;

  left: 50%;
  top: 50%;

  transform: translate(-50%, -50%);

  border-radius: 50%;
  background: var(--ink);
}



/* ------------------------------------------------------------
   MAP LEGEND
   ------------------------------------------------------------ */

.mro-map-legend {
  position: absolute;

  left: 1rem;
  top: 50%;

  transform: translateY(-50%);

  padding: .75rem .9rem;

  background: rgba(255, 255, 255, .95);

  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: var(--r);

  box-shadow: 0 5px 18px rgba(15, 23, 42, .08);

  z-index: 5;

  min-width: 135px;
}


/* Legend heading */

.mro-legend-title {
  margin-bottom: .5rem;

  font-size: .68rem;
  font-weight: 800;

  text-transform: uppercase;
  letter-spacing: .06em;

  color: var(--ink);
}


/* Legend row */

.mro-legend-item {
  display: flex;
  align-items: center;

  gap: .45rem;

  margin-top: .35rem;

  font-size: .7rem;
  font-weight: 600;

  color: var(--muted);
}


/* Normal MRO pin */

.mro-legend-dot {
  width: 10px;
  height: 10px;

  flex: 0 0 auto;

  border-radius: 50%;

  background: var(--red);

  box-shadow: 0 0 0 3px rgba(200, 16, 46, .12);
}


/* HASO pin */

.mro-legend-dot.is-haso {
  background: var(--gold);

  box-shadow: 0 0 0 3px rgba(201, 162, 39, .14);
}



/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 640px) {

  .mro-map-compass {
    width: 62px;
    height: 62px;

    top: .7rem;
    right: .7rem;
  }


  .mro-map-compass .compass-arrow {
    top: 16px;
    font-size: .85rem;
  }


  .mro-map-legend {
    left: .7rem;
    bottom: .7rem;

    padding: .6rem .7rem;

    min-width: 120px;
  }

}

/* ============================================================
   MRO MAP — REGIONAL OVERLAY
   Northern / Eastern / Western / Southern regions
   ============================================================ */

.mro-region-overlay {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  pointer-events: none;

  z-index: 2;
}


/* Shared region styling */

.mro-region {
  position: absolute;

  display: flex;
  align-items: center;
  justify-content: center;

  pointer-events: none;
}


/* Region labels */

.mro-region span {
  position: relative;
  z-index: 2;

  font-size: .63rem;
  font-weight: 800;

  line-height: 1.25;
  text-align: center;

  letter-spacing: .04em;

  color: var(--ink);

  text-shadow:
    0 1px 2px rgba(255, 255, 255, .9),
    0 0 6px rgba(255, 255, 255, .85);
}


/* ============================================================
   NORTHERN REGION
   ============================================================ */

.region-north {
  left: 25%;
  top: 9%;

  width: 32%;
  height: 37%;

  background: rgba(72, 187, 120, .10);

  clip-path: polygon(
    28% 0%,
    72% 3%,
    93% 35%,
    84% 72%,
    58% 100%,
    21% 87%,
    0% 51%,
    8% 18%
  );
}


/* ============================================================
   EASTERN REGION
   ============================================================ */

.region-east {
  left: 50%;
  top: 21%;

  width: 40%;
  height: 49%;

  background: rgba(244, 190, 58, .11);

  clip-path: polygon(
    12% 0%,
    70% 4%,
    95% 27%,
    100% 69%,
    76% 100%,
    32% 94%,
    0% 62%,
    6% 24%
  );
}


/* ============================================================
   WESTERN REGION
   ============================================================ */

.region-west {
  left: 35%;
  top: 39%;

  width: 29%;
  height: 39%;

  background: rgba(124, 58, 237, .09);

  clip-path: polygon(
    13% 0%,
    78% 8%,
    100% 37%,
    84% 100%,
    28% 91%,
    0% 52%
  );
}


/* ============================================================
   SOUTHERN REGION
   ============================================================ */

.region-south {
  left: 53%;
  top: 65%;

  width: 39%;
  height: 31%;

  background: rgba(180, 130, 55, .10);

  clip-path: polygon(
    4% 0%,
    67% 7%,
    100% 55%,
    74% 100%,
    31% 88%,
    0% 45%
  );
}
