/* ============================================================
   ThinkPrime - Smarter Global Logistics
   Shared stylesheet
============================================================ */
:root{
  --navy:#1B1248;--navy-deep:#120C2E;--navy-ink:#0C0820;
  --orange:#D95A0A;--orange-soft:#EE7A2E;
  --light:#F5F7FA;--white:#FFFFFF;--mist:#EAECF5;
  --line:rgba(27,18,72,.10);--line-d:rgba(255,255,255,.12);
  --ink-60:rgba(27,18,72,.62);--ink-45:rgba(27,18,72,.45);
  --w-70:rgba(255,255,255,.72);--w-55:rgba(255,255,255,.55);
  --display:'Sora',system-ui,sans-serif;--body:'Inter',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
  --maxw:1240px;--r:18px;--ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:140px}
body{font-family:var(--body);background:var(--navy-deep);color:var(--navy);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5{font-family:var(--display);line-height:1.05;letter-spacing:-.02em;font-weight:700}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.center{text-align:center;margin-left:auto;margin-right:auto}

/* gradient mesh */
.mesh{position:absolute;inset:0;overflow:hidden;z-index:0;background:
  radial-gradient(120% 90% at 12% 18%,#6E2BB0 0%,rgba(110,43,176,0) 46%),
  radial-gradient(95% 80% at 88% 30%,#1C5FC8 0%,rgba(28,95,200,0) 52%),
  radial-gradient(120% 120% at 18% 92%,#C0397E 0%,rgba(192,57,126,0) 44%),
  radial-gradient(120% 120% at 92% 96%,#2E86D6 0%,rgba(46,134,214,0) 50%),
  linear-gradient(160deg,#241A6B 0%,#170F3E 60%,#120C2E 100%)}
.mesh::before{content:"";position:absolute;inset:-30%;background:
  radial-gradient(40% 36% at 30% 40%,rgba(170,70,220,.55),transparent 70%),
  radial-gradient(36% 32% at 70% 60%,rgba(40,120,230,.45),transparent 70%);
  filter:blur(20px);animation:drift 26s var(--ease) infinite alternate}
@keyframes drift{from{transform:translate3d(-3%,-2%,0) rotate(0) scale(1.05)}to{transform:translate3d(4%,3%,0) rotate(6deg) scale(1.18)}}
.grain{position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- top bar ---------- */
.topbar{background:var(--navy-ink);color:var(--w-70);font-size:12.5px;border-bottom:1px solid rgba(255,255,255,.06)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;gap:16px}
.topbar a{color:var(--w-70)}.topbar a:hover{color:#fff}
.topbar .tb-l{display:flex;gap:22px;flex-wrap:wrap}
.topbar .tb-l span{display:inline-flex;gap:7px;align-items:center}
.topbar .tb-l b{color:#fff;font-weight:600}
.topbar .tb-r{display:flex;gap:12px;align-items:center;white-space:nowrap}
.topbar .tb-r .dot{opacity:.4}
.topbar .socs{display:flex;gap:12px}
.topbar .socs a svg{width:15px;height:15px;fill:currentColor;display:block}
@media(max-width:880px){.topbar .tb-l span:not(:first-child){display:none}}

/* ---------- nav ---------- */
header{position:sticky;top:0;z-index:60}
.nav{background:rgba(18,12,46,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-d);transition:.3s}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand svg{height:36px;width:auto;display:block}
.menu{display:flex;align-items:center;gap:4px;list-style:none}
.menu>li{position:relative}
.menu>li>a{display:flex;align-items:center;gap:6px;color:var(--w-70);font-size:14.5px;font-weight:500;padding:10px 14px;border-radius:10px;transition:.2s}
.menu>li>a:hover{color:#fff;background:rgba(255,255,255,.06)}
.menu>li>a .caret{width:9px;height:9px;opacity:.6;transition:.3s}
.menu>li:hover>a .caret{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:260px;background:#171041;border:1px solid var(--line-d);border-radius:14px;padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s var(--ease);box-shadow:0 30px 60px rgba(0,0,0,.45)}
.dropdown.wide{display:grid;grid-template-columns:1fr 1fr;min-width:460px;gap:2px}
.menu>li:hover .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown .grp{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-soft);padding:10px 12px 4px;grid-column:1/-1}
.dropdown a{display:block;color:var(--w-70);font-size:13.5px;padding:9px 12px;border-radius:9px;transition:.18s}
.dropdown a:hover{background:rgba(255,255,255,.07);color:#fff;padding-left:16px}
.nav-cta{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:var(--orange);color:#fff;padding:11px 18px;border-radius:100px;font-weight:600;font-size:14px;transition:.3s var(--ease)}
.nav-cta svg{width:16px;height:16px;flex:none}
.nav-cta:hover{background:var(--orange-soft);transform:translateY(-1px);box-shadow:0 10px 26px rgba(217,90,10,.4)}
.nav-right{display:flex;align-items:center;gap:14px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:#fff;transition:.3s}

/* mobile drawer */
.scrim{position:fixed;inset:0;background:rgba(8,6,20,.6);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.3s;z-index:70}
.scrim.on{opacity:1;visibility:visible}
.mnav{position:fixed;top:0;right:0;height:100%;width:min(360px,86vw);background:#140d36;border-left:1px solid var(--line-d);z-index:80;transform:translateX(100%);transition:.4s var(--ease);overflow-y:auto;padding:22px}
.mnav.on{transform:none}
.mnav__close{position:absolute;top:16px;right:18px;background:none;border:0;color:#fff;font-size:30px;cursor:pointer;line-height:1}
.mnav .brand{margin-bottom:20px}
.mnav a{display:block;color:var(--w-70);font-size:16px;font-weight:500;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.mnav a:hover{color:#fff}
.mnav .grp{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-soft);margin-top:16px;padding-bottom:4px}
.mnav .sub a{font-size:14px;padding:9px 0 9px 14px;color:var(--w-55)}
.mnav .btn{margin-top:18px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:100px;font-weight:600;font-size:15px;font-family:var(--body);transition:.3s var(--ease);cursor:pointer;border:0}
.btn svg{width:16px;height:16px}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-soft);transform:translateY(-2px);box-shadow:0 14px 34px rgba(217,90,10,.45)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.22)}
.btn-ghost:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:#2a1d6b;transform:translateY(-2px)}
.btn-block{width:100%;justify-content:center}

/* ---------- sections ---------- */
section{position:relative}
.s-light{background:var(--light);color:var(--navy);padding:104px 0}
.s-white{background:#fff;color:var(--navy);padding:104px 0}
.s-dark{position:relative;color:#fff;padding:110px 0;overflow:hidden}
.s-dark>.wrap{position:relative;z-index:3}
.s-head{max-width:660px;margin-bottom:50px}
.s-head.center{margin-left:auto;margin-right:auto}
.s-head .eyebrow{color:var(--orange);margin-bottom:16px;display:block}
.s-dark .s-head .eyebrow{color:var(--orange-soft)}
.s-head h2{font-size:clamp(30px,4.4vw,48px);font-weight:700}
.s-head p{margin-top:16px;font-size:17px;color:var(--ink-60)}
.s-dark .s-head p{color:var(--w-70)}

/* ---------- page hero (interior pages) ---------- */
.phero{position:relative;color:#fff;padding:120px 0 90px;overflow:hidden;isolation:isolate}
.phero>.wrap{position:relative;z-index:3;max-width:820px}
.phero .crumb{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--w-55);margin-bottom:20px;text-transform:uppercase}
.phero .crumb a:hover{color:#fff}
.phero h1{font-size:clamp(38px,6vw,68px);font-weight:800;letter-spacing:-.035em;line-height:1}
.phero h1 .thin{font-weight:300}
.phero h1 em{font-style:normal;color:transparent;background:linear-gradient(100deg,#EE7A2E,#FFB07A);-webkit-background-clip:text;background-clip:text}
.phero p{font-size:clamp(16px,2vw,20px);color:var(--w-70);max-width:600px;margin-top:22px}
.phero .pcta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

/* ---------- split rows (service detail) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split.rev .media{order:2}
.split .copy h2{font-size:clamp(26px,3.4vw,38px)}
.split .copy>p{margin-top:16px;font-size:16.5px;color:var(--ink-60)}
.split .media img{width:100%;border-radius:var(--r);box-shadow:0 30px 60px rgba(27,18,72,.16);aspect-ratio:4/3;object-fit:cover}
.s-dark .split .copy>p{color:var(--w-70)}
.ticks{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:13px}
.ticks li{display:flex;gap:13px;font-size:15.5px;align-items:flex-start}
.ticks li .tk{flex:none;width:22px;height:22px;border-radius:7px;background:rgba(217,90,10,.12);display:grid;place-items:center;margin-top:2px}
.ticks li .tk svg{width:13px;height:13px;stroke:var(--orange)}
.s-dark .ticks li .tk{background:rgba(238,122,46,.18)}

/* feature icon grid */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 24px;transition:.35s var(--ease)}
.s-dark .feat{background:rgba(255,255,255,.05);border-color:var(--line-d)}
.feat:hover{transform:translateY(-5px);box-shadow:0 24px 46px rgba(27,18,72,.12)}
.s-dark .feat:hover{box-shadow:none;background:rgba(255,255,255,.09)}
.feat .ic{width:48px;height:48px;border-radius:12px;background:var(--light);display:grid;place-items:center;margin-bottom:18px}
.s-dark .feat .ic{background:rgba(255,255,255,.08)}
.feat .ic svg{width:24px;height:24px;stroke:var(--navy)}
.s-dark .feat .ic svg{stroke:var(--orange-soft)}
.feat h4{font-size:17px;margin-bottom:8px}
.feat p{font-size:14px;color:var(--ink-60)}
.s-dark .feat p{color:var(--w-70)}

/* service overview cards */
.svc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.svc-grid.core{grid-template-columns:repeat(5,1fr)}
.svc-grid.spec{grid-template-columns:repeat(4,1fr);margin-top:18px}
.svc{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 22px;transition:.35s var(--ease)}
.svc:hover{background:var(--navy);color:#fff;transform:translateY(-5px);box-shadow:0 22px 44px rgba(27,18,72,.22)}
.svc .ic{width:46px;height:46px;border-radius:12px;background:var(--light);display:grid;place-items:center;margin-bottom:16px;transition:.35s}
.svc:hover .ic{background:rgba(255,255,255,.1)}
.svc .ic svg{width:23px;height:23px;stroke:var(--navy);transition:.35s}
.svc:hover .ic svg{stroke:var(--orange-soft)}
.svc h4{font-size:16px;font-weight:600;margin-bottom:6px}
.svc p{font-size:13px;color:var(--ink-60);transition:.35s}
.svc:hover p{color:var(--w-70)}
.svc .go{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--orange);margin-top:14px;display:inline-flex;gap:6px;opacity:0;transition:.35s}
.svc:hover .go{opacity:1;color:var(--orange-soft)}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pillar{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:36px 30px;transition:.4s var(--ease);position:relative;overflow:hidden}
.pillar::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--orange);transition:.5s var(--ease)}
.pillar:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(27,18,72,.10)}
.pillar:hover::before{width:100%}
.pillar .pk{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--orange);margin-bottom:16px}
.pillar h3{font-size:24px;margin-bottom:10px}
.pillar h3 .t{font-weight:300;color:var(--ink-60)}
.pillar p{font-size:15px;color:var(--ink-60)}

/* chips */
.chips{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;overflow-x:auto;overflow-y:hidden;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.chips::-webkit-scrollbar{height:6px}.chips::-webkit-scrollbar-thumb{background:rgba(27,18,72,.18);border-radius:10px}
.chips.center{justify-content:flex-start}
.chips-label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);margin-bottom:14px;display:block}
.s-dark .chips-label{color:var(--w-55)}
.chips .lbl{display:none}
.chip{font-size:13.5px;font-weight:500;padding:9px 16px;border:1px solid var(--line);border-radius:100px;background:#fff;color:var(--navy);white-space:nowrap;transition:.3s var(--ease)}
.s-dark .chip{background:rgba(255,255,255,.92);color:var(--navy);border-color:transparent}
.chip:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-2px)}

/* stat band */
.band{background:var(--navy);color:#fff;padding:74px 0}
.band .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.band .st b{font-family:var(--display);font-size:clamp(32px,5vw,52px);font-weight:800;letter-spacing:-.03em;display:block}
.band .st b em{font-style:normal;color:var(--orange-soft)}
.band .st span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--w-55);margin-top:8px;display:block}

/* logos / marquee */
.marq-wrap{padding:64px 0;background:#fff;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marq-lab{text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-60);margin-bottom:44px}
.marquee{display:flex;gap:70px;width:max-content;animation:scrollx 40s linear infinite;align-items:center}
.marquee:hover{animation-play-state:paused}
@keyframes scrollx{to{transform:translateX(-50%)}}
.marquee img{height:58px;width:auto;max-width:170px;object-fit:contain;opacity:.95;filter:none;transition:.3s}
.marquee img:hover{opacity:1;transform:scale(1.06)}
.marquee .it{font-family:var(--display);font-weight:600;font-size:18px;color:var(--navy);opacity:.5;white-space:nowrap;display:flex;align-items:center;gap:10px}
.marquee .it .badge{font-family:var(--mono);font-size:10px;border:1px solid var(--line);border-radius:100px;padding:4px 10px}

/* FAQ accordion */
.faq{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.qa{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.3s}
.s-dark .qa,.s-light .qa{background:#fff}
.qa[open]{box-shadow:0 16px 36px rgba(27,18,72,.08);border-color:transparent}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;font-family:var(--display);font-weight:600;font-size:16.5px;color:var(--navy)}
.qa summary::-webkit-details-marker{display:none}
.qa .ico{flex:none;width:24px;height:24px;border-radius:50%;background:var(--light);position:relative;transition:.3s}
.qa .ico::before,.qa .ico::after{content:"";position:absolute;background:var(--orange);border-radius:2px;top:50%;left:50%;transform:translate(-50%,-50%)}
.qa .ico::before{width:11px;height:2px}.qa .ico::after{width:2px;height:11px;transition:.3s}
.qa[open] .ico{background:var(--orange)}
.qa[open] .ico::before{background:#fff}.qa[open] .ico::after{transform:translate(-50%,-50%) scaleY(0)}
.qa .a{padding:0 24px 22px;color:var(--ink-60);font-size:15px}
.qa .a p{margin-bottom:10px}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.tm{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.4s var(--ease)}
.tm:hover{transform:translateY(-5px);box-shadow:0 26px 50px rgba(27,18,72,.12)}
.tm .ph{aspect-ratio:1;position:relative;overflow:hidden;display:grid;place-items:center}
.tm .ph img{width:100%;height:100%;object-fit:cover}
.tm .ph .ini{font-family:var(--display);font-weight:800;font-size:38px;color:#fff}
.tm .bd{padding:20px}
.tm h4{font-size:18px;margin-bottom:3px}
.tm .role{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.tm p{font-size:13.5px;color:var(--ink-60)}
.tm .li{margin-top:14px;display:inline-flex;width:32px;height:32px;border-radius:9px;background:#0A66C2;place-items:center}
.tm .li svg{width:17px;height:17px;fill:#fff}

/* offices / contact cards */
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.office{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;transition:.4s var(--ease)}
.office:hover{transform:translateY(-5px);box-shadow:0 26px 50px rgba(27,18,72,.12)}
.office .top{height:158px;position:relative;overflow:hidden}
.office .top img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:16px;box-sizing:border-box}
.office .top .gl{position:absolute;bottom:11px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:#fff;text-transform:uppercase;background:rgba(12,8,32,.55);padding:6px 14px;border-radius:100px;backdrop-filter:blur(4px);white-space:nowrap}
.office .top.o1{background:linear-gradient(135deg,#241A6B,#5B2A93)}
.office .top.o2{background:linear-gradient(135deg,#1C5FC8,#2E86D6)}
.office .top.o3{background:linear-gradient(135deg,#7B2FA0,#C0397E)}
.office .bd{padding:24px}
.office h4{font-size:20px;margin-bottom:10px}
.office .row{font-size:14px;color:var(--ink-60);display:flex;gap:9px;margin-bottom:9px}
.office .row svg{width:16px;height:16px;stroke:var(--orange);flex:none;margin-top:3px}
.office a.dir{color:var(--orange);font-weight:600;font-size:13.5px;display:inline-flex;gap:6px;margin-top:8px}

/* insights cards */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.4s var(--ease);display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-6px);box-shadow:0 28px 54px rgba(27,18,72,.14)}
.pcard .img{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#241A6B,#5B2A93)}
.pcard .img img{width:100%;height:100%;object-fit:cover;transition:.6s var(--ease)}
.pcard:hover .img img{transform:scale(1.06)}
.pcard .bd{padding:24px;flex:1;display:flex;flex-direction:column}
.pcard .tag{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.pcard h3{font-size:19px;margin-bottom:10px;line-height:1.2}
.pcard p{font-size:14px;color:var(--ink-60);flex:1}
.pcard .rm{color:var(--orange);font-weight:600;font-size:13px;margin-top:16px;display:inline-flex;gap:6px}

/* instagram grid */
.social-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:42px}
.social-head .ig-h{display:flex;align-items:center;gap:16px}
.ig-badge{width:54px;height:54px;border-radius:16px;background:linear-gradient(45deg,#F09433,#E6683C 30%,#DC2743 55%,#CC2366 75%,#BC1888);display:grid;place-items:center;flex:none}
.ig-badge svg{width:28px;height:28px;stroke:#fff}
.social-head h3{font-size:23px}
.social-head .handle{font-family:var(--mono);font-size:13px;color:var(--ink-60)}
.s-dark .social-head .handle{color:var(--w-55)}
.ig-follow{display:inline-flex;align-items:center;gap:9px;background:var(--navy);color:#fff;padding:12px 22px;border-radius:100px;font-weight:600;font-size:14px;transition:.3s var(--ease)}
.ig-follow:hover{background:var(--orange);transform:translateY(-2px);box-shadow:0 12px 28px rgba(217,90,10,.35)}
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ig-cell{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;display:block;isolation:isolate;background:linear-gradient(135deg,#241A6B,#5B2A93)}
.ig-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.6s var(--ease)}
.ig-cell:hover img{transform:scale(1.08)}
.ig-cell .lab{position:absolute;left:0;right:0;bottom:0;padding:16px 14px 14px;z-index:3;background:linear-gradient(transparent,rgba(12,8,32,.85));color:#fff;font-size:13px;font-weight:600;font-family:var(--display)}
.ig-cell .ov{position:absolute;inset:0;z-index:2;background:rgba(27,18,72,0);display:grid;place-items:center;transition:.35s}
.ig-cell:hover .ov{background:rgba(27,18,72,.42)}
.ig-cell .ov svg{width:30px;height:30px;stroke:#fff;opacity:0;transform:scale(.7);transition:.35s}
.ig-cell:hover .ov svg{opacity:1;transform:scale(1)}

/* linkedin */
.li-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:start}
.li-card{background:rgba(255,255,255,.05);border:1px solid var(--line-d);border-radius:var(--r);padding:36px;display:flex;flex-direction:column}
.li-top{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.li-mark{width:56px;height:56px;border-radius:14px;background:#0A66C2;display:grid;place-items:center;flex:none}
.li-mark svg{width:30px;height:30px;fill:#fff}
.li-top h3{font-size:20px}
.li-top .sub{font-family:var(--mono);font-size:12px;color:var(--w-55)}
.li-card>p{font-size:15px;color:var(--w-70);margin-bottom:22px}
.li-topics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.li-topics span{font-size:12px;font-family:var(--mono);letter-spacing:.04em;color:var(--w-70);background:rgba(255,255,255,.06);border:1px solid var(--line-d);border-radius:100px;padding:7px 13px}
.li-meta{display:flex;gap:24px;margin-bottom:26px}
.li-meta .m b{font-family:var(--display);font-size:22px;font-weight:700;display:block}
.li-meta .m span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--w-55)}
.li-btn{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#0A66C2;color:#fff;padding:14px 24px;border-radius:100px;font-weight:600;font-size:14.5px;transition:.3s var(--ease)}
.li-btn:hover{background:#0d7ae0;transform:translateY(-2px);box-shadow:0 12px 28px rgba(10,102,194,.4)}
.li-btn svg{width:18px;height:18px;flex:none}
.li-mark svg{width:28px;height:28px}
.li-feed{display:flex;flex-direction:column;gap:14px}
.post{display:grid;grid-template-columns:54px 1fr;gap:16px;background:rgba(255,255,255,.04);border:1px solid var(--line-d);border-radius:14px;padding:20px;transition:.3s var(--ease)}
.post:hover{background:rgba(255,255,255,.07);transform:translateX(4px)}
.post .av{width:54px;height:54px;border-radius:11px;display:grid;place-items:center;font-family:var(--display);font-weight:700;color:#fff;font-size:13px;overflow:hidden}
.post .av img{width:100%;height:100%;object-fit:cover}
.post .av.a1{background:linear-gradient(135deg,#241A6B,#5B2A93)}
.post .av.a2{background:linear-gradient(135deg,#1C5FC8,#2E86D6)}
.post .av.a3{background:linear-gradient(135deg,#7B2FA0,#C0397E)}
.post .meta{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--w-55);margin-bottom:6px}
.post h4{font-size:16px;margin-bottom:6px}
.post p{font-size:13.5px;color:var(--w-70)}
.post .rm{color:var(--orange-soft);font-weight:600;font-size:12.5px;margin-top:10px;display:inline-flex;gap:6px;white-space:nowrap}

/* device / dashboard mock */
.device{background:#0F0A26;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 40px 90px rgba(0,0,0,.5);overflow:hidden}
.dev-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#160F38;border-bottom:1px solid rgba(255,255,255,.08)}
.dev-bar i{width:10px;height:10px;border-radius:50%;display:block}
.dev-bar i:nth-child(1){background:#E0533D}.dev-bar i:nth-child(2){background:#E0A23D}.dev-bar i:nth-child(3){background:#3DBE6B}
.dev-bar .url{margin-left:10px;font-family:var(--mono);font-size:10.5px;color:var(--w-55);background:#0F0A26;border-radius:6px;padding:5px 12px}
.ui{background:#13102E;color:#fff;padding:18px;font-size:12px}
.ui-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.ui-top .hi{font-family:var(--display);font-weight:600;font-size:15px}
.ui-top .badge{font-family:var(--mono);font-size:9px;letter-spacing:.12em;background:rgba(238,122,46,.16);color:var(--orange-soft);padding:5px 10px;border-radius:100px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.kpi{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:11px}
.kpi .l{font-size:9.5px;color:var(--w-55);margin-bottom:8px}
.kpi .v{font-family:var(--display);font-weight:700;font-size:20px}
.kpi .u{font-family:var(--mono);font-size:8px;color:var(--w-55)}
.kpi.acc .v{color:var(--orange-soft)}
.ui-low{display:grid;grid-template-columns:1.1fr 1fr;gap:10px}
.panel{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:13px}
.panel .ph{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--w-70);margin-bottom:12px}
.panel .ph b{font-weight:600;color:#fff;font-size:11px}
.donut{display:flex;align-items:center;gap:14px}
.donut .ring{width:78px;height:78px;border-radius:50%;background:conic-gradient(#7B6CF0 0 54%,#EE7A2E 54% 77%,#9aa0c9 77% 100%);display:grid;place-items:center;flex:none}
.donut .ring::after{content:"123";font-family:var(--display);font-weight:700;font-size:15px;width:50px;height:50px;background:#13102E;border-radius:50%;display:grid;place-items:center}
.lg{display:flex;flex-direction:column;gap:7px;font-size:9.5px;color:var(--w-70)}
.lg i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:7px}
.timeline{display:flex;flex-direction:column;gap:11px}
.tl{display:flex;gap:9px;font-size:9.5px}
.tl .d{width:9px;height:9px;border-radius:50%;flex:none;margin-top:2px;background:#5b87ff}
.tl.ok .d{background:#3DBE6B}
.tl .loc{color:var(--w-55);font-size:8.5px}
.tl b{font-weight:600;color:#fff;font-size:9.5px}

/* cta band */
.cta-band{padding:108px 0;color:#fff;text-align:center;position:relative;overflow:hidden}
.cta-band>.wrap{position:relative;z-index:3}
.cta-band h2{font-size:clamp(30px,5vw,54px);font-weight:800;letter-spacing:-.03em}
.cta-band h2 em{font-style:normal;color:var(--orange-soft)}
.cta-band p{font-size:18px;color:var(--w-70);max-width:520px;margin:18px auto 34px}
.cta-band .pcta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .full{grid-column:1/-1}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:var(--navy)}
.field input,.field select,.field textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:11px;font-family:var(--body);font-size:14.5px;background:#fff;color:var(--navy);transition:.2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(217,90,10,.12)}
.field textarea{resize:vertical;min-height:120px}

/* footer */
footer{background:var(--navy-deep);color:#fff;padding:74px 0 38px}
.f-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px;padding-bottom:46px;border-bottom:1px solid var(--line-d)}
.f-brand .brand-svg{height:38px;margin-bottom:18px}
.f-brand p{font-size:14px;color:var(--w-55);max-width:290px;margin-bottom:18px}
.f-brand .socs{display:flex;gap:10px}
.f-brand .socs a{width:42px;height:42px;border-radius:11px;background:rgba(255,255,255,.06);display:grid;place-items:center;transition:.3s var(--ease)}
.f-brand .socs a:hover{transform:translateY(-3px)}
.f-brand .socs a.s-li:hover{background:#0A66C2}
.f-brand .socs a.s-fb:hover{background:#1877F2}
.f-brand .socs a.s-x:hover{background:#000}
.f-brand .socs a.s-tt:hover{background:#000}
.f-brand .socs a.s-ig:hover{background:linear-gradient(45deg,#F09433,#E6683C 28%,#DC2743 52%,#CC2366 74%,#BC1888)}
.f-brand .socs svg{width:19px;height:19px;fill:#fff;display:block;margin:0;grid-area:1/1}
.f-col h5{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-soft);margin-bottom:18px}
.f-col a{display:block;color:var(--w-70);font-size:14px;margin-bottom:11px;transition:.25s}
.f-col a:hover{color:#fff;padding-left:4px}
.f-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:26px}
.f-bot .cc{font-size:13px;color:var(--w-55)}
.f-bot .lk{display:flex;gap:18px;font-size:13px;color:var(--w-55)}
.f-bot .lk a:hover{color:#fff}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:.8s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv[data-d="1"]{transition-delay:.08s}.rv[data-d="2"]{transition-delay:.16s}.rv[data-d="3"]{transition-delay:.24s}.rv[data-d="4"]{transition-delay:.32s}.rv[data-d="5"]{transition-delay:.4s}

/* utilities */
.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.prose p{font-size:16.5px;color:var(--ink-60);margin-bottom:16px}
.s-dark .prose p{color:var(--w-70)}
.divider-wave{display:block;width:100%;height:50px}

/* responsive */
@media(max-width:1040px){
  .svc-grid,.svc-grid.core{grid-template-columns:repeat(3,1fr)}
  .team-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:920px){
  .menu,.nav-cta{display:none}.burger{display:flex}
  .split,.li-wrap,.lead-grid{grid-template-columns:1fr;gap:34px}
  .split.rev .media{order:0}
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .pillars,.offices,.posts,.band .grid{grid-template-columns:1fr}
  .band .grid{gap:36px}
  .svc-grid,.svc-grid.core,.svc-grid.spec{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .ig-grid{grid-template-columns:repeat(2,1fr)}
  .f-top{grid-template-columns:1fr 1fr 1fr}
  .form{grid-template-columns:1fr}
}
@media(max-width:560px){
  .feat-grid,.svc-grid,.svc-grid.core,.svc-grid.spec,.team-grid,.ig-grid,.f-top{grid-template-columns:1fr}
  .band .grid{grid-template-columns:1fr 1fr}
  .s-light,.s-white{padding:74px 0}.s-dark{padding:78px 0}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}

/* ---- additional page components ---- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc-grid.core{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){.svc-grid,.svc-grid.core{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.svc-grid,.svc-grid.core{grid-template-columns:1fr}}

.cli-strip{display:flex;align-items:center;gap:30px;flex-wrap:wrap;justify-content:center;padding:8px 0}
.cli-strip .cli-lab{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-45)}
.cli-strip .cli{font-family:var(--display);font-weight:700;font-size:clamp(16px,2vw,22px);color:var(--navy);opacity:.55;transition:opacity .3s}
.cli-strip .cli:hover{opacity:1}

.chips.center{flex-wrap:wrap;gap:10px}

.tline{max-width:780px;margin:0 auto;position:relative}
.tline:before{content:"";position:absolute;left:88px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--orange),rgba(255,255,255,.08))}
.tl-item{display:grid;grid-template-columns:70px 1fr;column-gap:46px;padding:14px 0;position:relative}
.tl-item .yr{font-family:var(--mono);font-weight:600;color:var(--orange-soft);font-size:15px;text-align:right;padding-top:2px}
.tl-item:after{content:"";position:absolute;left:82px;top:21px;width:14px;height:14px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(217,90,10,.18)}
.tl-item .tl-bd h4{color:#fff;font-size:18px;margin-bottom:4px}
.tl-item .tl-bd p{color:var(--w-55);font-size:14px}
@media(max-width:560px){.tline:before{left:50px}.tl-item{grid-template-columns:40px 1fr;column-gap:30px}.tl-item .yr{font-size:13px}.tl-item:after{left:44px}}

.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr)}}
.tm{text-align:center}
.tm-ph{position:relative;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:linear-gradient(140deg,#241a55,#3a2a86);display:flex;align-items:center;justify-content:center;margin-bottom:14px;box-shadow:var(--sh)}
.tm-ph img{width:100%;height:100%;object-fit:cover}
.tm-ph .ini{font-family:var(--display);font-weight:700;font-size:40px;color:#fff;opacity:.92}
.tm-li{position:absolute;right:10px;bottom:10px;width:32px;height:32px;border-radius:9px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .2s}
.tm-li svg{width:17px;height:17px}
.tm-li:hover{transform:translateY(-2px);background:var(--orange);color:#fff}
.tm h4{font-size:16px}
.tm .role{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}

.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.ins-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ins-grid{grid-template-columns:1fr}}
.ins{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:transform .25s,box-shadow .25s}
.ins:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(18,12,46,.16)}
.ins-img{position:relative;aspect-ratio:16/10;overflow:hidden}
.ins-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ins:hover .ins-img img{transform:scale(1.06)}
.ins-img .tag{position:absolute;left:12px;top:12px;background:rgba(18,12,46,.82);color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:.14em;padding:5px 10px;border-radius:6px}
.ins-bd{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.ins-bd h4{font-size:18px;line-height:1.25;margin-bottom:8px}
.ins-bd p{color:var(--ink-60);font-size:14px;flex:1}
.ins-bd .rm{margin-top:14px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--orange);display:inline-flex;align-items:center;gap:6px}
.ins-bd .rm svg{width:15px;height:15px}

.reach{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.reach-row{display:flex;align-items:center;gap:16px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);transition:transform .2s,border-color .2s}
.reach-row:hover{transform:translateX(4px);border-color:var(--orange)}
.reach-row .ic{width:42px;height:42px;border-radius:11px;background:var(--light);display:flex;align-items:center;justify-content:center;flex:none}
.reach-row .ic svg{width:21px;height:21px;stroke:var(--navy);fill:none}
.reach-row b{display:block;font-size:15px;color:var(--navy)}
.reach-row span{font-size:13px;color:var(--ink-60)}
.reach-row>svg{width:18px;height:18px;margin-left:auto;color:var(--orange);flex:none}

.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.frow{grid-template-columns:1fr}}
.fnote{font-family:var(--mono);font-size:11px;color:var(--ink-45);text-align:center;margin-top:12px}

.faq-page{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:34px}
.faq-cat{font-size:14px;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}

.login-wrap{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 22px 60px;overflow:hidden;background:var(--navy-deep)}
.login-card{position:relative;z-index:4;width:100%;max-width:440px;background:rgba(255,255,255,.04);border:1px solid var(--line-d);backdrop-filter:blur(8px);border-radius:22px;padding:40px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.login-card .brand svg{height:48px;width:auto}
.login-card h1{color:#fff;font-size:30px;margin-bottom:10px}
.login-card>p{color:var(--w-70);font-size:15px;margin-bottom:26px}
.login-alt{margin-top:20px;font-size:13px;color:var(--w-55)}
.login-alt a{color:var(--orange-soft)}

/* real logo image */
.brand img{height:38px;width:auto;display:block}
.f-brand img{height:40px;width:auto;margin-bottom:18px}
.mnav .brand img{height:34px}
.login-card .brand img{height:46px;margin:0 auto 6px}

/* logo mark (real png + svg wordmark fallback) */
.brand-mark{display:inline-flex;align-items:center;line-height:0}
.brand-mark img{height:38px;width:auto;display:block}
.brand-svg{height:30px;width:auto}
.f-brand .brand-mark img{height:42px}
.f-brand .brand-svg{height:34px}
.mnav .brand-mark img{height:34px}
.login-card .brand-mark{justify-content:center}
.login-card .brand-mark img{height:48px}

/* real dashboard screenshot frame */
.winshot{border-radius:16px;overflow:hidden;background:#0c1322;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.5)}
.winshot .win-bar{display:flex;align-items:center;gap:14px;padding:11px 15px;background:#141b2c;border-bottom:1px solid rgba(255,255,255,.07)}
.winshot .wd{display:flex;gap:7px}
.winshot .wd i{width:11px;height:11px;border-radius:50%}
.winshot .wd i:nth-child(1){background:#ff5f57}
.winshot .wd i:nth-child(2){background:#febc2e}
.winshot .wd i:nth-child(3){background:#28c840}
.winshot .wu{font-family:var(--mono);font-size:12px;color:var(--w-55);background:rgba(0,0,0,.28);padding:5px 14px;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.winshot .win-body{line-height:0;position:relative}
.winshot .win-body img{width:100%;display:block}
.winshot.tall .win-body{max-height:600px;overflow:hidden}
.winshot.tall .win-body:after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(transparent,#0c1322);pointer-events:none}

.tlink{color:var(--orange);font-weight:600;display:inline-flex;align-items:center;gap:6px;vertical-align:middle}
.tlink svg{width:16px;height:16px;flex:none}
.tlink:hover{color:var(--orange-soft)}

/* ============================================================
   ThinkPrime — nav tagline, premium hero stage, counter  [v2]
============================================================ */
/* --- tagline centred under logo --- */
.brand--stacked{display:inline-flex;flex-direction:column;align-items:center;gap:4px;line-height:1}
.brand-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--w-55);white-space:nowrap;text-align:center}
.mnav .brand{margin-bottom:20px}.mnav .brand--stacked{gap:5px;align-items:center}
@media(max-width:420px){.brand-tag{display:none}}

/* --- hero layout --- */
.hero-home{position:relative;min-height:94vh;display:flex;align-items:center;padding:120px 0 72px;overflow:hidden;isolation:isolate}
.netfield{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.85}
.phero-veil{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(120% 95% at 80% 38%,rgba(238,122,46,.12),transparent 52%),
             linear-gradient(180deg,rgba(18,12,46,.25),rgba(18,12,46,.55))}
.hero-home>.wrap.hero-grid{max-width:var(--maxw);width:100%}
.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:48px;align-items:center}
.hero-copy{max-width:620px}
.hero-copy h1{font-size:clamp(40px,5.4vw,74px);font-weight:800;line-height:.98;letter-spacing:-.035em;color:#fff}
.hero-copy h1 .thin{font-weight:300}
.hero-copy h1 em{font-style:normal;color:transparent;background:linear-gradient(100deg,#EE7A2E,#FFB07A);-webkit-background-clip:text;background-clip:text}
.hero-copy p{font-size:clamp(16px,1.5vw,20px);color:var(--w-70);max-width:540px;margin:24px 0 32px}
.hero-stats{display:flex;gap:30px;margin-top:46px;flex-wrap:wrap}
.hero-stats>div{text-align:center;min-width:104px}
.hero-stats b{display:block;font-family:var(--display);font-size:30px;font-weight:700;color:#fff}
.hero-stats span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--w-55);margin-top:4px;display:block}

/* --- premium glass card --- */
.hero-stage{position:relative;justify-self:end;width:100%;max-width:560px;perspective:1200px}
.stage-card{position:relative;border-radius:22px;padding:16px;overflow:hidden;
  background:linear-gradient(155deg,rgba(42,30,98,.74),rgba(15,10,38,.6));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 60px 120px -34px rgba(0,0,0,.78),inset 0 1px 0 rgba(255,255,255,.1);
  backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%);
  will-change:transform;transform-style:preserve-3d}
@keyframes cardfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.stage-card::before{content:"";position:absolute;inset:0;border-radius:22px;padding:1px;
  background:linear-gradient(140deg,rgba(238,122,46,.55),transparent 38%,transparent 66%,rgba(120,130,255,.4));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7;pointer-events:none}

.card-head{display:flex;align-items:center;gap:10px;padding:4px 6px 13px}
.card-head .pdot{width:9px;height:9px;border-radius:50%;background:var(--orange-soft);box-shadow:0 0 14px var(--orange-soft);animation:livepulse 1.8s infinite}
.card-head .ctitle{font-family:var(--display);font-size:14.5px;color:#fff;font-weight:400}.card-head .ctitle b{font-weight:700}
.card-head .cstatus{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:#5fe0d0;border:1px solid rgba(95,224,208,.35);border-radius:100px;padding:4px 11px}
.card-head .dotlive{width:6px;height:6px;border-radius:50%;background:#5fe0d0;box-shadow:0 0 10px #5fe0d0;animation:livepulse 1.4s infinite}
@keyframes livepulse{0%,100%{opacity:1}50%{opacity:.32}}

.mode-tabs{position:relative;display:flex;gap:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:4px;margin:0 6px}
.mtab{position:relative;z-index:2;flex:1;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--w-55);background:none;border:0;border-radius:9px;padding:9px 0;cursor:pointer;transition:color .35s}
.mtab.is-on{color:#fff}
.mtab-ind{position:absolute;z-index:1;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/3);border-radius:9px;
  background:linear-gradient(120deg,var(--orange),var(--orange-soft));box-shadow:0 8px 22px rgba(217,90,10,.5);
  transform:translateX(0);transition:transform .5s var(--ease)}

.stage-view{position:relative;height:214px;margin:14px 6px 0;border-radius:14px;overflow:hidden;
  background:radial-gradient(130% 150% at 72% -10%,rgba(64,48,150,.4),rgba(9,6,26,.55))}
.scene{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.04);filter:blur(6px);
  transition:opacity .42s var(--ease),transform .5s var(--ease),filter .42s var(--ease)}
.scene.is-on{opacity:1;transform:none;filter:none}
.scene svg{width:100%;height:100%;display:block}

.sprog{position:absolute;left:14px;right:14px;bottom:12px;z-index:3}
.sprog .srow{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--w-70);margin-bottom:6px}
.sprog .srow .st-st{color:var(--orange-soft);white-space:nowrap}
.sprog .bar{height:4px;border-radius:3px;background:rgba(255,255,255,.13);overflow:hidden}
.sprog .fill{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,var(--orange),var(--orange-soft));box-shadow:0 0 10px rgba(238,122,46,.6);transition:width 1.6s var(--ease)}

.card-foot{display:flex;gap:8px;margin:13px 6px 4px}
.metric{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:10px 12px}
.metric .ml{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--w-55)}
.metric .mv{display:block;font-family:var(--display);font-weight:700;font-size:18px;color:#fff;margin-top:3px}

/* air scene */
.air-map .stars circle{fill:rgba(255,255,255,.5);animation:twinkle 3s ease-in-out infinite}
.air-map .stars circle:nth-child(2){animation-delay:.6s}.air-map .stars circle:nth-child(4){animation-delay:1.2s}.air-map .stars circle:nth-child(5){animation-delay:1.8s}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:.9}}
.air-map .arc-glow{stroke:rgba(238,122,46,.28);stroke-width:7;filter:blur(2.5px)}
.air-map .arc{stroke:var(--orange-soft);stroke-width:2;stroke-dasharray:5 8;stroke-linecap:round;animation:dashflow 1.1s linear infinite}
.air-map .arc-spark{stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:20 620;filter:drop-shadow(0 0 6px #fff);animation:spark 4.6s linear infinite}
@keyframes dashflow{to{stroke-dashoffset:-26}}
@keyframes spark{from{stroke-dashoffset:0}to{stroke-dashoffset:-640}}
.air-map .node .core{fill:#fff}.air-map .node .core.hub{fill:var(--orange-soft);filter:drop-shadow(0 0 8px var(--orange-soft))}
.air-map .node .ring{fill:none;stroke:var(--orange-soft);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ripple 2.6s ease-out infinite}
.air-map .n-b .ring{animation-delay:1.3s}
@keyframes ripple{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.air-map .plane{offset-path:path("M58 150 Q240 6 430 96");offset-rotate:auto;animation:fly 4.6s cubic-bezier(.45,0,.55,1) infinite;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}
@keyframes fly{0%{offset-distance:0%;opacity:0}7%{opacity:1}93%{opacity:1}100%{offset-distance:100%;opacity:0}}

/* sea scene */
.sea-map .clouds ellipse{fill:rgba(255,255,255,.06);animation:drift2 16s linear infinite}
.sea-map .clouds ellipse:nth-child(2){animation-duration:22s}
@keyframes drift2{from{transform:translateX(0)}to{transform:translateX(60px)}}
.sea-map .route-dash{stroke:rgba(95,224,208,.5);stroke-width:1.6;stroke-dasharray:3 6;animation:dashflow 1.4s linear infinite}
.sea-map .ship{transform-origin:218px 110px;animation:bob 4.4s ease-in-out infinite}
.sea-map .wake path{animation:wakefade 2s ease-in-out infinite}
@keyframes wakefade{0%,100%{opacity:.5}50%{opacity:.15}}
.sea-map .wave{fill:none}
.sea-map .w1{fill:rgba(51,198,182,.32);animation:swell 7s linear infinite}
.sea-map .w2{fill:rgba(51,198,182,.2);animation:swell 9.5s linear infinite reverse}
.sea-map .w3{fill:rgba(111,123,247,.16);animation:swell 12s linear infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-6px) rotate(1.2deg)}}
@keyframes swell{to{transform:translateX(-240px)}}

/* rail scene */
.rail-map .hills{animation:railscroll 9s linear infinite}
.rail-map .poles{animation:railscroll 2.4s linear infinite}
.rail-map .sleepers{animation:railscroll 1.1s linear infinite}
.rail-map .speed line{stroke:rgba(255,255,255,.35);stroke-width:2;stroke-linecap:round;animation:zoom 1s linear infinite}
.rail-map .speed line:nth-child(2){animation-delay:.3s}.rail-map .speed line:nth-child(3){animation-delay:.6s}
.rail-map .train{transform-origin:center;animation:railbob 2.2s ease-in-out infinite}
.rail-map .wheels circle{animation:none}
@keyframes railscroll{from{transform:translateX(0)}to{transform:translateX(-160px)}}
@keyframes zoom{0%{opacity:0;transform:translateX(20px)}30%{opacity:1}100%{opacity:0;transform:translateX(-60px)}}
@keyframes railbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes roll{to{transform:rotate(360deg)}}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-copy{max-width:none}
  .hero-stage{justify-self:start;max-width:520px}
}
@media(max-width:560px){.card-foot{flex-wrap:wrap}.metric{min-width:30%}}

/* --- count-up counter --- */
.counter{background:var(--navy);color:#fff;padding:78px 0}
.s-head.center{text-align:center;max-width:640px;margin:0 auto 46px}
.counter .s-head h2{color:#fff;font-size:clamp(26px,3.4vw,38px)}
.counter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.cstat{display:flex;flex-direction:column;align-items:center;text-align:center}
.ring{position:relative;width:140px;height:140px}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:rgba(255,255,255,.1);stroke-width:5}
.ring-fg{fill:none;stroke:var(--orange-soft);stroke-width:5;stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:326.7;filter:drop-shadow(0 0 6px rgba(238,122,46,.5));transition:stroke-dashoffset 1.7s var(--ease)}
.counter.in .ring-fg{stroke-dashoffset:36}
.cnum{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1px;font-family:var(--display);font-weight:800;font-size:38px;letter-spacing:-.02em}
.cnum em{font-style:normal;color:var(--orange-soft)}.cnum.static{font-size:30px}
.clabel{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--w-55);margin-top:16px;max-width:160px}
.counter-foot{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--w-55);margin-top:42px}
@media(max-width:760px){.counter-grid{grid-template-columns:repeat(2,1fr);gap:34px 20px}.ring{width:120px;height:120px}.cnum{font-size:32px}}

@media(prefers-reduced-motion:reduce){
  .stage-card,.air-map *,.sea-map *,.rail-map *,.card-head .pdot,.card-head .dotlive,.mtab-ind{animation:none!important}
  .scene{transition:opacity .3s}.ring-fg{transition:none}
}

/* ---- ship & train detailing + odometer (v3) ---- */
.sea-map .reflection{opacity:.16;animation:shimmer 5s ease-in-out infinite}
@keyframes shimmer{0%,100%{opacity:.16;transform:scaleY(1)}50%{opacity:.08;transform:scaleY(.94)}}
.sea-map .flag{transform-origin:158px 77px;animation:flutter 1.4s ease-in-out infinite}
@keyframes flutter{0%,100%{transform:skewY(0) scaleX(1)}50%{transform:skewY(-6deg) scaleX(.9)}}
.sea-map .smoke circle{fill:rgba(220,224,240,.5);transform-origin:center;animation:smokeup 3.2s ease-out infinite}
.sea-map .smoke circle:nth-child(2){animation-delay:1s}.sea-map .smoke circle:nth-child(3){animation-delay:2s}
@keyframes smokeup{0%{opacity:0;transform:translate(0,0) scale(.4)}25%{opacity:.55}100%{opacity:0;transform:translate(-22px,-34px) scale(1.5)}}
.sea-map .spray circle{fill:rgba(255,255,255,.55);transform-origin:center;animation:spray 1.6s ease-out infinite}
.sea-map .spray circle:nth-child(2){animation-delay:.3s}.sea-map .spray circle:nth-child(3){animation-delay:.6s}
@keyframes spray{0%{opacity:0;transform:translate(0,0) scale(.5)}30%{opacity:.7}100%{opacity:0;transform:translate(-10px,-10px) scale(1.3)}}
.sea-map .birds{transform:translate(70px,34px);animation:birdcross 14s linear infinite}
.sea-map .bird{fill:none;stroke:rgba(255,255,255,.45);stroke-width:1.6;stroke-linecap:round;animation:flap .5s ease-in-out infinite}
.sea-map .bird.b2{transform:translate(26px,12px);stroke-width:1.3;animation-delay:.25s}
@keyframes birdcross{from{transform:translate(120px,30px)}to{transform:translate(-60px,18px)}}
@keyframes flap{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.55)}}

.rail-map .wheels line{stroke:#5b66a0;stroke-width:1.6;stroke-linecap:round}
.rail-map .wh{transform-box:fill-box;transform-origin:center;animation:roll .9s linear infinite}
.rail-map .spark{animation:rspark .45s steps(2,end) infinite}
@keyframes rspark{0%,100%{opacity:0}50%{opacity:1}}
.rail-map .headlight{animation:hlp 2.2s ease-in-out infinite}
.rail-map .beam{fill:#fff;opacity:.07;animation:hlp 2.2s ease-in-out infinite}
@keyframes hlp{0%,100%{opacity:.6}50%{opacity:1}}
.rail-map .catenary,.rail-map .train .loco{will-change:transform}

/* odometer reels */
.count{display:inline-flex;align-items:flex-end;line-height:1;vertical-align:bottom}
.metric .mv.count{display:inline-flex}
.count .reel{display:inline-block;overflow:hidden;vertical-align:bottom}
.count .reel-track{display:block;will-change:transform}
.count .reel-track span{display:block;text-align:center;line-height:1}
.count .reel-static{display:inline-block;line-height:1}

/* living sea horizon (v4) */
.sea-map .sea-glow{animation:seaglow 6s ease-in-out infinite}
@keyframes seaglow{0%,100%{opacity:.85}50%{opacity:1}}
.sea-map .far-ship{animation:hdrift 34s linear infinite}
.sea-map .far-ship2{animation:hdrift 26s linear infinite}
@keyframes hdrift{from{transform:translateX(40px)}to{transform:translateX(-70px)}}
.stage-card.tilted{transition:none}

/* auto-advance tab progress (v8) */
.mtab-ind{overflow:hidden}
.mtab-prog{position:absolute;left:0;bottom:0;height:3px;width:0;background:rgba(255,255,255,.7);border-radius:2px}

/* hybrid: photo background + SVG overlay */
.scene .photo{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#13224a;transform:scale(1.08);animation:kenburns 16s ease-in-out infinite alternate}
.scene .photo-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,7,28,.22),rgba(10,7,28,.6)),radial-gradient(120% 100% at 70% -10%,rgba(238,122,46,.14),transparent 55%)}
@keyframes kenburns{from{transform:scale(1.06) translate(0,0)}to{transform:scale(1.15) translate(-2.5%,-2%)}}
.ov-map{position:absolute;inset:0;width:100%;height:100%;display:block}
.air-map .pod{offset-path:path("M58 150 Q240 6 430 96");offset-rotate:0;animation:fly 4.6s cubic-bezier(.45,0,.55,1) infinite;filter:drop-shadow(0 0 7px #fff)}
@media(prefers-reduced-motion:reduce){.scene .photo{animation:none}}

/* ---- live platform window (v10) ---- */
.winshot{transform-style:preserve-3d;will-change:transform;transition:box-shadow .3s}
.win-body.live{position:relative;overflow:hidden;background:#0b1020}
.win-body.live .shot-stack{position:relative;width:100%;padding-top:63%}
.winshot.tall .win-body.live .shot-stack{padding-top:104%}
.win-body.live .shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;opacity:0;transition:opacity 1s ease;animation:shotpan 17s ease-in-out infinite alternate}
.win-body.live .shot.is-on{opacity:1}
@keyframes shotpan{from{object-position:50% 0%}to{object-position:50% 32%}}
.win-body.live .scan{position:absolute;left:0;right:0;top:0;height:46%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(238,122,46,.12),transparent);mix-blend-mode:screen;animation:winscan 5.5s linear infinite}
@keyframes winscan{0%{transform:translateY(-120%)}100%{transform:translateY(270%)}}
.win-body.live .live-tag{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(8,10,24,.6);border:1px solid rgba(255,255,255,.18);border-radius:100px;padding:5px 11px;backdrop-filter:blur(4px)}
.win-body.live .live-tag i{width:7px;height:7px;border-radius:50%;background:#33c6b6;box-shadow:0 0 8px #33c6b6;animation:livepulse 1.4s infinite}
.win-body.live .cursor{position:absolute;left:28%;top:46%;pointer-events:none;animation:wincurse 9s ease-in-out infinite}
.win-body.live .cursor svg{width:20px;height:20px;fill:#fff;stroke:rgba(0,0,0,.55);stroke-width:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}
@keyframes wincurse{0%{left:26%;top:48%;transform:scale(1)}18%{left:40%;top:28%;transform:scale(1)}22%{transform:scale(.78)}26%{transform:scale(1)}48%{left:64%;top:30%;transform:scale(1)}52%{transform:scale(.78)}56%{transform:scale(1)}78%{left:48%;top:62%;transform:scale(1)}100%{left:26%;top:48%;transform:scale(1)}}
.winshot.tall .win-body.live:after{display:none}
@media(prefers-reduced-motion:reduce){.win-body.live .shot,.win-body.live .scan,.win-body.live .cursor,.win-body.live .live-tag i{animation:none}}

/* ---- application wizard (v10) ---- */
.apply-need{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 30px}
.apply-need span{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--w-70);background:rgba(255,255,255,.05);border:1px solid var(--line-d);border-radius:100px;padding:7px 13px}
.wizard{max-width:780px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 30px 24px;box-shadow:0 30px 70px rgba(20,12,50,.14)}
.wsteps{display:flex;gap:8px;margin-bottom:26px;flex-wrap:wrap}
.wpill{flex:1;min-width:84px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);padding:9px 8px;border-radius:8px;background:var(--line);text-align:center;transition:.25s}
.wpill.active{background:var(--orange);color:#fff}
.wpill.done{background:rgba(217,90,10,.16);color:var(--orange)}
.wstep{display:none}
.wstep.is-on{display:block;animation:wfade .35s ease}
@keyframes wfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wstep h3{font-size:20px;margin-bottom:4px;color:var(--navy)}
.wstep .wsub{color:var(--ink-60);font-size:14px;margin-bottom:20px}
.wgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wfield{display:flex;flex-direction:column;gap:6px}
.wfield.full{grid-column:1/-1}
.wfield label{font-size:12.5px;font-weight:600;color:var(--navy)}
.wfield .req{color:var(--orange)}
.wfield input,.wfield select,.wfield textarea{font-family:var(--body);font-size:14px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fbfaff;color:var(--navy);transition:.2s;width:100%}
.wfield textarea{min-height:80px;resize:vertical}
.wfield input:focus,.wfield select:focus,.wfield textarea:focus{outline:none;border-color:var(--orange);background:#fff;box-shadow:0 0 0 3px rgba(217,90,10,.12)}
.wfield.invalid input,.wfield.invalid select,.wfield.invalid textarea{border-color:#d9483b;box-shadow:0 0 0 3px rgba(217,72,59,.13)}
.wchecks{display:flex;flex-wrap:wrap;gap:10px}
.wchecks label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--navy);background:#fbfaff;border:1px solid var(--line);border-radius:100px;padding:8px 14px;cursor:pointer}
.wchecks input{accent-color:var(--orange)}
.wradios{display:flex;flex-wrap:wrap;gap:10px}
.wradios label{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--navy);background:#fbfaff;border:1px solid var(--line);border-radius:10px;padding:10px 16px;cursor:pointer}
.wradios input{accent-color:var(--orange)}
.wagree{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--navy);background:#fbfaff;border:1px solid var(--line);border-radius:12px;padding:14px}
.wagree.invalid{border-color:#d9483b;box-shadow:0 0 0 3px rgba(217,72,59,.13)}
.wagree input{margin-top:3px;accent-color:var(--orange);flex:none}
.wnav{display:flex;align-items:center;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.wnav .wspacer{flex:1}
.wnav .wback[hidden]{display:none}
.wdone{display:none;text-align:center;padding:18px 0}
.wdone.is-on{display:block;animation:wfade .4s ease}
.wdone .wtick{width:64px;height:64px;border-radius:50%;background:rgba(31,157,87,.14);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.wdone .wtick svg{width:30px;height:30px;stroke:#1f9d57;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.wdone h3{color:var(--navy);font-size:23px;margin-bottom:8px}
.wdone p{color:var(--ink-60);max-width:440px;margin:0 auto}
@media(max-width:620px){.wgrid{grid-template-columns:1fr}}
.wnav .wback{background:#fff;border:1px solid var(--line);color:var(--navy)}
.wnav .wback:hover{border-color:var(--orange);color:var(--orange)}

/* ---- application wizard (DocuSign-style) v11 ---- */
.req{color:#d6336c}
.wprog{margin-bottom:26px}
.wprog-lab{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:8px}
.wprog-track{height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.wprog-fill{display:block;height:100%;width:0;background:var(--orange);border-radius:3px;transition:width .45s ease}
.wsubhead{grid-column:1/-1;font-size:16px;color:var(--navy);font-weight:600;margin-top:8px}
.whint{font-size:12px;color:var(--ink-60);margin-top:-2px}
.wcheck-inline{grid-column:1/-1;display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--navy);cursor:pointer;margin:2px 0}
.wcheck-inline input{width:18px;height:18px;accent-color:var(--orange)}
.regoffice{display:contents}
.regoffice.hide{display:none}
.werr{display:flex;align-items:center;gap:6px;color:#d6336c;font-size:12.5px;font-weight:500;margin-top:5px}
.werr svg{width:16px;height:16px;flex:none;stroke:#d6336c}
.wfield.invalid input,.wfield.invalid select,.wfield.invalid textarea{border-color:#d6336c;box-shadow:0 0 0 3px rgba(214,51,108,.12)}
.wnav{display:flex;align-items:center;gap:10px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.wnav .wspacer{flex:1}
.wbtn{font-family:var(--body);font-size:14px;font-weight:600;padding:11px 22px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:.2s}
.wnext{background:#2a1a4a;color:#fff}.wnext:hover{background:#3a2660}
.wback{background:#fff;color:var(--navy);border:1px solid var(--line)}.wback:hover{border-color:var(--orange);color:var(--orange)}
.wback[hidden]{display:none}
.wfinish{background:#f1eff5;color:var(--navy)}.wfinish:hover{background:#e7e3ef}
.wmodal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(30,18,50,.55);padding:20px}
.wmodal[hidden]{display:none}
.wmodal-card{background:#fff;border-radius:16px;padding:28px 30px;max-width:520px;width:100%;position:relative;box-shadow:0 40px 90px rgba(0,0,0,.4)}
.wmodal-card h3{color:var(--navy);font-size:22px;margin-bottom:8px}
.wmodal-card p{color:var(--ink-60);font-size:14px;margin-bottom:16px}
.wmodal-x{position:absolute;top:14px;right:18px;background:none;border:0;font-size:26px;line-height:1;color:var(--navy);cursor:pointer}
