/* ===================================================================
   World Slick — Global Visa & Immigration
   Shared design system — LIGHT theme (white / navy / teal)
   =================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --ink:#FFFFFF;          /* page background */
  --ink-2:#F1F7F8;        /* alt section / soft surface */
  --ink-3:#E6F0F2;        /* deeper light surface */
  --surface:#FFFFFF;      /* cards */
  --line:rgba(11,35,56,.13);
  --line-soft:rgba(11,35,56,.07);
  --teal:#0E9A93;         /* accent / kicker */
  --teal-bright:#12A79F;  /* links / brand teal */
  --cream:#0C2233;        /* PRIMARY TEXT (navy) */
  --slate:#4E6B78;        /* secondary text */
  --slate-dim:#7C929E;    /* tertiary text */
  --open:#16A46A;
  --closed:#D2694C;
  --amber:#BE8626;
  --maxw:1200px;
  --radius:16px;
  --shadow:0 22px 48px -26px rgba(11,35,56,.28);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--ink);color:var(--cream);
  font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);width:100%;margin:0 auto;padding:0 32px}
.tight{max-width:860px}

/* ---------- typography ---------- */
h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;font-weight:500;letter-spacing:-.3px;color:var(--cream);text-wrap:balance;line-height:1.1}
.kicker{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:14px}
.serif-i{font-style:italic;color:var(--teal-bright)}

/* ---------- nav ---------- */
header.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:rgba(255,255,255,.85);border-bottom:1px solid var(--line-soft)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#2FC9B4 0%,var(--teal) 45%,#0D2340 100%);color:#fff;font-family:"Fraunces",serif;font-weight:600;font-size:15px;letter-spacing:.5px;box-shadow:0 6px 18px rgba(18,167,159,.3)}
.brand b{font-family:"Fraunces",serif;font-weight:600;font-size:20px;color:var(--cream)}
.brand b span{color:var(--teal-bright)}
.brand-logo{height:52px;width:auto;max-width:none;flex:0 0 auto;object-fit:contain;display:block}
@media (max-width:520px){.brand-logo{height:44px}}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{color:var(--slate);font-size:14.5px;font-weight:500;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--teal-bright)}
.nav-cta{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:11px 20px;border-radius:100px;color:#fff;background:linear-gradient(150deg,var(--teal-bright),var(--teal));box-shadow:0 8px 22px -8px rgba(18,167,159,.5);transition:transform .18s}
.nav-cta:hover{transform:translateY(-2px)}
.login-link{color:var(--slate);font-weight:600;font-size:14px;white-space:nowrap;transition:color .2s}
.login-link:hover{color:var(--teal-bright)}
@media (max-width:520px){.login-link{display:none}}
.dropdown{position:relative;display:inline-flex;align-items:center}
.dropdown .drop-toggle{cursor:pointer}
.dropdown::after{content:"";position:absolute;top:100%;left:0;right:0;height:12px}
.drop-menu{position:absolute;top:100%;left:0;margin-top:8px;background:#fff;border:1px solid var(--line-soft);border-radius:12px;box-shadow:var(--shadow);padding:8px;min-width:195px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60}
.dropdown:hover .drop-menu,.dropdown:focus-within .drop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.drop-menu a{padding:9px 12px;border-radius:8px;color:var(--slate);font-size:14px;font-weight:500;white-space:nowrap}
.drop-menu a:hover{background:var(--ink-2);color:var(--teal-bright)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:var(--cream);border-radius:2px;transition:.3s}
.mobile-menu{display:none;flex-direction:column;padding:8px 32px 20px;gap:4px;border-top:1px solid var(--line-soft);background:#fff}
.mobile-menu a{padding:12px 0;color:var(--slate);font-weight:500;border-bottom:1px solid var(--line-soft)}
.mobile-menu a:last-child{border-bottom:0}
@media (max-width:900px){
  .nav-links,.nav-inner>.nav-cta{display:none}
  .burger{display:flex}
  .mobile-menu.open{display:flex}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding:15px 26px;border-radius:100px;cursor:pointer;border:0;transition:transform .18s,box-shadow .2s,background .2s,border-color .2s;font-family:inherit}
.btn-primary{background:linear-gradient(150deg,var(--teal-bright),var(--teal));color:#fff;box-shadow:0 12px 30px -10px rgba(18,167,159,.55)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px -12px rgba(18,167,159,.65)}
.btn-ghost{color:var(--cream);border:1px solid var(--line);background:transparent}
.btn-ghost:hover{border-color:var(--teal);background:rgba(18,167,159,.06)}
.arw{transition:transform .2s}
.btn:hover .arw{transform:translateX(4px)}

/* ---------- generic section ---------- */
section{padding:88px 0}
.sec-head{max-width:660px;margin:0 auto 52px;text-align:center}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
.sec-head p{margin-top:16px;color:var(--slate);font-size:1.05rem}
.alt{background:var(--ink-2)}
.center{text-align:center}

/* ---------- hero ---------- */
.stage{position:relative;background:radial-gradient(1100px 620px at 82% -8%,rgba(18,167,159,.10),transparent 60%),radial-gradient(900px 700px at -10% 108%,rgba(22,164,106,.06),transparent 55%),var(--ink)}
.hero{max-width:var(--maxw);margin:0 auto;padding:64px 32px 84px;display:grid;grid-template-columns:1.05fr .85fr;gap:56px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);padding-bottom:18px}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--teal);opacity:.7}
.hero h1{font-size:clamp(2.5rem,5.4vw,4.15rem);line-height:1.02}
.sub{margin-top:22px;max-width:34em;font-size:clamp(1rem,1.4vw,1.12rem);color:var(--slate)}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.trust{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:42px;padding-top:26px;border-top:1px solid var(--line)}
.trust div{display:flex;flex-direction:column;gap:2px}
.trust b{font-family:"Fraunces",serif;font-weight:600;font-size:1.35rem;color:var(--teal-bright);font-variant-numeric:tabular-nums}
.trust small{color:var(--slate-dim);font-size:12.5px}

/* page hero */
.page-hero{background:radial-gradient(900px 500px at 78% -20%,rgba(18,167,159,.09),transparent 60%),var(--ink-2);padding:72px 0 48px;text-align:center;border-bottom:1px solid var(--line-soft)}
.page-hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem)}
.page-hero p{max-width:620px;margin:18px auto 0;color:var(--slate);font-size:1.08rem}
.crumb{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.1em;color:var(--slate-dim);margin-bottom:18px}
.crumb a:hover{color:var(--teal-bright)}

