/* Start custom CSS for html, class: .elementor-element-d5859c6 *//* ==========================================================
FERVID SOLUTIONS — FERVID VISIBILITY ENGINE™
MASTER CSS v1.0
AWWWARDS-INSPIRED / FLAGSHIP EDITORIAL / RESPONSIVE
AUGUST 2026

Companion files:
- fervid-visibility-engine-block-1-v1.html
- fervid-visibility-engine-block-2-v1.html

IMAGE VARIABLES
Populate these after the final artwork is uploaded:
--fve-hero-image
--fve-surface-image
--fve-signals-image
--fve-outcome-image
--fve-journey-image
--fve-observe-image
--fve-source-image
--fve-persistence-image
--fve-decision-image
--fve-final-image
========================================================== */


/* ==========================================================
1. ROOT / TOKENS
========================================================== */

.fv-fve-v1 {
  --fve-midnight-1000:#010811;
  --fve-midnight-980:#020b16;
  --fve-midnight-960:#03101f;
  --fve-midnight-930:#041426;
  --fve-midnight-900:#061a30;
  --fve-midnight-850:#08233c;
  --fve-midnight-800:#0a2c49;

  --fve-green:#55ad5d;
  --fve-green-dark:#3e9149;
  --fve-green-bright:#75cf7c;
  --fve-cyan:#26c2d3;
  --fve-teal:#21b7aa;
  --fve-blue:#198fc7;

  --fve-white:#ffffff;
  --fve-ice:#f8fbfc;
  --fve-soft:#edf5f8;

  --fve-ink:#102438;
  --fve-copy:#405568;
  --fve-copy-light:#d9e5ed;
  --fve-copy-mid:#b7c8d5;
  --fve-copy-soft:#91a8ba;

  --fve-line:#dce6eb;
  --fve-line-dark:rgba(255,255,255,.11);

  --fve-content-max:1400px;
  --fve-flagship-max:1760px;

  --fve-radius:20px;
  --fve-radius-lg:46px;

  --fve-s1:18px;
  --fve-s2:29px;
  --fve-s3:47px;
  --fve-s4:76px;
  --fve-s5:123px;

  --fve-shadow-sm:0 12px 38px rgba(4,20,38,.045);
  --fve-shadow:0 30px 84px rgba(4,20,38,.10);
  --fve-shadow-deep:0 54px 140px rgba(0,0,0,.28);

  --fve-transition:260ms cubic-bezier(.2,.7,.2,1);

  /* Final artwork slots */
  --fve-hero-image:none;
  --fve-surface-image:none;
  --fve-signals-image:none;
  --fve-outcome-image:none;
  --fve-journey-image:none;
  --fve-observe-image:none;
  --fve-source-image:none;
  --fve-persistence-image:none;
  --fve-decision-image:none;
  --fve-final-image:none;

  position:relative;
  left:50%;
  width:100vw;
  max-width:100vw;
  margin-left:-50vw;
  padding:0;
  overflow:clip;

  color:var(--fve-copy);
  background:#fff;

  font-family:inherit;
  font-size:18px;
  line-height:1.72;

  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  isolation:isolate;
}

.fv-fve-v1,
.fv-fve-v1 * {
  box-sizing:border-box;
}

.fv-fve-v1 figure,
.fv-fve-v1 blockquote {
  margin:0;
}

.fv-fve-v1 ::selection {
  color:#fff;
  background:var(--fve-green-dark);
}


/* ==========================================================
2. SHARED LAYOUT / ACCESSIBILITY
========================================================== */

.fv-fve-v1 .fv-fve-shell {
  position:relative;
  width:min(calc(100% - 48px),var(--fve-content-max));
  margin-inline:auto;
}

.fv-fve-v1 .fv-fve-visually-hidden {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}


/* ==========================================================
3. SHARED TYPOGRAPHY
========================================================== */

.fv-fve-v1 h1,
.fv-fve-v1 h2,
.fv-fve-v1 h3,
.fv-fve-v1 p {
  font-family:inherit;
}

.fv-fve-v1 h1,
.fv-fve-v1 h2,
.fv-fve-v1 h3 {
  margin-top:0;
  font-weight:720;
  font-kerning:normal;
  font-optical-sizing:auto;
  text-wrap:balance;
}

.fv-fve-v1 .fv-fve-section {
  position:relative;
  padding:clamp(86px,7.7vw,126px) 0;
  scroll-margin-top:96px;
}

.fv-fve-v1 .fv-fve-section--light {
  color:var(--fve-copy);
  background:
    radial-gradient(circle at 92% 8%,rgba(38,194,211,.045),transparent 23%),
    linear-gradient(180deg,#fff 0%,#f8fbfc 100%);
}

.fv-fve-v1 .fv-fve-section--soft {
  color:var(--fve-copy);
  background:
    radial-gradient(circle at 8% 88%,rgba(85,173,93,.05),transparent 27%),
    linear-gradient(180deg,#f5f9fa 0%,#edf4f7 100%);
}

.fv-fve-v1 .fv-fve-section--dark {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 86% 16%,rgba(38,194,211,.13),transparent 28%),
    radial-gradient(circle at 7% 90%,rgba(85,173,93,.10),transparent 29%),
    linear-gradient(135deg,#010811 0%,#041426 44%,#08243e 100%);
}

.fv-fve-v1 .fv-fve-section-heading {
  max-width:960px;
}

.fv-fve-v1 .fv-fve-section-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 21px;

  color:var(--fve-green);
  font-size:12.5px;
  font-weight:850;
  line-height:1.4;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.fv-fve-v1 .fv-fve-section-eyebrow::before {
  content:"";
  width:34px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--fve-green),var(--fve-cyan));
}

.fv-fve-v1 .fv-fve-section h2,
.fv-fve-v1 .fv-fve-final h2 {
  max-width:960px;
  margin:0 0 24px;
  color:var(--fve-ink);

  font-size:clamp(38px,4.25vw,62px);
  line-height:1.075;
  letter-spacing:-.028em;
}

.fv-fve-v1 .fv-fve-section h3 {
  margin:0 0 12px;
  color:var(--fve-ink);
  font-size:clamp(21px,1.8vw,28px);
  line-height:1.16;
  letter-spacing:-.015em;
}

.fv-fve-v1 .fv-fve-section p {
  max-width:72ch;
  margin-top:0;
  margin-bottom:1.34em;
  color:var(--fve-copy);
  font-size:18px;
  line-height:1.74;
}

.fv-fve-v1 .fv-fve-section-lead {
  max-width:820px!important;
  color:#324b60!important;
  font-size:clamp(21px,1.75vw,25px)!important;
  line-height:1.60!important;
  letter-spacing:-.005em;
}

.fv-fve-v1 .fv-fve-section--dark h2,
.fv-fve-v1 .fv-fve-section--dark h3 {
  color:#fff;
}

.fv-fve-v1 .fv-fve-section--dark p,
.fv-fve-v1 .fv-fve-section--dark .fv-fve-section-lead {
  color:#d6e2eb!important;
}

.fv-fve-v1 .fv-fve-signature-line {
  max-width:860px;
  margin-top:30px!important;
  margin-bottom:0!important;
  color:var(--fve-ink)!important;

  font-size:clamp(22px,2vw,29px)!important;
  font-weight:730;
  line-height:1.31!important;
  letter-spacing:-.012em;
}

.fv-fve-v1 .fv-fve-section--dark .fv-fve-signature-line {
  color:#fff!important;
}


/* ==========================================================
4. BUTTONS
========================================================== */

.fv-fve-v1 .fv-fve-actions {
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin-top:34px;
}

.fv-fve-v1 .fv-fve-btn {
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 27px;

  border:1px solid transparent;
  border-radius:999px;

  font-size:15.5px;
  font-weight:780;
  line-height:1.2;
  text-decoration:none;

  transition:
    transform var(--fve-transition),
    border-color var(--fve-transition),
    background-color var(--fve-transition),
    box-shadow var(--fve-transition);
}

.fv-fve-v1 .fv-fve-btn:hover,
.fv-fve-v1 .fv-fve-btn:focus-visible {
  transform:translateY(-2px);
}

