/* Appnox visual refresh: original layouts and images in the Appnox palette. */
:root { --app-navy:#07182f; --app-blue:#2563eb; --app-blue-deep:#123eac; --app-ink:#102440; --app-mist:#eef4fd; --app-line:#dbe5f1; }
.app-container { width:min(100% - 80px, 1340px); margin-inline:auto; }
.app-kicker { margin:0; font-size:12px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.app-button { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:52px; padding:10px 12px 10px 19px; border-radius:11px; font-weight:800; font-size:13px; line-height:1.1; white-space:nowrap; transition:transform .25s,background .25s; }
.app-button:hover { transform:translateY(-3px); }
.app-button span { display:grid; place-items:center; width:32px; height:32px; border-radius:8px; font-size:18px; }
.app-button--light { background:#fff; color:var(--app-navy); }
.app-button--light span { background:var(--app-blue); color:#fff; }
.app-button--dark { background:var(--app-navy); color:#fff; }
.app-button--dark span { background:var(--app-blue); color:#fff; }
.app-button--light:hover { background:#e8f1ff; color:var(--app-navy); }
.app-button--dark:hover { background:#173662; color:#fff; }

/* Shared site chrome */
.app-header { position:sticky; top:0; z-index:200; width:100%; padding:18px clamp(20px,3vw,48px); background:var(--app-navy); }
.app-home-page .app-header { position:absolute; top:0; left:0; right:0; background:transparent; }
.app-nav-shell { max-width:1440px; margin:auto; display:flex; align-items:center; gap:20px; }
.app-brand { flex:0 0 auto; width:162px; height:54px; display:flex; align-items:center; justify-content:center; padding:7px 11px; border-radius:12px; background:#fff; box-shadow:0 6px 24px #0002; }
.app-brand img { display:block; width:100%; height:auto; }
.app-desktop-nav { min-width:0; margin-left:auto; display:flex; align-items:center; gap:clamp(12px,1.6vw,26px); padding:0 18px; height:54px; border-radius:12px; background:#08111c; color:#fff; box-shadow:0 8px 28px #0003; }
.app-desktop-nav > a, .app-nav-group > summary { color:#fff; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.035em; white-space:nowrap; cursor:pointer; }
.app-desktop-nav > a:hover, .app-nav-group > summary:hover { color:#91b6ff; }
.app-nav-group { position:relative; }
.app-nav-group > summary { display:flex; align-items:center; gap:5px; list-style:none; }
.app-nav-group > summary::-webkit-details-marker,.app-mobile-menu > summary::-webkit-details-marker { display:none; }
.app-nav-group > summary::after { content:'⌄'; font-size:17px; line-height:0; transform:translateY(-3px); color:#a8b9d2; }
.app-nav-menu { position:absolute; top:36px; left:-20px; width:280px; display:grid; padding:9px; border:1px solid #27466c; border-radius:14px; background:#071a33; box-shadow:0 18px 42px #00112555; }
.app-nav-menu--wide { width:440px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; }
.app-nav-menu--wide a:first-child { grid-column:1/-1; border-bottom:1px solid #244368; }
.app-nav-menu--end { left:auto; right:-18px; }
.app-nav-menu a { display:block; padding:12px; border-radius:8px; color:#eff5ff; font-size:14px; font-weight:600; line-height:1.3; }
.app-nav-menu a:hover { background:#123b75; color:#fff; }
.app-header-cta { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; height:54px; padding:6px 6px 6px 17px; border-radius:12px; background:#fff; color:var(--app-navy); font-size:13px; font-weight:800; text-transform:uppercase; white-space:nowrap; }
.app-header-cta:hover { color:var(--app-blue-deep); }
.app-header-cta span { width:39px; height:39px; display:grid; place-items:center; border-radius:9px; background:var(--app-blue); color:#fff; font-size:20px; }
.app-mobile-menu { display:none; }
.app-header :focus-visible,.app-footer :focus-visible,.app-home :focus-visible { outline:3px solid #ffb454; outline-offset:3px; }

.app-footer { position:relative; background:#07182f; color:#d9e5f7; }
.app-footer-cta { width:min(100% - 80px,1340px); margin:auto; padding:82px 0 74px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:60px; border-bottom:1px solid #36516e; }
.app-footer-cta .app-kicker { color:#87adfa; }
.app-footer-cta h2 { max-width:850px; margin:22px 0 20px; color:#fff; font-size:clamp(42px,5vw,78px); font-weight:700; line-height:1.02; letter-spacing:-.055em; }
.app-footer-cta p:not(.app-kicker) { max-width:650px; margin:0; color:#c6d6ed; font-size:18px; line-height:1.6; }
.app-footer-cta__actions { display:grid; justify-items:start; gap:20px; padding-bottom:7px; }
.app-footer-cta__link { color:#fff; font-weight:750; text-decoration:underline; text-underline-offset:5px; }
.app-footer-cta__link:hover { color:#a8c3fb; }
.app-footer-main { width:min(100% - 80px,1340px); margin:auto; padding:66px 0 70px; display:grid; grid-template-columns:minmax(240px,2.1fr) repeat(3,minmax(130px,1fr)); gap:clamp(28px,4vw,76px); }
.app-footer-brand > a:first-child { display:inline-flex; padding:8px 12px; border-radius:10px; background:#fff; }
.app-footer-brand img { display:block; width:164px; height:auto; }
.app-footer-brand p { max-width:360px; margin:22px 0; color:#b9cbe3; line-height:1.65; font-size:15px; }
.app-footer-email { color:#fff; text-decoration:underline; text-underline-offset:5px; font-weight:700; }
.app-footer-social { display:flex; flex-wrap:wrap; gap:18px; margin-top:22px; }
.app-footer-social a { color:#c2d4ef; font-size:13px; }
.app-footer-social a:hover { color:#fff; text-decoration:underline; }
.app-footer-col { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.app-footer-col h3 { margin:3px 0 10px; color:#fff; font-size:13px; letter-spacing:.14em; text-transform:uppercase; }
.app-footer-col a { color:#bfcee4; font-size:14px; line-height:1.4; }
.app-footer-col a:hover,.app-footer-bottom a:hover { color:#fff; text-decoration:underline; }
.app-footer-bottom { width:min(100% - 80px,1340px); margin:auto; padding:24px 0 32px; display:flex; justify-content:space-between; gap:24px; border-top:1px solid #36516e; color:#99adc7; font-size:13px; }
.app-footer-bottom nav { display:flex; gap:20px; flex-wrap:wrap; }
.app-footer-bottom a { color:#b7c9e2; }
.app-footer .anx-cookie-settings { display:block; width:min(100% - 80px,1340px); margin:0 auto; padding:0 0 24px; text-align:left; color:#b7c9e2; font-size:13px; }

/* Homepage */
.app-home { overflow:hidden; color:var(--app-ink); }
.app-hero { position:relative; min-height:740px; height:min(900px,100svh); display:flex; align-items:stretch; isolation:isolate; background:#081b35; color:#fff; }
.app-hero__media,.app-hero__shade { position:absolute; inset:0; z-index:-1; }
.app-hero__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; }
.app-hero__shade { background:linear-gradient(90deg,rgba(3,17,35,.72) 0%,rgba(3,18,38,.52) 55%,rgba(3,18,38,.15) 90%),linear-gradient(0deg,rgba(3,17,35,.75),transparent 30%); }
.app-hero__content { width:min(100% - 80px,1440px); margin:0 auto; padding:174px 0 74px; display:flex; flex-direction:column; align-items:flex-start; }
.app-hero .app-kicker { color:#c2d6ff; }
.app-hero h1 { max-width:980px; margin:28px 0 0; color:#fff; font-size:clamp(54px,6.7vw,106px); font-weight:630; line-height:.99; letter-spacing:-.066em; text-wrap:balance; }
.app-hero__bottom { width:100%; margin-top:auto; display:flex; justify-content:space-between; align-items:end; gap:50px; }
.app-hero__bottom > p { max-width:610px; margin:0; color:#f1f5ff; font-size:clamp(17px,1.5vw,22px); line-height:1.55; text-shadow:0 1px 8px #0006; }
.app-hero__actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; flex:0 0 auto; }
.app-text-link { color:#fff; font-size:14px; font-weight:800; text-decoration:underline; text-underline-offset:5px; }
.app-text-link:hover { color:#bdd4ff; }
.app-hero__index { position:absolute; right:40px; bottom:22px; font-size:11px; font-weight:800; letter-spacing:.17em; color:#fff9; }
.app-signal { background:#fff; border-bottom:1px solid var(--app-line); }
.app-signal__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.app-signal__grid > div { min-height:148px; padding:37px 32px 34px; display:flex; align-items:flex-start; gap:13px; flex-direction:column; border-right:1px solid var(--app-line); }
.app-signal__grid > div:first-child { border-left:1px solid var(--app-line); }
.app-signal strong { color:var(--app-blue-deep); font-size:clamp(42px,4vw,62px); line-height:1; letter-spacing:-.07em; font-weight:700; }
.app-signal span { color:#52637c; font-size:13px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.app-section { padding:clamp(84px,8vw,132px) 0; }
.app-section-head { margin-bottom:48px; }
.app-section-head .app-kicker { color:var(--app-blue-deep); }
.app-section-head__row { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr); align-items:end; gap:55px; margin-top:21px; }
.app-section-head h2,.app-audit h2,.app-product h2,.app-faq__grid h2 { max-width:900px; margin:0; color:var(--app-ink); font-size:clamp(42px,5vw,76px); font-weight:680; line-height:1.04; letter-spacing:-.057em; text-wrap:balance; }
.app-section-head__row > p { max-width:475px; margin:0 0 7px; color:#566b85; font-size:17px; line-height:1.65; }
.app-section-head__row > .app-inline-link { justify-self:end; align-self:end; }
.app-section--offers { background:#f7faff; }
.app-offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.app-offer-card { border:1px solid #e1e9f4; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 10px 30px #092b5d0b; transition:transform .3s,box-shadow .3s; }
.app-offer-card:hover { transform:translateY(-6px); box-shadow:0 20px 38px #092b5d1a; }
.app-offer-card a { display:block; height:100%; color:inherit; }
.app-offer-card__image { aspect-ratio:1.43; overflow:hidden; }
.app-offer-card__image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.app-offer-card:hover img { transform:scale(1.035); }
.app-offer-card__body { position:relative; min-height:294px; padding:27px 28px 70px; }
.app-offer-card__body > span:first-child,.app-work-grid span,.app-insight-grid span { color:var(--app-blue-deep); font-size:11px; font-weight:800; letter-spacing:.14em; }
.app-offer-card h3 { margin:19px 0 13px; color:var(--app-ink); font-size:clamp(26px,2.4vw,35px); line-height:1.13; font-weight:700; letter-spacing:-.045em; }
.app-offer-card p { margin:0; color:#5b6e87; font-size:15px; line-height:1.58; }
.app-offer-card__arrow { position:absolute; right:26px; bottom:24px; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:#eaf1ff; color:var(--app-blue-deep); font-size:21px; }
.app-audit { position:relative; padding:90px 0; background:radial-gradient(circle at 80% 10%,#204b99 0,transparent 35%),linear-gradient(120deg,#06152c,#103671); color:#fff; }
.app-audit::before { content:''; position:absolute; inset:0; opacity:.2; background-image:linear-gradient(#84b2ff22 1px,transparent 1px),linear-gradient(90deg,#84b2ff22 1px,transparent 1px); background-size:40px 40px; pointer-events:none; }
.app-audit__grid { position:relative; display:grid; grid-template-columns:1.3fr 1fr; gap:70px; align-items:end; }
.app-audit .app-kicker { color:#a9caff; }
.app-audit h2 { max-width:740px; margin-top:24px; color:#fff; }
.app-audit__grid > div:last-child > p { max-width:510px; margin:0 0 25px; color:#d9e7ff; font-size:18px; line-height:1.65; }
.app-audit__meta { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px; }
.app-audit__meta span { padding:9px 12px; border:1px solid #a2beee77; border-radius:100px; color:#fff; font-size:12px; font-weight:800; }
.app-audit .app-audit__note { margin:24px 0 0 !important; color:#b6cbed !important; font-size:13px !important; line-height:1.6 !important; }
.app-section--capabilities { background:#fff; }
.app-cap-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--app-line); border-left:1px solid var(--app-line); }
.app-cap-grid a { position:relative; min-height:246px; padding:28px 30px 45px; border-right:1px solid var(--app-line); border-bottom:1px solid var(--app-line); color:var(--app-ink); transition:background .25s; }
.app-cap-grid a:hover { background:#f0f6ff; }
.app-cap-grid a > span,.app-step-grid span { color:var(--app-blue-deep); font-size:12px; font-weight:850; letter-spacing:.12em; }
.app-cap-grid h3 { margin:44px 0 10px; font-size:26px; font-weight:700; letter-spacing:-.04em; }
.app-cap-grid p { max-width:280px; margin:0; color:#60728a; line-height:1.5; font-size:15px; }
.app-cap-grid b { position:absolute; right:28px; bottom:25px; color:var(--app-blue-deep); font-size:21px; }
.app-section--work { background:#edf4fc; }
.app-work-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.app-work-grid a { min-height:360px; padding:30px; display:flex; flex-direction:column; border-radius:16px; background:#fff; color:var(--app-ink); transition:transform .25s,background .25s; }
.app-work-grid a:hover { transform:translateY(-5px); background:#f9fbff; }
.app-work-grid h3 { margin:72px 0 13px; font-size:36px; font-weight:700; letter-spacing:-.05em; }
.app-work-grid p { margin:0 0 25px; color:#556b85; line-height:1.6; font-size:15px; }
.app-work-grid strong,.app-insight-grid strong { margin-top:auto; color:var(--app-blue-deep); font-size:14px; }
.app-inline-link { display:inline-flex; margin-top:28px; color:var(--app-blue-deep); font-size:15px; font-weight:800; text-decoration:underline; text-underline-offset:5px; }
.app-inline-link:hover { color:#071f55; }
.app-section--approach { background:#fff; }
.app-step-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.app-step-grid > div { padding:26px 23px 12px; border-top:2px solid #1e5bd5; }
.app-step-grid h3 { margin:44px 0 13px; font-size:23px; line-height:1.15; letter-spacing:-.035em; }
.app-step-grid p { margin:0; color:#60728a; line-height:1.6; font-size:15px; }
.app-product { background:#e5f0ff; padding:90px 0; }
.app-product__grid { display:grid; grid-template-columns:1fr .9fr; gap:100px; align-items:center; }
.app-product .app-kicker { color:var(--app-blue-deep); }
.app-product h2 { margin:16px 0 22px; }
.app-product p:not(.app-kicker) { max-width:570px; margin:0 0 28px; color:#536983; font-size:17px; line-height:1.65; }
.app-product__visual { padding:28px; border:1px solid #91b1e7; border-radius:23px; background:linear-gradient(145deg,#103774,#05162e); box-shadow:18px 22px 0 #a7c5f258; }
.app-product__line { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:23px 21px; margin:11px 0; border:1px solid #6097e36b; border-radius:11px; background:#f4f8ff15; color:#fff; font-size:18px; font-weight:700; }
.app-product__line i { display:grid; place-items:center; width:37px; height:37px; border-radius:9px; background:#c8dfff; color:#0d3e87; font-size:12px; font-style:normal; }
.app-section--insights { background:#fff; }
.app-insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.app-insight-grid a { display:flex; flex-direction:column; min-height:280px; padding:29px; border:1px solid var(--app-line); border-radius:15px; color:var(--app-ink); transition:background .2s; }
.app-insight-grid a:hover { background:#f1f6ff; }
.app-insight-grid h3 { margin:35px 0 30px; font-size:25px; font-weight:700; line-height:1.2; letter-spacing:-.035em; }
.app-section--faq { background:#f2f6fd; }
.app-faq__grid { display:grid; grid-template-columns:.8fr 1.25fr; gap:100px; align-items:start; }
.app-faq__grid .app-kicker { color:var(--app-blue-deep); }
.app-faq__grid h2 { margin:20px 0; }
.app-faq__grid > div:first-child > p:last-child { max-width:360px; color:#60728a; font-size:17px; line-height:1.6; }
.app-faq__grid details { border-bottom:1px solid #c7d8ed; }
.app-faq__grid summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0; list-style:none; color:var(--app-ink); font-size:19px; font-weight:700; line-height:1.3; cursor:pointer; }
.app-faq__grid summary::-webkit-details-marker { display:none; }
.app-faq__grid summary::after { content:'+'; flex:0 0 auto; font-size:28px; line-height:1; color:var(--app-blue); }
.app-faq__grid details[open] summary::after { content:'−'; }
.app-faq__grid details p { margin:0 0 24px; color:#526a85; font-size:15px; line-height:1.7; }

/* Interior pages retain their established content layout, with the new chrome. */
.app-interior-page .anx-hero--page { background:linear-gradient(115deg,#edf4ff,#fff 70%); }
.anx-consent { width:min(28rem,calc(100vw - 2rem)); font-size:14px; }

@media (max-width:1180px) {
  .app-desktop-nav { gap:12px; padding:0 12px; }
  .app-desktop-nav > a,.app-nav-group > summary { font-size:11px; }
  .app-header-cta { gap:10px; }
  .app-footer-cta { grid-template-columns:1fr; gap:30px; }
}
@media (max-width:980px) {
  .app-desktop-nav,.app-header-cta { display:none; }
  .app-mobile-menu { display:block; margin-left:auto; position:relative; }
  .app-mobile-menu > summary { min-width:90px; height:50px; padding:0 13px; display:flex; align-items:center; gap:15px; justify-content:space-between; border-radius:10px; background:#07111f; color:#fff; font-size:13px; font-weight:800; list-style:none; cursor:pointer; }
  .app-menu-lines { font-size:21px; font-weight:400; line-height:1; }
  .app-mobile-menu nav { position:absolute; right:0; top:59px; width:min(340px,calc(100vw - 40px)); max-height:calc(100svh - 100px); overflow:auto; display:grid; gap:2px; padding:10px; border:1px solid #27466c; border-radius:14px; background:#071a33; box-shadow:0 20px 50px #0005; }
  .app-mobile-menu nav a { padding:12px; border-radius:8px; color:#fff; font-size:15px; font-weight:650; }
  .app-mobile-menu nav a:hover { background:#134b91; }
  .app-mobile-menu__cta { background:#2563eb; }
  .app-offer-grid,.app-work-grid,.app-insight-grid { grid-template-columns:repeat(2,1fr); }
  .app-cap-grid { grid-template-columns:repeat(2,1fr); }
  .app-step-grid { grid-template-columns:repeat(2,1fr); }
  .app-footer-main { grid-template-columns:repeat(3,1fr); }
  .app-footer-brand { grid-column:1/-1; }
  .app-hero__bottom { align-items:start; flex-direction:column; gap:28px; }
  .app-hero__actions { flex-direction:row; align-items:center; }
  .app-faq__grid { gap:50px; }
}
@media (max-width:700px) {
  .app-container,.app-footer-cta,.app-footer-main,.app-footer-bottom,.app-footer .anx-cookie-settings { width:min(100% - 38px,600px); }
  .app-header { padding:12px 19px; }
  .app-brand { width:136px; height:49px; }
  .app-hero { min-height:720px; height:100svh; }
  .app-hero__media img { object-position:62% center; }
  .app-hero__shade { background:linear-gradient(90deg,#041326c9,#0413266b),linear-gradient(0deg,#041326e8,transparent 58%); }
  .app-hero__content { width:min(100% - 38px,600px); padding:125px 0 44px; }
  .app-hero .app-kicker { max-width:310px; font-size:10px; line-height:1.5; }
  .app-hero h1 { margin-top:22px; font-size:clamp(42px,9vw,65px); letter-spacing:-.055em; }
  .app-hero__bottom > p { font-size:16px; }
  .app-hero__actions { flex-direction:column; align-items:flex-start; gap:15px; }
  .app-hero__index { display:none; }
  .app-signal__grid { grid-template-columns:repeat(2,1fr); }
  .app-signal__grid > div { min-height:118px; padding:22px 12px 20px; }
  .app-signal__grid > div:nth-child(3) { border-left:1px solid var(--app-line); }
  .app-signal strong { font-size:39px; }
  .app-signal span { font-size:10px; line-height:1.4; }
  .app-section { padding:72px 0; }
  .app-section-head { margin-bottom:30px; }
  .app-section-head__row,.app-audit__grid,.app-product__grid,.app-faq__grid { grid-template-columns:1fr; gap:24px; }
  .app-section-head h2,.app-audit h2,.app-product h2,.app-faq__grid h2 { font-size:clamp(39px,8.3vw,54px); }
  .app-section-head__row > p { font-size:15px; }
  .app-section-head__row > .app-inline-link { justify-self:start; margin:0; }
  .app-offer-grid,.app-work-grid,.app-insight-grid,.app-cap-grid,.app-step-grid { grid-template-columns:1fr; }
  .app-offer-card__body { min-height:260px; }
  .app-audit { padding:72px 0; }
  .app-audit__grid > div:last-child > p { font-size:16px; }
  .app-cap-grid a { min-height:200px; }
  .app-cap-grid h3 { margin-top:27px; }
  .app-work-grid a { min-height:300px; }
  .app-work-grid h3 { margin-top:47px; }
  .app-step-grid { gap:10px; }
  .app-step-grid h3 { margin-top:24px; }
  .app-product { padding:68px 0; }
  .app-product__visual { box-shadow:8px 10px 0 #a7c5f258; }
  .app-footer-cta { padding:70px 0 60px; }
  .app-footer-cta h2 { font-size:clamp(42px,9vw,60px); }
  .app-footer-cta p:not(.app-kicker) { font-size:16px; }
  .app-footer-main { grid-template-columns:repeat(2,1fr); padding:56px 0; gap:38px 20px; }
  .app-footer-bottom { flex-direction:column; gap:14px; }
}
@media (max-width:420px) {
  .app-footer-main { grid-template-columns:1fr 1fr; }
  .app-footer-col h3 { font-size:11px; }
  .app-footer-col a { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .app-button,.app-offer-card,.app-offer-card img,.app-work-grid a { transition:none; }
}
