/* ==========================================================================
   NEXORA — Global Stylesheet
   Shared across every page. Edit this one file to restyle the whole site.
   ========================================================================== */

:root{
  --bg: #050915;
  --bg-soft: #070c1a;
  --card-bg: rgba(255,255,255,0.025);
  --card-bg-strong: rgba(255,255,255,0.045);
  --card-border: rgba(255,255,255,0.09);
  --card-border-soft: rgba(255,255,255,0.06);

  --text-primary: #ffffff;
  --text-secondary: #a7b0c2;
  --text-muted: #6d7690;

  --blue: #2f6bff;
  --cyan: #22c3d6;
  --green: #23c56f;
  --amber: #f2b84b;
  --violet: #8b5cf6;

  --gradient-brand: linear-gradient(92deg, #2f6bff 0%, #22c3d6 50%, #23c56f 100%);
  --gradient-brand-vert: linear-gradient(180deg, #2f6bff 0%, #23c56f 100%);

  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 10px;
  --radius-pill: 999px;

  --container: 1320px;
  --font-display: 'Sora', 'Inter', sans-serif;
  --font-body: 'Inter', sans-serif;
}

*, *::before, *::after{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  margin: 0;
  background: var(--bg);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img{ max-width: 100%; display: block; }

a{ color: inherit; text-decoration: none; }

button{ font-family: inherit; cursor: pointer; }

ul{ margin: 0; padding: 0; list-style: none; }

h1,h2,h3,h4{
  font-family: var(--font-display);
  margin: 0;
  font-weight: 700;
  letter-spacing: -0.02em;
}

p{ margin: 0; }

.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
}

.gradient-text{
  background: var(--gradient-brand);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.bg-field{
  position: relative;
}

/* Ambient wave background used on hero/footer/cta sections */
.wave-bg{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.wave-bg img{
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 100%;
  height: auto;
  opacity: 0.7;
}

/* ---------- Eyebrow pill ---------- */
.eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--card-border);
  background: linear-gradient(90deg, rgba(47,107,255,0.08), rgba(35,197,111,0.08));
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
}
.eyebrow svg{ width: 14px; height: 14px; flex-shrink: 0; }

/* ---------- Buttons ---------- */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 26px;
  border-radius: var(--radius-pill);
  font-weight: 600;
  font-size: 15px;
  border: 1px solid transparent;
  white-space: nowrap;
  transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease, background 0.18s ease;
}
.btn svg{ width: 16px; height: 16px; }
.btn-primary{
  background: var(--gradient-brand);
  color: #04101a;
  box-shadow: 0 8px 30px -8px rgba(35,197,111,0.35);
}
.btn-primary:hover{ transform: translateY(-2px); box-shadow: 0 12px 34px -6px rgba(47,107,255,0.45); }
.btn-outline{
  background: transparent;
  border: 1px solid var(--card-border);
  color: var(--text-primary);
}
.btn-outline:hover{ background: rgba(255,255,255,0.05); transform: translateY(-2px); }
.btn-block{ width: 100%; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(5,9,21,0.94);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.site-header .container{
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 88px;
}
.brand{ display: flex; align-items: center; }
.brand img{ height: 30px; width: auto; }

.main-nav{ display: flex; align-items: center; gap: 40px; }
.main-nav > ul{ display: flex; align-items: center; gap: 40px; }
.nav-link{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15.5px;
  font-weight: 500;
  color: var(--text-primary);
  padding: 10px 0;
}
.nav-link svg{ width: 14px; height: 14px; color: var(--text-secondary); transition: transform 0.2s ease; }
.nav-item{ position: relative; }
.main-nav .nav-item:hover .nav-link svg{ transform: rotate(180deg); }

.dropdown{
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  min-width: 240px;
  background: #0a0f20;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  padding: 10px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease;
  box-shadow: 0 20px 40px -12px rgba(0,0,0,0.6);
}
/* Extend the hoverable hit-area up into the gap above the panel so moving
   the mouse from the trigger to the dropdown doesn't lose hover state. */
.dropdown::before{
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: -18px;
  height: 18px;
}
.main-nav .nav-item:hover .dropdown,
.main-nav .nav-item.open .dropdown{
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.dropdown:not(.mega) a{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  font-size: 14.5px;
  color: var(--text-secondary);
}
.dropdown:not(.mega) a:hover{ background: rgba(255,255,255,0.05); color: var(--text-primary); }
.dropdown-icon{
  flex: none;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  object-fit: cover;
}
.company-dropdown-icon{
  width: 38px;
  height: 29px;
  border-radius: 6px;
  object-fit: contain;
}

/* ---- Mega menu (Solutions) ---- */
/* Escape the nav-item's own positioning context so the panel centers
   under the whole header/container instead of the narrow "Solutions" link. */
.nav-item.has-mega{ position: static; }

.has-mega .dropdown.mega{
  left: 50%;
  top: calc(100% + 14px);
  transform: translateX(-50%) translateY(6px);
  width: calc(100% - 64px);
  max-width: 1320px;
  min-width: 0;
}
.has-mega .dropdown.mega:not(.company-mega){
  padding: 16px;
  background: #05070f;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  box-shadow: 0 20px 40px -12px rgba(0,0,0,0.6);
  display: grid;
  grid-template-columns: 1.9fr 1fr;
  align-items: start;
  gap: 16px;
}
.main-nav .has-mega:hover .dropdown.mega,
.main-nav .has-mega:focus-within .dropdown.mega,
.main-nav .has-mega.open .dropdown.mega{
  transform: translateX(-50%) translateY(0);
}

.mega-panel{
  background: #0a0f20;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  padding: 28px;
  box-shadow: 0 20px 40px -12px rgba(0,0,0,0.6);
}

/* ---- Mega menu (Solutions) labels ---- */
.mega-label{
  display: block;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green);
  font-weight: 700;
  margin-bottom: 14px;
}
.mega-solutions-heading{
  font-size: 27px;
  line-height: 1.28;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--text-primary);
  max-width: 460px;
  margin-bottom: 22px;
}
.mega-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mega-item{
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 16px;
  border-radius: var(--radius-md);
  border: 1px solid var(--card-border);
  background: rgba(255,255,255,0.015);
  color: var(--text-primary);
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}
.mega-item:hover{
  background: rgba(255,255,255,0.05);
  border-color: var(--card-border-soft);
  transform: translateY(-2px);
}
.mega-item-content{
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1 auto;
}
.mega-item strong{
  display: block;
  font-size: 16px;
  font-weight: 700;
  margin-top: 0;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.mega-item small{
  display: block;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
  font-weight: 400;
  margin-top: 4px;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-wrap: break-word;
}
.mega-icon{
  flex: none;
  width: 59px; height: 59px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--card-border);
}
.mega-icon img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.mega-learn-more{
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--blue);
}
.mega-learn-more svg{ width: 13px; height: 13px; }

.mega-explore{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mega-explore-item{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border-radius: var(--radius-md);
  border: 1px solid var(--card-border);
  background: rgba(255,255,255,0.015);
  color: var(--text-primary);
  font-size: 14px;
  line-height: 1.4;
  transition: border-color 0.18s ease, background 0.18s ease;
}
.mega-explore-item:hover{
  background: rgba(255,255,255,0.05);
  border-color: var(--card-border-soft);
}
.mega-explore-icon{
  flex: none;
  width: 56px; height: 52px;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--card-border);
  display: flex; align-items: center; justify-content: center;
}
.mega-explore-icon img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.mega-explore-icon--cart{ color: var(--green); }
.mega-explore-icon--cart svg{ width: 24px; height: 24px; }
.mega-explore-text{ flex: 1 1 auto; min-width: 0; }
.mega-explore-title{
  display: block;
  font-weight: 600;
  color: var(--text-primary);
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.mega-explore-meta{
  display: block;
  margin-top: 3px;
  font-size: 12px;
  color: var(--text-muted);
  white-space: normal !important;
  overflow: visible !important;
}
.mega-explore-meta .dot{ margin: 0 4px; }
.mega-explore-arrow{
  flex: none;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
}
.mega-explore-arrow svg{ width: 16px; height: 16px; }
.mega-explore-item:hover .mega-explore-arrow{ color: var(--blue); }
.mega-view-all{
  margin-top: 10px;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--blue);
}
.mega-view-all .gradient-text{ font-weight: 700; }
.mega-view-all svg{ width: 14px; height: 14px; }

