:root{--navy:#0b2a43;--blue:#2563eb;--orange:#fb923c;--text:#111827;--muted:#4b5563;--bg-blue:#eff6ff;--bg-gray:#f9fafb}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--text);line-height:1.6;background:#fff}
img{max-width:100%}
a{color:inherit}
.container{max-width:1248px;margin:0 auto;padding:0 24px}
.narrow{max-width:816px}
.narrow-text{max-width:816px;margin-left:auto;margin-right:auto}
.icon{width:32px;height:32px;flex:none}

.site-header{background:#fff;color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:20px}
.brand img{border-radius:4px;object-fit:contain;background:#444;width:auto;height:40px}
.nav-links{display:flex;gap:24px}
.nav-links a{text-decoration:none;font-size:15px}
.nav-links a:hover{text-decoration:underline}
.nav-links a.active{font-weight:700}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}

h1{font-size:36px;line-height:1.1;margin:0 0 24px;text-align:center;font-weight:700}
h2{font-size:30px;margin:0 0 40px;text-align:center;font-weight:700}
h3{margin:0 0 8px;font-size:20px}
.left{text-align:left}
.center{text-align:center}
.section{padding-top:56px;padding-bottom:56px}
.hero{text-align:center;max-width:816px;padding-top:40px;padding-bottom:80px}
.hero h1{font-size:48px;line-height:1;margin-bottom:24px;font-weight:800}
.hero p{font-size:18px;color:var(--muted)}
p{color:var(--muted)}
.band-blue{background:var(--bg-blue)}
.band-gray{background:var(--bg-gray)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding-top:64px;padding-bottom:64px}
.stats strong{display:block;font-size:30px;color:var(--blue)}
.stats span{color:var(--muted)}

.grid{display:grid;gap:32px}
.grid-2{grid-template-columns:repeat(2,1fr);max-width:816px;margin:40px auto 0}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 4px 6px rgba(0,0,0,.12);border-bottom:3px solid #f46806}
.card h3{font-size:19px;margin-top:12px;color:#000}
.card p{margin:0;font-size:15px}
.blue-icons .icon{color:var(--blue);width:44px;height:44px}
.blue-icons-sm .icon{color:#0072b8;width:28px;height:28px}
.values{text-align:center}
.values .icon{color:#0072b8;width:44px;height:44px}
.values p{margin:0;font-size:15px}
.stack{display:grid;gap:24px}
.narrow p{margin:0 0 24px}
.stack .card h3{margin-top:0}

.card-title{display:flex;align-items:center;gap:12px;text-align:left;font-size:24px;margin:0 0 20px}
.card-title .icon{color:#0072b8;width:32px;height:32px}
.service{padding:32px}
.stack.wide{gap:48px;margin-top:48px}
.bullets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 0;color:var(--muted)}
.bullets li{display:flex;align-items:center;gap:12px;font-size:15px}
.bullets li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange);flex:none}

.logos{overflow:hidden}
.logo-track{display:flex;gap:32px;width:max-content;animation:scroll 60s linear infinite}
.logos:hover .logo-track{animation-play-state:paused}
.logo{width:280px;height:96px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:8px 24px;flex:none}
.logo img{max-height:64px;width:auto;object-fit:contain}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.logo-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1024px;margin:48px auto 0;align-items:start}
.form-card iframe{display:block;border:0}
.info-card{background:#000;color:#fff;border-radius:8px;padding:32px;box-shadow:0 4px 6px rgba(0,0,0,.12);border-bottom:3px solid #f46806;min-height:400px}
.info-card h2{color:#ca8a04;text-align:left;font-size:24px;margin:0 0 24px}
.info-card h3{color:#ca8a04;font-size:16px;margin:0 0 4px}
.info-card p{color:var(--blue);margin:0}
.info-card a{text-decoration:none}
.info-row{display:flex;gap:12px;margin-bottom:24px}
.info-row .icon{width:24px;height:24px;color:#44b3c6}
.hours{margin-top:8px!important}

.site-footer{background:var(--navy);color:#fff;padding:48px 0}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.site-footer h3{font-size:18px;margin-bottom:16px}
.site-footer p{color:#fff;margin:0 0 12px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:8px}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.with-icon{display:flex;gap:12px;align-items:center}
.with-icon .icon{width:20px;height:20px}

@media (max-width:900px){
  .grid-3,.grid-4,.grid-2,.stats{grid-template-columns:repeat(2,1fr)}
  .contact-grid,.footer-grid{grid-template-columns:1fr}
  .bullets{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .nav-toggle{display:block}
  .nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 24px 16px}
  .nav-links.open{display:flex}
  .nav-links a{padding:10px 0}
  .brand{font-size:17px}
  .hero h1{font-size:34px}
  h1{font-size:30px}
  .grid-3,.grid-4,.grid-2,.stats,.bullets{grid-template-columns:1fr}
  .stats{gap:24px}
}

/* ---- Home page theme (brand colours from the company logo) ---- */
@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(fonts/poppins-400.ttf) format("truetype")}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(fonts/poppins-600.ttf) format("truetype")}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(fonts/poppins-700.ttf) format("truetype")}
@font-face{font-family:Poppins;font-weight:800;font-display:swap;src:url(fonts/poppins-800.ttf) format("truetype")}
.home{--brand-orange:#f46806;--brand-blue:#0072b8;--brand-teal:#44b3c6;--brand-navy:#0b2a43;--brand-muted:#4a5f72;--brand-tint:#f1f8fc;
  font-family:Poppins,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--brand-navy)}
.home .hero{max-width:none;padding:72px 24px 88px;background:linear-gradient(180deg,#fff 0%,var(--brand-tint) 100%)}
.home .hero>*{max-width:816px;margin-left:auto;margin-right:auto}
.home .hero h1{font-size:52px;line-height:1.15;font-weight:800;letter-spacing:-.5px;color:var(--brand-navy);margin-bottom:32px}
.home .hero h1 .accent{color:var(--brand-blue)}
.home .hero h1::after{content:"";display:block;width:96px;height:5px;border-radius:3px;margin:28px auto 0;background:linear-gradient(90deg,var(--brand-orange),var(--brand-teal))}
.home .hero p{font-size:18px;line-height:1.8;color:var(--brand-muted)}
.home .band-blue{background:linear-gradient(135deg,var(--brand-blue),#0a8fc4 60%,var(--brand-teal))}
.home .stats strong{color:#fff;font-size:36px;font-weight:800}
.home .stats span{color:#e6f4fa;font-weight:500}
.home h2{color:var(--brand-navy);font-weight:700;position:relative;padding-bottom:20px}
.home h2::after{content:"";position:absolute;left:50%;bottom:0;width:64px;height:4px;margin-left:-32px;border-radius:2px;background:var(--brand-orange)}
.home .card{border-bottom:4px solid var(--brand-orange);box-shadow:0 6px 18px rgba(11,42,67,.1);transition:transform .2s,box-shadow .2s}
.home .card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(11,42,67,.16)}
.home .card h3{color:var(--brand-navy);font-weight:600}
.home .card p{color:var(--brand-muted)}
.home .blue-icons .icon{color:var(--brand-blue)}
.home .band-gray{background:var(--brand-tint)}
@media (max-width:900px){.home .hero h1{font-size:44px}}
@media (max-width:640px){.home .hero{padding:48px 24px 56px}.home .hero h1{font-size:32px}.home .hero p{font-size:16px}.home .stats strong{font-size:30px}}

/* ---- Header theme (white bar, logo colours) ---- */
.site-header{background:#fff;color:#0b2a43;box-shadow:0 2px 12px rgba(11,42,67,.12);border-bottom:3px solid #f46806;font-family:Poppins,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.brand img{width:auto;height:44px;background:none;border-radius:0}
.nav-links a{font-weight:500;padding:6px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.nav-links a:hover{text-decoration:none;color:#0072b8;border-bottom-color:#44b3c6}
.nav-links a.active{font-weight:600;color:#0072b8;border-bottom-color:#f46806}
.nav-toggle{color:#0b2a43}
@media (max-width:640px){
  .nav-links{background:#fff;box-shadow:0 8px 16px rgba(11,42,67,.12);border-bottom:3px solid #f46806}
  .nav-links a{padding:12px 0;border-bottom:0}
  .brand img{height:38px}
}

/* ---- Home page load animation ---- */
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes drop{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .home .site-header{animation:drop .6s ease-out both}
  .home .hero h1{animation:rise .8s cubic-bezier(.2,.7,.2,1) .15s both}
  .home .hero h1::after{transform-origin:center;animation:grow .7s ease-out .8s both}
  .home .hero p{animation:rise .8s cubic-bezier(.2,.7,.2,1) .45s both}
  .home .stats>div{animation:pop .6s ease-out both}
  .home .stats>div:nth-child(1){animation-delay:.7s}
  .home .stats>div:nth-child(2){animation-delay:.8s}
  .home .stats>div:nth-child(3){animation-delay:.9s}
  .home .stats>div:nth-child(4){animation-delay:1s}
  @supports (animation-timeline:view()){
    .home .section h2,.home .card,.home .logos{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
  }
}

/* ---- Home: Our Services tiles with wide pop-out panel ---- */
.svc-wrap{position:relative}
.svc-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:32px}
.svc{flex:0 1 calc((100% - 64px)/3);border-radius:12px;outline:none;cursor:pointer}
.svc-face{height:100%;min-height:200px;background:#fff;border-radius:12px;padding:28px 24px;box-shadow:0 6px 18px rgba(11,42,67,.1);border-bottom:4px solid #f46806;display:flex;flex-direction:column;align-items:flex-start;gap:12px;transition:transform .2s,box-shadow .2s}
.svc:hover .svc-face{transform:translateY(-4px);box-shadow:0 12px 26px rgba(11,42,67,.18)}
.svc.active .svc-face{transform:translateY(-4px);box-shadow:0 0 0 3px #f46806,0 12px 26px rgba(11,42,67,.2)}
.svc-panel::before{content:"";position:absolute;bottom:-9px;left:var(--ax,50%);width:18px;height:18px;margin-left:-9px;background:#0a4c7a;transform:rotate(45deg);border-radius:3px}
.svc:focus-visible .svc-face{box-shadow:0 0 0 3px #44b3c6}
.svc-face .icon{width:48px;height:48px;color:#0072b8}
.svc-face h3{margin:0;font-size:20px;font-weight:600;color:#0b2a43}
.svc-hint{margin-top:auto;font-size:14px;font-weight:500;color:#f46806}
.svc-hint::before{content:"Hover to see services"}

.svc-panel{position:absolute;z-index:9;top:0;left:-20px;right:-20px;padding:22px 28px 26px;border-radius:18px;color:#fff;background:radial-gradient(120% 90% at 100% 0%,rgba(68,179,198,.45),transparent 55%),linear-gradient(150deg,#0b2a43 0%,#0a4c7a 60%,#0072b8 100%);border-bottom:5px solid #f46806;box-shadow:0 30px 70px rgba(11,42,67,.4);opacity:0;visibility:hidden;transform:scale(.94);transform-origin:var(--ax,50%) bottom;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1.05),visibility 0s .28s}
.svc-wrap.open .svc-panel{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.svc-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.svc-close:hover{background:rgba(255,255,255,.2)}
.svc-sec{display:none}
.svc-sec.active{display:block}
.svc-sec h3{display:inline;margin:0;font-size:28px;font-weight:700;color:#fff}
.svc-count{display:inline;white-space:nowrap;margin:0 0 0 14px;color:#9fd2e6;font-size:15px}
.svc-sec .subs{margin-top:20px}
.subs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.subs li{display:flex;align-items:center;gap:14px;padding:16px;border-radius:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);transition:background .2s,transform .2s}
.subs li:hover{background:rgba(255,255,255,.18);transform:translateY(-3px)}
.sub-badge{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#f46806,#ff9a4d);box-shadow:0 6px 14px rgba(244,104,6,.35)}
.subs li:nth-child(even) .sub-badge{background:linear-gradient(135deg,#0072b8,#44b3c6);box-shadow:0 6px 14px rgba(68,179,198,.35)}
.sub-ic{width:24px;height:24px}
.sub-name{font-size:15px;font-weight:500;line-height:1.3;color:#fff}
@keyframes subin{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){.svc-sec.active .subs li{animation:subin .45s cubic-bezier(.2,.8,.2,1) var(--d,0ms) both}}
@media (hover:hover) and (min-width:1100px){
  .svc-grid{gap:20px;flex-wrap:nowrap}
  .svc{flex:1 1 0;min-width:0}
  .svc-face{min-height:240px;padding:28px 20px;gap:14px;justify-content:center}
  .svc-face .icon{width:56px;height:56px}
  .svc-face h3{font-size:19px}
  .svc-hint{display:none}
  .svc.active .svc-face{transform:none}
  .svc-panel{top:-68px;bottom:-68px;left:-22px;right:-22px;padding:36px 44px;display:flex;flex-direction:column;justify-content:center;transform-origin:var(--ax,50%) 50%}
  .svc-panel::before{display:none}
  .svc-close{top:22px;right:24px;width:44px;height:44px}
  .svc-sec h3{font-size:36px}
  .svc-count{font-size:17px}
  .svc-sec .subs{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}
  .subs li{padding:18px 18px;gap:16px;border-radius:16px}
  .sub-badge{width:54px;height:54px;border-radius:14px}
  .sub-ic{width:28px;height:28px}
  .sub-name{font-size:16.5px}
}
}
@media (max-width:1099px){.subs{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.svc{flex-basis:calc((100% - 32px)/2)}.subs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.svc{flex-basis:100%}.svc-face{min-height:0}.svc-hint{margin-top:0}.subs{grid-template-columns:1fr}.svc-sec h3{font-size:24px}}
/* touch devices and screens under 1100px: tap a tile, panel opens as a sheet */
@media (hover:none),(max-width:1099px){
  .svc-hint::before{content:"Tap to see services"}
  .svc-panel{position:fixed;top:76px;left:12px;right:12px;bottom:12px;overflow-y:auto;padding:20px 16px 24px}
  .svc-panel::before{display:none}
  .svc-sec{padding-right:44px}
}
@media (prefers-reduced-motion:reduce){.svc-panel,.svc-face{transition:none}}

/* ---- Services panel title links to the services page ---- */
.svc-sec h3 a{color:#fff;text-decoration:none;border-bottom:2px solid transparent;transition:border-color .15s}
.svc-sec h3 a:hover,.svc-sec h3 a:focus-visible{border-bottom-color:#f46806;outline:none}
.svc-sec h3 .go{width:.7em;height:.7em;margin-left:.3em;vertical-align:.02em;color:#f46806;transition:transform .15s}
.svc-sec h3 a:hover .go{transform:translate(2px,-2px)}
.card.service{scroll-margin-top:112px}

/* ---- Home stats band: larger numbers ---- */
.home .stats strong{font-size:64px;line-height:1.1;font-weight:800;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.home .stats strong em{font-style:normal;color:#ffb27a;margin-left:2px}
.home .stats span{font-size:18px;font-weight:500;letter-spacing:.2px;margin-top:4px;display:block}
@media (max-width:900px){.home .stats strong{font-size:52px}}
@media (max-width:640px){.home .stats strong{font-size:48px}.home .stats span{font-size:17px}}

/* ---- Home: Refer & Earn ---- */
.refer-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:40px;padding:40px 56px;border-radius:28px;color:#fff;background:radial-gradient(90% 120% at 0% 0%,rgba(68,179,198,.5),transparent 55%),linear-gradient(135deg,#0b2a43 0%,#0a4c7a 55%,#0072b8 100%);box-shadow:0 24px 60px rgba(11,42,67,.28);border-bottom:6px solid #f46806}
.refer-art{display:block;width:100%;max-width:460px;height:auto;margin:0 auto}
.refer-tag{display:inline-block;padding:6px 14px;border-radius:999px;background:rgba(244,104,6,.18);border:1px solid #f46806;color:#ffb27a;font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}
.home .refer-copy h2{margin:18px 0 16px;padding:0;text-align:left;color:#fff;font-size:38px;line-height:1.2;font-weight:700}
.home .refer-copy h2::after{display:none}
.refer-copy p{margin:0 0 26px;color:#d6eaf5;font-size:17px;line-height:1.75}
.refer-steps{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-wrap:wrap;gap:12px 18px}
.refer-steps li{display:flex;align-items:center;gap:10px;font-weight:500;font-size:15px}
.refer-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f46806;color:#fff;font-size:14px}
.refer-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;background:#f46806;color:#fff;font-weight:600;font-size:16px;text-decoration:none;box-shadow:0 10px 24px rgba(244,104,6,.4);transition:transform .15s,background .15s}
.refer-btn svg{width:20px;height:20px;transition:transform .15s}
.refer-btn:hover{background:#ff7a1f;transform:translateY(-2px)}
.refer-btn:hover svg{transform:translateX(4px)}
.refer-btn:focus-visible{outline:3px solid #44b3c6;outline-offset:3px}
@media (max-width:900px){.refer-card{grid-template-columns:1fr;padding:32px 28px}.refer-art{max-width:340px}.home .refer-copy h2{font-size:30px}}
@media (max-width:640px){.refer-card{padding:28px 20px;border-radius:22px}.home .refer-copy h2{font-size:26px}.refer-copy p{font-size:16px}}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.home .refer-card{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}}}

/* ---- Refer & Earn: friendlier type and a bigger card ---- */
@font-face{font-family:Nunito;font-weight:600;font-display:swap;src:url(fonts/nunito-600.ttf) format("truetype")}
@font-face{font-family:Nunito;font-weight:800;font-display:swap;src:url(fonts/nunito-800.ttf) format("truetype")}
.home .refer{max-width:1440px;padding-top:40px;padding-bottom:72px}
.refer-card{padding:72px 80px;gap:64px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:36px}
.refer-art{max-width:560px}
.home .refer-copy h2{font-family:Nunito,Poppins,ui-sans-serif,system-ui,sans-serif;font-weight:800;font-size:60px;line-height:1.08;letter-spacing:-.5px;margin:22px 0 22px}
.refer-tag{font-family:Nunito,Poppins,sans-serif;font-weight:800;font-size:14px;padding:8px 18px}
.refer-copy p{font-size:20px;line-height:1.7;margin-bottom:32px}
.refer-steps li{font-size:17px;font-weight:600;font-family:Nunito,Poppins,sans-serif}
.refer-steps b{width:36px;height:36px;font-size:16px}
.refer-btn{font-family:Nunito,Poppins,sans-serif;font-weight:800;font-size:19px;padding:18px 36px}
@media (max-width:1100px){.refer-card{padding:56px 44px;gap:40px}.home .refer-copy h2{font-size:46px}}
@media (max-width:900px){.refer-card{grid-template-columns:1fr;padding:40px 28px;border-radius:28px}.refer-art{max-width:380px}.home .refer-copy h2{font-size:38px}.refer-copy p{font-size:17px}}
@media (max-width:640px){.refer-card{padding:30px 20px;border-radius:22px}.home .refer-copy h2{font-size:32px}.refer-btn{font-size:17px;padding:15px 28px}}
@media (min-width:901px){.refer-steps{gap:10px 14px}.refer-steps li{font-size:15.5px;gap:8px}.refer-steps b{width:32px;height:32px;font-size:15px}}
@media (min-width:1101px){.refer-card{padding:72px 64px;gap:48px}.refer-steps{flex-wrap:nowrap;gap:12px}.refer-steps li{white-space:nowrap;font-size:15px}}

/* ---- Home: bigger "Our Candidates Work in" section ---- */
.home .band-gray .section{padding-top:88px;padding-bottom:96px}
.home .band-gray h2{font-size:44px;margin-bottom:56px;padding-bottom:26px}
.home .band-gray h2::after{width:84px;height:5px;margin-left:-42px}
.home .band-gray .logo-track{gap:40px}
.home .band-gray .logo{width:380px;height:150px;padding:14px 36px;border-radius:16px;box-shadow:0 6px 18px rgba(11,42,67,.08)}
.home .band-gray .logo img{max-height:96px;max-width:100%}
@media (max-width:900px){.home .band-gray h2{font-size:36px}.home .band-gray .logo{width:300px;height:120px}.home .band-gray .logo img{max-height:76px}}
@media (max-width:640px){.home .band-gray .section{padding-top:56px;padding-bottom:64px}.home .band-gray h2{font-size:30px;margin-bottom:36px}.home .band-gray .logo{width:240px;height:100px;padding:10px 24px}.home .band-gray .logo img{max-height:62px}.home .band-gray .logo-track{gap:24px}}
.home .band-gray .logos{padding:10px 0 28px;margin-bottom:-18px}
.home .band-gray h2{text-wrap:balance}
@media (max-width:640px){.home .band-gray h2{font-size:28px}}

/* ---- Refer & Earn page ---- */
.refer-page .hero{padding-top:64px}
.refer-page .hero h1{font-size:46px;line-height:1.15;color:#0b2a43}
.refer-page .hero .refer-tag{margin-bottom:20px;background:rgba(244,104,6,.1);color:#c9540a}
.refer-page .hero h1::after{display:none}
.refer-page .why{max-width:816px;text-align:center}
.refer-page .why p,.refer-page .influence p{font-size:18px;line-height:1.8;color:#4a5f72}
.how{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:32px;max-width:960px}
.how-card{position:relative;background:#fff;border-radius:16px;padding:40px 32px 32px;box-shadow:0 6px 18px rgba(11,42,67,.1);border-bottom:4px solid #f46806}
.how-card b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f46806,#ff9a4d);color:#fff;font-size:20px;margin-bottom:18px}
.how-card h3{margin:0 0 10px;font-size:22px;color:#0b2a43}
.how-card p{margin:0;font-size:17px;line-height:1.7;color:#4a5f72}
.how-card strong{color:#0072b8}
.influence{max-width:816px;margin:0 auto;text-align:center}
.influence .influence-close{font-weight:600;color:#0b2a43}
.influence .refer-btn{margin-top:12px}
.rules-sub{text-align:center;margin:-24px 0 40px;color:#4a5f72}
.rules{display:grid;gap:24px;max-width:960px;margin:0 auto}
.rule{background:#fff;border-radius:16px;padding:32px 36px;box-shadow:0 6px 18px rgba(11,42,67,.08);border-left:5px solid #0072b8}
.rule h3{display:flex;align-items:center;gap:14px;margin:0 0 16px;font-size:21px;color:#0b2a43}
.rule h3 b{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0072b8;color:#fff;font-size:16px}
.rule ul{margin:0;padding-left:22px;display:grid;gap:12px}
.rule li{font-size:16.5px;line-height:1.7;color:#4a5f72}
.rule li::marker{color:#f46806}
.rule strong{color:#0b2a43}
@media (max-width:900px){.how{grid-template-columns:1fr}.refer-page .hero h1{font-size:36px}}
@media (max-width:640px){.refer-page .hero h1{font-size:30px}.refer-page .why p,.refer-page .influence p{font-size:16.5px}.rule{padding:24px 20px}.rules-sub{margin-top:-16px}}

/* ---- Six-item nav: switch to the menu button below 900px ---- */
.nav-links a{white-space:nowrap}
@media (max-width:900px){
  .nav-toggle{display:block}
  .nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 24px 16px;box-shadow:0 8px 16px rgba(11,42,67,.12);border-bottom:3px solid #f46806}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 0;border-bottom:0}
}

/* ---- Header: bigger logo, nudged left, menu centred ---- */
.site-header .nav{max-width:1440px;padding:0 24px;height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.site-header .brand{justify-self:start}
.site-header .brand img{height:62px;width:auto;max-width:none;flex:none}
.site-header .nav-links{justify-self:center;gap:32px}
.site-header .nav-links a{font-size:16px}
@media (max-width:1100px){.site-header .nav{display:flex;justify-content:space-between;gap:24px}.site-header .brand img{height:52px}.site-header .nav-links{gap:22px}}
@media (max-width:900px){
  .site-header .nav{display:flex;justify-content:space-between;height:72px}
  .site-header .brand img{height:50px}
  .site-header .nav-links{top:100%;justify-self:stretch;gap:0}
}
@media (max-width:640px){.site-header .nav{height:68px}.site-header .brand img{height:44px}}

/* ---- Header social buttons ---- */
.social{justify-self:end;display:flex;align-items:center;gap:6px;padding-left:20px;border-left:1px solid #cfe0ec;height:38px}
.social a,.nav-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#0b2a43;transition:color .15s,background .15s,transform .15s}
.social a:hover,.nav-social a:hover{color:#fff;background:#f46806;transform:translateY(-2px)}
.social a:focus-visible,.nav-social a:focus-visible{outline:3px solid #44b3c6;outline-offset:2px}
.social svg,.nav-social svg{width:21px;height:21px}
.nav-social{display:none}
@media (max-width:1250px){.site-header .nav-links{gap:24px}}
/* menu button from 1360px down; email and socials move into the menu */
@media (max-width:1360px){
  .site-header .nav{display:flex;justify-content:space-between}
  .nav-toggle{display:block}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 24px 16px;box-shadow:0 8px 16px rgba(11,42,67,.12);border-bottom:3px solid #f46806;justify-self:stretch}
  .site-header .nav-links{gap:0;justify-self:stretch}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 0;border-bottom:0}
  .social{display:none}
  .nav-social{display:flex;gap:6px;padding:10px 0 0;margin-top:6px;border-top:1px solid #e2edf4}
  .nav-links .nav-social a{padding:0}
}

/* ---- Footer social buttons ---- */
.footer-social{display:flex;gap:10px;margin-top:20px}
.footer-social a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);transition:background .15s,transform .15s,border-color .15s}
.footer-social a:hover{background:#f46806;border-color:#f46806;transform:translateY(-2px);text-decoration:none}
.footer-social a:focus-visible{outline:3px solid #44b3c6;outline-offset:2px}
.footer-social svg{width:21px;height:21px}

/* ---- Footer: three columns, larger text ---- */
.site-footer{padding:56px 0 60px}
.footer-grid{gap:48px}
.site-footer h3{font-size:24px;margin-bottom:20px}
.site-footer p,.site-footer a{font-size:19px}
.site-footer p{margin-bottom:16px;line-height:1.5}
.with-icon .icon{width:24px;height:24px}
.footer-social a{width:48px;height:48px}
.footer-social svg{width:24px;height:24px}
@media (max-width:900px){
  .footer-grid>div:nth-child(2){order:1}
  .footer-grid>div:nth-child(3){order:2}
  .footer-grid>div:nth-child(1){order:3}
}
@media (max-width:640px){.site-footer h3{font-size:22px}.site-footer p,.site-footer a{font-size:17px}}

/* ---- Footer brand block ---- */
.footer-logo{display:inline-block;background:#fff;border-radius:16px;padding:14px 22px;line-height:0}
.footer-logo img{display:block;width:240px;max-width:100%;height:auto}
.site-footer .footer-tagline{margin:20px 0 4px;font-size:19px;text-wrap:balance;font-weight:600;line-height:1.4;color:#fff}
.footer-brand .footer-social{margin-top:18px}
@media (max-width:640px){.footer-logo img{width:210px}.site-footer .footer-tagline{font-size:19px}}
.footer-logo{background:none;border-radius:0;padding:0}
.footer-logo img{width:280px}
@media (max-width:640px){.footer-logo img{width:240px}}
.site-footer .footer-tagline{font-size:17px;font-weight:400;line-height:1.8;max-width:380px;text-wrap:pretty;color:#e3edf4;margin:22px 0 4px}
@media (max-width:640px){.site-footer .footer-tagline{font-size:16.5px}}
.site-footer .footer-tagline{font-size:22px;font-weight:600;line-height:1.4;max-width:none;color:#fff;margin:20px 0 4px}
@media (max-width:640px){.site-footer .footer-tagline{font-size:20px}}
.site-footer .footer-tagline{font-size:18px;font-weight:500;line-height:1.75;max-width:400px;text-wrap:pretty;color:#e9f1f7;margin:22px 0 4px}
@media (max-width:640px){.site-footer .footer-tagline{font-size:17px}}

/* ---- Footer: logo block and hours pushed toward the edges ---- */
@media (min-width:901px){
  .site-footer .footer-grid{max-width:1440px;padding:0 24px;grid-template-columns:1fr auto 1fr;gap:40px}
  .site-footer .footer-grid>div:nth-child(1){justify-self:start}
  .site-footer .footer-grid>div:nth-child(3){justify-self:end}
}

/* ---- Footer blurb on three lines (wide screens) ---- */
@media (min-width:1200px){
  .site-footer .footer-grid{grid-template-columns:450px 1fr auto;gap:32px}
  .site-footer .footer-grid>div:nth-child(2){justify-self:center}
  .site-footer .footer-tagline{max-width:450px;font-size:17px;line-height:1.85}
}

/* ---- Header: email + orange dividers before the social buttons ---- */
.header-right{justify-self:end;display:flex;align-items:center;gap:20px}
.header-mail{display:flex;align-items:center;gap:9px;color:#0b2a43;text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap;transition:color .15s}
.header-mail svg{width:20px;height:20px;color:#f46806;flex:none}
.header-mail:hover{color:#f46806}
.header-right .social{border-left:2px solid #f46806;padding-left:20px;height:34px}
.nav-mail{display:none}
@media (min-width:1361px){.site-header .nav-links{gap:26px}.site-header .nav-links a{font-size:15.5px}}
@media (max-width:1360px){
  .header-right{display:none}
  .nav-mail{display:flex;align-items:center;gap:10px;padding:12px 0 !important;margin-top:6px;border-top:2px solid #f46806;color:#0b2a43;font-size:15.5px;white-space:normal;word-break:break-word}
  .nav-mail svg{width:20px;height:20px;color:#f46806;flex:none}
  .nav-social{border-top:0;margin-top:0;padding-top:4px}
}
@media (min-width:1361px) and (max-width:1500px){
  .site-header .brand img{height:56px}
  .site-header .nav-links{gap:20px}
  .site-header .nav-links a{font-size:15px}
  .header-right{gap:16px}
  .header-mail{font-size:14.5px;gap:7px}
  .header-right .social{padding-left:16px;gap:2px}
}
@media (min-width:1361px){.site-header .nav{grid-template-columns:auto 1fr auto;column-gap:32px}}
.header-mail,.nav-mail{font-weight:700}

/* ---- Refer & Earn page: illustrations ---- */
.refer-page .refer-hero{max-width:1248px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center;text-align:left;padding:56px 24px 72px}
.refer-page .refer-hero>*{max-width:none;margin:0}
.refer-page .hero-copy h1{text-align:left;margin:16px 0 20px}
.refer-page .hero-copy p{margin:0;text-align:left}
.refer-page .hero-copy .refer-tag{margin:0}
.hero-art svg,.influence-art svg{display:block;width:100%;height:auto;max-width:520px;margin:0 auto}
.how-art{width:180px;margin:-8px auto 8px}
.how-art svg{display:block;width:100%;height:auto}
.how-card{text-align:center}
.how-card b{position:absolute;top:18px;left:18px;margin:0}
.how-card h3,.how-card p{text-align:center}
.influence-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;max-width:1100px;margin:0 auto}
.influence-wrap .influence{max-width:none;margin:0;text-align:left}
.influence-wrap .influence h2{text-align:left;padding-bottom:0}
.influence-wrap .influence h2::after{display:none}
@media (max-width:900px){
  .refer-page .refer-hero{grid-template-columns:1fr;text-align:center;padding-top:40px}
  .refer-page .hero-copy h1,.refer-page .hero-copy p{text-align:center}
  .hero-art{order:-1;max-width:380px;margin:0 auto}
  .influence-wrap{grid-template-columns:1fr;gap:24px}
  .influence-art{max-width:380px;margin:0 auto}
  .influence-wrap .influence,.influence-wrap .influence h2{text-align:center}
}

/* ---- Services tiles: no hint line at any size ---- */
.svc-hint{display:none}
.svc-face{min-height:0}
@media (min-width:1100px) and (hover:hover){.svc-face{min-height:240px}}
@media (hover:none),(max-width:1099px){
  .svc-panel{top:100px;bottom:auto;max-height:calc(100vh - 116px);max-height:calc(100dvh - 116px)}
}

/* ---- Touch / narrow screens: panel opens over the tapped tile's level (not fixed to the top) ---- */
@media (hover:none),(max-width:1099px){
  .svc-panel{position:absolute;top:0;left:-12px;right:-12px;bottom:auto;max-height:none;overflow:visible;padding:20px 16px 24px;scroll-margin-top:104px;scroll-margin-bottom:16px;transform-origin:50% 0}
  .svc-sec{padding-right:44px}
}
/* footer brand block: statement on top, logo below it, social buttons last */
.site-footer .footer-tagline{margin:0 0 22px}
.footer-logo{display:block;margin-bottom:0}
.footer-brand .footer-social{margin-top:22px}

/* ======== Dark mode (follows the visitor's device setting) ======== */
@media (prefers-color-scheme: dark){
  :root{color-scheme:dark}
  body{background:#071a2b;color:#e8f1f8}
  p{color:#b7c9d8}
  h1,h2,h3{color:#fff}
  /* header */
  .site-header{background:#0a2236;color:#e8f1f8;box-shadow:0 2px 14px rgba(0,0,0,.5)}
  .site-header .brand img{background:none}
  .nav-links a{color:#e8f1f8}
  .nav-links a:hover,.nav-links a.active{color:#5cc0ee}
  .nav-toggle{color:#e8f1f8}
  .header-mail{color:#fff}
  .social,.header-right .social{border-left-color:#f46806}
  .social a,.nav-social a{color:#e8f1f8}
  @media (max-width:1360px){.nav-links{background:#0a2236;box-shadow:0 10px 20px rgba(0,0,0,.5)}.nav-mail{color:#fff}}
  /* home */
  .home{color:#e8f1f8}
  .home .hero{background:linear-gradient(180deg,#071a2b 0%,#0b2a43 100%)}
  .home .hero h1{color:#fff}
  .home .hero h1 .accent{color:#5cc0ee}
  .home .hero p{color:#b7c9d8}
  .home h2{color:#fff}
  .home .band-gray{background:#0b2438}
  .home .band-blue{background:linear-gradient(135deg,#0a4c7a,#0072b8 60%,#2b95ad)}
  .svc-face{background:#10304a;box-shadow:0 6px 18px rgba(0,0,0,.4)}
  .svc:hover .svc-face{box-shadow:0 12px 26px rgba(0,0,0,.55)}
  .svc-face h3{color:#fff}
  .svc-face .icon{color:#5cc0ee}
  .svc-panel{box-shadow:0 30px 70px rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.1);border-bottom:5px solid #f46806}
  .home .band-gray .logo{background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.35)}
  .refer-card{box-shadow:0 24px 60px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.08);border-bottom:6px solid #f46806}
  /* inner pages */
  .card{background:#10304a;box-shadow:0 6px 18px rgba(0,0,0,.4)}
  .card h3,.card-title{color:#fff}
  .card p,.bullets{color:#b7c9d8}
  .blue-icons .icon,.values .icon,.card-title .icon,.purple-icons .icon,.blue-icons-sm .icon{color:#5cc0ee}
  .stats strong{color:#fff}
  .info-card{background:#04111c;border:1px solid rgba(255,255,255,.1);border-bottom:3px solid #f46806}
  .form-card{background:#fff}
  /* refer page */
  .refer-page .hero{background:linear-gradient(180deg,#071a2b 0%,#0b2a43 100%)}
  .refer-page .hero h1{color:#fff}
  .refer-page .hero .refer-tag{background:rgba(244,104,6,.18);color:#ffb27a}
  .refer-page .why p,.refer-page .influence p{color:#b7c9d8}
  .refer-page .influence .influence-close{color:#fff}
  .how-card,.rule{background:#10304a;box-shadow:0 6px 18px rgba(0,0,0,.4)}
  .how-card h3,.rule h3,.rule strong{color:#fff}
  .how-card p,.rule li,.rules-sub{color:#b7c9d8}
  .how-card strong{color:#5cc0ee}
  .rule{border-left-color:#5cc0ee}
  .rule h3 b{background:#0072b8}
  .hero-art svg circle[fill="#e6f3fa"],.influence-art svg circle[fill="#e6f3fa"]{fill:#0f3250}
  .hero-art svg circle[fill="#ffe3cf"]{fill:#4a2a1c}
  .hero-art svg circle[fill="#d3eef3"]{fill:#123f55}
  .how-art svg circle[fill="#e6f3fa"]{fill:#0f3250}
  .how-art svg circle[fill="#fff1e6"]{fill:#3a2a22}
  .hero-art svg rect[fill="#fff"],.influence-art svg rect[fill="#fff"]{fill:#e9f2f9}
  /* footer */
  .site-footer{background:#04111c}
}
@media (prefers-color-scheme: dark){
  .info-card p,.info-card a{color:#6cc4ef}
  .info-card h2,.info-card h3{color:#f0b429}
  .info-row .icon{color:#44b3c6}
  .refer-page .hero{background:none}
}

/* ---- Services page: interactive ---- */
.sv-hero{text-align:center;max-width:860px;padding-top:56px;padding-bottom:24px}
.sv-hero .refer-tag{margin-bottom:16px}
.sv-hero h1{font-size:50px;margin:0 0 14px}
.sv-hero p{font-size:18px;margin:0 auto 26px;max-width:640px;line-height:1.7}
.sv-search{display:flex;align-items:center;gap:12px;max-width:560px;margin:0 auto;padding:0 20px;height:56px;border-radius:999px;background:#fff;border:2px solid #cfe3ef;box-shadow:0 6px 18px rgba(11,42,67,.08);transition:border-color .15s,box-shadow .15s}
.sv-search:focus-within{border-color:#0072b8;box-shadow:0 0 0 4px rgba(0,114,184,.15)}
.sv-search svg{width:22px;height:22px;color:#0072b8;flex:none}
.sv-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:500 16px Poppins,Inter,sans-serif;color:#0b2a43}
.sv-app{padding-top:28px;padding-bottom:40px}
.sv-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:28px}
.sv-tab{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:16px 14px;border-radius:16px;border:2px solid transparent;background:#fff;box-shadow:0 6px 16px rgba(11,42,67,.1);cursor:pointer;font-family:inherit;color:#0b2a43;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}
.sv-tab:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(11,42,67,.16)}
.sv-tab:focus-visible{outline:3px solid #44b3c6;outline-offset:2px}
.sv-tab[aria-selected=true]{border-color:#f46806;background:linear-gradient(160deg,#0b2a43,#0a4c7a);color:#fff;transform:translateY(-4px)}
.sv-ic .icon{width:30px;height:30px;color:#0072b8}
.sv-tab[aria-selected=true] .sv-ic .icon{color:#ffb27a}
.sv-name{font-weight:600;font-size:15px;line-height:1.3}
.sv-count{font-size:12.5px;color:#4a5f72}
.sv-tab[aria-selected=true] .sv-count{color:#b9d8ea}
.sv-stage{background:linear-gradient(160deg,#0b2a43 0%,#0a4c7a 60%,#0072b8 100%);border-radius:24px;padding:36px 40px 44px;border-bottom:6px solid #f46806;box-shadow:0 24px 60px rgba(11,42,67,.25);min-height:260px;color:#fff}
.sv-pane-head{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.sv-ic.big{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#f46806,#ff9a4d);box-shadow:0 8px 18px rgba(244,104,6,.4)}
.sv-ic.big .icon{width:34px;height:34px;color:#fff}
.sv-pane-head h2,.sv-results h2{margin:0;text-align:left;font-size:30px;color:#fff;padding:0}
.sv-pane-head h2::after{display:none}
.sv-pane-head p{margin:2px 0 0;color:#b9d8ea;font-size:15px}
.sv-chips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sv-chips li{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);font-size:15.5px;font-weight:500;line-height:1.35;color:#fff;transition:background .15s,transform .15s}
.sv-chips li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:#f46806;box-shadow:0 0 0 4px rgba(244,104,6,.25)}
.sv-chips li:nth-child(even)::before{background:#44b3c6;box-shadow:0 0 0 4px rgba(68,179,198,.25)}
.sv-chips li:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.sv-chips li.hit{background:rgba(244,104,6,.28);border-color:#f46806}
.sv-results .grp{margin-bottom:26px}
.sv-results .grp h3{margin:0 0 12px;font-size:17px;color:#ffb27a}
.sv-empty{margin:0;font-size:17px;color:#e3eef6;text-align:center}
.sv-empty a{color:#ffb27a}
@keyframes svin{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){.sv-pane.active .sv-chips li,.sv-results .sv-chips li{animation:svin .4s cubic-bezier(.2,.8,.2,1) calc(var(--i,0)*28ms) both}}
.sv-cta{padding-top:24px;padding-bottom:72px}
.sv-cta-card{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:32px 40px;border-radius:22px;background:#f1f8fc;border:1px solid #cfe3ef}
.sv-cta-card h2{margin:0 0 6px;font-size:26px;text-align:left;padding:0}
.sv-cta-card h2::after{display:none}
.sv-cta-card p{margin:0}
/* no JS: show every category stacked */
.sv-pane{display:block;margin-bottom:32px}
.js .sv-pane{display:none;margin:0}
.js .sv-pane.active{display:block}
.js.sv-searching .sv-pane{display:none}
.sv-tabs{display:none}
.js .sv-tabs{display:grid}
.sv-search{display:none}
.js .sv-search{display:flex}
@media (max-width:1100px){.sv-tabs{grid-template-columns:repeat(4,1fr)}.sv-chips{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.sv-hero h1{font-size:36px}.sv-tabs{grid-template-columns:repeat(2,1fr)}.sv-stage{padding:24px 18px 30px;border-radius:20px}.sv-chips{grid-template-columns:1fr}.sv-pane-head h2,.sv-results h2{font-size:24px}.sv-cta-card{padding:24px 20px}}
@media (prefers-color-scheme:dark){
  .sv-search{background:#10304a;border-color:#27506f}.sv-search input{color:#fff}.sv-search svg{color:#5cc0ee}
  .sv-tab{background:#10304a;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.4)}.sv-ic .icon{color:#5cc0ee}.sv-count{color:#9fbdd1}
  .sv-tab[aria-selected=true]{background:linear-gradient(160deg,#0a4c7a,#0072b8)}
  .sv-stage{background:linear-gradient(160deg,#0a2a44,#0a4c7a);box-shadow:0 24px 60px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.08);border-bottom:6px solid #f46806}
  .sv-cta-card{background:#10304a;border-color:#27506f}
}
.sv-page .sv-hero h1{color:#0b2a43;text-align:center}
@media (prefers-color-scheme:dark){.sv-page .sv-hero h1{color:#fff}.sv-page .sv-hero p{color:#b7c9d8}}
.sv-page .sv-hero .refer-tag{background:rgba(244,104,6,.1);color:#c9540a}
@media (prefers-color-scheme:dark){.sv-page .sv-hero .refer-tag{color:#ffb27a;background:rgba(244,104,6,.18)}}
.sv-searching .sv-tab[aria-selected=true]{background:#fff;color:#0b2a43;border-color:transparent;transform:none}
.sv-searching .sv-tab[aria-selected=true] .sv-ic .icon{color:#0072b8}
.sv-searching .sv-tab[aria-selected=true] .sv-count{color:#4a5f72}
@media (prefers-color-scheme:dark){.sv-searching .sv-tab[aria-selected=true]{background:#10304a;color:#fff}.sv-searching .sv-tab[aria-selected=true] .sv-ic .icon{color:#5cc0ee}.sv-searching .sv-tab[aria-selected=true] .sv-count{color:#9fbdd1}}
.sv-chips li.hit{background:rgba(244,104,6,.22)}

/* ---- Services: description pop-up ---- */
.sv-chips li{cursor:default}
.sv-chips li:focus-visible{outline:3px solid #44b3c6;outline-offset:2px}
.sv-tip{position:absolute;z-index:60;width:max-content;max-width:min(300px,calc(100vw - 16px));padding:14px 16px 15px;border-radius:14px;background:#fff;color:#0b2a43;box-shadow:0 18px 40px rgba(11,42,67,.35);border-top:4px solid #f46806;pointer-events:none;opacity:0;transform:translateY(6px) scale(.97);transition:opacity .16s ease,transform .18s cubic-bezier(.2,.8,.2,1)}
.sv-tip.show{opacity:1;transform:none}
.sv-tip[hidden]{display:none}
.sv-tip strong{display:block;font-size:15px;font-weight:700;margin-bottom:4px;color:#0b2a43}
.sv-tip span{display:block;font-size:14px;line-height:1.5;color:#4a5f72}
.sv-tip::after{content:"";position:absolute;left:var(--ax,50%);bottom:-8px;width:14px;height:14px;margin-left:-7px;background:#fff;transform:rotate(45deg);border-radius:2px}
.sv-tip.below{border-top:0;border-bottom:4px solid #f46806}
.sv-tip.below::after{bottom:auto;top:-7px}
@media (prefers-reduced-motion:reduce){.sv-tip{transition:none}}
@media (prefers-color-scheme:dark){.sv-tip{background:#0f2e48;color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.65);border-color:#f46806}.sv-tip strong{color:#fff}.sv-tip span{color:#c3d6e4}.sv-tip::after{background:#0f2e48}}

/* ---- Home services: seven tiles (4 + 3), panel centred on the tile area ---- */
@media (hover:hover) and (min-width:1100px){
  .svc-grid{flex-wrap:wrap;gap:24px;justify-content:center}
  .svc{flex:0 0 calc((100% - 72px)/4)}
  .svc-face{min-height:200px;padding:26px 22px}
  .svc-panel{top:auto;bottom:auto;padding:34px 40px 40px}
  .svc-sec .subs{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
  .subs li{padding:14px 16px;gap:14px}
  .sub-badge{width:48px;height:48px}
  .sub-ic{width:25px;height:25px}
  .sub-name{font-size:15.5px}
  .svc-sec h3{font-size:32px}
}

/* ---- Home: intro video band ---- */
.intro-band{background:radial-gradient(90% 140% at 100% 0%,rgba(68,179,198,.25),transparent 55%),linear-gradient(150deg,#071a2b 0%,#0b2a43 55%,#0a4c7a 100%);color:#fff;padding:88px 0}
.intro-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.intro-copy .refer-tag{margin-bottom:6px}
.home .intro-copy h2{margin:16px 0 16px;padding:0;text-align:left;color:#fff;font-size:40px;line-height:1.2}
.home .intro-copy h2::after{display:none}
.intro-copy p{margin:0;color:#c9dcea;font-size:18px;line-height:1.75;max-width:460px}
.intro-frame{position:relative;border-radius:22px;overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.12);border-bottom:5px solid #f46806}
.intro-video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.intro-play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;color:#fff;background:#f46806;box-shadow:0 0 0 10px rgba(244,104,6,.28),0 14px 34px rgba(0,0,0,.45);transition:transform .2s,box-shadow .2s,opacity .2s}
.intro-play svg{width:34px;height:34px;margin-left:4px}
.intro-play:hover{transform:scale(1.08);box-shadow:0 0 0 14px rgba(244,104,6,.3),0 14px 34px rgba(0,0,0,.45)}
.intro-play:focus-visible{outline:3px solid #44b3c6;outline-offset:4px}
.intro-frame.playing .intro-play{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.intro-play{animation:pulse 2.4s ease-in-out infinite}.intro-play:hover{animation:none}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 8px rgba(244,104,6,.28),0 14px 34px rgba(0,0,0,.45)}50%{box-shadow:0 0 0 18px rgba(244,104,6,.1),0 14px 34px rgba(0,0,0,.45)}}
@media (max-width:900px){.intro-band{padding:60px 0}.intro-wrap{grid-template-columns:1fr;gap:32px}.home .intro-copy h2{font-size:32px}.intro-copy p{font-size:16.5px}.intro-play{width:68px;height:68px}}
.intro-btn{margin-top:28px}
@media (max-width:900px){.intro-btn{margin-top:22px}}

/* ---- Phone number next to the email ---- */
.header-contact{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.header-contact .header-mail{font-size:14px}
.header-contact .header-mail svg{width:17px;height:17px}
.header-phone{font-weight:700}
.nav-phone{margin-top:0 !important;border-top:0 !important;padding-top:0 !important}
@media (min-width:1361px) and (max-width:1500px){.header-contact .header-mail{font-size:13.5px}}

/* ---- Contact form ---- */
.form-card{padding:36px 36px 40px}
.form-card .card-title{margin-bottom:8px}
.form-intro{margin:0 0 24px;font-size:15.5px;color:#4a5f72}
.cf{display:grid;gap:18px}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cf-field{display:grid;gap:6px;min-width:0}
.cf-field label,.cf-consent{font-size:14.5px;font-weight:600;color:#0b2a43}
.cf-field label span{color:#f46806}
.cf input[type=text],.cf input[type=email],.cf input[type=tel],.cf select,.cf textarea{width:100%;font:500 16px Poppins,Inter,sans-serif;color:#0b2a43;background:#f7fbfe;border:2px solid #cfe3ef;border-radius:12px;padding:13px 14px;transition:border-color .15s,box-shadow .15s,background .15s}
.cf textarea{resize:vertical;min-height:130px;line-height:1.5}
.cf ::placeholder{color:#8aa0b2}
.cf input:focus,.cf select:focus,.cf textarea:focus{outline:0;border-color:#0072b8;background:#fff;box-shadow:0 0 0 4px rgba(0,114,184,.16)}
.cf .bad{border-color:#d93025;background:#fff6f5}
.cf-err{min-height:0;font-size:13px;font-weight:500;color:#d93025}
.cf-err:empty{display:none}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-consent{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:#4a5f72;cursor:pointer}
.cf-consent input{width:20px;height:20px;margin-top:2px;accent-color:#f46806;flex:none}
.cf-submit{justify-self:start;border:0;cursor:pointer;font-family:inherit}
.cf-submit:disabled{opacity:.7;cursor:wait;transform:none}
.cf-status{margin:0;padding:12px 14px;border-radius:12px;font-size:15px;line-height:1.5}
.cf-status[data-kind=error]{background:#fdecea;color:#a3271d}
.cf-status[data-kind=info]{background:#e6f3fa;color:#0b4a73}
.cf-done{text-align:center;padding:24px 8px 8px}
.cf-tick{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(135deg,#f46806,#ff9a4d);color:#fff;box-shadow:0 10px 24px rgba(244,104,6,.4)}
.cf-tick svg{width:36px;height:36px}
.cf-done h3{font-size:24px;margin:0 0 10px;color:#0b2a43;outline:0}
.cf-done p{margin:0 auto 22px;max-width:380px;line-height:1.7}
.cf-done a{color:#0072b8;font-weight:600}
.cf-again{background:none;border:2px solid #0072b8;color:#0072b8;border-radius:999px;padding:11px 22px;font:600 15px Poppins,Inter,sans-serif;cursor:pointer}
.cf-again:hover{background:#0072b8;color:#fff}
@media (max-width:640px){.form-card{padding:26px 20px 30px}.cf-row{grid-template-columns:1fr}.cf-submit{justify-self:stretch;justify-content:center}}
@media (prefers-color-scheme:dark){
  .form-card{background:#10304a}
  .form-intro,.cf-consent{color:#b7c9d8}
  .cf-field label{color:#e8f1f8}
  .cf input[type=text],.cf input[type=email],.cf input[type=tel],.cf select,.cf textarea{background:#0b2438;border-color:#27506f;color:#fff}
  .cf input:focus,.cf select:focus,.cf textarea:focus{background:#0a1f31;border-color:#5cc0ee;box-shadow:0 0 0 4px rgba(92,192,238,.2)}
  .cf .bad{background:#2a1517;border-color:#ff7b72}
  .cf-err{color:#ff9b93}
  .cf-status[data-kind=error]{background:#3a1b1d;color:#ffb4ad}.cf-status[data-kind=info]{background:#0f3250;color:#bfe3f6}
  .cf-done h3{color:#fff}.cf-done a{color:#5cc0ee}
  .cf-again{border-color:#5cc0ee;color:#5cc0ee}.cf-again:hover{background:#5cc0ee;color:#071a2b}
}
.contact-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);max-width:1120px;gap:40px}
.cf-row{align-items:start}
.form-intro{margin-bottom:26px}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.cf[hidden],.cf-done[hidden],.cf-status[hidden]{display:none}

/* ---- Services: enquire button + pre-selected dropdown ---- */
.sv-pane-head{flex-wrap:wrap}
.sv-enquire{margin-left:auto;padding:13px 24px;font-size:15.5px;white-space:nowrap}
.sv-enquire svg{width:18px;height:18px}
@media (max-width:700px){.sv-enquire{margin-left:0;width:100%;justify-content:center}}
#send-message{scroll-margin-top:110px}
.cf select.prefilled{border-color:#f46806;box-shadow:0 0 0 4px rgba(244,104,6,.14)}
.cf-or{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:15.5px;color:#4a5f72}
.cf-or span{font-weight:500}
.cf-or a{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#f46806;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;transition:border-color .15s}
.cf-or a:hover{border-bottom-color:#f46806}
.cf-or a svg{width:18px;height:18px}
@media (prefers-color-scheme:dark){.cf-or{color:#b7c9d8}.cf-or a{color:#ff9a4d}.cf-or a:hover{border-bottom-color:#ff9a4d}}
.form-intro{margin-top:4px}
.cf-or{margin-bottom:16px}
@media (prefers-color-scheme:dark){
  .band-blue{background:#0b2a43}
  .band-gray{background:#0b2438}
  .home .band-blue{background:linear-gradient(135deg,#0a4c7a,#0072b8 60%,#2b95ad)}
}

/* ======== About page ======== */
.about-page .ab-hero{padding:72px 0 80px;background:linear-gradient(180deg,#fff 0%,#f1f8fc 100%)}
.ab-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.ab-hero-copy .refer-tag{margin-bottom:18px;background:rgba(244,104,6,.1);color:#c9540a}
.about-page .ab-hero h1{font-size:56px;line-height:1.1;font-weight:800;letter-spacing:-1px;text-align:left;color:#0b2a43;margin:0 0 20px}
.about-page .ab-hero h1::after{display:none}
.ab-hero-copy p{font-size:19px;line-height:1.75;color:#4a5f72;margin:0 0 28px;max-width:520px}
.ab-hero-cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ab-link{font-weight:700;color:#0072b8;text-decoration:none;border-bottom:2px solid #f46806;padding-bottom:2px}
.ab-art{display:block;width:100%;height:auto;max-width:560px;margin:0 auto}
.ab-story{padding:84px 0;background:#fff}
.ab-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.ab-quote{position:relative;margin:0;padding:12px 0 12px 36px;border-left:6px solid #f46806;font-size:34px;line-height:1.3;font-weight:700;color:#0b2a43}
.ab-quote .qm{position:absolute;left:30px;top:-34px;font-size:96px;line-height:1;color:#f46806;opacity:.25;font-family:Georgia,serif}
.ab-story-text h2{margin:0 0 16px;text-align:left;font-size:30px;padding:0}
.ab-story-text h2::after{display:none}
.ab-story-text p{font-size:17.5px;line-height:1.85;margin:0 0 16px}
.ab-intro{padding:88px 0;color:#fff;background:radial-gradient(90% 140% at 100% 0%,rgba(68,179,198,.25),transparent 55%),linear-gradient(150deg,#071a2b 0%,#0b2a43 55%,#0a4c7a 100%)}
.ab-intro .refer-tag{margin-bottom:24px}
.ab-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.ab-intro .lead{font-size:30px;line-height:1.4;font-weight:700;color:#fff;margin:0}
.ab-intro-grid p{color:#c9dcea;font-size:17.5px;line-height:1.8;margin:0 0 16px}
.ab-intro-grid .lead{color:#fff}
.ab-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;padding-top:40px;border-top:1px solid rgba(255,255,255,.18);text-align:center}
.ab-stats strong{display:block;font-size:48px;line-height:1.1;font-weight:800;color:#fff}
.ab-stats em{font-style:normal;color:#ffb27a}
.ab-stats span{color:#c9dcea;font-weight:500}
.ab-values{padding:88px 0;background:#fff}
.ab-values h2,.ab-commit h2{text-align:center;margin-bottom:48px}
.ab-vgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:1040px;margin:0 auto}
.ab-v{display:grid;grid-template-columns:auto 1fr;column-gap:22px;padding:30px;border-radius:20px;background:#f7fbfe;border:1px solid #dcebf4;transition:transform .2s,box-shadow .2s,border-color .2s}
.ab-v:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(11,42,67,.14);border-color:#f46806}
.ab-badge{grid-row:span 2;display:grid;place-items:center;width:64px;height:64px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#f46806,#ff9a4d);box-shadow:0 8px 18px rgba(244,104,6,.35)}
.ab-v:nth-child(even) .ab-badge{background:linear-gradient(135deg,#0072b8,#44b3c6);box-shadow:0 8px 18px rgba(0,114,184,.3)}
.ab-badge .icon{width:32px;height:32px}
.ab-v h3{margin:0 0 8px;font-size:21px;color:#0b2a43}
.ab-v p{grid-column:2;margin:0;font-size:16px;line-height:1.75}
.ab-commit{padding:88px 0;background:#f1f8fc}
.ab-cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ab-c{padding:34px 28px 30px;border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(11,42,67,.1);border-bottom:5px solid #f46806;text-align:center;transition:transform .2s,box-shadow .2s}
.ab-c:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(11,42,67,.16)}
.ab-cic{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:50%;background:#e6f3fa;color:#0072b8}
.ab-cic .icon{width:32px;height:32px}
.ab-c h3{margin:0 0 10px;font-size:21px;color:#0b2a43}
.ab-c p{margin:0;font-size:16px;line-height:1.75}
.ab-cta{padding:72px 0 88px;background:#fff}
@media (max-width:1000px){.about-page .ab-hero h1{font-size:44px}.ab-intro .lead{font-size:26px}.ab-quote{font-size:28px}}
@media (max-width:900px){
  .ab-hero-grid,.ab-story-grid,.ab-intro-grid{grid-template-columns:1fr;gap:36px}
  .ab-hero-art{order:-1;max-width:420px;margin:0 auto}
  .ab-hero-copy{text-align:center}.about-page .ab-hero h1{text-align:center}.ab-hero-copy p{margin-left:auto;margin-right:auto}.ab-hero-cta{justify-content:center}
  .ab-stats{grid-template-columns:repeat(2,1fr)}
  .ab-vgrid{grid-template-columns:1fr}.ab-cgrid{grid-template-columns:1fr}
}
@media (max-width:640px){.about-page .ab-hero{padding:40px 0 56px}.about-page .ab-hero h1{font-size:34px}.ab-hero-copy p{font-size:17px}.ab-story,.ab-intro,.ab-values,.ab-commit{padding:56px 0}.ab-quote{font-size:24px;padding-left:24px}.ab-intro .lead{font-size:22px}.ab-stats strong{font-size:38px}.ab-v{grid-template-columns:1fr}.ab-badge{grid-row:auto;margin-bottom:14px}.ab-v p{grid-column:1}}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.ab-v,.ab-c,.ab-quote,.ab-story-text,.ab-stats>div{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}}}
@media (prefers-color-scheme:dark){
  .about-page .ab-hero{background:linear-gradient(180deg,#071a2b 0%,#0b2a43 100%)}
  .about-page .ab-hero h1,.ab-quote,.ab-v h3,.ab-c h3{color:#fff}
  .ab-hero-copy p{color:#b7c9d8}
  .ab-hero-copy .refer-tag{background:rgba(244,104,6,.18);color:#ffb27a}
  .ab-link{color:#5cc0ee}
  .ab-story,.ab-values,.ab-cta{background:#071a2b}
  .ab-commit{background:#0b2438}
  .ab-v{background:#10304a;border-color:#27506f}
  .ab-c{background:#10304a;box-shadow:0 8px 22px rgba(0,0,0,.4)}
  .ab-cic{background:#0f3250;color:#5cc0ee}
  .ab-art circle[fill="#e6f3fa"]{fill:#0f3250}
  .ab-art text[fill="#4a5f72"]{fill:#9fbdd1}
  .ab-art text[fill="#0072b8"]{fill:#5cc0ee}
  .ab-art g.coal circle{fill:#6b7a88}
}

/* eight service categories */
.sv-tabs{grid-template-columns:repeat(4,1fr)}
@media (max-width:700px){.sv-tabs{grid-template-columns:repeat(2,1fr)}}

/* ---- Floating WhatsApp button ---- */
.wa-float{position:fixed;right:max(44px,calc(env(safe-area-inset-right) + 30px));bottom:max(84px,calc(env(safe-area-inset-bottom) + 66px));z-index:8;display:flex;align-items:center;gap:0;text-decoration:none;color:#fff}
.wa-ic{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#25d366;box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 0 0 rgba(37,211,102,.5);transition:transform .2s,box-shadow .2s}
.wa-ic svg{width:42px;height:42px}
.wa-label{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;padding:0;border-radius:999px 0 0 999px;background:#0b2a43;font:600 15.5px Poppins,Inter,sans-serif;line-height:52px;margin-right:-38px;padding-right:46px;transition:max-width .25s ease,opacity .2s ease,padding-left .25s ease}
.wa-float:hover .wa-label,.wa-float:focus-visible .wa-label{max-width:190px;opacity:1;padding-left:20px}
.wa-float:hover .wa-ic{transform:scale(1.06)}
.wa-float:focus-visible{outline:none}
.wa-float:focus-visible .wa-ic{box-shadow:0 0 0 4px #fff,0 0 0 8px #0072b8}
@keyframes wapulse{0%{box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 0 0 rgba(37,211,102,.55)}70%,100%{box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 0 18px rgba(37,211,102,0)}}
@media (prefers-reduced-motion:no-preference){.wa-ic{animation:wapulse 2.6s ease-out infinite}.wa-float:hover .wa-ic{animation:none}}
@media (max-width:640px){.wa-float{right:max(24px,calc(env(safe-area-inset-right) + 14px))}.wa-ic{width:66px;height:66px}.wa-ic svg{width:36px;height:36px}.wa-label{display:none}}
.ab-vgrid .ab-v:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 14px);justify-self:center}
@media (max-width:900px){.ab-vgrid .ab-v:last-child:nth-child(odd){width:auto}}

/* ---- Career page hero ---- */
.ca-hero{padding:72px 0 80px;text-align:center;background:linear-gradient(180deg,#fff 0%,#f1f8fc 100%)}
.ca-hero .refer-tag{margin-bottom:20px;background:rgba(244,104,6,.1);color:#c9540a}
.ca-hero h1{font-family:Poppins,Inter,sans-serif;font-size:50px;line-height:1.12;font-weight:800;letter-spacing:-.8px;color:#0b2a43;margin:0 0 28px}
.ca-hero h1::after{content:"";display:block;width:84px;height:5px;border-radius:3px;margin:24px auto 0;background:linear-gradient(90deg,#f46806,#44b3c6)}
.ca-hero p{font-size:18px;line-height:1.85;color:#4a5f72;margin:0 0 20px}
.ca-hero .ca-close{margin-top:28px;margin-bottom:0;font-size:20px;font-weight:600;line-height:1.6;color:#0b2a43}
@media (max-width:640px){.ca-hero{padding:48px 0 56px}.ca-hero h1{font-size:34px}.ca-hero p{font-size:16.5px}.ca-hero .ca-close{font-size:18px}}
@media (prefers-color-scheme:dark){.ca-hero{background:linear-gradient(180deg,#071a2b 0%,#0b2a43 100%)}.ca-hero h1,.ca-hero .ca-close{color:#fff}.ca-hero p{color:#b7c9d8}.ca-hero .refer-tag{background:rgba(244,104,6,.18);color:#ffb27a}}

/* ---- Career fundamentals: seven cards ---- */
.ca-fund .card{padding:28px 26px 26px}
.ca-fund .card h3{font-size:20px;margin-bottom:10px}
.ca-fund .card p{font-size:15.5px;line-height:1.75}
.ca-fund .icon{width:34px;height:34px}
@media (min-width:901px){.ca-fund .card:last-child:nth-child(3n+1){grid-column:2}}
@media (min-width:641px) and (max-width:900px){.ca-fund .card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 16px);justify-self:center}}
@media (prefers-color-scheme:dark){.ca-fund .icon{color:#5cc0ee}}

/* ======== Shared feature cards (About values/commitments, Career fundamentals/why) ======== */
.fx-sec{padding:88px 0;background:#fff}
.fx-sec h2{text-align:center;margin:0 0 14px;padding:0;font-family:Poppins,Inter,sans-serif;font-size:38px;font-weight:800;letter-spacing:-.5px;color:#0b2a43}
.fx-sec h2::after{content:"";display:block;width:72px;height:5px;border-radius:3px;margin:18px auto 0;background:linear-gradient(90deg,#f46806,#44b3c6)}
.fx-sec>.container>p,.fx-sec .container>p.center{max-width:760px;margin:22px auto 0;text-align:center;font-size:17.5px;line-height:1.8;color:#4a5f72}
.fx-tint{background:#f1f8fc}
.fx-dark{background:radial-gradient(90% 140% at 100% 0%,rgba(68,179,198,.25),transparent 55%),linear-gradient(150deg,#071a2b 0%,#0b2a43 55%,#0a4c7a 100%)}
.fx-dark h2{color:#fff}
.fx-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:52px}
.fx{position:relative;overflow:hidden;flex:0 0 calc((100% - 72px)/4);display:flex;flex-direction:column;padding:32px 26px 30px;border-radius:22px;background:#fff;border:1px solid #dcebf4;box-shadow:0 8px 24px rgba(11,42,67,.07);transition:transform .25s,box-shadow .25s,background .25s,border-color .25s,color .25s}
.fx::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#f46806,#ff9a4d)}
.fx:nth-child(3n+2)::before{background:linear-gradient(90deg,#0072b8,#44b3c6)}
.fx:nth-child(3n)::before{background:linear-gradient(90deg,#44b3c6,#f46806)}
.fx-badge{display:grid;place-items:center;width:64px;height:64px;margin-bottom:20px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#f46806,#ff9a4d);box-shadow:0 10px 20px rgba(244,104,6,.32);transition:transform .25s}
.fx:nth-child(even) .fx-badge{background:linear-gradient(135deg,#0072b8,#44b3c6);box-shadow:0 10px 20px rgba(0,114,184,.3)}
.fx-badge svg{width:32px;height:32px;color:#fff}
.fx h3{margin:0 0 12px;font-size:20px;line-height:1.3;font-weight:700;color:#0b2a43;transition:color .25s}
.fx p{margin:0;font-size:15.5px;line-height:1.75;color:#4a5f72;transition:color .25s}
.fx:hover{transform:translateY(-8px);background:linear-gradient(155deg,#0b2a43,#0a4c7a 70%,#0072b8);border-color:transparent;box-shadow:0 22px 44px rgba(11,42,67,.32)}
.fx:hover h3{color:#fff}.fx:hover p{color:#d6e8f3}
.fx:hover .fx-badge{transform:scale(1.08) rotate(-4deg)}
.fx-3 .fx{flex-basis:calc((100% - 48px)/3)}
.fx-dark .fx{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);box-shadow:none;backdrop-filter:blur(2px)}
.fx-dark .fx h3{color:#fff}.fx-dark .fx p{color:#c9dcea}
.fx-dark .fx:hover{background:linear-gradient(155deg,#f46806,#ff8a33);box-shadow:0 22px 44px rgba(0,0,0,.4)}
.fx-dark .fx:hover p{color:#fff}
.fx-dark .fx:hover .fx-badge{background:#fff;color:#f46806;box-shadow:none}.fx-dark .fx:hover .fx-badge svg{color:#f46806}
@media (max-width:1100px){.fx{flex-basis:calc((100% - 48px)/3)}}
@media (max-width:900px){.fx,.fx-3 .fx{flex-basis:calc((100% - 24px)/2)}.fx-sec{padding:64px 0}.fx-sec h2{font-size:32px}}
@media (max-width:640px){.fx,.fx-3 .fx{flex-basis:100%}.fx-sec{padding:52px 0}.fx-sec h2{font-size:28px}.fx-grid{margin-top:36px;gap:18px}.fx:hover{transform:none}}
@media (prefers-reduced-motion:reduce){.fx,.fx-badge{transition:none}.fx:hover{transform:none}}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.fx{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}}}
@media (prefers-color-scheme:dark){
  .fx-sec{background:#071a2b}.fx-tint{background:#0b2438}.fx-sec h2{color:#fff}
  .fx-sec>.container>p,.fx-sec .container>p.center{color:#b7c9d8}
  .fx{background:#10304a;border-color:#27506f;box-shadow:0 8px 24px rgba(0,0,0,.35)}
  .fx h3{color:#fff}.fx p{color:#b7c9d8}
  .fx-dark{background:radial-gradient(90% 140% at 100% 0%,rgba(68,179,198,.2),transparent 55%),linear-gradient(150deg,#05121e 0%,#0a2236 55%,#0a3a5c 100%)}
  .fx-dark .fx{background:rgba(255,255,255,.06)}
  .fx:hover{background:linear-gradient(155deg,#0a4c7a,#0072b8)}
}

.fx-sec h2::after{position:static;left:auto;bottom:auto;margin:18px auto 0}

/* ---- Testimonials: one row, endless arrows, highlighted centre card ---- */
.tm-sec[hidden]{display:none}
.tm-sec .container{text-align:center}
.tm-label{margin-bottom:16px;background:rgba(244,104,6,.1);color:#c9540a}
.tm-sub{margin:20px auto 0 !important;max-width:560px;font-size:18px;line-height:1.7}
.tm-wrap{position:relative;margin-top:36px;text-align:left}
.tm-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding:46px 8px 44px;scrollbar-width:none;outline:none}
.tm-track::-webkit-scrollbar{display:none}
.tm-track:focus-visible{box-shadow:0 0 0 3px #44b3c6;border-radius:16px}
.tm-set{display:contents}
.tm-card{position:relative;flex:0 0 calc((100% - 56px)/3);scroll-snap-align:center;margin:0;padding:50px 30px 28px;border-radius:24px;display:flex;flex-direction:column;gap:18px;background:#fff;border:1px solid #dcebf4;box-shadow:0 10px 26px rgba(11,42,67,.08);transform:scale(.96);transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s,box-shadow .3s,background .3s,border-color .3s}
.tm-badge{position:absolute;left:30px;top:-28px;display:grid;place-items:center;width:58px;height:58px;padding-top:15px;border-radius:50%;background:#fff;color:#f46806;font:700 56px/1 Georgia,serif;border:3px solid #f46806;box-shadow:0 10px 22px rgba(244,104,6,.35);box-sizing:border-box}
.tm-stars{display:flex;gap:3px}
.tm-stars span svg{width:20px;height:20px;fill:#d7e3ec}
.tm-stars span.on svg{fill:#f5a623}
.tm-card blockquote{margin:0;flex:1}
.tm-card blockquote p{margin:0;font-size:17px;line-height:1.8;color:#2a4256;transition:color .3s}
.tm-tag{align-self:flex-start;padding:5px 13px;border-radius:999px;background:#e6f3fa;color:#0072b8;font-size:13px;font-weight:600;transition:background .3s,color .3s}
.tm-card figcaption{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid #e3eef5;transition:border-color .3s}
.tm-av{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#f46806,#ff9a4d);color:#fff;font-weight:700;font-size:17px;box-shadow:0 0 0 4px rgba(244,104,6,.15)}
.tm-c1 .tm-av{background:linear-gradient(135deg,#0072b8,#44b3c6);box-shadow:0 0 0 4px rgba(0,114,184,.15)}
.tm-card figcaption strong{display:block;color:#0b2a43;font-size:17px;transition:color .3s}
.tm-card figcaption em{display:block;font-style:normal;font-size:14px;color:#4a5f72;transition:color .3s}
.tm-card.is-active{transform:scale(1.03);color:#fff;background:linear-gradient(155deg,#0b2a43 0%,#0a4c7a 65%,#0072b8 100%);border-color:transparent;box-shadow:0 26px 52px rgba(11,42,67,.38)}
.tm-card.is-active blockquote p{color:#f1f7fb}
.tm-card.is-active strong{color:#fff}.tm-card.is-active figcaption em{color:#bcd3e3}
.tm-card.is-active figcaption{border-color:rgba(255,255,255,.22)}
.tm-card.is-active .tm-tag{background:rgba(244,104,6,.22);color:#ffc89f}
.tm-card.is-active .tm-stars span svg{fill:rgba(255,255,255,.3)}.tm-card.is-active .tm-stars span.on svg{fill:#ffb74d}
.tm-nav{position:absolute;top:50%;z-index:3;width:54px;height:54px;margin-top:-27px;border-radius:50%;border:0;background:#f46806;color:#fff;box-shadow:0 10px 24px rgba(244,104,6,.45);cursor:pointer;display:grid;place-items:center;transition:background .15s,transform .15s}
.tm-nav svg{width:24px;height:24px}
.tm-nav:hover{background:#0b2a43;transform:scale(1.1)}
.tm-nav:focus-visible{outline:3px solid #44b3c6;outline-offset:3px}
.tm-prev{left:-27px}.tm-next{right:-27px}
@media (max-width:1100px){.tm-card{flex-basis:calc((100% - 28px)/2)}.tm-prev{left:-14px}.tm-next{right:-14px}}
@media (max-width:700px){.tm-card{flex-basis:84%;padding:46px 24px 24px}.tm-card blockquote p{font-size:16px}.tm-prev{left:-8px}.tm-next{right:-8px}.tm-nav{width:46px;height:46px;margin-top:-23px}.tm-sub{font-size:16.5px}}
@media (prefers-reduced-motion:reduce){.tm-card{transition:none}}
@media (prefers-color-scheme:dark){
  .tm-label{background:rgba(244,104,6,.18);color:#ffb27a}
  .tm-card{background:#10304a;border-color:#27506f;box-shadow:0 10px 26px rgba(0,0,0,.35)}
  .tm-badge{color:#f46806;background:#fff}
  .tm-card blockquote p{color:#d3e2ee}.tm-card figcaption{border-color:#27506f}.tm-card figcaption strong{color:#fff}.tm-card figcaption em{color:#9fbdd1}
  .tm-tag{background:#0f3250;color:#7fd0f5}.tm-stars span svg{fill:#33546d}
  .tm-card.is-active{background:linear-gradient(155deg,#0a4c7a 0%,#0072b8 100%);box-shadow:0 26px 52px rgba(0,0,0,.55)}
  .tm-nav:hover{background:#fff;color:#0b2a43}
}

/* ---- Contact: modern "Get in Touch" card ---- */
.info-card{font-family:Poppins,Inter,ui-sans-serif,system-ui,sans-serif;padding:38px 34px;border:0;border-bottom:5px solid #f46806;border-radius:24px;color:#fff;background:radial-gradient(90% 70% at 100% 0%,rgba(68,179,198,.28),transparent 60%),linear-gradient(155deg,#0b2a43 0%,#0a4c7a 70%,#0072b8 100%);box-shadow:0 24px 50px rgba(11,42,67,.3)}
.info-card h2{margin:0 0 30px;padding:0;color:#fff;font-size:28px;font-weight:700;letter-spacing:-.3px;text-align:left}
.info-card h2::after{content:"";display:block;width:52px;height:4px;border-radius:2px;margin-top:14px;background:linear-gradient(90deg,#f46806,#44b3c6)}
.info-row{align-items:center;gap:18px;margin-bottom:26px}
.info-row .icon{box-sizing:content-box;flex:none;width:24px;height:24px;padding:12px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#f46806,#ff9a4d);box-shadow:0 8px 18px rgba(244,104,6,.35)}
.info-row:nth-of-type(2) .icon{background:linear-gradient(135deg,#0072b8,#44b3c6);box-shadow:0 8px 18px rgba(0,114,184,.4)}
.info-card h3,.info-card .hours{margin:0 0 4px;color:#ffb27a;font-size:12.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase}
.info-card p{margin:0;color:#fff;font-size:17px;font-weight:500;line-height:1.55}
.info-card a{color:#fff;text-decoration:none;transition:color .15s}
.info-card a:hover{color:#ffb27a}
.info-card .hours{margin-top:6px !important;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}
.info-card .hours + p{color:#dbe9f3;font-weight:500;line-height:1.8}
@media (max-width:640px){.info-card{padding:30px 24px}.info-card h2{font-size:25px}.info-row{gap:14px}.info-card p{font-size:16px}}
@media (prefers-color-scheme:dark){.info-card{background:radial-gradient(90% 70% at 100% 0%,rgba(68,179,198,.2),transparent 60%),linear-gradient(155deg,#071a2b 0%,#0a3556 70%,#0a5a96 100%);box-shadow:0 24px 50px rgba(0,0,0,.5);border-top:1px solid rgba(255,255,255,.1)}}

/* ---- Contact page: modern type throughout ---- */
.contact-page{font-family:Poppins,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.contact-page h1{margin:0 0 8px;font-size:46px;line-height:1.15;font-weight:800;letter-spacing:-.8px;color:#0b2a43;text-align:center}
.contact-page h1::after{content:"";display:block;width:80px;height:5px;border-radius:3px;margin:20px auto 0;background:linear-gradient(90deg,#f46806,#44b3c6)}
.contact-page .card-title{font-size:26px;font-weight:700;letter-spacing:-.3px;color:#0b2a43}
.contact-page .form-intro{font-size:15.5px;line-height:1.7}
@media (max-width:640px){.contact-page h1{font-size:34px}.contact-page .card-title{font-size:23px}}
@media (prefers-color-scheme:dark){.contact-page h1,.contact-page .card-title{color:#fff}}

/* ===== Home video hero ===== */
.hero-v{position:relative;min-height:calc(100vh - 88px);min-height:calc(100svh - 88px);display:flex;align-items:center;overflow:hidden;background:#071a2b;color:#fff}
.hero-v-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-v-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,43,.8) 0%,rgba(7,26,43,.5) 38%,rgba(7,26,43,0) 60%,rgba(7,26,43,0) 100%)}
.hero-v-inner h1,.hero-v-inner p{text-shadow:0 2px 14px rgba(7,26,43,.7)}
.hero-v-inner{width:100%;text-align:left;position:relative;top:-56px;z-index:1;padding-top:72px;padding-bottom:72px;animation:hvIn .9s ease both}
.hero-v-inner h1{text-align:inherit;color:#fff;max-width:none;margin:0 0 18px;font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.12;white-space:nowrap}
.hero-v-inner h1 .accent{color:#5cc0ee}
.hero-v-inner p{text-align:inherit;color:rgba(255,255,255,.88);max-width:560px;margin:0 0 28px;line-height:1.65}
.hero-v-cta{display:flex;flex-wrap:wrap;gap:14px}
.hv-btn{display:inline-block;padding:14px 28px;border-radius:999px;background:#f46806;color:#fff;font-weight:700;text-decoration:none;border:2px solid #f46806;transition:transform .2s,background .2s}
.hv-btn:hover{transform:translateY(-2px);background:#ff7b1f}
.hv-ghost{background:transparent;border-color:rgba(255,255,255,.7)}
.hv-ghost:hover{background:rgba(255,255,255,.14)}
#services{scroll-margin-top:90px}
@keyframes hvIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:760px){
  .hero-v{text-align:center}
  .hero-v-inner h1{white-space:normal;font-size:clamp(1.9rem,8vw,2.4rem)}
  .hero-v-video{object-position:72% center}
  .hero-v-shade{background:linear-gradient(180deg,rgba(7,26,43,.86),rgba(7,26,43,.72))}
  .hero-v-inner{text-align:center}
  .hero-v-inner h1,.hero-v-inner p{margin-left:auto;margin-right:auto}
  .hero-v-cta{justify-content:center}
}
@media(prefers-reduced-motion:reduce){.hero-v-inner{animation:none}}

/* ===== Service tiles with doodle illustrations ===== */
.svc-face{align-items:center;text-align:center;gap:14px;padding:22px 20px 24px}
.svc-art{width:100%;max-width:230px;height:auto;display:block;transition:transform .3s}
.svc:hover .svc-art,.svc.active .svc-art{transform:scale(1.04)}
.svc-face h3{font-size:20px}
@media(prefers-reduced-motion:reduce){.svc-art{transition:none}}
.svc-face h3{min-height:2.6em;display:flex;align-items:center;justify-content:center}
@media(max-width:760px){.svc-face h3{min-height:0}}

/* ===== Home: full-screen intro video that plays once, then the story appears ===== */
.intro-hero{position:relative;min-height:calc(100vh - 88px);min-height:calc(100svh - 88px);display:flex;align-items:center;padding:0;overflow:hidden;background:#000}
.intro-hero .intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;transition:filter .9s ease,opacity .9s ease,transform 1.6s ease}
.intro-shade{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .9s ease;background:radial-gradient(90% 140% at 100% 0%,rgba(68,179,198,.28),transparent 55%),linear-gradient(150deg,rgba(7,26,43,.9) 0%,rgba(11,42,67,.88) 55%,rgba(10,76,122,.85) 100%)}
.intro-hero.is-done .intro-shade{opacity:1}
.intro-hero.is-done .intro-video{filter:blur(6px) saturate(.8);transform:scale(1.06)}
.intro-hero .intro-wrap{position:relative;z-index:1;padding-top:64px;padding-bottom:64px}
.intro-hero.is-armed:not(.is-done) .intro-wrap{visibility:hidden}
.intro-doodle{background:#f5fbfe;border-radius:28px;padding:18px;border-bottom:5px solid #f46806;box-shadow:0 30px 70px rgba(0,0,0,.45);max-width:560px;width:100%;justify-self:end}
.intro-doodle .dd{display:block;width:100%;height:auto}
.intro-hero.is-armed .intro-doodle{opacity:0;transform:translateY(36px) scale(.96);transition:opacity .8s ease .9s,transform .9s cubic-bezier(.2,.8,.2,1) .9s}
.intro-hero.is-done .intro-doodle{opacity:1;transform:none}
/* typed headline + rising copy */
.intro-hero.is-armed .intro-copy h2{min-height:2.4em}
.intro-hero.is-armed .intro-copy h2.typing::after{content:"";display:inline-block;width:3px;height:.95em;margin-left:4px;vertical-align:-.1em;background:#f46806;animation:caret .8s steps(1) infinite}
.intro-hero.is-armed .refer-tag,.intro-hero.is-armed .intro-copy p,.intro-hero.is-armed .intro-btn{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.intro-hero.is-done .refer-tag{opacity:1;transform:none}
.intro-hero.is-typed .intro-copy p{opacity:1;transform:none}
.intro-hero.is-typed .intro-btn{opacity:1;transform:none;transition-delay:.25s}
@keyframes caret{50%{opacity:0}}
/* doodle comes alive once the story is on screen */
.intro-doodle .dd4 *{transform-box:view-box}
.dd4-draw{stroke-dasharray:400}
.intro-hero.is-armed .dd4-draw{stroke-dashoffset:400}
.intro-hero.is-armed .dd4-dash,.intro-hero.is-armed .dd4-trav,.intro-hero.is-armed .dd4-ms,.intro-hero.is-armed .dd4-goal{opacity:0}
.intro-hero.is-done .dd4-draw{animation:ddDraw 1.1s ease-in-out .8s both}
.intro-hero.is-done .dd4-dash{animation:ddFadeIn .5s ease 1.7s both}
.intro-hero.is-done .dd4-trav{animation:ddFadeIn .2s ease 1.9s both,ddTrav 4.5s linear 1.9s infinite}
.intro-hero.is-done .dd4-ms{animation:ddPop .6s cubic-bezier(.3,1.6,.5,1) both}
.intro-hero.is-done .dd4-m1{animation-delay:2.6s}.intro-hero.is-done .dd4-m2{animation-delay:3.9s}.intro-hero.is-done .dd4-m3{animation-delay:5.1s}.intro-hero.is-done .dd4-m4{animation-delay:6.2s}
.intro-hero.is-done .dd4-bd{animation:ddBob 3s ease-in-out 7s infinite alternate}
.intro-hero.is-done .dd4-goal{animation:ddGoal .7s cubic-bezier(.3,1.5,.5,1) 6.5s both}
.dd4-spark{opacity:0}
.intro-hero.is-done .dd4-spark{animation:ddTwinkle 2.2s ease-in-out 6.6s infinite both}
.intro-hero.is-done .dd4-p2{animation-delay:7s}.intro-hero.is-done .dd4-p3{animation-delay:7.4s}.intro-hero.is-done .dd4-p4{animation-delay:7.8s}
@keyframes ddDraw{from{stroke-dashoffset:400}to{stroke-dashoffset:0}}
@keyframes ddFadeIn{from{opacity:0}to{opacity:1}}
@keyframes ddTrav{from{stroke-dashoffset:0}to{stroke-dashoffset:-400}}
@keyframes ddPop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes ddBob{from{transform:translateY(-2px)}to{transform:translateY(3px)}}
@keyframes ddGoal{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}
@keyframes ddTwinkle{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}
@media (max-width:900px){
  .intro-hero{min-height:calc(100svh - 70px)}
  .intro-hero .intro-video{object-fit:contain}
  .intro-hero .intro-wrap{padding-top:32px;padding-bottom:32px;gap:24px}
  .intro-doodle{justify-self:center;max-width:320px;padding:12px}
}
@media (prefers-reduced-motion:reduce){
  .intro-hero *,.intro-hero.is-armed *{animation:none!important;transition:none!important}
  .intro-hero.is-armed .dd4-dash,.intro-hero.is-armed .dd4-ms,.intro-hero.is-armed .dd4-goal{opacity:1}
  .intro-hero.is-armed .dd4-draw{stroke-dashoffset:0}
}

/* intro video now has the same blue as the story screen */
.intro-hero{background:#0a2740}
.intro-hero .intro-video{background:#0a2740}

/* ===== 3D depth for every tile / card across the site ===== */
:root{
  --lift-1:0 1px 0 rgba(255,255,255,.95) inset,0 -3px 0 rgba(11,42,67,.05) inset,0 2px 3px rgba(11,42,67,.10),0 8px 14px rgba(11,42,67,.10),0 20px 34px -6px rgba(11,42,67,.20),0 38px 60px -20px rgba(11,42,67,.28);
  --lift-2:0 1px 0 rgba(255,255,255,.95) inset,0 -3px 0 rgba(11,42,67,.05) inset,0 4px 6px rgba(11,42,67,.12),0 16px 26px rgba(11,42,67,.16),0 34px 54px -8px rgba(11,42,67,.28),0 58px 84px -24px rgba(11,42,67,.36);
}
.svc-face,.how-card,.rule,.ab-c,.ab-v,.fx,.tm-card,.card,.home .card,.sv-tab,.home .band-gray .logo{
  box-shadow:var(--lift-1);
}
.svc-face,.how-card,.rule,.ab-c,.ab-v,.fx,.card,.home .card,.sv-tab{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,background .25s,border-color .25s,color .25s}
.svc:hover .svc-face,.how-card:hover,.rule:hover,.ab-c:hover,.ab-v:hover,.card:hover,.home .card:hover,.sv-tab:hover{
  transform:translateY(-8px);box-shadow:var(--lift-2);
}
.fx:hover{box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 6px 10px rgba(11,42,67,.2),0 24px 40px rgba(11,42,67,.28),0 52px 78px -18px rgba(11,42,67,.5)}
.svc.active .svc-face{box-shadow:0 0 0 3px #f46806,var(--lift-2)}
.svc:focus-visible .svc-face{box-shadow:0 0 0 3px #44b3c6,var(--lift-2)}
.tm-card.is-active{box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 10px 18px rgba(11,42,67,.3),0 32px 52px -6px rgba(11,42,67,.45),0 60px 90px -26px rgba(11,42,67,.55)}
.info-card,.refer-card,.sv-stage,.intro-doodle{box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 8px 14px rgba(0,0,0,.25),0 28px 50px -8px rgba(11,42,67,.45),0 56px 90px -26px rgba(11,42,67,.5)}
.svc-panel{box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 12px 22px rgba(0,0,0,.3),0 40px 80px -10px rgba(11,42,67,.55),0 70px 110px -30px rgba(11,42,67,.5)}
@media (prefers-color-scheme:dark){
  :root{
    --lift-1:0 1px 0 rgba(255,255,255,.07) inset,0 -3px 0 rgba(0,0,0,.25) inset,0 2px 3px rgba(0,0,0,.4),0 10px 18px rgba(0,0,0,.4),0 24px 40px -6px rgba(0,0,0,.5),0 44px 70px -20px rgba(0,0,0,.6);
    --lift-2:0 1px 0 rgba(255,255,255,.1) inset,0 -3px 0 rgba(0,0,0,.25) inset,0 4px 6px rgba(0,0,0,.45),0 18px 30px rgba(0,0,0,.5),0 38px 60px -8px rgba(0,0,0,.6),0 64px 90px -24px rgba(0,0,0,.7);
  }
  .fx:hover{box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 6px 10px rgba(0,0,0,.4),0 26px 44px rgba(0,0,0,.5),0 54px 80px -18px rgba(0,0,0,.65)}
}
.fx-dark .fx{box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 -3px 0 rgba(0,0,0,.18) inset,0 4px 8px rgba(0,0,0,.28),0 18px 32px -4px rgba(0,0,0,.4),0 36px 60px -18px rgba(0,0,0,.5)}
.fx-dark .fx:hover{box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 8px 14px rgba(0,0,0,.3),0 30px 50px rgba(0,0,0,.45),0 56px 84px -18px rgba(0,0,0,.55)}
@media (prefers-reduced-motion:reduce){
  .svc:hover .svc-face,.how-card:hover,.rule:hover,.ab-c:hover,.ab-v:hover,.card:hover,.home .card:hover,.sv-tab:hover{transform:none}
}

/* ===== Refer page: "Why choose" split section with video ===== */
.why-band{padding:110px 0;background:linear-gradient(180deg,#ffffff 0%,#eef6fb 100%)}
.why-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;align-items:center}
.why-media{position:relative}
.why-video{display:block;width:100%;height:auto;aspect-ratio:4/3;mix-blend-mode:multiply;background:transparent}
.refer-page .why-copy h2{position:static;margin:0 0 34px;padding:0;text-align:left;font-size:42px;line-height:1.2;color:#0b2a43}
.refer-page .why-copy h2::after{content:"";display:block;position:static;left:auto;bottom:auto;width:72px;height:4px;border-radius:2px;margin:20px 0 0;background:#f46806}
.refer-page .why-copy p{margin:0;font-size:20px;line-height:1.9;color:#4a5f72;text-align:left}
@media (max-width:900px){
  .why-band{padding:64px 0}
  .why-grid{grid-template-columns:1fr;gap:28px}
  .refer-page .why-copy h2{font-size:32px;margin-bottom:24px}
  .refer-page .why-copy p{font-size:17px;line-height:1.8}
}
@media (prefers-color-scheme:dark){
  .why-band{background:linear-gradient(180deg,#0b2a43,#0a2236)}
  .why-video{mix-blend-mode:normal;background:#fff;border-radius:28px}
  .refer-page .why-copy h2{color:#fff}
  .refer-page .why-copy p{color:#b7c9d8}
}

/* ===== Livelier tiles: scroll-in, tilt, idle motion ===== */
.lv:not(.in){opacity:0}
.lv.in{animation:tileIn .75s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0s)}
@keyframes tileIn{from{opacity:0;translate:0 44px;scale:.96}to{opacity:1;translate:0 0;scale:1}}
/* tilt follows the pointer (set from main.js) */
.svc:hover .svc-face,.how-card:hover,.rule:hover,.ab-c:hover,.ab-v:hover,.card:hover,.home .card:hover,.fx:hover{
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-8px);
}
.fx:hover{transition:transform .12s ease-out,box-shadow .25s ease,background .25s,border-color .25s,color .25s}
.svc:hover .svc-face,.how-card:hover,.rule:hover,.ab-c:hover,.ab-v:hover,.card:hover{transition:transform .12s ease-out,box-shadow .25s ease,background .25s,border-color .25s,color .25s}
/* service tiles: floating doodles, orange title on hover */
.svc-art{animation:artFloat 4.6s ease-in-out infinite alternate}
.svc:nth-child(2n) .svc-art{animation-duration:5.4s;animation-delay:-1.2s}
.svc:nth-child(3n) .svc-art{animation-duration:5s;animation-delay:-2.4s}
.svc:hover .svc-art,.svc.active .svc-art{transform:scale(1.07) rotate(-1.5deg);animation-play-state:paused}
.svc-face h3{transition:color .2s}
.svc:hover .svc-face h3{color:#f46806}
@keyframes artFloat{from{translate:0 -3px}to{translate:0 4px}}
/* badges & number chips breathe */
.fx-badge,.ab-badge{animation:badgeBob 3.4s ease-in-out infinite alternate}
.fx:nth-child(2n) .fx-badge,.ab-v:nth-child(2n) .ab-badge,.ab-c:nth-child(2n) .ab-badge{animation-delay:-1.4s}
@keyframes badgeBob{from{translate:0 -2px}to{translate:0 3px}}
.how-card b{animation:chipPing 2.6s ease-out infinite}
.how-card:nth-child(2) b{animation-delay:-.9s}.how-card:nth-child(3) b{animation-delay:-1.8s}
@keyframes chipPing{0%{box-shadow:0 0 0 0 rgba(244,104,6,.45)}70%,100%{box-shadow:0 0 0 14px rgba(244,104,6,0)}}
.how-art svg{transition:transform .3s}
.how-card:hover .how-art svg{transform:scale(1.08) rotate(-2deg)}
.rule h3 b{transition:transform .3s}.rule:hover h3 b{transform:rotate(360deg) scale(1.1)}
.home .band-gray .logo{transition:transform .25s,box-shadow .25s}
.home .band-gray .logo:hover{transform:translateY(-6px) scale(1.04);box-shadow:var(--lift-2)}
@media (prefers-reduced-motion:reduce){
  .lv:not(.in){opacity:1}.lv.in{animation:none}
  .svc-art,.fx-badge,.ab-badge,.how-card b{animation:none}
  .svc:hover .svc-face,.how-card:hover,.rule:hover,.ab-c:hover,.ab-v:hover,.card:hover,.home .card:hover,.fx:hover{transform:none}
}

/* ===== Next-page button (right edge, vertically centred) + page-turn transition ===== */
.next-pg{position:fixed;right:max(14px,env(safe-area-inset-right));top:50%;translate:0 -50%;z-index:9;display:flex;align-items:center;flex-direction:row;gap:0;height:58px;padding:0;border-radius:999px;background:#f46806;color:#fff;text-decoration:none;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 6px 12px rgba(244,104,6,.35),0 16px 30px -4px rgba(11,42,67,.35);transition:transform .25s cubic-bezier(.2,.8,.2,1),background .2s,box-shadow .25s}
.next-pg svg{flex:none;width:58px;height:58px;padding:16px;box-sizing:border-box}
.next-pg-label{max-width:0;overflow:hidden;white-space:nowrap;font-weight:700;font-size:15px;opacity:0;transition:max-width .3s ease,opacity .2s ease,padding .3s ease}
.next-pg:hover,.next-pg:focus-visible{background:#ff7b1f;transform:translateX(-4px)}
.next-pg:hover .next-pg-label,.next-pg:focus-visible .next-pg-label{max-width:160px;opacity:1;padding-left:22px}
.next-pg:focus-visible{outline:3px solid #44b3c6;outline-offset:3px}
.next-pg svg{animation:nudge 1.8s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
@media (max-width:640px){.next-pg{height:46px;right:8px}.next-pg svg{width:46px;height:46px;padding:12px}.next-pg-label{display:none}}
@media (prefers-reduced-motion:reduce){.next-pg svg{animation:none}}
@media print{.next-pg{display:none}}
/* ===== Book-style page flip: a two-page spread whose right page turns over the spine (see main.js) ===== */
.bk{position:fixed;top:0;left:0;z-index:99999;overflow:hidden;perspective:2400px;perspective-origin:50% 50%;pointer-events:auto}
.bk-half{position:absolute;top:0;overflow:hidden;transform:translateZ(0)}
.bk-half.stay{background:inherit}
.bk-pg{position:absolute;top:0;overflow:hidden;pointer-events:none}
.bk-pg.bk-L .next-pg,.bk-pg.bk-L .wa-float{display:none}
.bk-pg *{animation:none!important;transition:none!important}
.bk-leaf{position:absolute;top:0;transform-style:preserve-3d}
.bk>.bk-leaf{will-change:transform}
.bk-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.bk-shade{position:absolute;inset:0;pointer-events:none;opacity:0}
.bk-leaf .next-pg,.bk-leaf .wa-float{display:none}

/* phones: copy on top, the animation underneath (nothing overlaps) */
@media (max-width:760px){
  .hero-v{flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;text-align:center}
  .hero-v-inner{order:1;padding-top:40px;padding-bottom:12px;top:0}
  .hero-v-video{position:static;order:2;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:100% 50%}
  .hero-v-shade{display:none}
  .hero-v-inner h1{white-space:normal}
}
.bk-pg .lv,.bk-pg [class*="reveal"]{opacity:1!important;translate:none!important;scale:none!important}
.bk-pg *{animation-play-state:paused!important}

/* ===== Staff Login button (header, all pages) ===== */
.staff-login{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;background:#0b2a43;color:#fff;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap;border:2px solid #0b2a43;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 6px 12px -4px rgba(11,42,67,.45);transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.staff-login svg{width:18px;height:18px;flex:none}
.staff-login:hover{background:#f46806;border-color:#f46806;color:#fff;transform:translateY(-2px);box-shadow:0 10px 18px -6px rgba(244,104,6,.55)}
.staff-login:focus-visible{outline:3px solid #44b3c6;outline-offset:3px}
.header-right .staff-login{margin-left:4px}
.nav-login{display:none}
@media (max-width:1360px){
  .nav-links a.nav-login{display:flex;justify-content:center;width:100%;box-sizing:border-box;margin:14px 0 4px;padding:0 18px;border-bottom:2px solid #0b2a43;color:#fff}
  .nav-links a.nav-login:hover{border-bottom-color:#f46806;color:#fff}
}
@media (min-width:1361px) and (max-width:1560px){
  .site-header .nav{grid-template-columns:auto 1fr auto;padding:0 16px}
  .site-header .brand img{height:54px}
  .site-header .nav-links{gap:18px}
  .header-contact .header-mail{font-size:13px}
  .site-header .nav-links a{font-size:15px}
  .header-right{gap:12px}
  .header-right .social{padding-left:12px;gap:0}
  .staff-login{padding:0 14px;font-size:14px;height:38px;gap:6px}
  .staff-login svg{width:16px;height:16px}
}
@media (prefers-color-scheme:dark){
  .staff-login{background:transparent;border-color:#f46806;color:#fff;box-shadow:none}
  .staff-login:hover{background:#f46806}
  @media (max-width:1360px){.nav-links a.nav-login{border-bottom-color:#f46806}}
}
@media (prefers-reduced-motion:reduce){.staff-login{transition:none}.staff-login:hover{transform:none}}
@media print{.staff-login{display:none}}
