/* Emmanuel Pereyras — GoHighLevel systems
   Dark build
   ------------------------------------------------ */

:root{
  --bg:#ffffff;
  --card:#fafafa;
  --card-2:#f2f2f2;
  --line:#e4e4e4;
  --text:#000000;
  --mute:#5f5f5f;
  --dim:#8a8a8a;
  --signal:#0E2F63;
  --r:20px;
  --max:1600px;
  --pad:clamp(18px,4vw,48px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

/* ---------- type ---------- */
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.035em;line-height:1.02}
h1{font-size:clamp(38px,7.4vw,116px);letter-spacing:-.045em;line-height:.98}
h2{font-size:clamp(26px,3.6vw,44px)}
h3{font-size:19px;letter-spacing:-.02em;font-weight:600}
p{margin:0 0 1.1em}
.lede{font-size:clamp(17px,1.4vw,20px);color:var(--mute);max-width:62ch;line-height:1.55}
.lede a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}
.lede a:hover{border-color:var(--signal);color:var(--signal)}
.note{font-size:14px;color:var(--dim);line-height:1.55}
.eyebrow{font-size:15px;color:var(--mute);margin:0 0 clamp(22px,3vw,38px)}
.eyebrow b{color:var(--text);font-weight:500}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:66px}
.brand{font-weight:500;letter-spacing:-.02em;text-decoration:none;font-size:16px;color:var(--mute)}
.brand:hover{color:var(--text)}
.menu{display:flex;gap:8px;align-items:center}
.menu a{text-decoration:none;font-size:15px;color:var(--mute);padding:8px 14px;border-radius:999px}
.menu a:hover{color:var(--text);background:var(--card)}
.menu a[aria-current="page"]{color:var(--text);background:var(--card)}
.menu .cta-sm{background:var(--text);color:var(--bg);font-weight:500}
.menu .cta-sm:hover{background:var(--signal);color:#fff}
@media(max-width:700px){.menu a{padding:7px 10px;font-size:14px}}

/* ---------- buttons ---------- */
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.btn{
  display:inline-block;text-decoration:none;font-weight:500;font-size:16px;
  padding:13px 24px;border-radius:999px;border:1px solid var(--text);
  background:var(--text);color:var(--bg);transition:background .15s,color .15s,border-color .15s;
  cursor:pointer;font-family:inherit;
}
.btn:hover{background:var(--signal);border-color:var(--signal);color:#fff}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn.ghost:hover{background:var(--card);border-color:var(--mute);color:var(--text)}
.more{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--text);font-size:16px;margin-top:6px}
.more:hover{color:var(--signal)}

/* ---------- sections ---------- */
section{padding:clamp(30px,3vw,48px) 0}
section.flush{padding-top:0}
.head{margin-bottom:26px}
.head .lede{margin-top:18px}
.rule{border-top:1px solid var(--line)}

/* ---------- hero ---------- */
.hero{padding-top:clamp(26px,3.2vw,48px);padding-bottom:clamp(20px,2.4vw,32px)}
.hero h1{max-width:22ch}
.hero .lede{margin-top:clamp(20px,2.5vw,30px)}

/* ---------- services grid + 3D card art ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media(max-width:1150px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.svc-grid{grid-template-columns:1fr}}

.card{
  background:#f7f7f8;border:1px solid var(--line);border-radius:var(--r);
  padding:14px 16px 20px;text-decoration:none;color:inherit;
  display:flex;flex-direction:column;transition:background .18s,border-color .18s,transform .18s;
}
.card:hover{background:#f2f2f3;border-color:#c7c7c7}
.card h3{margin-bottom:4px;font-size:17px}
.card p{margin:0;color:var(--mute);font-size:14px;line-height:1.45}

/* ---------- 3D render art ---------- */
.art{
  aspect-ratio:1/.92;display:grid;place-items:center;margin-bottom:12px;overflow:hidden;
  background:#fff;border:1px solid #ededf0;border-radius:14px;padding:6px;
}
.art img{
  width:100%;max-width:17em;height:auto;
  transition:transform .45s cubic-bezier(.2,.7,.3,1);
}
.card:hover .art img{transform:scale(1.06) translateY(-2px)}
@media(prefers-reduced-motion:reduce){.card:hover .art img{transform:none}}

/* ---------- video facade ---------- */
.vid{position:relative;display:block;aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#0d0d0d;cursor:pointer;text-decoration:none}
.vid .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.94;transition:transform .5s cubic-bezier(.2,.7,.3,1),opacity .3s}
.vid:hover .poster{transform:scale(1.02);opacity:1}
.vid .play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.vid .play i{
  width:clamp(56px,5vw,84px);height:clamp(56px,5vw,84px);border-radius:50%;
  background:rgba(255,255,255,.95);position:relative;
  box-shadow:0 14px 34px rgba(0,0,0,.4);transition:transform .2s;
}
.vid:hover .play i{transform:scale(1.08)}
.vid .play i::after{
  content:"";position:absolute;top:50%;left:50%;
  width:0;height:0;
  border-left:clamp(15px,1.4vw,22px) solid #000;
  border-top:clamp(9px,.9vw,14px) solid transparent;
  border-bottom:clamp(9px,.9vw,14px) solid transparent;
  transform:translate(-38%,-50%);
}
.vid .cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(16px,2vw,30px);color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.vid .cap b{display:block;font-size:clamp(16px,1.5vw,24px);font-weight:600;letter-spacing:-.02em}
.vid .cap span{display:block;font-size:14px;opacity:.78;margin-top:4px}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- about ---------- */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(26px,4vw,60px);align-items:stretch}
.about .photo{position:relative;height:100%;min-height:300px;border-radius:var(--r);overflow:hidden;background:var(--card);border:1px solid var(--line)}
.about .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 16%}
.about ul{padding-left:0;list-style:none;color:var(--mute);margin:22px 0 26px}
.about li{position:relative;padding-left:20px;margin-bottom:11px}
.about li::before{content:"";position:absolute;left:2px;top:11px;width:5px;height:5px;border-radius:50%;background:var(--dim)}
@media(max-width:900px){.about{grid-template-columns:1fr}.about .photo{height:clamp(300px,66vw,420px)}}