/* ---------- departure board ---------- */
.board{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 22px 10px;box-shadow:var(--shadow)}
.board-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 16px;border-bottom:1px solid var(--line-soft);margin-bottom:6px}
.board-head h2{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}
.live{display:inline-flex;align-items:center;gap:7px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.12em;color:var(--open)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--open);animation:pulse 2.4s infinite;box-shadow:0 0 0 0 rgba(22,164,106,.5)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(22,164,106,.5)}70%{box-shadow:0 0 0 7px rgba(22,164,106,0)}100%{box-shadow:0 0 0 0 rgba(22,164,106,0)}}
.brow{display:grid;grid-template-columns:34px 1fr auto auto;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line-soft)}
.brow:last-child{border-bottom:none}
.flag{font-size:18px;line-height:1}
img.flag{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1px solid var(--line-soft);box-shadow:0 3px 8px -3px rgba(11,35,56,.3)}
.city{font-weight:600;font-size:15px;color:var(--cream)}
.city span{display:block;font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--slate-dim);letter-spacing:.05em;font-weight:400;margin-top:1px}
.code{font-family:"IBM Plex Mono",monospace;font-size:15px;color:var(--teal-bright);letter-spacing:.08em}
.st{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;color:var(--open);background:rgba(22,164,106,.1);border:1px solid rgba(22,164,106,.3);border-radius:6px;padding:3px 8px}
.board-foot{padding:14px 4px 10px;font-size:12.5px;color:var(--slate-dim);text-align:center}
.board-foot b{color:var(--teal-bright)}

