/*
 * Nefinity Elementor Kit compatibility / inner-page design system.
 * Keeps Nefinity Elementor blocks visually aligned with the theme homepage.
 */
:root{
  --nef-navy:var(--navy,#06173d);
  --nef-navy-2:var(--navy-2,#0a2456);
  --nef-blue:var(--blue,#0878f9);
  --nef-cyan:var(--cyan,#09cfe5);
  --nef-ink:var(--ink,#0b1835);
  --nef-muted:var(--muted,#61708c);
  --nef-light:var(--light,#f4f8fd);
  --nef-line:var(--line,#dfe8f3);
  --nef-white:#fff;
  --nef-container:var(--container,1180px);
  --nef-shadow:var(--shadow,0 25px 70px rgba(5,27,68,.12));
}

/* Keep all Nefinity Elementor sections on the same site grid. */
.nefinity-elementor-location .nef-container,
[class*="elementor-widget-nefinity-"] .nef-container{
  width:min(calc(100% - 42px),var(--container,1180px));
  margin-inline:auto;
}

/* Shared inner-page vertical rhythm. */
.nef-about-block,
.nef-section{
  padding:100px 0;
}

/* Shared homepage-style heading hierarchy. */
.nef-about-block h2,
.nef-section h2{
  font-family:var(--heading-font,"Space Grotesk",Inter,Arial,sans-serif);
  font-size:clamp(36px,4vw,50px);
  line-height:1.13;
  letter-spacing:-.035em;
  margin:0 0 22px;
}

.nef-about-block h3,
.nef-section h3{
  font-family:var(--heading-font,"Space Grotesk",Inter,Arial,sans-serif);
}

.nef-about-block .nef-kicker,
.nef-section .nef-kicker{
  margin:0 0 17px;
  color:var(--blue,#0878f9)!important;
  font-size:11px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.nef-about-block p,
.nef-section p{
  color:var(--muted,#61708c);
}

/* About intro: same proportions and compact information density as homepage. */
.nef-about-intro-grid{
  grid-template-columns:1.08fr .92fr;
  gap:78px;
}

.nef-about-intro-copy{
  max-width:680px;
}

.nef-about-intro-copy>.nef-about-lead{
  color:var(--ink,#0b1835);
  font-size:17px;
  line-height:1.75;
}

.nef-about-intro-copy>p:last-of-type{
  font-size:14px;
  line-height:1.8;
}

.nef-about-intro-highlights>div{
  min-height:118px;
  border-radius:14px;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}

.nef-about-intro-highlights>div:hover{
  transform:translateY(-4px);
  border-color:#cfdded;
  box-shadow:0 18px 42px rgba(5,37,90,.07);
}

/* Image only: no decorative card/background forced by the theme. */
.nef-about-intro-visual{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.nef-about-intro-image{
  display:block;
  width:100%;
  max-width:560px;
  height:auto;
  object-fit:contain;
}

/* Mission / Vision mirrors the homepage dark Why section. */
.nef-about-purpose,
.nef-about-apart{
  background:linear-gradient(135deg,#04122f,#082b69);
}

.nef-about-purpose .nef-kicker,
.nef-about-apart .nef-kicker{
  color:#7defff!important;
}

.nef-about-purpose h2,
.nef-about-apart h2{
  color:#fff;
}

.nef-about-purpose-cards article{
  border-radius:18px;
}

/* Core Values layout and card sizing are controlled by the Elementor widget.
   Keep theme compatibility CSS from overriding responsive Cards Per Row controls. */

/* Capability bridge follows the same restrained border/shadow system. */
.nef-about-capability-board{
  border-color:var(--line,#dfe8f3);
  border-radius:20px;
  box-shadow:0 20px 55px rgba(5,37,90,.07);
}

/* Leadership cards match service/card proportions. */
.nef-about-leadership-grid article{
  border-radius:18px;
  border-color:var(--line,#dfe8f3);
}

/* Nefinity CTA keeps the homepage full-width gradient treatment. */
.nef-cta--fullwidth .nef-cta-bg,
.nef-cta--fullwidth .nef-cta-background,
.nef-cta-bg{
  background:linear-gradient(110deg,#125ee8,var(--blue,#0878f9) 55%,#06bad7);
}

/* Avoid Elementor adding visual gaps between the generated About blocks. */
.elementor-widget-nefinity-about-intro>.elementor-widget-container,
.elementor-widget-nefinity-mission-vision>.elementor-widget-container,
.elementor-widget-nefinity-core-values>.elementor-widget-container,
.elementor-widget-nefinity-capability-bridge>.elementor-widget-container,
.elementor-widget-nefinity-differentiators>.elementor-widget-container,
.elementor-widget-nefinity-leadership>.elementor-widget-container,
.elementor-widget-nefinity-cta>.elementor-widget-container{
  margin:0;
  padding:0;
}

@media(max-width:1080px){
  .nef-about-intro-grid{gap:55px}
}

@media(max-width:860px){
  .nef-about-block,.nef-section{padding:82px 0}
  .nef-about-intro-grid,.nef-about-apart-grid{grid-template-columns:1fr;gap:46px}
  .nef-about-intro-image{max-width:620px;margin-inline:auto}
  .nef-about-purpose-head{grid-template-columns:1fr;gap:18px}
  .nef-about-purpose-cards{grid-template-columns:1fr}
  .nef-about-leadership-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:600px){
  [class*="elementor-widget-nefinity-"] .nef-container{width:min(calc(100% - 28px),var(--container,1180px))}
  .nef-about-block,.nef-section{padding:68px 0}
  .nef-about-block h2,.nef-section h2{font-size:32px;line-height:1.15}
  .nef-about-intro-highlights,.nef-about-leadership-grid{grid-template-columns:1fr}
  .nef-about-intro-copy>.nef-about-lead{font-size:16px}
  .nef-about-intro-image{max-width:100%}
}