.fv-fve-v1 .fv-fve-btn--primary {
  color:#fff;
  background:linear-gradient(135deg,#5bb964,#449d51);
  box-shadow:0 14px 34px rgba(66,157,81,.25);
}

.fv-fve-v1 .fv-fve-btn--ghost {
  color:#fff;
  border-color:rgba(255,255,255,.25);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
}

.fv-fve-v1 .fv-fve-btn--outline {
  color:var(--fve-ink);
  border-color:#cbd8df;
  background:#fff;
  box-shadow:0 8px 24px rgba(4,20,38,.05);
}

.fv-fve-v1 a:focus-visible {
  outline:3px solid rgba(85,173,93,.55);
  outline-offset:4px;
}


/* ==========================================================
5. HERO
========================================================== */

.fv-fve-v1 .fv-fve-hero {
  position:relative;
  width:calc(100vw - 16px);
  min-height:clamp(720px,51vw,900px);

  display:flex;
  align-items:center;

  margin:8px auto 0;
  overflow:hidden;
  isolation:isolate;

  border:1px solid rgba(255,255,255,.10);
  border-radius:var(--fve-radius-lg);

  color:#fff;
  background:var(--fve-midnight-980);

  box-shadow:var(--fve-shadow-deep);
}

.fv-fve-v1 .fv-fve-hero::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(1,8,17,.99) 0%,
      rgba(1,8,17,.97) 27%,
      rgba(2,11,22,.84) 44%,
      rgba(2,11,22,.30) 67%,
      rgba(2,11,22,.08) 100%
    ),
    linear-gradient(
      180deg,
      rgba(1,8,17,.03) 0%,
      rgba(1,8,17,.02) 58%,
      rgba(1,8,17,.43) 100%
    );
}

.fv-fve-v1 .fv-fve-media {
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}

.fv-fve-v1 .fv-fve-media--hero {
  position:absolute;
  z-index:0;
  inset:0;

  background-image:
    var(--fve-hero-image),
    radial-gradient(circle at 75% 42%,rgba(38,194,211,.18),transparent 25%),
    radial-gradient(circle at 84% 70%,rgba(85,173,93,.13),transparent 22%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-hero > .fv-fve-shell {
  position:relative;
  z-index:3;
  width:min(calc(100% - 72px),var(--fve-content-max));
}

.fv-fve-v1 .fv-fve-hero__layout {
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.618fr) minmax(300px,.62fr);
  gap:clamp(54px,6.2vw,106px);
  align-items:center;

  padding:
    clamp(108px,8.2vw,142px)
    0
    clamp(92px,7.4vw,126px);
}

.fv-fve-v1 .fv-fve-hero__content {
  max-width:870px;
}

.fv-fve-v1 .fv-fve-eyebrow {
  margin:0 0 8px;
  color:var(--fve-green-bright);

  font-size:14px;
  font-weight:850;
  line-height:1.3;
  letter-spacing:.05em;
}

.fv-fve-v1 .fv-fve-hero__category {
  margin:0 0 26px;
  color:#adc0cf;
  font-size:13px;
  line-height:1.4;
}

.fv-fve-v1 .fv-fve-hero h1 {
  max-width:880px;
  margin:0;
  color:#fff;

  font-size:clamp(54px,5.45vw,88px);
  font-weight:720;
  line-height:1.015;
  letter-spacing:-.038em;
}

.fv-fve-v1 .fv-fve-hero h1 span {
  color:var(--fve-green-bright);
}

.fv-fve-v1 .fv-fve-hero__lead {
  max-width:740px;
  margin:30px 0 0;

  color:#e2ebf2;
  font-size:clamp(21px,1.65vw,25px);
  line-height:1.62;
}

.fv-fve-v1 .fv-fve-hero__support {
  max-width:720px;
  margin:19px 0 0;
  color:#bfced9;
  font-size:17.5px;
  line-height:1.72;
}

.fv-fve-v1 .fv-fve-hero__thesis {
  max-width:690px;
  margin:20px 0 0;

  color:#c7d5df;
  font-size:17.5px;
  line-height:1.6;
}

.fv-fve-v1 .fv-fve-hero__thesis strong {
  display:block;
  color:var(--fve-green-bright);
  font-weight:760;
}


/* ==========================================================
6. THEGEM-SAFE QUOTES
========================================================== */

body .fv-fve-v1 blockquote.fv-fve-hero__quote,
body .fv-fve-v1 blockquote.fv-fve-final__quote {
  position:relative!important;
  display:block!important;
  margin:0!important;
  padding:30px 30px 27px!important;

  border:1px solid rgba(255,255,255,.16)!important;
  border-left:1px solid rgba(255,255,255,.16)!important;
  border-radius:22px!important;

  color:#fff!important;
  background:
    linear-gradient(145deg,rgba(3,18,34,.84),rgba(3,18,34,.56))!important;

  box-shadow:
    0 30px 74px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055)!important;

  font-family:inherit!important;
  font-style:normal!important;
  text-align:left!important;

  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

body .fv-fve-v1 blockquote.fv-fve-hero__quote {
  max-width:345px!important;
}

body .fv-fve-v1 blockquote.fv-fve-hero__quote::before,
body .fv-fve-v1 blockquote.fv-fve-hero__quote::after,
body .fv-fve-v1 blockquote.fv-fve-final__quote::before,
body .fv-fve-v1 blockquote.fv-fve-final__quote::after,
body .fv-fve-v1 blockquote p::before,
body .fv-fve-v1 blockquote p::after,
body .fv-fve-v1 blockquote cite::before,
body .fv-fve-v1 blockquote cite::after {
  content:none!important;
  display:none!important;
}

.fv-fve-v1 .fv-fve-hero__quote-mark,
.fv-fve-v1 .fv-fve-final__quote > span {
  display:block!important;
  margin:0 0 12px!important;

  color:var(--fve-green-bright)!important;
  font-size:54px!important;
  font-style:normal!important;
  font-weight:800!important;
  line-height:.72!important;
}

body .fv-fve-v1 blockquote p {
  margin:0!important;
  color:#f4f8fb!important;

  font-family:inherit!important;
  font-size:clamp(18px,1.45vw,22px)!important;
  font-style:italic!important;
  font-weight:430!important;
  line-height:1.52!important;
  letter-spacing:-.007em!important;
}

body .fv-fve-v1 blockquote cite {
  display:block!important;
  margin:20px 0 0!important;
  color:#a9bdcc!important;

  font-size:11.5px!important;
  font-style:normal!important;
  font-weight:850!important;
  line-height:1.35!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}


/* ==========================================================
7. DISCOVERY PROBLEM + PRINCIPLES
========================================================== */

.fv-fve-v1 .fv-fve-problem-layout {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1.85fr);
  gap:clamp(54px,6.5vw,106px);
  align-items:start;
}

.fv-fve-v1 .fv-fve-principle-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;

  overflow:hidden;
  border:1px solid var(--fve-line);
  border-radius:22px;
  background:var(--fve-line);
  box-shadow:var(--fve-shadow-sm);
}

.fv-fve-v1 .fv-fve-principle {
  min-height:300px;
  padding:30px 24px;
  background:
    linear-gradient(145deg,#fff,#f7fbfc);
}

.fv-fve-v1 .fv-fve-principle__icon {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:22px;

  border:1px solid rgba(38,194,211,.24);
  border-radius:50%;

  color:var(--fve-cyan);
  background:
    radial-gradient(circle,rgba(38,194,211,.10),rgba(85,173,93,.04));

  font-size:25px;
  font-weight:800;
}

.fv-fve-v1 .fv-fve-principle h3 {
  margin-bottom:10px;
  font-size:21px;
}

.fv-fve-v1 .fv-fve-principle__lead {
  margin-bottom:10px!important;
  color:#253d51!important;
  font-size:16px!important;
  font-weight:720;
  line-height:1.45!important;
}

.fv-fve-v1 .fv-fve-principle p:last-child {
  margin-bottom:0;
  color:#5b6f81;
  font-size:14.8px;
  line-height:1.62;
}


/* ==========================================================
8. FULL-WIDTH VISUAL CHAPTERS
========================================================== */

.fv-fve-v1 .fv-fve-visual-chapter {
  position:relative;
  padding:clamp(52px,5.3vw,86px) 0;

  background:
    linear-gradient(180deg,#f8fbfc,#eef4f7);
}

.fv-fve-v1 .fv-fve-visual-chapter:nth-of-type(even) {
  background:
    linear-gradient(180deg,#edf4f7,#f8fbfc);
}

.fv-fve-v1 .fv-fve-visual-chapter > .fv-fve-shell {
  width:calc(100vw - 16px);
  max-width:none;
}

.fv-fve-v1 .fv-fve-visual-chapter__header {
  padding:0 0 17px;
  text-align:center;
}

.fv-fve-v1 .fv-fve-visual-chapter__header > p {
  margin:0;
  color:var(--fve-green-dark);

  font-size:11.5px;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.fv-fve-v1 .fv-fve-visual-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));

  overflow:hidden;

  border:1px solid rgba(255,255,255,.14);
  border-radius:46px;

  background:rgba(255,255,255,.13);

  box-shadow:0 54px 138px rgba(2,13,27,.28);
}

.fv-fve-v1 .fv-fve-visual-panel {
  position:relative;
  min-height:clamp(550px,33vw,700px);

  overflow:hidden;
  isolation:isolate;

  color:#fff;
  background:var(--fve-midnight-930);
}

.fv-fve-v1 .fv-fve-visual-panel:not(:last-child) {
  border-right:1px solid rgba(255,255,255,.17);
}

.fv-fve-v1 .fv-fve-visual-panel::before {
  content:"";
  position:absolute;
  z-index:2;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(1,8,17,.08) 0%,
      rgba(1,8,17,.17) 38%,
      rgba(1,8,17,.90) 79%,
      rgba(1,8,17,.985) 100%
    );
}