/* ---- Mega menu newsletter box ---- */
.mega-newsletter{
  margin-top: 25px;
  padding: 18px;
  border-radius: var(--radius-md);
  border: 1px solid var(--card-border);
  background: var(--card-bg);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 14px;
}
.mega-newsletter-icon{
  flex: none;
  width: 44px; height: 44px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(47,107,255,0.12);
  color: var(--blue);
}
.mega-newsletter-icon svg{ width: 20px; height: 20px; }
.mega-newsletter-text{ flex: 1 1 190px; min-width: 160px; }
.mega-newsletter-text strong{
  display: block;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--text-primary);
}
.mega-newsletter-text small{
  display: block;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--text-secondary);
  font-weight: 400;
}
.mega-newsletter-form{
  flex: 1 1 100%;
  display: flex;
  gap: 10px;
}
.mega-newsletter-form input{
  flex: 1;
  min-width: 0;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--card-border);
  background: rgba(255,255,255,0.03);
  color: var(--text-primary);
  font-size: 13.5px;
  font-family: inherit;
}
.mega-newsletter-form input::placeholder{ color: var(--text-muted); }
.mega-newsletter-form input:focus{ outline: none; border-color: var(--blue); }
.mega-newsletter-form button{
  flex: none;
  padding: 12px 22px;
  border-radius: var(--radius-sm);
  border: none;
  background: var(--gradient-brand);
  color: #04101a;
  font-weight: 700;
  font-size: 13.5px;
  white-space: nowrap;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.mega-newsletter-form button:hover{ transform: translateY(-1px); box-shadow: 0 8px 20px -6px rgba(35,197,111,0.4); }


.mega-cta{
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--card-border);
  background: rgba(255,255,255,0.02);
  font-size: 13.5px;
  color: var(--text-secondary);
}
.mega-cta-icon{
  flex: none;
  width: 36px; height: 36px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(47,107,255,0.12);
  color: var(--blue);
}
.mega-cta-icon svg{ width: 18px; height: 18px; }
.mega-cta-text{
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.mega-cta-btn{
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--card-border);
  color: var(--blue);
  font-weight: 700;
}
.mega-cta-btn .gradient-text{ font-weight: 700; }
.mega-cta-btn svg{ width: 14px; height: 14px; }

/* ---- Mega menu (Company) ---- */
.has-mega .dropdown.mega.company-mega{
  display: block;
  width: calc(100% - 64px);
  max-width: 1256px;
  min-width: 0;
  padding: 36px;
  background: #0a0f20;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  box-shadow: 0 20px 40px -12px rgba(0,0,0,0.6);
}
.company-mega-head{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 32px;
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--card-border-soft);
}
.company-mega-text .mega-label{ margin-bottom: 14px; }
.company-mega-text h4{
  font-size: 46px !important;
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin-bottom: 12px;
  color: var(--text-primary);
}
.company-mega-text p{
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-secondary);
}
.company-mega-visual{
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  overflow: hidden;
}
.company-mega-visual img{
  width: 100%;
  height: auto;
  object-fit: contain;
}
.company-mega-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.company-card{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 16px;
  border-radius: var(--radius-md);
  border: 1px solid var(--card-border);
  background: var(--card-bg);
  color: var(--text-primary);
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.company-card:hover{
  transform: translateY(-3px);
  border-color: rgba(255,255,255,0.2);
  background: var(--card-bg-strong);
}
.company-card-icon{
  flex: none;
  width: 68px;
  height: 52px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.company-card-icon img{ width: 100%; height: 100%; object-fit: contain; display: block; }
.company-card strong{ display: block; font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.company-card small{
  display: block;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--text-secondary);
  font-weight: 400;
}
.company-mega-links{
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--card-border-soft);
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}
.company-mega-links a{
  font-size: 14px;
  font-weight: 600;
  color: var(--text-secondary);
}
.company-mega-links a:hover{ color: var(--text-primary); }

@media (max-width: 1180px){
  .has-mega .dropdown.mega.company-mega{ max-width: 620px; }
  .company-mega-head{ grid-template-columns: 1fr; gap: 0; }
  .company-mega-visual{ display: none; }
  .company-mega-grid{ grid-template-columns: repeat(2, 1fr); }

  .has-mega .dropdown.mega:not(.company-mega){
    max-width: 620px;
    grid-template-columns: 1fr;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }
  .mega-solutions-heading{ font-size: 24px; max-width: none; }
}

@media (max-width: 900px){
  .mega-grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px){
  .mega-grid{ grid-template-columns: 1fr; }
  .mega-newsletter-form{ flex-direction: column; }
  .mega-newsletter-form button{ width: 100%; }
  .mega-cta{ flex-wrap: wrap; }
}

/* ---- Mega menu (Insights) ----
   Embeds the original insights.html page as-is via iframe so its layout,
   styling and behavior stay byte-for-byte identical to the standalone page. */
.has-mega .dropdown.insights-dropdown{
  width: calc(100% - 64px);
  max-width: 1256px;
  min-width: 0;
  padding: 0;
  overflow: hidden;
}
.insights-mega-frame{
  display: block;
  width: 100%;
  height: 900px; /* fallback until the page reports its real height */
  border: 0;
}

.header-actions{ display: flex; align-items: center; gap: 20px; }

.menu-toggle{
  display: none;
  background: none;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-sm);
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  color: var(--text-primary);
}
.menu-toggle svg{ width: 20px; height: 20px; }

.mobile-nav-overlay{
  position: fixed;
  inset: 0;
  background: rgba(2,4,10,0.6);
  backdrop-filter: blur(2px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s;
  z-index: 199;
}
.mobile-nav-overlay.open{ opacity: 1; visibility: visible; }

.mobile-nav{
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 56%;
  max-width: 420px;
  min-width: 280px;
  background: var(--bg);
  border-right: 1px solid var(--card-border);
  z-index: 200;
  padding: 20px 20px 28px;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform 0.32s cubic-bezier(0.32,0.72,0,1);
  box-shadow: 30px 0 60px rgba(0,0,0,0.35);
}
.mobile-nav.open{ transform: translateX(0); }

.mobile-nav-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 18px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--card-border-soft);
}
.mobile-nav-head .brand img{ height: 24px; }
.mobile-nav-close{
  width: 36px; height: 36px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--card-border);
  background: transparent;
  color: var(--text-primary);
  display: flex; align-items: center; justify-content: center;
}
.mobile-nav-close svg{ width: 16px; height: 16px; }

.mobile-nav ul{ display: flex; flex-direction: column; }
.mobile-nav > ul > li{ border-bottom: 1px solid var(--card-border-soft); }
.mobile-nav .nav-link{ padding: 16px 4px; justify-content: space-between; width: 100%; }
.mobile-nav .dropdown{
  position: static;
  transform: none;
  opacity: 1;
  visibility: visible;
  display: none;
  border: none;
  background: none;
  padding: 0 0 10px 12px;
}
.mobile-nav .nav-item.mobile-open .dropdown{ display: block; }
.mobile-nav .btn-primary{ margin-top: 20px; width: 100%; }

body.nav-locked{ overflow: hidden; }

@media (max-width: 980px){
  .main-nav{ display: none; }
  .header-actions .btn-primary{ display: none; }
  .menu-toggle{ display: flex; }
}

