/** Satoshi by Deni Anggara · © 2026 Indian Type Foundry.
 * Supplied brand font: https://www.fontshare.com/fonts/satoshi */
@font-face{font-family:Satoshi;src:url('../fonts/Satoshi-Variable.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url('../fonts/Satoshi-VariableItalic.woff2') format('woff2');font-weight:300 900;font-style:italic;font-display:swap}

:root {
  --ms-font: 'Satoshi', Arial, sans-serif;
  --ms-navy: #05054a;
  --ms-blue: #000878;
  --ms-deep: #0e1035;
  --ms-mint: #00f2ad;
  --ms-paper: #f2f7fa;
  --ms-white: #f2f7fa;
  --ms-ink: #414950;
  --ms-container: 1280px;
  --ms-gutter: clamp(24px, 5.556vw, 80px);
  --ms-header-height: clamp(80px, 6.945vw, 100px);
  --ms-gradient: linear-gradient(125deg, #00c6a4 0%, #007c97 48%, #08066b 100%);
  --ms-gradient-horizontal: linear-gradient(108deg, #08066b 0%, #006c94 58%, #00c8aa 100%);
  --ms-ease: cubic-bezier(.2,.65,.3,1);
}

.momentum-theme { margin:0; font-family:var(--ms-font); color:var(--ms-white); background:var(--ms-navy); font-weight:400; -webkit-font-smoothing:antialiased; --theme-font-family:var(--ms-font); --theme-headings-font-family:var(--ms-font); }
.momentum-theme *, .momentum-theme *::before, .momentum-theme *::after { box-sizing:border-box; }
.momentum-theme :is(h1,h2,h3,h4,p,ul,dl,dd) { margin:0; }
.momentum-theme :is(h1,h2,h3,h4) { font-family:var(--ms-font); color:inherit; }
.momentum-theme a { color:inherit; text-decoration:none; }
.momentum-theme button { font:inherit; cursor:pointer; }
.momentum-theme img { display:block; max-width:100%; height:auto; }
.momentum-theme [hidden] { display:none !important; }
.momentum-theme :focus-visible { outline:3px solid var(--ms-mint); outline-offset:5px; }
.momentum-theme .ms-light :focus-visible { outline-color:var(--ms-blue); }
.ms-container { width:calc(100% - var(--ms-gutter) * 2); max-width:var(--ms-container); margin-inline:auto; }
.ms-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ms-skip-link { position:fixed; top:8px; left:16px; transform:translateY(-160%); padding:12px 22px; background:var(--ms-mint); color:var(--ms-navy) !important; z-index:100001; border-radius:6px; }
.ms-skip-link:focus { transform:translateY(0); }
.ms-header-space { height:var(--ms-header-height); }
.ms-header { position:relative; width:100%; z-index:1000; background:var(--ms-blue); transition:box-shadow .25s ease, background .25s ease; }
.ms-header.is-fixed { position:fixed; top:0; left:0; box-shadow:0 5px 24px #0003; background:var(--ms-blue); }
.admin-bar .ms-header.is-fixed { top:32px; }
.ms-header__inner { height:var(--ms-header-height); display:flex; align-items:center; gap:40px; }
.ms-brand { display:inline-flex; align-items:center; flex-shrink:0; gap:8px; color:white; }
.ms-brand__logo { width:clamp(136px,11.11vw,160px); height:auto; }
.ms-brand__mark { width:clamp(40px,3.33vw,48px); height:auto; flex-shrink:0; }
.ms-brand__type { font-size:clamp(16px,1.39vw,20px); font-weight:500; line-height:1; letter-spacing:-.45px; }
.ms-brand__type>span { display:block; color:var(--ms-mint); }
.ms-brand__type small { display:block; margin-top:4px; font-size:7px; font-weight:400; letter-spacing:0; }
.ms-header .custom-logo { max-width:210px; max-height:64px; object-fit:contain; }
.ms-nav { margin-left:clamp(100px,13vw,188px); margin-right:auto; }
.ms-menu, .ms-menu ul { list-style:none; padding:0; }
.ms-menu { display:flex; align-items:center; gap:clamp(28px,3.5vw,50px); }
.ms-menu>li { position:relative; display:flex; align-items:center; gap:9px; }
.ms-menu>li>a { display:block; padding-block:30px; text-transform:none; font-size:14px; font-weight:500; }
.ms-menu a:hover, .ms-footer a:hover { color:var(--ms-mint); }
.ms-submenu-toggle { width:22px; height:28px; padding:0; border:0; background:transparent; color:var(--ms-mint); display:grid; place-items:center; }
.ms-submenu-toggle::before { content:''; width:9px; height:9px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; }
.ms-submenu-toggle[aria-expanded=true]::before { transform:rotate(225deg) translate(-2px,-1px); }
.ms-menu .sub-menu { position:absolute; top:calc(100% - 4px); left:-22px; min-width:270px; padding:12px; background:var(--ms-navy); border:1px solid #00e5b040; border-radius:10px; box-shadow:0 18px 30px #0003; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s ease, transform .2s ease, visibility .2s; }
.ms-menu li:hover>.sub-menu, .ms-menu li:focus-within>.sub-menu, .ms-menu li.is-open>.sub-menu { visibility:visible; opacity:1; transform:none; }
.ms-menu .sub-menu a { display:block; padding:10px; font-size:15px; line-height:1.4; border-radius:4px; }
.ms-menu .sub-menu a:hover { background:#ffffff0a; }
.ms-menu-toggle { margin-left:auto; width:44px; height:44px; border:1px solid #ffffff60; border-radius:8px; background:transparent; color:white; }
.ms-menu-toggle__lines, .ms-menu-toggle__lines::before, .ms-menu-toggle__lines::after { display:block; width:21px; height:2px; background:currentColor; margin:auto; position:relative; transition:transform .2s; }
.ms-menu-toggle__lines::before, .ms-menu-toggle__lines::after { content:''; position:absolute; left:0; }
.ms-menu-toggle__lines::before { top:-7px; }.ms-menu-toggle__lines::after { top:7px; }
.ms-menu-toggle[aria-expanded=true] .ms-menu-toggle__lines { background:transparent; }
.ms-menu-toggle[aria-expanded=true] .ms-menu-toggle__lines::before { top:0; transform:rotate(45deg); }
.ms-menu-toggle[aria-expanded=true] .ms-menu-toggle__lines::after { top:0; transform:rotate(-45deg); }
.ms-button { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:38px; padding:9px 18px; border:1px solid transparent; border-radius:999px; font-size:16px; font-weight:700; line-height:1.1; white-space:nowrap; transition:color .25s ease, border-color .25s ease, background-color .25s ease; }
.ms-button--mint { color:var(--ms-navy) !important; background:var(--ms-mint); }
.ms-button--navy { color:white !important; background:var(--ms-blue); box-shadow:0 7px 20px #08065316; }
.ms-button--outline { color:inherit; background:transparent; border-color:currentColor; }
a.ms-button:is(:hover,:focus-visible) { background:transparent; color:white !important; border-color:white; box-shadow:none; }
.ms-light a.ms-button:is(:hover,:focus-visible) { color:var(--ms-blue) !important; border-color:var(--ms-blue); }
a.ms-button--outline:is(:hover,:focus-visible) { background:var(--ms-white); color:var(--ms-navy) !important; border-color:var(--ms-white); }
.ms-light a.ms-button--outline:is(:hover,:focus-visible) { background:var(--ms-blue); color:white !important; border-color:var(--ms-blue); }
.ms-arrow { display:inline-block; transition:transform .25s ease; }
a.ms-button:hover .ms-arrow { transform:translateX(4px); }
.ms-button[aria-disabled=true] { cursor:default; }
.ms-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.ms-actions .ms-button { min-height:55px; padding:16px 31px; }
.ms-pattern { position:relative; isolation:isolate; }
.ms-pattern::after { content:''; position:absolute; bottom:0; inset-inline:0; height:145px; z-index:-1; background:url('../images/pattern-geometric.png') center bottom/580px auto repeat-x; opacity:.22; mask-image:linear-gradient(transparent,#000); pointer-events:none; }
.ms-footer { padding:64px 0 48px; background:var(--ms-navy); }
.ms-footer__grid { display:grid; grid-template-columns:1.7fr 1fr 1fr .8fr 1.1fr; gap:32px; }
.ms-footer__brand .ms-brand { margin:12px 0 42px; }
.ms-footer__brand .ms-brand__type small { display:none; }
.ms-footer__brand p { font-size:14px; line-height:1.6; }
.ms-footer h2 { font-size:18px; line-height:1.5; font-weight:700; color:var(--ms-mint); margin-bottom:18px; }
.ms-footer__links { list-style:none; padding:0; display:grid; gap:9px; font-size:14px; line-height:1.5; }
.ms-footer__links a { transition:color .2s; overflow-wrap:anywhere; }
.ms-footer__bottom { display:flex; align-items:center; justify-content:space-between; padding-top:76px; gap:24px; }
.ms-footer__bottom small { font-size:12px; }.ms-footer__bottom .ms-footer__links { display:flex; gap:8px; font-size:12px; }
.ms-footer__bottom li+li::before { content:'·'; margin-right:8px; }

@media(min-width:901px) {.ms-menu-toggle { display:none !important; }}
@media(max-width:1100px) {.ms-footer__grid { grid-template-columns:1.5fr 1fr 1fr; }.ms-footer__brand { grid-row:span 2; }.ms-footer__grid>div { min-width:0; }}
@media(max-width:900px) {
  .ms-header-space { height:auto; min-height:var(--ms-header-height); }
  .ms-header__inner { flex-wrap:wrap; height:auto; min-height:var(--ms-header-height); gap:0; padding-block:16px; }
  .ms-nav { width:100%; margin:0; }
  .ms-menu { flex-direction:column; align-items:stretch; gap:0; padding-top:12px; }
  .ms-menu>li { flex-wrap:wrap; justify-content:space-between; }
  .ms-menu>li>a { padding:14px 0; }
  .ms-menu .sub-menu { position:static; width:100%; min-width:0; box-shadow:none; border:0; border-left:1px solid #00e5b044; border-radius:0; opacity:1; transform:none; visibility:visible; padding:0 12px; }
  .ms-nav.is-enhanced:not(.is-open) { display:none; }
  .ms-nav.is-enhanced li:not(.is-open)>.sub-menu { display:none; }
  .ms-nav.is-enhanced { max-height:calc(100dvh - var(--ms-header-height) - 46px); overflow:auto; }
}
@media(max-width:782px) {.admin-bar .ms-header.is-fixed { top:46px; }}
@media(max-width:600px) {
  .admin-bar .ms-header.is-fixed { top:0; }
  .ms-footer { padding:45px 0 30px; }.ms-footer__grid { grid-template-columns:1fr 1fr; gap:32px 20px; }
  .ms-footer__brand { grid-column:1/-1; grid-row:auto; }.ms-footer__brand .ms-brand { margin:0 0 20px; }
  .ms-footer__bottom { align-items:flex-start; flex-direction:column; padding-top:40px; gap:14px; }
  .ms-button { white-space:normal; text-align:center; }.ms-actions .ms-button { padding:14px 24px; }
}
@media(prefers-reduced-motion:reduce) {
  .momentum-theme *, .momentum-theme *::before, .momentum-theme *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}

/* Contact call-to-action stays available with custom or fallback menus. */
.ms-nav { display:flex; align-items:center; gap:28px; margin-left:auto; margin-right:0; }
.ms-header__contact { flex-shrink:0; font-size:14px; text-transform:none; }
@media(min-width:901px) and (max-width:1100px) { .ms-menu { gap:20px; }.ms-nav { gap:20px; }.ms-header__inner { gap:25px; } }
@media(max-width:900px) { .ms-nav { display:block; }.ms-header__contact { margin:14px 0; } }

/* Current navigation state, including parent sections and mobile links. */
.ms-menu :is(.current-menu-item,.current-menu-parent,.current-menu-ancestor,.current_page_item,.current_page_parent,.current_page_ancestor,.is-active-branch)>a,
.ms-menu a:is(.is-current,.is-current-parent,[aria-current="page"]) { color:var(--ms-mint); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }
.ms-menu .sub-menu :is(.current-menu-item,.is-active-branch)>a,
.ms-menu .sub-menu a.is-current { background:#00f2ad12; }
.ms-header__contact.is-current { background:transparent; border-color:var(--ms-mint); color:var(--ms-mint) !important; }

/* Footer pattern: teal at rest, muted blue on hover, fading upward. */
.ms-footer.ms-pattern::after {
  height:145px;
  background:#00c9bd;
  opacity:.38;
  filter:none;
  -webkit-mask-image:url('../images/pattern-geometric.png'),linear-gradient(transparent,#000);
  mask-image:url('../images/pattern-geometric.png'),linear-gradient(transparent,#000);
  -webkit-mask-size:512px auto,100% 100%;
  mask-size:512px auto,100% 100%;
  -webkit-mask-position:center bottom,center;
  mask-position:center bottom,center;
  -webkit-mask-repeat:repeat-x,no-repeat;
  mask-repeat:repeat-x,no-repeat;
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
  transition:background-color .3s ease;
}
@media(hover:hover) and (pointer:fine) {
  .ms-footer.ms-pattern.is-pattern-hovered::after { background-color:#7893bf; }
}
.ms-footer.ms-pattern:has(.ms-footer__bottom:focus-within)::after { background-color:#7893bf; }
@media(prefers-reduced-motion:reduce) { .ms-footer.ms-pattern::after { transition:none; } }




/* Global header — Figma V7 parity */
.ms-menu>li:has(>a[href*="/about-us/"]){order:1}
.ms-menu>li:has(>a[href*="/offerings/"]){order:2}
.ms-menu>li.ms-menu__technologies{order:3}
.ms-menu>li:has(>a[href*="/industries/"]){order:4}
.ms-menu>li:has(>a[href*="/insights/"]){order:5}
.ms-menu :is(.current-menu-item,.current-menu-parent,.current-menu-ancestor,.current_page_item,.current_page_parent,.current_page_ancestor,.is-active-branch)>a,
.ms-menu a:is(.is-current,.is-current-parent,[aria-current="page"]){text-decoration:none}
@media(min-width:901px){
  .ms-header__inner{gap:0}
  .ms-nav{flex:1;margin-left:clamp(96px,10.4vw,133px);margin-right:0;gap:0}
  .ms-menu{gap:clamp(28px,3vw,39px)}
  .ms-menu>li>a{padding-block:34px;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:0}
  .ms-submenu-toggle{width:18px;color:var(--ms-mint)}
  .ms-header__contact{min-width:145px;min-height:39px;margin-left:auto;padding:9px 24px;border:1px solid var(--ms-paper);background:transparent!important;color:var(--ms-paper)!important;font-size:13px;font-weight:700}
  .ms-header__contact:hover,.ms-header__contact:focus-visible{border-color:var(--ms-mint);background:var(--ms-mint)!important;color:var(--ms-blue)!important}
}
@media(min-width:901px) and (max-width:1100px){
  .ms-nav{margin-left:46px}
  .ms-menu{gap:18px}
  .ms-header__contact{min-width:132px;padding-inline:18px}
}
