/* =========================================================================
 * GEO for Doctors — custom components (2026-06-18)
 * Loaded via functions.php (gfd_enqueue). Brand: navy #001326, blue #0e87fe,
 * orange #f4701b, font Poppins.
 * ========================================================================= */

:root{
  --gfd-navy:#001326;
  --gfd-blue:#0e87fe;
  --gfd-orange:#f4701b;
  --gfd-ink:#1b2a3a;
  --gfd-grey:#5b6b7b;
  --gfd-line:#e6ebf1;
  --gfd-bg:#f6f9fc;
}

/* ---------- shared buttons ---------- */
.gfd-btn{display:inline-block;font-family:"Poppins",sans-serif;font-weight:600;
  font-size:16px;line-height:1;padding:16px 30px;border-radius:8px;text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;cursor:pointer;}
.gfd-btn-primary{background:var(--gfd-orange);color:#fff;box-shadow:0 8px 20px rgba(244,112,27,.28);}
.gfd-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(244,112,27,.36);color:#fff;}
.gfd-btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55);}
.gfd-btn-ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08);}

/* ---------- case studies page ---------- */
.gfd-cs{max-width:1080px;margin:0 auto;padding:10px 20px 40px;
  font-family:"Poppins",sans-serif;color:var(--gfd-ink);}
.gfd-cs h2{font-size:32px;font-weight:700;color:var(--gfd-navy);margin:0 0 14px;line-height:1.2;}
.gfd-cs h3{font-size:24px;font-weight:700;color:var(--gfd-navy);margin:0;}
.gfd-cs h4{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gfd-blue);margin:0 0 10px;}
.gfd-cs p{color:var(--gfd-grey);font-size:16px;line-height:1.7;}