@media (max-width: 520px){
  .mobile-nav{ width: 62%; min-width: 240px; }
  .dropdown-icon{ width: 26px; height: 26px; border-radius: 7px; }
  .dropdown:not(.mega) a{ gap: 10px; font-size: 14px; padding: 9px 12px; }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{
  position: relative;
  padding-top: 120px;
  overflow: hidden;
  border-top: 1px solid var(--card-border-soft);
}
.footer-top{
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1.8fr;
  column-gap: 0;
  row-gap: 32px;
  position: relative;
  z-index: 1;
  padding-bottom: 56px;
}
.footer-brand{ padding-right: 20px; }
.footer-brand img{ height: 30px; margin-bottom: 22px; }
.footer-brand p{ color: var(--text-secondary); font-size: 15px; margin-bottom: 10px; }
.social-icons{
  margin-top: 14px;
  display: flex;
  gap: 12px;
}
.social-icon{
  width: 42px; height: 42px;
  border: 1px solid var(--blue);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  color: var(--text-primary);
}
.social-icon svg{ width: 18px; height: 18px; }
.social-icon--text{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: lowercase;
}

.footer-top .footer-col{
  padding-left: 45px;
  border-left: 1px solid #ffffff1f;
  min-width: 0;
}
.footer-top .footer-news{ padding-right: 0; }
.footer-form{ width: 100%; }
.footer-col h4{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 14px;
  color: var(--text-primary);
}
.footer-col .underline{
  display: block;
  width: 26px; height: 3px;
  border-radius: var(--radius-pill);
  background: var(--gradient-brand);
  margin-bottom: 18px;
}
.footer-col ul{ display: flex; flex-direction: column; gap: 14px; }
.footer-col a{ color: var(--text-secondary); font-size: 15px; }
.footer-col a:hover{ color: var(--text-primary); }

.footer-news h4{ font-family: var(--font-display); font-size: 19px; margin-bottom: 12px; text-transform: none; letter-spacing: normal;}
.footer-news p{ color: var(--text-secondary); font-size: 14.5px; margin-bottom: 18px; }
.footer-form{ display: flex; border: 1px solid var(--card-border); border-radius: var(--radius-pill); overflow: hidden; background: rgba(255,255,255,0.02); }
.footer-form input{
  flex: 1;
  border: none;
  background: transparent;
  padding: 14px 18px;
  color: var(--text-primary);
  font-size: 14.5px;
  outline: none;
  min-width: 0;
}
.footer-form input::placeholder{ color: var(--text-muted); }
.footer-form button{
  width: 48px;
  border: none;
  background: var(--gradient-brand);
  color: #04101a;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.footer-form button svg{ width: 18px; height: 18px; }

.footer-divider{ border: none; border-top: 1px solid var(--card-border-soft); position: relative; z-index: 1; }
.footer-bottom{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 26px 0;
  font-size: 14.5px;
  color: var(--text-secondary);
  position: relative;
  z-index: 1;
}
.footer-bottom .tagline strong{ font-weight: 700; }
.footer-bottom .tagline .grad-blue{ color: var(--blue); font-weight: 700; }
.footer-bottom .tagline .grad-green{ color: var(--green); font-weight: 700; }

@media (max-width: 980px){
  .footer-top{ grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; align-items: start; }
  .footer-brand{ grid-column: 1 / -1; padding-right: 0; }
  .footer-brand{ display: flex; flex-direction: column; align-items: center; text-align: center; }
  .footer-brand img{ margin-left: auto; margin-right: auto; }
  .footer-brand .social-icons{ margin-left: auto; margin-right: auto; justify-content: center; }
  .footer-top .footer-col{ padding-left: 24px; border-left: none; }
  .footer-top .footer-col--company{ padding-left: 24px; border-left: 1px solid #ffffff1f; }
  .footer-top .footer-news{ padding-left: 24px; border-left: 1px solid #ffffff1f; }
  /* Pair columns of similar length so rows don't end with a big empty gap:
     row 1: Solutions (4 links) + Company (4 links)
     row 2: Resources (2 links) + Stay Updated */
  .footer-col--solutions{ order: 1; }
  .footer-col--company{ order: 2; }
  .footer-col--resources{ order: 3; }
  .footer-news{ order: 4; }
}
@media (max-width: 620px){
  .site-footer{ padding-top: 64px; }
  .footer-top{ grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; column-gap: 20px; row-gap: 28px; padding-bottom: 36px; }
  .footer-brand{ grid-column: 1 / -1; }
  .footer-col ul{ gap: 12px; }
  .footer-news p{ font-size: 13.5px; }
  .footer-bottom{ flex-direction: column; gap: 10px; text-align: center; padding: 20px 0; }
}
@media (max-width: 420px){
  .footer-top{ gap: 24px 14px; }
  .footer-col h4{ font-size: 12px; }
  .footer-col a{ font-size: 13.5px; }
  .footer-form input{ padding: 12px 12px; font-size: 13px; }
  .footer-form button{ width: 40px; }
}

/* ==========================================================================
   SECTION SHELL / SHARED CARD
   ========================================================================== */
section{ position: relative; z-index: 1; }
.section-pad{ padding: 120px 0; }
.section-head{ text-align: center; max-width: 720px; margin: 0 auto 64px; }
.section-head .eyebrow{ margin-bottom: 22px; }
.section-head h2{ font-size: 44px; margin-bottom: 18px; }
.section-head p{ color: var(--text-secondary); font-size: 17px; }

.card{
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-lg);
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.icon-tile{
  width: 60px; height: 60px;
  border-radius: var(--radius-md);
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--card-border);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
}
.icon-tile svg{ width: 28px; height: 28px; }
.icon-tile img{ width: 32px; height: 32px; object-fit: contain; border-radius: 7px; }

@media (max-width: 760px){
  .section-pad{ padding: 64px 0; }
  .section-head{ margin-bottom: 40px; }
  .section-head h2{ font-size: 32px; margin-bottom: 14px; }
  .container{ padding: 0 20px; }
}
@media (max-width: 480px){
  .section-pad{ padding: 48px 0; }
  .section-head{ margin-bottom: 32px; }
}

/* ==========================================================================
   HOME PAGE COMPONENT STYLES
   Hero, dashboard mock, What We Do grid, Why Nexora, Process, CTA + Form.
   Shared by index.html and reused by solutions.html (hero shell, process,
   learn-more links, CTA + lead form).
   ========================================================================== */

/* ---------------- Hero ---------------- */
.hero{
  padding: 0px 0 100px;
  overflow: hidden;
}
.hero .wave-bg{ opacity: 0.9; }
.hero-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.12fr 0.95fr;
  gap: 56px;
  align-items: center;
}
.hero-copy .eyebrow{ margin-bottom: 26px; }
.hero-copy h1{
  font-size: clamp(30px, 2.15vw + 20px, 43px);
  line-height: 1.18;
  margin-bottom: 24px;
  white-space: normal;
}
.hero-copy h1 .h-line{ display: block; }
.hero-copy p{
  color: var(--text-secondary);
  font-size: 17.5px;
  max-width: 540px;
  margin-bottom: 34px;
}
.hero-ctas{ display: flex; gap: 16px; margin-bottom: 44px; flex-wrap: wrap; }

.hero-platforms{ border-top: 1px solid var(--card-border-soft); padding-top: 30px; }
.hero-platforms .label{
  font-size: 12.5px;
  letter-spacing: 0.14em;
  color: var(--text-muted);
  margin-bottom: 20px;
  text-transform: uppercase;
}
.platform-logos{ display: flex; align-items: center; gap: 40px; flex-wrap: wrap; }
.platform-logos .plogo{ display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 16px; color: var(--text-primary); white-space: nowrap; }
.platform-logos svg{ width: 26px; height: 26px; }
.plogo-icon{ width: 26px; height: 26px; border-radius: 6px; object-fit: contain; flex-shrink: 0; }

/* ---- Dashboard mock card ---- */
.dash-card{
  position: relative;
  z-index: 1;
  padding: 24px;
  border-radius: var(--radius-lg);
}
.dash-toolbar{ display: flex; justify-content: flex-end; margin-bottom: 18px; }
.dash-select{
  display: flex; align-items: center; gap: 8px;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-pill);
  padding: 8px 16px;
  font-size: 13px;
  color: var(--text-secondary);
}
.dash-select svg{ width: 14px; height: 14px; }

.dash-stats{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
.stat-box{
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  padding: 16px;
}
.stat-box .label{ font-size: 12.5px; color: var(--text-muted); margin-bottom: 10px; }
.stat-box .value{ font-size: 20px; font-weight: 700; margin-bottom: 8px; font-family: var(--font-display); }
.stat-box .delta{ font-size: 12.5px; font-weight: 600; display: flex; align-items: center; gap: 4px; }
.stat-box .delta.up{ color: var(--green); }
.stat-box .delta.down{ color: #f26666; }

.dash-chart{ position: relative; margin-bottom: 22px; }
.dash-chart svg{ width: 100%; height: auto; display: block; }
.chart-tooltip{
  position: absolute;
  top: 14%;
  left: 62%;
  background: #0d1428;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  font-size: 12.5px;
  min-width: 150px;
  box-shadow: 0 12px 30px -8px rgba(0,0,0,0.6);
}
.chart-tooltip .t-date{ color: var(--text-secondary); margin-bottom: 8px; }
.chart-tooltip .t-row{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.chart-tooltip .t-row:last-child{ margin-bottom: 0; }
.chart-tooltip .dot{ width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin-right: 6px; }

.dash-bottom{
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 14px;
}
.dash-panel{
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  padding: 18px;
}
.dash-panel h5{ font-family: var(--font-display); font-size: 15px; margin-bottom: 14px; }
.campaign-table{ width: 100%; border-collapse: collapse; font-size: 13px; }
.campaign-table th{
  text-align: left; font-weight: 500; color: var(--text-muted);
  padding-bottom: 10px; font-size: 12px;
}
.campaign-table td{ padding: 8px 0; color: var(--text-primary); }
.campaign-table td:first-child{ font-weight: 500; }
.campaign-table td.roas{ color: var(--green); font-weight: 600; }
.campaign-table th:not(:first-child), .campaign-table td:not(:first-child){ text-align: right; }

.donut-wrap{ display: flex; align-items: center; gap: 18px; }
.donut-wrap svg{ width: 108px; height: 108px; flex-shrink: 0; }
.donut-center-label{ font-size: 11px; color: var(--text-muted); }
.donut-center-value{ font-size: 17px; font-weight: 700; font-family: var(--font-display); }
.legend{ font-size: 13px; flex: 1; }
.legend-row{ display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.legend-row:last-child{ margin-bottom: 0; }
.legend-row .swatch{ width: 9px; height: 9px; border-radius: 50%; display: inline-block; margin-right: 8px; }
.legend-row .lname{ display: flex; align-items: center; color: var(--text-secondary); }
.legend-row .lval{ color: var(--text-primary); font-weight: 600; }

@media (max-width: 1300px){
  .hero-grid{ grid-template-columns: 1fr; }
  .hero-copy h1{ font-size: clamp(30px, 4vw, 42px); }
  .dash-stats{ grid-template-columns: repeat(2, 1fr); }
  .dash-bottom{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  .hero-copy h1{ font-size: 32px; }
  .hero-ctas{ flex-direction: column; align-items: stretch; }
  .chart-tooltip{ display: none; }
  .hero{ padding-bottom: 56px; }
  .hero-grid{ gap: 32px; }
  .hero-copy p{ margin-bottom: 22px; }
  .hero-ctas{ margin-bottom: 26px; }
  .hero-platforms{ padding-top: 20px; }
  .hero-platforms .label{ margin-bottom: 14px; }
  .platform-logos{ gap: 14px; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
  .platform-logos .plogo{ gap: 6px; font-size: 11.5px; }
  .platform-logos svg, .plogo-icon{ width: 18px; height: 18px; }
}
@media (max-width: 480px){
  .hero-copy h1{ font-size: 24px; line-height: 1.28; }
  .hero-copy .eyebrow{ font-size: 10.5px; padding: 6px 12px; gap: 6px; white-space: normal; }
  .hero-copy .eyebrow svg{ width: 12px; height: 12px; }
}
@media (max-width: 360px){
  .hero-copy h1{ font-size: 21px; }
}

/* ---------------- What We Do ---------------- */
.solutions-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}
.solution-card{
  padding: 30px 26px;
  display: flex;
  flex-direction: column;
}
.solution-card:hover{ transform: translateY(-4px); border-color: rgba(255,255,255,0.18); }
.solution-card h3{ font-size: 21px; margin-bottom: 10px; }
.solution-card p{ color: var(--text-secondary); font-size: 14.5px; margin-bottom: 26px; flex-grow: 1; }
.solution-card hr{ border: none; border-top: 1px solid var(--card-border-soft); margin-bottom: 18px; }
.learn-more{
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 600; font-size: 14.5px;
  border-bottom: 1px solid var(--text-primary);
  padding-bottom: 2px;
  width: fit-content;
}
.learn-more svg{ width: 15px; height: 15px; }

.feature-strip{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 8px 8px;
}
.feature-strip .fitem{
  display: flex; align-items: center; gap: 16px;
  padding: 22px 24px;
}
.feature-strip .fitem .icon-tile{ margin-bottom: 0; width: 48px; height: 48px; flex-shrink: 0; }
.feature-strip .fitem .icon-tile svg{ width: 22px; height: 22px; }
.feature-strip h4{ font-size: 15.5px; margin-bottom: 4px; }
.feature-strip p{ color: var(--text-secondary); font-size: 13.5px; }

/* ---------------- Why Nexora ---------------- */
.why-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.why-card{ padding: 30px; display: flex; align-items: flex-start; gap: 18px; }
.why-card .icon-tile{ margin-bottom: 0; }
.why-card h3{ font-size: 18px; margin-bottom: 8px; }
.why-card p{ color: var(--text-secondary); font-size: 14.5px; }

/* ---------------- Process ---------------- */
.process-row{
  display: flex;
  align-items: stretch;
  gap: 0;
}
.process-card{
  flex: 1;
  padding: 32px 26px;
}
.process-arrow{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  flex-shrink: 0;
}
.process-arrow .circle{
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1px solid var(--card-border);
  display: flex; align-items: center; justify-content: center;
}
.process-arrow svg{ width: 15px; height: 15px; color: var(--green); }
.process-num{ font-family: var(--font-display); font-size: 30px; font-weight: 800; margin-bottom: 18px; }
.process-card h3{ font-size: 19px; margin-bottom: 10px; }
.process-card p{ color: var(--text-secondary); font-size: 14.5px; margin-bottom: 24px; }
.process-card .underline{ display: block; width: 24px; height: 2px; background: var(--card-border); }

@media (max-width: 980px){
  .solutions-grid{ grid-template-columns: repeat(2, 1fr); }
  .feature-strip{ grid-template-columns: repeat(2, 1fr); }
  .why-grid{ grid-template-columns: repeat(2, 1fr); }
  .process-row{ flex-direction: column; gap: 0; }
  .process-arrow{ width: 100%; height: 40px; }
  .process-arrow svg{ transform: rotate(90deg); }
  .process-card{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 16px;
    row-gap: 0;
    padding: 24px 22px;
  }
  .process-card .icon-tile{ margin-bottom: 0; }
  .process-card .process-num{ margin-bottom: 0; }
  .process-card h3,
  .process-card p,
  .process-card .underline{ flex-basis: 100%; }
  .process-card h3{ margin-top: 14px; }
}
@media (max-width: 620px){
  .solutions-grid{ grid-template-columns: 1fr; gap: 14px; margin-bottom: 14px; }
  .feature-strip{ grid-template-columns: 1fr; }
  .why-grid{ grid-template-columns: 1fr; gap: 14px; }
  .cta-grid{ gap: 32px; }
}

/* ---------------- CTA + Form ---------------- */
.cta-section{ overflow: hidden; }
.cta-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.cta-copy{ min-width: 0; }
.cta-copy .eyebrow{ margin-bottom: 26px; }
.cta-copy h2{ font-size: 44px; line-height: 1.15; margin-bottom: 20px; max-width: 100%; overflow-wrap: break-word; }
.cta-copy p{ color: var(--text-secondary); font-size: 17px; margin-bottom: 34px; max-width: 460px; overflow-wrap: break-word; }

.form-card{ padding: 36px; min-width: 0; }
.form-card h3{ font-size: 24px; margin-bottom: 26px; }
.form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.form-row .form-field{ min-width: 0; }
.form-field label{ display: block; font-size: 14px; margin-bottom: 8px; color: var(--text-primary); }
.form-field input, .form-field select, .form-field textarea{
  width: 100%;
  background: rgba(255,255,255,0.02);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-sm);
  padding: 13px 16px;
  color: var(--text-primary);
  font-size: 14.5px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.2s ease;
}
.form-field input::placeholder, .form-field textarea::placeholder{ color: var(--text-muted); }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{ border-color: var(--blue); }
.form-field textarea{ resize: vertical; min-height: 100px; }
.form-field select{ appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7b0c2' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 16px; }
.form-field.full{ grid-column: 1 / -1; margin-bottom: 24px; }

@media (max-width: 980px){
  .cta-grid{ grid-template-columns: 1fr; }
  .cta-copy h2{ font-size: 34px; }
}
@media (max-width: 560px){
  .form-row{ grid-template-columns: 1fr; }
  .form-card{ padding: 24px; }
}


/* ==========================================================================
   SOLUTIONS PAGE STYLES
   Reuses global tokens/components from styles.css (cards, buttons, eyebrow,
   section-pad, icon-tile, gradient-text) and layout patterns from home.css.
   ========================================================================== */

/* ---------------- Hero ---------------- */
.sol-hero{
  padding: 56px 0 100px;
  overflow: hidden;
}
.sol-hero .wave-bg{ opacity: 0.9; }
.sol-hero-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 56px;
  align-items: center;
}
.sol-hero-copy{ min-width: 0; }
.sol-hero-copy .eyebrow{ margin-bottom: 26px; white-space: normal; }
.sol-hero-copy h1{
  font-size: clamp(30px, 2.6vw + 18px, 48px);
  line-height: 1.15;
  margin-bottom: 22px;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}
.sol-hero-copy h1 .gradient-text{ display: inline; }
.sol-hero-copy p{
  color: var(--text-secondary);
  font-size: 17.5px;
  max-width: 560px;
  width: 100%;
  margin-bottom: 34px;
  white-space: normal;
  overflow-wrap: break-word;
}
.sol-hero-ctas{ display: flex; gap: 16px; margin-bottom: 34px; flex-wrap: wrap; }

.sol-trust-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--card-border);
  background: var(--card-bg);
  border-radius: var(--radius-md);
  padding: 16px 20px;
  flex-wrap: nowrap;
}
.sol-trust-item{ display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: var(--text-primary); white-space: nowrap; }
.sol-trust-item .tick{
  width: 30px; height: 30px; flex-shrink: 0;
  border-radius: 8px;
  background: rgba(47,107,255,0.12);
  color: var(--blue);
  display: flex; align-items: center; justify-content: center;
}
.sol-trust-item .tick svg{ width: 16px; height: 16px; }
.sol-trust-item .tick img{ width: 20px; height: 20px; object-fit: contain; }
.sol-trust-item:nth-child(2) .tick{ background: rgba(35,197,111,0.12); color: var(--green); }
.sol-trust-item:nth-child(3) .tick{ background: rgba(35,197,111,0.12); color: var(--green); }

/* ---- Orbit diagram ---- */
.sol-orbit-wrap{ position: relative; z-index: 1; min-width: 0; }
.sol-orbit{
  position: relative;
  width: 100%;
  padding-top: 100%;
}
.sol-orbit-lines{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.sol-orbit-lines line{
  stroke: rgba(255,255,255,0.16);
  stroke-width: 0.35;
  stroke-dasharray: 1.6 1.8;
}
.sol-hub{
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  width: 33%; height: 33%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 40%, rgba(47,107,255,0.16), rgba(5,9,21,0.4) 70%);
  border: 1px solid rgba(47,107,255,0.4);
  box-shadow: 0 0 60px -10px rgba(35,197,111,0.35), inset 0 0 40px -10px rgba(47,107,255,0.3);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
  z-index: 2;
  padding: 8px;
}
.sol-hub img{ height: 20px; width: auto; margin-bottom: 8px; }
.sol-hub .hub-label{ font-family: var(--font-display); font-size: 12.5px; font-weight: 700; color: var(--text-primary); line-height: 1.3; }

.sol-node{
  position: absolute;
  width: 29%;
  background: #0a0f20;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  padding: 14px;
  z-index: 2;
  box-shadow: 0 16px 30px -14px rgba(0,0,0,0.55);
}
.sol-node .icon-tile{ width: 68px; height: 68px; margin-bottom: 12px; border-radius: 10px; background: transparent; border: none; }
.sol-node .icon-tile img{ width: 54px; height: 54px; }
.sol-node .icon-tile svg{ width: 48px; height: 48px; }
.sol-node h4{ font-family: var(--font-display); font-size: 14.5px; margin-bottom: 6px; }
.sol-node p{ font-size: 12px; line-height: 1.45; color: var(--text-secondary); }

.sol-node--n1{ left: 1%; top: 20%; }
.sol-node--n2{ left: 35.5%; top: -1%; }
.sol-node--n3{ left: 70%; top: 20%; }
.sol-node--n4{ left: 1%; top: 58%; }
.sol-node--n5{ left: 35.5%; top: 79%; }
.sol-node--n6{ left: 70%; top: 58%; }

@media (max-width: 1300px){
  .sol-hero-grid{ grid-template-columns: 1fr; }
  .sol-orbit-wrap{ max-width: 560px; margin: 0 auto; }
}
@media (max-width: 760px){
  .sol-trust-row{ gap: 14px; padding: 14px 16px; }
  .sol-trust-item{ font-size: 13px; gap: 8px; }
  .sol-trust-item .tick{ width: 26px; height: 26px; }
  .sol-trust-item .tick svg{ width: 14px; height: 14px; }
  .sol-trust-item .tick img{ width: 17px; height: 17px; }

  /* Swap the absolutely-positioned orbit diagram for a simple, bulletproof grid */
  .sol-orbit-lines,
  .sol-hub{ display: none; }
  .sol-orbit{
    padding-top: 0;
    height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .sol-node{
    position: static;
    width: auto;
  }
  .sol-node p{ display: none; }
  .sol-node .icon-tile{ width: 54px; height: 54px; margin-bottom: 10px; }
  .sol-node .icon-tile img{ width: 42px; height: 42px; }
  .sol-node h4{ font-size: 13px; line-height: 1.3; }
}
@media (max-width: 420px){
  .sol-node{ padding: 12px; }
  .sol-node h4{ font-size: 11.5px; }
  .sol-node .icon-tile{ width: 44px; height: 44px; margin-bottom: 8px; border-radius: 8px; }
  .sol-node .icon-tile img{ width: 34px; height: 34px; }
}
@media (max-width: 560px){
  .sol-hero{ padding: 32px 0 56px; }
  .sol-hero-copy h1{ font-size: 28px; }
  .sol-hero-ctas{ flex-direction: column; align-items: stretch; margin-bottom: 26px; }
  .sol-trust-row{
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 14px;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .sol-trust-row::-webkit-scrollbar{ display: none; }
  .sol-trust-item{ flex-shrink: 0; }
}
@media (max-width: 480px){
  .sol-hero-copy h1{ font-size: 25px; line-height: 1.26; }
  .sol-hero-copy .eyebrow{ font-size: 10.5px; padding: 6px 12px; gap: 6px; white-space: normal; }
  .sol-hero-copy .eyebrow svg{ width: 12px; height: 12px; }
  .sol-hero-copy p{ font-size: 15.5px; }
}
@media (max-width: 400px){
  .sol-trust-item{ font-size: 12px; gap: 7px; }
  .sol-trust-item .tick{ width: 24px; height: 24px; }
  .sol-trust-item .tick svg{ width: 13px; height: 13px; }
  .sol-trust-item .tick img{ width: 15px; height: 15px; }
}

/* ---------------- Core Solutions (6 cards) ---------------- */
.core-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}
.core-card{
  padding: 26px;
  display: flex;
  flex-direction: column;
}
.core-card:hover{ transform: translateY(-4px); border-color: rgba(255,255,255,0.18); }
.core-card-head{
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
}
.core-card .icon-tile{ margin-bottom: 0; flex-shrink: 0; width: 72px; height: 72px; }
.core-card .icon-tile img{ width: 52px; height: 52px; }
.core-card .icon-tile svg{ width: 44px; height: 44px; }
.core-card-head-text{ min-width: 0; }
.core-card h3{ font-size: 18px; margin-bottom: 6px; }
.core-card p{ color: var(--text-secondary); font-size: 13.5px; line-height: 1.5; }
.core-tags{ display: flex; align-items: center; flex-wrap: wrap; gap: 6px 0; font-size: 12.5px; color: var(--text-secondary); margin-bottom: 18px; flex-grow: 1; }
.core-tags .dot{ width: 4px; height: 4px; border-radius: 50%; background: var(--blue); margin: 0 9px; flex-shrink: 0; }
.core-card .learn-more{
  color: var(--blue);
  border-bottom: none;
  padding-bottom: 0;
  font-size: 14px;
}
.core-card .learn-more:hover{ color: var(--cyan); }

.core-cta-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 30px;
  flex-wrap: wrap;
}
.core-cta-strip .left{ display: flex; align-items: center; gap: 18px; }
.core-cta-strip .icon-tile{ margin-bottom: 0; flex-shrink: 0; }
.core-cta-strip .icon-tile svg{ width: 26px; height: 26px; }
.core-cta-strip h4{ font-family: var(--font-display); font-size: 17px; margin-bottom: 4px; }
.core-cta-strip p{ color: var(--text-secondary); font-size: 14.5px; }
.core-cta-strip .btn{ flex-shrink: 0; }

@media (max-width: 980px){
  .core-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px){
  .core-grid{ grid-template-columns: 1fr; gap: 14px; margin-bottom: 14px; }
  .core-cta-strip{ flex-direction: column; align-items: flex-start; }
  .core-cta-strip .btn{ width: 100%; justify-content: center; }
}

/* ---------------- Connected System (flow) ---------------- */
.flow-row{
  display: flex;
  align-items: stretch;
  gap: 0;
}
.flow-card{
  flex: 1;
  padding: 26px 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.flow-card .icon-tile{ margin: 0 auto 18px; }
.flow-card h4{ font-family: var(--font-display); font-size: 15.5px; margin-bottom: 8px; }
.flow-card p{ color: var(--text-secondary); font-size: 13px; }
.flow-arrow{ display: flex; align-items: center; justify-content: center; width: 40px; flex-shrink: 0; }
.flow-arrow svg{ width: 15px; height: 15px; color: var(--green); }

.system-note{
  margin-top: 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  flex-wrap: wrap;
}
.system-note .icon-tile{ margin-bottom: 0; flex-shrink: 0; width: 46px; height: 46px; }
.system-note .icon-tile svg{ width: 22px; height: 22px; }
.system-note p{ color: var(--text-secondary); font-size: 14.5px; }
.system-note strong{ color: var(--text-primary); }

@media (max-width: 980px){
  .flow-row{ flex-direction: column; }
  .flow-arrow{ width: 100%; height: 36px; }
  .flow-arrow svg{ transform: rotate(90deg); }
  .flow-card{ flex-direction: row; text-align: left; padding: 20px 22px; gap: 16px; }
  .flow-card .icon-tile{ margin: 0; }
}

/* ---------------- Platforms strip ---------------- */
.platform-grid{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}
.platform-card{
  padding: 26px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
}
.platform-card:hover{ transform: translateY(-3px); border-color: rgba(255,255,255,0.18); }
.platform-card img{ height: 32px; width: auto; max-width: 32px; object-fit: contain; }
.platform-card svg{ height: 32px; width: 32px; }
.platform-card span{ font-size: 13.5px; font-weight: 600; color: var(--text-primary); line-height: 1.35; }

@media (max-width: 980px){ .platform-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px){ .platform-grid{ grid-template-columns: repeat(2, 1fr); gap: 12px; } }

/* ---------------- What You Receive ---------------- */
.receive-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.receive-card{ padding: 28px; display: flex; align-items: flex-start; gap: 16px; }
.receive-card .icon-tile{ margin-bottom: 0; flex-shrink: 0; width: 46px; height: 46px; }
.receive-card .icon-tile svg{ width: 22px; height: 22px; }
.receive-card h3{ font-size: 17.5px; margin-bottom: 6px; }
.receive-card p{ color: var(--text-secondary); font-size: 14px; }

@media (max-width: 980px){ .receive-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px){ .receive-grid{ grid-template-columns: 1fr; gap: 14px; } }

/* ==========================================================================
   SOLUTIONS PAGE — "Our Process" section (proc-)
   ========================================================================== */

.proc-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 56px;
  flex-wrap: wrap;
}
.proc-top-copy{ max-width: 640px; }
.proc-top-copy .eyebrow{ margin-bottom: 20px; }
.proc-top-copy h2{ font-size: 44px; line-height: 1.14; margin-bottom: 16px; }
.proc-top-copy p{ color: var(--text-secondary); font-size: 17px; }

.proc-badge{
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 26px;
  max-width: 420px;
  flex-shrink: 0;
  background: linear-gradient(135deg, rgba(35,197,111,0.08), rgba(47,107,255,0.05));
}
.proc-badge .icon-tile{ margin-bottom: 0; flex-shrink: 0; border-color: rgba(35,197,111,0.35); }
.proc-badge h4{ font-family: var(--font-display); font-size: 16px; margin-bottom: 6px; }
.proc-badge p{ color: var(--text-secondary); font-size: 13.5px; line-height: 1.5; }

/* ---- top numbered track ---- */
.proc-track{
  display: flex;
  align-items: center;
  margin-bottom: 18px;
  padding: 0 4px;
}
.proc-track-dot{
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--green);
  flex-shrink: 0;
}
.proc-track-dot--end{ background: var(--green); }
.proc-track-line{
  flex: 1 1 auto;
  height: 0;
  border-top: 2px dotted var(--card-border);
  margin: 0 6px;
}
.proc-track-line--green{ border-top-color: rgba(35,197,111,0.55); }
.proc-track-line--blue{ border-top-color: rgba(47,107,255,0.55); }
.proc-track-line--violet{ border-top-color: rgba(139,92,246,0.55); }

.proc-num{
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  flex-shrink: 0;
  background: var(--bg);
  border: 2px solid;
}
.proc-num--green{ color: var(--green); border-color: var(--green); }
.proc-num--blue{ color: var(--blue); border-color: var(--blue); }
.proc-num--violet{ color: var(--violet); border-color: var(--violet); }

/* ---- 4-step cards ---- */
.proc-steps{
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-bottom: 56px;
}
.proc-card{
  flex: 1 1 0;
  min-width: 0;
  padding: 30px 26px;
  position: relative;
}
.proc-card-num{ display: none; }
.proc-card .icon-tile{ margin-bottom: 20px; }
.proc-card h3{ font-size: 19px; margin-bottom: 12px; }
.proc-title--green{ color: var(--green); }
.proc-title--blue{ color: var(--blue); }
.proc-title--violet{ color: var(--violet); }
.proc-card > p{ color: var(--text-secondary); font-size: 14px; line-height: 1.6; margin-bottom: 18px; }
.proc-list{ display: flex; flex-direction: column; gap: 10px; }
.proc-list li{
  position: relative;
  padding-left: 18px;
  font-size: 13.5px;
  color: var(--text-secondary);
}
.proc-list li::before{
  content: "";
  position: absolute;
  left: 0; top: 7px;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--green);
}
.proc-chevron{
  display: flex; align-items: center; justify-content: center;
  width: 36px; flex-shrink: 0;
  color: var(--text-muted);
}
.proc-chevron svg{ width: 18px; height: 18px; }

/* ---- stats strip ---- */
.proc-stats{
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr 1.1fr;
  gap: 0;
  padding: 30px 10px;
  margin-bottom: 40px;
}
.proc-stat{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 22px;
  border-right: 1px solid var(--card-border-soft);
}
.proc-stat:last-child{ border-right: none; }
.proc-stat .icon-tile{ margin-bottom: 0; flex-shrink: 0; width: 50px; height: 50px; }
.proc-stat .icon-tile svg{ width: 22px; height: 22px; }
.proc-stat-lead h4{ font-family: var(--font-display); font-size: 16px; margin-bottom: 4px; }
.proc-stat-lead p{ font-size: 15px; font-weight: 700; font-family: var(--font-display); }
.proc-stat h4{ font-family: var(--font-display); font-size: 15px; line-height: 1.3; }
.proc-stat-value{ display: block; font-family: var(--font-display); font-size: 24px; font-weight: 800; line-height: 1.1; margin-bottom: 2px; }
.proc-value--green{ color: var(--green); }
.proc-value--blue{ color: var(--blue); }
.proc-value--violet{ color: var(--violet); }
.proc-stat p{ font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.proc-stat-sub{ display: block; font-size: 12px; color: var(--text-muted); line-height: 1.4; }

/* ---- bottom cta strip ---- */
.proc-cta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 30px;
  flex-wrap: wrap;
  background: linear-gradient(90deg, rgba(47,107,255,0.06), rgba(35,197,111,0.06));
}
.proc-cta .left{ display: flex; align-items: center; gap: 18px; }
.proc-cta .icon-tile{ margin-bottom: 0; flex-shrink: 0; }
.proc-cta h4{ font-family: var(--font-display); font-size: 17px; margin-bottom: 4px; }
.proc-cta p{ color: var(--text-secondary); font-size: 14.5px; }
.proc-cta .btn{ flex-shrink: 0; }

@media (max-width: 1180px){
  .proc-stats{ grid-template-columns: repeat(3, 1fr); }
  .proc-stat{ border-right: none; border-bottom: 1px solid var(--card-border-soft); padding: 16px 12px; }
}
@media (max-width: 980px){
  .proc-top{ margin-bottom: 40px; }
  .proc-badge{ max-width: 100%; }
  .proc-track{ display: none; }
  .proc-steps{ flex-direction: column; gap: 16px; }
  .proc-chevron{ display: none; }
  .proc-card-num{
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 34px; height: 34px;
    border-radius: 50%;
    font-family: var(--font-display); font-weight: 700; font-size: 13px;
    background: var(--bg); border: 2px solid;
    position: absolute; top: 22px; right: 22px;
  }
  .proc-stats{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px){
  .proc-top-copy h2{ font-size: 32px; }
  .proc-stats{ grid-template-columns: 1fr; padding: 10px 10px; }
  .proc-stat{ padding: 16px 8px; }
  .proc-cta{ flex-direction: column; align-items: flex-start; }
  .proc-cta .btn{ width: 100%; justify-content: center; }
}


/* ==========================================================================
   SOLUTIONS PAGE — "Our Approach" / Connected System section (conn-)
   ========================================================================== */

.conn-grid{
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 40px;
  align-items: center;
  margin-bottom: 64px;
}
.conn-copy .eyebrow{ margin-bottom: 22px; }
.conn-copy h2{ font-size: 42px; line-height: 1.16; margin-bottom: 18px; }
.conn-copy > p{ color: var(--text-secondary); font-size: 16.5px; margin-bottom: 28px; max-width: 480px; }

.conn-play-link{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 15px;
  color: var(--cyan);
}
.conn-play-link svg{ width: 16px; height: 16px; }
.conn-play-circle{
  width: 30px; height: 30px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(34,195,214,0.4);
  background: rgba(34,195,214,0.08);
}
.conn-play-circle svg{ width: 15px; height: 15px; }

/* ---- approach image (right side) ---- */
.conn-orbit-wrap{
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.conn-approach-img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-lg);
}

/* ---- real cropped-icon overrides (image icons already include their own circular glow) ---- */
.proc-badge .icon-tile,
.proc-card .icon-tile,
.proc-stat .icon-tile,
.proc-cta .icon-tile,
.conn-feature .icon-tile{
  background: transparent;
  border: none;
  padding: 0;
}
.proc-badge .icon-tile{ width: 64px; height: 64px; }
.proc-badge .icon-tile img{ width: 64px; height: 64px; border-radius: 0; }
.proc-card .icon-tile{ width: 76px; height: 76px; }
.proc-card .icon-tile img{ width: 76px; height: 76px; border-radius: 0; }
.proc-stat .icon-tile{ width: 58px; height: 58px; }
.proc-stat .icon-tile img{ width: 58px; height: 58px; border-radius: 0; }
.proc-cta .icon-tile{ width: 62px; height: 62px; }
.proc-cta .icon-tile img{ width: 62px; height: 62px; border-radius: 0; }
.conn-feature .icon-tile img{ width: 68px; height: 68px; border-radius: 0; }

/* ---- banner ---- */
.conn-banner{
  position: relative;
  text-align: center;
  padding: 34px 60px;
  margin-bottom: 48px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--card-border);
  background: linear-gradient(180deg, rgba(15,22,42,0.6), rgba(8,13,26,0.6));
  overflow: hidden;
}
.conn-banner p{
  position: relative;
  z-index: 2;
  font-size: 18px;
  line-height: 1.55;
  color: var(--text-primary);
}
.conn-banner-wave{
  position: absolute;
  top: 0;
  width: 45%;
  height: 100%;
  pointer-events: none;
  opacity: 0.7;
  z-index: 1;
}
.conn-banner-wave img{ width: 100%; height: 100%; object-fit: cover; }
.conn-banner-wave--left{ left: 0; transform: scaleX(-1); }
.conn-banner-wave--right{ right: 0; }

