/*
 * Nexora Home Demo v5.3
 * Desktop proportions are derived from the supplied homepage board and scaled
 * to a real 1500px content canvas. This file loads after main.css only on Home.
 */
body.home {
  --nx-home-max: 1500px;
  --nx-home-gutter: 24px;
  --nx-home-blue: #00448f;
  --nx-home-bright: #1477df;
  --nx-home-navy: #031d42;
  --nx-home-text: #0b1d3a;
  --nx-home-muted: #65758a;
  --nx-home-border: #dce6f2;
  background: #fff;
  color: var(--nx-home-text);
  font-family: var(--nx-font, "Poppins", Arial, sans-serif);
}

/* Gutenberg HTML blocks must not impose the narrow normal-content width. */
body.home .entry-content > :where(:not(.alignwide):not(.alignfull)) {
  width: auto;
  max-width: none;
  margin: 0;
}
body.home .entry-content > .wp-block-html {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.home .nx-main { overflow: clip; }
body.home .nx-container,
body.home .nx2-wrap {
  width: min(calc(100% - (var(--nx-home-gutter) * 2)), var(--nx-home-max));
  max-width: var(--nx-home-max);
  margin-inline: auto;
}

/* ---------- Header ---------- */
body.home .nx-site-header {
  position: relative;
  z-index: 100;
  margin: 0;
  border: 0;
  background: #fff;
  box-shadow: none;
}
body.home .nx-header-inner {
  min-height: clamp(64px, 5.75vw, 86px);
  grid-template-columns: clamp(170px, 15vw, 225px) 1fr auto;
  gap: clamp(20px, 2.2vw, 34px);
}
body.home .nx-brand { min-width: 0; }
body.home .nx-brand__fallback,
body.home .custom-logo-link { display: inline-flex; align-items: center; line-height: 0; }
body.home .nx-brand__fallback img,
body.home .nx-brand .custom-logo {
  display: block;
  width: auto;
  max-width: clamp(150px, 13.7vw, 205px);
  max-height: clamp(40px, 3.7vw, 55px);
}
body.home .nx-primary-nav { justify-self: center; }
body.home .nx-menu { gap: clamp(20px, 2.25vw, 34px); }
body.home .nx-menu a {
  padding: clamp(20px, 2vw, 30px) 0 clamp(18px, 1.75vw, 26px);
  color: #102542;
  font-size: clamp(11px, 1.03vw, 15.5px);
  line-height: 1;
  font-weight: 500;
}
body.home .nx-menu > li.current-menu-item > a::after,
body.home .nx-menu > li.current-menu-parent > a::after {
  bottom: clamp(10px, 1.08vw, 16px);
  height: 2px;
  background: #0b61c5;
}
body.home .nx-header-tools { gap: clamp(11px, 1.2vw, 18px); }
body.home .nx-language { font-size: clamp(10px, .88vw, 13px); font-weight: 500; }
body.home .nx-header-cta {
  min-height: clamp(34px, 3.1vw, 46px);
  padding-inline: clamp(13px, 1.35vw, 20px);
  border-radius: 6px;
  font-size: clamp(9px, .88vw, 13px);
  font-weight: 600;
}

/* ---------- Hero ---------- */
body.home .nx2-home-hero {
  position: relative;
  overflow: hidden;
  width: min(calc(100% - 16px), var(--nx-home-max));
  margin: 0 auto;
  padding: 0;
  border-radius: 9px;
  background:
    radial-gradient(circle at 88% 50%, rgba(0, 114, 255, .31) 0, rgba(0, 114, 255, .12) 22%, transparent 43%),
    linear-gradient(115deg, #031a38 0%, #021f47 55%, #032b60 100%);
}
body.home .nx2-home-hero::after { display: none; }
body.home .nx2-home-hero .nx2-wrap {
  width: 100%;
  max-width: 100%;
  padding-inline: clamp(28px, 3.2vw, 48px);
}
body.home .nx2-home-hero-grid {
  min-height: clamp(400px, 42vw, 630px);
  display: grid;
  grid-template-columns: minmax(0, 46.5%) minmax(0, 53.5%);
  gap: clamp(14px, 1.8vw, 28px);
  align-items: center;
}
body.home .nx2-home-copy {
  padding: clamp(24px, 2.4vw, 36px) 0 clamp(30px, 3vw, 45px);
  color: #d9e6f4;
}
body.home .nx2-home-kicker {
  display: inline-flex;
  padding: clamp(6px, .58vw, 9px) clamp(10px, 1vw, 15px);
  color: #9fc9ff;
  background: #064c9b;
  border: 1px solid rgba(58,148,255,.18);
  border-radius: 999px;
  font-size: clamp(8px, .84vw, 12.5px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: .065em;
}
body.home .nx2-home-copy h1 {
  margin: clamp(18px, 1.9vw, 28px) 0 clamp(14px, 1.55vw, 23px);
  color: #fff;
  font-size: clamp(40px, 4.2vw, 63px);
  line-height: 1.055;
  font-weight: 700;
  letter-spacing: -.042em;
}
body.home .nx2-home-copy h1 span { color: #1681ef; }
body.home .nx2-home-copy > p {
  max-width: 640px;
  margin: 0;
  color: #d7e1ed;
  font-size: clamp(11px, 1.15vw, 17px);
  line-height: 1.62;
  font-weight: 400;
}
body.home .nx2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(10px, 1vw, 15px);
  margin-top: clamp(21px, 2.25vw, 34px);
}
body.home .nx2-btn {
  min-height: clamp(34px, 3.45vw, 52px);
  padding: 0 clamp(14px, 1.55vw, 23px);
  border-radius: 6px;
  font-size: clamp(9px, .95vw, 14px);
  font-weight: 600;
}
body.home .nx2-btn-primary { background: #0667cf; box-shadow: none; }
body.home .nx2-btn-outline-light { border-color: rgba(255,255,255,.72); }
body.home .nx2-btn span { margin-left: 6px; }
body.home .nx2-trusted { margin-top: clamp(20px, 2.2vw, 33px); }
body.home .nx2-trusted small {
  display: block;
  margin: 0 0 clamp(8px, .9vw, 13px);
  color: #fff;
  font-size: clamp(8px, .84vw, 12.5px);
  font-weight: 500;
}
body.home .nx2-trusted div { display: flex; flex-wrap: wrap; gap: clamp(15px, 2.25vw, 34px); align-items: center; }
body.home .nx2-trusted b { display: flex; gap: 5px; align-items: center; color: rgba(255,255,255,.64); font-size: clamp(9px, .98vw, 14.5px); font-weight: 500; }
body.home .nx2-trusted b i { color: #cbd8e8; font-style: normal; font-size: 1.12em; }
body.home .nx2-home-visual {
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(22px, 2vw, 30px) 0 clamp(24px, 2.4vw, 36px);
}

/* Crisp dashboard artwork — all labels remain live text/SVG. */
body.home .nx-home-dashboard { position: relative; width: min(100%, 760px); aspect-ratio: 1.15/1; }
body.home .nx-home-orbit {
  position: absolute; z-index: 0; right: -11%; top: 14%; width: 68%; aspect-ratio: 1/1;
  border: 2px solid #0d7df5; border-radius: 50%;
  box-shadow: 0 0 19px 4px rgba(0,105,255,.72), inset 0 0 18px rgba(0,105,255,.42);
}
body.home .nx-home-device {
  position: absolute; z-index: 2; left: 17%; top: 8%; width: 68%; height: 79%; padding: 4.2% 4.4%;
  background: linear-gradient(145deg,#0a2d59,#051f43 65%,#041a37);
  border: 1px solid rgba(114,170,232,.28); border-radius: 5%;
  box-shadow: 0 26px 52px rgba(0,0,0,.36), inset 0 0 0 2px rgba(255,255,255,.018);
  transform: rotate(2.7deg);
}
body.home .nx-home-device::before { content:""; position:absolute; inset:1.5%; border:1px solid rgba(85,137,194,.08); border-radius:4%; pointer-events:none; }
body.home .nx-home-device-top { display:grid; grid-template-columns:36% 1fr; gap:4%; height:32%; }
body.home .nx-home-performance,
body.home .nx-home-kpis > div,
body.home .nx-home-float {
  color:#ecf6ff;
  background:linear-gradient(155deg,rgba(11,53,99,.98),rgba(6,37,74,.98));
  border:1px solid rgba(105,161,219,.17);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
body.home .nx-home-performance { position:relative; display:flex; flex-wrap:wrap; align-content:flex-start; justify-content:center; padding:9% 7%; border-radius:10px; text-align:center; }
body.home .nx-home-performance span { width:100%; margin-bottom:6%; text-align:left; font-size:clamp(8px,.78vw,12px); }
body.home .nx-home-performance strong { display:grid; place-items:center; width:52%; aspect-ratio:1/1; border:7px solid #0e8cf3; border-bottom-color:#214e7e; border-radius:50%; font-size:clamp(18px,2vw,31px); font-weight:500; }
body.home .nx-home-performance small { align-self:center; margin-left:4px; color:#7995b4; font-size:clamp(7px,.65vw,10px); }
body.home .nx-home-performance em { width:100%; margin-top:5%; color:#d7e6f6; font-size:clamp(7px,.65vw,10px); font-style:normal; }
body.home .nx-home-kpis { display:grid; grid-template-rows:1fr 1fr; gap:7%; }
body.home .nx-home-kpis > div { position:relative; padding:6% 8%; border-radius:9px; }
body.home .nx-home-kpis span { display:block; margin-bottom:3px; font-size:clamp(8px,.8vw,12px); }
body.home .nx-home-kpis b { font-size:clamp(20px,2.2vw,34px); line-height:1; font-weight:500; }
body.home .nx-home-kpis small { position:absolute; right:8%; bottom:18%; color:#d3e2ef; font-size:clamp(8px,.8vw,12px); }
body.home .nx-home-line-chart { position:absolute; left:5%; right:5%; top:36%; height:34%; overflow:hidden; border-radius:8px; background:rgba(5,35,71,.46); }
body.home .nx-home-line-chart svg { width:100%; height:100%; }
body.home .nx-home-line-chart .nx-grid { fill:none; stroke:#244a77; stroke-width:1; opacity:.48; }
body.home .nx-home-line-chart .nx-area { fill:url(#nxLineFill); }
body.home .nx-home-line-chart .nx-line { fill:none; stroke:#1185ff; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 4px rgba(17,133,255,.55)); }
body.home .nx-home-country-bars { position:absolute; left:5%; right:6%; bottom:4%; height:23%; color:#5fb3ff; font-size:clamp(7px,.7vw,10px); }
body.home .nx-home-country-bars > span { display:block; margin-bottom:2%; color:#6db8ff; }
body.home .nx-home-country-bars > div { display:grid; grid-template-columns:15% 1fr; align-items:center; gap:4%; height:20%; }
body.home .nx-home-country-bars b { color:#6aa9e8; font-weight:500; }
body.home .nx-home-country-bars i { position:relative; display:block; height:38%; overflow:hidden; border-radius:2px; background:#0b345f; }
body.home .nx-home-country-bars i::before { content:""; display:block; width:var(--v); height:100%; background:linear-gradient(90deg,#0871da,#1185ff); }
body.home .nx-home-float { position:absolute; z-index:4; border-radius:10px; }
body.home .nx-home-float-channels { left:2%; top:39%; width:31%; padding:3.3%; transform:rotate(-1.4deg); }
body.home .nx-home-float-channels > span { display:block; margin-bottom:7%; font-size:clamp(8px,.8vw,12px); }
body.home .nx-home-float-channels > div { display:flex; justify-content:space-between; gap:8px; padding:4.3% 0; border-top:1px solid rgba(103,147,197,.1); font-size:clamp(8px,.83vw,12px); }
body.home .nx-home-float-channels b { font-weight:400; }
body.home .nx-home-float-channels strong { font-weight:500; }
body.home .nx-home-float-seo { right:0; top:43%; width:26%; padding:4.3% 4.8%; }
body.home .nx-home-float-seo span { display:block; font-size:clamp(8px,.8vw,12px); }
body.home .nx-home-float-seo strong { display:block; margin:9% 0 8%; font-size:clamp(24px,3vw,46px); line-height:1; font-weight:500; }
body.home .nx-home-float-seo strong em { color:#08c7d8; font-size:.55em; font-style:normal; }
body.home .nx-home-float-seo small { display:inline-block; padding:5px 8px; color:#d9fff5; background:#087d6a; border-radius:5px; font-size:clamp(7px,.65vw,10px); }
body.home .nx-home-float-growth { right:15%; bottom:0; width:30%; padding:4.2% 5%; }
body.home .nx-home-float-growth span { font-size:clamp(9px,.9vw,13px); }
body.home .nx-home-float-growth strong { display:block; margin:5% 0 2%; font-size:clamp(24px,3vw,44px); line-height:1.05; font-weight:500; }
body.home .nx-home-float-growth small { font-size:clamp(8px,.75vw,11px); }
body.home .nx-home-float-growth svg { position:absolute; right:8%; top:18%; width:32%; height:35%; }
body.home .nx-home-float-growth svg path { fill:none; stroke:#17d1bd; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- Floating stats ---------- */
body.home .nx2-stats-home {
  width: min(calc(100% - 48px), 1460px);
  max-width: 1460px;
  margin: clamp(-44px, -2.55vw, -28px) auto 0;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border: 1px solid var(--nx-home-border);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(10,46,91,.07);
}
body.home .nx2-stat { gap: clamp(10px, 1vw, 15px); min-height: clamp(62px, 6.55vw, 98px); padding: clamp(10px, 1.05vw, 16px) clamp(14px, 1.55vw, 23px); }
body.home .nx2-stat + .nx2-stat::before { top:22%; bottom:22%; }
body.home .nx2-stat-icon { width:clamp(35px,3.7vw,55px); height:clamp(35px,3.7vw,55px); flex-basis:clamp(35px,3.7vw,55px); }
body.home .nx2-stat-icon svg { width:clamp(18px,1.95vw,29px); height:clamp(18px,1.95vw,29px); }
body.home .nx2-stat strong { font-size:clamp(14px,1.48vw,22px); font-weight:600; line-height:1.05; }
body.home .nx2-stat small { margin-top:3px; font-size:clamp(8px,.84vw,12.5px); line-height:1.2; }

/* ---------- Shared homepage headings ---------- */
body.home .nx2-section { padding: clamp(36px, 4.2vw, 63px) 0; }
body.home .nx2-section-head { max-width: 900px; margin: 0 auto clamp(25px,2.65vw,40px); text-align:center; }
body.home .nx2-section-head > span {
  display:block; margin-bottom:clamp(5px,.55vw,8px); color:#1765c7;
  font-size:clamp(8px,.84vw,12.5px); line-height:1; font-weight:700; letter-spacing:.09em;
}
body.home .nx2-section-head h2 {
  margin:0 0 clamp(5px,.55vw,8px); color:#0c2447;
  font-size:clamp(24px,2.53vw,38px); line-height:1.08; font-weight:600; letter-spacing:-.025em;
}
body.home .nx2-section-head p { margin:0; color:#768398; font-size:clamp(9px,.95vw,14px); line-height:1.55; }

/* ---------- Services: fixed five-column desktop grid ---------- */
body.home .nx2-home-services-section { padding-top:clamp(30px,3.15vw,47px); padding-bottom:clamp(20px,2.3vw,35px); }
body.home .nx2-home-services { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(11px,1.15vw,17px); align-items:stretch; }
body.home .nx2-home-service {
  min-width:0;
  min-height:clamp(300px,31.6vw,474px);
  padding:clamp(13px,1.37vw,20px) clamp(12px,1.27vw,19px) clamp(12px,1.25vw,19px);
  border:1px solid var(--nx-home-border);
  border-radius:9px;
  background:#fff;
  box-shadow:none;
}
body.home .nx2-home-service > .nx2-icon {
  width:clamp(40px,4.2vw,63px); height:clamp(40px,4.2vw,63px); flex-basis:clamp(40px,4.2vw,63px);
  border-radius:9px; background:linear-gradient(145deg,#0b70da,#00448f); color:#fff;
}
body.home .nx2-home-service > .nx2-icon svg { width:clamp(22px,2.3vw,35px); height:clamp(22px,2.3vw,35px); }
body.home .nx2-home-service h3 { margin:clamp(10px,1.05vw,16px) 0 clamp(5px,.55vw,8px); font-size:clamp(13px,1.38vw,20.5px); line-height:1.2; font-weight:600; }
body.home .nx2-home-service > p { min-height:clamp(52px,5.45vw,82px); margin:0; color:#6c798d; font-size:clamp(8.6px,.91vw,13.6px); line-height:1.5; }
body.home .nx2-home-service ul { margin:clamp(9px,.95vw,14px) 0 0; padding:0; border:0; }
body.home .nx2-home-service li { min-height:clamp(25px,2.65vw,40px); padding:clamp(6px,.62vw,9px) 0; color:#243e5f; border-bottom:1px solid #edf2f7; font-size:clamp(8.4px,.89vw,13.3px); line-height:1.28; }
body.home .nx2-home-service li span { font-size:1.2em; }
body.home .nx2-more { margin-top:auto; padding-top:clamp(9px,.95vw,14px); color:#075dc4; font-size:clamp(8.8px,.93vw,13.9px); line-height:1; font-weight:600; }

/* ---------- Global reach ---------- */
body.home .nx2-global {
  display:grid;
  grid-template-columns:1.14fr repeat(3,1fr) .72fr;
  margin-top:0;
  border:1px solid var(--nx-home-border);
  border-radius:9px;
  overflow:hidden;
  background:#fff;
}
body.home .nx2-global > * { min-height:clamp(154px,16.25vw,244px); padding:clamp(17px,1.8vw,27px) clamp(16px,1.7vw,25px); }
body.home .nx2-global > * + * { border-left:1px solid #e6edf5; }
body.home .nx2-global-intro h2 { margin:0 0 clamp(7px,.74vw,11px); font-size:clamp(18px,1.9vw,28.5px); line-height:1.1; font-weight:600; }
body.home .nx2-global-intro p { margin:0 0 clamp(10px,1.05vw,16px); font-size:clamp(8.4px,.89vw,13.3px); line-height:1.55; }
body.home .nx2-global-intro .nx2-btn { min-height:clamp(30px,3.16vw,47px); padding:0 clamp(11px,1.15vw,17px); font-size:clamp(8.4px,.89vw,13.3px); }
body.home .nx2-market { display:flex; flex-direction:column; justify-content:center; text-align:center; }
body.home .nx2-map { width:clamp(84px,8.85vw,133px); height:clamp(56px,5.9vw,89px); }
body.home .nx2-market h3 { margin:clamp(6px,.63vw,10px) 0 3px; font-size:clamp(12px,1.27vw,19px); font-weight:600; }
body.home .nx2-market p { margin:0; font-size:clamp(7.5px,.79vw,11.8px); line-height:1.5; }
body.home .nx2-global-stats { gap:clamp(8px,.85vw,13px); padding-left:clamp(18px,1.9vw,28px); }
body.home .nx2-global-stats b { position:relative; padding-left:clamp(28px,3vw,44px); font-size:clamp(13px,1.38vw,20.5px); font-weight:600; line-height:1.05; }
body.home .nx2-global-stats b::before { content:""; position:absolute; left:0; top:50%; width:clamp(22px,2.32vw,35px); height:clamp(22px,2.32vw,35px); transform:translateY(-50%); border-radius:50%; background:#f1f6fd; border:1px solid #dce8f7; }
body.home .nx2-global-stats small { margin-top:3px; font-size:clamp(7px,.74vw,11px); }

/* ---------- Projects ---------- */
body.home .nx2-home-projects-section { padding-top:clamp(38px,4vw,60px); padding-bottom:clamp(26px,2.85vw,43px); }
body.home .nx2-home-projects-section .nx2-section-head { margin-bottom:clamp(12px,1.25vw,19px); }
body.home .nx2-filter-row { margin:0 0 clamp(10px,1.05vw,16px); gap:clamp(12px,1.25vw,19px); }
body.home .nx2-filter-row > div:first-child { gap:clamp(5px,.55vw,8px); }
body.home .nx2-filter-row span { min-height:clamp(23px,2.42vw,36px); padding:0 clamp(10px,1.05vw,16px); font-size:clamp(7.5px,.79vw,11.8px); }
body.home .nx2-filter-row > a { font-size:clamp(7.5px,.79vw,11.8px); }
body.home .nx2-home-projects { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(10px,1.05vw,16px); background:none!important; }
body.home .nx2-home-projects::before,
body.home .nx2-home-projects::after { display:none!important; content:none!important; }
body.home .nx2-home-projects article { min-width:0; }
body.home .nx2-project-image { display:block; overflow:hidden; aspect-ratio:1.67/1; border-radius:7px; background:#edf3fb; }
body.home .nx2-project-image img { display:block; width:100%; height:100%; object-fit:cover; image-rendering:auto; transform:none!important; filter:none!important; }
body.home .nx2-project-image > span { display:none!important; }
body.home .nx2-home-projects h3 { margin:clamp(6px,.63vw,9px) 0 3px; font-size:clamp(8.8px,.93vw,13.9px); line-height:1.25; font-weight:600; }
body.home .nx2-home-projects small { font-size:clamp(7px,.74vw,11px); }

/* ---------- Testimonials ---------- */
body.home .nx2-home-testimonials-section { padding:clamp(22px,2.4vw,36px) 0 clamp(18px,2vw,30px); background:#fff; border:0; }
body.home .nx2-home-testimonials-section .nx2-wrap { position:relative; }
body.home .nx2-home-testimonials-section .nx2-section-head { margin-bottom:clamp(12px,1.28vw,19px); }
body.home .nx2-testimonials { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(10px,1.05vw,16px); }
body.home .nx2-testimonial { min-height:clamp(104px,11vw,165px); padding:clamp(10px,1.05vw,16px) clamp(11px,1.15vw,17px) clamp(9px,.95vw,14px); border-radius:9px; }
body.home .nx2-quote { height:clamp(14px,1.48vw,22px); font-size:clamp(24px,2.53vw,38px); }
body.home .nx2-testimonial > p { min-height:clamp(46px,4.85vw,73px); margin:clamp(4px,.42vw,6px) 0 clamp(7px,.74vw,11px); font-size:clamp(7.3px,.77vw,11.5px); line-height:1.5; }
body.home .nx2-person { gap:clamp(6px,.63vw,10px); }
body.home .nx2-person img { width:clamp(25px,2.65vw,40px); height:clamp(25px,2.65vw,40px); object-fit:cover; }
body.home .nx2-person strong { font-size:clamp(7.5px,.79vw,11.8px); font-weight:600; }
body.home .nx2-person small { margin-top:2px; font-size:clamp(6.2px,.66vw,9.8px); }
body.home .nx2-home-carousel-nav { position:absolute; right:0; top:clamp(6px,.63vw,10px); display:flex; gap:7px; }
body.home .nx2-home-carousel-nav span { display:grid; place-items:center; width:clamp(22px,2.3vw,35px); height:clamp(22px,2.3vw,35px); color:#0b3d75; border:1px solid #dbe6f2; border-radius:50%; background:#fff; font-size:clamp(13px,1.38vw,20px); line-height:1; }

/* ---------- CTA ---------- */
body.home .nx2-cta {
  width:min(calc(100% - 48px), 1440px);
  max-width:1440px;
  min-height:clamp(62px,6.55vw,98px);
  margin:0 auto;
  padding:clamp(10px,1.05vw,16px) clamp(24px,2.55vw,38px);
  grid-template-columns:auto 1fr auto;
  gap:clamp(14px,1.48vw,22px);
  border-radius:11px 11px 0 0;
}
body.home .nx2-cta-icon { width:clamp(39px,4.1vw,62px); height:clamp(39px,4.1vw,62px); }
body.home .nx2-cta-icon svg { width:clamp(21px,2.2vw,33px); height:clamp(21px,2.2vw,33px); }
body.home .nx2-cta-copy h2 { margin:0 0 2px; font-size:clamp(13px,1.38vw,20.5px); line-height:1.15; font-weight:600; }
body.home .nx2-cta-copy p { font-size:clamp(7.4px,.78vw,11.7px); }
body.home .nx2-cta-actions { gap:clamp(8px,.85vw,13px); }
body.home .nx2-cta-actions .nx2-btn { min-height:clamp(31px,3.27vw,49px); padding:0 clamp(12px,1.27vw,19px); font-size:clamp(7.5px,.79vw,11.8px); }

/* ---------- Footer ---------- */
body.home .nx-site-footer {
  width:min(calc(100% - 16px), var(--nx-home-max));
  max-width:var(--nx-home-max);
  margin:0 auto;
  padding:0;
  border-radius:11px 11px 0 0;
  background:linear-gradient(112deg,#061a3c,#022855);
}
body.home .nx-site-footer .nx-container { width:calc(100% - 72px); max-width:none; }
body.home .nx-footer-grid--five { grid-template-columns:1.55fr .8fr .8fr .8fr 1.25fr; gap:clamp(28px,2.95vw,44px); padding-top:clamp(18px,1.9vw,29px); padding-bottom:clamp(12px,1.3vw,20px); }
body.home .nx-footer-brand .nx-brand__fallback img,
body.home .nx-footer-brand .custom-logo { max-width:clamp(150px,15.8vw,237px); max-height:clamp(38px,4vw,60px); }
body.home .nx-footer-brand p { max-width:330px; margin:clamp(7px,.74vw,11px) 0 clamp(9px,.95vw,14px); color:#c8d5e5; font-size:clamp(7.2px,.76vw,11.4px); line-height:1.5; }
body.home .nx-footer-grid h2 { margin:0 0 clamp(6px,.63vw,10px); font-size:clamp(8px,.84vw,12.6px); font-weight:600; }
body.home .nx-footer-menu li,
body.home .nx-contact-list li { margin:clamp(2px,.21vw,3px) 0; font-size:clamp(6.9px,.73vw,10.9px); line-height:1.42; }
body.home .nx-footer-menu a,
body.home .nx-contact-list a { font-size:inherit; }
body.home .nx-social-row { gap:clamp(5px,.53vw,8px); }
body.home .nx-social-row a { width:clamp(19px,2vw,30px); height:clamp(19px,2vw,30px); font-size:clamp(6.5px,.69vw,10.3px); }
body.home .nx-footer-bottom { min-height:clamp(30px,3.16vw,47px); margin-top:0; padding:clamp(7px,.74vw,11px) 0; }
body.home .nx-footer-bottom p,
body.home .nx-legal-menu a { font-size:clamp(6.2px,.65vw,9.8px); }

/* ---------- 948px reference-width fidelity ---------- */
@media (min-width: 901px) and (max-width: 1100px) {
  body.home { --nx-home-gutter:20px; }
  body.home .nx2-home-hero { width:calc(100% - 16px); }
  body.home .nx2-home-hero .nx2-wrap { padding-inline:28px; }
  body.home .nx2-home-hero-grid { min-height:398px; grid-template-columns:47% 53%; gap:8px; }
  body.home .nx2-home-copy { padding:24px 0 32px; }
  body.home .nx2-home-copy h1 { font-size:40px; }
  body.home .nx2-home-copy > p { max-width:395px; font-size:11px; }
  body.home .nx2-home-kicker { font-size:8px; }
  body.home .nx2-btn { min-height:33px; padding:0 13px; font-size:8.5px; }
  body.home .nx2-trusted small { font-size:8px; }
  body.home .nx2-trusted b { font-size:9px; }
}

/* ---------- Tablet ---------- */
@media (max-width: 900px) {
  body.home { --nx-home-gutter:16px; }
  body.home .nx-site-header { position:sticky; top:0; }
  body.home .nx-header-inner { min-height:64px; grid-template-columns:1fr auto auto; }
  body.home .nx-brand__fallback img,
  body.home .nx-brand .custom-logo { max-width:165px; }
  body.home .nx-header-tools .nx-language { display:none; }
  body.home .nx-header-cta { min-height:38px; padding-inline:13px; font-size:10px; }
  body.home .nx2-home-hero { width:100%; border-radius:0; }
  body.home .nx2-home-hero .nx2-wrap { width:min(calc(100% - 32px), 760px); padding-inline:0; }
  body.home .nx2-home-hero-grid { min-height:auto; grid-template-columns:1fr; gap:0; padding:34px 0 30px; }
  body.home .nx2-home-copy { padding:0; text-align:center; }
  body.home .nx2-home-copy > p { margin-inline:auto; }
  body.home .nx2-actions,
  body.home .nx2-trusted div { justify-content:center; }
  body.home .nx2-home-visual { order:-1; min-height:360px; padding:0 0 18px; }
  body.home .nx-home-dashboard { width:min(100%,610px); }
  body.home .nx2-stats-home { width:min(calc(100% - 32px),760px); grid-template-columns:repeat(2,1fr); margin-top:16px; }
  body.home .nx2-stat:nth-child(3)::before { display:none; }
  body.home .nx2-section { padding:48px 0; }
  body.home .nx2-section-head h2 { font-size:32px; }
  body.home .nx2-section-head p { font-size:13px; }
  body.home .nx2-home-services { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  body.home .nx2-home-service { min-height:390px; }
  body.home .nx2-home-service h3 { font-size:17px; }
  body.home .nx2-home-service > p { min-height:0; font-size:12px; }
  body.home .nx2-home-service li { font-size:11px; }
  body.home .nx2-more { font-size:11px; }
  body.home .nx2-global { grid-template-columns:1fr 1fr; }
  body.home .nx2-global > * + * { border-left:0; border-top:1px solid #e6edf5; }
  body.home .nx2-global-intro { grid-column:1/-1; }
  body.home .nx2-global-stats { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); }
  body.home .nx2-home-projects { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  body.home .nx2-home-projects h3 { font-size:13px; }
  body.home .nx2-home-projects small { font-size:10px; }
  body.home .nx2-testimonials { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  body.home .nx2-testimonial { min-height:150px; }
  body.home .nx2-testimonial > p { min-height:70px; font-size:10px; }
  body.home .nx2-person strong { font-size:10px; }
  body.home .nx2-person small { font-size:8px; }
  body.home .nx2-home-carousel-nav { display:none; }
  body.home .nx2-cta { width:min(calc(100% - 32px),760px); grid-template-columns:auto 1fr; }
  body.home .nx2-cta-actions { grid-column:1/-1; }
  body.home .nx-site-footer { width:100%; border-radius:0; }
  body.home .nx-site-footer .nx-container { width:min(calc(100% - 36px),760px); }
  body.home .nx-footer-grid--five { grid-template-columns:repeat(2,1fr); }
  body.home .nx-footer-brand { grid-column:1/-1; }
}

/* ---------- Phone ---------- */
@media (max-width: 600px) {
  body.home .nx-header-cta { display:none; }
  body.home .nx-header-inner { grid-template-columns:1fr auto; }
  body.home .nx2-home-visual { min-height:255px; }
  body.home .nx-home-dashboard { width:112%; transform:translateX(-1%); }
  body.home .nx2-home-copy h1 { font-size:36px; }
  body.home .nx2-home-copy > p { font-size:13px; }
  body.home .nx2-home-kicker { font-size:9px; }
  body.home .nx2-btn { min-height:42px; padding:0 18px; font-size:11px; }
  body.home .nx2-trusted b { font-size:10px; }
  body.home .nx2-stats-home { grid-template-columns:1fr 1fr; }
  body.home .nx2-stat { min-height:68px; padding:10px; }
  body.home .nx2-stat strong { font-size:16px; }
  body.home .nx2-stat small { font-size:8px; }
  body.home .nx2-section { padding:38px 0; }
  body.home .nx2-section-head h2 { font-size:28px; }
  body.home .nx2-section-head p { font-size:11px; }
  body.home .nx2-home-services { grid-template-columns:1fr; }
  body.home .nx2-home-service { min-height:auto; }
  body.home .nx2-home-service > p { font-size:12px; }
  body.home .nx2-home-service li { font-size:11.5px; }
  body.home .nx2-global { grid-template-columns:1fr; }
  body.home .nx2-global-intro,
  body.home .nx2-global-stats { grid-column:auto; }
  body.home .nx2-global-stats { grid-template-columns:repeat(2,1fr); }
  body.home .nx2-home-projects,
  body.home .nx2-testimonials { grid-template-columns:1fr; }
  body.home .nx2-home-projects h3 { font-size:13px; }
  body.home .nx2-home-projects small { font-size:10px; }
  body.home .nx2-testimonial { min-height:auto; }
  body.home .nx2-testimonial > p { min-height:0; font-size:11px; }
  body.home .nx2-person img { width:34px; height:34px; }
  body.home .nx2-person strong { font-size:11px; }
  body.home .nx2-person small { font-size:9px; }
  body.home .nx2-filter-row { align-items:flex-start; flex-direction:column; }
  body.home .nx2-cta { width:calc(100% - 24px); padding:16px; grid-template-columns:1fr; text-align:center; }
  body.home .nx2-cta-icon { margin:auto; }
  body.home .nx2-cta-actions { justify-content:center; flex-wrap:wrap; }
  body.home .nx-site-footer .nx-container { width:calc(100% - 30px); }
  body.home .nx-footer-grid--five { grid-template-columns:1fr; gap:18px; }
  body.home .nx-footer-brand { grid-column:auto; }
  body.home .nx-footer-bottom { flex-direction:column; align-items:flex-start; gap:6px; }
}

/* Avoid browser-side sharpening/softening tricks; let source pixels/SVG render natively. */
body.home img { image-rendering:auto; transform:none!important; backface-visibility:visible; }

/* ========================================================================== 
   Nexora Home Demo v5.2 precision patch
   Full-bleed sections + 1500px content grid, working project filters,
   responsive testimonial carousel, stronger CTA/footer transition.
   ========================================================================== */

body.home {
  --nx-home-max: 1500px;
  --nx-home-gutter: 28px;
}

/* Full-width section backgrounds; all real content remains on the 1500px grid. */
body.home .nx2-home-hero {
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
}
body.home .nx2-home-hero .nx2-wrap {
  width: min(calc(100% - (var(--nx-home-gutter) * 2)), var(--nx-home-max));
  max-width: var(--nx-home-max);
  margin-inline: auto;
  padding-inline: 0;
}
body.home .nx2-home-projects-section,
body.home .nx2-home-testimonials-section {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

/* Header: real site title becomes the default brand when no logo is set. */
body.home .nx-brand__site-title {
  max-width: 245px;
  color: #0b2444;
  font-size: clamp(20px, 1.55vw, 26px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -.025em;
  white-space: normal;
}
body.home .nx-brand__site-title:hover { color: var(--nx-home-blue); }

/* Typography scale tuned for the 1500px desktop canvas. */
body.home .nx2-section-head {
  max-width: 820px;
  margin-bottom: 34px;
}
body.home .nx2-section-head > span {
  margin-bottom: 9px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .1em;
}
body.home .nx2-section-head h2 {
  margin-bottom: 9px;
  font-size: clamp(30px, 2.15vw, 38px);
  line-height: 1.12;
  font-weight: 600;
  letter-spacing: -.032em;
}
body.home .nx2-section-head p {
  font-size: clamp(12px, .9vw, 14px);
  line-height: 1.6;
}
body.home .nx2-home-service h3 { font-size: clamp(16px, 1.16vw, 20px); }
body.home .nx2-home-service > p { font-size: clamp(11px, .83vw, 13px); }
body.home .nx2-home-service li { font-size: clamp(10.5px, .78vw, 12.5px); }
body.home .nx2-more { font-size: 12px; }
body.home .nx2-global-intro h2 { font-size: clamp(23px, 1.65vw, 28px); }
body.home .nx2-global-intro p { font-size: 12px; }
body.home .nx2-market h3 { font-size: 17px; }
body.home .nx2-market p { font-size: 11px; }

/* Projects */
body.home .nx2-home-projects-section {
  padding: 66px 0 56px;
  background: #fff;
}
body.home .nx2-home-projects-section .nx2-section-head { margin-bottom: 24px; }
body.home .nx2-filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 22px;
}
body.home .nx2-filter-row > div:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
body.home .nx2-filter-row button {
  appearance: none;
  min-height: 38px;
  padding: 0 17px;
  border: 1px solid #dbe6f2;
  border-radius: 999px;
  color: #5c6d82;
  background: #fff;
  font-family: inherit;
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
body.home .nx2-filter-row button:hover,
body.home .nx2-filter-row button:focus-visible {
  color: #00448f;
  border-color: #8bb5e4;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,68,143,.08);
}
body.home .nx2-filter-row button.is-active {
  color: #fff;
  background: #075dbb;
  border-color: #075dbb;
  box-shadow: 0 6px 14px rgba(0,68,143,.14);
}
body.home .nx2-filter-row > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  color: #083a74;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
body.home .nx2-home-projects {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}
body.home .nx2-home-projects article {
  min-width: 0;
  transition: opacity .22s ease, transform .22s ease;
}
body.home .nx2-home-projects article[hidden] { display: none !important; }
body.home .nx2-project-image {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid #dce6f2;
  border-radius: 9px;
  background: #071c3d;
  box-shadow: 0 5px 16px rgba(10,42,84,.07);
}
body.home .nx2-project-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.home .nx2-home-projects h3 {
  margin: 11px 0 4px;
  color: #0b2140;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: -.01em;
}
body.home .nx2-home-projects small {
  color: #77859a;
  font-size: 11px;
  line-height: 1.4;
}

/* Testimonials: left-aligned heading + right controls + auto-sliding track. */
body.home .nx2-home-testimonials-section {
  padding: 56px 0 66px;
  background: linear-gradient(180deg, #fbfdff 0%, #ffffff 100%);
  border-top: 1px solid #f0f4f9;
}
body.home .nx2-testimonials-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 22px;
}
body.home .nx2-home-testimonials-section .nx2-section-head {
  max-width: none;
  margin: 0;
  text-align: left;
}
body.home .nx2-home-testimonials-section .nx2-section-head h2 { margin-bottom: 0; }
body.home .nx2-home-carousel-nav {
  position: static;
  display: flex;
  gap: 9px;
  flex: 0 0 auto;
}
body.home .nx2-home-carousel-nav button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #d7e4f1;
  border-radius: 50%;
  color: #0a437f;
  background: #fff;
  font-family: inherit;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
body.home .nx2-home-carousel-nav button:hover,
body.home .nx2-home-carousel-nav button:focus-visible {
  background: #f1f7fe;
  border-color: #97b9df;
  outline: none;
  transform: translateY(-1px);
}
body.home .nx2-testimonials-viewport {
  width: 100%;
  overflow: hidden;
}
body.home .nx2-testimonials {
  display: flex;
  grid-template-columns: none;
  gap: 18px;
  width: 100%;
  transition: transform .55s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
body.home .nx2-testimonial {
  flex: 0 0 calc((100% - 54px) / 4);
  min-width: 0;
  min-height: 184px;
  padding: 20px 20px 18px;
  border: 1px solid #dce6f2;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(7,40,82,.045);
}
body.home .nx2-quote {
  height: 25px;
  color: #0864c8;
  font-size: 38px;
  line-height: .9;
}
body.home .nx2-testimonial > p {
  min-height: 77px;
  margin: 8px 0 16px;
  color: #53667d;
  font-size: 12px;
  line-height: 1.55;
}
body.home .nx2-person { gap: 10px; }
body.home .nx2-person img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}
body.home .nx2-person strong {
  color: #0b2344;
  font-size: 12px;
  font-weight: 600;
}
body.home .nx2-person small {
  margin-top: 2px;
  color: #7a8799;
  font-size: 10px;
}

/* CTA floats slightly into the footer, like the reference board. */
body.home .nx2-cta {
  position: relative;
  z-index: 6;
  width: min(calc(100% - 48px), 1450px);
  max-width: 1450px;
  min-height: 104px;
  margin: 4px auto -34px;
  padding: 20px 34px;
  border: 1px solid rgba(5,89,185,.2);
  border-radius: 13px;
  box-shadow: 0 18px 42px rgba(3,34,75,.18), 0 4px 12px rgba(3,34,75,.09);
}
body.home .nx2-cta-copy h2 {
  font-size: clamp(18px, 1.35vw, 22px);
  font-weight: 600;
}
body.home .nx2-cta-copy p { font-size: 12px; }
body.home .nx2-cta-actions .nx2-btn { font-size: 12px; }
body.home .nx-site-footer {
  position: relative;
  z-index: 1;
  padding-top: 56px;
}

@media (max-width: 1100px) {
  body.home { --nx-home-gutter: 20px; }
  body.home .nx2-home-hero .nx2-wrap {
    width: min(calc(100% - 40px), 980px);
  }
  body.home .nx2-filter-row { align-items: flex-start; }
  body.home .nx2-home-projects { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.home .nx2-testimonial { flex-basis: calc((100% - 18px) / 2); }
}

@media (max-width: 900px) {
  body.home .nx2-home-hero .nx2-wrap { width: min(calc(100% - 32px), 760px); }
  body.home .nx2-filter-row { flex-direction: column; }
  body.home .nx2-home-projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home .nx2-home-carousel-nav { display: flex; }
  body.home .nx2-testimonials-header { align-items: center; }
  body.home .nx2-cta {
    width: min(calc(100% - 32px), 760px);
    margin-bottom: -26px;
  }
  body.home .nx-site-footer { padding-top: 48px; }
}

@media (max-width: 600px) {
  body.home { --nx-home-gutter: 15px; }
  body.home .nx-brand__site-title { max-width: 175px; font-size: 19px; }
  body.home .nx2-home-projects-section { padding: 44px 0; }
  body.home .nx2-filter-row button { min-height: 35px; padding-inline: 13px; font-size: 10.5px; }
  body.home .nx2-home-projects { grid-template-columns: 1fr; gap: 22px; }
  body.home .nx2-home-projects h3 { font-size: 14px; }
  body.home .nx2-home-testimonials-section { padding: 44px 0 54px; }
  body.home .nx2-testimonials-header { gap: 14px; }
  body.home .nx2-home-carousel-nav button { width: 35px; height: 35px; font-size: 20px; }
  body.home .nx2-testimonial { flex-basis: 100%; min-height: 0; }
  body.home .nx2-testimonial > p { min-height: 0; }
  body.home .nx2-cta { width: calc(100% - 24px); margin-bottom: -22px; }
  body.home .nx-site-footer { padding-top: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  body.home .nx2-testimonials { transition: none; }
}
body.home .nx-home-float-growth strong,
body.home .nx-home-float-seo strong { white-space: nowrap; }

/* ==========================================================================\n   Nexora Home v5.3 interaction + footer fidelity fixes\n   ========================================================================== */

/* Allow the floating pre-footer CTA to paint above the footer instead of being
   clipped by the end of the main element. Horizontal containment is handled by
   the individual full-width sections and 1500px inner containers. */
body.home .nx-main { overflow: visible; }

/* Service cards: every service/sub-service is a real navigation target. */
body.home .nx2-home-service h3 a {
  color: inherit;
  text-decoration: none;
}
body.home .nx2-home-service h3 a:hover,
body.home .nx2-home-service h3 a:focus-visible {
  color: var(--nx-home-blue);
  outline: none;
}
body.home .nx2-home-service li {
  padding: 0;
}
body.home .nx2-home-service li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: clamp(34px, 2.65vw, 40px);
  padding: clamp(6px, .62vw, 9px) 0;
  color: #243e5f;
  text-decoration: none;
  transition: color .18s ease, padding-left .18s ease;
}
body.home .nx2-home-service li > a:hover,
body.home .nx2-home-service li > a:focus-visible {
  color: #005abf;
  padding-left: 3px;
  outline: none;
}
body.home .nx2-home-service .nx2-service-link-label {
  min-width: 0;
  font-size: inherit;
  font-weight: inherit;
}
body.home .nx2-home-service .nx2-service-link-arrow {
  flex: 0 0 auto;
  color: #005bbf;
  font-size: 1.15em;
  font-weight: 700;
}

/* Project image + title both open the same portfolio item. */
body.home .nx2-home-projects h3 a {
  color: #071c39;
  text-decoration: none;
}
body.home .nx2-home-projects h3 a:hover,
body.home .nx2-home-projects h3 a:focus-visible {
  color: var(--nx-home-blue);
  outline: none;
}

/* Seamless carousel clones should behave exactly like real cards visually but
   stay out of the accessibility tree. */
body.home .nx2-testimonial[data-nx-clone="true"] {
  pointer-events: none;
}

/* Keep the CTA fully visible above the footer. The footer begins behind the
   lower part of the card, while the card itself remains the top layer. */
body.home .nx2-cta {
  z-index: 20;
  margin-bottom: -38px;
  overflow: hidden;
}

/* The footer background stretches edge-to-edge exactly like the supplied
   screenshot; only its content grid is constrained to 1500px. */
body.home .nx-site-footer {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-top: 68px;
  border-radius: 10px 10px 0 0;
  overflow: visible;
}
body.home .nx-site-footer .nx-container {
  width: min(calc(100% - 48px), var(--nx-home-max));
  max-width: var(--nx-home-max);
  margin-inline: auto;
}

@media (max-width: 900px) {
  body.home .nx2-cta { margin-bottom: -30px; }
  body.home .nx-site-footer { padding-top: 58px; }
  body.home .nx-site-footer .nx-container { width: min(calc(100% - 32px), 760px); }
}

@media (max-width: 600px) {
  body.home .nx2-cta { margin-bottom: -24px; }
  body.home .nx-site-footer { padding-top: 50px; }
  body.home .nx-site-footer .nx-container { width: calc(100% - 30px); }
}

/* v5.4: user-requested small footer type increase; homepage geometry remains unchanged. */
body.home .nx-site-footer h2 { font-size: clamp(11px, .82vw, 14px); }
body.home .nx-footer-brand p { font-size: clamp(9.5px, .72vw, 12.5px); line-height: 1.6; }
body.home .nx-footer-menu li,
body.home .nx-contact-list li { font-size: clamp(9.5px, .72vw, 12.5px); line-height: 1.5; }
body.home .nx-footer-bottom p,
body.home .nx-legal-menu a { font-size: clamp(8.5px, .62vw, 10.8px); }

/* v5.4 final footer readability adjustment. */
body.home .nx-site-footer h2 { font-size: clamp(12px, .86vw, 15px); }
body.home .nx-footer-brand p { font-size: clamp(10.5px, .76vw, 13px); line-height: 1.62; }
body.home .nx-footer-menu li,
body.home .nx-contact-list li { font-size: clamp(10.5px, .76vw, 13px); line-height: 1.52; }
body.home .nx-footer-bottom p,
body.home .nx-legal-menu a { font-size: clamp(9px, .66vw, 11px); }

/* v5.6: keep the approved homepage design while allowing any future stat item
   to be removed without leaving an empty desktop track. */
@media (min-width: 981px) {
  body.home .nx2-stats-home {
    grid-template-columns: repeat(var(--nx-stat-count, 4), minmax(0, 1fr));
  }
}
