/* Final visual bridge between the reference homepage and legacy inner pages. */
:root{--coh-ink:#0a205c;--coh-muted:#5e719e;--coh-blue:#3158ff;--coh-line:#e4e9f7;--coh-soft:#f7f8ff;--coh-shell:1320px}
body:not(.reference-home){font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif!important;color:var(--coh-ink);background:#fff;-webkit-font-smoothing:antialiased}
body[data-neo-page-family]:not([data-neo-page-family="home"]){padding-top:0!important}

body:not(.reference-home) .neo-global-nav,
body:not(.reference-home)>.topbar{position:sticky!important;inset:0 0 auto!important;height:72px!important;background:rgba(255,255,255,.97)!important;border:0!important;border-bottom:1px solid #eef1fa!important;box-shadow:none!important;backdrop-filter:blur(16px)!important;z-index:10040!important}
body:not(.reference-home) .neo-global-nav-inner,
body:not(.reference-home)>.topbar .shell.nav{width:min(var(--coh-shell),calc(100% - 64px))!important;height:72px!important;min-height:72px!important;margin:auto!important;padding:0!important;display:flex!important;align-items:center!important;gap:24px!important}
body:not(.reference-home) .neo-global-brand,
body:not(.reference-home)>.topbar .brand{display:flex!important;align-items:center!important;gap:10px!important;color:var(--coh-ink)!important;font-size:23px!important;font-weight:800!important;letter-spacing:-.7px!important;text-decoration:none!important;white-space:nowrap!important}
body:not(.reference-home) .neo-global-brand-mark,
body:not(.reference-home)>.topbar .brand>img{width:34px!important;height:34px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;object-fit:contain!important}
body:not(.reference-home) .neo-global-brand-mark img{width:34px!important;height:34px!important;object-fit:contain!important}
body:not(.reference-home) .neo-global-brand-copy strong{font-size:23px!important;line-height:1!important;font-weight:800!important}
body:not(.reference-home) .neo-global-brand-copy small,
body:not(.reference-home)>.topbar .brand-copy small{display:none!important}
body:not(.reference-home) .neo-global-menu,
body:not(.reference-home)>.topbar .nav-links{display:flex!important;align-items:center!important;gap:24px!important;margin-left:18px!important}
body:not(.reference-home) .neo-global-menu a,
body:not(.reference-home) .neo-nav-contact,
body:not(.reference-home)>.topbar .nav-links>a:not(.nav-cta){padding:0!important;color:#52658f!important;background:transparent!important;font-size:13px!important;font-weight:500!important;text-decoration:none!important;white-space:nowrap!important}
body:not(.reference-home) .neo-global-menu a:hover,
body:not(.reference-home) .neo-nav-contact:hover,
body:not(.reference-home)>.topbar .nav-links>a:hover{color:var(--coh-blue)!important}
body:not(.reference-home) .neo-nav-contact{margin-left:auto!important}
body:not(.reference-home) .neo-global-cta,
body:not(.reference-home)>.topbar .nav-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;padding:11px 23px!important;border:0!important;border-radius:999px!important;background:var(--coh-blue)!important;color:#fff!important;font-size:13px!important;font-weight:750!important;box-shadow:0 5px 15px #3158ff18!important;text-decoration:none!important;white-space:nowrap!important}
body:not(.reference-home) .neo-global-toggle,
body:not(.reference-home)>.topbar .menu-btn{margin-left:auto!important;border:1px solid var(--coh-line)!important;border-radius:10px!important;background:#fff!important;color:var(--coh-ink)!important}

body:not(.reference-home) :where(.btn-primary,.button.primary,.cta-primary,.seo-links .cta){background:var(--coh-blue)!important;border-color:var(--coh-blue)!important;color:#fff!important;border-radius:999px!important;box-shadow:none!important}
body:not(.reference-home) :where(.card,.sa-card,.expert-step,.answer-box,.project-card,.seo-card){border-color:var(--coh-line)!important;box-shadow:none!important}
body:not(.reference-home) :where(.section,.seo-main>div>section){padding-top:clamp(68px,7vw,108px)!important;padding-bottom:clamp(68px,7vw,108px)!important}

body:not(.reference-home) .neo-global-footer,
body:not(.reference-home)>.footer{margin-top:0!important;padding:58px 0 28px!important;background:#fff!important;border-top:1px solid var(--coh-line)!important;color:var(--coh-muted)!important}
body:not(.reference-home) .neo-global-footer-inner,
body:not(.reference-home)>.footer>.shell{width:min(var(--coh-shell),calc(100% - 64px))!important;margin:auto!important}
body:not(.reference-home) .neo-global-footer :where(h4,.neo-global-footer-brand),
body:not(.reference-home)>.footer :where(h4,.footer-brand){color:var(--coh-ink)!important}
body:not(.reference-home) .neo-global-footer :where(a,.neo-global-footer-copy,.neo-global-location),
body:not(.reference-home)>.footer :where(a,p,span){color:var(--coh-muted)!important}
body:not(.reference-home) .neo-global-footer-slogan{color:var(--coh-blue)!important}
body:not(.reference-home) .neo-global-footer-bottom,
body:not(.reference-home)>.footer .footer-bottom{border-top:1px solid var(--coh-line)!important;color:var(--coh-muted)!important}

@media(max-width:980px){
  body:not(.reference-home) .neo-global-nav-inner,
  body:not(.reference-home)>.topbar .shell.nav{width:calc(100% - 40px)!important;height:66px!important;min-height:66px!important}
  body:not(.reference-home) .neo-global-nav,
  body:not(.reference-home)>.topbar{height:66px!important}
  body:not(.reference-home) .neo-global-menu,
  body:not(.reference-home)>.topbar .nav-links{display:none!important;position:absolute!important;top:66px!important;left:0!important;right:0!important;margin:0!important;padding:15px 22px!important;background:#fff!important;border-bottom:1px solid var(--coh-line)!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
  body:not(.reference-home) .neo-global-nav.is-open .neo-global-menu,
  body:not(.reference-home)>.topbar.is-open .nav-links,
  body:not(.reference-home)>.topbar .nav-links.open{display:flex!important}
  body:not(.reference-home) .neo-global-menu a,
  body:not(.reference-home)>.topbar .nav-links>a{padding:11px!important;font-size:15px!important}
  body:not(.reference-home) .neo-nav-contact{display:none!important}
}
@media(max-width:680px){
  body:not(.reference-home) .neo-global-nav-inner,
  body:not(.reference-home)>.topbar .shell.nav,
  body:not(.reference-home) .neo-global-footer-inner,
  body:not(.reference-home)>.footer>.shell{width:calc(100% - 32px)!important}
  body:not(.reference-home) .neo-global-cta{width:44px!important;padding:0!important;font-size:0!important}
  body:not(.reference-home) .neo-global-cta:after{content:'→';font-size:18px}
}

/* Projects: keep the editorial rhythm compact enough to expose the work cards. */
body.projects-page .hero{
  min-height:clamp(430px,62vh,610px)!important;
  display:flex!important;
  align-items:center!important;
  background:radial-gradient(circle at 82% 30%,rgba(49,88,255,.18),transparent 32%),linear-gradient(120deg,#10295f 0%,#17346f 52%,#f4f6ff 100%)!important;
}
body.projects-page .hero .hero-grid{width:min(var(--coh-shell),calc(100% - 64px))!important;min-height:0!important;padding:64px 0!important}
body.projects-page .hero :where(h1,p){color:#fff!important}
body.projects-page .hero h1{font-size:clamp(48px,6.3vw,84px)!important;line-height:.95!important;letter-spacing:-.065em!important}
body.projects-page .hero p{max-width:720px!important;font-size:clamp(17px,1.5vw,22px)!important}
body.projects-page :where(.section,.seo-main>div>section){padding-top:clamp(54px,5vw,78px)!important;padding-bottom:clamp(54px,5vw,78px)!important}
body.projects-page .projects-grid{gap:20px!important}
body.projects-page .project-card{overflow:hidden!important;border-radius:22px!important;background:#fff!important;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease!important}
body.projects-page .project-card:hover{transform:translateY(-7px)!important;border-color:#cbd5ff!important;box-shadow:0 24px 54px rgba(27,54,120,.11)!important}
body.projects-page .project-card img{aspect-ratio:16/9!important;width:100%!important;object-fit:cover!important}
body.projects-page .final-cta{min-height:250px!important}

/* Careers: one coherent recruitment surface, from vacancy to application. */
body.careers-page .career-hero{min-height:clamp(500px,72vh,700px)!important;padding:0!important;display:flex!important;align-items:center!important;position:relative!important;overflow:hidden!important;background:radial-gradient(circle at 82% 28%,rgba(101,129,255,.28),transparent 28%),radial-gradient(circle at 72% 80%,rgba(209,228,255,.9),transparent 32%),linear-gradient(135deg,#fff 0%,#f7f5ff 50%,#eef5ff 100%)!important}
body.careers-page .career-hero:after{content:'NEO';position:absolute;right:5vw;bottom:-.2em;font-size:clamp(180px,28vw,440px);font-weight:900;line-height:.8;letter-spacing:-.09em;color:rgba(49,88,255,.045);pointer-events:none}
body.careers-page .career-hero .container{width:min(var(--coh-shell),calc(100% - 64px))!important;margin:auto!important;position:relative!important;z-index:1!important}
body.careers-page .career-hero h1{max-width:880px!important;font-size:clamp(50px,6.5vw,92px)!important;line-height:.92!important;letter-spacing:-.07em!important;margin:22px 0!important}
body.careers-page .career-hero p{max-width:760px!important;font-size:clamp(17px,1.5vw,21px)!important;line-height:1.65!important}
body.careers-page .career-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px}
body.careers-page .career-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:800}
body.careers-page .career-actions .primary{background:var(--coh-blue);color:#fff}
body.careers-page .career-actions .secondary{border:1px solid #ced7ef;color:var(--coh-ink);background:#fff}
body.careers-page :where(.section,.seo-main>div>section){padding-top:clamp(64px,6vw,92px)!important;padding-bottom:clamp(64px,6vw,92px)!important}
body.careers-page .container{width:min(1180px,calc(100% - 64px))!important;margin-inline:auto!important}
body.careers-page .culture-grid{gap:20px!important}
body.careers-page .culture-grid .card{min-height:240px!important;padding:30px!important;border-radius:22px!important;background:#fff!important}
body.careers-page .jobs-clean{gap:20px!important}
body.careers-page .job-clean{display:flex!important;flex-direction:column!important;min-height:340px!important;padding:28px!important;border-radius:22px!important;background:#fff!important;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease!important}
body.careers-page .job-clean:hover{transform:translateY(-6px)!important;border-color:#cbd5ff!important;box-shadow:0 24px 54px rgba(27,54,120,.1)!important}
body.careers-page .job-clean button{margin-top:auto!important;align-self:flex-start!important;cursor:pointer!important}
body.careers-page .career-box{width:min(720px,calc(100vw - 32px))!important;max-height:min(760px,calc(100vh - 32px))!important}
body.careers-page .career-form :where(input,select,textarea){font:inherit!important;color:var(--coh-ink)!important}
body.careers-page .career-form :focus{outline:3px solid rgba(49,88,255,.14)!important;border-color:var(--coh-blue)!important}
body.careers-page .status{font-size:14px!important;line-height:1.5!important}

@media(max-width:980px){
  body.projects-page .hero .hero-grid,body.careers-page .career-hero .container,body.careers-page .container{width:calc(100% - 40px)!important}
}
@media(max-width:680px){
  body.projects-page .hero{min-height:500px!important}
  body.projects-page .hero .hero-grid,body.careers-page .career-hero .container,body.careers-page .container{width:calc(100% - 32px)!important}
  body.projects-page .hero h1{font-size:clamp(43px,13vw,62px)!important}
  body.careers-page .career-hero{min-height:600px!important}
  body.careers-page .career-actions>*{width:100%!important}
}
@media(prefers-reduced-motion:reduce){body.projects-page .project-card,body.careers-page .job-clean{transition:none!important}}

body.motion-ready .neo-reveal{opacity:1;transform:translateY(26px);transition:transform .65s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms),box-shadow .35s ease,border-color .35s ease}
body.motion-ready .neo-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){body.motion-ready .neo-reveal{opacity:1;transform:none;transition:none}}
