/* industries-healthcare-pharma.html - extracted from inline <style> blocks, original document order preserved */

/* --- block --- */
@font-face{font-family:'Satoshi';src:url('/vendor/fonts/Satoshi-Light.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Satoshi';src:url('/vendor/fonts/Satoshi-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Satoshi';src:url('/vendor/fonts/Satoshi-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Satoshi';src:url('/vendor/fonts/Satoshi-Bold.woff2') format('woff2');font-weight:700;font-display:swap}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  color-scheme:dark;
  /* ── Identical to index.html ── */
  --bg:#000;
  --bg2:#080808;
  --o:#ED671C;--p:#B71CED;
  --pp:rgba(151,71,255,.62);
  --line:rgba(255,255,255,.12);
  --gtext:linear-gradient(135deg,#8B5CF6 0%,#B71CED 38%,#E91E8C 70%,#ED671C 100%);
  /* ── Kept for backward compat ── */
  --card:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  --card2:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.04));
  --border:rgba(255,255,255,.16);
  --border2:rgba(255,255,255,.20);
  --purple:#B71CED;
  --purple2:#8B5CF6;
  --pink:#E91E8C;
  --orange:#ED671C;
  --grad:linear-gradient(135deg,#8B5CF6 0%,#B71CED 38%,#E91E8C 70%,#ED671C 100%);
  --text:#fff;
  --muted:rgba(255,255,255,.55);
}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100vw}
body{
  background:#000;color:#fff;
  font-family:'Satoshi',sans-serif;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:rgba(183,28,237,.4);color:#fff}

/* ===== NAV ===== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:70px;padding:0 56px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,0);
  transition:background .4s,border-color .4s;
}
.nav.sc{
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(40px) saturate(160%);-webkit-backdrop-filter:blur(40px) saturate(160%);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-logo img{height:30px}
.nav-center{
  display:flex;align-items:center;gap:2px;
  background:rgba(20,20,23,.72);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:5px 7px;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.nav-center > a{
  font-size:14px;font-weight:500;padding:9px 17px;border-radius:8px;
  color:rgba(255,255,255,.7);transition:color .2s,background .2s;
}
.nav-center > a:hover,.nav-center > a.active{color:#fff;background:rgba(255,255,255,.08)}

/* SERVICES DROPDOWN */
.svc-drop{position:relative}
.svc-trigger{
  display:flex;align-items:center;gap:6px;
  font-size:14px;font-weight:500;padding:9px 17px;border-radius:8px;
  color:rgba(255,255,255,.7);transition:color .2s,background .2s;
  cursor:pointer;user-select:none;
}
.svc-trigger::after{content:'▾';font-size:13px;opacity:.7;transition:transform .25s}
.svc-drop:hover .svc-trigger{color:#fff;background:rgba(255,255,255,.07)}
.svc-drop:hover .svc-trigger::after{transform:rotate(180deg)}
.svc-menu{
  position:absolute;top:calc(100% + 10px);left:-16px;
  display:none;
  background:#0a0a0a;border:1px solid rgba(255,255,255,.14);
  border-radius:18px;padding:22px 22px 18px;
  box-shadow:0 24px 72px rgba(0,0,0,.85);
  width:580px;
}
.svc-drop:hover .svc-menu{display:block}
.svc-drop::after{content:'';position:absolute;left:-16px;right:-16px;top:100%;height:16px}
.svc-drop.open .svc-menu{display:block}
.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.svc-menu a{
  display:flex;align-items:center;gap:9px;
  font-size:13.5px;font-weight:500;padding:9px 13px;border-radius:9px;
  color:rgba(255,255,255,.62);transition:color .2s,background .2s;
}
.svc-menu a:hover{color:#fff;background:rgba(255,255,255,.07)}
.svc-menu a.cur{color:var(--purple2);background:rgba(183,28,237,.08)}
.svc-menu a::before{
  content:'';width:6px;height:6px;border-radius:50%;flex:none;
  background:rgba(255,255,255,.2);transition:background .2s;
}
.svc-menu a:hover::before,.svc-menu a.cur::before{background:var(--grad);background-size:100%;background-clip:unset}
.svc-tailored{
  margin-top:14px;padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
}
.svc-tailored-label{
  font-size:var(--t-caption);font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.48);display:block;margin-bottom:10px;padding-left:13px;
}
.svc-tailored-links{display:flex;gap:4px}

.nav-cta{
  font-size:var(--t-btn);font-weight:600;padding:11px 22px;border-radius:10px;
  border:none;color:#fff;cursor:pointer;
  background:linear-gradient(95deg,#a31ce8 0%,#c41fd4 100%);
  transition:box-shadow .25s,transform .2s,background .2s;
  display:inline-flex;align-items:center;gap:8px;
}
.nav-cta .cta-ico{font-size:var(--t-btn);line-height:1}
.nav-cta:hover{background:linear-gradient(95deg,#b228f5 0%,#d52ae6 100%);transform:translateY(-1px)}

/* ===== HERO ===== */
.hero{
  position:relative;height:100vh;min-height:600px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
/* Background photo */
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background:url('/assets/w-hero-banner.webp') center center/cover no-repeat;
}
/* Dark overlay */
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:rgba(0,0,0,.32);
}
/* Subtle vignette at edges */
.hero-bg::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse 80% 80% at 50% 50%,transparent 50%,rgba(0,0,0,.35) 100%);
}

/* Center play button */
.hero-play{
  position:relative;z-index:2;
  width:80px;height:80px;border-radius:50%;
  background:rgba(255,255,255,.18);
  border:2px solid rgba(255,255,255,.55);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:background .25s,transform .25s,box-shadow .25s;
}
.hero-play:hover{
  background:rgba(255,255,255,.28);
  transform:scale(1.08);
  
}
.hero-play::after{
  content:'';
  width:0;height:0;
  border-style:solid;
  border-width:14px 0 14px 24px;
  border-color:transparent transparent transparent #fff;
  margin-left:5px;
}

/* Trustpilot — bottom left */
.hero-tp{
  position:absolute;bottom:36px;left:48px;z-index:2;
  display:flex;flex-direction:column;gap:4px;
}
.tp-row{display:flex;align-items:center;gap:8px}
.tp-logo{
  background:#00b67a;color:#fff;font-size:var(--t-caption);font-weight:800;
  padding:2px 7px;border-radius:4px;letter-spacing:.04em;
}
.tp-stars{color:#00b67a;font-size:15px;letter-spacing:1px}
.tp-txt{font-size:var(--t-caption);font-weight:500;color:rgba(255,255,255,.75)}

/* Clutch badge — bottom right */
.hero-clutch{
  position:absolute;bottom:28px;right:48px;z-index:2;
  display:block;
  text-decoration:none;
  transition:transform .22s,box-shadow .22s;
  border-radius:50%;
  box-shadow:0 4px 24px rgba(0,0,0,.35);
}
.hero-clutch:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,.45)}
.hero-clutch img{display:block;width:76px;height:82px;border-radius:50%}

.btn-p{
  display:inline-block;padding:14px 30px;border-radius:10px;
  background:linear-gradient(95deg,#8B5CF6 0%,#B71CED 32%,#E91E8C 62%,#ED671C 100%);
  color:#fff;font-size:var(--t-btn);font-weight:600;
  transition:box-shadow .25s,transform .2s;
}
.btn-p:hover{transform:translateY(-2px)}
.btn-o{
  display:inline-block;padding:14px 30px;border-radius:10px;
  border:1px solid rgba(255,255,255,.20);
  color:rgba(255,255,255,.8);font-size:var(--t-btn);font-weight:500;
  transition:border-color .2s,background .2s,transform .2s;
}
.btn-o:hover{border-color:rgba(183,28,237,.5);background:rgba(183,28,237,.07);transform:translateY(-2px)}

/* LOGOS BAND */
.logos-band{
  padding:36px 0;
  background:var(--bg);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.logos-label{
  font-size:var(--t-caption);font-weight:700;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(255,255,255,.48);text-align:center;margin-bottom:18px;
}
.logos-track{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.logos-track + .logos-track{margin-top:34px}
.logos-inner{
  display:flex;gap:78px;align-items:center;width:max-content;
}
.logos-row1{animation:lscroll 50s linear infinite}
.logos-row2{animation:lscrollR 50s linear infinite}
.logos-inner img{max-height:36px;max-width:150px;height:auto;width:auto;opacity:1;filter:none;object-fit:contain}
@keyframes lscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes lscrollR{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* ===== SECTION BASE ===== */
.sec{padding:100px 56px}
.sec-inner{max-width:1280px;margin:0 auto}
.sec-label{
  font-size:var(--t-caption);font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  color:var(--pp);display:inline-flex;align-items:center;gap:14px;margin-bottom:14px;
}
.sec-label::before,.sec-label::after{content:'';width:26px;height:1px;background:linear-gradient(90deg,var(--p),var(--o));opacity:.7}
.sec-title{
  font-size:var(--t-h2);font-weight:700;
  letter-spacing:-.035em;line-height:1.16;padding:.1em 0;
  background:linear-gradient(180deg,#fff 0%,#fff 68%,#d8d8d8 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.18em;
}
.sec-sub{
  font-size:var(--t-body);color:var(--muted);
  line-height:1.65;max-width:56ch;margin-top:14px;
}
.g-text{
  background:var(--grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;padding-bottom:.18em;
}

/* ===== PAIN POINTS ===== */
.pain{background:#000}
.pain-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:52px;flex-wrap:wrap}
.pain-top .sec-title{max-width:22ch}
.pain-note{
  max-width:40ch;font-size:var(--t-body);font-weight:400;line-height:1.65;color:var(--muted);
  flex:0 0 38%;
}
.pain-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.pain-card{
  background:#0e0e10;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:22px 24px;min-height:160px;
  display:flex;flex-direction:column;justify-content:space-between;
  transition:background .3s,border-color .3s;
  position:relative;overflow:hidden;cursor:default;
}
.pain-quote{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:40px;font-weight:700;line-height:.7;
  color:rgba(255,255,255,.4);
  transition:opacity .2s,max-height .3s,margin .3s;
}
.pain-title{
  font-size:var(--t-body);font-weight:400;letter-spacing:-.2px;line-height:1.32;
  color:#fff;
}
.pain-desc{
  font-size:var(--t-body);color:rgba(255,255,255,.55);line-height:1.5;
  max-height:0;opacity:0;overflow:hidden;margin-top:0;
  transition:max-height .35s cubic-bezier(.16,1,.3,1),opacity .3s,margin-top .3s;
}
.pain-card::after{
  content:'';position:absolute;left:0;bottom:0;width:58%;height:2px;
  background:linear-gradient(90deg,#B71CED 0%,#E91E8C 60%,transparent 100%);
  opacity:0;transition:opacity .3s;
}
.pain-card.is-active,.pain-card:hover{
  justify-content:flex-start;
  background:linear-gradient(180deg,rgba(42,16,60,.55) 0%,rgba(18,9,30,.45) 100%);
  border-color:rgba(255,255,255,.16);
}
.pain-card.is-active .pain-quote,.pain-card:hover .pain-quote{
  opacity:0;max-height:0;margin:0;
}
.pain-card.is-active .pain-desc,.pain-card:hover .pain-desc{
  max-height:240px;opacity:1;margin-top:10px;
}
.pain-card.is-active::after,.pain-card:hover::after{opacity:1}
/* interactive cursor spotlight */
.pain-card > *{position:relative;z-index:1}
.pain-card::after{z-index:2}
.pain-card::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(183,28,237,.22),transparent 62%);
  opacity:0;transition:opacity .35s;
}
.pain-card:hover::before{opacity:1}
/* scroll reveal */
.pain-card.rv-pending{opacity:0;transform:translateY(30px)}
.pain-card.rv-in{opacity:1;transform:translateY(0);
  transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}

/* ===== DESIGN STACK ===== */
.stack{
  background:var(--bg);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:60px 56px;
}
.stack-inner{max-width:1280px;margin:0 auto;text-align:center}
.stack-label{
  font-size:var(--t-caption);font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.48);margin-bottom:36px;
}
.stack-tools{
  display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;
}
.tool{
  display:flex;align-items:center;gap:11px;
  backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;padding:12px 20px;
  font-size:var(--t-body);font-weight:600;
  transition:border-color .2s,transform .2s;cursor:default;
}
.tool:hover{border-color:rgba(183,28,237,.5);transform:translateY(-2px)}
.ti{
  width:30px;height:30px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  font-size:var(--t-body);font-weight:900;font-style:italic;color:#fff;flex:none;
}
.ti-ai{background:linear-gradient(135deg,#ff9500,#ff6b00)}
.ti-ps{background:linear-gradient(135deg,#00b8ff,#0074d9)}
.ti-ae{background:linear-gradient(135deg,#a0a0ff,#7070d0)}
.ti-pr{background:linear-gradient(135deg,#d45fff,#9b00bf)}
.ti-id{background:linear-gradient(135deg,#ff6680,#cc004f)}
.ti-fig{background:linear-gradient(135deg,#0acf83,#1abcfe,#a259ff,#f24e1e);font-style:normal}
.ti-cv{background:linear-gradient(135deg,#7d2ae8,#4b00c3);font-style:normal}
.ti-mid{background:linear-gradient(135deg,#00a8e0,#0064a0);font-style:normal;font-size:13px}

/* ===== STATS — WHY GOOD DESIGN ===== */
.stats-sec{background:#000;position:relative;overflow:hidden}
.stats-sec::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 50% 80% at 80% 50%,rgba(183,28,237,.1),transparent),
    radial-gradient(ellipse 40% 60% at 10% 20%,rgba(233,30,140,.06),transparent);
  pointer-events:none;
}
.stats-inner{max-width:1280px;margin:0 auto;position:relative;z-index:1;text-align:center}
.why-cats{
  display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin:32px 0 60px;
}
.why-cat{
  backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;padding:16px 24px;text-align:left;min-width:200px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09);
  transition:border-color .3s,transform .3s;
}
.why-cat:hover{border-color:rgba(183,28,237,.45);transform:translateY(-3px)}
.why-cat h3{
  font-size:var(--t-h3);font-weight:700;margin-bottom:6px;
  background:linear-gradient(180deg,#fff 0%,#fff 68%,#d8d8d8 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.18em;
}
.why-cat p{font-size:var(--t-body);color:var(--muted);line-height:1.5}
.stats-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:800px;margin:0 auto;
}
.stat-c{
  backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;padding:36px 32px;text-align:left;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09);
  position:relative;overflow:hidden;
  transition:border-color .3s,transform .3s;
}
.stat-c:hover{border-color:rgba(183,28,237,.45);transform:translateY(-3px)}
.stat-c::after{
  content:'';position:absolute;top:-30px;right:-30px;
  width:100px;height:100px;border-radius:50%;
  background:radial-gradient(circle,rgba(183,28,237,.12),transparent 70%);
  pointer-events:none;
}
.stat-num{
  display:block;
  font-size:clamp(50px,6vw,82px);font-weight:700;
  letter-spacing:-.04em;line-height:1;margin-bottom:10px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;padding-bottom:.18em;
}
.stat-txt{font-size:var(--t-body);font-weight:600;color:rgba(255,255,255,.82);line-height:1.35}

/* ===== INDUSTRIES ===== */
.ind-sec{background:var(--bg);padding:80px 56px}
.ind-inner{max-width:1280px;margin:0 auto;text-align:center}
.ind-tags{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:40px;
}
.ind-tag{
  padding:10px 22px;border-radius:100px;
  border:1px solid rgba(255,255,255,.14);
  font-size:var(--t-caption);font-weight:500;color:rgba(255,255,255,.65);
  backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  transition:border-color .25s,background .25s,color .25s,transform .25s;cursor:default;
}
.ind-tag:hover{
  border-color:rgba(183,28,237,.5);
  background:rgba(183,28,237,.08);
  color:#fff;transform:translateY(-2px);
}

/* ===== TESTIMONIALS ===== */
.testi-sec{background:#000}
.testi-inner{max-width:1000px;margin:0 auto;text-align:center}
.trev-card{
  display:grid;grid-template-columns:280px 1fr;
  border-radius:14px;overflow:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,.6);
  margin-top:52px;
}
/* LEFT white Clutch panel */
.trev-left{background:#fff;padding:28px 24px;text-align:left}
.trev-chead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.trev-clogo-img{height:24px;width:auto;display:block}
.trev-clink{font-size:var(--t-body);color:#555;text-decoration:underline;text-underline-offset:2px;transition:color .2s}
.trev-clink:hover{color:#e84b37}
.trev-crating{display:flex;align-items:center;gap:7px;margin-bottom:16px}
.trev-ccount{font-size:var(--t-body);font-weight:600;color:#111}
.trev-cstars{color:#e84b37;font-size:14px;letter-spacing:2px}
.trev-cline{height:1px;background:#e8e8e8;margin:0 0 18px}
.trev-ctags{display:flex;flex-wrap:wrap;gap:6px}
.trev-ctag{
  font-size:var(--t-caption);font-weight:500;color:#444;
  background:#f1f1f1;border-radius:5px;padding:4px 10px;
}
.trev-ctag-more{background:#f8f8f8;color:#6b6b6b}
/* RIGHT dark panel */
.trev-right{
  background:#141414;
  display:grid;grid-template-columns:1fr 1px 1fr;
}
.trev-meta{padding:26px 24px;display:flex;flex-direction:column}
.trev-mrating{display:flex;align-items:center;gap:7px;margin-bottom:14px}
.trev-mcount{font-size:var(--t-body);font-weight:600;color:rgba(255,255,255,.65)}
.trev-mstars{color:#e84b37;font-size:13px;letter-spacing:2px}
.trev-mline{height:1px;background:rgba(255,255,255,.1);margin-bottom:16px}
.trev-mitem{
  display:flex;align-items:center;gap:10px;padding:5px 0;
  font-size:var(--t-body);color:rgba(255,255,255,.62);
}
.trev-mico{
  width:20px;height:20px;border-radius:4px;flex:none;
  background:rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-style:normal;
}
.trev-vdiv{background:rgba(255,255,255,.1)}
.trev-quote-col{padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between}
.trev-quote{
  font-size:var(--t-body);line-height:1.7;color:rgba(255,255,255,.82);
  font-weight:400;margin:0;
}
.trev-author{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:24px}
.trev-alogo{max-height:22px;width:auto;opacity:.7;filter:brightness(1.4) grayscale(20%);object-fit:contain;align-self:flex-start}
.trev-aname{font-size:var(--t-body);color:rgba(255,255,255,.48);letter-spacing:.01em}

/* ===== FAQ ===== */
.faq-sec{
  background:url('/assets/bg-faqs.png') center center/cover no-repeat;
  position:relative;overflow:hidden;
}
.faq-inner{max-width:900px;margin:0 auto;position:relative;z-index:1;text-align:center}
.faq-title{
  font-family:inherit;font-weight:500;
  font-size:var(--t-h2);
  letter-spacing:-.03em;line-height:1.18;
  color:#fff;
background:linear-gradient(180deg,#fff 0%,#fff 68%,#d8d8d8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.18em}
.faq-sub{
  margin-top:12px;font-size:var(--t-body);
  color:rgba(255,255,255,.7);font-weight:400;
}
.faq-list{margin-top:48px;text-align:left;display:flex;flex-direction:column;gap:14px}
.faq-item{
  border:1px solid rgba(255,255,255,.16);
  border-radius:11px;
  background:linear-gradient(180deg,rgba(48,16,72,.46) 0%,rgba(22,8,38,.46) 100%);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  overflow:hidden;
  box-shadow:0 4px 18px rgba(20,4,40,.25);
  transition:border-color .25s,background .25s,box-shadow .25s;
}
.faq-item:hover{
  border-color:rgba(255,255,255,.30);
  background:linear-gradient(180deg,rgba(64,22,96,.55) 0%,rgba(30,10,52,.55) 100%);
}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:18px 24px;cursor:pointer;
  font-size:15.5px;font-weight:500;color:rgba(255,255,255,.92);
  transition:color .2s;
}
.faq-q:hover{color:#fff}
.faq-ico{
  width:22px;height:22px;flex:none;
  display:flex;align-items:center;justify-content:center;
  color:transparent;font-size:0;
  transition:transform .3s ease;
}
.faq-ico::before{
  content:'';width:0;height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid rgba(255,255,255,.72);
}
.faq-item.open .faq-ico{transform:rotate(180deg)}
.faq-a{
  font-size:14.5px;line-height:1.72;color:rgba(255,255,255,.72);
  max-height:0;overflow:hidden;padding:0 24px;
  transition:max-height .4s cubic-bezier(.16,1,.3,1),padding-bottom .4s;
}
.faq-item.open .faq-a{max-height:400px;padding-bottom:20px}

/* ===== CTA ===== */
.cta-sec{
  background:#000;
  position:relative;overflow:hidden;
}
.cta-inner{
  position:relative;z-index:1;
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;
}
.cta-left h2{
  font-size:var(--t-h2);font-weight:700;
  letter-spacing:-.035em;line-height:1.1;margin-bottom:28px;
  color:#fff;
}

.cta-ul{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:26px}
.cta-ul li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:var(--t-body);font-weight:400;color:rgba(255,255,255,.8);line-height:1.4;
}
.cta-ul li::before{
  content:'';display:block;width:4px;height:4px;border-radius:50%;flex:none;
  background:rgba(255,255,255,.8);margin-top:8px;
}
.cta-tagline{font-size:var(--t-body);font-weight:400;color:rgba(255,255,255,.6);margin-bottom:34px}
.cta-p-logos{
  display:grid;grid-template-columns:repeat(3,132px);
  gap:34px 56px;align-items:center;justify-items:stretch;width:max-content;
}
.cta-p-logos img{
  display:block;width:100%;max-width:100%;min-width:0;
  height:36px;object-fit:contain;object-position:left center;opacity:.95;
}

/* FORM */
.form-box{
  background:#0d0d0d;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;padding:34px;
  box-shadow:0 14px 40px rgba(0,0,0,.45);
  width:100%;max-width:400px;margin-left:auto;
}
.fg{margin-bottom:16px}
.fg input,.fg textarea,.fg select{
  width:100%;padding:15px 16px;border-radius:6px;
  background:transparent;border:1px solid rgba(255,255,255,.5);
  color:#fff;font-family:'Satoshi',sans-serif;font-size:14.5px;
  outline:none;transition:border-color .2s,background .2s;
  -webkit-appearance:none;
}
.fg input:focus,.fg textarea:focus{
  border-color:#fff;background:rgba(255,255,255,.03);
}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.48)}
.form-btn{
  width:100%;margin-top:6px;padding:15px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:#a31ce8;
  color:#fff;font-family:'Satoshi',sans-serif;
  font-size:var(--t-btn);font-weight:600;border:none;cursor:pointer;
  transition:background .2s,box-shadow .2s;
}
.form-btn:hover{background:#b228f5;}
.form-btn .btn-ico{font-size:var(--t-btn);line-height:1}
.form-consent{
  display:flex;align-items:flex-start;gap:10px;margin-top:18px;
  font-size:13px;line-height:1.5;color:rgba(255,255,255,.48);
}
.form-consent input[type=checkbox]{
  appearance:none;-webkit-appearance:none;flex:none;
  width:15px;height:15px;margin-top:1px;border-radius:3px;
  border:1px solid rgba(255,255,255,.3);background:transparent;cursor:pointer;
  transition:background .2s,border-color .2s;
}
.form-consent input[type=checkbox]:checked{
  background:#a31ce8;border-color:#a31ce8;
}
.form-consent a{color:rgba(255,255,255,.7);text-decoration:underline}

/* ===== FOOTER ===== */
.ft{
  background:
    radial-gradient(ellipse 78% 95% at 58% -12%,rgba(122,46,152,.34) 0%,rgba(68,24,92,.16) 32%,transparent 60%),
    #060309;
  border:1px solid rgba(255,255,255,.06);border-bottom:none;
  border-radius:42px 42px 0 0;
  padding:64px 64px 26px;
  position:relative;overflow:hidden;
}
.ft-grid{
  max-width:1280px;margin:0 auto 46px;
  display:flex;align-items:stretch;gap:0;
}
.ft-brand{flex:0 0 30%;padding-right:36px}
.ft-brand img{height:42px;margin-bottom:30px}
.ft-brand-nav{display:flex;flex-direction:column;gap:6px}
.ft-brand-nav a{
  font-size:17px;font-weight:400;color:rgba(255,255,255,.78);
  padding:5px 0;transition:color .2s;
}
.ft-brand-nav a:hover{color:#fff}
.ft-divider{width:1px;background:rgba(255,255,255,.12);align-self:stretch;flex:none;margin:4px 0}
.ft-cols{
  flex:1;display:grid;grid-template-columns:0.9fr 1.25fr 1.3fr;gap:40px;
  padding-left:56px;
}
.ft-col h4{
  font-size:var(--t-h3);font-weight:500;letter-spacing:0;text-transform:none;
  color:#fff;margin-bottom:22px;
}
.ft-col a,.ft-col p{
  display:block;font-size:13.5px;color:rgba(255,255,255,.5);
  padding:6px 0;margin:0;transition:color .2s;line-height:1.3;
}
.ft-col a:hover{color:#fff}
.ft-bot{
  max-width:1280px;margin:0 auto;
  border-top:1px solid rgba(255,255,255,.1);padding-top:22px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  font-size:13px;letter-spacing:.02em;color:rgba(255,255,255,.48);
}
.ft-bot a{color:rgba(255,255,255,.48);transition:color .2s}
.ft-bot a:hover{color:#fff}
/* animated underline on footer + nav links */
.ft-col a,.ft-brand-nav a,.ft-bot a{position:relative;display:inline-block}
.ft-col a{display:block}
.ft-col a::after,.ft-brand-nav a::after,.ft-bot a::after,.nav-cta::after{
  content:'';position:absolute;left:0;bottom:0;height:1.5px;width:0;
  background:linear-gradient(90deg,#B71CED,#E91E8C);
  transition:width .3s ease;
}
.ft-col a:hover::after,.ft-brand-nav a:hover::after,.ft-bot a:hover::after{width:100%}

/* ===== DESIGN STACK (NEW) ===== */
.dstack{
  background:var(--bg);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:30px 56px;
}
.dstack-inner{
  max-width:1280px;margin:0 auto;
  display:flex;align-items:center;gap:36px;
}
.dstack-label{
  font-size:var(--t-caption);font-weight:700;letter-spacing:.02em;
  color:rgba(255,255,255,.48);line-height:1.55;
  min-width:106px;flex:none;
}
.dstack-icons{
  display:flex;gap:20px;align-items:center;
  flex-wrap:wrap;row-gap:18px;flex:1;min-width:0;
  justify-content:space-between;
}
.dsi{
  width:44px;height:44px;border-radius:12px;flex:none;
  display:flex;align-items:center;justify-content:center;
  font-size:var(--t-body);font-weight:900;font-style:italic;color:#fff;
  cursor:default;transition:transform .18s,box-shadow .18s;
  letter-spacing:-.02em;overflow:hidden;
}
.dsi:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.4)}
.dsi img{width:26px;height:26px;object-fit:contain;display:block;flex:none}
.dsi-local{background:transparent;padding:0}
.dsi-local img{width:44px;height:44px;object-fit:cover;border-radius:12px}

/* ===== WHY GOOD DESIGN (NEW) ===== */
.wgd-sec{background:#000}
.wgd-top{
  padding:120px 56px 40px;text-align:center;
}
.wgd-title{
  font-size:var(--t-h2);font-weight:500;
  letter-spacing:-.035em;line-height:1.22;
  padding:.14em 0;
  background:linear-gradient(180deg,#fff 0%,#fff 68%,#d8d8d8 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
background:linear-gradient(180deg,#fff 0%,#fff 68%,#d8d8d8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.18em}
/* Staggered 3-column */
.wgd-cols{
  display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;
  align-items:start;gap:0;
  max-width:1280px;margin:0 auto;
  padding:0 56px 80px;
  min-height:280px;
}
.wgd-col{padding:24px 48px}
.wgd-col-1{padding-top:120px} /* stagger: lowest */
.wgd-col-2{padding-top:60px}  /* stagger: middle */
.wgd-col-3{padding-top:20px}  /* stagger: highest */
.wgd-divider{
  background:rgba(255,255,255,.12);
  min-height:200px;align-self:stretch;
  transition:background .45s ease,box-shadow .45s ease;
}
/* Animated vertical line — glow on hover */
.wgd-cols:hover .wgd-divider{
  background:linear-gradient(180deg,transparent 0%,rgba(139,92,246,.95) 50%,transparent 100%);
  
  animation:lineGlow 1.8s ease-in-out infinite;
}
@keyframes lineGlow{
  0%,100%{opacity:.55}
  50%{opacity:1}
}
.wgd-h{
  font-size:var(--t-body);font-weight:700;margin-bottom:12px;
  display:block;letter-spacing:-.01em;
}
.wgd-cyan{color:#00cec8}
.wgd-pink{color:#E91E8C}
.wgd-purple{color:#8B5CF6}
.wgd-p{
  font-size:var(--t-body);color:rgba(255,255,255,.6);
  line-height:1.6;max-width:28ch;font-weight:400;
}
/* scroll reveal — columns slide up, dividers draw in */
.wgd-col.rv-pending{opacity:0;transform:translateY(46px)}
.wgd-col.rv-in{opacity:1;transform:translateY(0);
  transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.wgd-divider.rv-pending{opacity:0;transform:scaleY(0);transform-origin:top}
.wgd-divider.rv-in{opacity:1;transform:scaleY(1);
  transition:opacity .6s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.wgd-col{transition:transform .35s ease}
.wgd-col.rv-in:hover{transform:translateY(-7px)}
.wgd-col .wgd-h{transition:text-shadow .35s ease}
.wgd-col:hover .wgd-cyan{text-shadow:0 0 22px rgba(0,206,200,.6)}
.wgd-col:hover .wgd-pink{text-shadow:0 0 22px rgba(233,30,140,.6)}
.wgd-col:hover .wgd-purple{text-shadow:0 0 22px rgba(139,92,246,.6)}
/* Purple gradient stats */
.wgd-stats-bg{
  background:url('/assets/bg-why-design.png') center center/cover no-repeat;
  position:relative;overflow:hidden;
  padding:80px 56px;
  margin-top:0;
}
.wgd-stats-bg::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 70% at 50% 50%,rgba(80,0,160,.35),transparent);
  pointer-events:none;
}
.wgd-stats-inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr auto 1fr;
  gap:40px;align-items:center;
  position:relative;z-index:1;
}
.wgd-stats-col{display:flex;flex-direction:column}
.wgd-stat{display:flex;flex-direction:column;gap:6px}
.wgd-num{
  font-size:clamp(52px,7vw,100px);font-weight:700;
  letter-spacing:-.04em;line-height:1;color:#fff;
}
.wgd-stxt{
  font-size:var(--t-body);color:rgba(255,255,255,.6);
  line-height:1.45;max-width:20ch;font-weight:400;
}
.wgd-stats-col[style*="text-align:right"] .wgd-stxt{margin-left:auto}
.wgd-queen{
  display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.wgd-queen img{
  width:240px;height:auto;
  filter:drop-shadow(0 20px 50px rgba(100,0,200,.5));
  animation:float 5s ease-in-out infinite;
}

/* Industry tags with emoji */
.ind-tag-inner{display:flex;align-items:center;gap:8px}
.ind-emoji{font-size:var(--t-body);line-height:1}

@media(max-width:1080px){
  .dstack{padding:22px 36px}
  .wgd-top{padding:60px 36px 0}
  .wgd-cols{padding:0 36px}
  .wgd-stats-bg{padding:60px 36px}
  .dstack-icons{flex-wrap:wrap}
}
@media(max-width:860px){
  .wgd-cols{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .wgd-divider{display:none}
  .wgd-col-1,.wgd-col-2,.wgd-col-3{padding-top:16px;padding-left:0;padding-right:0}
  .wgd-stats-inner{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
  .wgd-queen{grid-column:1/-1;order:-1}
  .wgd-queen img{width:160px}
}
@media(max-width:580px){
  .dstack{padding:20px 22px}
  .dsi{width:38px;height:38px;font-size:var(--t-body);border-radius:9px}
  .dstack-label{min-width:90px;font-size:var(--t-caption)}
}

/* ===== SCREENSHOT MATCH OVERRIDES ===== */
/* Pain points — centered heading + quote-mark cards */
.pain-top{display:block!important;text-align:center;margin-bottom:52px}
.pain-top .sec-title{max-width:none!important;text-align:center}
.pain-note{display:none!important}
/* Stats — mascot center layout */
.stats-grid{display:none!important}
.stats-mascot-layout{
  display:grid;grid-template-columns:1fr 200px 1fr;
  gap:20px;align-items:center;max-width:960px;margin:0 auto;
}
.smcol{display:flex;flex-direction:column;gap:16px}
.sm-img{display:flex;align-items:center;justify-content:center}
.sm-img img{
  width:200px;height:auto;
  filter:drop-shadow(0 16px 40px rgba(183,28,237,.45));
  animation:float 4s ease-in-out infinite;
}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}
/* Why Good Design — highlight center card */
.why-cat.center-card{
  border-color:rgba(183,28,237,.35);
  background:rgba(183,28,237,.07);
}
.why-cat.center-card h3{
  background:var(--grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  font-size:var(--t-h3);padding-bottom:.18em;
}
/* Testimonials — clean */

/* ===== RESPONSIVE ===== */
@media(max-width:1080px){
  .nav{padding:0 36px}
  .sec{padding:80px 36px}
  .hero{padding:110px 36px 0}
  .stack{padding:60px 36px}
  .ind-sec{padding:80px 36px}
  .cta-sec .sec,.cta-sec{padding:80px 36px}
  .ft{padding:56px 40px 24px;border-radius:32px 32px 0 0}
  .ft-cols{padding-left:40px;gap:28px}
}
@media(max-width:860px){
  .nav-center{display:none}
  .nav-cta{padding:9px 16px;font-size:var(--t-btn)}
  .pain-grid{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr}
  .stats-mascot-layout{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
  .sm-img{grid-column:1/-1;order:-1}
  .sm-img img{width:140px}
  .testi-cols{grid-template-columns:1fr}
  .cta-inner{grid-template-columns:1fr;gap:40px}
  .ft-grid{flex-direction:column;gap:36px}
  .ft-divider{display:none}
  .ft-brand{flex:none;padding-right:0}
  .ft-cols{padding-left:0;grid-template-columns:1fr 1fr;gap:28px}
  .clutch-meta{grid-template-columns:1fr}
  .why-cats{flex-direction:column;align-items:center}
  .hero-tp{left:22px;bottom:22px}
  .hero-clutch{right:22px;bottom:18px;width:56px;height:56px}
  .hero-play{width:64px;height:64px}
}
@media(max-width:580px){
  .pain-grid{grid-template-columns:1fr}
  .hero h1{font-size:var(--t-h1)}
  .sec{padding:70px 22px}
  .hero{padding:100px 22px 0}
  .stack{padding:50px 22px}
  .ind-sec{padding:70px 22px}
  .ft{padding:50px 22px 22px}
  .nav{padding:0 18px}
  .form-box{padding:28px 22px}
  .fg-row{grid-template-columns:1fr}
  .clutch-card{padding:26px 22px}
}

/* ===== GLOBAL CURSOR GLOW ===== */



/* ===== ANIMATION PACKAGE ===== */
@media (prefers-reduced-motion: no-preference){
  /* scroll reveal — slide up (text/blocks without hover-transform) */
  .reveal{opacity:0;transform:translateY(34px);
    transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
  .reveal.in{opacity:1;transform:none}
  /* scroll reveal — fade only (safe for hover-lift cards) */
  .reveal-fade{opacity:0;transition:opacity .7s ease}
  .reveal-fade.in{opacity:1}

  /* hero entrance */
  .hero-play{opacity:0;transform:scale(.6);
    animation:heroPop .9s cubic-bezier(.34,1.56,.64,1) .3s forwards}
  @keyframes heroPop{to{opacity:1;transform:scale(1)}}
  .hero-play::before{content:'';position:absolute;inset:-3px;border-radius:50%;
    border:2px solid rgba(255,255,255,.45);pointer-events:none;
    animation:heroRing 2.6s ease-out infinite}
  @keyframes heroRing{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.85);opacity:0}}
  .hero-tp,.hero-clutch{opacity:0;animation:fadeUp .8s ease .7s forwards}
  @keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
}
/* nav CTA shine sweep (on hover) */
.nav-cta{position:relative;overflow:hidden}
.nav-cta::before{content:'';position:absolute;top:0;left:-130%;width:55%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-18deg);pointer-events:none}
.nav-cta:hover::before{animation:ctaShine .85s ease}
@keyframes ctaShine{to{left:150%}}
/* stat numbers glow when counting */
.wgd-num{transition:text-shadow .5s ease}
.wgd-stats-bg.in-stats .wgd-num{text-shadow:0 0 30px rgba(183,28,237,.5)}

/* ===== ANIMATION PACKAGE 2 ===== */
/* scroll progress bar */
.scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:1000;
  background:linear-gradient(90deg,#8B5CF6,#B71CED,#E91E8C,#ED671C);
  box-shadow:0 0 12px rgba(183,28,237,.6);transition:width .12s linear}
/* back-to-top button */
.to-top{position:fixed;right:26px;bottom:26px;z-index:80;
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.18);
  background:rgba(20,20,24,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  color:#fff;font-size:19px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;
  transition:opacity .3s,transform .3s,background .2s,box-shadow .2s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:linear-gradient(135deg,#a31ce8,#c41fd4);
  transform:translateY(-4px)}
/* marquee pause on hover */
.logos-track:hover .logos-inner{animation-play-state:paused}
/* smoother button transforms for magnetic effect */
.nav-cta,.form-btn,.btn-p,.btn-o{
  transition:transform .18s ease,box-shadow .25s ease,background .2s ease,border-color .2s ease}
@media (prefers-reduced-motion: no-preference){
  /* hero slow ken-burns zoom */
  .hero-bg{animation:kenburns 24s ease-in-out infinite alternate}
  @keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.09)}}
  /* floating chess mascot */
  .wgd-queen img{animation:floaty 4.6s ease-in-out infinite}
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}
}


/* ===== Footer (matches index home page) ===== */
.F{position:relative;z-index:3;overflow:hidden;border-top:1px solid transparent;
  border-image:linear-gradient(90deg,transparent,rgba(183,28,237,.6),rgba(237,103,28,.5),transparent) 1;
  padding:48px 60px 22px;background:#070708}
.F::after{content:'';position:absolute;right:-180px;bottom:-180px;width:560px;height:560px;border-radius:50%;
  background:repeating-radial-gradient(circle at center,rgba(183,28,237,.1) 0 1px,transparent 1px 56px);pointer-events:none}
.Fin{position:relative;z-index:1;max-width:1380px;margin:0 auto}
.Fstate{font-size:clamp(20px,2.2vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.2;
  background:linear-gradient(180deg,#fff 0%,#fff 68%,#d8d8d8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  max-width:34ch;padding-bottom:.14em;padding-bottom:.18em}
.Fstate .grad{background:var(--gtext);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.18em}
.offmini{display:flex;gap:10px;align-items:center;padding:6px 0}
.offmini img{width:26px;height:auto;flex:none;filter:drop-shadow(0 4px 12px rgba(183,28,237,.4))}
.offmini b{display:block;font-size:13px;font-weight:700;letter-spacing:.02em}
.offmini a{display:block;font-size:13px;color:rgba(255,255,255,.48);transition:color .2s}
.offmini a:hover{color:#fff}
.Fgrid{display:grid;grid-template-columns:1.3fr .7fr .9fr .9fr 1.2fr;gap:40px;margin-top:42px}
.Fbrand img{height:24px;margin-bottom:14px}
.Fbrand p{font-size:13px;color:rgba(255,255,255,.48);max-width:28ch;line-height:1.6}
.Fsoc{display:flex;gap:8px;margin-top:18px}
.Fsoc a{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);transition:all .25s}
.Fsoc a:hover{border-color:rgba(183,28,237,.55);color:#fff;transform:translateY(-2px)}
.Fsoc svg{width:14px;height:14px;fill:currentColor;display:block}
.Fcol h4,.Fcol h3{font-size:var(--t-h3);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.48);margin-bottom:14px}
.Fcol a{display:block;font-size:13px;padding:4px 0;color:rgba(255,255,255,.65);transition:color .2s,padding-left .25s}
.Fcol a:hover{color:#fff;padding-left:6px}
.Fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:52px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);font-size:13px;letter-spacing:.02em;color:rgba(255,255,255,.48)}
@media(max-width:860px){.Fgrid{grid-template-columns:1fr 1fr;gap:32px}.F{padding:60px 28px 28px}}
@media(max-width:580px){.Fgrid{grid-template-columns:1fr;gap:30px}}

/* --- block --- */
/* ============ SEO PAGE ============ */

/* ===== HERO ===== */
.seo-hero{
  position:relative;overflow:hidden;text-align:center;background:#000;
  display:flex;flex-direction:column;align-items:center;
  padding:130px 24px 0;
}
.seo-hero h1{
  position:relative;z-index:2;
  font-size:var(--t-h1);font-weight:700;letter-spacing:-.03em;line-height:1.12;
  padding-bottom:.12em;color:#fff;
background:linear-gradient(180deg,#fff 0%,#fff 68%,#d8d8d8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.18em}
.seo-hero-sub{
  position:relative;z-index:2;
  font-size:var(--t-body);line-height:1.7;color:rgba(255,255,255,.6);
  max-width:620px;margin:12px auto 0;
}
.seo-hero-img{
  position:relative;width:min(680px,92vw);margin:-48px auto 0;pointer-events:none;
}
.seo-hero-img img{width:100%;height:auto;display:block}

/* ===== TAG MARQUEE ===== */
.seo-tags{
  padding:26px 0;background:#000;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.seo-tags-track{display:flex;gap:14px;width:max-content;animation:seotag 26s linear infinite}
@keyframes seotag{to{transform:translateX(-50%)}}
.seo-tag{
  flex:none;font-size:var(--t-caption);font-weight:500;color:rgba(255,255,255,.75);
  padding:10px 22px;border-radius:10px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);
}
@media(prefers-reduced-motion:reduce){.seo-tags-track{animation:none}}

/* ===== INDUSTRY ===== */
.seo-ind{padding:100px 56px;background:#000}
.seo-ind-inner{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,4vw,70px);align-items:center;
}
.seo-ind-txt h2{
  font-size:var(--t-h2);font-weight:700;letter-spacing:-.02em;line-height:1.15;
  padding-bottom:.1em;
  background:linear-gradient(180deg,#fff 0%,#fff 68%,#d8d8d8 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.18em;
}
.seo-ind-txt .bold{font-size:var(--t-body);font-weight:700;color:#fff;margin-top:20px;line-height:1.6}
.seo-ind-txt p{font-size:var(--t-body);line-height:1.7;color:rgba(255,255,255,.6);margin-top:8px;max-width:40ch}
.seo-map{position:relative;min-height:560px}
.seo-map .core{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:240px;height:auto;z-index:1;
  filter:drop-shadow(0 0 44px rgba(183,28,237,.6));
}
/* layered glow discs radiating from the crosshair, like the design */
.seo-map::before{
  content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:500px;height:500px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,
    rgba(200,120,255,.34) 0%,
    rgba(160,60,220,.26) 14%,
    rgba(140,45,200,.20) 15% 30%,
    rgba(120,35,175,.15) 31% 46%,
    rgba(100,28,150,.11) 47% 62%,
    rgba(80,22,120,.07) 63% 78%,
    transparent 79%);
}
.seo-map::after{
  content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:520px;height:520px;border-radius:50%;pointer-events:none;
  border:1px solid rgba(183,28,237,.12);
}
.seo-node{position:absolute;width:200px;margin-left:-100px;display:flex;flex-direction:column;gap:6px;z-index:2;text-align:center;align-items:center}
.seo-node img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 8px 22px rgba(183,28,237,.45))}
.seo-node b{font-size:14px;font-weight:700;color:#fff}
.seo-node p{font-size:13px;line-height:1.5;color:rgba(255,255,255,.5)}
.seo-node.right,.seo-node.center{text-align:center;align-items:center}
.n-ecom{left:50%;top:0}
.n-saas{left:20%;top:26%}
.n-serv{left:79%;top:27%}
.n-b2c{left:20%;top:56%}
.n-learn{left:79%;top:58%}
.n-b2b{left:50%;top:78%}

/* ===== INVISIBLE TO UNAVOIDABLE ===== */
.seo-inv{
  position:relative;padding:110px 24px 130px;text-align:center;overflow:hidden;
  background:#0a0510 url('/assets/background-performance-marketing.png') center/cover no-repeat;
}
.seo-inv::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.55),transparent 30%,transparent 70%,rgba(0,0,0,.5));
}
.seo-inv>*{position:relative;z-index:1}
.seo-inv h2{
  font-size:var(--t-h2);font-weight:700;letter-spacing:-.02em;color:#fff;
  padding-bottom:.1em;
}
.seo-inv-sub{
  font-size:var(--t-body);line-height:1.7;color:rgba(255,255,255,.7);
  max-width:560px;margin:12px auto 40px;
}
.seo-inv-stage{position:relative;width:min(760px,100%);margin:0 auto;min-height:420px}
.seo-inv-stage .art{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(320px,70%);filter:drop-shadow(0 30px 70px rgba(0,0,0,.6));
  animation:seobob 7s ease-in-out infinite;
}
@keyframes seobob{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-56%)}}
.seo-pill{
  position:absolute;
  font-size:var(--t-body);font-weight:600;color:#fff;padding:11px 22px;border-radius:999px;
  background:rgba(16,8,22,.75);border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 10px 30px rgba(0,0,0,.4);
  animation:seofloat 6s ease-in-out infinite;
}
@keyframes seofloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.p1{left:6%;top:22%}
.p2{left:2%;top:52%;animation-delay:1.2s}
.p3{right:8%;top:18%;animation-delay:.6s}
.p4{right:3%;top:50%;animation-delay:1.8s}
.p5{left:50%;bottom:4%;transform:translateX(-50%);animation-delay:.9s}
@media(prefers-reduced-motion:reduce){.seo-pill,.seo-inv-stage .art{animation:none}}

/* ===== STATS ===== */
.seo-stats{
  padding:100px 56px;text-align:center;
  background:radial-gradient(120% 140% at 50% 0%,#2c1440 0%,#190a26 45%,#0d0514 100%);
}
.seo-stats h2{
  font-size:var(--t-h2);font-weight:700;letter-spacing:-.02em;color:#fff;padding-bottom:.1em;
}
.seo-stats .lt{font-size:var(--t-body);color:rgba(255,255,255,.6);margin:8px 0 54px}
.seo-stats-grid{
  max-width:1000px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:52px 30px;
}
.seo-stat b{
  display:block;font-size:clamp(34px,3.6vw,48px);font-weight:700;letter-spacing:-1px;line-height:1.1;color:#fff;
}
.seo-stat span{display:block;font-size:var(--t-body);line-height:1.5;color:rgba(255,255,255,.55);margin-top:8px}

/* ===== INSIGHTS ===== */
.seo-ins{padding:100px 56px;background:#000}
.seo-ins .sec-title{text-align:center}
.seo-ins-sub{
  text-align:center;font-size:var(--t-body);color:rgba(255,255,255,.5);
  margin:12px auto 50px;max-width:640px;line-height:1.65;
}
.seo-ins-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
/* 3D flip cards (same pattern as other pages) */
.seo-ins-card{position:relative;min-height:180px;perspective:1200px;cursor:pointer;outline:none}
.seo-ins-card::after{ /* grounded shadow that deepens mid-flip */
  content:'';position:absolute;left:8%;right:8%;bottom:-14px;height:26px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.6),transparent 70%);
  filter:blur(12px);opacity:.3;transform:scale(.94);
  transition:opacity .7s cubic-bezier(.35,.1,.25,1),transform .7s cubic-bezier(.35,.1,.25,1);
  pointer-events:none;
}
.sif-in{
  position:relative;width:100%;height:100%;min-height:180px;
  transform-style:preserve-3d;will-change:transform;
  transition:transform .7s cubic-bezier(.35,.1,.25,1);
}
@media(hover:hover){.seo-ins-card:hover .sif-in{transform:rotateY(180deg)}
  .seo-ins-card:hover::after{opacity:.7;transform:scale(1.05)}}
.seo-ins-card.flipped .sif-in,.seo-ins-card:focus-visible .sif-in{transform:rotateY(180deg)}
.seo-ins-card.flipped::after,.seo-ins-card:focus-visible::after{opacity:.7;transform:scale(1.05)}
.sif-face{
  position:absolute;inset:0;border-radius:14px;padding:24px 22px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-start;
  background:#101013;border:1px solid rgba(255,255,255,.1);
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  transform:rotateY(0deg) translateZ(1px);
}
.sif-front{
  background:linear-gradient(180deg,rgba(183,28,237,.10) 0%,rgba(255,255,255,.03) 30%,#101013 100%);
}
.sif-front::before{ /* cursor spotlight */
  content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(183,28,237,.13),transparent 65%);
}
@media(hover:hover){.seo-ins-card:hover .sif-front::before{opacity:1}}
.sif-face::after{ /* light sweep during the flip */
  content:'';position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.16) 50%,transparent 62%);
  transition:opacity .3s ease .12s;
}
.seo-ins-card:hover .sif-face::after,.seo-ins-card.flipped .sif-face::after{opacity:1}
.sif-back{
  transform:rotateY(180deg) translateZ(1px);
  background:linear-gradient(180deg,rgba(183,28,237,.26) 0%,rgba(38,10,54,.92) 55%,rgba(14,5,20,.96) 100%);
  border-color:rgba(183,28,237,.45);
  justify-content:center;
}
.sif-face b{display:block;font-size:var(--t-h3);font-weight:700;color:#fff;margin-bottom:8px}
.sif-face p{font-size:var(--t-body);line-height:1.6;color:rgba(255,255,255,.72);margin:0}
.sif-hint{
  margin-top:auto;font-size:var(--t-caption);letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.48);
}
@media(prefers-reduced-motion:reduce){.sif-in,.seo-ins-card::after{transition:none}}

@media(max-width:1024px){
  .seo-ind-inner{grid-template-columns:1fr}
  .seo-map{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:26px;padding-top:10px}
  .seo-map::before,.seo-map::after,.seo-map .core{display:none}
  .seo-node{position:static;width:auto;margin-left:0;transform:none !important;text-align:left;align-items:flex-start}
  .seo-ins-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .seo-ind,.seo-stats,.seo-ins{padding-left:24px;padding-right:24px}
  .seo-stats-grid{grid-template-columns:1fr;gap:34px}
  .seo-inv-stage{min-height:520px}
  .seo-pill{position:static;display:inline-block;margin:6px 4px;transform:none}
  .seo-inv-stage .art{position:static;transform:none;margin:26px auto 0;display:block}
  .seo-inv-stage{display:flex;flex-direction:column-reverse;align-items:center}
}
@media(max-width:520px){
  .seo-map{grid-template-columns:1fr}
  .seo-ins-grid{grid-template-columns:1fr}
}

/* --- dm-premium --- */
/* ===== PREMIUM POLISH (site-wide, not on home) ===== */
::selection{background:rgba(183,28,237,.45);color:#fff}
html{scrollbar-width:thin;scrollbar-color:#6d2f92 #0a0710}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:#0a0710}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#B71CED,#6a0f9e);border-radius:99px;border:2px solid #0a0710}
::-webkit-scrollbar-thumb:hover{background:#c93cf5}
:focus-visible{outline:2px solid rgba(183,28,237,.75);outline-offset:3px}
section[id],footer[id]{scroll-margin-top:96px}
#scrollProg{box-shadow:0 0 12px rgba(183,28,237,.8),0 0 4px rgba(233,30,140,.9)}
.form-btn{position:relative;overflow:hidden}
.form-btn::before{content:'';position:absolute;top:0;left:-130%;width:55%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-18deg);pointer-events:none}
.form-btn:hover::before{animation:ctaShine .85s ease}
@media(prefers-reduced-motion:no-preference){
  body{animation:dmPageIn .55s ease-out both}
  @keyframes dmPageIn{from{opacity:0}to{opacity:1}}
  .reveal{opacity:0;transform:translateY(36px);filter:blur(9px);
    transition:opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1),filter .95s cubic-bezier(.16,1,.3,1)}
  .reveal.in{opacity:1;transform:none;filter:none}
  .reveal-fade{opacity:0;transform:translateY(20px) scale(.98);filter:blur(7px);
    transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1)}
  .reveal-fade.in{opacity:1;transform:none;filter:none}
}

/* --- dart-footer-size --- */
/* ===== footer text at body size ===== */
.F .Fbrand p,.F .Fcol a,.F .offmini b,.F .offmini a,.F .Fbot{font-size:var(--dart-body,18px)!important;line-height:1.35!important}
.F .Fcol h4,.F .Fcol h3{font-size:14px!important}
.F .offmini img{width:32px!important}

/* --- dart-typography --- */
/* ===== TYPE SCALE (single source, fluid): H1 70 | H2 60 | H3 25 | Body 18 | Caption 14 | Button 18 ===== */
:root{--t-h1:clamp(42px,5.2vw,70px);--t-h2:clamp(32px,4.4vw,60px);--t-h3:clamp(20px,1.85vw,25px);--t-sub:clamp(17px,1.35vw,18px);--t-body:clamp(17px,1.3vw,18px);--t-btn:clamp(16px,1.3vw,18px);--t-caption:clamp(15px,1.2vw,16px);--dart-body:clamp(17px,1.3vw,18px);--dart-body-sm:clamp(17px,1.3vw,18px)}
body{font-size:var(--t-body)!important}
.bp-hero h1, .seo-hero h1, .if-hero h1, .ih-hero h1{font-size:var(--t-h1)!important;font-weight:500!important;line-height:1.08!important}
.cta-left h2, .sec-title, .seo-ind-txt h2, .seo-inv h2, .seo-stats h2{font-size:var(--t-h2)!important;font-weight:500!important;line-height:1.12!important}
h3, h4, .bp-art h2, .bp-art h3{font-size:var(--t-h3)!important;font-weight:600!important;line-height:1.25!important}
.abf-front b, .abf-back b, .bd-step b, .ai-hf-card b, .ai-step b, .ai-svc-card b, .aic b, .bd-wcard b, .cmf-face b, .prf-face b, .sif-face b, .wdf-face b, .pm-wrong-card b, .wd-wcard b, .ab-member b, .pstep b, .seg-top b, .ct-loc b{font-size:var(--t-h3)!important;font-weight:600!important;line-height:1.25!important}
.bd-price-sub, .bd-proc-sub, .bl-hero-sub, .cta-tagline, .cta-ul li, .dsi, .dstack-label, .faq-sub, .fs-hero-sub, .hero-sub, .ind-emoji, .lead, .pain-desc, .pain-note, .pain-title, .sec-label, .sec-sub, .seo-hero-sub, .seo-ind-txt .bold, .seo-ind-txt p, .seo-ins-sub, .seo-inv-sub, .seo-pill, .seo-stat span, .seo-stats .lt, .sif-face p, .stack-label, .stat-txt, .ti, .tool, .trev-aname, .trev-ccount, .trev-clink, .trev-mcount, .trev-mitem, .trev-quote, .vnums-sub, .wgd-h, .wgd-p, .wgd-stxt, .why-cat p{font-size:var(--t-body)!important;line-height:1.3!important}
.bd-price-sub, .bd-proc-sub, .bl-hero-sub, .bp-hero .excerpt, .cr-form .sub, .ct-every .sub, .cta-tagline, .faq-sub, .fs-hero-sub, .hero-sub, .lead, .pain-desc, .sec-sub, .seo-hero-sub, .seo-ins-sub, .seo-inv-sub, .stat-txt, .vnums-sub, .wgd-p, .why-cat p{font-size:var(--t-sub)!important;line-height:1.5!important}
.nav-cta, .btn-p, .btn-o, .form-btn, .fs-btn, .bd-btn, .cr-btn, .cm-btn, .bl-btn, .bd-plan .cta, .nav-cta .cta-ico, .form-btn .btn-ico, .bl-pager button, .fs-btn.ghost{font-size:var(--t-btn)!important;font-weight:500!important}
.sec-kicker, .kicker, .eyebrow, figcaption, .bp-fig figcaption, .bp-cat, .bl-card .date, .bp-hero .date, .cover .site, .svc-tailored-label, .F .Fcol h4,.F .Fcol h3, .tp-txt, .abf-hint, .dstack-label, .stack-label, .sec-label, .stat .lab, .camp-stats span, .bull-tools span, .trev-ctag, .logos-label, .tag, .chips a{font-size:var(--t-caption)!important}
/* ===== DESIGN SYSTEM - tokens, radius, buttons (single source of truth) ===== */
:root{
  --c-bg:#000;
  --c-orange:#ED671C;
  --c-magenta:#B71CED;
  --c-violet:#8B5CF6;
  --c-pink:#E91E8C;
  --grad-brand:linear-gradient(135deg,#8B5CF6 0%,#B71CED 38%,#E91E8C 70%,#ED671C 100%);
  --grad-btn:linear-gradient(95deg,#a31ce8 0%,#c41fd4 100%);
  --grad-btn-hover:linear-gradient(95deg,#b228f5 0%,#d52ae6 100%);
  --tx-1:#fff;
  --tx-2:rgba(255,255,255,.65);
  --tx-3:rgba(255,255,255,.45);
  --line:rgba(255,255,255,.12);
  --line-soft:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.14);
  --r-nav:12px;
  --r-nav-link:8px;
  --r-btn:10px;
  --r-card:16px;
  --r-panel:20px;
}
/* Every button shares one radius */
.btn-p, .btn-o, .form-btn, .fs-btn, .fs-btn.ghost, .bd-btn, .cr-btn, .ct-submit, .cm-btn,
.bl-btn, .bd-plan .cta, .nav-cta, .bl-pager button{border-radius:var(--r-btn)!important}
/* Section CTA buttons */
.btn-p, .btn-o, .bd-btn, .cm-btn, .fs-btn, .fs-btn.ghost, .bl-btn, .bd-plan .cta{padding:14px 30px!important}
/* Form submit buttons */
.form-btn, .ct-submit, .cr-btn{padding:15px!important}
/* Nav CTA */
.nav-cta{padding:11px 22px!important}
@media(max-width:1024px){.nav-cta{padding:9px 16px!important}}
/* Primary button - one gradient style, one hover behaviour */
.btn-p, .form-btn, .ct-submit, .cr-btn, .bd-btn, .cm-btn, .bl-btn, .bd-plan .cta{
  background:var(--grad-btn)!important;color:var(--tx-1)!important;border:none!important;
  transition:background .25s ease,transform .2s ease,box-shadow .25s ease!important;
}
.btn-p:hover, .form-btn:hover, .ct-submit:hover, .cr-btn:hover, .bd-btn:hover, .cm-btn:hover,
.bl-btn:hover, .bd-plan .cta:hover, .nav-cta:hover{
  background:var(--grad-btn-hover)!important;transform:translateY(-1px)!important;
  box-shadow:0 8px 24px rgba(183,28,237,.28)!important;
}
/* Secondary button - one outline style, matching hover */
.btn-o, .fs-btn.ghost{
  background:transparent!important;color:var(--tx-1)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  transition:background .25s ease,border-color .25s ease,transform .2s ease!important;
}
.btn-o:hover, .fs-btn.ghost:hover{
  background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.40)!important;
  transform:translateY(-1px)!important;
}

/* --- ind-fin-style --- */
.if-hero{position:relative;min-height:88vh;display:flex;flex-direction:column;justify-content:center;padding:150px 56px 70px;background:#000;overflow:hidden}
.if-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 55% at 75% 20%,rgba(139,92,246,.16),transparent 60%),radial-gradient(45% 50% at 15% 85%,rgba(233,30,140,.10),transparent 65%)}
.if-hero-in{position:relative;max-width:1180px;margin:0 auto;width:100%}
.if-hero h1{color:#fff;max-width:16ch;letter-spacing:-.02em}
.if-hero .sub{max-width:62ch;margin:22px 0 34px;color:rgba(255,255,255,.72)}
.if-btns{display:flex;gap:14px;flex-wrap:wrap}
.if-trust{position:relative;margin-top:64px;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:56px;align-items:center;flex-wrap:wrap}
.if-trust .tlabel{font-size:var(--t-caption);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.48);font-weight:700}
.if-tlogo{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.if-tlogo img{height:34px;width:auto;opacity:.92}
.if-tlogo span{font-size:var(--t-caption);color:rgba(255,255,255,.48)}
.if-sec{padding:100px 56px;background:#000}
.if-sec.alt{background:#070708}
.if-inner{max-width:1180px;margin:0 auto}
.if-grid{display:grid;gap:18px;margin-top:44px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g2{grid-template-columns:1fr 1fr}
.if-card{background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:30px 26px;transition:transform .3s,border-color .3s}
.if-card:hover{transform:translateY(-5px);border-color:rgba(183,28,237,.55)}
.if-card img.ico{height:56px;width:auto;margin-bottom:18px;filter:drop-shadow(0 8px 22px rgba(183,28,237,.35))}
.if-card h3{color:#fff;margin-bottom:10px}
.if-card p{color:rgba(255,255,255,.62)}
.if-card .go{display:inline-block;margin-top:14px;color:#d94ce6;font-weight:600}
.if-card .go:hover{color:#fff}
.if-step{position:relative;padding-top:18px}
.if-step .n{font-size:var(--t-caption);font-weight:700;letter-spacing:.16em;color:#B71CED;display:block;margin-bottom:10px}
.if-case{display:flex;flex-direction:column}
.if-case .tick{font-size:var(--t-caption);color:rgba(255,255,255,.48);margin-bottom:12px;display:block}
.if-logos{display:flex;gap:70px;justify-content:center;align-items:center;padding:56px 24px;background:#070708;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);flex-wrap:wrap}
.if-logos img{height:30px;width:auto;opacity:.85}
@media(max-width:1080px){.if-hero,.if-sec{padding-left:36px;padding-right:36px}.g4{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.g2{grid-template-columns:1fr}.g3{grid-template-columns:1fr}.g4{grid-template-columns:1fr}.if-hero{min-height:auto;padding-top:130px}.if-trust{gap:30px}}
@media(max-width:580px){.if-hero,.if-sec{padding-left:20px;padding-right:20px}}

/* --- block --- */
/* ===== editorial theme (reference-inspired, Dart design language) ===== */
.if-band{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center;max-width:1180px;margin:0 auto}
.if-band.rev .if-band-vis{order:-1}
.if-band-txt .sec-kicker{margin-bottom:12px}
.if-band-txt h2{margin-bottom:14px}
.if-band-lead{font-size:var(--t-h3);font-weight:600;color:#fff;line-height:1.35;margin:0 0 18px}
.if-band-txt p{color:rgba(255,255,255,.68);margin:0 0 14px}
.if-band-txt p strong{color:#fff}
.if-band-vis{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px}
.if-band-vis::before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(183,28,237,.22),transparent 65%)}
.if-band-vis img{position:relative;height:320px;width:auto;filter:drop-shadow(0 24px 60px rgba(183,28,237,.45));animation:iffloat 7s ease-in-out infinite}
@keyframes iffloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.if-tactics{max-width:1180px;margin:44px auto 0;border-top:1px solid rgba(255,255,255,.12)}
.if-trow{display:grid;grid-template-columns:72px 1fr auto;gap:24px;align-items:center;padding:28px 10px;border-bottom:1px solid rgba(255,255,255,.12);transition:background .25s,padding-left .25s}
.if-trow:hover{background:rgba(183,28,237,.06);padding-left:22px}
.if-trow .tn{font-size:var(--t-caption);font-weight:700;letter-spacing:.14em;color:#B71CED}
.if-trow h3{margin:0}
.if-trow p{color:rgba(255,255,255,.6);margin:6px 0 0}
.if-trow .ta{color:#d94ce6;font-weight:600;white-space:nowrap}
.if-trow .ta:hover{color:#fff}
.if-scrollcue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.48);font-size:var(--t-caption);letter-spacing:.22em;text-transform:uppercase;animation:ifbob 2.4s ease-in-out infinite}
@keyframes ifbob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
.if-hero .decor{position:absolute;width:200px;opacity:.35;filter:blur(1px) drop-shadow(0 0 50px rgba(183,28,237,.6));animation:iffloat 9s ease-in-out infinite;pointer-events:none}
@media(max-width:1080px){.if-band{grid-template-columns:1fr;gap:36px}.if-band.rev .if-band-vis{order:0}.if-band-vis{min-height:240px}.if-trow{grid-template-columns:52px 1fr;grid-auto-rows:auto}.if-trow .ta{grid-column:2}}

/* --- if-variant --- */
:root{--if-accent:#B71CED;--if-soft:rgba(183,28,237,.22)}
.sec-kicker{color:var(--if-accent)!important}
.if-trow .tn,.if-step .n{color:var(--if-accent)!important}
.if-card:hover{border-color:var(--if-accent)!important}
.if-hero::before{background:radial-gradient(60% 55% at 72% 18%,var(--if-soft),transparent 62%),radial-gradient(45% 50% at 12% 88%,rgba(233,30,140,.07),transparent 65%)!important}
.if-band-vis::before{background:radial-gradient(circle,var(--if-soft),transparent 65%)!important}
.if-hero.center .if-hero-in{text-align:center}
.if-hero.center .if-btns{justify-content:center}
.if-hero.center .if-trust{justify-content:center}
.if-hero.center h1,.if-hero.center .sub{margin-left:auto;margin-right:auto}
.if-hero.split .if-hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.if-hero-vis{position:relative;display:flex;align-items:center;justify-content:center;min-height:320px}
.if-hero-vis::before{content:'';position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,var(--if-soft),transparent 65%)}
.if-hero-vis img{position:relative;height:260px;width:auto;filter:drop-shadow(0 28px 70px var(--if-soft));animation:iffloat 7s ease-in-out infinite}
.if-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.if-chip{border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:8px 18px;color:rgba(255,255,255,.75);font-size:var(--t-caption);background:rgba(255,255,255,.04)}
.if-chip b{color:var(--if-accent)}
@media(max-width:1080px){.if-hero.split .if-hero-in{grid-template-columns:1fr}.if-hero-vis{min-height:220px}.if-hero-vis img{height:180px}}

/* open layouts: numbered timeline + proof rows (fewer cards) */
.if-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:44px}
.if-stepx{border-top:1px solid rgba(255,255,255,.14);padding-top:20px;transition:border-color .3s}
.if-stepx:hover{border-top-color:var(--if-accent,#B71CED)}
.if-stepx .bign{font-size:clamp(30px,3.2vw,46px);font-weight:700;letter-spacing:-.02em;background:var(--gtext);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;display:block;margin-bottom:10px;padding-bottom:.18em}
.if-stepx h3{margin:0 0 8px}
.if-stepx p{color:rgba(255,255,255,.62);margin:0}
.if-proofrows{margin-top:36px;border-top:1px solid rgba(255,255,255,.12)}
.if-proofrow{display:grid;grid-template-columns:230px 1fr;gap:34px;padding:34px 6px;border-bottom:1px solid rgba(255,255,255,.12);align-items:start;transition:background .25s}
.if-proofrow:hover{background:rgba(255,255,255,.02)}
.if-proofrow .tick{font-size:var(--t-caption);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--if-accent,#c41fd4)}
.if-proofrow h3{margin:0 0 10px}
.if-proofrow p{color:rgba(255,255,255,.66);margin:0 0 12px}
.if-proofrow .go{color:#d94ce6;font-weight:600}
.if-proofrow .go:hover{color:#fff}
@media(max-width:1080px){.if-steps{grid-template-columns:1fr 1fr;gap:30px}.if-proofrow{grid-template-columns:1fr;gap:8px;padding:26px 4px}}
@media(max-width:580px){.if-steps{grid-template-columns:1fr}}

/* --- if-polish --- */
/* orbit ring behind band + hero visuals */
.if-band-vis::after,.if-hero-vis::after{content:'';position:absolute;width:310px;height:310px;border:1px dashed rgba(255,255,255,.16);border-radius:50%;animation:ifspin 28s linear infinite;pointer-events:none}
@keyframes ifspin{to{transform:rotate(360deg)}}
/* tactic rows: arrow nudge */
.if-trow .ta{transition:transform .25s,color .2s;display:inline-block}
.if-trow:hover .ta{transform:translateX(6px)}
/* proof rows: accent slide */
.if-proofrow{border-left:2px solid transparent;padding-left:10px;transition:border-color .3s,background .25s,padding-left .25s}
.if-proofrow:hover{border-left-color:var(--if-accent,#B71CED);padding-left:18px}
/* timeline dots */
.if-stepx{position:relative}
.if-stepx::before{content:'';position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--if-accent,#B71CED);box-shadow:0 0 14px var(--if-soft,rgba(183,28,237,.5))}
/* trust logos + chips hover */
.if-tlogo img{transition:opacity .25s,transform .25s}
.if-tlogo:hover img{opacity:1;transform:translateY(-3px)}
.if-chip{transition:border-color .25s,transform .25s}
.if-chip:hover{border-color:var(--if-accent,#B71CED);transform:translateY(-2px)}
/* resources + service cards: icon nudge */
.if-card img.ico{transition:transform .35s}
.if-card:hover img.ico{transform:scale(1.07) rotate(-3deg)}
/* reveal on scroll (JS-armed, safe without JS) */
html.ifrv .if-band-txt,html.ifrv .if-band-vis,html.ifrv .if-trow,html.ifrv .if-stepx,html.ifrv .if-proofrow,html.ifrv .if-card,html.ifrv .if-strip > div{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease}
html.ifrv .if-band-txt.in,html.ifrv .if-band-vis.in,html.ifrv .if-trow.in,html.ifrv .if-stepx.in,html.ifrv .if-proofrow.in,html.ifrv .if-card.in,html.ifrv .if-strip > div.in{opacity:1;transform:none}

/* --- if-polish2 --- */
/* hero: drifting aurora + dot texture + soft bottom fade (inner pages only) */
.if-hero{isolation:isolate}
.if-hero::after{content:'';position:absolute;width:560px;height:560px;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,var(--if-soft,rgba(183,28,237,.2)),transparent 62%);
  top:-140px;right:-120px;filter:blur(10px);animation:ifdrift 16s ease-in-out infinite alternate}
@keyframes ifdrift{from{transform:translate(0,0) scale(1)}to{transform:translate(-70px,50px) scale(1.12)}}
.if-hero .if-hero-in::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;
  mask-image:radial-gradient(60% 60% at 40% 40%,#000,transparent 75%);-webkit-mask-image:radial-gradient(60% 60% at 40% 40%,#000,transparent 75%)}
/* trust bar as glass strip */
.if-trust{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09)!important;border-radius:16px;padding:22px 28px!important;margin-top:92px!important}
/* band visual: open, no panel */
.if-band-vis{background:none;border:none;min-height:360px}
.if-band-vis::before{width:360px;height:360px}
.if-band-vis::after{width:340px;height:340px}
/* tactic numbers as circled chips */
.if-trow .tn{width:52px;height:52px;border:1px solid rgba(255,255,255,.16);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .25s,background .25s}
.if-trow:hover .tn{border-color:var(--if-accent,#B71CED);background:var(--if-soft,rgba(183,28,237,.15))}
/* proof tick as pill */
.if-proofrow .tick{display:inline-block;border:1px solid var(--if-accent,rgba(183,28,237,.5));border-radius:99px;padding:6px 14px;width:max-content}
/* strip separators */
.if-strip > div{position:relative}
.if-strip > div + div::before{content:'';position:absolute;left:-9px;top:12%;bottom:12%;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.18),transparent)}
/* timeline: continuous rail behind the dots */
.if-steps{position:relative}
.if-steps::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--if-soft,rgba(183,28,237,.35)),rgba(255,255,255,.1) 60%,transparent)}
/* resources cards: gradient top reveal */
.if-card{position:relative;overflow:hidden}
.if-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gtext);opacity:0;transition:opacity .3s}
.if-card:hover::before{opacity:1}
@media(max-width:860px){.if-hero::after{width:340px;height:340px}.if-trust{padding:16px 18px!important;gap:22px}}

/* --- if-btn-fix --- */
/* align industry buttons with the site's real button style (nav CTA gradient) */
.btn-p{background:linear-gradient(95deg,#a31ce8 0%,#c41fd4 100%)!important;border-radius:10px!important}
.btn-p:hover{background:linear-gradient(95deg,#b228f5 0%,#d52ae6 100%)!important;box-shadow:0 0 34px rgba(183,28,237,.45);transform:translateY(-1px)}
.btn-o{border-radius:10px!important}

/* --- if-cards-flat --- */
/* flat compact cards per reference */
.ihg-card,.if-card{background:#161618!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:14px!important;padding:22px!important;box-shadow:none!important}
.ihg-card:hover,.if-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.22)!important;box-shadow:0 12px 34px rgba(0,0,0,.45)!important}
.ihg-card::before,.if-card::before{display:none!important}
.ihg-card img{height:40px!important;margin-bottom:14px!important;filter:none!important}
.ihg-card:hover img{transform:none!important}
.if-card img.ico{height:44px!important;margin-bottom:14px!important;filter:none!important}
.if-card:hover img.ico{transform:none!important}
.ihg-card .mini{display:none!important}
.ihg-card h3,.if-card h3{margin:0 0 8px!important}

/* --- if-whylist --- */
.wd-list{display:flex;flex-direction:column;gap:14px;margin-top:26px}
.wd-item{display:flex;justify-content:space-between;gap:22px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:18px 20px;background:#151317;transition:border-color .25s,transform .25s}
.wd-item:hover{border-color:rgba(255,255,255,.22);transform:translateX(4px)}
.wd-item .wd-k{font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;font-size:var(--t-caption);display:block;margin-bottom:6px}
.wd-item p{margin:0;color:rgba(255,255,255,.6)}
.wd-item img{height:34px;width:auto;flex:none;opacity:.92}
.wd-item.hi{background:#B71CED;border-color:#B71CED}
.wd-item.hi p{color:rgba(255,255,255,.88)}
.wd-tick{flex:none;width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#d94ce6;font-size:16px;font-weight:700}
.wd-item.hi .wd-tick{border-color:rgba(255,255,255,.6);color:#fff}
.wd-item{justify-content:flex-start}
.wd-item .wd-tick{order:-1}
.if-trust .if-tlogo span{white-space:nowrap}
@media(max-width:860px){.if-trust .if-tlogo span{white-space:normal}}
@media(min-width:1081px){.if-trust{flex-wrap:nowrap;gap:32px;justify-content:flex-start}}

/* --- fs-res-cards --- */
.fs-res{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.fs-res a{display:block;border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;background:#121016;transition:transform .3s,border-color .3s}
.fs-res a:hover{transform:translateY(-6px);border-color:rgba(139,92,246,.55)}
.fs-res .thumb{position:relative;aspect-ratio:16/9;overflow:hidden}
.fs-res .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.fs-res a:hover .thumb img{transform:scale(1.06)}
.fs-res .thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.6))}
.fs-res .idx{position:absolute;top:12px;left:14px;z-index:1;font-weight:700;color:rgba(255,255,255,.9);background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:4px 10px;font-size:var(--t-caption);backdrop-filter:blur(6px)}
.fs-res .rbody{padding:20px 22px}
.fs-res h3{margin:0 0 8px}
.fs-res p{margin:0 0 12px;color:rgba(255,255,255,.62)}
.fs-res .go{color:#d94ce6;font-weight:600}
.fs-res a:hover .go{color:#fff}
@media(max-width:1080px){.fs-res{grid-template-columns:1fr}}

/* --- hc-design --- */
/* ===== healthcare art direction: MLR / clinical theme ===== */
.hc-ecg{display:block;width:min(900px,92%);height:54px;margin:38px auto 0;fill:none}
.hc-ecg polyline{stroke:#B71CED;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 10px rgba(183,28,237,.55));animation:hcbeat 3.2s linear infinite}
@keyframes hcbeat{0%{stroke-dashoffset:1}55%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}@media(max-width:1080px){}
/* services: care pathway zigzag */
.hc-path{position:relative;margin-top:50px;max-width:980px;margin-left:auto;margin-right:auto}
.hc-path::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:0;border-left:2px dashed rgba(183,28,237,.35)}
.hc-step{position:relative;width:calc(50% - 44px);padding:26px 28px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#141117;margin-bottom:30px;transition:border-color .25s,transform .25s}
.hc-step:hover{border-color:rgba(183,28,237,.55);transform:translateY(-3px)}
.hc-step:nth-child(odd){margin-right:auto}
.hc-step:nth-child(even){margin-left:auto}
.hc-step::before{content:'+';position:absolute;top:28px;width:34px;height:34px;border-radius:10px;background:rgba(183,28,237,.14);border:1px solid rgba(183,28,237,.5);color:#d94ce6;font-weight:700;font-size:19px;display:flex;align-items:center;justify-content:center}
.hc-step:nth-child(odd)::before{right:-61px}
.hc-step:nth-child(even)::before{left:-61px}
.hc-step h3{margin:0 0 8px}
.hc-step p{margin:0 0 10px;color:rgba(255,255,255,.64)}
.hc-step .go{color:#d94ce6;font-weight:600}
.hc-step .go:hover{color:#fff}
@media(max-width:1080px){.hc-path::before{left:12px}.hc-step{width:auto;margin-left:44px!important;margin-right:0!important}.hc-step::before{left:-44px!important;right:auto!important}}@media(max-width:1080px){}@media(max-width:1080px){}
/* why: plus-corner grid */
.hc-why{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px}
.hc-whycard{position:relative;border:1px solid rgba(255,255,255,.11);border-radius:16px;padding:30px 28px;background:#131016;transition:border-color .3s}
.hc-whycard::before,.hc-whycard::after{content:'+';position:absolute;color:rgba(183,28,237,.55);font-weight:700;font-size:18px;line-height:1}
.hc-whycard::before{top:10px;left:14px}
.hc-whycard::after{bottom:10px;right:14px}
.hc-whycard:hover{border-color:rgba(183,28,237,.6);animation:hcpulse 1.6s ease-in-out infinite}
@keyframes hcpulse{0%,100%{box-shadow:0 0 0 rgba(183,28,237,0)}50%{box-shadow:0 0 26px rgba(183,28,237,.25)}}
.hc-whycard h3{margin:0 0 10px}
.hc-whycard p{margin:0;color:rgba(255,255,255,.64)}
@media(max-width:860px){.hc-why{grid-template-columns:1fr}}

/* --- hc-trust-match --- */
/* trust bar matched to the financial page layout */
.if-hero.center .if-trust{justify-content:flex-start!important;width:100%;text-align:left}
.if-hero.center .if-trust .tlabel{margin-right:12px}
.if-trust .if-tlogo{flex-direction:row;align-items:center}
.if-trust .if-tlogo img{height:34px}

/* --- hcw-tabs-style --- */
.hcw{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;margin-top:44px;align-items:start}
.hcw-tabs{display:flex;flex-direction:column;gap:12px}
.hcw-tab{text-align:left;padding:20px 22px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#131016;cursor:pointer;transition:border-color .25s,background .25s,color .25s;color:rgba(255,255,255,.72);font-weight:600;font-size:var(--t-body);font-family:inherit}
.hcw-tab:hover{border-color:rgba(183,28,237,.4);color:#fff}
.hcw-tab.on{border-color:#B71CED;color:#fff;background:rgba(183,28,237,.09);box-shadow:0 0 26px rgba(183,28,237,.16)}
.hcw-panel{position:relative;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(160deg,rgba(183,28,237,.11),#0d0b10 60%);padding:42px 38px;min-height:320px;overflow:hidden}
.hcw-panel .gn{position:absolute;top:8px;right:24px;font-size:104px;font-weight:700;color:rgba(255,255,255,.05);line-height:1;pointer-events:none}
.hcw-item{display:none}
.hcw-item.on{display:block;animation:hcwfade .45s ease}
@keyframes hcwfade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hcw-item h3{margin:0 0 14px}
.hcw-item p{margin:0;color:rgba(255,255,255,.72);max-width:56ch}
@media(max-width:1080px){.hcw{grid-template-columns:1fr}.hcw-panel{min-height:auto}}

/* --- hc-flow-style --- */
.hc-flow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:64px}
.hc-flow::before{content:'';position:absolute;top:27px;left:27px;right:27px;height:1px;background:linear-gradient(90deg,#B71CED,#ED671C);opacity:.5}
.hcf-step{position:relative}
.hcf-step .node{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#0b0a0e;border:1px solid rgba(183,28,237,.6);color:#d94ce6;font-weight:700;font-size:var(--t-body);margin-bottom:22px;transition:background .3s,color .3s,box-shadow .3s}
.hcf-step:hover .node{background:linear-gradient(135deg,#B71CED,#ED671C);color:#fff;box-shadow:0 0 26px rgba(183,28,237,.45)}
.hcf-step h3{margin:0 0 10px}
.hcf-step p{margin:0;color:rgba(255,255,255,.62)}
@media(max-width:1080px){.hc-flow{grid-template-columns:1fr 1fr;gap:40px 30px}.hc-flow::before{display:none}}
@media(max-width:640px){.hc-flow{grid-template-columns:1fr}}

/* --- hc-pain-style --- */
.hc-pain{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:92px}
.hp{position:relative;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(150deg,#141018,#0e0b10);padding:78px 42px 42px;transition:border-color .35s,transform .35s;overflow:visible}
.hp::before{content:'';position:absolute;top:-70px;left:-40px;width:300px;height:300px;border-radius:50%;filter:blur(70px);pointer-events:none}
.hp:nth-child(1)::before{background:rgba(183,28,237,.22)}
.hp:nth-child(2)::before{background:rgba(237,103,28,.18)}
.hp:hover{transform:translateY(-6px);border-color:rgba(183,28,237,.5)}
.hp .ico{position:absolute;top:-44px;left:40px;width:96px;height:96px;border-radius:24px;background:rgba(20,16,24,.85);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;transform:rotate(-6deg);transition:transform .35s;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.hp:hover .ico{transform:rotate(0deg) translateY(-6px)}
.hp .ico img{width:62px;height:62px;object-fit:contain}
.hp .kick{display:block;font-size:var(--t-caption);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.48);margin-bottom:12px}
.hp h3{margin:0 0 14px}
.hp p{margin:0;color:rgba(255,255,255,.68)}
@media(max-width:1080px){.hc-pain{grid-template-columns:1fr;gap:74px}.hp{padding:72px 28px 32px}}

/* --- nav-mobile-fix --- */
/* ===== Mobile navigation (hamburger + drawer) ===== */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(20,20,23,.72);cursor:pointer;padding:0;position:relative;z-index:901;flex:none}
.nav-burger span{display:block;width:20px;height:2px;margin:0 auto;background:#fff;border-radius:2px;transition:transform .3s,opacity .25s}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mob{position:fixed;inset:0;z-index:890;background:rgba(8,6,12,.98);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);display:flex;flex-direction:column;padding:92px 24px 40px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .35s ease,transform .4s ease,visibility .4s}
.nav-mob.open{opacity:1;visibility:visible;transform:none}
.nav-mob-links{display:flex;flex-direction:column}
.nav-mob-links>a,.nm-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:inherit;font-size:19px;font-weight:500;color:#fff;text-decoration:none;padding:15px 6px;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:none;cursor:pointer;text-align:left}
.nav-mob-links>a:hover,.nm-trigger:hover{color:#fff}
.nm-trigger .chev{font-size:14px;color:rgba(255,255,255,.5);transition:transform .3s}
.nm-group.open .nm-trigger .chev{transform:rotate(180deg)}
.nm-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.nm-group.open .nm-sub{grid-template-rows:1fr}
.nm-sub-in{overflow:hidden;min-height:0}
.nm-sub a{display:block;font-size:15px;color:rgba(255,255,255,.62);text-decoration:none;padding:10px 6px 10px 18px}
.nm-sub a:hover{color:#fff}
.nm-sub-label{display:block;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.48);padding:14px 6px 4px 18px}
.nav-mob .nav-cta{display:inline-flex;justify-content:center;width:100%;margin-top:28px}
body.nav-locked{overflow:hidden}
@media(max-width:1024px){.nav-burger{display:flex}.nav-logo{position:relative;z-index:901}.nav>.nav-cta{display:none}}
@media(min-width:1025px){.nav-mob{display:none!important}.nav-burger{display:none!important}}
@media(prefers-reduced-motion:reduce){.nav-mob,.nav-burger span,.nm-sub,.nm-trigger .chev{transition:none}}

/* --- hc-step-ico --- */
.hc-step .ico{width:52px;height:52px;object-fit:contain;margin-bottom:14px;display:block}

/* --- if-logos-band --- */
.logos-band{padding:36px 0 40px;background:#000;border-top:none;border-bottom:1px solid rgba(255,255,255,.06)}
.logos-label{font-size:var(--t-caption);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.48);text-align:center;margin-bottom:18px}
.logos-track{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logos-track + .logos-track{margin-top:34px}
.logos-inner{display:flex;gap:78px;align-items:center;width:max-content}
.logos-row1{animation:lscroll 50s linear infinite}
.logos-row2{animation:lscrollR 50s linear infinite}
.logos-inner img{max-height:36px;max-width:150px;height:auto;width:auto;object-fit:contain}
.logos-track:hover .logos-inner{animation-play-state:paused}
@keyframes lscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes lscrollR{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* --- if-hero-homefont --- */
.if-hero h1,.ih-hero h1{background:linear-gradient(180deg,#fff 0%,#fff 68%,#d8d8d8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;letter-spacing:-.05em;padding-bottom:.12em;padding-bottom:.18em}
.if-hero h1 .g-text,.ih-hero h1 .g-text{-webkit-text-fill-color:transparent}

/* --- cta-form-xl --- */
.cta-sec .form-box{max-width:600px;padding:38px 34px}
.form-box .f-title{margin:0 0 6px;color:#fff;font-size:var(--t-h3);font-weight:600}
.form-box .f-sub{margin:0 0 24px;color:rgba(255,255,255,.55);font-size:var(--t-caption);line-height:1.5}
.cta-sec .fg-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cta-sec .fg{margin-bottom:18px}
.cta-sec .fg label{display:block;font-size:var(--t-caption);font-weight:600;color:rgba(255,255,255,.6);margin:0 0 7px}
.cta-sec .fg input,.cta-sec .fg textarea{font-size:16px}
.cta-sec .fg textarea{min-height:132px;resize:vertical}
.cta-sec .form-btn{padding:17px}
@media(max-width:640px){.cta-sec .fg-row{grid-template-columns:1fr}.cta-sec .form-box{padding:30px 22px}}
/* wider CTA card + white gradient stroke.
   the ramp mirrors the .bull-card gradient-border recipe already on this site, in white.
   double background: padding-box paints the card fill, border-box paints the
   gradient into the 1px border, so radius, shadow and padding are preserved
   and no pseudo-element or extra markup is needed.
   the input fields are not selected here, they keep their own plain border. */
.cta-sec .cta-inner{max-width:1280px}
.cta-sec .form-box{border-color:transparent;background:linear-gradient(#0d0d0d,#0d0d0d) padding-box,linear-gradient(160deg,rgba(255,255,255,.7),rgba(255,255,255,.12) 55%,rgba(255,255,255,.34)) border-box}

/* --- if-hero-tight --- */
.if-hero{min-height:auto;padding-bottom:96px}

/* --- dart-mobile-fix --- */
/* Dart Marketing - mobile responsiveness fixes.
   Scoped to mobile / tablet media queries only.
   Rendering above 1180px is unchanged. */
/* client logo grid: width:max-content pinned the CTA columns to 507px */
@media(max-width:860px){
  .cta-left,.cta-right{min-width:0}
  .cta-p-logos{width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}
  .cta-p-logos img{max-width:100%;min-width:0;object-fit:contain;object-position:left center}
}
@media(max-width:580px){
  .cta-p-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
  .cta-p-logos img{height:clamp(26px,8vw,36px)}
}
/* Clutch review card: 280px + 1fr / 1fr 1px 1fr never collapsed on mobile */
@media(max-width:860px){
  .trev-card{grid-template-columns:1fr}
  .trev-right{grid-template-columns:1fr}
  .trev-vdiv{width:100%;height:1px}
}
/* badge: anchor shrinks to 56x56 on mobile but the image stayed 76x82 */
@media(max-width:860px){
  .hero-clutch img{width:56px;height:56px;object-fit:cover}
}
/* logos-band caption is full-bleed: at 360-384px it sat 4px off the edge.
   Gated under 390px so the common phone widths render exactly as before. */
@media(max-width:389px){
  .logos-label{padding-left:22px;padding-right:22px}
}
/* touch targets: transparent hit area only, no visual change */
@media(max-width:860px){
  .nav-logo{position:relative}
  .nav-logo::after{content:"";position:absolute;top:-7px;right:0;bottom:-7px;left:0}
  .Fsoc a{position:relative}
  .Fsoc a::after{content:"";position:absolute;top:-6px;right:-4px;bottom:-6px;left:-4px;border-radius:50%}
}
@media(max-width:860px){
  .trev-clink{position:relative}
  .trev-clink::after{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}
}
/* secondary text CTAs sat 1-3px under the 24px minimum; hit area only */
@media(max-width:860px){
  a.go,.Fbot a{position:relative}
  a.go::after,.Fbot a::after{content:"";position:absolute;top:-3px;right:0;bottom:-3px;left:0}
}

/* --- if-hero-img --- */
/* healthcare hero banner: object sits beside the centred copy on desktop, ambient behind it on small screens */
.if-hero{background:#000 url('/assets/healthcare-hero-1920.jpg') right center/min(calc(113.9% - 957px),1231px) auto no-repeat}
.if-hero::before{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 13%,rgba(0,0,0,0) 72%,rgba(0,0,0,.72) 100%),radial-gradient(46% 52% at 13% 84%,rgba(233,30,140,.06),transparent 68%)!important}
.if-hero::after{display:none}
.if-hero h1{text-shadow:0 2px 28px rgba(0,0,0,.85)}
.if-hero .sub{color:rgba(255,255,255,.88)!important;text-shadow:0 1px 18px rgba(0,0,0,.85)}
@media(max-width:1080px){
  .if-hero{background-size:cover;background-position:82% 30%}
  .if-hero::before{background:linear-gradient(180deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.66) 28%,rgba(0,0,0,.70) 64%,rgba(0,0,0,.96) 100%),radial-gradient(88% 62% at 50% 44%,rgba(0,0,0,.78),rgba(0,0,0,0) 100%)!important}
}
@media(max-width:640px){
  .if-hero::before{background:linear-gradient(180deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.72) 30%,rgba(0,0,0,.74) 64%,rgba(0,0,0,.96) 100%),radial-gradient(94% 56% at 50% 32%,rgba(0,0,0,.82),rgba(0,0,0,0) 100%)!important}
}

/* --- dart-landmark-css --- */
.dart-skip{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden;white-space:nowrap;z-index:100000}
.dart-skip:focus,.dart-skip:focus-visible{left:14px;top:14px;width:auto;height:auto;overflow:visible;white-space:normal;padding:12px 20px;background:#fff;color:#000;border-radius:10px;font-family:'Satoshi',sans-serif;font-size:15px;font-weight:700;line-height:1.2;text-decoration:none;outline:3px solid #fff;outline-offset:2px;box-shadow:0 8px 28px rgba(0,0,0,.6)}
main{display:block}
main:focus{outline:none}

/* --- dart-tap-css --- */
/* WCAG 2.5.8 target size (minimum): transparent hit area only.
   No visual change - no colour, spacing, typography or box geometry is touched. */
/* "Marketing automation →"  measured 180.4x19 -> 180.4x25.0 */
a.go{position:relative}
a.go::after{content:"";position:absolute;top:-3px;right:0;bottom:-3px;left:0}

/* --- ih-clutch-style --- */
.ih-clutch{display:grid;grid-template-columns:1fr 1.15fr 1.15fr;max-width:1120px;margin:48px auto 0;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.cl-p1{background:#fff;color:#17313b;padding:34px 30px}
.cl-head{display:flex;align-items:baseline;gap:16px;margin-bottom:10px}
.cl-logo{font-size:var(--t-h3);font-weight:800;letter-spacing:-.02em;color:#17313b}
.cl-view{color:#17313b;text-decoration:underline;text-underline-offset:3px;font-size:var(--t-caption);font-weight:600}
.cl-view:hover{color:#000}
.cl-rev{font-weight:700;color:#17313b;margin-bottom:18px}
.ih-clutch .stars{color:#e62415;letter-spacing:2px;margin-left:6px}
.cl-chips{display:flex;flex-wrap:wrap;gap:10px}
.cl-chips span{background:#f2f2f2;color:#333;border-radius:8px;padding:8px 12px;font-size:var(--t-caption);font-weight:500}
.cl-p2{background:#0f0e12;padding:34px 30px;border-right:1px solid rgba(255,255,255,.1)}
.cl-rev2{color:#fff;font-weight:700;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:18px}
.cl-p2 ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.cl-p2 li{color:rgba(255,255,255,.8);display:flex;align-items:center;gap:12px}
.cl-p2 li i{font-style:normal;font-size:13px;color:#d94ce6;background:rgba(255,255,255,.07);border-radius:6px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.cl-p3{background:#0c0b0f;padding:38px 34px;display:flex;flex-direction:column;justify-content:space-between;gap:26px}
.cl-p3 .quote{margin:0;color:rgba(255,255,255,.88);text-align:center;line-height:1.55}
.cl-who{text-align:center}
.cl-who img{height:26px;width:auto;display:block;margin:0 auto 10px;opacity:.9}
.cl-who span{display:block;color:rgba(255,255,255,.55);font-size:var(--t-caption);line-height:1.5}
@media(max-width:1080px){.ih-clutch{grid-template-columns:1fr}.cl-p2{border-right:none;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}}
.cl-src{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.7);font-size:var(--t-caption);font-weight:500}
.cl-src .stars{color:#e62415;letter-spacing:1px;margin-left:2px}
.cl-case{display:table;margin:12px auto 0;color:#d94ce6;font-size:var(--t-caption);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cl-case:hover{color:#fff}
.cl-p2 ul,.cl-p2 .cl-rev2{transition:opacity .22s ease}
.cl-p2.fade ul,.cl-p2.fade .cl-rev2{opacity:0}

/* --- cl-slider-style --- */
.cl-p3{position:relative}
.cl-slides{position:relative;min-height:300px}
.cl-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;gap:22px}
.cl-slide.on{opacity:1;pointer-events:auto}
.cl-slide .quote{margin:0;color:rgba(255,255,255,.88);text-align:center;line-height:1.55}
.cl-who{text-align:center}
.cl-who img{height:24px;width:auto;display:block;margin:0 auto 10px;opacity:.9}
.cl-who span{display:block;color:rgba(255,255,255,.55);font-size:var(--t-caption);line-height:1.5}
.cl-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}
.cl-nav button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer;font-size:16px;transition:border-color .25s,background .25s}
.cl-nav button:hover{border-color:rgba(163,28,232,.7);background:rgba(163,28,232,.15)}
.cl-nav span{color:rgba(255,255,255,.48);font-size:var(--t-caption);font-weight:600;min-width:38px;text-align:center}
@media(max-width:1080px){.cl-slides{min-height:340px}}

/* --- cl-tap-css --- */
/* WCAG 2.5.8 target size (minimum): transparent hit area only.
   No visual change - no colour, spacing, typography or box geometry is touched. */
@media(max-width:860px){
  .cl-nav button{position:relative}
  .cl-nav button::after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%}
}
a.cl-view{position:relative}
a.cl-view::after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}

/* Gradient text is clipped to the glyph box, so tight leading and negative
   letter-spacing cut descenders and the last glyph. Pad the box and pull the
   padding back with a matching negative margin so layout is unchanged. */
h1,h2,h3,.g-text,.g-brand,.grad{}
[class*="hero"] h1,[class*="hero"] h2,.sec-title,.sh,.g-text,.g-brand,.grad{
  padding-bottom:.16em;margin-bottom:-.16em;
  padding-right:.06em;
}

/* The nav CTA was taller than the nav row it sits in. */
.nav-cta{padding:9px 18px!important;font-size:var(--t-btn)!important;line-height:1.25!important}
@media(max-width:1024px){.nav-cta{padding:8px 14px!important}}

/* Footer region icons: each map has its own aspect ratio, so at a fixed width
   they rendered at four different heights and never lined up. They also came
   out near-black on a black footer, and the ones whose artwork runs to the
   edge of the file looked clipped. One fixed box with object-fit gives them a
   common size and centre, and the brightness lift makes them legible. The
   dartboard rings sat behind this column, so they move clear of it. */
.F .offmini img{width:32px!important;height:26px;object-fit:contain;object-position:center;
  filter:brightness(2.15) saturate(1.15) drop-shadow(0 3px 10px rgba(183,28,237,.45))}
.F .offmini{align-items:center;gap:12px}
.F::after{right:-300px;bottom:-250px}