.gfd-cs-disclaimer{background:#fff7ef;border:1px solid #f6d3b3;border-left:4px solid var(--gfd-orange);
  border-radius:8px;padding:14px 18px;font-size:14px;color:#6b4a2c;margin:0 0 34px;}
.gfd-cs-disclaimer strong{color:var(--gfd-orange);}

.gfd-cs-intro{text-align:center;max-width:760px;margin:0 auto 18px;}
.gfd-cs-stats{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:26px 0 6px;}
.gfd-cs-stat{flex:1 1 180px;background:var(--gfd-bg);border:1px solid var(--gfd-line);border-radius:12px;
  padding:20px 14px;}
.gfd-cs-stat .num{display:block;font-size:30px;font-weight:800;color:var(--gfd-blue);line-height:1.1;}
.gfd-cs-stat .lbl{display:block;font-size:13px;color:var(--gfd-grey);margin-top:6px;}
.gfd-cs-foot{font-size:12px;color:#9aa7b4;text-align:center;}
.gfd-cs-eyebrow{text-align:center;color:#9aa7b4;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:700;margin:0 0 18px;}
.gfd-cs-sec{margin:40px 0;}
.gfd-cs-sec > .gfd-cs-intro{margin-bottom:0;}

.gfd-cs-card{position:relative;background:#fff;border:1px solid var(--gfd-line);border-radius:16px;
  padding:34px 32px 30px;margin:26px 0;box-shadow:0 10px 30px rgba(0,19,38,.06);}
.gfd-cs-badge{position:absolute;top:18px;right:18px;background:#eef4ff;color:var(--gfd-blue);
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;border:1px solid #d4e4ff;}
.gfd-cs-head{border-bottom:1px solid var(--gfd-line);padding-bottom:16px;margin-bottom:20px;padding-right:120px;}
.gfd-cs-meta{font-size:14px;color:var(--gfd-grey);margin:6px 0 0;font-weight:500;}
.gfd-cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:22px;}
.gfd-cs-col ul{margin:0;padding-left:18px;}
.gfd-cs-col li{color:var(--gfd-grey);font-size:15px;line-height:1.6;margin-bottom:8px;}

.gfd-cs-results{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  background:var(--gfd-navy);border-radius:12px;padding:22px 18px;margin:6px 0 22px;}
.gfd-cs-results.three{grid-template-columns:repeat(3,1fr);}
.gfd-cs-outcome{background:#f1f7ff;border-left:4px solid var(--gfd-blue);border-radius:0 10px 10px 0;
  padding:14px 18px;margin:2px 0 4px;font-size:15px;line-height:1.6;color:var(--gfd-ink);}
.gfd-cs-outcome b{color:var(--gfd-navy);}
.gfd-cs-metric{text-align:center;}
.gfd-cs-metric .num{display:block;font-size:26px;font-weight:800;color:#fff !important;line-height:1.1;}
.gfd-cs-metric .lbl{display:block;font-size:12px;color:#a9c2e0 !important;margin-top:7px;line-height:1.35;}

.gfd-cs-quote{margin:0;border:0;padding:0;font-size:18px;line-height:1.6;font-style:italic;
  color:var(--gfd-ink);}
.gfd-cs-quote cite{display:block;margin-top:12px;font-style:normal;font-size:14px;font-weight:600;
  color:var(--gfd-navy);}
.gfd-cs-quote cite em{color:#9aa7b4;font-weight:500;}

.gfd-cs-final{background:linear-gradient(135deg,#001326 0%,#0a2b4f 100%);border-radius:18px;
  padding:46px 30px;text-align:center;margin-top:36px;}
.gfd-cs-final h2{color:#fff !important;}
.gfd-cs-final p{color:#bcd0e6 !important;max-width:600px;margin:0 auto 24px;}
.gfd-cs-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

@media(max-width:782px){
  .gfd-cs h2{font-size:26px;}
  .gfd-cs-grid{grid-template-columns:1fr;gap:18px;}
  .gfd-cs-results{grid-template-columns:1fr 1fr;gap:18px 10px;}
  .gfd-cs-card{padding:28px 20px;}
  .gfd-cs-head{padding-right:0;}
  .gfd-cs-badge{position:static;display:inline-block;margin-bottom:12px;}
}

/* ---------- case studies hero ---------- */
.gfd-cs-hero{text-align:center;max-width:820px;margin:0 auto 6px;padding:6px 0 2px;}
.gfd-cs-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gfd-orange);margin-bottom:12px;}
.gfd-cs-hero h1{font-family:"Poppins",sans-serif;font-size:40px;font-weight:800;color:var(--gfd-navy);
  line-height:1.15;margin:0 0 14px;}
.gfd-cs-hero p{color:var(--gfd-grey);font-size:18px;line-height:1.6;margin:0 auto;max-width:640px;}
@media(max-width:782px){.gfd-cs-hero h1{font-size:28px;}}

/* ---------- mobile sticky call / book bar ---------- */
.gfd-mobile-bar{display:none;}
@media(max-width:782px){
  .gfd-mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99999;
    font-family:"Poppins",sans-serif;box-shadow:0 -4px 20px rgba(0,19,38,.20);}
  .gfd-mobile-bar a{flex:1;text-align:center;padding:15px 8px;font-weight:600;font-size:15px;
    text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px;}
  .gfd-mb-call{background:var(--gfd-navy);color:#fff;}
  .gfd-mb-book{background:var(--gfd-orange);color:#fff;flex:1.5;}
  body{padding-bottom:54px;}
}

/* ---------- homepage proof band ---------- */
.gfd-home-proof{background:#fff;padding:60px 20px;border-top:1px solid var(--gfd-line);}
.gfd-home-proof-inner{max-width:920px;margin:0 auto;text-align:center;font-family:"Poppins",sans-serif;}
.gfd-home-proof h2{color:var(--gfd-navy);font-size:30px;font-weight:700;margin:6px 0 24px;line-height:1.2;}
.gfd-hp-stats{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-bottom:28px;}
.gfd-hp-stats > div{flex:1 1 200px;background:var(--gfd-bg);border:1px solid var(--gfd-line);
  border-radius:12px;padding:22px 14px;}
.gfd-hp-stats .num{display:block;font-size:30px;font-weight:800;color:var(--gfd-blue);line-height:1.1;}
.gfd-hp-stats .lbl{display:block;font-size:13px;color:var(--gfd-grey);margin-top:6px;}
.gfd-hp-note{color:#9aa7b4;font-size:12px;margin-top:18px;}
@media(max-width:782px){.gfd-home-proof h2{font-size:24px;}}

/* ---------- case studies page: dark full-width hero (clears the transparent header)
   + light page background so the white cards pop ---------- */
.page-id-2551 #main{background:var(--gfd-bg);}
.page-id-2551 .gfd-cs{padding-top:0;}
.page-id-2551 .gfd-cs-hero{
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:none;
  background:linear-gradient(135deg,#001326 0%,#0a2b4f 100%);
  padding:170px 20px 60px;margin-bottom:40px;}
.page-id-2551 .gfd-cs-hero h1{color:#fff;max-width:840px;margin:0 auto 14px;}
.page-id-2551 .gfd-cs-hero p{color:#bcd0e6;}
.page-id-2551 .gfd-cs-hero .gfd-cs-kicker{color:var(--gfd-orange);}
@media(max-width:782px){.page-id-2551 .gfd-cs-hero{padding:120px 20px 44px;}}

/* case studies: white header + dark nav (matches other pages; the transparent
   header made the nav invisible and the navy version made the logo blend) */
body.page-id-2551{overflow-x:hidden;}
.page-id-2551 .fusion-header-wrapper,
.page-id-2551 .fusion-header-wrapper .fusion-header{background-color:#fff !important;}
.page-id-2551 .fusion-main-menu .fusion-menu-link,
.page-id-2551 .fusion-main-menu .fusion-menu-link-active,
.page-id-2551 .fusion-main-menu > ul > li > a,
.page-id-2551 .fusion-main-menu li a,
.page-id-2551 .fusion-header .fusion-main-menu a{color:#001326 !important;}

/* center the single remaining client logo (after the off-brand ones were removed) */
.gfd-clients-row{justify-content:center !important;}

/* fix: case-studies hero contained & centered (full-bleed shifted the subtitle) */
.page-id-2551 .gfd-cs-hero{margin:0 0 36px !important;max-width:none;padding:150px 30px 54px !important;
  background:linear-gradient(135deg,#001326 0%,#0a2b4f 100%);border-radius:18px;text-align:center;}
.page-id-2551 .gfd-cs-hero h1{color:#fff !important;max-width:820px;margin:0 auto 14px;}
.page-id-2551 .gfd-cs-hero p{color:#bcd0e6 !important;max-width:660px;margin:0 auto;}
.page-id-2551 .gfd-cs-hero .gfd-cs-kicker{color:var(--gfd-orange) !important;}

/* ---------- About / Services content pages ---------- */
.gfd-page{max-width:1080px;margin:0 auto;padding:34px 20px 50px;font-family:"Poppins",sans-serif;}
.gfd-page .gfd-lead{text-align:center;max-width:790px;margin:0 auto 38px;}
.gfd-page .gfd-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gfd-orange);margin-bottom:12px;}
.gfd-page h2{font-size:30px;font-weight:700;color:var(--gfd-navy)!important;line-height:1.2;margin:0 0 14px;}
.gfd-page p{color:var(--gfd-grey);font-size:16px;line-height:1.7;}
.gfd-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:8px 0 46px;}
.gfd-card{background:#fff;border:1px solid var(--gfd-line);border-top:3px solid var(--gfd-blue);
  border-radius:14px;padding:28px 24px;box-shadow:0 8px 24px rgba(0,19,38,.05);}
.gfd-card h3{font-size:19px;font-weight:700;color:var(--gfd-navy)!important;margin:0 0 8px;}
.gfd-card p{font-size:15px;line-height:1.6;margin:0;}
.gfd-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:8px 0 46px;}
.gfd-step{text-align:center;padding:6px;}
.gfd-step .n{display:inline-flex;width:46px;height:46px;border-radius:50%;background:var(--gfd-blue);
  color:#fff;font-weight:800;font-size:18px;align-items:center;justify-content:center;margin-bottom:14px;}
.gfd-step h3,.gfd-step h4{font-size:16px;font-weight:700;color:var(--gfd-navy)!important;margin:0 0 6px;}
.gfd-step p{font-size:14px;line-height:1.55;margin:0;}
.gfd-sec{margin:0 0 24px;text-align:center;}
@media(max-width:782px){.gfd-grid3,.gfd-steps{grid-template-columns:1fr;}.gfd-page h2{font-size:24px;}}

/* =======================================================================
 * Rich content pages (About / Services) — long-form, authoritative layout
 * ======================================================================= */
.gfd-rp{font-family:"Poppins",sans-serif;color:var(--gfd-ink);}
.gfd-rp .wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
.gfd-rp h2{color:var(--gfd-navy);}
.gfd-rp .kick{display:inline-block;color:var(--gfd-orange);font-size:12px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px;}

/* hero (contained navy block; top padding clears the overlay header) */
.gfd-rp-hero{background:radial-gradient(900px 420px at 88% -20%,rgba(14,135,254,.30),transparent),
  linear-gradient(135deg,#001326 0%,#0a2b4f 100%);border-radius:22px;color:#fff;
  padding:64px 50px;margin:0 0 56px;}
/* .row collides with Avada's framework grid — force our hero grid to win and
   neutralise any inherited float/width on the two columns */
.gfd-rp-hero .row{display:grid !important;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;float:none !important;}
.gfd-rp-hero .row > div{float:none !important;width:auto !important;max-width:none !important;margin:0 !important;clear:none !important;}
/* Avada's .row clearfix ::before/::after become grid items and shift content
   diagonally — remove them from the grid */
.gfd-rp-hero .row::before,.gfd-rp-hero .row::after{display:none !important;content:none !important;}
.gfd-rp-hero h1{font-size:42px;line-height:1.13;font-weight:800;margin:0 0 18px;color:#fff !important;}
.gfd-rp-hero h1 .hl{color:#5cb0ff;}
.gfd-rp-hero .sub{font-size:18px;line-height:1.6;color:#bcd0e6;margin:0 0 26px;}
.gfd-rp-hero .cta{display:flex;gap:14px;flex-wrap:wrap;}
.gfd-rp-hero .shot{border-radius:16px;overflow:hidden;box-shadow:0 26px 60px rgba(0,0,0,.4);background:#fff;}
.gfd-rp-hero .shot img{width:100%;display:block;}
.gfd-rp-hero .shot video{width:100%;display:block;background:#fff;}
.gfd-shot-motion{position:relative;background:#fff;}
.gfd-shot-motion::after{content:"";position:absolute;inset:0;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(11,42,71,.06);pointer-events:none;}
.gfd-rp-hero .strip{display:flex;gap:14px 34px;flex-wrap:wrap;margin-top:34px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.14);color:#9fb6cf;font-size:14px;font-weight:600;}
.gfd-rp-hero .strip span{display:inline-flex;align-items:center;gap:9px;}
.gfd-rp-hero .strip b{color:#fff;}
.gfd-dot{width:9px;height:9px;border-radius:50%;background:var(--gfd-orange);display:inline-block;}

/* section heads */
.gfd-rp-sec{margin:0 0 56px;}
.gfd-rp-h{text-align:center;max-width:780px;margin:0 auto 34px;}
.gfd-rp-h h2{font-size:32px;font-weight:800;line-height:1.2;margin:0 0 12px;}
.gfd-rp-h p{font-size:17px;color:var(--gfd-grey);line-height:1.6;margin:0;}

/* icon cards */
.gfd-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.gfd-fcard{background:#fff;border:1px solid var(--gfd-line);border-radius:16px;padding:30px 26px;
  box-shadow:0 10px 30px rgba(0,19,38,.05);transition:transform .15s,box-shadow .15s;}
.gfd-fcard:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,19,38,.10);}
.gfd-fcard .ic{width:54px;height:54px;border-radius:14px;background:#eaf3ff;display:flex;
  align-items:center;justify-content:center;margin-bottom:18px;}
.gfd-fcard .ic svg{width:27px;height:27px;fill:none;stroke:var(--gfd-blue);stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;}
.gfd-fcard h3{font-size:19px;font-weight:700;color:var(--gfd-navy);margin:0 0 10px;}
.gfd-fcard p{font-size:14.5px;line-height:1.65;color:var(--gfd-grey);margin:0 0 14px;}
.gfd-fcard ul{margin:0;padding:0;list-style:none;}
.gfd-fcard li{font-size:13.5px;color:var(--gfd-ink);padding-left:22px;position:relative;margin-bottom:7px;line-height:1.45;}
.gfd-fcard li:before{content:"";position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%;background:var(--gfd-orange);}

/* split text + visual */
.gfd-split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;
  background:var(--gfd-bg);border:1px solid var(--gfd-line);border-radius:20px;padding:44px;}
.gfd-split h2{font-size:28px;font-weight:800;margin:0 0 16px;line-height:1.22;}
.gfd-split p{font-size:16px;line-height:1.7;color:var(--gfd-grey);margin:0 0 14px;}
.gfd-split .visual{border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(0,19,38,.14);background:#fff;}
.gfd-split .visual img{width:100%;display:block;}
/* About page — mission quote card + story narrative (distinct visual language from Services) */
.gfd-split .visual.gfd-quote-card{position:relative;background:linear-gradient(158deg,#0b2a47,#0e3a63);color:#eaf3ff;padding:36px 34px 30px;box-shadow:0 24px 60px rgba(7,39,68,.30);}
.gfd-quote-card::after{content:"";position:absolute;right:-46px;bottom:-46px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(244,112,27,.55),transparent 70%);opacity:.55;pointer-events:none;}
.gfd-quote-card .qmark{font-family:Georgia,'Times New Roman',serif;font-size:78px;line-height:.5;color:#5cb0ff;opacity:.6;}
.gfd-quote-card blockquote{margin:10px 0 0;font-size:19px;line-height:1.62;font-weight:600;color:#fff;position:relative;z-index:1;}
.gfd-quote-card .by{margin-top:22px;font-size:13.5px;font-weight:700;letter-spacing:.02em;color:#9fc6ff;display:flex;align-items:center;gap:10px;}
.gfd-quote-card .by .d{width:26px;height:2px;background:#f4701b;display:inline-block;}
.gfd-story{max-width:840px;border-left:3px solid #0e87fe;padding-left:30px;}
.gfd-story h2{margin:6px 0 16px;}
.gfd-story p{font-size:17px;line-height:1.78;color:#43566b;margin:0 0 16px;}
.gfd-story p:last-child{margin-bottom:0;}
@media(max-width:640px){.gfd-story{padding-left:18px;}}

/* comparison */
.gfd-vs{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.gfd-vs .col{border-radius:16px;padding:30px;border:1px solid var(--gfd-line);background:#fff;}
.gfd-vs .col.good{border:2px solid var(--gfd-blue);box-shadow:0 16px 40px rgba(14,135,254,.13);}
.gfd-vs h3,.gfd-vs h4{font-size:18px;margin:0 0 16px;color:var(--gfd-navy);font-weight:700;}
.gfd-vs ul{list-style:none;padding:0;margin:0;}
.gfd-vs li{padding:10px 0 10px 28px;position:relative;font-size:15px;color:var(--gfd-grey);}
.gfd-vs li+li{border-top:1px solid var(--gfd-line);}
.gfd-vs .bad li:before{content:"\00d7";position:absolute;left:5px;top:9px;color:#c2ccd6;font-weight:800;}
.gfd-vs .good li{color:var(--gfd-ink);}
.gfd-vs .good li:before{content:"\2713";position:absolute;left:3px;top:10px;color:var(--gfd-blue);font-weight:800;}

/* checklist + chips */
.gfd-check{display:grid;grid-template-columns:1fr 1fr;gap:14px 34px;list-style:none;padding:0;margin:0;}
.gfd-check li{position:relative;padding-left:34px;font-size:16px;color:var(--gfd-ink);line-height:1.5;}
.gfd-check li:before{content:"\2713";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;
  background:var(--gfd-blue);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.gfd-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:900px;margin:0 auto;}
.gfd-chips span{background:#fff;border:1px solid var(--gfd-line);border-radius:999px;padding:11px 21px;
  font-size:15px;font-weight:600;color:var(--gfd-navy);box-shadow:0 4px 12px rgba(0,19,38,.04);}

/* stat band (navy) + faq + cta */
.gfd-band{background:linear-gradient(135deg,#001326,#0a2b4f);border-radius:20px;padding:44px 40px;}
.gfd-stats4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.gfd-stats4 .n{font-size:40px;font-weight:800;color:#fff;line-height:1;}
.gfd-stats4 .l{font-size:13.5px;color:#a9c2e0;margin-top:8px;display:block;line-height:1.4;}
.gfd-band .note{text-align:center;color:#7e93aa;font-size:12px;margin:22px 0 0;}
.gfd-faq{max-width:840px;margin:0 auto;}
.gfd-qa{background:#fff;border:1px solid var(--gfd-line);border-radius:12px;padding:20px 24px;margin-bottom:13px;}
.gfd-qa h3,.gfd-qa h4{margin:0 0 8px;font-size:17px;color:var(--gfd-navy);font-weight:700;}
.gfd-qa p{margin:0;font-size:15px;color:var(--gfd-grey);line-height:1.6;}
.gfd-rp-cta{background:linear-gradient(135deg,#001326,#0a2b4f);border-radius:22px;padding:56px 30px;text-align:center;}
.gfd-rp-cta h2{font-size:32px;font-weight:800;color:#fff !important;margin:0 0 14px;}
.gfd-rp-cta p{font-size:17px;color:#bcd0e6;margin:0 auto 26px;max-width:620px;}
.gfd-rp-cta .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

@media(max-width:880px){
  .gfd-rp-hero{padding:48px 26px;}
  .gfd-rp-hero .row,.gfd-split,.gfd-vs,.gfd-cards{grid-template-columns:1fr;gap:26px;}
  .gfd-rp-hero h1{font-size:30px;}
  .gfd-rp-hero .shot{order:-1;}
  .gfd-split{padding:28px;}
  .gfd-stats4{grid-template-columns:1fr 1fr;gap:26px 14px;}
  .gfd-check{grid-template-columns:1fr;}
  .gfd-rp-h h2{font-size:26px;}
}

/* hide the bland Avada title bar on the rebuilt pages; white header + dark nav */
.page-id-15 .fusion-page-title-bar,.page-id-17 .fusion-page-title-bar{display:none !important;}
.page-id-15 .fusion-header-wrapper,.page-id-15 .fusion-header-wrapper .fusion-header,
.page-id-17 .fusion-header-wrapper,.page-id-17 .fusion-header-wrapper .fusion-header{background-color:#fff !important;}
.page-id-15 .fusion-main-menu .fusion-menu-link,.page-id-15 .fusion-main-menu li a,
.page-id-17 .fusion-main-menu .fusion-menu-link,.page-id-17 .fusion-main-menu li a{color:#001326 !important;}
.page-id-15 #main,.page-id-17 #main{background:#fff;}
.page-id-15 .gfd-rp,.page-id-17 .gfd-rp{padding-top:130px;}

/* =======================================================================
 * Scroll reveal + animated counters (driven by gfd.js)
 * ======================================================================= */
/* hidden state gated behind .gfd-js (set in <head>) so no-JS users still see content */
.gfd-js .gfd-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.gfd-js .gfd-reveal.is-in{opacity:1;transform:none;}
.gfd-reveal.d1{transition-delay:.08s;}.gfd-reveal.d2{transition-delay:.16s;}
.gfd-reveal.d3{transition-delay:.24s;}.gfd-reveal.d4{transition-delay:.32s;}
@media(prefers-reduced-motion:reduce){.gfd-js .gfd-reveal{opacity:1!important;transform:none!important;transition:none!important;}}

/* =======================================================================
 * AI example video testimonials (Case Studies + Home) — with disclaimer
 * ======================================================================= */
.gfd-vids-head{text-align:center;max-width:760px;margin:0 auto 26px;}
.gfd-vids{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 6px;font-family:"Poppins",sans-serif;}
.gfd-vidcard{background:#fff;border:1px solid var(--gfd-line);border-radius:16px;overflow:hidden;
  box-shadow:0 12px 32px rgba(0,19,38,.07);display:flex;flex-direction:column;}
.gfd-vidcard .frame{position:relative;background:#0a1b30;aspect-ratio:3/4;overflow:hidden;}
.gfd-vidcard video{width:100%;height:100%;object-fit:cover;display:block;background:#0a1b30;}
.gfd-vidcard .frame .tag{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  background:rgba(10,27,48,.82);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:5px 10px;border-radius:999px;backdrop-filter:blur(2px);}
.gfd-vidcard .frame .tag b{color:#ffb27a;}
.gfd-vid-disc{display:flex;gap:9px;align-items:flex-start;background:#fff7ef;border-top:1px solid #f6d3b3;
  color:#8a5a32;font-size:11.5px;line-height:1.35;padding:10px 13px;font-weight:600;}
.gfd-vid-disc svg{flex:none;width:15px;height:15px;margin-top:1px;stroke:var(--gfd-orange);fill:none;stroke-width:2;}
.gfd-vidcard .body{padding:16px 18px 20px;}
.gfd-vidcard .body h4{margin:0 0 3px;font-size:18px;font-weight:700;color:var(--gfd-navy);}
.gfd-vidcard .body .role{margin:0 0 12px;font-size:13px;color:var(--gfd-grey);}
.gfd-vidcard .mini{display:flex;flex-wrap:wrap;gap:7px;}
.gfd-vidcard .mini span{background:var(--gfd-bg);border:1px solid var(--gfd-line);border-radius:999px;
  padding:5px 11px;font-size:12px;font-weight:600;color:var(--gfd-navy);}
@media(max-width:880px){.gfd-vids{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;}}

/* =======================================================================
 * Featured clients logo wall (Case Studies + Home)
 * ======================================================================= */
.gfd-clients-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:stretch;
  max-width:980px;margin:0 auto;font-family:"Poppins",sans-serif;}
.gfd-client{flex:1 1 190px;max-width:230px;min-height:104px;background:#fff;border:1px solid var(--gfd-line);
  border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:20px 22px;box-shadow:0 6px 18px rgba(0,19,38,.05);transition:transform .18s,box-shadow .18s;text-decoration:none;}
.gfd-client:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,19,38,.11);}
.gfd-client img{max-height:50px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(100%);opacity:.72;transition:filter .2s,opacity .2s;}
.gfd-client:hover img{filter:none;opacity:1;}
.gfd-client .wm{display:flex;flex-direction:column;align-items:center;line-height:1.05;color:var(--gfd-navy);}
.gfd-client .wm b{font-size:19px;font-weight:800;letter-spacing:-.01em;}
.gfd-client .wm i{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gfd-blue);margin-top:4px;}
.gfd-client .cap{font-size:11px;color:var(--gfd-grey);font-weight:600;letter-spacing:.02em;text-align:center;}

/* case-study card: client logo + visit link (extends .gfd-cs-card) */
.gfd-cs-logo{height:34px;width:auto;max-width:190px;object-fit:contain;margin:0 0 10px;display:block;}
.gfd-cs-visit{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;
  color:var(--gfd-blue);text-decoration:none;margin-top:2px;}
.gfd-cs-visit:hover{text-decoration:underline;}
.gfd-cs-visit svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}

/* =======================================================================
 * Home: featured-clients + AI-video band (injected via functions.php)
 * ======================================================================= */
.gfd-home-clients{background:var(--gfd-bg);padding:54px 20px;border-top:1px solid var(--gfd-line);}
.gfd-home-clients .inner{max-width:1080px;margin:0 auto;text-align:center;font-family:"Poppins",sans-serif;}
.gfd-home-clients h2{color:var(--gfd-navy);font-size:28px;font-weight:700;margin:6px 0 8px;}
.gfd-home-clients .sub{color:var(--gfd-grey);font-size:16px;margin:0 auto 28px;max-width:640px;}
.gfd-home-vids{background:linear-gradient(135deg,#001326,#0a2b4f);padding:64px 20px;position:relative;overflow:hidden;}
.gfd-home-vids::after{content:"";position:absolute;z-index:0;width:620px;height:620px;border-radius:50%;top:-200px;right:-160px;pointer-events:none;background:radial-gradient(circle,rgba(14,135,254,.45),transparent 66%);}
.gfd-home-vids .inner{max-width:1080px;margin:0 auto;font-family:"Poppins",sans-serif;position:relative;z-index:1;}
.gfd-home-vids h2{color:#fff;font-size:28px;font-weight:700;margin:6px 0 8px;text-align:center;}
.gfd-home-vids .sub{color:#bcd0e6;font-size:16px;margin:0 auto 26px;max-width:680px;text-align:center;}
.gfd-home-vids .gfd-cs-kicker{color:#ffb27a;}
.gfd-home-clients .gfd-cs-kicker,.gfd-home-vids .gfd-cs-kicker{margin-bottom:8px;}
.gfd-home-vids .lead{text-align:center;margin-bottom:6px;}
.gfd-home-vids .more{text-align:center;margin-top:30px;}
/* home: hide the old sparse Fusion "Featured Clients" row (replaced by the block above) */
.page-id-11 .fusion-builder-row-7{display:none !important;}

/* =======================================================================
 * Service-location (city) pages — white header + dark nav + centered hero
 * ======================================================================= */
body.gfd-loc-page{overflow-x:hidden;}
.gfd-loc-page .fusion-header-wrapper,.gfd-loc-page .fusion-header-wrapper .fusion-header{background-color:#fff !important;}
.gfd-loc-page .fusion-main-menu .fusion-menu-link,.gfd-loc-page .fusion-main-menu .fusion-menu-link-active,
.gfd-loc-page .fusion-main-menu li a,.gfd-loc-page .fusion-header .fusion-main-menu a{color:#001326 !important;}
.gfd-loc-page #main{background:#fff;}
.gfd-loc{padding-top:118px;}
.gfd-loc-hero{text-align:center;}
.gfd-loc-hero h1{max-width:900px;margin-left:auto;margin-right:auto;}
.gfd-loc-hero .sub{max-width:700px;margin-left:auto;margin-right:auto;}
.gfd-loc-hero .cta{justify-content:center;}
.gfd-loc-hero .strip{justify-content:center;border-top:0;padding-top:0;margin-top:26px;}
@media(max-width:880px){.gfd-loc{padding-top:96px;}.gfd-loc-hero .strip{justify-content:flex-start;}
  /* city hero: lead with the headline on mobile, image after */
  .gfd-loc .gfd-rp-hero .row > div{order:0;}
  .gfd-loc .gfd-rp-hero .shot{order:2;margin-top:24px;max-width:460px;margin-left:auto;margin-right:auto;}}

/* ---------- Contact / FAQ appended premium sections ---------- */
.gfd-page-extra{padding:34px 0 80px;}
.gfd-rp-cta .gfd-cta-fine{margin:18px 0 0;color:#9fb6cf;font-size:14px;}
.gfd-rp-cta .gfd-cta-fine a{color:#8fc2ff;}
.gfd-rp-cta .gfd-cta-fine b{color:#fff;}

/* =======================================================================
 * PREMIUM v2 — Framer-style motion, graphics & depth (2026-06-19)
 * ======================================================================= */

/* ---- richer reveal (overrides the basic block) + directional variants ---- */
.gfd-js .gfd-reveal{opacity:0;transform:translateY(16px);
  transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1),filter .7s ease;}
.gfd-js .gfd-reveal.r-left{transform:translateX(-48px);}
.gfd-js .gfd-reveal.r-right{transform:translateX(48px);}
.gfd-js .gfd-reveal.r-scale{transform:scale(.93);}
.gfd-js .gfd-reveal.is-in{opacity:1;transform:none;filter:none;}
/* Full-bleed bands paint their full-width background with a 100vmax box-shadow; applying the
   reveal transform drags that entire background across the screen as the band scrolls into
   view (the band appears to slide/jump). Pin the band itself so only its inner content reveals. */
.gfd-js .gfd-reveal.gfd-fb-dark,.gfd-js .gfd-reveal.gfd-fb-tint{opacity:1!important;transform:none!important;}

/* ---- staggered children of grids inside a revealed section ---- */
.gfd-js .gfd-reveal :is(.gfd-cards,.gfd-vs,.gfd-steps,.gfd-vids,.gfd-clients-grid,.gfd-stats4,.gfd-cs-stats,.gfd-hp-stats,.gfd-chips,.gfd-cs-results) > *{
  opacity:0;transform:translateY(12px);transition:opacity .55s cubic-bezier(.16,.84,.44,1),transform .55s cubic-bezier(.16,.84,.44,1);}
.gfd-js .gfd-reveal.is-in :is(.gfd-cards,.gfd-vs,.gfd-steps,.gfd-vids,.gfd-clients-grid,.gfd-stats4,.gfd-cs-stats,.gfd-hp-stats,.gfd-chips,.gfd-cs-results) > *{opacity:1;transform:none;}
.gfd-js .gfd-reveal.is-in :is(.gfd-cards,.gfd-vs,.gfd-steps,.gfd-vids,.gfd-clients-grid,.gfd-stats4,.gfd-cs-stats,.gfd-hp-stats,.gfd-chips,.gfd-cs-results) > *:nth-child(2){transition-delay:.08s}
.gfd-js .gfd-reveal.is-in :is(.gfd-cards,.gfd-vs,.gfd-steps,.gfd-vids,.gfd-clients-grid,.gfd-stats4,.gfd-cs-stats,.gfd-hp-stats,.gfd-chips,.gfd-cs-results) > *:nth-child(3){transition-delay:.16s}
.gfd-js .gfd-reveal.is-in :is(.gfd-cards,.gfd-vs,.gfd-steps,.gfd-vids,.gfd-clients-grid,.gfd-stats4,.gfd-cs-stats,.gfd-hp-stats,.gfd-chips,.gfd-cs-results) > *:nth-child(4){transition-delay:.24s}
.gfd-js .gfd-reveal.is-in :is(.gfd-cards,.gfd-vs,.gfd-steps,.gfd-vids,.gfd-clients-grid,.gfd-stats4,.gfd-cs-stats,.gfd-hp-stats,.gfd-chips,.gfd-cs-results) > *:nth-child(5){transition-delay:.32s}
.gfd-js .gfd-reveal.is-in :is(.gfd-cards,.gfd-vs,.gfd-steps,.gfd-vids,.gfd-clients-grid,.gfd-stats4,.gfd-cs-stats,.gfd-hp-stats,.gfd-chips,.gfd-cs-results) > *:nth-child(6){transition-delay:.4s}
.gfd-js .gfd-reveal.is-in :is(.gfd-cards,.gfd-vs,.gfd-steps,.gfd-vids,.gfd-clients-grid,.gfd-stats4,.gfd-cs-stats,.gfd-hp-stats,.gfd-chips,.gfd-cs-results) > *:nth-child(n+7){transition-delay:.48s}

/* ---- BOLD colorful gradient-mesh page background (not flat white) + dot overlay.
   Glows sit at different scroll depths so the backdrop shifts as you scroll. ---- */
.page-id-15 #main,.page-id-17 #main,.gfd-loc-page #main,.page-id-2551 #main,.page-id-1094 #main{
  background-color:#eaf1fb !important;
  background-image:
    radial-gradient(60vw 50vh at 8% 4%, rgba(14,135,254,.20), transparent 60%),
    radial-gradient(55vw 45vh at 95% 16%, rgba(244,112,27,.16), transparent 60%),
    radial-gradient(60vw 55vh at 0% 42%, rgba(92,176,255,.16), transparent 60%),
    radial-gradient(55vw 50vh at 100% 64%, rgba(14,135,254,.16), transparent 60%),
    radial-gradient(60vw 50vh at 10% 88%, rgba(244,112,27,.13), transparent 60%),
    radial-gradient(rgba(14,135,254,.06) 1.2px, transparent 1.3px);
  background-size:auto,auto,auto,auto,auto,26px 26px;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat;}
body.page-id-15,body.page-id-17{overflow-x:hidden;}

/* ---- full-bleed band backgrounds for dramatic light/dark scroll rhythm ---- */
.gfd-fb-dark{position:relative;background:#072744;box-shadow:0 0 0 100vmax #072744;
  clip-path:inset(0 -100vmax);color:#fff;border-radius:0;padding-top:64px;padding-bottom:64px;margin-top:0;}
.gfd-fb-dark::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(40vw 40vh at 85% -10%, rgba(14,135,254,.30), transparent 60%),
             radial-gradient(36vw 38vh at 8% 120%, rgba(244,112,27,.18), transparent 60%);}
.gfd-fb-dark > *{position:relative;z-index:1;}
.gfd-fb-dark .gfd-rp-h h2,.gfd-fb-dark h2{color:#fff !important;}
.gfd-fb-dark .gfd-rp-h h2::after{background:linear-gradient(90deg,#5cb0ff,#ffb27a);}
.gfd-fb-dark .gfd-rp-h p,.gfd-fb-dark p{color:#bcd0e6 !important;}
.gfd-fb-dark .kick,.gfd-fb-dark .gfd-cs-eyebrow{color:#ffb27a !important;}
.gfd-fb-dark .gfd-step h3,.gfd-fb-dark .gfd-step h4{color:#fff !important;}
.gfd-fb-dark .gfd-step p,.gfd-fb-dark .gfd-cs-intro p{color:#bcd0e6 !important;}
.gfd-fb-dark .gfd-fcard h3{color:var(--gfd-navy);}
.gfd-fb-tint{position:relative;background:#e7eefb;box-shadow:0 0 0 100vmax #e7eefb;
  clip-path:inset(0 -100vmax);padding-top:56px;padding-bottom:56px;}

/* ---- bigger, more visible floating glows on heroes/CTAs ---- */
.gfd-rp-hero::after,.gfd-cs-hero::after,.gfd-rp-cta::after,.gfd-cs-final::after,.gfd-band::after{
  width:640px;height:640px;top:-220px;right:-180px;
  background:radial-gradient(circle,rgba(14,135,254,.55),transparent 66%);}
.gfd-rp-hero::before,.gfd-cs-hero::before{width:460px;height:460px;
  background:radial-gradient(circle,rgba(244,112,27,.30),transparent 68%);}

/* ---- gradient text for hero highlight ---- */
.gfd-rp-hero h1 .hl,.gfd-cs-hero h1 .hl{
  background:linear-gradient(100deg,#5cb0ff 10%,#ffb27a 55%,#5cb0ff 90%);-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent;color:#5cb0ff;
  background-size:220% auto;animation:gfdShift 7s ease-in-out infinite;}

/* dark feature-card band on About + Services (matches the city scroll rhythm) */
.page-id-15 .gfd-rp-sec:has(.gfd-cards),.page-id-17 .gfd-rp-sec:has(.gfd-cards){
  position:relative;background:#072744;box-shadow:0 0 0 100vmax #072744;clip-path:inset(0 -100vmax);
  color:#fff;padding-top:64px;padding-bottom:64px;}
.page-id-15 .gfd-rp-sec:has(.gfd-cards) .gfd-rp-h h2,.page-id-17 .gfd-rp-sec:has(.gfd-cards) .gfd-rp-h h2{color:#fff !important;}
.page-id-15 .gfd-rp-sec:has(.gfd-cards) .gfd-rp-h p,.page-id-17 .gfd-rp-sec:has(.gfd-cards) .gfd-rp-h p{color:#bcd0e6 !important;}
.page-id-15 .gfd-rp-sec:has(.gfd-cards) .kick,.page-id-17 .gfd-rp-sec:has(.gfd-cards) .kick{color:#ffb27a !important;}

/* homepage final CTA band (above footer) */
.gfd-home-finalcta{padding:58px 20px 74px;}
.gfd-home-finalcta .gfd-rp-cta{max-width:1080px;margin:0 auto;}

/* robust CTA centering everywhere (defensive — kill any off-center) */
.gfd-cs-final,.gfd-rp-cta{text-align:center;}
.gfd-cs-final h2,.gfd-cs-final p,.gfd-rp-cta h2,.gfd-rp-cta p{text-align:center !important;margin-left:auto !important;margin-right:auto !important;}
.gfd-cs-actions,.gfd-rp-cta .cta{justify-content:center !important;}

/* ---- glowing gradient orbs on dark hero / CTA / stat bands (no extra markup) ---- */
.gfd-rp-hero,.gfd-cs-hero,.gfd-rp-cta,.gfd-cs-final,.gfd-band{position:relative;overflow:hidden;}
.gfd-rp-hero > *,.gfd-cs-hero > *,.gfd-rp-cta > *,.gfd-cs-final > *,.gfd-band > *{position:relative;z-index:1;}
.gfd-rp-hero::after,.gfd-cs-hero::after,.gfd-rp-cta::after,.gfd-cs-final::after,.gfd-band::after{content:"";position:absolute;z-index:0;
  width:520px;height:520px;border-radius:50%;top:-190px;right:-150px;pointer-events:none;
  background:radial-gradient(circle,rgba(14,135,254,.42),transparent 68%);animation:gfdFloat 15s ease-in-out infinite;}
.gfd-rp-hero::before,.gfd-cs-hero::before{content:"";position:absolute;z-index:0;width:380px;height:380px;border-radius:50%;
  left:-130px;bottom:-150px;pointer-events:none;background:radial-gradient(circle,rgba(244,112,27,.22),transparent 70%);
  animation:gfdFloat 19s ease-in-out infinite reverse;}
@keyframes gfdFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-24px,26px) scale(1.1)}}

/* ---- subtle living gradient on the dark CTA / stat bands ---- */
.gfd-rp-cta,.gfd-cs-final,.gfd-band{background-size:180% 180%;animation:gfdShift 18s ease infinite;}
@keyframes gfdShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
/* accessibility: honor reduced-motion for all decorative animation */
@media (prefers-reduced-motion: reduce){
  .gfd-rp-hero::after,.gfd-cs-hero::after,.gfd-rp-cta::after,.gfd-cs-final::after,.gfd-band::after,
  .gfd-rp-hero::before,.gfd-cs-hero::before,.gfd-rp-cta,.gfd-cs-final,.gfd-band,
  .gfd-rp-hero h1 .hl,.gfd-cs-hero h1 .hl{animation:none !important;}
}

/* ===== Contact page (id 19): remove generic stock photography, match the premium navy system ===== */
/* Hero — swap the parallax stock banner for the brand navy gradient */
.page-id-19 .fusion-fullwidth:has(.parallax-inner){background:linear-gradient(135deg,#001326 0%,#08294c 58%,#0e3a63 100%) !important;}
.page-id-19 .parallax-inner{background-image:none !important;}
.page-id-19 .fusion-fullwidth:has(.parallax-inner) .fusion-title,
.page-id-19 .fusion-fullwidth:has(.parallax-inner) h1,
.page-id-19 .fusion-fullwidth:has(.parallax-inner) h1 *{color:#fff !important;}
/* Form section — replace the stock laptop photo with the clean brand graphic card */
.page-id-19 .wp-image-2487{display:none !important;}
.page-id-19 .fusion-layout-column:has(.wp-image-2487){
  background:#fff url(/wp-content/themes/Avada-Child-Theme/assets/img/brand-motion-poster.jpg) center/contain no-repeat;
  border-radius:16px;box-shadow:0 18px 44px rgba(0,19,38,.14);min-height:420px;}
/* Form — premium rounded inputs + brand-orange submit */
.page-id-19 #main form input,.page-id-19 #main form textarea{border-radius:10px !important;}
.page-id-19 #main form .fusion-button{
  background:linear-gradient(135deg,#f4701b,#ff8a3d) !important;border:none !important;border-radius:10px !important;
  box-shadow:0 12px 26px rgba(244,112,27,.30) !important;color:#fff !important;}

/* ===== FAQ page (id 21): swap the off-brand mountain stock hero for the brand navy gradient ===== */
.page-id-21 .fusion-fullwidth.fusion-builder-row-1{
  background-image:none !important;
  background:linear-gradient(135deg,#001326 0%,#08294c 58%,#0e3a63 100%) !important;}
.page-id-21 .fusion-fullwidth.fusion-builder-row-1 .fusion-title,
.page-id-21 .fusion-fullwidth.fusion-builder-row-1 h1,
.page-id-21 .fusion-fullwidth.fusion-builder-row-1 h1 *{color:#fff !important;}

/* ---- hover micro-interactions ---- */
.gfd-rp-hero .shot,.gfd-split .visual{overflow:hidden;}
.gfd-rp-hero .shot img,.gfd-split .visual img{transition:transform .9s cubic-bezier(.16,.84,.44,1);}
.gfd-rp-hero .shot:hover img,.gfd-split .visual:hover img{transform:scale(1.06);}
.gfd-cs-card{transition:transform .28s cubic-bezier(.16,.84,.44,1),box-shadow .28s ease;}
.gfd-cs-card:hover{transform:translateY(-6px);box-shadow:0 26px 56px rgba(0,19,38,.13);}
.gfd-vidcard{transition:transform .28s cubic-bezier(.16,.84,.44,1),box-shadow .28s ease;}
.gfd-vidcard:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(0,19,38,.13);}
.gfd-qa{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.gfd-qa:hover{transform:translateX(4px);border-color:#cfe0f5;box-shadow:0 10px 26px rgba(0,19,38,.07);}
.gfd-btn-primary{position:relative;overflow:hidden;}
.gfd-btn-primary::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .65s ease;}
.gfd-btn-primary:hover::after{left:150%;}

/* ---- wider containers + breathing room; fix the CTA→footer collision ---- */
.gfd-rp .wrap{max-width:1240px;}
.gfd-loc{padding-bottom:84px;}
.gfd-cs{padding-bottom:72px;}
.page-id-15 .gfd-rp,.page-id-17 .gfd-rp{padding-bottom:76px;}
/* margin-top must beat Avada's base `p` reset (it was being zeroed, letting the
   case-studies button ride up flush against / over the client cards above it). */
.gfd-rp-sec p.gfd-proof-cta{text-align:center;margin:36px 0 0 !important;}

/* ---- left-aligned, more dynamic section heads on rich pages (less dead-centered) ---- */
.gfd-rp-sec > .gfd-rp-h{position:relative;}
.gfd-rp-h h2{position:relative;display:inline-block;}
.gfd-rp-h h2::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-14px;
  width:54px;height:4px;border-radius:3px;background:linear-gradient(90deg,var(--gfd-blue),var(--gfd-orange));}

@media(prefers-reduced-motion:reduce){
  .gfd-rp-hero::after,.gfd-cs-hero::after,.gfd-rp-cta::after,.gfd-cs-final::after,.gfd-band::after,
  .gfd-rp-hero::before,.gfd-cs-hero::before,.gfd-rp-cta,.gfd-cs-final,.gfd-band{animation:none!important;}
  .gfd-js .gfd-reveal :is(.gfd-cards,.gfd-vs,.gfd-steps,.gfd-vids,.gfd-clients-grid,.gfd-stats4,.gfd-cs-stats,.gfd-hp-stats,.gfd-chips,.gfd-cs-results) > *{opacity:1!important;transform:none!important;}
}

/* ===== Blog index (id 1094): branded hero + premium post-card grid ===== */
/* top padding clears the transparent overlay header (~86px) so the eyebrow/title sit below it */
.gfd-blog-hero{text-align:center;padding:120px 44px 64px;}
.gfd-blog-hero .bh-inner{max-width:780px;margin:0 auto;}
.gfd-blog-hero h1{font-size:40px;line-height:1.14;margin:6px 0 16px;}
.gfd-blog-hero .sub{margin:0 auto;max-width:690px;}
.gfd-blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:28px;max-width:1080px;margin:0 auto;}
.gfd-blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gfd-line);border-radius:18px;
  overflow:hidden;text-decoration:none;box-shadow:0 8px 26px rgba(0,19,38,.06);
  transition:transform .28s cubic-bezier(.16,.84,.44,1),box-shadow .28s ease;}
.gfd-blog-card:hover{transform:translateY(-6px);box-shadow:0 26px 56px rgba(0,19,38,.14);}
.bc-thumb{position:relative;height:176px;overflow:hidden;background:linear-gradient(135deg,#001326,#0a2b4f);}
.gfd-blog-card[style*="--bi:1"] .bc-thumb{background:linear-gradient(135deg,#06223f,#0e3a63);}
.gfd-blog-card[style*="--bi:2"] .bc-thumb{background:linear-gradient(135deg,#0a2b4f,#123a5c);}
.bc-thumb::after{content:"";position:absolute;right:-54px;bottom:-64px;width:230px;height:230px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,112,27,.42),transparent 64%);opacity:.6;pointer-events:none;}
.bc-cat{position:absolute;top:16px;left:16px;z-index:2;background:rgba(255,255,255,.13);
  color:#fff;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:6px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.22);}
.bc-ic{position:absolute;right:22px;top:50%;transform:translateY(-50%);width:74px;height:74px;color:rgba(255,255,255,.5);z-index:1;}
.bc-ic svg{width:100%;height:100%;display:block;}
.bc-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}
.gfd-blog-card .bc-body h2{font-size:21px !important;line-height:1.32 !important;font-weight:700;color:var(--gfd-navy);margin:0 0 10px;transition:color .2s;}
.gfd-blog-card:hover .bc-body h2{color:var(--gfd-blue);}
.bc-body p{font-size:14.5px;line-height:1.62;color:var(--gfd-grey);margin:0 0 18px;flex:1;}
.bc-meta{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:#8294a6;}
.bc-meta .dot{opacity:.55;}
.bc-go{margin-left:auto;color:var(--gfd-blue);font-weight:700;white-space:nowrap;}
.gfd-blog .gfd-rp-cta{margin-top:4px;}
@media(max-width:600px){.gfd-blog-grid{grid-template-columns:1fr;}.gfd-blog-hero h1{font-size:30px;}.gfd-blog-hero{padding:98px 22px 46px;}}

/* ===== Single blog post: branded hero + sticky share + related (premium) ===== */
/* strip the default Avada chrome (stock featured image, in-content title, sidebar,
   "By admin" meta, author box, native sharing, comments) */
.single-post .fusion-flexslider,.single-post #sidebar,.single-post .fusion-meta-info,
.single-post .about-author,.single-post .fusion-sharing-box,.single-post .comment-respond,
.single-post #comments,.single-post .fusion-content-sep,.single-post .entry-title{display:none !important;}
/* contain the hero's full-bleed box-shadow (same technique as the other full-bleed
   pages). NB: with Avada's body{overflow-y:scroll} this routes scroll events off
   window, so the TOC scroll-spy is driven by IntersectionObserver, not window scroll. */
body.single-post{overflow-x:hidden;}
.single-post #content{width:100% !important;float:none !important;max-width:1120px;margin:0 auto !important;padding-top:0 !important;}
.single-post article.post{margin-top:0 !important;padding-top:0 !important;}
.single-post .post-content{max-width:none !important;margin:0 !important;}

/* --- hero: full-bleed navy band that clears the transparent overlay header --- */
.gfd-post-hero{position:relative;isolation:isolate;text-align:center;color:#fff;
  margin:0 0 50px;padding:132px 24px 56px;background:#06223f;
  box-shadow:0 0 0 100vmax #06223f;clip-path:inset(0 -100vmax);}
.gfd-post-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(46vw 75% at 82% -25%,rgba(14,135,254,.34),transparent 60%),
             radial-gradient(40vw 60% at 6% 125%,rgba(244,112,27,.16),transparent 60%);}
.gfd-post-hero > *{position:relative;z-index:1;max-width:840px;margin-left:auto;margin-right:auto;}
.gfd-post-hero .gfd-post-back{display:block;width:fit-content;margin:0 auto 18px;color:#9fc6ff;font-weight:700;
  font-size:13px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;}
.gfd-post-hero .gfd-post-back:hover{color:#fff;}
.gfd-post-hero .gfd-post-cat{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:18px;}
.gfd-post-h1{font-size:44px;line-height:1.13;font-weight:800;color:#fff !important;margin:0 auto 20px;max-width:900px;}
.gfd-post-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;
  color:#bcd0e6;font-size:14px;font-weight:600;}
.gfd-post-meta .sep{opacity:.5;}
.gfd-post-by{display:inline-flex;align-items:center;gap:9px;color:#fff;}
.gfd-post-ava{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  background:linear-gradient(135deg,#0e87fe,#0a6fd6);color:#fff;font-size:11px;font-weight:800;}

/* --- article layout: sticky sidebar (TOC + share) + reading column --- */
.gfd-post-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;
  max-width:1080px;margin:0 auto;padding:0 24px;align-items:start;}
.gfd-post-layout.gfd-no-toc{grid-template-columns:52px minmax(0,1fr);gap:36px;max-width:880px;}
.gfd-post-aside{position:sticky;top:108px;align-self:start;}
.gfd-post-main{min-width:0;}
.gfd-post-prose{position:relative;max-width:768px;}
.gfd-post-prose > p:first-of-type::first-letter{float:left;font-size:62px;line-height:.82;font-weight:800;
  color:var(--gfd-navy);padding:6px 14px 0 0;}
.single-post .gfd-post-prose h2{scroll-margin-top:104px;}
/* table of contents (auto, scroll-spy via gfd.js) */
.gfd-toc{margin:0 0 22px;}
.gfd-toc-h{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9aa7b4;margin:0 0 12px;}
.gfd-toc ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--gfd-line);max-height:62vh;overflow:auto;}
.gfd-toc li{margin:0;}
.gfd-toc a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  padding:6px 0 6px 15px;margin-left:-2px;border-left:2px solid transparent;
  color:#5b6b7b;text-decoration:none;font-size:13px;line-height:1.4;font-weight:500;transition:color .2s,border-color .2s;}
.gfd-toc a:hover{color:var(--gfd-navy);}
.gfd-toc a.is-active{color:var(--gfd-blue);border-left-color:var(--gfd-blue);font-weight:600;}
.single-post .gfd-post-prose p{font-size:17.5px;line-height:1.85;color:#37495d;margin:0 0 20px;}
.single-post .gfd-post-prose h1,.single-post .gfd-post-prose h2,.single-post .gfd-post-prose h3,
.single-post .gfd-post-prose h4,.single-post .gfd-post-prose .fusion-title h2{
  color:var(--gfd-navy) !important;line-height:1.25 !important;margin:36px 0 12px !important;}
.single-post .gfd-post-prose h2,.single-post .gfd-post-prose .fusion-title h2{font-size:27px !important;font-weight:800 !important;}
.single-post .gfd-post-prose h3{font-size:21px !important;font-weight:700 !important;}
.single-post .gfd-post-prose p a,.single-post .gfd-post-prose li a{color:var(--gfd-blue);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.single-post .gfd-post-prose ul,.single-post .gfd-post-prose ol{margin:0 0 20px;padding-left:22px;}
.single-post .gfd-post-prose li{margin:0 0 8px;line-height:1.7;color:#37495d;}
.single-post .gfd-post-prose img{border-radius:12px;height:auto;max-width:100%;}
.single-post .gfd-post-prose blockquote{border-left:3px solid var(--gfd-blue);margin:26px 0;padding:6px 0 6px 22px;color:#2a3b4d;font-style:italic;font-size:19px;line-height:1.6;}
.single-post .gfd-post-prose .fusion-fullwidth{padding-left:0 !important;padding-right:0 !important;}

/* --- social share controls (sticky rail + foot row) --- */
.gfd-share-set{display:flex;gap:10px;}
.gfd-sh{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;
  background:#fff;border:1px solid var(--gfd-line);color:#33475b;cursor:pointer;padding:0;
  transition:transform .2s,box-shadow .2s,background .2s,color .2s,border-color .2s;}
.gfd-sh svg{width:18px;height:18px;display:block;}
.gfd-sh:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,19,38,.16);color:#fff;}
.gfd-sh-x:hover{background:#0f1419;border-color:#0f1419;}
.gfd-sh-in:hover{background:#0a66c2;border-color:#0a66c2;}
.gfd-sh-fb:hover{background:#1877f2;border-color:#1877f2;}
.gfd-sh-mail:hover{background:var(--gfd-blue);border-color:var(--gfd-blue);}
.gfd-sh-copy:hover{background:var(--gfd-orange);border-color:var(--gfd-orange);}
.gfd-sh-copy.is-copied{background:#1f9d57;border-color:#1f9d57;color:#fff;}
.gfd-share--rail .gfd-share-set{flex-direction:column;align-items:flex-start;}
.gfd-share--rail .gfd-share-lbl{display:block;font-size:10.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:#9aa7b4;margin-bottom:12px;}
.gfd-post-foot{margin:42px 0 0;padding-top:24px;border-top:1px solid var(--gfd-line);}
.gfd-share--row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.gfd-share--row .gfd-share-lbl{font-size:13px;font-weight:700;color:var(--gfd-navy);}

/* --- "Keep reading" related band --- */
.gfd-related{margin:66px 0 0;}
.gfd-related-inner{max-width:1080px;margin:0 auto;padding:0 24px;}
.gfd-related-head{text-align:center;margin:0 0 30px;}
.gfd-related-head h2{font-size:30px;font-weight:800;color:var(--gfd-navy);margin:6px 0 0;}
.gfd-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:26px;}
.gfd-blog-card .bc-body h3{font-size:18.5px;line-height:1.34;font-weight:700;color:var(--gfd-navy);margin:0 0 9px;transition:color .2s;}
.gfd-blog-card:hover .bc-body h3{color:var(--gfd-blue);}
.gfd-rel-card .bc-thumb{height:142px;}

/* --- author / E-E-A-T card --- */
.gfd-post-author{display:flex;gap:20px;align-items:flex-start;margin:50px 0 0;padding:26px 28px;
  background:linear-gradient(135deg,#f4f8ff,#eaf1fb);border:1px solid var(--gfd-line);border-radius:18px;}
.gfd-author-ava{flex:none;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0e87fe,#0a6fd6);color:#fff;font-weight:800;font-size:18px;box-shadow:0 8px 20px rgba(14,135,254,.3);}
.gfd-author-kicker{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gfd-blue);}
.gfd-author-name{display:block;font-size:19px;font-weight:800;color:var(--gfd-navy);margin:3px 0 8px;}
.gfd-author-body p{font-size:14.5px;line-height:1.65;color:var(--gfd-grey);margin:0 0 13px;}
.gfd-author-links{display:flex;gap:10px;flex-wrap:wrap;}
.gfd-author-links a{font-size:12.5px;font-weight:700;color:var(--gfd-blue);text-decoration:none;
  padding:6px 14px;border:1px solid #cfe0f5;border-radius:999px;background:#fff;transition:background .2s,color .2s,border-color .2s;}
.gfd-author-links a:hover{background:var(--gfd-blue);color:#fff;border-color:var(--gfd-blue);}

/* --- "Updated" freshness badge in the hero meta --- */
.gfd-post-updated{display:inline-flex;align-items:center;background:rgba(31,157,87,.16);color:#9be7bf;
  border:1px solid rgba(31,157,87,.4);padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;}

/* --- closing CTA --- */
.single-post .gfd-post-cta{max-width:880px;margin:62px auto 8px !important;padding:50px 30px;}
.single-post .gfd-post-cta h2{color:#fff !important;font-size:28px;margin:0 0 12px;}
.single-post .gfd-post-cta p{color:#bcd0e6 !important;max-width:580px;margin:0 auto 24px !important;font-size:16px !important;line-height:1.6 !important;}

/* sidebar (TOC + share) drops above the article once the side gutter disappears */
@media(max-width:1080px){
  .gfd-post-layout,.gfd-post-layout.gfd-no-toc{display:block;max-width:768px;}
  .gfd-post-aside{position:static;margin:0 0 24px;}
  .gfd-toc{margin:0 0 18px;padding:16px 18px;border:1px solid var(--gfd-line);border-radius:14px;background:#fafcff;}
  .gfd-toc ul{max-height:none;}
  .gfd-share--rail{display:flex;align-items:center;gap:12px;}
  .gfd-share--rail .gfd-share-set{flex-direction:row;}
  .gfd-share--rail .gfd-share-lbl{margin:0;font-size:12px;color:var(--gfd-navy);}
  .gfd-post-author{flex-direction:column;gap:14px;}
}
@media(max-width:600px){
  .gfd-post-hero{padding:104px 20px 42px;}
  .gfd-post-h1{font-size:30px;}
  .single-post .gfd-post-prose p{font-size:16.5px;}
  .gfd-post-prose > p:first-of-type::first-letter{font-size:52px;}
}

/* =======================================================================
 * PREMIUM v3 — signature animated "AI-search rank" device + site-wide
 * motion layer (2026-06-19). Pure CSS/SVG, no dependencies, no asset weight.
 * All decorative motion is gated behind .gfd-js + prefers-reduced-motion.
 * ======================================================================= */

/* ---------- scroll-progress bar (top of every page) ---------- */
.gfd-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:100000;pointer-events:none;
  background:linear-gradient(90deg,var(--gfd-blue),#5cb0ff 40%,var(--gfd-orange));
  box-shadow:0 0 12px rgba(14,135,254,.55);transition:width .08s linear;}

/* =======================================================================
 * Signature device — a live "screenshot" of search → AI Overview → #1.
 * Sits in the .shot slot (we neutralise the slot's flat card via :has).
 * ======================================================================= */
.gfd-rp-hero .shot.gfd-has-device,.gfd-rp-hero .shot:has(.gfd-device){
  background:transparent !important;box-shadow:none !important;overflow:visible !important;border-radius:0 !important;}
/* when the device is injected ahead of a page's original static mockup, hide that mockup */
.gfd-rp-hero .shot.gfd-has-device > div:not(.gfd-device){display:none !important;}
.gfd-device{position:relative;font-family:"Poppins",sans-serif;max-width:430px;margin:0 auto;
  animation:gfdDevFloat 8s ease-in-out infinite;}
.gfd-loc .gfd-device,.gfd-rp-hero .gfd-device{margin-right:0;}
.gfd-dev-card{position:relative;background:linear-gradient(180deg,#ffffff,#f3f8ff);border:1px solid #dbe7f6;
  border-radius:18px;box-shadow:0 30px 70px rgba(2,18,38,.45),0 2px 0 rgba(255,255,255,.7) inset;
  padding:14px 14px 16px;overflow:hidden;}
.gfd-dev-card::after{content:"";position:absolute;top:0;left:0;width:45%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:translateX(-160%) skewX(-18deg);animation:gfdSheen 7s ease-in-out infinite;}
/* browser/search top bar with typing query */
.gfd-dev-bar{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e6ebf1;border-radius:999px;
  padding:9px 14px;box-shadow:0 2px 8px rgba(2,18,38,.05);}
.gfd-dev-bar svg{width:15px;height:15px;flex:none;stroke:var(--gfd-blue);fill:none;stroke-width:2.2;}
.gfd-dev-q{font-size:13px;color:var(--gfd-ink);font-weight:500;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;display:inline-block;max-width:100%;}
.gfd-dev-caret{width:1.5px;height:14px;background:var(--gfd-blue);display:inline-block;margin-left:1px;
  vertical-align:-2px;animation:gfdCaret 1s steps(1) infinite;}
/* AI overview card */
.gfd-dev-ai{background:linear-gradient(180deg,#eef5ff,#e6f0ff);border:1px solid #d4e4ff;border-radius:13px;
  padding:12px 13px;margin-top:11px;}
.gfd-dev-ai-head{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:var(--gfd-blue);margin-bottom:6px;}
.gfd-dev-ai-head .spark{width:13px;height:13px;animation:gfdSpark 3s ease-in-out infinite;}
.gfd-dev-ai-body{font-size:12.5px;line-height:1.55;color:var(--gfd-ink);}
.gfd-dev-ai-body b{color:var(--gfd-navy);background:linear-gradient(transparent 62%,rgba(244,112,27,.28) 0);}
.gfd-dev-cited{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.gfd-chip-ai{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:#5b6b7b;
  background:#fff;border:1px solid #dbe7f6;border-radius:999px;padding:3px 9px 3px 7px;
  opacity:.45;transform:translateY(2px);animation:gfdChip 6s ease-in-out infinite;animation-delay:var(--d,0s);}
.gfd-chip-ai::before{content:"";width:8px;height:8px;border-radius:50%;background:#16a34a;
  box-shadow:0 0 0 2px rgba(22,163,74,.18);display:inline-block;}
/* ranked results */
.gfd-dev-results{margin-top:11px;display:flex;flex-direction:column;gap:8px;}
.gfd-dev-row{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #eef2f7;border-radius:11px;
  padding:9px 11px;position:relative;}
.gfd-dev-row.is-top{border-color:#bcd9ff;background:linear-gradient(100deg,#ffffff,#eef6ff);
  box-shadow:0 8px 22px rgba(14,135,254,.16);}
.gfd-dev-row.is-top::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;
  background:linear-gradient(180deg,var(--gfd-blue),var(--gfd-orange));}
.gfd-dev-pin{position:relative;width:26px;height:26px;flex:none;border-radius:8px;
  background:var(--gfd-navy);color:#fff;display:flex;align-items:center;justify-content:center;}
.gfd-dev-pin svg{width:14px;height:14px;fill:#fff;}
.gfd-dev-pin .radar{position:absolute;inset:0;border-radius:8px;border:2px solid var(--gfd-blue);
  animation:gfdRadar 2.6s ease-out infinite;}
.gfd-dev-av{width:26px;height:26px;flex:none;border-radius:8px;background:#eef2f7;}
.gfd-dev-rinfo{flex:1;min-width:0;}
.gfd-dev-rinfo b{display:block;font-size:12.5px;color:var(--gfd-navy);font-weight:700;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gfd-dev-rinfo i{font-style:normal;font-size:10.5px;color:var(--gfd-grey);}
.gfd-dev-stars{color:#f4701b;letter-spacing:1px;}
.gfd-dev-rank{flex:none;font-size:12px;font-weight:800;color:#9aa7b4;}
.gfd-dev-row.is-top .gfd-dev-rank{color:var(--gfd-blue);}
/* floating result badge */
.gfd-dev-badge{position:absolute;right:-14px;bottom:26px;z-index:3;background:linear-gradient(135deg,#0e87fe,#0a6fd6);
  color:#fff;border-radius:14px;padding:11px 15px;text-align:center;box-shadow:0 18px 40px rgba(14,135,254,.45);
  animation:gfdBadgeFloat 6s ease-in-out infinite;}
.gfd-dev-badge b{display:block;font-size:21px;font-weight:800;line-height:1;}
.gfd-dev-badge span{display:block;font-size:10px;font-weight:600;opacity:.9;margin-top:3px;letter-spacing:.02em;}
.gfd-dev-pill{position:absolute;left:14px;top:-16px;z-index:3;background:#fff;border:1px solid #dbe7f6;
  border-radius:999px;padding:7px 13px;display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;
  color:var(--gfd-navy);box-shadow:0 14px 34px rgba(2,18,38,.22);animation:gfdBadgeFloat 7.5s ease-in-out infinite reverse;}
.gfd-dev-pill .live{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 0 rgba(22,163,74,.5);
  animation:gfdLive 2s ease-out infinite;}
@media(max-width:880px){.gfd-device{max-width:380px;}.gfd-dev-badge{right:-6px;}.gfd-dev-pill{left:10px;}}

/* =======================================================================
 * Map-radar device — local "map pack" signature for city-page split visual
 * ======================================================================= */
.gfd-split .visual:has(.gfd-dev-map){background:transparent;box-shadow:none;overflow:visible;}
.gfd-dev-map{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;font-family:"Poppins",sans-serif;
  background:
    radial-gradient(120% 90% at 50% 120%, #0a2b4f 0%, #061d34 60%, #04162a 100%);
  border:1px solid #163a5e;box-shadow:0 30px 70px rgba(2,18,38,.4);}
/* faint street grid */
.gfd-dev-map::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(92,176,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,176,255,.12) 1px,transparent 1px);
  background-size:38px 38px;transform:perspective(400px) rotateX(34deg) scale(1.5);transform-origin:50% 80%;}
/* radar sweep */
.gfd-dev-map::after{content:"";position:absolute;left:50%;top:58%;width:150%;aspect-ratio:1;transform:translate(-50%,-50%);
  border-radius:50%;background:conic-gradient(from 0deg,rgba(36,150,255,.30),transparent 26%);
  animation:gfdSpin 7s linear infinite;}
.gfd-dev-map .ring{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);border-radius:50%;
  border:1px solid rgba(92,176,255,.25);}
.gfd-dev-map .ring.r1{width:34%;aspect-ratio:1;}
.gfd-dev-map .ring.r2{width:62%;aspect-ratio:1;}
.gfd-dev-map .ring.r3{width:92%;aspect-ratio:1;}
.gfd-dev-map .pin{position:absolute;width:14px;height:14px;border-radius:50%;background:#7fb2ff;
  box-shadow:0 0 8px rgba(127,178,255,.8);transform:translate(-50%,-50%);}
.gfd-dev-map .pin.p1{left:32%;top:40%;}.gfd-dev-map .pin.p2{left:70%;top:36%;}
.gfd-dev-map .pin.p3{left:64%;top:72%;}.gfd-dev-map .pin.p4{left:24%;top:70%;}
.gfd-dev-map .pin.me{left:50%;top:58%;width:32px;height:32px;background:transparent;}
.gfd-dev-map .pin.me svg{width:32px;height:32px;filter:drop-shadow(0 6px 10px rgba(244,112,27,.55));}
.gfd-dev-map .pin.me::after{content:"";position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);
  width:46px;height:46px;border-radius:50%;border:2px solid rgba(244,112,27,.7);animation:gfdRadar 2.4s ease-out infinite;}
.gfd-dev-map .maplabel{position:absolute;left:14px;top:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  background:rgba(8,30,52,.9);border:1px solid rgba(92,176,255,.3);color:#dbe9ff;
  font-size:11px;font-weight:700;letter-spacing:.04em;padding:6px 11px;border-radius:999px;}
.gfd-dev-map .maplabel .gfd-dot{background:var(--gfd-orange);}
.gfd-dev-map .mapwin{position:absolute;right:14px;bottom:14px;z-index:2;background:#fff;border-radius:12px;
  padding:10px 13px;box-shadow:0 16px 34px rgba(2,18,38,.4);display:flex;align-items:center;gap:9px;max-width:74%;}
.gfd-dev-map .mapwin .rk{flex:none;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#0e87fe,#0a6fd6);
  color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;}
.gfd-dev-map .mapwin b{display:block;font-size:12.5px;color:var(--gfd-navy);line-height:1.2;}
.gfd-dev-map .mapwin i{font-style:normal;font-size:10.5px;color:var(--gfd-grey);}

/* =======================================================================
 * Generic mockup motion — makes the existing static .shot / .visual
 * panels on About & Services come alive without touching their markup.
 * ======================================================================= */
.gfd-rp-hero .shot,.gfd-split .visual{position:relative;}
.gfd-js .gfd-rp-hero .shot:not(.gfd-has-device){animation:gfdDevFloat 9s ease-in-out infinite;}
.gfd-rp-hero .shot:not(.gfd-has-device)::before,
.gfd-split .visual:not(.gfd-quote-card):not(:has(.gfd-dev-map))::before{
  content:"";position:absolute;top:0;left:0;width:45%;height:100%;z-index:4;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  transform:translateX(-160%) skewX(-18deg);animation:gfdSheen 8s ease-in-out infinite;}
/* bars inside the Services "where patients look" panel animate up on reveal (JS sets --w) */
.gfd-js .gfd-barfill{width:0 !important;transition:width 1.1s cubic-bezier(.16,.84,.44,1);}
.gfd-js .gfd-barfill.is-fill{width:var(--w) !important;}

/* =======================================================================
 * Card 3-D tilt + animated gradient hover border (feature cards)
 * ======================================================================= */
/* tilt uses inline perspective(); no persistent will-change/preserve-3d to avoid GPU-layer bloat */
.gfd-fcard{position:relative;}
.gfd-fcard::before{content:"";position:absolute;inset:-1px;border-radius:17px;padding:1px;pointer-events:none;
  background:linear-gradient(130deg,var(--gfd-blue),var(--gfd-orange),var(--gfd-blue));background-size:200% 200%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask-composite:exclude;opacity:0;transition:opacity .3s;animation:gfdShift 6s ease infinite;}
.gfd-fcard:hover::before{opacity:1;}
.gfd-tilt-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(420px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.5),transparent 42%);}
.gfd-fcard:hover .gfd-tilt-glare{opacity:.5;}

/* =======================================================================
 * Cursor spotlight on dark heroes / CTAs (JS sets --mx/--my)
 * ======================================================================= */
.gfd-rp-hero,.gfd-rp-cta,.gfd-cs-final,.gfd-cs-hero{--mx:50%;--my:0%;}
.gfd-spotlight{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;
  background:radial-gradient(440px circle at var(--mx) var(--my),rgba(92,176,255,.22),transparent 60%);
  opacity:0;transition:opacity .4s;}
.gfd-rp-hero:hover .gfd-spotlight,.gfd-rp-cta:hover .gfd-spotlight,.gfd-cs-final:hover .gfd-spotlight{opacity:1;}

/* =======================================================================
 * Aurora drift on the repeated dark band (.gfd-fb-dark) so it isn't flat
 * ======================================================================= */
.gfd-fb-dark::before{content:"";position:absolute;inset:-12%;z-index:0;pointer-events:none;opacity:.6;
  background:
    radial-gradient(50vw 40vh at 18% 10%,rgba(14,135,254,.22),transparent 60%),
    radial-gradient(46vw 38vh at 86% 90%,rgba(244,112,27,.16),transparent 60%),
    radial-gradient(40vw 36vh at 60% 50%,rgba(92,176,255,.14),transparent 60%);
  animation:gfdDrift 26s ease-in-out infinite;}
.gfd-fb-dark > *{position:relative;z-index:1;}

/* =======================================================================
 * Animated section divider — draws in on reveal, then shimmers
 * ======================================================================= */
.gfd-rp-h h2::after{width:0;background:linear-gradient(90deg,var(--gfd-blue),var(--gfd-orange),var(--gfd-blue));
  background-size:200% auto;transition:width .8s cubic-bezier(.16,.84,.44,1) .15s;}
.gfd-reveal.is-in .gfd-rp-h h2::after,.gfd-rp-h:hover h2::after{width:54px;animation:gfdShift 4s linear infinite;}
.gfd-js .gfd-rp-sec:not(.gfd-reveal) .gfd-rp-h h2::after{width:54px;}

/* =======================================================================
 * Magnetic buttons (JS translates; CSS keeps the motion buttery)
 * ======================================================================= */
.gfd-magnetic{transition:transform .25s cubic-bezier(.16,.84,.44,1);}

/* =======================================================================
 * Per-archetype signatures
 * ======================================================================= */
/* case studies: result metrics get an animated fill track + count pop */
.gfd-cs-results{position:relative;}
.gfd-cs-metric{position:relative;padding-top:6px;}
.gfd-cs-metric::before{content:"";position:absolute;left:14%;right:14%;top:0;height:3px;border-radius:3px;
  background:rgba(255,255,255,.14);overflow:hidden;}
.gfd-cs-metric::after{content:"";position:absolute;left:14%;top:0;height:3px;width:0;border-radius:3px;
  background:linear-gradient(90deg,#5cb0ff,#ffb27a);transition:width 1.1s cubic-bezier(.16,.84,.44,1);}
.gfd-reveal.is-in .gfd-cs-metric::after{width:72%;}
.gfd-reveal.is-in .gfd-cs-metric:nth-child(2)::after{width:60%;transition-delay:.12s;}
.gfd-reveal.is-in .gfd-cs-metric:nth-child(3)::after{width:84%;transition-delay:.24s;}
/* blog: static gradient thumb (continuous bg-position animation removed for paint cost) + icon parallax on hover */
.bc-ic{transition:transform .5s cubic-bezier(.16,.84,.44,1),opacity .3s;}
.gfd-blog-card:hover .bc-ic{transform:translateY(-50%) scale(1.12) rotate(-4deg);opacity:.8;}
.bc-thumb::before{content:"";position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .4s;pointer-events:none;
  background:radial-gradient(300px circle at 80% 0,rgba(92,176,255,.4),transparent 60%);}
.gfd-blog-card:hover .bc-thumb::before{opacity:1;}

/* perf: JS adds .gfd-anim-paused to decorative hosts while they're offscreen,
   so only on-screen animations consume CPU/GPU (set in gfd.js via IntersectionObserver) */
.gfd-anim-paused,.gfd-anim-paused *{animation-play-state:paused !important;}

/* =======================================================================
 * Keyframes
 * ======================================================================= */
@keyframes gfdDevFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes gfdBadgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes gfdSheen{0%,18%{transform:translateX(-160%) skewX(-18deg)}55%,100%{transform:translateX(360%) skewX(-18deg)}}
@keyframes gfdCaret{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes gfdSpark{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.25) rotate(8deg);opacity:1}}
@keyframes gfdChip{0%,8%{opacity:.45;transform:translateY(2px)}18%,82%{opacity:1;transform:translateY(0)}100%{opacity:.45;transform:translateY(2px)}}
@keyframes gfdRadar{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.7);opacity:0}}
@keyframes gfdLive{0%{box-shadow:0 0 0 0 rgba(22,163,74,.5)}100%{box-shadow:0 0 0 7px rgba(22,163,74,0)}}
@keyframes gfdSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes gfdDrift{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(2%,-2.5%,0) scale(1.06)}}

/* =======================================================================
 * Reduced-motion: freeze everything decorative, show end-states
 * ======================================================================= */
@media(prefers-reduced-motion:reduce){
  .gfd-device,.gfd-dev-card::after,.gfd-dev-q,.gfd-dev-caret,.gfd-dev-badge,.gfd-dev-pill,.gfd-dev-pill .live,
  .gfd-dev-pin .radar,.gfd-dev-map::after,.gfd-dev-map .pin.me::after,.gfd-chip-ai,.gfd-dev-ai-head .spark,
  .gfd-rp-hero .shot,.gfd-rp-hero .shot::before,.gfd-split .visual::before,.gfd-fcard::before,
  .gfd-fb-dark::before,.bc-thumb{animation:none !important;}
  .gfd-chip-ai{opacity:1 !important;transform:none !important;}
  .gfd-dev-q{max-width:100% !important;}
  .gfd-progress{display:none;}
  .gfd-barfill{width:var(--w) !important;}
}

/* =======================================================================
 * Homepage signature band — navy full-bleed device showcase, injected
 * right after the Avada hero (via gfd_output_filter). Self-contained.
 * ======================================================================= */
body.home{overflow-x:hidden;}
/* full-bleed via margins (NOT transform — .gfd-reveal.is-in forces transform:none) */
.gfd-home-signature{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;
  background:radial-gradient(820px 440px at 86% -12%,rgba(14,135,254,.28),transparent 60%),
    linear-gradient(135deg,#001326 0%,#0a2b4f 100%);
  padding:74px 24px;color:#fff;font-family:"Poppins",sans-serif;}
.gfd-home-signature::before{content:"";position:absolute;z-index:0;width:420px;height:420px;left:-140px;bottom:-160px;
  border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(244,112,27,.22),transparent 70%);}
.gfd-hs-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;
  grid-template-columns:1.02fr .98fr;gap:50px;align-items:center;}
.gfd-hs-copy .gfd-cs-kicker{color:#ffb27a;}
.gfd-hs-copy h2{font-size:34px;line-height:1.16;font-weight:800;color:#fff !important;margin:0 0 16px;}
.gfd-hs-copy h2 .hs-hl{background:linear-gradient(100deg,#5cb0ff,#ffb27a);-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent;color:#5cb0ff;}
.gfd-hs-copy p{font-size:17px;line-height:1.6;color:#bcd0e6;margin:0 0 24px;max-width:520px;}
.gfd-hs-cta{display:flex;gap:14px;flex-wrap:wrap;}
.gfd-hs-strip{display:flex;gap:14px 30px;flex-wrap:wrap;margin-top:28px;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);color:#9fb6cf;font-size:14px;font-weight:600;}
.gfd-hs-strip span{display:inline-flex;align-items:center;gap:9px;}
.gfd-hs-strip b{color:#fff;}
.gfd-hs-device{display:flex;justify-content:center;}
@media(max-width:880px){
  .gfd-hs-inner{grid-template-columns:1fr;gap:42px;}
  .gfd-hs-copy h2{font-size:27px;}
  .gfd-hs-device{order:2;}
  .gfd-home-signature{padding:56px 22px;}
}

/* Footer social — entity profile links (LinkedIn / Facebook / Instagram / X), white glyphs on the dark footer */
.gfd-footer-social{display:flex;gap:12px;align-items:center;margin:0;flex-wrap:wrap;line-height:1;}
.gfd-footer-social a{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .2s ease,transform .2s ease;}
.gfd-footer-social a:hover,.gfd-footer-social a:focus-visible{background:var(--gfd-orange);color:#fff;transform:translateY(-2px);}
.gfd-footer-social svg{width:17px;height:17px;fill:currentColor;display:block;}

/* =========================================================================
 * GEO content components (2026-06-26) — answer capsules, key-takeaways,
 * semantic comparison table, glossary, founder E-E-A-T card, city links.
 * Research-backed structures that generative engines preferentially cite.
 * ========================================================================= */

/* ---- answer-first "citation capsule" ---- */
.gfd-answer{max-width:900px;margin:0 auto 26px;background:#fff;border:1px solid var(--gfd-line);
  border-left:5px solid var(--gfd-blue);border-radius:14px;padding:26px 30px;box-shadow:0 10px 30px rgba(0,19,38,.05);}
.gfd-answer h2,.gfd-answer h3{font-size:23px;font-weight:800;color:var(--gfd-navy) !important;margin:0 0 12px;line-height:1.25;}
.gfd-answer-lead{font-size:17px;line-height:1.65;color:var(--gfd-grey);margin:0;}
.gfd-answer-lead strong{color:var(--gfd-navy);font-weight:700;}
.gfd-loc .gfd-answer{margin-top:38px;}
.gfd-home-answer{padding:50px 0 6px;}

/* ---- key-takeaways aside ---- */
.gfd-takeaways{max-width:900px;margin:0 auto 30px;background:var(--gfd-bg);border:1px solid var(--gfd-line);
  border-radius:14px;padding:24px 28px;}
.gfd-takeaways h3{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gfd-blue);margin:0 0 12px;}
.gfd-takeaways ul{list-style:none;margin:0;padding:0;}
.gfd-takeaways li{position:relative;padding:10px 0 10px 28px;font-size:15.5px;line-height:1.6;color:var(--gfd-ink);}
.gfd-takeaways li+li{border-top:1px solid var(--gfd-line);}
.gfd-takeaways li:before{content:"";position:absolute;left:3px;top:16px;width:9px;height:9px;border-radius:50%;
  background:var(--gfd-orange);}
.gfd-takeaways cite{font-style:normal;font-size:12.5px;color:#8aa0b5;font-weight:600;}
.gfd-takeaways cite:before{content:"\2014\00a0";}

/* ---- semantic comparison table ---- */
.gfd-table-wrap{max-width:980px;margin:0 auto 30px;overflow-x:auto;border:1px solid var(--gfd-line);
  border-radius:14px;box-shadow:0 10px 30px rgba(0,19,38,.05);}
.gfd-table{width:100%;border-collapse:collapse;font-size:15px;background:#fff;min-width:660px;}
.gfd-table caption{caption-side:top;text-align:left;padding:16px 18px;font-weight:700;color:var(--gfd-navy);
  font-size:15px;border-bottom:1px solid var(--gfd-line);}
.gfd-table th,.gfd-table td{padding:14px 16px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--gfd-line);line-height:1.5;}
.gfd-table thead th{background:var(--gfd-navy);color:#fff;font-weight:700;font-size:13.5px;}
.gfd-table tbody th[scope=row]{color:var(--gfd-navy);font-weight:700;width:24%;}
.gfd-table tbody td{color:var(--gfd-grey);}
.gfd-table tbody tr:nth-child(even){background:var(--gfd-bg);}
.gfd-table tbody tr:last-child th,.gfd-table tbody tr:last-child td{border-bottom:none;}

/* ---- definition glossary ---- */
.gfd-defs{max-width:900px;margin:0 auto 18px;}
.gfd-defs dt{font-weight:700;color:var(--gfd-navy);font-size:15.5px;margin:16px 0 3px;}
.gfd-defs dt:first-child{margin-top:0;}
.gfd-defs dd{margin:0;font-size:14.5px;color:var(--gfd-grey);line-height:1.55;}
.gfd-freshness{text-align:center;color:#9aa7b4;font-size:12.5px;margin:18px 0 0;font-style:italic;}
.gfd-geo-explainer .gfd-rp-h{margin-bottom:24px;}

/* ---- founder E-E-A-T card ---- */
.gfd-founder{max-width:980px;margin:0 auto;}
.gfd-founder-card{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:start;background:#fff;
  border:1px solid var(--gfd-line);border-radius:18px;padding:34px 36px;box-shadow:0 14px 40px rgba(0,19,38,.06);}
.gfd-founder-photo{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--gfd-navy),#0a2b4f);color:#fff;font-weight:800;font-size:30px;
  letter-spacing:.04em;box-shadow:0 10px 24px rgba(0,19,38,.22);}
.gfd-founder-body h2{font-size:26px;font-weight:800;color:var(--gfd-navy) !important;margin:6px 0 12px;}
.gfd-founder-body p{font-size:16px;line-height:1.7;color:var(--gfd-grey);margin:0 0 14px;}
.gfd-founder-meta{list-style:none;margin:14px 0 0;padding:16px 0 0;border-top:1px solid var(--gfd-line);display:grid;gap:10px;}
.gfd-founder-meta li{font-size:14.5px;color:var(--gfd-ink);}
.gfd-founder-meta span{display:inline-block;min-width:80px;color:var(--gfd-blue);font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:.06em;}
.gfd-founder-meta a{color:var(--gfd-blue);text-decoration:none;font-weight:600;}
.gfd-founder-meta a:hover{text-decoration:underline;}

/* ---- city internal-link clusters ---- */
.gfd-citylinks-sec{display:grid;gap:24px;}
.gfd-citylinks-group h3{font-size:15px;font-weight:700;color:var(--gfd-navy);margin:0 0 12px;}
.gfd-citylinks{display:flex;flex-wrap:wrap;gap:10px;}
.gfd-citylinks a{display:inline-block;padding:9px 16px;border-radius:999px;background:#fff;border:1px solid var(--gfd-line);
  color:var(--gfd-navy);font-size:14px;font-weight:600;text-decoration:none;transition:transform .15s ease,border-color .15s ease,color .15s ease,background .15s ease;}
.gfd-citylinks a:hover{border-color:var(--gfd-blue);color:var(--gfd-blue);background:#f1f7ff;transform:translateY(-1px);}

@media(max-width:680px){
  .gfd-answer{padding:22px 22px;}
  .gfd-answer h2,.gfd-answer h3{font-size:20px;}
  .gfd-takeaways{padding:20px 20px;}
  .gfd-founder-card{grid-template-columns:1fr;gap:18px;padding:26px 24px;}
  .gfd-founder-photo{width:72px;height:72px;font-size:24px;}
}

/* =======================================================================
 * Industry / specialty landing pages (2026-06-26) — per-specialty accent,
 * the "search-demand → AI Overview" signature panel, services-authority grid,
 * linked chips, stat callout, and the specialty/location hub grids.
 * Reuses .gfd-rp / .gfd-loc-page so it inherits the white header + mesh bg.
 * ======================================================================= */
.gfd-ind{--acc:#0e87fe;--acc2:#5cb0ff;}
.gfd-ind .kick{color:var(--acc);}
.gfd-ind .gfd-rp-hero .kick{color:var(--acc2);}
.gfd-ind .gfd-rp-hero h1 .hl{
  background:linear-gradient(100deg,var(--acc2),var(--acc),var(--acc2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--acc2);
  background-size:220% auto;}
.gfd-ind .gfd-rp-h h2::after{background:linear-gradient(90deg,var(--acc),var(--acc2));}
.gfd-ind .gfd-reveal.is-in .gfd-rp-h h2::after,.gfd-ind .gfd-rp-h:hover h2::after{background:linear-gradient(90deg,var(--acc),var(--acc2));}

/* stat callout inside the "how patients search" split */
.gfd-statline{display:flex;align-items:center;gap:16px;margin:22px 0 4px;padding:18px 20px;background:#fff;
  border:1px solid var(--gfd-line);border-left:4px solid var(--acc,#0e87fe);border-radius:0 12px 12px 0;
  box-shadow:0 8px 22px rgba(0,19,38,.06);}
.gfd-statline .n{font-size:33px;font-weight:800;line-height:1;color:var(--acc,#0e87fe);white-space:nowrap;}
.gfd-statline .t{font-size:13.5px;line-height:1.5;color:var(--gfd-ink);font-weight:500;margin:0;}
.gfd-statsrc{font-size:11.5px;color:#9aa7b4;margin:9px 0 0;}
@media(max-width:600px){.gfd-statline{flex-direction:column;align-items:flex-start;gap:8px;}}

/* search-demand signature panel (industry-page hallmark) */
.gfd-split .visual:has(.gfd-dev-demand){background:transparent;box-shadow:none;overflow:visible;}
.gfd-dev-demand{position:relative;font-family:"Poppins",sans-serif;background:linear-gradient(180deg,#fff,#f3f8ff);
  border:1px solid #dbe7f6;border-radius:18px;box-shadow:0 30px 70px rgba(2,18,38,.22);padding:18px;}
.gfd-dev-demand .ddlabel{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:var(--gfd-grey);margin-bottom:12px;}
.gfd-dev-demand .ddlabel .gfd-dot{background:var(--acc,#0e87fe);}
.ddqs{display:flex;flex-direction:column;gap:8px;}
.ddq{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #eef2f7;border-radius:10px;
  padding:9px 12px;font-size:12.5px;color:var(--gfd-ink);}
.ddq svg{width:14px;height:14px;flex:none;stroke:var(--acc,#0e87fe);fill:none;stroke-width:2.2;stroke-linecap:round;}
.ddq i{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gfd-dev-demand:not(.gfd-anim-paused) .ddq{animation:gfdQ 7s ease-in-out infinite;}
.ddq:nth-child(1){animation-delay:0s}.ddq:nth-child(2){animation-delay:.45s}.ddq:nth-child(3){animation-delay:.9s}
.ddq:nth-child(4){animation-delay:1.35s}.ddq:nth-child(5){animation-delay:1.8s}.ddq:nth-child(6){animation-delay:2.25s}
@keyframes gfdQ{0%,40%,100%{border-color:#eef2f7;transform:none}6%,28%{border-color:var(--acc,#0e87fe);transform:translateX(3px)}}
.ddai{margin-top:12px;background:linear-gradient(180deg,#eef5ff,#e6f0ff);border:1px solid #d4e4ff;border-radius:13px;padding:12px 13px;}
.ddai-h{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:var(--acc,#0e87fe);margin-bottom:6px;}
.ddai-h .spark{width:13px;height:13px;animation:gfdSpark 3s ease-in-out infinite;}
.ddai-b{font-size:12.5px;line-height:1.55;color:var(--gfd-ink);}
.ddai-b b{color:var(--gfd-navy);background:linear-gradient(transparent 62%,rgba(244,112,27,.28) 0);}
.ddai-cited{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}

/* services-authority grid */
.gfd-svc-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:940px;margin:0 auto;}
.gfd-svc{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--gfd-line);
  border-radius:12px;padding:12px 18px;font-size:14.5px;font-weight:600;color:var(--gfd-navy);
  box-shadow:0 6px 16px rgba(0,19,38,.05);transition:transform .18s,box-shadow .18s,border-color .18s;}
.gfd-svc:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,19,38,.10);border-color:var(--acc,#0e87fe);}
.gfd-svc svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--acc,#0e87fe);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}

/* chips rendered as links (city specialty chips + industry cross-links) */
.gfd-chips-link a{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--gfd-line);
  border-radius:999px;padding:11px 20px;font-size:14.5px;font-weight:600;color:var(--gfd-navy);
  box-shadow:0 4px 12px rgba(0,19,38,.04);text-decoration:none;
  transition:transform .16s,box-shadow .16s,border-color .16s,color .16s;}
.gfd-chips-link a:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,19,38,.10);
  border-color:var(--acc,#0e87fe);color:var(--acc,#0e87fe);}
.gfd-chips-link a.more{background:transparent;border-color:transparent;box-shadow:none;color:var(--gfd-blue);}
.gfd-chips-link a.more:hover{color:var(--gfd-orange);transform:translateY(-2px);}

/* stacked comparison inside the "challenge" split */
.gfd-vs.gfd-vs-stack{grid-template-columns:1fr;gap:16px;}

/* specialty hub grid */
.gfd-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(282px,1fr));gap:22px;}
.gfd-hub-card{--acc:#0e87fe;position:relative;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--gfd-line);border-radius:18px;padding:26px 24px 24px;text-decoration:none;overflow:hidden;
  box-shadow:0 10px 30px rgba(0,19,38,.05);transition:transform .22s cubic-bezier(.16,.84,.44,1),box-shadow .22s,border-color .22s;}
.gfd-hub-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--acc);}
.gfd-hub-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,19,38,.13);border-color:var(--acc);}
.gfd-hub-card .hub-ic{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:var(--acc);margin-bottom:16px;box-shadow:0 8px 18px rgba(2,18,38,.16);}
.gfd-hub-card .hub-ic svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.gfd-hub-card .hub-name{font-size:18px;font-weight:700;color:var(--gfd-navy);margin-bottom:7px;line-height:1.25;}
.gfd-hub-card .hub-tag{font-size:13.5px;line-height:1.55;color:var(--gfd-grey);margin-bottom:16px;flex:1;}
.gfd-hub-card .hub-go{font-size:13px;font-weight:700;color:var(--acc);margin-top:auto;}

/* location hub groups */
.gfd-loc-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1100px;margin:0 auto;}
.gfd-loc-group h3{font-size:15px;font-weight:800;color:var(--gfd-navy);margin:0 0 15px;padding-bottom:9px;
  border-bottom:2px solid var(--gfd-line);}
.gfd-loc-group .gfd-chips-link{justify-content:flex-start;}
.gfd-loc-group .gfd-chips-link a{padding:9px 16px;font-size:13.5px;}

@media(prefers-reduced-motion:reduce){
  .gfd-dev-demand .ddq,.gfd-ind .gfd-rp-hero h1 .hl,.ddai-h .spark{animation:none !important;}
  .gfd-ind .gfd-rp-hero h1 .hl{transform:none !important;}
}
 * Blog-post blocks emitted by the content pipeline (leadEnrichment): the
 * featured image, a "Key takeaways" box, comparison <table>s, and a
 * "References" list. Generic class names (any brand's pipeline output uses
 * them); scoped to .single-post .gfd-post-main/.gfd-post-prose.
 * ========================================================================= */
.single-post .gfd-post-figure{margin:0 auto 30px;max-width:560px;}
.single-post .gfd-post-figure .gfd-post-featured{
  display:block;width:100%;height:auto;border-radius:14px;
  box-shadow:0 10px 30px rgba(0,19,38,.10);}
.single-post .gfd-post-prose .key-takeaways{
  background:#f3f8ff;border:1px solid #d6e6fb;border-left:4px solid var(--gfd-blue);
  border-radius:12px;padding:20px 24px 8px;margin:0 0 30px;}
.single-post .gfd-post-prose .key-takeaways h2{
  margin:0 0 10px;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--gfd-navy);}
.single-post .gfd-post-prose .key-takeaways ul{margin:0 0 12px;padding-left:20px;}
.single-post .gfd-post-prose .key-takeaways li{font-size:16px;line-height:1.6;color:#2a3b4d;margin:0 0 8px;}
.single-post .gfd-post-prose table{
  width:100%;border-collapse:collapse;margin:24px 0;font-size:15.5px;line-height:1.55;
  border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;}
.single-post .gfd-post-prose table th,.single-post .gfd-post-prose table td{
  padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #e8edf3;}
.single-post .gfd-post-prose table thead th{
  background:var(--gfd-navy);color:#fff;font-weight:600;font-size:14px;}
.single-post .gfd-post-prose table tbody tr:nth-child(even){background:#f7fafd;}
.single-post .gfd-post-prose .references,.single-post .gfd-post-prose h2#references{margin-top:34px;}
.single-post .gfd-post-prose ol.references{padding-left:22px;border-top:1px solid #e2e8f0;padding-top:18px;}
.single-post .gfd-post-prose ol.references li{font-size:14.5px;line-height:1.6;color:var(--gfd-grey);margin:0 0 7px;word-break:break-word;}
.single-post .gfd-post-prose ol.references a{color:var(--gfd-blue);}

/* =======================================================================
 * HOMEPAGE MIDDLE — brand-relevant graphics (2026-06-26 v3)
 * Custom SVG/CSS that depicts the business: discovery map, patient journey,
 * proof & growth, service icons, reputation. Replaces dated Avada rows 2-6.
 * ======================================================================= */
.page-id-11 .fusion-builder-row-2,.page-id-11 .fusion-builder-row-3,
.page-id-11 .fusion-builder-row-4,.page-id-11 .fusion-builder-row-5,
.page-id-11 .fusion-builder-row-6{display:none !important;}
body.home{overflow-x:hidden;}

.gfd-mid{position:relative;padding:90px 24px;font-family:"Poppins",sans-serif;background:var(--gfd-bg);overflow:hidden;}
.gfd-mid-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;}
.gfd-mid h2{font-size:31px;font-weight:800;color:var(--gfd-navy);line-height:1.18;margin:0 0 18px;}
.gfd-mid .gfd-cs-kicker{margin-bottom:10px;}
.gfd-mid-head{text-align:center;max-width:780px;margin:0 auto 40px;}
.gfd-mid-head h2{margin-bottom:0;}
.gfd-mid-intent .gfd-mid-inner,.gfd-console-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.gfd-mid-copy{min-width:0;}
.gfd-mid-copy>h2{margin-bottom:20px;}
.gfd-feat-list{display:flex;flex-direction:column;gap:18px;}
.gfd-feat h3{font-size:17.5px;font-weight:700;color:var(--gfd-navy);margin:0 0 6px;}
.gfd-feat p{font-size:14.5px;line-height:1.62;color:var(--gfd-grey);margin:0;}
.gfd-stars{color:var(--gfd-orange);letter-spacing:1px;}
.gfd-draw{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s cubic-bezier(.16,.84,.44,1);}
.gfd-js .gfd-reveal.is-in .gfd-draw{stroke-dashoffset:0;}
.gfd-fcard:hover .gfd-draw{stroke-dashoffset:0;}

/* =======================================================================
 * R2 — DISCOVERY MAP
 * ======================================================================= */
.gfd-discover{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:42/34;
  box-shadow:0 28px 64px rgba(0,19,38,.16);border:1px solid var(--gfd-line);}
.gfd-disc-map{position:absolute;inset:0;width:100%;height:100%;display:block;}
.gfd-route{stroke-dasharray:3 7;animation:gfdFlow 1.1s linear infinite;animation-delay:var(--d,0s);}
.gfd-pdot{transform-box:fill-box;transform-origin:center;animation:gfdDotPulse 2.4s ease-in-out infinite;animation-delay:var(--d,0s);}
.gfd-prac{position:absolute;left:50%;top:50%;transform:translate(-50%,-58%);z-index:2;display:flex;flex-direction:column;align-items:center;}
.gfd-prac-pin{position:relative;width:42px;height:42px;filter:drop-shadow(0 8px 12px rgba(244,112,27,.5));animation:gfdPinBob 3.4s ease-in-out infinite;}
.gfd-prac-pin svg{width:42px;height:42px;display:block;}
.gfd-prac-rank{position:absolute;top:-5px;right:-6px;z-index:3;width:21px;height:21px;border-radius:50%;background:#fff;
  color:var(--gfd-orange);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--gfd-orange);box-shadow:0 4px 10px rgba(0,19,38,.25);}
.gfd-prac-tag{display:inline-block;font-size:9.5px;font-weight:800;color:#fff;background:var(--gfd-orange);border-radius:6px;padding:1px 6px;vertical-align:1px;margin-left:5px;}
.gfd-prac-pin::after{content:"";position:absolute;left:50%;bottom:-2px;width:34px;height:11px;margin-left:-17px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(244,112,27,.4),transparent);animation:gfdPinRing 2.6s ease-out infinite;}
.gfd-prac-card{margin-top:6px;background:#fff;border:1px solid var(--gfd-line);border-radius:11px;padding:8px 13px;text-align:center;
  box-shadow:0 12px 28px rgba(0,19,38,.18);white-space:nowrap;}
.gfd-prac-card b{display:block;font-size:13px;color:var(--gfd-navy);font-weight:700;}
.gfd-prac-card i{font-style:normal;font-size:11px;color:var(--gfd-grey);}
.gfd-disc-chip{position:absolute;left:14px;top:14px;z-index:3;display:inline-flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--gfd-line);border-radius:999px;padding:7px 13px;font-size:12px;font-weight:600;color:var(--gfd-navy);
  box-shadow:0 10px 24px rgba(0,19,38,.14);}
.gfd-disc-chip b{color:var(--gfd-blue);}
.gfd-disc-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 0 rgba(22,163,74,.5);animation:gfdLive 2s ease-out infinite;}
@keyframes gfdFlow{to{stroke-dashoffset:-20}}
@keyframes gfdDotPulse{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.45);opacity:1}}
@keyframes gfdPinBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes gfdPinRing{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.5);opacity:0}}

/* =======================================================================
 * R3 — PATIENT JOURNEY (full-bleed navy centerpiece)
 * ======================================================================= */
.gfd-mid-serp{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  padding:92px 24px;color:#fff;background:radial-gradient(900px 480px at 80% 18%,rgba(14,135,254,.20),transparent 60%),linear-gradient(135deg,#001326,#06233f);}
.gfd-serp-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.gfd-serp-copy{min-width:0;}
.gfd-mid-serp .gfd-cs-kicker{color:#ffb27a;}
.gfd-mid-serp h2{color:#fff;font-size:33px;}
.gfd-serp-copy p{font-size:15.5px;line-height:1.65;color:#cbd9e8;margin:0 0 16px;}
.gfd-serp-copy .gfd-btn{margin-top:6px;}
.gfd-serp-stats{display:flex;gap:30px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);}
.gfd-serp-stats .n{display:block;font-size:29px;font-weight:800;line-height:1.05;background:linear-gradient(100deg,#5cb0ff,#ffb27a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#5cb0ff;}
.gfd-serp-stats .l{display:block;font-size:12px;color:#9fb6cf;margin-top:5px;font-weight:500;}
.gfd-mid-serp .hs-hl{background:linear-gradient(100deg,#5cb0ff,#ffb27a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#5cb0ff;}
.gfd-jlabel{display:block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9fb6cf;margin:0 0 16px;}
.gfd-journey{list-style:none;margin:0;padding:0;position:relative;}
.gfd-journey::before{content:"";position:absolute;left:28px;top:18px;bottom:18px;width:2px;border-radius:2px;
  background:linear-gradient(#5cb0ff,#0e87fe,#ffb27a);transform:scaleY(0);transform-origin:top;transition:transform 1.4s cubic-bezier(.16,.84,.44,1);}
.gfd-js .gfd-mid-serp.is-in .gfd-journey::before{transform:scaleY(1);}
/* the "patient" travelling down the path, igniting each stage as they arrive */
.gfd-jtraveler{position:absolute;left:28px;width:14px;height:14px;margin-left:-7px;top:4%;border-radius:50%;z-index:3;
  background:#ffce9e;box-shadow:0 0 16px 5px rgba(255,178,122,.85);opacity:0;animation:gfdTravel 6s cubic-bezier(.5,0,.5,1) infinite;}
.gfd-jstep{position:relative;display:flex;align-items:center;gap:18px;padding:14px 0;}
.gfd-jnode{position:relative;z-index:1;flex:none;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);border:1px solid rgba(92,176,255,.3);color:#9fd0ff;box-shadow:0 0 0 7px rgba(0,19,38,.55);
  animation:gfdNodeWave 6s ease-in-out infinite;}
.gfd-jstep:nth-of-type(2) .gfd-jnode{animation-delay:1.2s;}
.gfd-jstep:nth-of-type(3) .gfd-jnode{animation-delay:2.4s;}
.gfd-jstep:nth-of-type(4) .gfd-jnode{animation-delay:3.6s;}
.gfd-jstep:nth-of-type(5) .gfd-jnode{animation-delay:4.8s;}
.gfd-jnode svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.gfd-jstep:last-child .gfd-jnode{color:#ffce9e;border-color:rgba(244,112,27,.55);}
.gfd-jtext b{display:block;font-size:16.5px;font-weight:700;color:#fff;line-height:1.25;}
.gfd-jtext i{font-style:normal;font-size:13.5px;color:#9fb6cf;}
@keyframes gfdTravel{0%{top:4%;opacity:0}6%{opacity:1}94%{opacity:1}100%{top:95%;opacity:0}}
@keyframes gfdNodeWave{0%,100%{background:rgba(255,255,255,.05);border-color:rgba(92,176,255,.3);box-shadow:0 0 0 7px rgba(0,19,38,.55);transform:scale(1);}
  7%{background:rgba(92,176,255,.22);border-color:#5cb0ff;color:#fff;box-shadow:0 0 24px rgba(92,176,255,.6),0 0 0 7px rgba(0,19,38,.55);transform:scale(1.1);}
  17%{background:rgba(255,255,255,.05);border-color:rgba(92,176,255,.3);box-shadow:0 0 0 7px rgba(0,19,38,.55);transform:scale(1);}}

/* =======================================================================
 * R4 — PROOF & GROWTH
 * ======================================================================= */
.gfd-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.gfd-proof-card{display:flex;gap:18px;background:#fff;border:1px solid var(--gfd-line);border-radius:16px;padding:22px 24px;
  box-shadow:0 12px 34px rgba(0,19,38,.06);}
.gfd-proof-metric{flex:none;width:108px;text-align:left;}
.gfd-proof-metric .n{display:block;font-size:30px;font-weight:800;line-height:1;color:var(--gfd-blue);}
.gfd-proof-metric .t{display:block;font-size:11px;color:var(--gfd-grey);margin:6px 0 10px;line-height:1.35;font-weight:500;}
.gfd-proof-bar{display:block;height:5px;border-radius:5px;background:#eef2f7;overflow:hidden;}
.gfd-proof-bar span{display:block;height:5px;border-radius:5px;width:0;background:linear-gradient(90deg,var(--gfd-blue),var(--gfd-orange));transition:width 1.1s cubic-bezier(.16,.84,.44,1) .2s;}
.gfd-reveal.is-in .gfd-proof-bar span{width:var(--w);}
.gfd-proof-body{flex:1;min-width:0;border-left:1px solid var(--gfd-line);padding-left:18px;}
.gfd-proof-body h3{font-size:16px;font-weight:700;color:var(--gfd-navy);margin:0 0 7px;}
.gfd-proof-body p{font-size:13.5px;line-height:1.55;color:var(--gfd-grey);margin:0;}
.gfd-illus-note{text-align:center;font-size:12.5px;color:#8aa0b5;margin:26px 0 0;}
.gfd-illus-note a{color:var(--gfd-blue);font-weight:600;}

/* =======================================================================
 * R5 — CORE SERVICES (custom animated icons)
 * ======================================================================= */
.gfd-svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.gfd-svc-card{padding:28px 24px;}
.gfd-svc-ic{width:60px;height:60px;border-radius:15px;background:#eaf3ff;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--gfd-blue);}
.gfd-svc-svg{width:32px;height:32px;}
.gfd-svc-card h3{font-size:18px;font-weight:700;color:var(--gfd-navy);margin:0 0 9px;}
.gfd-svc-card p{font-size:14px;line-height:1.6;color:var(--gfd-grey);margin:0;}
.gfd-needle{transform-box:fill-box;transform-origin:24px 36px;transform:rotate(-32deg);transition:transform 1.1s cubic-bezier(.16,.84,.44,1) .2s;}
.gfd-reveal.is-in .gfd-svc-card .gfd-needle,.gfd-fcard:hover .gfd-needle{transform:rotate(0);}

/* =======================================================================
 * R6 — REPUTATION & AUTHORITY
 * ======================================================================= */
.gfd-rep-bar{display:inline-flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:20px;
  background:#fff;border:1px solid var(--gfd-line);border-radius:14px;padding:14px 22px;box-shadow:0 12px 30px rgba(0,19,38,.06);}
.gfd-rep-stat{font-size:13.5px;color:var(--gfd-grey);display:inline-flex;align-items:center;gap:7px;}
.gfd-rep-stat b{color:var(--gfd-navy);font-weight:800;font-size:16px;}
.gfd-rep-stat .gfd-stars{font-size:15px;}
.gfd-rep-sep{width:1px;height:20px;background:var(--gfd-line);}
.gfd-quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;}
.gfd-quote-card{position:relative;background:linear-gradient(180deg,#ffffff,#f6fbff);border:1px solid var(--gfd-line);
  border-radius:16px;padding:26px 24px 20px;box-shadow:0 14px 40px rgba(0,19,38,.07);}
.gfd-quote-card .gfd-stars{font-size:15px;letter-spacing:2px;}
.gfd-quote-card blockquote{margin:12px 0 0;font-size:14px;line-height:1.62;color:var(--gfd-ink);}
.gfd-quote-card figcaption{display:flex;align-items:center;gap:11px;margin-top:16px;padding-top:14px;border-top:1px solid var(--gfd-line);}
.gfd-qc-av{width:44px;height:44px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14.5px;color:#fff;background:linear-gradient(135deg,#0e87fe,#001326);box-shadow:0 6px 16px rgba(14,135,254,.3);}
.gfd-qc-av-anon{background:linear-gradient(135deg,#6b7c8d,#1b2a3a);}
.gfd-qc-av-anon svg{width:22px;height:22px;}
.gfd-qc-meta{display:flex;flex-direction:column;gap:2px;min-width:0;}
.gfd-qc-name{font-size:13.5px;font-weight:700;color:var(--gfd-navy);}
.gfd-qc-desc{font-weight:600;font-style:italic;color:var(--gfd-grey);}
.gfd-qc-role{font-size:12px;color:var(--gfd-grey);}

/* =======================================================================
 * Responsive
 * ======================================================================= */
@media(max-width:980px){.gfd-svc-cards,.gfd-quote-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:860px){
  .gfd-mid{padding:74px 20px;}
  .gfd-mid h2,.gfd-mid-serp h2{font-size:26px;}
  .gfd-mid-intent .gfd-mid-inner,.gfd-serp-inner{grid-template-columns:1fr;gap:34px;}
  .gfd-mid-intent .gfd-mid-visual{order:-1;}
  .gfd-proof-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){.gfd-svc-cards,.gfd-quote-grid{grid-template-columns:1fr;}.gfd-proof-card{flex-direction:column;gap:14px;}.gfd-proof-body{border-left:0;padding-left:0;border-top:1px solid var(--gfd-line);padding-top:14px;}.gfd-proof-metric{width:auto;}}

/* =======================================================================
 * Reduced-motion
 * ======================================================================= */
@media(prefers-reduced-motion:reduce){
  .gfd-route,.gfd-pdot,.gfd-prac-pin,.gfd-prac-pin::after,.gfd-disc-dot,.gfd-jnode{animation:none !important;}
  .gfd-jtraveler{animation:none !important;opacity:0 !important;}
  .gfd-draw{stroke-dashoffset:0 !important;transition:none !important;}
  .gfd-journey::before{transform:scaleY(1) !important;transition:none !important;}
  .gfd-proof-bar span{width:var(--w) !important;transition:none !important;}
  .gfd-needle{transform:rotate(0) !important;transition:none !important;}
}