/* ---- feature icons row ---- */
.conn-features{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}
.conn-feature{ text-align: center; }
.conn-feature .icon-tile{
  width: 72px; height: 72px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: rgba(255,255,255,0.03);
}
.conn-feature .icon-tile svg{ width: 24px; height: 24px; }
.conn-feature-icon--blue{ border-color: rgba(47,107,255,0.4); }
.conn-feature-icon--green{ border-color: rgba(35,197,111,0.4); }
.conn-feature h4{ font-family: var(--font-display); font-size: 15px; margin-bottom: 8px; }
.conn-feature p{ font-size: 13px; color: var(--text-secondary); line-height: 1.5; }

@media (max-width: 980px){
  .conn-grid{ grid-template-columns: 1fr; gap: 48px; }
  .conn-copy h2{ font-size: 34px; }
  .conn-copy > p{ max-width: 100%; }
  .conn-orbit-wrap{ max-width: 520px; margin: 0 auto; }
  .conn-features{ grid-template-columns: repeat(3, 1fr); gap: 28px 16px; }
}
@media (max-width: 480px){
  .conn-features{ grid-template-columns: repeat(2, 1fr); gap: 24px 14px; }
  .conn-banner p{ font-size: 16px; }
  .conn-banner{ padding: 24px 20px; }
}