/* ---------- cards / grids ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 4px 18px -12px rgba(11,35,56,.2)}
.alt .card{background:var(--surface)}
.card:hover{transform:translateY(-4px);border-color:var(--line);box-shadow:var(--shadow)}
.card .ic{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;font-size:22px;background:rgba(18,167,159,.1);border:1px solid var(--line-soft);margin-bottom:18px}
.card h3{font-weight:600;font-size:1.28rem;margin-bottom:8px}
.card p{color:var(--slate);font-size:.96rem}
.card .more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;color:var(--teal-bright);font-size:.9rem;font-weight:600}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.step{padding:26px 20px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface);box-shadow:0 4px 18px -12px rgba(11,35,56,.2)}
.step .n{font-family:"IBM Plex Mono",monospace;font-size:13px;color:#fff;background:linear-gradient(150deg,var(--teal-bright),var(--teal));width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:600;margin-bottom:16px}
.step h4{font-weight:600;font-size:1.08rem;margin-bottom:8px}
.step p{color:var(--slate);font-size:.9rem}

/* ---------- why list ---------- */
.why{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px;max-width:960px;margin:0 auto;list-style:none}
.why li{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line-soft)}
.why .tick{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(22,164,106,.12);color:var(--open);font-size:13px;margin-top:2px}
.why b{display:block;color:var(--cream);font-size:1.02rem;margin-bottom:2px}
.why span{color:var(--slate);font-size:.94rem}

/* ---------- packages ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.tier{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-soft);border-radius:18px;padding:32px 28px;box-shadow:0 4px 18px -12px rgba(11,35,56,.2)}
.tier.feat{border-color:var(--teal);box-shadow:0 30px 60px -34px rgba(18,167,159,.5);position:relative}
.tier.feat::before{content:"Most Popular";position:absolute;top:-11px;left:28px;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:linear-gradient(150deg,var(--teal-bright),var(--teal));padding:5px 12px;border-radius:100px}
.tier h3{font-size:1.3rem}
.tier .price{font-family:"Fraunces",serif;font-size:2.4rem;color:var(--teal-bright);margin:12px 0 4px;font-variant-numeric:tabular-nums}
.tier .price small{font-size:.9rem;color:var(--slate-dim);font-family:"Manrope",sans-serif}
.tier .desc{color:var(--slate);font-size:.92rem;padding-bottom:20px;border-bottom:1px solid var(--line-soft);margin-bottom:20px}
.tier ul{list-style:none;display:flex;flex-direction:column;gap:12px;flex:1}
.tier li{display:flex;gap:10px;color:var(--slate);font-size:.94rem}
.tier li::before{content:"✓";color:var(--open);font-weight:700}
.tier .btn{justify-content:center;margin-top:26px}

/* ---------- quotes ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px;box-shadow:0 4px 18px -12px rgba(11,35,56,.2)}
.quote .stars{color:#F0A93B;letter-spacing:2px;font-size:14px;margin-bottom:14px}
.quote p{color:var(--cream);font-size:1rem;font-style:italic;font-family:"Fraunces",serif;font-weight:400;line-height:1.5}
.quote .who{display:flex;align-items:center;gap:12px;margin-top:20px}
.quote .av{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,var(--teal),#0D2340);display:grid;place-items:center;font-weight:700;color:#fff;font-size:14px}
.quote .who b{display:block;color:var(--cream);font-size:.92rem}
.quote .who small{color:var(--slate-dim);font-size:.82rem}

/* ---------- team ---------- */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.member{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px;text-align:center;box-shadow:0 4px 18px -12px rgba(11,35,56,.2)}
.member .av{width:76px;height:76px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;font-family:"Fraunces",serif;font-size:1.6rem;color:#fff;background:linear-gradient(145deg,var(--teal),#0D2340);overflow:hidden;object-fit:cover}
.member img.av{padding:0;object-fit:cover;object-position:center top;display:block}
.member b{display:block;font-size:1.08rem;color:var(--cream)}
.member .role{color:var(--teal-bright);font-size:.86rem;font-weight:600;margin:4px 0 10px}
.member p{color:var(--slate);font-size:.88rem}

/* ---------- stat band ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stats .s b{font-family:"Fraunces",serif;font-size:clamp(2rem,4vw,3rem);color:var(--teal-bright);font-variant-numeric:tabular-nums;display:block}
.stats .s small{color:var(--slate);font-size:.92rem}

/* ---------- CTA ---------- */
.cta{max-width:var(--maxw);margin:0 auto;background:radial-gradient(600px 300px at 80% 10%,rgba(18,167,159,.12),transparent 60%),linear-gradient(150deg,var(--ink-2),var(--ink-3));border:1px solid var(--line);border-radius:24px;padding:56px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.cta h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
.cta p{margin-top:14px;color:var(--slate)}
.contact-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px;box-shadow:0 6px 20px -14px rgba(11,35,56,.25)}
.contact-card .row2{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line-soft)}
.contact-card .row2:last-child{border-bottom:none}
.contact-card .ic2{flex:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:rgba(18,167,159,.1);font-size:15px}
.contact-card small{color:var(--slate-dim);font-size:.78rem;display:block}
.contact-card b{color:var(--cream);font-size:.98rem;font-weight:600}