/* ---------- numbers ---------- */
.readout{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-bottom:22px}
.readout-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:26px 22px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat b{display:block;font-size:clamp(26px,3.1vw,40px);font-weight:500;letter-spacing:-.04em;line-height:1}
.stat span{display:block;margin-top:9px;font-size:14px;color:var(--mute);line-height:1.4}
.source{padding-top:16px;font-size:13.5px;color:var(--dim)}
.source a{color:var(--mute)}
@media(max-width:760px){
  .readout-grid{grid-template-columns:1fr 1fr}
  .stat{padding:18px 14px}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
}

/* ---------- work grid ---------- */
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.work-card{
  display:block;text-decoration:none;color:inherit;background:var(--card);
  border:1px solid var(--line);border-radius:var(--r);padding:16px;transition:background .18s,border-color .18s;
}
.work-card:hover{background:var(--card-2);border-color:#c7c7c7}
.work-card .frame{border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.work-card .frame img{width:100%}
.work-card .meta{padding:16px 4px 4px}
.work-card .t{display:block;font-weight:600;font-size:17px}
.work-card .d{display:block;color:var(--mute);font-size:14.5px;margin-top:3px}
@media(max-width:760px){.work-grid{grid-template-columns:1fr}}

.index-link{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  margin-top:22px;padding-top:18px;border-top:1px solid var(--line);
  text-decoration:none;font-weight:500;
}
.index-link span{color:var(--dim);font-weight:400;font-size:14.5px}
.index-link:hover{color:var(--signal)}

/* ---------- rows ---------- */
.rows{border-top:1px solid var(--line)}
.row{
  display:grid;grid-template-columns:54px 1fr 1.2fr;gap:clamp(12px,3vw,40px);
  padding:26px 0;border-bottom:1px solid var(--line);align-items:start;
}
.row .idx{font-size:14px;color:var(--dim);padding-top:4px}
.row p{margin:0;color:var(--mute)}
@media(max-width:760px){.row{grid-template-columns:1fr;gap:8px}.row .idx{display:none}}

/* ---------- approach ---------- */
.approach{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ap{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.ap .n{font-size:13.5px;color:var(--dim);display:block;margin-bottom:14px}
.ap b{display:block;margin-bottom:6px;font-weight:600}
.ap p{margin:0;color:var(--mute);font-size:15px}
@media(max-width:900px){.approach{grid-template-columns:1fr}}

/* ---------- clients ---------- */
.clients{border-top:1px solid var(--line)}
.client-row{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.client-row b{font-weight:600}
.client-row span{color:var(--mute);font-size:14.5px;text-align:right}
@media(max-width:640px){.client-row{flex-direction:column;gap:3px}.client-row span{text-align:left}}

/* ---------- media ---------- */
.video{position:relative;padding-top:56.25%;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(26px,4vw,60px);align-items:start}
@media(max-width:900px){.split{grid-template-columns:1fr}}

.shot{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;margin-bottom:14px}
.proof{display:grid;gap:clamp(30px,5vw,56px)}
.proof-item h3{margin-bottom:12px;font-size:22px}
.proof-item p{color:var(--mute);max-width:74ch}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.grid-3{grid-template-columns:1fr}}

/* ---------- packages ---------- */
.pack{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pack-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px 30px}
.pack-item .price{font-size:30px;font-weight:500;letter-spacing:-.035em;margin:12px 0 4px}
.pack-item ul{margin:18px 0 0;padding-left:0;list-style:none;color:var(--mute);font-size:15px}
.pack-item li{position:relative;padding-left:18px;margin-bottom:9px}
.pack-item li::before{content:"";position:absolute;left:1px;top:10px;width:5px;height:5px;border-radius:50%;background:var(--dim)}
@media(max-width:900px){.pack{grid-template-columns:1fr}}

/* ---------- tags ---------- */
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.tags li{list-style:none;border:1px solid var(--line);background:var(--card);padding:8px 15px;border-radius:999px;font-size:14.5px;color:var(--mute)}

/* ---------- forms / contact ---------- */
.field{display:block;margin-bottom:16px}
.field span{display:block;font-size:14px;color:var(--mute);margin-bottom:7px}
.field input,.field textarea,.field select{
  width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--card);
  border:1px solid var(--line);border-radius:12px;padding:13px 15px;
}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--signal)}
.direct{border-top:1px solid var(--line)}
.direct a{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:baseline}
.direct .what{font-weight:600}
.direct .val{color:var(--mute);font-size:14.5px;text-align:right;word-break:break-word}
.direct a:hover .what,.direct a:hover .val{color:var(--signal)}
.copied{font-size:13.5px;color:var(--signal);margin-top:10px;min-height:18px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:32px 0 44px;margin-top:clamp(22px,2.6vw,38px)}
.foot{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:flex-start}
.foot a{color:var(--mute);text-decoration:none;font-size:15px}
.foot a:hover{color:var(--text)}
.foot-links{display:flex;flex-wrap:wrap;gap:20px}

/* ---------- a11y + motion ---------- */
a:focus-visible,button:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
::selection{background:var(--signal);color:#fff}
.reveal{opacity:0;transform:translateY(12px);animation:rise .7s cubic-bezier(.2,.7,.3,1) forwards}
.reveal:nth-child(2){animation-delay:.07s}
.reveal:nth-child(3){animation-delay:.14s}
@keyframes rise{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1;transform:none}html{scroll-behavior:auto}}

/* ---------- wide hero container ---------- */
.wide{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.hero h1{max-width:none}
.hero .lede{max-width:70ch}



/* ---------- full-width video ---------- */

.video-full iframe{position:absolute;inset:0;width:100%;height:100%;border:0}


.vid .yt{
  position:absolute;right:clamp(12px,1.4vw,20px);top:clamp(12px,1.4vw,20px);z-index:3;
  background:rgba(255,255,255,.92);color:#000;text-decoration:none;font-size:13px;font-weight:500;
  padding:8px 14px;border-radius:999px;opacity:0;transition:opacity .2s,background .2s;
}
.vid:hover .yt,.vid .yt:focus-visible{opacity:1}
.vid .yt:hover{background:#fff}
@media(hover:none){.vid .yt{opacity:1}}
.vid .yt.show{opacity:1}

/* ---------- contact links with icons ---------- */
.direct a{align-items:center}
.direct .ic{width:22px;height:22px;flex:none;margin-right:12px;object-fit:contain}
.direct .what{display:flex;align-items:center}

/* ---------- client work history ---------- */
.logo-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.logo-item{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:18px 20px 22px;display:block;text-decoration:none;color:inherit;
  transition:border-color .18s,transform .18s;
}
.logo-item:hover{border-color:#c7c7c7;transform:translateY(-2px)}
.logo-item .lg{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:132px;margin-bottom:18px;padding:12px 14px;
  background:#fff;border:1px solid #f0f0f2;border-radius:12px;
}
.logo-item .lg img{max-width:74%;max-height:74%;width:auto;height:auto;object-fit:contain;display:block;margin:auto}
.lg-sierra-pacific{max-width:72%!important;max-height:88%!important}
.lg-zenith-virtual-allies{max-width:66%!important;max-height:82%!important}
.lg-ensurancemax{max-width:96%!important;max-height:60%!important}
.lg-empowering-pathways{max-width:66%!important;max-height:82%!important}
.lg-labor-resourcement{max-width:68%!important;max-height:84%!important}
.lg-emverra{max-width:56%!important;max-height:52%!important}
.logo-item b{display:block;font-weight:600;font-size:17px;letter-spacing:-.015em;line-height:1.25}
.logo-item .role{display:block;margin-top:7px;font-size:14px;color:var(--ink);font-weight:500;min-height:2.5em}
.logo-item .dates{display:block;margin-top:4px;font-size:13.5px;color:var(--dim)}
.logo-item .d{display:block;margin-top:12px;font-size:14px;color:var(--mute);line-height:1.5}
@media(max-width:1000px){.logo-wall{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.logo-wall{grid-template-columns:1fr}}

/* ---------- tools strip ---------- */
.tools{display:flex;flex-wrap:wrap;gap:10px}
.tool{
  display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:10px 18px;font-size:15px;font-weight:500;transition:border-color .18s,transform .18s;
}
.tool:hover{border-color:#c7c7c7;transform:translateY(-1px)}
.tool img{width:19px;height:19px;object-fit:contain}

/* ---------- scroll reveal ---------- */
.rv{opacity:0;transform:translateY(20px);transition:opacity .75s cubic-bezier(.2,.7,.3,1),transform .75s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* approach icons */
.ap-ic{display:block;width:28px;height:28px;margin-bottom:14px;color:var(--signal)}
.ap-ic svg{width:100%;height:100%}
.ap .n{margin-bottom:10px}

/* GoHighLevel badge */
.hero-brand{display:inline-flex;align-items:center;gap:10px;margin-top:26px;
  border:1px solid var(--line);border-radius:999px;padding:9px 18px;background:#fff}
.hero-brand span{font-size:14px;color:var(--dim)}
.hero-brand b{font-size:15px;font-weight:600;letter-spacing:-.015em}
.hero-brand img{height:26px;width:auto}

/* ---------- service detail pages ---------- */
.crumb{font-size:14px;color:var(--dim);margin:0 0 clamp(18px,2.4vw,30px)}
.crumb a{color:var(--mute);text-decoration:none}
.crumb a:hover{color:var(--ink)}
.crumb span{margin:0 6px;color:var(--line)}

.svc-top{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,4vw,56px);align-items:center}
.svc-top h1{font-size:clamp(34px,5vw,72px)}
.svc-top .lede{margin-top:20px}
.svc-art{display:flex;justify-content:center;align-items:center}
.svc-art img{max-width:min(100%,460px);height:auto}
@media(max-width:860px){.svc-top{grid-template-columns:1fr}.svc-art{order:-1}.svc-art img{max-width:280px}}

.approach.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.approach.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.approach.g4{grid-template-columns:1fr}}

.proof-band{border:1px solid var(--line);border-radius:var(--r);background:#fafafa;padding:clamp(22px,3vw,34px)}
.proof-band span{display:block;font-size:13.5px;color:var(--dim);margin-bottom:10px}
.proof-band p{margin:0 0 14px;font-size:clamp(17px,1.5vw,21px);line-height:1.5;max-width:70ch}

.cta-band{border:1px solid var(--line);border-radius:var(--r);background:#fafafa;padding:clamp(28px,4vw,48px)}
.cta-band .lede{margin-top:16px}

.svc-links{display:flex;flex-wrap:wrap;gap:10px}
.svc-links a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px;
  font-size:15px;text-decoration:none;transition:border-color .18s,transform .18s}
.svc-links a:hover{border-color:#c7c7c7;transform:translateY(-1px)}

.side-card{background:#fafafa;border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,32px)}
.side-card h3{font-size:18px}
.steps-lite{margin:16px 0 0;padding-left:20px;color:var(--mute)}
.steps-lite li{margin-bottom:10px}

/* deliverable ticks */
.tick{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:13px;
  background:#e8eeff;color:var(--signal);
}
.tick svg{width:24px;height:24px}
.step-ic{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:13px;
  background:#e8eeff;color:var(--signal);margin-bottom:16px;
}
.step-ic svg{width:23px;height:23px}
.row .idx{padding-top:0}
@media(max-width:760px){.row .idx{display:block;margin-bottom:4px}}

/* ---------- accents ---------- */
.ap .n{color:var(--signal);font-weight:600}
.tick,.step-ic{background:#eaeff7;color:var(--signal)}
.ap-ic{width:32px;height:32px;color:var(--signal)}
.card:hover,.logo-item:hover,.work-card:hover{border-color:#b9c6dc}
.tool:hover{border-color:var(--signal);color:var(--ink)}
.svc-links a:hover{border-color:var(--signal);color:var(--signal)}
.proof-band{border-left:3px solid var(--signal)}
.cta-band{background:#f6f8fb;border-color:#e2e8f2}
.index-link::after{content:"\2192";color:var(--signal);margin-left:auto;padding-left:14px}
.logo-item .dates{color:var(--signal)}
.pack-item .price{color:var(--signal)}
.stat b{color:var(--signal)}
.dot{background:var(--signal)}

/* soft tinted bands give the page rhythm without any extra lines */
section.tint{background:#f6f8fb;border-top:1px solid #eceff5;border-bottom:1px solid #eceff5}
section.tint .card,section.tint .ap,section.tint .tool,section.tint .logo-item{background:#fff}

/* ================= flow diagram ================= */
.flow{display:flex;align-items:stretch;gap:0;flex-wrap:nowrap}
.flow .node{
  flex:1 1 0;min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:20px 18px 22px;transition:border-color .18s,transform .25s,box-shadow .25s;
}
.flow .node:hover{border-color:#b9c6dc;transform:translateY(-3px);box-shadow:0 16px 30px -22px rgba(14,47,99,.4)}
.flow .node .nn{display:block;font-size:12.5px;color:var(--signal);font-weight:600;letter-spacing:.04em;margin-bottom:10px}
.flow .node b{display:block;font-size:16px;letter-spacing:-.015em;margin-bottom:5px}
.flow .node .ns{display:block;font-size:13.5px;color:var(--mute);line-height:1.45}
.flow .arw{flex:0 0 42px;display:flex;align-items:center;justify-content:center;color:#c3cbd8}
.flow .arw svg{width:22px;height:22px}
@media(max-width:900px){
  .flow{flex-direction:column}
  .flow .arw{flex:0 0 30px;transform:rotate(90deg)}
}

/* ================= case study cards ================= */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case-card{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  transition:border-color .2s,transform .25s,box-shadow .25s;
}
.case-card:hover{border-color:#b9c6dc;transform:translateY(-4px);box-shadow:0 26px 44px -30px rgba(14,47,99,.45)}
.case-card .shot{margin:0;border:0;border-radius:0;border-bottom:1px solid var(--line);background:#f6f8fb}
.case-card .shot img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.case-card:hover .shot img{transform:scale(1.03)}
.case-card .body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.case-card .kicker{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--signal);font-weight:600}
.case-card h3{margin:10px 0 8px;font-size:20px;line-height:1.2}
.case-card p{margin:0;color:var(--mute);font-size:14.5px;line-height:1.5}
.case-card .figs{display:flex;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.case-card .figs div{font-size:13px;color:var(--mute)}
.case-card .figs b{display:block;font-size:19px;color:var(--signal);letter-spacing:-.02em}
.case-card .go{margin-top:16px;font-size:14.5px;font-weight:500;color:var(--signal)}
@media(max-width:1000px){.case-grid{grid-template-columns:1fr}}

/* ================= case study page ================= */
.meta-row{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:28px}
.meta-row div{flex:1 1 160px;padding:18px 20px;border-left:1px solid var(--line)}
.meta-row div:first-child{border-left:0;padding-left:0}
.meta-row span{display:block;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.meta-row b{font-weight:500;font-size:15.5px}
.figure{margin:0 0 clamp(28px,4vw,52px)}
.figure .frame{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.figure img{width:100%;display:block}
.figure figcaption{margin-top:12px;font-size:14.5px;color:var(--mute);max-width:80ch}
.figure figcaption b{color:var(--ink);font-weight:600}
.gal-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px)}
@media(max-width:900px){.gal-2{grid-template-columns:1fr}}

/* ================= plans ================= */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 26px 32px;position:relative;transition:transform .25s,box-shadow .25s,border-color .2s}
.plan:hover{transform:translateY(-4px);box-shadow:0 26px 44px -30px rgba(14,47,99,.4);border-color:#b9c6dc}
.plan.featured{border-color:var(--signal);box-shadow:0 22px 40px -28px rgba(14,47,99,.5)}
.plan .flag{position:absolute;top:-12px;left:26px;background:var(--signal);color:#fff;font-size:12.5px;font-weight:600;padding:5px 13px;border-radius:999px}
.plan h3{font-size:20px}
.plan .price{font-size:34px;font-weight:600;letter-spacing:-.035em;margin:14px 0 2px;color:var(--signal)}
.plan .price small{font-size:14px;font-weight:400;color:var(--dim);letter-spacing:0}
.plan .who{color:var(--mute);font-size:14.5px;margin:8px 0 0}
.plan ul{list-style:none;margin:20px 0 24px;padding:0}
.plan li{position:relative;padding-left:28px;margin-bottom:11px;color:var(--mute);font-size:15px;line-height:1.45}
.plan li::before{
  content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:6px;
  background:#eaeff7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2F63' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5 9.5 17.5 19.5 7'/%3E%3C/svg%3E") center/11px no-repeat;
}
@media(max-width:1000px){.plans{grid-template-columns:1fr}}

/* ================= timeline ================= */
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.timeline::before{content:"";position:absolute;left:0;right:0;top:29px;height:2px;background:linear-gradient(90deg,#e2e8f2,var(--signal),#e2e8f2)}
.tl{position:relative;padding:0 18px 0 0}
.tl .bub{
  position:relative;z-index:1;width:60px;height:60px;border-radius:18px;background:#fff;
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--signal);
  box-shadow:0 10px 22px -16px rgba(14,47,99,.5);transition:transform .25s
}
.tl:hover .bub{transform:translateY(-4px)}
.tl .bub svg{width:26px;height:26px}
.tl b{display:block;margin:18px 0 6px;font-size:17px}
.tl span{display:block;font-size:12.5px;color:var(--signal);font-weight:600;letter-spacing:.04em;margin-bottom:2px}
.tl p{margin:0;color:var(--mute);font-size:14.5px;line-height:1.5}
@media(max-width:900px){
  .timeline{grid-template-columns:1fr;gap:26px}
  .timeline::before{left:29px;right:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,#e2e8f2,var(--signal),#e2e8f2)}
  .tl{padding-left:84px}
  .tl .bub{position:absolute;left:0;top:0}
}

/* ================= retainer loop ================= */
.loop{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.loop .lp{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;transition:transform .25s,border-color .2s}
.loop .lp:hover{transform:translateY(-3px);border-color:#b9c6dc}
.loop .lp .ic{width:44px;height:44px;border-radius:13px;background:#eaeff7;color:var(--signal);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.loop .lp .ic svg{width:23px;height:23px}
.loop .lp b{display:block;margin-bottom:6px;font-size:17px}
.loop .lp p{margin:0;color:var(--mute);font-size:14.5px;line-height:1.5}
@media(max-width:900px){.loop{grid-template-columns:1fr}}

/* ================= faq ================= */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;font-weight:500;font-size:17px;display:flex;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{
  content:"";width:22px;height:22px;flex:none;border-radius:7px;background:#eaeff7;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2F63' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:13px;transition:transform .25s;
}
.faq details[open] summary::before{transform:rotate(45deg)}
.faq p{margin:0 0 20px 36px;color:var(--mute);max-width:78ch}

/* ================= misc polish ================= */
.kicker-lg{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--signal);font-weight:600;margin:0 0 14px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.metrics div{padding:24px 20px;border-left:1px solid var(--line)}
.metrics div:first-child{border-left:0;padding-left:0}
.metrics b{display:block;font-size:clamp(24px,2.8vw,36px);color:var(--signal);letter-spacing:-.035em;line-height:1}
.metrics span{display:block;margin-top:8px;font-size:13.5px;color:var(--mute)}
@media(max-width:760px){.metrics{grid-template-columns:1fr 1fr}.metrics div:nth-child(odd){border-left:0;padding-left:0}.metrics div:nth-child(n+3){border-top:1px solid var(--line)}}

/* ================= client list (work page) ================= */
.cli-list{border-top:1px solid var(--line)}
.cli{
  display:grid;grid-template-columns:120px 1.1fr 1.4fr auto 28px;gap:22px;align-items:center;
  padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
  transition:background .2s,padding .2s;
}
.cli:hover{background:#fff;padding-left:14px;padding-right:14px}
.cl-logo{display:flex;align-items:center;justify-content:center;height:56px;background:#fff;border:1px solid #f0f0f2;border-radius:10px;padding:8px}
.cl-logo img{max-width:80%;max-height:80%;width:auto;height:auto;object-fit:contain}
.cl-logo .lg-ensurancemax{max-width:96%!important;max-height:56%!important}
.cl-logo .lg-emverra{max-width:60%!important;max-height:56%!important}
.cl-name{font-weight:600;font-size:16.5px}
.cl-role{color:var(--mute);font-size:14.5px}
.cl-date{color:var(--signal);font-size:13.5px;white-space:nowrap}
.cl-go{color:var(--dim);font-size:17px;text-align:right}
.cli:hover .cl-go,.cli:hover .cl-name{color:var(--signal)}
@media(max-width:900px){
  .cli{grid-template-columns:84px 1fr;grid-template-areas:"logo name" "logo role" "logo date";gap:4px 18px;row-gap:2px}
  .cl-logo{grid-area:logo;height:74px}
  .cl-name{grid-area:name}.cl-role{grid-area:role}.cl-date{grid-area:date;margin-top:4px}
  .cl-go{display:none}
}

/* ================= final polish ================= */
.plan .btn{width:100%;text-align:center}
.hero .kicker-lg{margin-bottom:12px}
.figure .frame{box-shadow:0 22px 44px -34px rgba(14,47,99,.5)}
.case-card .figs div{flex:1}
.tint + .tint{border-top:0}

/* ================= evening things out ================= */
.case-card .body{gap:0}
.case-card p{min-height:4.4em}
.case-card .figs{margin-top:auto}
.case-card .go{margin-top:14px}

/* flow: 3D style tile + equal node heights */
.flow .node{display:flex;flex-direction:column}
.flow .node b{min-height:2.5em}
.flow .node .ns{margin-top:auto}
.n3d{
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:14px;margin-bottom:16px;color:#fff;
  background:linear-gradient(150deg,#2b5aa8 0%,#0E2F63 70%);
  box-shadow:0 10px 18px -10px rgba(14,47,99,.65), inset 0 1px 0 rgba(255,255,255,.35);
}
.n3d svg{width:23px;height:23px}
.flow .node:hover .n3d{transform:translateY(-2px)}
.n3d{transition:transform .25s}

/* the same treatment for service step icons, so they read as one family */
.step-ic,.tick,.loop .lp .ic,.tl .bub{
  background:linear-gradient(150deg,#eef2f8,#e2e9f4);
  box-shadow:inset 0 1px 0 #fff, 0 6px 14px -10px rgba(14,47,99,.5);
}

/* softer, slightly tighter rhythm */
section{padding:clamp(28px,2.7vw,44px) 0}
.head{margin-bottom:24px}

/* a very light wash behind the hero so the page does not start flat */
.hero{position:relative}
.hero::before{
  content:"";position:absolute;inset:-40px 0 0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(720px 320px at 12% 0%, rgba(14,47,99,.055), transparent 70%),
    radial-gradient(560px 260px at 88% 10%, rgba(14,47,99,.035), transparent 70%);
}
body{overflow-x:hidden}

/* gallery captions sit tighter under two-up images */
.gal-2 .figure{margin-bottom:0}
.gal-2{row-gap:clamp(24px,3vw,38px)}

/* ================= sliding services marquee ================= */
.marquee{overflow:hidden;position:relative;padding:4px 0 6px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.mq-track{display:flex;gap:18px;width:max-content;animation:mq 64s linear infinite;padding:0 var(--pad)}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-track .card{flex:0 0 clamp(280px,23vw,360px)}
.mq-track .card .art{aspect-ratio:1/.85}
.mq-track .card .art img{max-width:19em}
.mq-track .card h3{font-size:19px}
.mq-track .card p{font-size:15px}
@keyframes mq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(prefers-reduced-motion:reduce){
  .mq-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
  .marquee{-webkit-mask-image:none;mask-image:none}
}

/* ================= plans, perfectly level ================= */
.plans{align-items:stretch}
.plan{display:flex;flex-direction:column;height:100%}
.plan .who{min-height:3.2em}
.plan ul{flex:1}
.plan .btn{margin-top:auto}
.plan.featured{transform:translateY(-6px)}
.plan.featured:hover{transform:translateY(-10px)}
@media(max-width:1000px){.plan.featured{transform:none}}

/* contact portrait sits on our own palette now */
.about .photo img{object-position:50% 10%}

/* ================= marquee, aligned to the page margin ================= */
.mq-wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.marquee{
  overflow:hidden;position:relative;padding:6px 0 10px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%);
}
.mq-track{padding:0}
.mq-hint{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin:18px auto 0;width:fit-content;
  background:#f6f8fb;border:1px solid #e6ebf3;border-radius:999px;
  padding:9px 18px;font-size:13.5px;color:var(--mute);
}
.mq-hint .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);flex:none;
  animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}
@media(prefers-reduced-motion:reduce){.mq-hint .dot{animation:none}}

/* ================= keep every screenshot above 1:1 pixel density ================= */
.figure{max-width:1120px;margin-left:auto;margin-right:auto}
.gal-2 .figure{max-width:none}
.case-card .shot img{image-rendering:auto}

/* ================= case study meta panel ================= */
.meta-panel{
  display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);border-radius:16px;background:#fff;
  margin-top:26px;overflow:hidden;
}
.meta-panel .mt{padding:16px 20px 18px;border-left:1px solid var(--line)}
.meta-panel .mt:first-child{border-left:0}
.mt-ic{display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:15px;height:15px;color:var(--signal)}
.mt-ic svg{width:15px;height:15px}
.meta-panel .mt span{display:flex;align-items:center;gap:7px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-bottom:7px}
.meta-panel .mt b{display:block;font-weight:500;font-size:14.5px;line-height:1.4;color:var(--ink)}
@media(max-width:1000px){
  .meta-panel{grid-template-columns:1fr 1fr}
  .meta-panel .mt:nth-child(3),.meta-panel .mt:nth-child(4){border-top:1px solid var(--line)}
  .meta-panel .mt:nth-child(odd){border-left:0}
}
@media(max-width:560px){
  .meta-panel{grid-template-columns:1fr}
  .meta-panel .mt{border-left:0;border-top:1px solid var(--line)}
  .meta-panel .mt:first-child{border-top:0}
}

/* ================= footer ================= */
footer{
  border-top:1px solid var(--line);margin-top:clamp(28px,3.5vw,52px);padding:0;
  background:linear-gradient(180deg,#fbfcfe,#f4f7fb);
}
.foot-top{
  display:grid;grid-template-columns:1.05fr 1.95fr;gap:clamp(28px,4vw,64px);
  padding-top:clamp(38px,4vw,58px);padding-bottom:clamp(30px,3vw,42px);
}
.foot-name{margin:0;font-size:19px;font-weight:600;letter-spacing:-.02em}
.foot-tag{margin:8px 0 0;font-size:15px;color:var(--mute);max-width:34ch;line-height:1.5}
.foot-avail{display:flex;align-items:center;gap:9px;margin:16px 0 0;font-size:13.5px;color:var(--dim)}
.foot-avail .dot{width:8px;height:8px;border-radius:50%;background:var(--signal);flex:none;
  animation:pulse 2.6s ease-in-out infinite}
.foot-brand .btn{margin-top:22px;padding:12px 22px;font-size:15px}

.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
.foot-cols h4{margin:0 0 14px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--signal);font-weight:600}
.foot-cols a{display:block;margin-bottom:10px;font-size:14.5px;color:var(--mute);text-decoration:none;
  width:fit-content;position:relative}
.foot-cols a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--signal);transition:width .25s}
.foot-cols a:hover{color:var(--ink)}
.foot-cols a:hover::after{width:100%}

.foot-bottom{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
  border-top:1px solid var(--line);padding-top:20px;padding-bottom:26px;
  font-size:13.5px;color:var(--dim);
}
.foot-built{color:var(--mute)}
.to-top{color:var(--signal);text-decoration:none;font-weight:500}
.to-top::after{content:" \2191"}
.to-top:hover{opacity:.75}
@media(max-width:960px){
  .foot-top{grid-template-columns:1fr;gap:34px}
  .foot-cols{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .foot-bottom{flex-direction:column;align-items:flex-start;gap:8px}
}

/* ================= tool chips ================= */
.tool{gap:9px}
.tool img{width:19px;height:19px;object-fit:contain;flex:none}
.tool-mono{
  width:19px;height:19px;flex:none;border-radius:6px;display:flex;align-items:center;justify-content:center;
  background:var(--signal);color:#fff;font-size:11px;font-weight:600;font-style:normal;line-height:1;
}

/* contact link marks, for brands whose logos the icon CDN no longer serves */
.ic-mono{
  width:22px;height:22px;flex:none;margin-right:12px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  background:var(--signal);color:#fff;font-size:10.5px;font-weight:600;font-style:normal;
  letter-spacing:-.02em;line-height:1;
}

/* ================= package pages ================= */
.excl{list-style:none;margin:18px 0 0;padding:0}
.excl li{position:relative;padding-left:28px;margin-bottom:11px;color:var(--mute);font-size:15.5px}
.excl li::before{
  content:"";position:absolute;left:2px;top:9px;width:13px;height:1.5px;border-radius:2px;background:#c8ced9;
}
.svc-links a{white-space:nowrap}

/* ================= certifications ================= */
.certs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cert{
  display:flex;flex-direction:column;align-items:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:24px 22px 26px;text-decoration:none;color:inherit;
  transition:transform .25s,border-color .2s,box-shadow .25s;
}
a.cert:hover{transform:translateY(-4px);border-color:#b9c6dc;box-shadow:0 22px 38px -28px rgba(14,47,99,.45)}
.cert-mark{
  width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);margin-bottom:18px;
  box-shadow:inset 0 1px 0 #fff, 0 8px 16px -12px rgba(14,47,99,.5);
}
.cert-mark img{width:22px;height:22px;object-fit:contain}
.cert-mark.alt{background:linear-gradient(150deg,#2b5aa8,#0E2F63);border-color:transparent;color:#fff}
.cert-mark.alt svg{width:22px;height:22px}
.cert-mark .tool-mono{width:22px;height:22px;border-radius:7px;font-size:12px}
.cert b{display:block;font-size:17px;letter-spacing:-.015em;line-height:1.25}
.cert-by{display:block;margin-top:7px;font-size:14px;color:var(--mute)}
.cert-go{display:block;margin-top:16px;font-size:14px;font-weight:500;color:var(--signal)}
a.cert .cert-go::after{content:" \2197"}
.cert-edu .cert-go{color:var(--dim);font-weight:400}
@media(max-width:1000px){.certs{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.certs{grid-template-columns:1fr}}
.note a{color:var(--signal);text-decoration:none;border-bottom:1px solid #ccd6e6}
.note a:hover{border-color:var(--signal)}

/* ================= testimonials ================= */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.quote{
  margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:28px 26px 26px;position:relative;transition:transform .25s,border-color .2s,box-shadow .25s;
}
.quote:hover{transform:translateY(-3px);border-color:#b9c6dc;box-shadow:0 22px 38px -30px rgba(14,47,99,.4)}
.quote::before{
  content:"\201C";position:absolute;top:10px;right:22px;font-size:64px;line-height:1;
  color:#e7ecf4;font-family:Georgia,serif;
}
.quote blockquote{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink);position:relative;z-index:1}
.quote figcaption{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.quote figcaption b{display:block;font-size:16px;font-weight:600}
.q-role{display:block;margin-top:4px;font-size:14px;color:var(--mute)}
.q-tag{display:block;margin-top:3px;font-size:13px;color:var(--dim)}
.q-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.verif{
  display:inline-flex;align-items:center;gap:7px;background:#eaeff7;color:var(--signal);
  border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:600;letter-spacing:.01em;
}
.verif svg{width:13px;height:13px}
.q-date{font-size:12.5px;color:var(--dim)}
@media(max-width:1050px){.quotes{grid-template-columns:1fr}}

/* ================= form polish ================= */
.field span{font-weight:500;color:var(--ink)}
.field input,.field select,.field textarea{
  background:#fff;border-color:#dde3ec;border-radius:12px;padding:14px 16px;
  transition:border-color .18s,box-shadow .18s;
}
.field input::placeholder,.field textarea::placeholder{color:#a7b0bf}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#c3ccd9}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--signal);box-shadow:0 0 0 3px rgba(14,47,99,.10);outline:none;
}
.field select{
  appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2F63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;background-size:17px;
}
.field optgroup{font-weight:600;color:var(--ink)}
form .btn{width:100%;text-align:center;padding:15px 26px;font-size:16px}
form .note{text-align:center}
@media(min-width:760px){form .btn{width:auto}form .note{text-align:left}}

/* testimonials: identical card height, evenly balanced */
.quotes{align-items:stretch}
.quote{display:flex;flex-direction:column;height:100%}
.quote blockquote{flex:1}
.quote figcaption{margin-top:auto}

/* ================= brand mark ================= */
.brand{display:inline-flex;align-items:center;gap:11px}
.brand-mark{height:26px;width:auto;display:block;flex:none}
.brand-txt{display:inline-block}
.foot-name{display:flex;align-items:center;gap:12px}
.foot-mark{height:30px;width:auto;display:block;flex:none}
@media(max-width:700px){
  .brand-txt span{display:none}
  .brand-mark{height:24px}
}
@media(max-width:430px){
  .brand-txt{font-size:15px}
}

/* ================= big numbers: taller, same width ================= */
.stat b,.metrics b,.case-card .figs b,.logo-item .dates{font-variant-numeric:tabular-nums}
.stat b,.metrics b{
  font-family:"Archivo","Inter Tight","Helvetica Neue",Arial,sans-serif;
  font-variation-settings:"wdth" 66;
  font-weight:700;letter-spacing:-.02em;line-height:.88;
}
.stat b{font-size:clamp(34px,4.2vw,58px)}
.metrics b{font-size:clamp(32px,3.8vw,50px)}
.stat span,.metrics span{margin-top:12px}
.case-card .figs b{
  font-family:"Archivo","Inter Tight",sans-serif;font-variation-settings:"wdth" 70;
  font-weight:700;font-size:23px;letter-spacing:-.015em;line-height:.95;
}

/* ================= source line ================= */
.source{
  display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;
  flex-wrap:nowrap;white-space:nowrap;max-width:none;margin:14px auto 0;padding-top:0;line-height:1.4;
  position:relative;z-index:2;
}
@media(max-width:1100px){
  .source{flex-wrap:wrap;white-space:normal;flex-direction:column;max-width:62ch}
}
.src-pill{
  display:inline-block;background:#eaeff7;color:var(--signal);border:1px solid #dbe3ef;
  border-radius:999px;padding:7px 20px;font-size:13px;font-weight:500;line-height:1.35;
}