/* ==========================================================================
   SOLUTIONS PAGE — "Platforms We Work Across" (plat-)
   ========================================================================== */
.plat-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:28px; flex-wrap:wrap; margin-bottom:44px; }
.plat-head-copy{ max-width:640px; }
.plat-head-copy h2{ font-size:40px; margin-bottom:16px; }
.plat-head-copy p{ color:var(--text-secondary); font-size:16px; }
.plat-badge{ display:flex; align-items:center; gap:16px; padding:22px 26px; max-width:400px; flex-shrink:0; }
.plat-badge .icon-tile{ width:60px; height:60px; border-radius:14px; flex-shrink:0; margin-bottom:0; background:rgba(47,107,255,0.08); border-color:rgba(47,107,255,0.35); }
.plat-badge .icon-tile img{ width:34px; height:34px; }
.plat-badge h4{ font-family:var(--font-display); font-size:16px; margin-bottom:4px; }
.plat-badge p{ font-size:13px; color:var(--text-secondary); line-height:1.45; }

.plat-grid{ display:flex; flex-wrap:wrap; gap:20px; margin-bottom:20px; }
.plat-grid .plat-card{ flex:1 1 300px; }
.plat-card{ padding:30px; display:flex; flex-direction:column; }
.plat-card-head{ display:flex; gap:16px; align-items:flex-start; margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid var(--card-border-soft); }
.plat-card-head .icon-tile{ width:64px; height:64px; border-radius:50%; flex-shrink:0; margin-bottom:0; background:transparent; border:none; padding:0; }
.plat-card-head .icon-tile img{ width:64px; height:64px; border-radius:50%; object-fit:contain; }
.plat-card h3{ font-size:19px; margin-bottom:6px; }
.plat-card-head p{ color:var(--text-secondary); font-size:13.5px; line-height:1.5; }