/* ---------- forms ---------- */
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field label{font-size:.88rem;color:var(--slate);font-weight:500}
.field input,.field select,.field textarea{width:100%;padding:13px 15px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--cream);font-family:inherit;font-size:.96rem;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(18,167,159,.15)}
.field textarea{resize:vertical;min-height:120px}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237C929E' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-note{font-size:.82rem;color:var(--slate-dim);margin-top:6px}
.checkline{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--slate)}
.checkline input{width:auto;margin-top:4px}

/* ---------- legal pages ---------- */
.legal{max-width:820px;margin:0 auto;padding:56px 0 80px}
.legal h2{font-size:1.5rem;margin:36px 0 12px}
.legal h3{font-size:1.15rem;margin:24px 0 8px;color:var(--teal-bright)}
.legal p,.legal li{color:var(--slate);margin-bottom:12px}
.legal ul{padding-left:22px;margin-bottom:16px}
.legal li{margin-bottom:8px}
.legal .updated{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--slate-dim);letter-spacing:.05em}
.legal strong{color:var(--cream)}

/* ---------- footer ---------- */
footer.site{border-top:1px solid var(--line-soft);padding:56px 0 40px;background:var(--ink-2)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid var(--line-soft)}
.foot-grid h4{font-family:"Manrope",sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-dim);margin-bottom:16px;font-weight:700}
.foot-grid a{display:block;color:var(--slate);font-size:.92rem;padding:5px 0;transition:color .2s}
.foot-grid a:hover{color:var(--teal-bright)}
.foot-grid .about-col p{color:var(--slate);font-size:.9rem;margin-top:14px;max-width:32ch}
.foot-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.foot-social a{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:rgba(18,167,159,.1);border:1px solid var(--line-soft);font-size:14px;color:var(--teal)}
.foot-social a:hover{background:rgba(18,167,159,.2)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:26px}
.foot-bottom p{color:var(--slate-dim);font-size:.84rem}
.foot-bottom nav{display:flex;gap:18px;flex-wrap:wrap}
.foot-bottom nav a{color:var(--slate-dim);font-size:.84rem}
.foot-bottom nav a:hover{color:var(--teal-bright)}
.disc{color:var(--slate-dim);font-size:.78rem;margin-top:20px;line-height:1.6}

