.elementor-324 .elementor-element.elementor-element-97163c4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-324 .elementor-element.elementor-element-97163c4.e-con{--align-self:stretch;}.elementor-324 .elementor-element.elementor-element-2cf66ac{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-324 .elementor-element.elementor-element-2cf66ac.elementor-element{--align-self:stretch;}/* Start custom CSS *//* =========================
   TOKENS
   ========================= */
:root{
  --navy:#1d5c88;
  --sky:#90adc3;
  --red:#ef4445;
  --text:#333333;
  --bg:#ffffff;
  --soft:#f7f9fa;

  --container:1200px;
  --radius:14px;
  --radius-sm:10px;

  --radius-card:18px;
  --shadow-1:0 6px 16px rgba(16,24,40,.08);
  --shadow-2:0 12px 30px rgba(16,24,40,.10);
  --shadow-card:0 18px 42px rgba(16,24,40,.10);

  /* hero focal defaults (tweak per-page inline if needed) */
  --hero-x:52%;
  --hero-y:40%;
}

/* =========================
   UTILITIES / BANDS / WRAPS
   ========================= */
.kg-band--alt{ background: var(--soft); }
.kg-section__wrap{ max-width:var(--container); margin:0 auto; padding: clamp(28px,5vw,72px) 16px; }
.kg-section__wrap--tight{ padding-top: clamp(18px,3.5vw,40px); padding-bottom: clamp(18px,3.5vw,40px); }

/* =========================
   TITLES
   ========================= */
.kg-title--underlined{ position:relative; padding-bottom:12px; }
.kg-title--underlined::after{
  content:""; position:absolute; left:2px; bottom:-2px;
  width:84px; height:4px; border-radius:999px;
  background: linear-gradient(90deg, var(--red), var(--sky));
}
.kg-section__title{
  margin:18px 0 6px 0; color:#0f2f46;
  font:800 clamp(22px,2.6vw,32px)/1.15 Montserrat,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase; letter-spacing:.3px;
}

/* =========================
   HERO (Image Left) — CLEAN
   ========================= */
.kg-heroBand{ background: var(--soft); }
.kg-heroBand__wrap{
  max-width:var(--container); margin:0 auto; padding: clamp(28px,5vw,72px) 16px;
  display:grid; grid-template-columns: 1.15fr 1fr; gap: clamp(20px,3vw,40px); align-items:center;
}

/* Photo card (single overlay, no muddy stack, no dark ring) */
.kg-heroBand__media{
  position:relative; margin:0; overflow:hidden;
  min-height:520px; border-radius:var(--radius-card);
  box-shadow: var(--shadow-card);
  background:#fff var(--hero-img) center/cover no-repeat;
  background-position: var(--hero-x) var(--hero-y);
  border:none;
}

/* neutralize any span.overlay if present */
.kg-heroBand__overlay{ position:absolute; inset:0; background:none !important; mix-blend-mode:normal !important; pointer-events:none; }

/* lone, tasteful bottom fade (remove block below for ZERO gradient) */
.kg-heroBand__media::before{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.14) 85%);
}