.plat-checks{ display:flex; flex-wrap:wrap; gap:11px 14px; margin-bottom:22px; }
.plat-checks .plat-check{ flex:1 1 44%; }
.plat-check{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-secondary); }
.plat-check svg{ width:16px; height:16px; flex-shrink:0; }
.plat-check--blue svg{ color:var(--blue); }
.plat-check--violet svg{ color:var(--violet); }
.plat-check--green svg{ color:var(--green); }

.plat-card-foot{ display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:12px; background:rgba(255,255,255,0.03); border:1px solid var(--card-border-soft); font-size:13.5px; font-weight:600; margin-top:auto; }
.plat-card-foot .icon-tile{ width:38px; height:38px; border-radius:9px; flex-shrink:0; margin-bottom:0; }
.plat-card-foot .icon-tile img{ width:38px; height:38px; }

.plat-why{ padding:40px; display:flex; flex-wrap:wrap; gap:44px; align-items:center; margin-bottom:20px; }
.plat-why-orbit{ flex:1 1 380px; max-width:420px; }
.plat-why-copy{ flex:2 1 420px; min-width:0; }
.plat-why-orbit{ width:100%; }
.plat-why-orbit img{ width:100%; height:auto; display:block; border-radius:16px; }
.plat-why-copy h3{ font-size:25px; margin-bottom:12px; }
.plat-why-copy > p{ color:var(--text-secondary); font-size:15px; margin-bottom:26px; }
.plat-features{ display:flex; flex-wrap:wrap; gap:22px; }
.plat-features .plat-feature{ flex:1 1 220px; }
.plat-feature{ display:flex; gap:12px; align-items:flex-start; }
.plat-feature .icon-tile{ width:42px; height:42px; flex-shrink:0; border-radius:10px; margin-bottom:0; }
.plat-feature .icon-tile img{ width:42px; height:42px; }
.plat-feature h4{ font-family:var(--font-display); font-size:14.5px; margin-bottom:4px; }
.plat-feature p{ font-size:12.5px; color:var(--text-secondary); line-height:1.45; }