/* ---------- VisaScope ---------- */
.vs-controls{display:flex;flex-direction:column;gap:18px;margin-bottom:22px}
.vs-search{position:relative;max-width:560px;margin:0 auto;width:100%}
.vs-search-ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:15px;opacity:.7}
.vs-search input{width:100%;padding:15px 18px 15px 44px;border-radius:100px;border:1px solid var(--line);background:#fff;color:var(--cream);font-family:inherit;font-size:.98rem;transition:border-color .2s,box-shadow .2s;box-shadow:0 4px 14px -10px rgba(11,35,56,.25)}
.vs-search input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(18,167,159,.15)}
.vs-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.vs-chip{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.04em;padding:9px 16px;border-radius:100px;border:1px solid var(--line);background:#fff;color:var(--slate);cursor:pointer;transition:.2s}
.vs-chip:hover{color:var(--teal-bright);border-color:var(--teal)}
.vs-chip.on{background:linear-gradient(150deg,var(--teal-bright),var(--teal));color:#fff;border-color:transparent;font-weight:500}
.vs-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px;font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--slate-dim);letter-spacing:.04em}
.vs-legend{display:flex;align-items:center;gap:14px}
.vs-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle}
.lg-open{background:var(--open)}.lg-lim{background:var(--amber)}
.vs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vs-card{position:relative;text-align:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 22px 22px;cursor:pointer;font-family:inherit;transition:transform .2s,border-color .2s,box-shadow .2s;color:inherit;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 18px -12px rgba(11,35,56,.2)}
.vs-card:hover{transform:translateY(-4px);border-color:var(--teal);box-shadow:var(--shadow)}
.vs-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;width:100%}
.vs-flagwrap{display:inline-grid;place-items:center;margin-bottom:14px}
.vs-flag{width:84px;height:84px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 10px 24px -10px rgba(11,35,56,.4),0 0 0 1px var(--line-soft);background:var(--ink-3)}
.vs-flag.big{width:60px;height:60px;margin-bottom:0}
.vs-code{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--slate-dim);border:1px solid var(--line-soft);border-radius:6px;padding:3px 8px;letter-spacing:.08em}
.vs-code.corner{position:absolute;top:14px;right:14px}
.vs-card h3{font-size:1.2rem;margin-bottom:2px}
.vs-region{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;color:var(--slate-dim);text-transform:uppercase}
.vs-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:14px 0 12px}
.vs-pill{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.05em;padding:4px 9px;border-radius:6px}
.vs-pill.open{color:var(--open);background:rgba(22,164,106,.08);border:1px solid rgba(22,164,106,.3)}
.vs-pill.lim{color:var(--amber);background:rgba(190,134,38,.08);border:1px solid rgba(190,134,38,.3)}
.vs-vchips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:14px}
.vs-vchip{font-size:11.5px;color:var(--slate);background:rgba(18,167,159,.07);border:1px solid var(--line-soft);border-radius:100px;padding:4px 10px}
.vs-vchip.more{color:var(--teal-bright)}
.vs-view{color:var(--teal-bright);font-size:.86rem;font-weight:600}
.vs-empty{text-align:center;color:var(--slate);padding:50px 0}
.linkbtn{background:none;border:0;color:var(--teal-bright);cursor:pointer;font-family:inherit;font-size:inherit;text-decoration:underline}
.vs-modal{position:fixed;inset:0;z-index:100;background:rgba(11,35,56,.5);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px}
.vs-modal[hidden]{display:none}
.vs-modal-inner{position:relative;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 40px 80px -30px rgba(11,35,56,.5)}
.vs-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-soft);background:var(--ink-2);color:var(--slate);cursor:pointer;font-size:14px}
.vs-close:hover{color:var(--cream);border-color:var(--line)}
.vs-modal-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.vs-summary{background:rgba(22,164,106,.08);border:1px solid rgba(22,164,106,.28);border-radius:11px;padding:12px 16px;color:var(--cream);font-size:.95rem;margin-bottom:20px}
.vs-summary b{color:var(--open);font-family:"Fraunces",serif;font-size:1.2rem}
.vs-sub{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-dim);margin:8px 0 10px}
.vs-routes{list-style:none;display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.vs-routes li{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line-soft)}
.vs-routes li:last-child{border-bottom:0}
.vs-routes .ic{color:var(--open);font-size:12px}
.vs-routes li.lim .ic{color:var(--amber)}
.vs-routes li.cl .ic{color:var(--closed)}
.vs-routes b{font-size:.96rem;color:var(--cream);font-weight:600}
.vs-routes small{display:block;color:var(--slate-dim);font-size:.8rem}
.vs-routes li>div{flex:1}
.tag{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:5px}
.tag.open{color:var(--open);background:rgba(22,164,106,.08);border:1px solid rgba(22,164,106,.3)}
.tag.lim{color:var(--amber);background:rgba(190,134,38,.08);border:1px solid rgba(190,134,38,.3)}
.tag.cl{color:var(--closed);background:rgba(210,105,76,.08);border:1px solid rgba(210,105,76,.3)}
.vs-modal-cta{margin:22px 0 12px}
.vs-modal-cta .btn{width:100%;justify-content:center}
.vs-note{font-size:.78rem;color:var(--slate-dim);line-height:1.5}
@media (max-width:980px){.vs-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.vs-grid{grid-template-columns:1fr}}