.kg-heroBand__content{ display:grid; gap:12px; }
.kg-heroBand__content--lean{ gap:14px; }
.kg-heroBand__title{
  margin:0; color:#0f2f46;
  font:800 clamp(28px,3.6vw,44px)/1.15 Montserrat,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase; letter-spacing:.3px;
}
.kg-heroBand__eyebrow{ margin:0; color:#0f2f46; font:700 13px/1.2 "Open Sans",system-ui,sans-serif; letter-spacing:.18px; }
.kg-heroBand__ctaRow{ display:flex; gap:12px; flex-wrap:wrap; margin-top:6px; }

/* Intro inside hero */
.kg-intro--inHero{
  margin-top:8px; max-width:60ch; color:#0f2f46;
  font:600 16px/1.65 "Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; letter-spacing:.2px;
}

/* =========================
   BODY COPY
   ========================= */
.kg-aboutBody{ background: var(--bg); }
.kg-aboutBody__wrap{
  max-width:var(--container); margin:0 auto; padding: clamp(28px,5vw,72px) 16px; display:grid; gap:14px;
}
#about-hero + #about-body .kg-aboutBody__wrap{ padding-top: clamp(20px,3.5vw,44px); }
.kg-aboutBody__kicker{
  margin:0 0 10px 0; color:#0f2f46; font:700 16px/1.4 "Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; letter-spacing:.2px;
}
.kg-aboutBody__wrap p{
  color: var(--text); font: 16px/1.7 "Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  margin:0 0 14px 0; max-width:72ch;
}
.kg-aboutBody__wrap a{ color:#1d5c88; font-weight:700; text-underline-offset:.18em; text-decoration-thickness:2px; }
.kg-aboutBody__wrap a:hover{ color:#124666; }

/* =========================
   PILLS
   ========================= */
.kg-pills{ display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.kg-pills li{
  display:inline-flex; align-items:center; gap:6px; padding:8px 12px;
  background:#eef5fb; color:#0f2f46; border:1px solid rgba(29,92,136,.18);
  border-radius:999px; font:700 14px/1 Montserrat,system-ui,sans-serif; letter-spacing:.2px;
  box-shadow: 0 4px 10px rgba(16,24,40,.04);
}
.kg-pills li::before{
  content:""; width:12px; height:12px; background: var(--red);
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="white" d="M5.2 10.3L1.9 7l1.1-1.1 2.2 2.2 5-5 1.1 1.1z"/></svg>') center/12px 12px no-repeat;
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="white" d="M5.2 10.3L1.9 7l1.1-1.1 2.2 2.2 5-5 1.1 1.1z"/></svg>') center/12px 12px no-repeat;
}

/* Inline highlight pill */
.pill{ display:inline-block; padding:8px 14px; border-radius:999px; font:800 .95em/1 Montserrat,system-ui,sans-serif; letter-spacing:.5px; text-transform:uppercase; color:#fff; background: linear-gradient(180deg,#f16a6c,#ef4445); border:1px solid rgba(239,68,69,.35); box-shadow:0 12px 26px rgba(239,68,69,.22); }

/* =========================
   BUTTONS
   ========================= */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:12px 20px; border-radius:12px; text-decoration:none;
  font:800 13px/1 Montserrat,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:.6px; text-transform:uppercase;
  transition: transform .15s ease, box-shadow .2s ease, filter .15s ease;
  transform: translateZ(0);
}
.btn--lg{ padding:14px 22px; border-radius:14px; }
.btn--primary{
  color:#fff; background: linear-gradient(180deg,#f16a6c,#ef4445);
  border:1px solid rgba(239,68,69,.35);
  box-shadow: 0 14px 28px rgba(239,68,69,.22), 0 3px 10px rgba(0,0,0,.06);
}
.btn--primary:hover{ transform: translateY(-1px); filter: brightness(.98); box-shadow: 0 18px 36px rgba(239,68,69,.28), 0 6px 18px rgba(0,0,0,.07); }
.btn--primary:focus-visible{ outline:none; box-shadow:0 0 0 3px #fff, 0 0 0 6px rgba(239,68,69,.55); }
.btn--secondary{
  background:#eef5fb; color:#0f2f46; border:1px solid rgba(29,92,136,.18); box-shadow:0 8px 18px rgba(16,24,40,.08);
}
.btn--secondary:hover{ background:#e4f0f9; transform: translateY(-1px); }
.btn--secondary:focus-visible{ outline:none; box-shadow:0 0 0 3px #fff, 0 0 0 6px rgba(29,92,136,.35); }
.btn[aria-disabled="true"], .btn[disabled]{ opacity:.65; pointer-events:none; filter:grayscale(.1); }

/* =========================
   QUOTE
   ========================= */
.kg-quote{ margin-top:0; }
.kg-quote blockquote{ margin:0; text-align:center; position:relative; }
.kg-quote blockquote p{
  position:relative; z-index:1; margin:0; padding: clamp(10px,2vw,16px) clamp(12px,3vw,20px);
  font:800 clamp(18px,2.4vw,24px)/1.15 Montserrat,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase; letter-spacing:.6px; color:#0f2f46;
  border-left:6px solid var(--red); border-radius:12px;
  background: linear-gradient(0deg,#f8fbfe,#f7f9fa); box-shadow:0 10px 24px rgba(16,24,40,.06);
}

/* =========================
   RESULTS WITH ICONS
   ========================= */
.kg-checklist{ margin:12px 0 0 0; }
.kg-checklist--icons{ list-style:none; padding-left:0; }
.kg-checklist--icons li{
  position:relative; padding-left:30px; margin:.6rem 0; color:var(--text);
}
.kg-checklist--icons li::before{
  content:""; position:absolute; left:0; top:.3rem; width:18px; height:18px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #ff7d7f 0%, var(--red) 60%, #d93b3c 100%);
  box-shadow: 0 6px 16px rgba(239,68,69,.30);
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="white" d="M5.2 10.3L1.9 7l1.1-1.1 2.2 2.2 5-5 1.1 1.1z"/></svg>') center/12px 12px no-repeat;
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="white" d="M5.2 10.3L1.9 7l1.1-1.1 2.2 2.2 5-5 1.1 1.1z"/></svg>') center/12px 12px no-repeat;
}

/* =========================
   VERTICAL TIMELINE
   ========================= */
.kg-vtimeline__list{ list-style:none; margin:18px 0 0 0; padding:0; position:relative; }
.kg-vtimeline__list::before{ content:""; position:absolute; left:14px; top:0; bottom:0; width:2px; background: linear-gradient(180deg, rgba(29,92,136,.35), rgba(29,92,136,.12)); }
.kg-vtimeline__list li{
  position:relative; display:flex; gap:16px; padding-left:34px; margin:18px 0; border-radius:12px;
  transition: background .18s ease, transform .18s ease;
}
.kg-vtimeline__list li:hover{ background: rgba(29,92,136,.04); transform: translateY(-1px); }
.kg-vtimeline__dot{
  position:absolute; left:5px; top:.42rem; width:16px; height:16px; border-radius:50%;
  background: var(--navy);
  box-shadow: 0 0 0 5px rgba(29,92,136,.10), 0 6px 16px rgba(16,24,40,.12);
  transition: box-shadow .18s ease, transform .18s ease;
}
.kg-vtimeline__list li:hover .kg-vtimeline__dot{ transform: scale(1.06); box-shadow: 0 0 0 6px rgba(29,92,136,.18), 0 10px 22px rgba(16,24,40,.12); }
.kg-vtimeline__content h3{ margin:0 0 4px 0; color:#0f2f46; font:700 18px/1.3 Montserrat,sans-serif; letter-spacing:.2px; }
.kg-vtimeline__content h3 span{ color:#5b6b79; font-weight:600; font-size:.95em; }
.kg-vtimeline__content p{ margin:0; color:#475569; }

/* =========================
   CLOSER
   ========================= */
.kg-closer{ background: var(--bg); text-align:center; }
.kg-closer__text{ margin:0 0 14px 0; color:var(--text); font: 18px/1.6 "Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; }
.kg-about__ctaRow{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }

/* =========================
   NAV LINKS
   ========================= */
.site-nav a{
  position:relative; font-weight:700; color:#0f2f46; text-decoration:none;
}
.site-nav a::after{
  content:""; position:absolute; left:0; bottom:-6px; height:3px; width:0;
  background: linear-gradient(90deg, var(--red), var(--sky));
  border-radius:3px; transition:width .18s ease;
}
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after{ width:100%; }
.site-nav a:focus-visible{
  outline:none; box-shadow:0 0 0 3px #fff, 0 0 0 6px rgba(29,92,136,.45);
  border-radius:8px; padding:2px 4px; margin:-2px -4px;
}

/* =========================
   REVEAL (IO helper)
   ========================= */
.reveal{ opacity:0; transform: translateY(14px); transition: opacity .6s cubic-bezier(.2,.6,.2,1), transform .6s cubic-bezier(.2,.6,.2,1); }
.reveal.is-inview{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1 !important; transform:none !important; transition:none !important; } }

/* =========================
   SECTION ANCHORS
   ========================= */
.kg-section__title{ position:relative; }
.kg-section__title .kg-anchor{
  position:absolute; right:-1.2em; bottom:.1em; opacity:0; color:#90adc3; font-weight:800; text-decoration:none;
  transition:opacity .15s ease, transform .15s ease; transform: translateY(1px);
}
.kg-section__title:hover .kg-anchor,
.kg-section__title:focus-within .kg-anchor{ opacity:1; transform:none; }
.kg-section__title .kg-anchor:focus-visible{ outline:2px solid #90adc3; border-radius:4px; padding:0 2px; }
@media (max-width:640px){ .kg-section__title .kg-anchor{ right:0; } }

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width:1024px){
  .kg-heroBand__wrap{ grid-template-columns: 1fr; }
  .kg-heroBand__media{ min-height:440px; }
  .kg-section__title{ margin-top:16px; }
}
@media (max-width:640px){
  .kg-heroBand__media{ min-height:360px; }
  .kg-quote .kg-section__wrap{ padding-left:14px; padding-right:14px; }
}
/* === Fix: bring back the red inline pill === */
.inline-pill{
  display:inline-block; padding:.15em .6em; border-radius:999px;
  font: 800 .95em/1 Montserrat, system-ui, sans-serif;
  letter-spacing:.4px; text-transform:uppercase; white-space:nowrap;
  color:#fff;
  background: linear-gradient(180deg,#f16a6c,#ef4445);
  border:1px solid rgba(239,68,69,.35);
  box-shadow: 0 8px 18px rgba(239,68,69,.18);
}

/* === Agency punch: framed photo + offset navy block (no gradient) === */
.kg-heroBand--agency .kg-heroBand__media{
  background:#fff var(--hero-img) center/cover no-repeat;
  background-position: var(--hero-x,52%) var(--hero-y,40%);
  border-radius: 20px;
  border: 8px solid #fff;                         /* crisp frame */
  /* hard offset “block” + normal shadow = designer depth */
  box-shadow:
    14px 14px 0 rgba(29,92,136,.10),              /* navy offset slab */
    0 24px 60px rgba(16,24,40,.14),               /* soft depth */
    0 3px 10px rgba(16,24,40,.05);
}
.kg-heroBand--agency .kg-heroBand__overlay,
.kg-heroBand--agency .kg-heroBand__media::before,
.kg-heroBand--agency .kg-heroBand__media::after{
  background:none !important;                     /* keep it clean */
  mix-blend-mode:normal !important;
}

/* Headline underline: animate in when your .reveal hits */
.kg-heroBand--agency .kg-title--underlined::after{
  transform-origin:left; transform:scaleX(.2);
  transition: transform .45s ease;
}
.kg-heroBand--agency .reveal.is-inview.kg-title--underlined::after{
  transform:scaleX(1);
}

/* (Nice-to-have) CTA micro polish */
.kg-heroBand--agency .btn--primary{
  box-shadow: 0 16px 32px rgba(239,68,69,.26), 0 3px 10px rgba(0,0,0,.06);
}
.kg-heroBand--agency .btn--primary:hover{ transform: translateY(-1px); filter:brightness(.98); }
.kg-heroBand--agency .btn:focus-visible{
  outline:none; box-shadow:0 0 0 3px #fff, 0 0 0 6px rgba(29,92,136,.45);
}
/* 1) Softer, more premium offset on desktop; lighter on tablet/phone */
.kg-heroBand--agency .kg-heroBand__media{
  box-shadow:
    12px 12px 0 rgba(29,92,136,.08),   /* navy slab, a hair softer */
    0 22px 56px rgba(16,24,40,.12),
    0 3px 10px rgba(16,24,40,.05);
  outline: 1px solid rgba(16,24,40,.06);  /* hairline to separate frame from bg */
  outline-offset: -1px;
}
@media (max-width:1024px){
  .kg-heroBand--agency .kg-heroBand__media{
    box-shadow:
      8px 8px 0 rgba(29,92,136,.08),
      0 18px 44px rgba(16,24,40,.12);
  }
}

/* 2) Title underline feels “snappier” (slightly faster, delays until in view) */
.kg-heroBand--agency .kg-title--underlined::after{
  transform-origin:left; transform:scaleX(.15);
  transition: transform .38s cubic-bezier(.2,.6,.2,1) .05s;
}

/* 3) Nudge the crop for this photo (can tweak per image) */
#about-hero{ --hero-x: 48%; --hero-y: 42%; }  /* move focal point a touch right */
.kg-heroBand__media{outline:1px solid rgba(16,24,40,.08);outline-offset:-1px}
/* 1) H1 underline: optical alignment & snap */
.kg-title--underlined{ padding-bottom:12px }
.kg-title--underlined::after{ bottom:-2px; height:3px; transform-origin:left; transform:scaleX(.2) }
.reveal.is-inview .kg-title--underlined::after{ transform:scaleX(1); transition:transform .38s cubic-bezier(.2,.6,.2,1) }

/* 2) Desktop reading width a hair tighter = easier scan */
.kg-aboutBody__wrap p{ max-width:68ch }

/* 3) Hero slab: keep the “print” feel but lighten the drop */
.kg-heroBand__media{
  outline:1px solid rgba(16,24,40,.08); outline-offset:-1px;
  box-shadow: 10px 10px 0 rgba(29,92,136,.07), 0 20px 52px rgba(16,24,40,.1), 0 3px 10px rgba(16,24,40,.05);
}
@media (max-width:1024px){
  .kg-heroBand__media{ box-shadow: 8px 8px 0 rgba(29,92,136,.07), 0 18px 44px rgba(16,24,40,.1) }
}
/* Start small only while hidden */
.kg-title--underlined.reveal::after{
  transform-origin:left;
  transform:scaleX(.2);
}

/* Grow to full when revealed */
.kg-title--underlined.reveal.is-inview::after{
  transform:scaleX(1);
  transition: transform .38s cubic-bezier(.2,.6,.2,1);
}

/* Ensure full width we want */
.kg-title--underlined::after{ width:84px; height:4px; }/* End custom CSS */