.fv-fve-v1 .fv-fve-visual-panel .fv-fve-media {
  position:absolute;
  z-index:1;
  inset:0;

  transform:scale(1.01);

  transition:
    transform 900ms cubic-bezier(.2,.7,.2,1),
    filter 900ms cubic-bezier(.2,.7,.2,1);
}

.fv-fve-v1 .fv-fve-visual-panel:hover .fv-fve-media {
  transform:scale(1.045);
}

.fv-fve-v1 .fv-fve-media--surface {
  background-image:
    var(--fve-surface-image),
    radial-gradient(circle at 58% 58%,rgba(38,194,211,.18),transparent 28%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--signals {
  background-image:
    var(--fve-signals-image),
    radial-gradient(circle at 58% 50%,rgba(85,173,93,.14),transparent 28%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--outcome {
  background-image:
    var(--fve-outcome-image),
    radial-gradient(circle at 50% 45%,rgba(38,194,211,.15),transparent 26%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--journey {
  background-image:
    var(--fve-journey-image),
    radial-gradient(circle at 65% 45%,rgba(85,173,93,.13),transparent 24%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--observe {
  background-image:
    var(--fve-observe-image),
    radial-gradient(circle at 58% 50%,rgba(38,194,211,.15),transparent 24%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--source {
  background-image:
    var(--fve-source-image),
    radial-gradient(circle at 58% 50%,rgba(38,194,211,.13),transparent 24%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--persistence {
  background-image:
    var(--fve-persistence-image),
    radial-gradient(circle at 58% 50%,rgba(85,173,93,.14),transparent 24%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--decision {
  background-image:
    var(--fve-decision-image),
    radial-gradient(circle at 58% 50%,rgba(38,194,211,.15),transparent 24%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-visual-panel__content {
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;

  padding:30px 28px 31px;
}

.fv-fve-v1 .fv-fve-visual-panel__number {
  margin:0 0 15px;
  color:var(--fve-green-bright);
  font-size:28px;
  font-weight:430;
  line-height:1;
}

.fv-fve-v1 .fv-fve-visual-panel h3 {
  max-width:15ch;
  margin:0 0 15px;

  color:#fff;
  font-size:clamp(24px,1.8vw,32px);
  font-weight:710;
  line-height:1.08;
  letter-spacing:-.024em;
}

.fv-fve-v1 .fv-fve-visual-panel__content p:last-child {
  max-width:32ch;
  margin:0;

  color:#d4e0e8;
  font-size:15.5px;
  line-height:1.64;
}


/* ==========================================================
9. EVIDENCE DISCIPLINE
========================================================== */

.fv-fve-v1 .fv-fve-evidence-layout {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:clamp(56px,7vw,104px);
  align-items:start;
}

.fv-fve-v1 .fv-fve-evidence-ladder {
  display:grid;
  gap:12px;
}

.fv-fve-v1 .fv-fve-evidence-step {
  position:relative;
  padding:22px 22px 22px 58px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;

  background:
    linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.022));
}

.fv-fve-v1 .fv-fve-evidence-step::before {
  content:"";
  position:absolute;
  left:23px;
  top:26px;

  width:10px;
  height:10px;

  border:2px solid var(--fve-green-bright);
  border-radius:50%;
}

.fv-fve-v1 .fv-fve-evidence-step span {
  display:block;
  margin-bottom:5px;
  color:var(--fve-green-bright);

  font-size:10px;
  font-weight:900;
  letter-spacing:.10em;
}

.fv-fve-v1 .fv-fve-evidence-step h3 {
  margin-bottom:5px;
  color:#fff;
  font-size:19px;
}

.fv-fve-v1 .fv-fve-evidence-step p {
  margin:0;
  color:#c7d4de!important;
  font-size:15px;
  line-height:1.6;
}


/* ==========================================================
10. CLIENT VALUE
========================================================== */

.fv-fve-v1 .fv-fve-value-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  margin-top:46px;
}

.fv-fve-v1 .fv-fve-value-card {
  min-height:240px;
  padding:29px 26px;

  border:1px solid rgba(13,44,76,.09);
  border-radius:18px;

  background:#fff;
  box-shadow:var(--fve-shadow-sm);
}

.fv-fve-v1 .fv-fve-value-card > span {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:20px;

  border:1px solid rgba(38,194,211,.20);
  border-radius:50%;

  color:var(--fve-cyan);
  background:
    radial-gradient(circle,rgba(38,194,211,.09),rgba(85,173,93,.035));

  font-size:20px;
  font-weight:850;
}

.fv-fve-v1 .fv-fve-value-card h3 {
  font-size:21px;
}

.fv-fve-v1 .fv-fve-value-card p {
  margin:0;
  color:#4f6578;
  font-size:15.7px;
  line-height:1.66;
}


/* ==========================================================
11. FIT GRID
========================================================== */

.fv-fve-v1 .fv-fve-fit-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  margin-top:46px;
}

.fv-fve-v1 .fv-fve-fit-card {
  min-height:225px;
  padding:28px 26px;

  border:1px solid rgba(13,44,76,.09);
  border-radius:18px;

  background:#fff;
  box-shadow:var(--fve-shadow-sm);
}

.fv-fve-v1 .fv-fve-fit-card h3 {
  font-size:20px;
}

.fv-fve-v1 .fv-fve-fit-card p {
  margin:0;
  color:#4f6578;
  font-size:15.6px;
  line-height:1.65;
}


/* ==========================================================
12. CONNECTED SYSTEM FLOW
========================================================== */

.fv-fve-v1 .fv-fve-system-flow {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:13px;
  margin-top:46px;
}

.fv-fve-v1 .fv-fve-system-card {
  position:relative;
  min-height:215px;
  padding:25px 23px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:17px;

  background:
    linear-gradient(145deg,rgba(255,255,255,.064),rgba(255,255,255,.022));
}

.fv-fve-v1 .fv-fve-system-card--current {
  border-color:rgba(117,207,124,.32);
  background:
    linear-gradient(145deg,rgba(85,173,93,.12),rgba(38,194,211,.045));

  box-shadow:
    0 0 0 1px rgba(117,207,124,.04),
    0 24px 60px rgba(0,0,0,.15);
}

.fv-fve-v1 .fv-fve-system-card span {
  display:block;
  margin-bottom:14px;
  color:var(--fve-green-bright);

  font-size:10.5px;
  font-weight:900;
  letter-spacing:.10em;
}

.fv-fve-v1 .fv-fve-system-card h3 {
  color:#fff;
  font-size:18px;
}

.fv-fve-v1 .fv-fve-system-card p {
  margin:0;
  color:#c6d4df!important;
  font-size:14.7px;
  line-height:1.62;
}


/* ==========================================================
13. FAQ
========================================================== */

.fv-fve-v1 .fv-fve-faq-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:46px;
}

.fv-fve-v1 .fv-fve-faq-card {
  padding:31px;
  border:1px solid rgba(13,44,76,.09);
  border-radius:18px;

  background:#fff;
  box-shadow:0 12px 36px rgba(4,20,38,.04);
}

.fv-fve-v1 .fv-fve-faq-card::before {
  content:"?";
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  margin-bottom:22px;

  border-radius:50%;
  color:var(--fve-green-dark);
  background:
    linear-gradient(145deg,rgba(85,173,93,.11),rgba(38,194,211,.05));

  font-size:15px;
  font-weight:850;
}

.fv-fve-v1 .fv-fve-faq-card h3 {
  margin-bottom:13px;
  font-size:21px;
}

.fv-fve-v1 .fv-fve-faq-card p {
  margin:0;
  color:#4d6275;
  font-size:16px;
  line-height:1.68;
}


/* ==========================================================
14. FINAL CTA
========================================================== */

.fv-fve-v1 .fv-fve-final {
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;

  overflow:hidden;
  isolation:isolate;

  color:#fff;
  background:var(--fve-midnight-980);
}

.fv-fve-v1 .fv-fve-media--final {
  position:absolute;
  z-index:-2;
  inset:0;

  background-image:
    var(--fve-final-image),
    radial-gradient(circle at 80% 20%,rgba(38,194,211,.18),transparent 27%),
    radial-gradient(circle at 10% 90%,rgba(85,173,93,.12),transparent 30%),
    linear-gradient(135deg,#010811,#08243e);
}

.fv-fve-v1 .fv-fve-final::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(1,8,17,.98) 0%,
      rgba(1,8,17,.90) 42%,
      rgba(1,8,17,.46) 75%,
      rgba(1,8,17,.18) 100%
    );
}

.fv-fve-v1 .fv-fve-final > .fv-fve-shell {
  position:relative;
  z-index:2;
}

.fv-fve-v1 .fv-fve-final__layout {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
  gap:clamp(52px,6vw,96px);
  align-items:center;
}

.fv-fve-v1 .fv-fve-final__content {
  max-width:900px;
}

.fv-fve-v1 .fv-fve-final h2 {
  max-width:830px;
  color:#fff;
  font-size:clamp(45px,5vw,70px);
  line-height:1.04;
}

.fv-fve-v1 .fv-fve-final p {
  max-width:72ch;
  color:#d3dfe8;
  font-size:18px;
  line-height:1.72;
}

body .fv-fve-v1 blockquote.fv-fve-final__quote {
  max-width:330px!important;
}


/* ==========================================================
15. REVEAL
========================================================== */

.fv-fve-v1.fv-fve-motion-ready .fv-fve-reveal {
  opacity:0;
  transform:translateY(22px);

  transition:
    opacity 700ms cubic-bezier(.2,.7,.2,1),
    transform 700ms cubic-bezier(.2,.7,.2,1);
}

.fv-fve-v1.fv-fve-motion-ready .fv-fve-reveal.fv-fve-visible {
  opacity:1;
  transform:none;
}


/* ==========================================================
16. RESPONSIVE — 1200
========================================================== */

@media (max-width:1200px) {

  .fv-fve-v1 .fv-fve-problem-layout {
    grid-template-columns:1fr;
  }

  .fv-fve-v1 .fv-fve-principle-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fv-fve-v1 .fv-fve-value-grid,
  .fv-fve-v1 .fv-fve-fit-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fv-fve-v1 .fv-fve-system-flow {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

}


/* ==========================================================
17. RESPONSIVE — TABLET
========================================================== */

@media (max-width:920px) {

  .fv-fve-v1 .fv-fve-hero {
    width:calc(100vw - 12px);
  }

  .fv-fve-v1 .fv-fve-hero__layout,
  .fv-fve-v1 .fv-fve-final__layout,
  .fv-fve-v1 .fv-fve-evidence-layout {
    grid-template-columns:1fr;
  }

  body .fv-fve-v1 blockquote.fv-fve-hero__quote,
  body .fv-fve-v1 blockquote.fv-fve-final__quote {
    max-width:520px!important;
  }

  .fv-fve-v1 .fv-fve-visual-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fv-fve-v1 .fv-fve-visual-panel:nth-child(2) {
    border-right:0;
  }

  .fv-fve-v1 .fv-fve-visual-panel:nth-child(-n+2) {
    border-bottom:1px solid rgba(255,255,255,.17);
  }

}


/* ==========================================================
18. RESPONSIVE — MOBILE
========================================================== */

@media (max-width:720px) {

  .fv-fve-v1 {
    font-size:17px;
  }

  .fv-fve-v1 .fv-fve-shell {
    width:min(calc(100% - 28px),var(--fve-content-max));
  }

  .fv-fve-v1 .fv-fve-section {
    padding:74px 0;
  }

  .fv-fve-v1 .fv-fve-section h2,
  .fv-fve-v1 .fv-fve-final h2 {
    font-size:clamp(33px,8.6vw,44px);
    line-height:1.09;
  }

  .fv-fve-v1 .fv-fve-section p,
  .fv-fve-v1 .fv-fve-final p {
    font-size:17px;
    line-height:1.74;
  }

  .fv-fve-v1 .fv-fve-section-lead {
    font-size:20px!important;
    line-height:1.60!important;
  }

  .fv-fve-v1 .fv-fve-hero {
    width:calc(100vw - 8px);
    min-height:820px;
    margin-top:4px;
    border-radius:30px;
  }

  .fv-fve-v1 .fv-fve-hero::before {
    background:
      linear-gradient(
        180deg,
        rgba(1,8,17,.96) 0%,
        rgba(1,8,17,.92) 54%,
        rgba(1,8,17,.68) 100%
      );
  }

  .fv-fve-v1 .fv-fve-hero > .fv-fve-shell {
    width:min(calc(100% - 30px),var(--fve-content-max));
  }

  .fv-fve-v1 .fv-fve-hero__layout {
    padding:84px 0 68px;
  }

  .fv-fve-v1 .fv-fve-hero h1 {
    font-size:clamp(40px,10.5vw,55px);
    line-height:1.04;
  }

  .fv-fve-v1 .fv-fve-hero__lead {
    font-size:20px;
  }

  .fv-fve-v1 .fv-fve-actions {
    display:grid;
    grid-template-columns:1fr;
  }

  .fv-fve-v1 .fv-fve-btn {
    width:100%;
  }

  .fv-fve-v1 .fv-fve-principle-grid,
  .fv-fve-v1 .fv-fve-value-grid,
  .fv-fve-v1 .fv-fve-fit-grid,
  .fv-fve-v1 .fv-fve-system-flow,
  .fv-fve-v1 .fv-fve-faq-grid {
    grid-template-columns:1fr;
  }

  .fv-fve-v1 .fv-fve-principle,
  .fv-fve-v1 .fv-fve-value-card,
  .fv-fve-v1 .fv-fve-fit-card,
  .fv-fve-v1 .fv-fve-system-card {
    min-height:0;
  }

  .fv-fve-v1 .fv-fve-visual-chapter {
    padding:28px 0;
  }

  .fv-fve-v1 .fv-fve-visual-chapter > .fv-fve-shell {
    width:calc(100vw - 8px);
  }

  .fv-fve-v1 .fv-fve-visual-grid {
    grid-template-columns:1fr;
    border-radius:30px;
  }

  .fv-fve-v1 .fv-fve-visual-panel {
    min-height:620px;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.17);
  }

  .fv-fve-v1 .fv-fve-visual-panel:last-child {
    border-bottom:0;
  }

  .fv-fve-v1 .fv-fve-visual-panel__content {
    padding:28px 22px;
  }

  .fv-fve-v1 .fv-fve-visual-panel h3 {
    font-size:29px;
  }

  .fv-fve-v1 .fv-fve-final {
    min-height:640px;
  }

  .fv-fve-v1 .fv-fve-final::before {
    background:
      linear-gradient(
        180deg,
        rgba(1,8,17,.95) 0%,
        rgba(1,8,17,.84) 62%,
        rgba(1,8,17,.62) 100%
      );
  }

}


/* ==========================================================
19. SMALL MOBILE
========================================================== */

@media (max-width:430px) {

  .fv-fve-v1 .fv-fve-hero h1 {
    font-size:39px;
  }

  .fv-fve-v1 .fv-fve-section h2,
  .fv-fve-v1 .fv-fve-final h2 {
    font-size:32px;
  }

  .fv-fve-v1 .fv-fve-visual-panel {
    min-height:640px;
  }

}


/* ==========================================================
20. REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion:reduce) {

  .fv-fve-v1 *,
  .fv-fve-v1 *::before,
  .fv-fve-v1 *::after {
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }

  .fv-fve-v1.fv-fve-motion-ready .fv-fve-reveal {
    opacity:1;
    transform:none;
  }

  .fv-fve-v1 .fv-fve-visual-panel:hover .fv-fve-media {
    transform:none;
  }

}
/* ==========================================================
FERVID SOLUTIONS — FERVID VISIBILITY ENGINE™
MASTER CSS v1.1 — LIVE IMAGE MAPPING
AWWWARDS-INSPIRED / FLAGSHIP EDITORIAL / RESPONSIVE
AUGUST 2026

Companion files:
- fervid-visibility-engine-block-1-v1.html
- fervid-visibility-engine-block-2-v1.html

IMAGE VARIABLES
Populate these after the final artwork is uploaded:
--fve-hero-image
--fve-surface-image
--fve-signals-image
--fve-outcome-image
--fve-journey-image
--fve-observe-image
--fve-source-image
--fve-persistence-image
--fve-decision-image
--fve-final-image
========================================================== */


/* ==========================================================
1. ROOT / TOKENS
========================================================== */

.fv-fve-v1 {
  --fve-midnight-1000:#010811;
  --fve-midnight-980:#020b16;
  --fve-midnight-960:#03101f;
  --fve-midnight-930:#041426;
  --fve-midnight-900:#061a30;
  --fve-midnight-850:#08233c;
  --fve-midnight-800:#0a2c49;

  --fve-green:#55ad5d;
  --fve-green-dark:#3e9149;
  --fve-green-bright:#75cf7c;
  --fve-cyan:#26c2d3;
  --fve-teal:#21b7aa;
  --fve-blue:#198fc7;

  --fve-white:#ffffff;
  --fve-ice:#f8fbfc;
  --fve-soft:#edf5f8;

  --fve-ink:#102438;
  --fve-copy:#405568;
  --fve-copy-light:#d9e5ed;
  --fve-copy-mid:#b7c8d5;
  --fve-copy-soft:#91a8ba;

  --fve-line:#dce6eb;
  --fve-line-dark:rgba(255,255,255,.11);

  --fve-content-max:1400px;
  --fve-flagship-max:1760px;

  --fve-radius:20px;
  --fve-radius-lg:46px;

  --fve-s1:18px;
  --fve-s2:29px;
  --fve-s3:47px;
  --fve-s4:76px;
  --fve-s5:123px;

  --fve-shadow-sm:0 12px 38px rgba(4,20,38,.045);
  --fve-shadow:0 30px 84px rgba(4,20,38,.10);
  --fve-shadow-deep:0 54px 140px rgba(0,0,0,.28);

  --fve-transition:260ms cubic-bezier(.2,.7,.2,1);

  /* Final artwork slots — live WordPress images */
  --fve-hero-image:url("https://fervidsolutions.ca/wp-content/uploads/2026/08/visibilityengine1.png");

  /* Visual Chapter I */
  --fve-surface-image:url("https://fervidsolutions.ca/wp-content/uploads/2026/08/visibilityengine2.png");
  --fve-signals-image:url("https://fervidsolutions.ca/wp-content/uploads/2026/08/visibilityengine3.png");
  --fve-outcome-image:url("https://fervidsolutions.ca/wp-content/uploads/2026/08/visibilityengine4.png");
  --fve-journey-image:url("https://fervidsolutions.ca/wp-content/uploads/2026/08/visibilityengine2.png");

  /* Visual Chapter II */
  --fve-observe-image:url("https://fervidsolutions.ca/wp-content/uploads/2026/08/visibilityengine3.png");
  --fve-source-image:url("https://fervidsolutions.ca/wp-content/uploads/2026/08/visibilityengine4.png");
  --fve-persistence-image:url("https://fervidsolutions.ca/wp-content/uploads/2026/08/visibilityengine2.png");
  --fve-decision-image:url("https://fervidsolutions.ca/wp-content/uploads/2026/08/visibilityengine1.png");

  /* Final conversion */
  --fve-final-image:url("https://fervidsolutions.ca/wp-content/uploads/2026/08/visibilityengine4.png");

  position:relative;
  left:50%;
  width:100vw;
  max-width:100vw;
  margin-left:-50vw;
  padding:0;
  overflow:clip;

  color:var(--fve-copy);
  background:#fff;

  font-family:inherit;
  font-size:18px;
  line-height:1.72;

  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  isolation:isolate;
}

.fv-fve-v1,
.fv-fve-v1 * {
  box-sizing:border-box;
}

.fv-fve-v1 figure,
.fv-fve-v1 blockquote {
  margin:0;
}

.fv-fve-v1 ::selection {
  color:#fff;
  background:var(--fve-green-dark);
}


/* ==========================================================
2. SHARED LAYOUT / ACCESSIBILITY
========================================================== */

.fv-fve-v1 .fv-fve-shell {
  position:relative;
  width:min(calc(100% - 48px),var(--fve-content-max));
  margin-inline:auto;
}

.fv-fve-v1 .fv-fve-visually-hidden {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}


/* ==========================================================
3. SHARED TYPOGRAPHY
========================================================== */

.fv-fve-v1 h1,
.fv-fve-v1 h2,
.fv-fve-v1 h3,
.fv-fve-v1 p {
  font-family:inherit;
}

.fv-fve-v1 h1,
.fv-fve-v1 h2,
.fv-fve-v1 h3 {
  margin-top:0;
  font-weight:720;
  font-kerning:normal;
  font-optical-sizing:auto;
  text-wrap:balance;
}

.fv-fve-v1 .fv-fve-section {
  position:relative;
  padding:clamp(86px,7.7vw,126px) 0;
  scroll-margin-top:96px;
}

.fv-fve-v1 .fv-fve-section--light {
  color:var(--fve-copy);
  background:
    radial-gradient(circle at 92% 8%,rgba(38,194,211,.045),transparent 23%),
    linear-gradient(180deg,#fff 0%,#f8fbfc 100%);
}

.fv-fve-v1 .fv-fve-section--soft {
  color:var(--fve-copy);
  background:
    radial-gradient(circle at 8% 88%,rgba(85,173,93,.05),transparent 27%),
    linear-gradient(180deg,#f5f9fa 0%,#edf4f7 100%);
}

.fv-fve-v1 .fv-fve-section--dark {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 86% 16%,rgba(38,194,211,.13),transparent 28%),
    radial-gradient(circle at 7% 90%,rgba(85,173,93,.10),transparent 29%),
    linear-gradient(135deg,#010811 0%,#041426 44%,#08243e 100%);
}

.fv-fve-v1 .fv-fve-section-heading {
  max-width:960px;
}

.fv-fve-v1 .fv-fve-section-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 21px;

  color:var(--fve-green);
  font-size:12.5px;
  font-weight:850;
  line-height:1.4;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.fv-fve-v1 .fv-fve-section-eyebrow::before {
  content:"";
  width:34px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--fve-green),var(--fve-cyan));
}

.fv-fve-v1 .fv-fve-section h2,
.fv-fve-v1 .fv-fve-final h2 {
  max-width:960px;
  margin:0 0 24px;
  color:var(--fve-ink);

  font-size:clamp(38px,4.25vw,62px);
  line-height:1.075;
  letter-spacing:-.028em;
}

.fv-fve-v1 .fv-fve-section h3 {
  margin:0 0 12px;
  color:var(--fve-ink);
  font-size:clamp(21px,1.8vw,28px);
  line-height:1.16;
  letter-spacing:-.015em;
}

.fv-fve-v1 .fv-fve-section p {
  max-width:72ch;
  margin-top:0;
  margin-bottom:1.34em;
  color:var(--fve-copy);
  font-size:18px;
  line-height:1.74;
}

.fv-fve-v1 .fv-fve-section-lead {
  max-width:820px!important;
  color:#324b60!important;
  font-size:clamp(21px,1.75vw,25px)!important;
  line-height:1.60!important;
  letter-spacing:-.005em;
}

.fv-fve-v1 .fv-fve-section--dark h2,
.fv-fve-v1 .fv-fve-section--dark h3 {
  color:#fff;
}

.fv-fve-v1 .fv-fve-section--dark p,
.fv-fve-v1 .fv-fve-section--dark .fv-fve-section-lead {
  color:#d6e2eb!important;
}

.fv-fve-v1 .fv-fve-signature-line {
  max-width:860px;
  margin-top:30px!important;
  margin-bottom:0!important;
  color:var(--fve-ink)!important;

  font-size:clamp(22px,2vw,29px)!important;
  font-weight:730;
  line-height:1.31!important;
  letter-spacing:-.012em;
}

.fv-fve-v1 .fv-fve-section--dark .fv-fve-signature-line {
  color:#fff!important;
}


/* ==========================================================
4. BUTTONS
========================================================== */

.fv-fve-v1 .fv-fve-actions {
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin-top:34px;
}

.fv-fve-v1 .fv-fve-btn {
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 27px;

  border:1px solid transparent;
  border-radius:999px;

  font-size:15.5px;
  font-weight:780;
  line-height:1.2;
  text-decoration:none;

  transition:
    transform var(--fve-transition),
    border-color var(--fve-transition),
    background-color var(--fve-transition),
    box-shadow var(--fve-transition);
}

.fv-fve-v1 .fv-fve-btn:hover,
.fv-fve-v1 .fv-fve-btn:focus-visible {
  transform:translateY(-2px);
}

.fv-fve-v1 .fv-fve-btn--primary {
  color:#fff;
  background:linear-gradient(135deg,#5bb964,#449d51);
  box-shadow:0 14px 34px rgba(66,157,81,.25);
}

.fv-fve-v1 .fv-fve-btn--ghost {
  color:#fff;
  border-color:rgba(255,255,255,.25);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
}

.fv-fve-v1 .fv-fve-btn--outline {
  color:var(--fve-ink);
  border-color:#cbd8df;
  background:#fff;
  box-shadow:0 8px 24px rgba(4,20,38,.05);
}

.fv-fve-v1 a:focus-visible {
  outline:3px solid rgba(85,173,93,.55);
  outline-offset:4px;
}


/* ==========================================================
5. HERO
========================================================== */

.fv-fve-v1 .fv-fve-hero {
  position:relative;
  width:calc(100vw - 16px);
  min-height:clamp(720px,51vw,900px);

  display:flex;
  align-items:center;

  margin:8px auto 0;
  overflow:hidden;
  isolation:isolate;

  border:1px solid rgba(255,255,255,.10);
  border-radius:var(--fve-radius-lg);

  color:#fff;
  background:var(--fve-midnight-980);

  box-shadow:var(--fve-shadow-deep);
}

.fv-fve-v1 .fv-fve-hero::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(1,8,17,.99) 0%,
      rgba(1,8,17,.97) 27%,
      rgba(2,11,22,.84) 44%,
      rgba(2,11,22,.30) 67%,
      rgba(2,11,22,.08) 100%
    ),
    linear-gradient(
      180deg,
      rgba(1,8,17,.03) 0%,
      rgba(1,8,17,.02) 58%,
      rgba(1,8,17,.43) 100%
    );
}

.fv-fve-v1 .fv-fve-media {
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}

.fv-fve-v1 .fv-fve-media--hero {
  position:absolute;
  z-index:0;
  inset:0;

  background-image:
    var(--fve-hero-image),
    radial-gradient(circle at 75% 42%,rgba(38,194,211,.18),transparent 25%),
    radial-gradient(circle at 84% 70%,rgba(85,173,93,.13),transparent 22%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-hero > .fv-fve-shell {
  position:relative;
  z-index:3;
  width:min(calc(100% - 72px),var(--fve-content-max));
}

.fv-fve-v1 .fv-fve-hero__layout {
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.618fr) minmax(300px,.62fr);
  gap:clamp(54px,6.2vw,106px);
  align-items:center;

  padding:
    clamp(108px,8.2vw,142px)
    0
    clamp(92px,7.4vw,126px);
}

.fv-fve-v1 .fv-fve-hero__content {
  max-width:870px;
}

.fv-fve-v1 .fv-fve-eyebrow {
  margin:0 0 8px;
  color:var(--fve-green-bright);

  font-size:14px;
  font-weight:850;
  line-height:1.3;
  letter-spacing:.05em;
}

.fv-fve-v1 .fv-fve-hero__category {
  margin:0 0 26px;
  color:#adc0cf;
  font-size:13px;
  line-height:1.4;
}

.fv-fve-v1 .fv-fve-hero h1 {
  max-width:880px;
  margin:0;
  color:#fff;

  font-size:clamp(54px,5.45vw,88px);
  font-weight:720;
  line-height:1.015;
  letter-spacing:-.038em;
}

.fv-fve-v1 .fv-fve-hero h1 span {
  color:var(--fve-green-bright);
}

.fv-fve-v1 .fv-fve-hero__lead {
  max-width:740px;
  margin:30px 0 0;

  color:#e2ebf2;
  font-size:clamp(21px,1.65vw,25px);
  line-height:1.62;
}

.fv-fve-v1 .fv-fve-hero__support {
  max-width:720px;
  margin:19px 0 0;
  color:#bfced9;
  font-size:17.5px;
  line-height:1.72;
}

.fv-fve-v1 .fv-fve-hero__thesis {
  max-width:690px;
  margin:20px 0 0;

  color:#c7d5df;
  font-size:17.5px;
  line-height:1.6;
}

.fv-fve-v1 .fv-fve-hero__thesis strong {
  display:block;
  color:var(--fve-green-bright);
  font-weight:760;
}


/* ==========================================================
6. THEGEM-SAFE QUOTES
========================================================== */

body .fv-fve-v1 blockquote.fv-fve-hero__quote,
body .fv-fve-v1 blockquote.fv-fve-final__quote {
  position:relative!important;
  display:block!important;
  margin:0!important;
  padding:30px 30px 27px!important;

  border:1px solid rgba(255,255,255,.16)!important;
  border-left:1px solid rgba(255,255,255,.16)!important;
  border-radius:22px!important;

  color:#fff!important;
  background:
    linear-gradient(145deg,rgba(3,18,34,.84),rgba(3,18,34,.56))!important;

  box-shadow:
    0 30px 74px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055)!important;

  font-family:inherit!important;
  font-style:normal!important;
  text-align:left!important;

  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

body .fv-fve-v1 blockquote.fv-fve-hero__quote {
  max-width:345px!important;
}

body .fv-fve-v1 blockquote.fv-fve-hero__quote::before,
body .fv-fve-v1 blockquote.fv-fve-hero__quote::after,
body .fv-fve-v1 blockquote.fv-fve-final__quote::before,
body .fv-fve-v1 blockquote.fv-fve-final__quote::after,
body .fv-fve-v1 blockquote p::before,
body .fv-fve-v1 blockquote p::after,
body .fv-fve-v1 blockquote cite::before,
body .fv-fve-v1 blockquote cite::after {
  content:none!important;
  display:none!important;
}

.fv-fve-v1 .fv-fve-hero__quote-mark,
.fv-fve-v1 .fv-fve-final__quote > span {
  display:block!important;
  margin:0 0 12px!important;

  color:var(--fve-green-bright)!important;
  font-size:54px!important;
  font-style:normal!important;
  font-weight:800!important;
  line-height:.72!important;
}

body .fv-fve-v1 blockquote p {
  margin:0!important;
  color:#f4f8fb!important;

  font-family:inherit!important;
  font-size:clamp(18px,1.45vw,22px)!important;
  font-style:italic!important;
  font-weight:430!important;
  line-height:1.52!important;
  letter-spacing:-.007em!important;
}

body .fv-fve-v1 blockquote cite {
  display:block!important;
  margin:20px 0 0!important;
  color:#a9bdcc!important;

  font-size:11.5px!important;
  font-style:normal!important;
  font-weight:850!important;
  line-height:1.35!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}


/* ==========================================================
7. DISCOVERY PROBLEM + PRINCIPLES
========================================================== */

.fv-fve-v1 .fv-fve-problem-layout {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1.85fr);
  gap:clamp(54px,6.5vw,106px);
  align-items:start;
}

.fv-fve-v1 .fv-fve-principle-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;

  overflow:hidden;
  border:1px solid var(--fve-line);
  border-radius:22px;
  background:var(--fve-line);
  box-shadow:var(--fve-shadow-sm);
}

.fv-fve-v1 .fv-fve-principle {
  min-height:300px;
  padding:30px 24px;
  background:
    linear-gradient(145deg,#fff,#f7fbfc);
}

.fv-fve-v1 .fv-fve-principle__icon {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:22px;

  border:1px solid rgba(38,194,211,.24);
  border-radius:50%;

  color:var(--fve-cyan);
  background:
    radial-gradient(circle,rgba(38,194,211,.10),rgba(85,173,93,.04));

  font-size:25px;
  font-weight:800;
}

.fv-fve-v1 .fv-fve-principle h3 {
  margin-bottom:10px;
  font-size:21px;
}

.fv-fve-v1 .fv-fve-principle__lead {
  margin-bottom:10px!important;
  color:#253d51!important;
  font-size:16px!important;
  font-weight:720;
  line-height:1.45!important;
}

.fv-fve-v1 .fv-fve-principle p:last-child {
  margin-bottom:0;
  color:#5b6f81;
  font-size:14.8px;
  line-height:1.62;
}


/* ==========================================================
8. FULL-WIDTH VISUAL CHAPTERS
========================================================== */

.fv-fve-v1 .fv-fve-visual-chapter {
  position:relative;
  padding:clamp(52px,5.3vw,86px) 0;

  background:
    linear-gradient(180deg,#f8fbfc,#eef4f7);
}

.fv-fve-v1 .fv-fve-visual-chapter:nth-of-type(even) {
  background:
    linear-gradient(180deg,#edf4f7,#f8fbfc);
}

.fv-fve-v1 .fv-fve-visual-chapter > .fv-fve-shell {
  width:calc(100vw - 16px);
  max-width:none;
}

.fv-fve-v1 .fv-fve-visual-chapter__header {
  padding:0 0 17px;
  text-align:center;
}

.fv-fve-v1 .fv-fve-visual-chapter__header > p {
  margin:0;
  color:var(--fve-green-dark);

  font-size:11.5px;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.fv-fve-v1 .fv-fve-visual-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));

  overflow:hidden;

  border:1px solid rgba(255,255,255,.14);
  border-radius:46px;

  background:rgba(255,255,255,.13);

  box-shadow:0 54px 138px rgba(2,13,27,.28);
}

.fv-fve-v1 .fv-fve-visual-panel {
  position:relative;
  min-height:clamp(550px,33vw,700px);

  overflow:hidden;
  isolation:isolate;

  color:#fff;
  background:var(--fve-midnight-930);
}

.fv-fve-v1 .fv-fve-visual-panel:not(:last-child) {
  border-right:1px solid rgba(255,255,255,.17);
}

.fv-fve-v1 .fv-fve-visual-panel::before {
  content:"";
  position:absolute;
  z-index:2;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(1,8,17,.08) 0%,
      rgba(1,8,17,.17) 38%,
      rgba(1,8,17,.90) 79%,
      rgba(1,8,17,.985) 100%
    );
}

.fv-fve-v1 .fv-fve-visual-panel .fv-fve-media {
  position:absolute;
  z-index:1;
  inset:0;

  transform:scale(1.01);

  transition:
    transform 900ms cubic-bezier(.2,.7,.2,1),
    filter 900ms cubic-bezier(.2,.7,.2,1);
}

.fv-fve-v1 .fv-fve-visual-panel:hover .fv-fve-media {
  transform:scale(1.045);
}

.fv-fve-v1 .fv-fve-media--surface {
  background-image:
    var(--fve-surface-image),
    radial-gradient(circle at 58% 58%,rgba(38,194,211,.18),transparent 28%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--signals {
  background-image:
    var(--fve-signals-image),
    radial-gradient(circle at 58% 50%,rgba(85,173,93,.14),transparent 28%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--outcome {
  background-image:
    var(--fve-outcome-image),
    radial-gradient(circle at 50% 45%,rgba(38,194,211,.15),transparent 26%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--journey {
  background-image:
    var(--fve-journey-image),
    radial-gradient(circle at 65% 45%,rgba(85,173,93,.13),transparent 24%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--observe {
  background-image:
    var(--fve-observe-image),
    radial-gradient(circle at 58% 50%,rgba(38,194,211,.15),transparent 24%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--source {
  background-image:
    var(--fve-source-image),
    radial-gradient(circle at 58% 50%,rgba(38,194,211,.13),transparent 24%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--persistence {
  background-image:
    var(--fve-persistence-image),
    radial-gradient(circle at 58% 50%,rgba(85,173,93,.14),transparent 24%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-media--decision {
  background-image:
    var(--fve-decision-image),
    radial-gradient(circle at 58% 50%,rgba(38,194,211,.15),transparent 24%),
    linear-gradient(135deg,#03101f,#08243e);
}

.fv-fve-v1 .fv-fve-visual-panel__content {
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;

  padding:30px 28px 31px;
}

.fv-fve-v1 .fv-fve-visual-panel__number {
  margin:0 0 15px;
  color:var(--fve-green-bright);
  font-size:28px;
  font-weight:430;
  line-height:1;
}

.fv-fve-v1 .fv-fve-visual-panel h3 {
  max-width:15ch;
  margin:0 0 15px;

  color:#fff;
  font-size:clamp(24px,1.8vw,32px);
  font-weight:710;
  line-height:1.08;
  letter-spacing:-.024em;
}

.fv-fve-v1 .fv-fve-visual-panel__content p:last-child {
  max-width:32ch;
  margin:0;

  color:#d4e0e8;
  font-size:15.5px;
  line-height:1.64;
}


/* ==========================================================
9. EVIDENCE DISCIPLINE
========================================================== */

.fv-fve-v1 .fv-fve-evidence-layout {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:clamp(56px,7vw,104px);
  align-items:start;
}

.fv-fve-v1 .fv-fve-evidence-ladder {
  display:grid;
  gap:12px;
}

.fv-fve-v1 .fv-fve-evidence-step {
  position:relative;
  padding:22px 22px 22px 58px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;

  background:
    linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.022));
}

.fv-fve-v1 .fv-fve-evidence-step::before {
  content:"";
  position:absolute;
  left:23px;
  top:26px;

  width:10px;
  height:10px;

  border:2px solid var(--fve-green-bright);
  border-radius:50%;
}

.fv-fve-v1 .fv-fve-evidence-step span {
  display:block;
  margin-bottom:5px;
  color:var(--fve-green-bright);

  font-size:10px;
  font-weight:900;
  letter-spacing:.10em;
}

.fv-fve-v1 .fv-fve-evidence-step h3 {
  margin-bottom:5px;
  color:#fff;
  font-size:19px;
}

.fv-fve-v1 .fv-fve-evidence-step p {
  margin:0;
  color:#c7d4de!important;
  font-size:15px;
  line-height:1.6;
}


/* ==========================================================
10. CLIENT VALUE
========================================================== */

.fv-fve-v1 .fv-fve-value-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  margin-top:46px;
}

.fv-fve-v1 .fv-fve-value-card {
  min-height:240px;
  padding:29px 26px;

  border:1px solid rgba(13,44,76,.09);
  border-radius:18px;

  background:#fff;
  box-shadow:var(--fve-shadow-sm);
}

.fv-fve-v1 .fv-fve-value-card > span {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:20px;

  border:1px solid rgba(38,194,211,.20);
  border-radius:50%;

  color:var(--fve-cyan);
  background:
    radial-gradient(circle,rgba(38,194,211,.09),rgba(85,173,93,.035));

  font-size:20px;
  font-weight:850;
}

.fv-fve-v1 .fv-fve-value-card h3 {
  font-size:21px;
}

.fv-fve-v1 .fv-fve-value-card p {
  margin:0;
  color:#4f6578;
  font-size:15.7px;
  line-height:1.66;
}


/* ==========================================================
11. FIT GRID
========================================================== */

.fv-fve-v1 .fv-fve-fit-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  margin-top:46px;
}

.fv-fve-v1 .fv-fve-fit-card {
  min-height:225px;
  padding:28px 26px;

  border:1px solid rgba(13,44,76,.09);
  border-radius:18px;

  background:#fff;
  box-shadow:var(--fve-shadow-sm);
}

.fv-fve-v1 .fv-fve-fit-card h3 {
  font-size:20px;
}

.fv-fve-v1 .fv-fve-fit-card p {
  margin:0;
  color:#4f6578;
  font-size:15.6px;
  line-height:1.65;
}


/* ==========================================================
12. CONNECTED SYSTEM FLOW
========================================================== */

.fv-fve-v1 .fv-fve-system-flow {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:13px;
  margin-top:46px;
}

.fv-fve-v1 .fv-fve-system-card {
  position:relative;
  min-height:215px;
  padding:25px 23px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:17px;

  background:
    linear-gradient(145deg,rgba(255,255,255,.064),rgba(255,255,255,.022));
}

.fv-fve-v1 .fv-fve-system-card--current {
  border-color:rgba(117,207,124,.32);
  background:
    linear-gradient(145deg,rgba(85,173,93,.12),rgba(38,194,211,.045));

  box-shadow:
    0 0 0 1px rgba(117,207,124,.04),
    0 24px 60px rgba(0,0,0,.15);
}

.fv-fve-v1 .fv-fve-system-card span {
  display:block;
  margin-bottom:14px;
  color:var(--fve-green-bright);

  font-size:10.5px;
  font-weight:900;
  letter-spacing:.10em;
}

.fv-fve-v1 .fv-fve-system-card h3 {
  color:#fff;
  font-size:18px;
}

.fv-fve-v1 .fv-fve-system-card p {
  margin:0;
  color:#c6d4df!important;
  font-size:14.7px;
  line-height:1.62;
}


/* ==========================================================
13. FAQ
========================================================== */

.fv-fve-v1 .fv-fve-faq-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:46px;
}

.fv-fve-v1 .fv-fve-faq-card {
  padding:31px;
  border:1px solid rgba(13,44,76,.09);
  border-radius:18px;

  background:#fff;
  box-shadow:0 12px 36px rgba(4,20,38,.04);
}

.fv-fve-v1 .fv-fve-faq-card::before {
  content:"?";
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  margin-bottom:22px;

  border-radius:50%;
  color:var(--fve-green-dark);
  background:
    linear-gradient(145deg,rgba(85,173,93,.11),rgba(38,194,211,.05));

  font-size:15px;
  font-weight:850;
}

.fv-fve-v1 .fv-fve-faq-card h3 {
  margin-bottom:13px;
  font-size:21px;
}

.fv-fve-v1 .fv-fve-faq-card p {
  margin:0;
  color:#4d6275;
  font-size:16px;
  line-height:1.68;
}


/* ==========================================================
14. FINAL CTA
========================================================== */

.fv-fve-v1 .fv-fve-final {
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;

  overflow:hidden;
  isolation:isolate;

  color:#fff;
  background:var(--fve-midnight-980);
}

.fv-fve-v1 .fv-fve-media--final {
  position:absolute;
  z-index:-2;
  inset:0;

  background-image:
    var(--fve-final-image),
    radial-gradient(circle at 80% 20%,rgba(38,194,211,.18),transparent 27%),
    radial-gradient(circle at 10% 90%,rgba(85,173,93,.12),transparent 30%),
    linear-gradient(135deg,#010811,#08243e);
}

.fv-fve-v1 .fv-fve-final::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(1,8,17,.98) 0%,
      rgba(1,8,17,.90) 42%,
      rgba(1,8,17,.46) 75%,
      rgba(1,8,17,.18) 100%
    );
}

.fv-fve-v1 .fv-fve-final > .fv-fve-shell {
  position:relative;
  z-index:2;
}

.fv-fve-v1 .fv-fve-final__layout {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
  gap:clamp(52px,6vw,96px);
  align-items:center;
}

.fv-fve-v1 .fv-fve-final__content {
  max-width:900px;
}

.fv-fve-v1 .fv-fve-final h2 {
  max-width:830px;
  color:#fff;
  font-size:clamp(45px,5vw,70px);
  line-height:1.04;
}

.fv-fve-v1 .fv-fve-final p {
  max-width:72ch;
  color:#d3dfe8;
  font-size:18px;
  line-height:1.72;
}

body .fv-fve-v1 blockquote.fv-fve-final__quote {
  max-width:330px!important;
}


/* ==========================================================
15. REVEAL
========================================================== */

.fv-fve-v1.fv-fve-motion-ready .fv-fve-reveal {
  opacity:0;
  transform:translateY(22px);

  transition:
    opacity 700ms cubic-bezier(.2,.7,.2,1),
    transform 700ms cubic-bezier(.2,.7,.2,1);
}

.fv-fve-v1.fv-fve-motion-ready .fv-fve-reveal.fv-fve-visible {
  opacity:1;
  transform:none;
}


/* ==========================================================
16. RESPONSIVE — 1200
========================================================== */

@media (max-width:1200px) {

  .fv-fve-v1 .fv-fve-problem-layout {
    grid-template-columns:1fr;
  }

  .fv-fve-v1 .fv-fve-principle-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fv-fve-v1 .fv-fve-value-grid,
  .fv-fve-v1 .fv-fve-fit-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fv-fve-v1 .fv-fve-system-flow {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

}


/* ==========================================================
17. RESPONSIVE — TABLET
========================================================== */

@media (max-width:920px) {

  .fv-fve-v1 .fv-fve-hero {
    width:calc(100vw - 12px);
  }

  .fv-fve-v1 .fv-fve-hero__layout,
  .fv-fve-v1 .fv-fve-final__layout,
  .fv-fve-v1 .fv-fve-evidence-layout {
    grid-template-columns:1fr;
  }

  body .fv-fve-v1 blockquote.fv-fve-hero__quote,
  body .fv-fve-v1 blockquote.fv-fve-final__quote {
    max-width:520px!important;
  }

  .fv-fve-v1 .fv-fve-visual-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fv-fve-v1 .fv-fve-visual-panel:nth-child(2) {
    border-right:0;
  }

  .fv-fve-v1 .fv-fve-visual-panel:nth-child(-n+2) {
    border-bottom:1px solid rgba(255,255,255,.17);
  }

}


/* ==========================================================
18. RESPONSIVE — MOBILE
========================================================== */

@media (max-width:720px) {

  .fv-fve-v1 {
    font-size:17px;
  }

  .fv-fve-v1 .fv-fve-shell {
    width:min(calc(100% - 28px),var(--fve-content-max));
  }

  .fv-fve-v1 .fv-fve-section {
    padding:74px 0;
  }

  .fv-fve-v1 .fv-fve-section h2,
  .fv-fve-v1 .fv-fve-final h2 {
    font-size:clamp(33px,8.6vw,44px);
    line-height:1.09;
  }

  .fv-fve-v1 .fv-fve-section p,
  .fv-fve-v1 .fv-fve-final p {
    font-size:17px;
    line-height:1.74;
  }

  .fv-fve-v1 .fv-fve-section-lead {
    font-size:20px!important;
    line-height:1.60!important;
  }

  .fv-fve-v1 .fv-fve-hero {
    width:calc(100vw - 8px);
    min-height:820px;
    margin-top:4px;
    border-radius:30px;
  }

  .fv-fve-v1 .fv-fve-hero::before {
    background:
      linear-gradient(
        180deg,
        rgba(1,8,17,.96) 0%,
        rgba(1,8,17,.92) 54%,
        rgba(1,8,17,.68) 100%
      );
  }

  .fv-fve-v1 .fv-fve-hero > .fv-fve-shell {
    width:min(calc(100% - 30px),var(--fve-content-max));
  }

  .fv-fve-v1 .fv-fve-hero__layout {
    padding:84px 0 68px;
  }

  .fv-fve-v1 .fv-fve-hero h1 {
    font-size:clamp(40px,10.5vw,55px);
    line-height:1.04;
  }

  .fv-fve-v1 .fv-fve-hero__lead {
    font-size:20px;
  }

  .fv-fve-v1 .fv-fve-actions {
    display:grid;
    grid-template-columns:1fr;
  }

  .fv-fve-v1 .fv-fve-btn {
    width:100%;
  }

  .fv-fve-v1 .fv-fve-principle-grid,
  .fv-fve-v1 .fv-fve-value-grid,
  .fv-fve-v1 .fv-fve-fit-grid,
  .fv-fve-v1 .fv-fve-system-flow,
  .fv-fve-v1 .fv-fve-faq-grid {
    grid-template-columns:1fr;
  }

  .fv-fve-v1 .fv-fve-principle,
  .fv-fve-v1 .fv-fve-value-card,
  .fv-fve-v1 .fv-fve-fit-card,
  .fv-fve-v1 .fv-fve-system-card {
    min-height:0;
  }

  .fv-fve-v1 .fv-fve-visual-chapter {
    padding:28px 0;
  }

  .fv-fve-v1 .fv-fve-visual-chapter > .fv-fve-shell {
    width:calc(100vw - 8px);
  }

  .fv-fve-v1 .fv-fve-visual-grid {
    grid-template-columns:1fr;
    border-radius:30px;
  }

  .fv-fve-v1 .fv-fve-visual-panel {
    min-height:620px;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.17);
  }

  .fv-fve-v1 .fv-fve-visual-panel:last-child {
    border-bottom:0;
  }

  .fv-fve-v1 .fv-fve-visual-panel__content {
    padding:28px 22px;
  }

  .fv-fve-v1 .fv-fve-visual-panel h3 {
    font-size:29px;
  }

  .fv-fve-v1 .fv-fve-final {
    min-height:640px;
  }

  .fv-fve-v1 .fv-fve-final::before {
    background:
      linear-gradient(
        180deg,
        rgba(1,8,17,.95) 0%,
        rgba(1,8,17,.84) 62%,
        rgba(1,8,17,.62) 100%
      );
  }

}


/* ==========================================================
19. SMALL MOBILE
========================================================== */

@media (max-width:430px) {

  .fv-fve-v1 .fv-fve-hero h1 {
    font-size:39px;
  }

  .fv-fve-v1 .fv-fve-section h2,
  .fv-fve-v1 .fv-fve-final h2 {
    font-size:32px;
  }

  .fv-fve-v1 .fv-fve-visual-panel {
    min-height:640px;
  }

}


/* ==========================================================
20. REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion:reduce) {

  .fv-fve-v1 *,
  .fv-fve-v1 *::before,
  .fv-fve-v1 *::after {
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }

  .fv-fve-v1.fv-fve-motion-ready .fv-fve-reveal {
    opacity:1;
    transform:none;
  }

  .fv-fve-v1 .fv-fve-visual-panel:hover .fv-fve-media {
    transform:none;
  }

}/* End custom CSS */