/* ---------- recent approvals ---------- */
.approvals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.appr{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line-soft);border-radius:12px;padding:14px 16px;box-shadow:0 4px 16px -12px rgba(11,35,56,.2)}
.appr .flag{width:34px;height:34px}
.appr b{color:var(--cream);font-size:.95rem;display:block}
.appr small{color:var(--slate-dim);font-size:.8rem;line-height:1.3;display:block}
.appr .st{margin-left:auto;flex:none}
@media (max-width:760px){.approvals{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq details{background:var(--surface);border:1px solid var(--line-soft);border-radius:12px;padding:0 20px;transition:border-color .2s;box-shadow:0 4px 16px -12px rgba(11,35,56,.18)}
.faq details[open]{border-color:var(--line)}
.faq summary{cursor:pointer;padding:18px 0;font-weight:600;color:var(--cream);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:1.02rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--teal-bright);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq details p{color:var(--slate);padding:0 0 20px;margin:0;font-size:.96rem}

/* ---------- image band ---------- */
.imgband{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.imgband img{width:100%;border-radius:var(--radius);border:1px solid var(--line-soft);box-shadow:var(--shadow)}
.imgband h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:16px}
.imgband p{color:var(--slate);margin-bottom:14px}
@media (max-width:760px){.imgband{grid-template-columns:1fr;gap:28px}}

/* ---------- live ticker ---------- */
.ticker{position:relative;overflow:hidden;background:var(--ink-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:13px 0}
.ticker::before,.ticker::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.ticker::before{left:0;background:linear-gradient(90deg,var(--ink-2),transparent)}
.ticker::after{right:0;background:linear-gradient(270deg,var(--ink-2),transparent)}
.ticker-track{display:flex;width:max-content;animation:ticker 48s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ti{display:inline-flex;align-items:center;gap:9px;padding:0 24px;white-space:nowrap;font-size:.9rem;color:var(--slate);border-right:1px solid var(--line-soft)}
.ti img{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid var(--line-soft)}
.ti b{color:var(--cream);font-weight:600}
.ti .tk-open{color:var(--open);font-family:"IBM Plex Mono",monospace;font-size:.74rem;letter-spacing:.08em}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* hero board gentle float */
.board{animation:floaty 7s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* count-up */
[data-count]{font-variant-numeric:tabular-nums}

/* live office status */
.office-status{display:inline-flex;align-items:center;gap:9px;font-size:.86rem;color:var(--slate);background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:8px 15px;box-shadow:0 4px 14px -10px rgba(11,35,56,.2)}
.office-status .od{width:8px;height:8px;border-radius:50%;background:var(--slate-dim);flex:none}
.office-status.is-open .od{background:var(--open);animation:pulse 2.4s infinite}
.office-status.is-closed .od{background:var(--amber)}
.office-status b{color:var(--cream);font-weight:600}
.office-status small{color:var(--slate-dim)}

/* WhatsApp floating button */
.wa-float{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 30px -6px rgba(37,211,102,.55);z-index:60;transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}
@media (max-width:520px){.wa-float{width:52px;height:52px;right:16px;bottom:16px}}

/* login portal */
.portal-wrap{max-width:440px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:38px 34px;box-shadow:var(--shadow)}
.portal-tabs{display:flex;gap:6px;background:var(--ink-2);border:1px solid var(--line-soft);border-radius:100px;padding:4px;margin-bottom:26px}
.portal-tabs button{flex:1;padding:10px;border:0;background:transparent;color:var(--slate);font-family:inherit;font-size:.88rem;font-weight:600;border-radius:100px;cursor:pointer;transition:.2s}
.portal-tabs button.on{background:linear-gradient(150deg,var(--teal-bright),var(--teal));color:#fff}
.portal-note{font-size:.8rem;color:var(--slate-dim);text-align:center;margin-top:18px;line-height:1.5}
.portal-links{display:flex;justify-content:space-between;font-size:.82rem;margin-top:4px}
.portal-links a{color:var(--teal-bright)}
@media (max-width:520px){
  .portal-wrap{padding:24px 16px;border-radius:16px;margin:0 12px;max-width:100%}
  .portal-links{flex-direction:column;gap:8px;align-items:flex-start}
  /* 16px inputs stop iOS Safari from zooming the page when a field is focused */
  .portal-wrap input,.portal-wrap select,.portal-wrap textarea{font-size:16px}
}
/* Shared form validation states (assets/js/forms.js) */
.ws-invalid input,.ws-invalid select,.ws-invalid textarea{border-color:var(--closed)!important;background:rgba(214,69,69,.05)!important;box-shadow:0 0 0 3px rgba(214,69,69,.12)}
.ws-invalid label,.ws-invalid > label{color:var(--closed)}
.ws-invalid .checkline,.ws-invalid.checkline{color:var(--closed)}
.checkline.ws-invalid input{outline:2px solid var(--closed);outline-offset:2px}
.formmsg.ok{color:var(--open)}
.formmsg.err{color:var(--closed)}

/* ---------- reveal ---------- */
.rev{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.rev.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ticker-track,.board{animation:none!important}}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .grid,.quotes,.tiers,.team{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:1fr 1fr}
  .cta{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .hero{grid-template-columns:1fr;gap:40px;padding-top:36px}
  .board{order:2}
  .why,.grid,.grid-2,.quotes,.tiers,.team{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  section{padding:64px 0}
  .cta{padding:36px 26px}
  .wrap,.nav-inner,.hero{padding-left:20px;padding-right:20px}
  .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rev{opacity:1;transform:none}}

/* Our Offices — country flag strip */
.offices-flags{display:flex;justify-content:center;gap:38px;flex-wrap:wrap;margin-top:10px}
.off{text-align:center}
.off .ring{width:80px;height:80px;border-radius:50%;overflow:hidden;background:#fff;border:3px solid var(--surface);box-shadow:0 8px 22px -8px rgba(11,35,56,.4),0 0 0 1px var(--line-soft);margin:0 auto 11px}
.off .ring img{width:100%;height:100%;object-fit:cover;display:block}
.off .ring img.uae{object-position:12% center}
.off b{display:block;color:var(--cream);font-size:1rem;font-family:"Fraunces",serif}
.off small{color:var(--teal-bright);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px}

.foot-social a svg{width:15px;height:15px;fill:currentColor;display:block}

/* Hero live announcement pill */
.hero-live{display:inline-flex;align-items:center;gap:9px;background:rgba(18,167,159,.08);border:1px solid var(--line-soft);color:var(--cream);font-size:13px;font-weight:600;padding:8px 15px;border-radius:100px;margin-bottom:20px;transition:border-color .2s,background .2s;max-width:100%}
.hero-live:hover{border-color:var(--teal);background:rgba(18,167,159,.14)}
.hero-live .lp{width:8px;height:8px;border-radius:50%;background:var(--open);box-shadow:0 0 0 0 rgba(22,164,106,.5);animation:pulse 2.4s infinite;flex:none}
.hero-live strong{color:var(--teal-bright);font-weight:700}
.hero-live .arw{color:var(--teal-bright)}
@media (max-width:520px){.hero-live{font-size:11.5px;padding:7px 12px}}

/* Top live announcement bar */
.topbar{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;background:linear-gradient(90deg,var(--teal),var(--teal-bright));color:#fff;text-align:center;font-size:13.5px;font-weight:600;padding:10px 16px;letter-spacing:.2px}
.topbar:hover{filter:brightness(1.05)}
.topbar strong{font-weight:800}
.topbar .lp{width:8px;height:8px;border-radius:50%;background:#fff;flex:none;animation:pulseW 2.4s infinite}
.topbar .tarw{font-weight:800}
@keyframes pulseW{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6)}70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@media (max-width:520px){.topbar{font-size:11.5px;padding:8px 12px}}

/* ===== Premium image enhancement (image sections only, additive) ===== */
.ws-photo{position:relative;width:100%;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -22px rgba(11,35,56,.55),0 0 0 1px var(--line-soft);background:var(--ink-3);margin-bottom:18px}
.ws-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,34,51,0) 55%,rgba(12,34,51,.30));pointer-events:none}
.ws-photo img{display:block;width:100%;height:190px;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.ws-photo:hover img{transform:scale(1.07)}
.ws-float{animation:wsFloat 6s ease-in-out infinite;will-change:transform}
@keyframes wsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.grid .card:nth-child(2) .ws-float{animation-delay:-2s}
.grid .card:nth-child(3) .ws-float{animation-delay:-4s}
.ws-band-photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.ws-band-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ws-band-photo:hover img{transform:scale(1.05)}
@media (prefers-reduced-motion:reduce){.ws-float{animation:none}.ws-photo img,.ws-band-photo img{transition:none}}

/* ===== 360 global orbit (premium visual, additive - no container scale so it animates on mobile) ===== */
.ws-orbit-outer{display:flex;justify-content:center;align-items:center;padding:6px 0}
.ws-orbit{--r:196px;--oi:126px;--core:186px;position:relative;width:calc((var(--r) * 2) + var(--oi));height:calc((var(--r) * 2) + var(--oi));flex:0 0 auto}
.ws-orbit .core{position:absolute;top:50%;left:50%;width:var(--core);height:var(--core);margin:calc(var(--core) / -2);border-radius:50%;background:#fff;box-shadow:0 26px 64px -20px rgba(14,154,147,.5),0 0 0 8px rgba(18,167,159,.10),inset 0 0 0 1px var(--line-soft);display:flex;align-items:center;justify-content:center;padding:16px;z-index:3;overflow:hidden;animation:wsPulse 6s ease-in-out infinite}
.ws-orbit .core img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;margin:auto}
.ws-orbit .ring{position:absolute;inset:0;animation:wsOrbit 44s linear infinite}
.ws-orbit .oi{position:absolute;top:50%;left:50%;width:var(--oi);height:var(--oi);margin:calc(var(--oi) / -2)}
.ws-orbit .p1{transform:translate(var(--r),0)}
.ws-orbit .p2{transform:translate(calc(var(--r) * .5),calc(var(--r) * .866))}
.ws-orbit .p3{transform:translate(calc(var(--r) * -.5),calc(var(--r) * .866))}
.ws-orbit .p4{transform:translate(calc(var(--r) * -1),0)}
.ws-orbit .p5{transform:translate(calc(var(--r) * -.5),calc(var(--r) * -.866))}
.ws-orbit .p6{transform:translate(calc(var(--r) * .5),calc(var(--r) * -.866))}
.ws-orbit .oib{width:100%;height:100%;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 18px 40px -16px rgba(11,35,56,.6),0 0 0 5px #fff,0 0 0 6px var(--line-soft);animation:wsOrbitRev 44s linear infinite}
.ws-orbit .oib img{width:100%;height:100%;object-fit:cover;animation:wsZoom 6s ease-in-out infinite}
.ws-orbit .oi:nth-child(2) .oib img{animation-delay:-1s}
.ws-orbit .oi:nth-child(3) .oib img{animation-delay:-2s}
.ws-orbit .oi:nth-child(4) .oib img{animation-delay:-3s}
.ws-orbit .oi:nth-child(5) .oib img{animation-delay:-4s}
.ws-orbit .oi:nth-child(6) .oib img{animation-delay:-5s}
@media (hover:hover){
  .ws-orbit:hover .ring{animation-play-state:paused}
  .ws-orbit .oi:hover{z-index:6}
  .ws-orbit .oi:hover .oib{transform:scale(1.18);transition:transform .4s ease}
  .ws-orbit .oi:hover .oib img{animation-play-state:paused}
}
@keyframes wsZoom{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes wsOrbit{to{transform:rotate(360deg)}}
@keyframes wsOrbitRev{to{transform:rotate(-360deg)}}
@keyframes wsPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@media(max-width:680px){.ws-orbit{--r:132px;--oi:98px;--core:120px}}
@media(max-width:430px){.ws-orbit{--r:104px;--oi:80px;--core:100px}}