@media (max-width: 1080px){
  .plat-why-orbit{ flex:1 1 100%; max-width:420px; margin:0 auto; }
  .plat-why-copy{ flex:1 1 100%; }
}
@media (max-width: 900px){
  .plat-grid .plat-card{ flex:1 1 100%; }
  .plat-features .plat-feature{ flex:1 1 45%; }
  .plat-head{ flex-direction:column; }
  .plat-badge{ max-width:100%; }
}
@media (max-width: 560px){
  .plat-head-copy h2{ font-size:32px; line-height:1.14; margin-bottom:16px; }
  .plat-checks .plat-check{ flex:1 1 100%; }
  .plat-why{ padding:26px; }
  .plat-features .plat-feature{ flex:1 1 100%; }
}

/* ==========================================================================
   SOLUTIONS PAGE — "What You Receive" (rcv2-)
   ========================================================================== */
.rcv2-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:28px; flex-wrap:wrap; margin-bottom:44px; }
.rcv2-head-copy{ max-width:640px; }
.rcv2-head-copy h2{ font-size:40px; margin-bottom:16px; }
.rcv2-head-copy p{ color:var(--text-secondary); font-size:16px; }
.rcv2-badge{ display:flex; align-items:center; gap:16px; padding:22px 26px; max-width:420px; flex-shrink:0; }
.rcv2-badge .icon-tile{ width:60px; height:60px; border-radius:50%; flex-shrink:0; margin-bottom:0; background:transparent; border:none; padding:0; }
.rcv2-badge .icon-tile img{ width:60px; height:60px; }
.rcv2-badge h4{ font-family:var(--font-display); font-size:16px; margin-bottom:4px; }
.rcv2-badge p{ font-size:13px; color:var(--text-secondary); line-height:1.45; }

