/* ==========================================================================
   Bayesian Infotech — design system v4 ("Daylight")
   Light, airy and animated. Royal blue + signal orange on white,
   deep navy for contrast. Bricolage Grotesque + DM Sans (self-hosted).
   ========================================================================== */

@font-face{font-family:"Bricolage Grotesque";src:url("fonts/bricolage-grotesque.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("fonts/dm-sans.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --ink:#0b1220;
  --navy:#0a1430;
  --text:#4a5468;
  --muted:#6b7588;
  --line:#e4e8f2;
  --paper:#f5f7fd;
  --paper-2:#fff4ec;
  --blue:#2457ff;
  --blue-dark:#1b3fd1;
  --blue-soft:#e8eeff;
  --orange:#ff6a1a;
  --orange-2:#ff9a52;
  --orange-soft:#ffeadd;
  --grad-accent:linear-gradient(100deg,#2457ff 0%,#6a5bff 45%,#ff6a1a 100%);
  --shadow-sm:0 2px 8px rgba(11,18,32,.05);
  --shadow-md:0 16px 40px rgba(24,40,90,.10);
  --shadow-lg:0 30px 70px rgba(24,40,90,.16);
  --ease:cubic-bezier(.2,.8,.2,1);
  --radius:24px;
  --container:1200px;
  --display:"Bricolage Grotesque","DM Sans",system-ui,sans-serif;
  --body:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

/* ---------- Base ---------- */
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{
  margin:0;background:#fff;color:var(--text);font-family:var(--body);font-size:17px;line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;animation:pageIn .7s var(--ease) both;
}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
h1,h2,h3{margin-top:0;color:var(--ink);font-family:var(--display);font-weight:700;line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(42px,6vw,84px);margin-bottom:26px;letter-spacing:-.045em}
h2{font-size:clamp(32px,4.4vw,58px);margin-bottom:22px}
h3{font-size:22px;margin-bottom:12px;letter-spacing:-.02em;line-height:1.2}
p,ul,ol,dl,dd{margin-top:0}
p{margin-bottom:18px;text-wrap:pretty}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block;height:auto}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
::selection{background:var(--blue);color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.container{width:min(var(--container),calc(100% - 64px));margin-inline:auto}
.section{position:relative;padding:120px 0}
.tinted{background:var(--paper)}
.narrow{max-width:800px}
.skip-link{position:fixed;top:-80px;left:20px;z-index:300;padding:12px 18px;border:2px solid var(--ink);border-radius:12px;background:#fff}
.skip-link:focus{top:12px}
.ico{width:1em;height:1em;flex:none}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed;top:0;left:0;z-index:250;width:100%;height:3px;background:var(--grad-accent);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}

/* ---------- Eyebrow / pill ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;padding:0;background:none;color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.4}
.eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px var(--orange-soft)}
.eyebrow.light{color:var(--orange-2);background:none;border:0}
.eyebrow.light:before{box-shadow:0 0 0 4px rgba(255,106,26,.22)}
.pill{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px;padding:9px 18px 9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;box-shadow:var(--shadow-sm);color:var(--ink);font-size:14px;font-weight:600}
.pulse{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.55);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

/* ---------- Section headings ---------- */
.section-title{max-width:780px;margin-bottom:68px}
.section-title.centered{margin-inline:auto;text-align:center}
.section-title>p:last-child{margin-bottom:0;font-size:19px}
.section-title h2 span,.section-top h2 span,.cta-inner h2 span,.grad-text{background:var(--grad-accent);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 8s linear infinite}
.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:52px}
.section-top h2{margin-bottom:0}
@keyframes shine{to{background-position:200% 0}}

/* ---------- Buttons & links ---------- */
.button{
  position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-height:56px;padding:15px 30px;border:1.5px solid var(--ink);border-radius:999px;background:var(--ink);color:#fff;
  font-weight:700;font-size:16px;line-height:1.2;transform:translate(var(--tx,0px),var(--ty,0px));
  transition:transform .25s var(--ease),color .35s,border-color .35s,box-shadow .35s;
}
.button:before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:var(--blue);transform:translateY(102%);transition:transform .45s var(--ease)}
.button:hover:before{transform:translateY(0)}
.button:hover{color:#fff;border-color:var(--blue);box-shadow:0 16px 34px rgba(36,87,255,.35)}
.button:has(> span[aria-hidden]){padding:8px 8px 8px 28px}
.button>span[aria-hidden]{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--orange);color:#fff;font-size:17px;transition:transform .45s var(--ease)}
.button:hover>span[aria-hidden]{transform:rotate(45deg) scale(1.05)}
.button.small{min-height:46px;padding:10px 22px;font-size:14.5px}
.button.small:has(> span[aria-hidden]){padding:6px 6px 6px 20px}
.button.small>span[aria-hidden]{width:32px;height:32px;font-size:14px}
.button.ghost,.button.secondary{background:transparent;border-color:rgba(11,18,32,.2);color:var(--ink)}
.button.ghost:before,.button.secondary:before{background:var(--ink)}
.button.ghost:hover,.button.secondary:hover{color:#fff;border-color:var(--ink);box-shadow:none}
.text-link{position:relative;display:inline-block;padding-bottom:5px;color:var(--ink);font-weight:700;font-size:15px;transition:color .2s}
.text-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--orange);transform-origin:left;transition:transform .4s var(--ease),background .3s}
.text-link:hover{color:var(--blue)}
.text-link:hover:after{background:var(--blue);transform:scaleX(.55)}
.text-link.light{color:#fff}
.text-link.light:hover{color:var(--orange-2)}

/* ---------- Header & navigation ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.78);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,background .3s}
.site-header.is-scrolled{border-bottom-color:var(--line);background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(24,40,90,.06)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;transition:min-height .3s var(--ease)}
.is-scrolled .nav-wrap{min-height:70px}
.brand{flex:none;width:190px}
.brand img{width:100%;height:auto}
#main-nav{display:flex;align-items:center;gap:2px}
#main-nav a.nav-link{position:relative;padding:10px 15px;border-radius:999px;color:var(--ink);font-size:15px;font-weight:600;white-space:nowrap;transition:background .25s,color .25s}
#main-nav a.nav-link:hover{background:var(--paper);color:var(--blue)}
#main-nav a.nav-link[aria-current=page]{background:var(--blue-soft);color:var(--blue)}
#main-nav>.button.small{margin-left:14px}
.nav-item{position:relative;display:flex;align-items:center}
.nav-item>a.nav-link{padding-right:6px}
.dropdown-toggle{padding:10px 10px 10px 2px;border:0;border-radius:999px;background:none;color:var(--ink);line-height:1}
.dropdown-toggle span{display:block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;font-size:0;transform:rotate(45deg) translateY(-2px);transition:transform .3s var(--ease)}
.has-dropdown:hover .dropdown-toggle span,.has-dropdown.is-open .dropdown-toggle span{transform:rotate(225deg) translate(-1px,-1px)}
.dropdown{position:absolute;top:100%;left:-160px;z-index:110;width:600px;padding:18px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:30% 0;transition:opacity .25s,transform .3s var(--ease),visibility .25s}
.dropdown:before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.dropdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.dropdown-grid a{padding:13px 16px;border-radius:14px;color:var(--ink);font-size:15px;font-weight:600;transition:background .2s,color .2s,padding-left .25s var(--ease)}
.dropdown-grid a:hover{padding-left:22px;background:var(--blue-soft);color:var(--blue)}
.dropdown-all{display:block;margin-top:10px;padding:14px 16px 4px;border-top:1px solid var(--line);color:var(--blue);font-size:15px;font-weight:700}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown,.has-dropdown.is-open .dropdown{opacity:1;visibility:visible;transform:none}
.menu-toggle{display:none;width:48px;height:48px;padding:13px;border:0;border-radius:14px;background:var(--paper)}
.menu-toggle span{display:block;height:2px;margin:5px 0;border-radius:2px;background:var(--ink);transition:transform .3s var(--ease),opacity .2s}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero (home) ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#f6f8ff}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(520px circle at var(--hx,70%) var(--hy,30%),rgba(36,87,255,.10),transparent 65%)}
.hero-bg{position:absolute;inset:0;z-index:-2;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}
.blob.b1{left:-8%;top:-18%;width:620px;height:620px;background:#a9c2ff;opacity:.7;animation:orbit1 20s ease-in-out infinite;translate:calc(var(--px,0)*30px) calc(var(--py,0)*30px)}
.blob.b2{right:-6%;top:6%;width:520px;height:520px;background:#ffc9a6;opacity:.75;animation:orbit2 24s ease-in-out infinite;translate:calc(var(--px,0)*-40px) calc(var(--py,0)*30px)}
.blob.b3{left:38%;bottom:-30%;width:560px;height:460px;background:#d3c9ff;opacity:.7;animation:orbit3 28s ease-in-out infinite;translate:calc(var(--px,0)*20px) calc(var(--py,0)*-30px)}
@keyframes orbit1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(90px,60px) scale(1.12)}}
@keyframes orbit2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-80px,70px) scale(1.1)}}
@keyframes orbit3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-60px,-50px) scale(1.15)}}
.grid-lines{position:absolute;inset:0;background-image:radial-gradient(rgba(36,60,140,.18) 1.2px,transparent 1.4px);background-size:30px 30px;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 40%,#000,transparent 78%);mask-image:radial-gradient(ellipse 75% 70% at 50% 40%,#000,transparent 78%)}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;padding-block:104px 116px}
.hero h1{font-size:clamp(40px,4.3vw,62px);line-height:1.04}
.hero-sub{max-width:540px;margin-bottom:38px;font-size:20px;line-height:1.7;color:var(--text)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:52px}
.hero-proof{display:flex;flex-wrap:wrap;gap:14px 44px;max-width:560px;margin:0;padding:28px 0 0;border-top:1px solid rgba(11,18,32,.12);list-style:none}
.hero-proof li{color:var(--muted);font-size:15px;font-weight:500}
.hero-proof strong{display:block;color:var(--ink);font-family:var(--display);font-size:42px;font-weight:700;line-height:1.05;letter-spacing:-.04em}

/* Headline word reveal (JS wraps words) */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .14em;margin:0 -.04em -.14em}
.w>span{display:inline-block;transform:translateY(112%);animation:wordUp .9s var(--ease) forwards;animation-delay:calc(.12s + var(--i,0)*.07s)}
@keyframes wordUp{to{transform:none}}
.gtext{background:var(--grad-accent);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.w>span.gtext{animation:wordUp .9s var(--ease) forwards,shine 7s linear infinite;animation-delay:calc(.12s + var(--i,0)*.07s),0s}
html:not(.split-ready) .grad,html:not(.split-ready) .page-hero h1 span{background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Hero entrance for the rest of the copy */
.hero-copy>.pill,.hero-sub,.hero-actions,.hero-proof{animation:fadeUp .9s var(--ease) both}
.hero-copy>.pill{animation-delay:.05s}
.hero-sub{animation-delay:.55s}
.hero-actions{animation-delay:.7s}
.hero-proof{animation-delay:.85s}
.hero-visual{animation:visualIn 1.2s var(--ease) .4s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes visualIn{from{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:none}}

/* Hero visual: light dashboard */
.hero-visual{position:relative;min-height:540px}
.glass{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-lg)}
.dash{position:absolute;left:6%;right:2%;top:70px;padding:24px 26px 28px;border-radius:30px;animation:floaty 8s ease-in-out infinite;translate:calc(var(--px,0)*14px) calc(var(--py,0)*10px)}
.dash-top{display:flex;align-items:center;gap:7px;margin-bottom:24px}
.dash-top i{width:11px;height:11px;border-radius:50%;background:#e4e8f2}
.dash-top i:first-child{background:#ff6b6b}.dash-top i:nth-child(2){background:#ffc34d}.dash-top i:nth-child(3){background:#34d399}
.dash-top span{margin-left:10px;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.02em}
.dash-chart{display:flex;align-items:flex-end;gap:12px;height:150px;margin-bottom:26px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.dash-chart b{flex:1;height:var(--h);border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#6e93ff,#2457ff);transform-origin:bottom;animation:grow 1.4s var(--ease) both}
.dash-chart b:nth-child(1){animation-delay:.9s}.dash-chart b:nth-child(2){animation-delay:1s}.dash-chart b:nth-child(3){animation-delay:1.1s}.dash-chart b:nth-child(4){animation-delay:1.2s}.dash-chart b:nth-child(5){animation-delay:1.3s}.dash-chart b:nth-child(6){animation-delay:1.4s}.dash-chart b:nth-child(7){animation-delay:1.5s}.dash-chart b:nth-child(8){animation-delay:1.6s}
.dash-chart b:nth-child(even){background:linear-gradient(180deg,#ffa56b,#ff6a1a)}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.dash-rows{display:grid;gap:15px;margin:0;padding:0;list-style:none}
.dash-rows li{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:14px;color:var(--ink);font-size:13px;font-weight:600}
.dash-rows em{position:relative;display:block;height:9px;border-radius:9px;background:#edf0f8;overflow:hidden}
.dash-rows em:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:9px;background:linear-gradient(90deg,#2457ff,#6a8bff);transform-origin:left;animation:fill 1.6s var(--ease) 1.2s both}
.dash-rows li:nth-child(2) em:after{background:linear-gradient(90deg,#ff6a1a,#ffa56b)}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.chip{position:absolute;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:16px;color:var(--ink);font-size:14px;font-weight:700;animation:floaty 7s ease-in-out infinite}
.chip .ico{font-size:19px;color:var(--blue)}
.chip.c1{left:-2%;top:0;animation-delay:-1s;translate:calc(var(--px,0)*-26px) calc(var(--py,0)*-18px)}
.chip.c2{right:-2%;top:0;animation-delay:-3s;translate:calc(var(--px,0)*30px) calc(var(--py,0)*-14px)}
.chip.c2 .ico,.chip.c4 .ico{color:var(--orange)}
.chip.c3{left:2%;bottom:0;animation-delay:-2s;translate:calc(var(--px,0)*-22px) calc(var(--py,0)*22px)}
.chip.c4{right:4%;bottom:-3%;animation-delay:-4s;translate:calc(var(--px,0)*26px) calc(var(--py,0)*20px)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;padding:26px 0;background:var(--ink)}
.marquee-track{display:flex;gap:56px;width:max-content;animation:marquee 40s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{display:inline-flex;align-items:center;gap:56px;color:rgba(255,255,255,.82);font-family:var(--display);font-size:26px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.marquee-track span:after{content:"✦";color:var(--orange);font-size:18px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Duo cards (home approach) ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.duo-card{padding:18px 18px 42px;border:1px solid var(--line);border-radius:32px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.duo-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border-color:#c9d6ff}
.duo-card>.eyebrow,.duo-card>h3,.duo-card>p,.duo-card>a{margin-inline:26px}
.duo-card>.eyebrow{margin-top:34px}
.duo-card h3{font-size:32px;line-height:1.1}
.duo-art{padding:26px;border-radius:24px;background:linear-gradient(135deg,var(--blue-soft),var(--paper-2));overflow:hidden}
.duo-art img{width:100%;max-width:420px;margin-inline:auto;transition:transform .7s var(--ease)}
.duo-card:hover .duo-art img{transform:scale(1.07) translateY(-6px)}

/* ---------- Feature row (inner pages) ---------- */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-top:70px}
.page-hero+.section .feature-row{margin-top:0}
.feature-row>div>p{max-width:520px}
.feature-row>img{width:100%;padding:30px;border-radius:32px;background:linear-gradient(135deg,var(--blue-soft),var(--paper-2));box-shadow:var(--shadow-md)}
.feature-row>img.dark-art{padding:22px;background:var(--navy)}
.feature-row.reversed>div{order:2}
.feature-row.reversed>img{order:1}
.feature-row .button{margin-top:20px}

/* ---------- Icon badges ---------- */
.service-icon,.industry-icon,.model-icon,.timeline-icon,.step-icon,.perk-icon,.fact-icon{
  display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:18px;
  background:var(--blue-soft);color:var(--blue);font-size:27px;transition:transform .5s var(--ease),background .35s,color .35s;
}
.service-icon,.industry-icon,.model-icon{margin-bottom:26px}

/* ---------- Spotlight (JS sets --mx/--my) ---------- */
.spot{position:relative}
.spot:after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(36,87,255,.10),transparent 62%);opacity:0;transition:opacity .35s}
.spot:hover:after{opacity:1}

/* ---------- Service cards ---------- */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.service-card{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:34px 28px 28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.service-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad-accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.service-card:hover{transform:translateY(-10px);border-color:#c9d6ff;box-shadow:var(--shadow-lg)}
.service-card:hover:before{transform:scaleX(1)}
.service-card:hover .service-icon{transform:rotate(-8deg) scale(1.08);background:var(--blue);color:#fff}
.service-card h3{font-size:22px}
.service-card h3 a:hover{color:var(--blue)}
.service-card p{flex:1;font-size:15.5px;line-height:1.7}
.service-card .text-link{align-self:flex-start;font-size:14px}
.service-grid:has(> :nth-child(3):last-child),.service-grid:has(> :nth-child(5):last-child),.service-grid:has(> :nth-child(6):last-child){grid-template-columns:repeat(3,1fr)}

/* ---------- Dark sections (navy) ---------- */
.industries-section,.why-section{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff}
.industries-section:before,.why-section:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 50% 70% at 0 0,rgba(36,87,255,.45),transparent 70%),radial-gradient(ellipse 45% 60% at 100% 100%,rgba(255,106,26,.28),transparent 70%)}
.industries-section h2,.why-section h2,.why-section h3{color:#fff}
.industry-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.industry-tile{display:flex;align-items:center;gap:16px;padding:24px 26px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.05);backdrop-filter:blur(8px);transition:transform .4s var(--ease),background .3s,border-color .3s}
.industry-tile>span{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.1);color:var(--orange-2);font-size:24px;transition:background .3s,color .3s,transform .5s var(--ease)}
.industry-tile strong{flex:1;color:#fff;font-size:17px}
.industry-tile em{color:var(--orange-2);font-style:normal;transition:transform .35s var(--ease)}
.industry-tile:hover{transform:translateY(-6px);border-color:rgba(255,154,82,.6);background:rgba(255,255,255,.1);color:#fff}
.industry-tile:hover>span{background:var(--orange);color:#fff;transform:rotate(-8deg)}
.industry-tile:hover em{transform:translateX(8px)}

/* ---------- Operations tabs ---------- */
.operations-heading{position:relative;overflow:hidden;max-width:none;margin:0 auto 34px;padding:70px 32px;border-radius:32px;text-align:center;background:linear-gradient(rgba(10,20,48,.74),rgba(27,63,209,.6)),url("images/operations-banner.jpg") center/cover}
.operations-heading:after{display:none!important}
.operations-heading h2{margin:0;color:#fff}
.operations-heading .eyebrow{color:var(--orange-2)}
.operations-box{overflow:hidden;border:1px solid var(--line);border-radius:32px;background:#fff;box-shadow:var(--shadow-md)}
.tab-list{display:flex;gap:6px;padding:10px;background:var(--paper)}
.tab-list button{flex:1;padding:17px;border:0;border-radius:20px;background:transparent;color:var(--muted);font-size:16px;font-weight:700;transition:background .25s,color .25s,box-shadow .25s}
.tab-list button:hover{background:#eaeefb;color:var(--ink)}
.tab-list button[aria-selected=true]{background:#fff;color:var(--blue);box-shadow:0 8px 22px rgba(24,40,90,.10)}
.tab-panel{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:56px 60px;animation:fadeUp .5s var(--ease)}
.tab-panel[hidden]{display:none}
.tab-panel h3{font-size:34px}
.check-list{margin:24px 0;padding:0;list-style:none}
.check-list li{position:relative;margin-bottom:16px;padding-left:38px;color:var(--ink);font-size:16px;font-weight:500}
.check-list li:before{content:"✓";position:absolute;left:0;top:1px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:800}

/* ---------- Capabilities ---------- */
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cap-card{position:relative;overflow:hidden;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.cap-card:before{content:"";display:block;width:46px;height:5px;margin-bottom:24px;border-radius:5px;background:var(--orange);transition:width .5s var(--ease)}
.cap-card:hover:before{width:100%}
.cap-card h3{font-size:22px;margin-bottom:8px}
.cap-card p{margin:0;font-size:15.5px}
.cap-card:hover{transform:translateY(-8px);border-color:#c9d6ff;box-shadow:var(--shadow-md)}

/* ---------- Home timeline ---------- */
.home-timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin:0;padding:0;list-style:none}
.home-timeline:before{content:"";position:absolute;top:26px;left:5%;right:5%;height:2px;background:repeating-linear-gradient(90deg,#b9c8f5 0 8px,transparent 8px 16px)}
.home-timeline li{position:relative;padding-top:72px}
.home-timeline li>span{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:5px solid var(--paper);border-radius:50%;background:var(--blue);color:#fff;font-family:var(--display);font-size:16px;font-weight:700;box-shadow:0 10px 24px rgba(36,87,255,.35);transition:transform .4s var(--ease),background .3s}
.home-timeline li:hover>span{transform:scale(1.15);background:var(--orange)}
.home-timeline h3{font-size:22px;margin-bottom:6px}
.home-timeline p{margin:0;font-size:15.5px}

/* ---------- Engagement models ---------- */
.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.model-card{overflow:hidden;padding:38px 34px;border:1px solid var(--line);border-radius:30px;background:#fff;transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.model-card:hover{transform:translateY(-10px);border-color:#c9d6ff;box-shadow:var(--shadow-lg)}
.model-card:hover .model-icon{background:var(--blue);color:#fff;transform:rotate(-8deg) scale(1.08)}
.model-card h3{font-size:26px}
.model-card p{font-size:15.5px}
.model-lead{color:var(--ink)!important;font-size:16px!important;font-weight:700}
.model-card .check-list{margin:20px 0 0}
.model-card .check-list li{font-size:15px}

/* ---------- Why / principles ---------- */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.why-section p{color:#b8c3e3}
.why-section .button{margin-top:10px;background:#fff;border-color:#fff;color:var(--ink)}
.why-section .button:before{background:var(--orange)}
.why-section .button:hover{color:#fff;border-color:var(--orange);box-shadow:0 16px 34px rgba(255,106,26,.4)}
.principles>div{position:relative;padding:28px 0 26px 68px;border-bottom:1px solid rgba(255,255,255,.14);transition:padding-left .4s var(--ease)}
.principles>div:first-child{padding-top:0}
.principles>div:hover{padding-left:80px}
.principles>div>span{position:absolute;left:0;top:26px;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:rgba(255,106,26,.18);color:var(--orange-2);font-family:var(--display);font-size:16px;font-weight:700}
.principles>div:first-child>span{top:0}
.principles h3{margin-bottom:8px;font-size:25px}
.principles p{margin:0;font-size:16px}

/* ---------- Articles ---------- */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.article-card{overflow:hidden;border:1px solid var(--line);border-radius:30px;background:#fff;transition:transform .45s var(--ease),box-shadow .45s}
.article-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}
.article-art{position:relative;display:flex;align-items:center;justify-content:center;height:210px;overflow:hidden;background:linear-gradient(135deg,#2457ff,#6a8bff)}
.article-art:before,.article-art:after{content:"";position:absolute;right:-60px;top:-70px;width:250px;height:250px;border:1px solid rgba(255,255,255,.35);border-radius:50%;transition:transform .8s var(--ease)}
.article-art:after{right:-20px;top:-30px;width:170px;height:170px}
.article-card:hover .article-art:before{transform:scale(1.2)}
.article-art.art-1{background:linear-gradient(135deg,#ff6a1a,#ffa56b)}
.article-art.art-2{background:linear-gradient(135deg,#0a1430,#2457ff)}
.article-art>span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:88px;height:88px;border:1px solid rgba(255,255,255,.4);border-radius:28px;background:rgba(255,255,255,.2);backdrop-filter:blur(8px);color:#fff;font-size:40px;transition:transform .5s var(--ease)}
.article-card:hover .article-art>span{transform:scale(1.12) rotate(-6deg)}
.article-content{padding:32px}
.article-content .eyebrow{margin-bottom:14px;font-size:12px}
.article-content h3{font-size:23px;line-height:1.2}
.article-content h3 a:hover{color:var(--blue)}
.article-content p{font-size:15.5px}

/* ---------- FAQ ---------- */
.faq-wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}
.faq-list details{margin-bottom:14px;padding:26px 30px;border:1px solid var(--line);border-radius:22px;background:#fff;transition:box-shadow .3s,border-color .3s}
.faq-list details:hover{border-color:#c9d6ff}
.faq-list details[open]{border-color:#c9d6ff;box-shadow:var(--shadow-md)}
.faq-list summary{position:relative;padding-right:48px;list-style:none;color:var(--ink);font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:-3px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-family:var(--body);font-size:22px;font-weight:500;transition:transform .4s var(--ease),background .3s,color .3s}
.faq-list details[open] summary:after{content:"−";background:var(--blue);color:#fff;transform:rotate(180deg)}
.faq-list details[open] p{animation:fadeUp .45s var(--ease)}
.faq-list p{margin:14px 0 0;font-size:16px}

/* ---------- CTA band ---------- */
.cta-band{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#1b3fd1,#2457ff 55%,#4f7bff)}
.cta-band:before{content:"";position:absolute;z-index:-1;right:-120px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,26,.75),transparent 68%);animation:orbit2 14s ease-in-out infinite}
.cta-band:after{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) 1.2px,transparent 1.4px);background-size:30px 30px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 70%);mask-image:linear-gradient(90deg,#000,transparent 70%)}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:96px}
.cta-inner h2{margin:0;color:#fff;font-size:clamp(34px,5vw,64px)}
.cta-inner h2 span{background:none;color:#fff;-webkit-text-fill-color:#fff}
.cta-band .eyebrow{color:#ffd2b5}
.cta-band .button{flex:none;background:#fff;border-color:#fff;color:var(--ink)}
.cta-band .button:before{background:var(--orange)}
.cta-band .button:hover{color:#fff;border-color:var(--orange);box-shadow:0 18px 38px rgba(255,106,26,.45)}

/* ---------- Footer ---------- */
.site-footer{background:#060b18;color:#aab3cc}
.footer-grid{display:grid;grid-template-columns:1.5fr 1.1fr .9fr 1.2fr;gap:56px;padding-block:88px 64px}
.footer-logo{display:inline-block;margin-bottom:24px;padding:12px 18px;border-radius:16px;background:#fff}
.footer-logo img{width:168px;height:auto}
.footer-grid h3{position:relative;margin-bottom:24px;padding-bottom:14px;color:#fff;font-size:18px;letter-spacing:-.01em}
.footer-grid h3:after{content:"";position:absolute;left:0;bottom:0;width:28px;height:3px;border-radius:3px;background:var(--orange)}
.footer-grid p{font-size:15px;line-height:1.85;color:#8f99b8}
.footer-grid>div>a:not(.footer-logo):not(.footer-cta){display:block;margin-bottom:12px;font-size:15px;transition:color .2s,transform .3s var(--ease)}
.footer-grid>div>a:not(.footer-logo):not(.footer-cta):hover{color:var(--orange-2);transform:translateX(6px)}
.footer-address strong{display:inline-block;margin-bottom:4px;color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.footer-email a{display:inline!important;margin:0!important;color:var(--orange-2)}
.footer-email a:hover{color:#fff!important;transform:none!important}
.footer-cta{display:inline-block;margin:6px 0 18px;padding:14px 24px;border-radius:999px;background:var(--orange);color:#fff!important;font-size:15px;font-weight:700;transition:transform .3s var(--ease),box-shadow .3s,background .3s}
.footer-cta:hover{transform:translateY(-3px);background:#ff7d36;box-shadow:0 14px 30px rgba(255,106,26,.4)}
.domain{color:#6d7798;font-size:14px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding-block:26px;border-top:1px solid rgba(255,255,255,.08)}
.footer-bottom p{margin:0;color:#6d7798;font-size:14px}

/* ---------- Inner page hero ---------- */
.page-hero{position:relative;isolation:isolate;overflow:hidden;padding:116px 0 100px;background:#f6f8ff}
.page-hero:before{content:"";position:absolute;z-index:-1;left:-6%;top:-40%;width:560px;height:560px;border-radius:50%;background:#b4c8ff;filter:blur(90px);opacity:.75;animation:orbit1 20s ease-in-out infinite}
.page-hero:after{content:"";position:absolute;z-index:-1;right:-4%;bottom:-50%;width:520px;height:520px;border-radius:50%;background:#ffc9a6;filter:blur(90px);opacity:.8;animation:orbit2 24s ease-in-out infinite}
.page-hero .container{position:relative}
.page-hero .container:before{content:"";position:absolute;z-index:-1;inset:-120px -60px;background-image:radial-gradient(rgba(36,60,140,.16) 1.2px,transparent 1.4px);background-size:30px 30px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 70% 30%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 70% 30%,#000,transparent 75%)}
.page-hero h1{max-width:960px;font-size:clamp(40px,5.6vw,80px)}
.page-hero .lead{max-width:690px;margin:0;font-size:21px;line-height:1.7;animation:fadeUp .9s var(--ease) .5s both}
.page-hero .eyebrow{animation:fadeUp .8s var(--ease) both}
.page-hero .hero-actions{margin:36px 0 0;animation:fadeUp .9s var(--ease) .65s both}

/* ---------- Process panel (inner pages) ---------- */
.process-design{padding:110px 0;background:var(--paper)}
.process-panel{padding:68px 52px 60px;border:1px solid var(--line);border-radius:40px;background:#fff;box-shadow:var(--shadow-sm)}
.process-design h2{max-width:900px;margin-bottom:0}
.steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:100px}
.steps:before{content:"";position:absolute;left:16.6%;right:16.6%;top:0;height:2px;background:repeating-linear-gradient(90deg,#b9c8f5 0 8px,transparent 8px 16px)}
.steps article{position:relative;min-height:250px;padding:66px 28px 30px;border:1px solid var(--line);border-radius:26px;background:var(--paper);text-align:center;transition:transform .45s var(--ease),box-shadow .45s,background .3s}
.steps article:hover{transform:translateY(-10px);background:#fff;box-shadow:var(--shadow-lg)}
.step-icon{position:absolute;top:-36px;left:50%;width:72px;height:72px;border:5px solid #fff;border-radius:50%;background:var(--blue);color:#fff;font-size:30px;box-shadow:0 12px 26px rgba(36,87,255,.35);translate:-50% 0}
.steps article:hover .step-icon{background:var(--orange);transform:scale(1.1) rotate(-8deg)}
.step-label{margin-bottom:10px;color:var(--orange);font-size:13px;font-weight:700;letter-spacing:.14em}
.steps h3{font-size:24px}
.steps p:last-child{margin:0;font-size:16px}
.notice{margin-top:44px;padding:42px;border:1px solid var(--line);border-left:5px solid var(--orange);border-radius:24px;background:var(--paper)}
.notice h3{margin-bottom:10px;font-size:28px}
.notice .button{margin-top:8px}

/* ---------- Industries page ---------- */
.industry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.industry-card{overflow:hidden;padding:40px;border:1px solid var(--line);border-radius:32px;background:#fff;transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.industry-card:hover{transform:translateY(-10px);border-color:#c9d6ff;box-shadow:var(--shadow-lg)}
.industry-card:hover .industry-icon{background:var(--blue);color:#fff;transform:rotate(-8deg) scale(1.08)}
.industry-card h3{margin-bottom:4px;font-size:30px}
.industry-sub{margin-bottom:18px;font-size:15px}
.industry-card dl{margin:0 0 24px}
.industry-card dt{margin-top:18px;color:var(--orange);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.industry-card dd{margin:6px 0 0;font-size:16px;line-height:1.75}

/* ---------- Approach page ---------- */
.timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin:0;padding:0;list-style:none}
.timeline:before{content:"";position:absolute;top:38px;left:9%;right:9%;height:2px;background:repeating-linear-gradient(90deg,#b9c8f5 0 8px,transparent 8px 16px)}
.timeline-step{position:relative;padding:0 6px;text-align:center}
.timeline-icon{position:relative;width:78px;height:78px;margin:0 auto 22px;border:5px solid #fff;border-radius:50%;background:var(--blue);color:#fff;font-size:30px;box-shadow:0 12px 28px rgba(36,87,255,.3)}
.timeline-step:hover .timeline-icon{background:var(--orange);transform:scale(1.1) rotate(-8deg)}
.timeline-num{display:block;margin-bottom:6px;color:var(--orange);font-size:13px;font-weight:700;letter-spacing:.14em}
.timeline-step h3{margin-bottom:8px;font-size:23px}
.timeline-step p{font-size:15.5px}
.timeline-4{grid-template-columns:repeat(4,1fr)}
.timeline-4:before{left:12.5%;right:12.5%}
.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tech-group{padding:32px;border:1px solid var(--line);border-radius:24px;background:#fff;transition:transform .45s var(--ease),box-shadow .45s}
.tech-group:hover{transform:translateY(-8px);box-shadow:var(--shadow-md)}
.tech-group h3{margin-bottom:16px;padding-bottom:16px;border-bottom:2px solid var(--blue-soft);font-size:22px}
.tech-group ul{margin:0;padding:0;list-style:none}
.tech-group li{position:relative;padding:6px 0 6px 26px;font-size:15.5px}
.tech-group li:before{content:"";position:absolute;left:0;top:16px;width:9px;height:9px;border-radius:50%;background:var(--orange)}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.contact-detail{max-width:400px;margin-top:36px}
.contact-detail>span{display:block;margin-bottom:10px;color:var(--orange);font-size:12px;font-weight:700;letter-spacing:.16em}
.contact-detail strong{color:var(--ink);font-family:var(--display);font-size:24px;letter-spacing:-.02em}
.contact-detail p{font-size:16px}
.contact-detail a:not(.text-link){border-bottom:2px solid var(--orange-soft);color:var(--ink);transition:color .2s,border-color .2s}
.contact-detail a:not(.text-link):hover{border-color:var(--blue);color:var(--blue)}
.contact-detail .text-link{margin-top:4px}
.form-box{padding:46px;border:1px solid var(--line);border-radius:34px;background:#fff;box-shadow:var(--shadow-lg)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
form label{display:block;margin-bottom:22px;color:var(--ink);font-size:14px;font-weight:700}
form label>span:not(:last-child){color:var(--orange)}
input,select,textarea{display:block;width:100%;min-height:54px;margin-top:9px;padding:14px 18px;border:1.5px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);font-size:16px;transition:border-color .25s,box-shadow .25s,background .25s}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);background:#fff;box-shadow:0 0 0 5px rgba(36,87,255,.14)}
input::placeholder,textarea::placeholder{color:#7d879b}
.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-weight:500;line-height:1.6}
.checkbox-label input{flex:none;width:19px;height:19px;min-height:19px;margin-top:3px;accent-color:var(--blue)}
.checkbox-label a{color:var(--blue);text-decoration:underline}
.form-note{margin:18px 0 0;color:var(--muted);font-size:13.5px;line-height:1.7}
.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
#enquiry-result{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}
#enquiry-result h3{font-size:26px}
#enquiry-result p,#prepared-message{font-size:14px}
#copy-status{margin:15px 0 0}
.map-section{padding:0 0 120px}
.map-card{display:grid;grid-template-columns:1.6fr 1fr;overflow:hidden;border:1px solid var(--line);border-radius:34px;background:#fff;box-shadow:var(--shadow-md)}
.map-card iframe{display:block;width:100%;height:100%;min-height:440px;border:0;background:var(--paper)}
.map-info{display:flex;flex-direction:column;justify-content:center;padding:46px 42px}
.map-info .eyebrow{align-self:flex-start}
.map-info h3{font-size:32px}
.map-info p:not(.eyebrow){font-size:16px;line-height:1.85}
.map-info .button{align-self:flex-start;margin-top:6px}

/* ---------- Article pages ---------- */
.article-body{max-width:820px;padding-block:96px}
.article-body>section{margin-top:50px}
.article-body h2{margin-top:46px;font-size:36px}
.article-body p{font-size:18px;line-height:1.85}
.article-body .text-link{margin-bottom:28px}

/* ---------- Story / facts ---------- */
.story-section{background:#fff}
.story-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}
.story-copy>p{max-width:570px}
.story-copy .button{margin-top:12px}
.story-facts{display:grid;gap:16px}
.fact{display:grid;grid-template-columns:62px 1fr;align-items:center;column-gap:22px;padding:26px 30px;border:1px solid var(--line);border-radius:26px;background:#fff;transition:transform .4s var(--ease),box-shadow .4s,border-color .3s}
.fact:hover{transform:translateX(10px);border-color:#c9d6ff;box-shadow:var(--shadow-md)}
.fact:hover .fact-icon{background:var(--blue);color:#fff;transform:rotate(-8deg) scale(1.08)}
.fact-icon{grid-row:1/3;width:62px;height:62px;font-size:27px}
.fact strong{align-self:end;color:var(--ink);font-family:var(--display);font-size:30px;font-weight:700;line-height:1.05;letter-spacing:-.03em}
.fact p{align-self:start;margin:4px 0 0;font-size:15px}

/* ---------- Clients ---------- */
.clients-section{background:var(--paper)}
.clients-section .section-title{margin-bottom:52px}
.client-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin:0;padding:0;list-style:none}
.client{display:flex;align-items:center;justify-content:center;width:calc(25% - 15px);min-width:210px;height:116px;padding:20px 28px;border:1px solid var(--line);border-radius:24px;background:#fff;transition:transform .4s var(--ease),box-shadow .4s,border-color .3s}
.client img{width:100%;max-width:170px;max-height:50px;object-fit:contain;filter:grayscale(1);opacity:.65;transition:filter .35s,opacity .35s,transform .4s var(--ease)}
.client:hover{transform:translateY(-8px);border-color:#c9d6ff;box-shadow:var(--shadow-md)}
.client:hover img{filter:none;opacity:1;transform:scale(1.08)}

/* ---------- Careers ---------- */
.careers-actions{margin:38px 0 0}
.perk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.perk{overflow:hidden;padding:34px 30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.perk:hover{transform:translateY(-8px);border-color:#c9d6ff;box-shadow:var(--shadow-md)}
.perk:hover .perk-icon{background:var(--blue);color:#fff;transform:rotate(-8deg) scale(1.08)}
.perk-icon{margin-bottom:24px;font-size:26px}
.perk h3{font-size:23px}
.perk p{margin:0;font-size:15.5px}
.role-count{margin:0;color:var(--muted);font-size:16px}
.role-count strong{color:var(--ink);font-family:var(--display);font-size:30px}
.role-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.filter-btn{padding:11px 22px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:15px;font-weight:600;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.filter-btn:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
.filter-btn[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:0 10px 24px rgba(11,18,32,.25)}
.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.role-card{display:flex;flex-direction:column;overflow:hidden;padding:34px;border:1px solid var(--line);border-radius:30px;background:#fff;transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.role-card[hidden]{display:none}
.role-card:hover{transform:translateY(-8px);border-color:#c9d6ff;box-shadow:var(--shadow-lg)}
.role-card:not([hidden]){animation:fadeUp .5s var(--ease)}
.role-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.role-tag{padding:6px 14px;border-radius:999px;background:var(--blue-soft);color:var(--blue-dark);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.tag-ecommerce,.tag-marketing-sales{background:var(--orange-soft);color:#c2410c}
.tag-supply-chain,.tag-delivery{background:#e8ecf5;color:#334155}
.role-type{color:var(--muted);font-size:14px;font-weight:600}
.role-card h3{margin-bottom:12px;font-size:26px}
.role-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 16px;padding:0;list-style:none}
.role-meta li{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:14.5px;font-weight:600}
.role-meta .ico{color:var(--blue);font-size:17px}
.role-summary{font-size:16px}
.role-details{margin-bottom:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.role-details summary{position:relative;padding:15px 34px 15px 0;list-style:none;color:var(--ink);font-size:15px;font-weight:700;cursor:pointer}
.role-details summary::-webkit-details-marker{display:none}
.role-details summary:after{content:"+";position:absolute;right:0;top:12px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:19px;transition:transform .4s var(--ease),background .3s,color .3s}
.role-details[open] summary:after{content:"−";background:var(--blue);color:#fff;transform:rotate(180deg)}
.role-list{margin:0 0 16px;padding:0;list-style:none}
.role-list li{position:relative;padding:5px 0 5px 24px;font-size:15.5px}
.role-list li:before{content:"";position:absolute;left:0;top:15px;width:9px;height:9px;border-radius:50%;background:var(--orange)}
.role-skills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;padding:0;list-style:none}
.role-skills li{padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:13.5px;font-weight:600}
.role-card .button{align-self:flex-start;margin-top:auto}
.role-empty{padding:30px;text-align:center;font-weight:600}
.careers-notice{margin-top:68px}

/* ---------- Back to top ---------- */
.back-top{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:20px;font-weight:700;box-shadow:0 14px 30px rgba(11,18,32,.3);transition:transform .3s var(--ease),background .3s}
.back-top:hover{transform:translateY(-5px);background:var(--blue)}
.back-top[hidden]{display:none}

/* ---------- Scroll reveal ---------- */
.js .reveal{opacity:0;transform:translateY(36px) scale(.985);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media(max-width:1200px){
  .container{width:min(var(--container),calc(100% - 48px))}
  #main-nav a.nav-link{padding:9px 11px;font-size:14px}
  .brand{width:170px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{gap:34px}
  .why-grid{gap:60px}
}
@media(max-width:1000px){
  .nav-wrap,.is-scrolled .nav-wrap{min-height:74px}
  .menu-toggle{display:block}
  #main-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100vh - 84px);overflow-y:auto;padding:18px 24px 28px;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 26px 44px rgba(24,40,90,.14)}
  #main-nav.is-open{display:flex;animation:fadeUp .35s var(--ease)}
  #main-nav a.nav-link{padding:14px 16px;border-radius:16px;font-size:17px}
  #main-nav>.button.small{align-self:flex-start;margin:16px 0 0}
  .nav-item{flex-wrap:wrap}
  .nav-item>a.nav-link{flex:1}
  .dropdown-toggle{padding:14px 18px}
  .dropdown{position:static;display:none;flex-basis:100%;width:100%;padding:4px 0 8px 16px;border:0;border-radius:0;background:none;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .dropdown:before{display:none}
  .has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{display:none}
  .has-dropdown.is-open .dropdown{display:block}
  .dropdown-grid{grid-template-columns:1fr}
  .hero-grid{grid-template-columns:1fr;gap:24px;padding-block:80px 90px}
  .hero-visual{width:100%;max-width:580px;min-height:500px;margin-inline:auto}
  .duo,.industry-grid,.tab-panel,.contact-grid,.faq-wrap,.why-grid,.feature-row,.map-card,.story-grid{grid-template-columns:1fr}
  .feature-row,.feature-row.reversed{gap:36px}
  .feature-row.reversed>div,.feature-row.reversed>img{order:0}
  .feature-row>img{max-width:540px}
  .tab-panel{gap:20px;padding:40px 32px}
  .industry-tiles,.cap-grid,.model-grid,.tech-grid,.article-grid,.perk-grid{grid-template-columns:repeat(2,1fr)}
  .home-timeline,.timeline,.timeline-4{grid-template-columns:1fr;gap:30px}
  .home-timeline:before{top:26px;bottom:26px;left:26px;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,#b9c8f5 0 8px,transparent 8px 16px)}
  .home-timeline li{padding:0 0 0 78px}
  .timeline:before{display:none}
  .timeline-step{min-height:78px;padding-left:100px;text-align:left}
  .timeline-icon{position:absolute;left:0;top:0;margin:0}
  .footer-grid{grid-template-columns:1fr 1fr}
  .contact-grid,.story-grid{gap:44px}
  .faq-wrap{gap:36px}
  .steps{grid-template-columns:1fr;gap:76px;margin-top:84px}
  .steps:before{display:none}
  .section-top{flex-direction:column;align-items:flex-start;gap:18px}
  .role-grid{grid-template-columns:1fr}
  .client{width:calc(50% - 10px);min-width:0}
}
@media(max-width:640px){
  body{font-size:16.5px}
  .container{width:calc(100% - 36px)}
  .section{padding:76px 0}
  .section-title{margin-bottom:44px}
  .hero-grid{padding-block:58px 72px}
  .hero-actions .button{flex:1 1 100%}
  .hero-sub{font-size:17.5px}
  .hero-proof strong{font-size:34px}
  .hero-visual{min-height:380px}
  .dash{left:0;right:0;top:58px;padding:16px 16px 20px}
  .dash-rows li{grid-template-columns:118px 1fr}
  .dash-chart{height:100px}
  .chip{padding:9px 13px;font-size:12.5px}
  .chip.c1{left:0;top:0}.chip.c2{right:0;top:0}.chip.c3,.chip.c4{display:none}
  .marquee-track span{font-size:21px}
  .service-grid,.service-grid:has(> :nth-child(3):last-child),.service-grid:has(> :nth-child(5):last-child),.service-grid:has(> :nth-child(6):last-child){grid-template-columns:1fr}
  .industry-tiles,.cap-grid,.model-grid,.tech-grid,.article-grid,.perk-grid{grid-template-columns:1fr}
  .duo-card h3{font-size:27px}
  .tab-list button{padding:14px 6px;font-size:13px;line-height:1.3}
  .tab-panel{padding:30px 22px}
  .operations-heading{padding:48px 20px}
  .cta-inner{flex-direction:column;align-items:flex-start;gap:28px;padding-block:68px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:38px 24px;padding-block:60px 42px}
  .footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}
  .footer-bottom{flex-direction:column;gap:6px}
  .page-hero{padding:68px 0 62px}
  .page-hero .lead{font-size:18px}
  .process-panel{padding:46px 22px 38px;border-radius:28px}
  .form-box{padding:28px 20px;border-radius:26px}
  .form-row{grid-template-columns:1fr;gap:0}
  .industry-card{padding:28px}
  .map-info{padding:30px 24px}
  .map-card iframe{min-height:320px}
  .map-section{padding-bottom:72px}
  .article-body{padding-block:58px}
  .article-body p{font-size:17px}
  .back-top{right:14px;bottom:14px}
  .role-card{padding:26px}
  .filter-btn{padding:9px 16px;font-size:14px}
  .role-filter{gap:8px}
  .fact{grid-template-columns:54px 1fr;column-gap:16px;padding:20px}
  .fact-icon{width:54px;height:54px;font-size:23px}
  .fact strong{font-size:24px}
  .client{height:96px;padding:16px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .w>span{transform:none}
  .js .reveal{opacity:1;transform:none}
  .scroll-progress{display:none}
}

/* ---------- Logo + identity card ---------- */
.brand{width:210px}
.footer-logo{padding:0;border-radius:0;background:none}
.footer-logo img{width:230px;height:auto}
.identity{position:relative;z-index:5;margin-top:-68px}
.identity-card{display:grid;grid-template-columns:1.5fr 1.25fr 1fr 1fr;gap:0;align-items:center;padding:30px 12px;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:var(--shadow-lg)}
.identity-brand{display:flex;align-items:center;gap:18px;padding:0 28px}
.identity-brand img{flex:none;width:60px;height:60px;border-radius:18px;box-shadow:0 10px 24px rgba(36,87,255,.3)}
.identity-name{margin:0 0 2px;color:var(--ink);font-family:var(--display);font-size:22px;font-weight:700;line-height:1.15;letter-spacing:-.025em}
.identity-tag{margin:0;background:var(--grad-accent);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;font-size:14px;font-weight:700;animation:shine 8s linear infinite}
.identity-item{padding:4px 28px;border-left:1px solid var(--line)}
.identity-item span{display:block;margin-bottom:4px;color:var(--orange);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.identity-item p,.identity-item a{display:block;margin:0;color:var(--ink);font-size:15.5px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.identity-item a{transition:color .2s}
.identity-item a:hover{color:var(--blue)}
.client{width:calc(20% - 16px);min-width:170px}
@media(max-width:1200px){.identity-card{grid-template-columns:1fr 1fr;gap:22px 0;padding:28px 12px}.identity-brand{grid-column:1/-1;padding-bottom:6px}.identity-item:nth-of-type(1){border-left:0}}
@media(max-width:640px){.identity{margin-top:-44px}.identity-card{grid-template-columns:1fr;padding:24px 8px;border-radius:24px}.identity-item{padding:12px 20px 0;border-left:0;border-top:1px solid var(--line)}.identity-brand{padding:0 20px 14px}.identity-name{font-size:20px}.client{min-width:0}}
@media(max-width:1000px){.client{width:calc(33.333% - 14px);min-width:0}}
@media(max-width:640px){.client{width:calc(50% - 10px);height:92px}}

/* Original logo (restored) */
.brand{width:200px}
.footer-logo{display:inline-block;margin-bottom:24px;padding:12px 18px;border-radius:16px;background:#fff}
.footer-logo img{width:168px;height:auto}
.identity-brand img{width:54px;height:60px;border-radius:0;box-shadow:none;object-fit:contain}

/* ---------- Email visibility ---------- */
.topbar{background:var(--ink);color:#c9d1e6;font-size:14px}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:40px}
.topbar p{margin:0;color:#aab3cc;font-size:14px}
.topbar-mail{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:700;transition:color .2s}
.topbar-mail .ico{font-size:16px;color:var(--orange-2)}
.topbar-mail:hover{color:var(--orange-2)}
.hero-mail{display:inline-flex;align-items:center;gap:10px;align-self:center;padding:10px 6px;color:var(--ink);font-size:16px;font-weight:700;border-bottom:2px solid var(--orange-soft);transition:color .2s,border-color .2s}
.hero-mail .ico{font-size:19px;color:var(--orange)}
.hero-mail:hover{color:var(--blue);border-color:var(--blue)}
.cta-mail{margin:18px 0 0;color:#dfe7ff;font-size:17px}
.cta-mail a{color:#fff;font-weight:700;border-bottom:2px solid rgba(255,255,255,.5);transition:border-color .2s}
.cta-mail a:hover{border-color:#fff}
.careers-mail{margin:18px 0 0;font-size:16px}
.careers-mail a{color:var(--blue);font-weight:700;border-bottom:2px solid var(--blue-soft)}
.footer-grid p.footer-email{margin:14px 0 6px}
.footer-mail{display:inline-flex!important;align-items:center;gap:10px;margin:0!important;padding:13px 20px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(255,255,255,.06);color:#fff!important;font-size:16px;font-weight:700;transition:background .3s,border-color .3s,transform .3s var(--ease)}
.footer-mail .ico{font-size:19px;color:var(--orange-2)}
.footer-mail:hover{background:var(--orange);border-color:var(--orange);color:#fff!important;transform:translateY(-3px)!important}
.footer-mail:hover .ico{color:#fff}
.footer-maps{margin:8px 0 0!important}
.footer-maps a{display:inline!important;margin:0!important;color:var(--orange-2)}
.nav-mail{display:none}
@media(max-width:1000px){
  .nav-mail{display:flex;align-items:center;gap:10px;margin-top:10px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);font-size:15.5px;font-weight:700}
  .nav-mail .ico{font-size:19px;color:var(--orange)}
}
@media(max-width:640px){.topbar-loc{display:none}.topbar-inner{justify-content:center}.hero-mail{flex:1 1 100%;justify-content:center}}

/* ---------- Logo + full company name ---------- */
.brand{display:flex;align-items:center;gap:18px;width:auto;flex:none}
.brand img{width:180px;height:auto;flex:none}
.brand-legal{display:none;flex-direction:column;gap:2px;padding-left:18px;border-left:2px solid var(--line);line-height:1.2}
.brand-legal strong{color:var(--ink);font-family:var(--display);font-size:15.5px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.brand-legal em{color:var(--muted);font-size:12.5px;font-style:normal;font-weight:500;letter-spacing:.03em;white-space:nowrap}
@media(min-width:1280px){.brand-legal{display:flex}}
@media(max-width:1000px){.brand img{width:170px}}
.footer-legal{margin:-6px 0 18px!important;display:flex;flex-direction:column;gap:2px}
.footer-legal strong{color:#fff;font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.02em}
.footer-legal span{color:var(--orange-2);font-size:14px;font-weight:600}
.button.small,#main-nav>.button{white-space:nowrap}
@media(min-width:1280px) and (max-width:1439px){
  #main-nav a.nav-link{padding:9px 10px;font-size:14px}
  #main-nav>.button.small{margin-left:6px}
  .brand-legal strong{font-size:14.5px}
  .brand{gap:14px}.brand-legal{padding-left:14px}
}

/* ---------- Breadcrumbs ---------- */
.breadcrumb{margin:0 0 26px}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;margin:0;padding:0;list-style:none}
.breadcrumb li{display:inline-flex;align-items:center;color:var(--muted);font-size:14px;font-weight:600}
.breadcrumb li+li:before{content:"/";margin:0 10px;color:#b4bdd2;font-weight:400}
.breadcrumb a{color:var(--ink);transition:color .2s}
.breadcrumb a:hover{color:var(--blue)}
.breadcrumb [aria-current]{color:var(--blue)}