.rcv2-grid{ display:flex; flex-wrap:wrap; gap:18px; margin-bottom:20px; }
.rcv2-grid .rcv2-card{ flex:1 1 260px; }
.rcv2-card{ padding:24px; display:flex; flex-direction:column; }
.rcv2-card .icon-tile{ width:58px; height:58px; border-radius:14px; margin-bottom:18px; background:transparent; border:none; padding:0; }
.rcv2-card .icon-tile img{ width:58px; height:58px; }
.rcv2-card h3{ font-size:16.5px; margin-bottom:8px; line-height:1.3; }
.rcv2-card p{ font-size:13px; color:var(--text-secondary); line-height:1.55; margin-bottom:18px; flex-grow:1; }
.rcv2-card-foot{ display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; padding-top:16px; border-top:1px solid var(--card-border-soft); }
.rcv2-card-foot svg{ width:15px; height:15px; flex-shrink:0; }
.rcv2-card-foot--blue svg{ color:var(--blue); }
.rcv2-card-foot--violet svg{ color:var(--violet); }
.rcv2-card-foot--green svg{ color:var(--green); }

.rcv2-panel{ padding:36px; display:flex; align-items:center; gap:36px; flex-wrap:wrap; }
.rcv2-panel-main{ display:flex; gap:18px; align-items:flex-start; flex:1 1 280px; min-width:250px; }
.rcv2-panel-main .icon-tile{ width:56px; height:56px; border-radius:50%; flex-shrink:0; margin-bottom:0; background:transparent; border:none; padding:0; }
.rcv2-panel-main .icon-tile img{ width:56px; height:56px; }
.rcv2-panel-main h3{ font-size:19px; margin-bottom:6px; }
.rcv2-panel-main p{ font-size:13.5px; color:var(--text-secondary); line-height:1.5; }
.rcv2-panel-feats{ display:flex; gap:30px; flex-wrap:wrap; flex:2 1 520px; }
.rcv2-pfeat{ text-align:left; min-width:130px; }
.rcv2-pfeat .icon-tile{ width:42px; height:42px; border-radius:10px; margin-bottom:10px; }
.rcv2-pfeat .icon-tile img{ width:42px; height:42px; }
.rcv2-pfeat h4{ font-family:var(--font-display); font-size:14.5px; margin-bottom:4px; }
.rcv2-pfeat p{ font-size:12.5px; color:var(--text-secondary); line-height:1.45; }

@media (max-width: 980px){
  .rcv2-grid .rcv2-card{ flex:1 1 45%; }
  .rcv2-head{ flex-direction:column; }
  .rcv2-badge{ max-width:100%; }
  .rcv2-panel{ flex-direction:column; align-items:flex-start; }
}
@media (max-width: 560px){

.actx-quote p {
    font-size: 14.5px;
    color: var(--text-secondary);
    line-height: 1.6;
    flex: 1 1 20px !important;
}
  .actx-copy h2 {
    font-size: 32px;
    margin-bottom: 14px;
    line-height: 1.14;
}

  .rcv2-panel-main {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    flex: 1 1 20px;
    min-width: 250px;
}

  .rcv2-head-copy h2 {
    font-size: 32px;
    line-height: 1.14;
    margin-bottom: 16px;
}
  .rcv2-grid{ gap:14px; }
  .rcv2-grid .rcv2-card{ flex:1 1 100%; }
  .rcv2-panel-feats{ gap:22px; }
}

/* ==========================================================================
   SOLUTIONS PAGE — "Ready to scale" Audit CTA (actx-)
   ========================================================================== */
.actx-grid{ display:flex; flex-wrap:wrap; gap:40px; align-items:flex-start; }
.actx-grid .actx-copy{ flex:1 1 520px; min-width:0; }
.actx-grid .actx-form{ flex:1 1 420px; min-width:0; }
.actx-copy h2{ font-size:38px; margin-bottom:14px; }
.actx-copy > p{ color:var(--text-secondary); font-size:16px; margin-bottom:26px; }

.actx-trust{ display:flex; flex-wrap:wrap; gap:16px 30px; padding:20px 24px; margin-bottom:22px; }
.actx-trust-item{ display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--text-secondary); font-weight:600; }
.actx-trust-item .icon-tile{ width:34px; height:34px; border-radius:9px; flex-shrink:0; margin-bottom:0; background:transparent; border:none; padding:0; }
.actx-trust-item .icon-tile img{ width:34px; height:34px; }

.actx-stats{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:22px; }
.actx-stats .actx-stat{ flex:1 1 140px; }
.actx-stat{ text-align:center; padding:22px 10px; }
.actx-stat .icon-tile{ width:42px; height:42px; margin:0 auto 12px; border-radius:50%; background:transparent; border:none; padding:0; }
.actx-stat .icon-tile img{ width:42px; height:42px; }
.actx-stat .value{ font-family:var(--font-display); font-size:24px; font-weight:700; margin-bottom:4px; }
.actx-stat .label{ font-size:13px; font-weight:600; color:var(--text-primary); margin-bottom:2px; }
.actx-stat .sub{ font-size:11px; color:var(--text-muted); }

.actx-quote{ padding:24px 26px; display:flex; gap:16px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; }
.actx-quote .icon-tile{ width:32px; height:32px; flex-shrink:0; background:transparent; border:none; padding:0; margin-bottom:0; }
.actx-quote .icon-tile img{ width:32px; height:32px; }
.actx-quote p{ font-size:14.5px; color:var(--text-secondary); line-height:1.6; flex:1 1 340px; }
.actx-quote-author{ font-size:13px; color:var(--green); font-weight:700; text-align:right; white-space:nowrap; }
.actx-quote-author span{ display:block; color:var(--text-muted); font-weight:500; font-size:12px; }

.actx-form{ padding:34px; }
.actx-form-head{ display:flex; gap:14px; align-items:center; margin-bottom:22px; }
.actx-form-head .icon-tile{ width:50px; height:50px; border-radius:50%; flex-shrink:0; margin-bottom:0; background:transparent; border:none; padding:0; }
.actx-form-head .icon-tile img{ width:50px; height:50px; }
.actx-form-head h3{ font-size:19px; margin-bottom:4px; }
.actx-form-head p{ font-size:13px; color:var(--text-secondary); }
.actx-phone-row{ display:grid; grid-template-columns:110px 1fr; gap:12px; margin-bottom:18px; }
.actx-privacy{ display:flex; align-items:center; justify-content:center; gap:8px; font-size:12px; color:var(--text-muted); margin-top:14px; }
.actx-privacy svg{ width:14px; height:14px; flex-shrink:0; }

.actx-trusted{ margin-top:56px; text-align:center; padding:32px 30px; position:relative; overflow:hidden; }
.actx-trusted::before,
.actx-trusted::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:170px;
  pointer-events:none;
  background-image: radial-gradient(currentColor 1.4px, transparent 1.4px);
  background-size: 16px 16px;
  -webkit-mask-image: radial-gradient(ellipse 100% 90% at center, #000 0%, transparent 72%);
  mask-image: radial-gradient(ellipse 100% 90% at center, #000 0%, transparent 72%);
  opacity:0.5;
}
.actx-trusted::before{ left:0; color:var(--green); }
.actx-trusted::after{ right:0; color:#e8543f; }
@media (max-width: 620px){
  .actx-trusted::before, .actx-trusted::after{ display:none; }
}
.actx-trusted-label{ font-size:12.5px; letter-spacing:.12em; color:var(--text-muted); font-weight:700; margin-bottom:30px; text-transform:uppercase; position:relative; z-index:1; }
.actx-brands{ display:flex; justify-content:center; align-items:center; gap:36px; flex-wrap:wrap; position:relative; z-index:1; }
.actx-brand{ display:flex; align-items:center; gap:14px; }
.actx-brand-logo{ height:36px; width:auto; max-width:150px; object-fit:contain; flex-shrink:0; }
.actx-brand-divider{ width:1px; align-self:stretch; min-height:44px; background:var(--card-border); flex-shrink:0; }
.actx-brand-text{ min-width:150px; }
.actx-brand-text p{ font-size:12.5px; color:var(--text-secondary); line-height:1.4; text-align:left; }

@media (max-width: 620px){
  .actx-brands{ flex-direction:column; gap:24px; }
  .actx-brand-divider{ width:60%; height:1px; min-height:0; }
  .actx-brand{ flex-direction:column; text-align:center; gap:8px; }
  .actx-brand-text p{ text-align:center; }
}

@media (max-width: 980px){
  .actx-grid .actx-copy, .actx-grid .actx-form{ flex:1 1 100%; }
  .actx-stats .actx-stat{ flex:1 1 45%; }
}
@media (max-width: 560px){
  .actx-trust{ flex-direction:column; gap:14px; }
  .actx-quote{ flex-direction:column; }
  .actx-quote-author{ text-align:left; }
  .actx-brands{ gap:30px; }
  .actx-form{ padding:22px; }
}
