/* ==========================================================================
   ZielDigital — Shared Stylesheet
   Design tokens, base styles, layout primitives and reusable components
   used across every page of the site.
   ========================================================================== */

:root{
  --ink:#0b1512;
  --muted:#5c6b64;
  --soft:#8b9a92;
  --emerald:#0f9e6e;
  --em-bright:#22c98a;
  --em-deep:#06251c;
  --bg:#f6f8f7;
  --card:#ffffff;
  --line:rgba(11,21,18,.09);
  --font-body:'Archivo', system-ui, sans-serif;
  --font-mono:'Space Mono', monospace;
}

/* -------------------- Reset -------------------- */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-height:1.6;
}
h1, h2, h3, h4, h5, h6{ line-height:1.2; }
img{ max-width:100%; display:block; }
a{ color:inherit; }
button{ font-family:inherit; }
::selection{ background:#22c98a; color:#06251c; }

/* -------------------- Keyframes -------------------- */
@keyframes zd-reveal{ from{ opacity:0; } to{ opacity:1; } }
@keyframes zd-up{ from{ opacity:0; transform:translateY(20px); } to{ opacity:1; transform:none; } }
@keyframes zd-draw{ to{ stroke-dashoffset:0; } }
@keyframes zd-fade{ from{ opacity:0; } to{ opacity:.16; } }
@keyframes zd-fade-full{ from{ opacity:0; } to{ opacity:1; } }
@keyframes zd-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
@keyframes zd-pulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.4; transform:scale(.85); } }
@keyframes zd-rise{ from{ transform:scaleY(0); } to{ transform:scaleY(1); } }
@keyframes zd-grow{ from{ width:0; } }
@keyframes zd-ticker{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

.reveal{ animation:zd-reveal .7s both; }
.reveal-up{ animation:zd-up .9s cubic-bezier(.2,.7,.2,1) both; }

/* -------------------- Layout -------------------- */
.container{ max-width:1200px; margin:0 auto; padding:0 32px; }
.container-narrow{ max-width:820px; margin:0 auto; padding:0 32px; }
.container-md{ max-width:1080px; margin:0 auto; padding:0 32px; }

.section{ padding-top:64px; padding-bottom:40px; }
.section-lg{ padding-top:88px; padding-bottom:40px; }

.grid{ display:grid; gap:18px; }
.grid-2{ grid-template-columns:1fr 1fr; }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }

/* -------------------- Header / Nav -------------------- */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(246,248,247,.82);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.site-header__bar{
  height:70px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.brand{ display:flex; align-items:center; gap:9px; text-decoration:none; color:var(--ink); }
.brand__logo{ height:34px; width:auto; display:block; }

.nav{ display:flex; align-items:center; gap:30px; }
.nav a{
  text-decoration:none; color:var(--muted); font-weight:600; font-size:14.5px;
  transition:color .2s;
}
.nav a:hover, .nav a.is-active{ color:var(--ink); }
.nav a.is-active{ font-weight:700; }
.nav a.nav-cta, .nav a.nav-cta:hover{ color:#fff; }

.nav-toggle{
  display:none; width:40px; height:40px; border-radius:9px; border:1px solid var(--line);
  background:var(--card); align-items:center; justify-content:center; cursor:pointer; flex:none;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:''; display:block; width:18px; height:2px; background:var(--ink); position:relative; transition:.2s;
}
.nav-toggle span::before{ position:absolute; top:-6px; }
.nav-toggle span::after{ position:absolute; top:6px; }
.site-header.is-open .nav-toggle span{ background:transparent; }
.site-header.is-open .nav-toggle span::before{ top:0; transform:rotate(45deg); background:var(--ink); }
.site-header.is-open .nav-toggle span::after{ top:0; transform:rotate(-45deg); background:var(--ink); }

/* -------------------- Nav dropdown (Industries submenu) -------------------- */
.nav-item{ position:relative; display:flex; align-items:center; gap:6px; }
.nav-caret{
  background:none; border:none; padding:4px; margin:0; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--muted); line-height:1; transition:transform .2s, color .2s;
}
.nav-caret svg{ width:14px; height:14px; display:block; }
.nav-caret:hover{ color:var(--ink); }
.nav-item.is-open .nav-caret{ transform:rotate(180deg); color:var(--ink); }

.nav-submenu{
  position:absolute; top:calc(100% + 16px); left:50%; z-index:70;
  min-width:460px; display:grid; grid-template-columns:1fr 1fr; gap:2px;
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:10px; box-shadow:0 24px 48px -20px rgba(11,21,18,.22);
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateX(-50%) translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-submenu--single{ min-width:200px; grid-template-columns:1fr; }
.nav-submenu::before, .nav-submenu::after{
  content:''; position:absolute; left:50%; margin-left:-8px;
  border-style:solid; border-width:0 8px 9px 8px;
}
.nav-submenu::before{ top:-9px; border-color:transparent transparent var(--line) transparent; }
.nav-submenu::after{ top:-8px; margin-left:-7px; border-width:0 7px 8px 7px; border-color:transparent transparent var(--card) transparent; }
.nav-item:focus-within .nav-submenu,
.nav-item.is-open .nav-submenu{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-submenu a{
  display:block; padding:9px 12px; border-radius:8px; white-space:nowrap;
  font-size:13.5px; font-weight:600; color:var(--muted); text-decoration:none;
  transition:background .15s, color .15s;
}
.nav-submenu a:hover{ background:var(--bg); color:var(--ink); }
.nav-submenu__all{
  grid-column:1 / -1; margin-top:4px; padding-top:12px !important;
  border-top:1px solid var(--line);
  color:var(--emerald) !important; font-weight:700 !important;
}

/* -------------------- Buttons -------------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  text-decoration:none; font-weight:700; font-size:15.5px;
  padding:15px 26px; border-radius:11px; border:none; cursor:pointer;
  transition:background .2s, transform .2s, border-color .2s, color .2s;
}
.btn-sm{ font-size:14px; padding:11px 18px; border-radius:9px; }
.btn-primary{ background:var(--emerald); color:#fff; box-shadow:0 10px 26px -12px rgba(15,158,110,.7); }
.btn-primary:hover{ background:#0c855e; transform:translateY(-2px); }
.btn-primary.btn-sm:hover{ background:#0c855e; transform:none; }
.btn-outline{ background:transparent; color:var(--ink); border:1.5px solid var(--line); }
.btn-outline:hover{ border-color:var(--emerald); color:var(--emerald); }
.btn-whatsapp{ background:#25D366; color:#06251c; font-weight:800; }
.btn-whatsapp:hover{ transform:translateY(-2px); }
.btn-ghost-dark{ color:#fff; border:1.5px solid rgba(255,255,255,.25); background:transparent; font-weight:700; }
.btn-ghost-dark:hover{ border-color:var(--em-bright); }
.btn-link{ text-decoration:none; color:var(--emerald); font-weight:700; font-size:15.5px; }
.btn-link:hover{ color:#0c855e; }
.dot{ width:9px; height:9px; border-radius:50%; background:#06251c; flex:none; }

/* -------------------- Badge / Eyebrow -------------------- */
.badge{
  display:inline-flex; align-items:center; gap:9px; white-space:nowrap;
  font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--emerald); background:rgba(15,158,110,.09); border:1px solid rgba(15,158,110,.2);
  padding:7px 13px; border-radius:100px;
}
.badge__dot{ width:7px; height:7px; border-radius:50%; background:var(--emerald); animation:zd-pulse 2s infinite; flex:none; }

.eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--emerald); }

.section-head{ max-width:720px; }
.section-head h2{ font-size:42px; line-height:1.06; letter-spacing:-.025em; font-weight:800; margin:14px 0 0; }
.section-head p{ font-size:18px; color:var(--muted); margin:16px 0 0; line-height:1.5; }
.section-head--center{ margin-left:auto; margin-right:auto; text-align:center; }

/* -------------------- Hero -------------------- */
.hero{
  padding-top:76px; padding-bottom:40px; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
}
.hero > *{ min-width:0; }
.hero h1{ font-size:44px; line-height:1.12; letter-spacing:-.02em; font-weight:800; margin:22px 0 0; }
.hero p.lead{ font-size:19px; line-height:1.5; color:var(--muted); margin:22px 0 0; max-width:520px; }
.hero--center{ display:block; text-align:center; padding-top:70px; padding-bottom:48px; }
.hero--center h1{ font-size:44px; line-height:1.12; letter-spacing:-.02em; font-weight:800; margin:22px auto 0; max-width:900px; }
.hero--center p.lead{ font-size:19px; line-height:1.5; color:var(--muted); margin:22px auto 0; max-width:660px; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:13px; margin-top:30px; }
.hero--center .hero-cta{ justify-content:center; }
.hero-stats{ display:flex; flex-wrap:wrap; gap:26px; margin-top:34px; padding-top:26px; border-top:1px solid var(--line); }
.hero-stats .divider{ width:1px; background:var(--line); }
.hero-stats .stars{ color:#f5a623; font-size:15px; letter-spacing:1px; }
.hero-stats .num{ font-size:19px; font-weight:800; }
.hero-stats .cap{ font-size:13.5px; color:var(--muted); margin-top:4px; }
.hero-inline-stats{
  display:inline-flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 20px;
  margin-top:30px; font-size:14px; color:var(--muted);
}
.hero-inline-stats .stars{ color:#f5a623; letter-spacing:1px; }
.hero-inline-stats .sep{ color:var(--line); }

/* -------------------- Dashboard mock card (hero visual) -------------------- */
.dash-card-wrap{ position:relative; }
.dash-glow{
  position:absolute; inset:-14px; filter:blur(8px); pointer-events:none;
  background:radial-gradient(60% 60% at 70% 30%, rgba(34,201,138,.18), transparent 70%);
}
.dash-card{
  position:relative; background:var(--card); border:1px solid var(--line); border-radius:20px;
  box-shadow:0 30px 70px -34px rgba(11,21,18,.4); padding:22px; overflow:hidden;
}
.dash-card__head{ display:flex; align-items:center; justify-content:space-between; }
.dash-card__label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--soft); }
.dash-card__live{ display:flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:11px; color:var(--emerald); }
.dash-card__live .dot{ width:7px; height:7px; background:var(--emerald); animation:zd-pulse 2s infinite; }
.dash-card__figure{ margin-top:14px; display:flex; align-items:flex-end; gap:10px; }
.dash-card__figure .value{ font-size:40px; font-weight:800; letter-spacing:-.03em; line-height:1; }
.dash-card__figure .delta{ font-size:13px; font-weight:700; color:var(--emerald); background:rgba(15,158,110,.1); padding:3px 8px; border-radius:6px; margin-bottom:6px; }
.dash-card__caption{ font-family:var(--font-mono); font-size:11px; color:var(--soft); margin-top:3px; }
.dash-card__chart{ position:relative; height:150px; margin-top:16px; }
.dash-card__tiles{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-top:6px; }
.dash-tile{ background:var(--bg); border:1px solid var(--line); border-radius:11px; padding:11px 12px; }
.dash-tile--accent{ background:var(--em-deep); border-color:var(--em-deep); }
.dash-tile .label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; color:var(--soft); text-transform:uppercase; }
.dash-tile--accent .label{ color:var(--em-bright); }
.dash-tile .value{ font-size:20px; font-weight:800; margin-top:3px; }
.dash-tile--accent .value{ color:#fff; }

/* -------------------- Trust bar / ticker -------------------- */
.trust-bar{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--card); }
.trust-bar__inner{ padding-top:30px; padding-bottom:30px; }
.trust-bar__label{ text-align:center; font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--soft); }
.trust-logos{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:38px; margin-top:20px; }
.trust-logos span{
  font-weight:800; font-size:20px; letter-spacing:-.01em; color:#aeb9b3; filter:grayscale(1);
  transition:color .25s, filter .25s; cursor:default;
}
.trust-logos span:hover{ color:var(--emerald); filter:grayscale(0); }
.ticker-wrap{ overflow:hidden; border-top:1px solid var(--line); padding:11px 0; background:var(--bg); }
.ticker{
  display:flex; width:max-content; animation:zd-ticker 26s linear infinite;
  font-family:var(--font-mono); font-size:12.5px; letter-spacing:.08em; color:var(--muted);
}
.ticker span{ padding:0 26px; }
.ticker .dot-sep{ color:var(--emerald); padding:0; }

/* -------------------- Cards: services / values -------------------- */
.card{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:26px 24px; }
.card-link{
  text-decoration:none; color:var(--ink); display:block;
  transition:transform .25s, border-color .25s, box-shadow .25s;
}
.card-link:hover{ border-color:var(--emerald); box-shadow:0 20px 40px -28px rgba(11,21,18,.35); transform:translateY(-4px); }
.card-icon{
  width:44px; height:44px; border-radius:12px; background:rgba(15,158,110,.1);
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-weight:700; color:var(--emerald);
}
.card-arrow{ color:var(--soft); font-size:20px; }
.card h3{ font-size:20px; font-weight:800; letter-spacing:-.01em; margin:18px 0 0; }
.card p{ font-size:15px; color:var(--muted); line-height:1.5; margin:8px 0 0; }

.value-icon{
  width:40px; height:40px; border-radius:10px; background:var(--em-deep);
  display:inline-flex; align-items:center; justify-content:center;
}
.value-icon span{ width:14px; height:14px; border-radius:4px; background:var(--em-bright); transform:rotate(45deg); }
.value-card h3{ font-size:18.5px; font-weight:800; letter-spacing:-.01em; margin:16px 0 0; }
.value-card p{ font-size:14.5px; color:var(--muted); line-height:1.55; margin:8px 0 0; }

/* -------------------- Result / case-study cards -------------------- */
.result-card{ border-radius:18px; padding:28px 26px; display:flex; flex-direction:column; }
.result-card .tag{
  align-self:flex-start; font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--emerald); background:rgba(15,158,110,.1); padding:5px 11px; border-radius:100px;
}
.result-card .metric{ font-size:56px; font-weight:800; letter-spacing:-.03em; line-height:1; margin-top:22px; }
.result-card .headline{ font-size:17px; font-weight:700; margin-top:6px; }
.result-card p{ font-size:14.5px; color:var(--muted); line-height:1.5; margin:10px 0 20px; }
.result-card .btn-link{ margin-top:auto; font-size:14.5px; }

/* -------------------- Process steps -------------------- */
.process-grid{ position:relative; grid-template-columns:repeat(4,1fr); margin-top:44px; }
.process-line{ position:absolute; top:22px; left:8%; right:8%; height:2px; background:linear-gradient(90deg, var(--emerald), rgba(15,158,110,.15)); }
.process-step{ position:relative; }
.process-step .num{
  width:46px; height:46px; border-radius:50%; background:var(--emerald); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:17px; border:4px solid var(--bg);
}
.process-step h3{ font-size:19px; font-weight:800; letter-spacing:-.01em; margin:16px 0 0; }
.process-step p{ font-size:14.5px; color:var(--muted); line-height:1.5; margin:8px 0 0; }

/* -------------------- Industry pills -------------------- */
.pill-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.pill{
  background:var(--card); border:1px solid var(--line); border-radius:100px; padding:13px 22px;
  font-weight:700; font-size:15.5px; transition:.2s; cursor:default; text-decoration:none; color:var(--ink);
}
.pill:hover{ border-color:var(--emerald); color:var(--emerald); transform:translateY(-2px); }

/* -------------------- Testimonials -------------------- */
.testimonial{ display:flex; flex-direction:column; }
.testimonial .stars{ color:#f5a623; font-size:15px; letter-spacing:2px; }
.testimonial p{ font-size:16px; line-height:1.55; margin:14px 0 20px; }
.testimonial .person{ display:flex; align-items:center; gap:12px; margin-top:auto; }
.avatar{
  width:44px; height:44px; border-radius:50%; flex:none;
  background:repeating-linear-gradient(135deg,#e7ece9 0 8px,#eef2f0 8px 16px);
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:12px; color:var(--soft);
}
.person .name{ font-weight:700; font-size:14.5px; }
.person .role{ font-size:13px; color:var(--muted); }

/* -------------------- Stats band -------------------- */
.stats-band{ background:var(--em-deep); color:#fff; margin-top:24px; }
.stats-band .grid{ padding:60px 0; gap:24px; }
.stat{ text-align:center; }
.stat .value{ font-size:52px; font-weight:800; letter-spacing:-.03em; line-height:1; color:var(--em-bright); }
.stat .label{ font-size:15px; color:rgba(255,255,255,.7); margin-top:12px; font-weight:500; }

/* -------------------- About / photo placeholder -------------------- */
.photo-placeholder{
  aspect-ratio:4/3; background:repeating-linear-gradient(135deg,#e7ece9 0 12px,#eef2f0 12px 24px);
  border:1px solid var(--line); border-radius:18px; display:flex; align-items:center; justify-content:center;
  color:var(--soft); font-family:var(--font-mono); font-size:12.5px; letter-spacing:.08em; text-align:center;
  overflow:hidden;
}
.photo-placeholder img{ width:100%; height:100%; object-fit:cover; display:block; }
.image-placeholder{
  aspect-ratio:16/9; background:repeating-linear-gradient(135deg,#e7ece9 0 10px,#eef2f0 10px 20px);
  display:flex; align-items:center; justify-content:center; color:var(--soft);
  font-family:var(--font-mono); font-size:11px; letter-spacing:.08em;
}
.map-placeholder{
  margin-top:16px; height:120px; border-radius:12px;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 10px,rgba(255,255,255,.09) 10px 20px);
  border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.4); font-family:var(--font-mono); font-size:11px; letter-spacing:.08em;
}

/* -------------------- Blog / insight cards -------------------- */
.post-card{ border-radius:16px; overflow:hidden; }
.post-card__cover{ aspect-ratio:16/9; position:relative; overflow:hidden; }
.post-card__cover svg,.post-card__cover img{ width:100%; height:100%; display:block; object-fit:cover; }
.post-card__cover--seo{ background:linear-gradient(150deg,#06251c,#0d7a56); }
.post-card__cover--ads{ background:linear-gradient(150deg,#0b3b2c,#12b07c); }
.post-card__cover--strategy{ background:linear-gradient(150deg,#134e4a,#0f9e6e); }
.post-card__body{ padding:20px 22px; }
.post-card .tag{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--emerald); }
.post-card h3{ font-size:18px; font-weight:800; letter-spacing:-.01em; line-height:1.25; margin:10px 0 0; }
.post-card .meta{ font-size:13px; color:var(--muted); margin-top:12px; }

/* -------------------- FAQ accordion -------------------- */
.faq-list{ margin-top:36px; display:flex; flex-direction:column; gap:12px; }
.faq-item{ background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.faq-item__q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:20px 22px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--ink);
}
.faq-item__q span.q{ font-size:17px; font-weight:700; letter-spacing:-.01em; }
.faq-item__q .icon{ font-size:22px; line-height:1; flex:none; color:var(--soft); }
.faq-item.is-open .faq-item__q .icon{ color:var(--emerald); }
.faq-item__a{ margin:0; padding:0 22px 22px; font-size:15.5px; line-height:1.6; color:var(--muted); display:none; }
.faq-item.is-open .faq-item__a{ display:block; }

/* -------------------- Final CTA + contact form -------------------- */
.cta-section{ background:transparent; color:#fff; margin-top:40px; padding:6px 18px 60px; }
.cta-grid{ padding:76px 0; gap:52px; align-items:center; }
.cta-grid h2{ font-size:44px; line-height:1.05; letter-spacing:-.03em; font-weight:800; margin:0; }
.cta-grid p{ font-size:18px; line-height:1.55; color:rgba(255,255,255,.72); margin:20px 0 0; max-width:440px; }
.cta-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.cta-section--center{
  position:relative; max-width:1080px; padding:76px 40px; text-align:center;
  border-radius:28px; border:1px solid rgba(34,201,138,.28);
  background:radial-gradient(60% 70% at 22% 18%, rgba(34,201,138,.32), transparent 60%), var(--em-deep);
  box-shadow:10px 10px 0 0 var(--em-bright), 0 40px 80px -40px rgba(6,37,28,.6);
}
.cta-section--center .eyebrow-bright{
  display:inline-flex; align-items:center; gap:9px; margin-bottom:22px;
  padding:9px 18px 9px 14px; border:1px solid rgba(34,201,138,.35);
  border-radius:999px; background:rgba(34,201,138,.1);
}
.cta-section--center .eyebrow-bright::before{
  content:''; width:6px; height:6px; border-radius:50%; background:var(--em-bright);
  box-shadow:0 0 8px 1px var(--em-bright); flex-shrink:0;
}
.cta-section--center h2{ font-size:44px; line-height:1.05; letter-spacing:-.03em; font-weight:800; margin:0; }
.cta-section--center p{ font-size:18px; line-height:1.55; color:rgba(255,255,255,.72); margin:24px auto 0; max-width:480px; }
.cta-section--center .btn{ margin-top:32px; box-shadow:0 16px 34px -16px rgba(34,201,138,.55); }

.form-card{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:28px; }
.form-eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--em-bright); }
.form-fields{ display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.form-fields input, .form-fields textarea, .form-fields select{
  width:100%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:10px;
  padding:14px 15px; color:#fff; font-family:inherit; font-size:15px; outline:none; transition:border-color .2s;
}
.form-fields input:focus, .form-fields textarea:focus, .form-fields select:focus{ border-color:var(--em-bright); }
.form-fields input::placeholder, .form-fields textarea::placeholder{ color:rgba(255,255,255,.45); }
.form-fields select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none; cursor:pointer;
  padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ffffff' stroke-opacity='.55' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 15px center; background-size:12px 8px;
}
.form-fields select option{ color:#06251c; }
.form-fields select:invalid{ color:rgba(255,255,255,.45); }
.form-submit{
  width:100%; margin-top:16px; background:var(--em-bright); color:var(--em-deep); border:none; border-radius:11px;
  padding:15px; font-family:inherit; font-weight:800; font-size:16px; cursor:pointer; transition:background .2s;
}
.form-submit:hover{ background:#fff; }
.form-note{ text-align:center; font-size:12.5px; color:rgba(255,255,255,.5); margin-top:12px; }
.form-success{ text-align:center; padding:40px 8px; display:none; }
.form-success.is-visible{ display:block; }
.form-success__check{
  width:54px; height:54px; border-radius:50%; background:var(--em-bright); color:var(--em-deep);
  display:inline-flex; align-items:center; justify-content:center; font-size:28px; font-weight:800;
}
.form-success h3{ font-size:22px; font-weight:800; margin-top:16px; }
.form-success p{ color:rgba(255,255,255,.7); margin:8px 0 0; font-size:15px; }

/* -------------------- Footer (mega — home page) -------------------- */
.site-footer{ background:#040f0b; color:rgba(255,255,255,.66); }
.footer-grid{ padding-top:60px; padding-bottom:30px; gap:40px; grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr; }
.footer-brand .brand{ color:#fff; }
.footer-brand .brand__logo{ height:30px; filter:brightness(0) invert(1); }
.footer-brand p{ font-size:14px; line-height:1.6; margin:16px 0 0; max-width:300px; }
.footer-socials{ display:flex; gap:10px; margin-top:18px; }
.footer-socials a{
  width:36px; height:36px; border-radius:9px; border:1px solid rgba(255,255,255,.14); display:flex;
  align-items:center; justify-content:center; color:rgba(255,255,255,.7); text-decoration:none;
  font-family:var(--font-mono); font-size:12px; font-weight:700; transition:.2s;
}
.footer-socials a:hover{ border-color:var(--emerald); color:#fff; }
.footer-col-title{ color:#fff; font-weight:700; font-size:14px; letter-spacing:.02em; }
.footer-links{ display:flex; flex-direction:column; gap:11px; margin-top:16px; }
.footer-links a{ text-decoration:none; color:rgba(255,255,255,.66); font-size:14px; transition:color .2s; }
.footer-links a:hover{ color:var(--em-bright); }
.footer-contact{ font-size:14px; line-height:1.7; margin-top:16px; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); }
.footer-bottom__inner{
  padding-top:20px; padding-bottom:20px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; font-size:13px;
}
.footer-bottom a{ text-decoration:none; color:rgba(255,255,255,.66); transition:color .2s; }
.footer-bottom a:hover{ color:#fff; }
.footer-legal{ display:flex; gap:22px; }

/* -------------------- Footer (simple — inner pages) -------------------- */
.site-footer--simple .footer-simple__inner{
  padding:44px 0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px;
}
.site-footer--simple .brand{ color:#fff; }
.footer-simple__links{ display:flex; flex-wrap:wrap; gap:22px; font-size:14px; }
.footer-simple__links a{ text-decoration:none; color:rgba(255,255,255,.66); transition:color .2s; }
.footer-simple__links a:hover{ color:#fff; }
.footer-simple__copy{ font-size:13px; color:rgba(255,255,255,.5); }


/* ==========================================================================
   Pillar / industry page components (SEO, Healthcare, Pricing, Contact,
   About, Case Studies and similar deep content pages)
   ========================================================================== */

/* -------------------- Breadcrumb -------------------- */
.breadcrumb{ padding-top:16px; font-family:var(--font-mono); font-size:12px; color:var(--soft); }
.breadcrumb a{ color:var(--soft); text-decoration:none; }
.breadcrumb a:hover{ color:var(--emerald); }
.breadcrumb .current{ color:var(--emerald); }

/* -------------------- Dark band section -------------------- */
.dark-band{ background:var(--em-deep); color:#fff; }
.eyebrow-bright{ font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--em-bright); }
.dark-band .section-head p{ color:rgba(255,255,255,.75); }
.dark-band h2{ font-size:40px; line-height:1.08; letter-spacing:-.025em; font-weight:800; margin:14px auto 0; }

.stat-pill{
  display:inline-flex; align-items:baseline; gap:12px; margin-top:26px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:16px 24px;
}
.stat-pill .big{ font-size:34px; font-weight:800; letter-spacing:-.03em; color:var(--em-bright); }
.stat-pill .cap{ font-size:14.5px; color:rgba(255,255,255,.75); text-align:left; line-height:1.4; }

/* -------------------- Extra grid columns -------------------- */
.grid-5{ grid-template-columns:repeat(5,1fr); }
.grid-6{ grid-template-columns:repeat(6,1fr); }

/* -------------------- Info card (icon + title + desc), several icon styles -------------------- */
.info-card{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px 22px; }
.info-card h3{ font-size:17px; font-weight:800; letter-spacing:-.01em; margin:14px 0 0; line-height:1.25; }
.info-card p{ font-size:14px; color:var(--muted); line-height:1.5; margin:8px 0 0; }
.info-card--bordered-hover{ transition:border-color .25s, box-shadow .25s; }
.info-card--bordered-hover:hover{ border-color:var(--emerald); box-shadow:0 24px 48px -30px rgba(11,21,18,.35); }

.sitemap-card-title{ font-size:12px; font-family:var(--font-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--emerald); }
.sitemap-link-list{ display:flex; flex-direction:column; gap:2px; margin-top:16px; }
.sitemap-link-list a{ text-decoration:none; color:var(--ink); font-weight:600; font-size:14.5px; padding:8px 0; border-bottom:1px solid var(--line); transition:color .2s; }
.sitemap-link-list a:last-child{ border-bottom:none; }
.sitemap-link-list a:hover{ color:var(--emerald); }

.icon-diamond{
  width:38px; height:38px; border-radius:10px; background:rgba(15,158,110,.1);
  display:inline-flex; align-items:center; justify-content:center; flex:none;
}
.icon-diamond svg{ width:20px; height:20px; stroke:var(--emerald); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.icon-diamond--deep{ background:var(--em-deep); }
.icon-diamond--deep svg{ stroke:var(--em-bright); }

.icon-abbr{
  width:44px; height:44px; border-radius:12px; background:var(--em-deep);
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-weight:700; font-size:14px; color:var(--em-bright);
}
.icon-check{
  flex:none; width:38px; height:38px; border-radius:10px; background:var(--em-bright); color:var(--em-deep);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px;
}
.icon-check--sm{
  flex:none; width:26px; height:26px; font-size:13px; border-radius:8px; background:var(--em-bright); color:var(--em-deep);
  display:inline-flex; align-items:center; justify-content:center; font-weight:800;
}
.icon-check--light{ background:rgba(15,158,110,.1); color:var(--emerald); }

.tag-flag{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--emerald);
  background:rgba(15,158,110,.1); border:1px solid rgba(15,158,110,.22); padding:4px 9px; border-radius:100px; font-weight:700;
}

.bullet-list{ display:flex; flex-direction:column; gap:9px; margin-top:16px; }
.bullet-item{ display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color:var(--ink); }
.bullet-dot{ flex:none; margin-top:6px; width:7px; height:7px; border-radius:2px; background:var(--emerald); transform:rotate(45deg); }

/* -------------------- Dark card (on dark bands) -------------------- */
.dark-card{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:24px; }
.dark-card h3{ color:#fff; }
.dark-card p{ color:rgba(255,255,255,.7); }
/* .dark-card is designed to sit on a dark section background (translucent overlay).
   The Contact page's testimonial card uses it standalone on the page's light
   background, so it needs its own solid dark background to stay legible. */
.contact-trust-rail .dark-card{ background:var(--em-deep); border-color:var(--em-deep); }
.check-row{ display:flex; align-items:flex-start; gap:16px; }
.check-row p{ margin:0; font-size:15.5px; line-height:1.55; color:var(--ink); }

/* -------------------- Callout / info box -------------------- */
.callout{
  display:flex; align-items:flex-start; gap:14px; margin-top:22px;
  background:rgba(15,158,110,.07); border:1px solid rgba(15,158,110,.2); border-radius:14px; padding:20px 24px;
}
.callout__icon{
  flex:none; width:34px; height:34px; border-radius:9px; background:var(--emerald); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800;
}
.callout p{ margin:0; font-size:15.5px; line-height:1.55; color:var(--ink); }
.callout--dark{ background:var(--em-deep); color:#fff; }
.callout--dark p{ color:rgba(255,255,255,.78); }
.callout--dark .callout__icon{ background:rgba(34,201,138,.2); }

.addon-bar{
  margin-top:22px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px 24px;
  display:flex; flex-wrap:wrap; gap:14px 32px; align-items:center;
}

/* -------------------- Process step with timestamp -------------------- */
.process-step--timed{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px 20px; }
.process-step--timed .row{ display:flex; align-items:center; justify-content:space-between; }
.process-step--timed .when{ font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--soft); }
.process-step--timed .badge-num{
  width:40px; height:40px; border-radius:50%; background:var(--emerald); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px;
}
.process-step--timed h3{ font-size:16.5px; font-weight:800; letter-spacing:-.01em; margin:14px 0 0; line-height:1.2; }
.process-step--timed p{ font-size:13px; color:var(--muted); line-height:1.5; margin:8px 0 0; }

/* -------------------- Filter chips -------------------- */
.chip-row{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{
  cursor:pointer; font-family:var(--font-body); font-weight:600; font-size:13px; padding:7px 13px; border-radius:100px;
  transition:.18s; border:1px solid var(--line); background:var(--card); color:var(--muted);
}
.chip.is-active{ background:var(--emerald); color:#fff; border-color:var(--emerald); }
.chip-link{ text-decoration:none; display:inline-block; }

/* -------------------- Pricing tabs + tiers -------------------- */
.pricing-tabs{ display:flex; gap:8px; padding-bottom:14px; overflow-x:auto; }
.pricing-tab{
  white-space:nowrap; cursor:pointer; font-family:var(--font-body); font-weight:700; font-size:13.5px;
  padding:10px 16px; border-radius:100px; transition:all .18s; border:1.5px solid var(--line); background:var(--card); color:var(--muted);
}
.pricing-tab.is-active{ border-color:var(--emerald); background:var(--emerald); color:#fff; }

.tier-grid{ display:grid; gap:16px; align-items:start; }
.tier-card{ position:relative; background:var(--card); border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.tier-card--featured{ border:2px solid var(--emerald); box-shadow:0 24px 50px -30px rgba(15,158,110,.6); }
.tier-card--premium{ background:linear-gradient(180deg,#fff,#f2faf6); }
.tier-badge{
  position:absolute; top:0; left:0; right:0; background:var(--emerald); color:#fff;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
  text-align:center; padding:6px;
}
.tier-card__body{ padding:26px; }
.tier-card--featured .tier-card__body{ padding:38px 26px 26px; }
.tier-name{ font-size:20px; font-weight:800; letter-spacing:-.015em; margin:0; }
.tier-bestfor{ font-size:13px; color:var(--muted); margin-top:5px; min-height:34px; line-height:1.4; }
.tier-price-row{ display:flex; align-items:flex-end; gap:6px; margin-top:14px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.tier-card--featured .tier-price-row{ border-bottom-color:rgba(15,158,110,.25); }
.tier-price-prefix{ font-family:var(--font-mono); font-size:11px; color:var(--soft); margin-bottom:8px; }
.tier-price-value{ font-size:30px; font-weight:800; letter-spacing:-.02em; line-height:1; }
.tier-price-suffix{ font-size:13px; color:var(--muted); margin-bottom:4px; }
.tier-rows{ display:flex; flex-direction:column; gap:11px; margin-top:16px; }
.tier-row{ display:grid; grid-template-columns:1fr auto; gap:12px; align-items:baseline; }
.tier-row .label{ font-size:13px; color:var(--muted); }
.tier-row .val{ font-size:13.5px; font-weight:700; text-align:right; color:var(--ink); }
.tier-row .val--accent{ color:var(--emerald); }
.tier-cta{
  display:block; text-align:center; text-decoration:none; margin-top:20px; font-weight:800; font-size:14.5px;
  padding:13px; border-radius:11px; background:transparent; color:var(--ink); border:1.5px solid var(--line);
}
.tier-cta:hover{ border-color:var(--emerald); color:var(--emerald); }
.tier-cta--filled{ background:var(--emerald); color:#fff; border-color:var(--emerald); }
.tier-cta--filled:hover{ background:#0c855e; color:#fff; }

.plan-card{ position:relative; border-radius:18px; padding:30px 28px; display:flex; flex-direction:column; }
.plan-card--light{ background:var(--card); color:var(--ink); border:1px solid var(--line); }
.plan-card--dark{ background:var(--em-deep); color:#fff; border:1px solid var(--em-deep); }
.plan-card .plan-badge{
  position:absolute; top:-11px; left:28px; font-family:var(--font-mono); font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; background:var(--em-bright); color:var(--em-deep); font-weight:700; padding:5px 12px; border-radius:100px;
}
.plan-card h3{ font-size:21px; font-weight:800; letter-spacing:-.01em; margin:0; }
.plan-card .plan-desc{ font-size:14px; line-height:1.5; margin:10px 0 0; opacity:.72; }
.plan-card .plan-price{ font-size:28px; font-weight:800; letter-spacing:-.02em; margin:22px 0 0; }
.plan-card .plan-price-note{ font-size:13px; opacity:.6; margin-top:2px; }
.plan-card .plan-features{ display:flex; flex-direction:column; gap:8px; margin:20px 0 0; }
.plan-card .plan-feature{ display:flex; align-items:flex-start; gap:9px; font-size:14px; }
.plan-card .plan-feature .dot{ flex:none; margin-top:5px; width:6px; height:6px; border-radius:2px; background:var(--emerald); transform:rotate(45deg); }
.plan-card--dark .plan-feature .dot{ background:var(--em-bright); }
.plan-card .plan-audience{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--emerald); font-weight:700; }
.plan-card--dark .plan-audience{ color:var(--em-bright); }
.plan-card .plan-features__group{ font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--soft); font-weight:700; margin-top:18px; }
.plan-card .plan-features__group:first-child{ margin-top:0; }
.plan-card--dark .plan-features__group{ color:rgba(255,255,255,.55); }
.plan-cta{ margin-top:24px; text-decoration:none; text-align:center; font-weight:700; font-size:15px; padding:13px; border-radius:11px; }
.plan-cta--light{ background:transparent; color:var(--ink); border:1px solid var(--line); }
.plan-cta--light:hover{ border-color:var(--emerald); color:var(--emerald); }
.plan-cta--dark{ background:var(--em-bright); color:var(--em-deep); border:1px solid var(--em-bright); }
.plan-cta--dark:hover{ opacity:.9; }

.plan-card .plan-pages-note{ font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--muted); margin-top:6px; }
.plan-card--dark .plan-pages-note{ color:rgba(255,255,255,.55); }
.plan-card .plan-feature .check,
.plan-card .plan-feature .cross{ flex:none; margin-top:2px; width:15px; height:15px; border-radius:50%; font-size:10px; line-height:15px; text-align:center; font-weight:800; }
.plan-card .plan-feature .check{ background:var(--emerald); color:#fff; }
.plan-card--dark .plan-feature .check{ background:var(--em-bright); color:var(--em-deep); }
.plan-card .plan-feature--off{ opacity:.42; }
.plan-card .plan-feature--off .cross{ background:var(--line); color:var(--muted); }
.plan-card--dark .plan-feature--off .cross{ background:rgba(255,255,255,.15); color:rgba(255,255,255,.5); }
.plan-card .plan-see-more{ display:inline-block; margin-top:16px; font-size:13.5px; }
.plan-card .plan-see-more--dark{ color:var(--em-bright); }
.plan-card .plan-see-more--dark:hover{ color:#fff; }

/* -------------------- Package finder -------------------- */
.finder-card{ background:var(--card); border:1px solid var(--line); border-radius:22px; padding:34px; margin-top:30px; }
.finder-question{ display:flex; flex-direction:column; gap:24px; }
.finder-q-head{ display:flex; align-items:center; gap:10px; }
.finder-q-n{ font-family:var(--font-mono); font-size:12px; font-weight:700; color:var(--emerald); }
.finder-q-text{ font-size:16px; font-weight:700; letter-spacing:-.01em; }
.finder-options{ display:grid; gap:10px; margin-top:12px; }
.finder-option{
  cursor:pointer; font-family:var(--font-body); font-weight:700; font-size:13.5px; padding:12px 10px; border-radius:11px;
  transition:all .18s; border:1.5px solid var(--line); background:var(--card); color:var(--ink);
}
.finder-option.is-active{ border-color:var(--emerald); background:rgba(15,158,110,.09); color:var(--emerald); }
.finder-result{
  margin-top:26px; padding-top:24px; border-top:1px solid var(--line);
}
.finder-result-box{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px;
  background:rgba(15,158,110,.06); border:1px solid rgba(15,158,110,.22); border-radius:16px; padding:22px 24px;
}
.finder-result-box .rec{ font-size:22px; font-weight:800; letter-spacing:-.02em; margin-top:6px; }
.finder-result-box .note{ font-size:14px; color:var(--muted); margin-top:4px; }
.finder-hint{ text-align:center; font-size:14px; color:var(--soft); font-family:var(--font-mono); }

/* -------------------- Form fields (light, on-card forms) -------------------- */
.field{ display:block; }
.field-label{ display:block; font-size:13px; font-weight:700; color:var(--ink); margin-bottom:7px; }
.field-input{
  width:100%; font-family:var(--font-body); font-size:15px; color:var(--ink); background:var(--bg);
  border:1.5px solid var(--line); border-radius:11px; padding:13px 15px; outline:none; transition:border-color .18s, background .18s;
}
.field-input:focus{ border-color:var(--emerald); background:#fff; }
.field-input::placeholder{ color:var(--soft); }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.form-card--light{ background:var(--card); color:var(--ink); border-radius:20px; padding:30px; }

/* -------------------- Sticky mobile CTA bar -------------------- */
.sticky-cta-bar{
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:80; background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px); border-top:1px solid var(--line); padding:9px 12px calc(9px + env(safe-area-inset-bottom)); gap:9px;
}
.sticky-cta-bar a{
  flex:1; text-decoration:none; text-align:center; border-radius:11px; padding:13px; font-weight:800; font-size:14px;
  display:flex; align-items:center; justify-content:center; gap:7px;
}
.sticky-cta-bar a.call{ background:var(--bg); border:1px solid var(--line); color:var(--ink); }
.sticky-cta-bar a.whatsapp{ background:#25D366; color:#06251c; }
.sticky-cta-bar a.primary{ background:var(--emerald); color:#fff; }
@media (max-width:900px){ .sticky-cta-bar{ display:flex; } body{ padding-bottom:64px; } }

/* -------------------- Stat wall / case card grid -------------------- */
.stat-wall-card{ position:relative; overflow:hidden; display:flex; flex-direction:column; }
.stat-wall-card .metric{ font-size:44px; font-weight:800; letter-spacing:-.03em; line-height:1; color:var(--ink); }
.stat-wall-card .label{ font-size:13.5px; color:var(--muted); line-height:1.4; margin-top:10px; flex:1; }
.stat-wall-card .tag{ font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--emerald); margin-top:14px; }

.case-card{ padding:16px 18px 22px; display:flex; flex-direction:column; }
.case-card__chart{ height:96px; background:var(--em-deep); border-radius:12px; position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.case-card__chart .window{ position:absolute; top:12px; left:14px; font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.case-card__icon-badge{ position:absolute; top:10px; right:10px; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; }
.case-card__icon-badge svg{ width:16px; height:16px; stroke:#fff; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.case-card__metric{ font-size:48px; font-weight:800; letter-spacing:-.03em; line-height:1; margin-top:20px; color:var(--ink); }
.case-card__qualifier{ font-size:14px; color:var(--muted); line-height:1.4; margin-top:8px; }
.case-card__client{ font-size:15px; font-weight:700; margin-top:16px; letter-spacing:-.01em; }
.case-card__tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.tag-pill{ font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--emerald); background:rgba(15,158,110,.1); padding:4px 9px; border-radius:100px; }
.tag-pill--muted{ color:var(--muted); background:var(--bg); border:1px solid var(--line); }
.case-card__challenge{ font-size:13.5px; color:var(--soft); line-height:1.5; margin:14px 0 18px; padding-top:14px; border-top:1px solid var(--line); }
.case-card__cta{ margin-top:auto; font-weight:700; font-size:14px; color:var(--emerald); }

.empty-state{ text-align:center; padding:48px 20px; border:1px dashed var(--line); border-radius:18px; background:var(--card); }
.empty-state h3{ font-size:20px; font-weight:800; letter-spacing:-.01em; margin:0; }
.empty-state p{ font-size:15px; color:var(--muted); margin:10px auto 0; max-width:440px; }

/* -------------------- Featured spotlight -------------------- */
.spotlight{ background:var(--em-deep); color:#fff; border-radius:22px; overflow:hidden; margin-top:18px; display:grid; grid-template-columns:1.1fr .9fr; }
.spotlight__body{ padding:48px 44px; }
.spotlight__media{
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 12px,rgba(255,255,255,.09) 12px 24px);
  display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.4);
  font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; min-height:340px; border-left:1px solid rgba(255,255,255,.1);
}
.spotlight__metric{ font-size:72px; font-weight:800; letter-spacing:-.03em; line-height:1; margin-top:24px; color:var(--em-bright); }
.spotlight blockquote{ border-left:3px solid var(--em-bright); padding:6px 0 6px 18px; margin:26px 0 0; }
.spotlight blockquote p{ font-size:17px; line-height:1.5; font-style:italic; margin:0; }

/* -------------------- Video testimonial card -------------------- */
.video-card{ overflow:hidden; }
.video-card__thumb{
  aspect-ratio:16/10; background:repeating-linear-gradient(135deg,#e7ece9 0 11px,#eef2f0 11px 22px);
  position:relative; display:flex; align-items:center; justify-content:center;
}
.video-card__play{ width:58px; height:58px; border-radius:50%; background:rgba(6,37,28,.9); display:flex; align-items:center; justify-content:center; }
.video-card__play span{ border-style:solid; border-width:10px 0 10px 16px; border-color:transparent transparent transparent #22c98a; margin-left:4px; display:block; }
.video-card__len{ position:absolute; bottom:12px; right:12px; font-family:var(--font-mono); font-size:11px; color:var(--soft); background:var(--card); padding:3px 8px; border-radius:6px; }
.video-card__body{ padding:20px 22px; }
.video-card__metric{ font-size:26px; font-weight:800; letter-spacing:-.02em; color:var(--emerald); }
.video-card__body p{ font-size:14.5px; line-height:1.5; color:var(--ink); margin:8px 0 0; }
.video-card__meta{ font-size:13px; color:var(--muted); margin-top:12px; }

/* -------------------- Methodology row -------------------- */
.methodology{ background:var(--card); border:1px solid var(--line); border-radius:22px; padding:44px; display:grid; grid-template-columns:.8fr 1.2fr; gap:44px; align-items:start; }
.methodology-list{ display:flex; flex-direction:column; gap:2px; }
.methodology-item{ display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.methodology-item .title{ font-size:16px; font-weight:700; letter-spacing:-.01em; }
.methodology-item p{ font-size:14px; color:var(--muted); line-height:1.55; margin:5px 0 0; }

/* -------------------- Timeline / milestones -------------------- */
.timeline{ position:relative; margin-top:44px; }
.timeline-line{ position:absolute; top:9px; left:6%; right:6%; height:2px; background:linear-gradient(90deg, var(--emerald), rgba(15,158,110,.15)); }
.timeline-item{ position:relative; }
.timeline-dot{ width:20px; height:20px; border-radius:50%; background:var(--emerald); border:4px solid var(--bg); }
.timeline-year{ font-family:var(--font-mono); font-size:13px; font-weight:700; color:var(--emerald); margin-top:14px; }
.timeline-label{ font-size:14.5px; font-weight:700; line-height:1.3; margin-top:4px; }

/* -------------------- Team / culture / leadership (About) -------------------- */
.photo-tile{
  background:repeating-linear-gradient(135deg,#e7ece9 0 10px,#eef2f0 10px 20px); color:var(--soft);
  font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; display:flex; align-items:center; justify-content:center;
  text-align:center; text-transform:uppercase;
}
.photo-tile img{ width:100%; height:100%; object-fit:cover; display:block; }
.leader-card{ background:var(--card); border:1px solid var(--line); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; }
.leader-card__photo{ aspect-ratio:4/3; height:292px; flex:none; }
.leader-card__photo img{ width:100%; height:100%; object-fit:cover; object-position:center 15%; display:block; }
.leader-card__body{ padding:24px 24px 26px; display:flex; flex-direction:column; flex:1; }
.leader-card__body h3{ font-size:20px; font-weight:800; letter-spacing:-.01em; margin:0; }
.leader-card__role{ font-family:var(--font-mono); font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--emerald); margin-top:5px; }
.leader-card__body p{ font-size:14px; color:var(--muted); line-height:1.55; margin:14px 0 0; }
.ask-pill{ display:inline-flex; align-items:center; gap:8px; margin-top:14px; background:rgba(15,158,110,.07); border:1px solid rgba(15,158,110,.2); border-radius:10px; padding:9px 12px; }
.ask-pill .label{ font-family:var(--font-mono); font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--emerald); font-weight:700; flex:none; }
.ask-pill .text{ font-size:12.5px; color:var(--ink); line-height:1.35; }
.ask-pill--link{ transition:border-color .2s ease, background .2s ease; cursor:pointer; }
.ask-pill--link:hover{ border-color:var(--emerald); background:rgba(15,158,110,.12); }
.ask-pill--link:hover .text{ text-decoration:underline; }
.linkedin-link{ margin-top:16px; display:inline-flex; align-items:center; gap:7px; text-decoration:none; color:var(--muted); font-weight:700; font-size:13.5px; }
.leader-card__body .linkedin-link{ margin-top:auto; padding-top:16px; }
.linkedin-link:hover{ color:var(--emerald); }
.linkedin-badge{ width:18px; height:18px; border-radius:4px; background:#0a66c2; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; }

.team-card{ background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.team-card__photo{ aspect-ratio:1; font-size:9px; flex:none; }
.team-card__photo img{ object-position:center 15%; }
.team-card__body{ padding:12px 12px 14px; }
.team-card__name{ font-size:14px; font-weight:800; letter-spacing:-.01em; line-height:1.2; }
.team-card__role{ font-size:12px; color:var(--muted); margin-top:3px; }
.culture-tile{ aspect-ratio:1; border-radius:12px; border:1px solid var(--line); font-size:8.5px; }

.credential-pill{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px 22px; display:flex; align-items:center; gap:11px; }
.credential-pill .abbr{ width:32px; height:32px; border-radius:8px; background:rgba(15,158,110,.12); display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-weight:700; font-size:12px; color:var(--emerald); }
.credential-pill .name{ font-weight:700; font-size:15px; }

.teaser-card{ background:var(--card); border:1px solid var(--line); border-radius:22px; padding:44px; display:grid; grid-template-columns:1.4fr auto; gap:32px; align-items:center; }

/* -------------------- Job / open-role card (Careers) -------------------- */
.job-card{ display:flex; flex-direction:column; gap:14px; }
.job-card__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.job-card__title{ font-size:19px; font-weight:800; letter-spacing:-.01em; margin:0; }
.job-card__tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.job-card__desc{ font-size:14.5px; color:var(--muted); line-height:1.55; margin:0; max-width:640px; }

/* -------------------- Dashboard mockup extras (bar chart / rank rows) -------------------- */
.dash-bars{ display:flex; align-items:flex-end; justify-content:space-between; gap:9px; height:118px; margin-top:16px; padding-top:6px; }
.dash-bar-col{ flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:7px; height:100%; }
.dash-bar-col .track{ flex:1; width:100%; display:flex; align-items:flex-end; }
.dash-bar-col .bar{ width:100%; border-radius:6px 6px 0 0; transform-origin:bottom; animation:zd-grow .9s cubic-bezier(.4,0,.2,1) both; }
.dash-bar-col .m{ font-family:var(--font-mono); font-size:11px; color:var(--soft); }

.dash-ranks{ margin-top:12px; border-top:1px solid var(--line); padding-top:12px; }
.dash-ranks__head{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.08em; color:var(--soft); text-transform:uppercase; display:flex; justify-content:space-between; }
.rank-row{ display:flex; align-items:center; justify-content:space-between; font-size:13px; margin-top:8px; }
.rank-row .kw{ color:var(--ink); font-weight:600; }
.rank-before{ color:var(--soft); text-decoration:line-through; }
.rank-arrow{ color:var(--emerald); }
.rank-after{ color:#fff; background:var(--emerald); font-weight:700; min-width:24px; text-align:center; padding:2px 6px; border-radius:6px; }

/* -------------------- Compare grid (myth-buster / owned-vs-rented / two-buyer split) -------------------- */
.compare-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.compare-card{ border-radius:18px; padding:28px 26px; }
.compare-card--muted{ background:var(--card); border:1px solid var(--line); }
.compare-card--accent{ background:var(--em-deep); color:#fff; }
.compare-card--accent p{ color:rgba(255,255,255,.72); }


/* ==== Utility classes (migrated from inline styles) ==== */

/* align-items */
.items-center{align-items:center}
.items-start{align-items:start}
.items-flex-start{align-items:flex-start}
.items-stretch{align-items:stretch}
.items-end{align-items:end}

/* align-self */
.self-flex-start{align-self:flex-start}

/* animation */
.anim-zd-fade-1s-ease-0_6s-forwards{animation:zd-fade 1s ease .6s forwards}
.anim-zd-draw-1_9s-cubic-bezier-0_4-0-0_2-1-0_3s-forwards{animation:zd-draw 1.9s cubic-bezier(.4,0,.2,1) .3s forwards}
.anim-zd-draw-1_9s-cubic-bezier-0_4-0-0_2-1-0_5s-forwards{animation:zd-draw 1.9s cubic-bezier(.4,0,.2,1) .5s forwards}

/* animation-delay */
.delay-0ms{animation-delay:0ms}
.delay-90ms{animation-delay:90ms}
.delay-180ms{animation-delay:180ms}
.delay-120ms{animation-delay:120ms}
.delay-70ms{animation-delay:70ms}
.delay-140ms{animation-delay:140ms}
.delay-210ms{animation-delay:210ms}
.delay-0_2s{animation-delay:.2s}
.delay-0_5s{animation-delay:.5s}
.delay-280ms{animation-delay:280ms}
.delay-350ms{animation-delay:350ms}
.delay-0_3s{animation-delay:.3s}
.delay-0_4s{animation-delay:.4s}
.delay-0_6s{animation-delay:.6s}
.delay-0_7s{animation-delay:.7s}
.delay-0_35s{animation-delay:.35s}
.delay-270ms{animation-delay:270ms}

/* aspect-ratio */
.aspect-21-8{aspect-ratio:21/8}
.aspect-4-3{aspect-ratio:4/3}
.aspect-16-9{aspect-ratio:16/9}
.aspect-1{aspect-ratio:1}

/* background */
.bg-em-bright{background:var(--em-bright)}
.bg-emerald{background:var(--emerald)}
.bg-rgba-15-158-110-0_1{background:rgba(15,158,110,.1)}
.bg-rgba-15-158-110-0_08{background:rgba(15,158,110,.08)}
.bg-rgba-15-158-110-0_6{background:rgba(15,158,110,.6)}
.bg-em-deep{background:var(--em-deep)}
.bg-card{background:var(--card)}
.bg-rgba-15-158-110-0_35{background:rgba(15,158,110,.35)}
.bg-rgba-15-158-110-0_45{background:rgba(15,158,110,.45)}
.bg-rgba-15-158-110-0_4{background:rgba(15,158,110,.4)}
.bg-rgba-255-255-255-0_12{background:rgba(255,255,255,.12)}
.bg-repeating-linear-gradient-135deg-rgba-255-255-255-0_05-0-12px-rgba-255-255-255-0_09-12px-24px{background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 12px,rgba(255,255,255,.09) 12px 24px)}
.bg-hex9aa8a2{background:#9aa8a2}
.bg-bg{background:var(--bg)}
.bg-soft{background:var(--soft)}
.bg-linear-gradient-bg-78pct-transparent{background:linear-gradient(var(--bg) 78%,transparent)}
.bg-none{background:none}

/* border */
.b-1px-solid-line{border:1px solid var(--line)}
.b-1px-solid-rgba-15-158-110-0_2{border:1px solid rgba(15,158,110,.2)}
.b-1px-dashed-line{border:1px dashed var(--line)}
.b-1px-solid-rgba-255-255-255-0_2{border:1px solid rgba(255,255,255,.2)}
.b-1px-solid-rgba-255-255-255-0_14{border:1px solid rgba(255,255,255,.14)}
.b-2px-solid-soft{border:2px solid var(--soft)}
.b-none{border:none}

/* border-radius */
.br-13px{border-radius:13px}
.br-50pct{border-radius:50%}
.br-18px{border-radius:18px}
.br-12px{border-radius:12px}
.br-4px{border-radius:4px}
.br-100px{border-radius:100px}
.br-20px{border-radius:20px}
.br-2px{border-radius:2px}
.br-16px{border-radius:16px}
.br-22px{border-radius:22px}
.br-11px{border-radius:11px}

/* border-top */
.bt-1px-solid-line{border-top:1px solid var(--line)}
.bt-3px-solid-rgba-34-201-138-0_5{border-top:3px solid rgba(34,201,138,.5)}
.bt-3px-solid-em-bright{border-top:3px solid var(--em-bright)}
.bt-3px-solid-rgba-34-201-138-0_7{border-top:3px solid rgba(34,201,138,.7)}
.bt-3px-solid-rgba-34-201-138-0_4{border-top:3px solid rgba(34,201,138,.4)}
.bt-1px-solid-rgba-255-255-255-0_12{border-top:1px solid rgba(255,255,255,.12)}

/* bottom */
.bottom-0{bottom:0}

/* color */
.c-emerald{color:var(--emerald)}
.c-em-bright{color:var(--em-bright)}
.c-ink{color:var(--ink)}
.c-hexfff{color:#fff}
.c-muted{color:var(--muted)}
.c-rgba-255-255-255-0_72{color:rgba(255,255,255,.72)}
.c-rgba-255-255-255-0_82{color:rgba(255,255,255,.82)}
.c-soft{color:var(--soft)}
.c-rgba-255-255-255-0_85{color:rgba(255,255,255,.85)}
.c-rgba-255-255-255-0_55{color:rgba(255,255,255,.55)}
.c-rgba-255-255-255-0_7{color:rgba(255,255,255,.7)}
.c-hexaeb9b3{color:#aeb9b3}
.c-rgba-255-255-255-0_6{color:rgba(255,255,255,.6)}
.c-rgba-255-255-255-0_75{color:rgba(255,255,255,.75)}
.c-rgba-255-255-255-0_78{color:rgba(255,255,255,.78)}
.c-hexf5a623{color:#f5a623}
.c-em-deep{color:var(--em-deep)}
.c-rgba-255-255-255-0_5{color:rgba(255,255,255,.5)}

/* cursor */
.cursor-pointer{cursor:pointer}

/* display */
.d-flex{display:flex}
.d-inline-block{display:inline-block}
.d-grid{display:grid}
.d-inline-flex{display:inline-flex}
.d-block{display:block}
.d-none{display:none}

/* flex */
.flex-basis-none{flex:none}
.flex-basis-1{flex:1}

/* flex-direction */
.flex-column{flex-direction:column}

/* flex-wrap */
.flex-wrap-wrap{flex-wrap:wrap}

/* font-family */
.ff-space-mono-monospace{font-family:'Space Mono',monospace}
.ff-font-mono{font-family:var(--font-mono)}

/* font-size */
.fs-14_5px{font-size:14.5px}
.fs-11px{font-size:11px}
.fs-14px{font-size:14px}
.fs-15px{font-size:15px}
.fs-13_5px{font-size:13.5px}
.fs-20px{font-size:20px}
.fs-40px{font-size:40px}
.fs-21px{font-size:21px}
.fs-16_5px{font-size:16.5px}
.fs-18_5px{font-size:18.5px}
.fs-18px{font-size:18px}
.fs-17px{font-size:17px}
.fs-44px{font-size:44px}
.fs-19_5px{font-size:19.5px}
.fs-17_5px{font-size:17.5px}
.fs-16px{font-size:16px}
.fs-22px{font-size:22px}
.fs-13px{font-size:13px}
.fs-10_5px{font-size:10.5px}
.fs-36px{font-size:36px}
.fs-38px{font-size:38px}
.fs-34px{font-size:34px}
.fs-15_5px{font-size:15.5px}
.fs-46px{font-size:46px}
.fs-19px{font-size:19px}
.fs-26px{font-size:26px}
.fs-12px{font-size:12px}
.fs-52px{font-size:52px}
.fs-12_5px{font-size:12.5px}
.fs-32px{font-size:32px}
.fs-47px{font-size:47px}
.fs-62px{font-size:62px}
.fs-10px{font-size:10px}
.fs-30px{font-size:30px}
.fs-42px{font-size:42px}

/* font-style */
.fst-italic{font-style:italic}

/* font-weight */
.fw-700{font-weight:700}
.fw-800{font-weight:800}
.fw-600{font-weight:600}
.fw-500{font-weight:500}

/* gap */
.gap-14px{gap:14px}
.gap-12px{gap:12px}
.gap-22px{gap:22px}
.gap-10px{gap:10px}
.gap-8px-18px{gap:8px 18px}
.gap-0-16px{gap:0 16px}
.gap-8px{gap:8px}
.gap-24px{gap:24px}
.gap-16px{gap:16px}
.gap-18px{gap:18px}
.gap-52px{gap:52px}
.gap-5px{gap:5px}
.gap-13px{gap:13px}
.gap-15px{gap:15px}
.gap-20px{gap:20px}

/* grid-template-columns */
.grid-cols-auto-1fr{grid-template-columns:auto 1fr}
.grid-cols-repeat-3-minmax-0-1fr{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-cols-repeat-4-1fr{grid-template-columns:repeat(4,1fr)}
.grid-cols-1_1fr-0_9fr{grid-template-columns:1.1fr .9fr}
.grid-cols-repeat-6-1fr{grid-template-columns:repeat(6,1fr)}
.grid-cols-1_3fr-1fr{grid-template-columns:1.3fr 1fr}
.grid-cols-repeat-4-minmax-0-1fr{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-cols-repeat-3-1fr{grid-template-columns:repeat(3,1fr)}
.grid-cols-0_9fr-1_1fr{grid-template-columns:.9fr 1.1fr}

/* height */
.h-52px{height:52px}
.h-6px{height:6px}
.h-100pct{height:100%}
.h-44px{height:44px}
.h-15px{height:15px}
.h-48px{height:48px}
.h-16px{height:16px}
.h-2px{height:2px}
.h-22pct{height:22%}
.h-34pct{height:34%}
.h-48pct{height:48%}
.h-66pct{height:66%}
.h-84pct{height:84%}
.h-3px{height:3px}
.h-14px{height:14px}
.h-120px{height:120px}
.h-64px{height:64px}

/* justify-content */
.justify-space-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-flex-start{justify-content:flex-start}

/* letter-spacing */
.ls-0_06em{letter-spacing:.06em}
.ls-neg0_025em{letter-spacing:-.025em}
.ls-neg0_01em{letter-spacing:-.01em}
.ls-neg0_03em{letter-spacing:-.03em}
.ls-0_08em{letter-spacing:.08em}
.ls-neg0_015em{letter-spacing:-.015em}
.ls-neg0_02em{letter-spacing:-.02em}
.ls-0_12em{letter-spacing:.12em}
.ls-2px{letter-spacing:2px}
.ls-0_1em{letter-spacing:.1em}

/* line-height */
.lh-1_6{line-height:1.6}
.lh-1_5{line-height:1.5}
.lh-1_08{line-height:1.08}
.lh-1_45{line-height:1.45}
.lh-1_65{line-height:1.65}
.lh-1_25{line-height:1.25}
.lh-1_4{line-height:1.4}
.lh-1_7{line-height:1.7}
.lh-1_06{line-height:1.06}
.lh-1_55{line-height:1.55}
.lh-1{line-height:1}
.lh-1_1{line-height:1.1}

/* margin */
.m-0{margin:0}
.m-12px-0-0{margin:12px 0 0}
.m-34px-auto-0{margin:34px auto 0}
.m-0-auto{margin:0 auto}
.m-16px-0-0{margin:16px 0 0}
.m-20px-auto-0{margin:20px auto 0}
.m-10px-0-0{margin:10px 0 0}
.m-32px-auto-0{margin:32px auto 0}
.m-30px-auto-0{margin:30px auto 0}
.m-14px-0-0{margin:14px 0 0}
.m-6px-0-0{margin:6px 0 0}
.m-24px-auto-0{margin:24px auto 0}
.m-18px-0-0{margin:18px 0 0}

/* margin-bottom */
.mb-0{margin-bottom:0}

/* margin-left */
.ml-auto{margin-left:auto}

/* margin-right */
.mr-auto{margin-right:auto}

/* margin-top */
.mt-38px{margin-top:38px}
.mt-14px{margin-top:14px}
.mt-16px{margin-top:16px}
.mt-auto{margin-top:auto}
.mt-18px{margin-top:18px}
.mt-12px{margin-top:12px}
.mt-6px{margin-top:6px}
.mt-7px{margin-top:7px}
.mt-32px{margin-top:32px}
.mt-20px{margin-top:20px}
.mt-22px{margin-top:22px}
.mt-40px{margin-top:40px}
.mt-24px{margin-top:24px}
.mt-28px{margin-top:28px}
.mt-5px{margin-top:5px}
.mt-30px{margin-top:30px}
.mt-34px{margin-top:34px}
.mt-44px{margin-top:44px}
.mt-36px{margin-top:36px}
.mt-26px{margin-top:26px}
.mt-4px{margin-top:4px}

/* max-width */
.mw-760px{max-width:760px}
.mw-720px{max-width:720px}
.mw-340px{max-width:340px}
.mw-820px{max-width:820px}
.mw-800px{max-width:800px}
.mw-640px{max-width:640px}
.mw-780px{max-width:780px}
.mw-680px{max-width:680px}
.mw-840px{max-width:840px}
.mw-300px{max-width:300px}
.mw-1000px{max-width:1000px}
.mw-600px{max-width:600px}
.mw-700px{max-width:700px}
.mw-1100px{max-width:1100px}

/* min-height */
.minh-150px{min-height:150px}

/* min-width */
.minw-38px{min-width:38px}

/* opacity */
.opacity-0{opacity:0}

/* overflow */
.overflow-hidden{overflow:hidden}

/* padding */
.p-30px-28px{padding:30px 28px}
.p-72px-32px{padding:72px 32px}
.p-22px-20px{padding:22px 20px}
.p-26px-28px{padding:26px 28px}
.p-76px-32px{padding:76px 32px}
.p-28px-26px{padding:28px 26px}
.p-60px-32px{padding:60px 32px}
.p-30px-30px{padding:30px 30px}
.p-8px-15px{padding:8px 15px}
.p-0{padding:0}
.p-64px-32px-44px{padding:64px 32px 44px}
.p-26px{padding:26px}
.p-56px-32px-40px{padding:56px 32px 40px}
.p-64px-32px-40px{padding:64px 32px 40px}
.p-26px-24px{padding:26px 24px}
.p-40px-0-0{padding:40px 0 0}
.p-72px-32px-40px{padding:72px 32px 40px}
.p-40px-32px{padding:40px 32px}
.p-40px-38px{padding:40px 38px}
.p-10px-16px{padding:10px 16px}
.p-24px-32px-0{padding:24px 32px 0}
.p-14px-22px{padding:14px 22px}

/* padding-bottom */
.pb-44px{padding-bottom:44px}

/* padding-top */
.pt-16px{padding-top:16px}
.pt-14px{padding-top:14px}
.pt-24px{padding-top:24px}
.pt-12px{padding-top:12px}
.pt-26px{padding-top:26px}
.pt-0{padding-top:0}

/* position */
.pos-relative{position:relative}
.pos-absolute{position:absolute}
.pos-sticky{position:sticky}

/* right */
.right-24px{right:24px}
.right-neg4px{right:-4px}

/* stroke-dasharray */
.dasharray-460{stroke-dasharray:460}
.dasharray-560{stroke-dasharray:560}
.dasharray-640{stroke-dasharray:640}

/* stroke-dashoffset */
.dashoffset-560{stroke-dashoffset:560}
.dashoffset-460{stroke-dashoffset:460}
.dashoffset-640{stroke-dashoffset:640}

/* text-align */
.ta-center{text-align:center}
.ta-left{text-align:left}

/* text-decoration */
.td-none{text-decoration:none}
.td-underline{text-decoration:underline}

/* text-transform */
.tt-uppercase{text-transform:uppercase}

/* top */
.top-24px{top:24px}
.top-70px{top:70px}

/* transform */
.transform-rotate-45deg{transform:rotate(45deg)}

/* white-space */
.ws-nowrap{white-space:nowrap}

/* width */
.w-52px{width:52px}
.w-6px{width:6px}
.w-100pct{width:100%}
.w-44px{width:44px}
.w-15px{width:15px}
.w-48px{width:48px}
.w-16px{width:16px}
.w-10px{width:10px}
.w-72pct{width:72%}
.w-48pct{width:48%}
.w-30pct{width:30%}
.w-14px{width:14px}
.w-64px{width:64px}

/* z-index */
.z-40{z-index:40}

/* ==== Page-specific styles (moved out of individual pages) ==== */

/* ---- ai-workflow-automation-services.html ---- */
/* Hero: highlighted word in H1 */
.ai-automation-hero-highlight{ color:var(--emerald); }
.ai-automation-hero-stats-row{ justify-content:flex-start; border-top:1px solid var(--line); padding-top:24px; text-align:left; }
.ai-automation-color-ink{ color:var(--ink); }

/* Hero: live-workflow diagram mockup (bespoke visual) */
.ai-automation-hero-visual{ animation-delay:120ms; position:relative; }
.ai-automation-hero-glow{ position:absolute; inset:-16px; background:radial-gradient(60% 60% at 70% 30%,rgba(34,201,138,.18),transparent 70%); filter:blur(8px); }
.ai-automation-hero-card{ position:relative; background:var(--em-deep); border:1px solid var(--em-deep); border-radius:20px; box-shadow:0 34px 74px -40px rgba(11,21,18,.55); padding:24px; overflow:hidden; }
.ai-automation-hero-flow-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.ai-automation-hero-running{ display:flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:11px; color:var(--em-bright); }
.ai-automation-pulse-dot{ width:7px; height:7px; border-radius:50%; background:var(--em-bright); animation:zd-pulse 2s infinite; }
.ai-automation-hero-flow-list{ display:flex; flex-direction:column; margin-top:20px; }
.ai-automation-flow-step-body{ flex:1; padding:12px 0; }
.ai-automation-step-name{ font-size:14px; font-weight:700; color:#fff; }
.ai-automation-flow-sub{ font-family:var(--font-mono); font-size:11px; color:rgba(255,255,255,.5); margin-top:2px; }
.ai-automation-mono-bright-11{ font-family:var(--font-mono); font-size:11px; color:var(--em-bright); }
.ai-automation-flow-connector{ height:16px; margin-left:21px; border-left:2px dashed rgba(34,201,138,.4); }
.ai-automation-hero-total-row{ display:flex; align-items:center; justify-content:space-between; margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.12); }
.ai-automation-hero-total-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.ai-automation-hero-total-value-row{ display:flex; align-items:baseline; gap:10px; }
.ai-automation-hero-total-time{ font-size:30px; font-weight:800; letter-spacing:-.02em; color:var(--em-bright); }
.ai-automation-humans-badge{ font-family:var(--font-mono); font-size:12px; color:#fff; background:rgba(34,201,138,.16); padding:4px 10px; border-radius:100px; }

/* Hero workflow step icons (animated, staggered) */
.ai-automation-step-icon{
  flex:none; width:44px; height:44px; border-radius:12px; background:rgba(34,201,138,.14);
  border:1px solid rgba(34,201,138,.3); display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-weight:700; font-size:13px; color:var(--em-bright);
  animation:zd-float 3s ease-in-out infinite;
}
.ai-automation-step-icon--d1{ animation-delay:.3s; }
.ai-automation-step-icon--d2{ animation-delay:.6s; }
.ai-automation-step-icon--d3{ animation-delay:.9s; }
.ai-automation-step-icon--d4{ animation-delay:1.2s; }

/* Generic small layout helpers reused across this page */
.ai-automation-flex-col{ display:flex; flex-direction:column; }
.ai-automation-flex-row-14{ display:flex; align-items:center; gap:14px; }
.ai-automation-mt-6{ margin-top:6px; }
.ai-automation-mt-10-tight{ margin:10px 0 0; }
.ai-automation-mt-18{ margin-top:18px; }
.ai-automation-mt-18-white{ margin-top:18px; color:#fff; }
.ai-automation-mt-22{ margin-top:22px; }
.ai-automation-mt-32{ margin-top:32px; }
.ai-automation-mt-38{ margin-top:38px; }
.ai-automation-grid-stretch-38{ margin-top:38px; align-items:stretch; }
.ai-automation-center-mt-18{ text-align:center; margin-top:18px; }
.ai-automation-maxw-760{ max-width:760px; }
.ai-automation-maxw-780{ max-width:780px; }
.ai-automation-center-760{ max-width:760px; margin-left:auto; margin-right:auto; }
.ai-automation-fs-11{ font-size:11px; }
.ai-automation-fs-36{ font-size:36px; }
.ai-automation-fs-44{ font-size:44px; }
.ai-automation-h3-tight-19{ margin:0; font-size:19px; }
.ai-automation-h3-tight-20{ margin:0; font-size:20px; }
.ai-automation-text-ink-14{ font-size:14px; color:var(--ink); }
.ai-automation-color-white{ color:#fff; }
.ai-automation-color-white-82{ color:rgba(255,255,255,.82); }
.ai-automation-divider-16{ margin-top:16px; padding-top:16px; border-top:1px solid var(--line); }
.ai-automation-push-bottom{ margin-top:auto; padding-top:16px; }

/* "What we automate" workflow cards */
.ai-automation-flow-strip{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:18px;
  background:var(--em-deep); border-radius:12px; padding:14px 16px;
}
.ai-automation-flow-chip{ font-family:var(--font-mono); font-size:11.5px; font-weight:700; color:var(--em-bright); }
.ai-automation-flow-arrow{ color:rgba(255,255,255,.4); font-size:12px; }
.ai-automation-card-body-text{ font-size:14.5px; color:var(--muted); line-height:1.55; margin:16px 0 0; flex:1; }

/* "Who it's for" client card (dark variant) + icon */
.ai-automation-client-card-dark{ display:flex; flex-direction:column; background:var(--em-deep); color:#fff; border-color:var(--em-deep); }
.ai-automation-client-icon-wrap{ width:44px; height:44px; border-radius:12px; background:rgba(34,201,138,.16); display:inline-flex; align-items:center; justify-content:center; }
.ai-automation-client-icon-wrap svg{ width:22px; height:22px; stroke:var(--em-bright); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ai-automation-tag-flag-invert{ align-self:flex-start; margin-top:16px; background:var(--em-bright); color:var(--em-deep); border-color:transparent; font-size:10.5px; }

/* "Our position" section */
.ai-automation-position-card{ background:var(--card); border:1px solid var(--line); border-radius:22px; padding:48px 44px; }
.ai-automation-position-title{ font-size:40px; line-height:1.06; letter-spacing:-.025em; font-weight:800; margin:14px 0 0; }
.ai-automation-position-lead{ font-size:16px; line-height:1.6; color:var(--muted); margin:14px 0 0; }
.ai-automation-principle-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2px 44px; margin-top:32px; }
.ai-automation-principle-row{ display:flex; gap:16px; padding:20px 0; border-top:1px solid var(--line); }
.ai-automation-principle-row > div{ min-width:0; }
.ai-automation-principle-num{
  flex:none; width:34px; height:34px; border-radius:9px; background:var(--em-deep); display:inline-flex;
  align-items:center; justify-content:center; font-family:var(--font-mono); font-weight:700; font-size:13px; color:var(--em-bright);
}
.ai-automation-principle-title{ font-size:17px; font-weight:800; letter-spacing:-.01em; margin:2px 0 0; }
.ai-automation-principle-desc{ font-size:14px; color:var(--muted); line-height:1.55; margin:6px 0 0; }

/* "Problem" dark band */
.ai-automation-problem-band{ padding:72px 32px; text-align:center; }
.ai-automation-problem-p1{ font-size:17px; line-height:1.65; margin:20px auto 0; max-width:700px; color:rgba(255,255,255,.75); }
.ai-automation-problem-p2{ font-size:17px; line-height:1.65; margin:18px auto 0; max-width:680px; font-weight:600; color:#fff; }
.ai-automation-stat-pill-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:30px; }

/* Result cards */
.ai-automation-result-metric{ font-size:46px; font-weight:800; letter-spacing:-.03em; margin-top:22px; }

/* Tool stack section */
.ai-automation-stack-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.ai-automation-stack-tag{ flex:none; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--emerald); }
.ai-automation-honest-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--soft); }
.ai-automation-honest-text{ font-size:13.5px; font-style:italic; color:var(--muted); line-height:1.5; margin:4px 0 0; }
.ai-automation-philosophy-card{ background:var(--em-deep); color:#fff; border-radius:18px; padding:32px 30px; margin-top:18px; }
.ai-automation-philosophy-heading{ font-size:20px; font-weight:800; letter-spacing:-.015em; margin:0; color:#fff; }
.ai-automation-philosophy-title{ font-size:15px; font-weight:800; letter-spacing:-.01em; margin:0; color:var(--em-bright); }
.ai-automation-philosophy-desc{ font-size:13.5px; line-height:1.5; color:rgba(255,255,255,.72); margin:8px 0 0; }

/* Trust & safety FAQs */
.ai-automation-fear-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--soft); }

/* Pricing section */
.ai-automation-pricing-note{ text-align:center; font-size:14px; color:var(--muted); margin-top:22px; }

/* Resource / insight cards */
.ai-automation-resource-card{ min-height:150px; display:flex; flex-direction:column; }
.ai-automation-resource-title{ font-size:16px; margin-top:14px; }
.ai-automation-resource-link{ margin-top:auto; padding-top:16px; font-size:14px; }

/* Final CTA */
.ai-automation-cta-live-note{ display:flex; align-items:center; gap:10px; margin-top:20px; font-family:var(--font-mono); font-size:12px; color:rgba(255,255,255,.5); }

/* ---- beauty-salon-digital-marketing-services.html ---- */
.bs-hero-visual{ min-height:460px; }
  .bs-phone-shell{ position:relative; width:288px; margin:0 auto; background:var(--em-deep); border-radius:34px; padding:12px; box-shadow:0 40px 80px -40px rgba(11,21,18,.6); }
  .bs-phone-screen{ background:var(--bg); border-radius:24px; overflow:hidden; }
  .bs-phone-search{ background:var(--card); padding:14px 14px 10px; border-bottom:1px solid var(--line); }
  .bs-phone-search-pill{ display:flex; align-items:center; gap:9px; background:var(--bg); border:1px solid var(--line); border-radius:100px; padding:8px 13px; }
  .bs-phone-search-pill .dot-ring{ width:13px; height:13px; border:2px solid var(--soft); border-radius:50%; position:relative; flex:none; }
  .bs-phone-search-pill .dot-ring::after{ content:''; position:absolute; width:5px; height:2px; background:var(--soft); transform:rotate(45deg); right:-3px; bottom:0; }
  .bs-phone-search-pill .term{ font-size:12.5px; color:var(--ink); font-weight:600; }
  .bs-phone-body{ padding:12px 14px 6px; }
  .bs-phone-label{ font-family:var(--font-mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--soft); margin-bottom:8px; }
  .bs-phone-top{ background:rgba(15,158,110,.08); border:1px solid rgba(15,158,110,.28); border-radius:12px; padding:11px 12px; position:relative; }
  .bs-phone-top .rank-pill{ position:absolute; top:10px; right:10px; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:var(--emerald); padding:2px 7px; border-radius:100px; font-weight:700; }
  .bs-phone-top .biz-name{ font-size:13.5px; font-weight:800; color:var(--ink); }
  .bs-phone-top .stars-row{ display:flex; align-items:center; gap:5px; margin-top:3px; }
  .bs-phone-top .stars-row .stars{ color:#f5a623; font-size:11px; letter-spacing:1px; }
  .bs-phone-top .stars-row .count{ font-size:11px; color:var(--muted); font-weight:600; }
  .bs-phone-top .meta-line{ font-size:10.5px; color:var(--muted); margin-top:2px; }
  .bs-phone-row{ padding:9px 12px; opacity:.55; }
  .bs-phone-row .name{ font-size:12.5px; font-weight:700; color:var(--muted); }
  .bs-phone-row .meta{ font-size:10.5px; color:var(--soft); margin-top:1px; }
  .bs-reel{ position:absolute; top:2px; left:-10px; width:130px; background:var(--em-deep); border:1px solid rgba(255,255,255,.14); border-radius:16px; overflow:hidden; box-shadow:0 24px 44px -26px rgba(11,21,18,.55); animation:zd-float 6s ease-in-out .6s infinite; }
  .bs-reel-split{ display:flex; height:112px; }
  .bs-reel-split .before{ flex:1; background:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 8px,rgba(255,255,255,.02) 8px 16px); display:flex; align-items:flex-end; padding:6px; }
  .bs-reel-split .after{ flex:1; background:linear-gradient(160deg,rgba(34,201,138,.32),rgba(34,201,138,.1)); display:flex; align-items:flex-end; justify-content:flex-end; padding:6px; }
  .bs-reel-split span{ font-family:var(--font-mono); font-size:8px; letter-spacing:.06em; text-transform:uppercase; }
  .bs-reel-split .before span{ color:rgba(255,255,255,.7); }
  .bs-reel-split .after span{ color:#fff; }
  .bs-reel-meta{ padding:8px 10px; }
  .bs-reel-meta .views{ font-size:11px; font-weight:800; color:#fff; }
  .bs-reel-meta .cap{ font-size:9.5px; color:rgba(255,255,255,.6); }
  .bs-wa-card{ position:absolute; bottom:6px; right:-8px; width:196px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:13px 14px; box-shadow:0 24px 44px -26px rgba(11,21,18,.5); animation:zd-float 5s ease-in-out infinite; }
  .bs-wa-card-head{ display:flex; align-items:center; gap:8px; }
  .bs-wa-card-icon{ width:22px; height:22px; border-radius:50%; background:#25D366; display:inline-flex; align-items:center; justify-content:center; flex:none; }
  .bs-wa-card-icon span{ width:7px; height:7px; border-radius:50%; background:#fff; }
  .bs-wa-card-head .label{ font-family:var(--font-mono); font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--soft); }
  .bs-wa-bubble{ background:rgba(37,211,102,.1); border-radius:10px 10px 10px 2px; padding:9px 11px; margin-top:10px; }
  .bs-wa-bubble .line1{ font-size:12px; font-weight:700; color:var(--ink); line-height:1.35; }
  .bs-wa-bubble .line2{ font-size:10.5px; color:var(--muted); margin-top:2px; }
  .bs-wa-note{ font-size:10px; color:var(--soft); margin-top:8px; line-height:1.4; }

  /* page-specific styles: extracted from inline styles */
  .beauty-salon-hero-h1{ font-size:46px; }
  .beauty-salon-hero-h1-accent{ color:var(--emerald); }
  .beauty-salon-hero-lead{ max-width:560px; }
  .beauty-salon-hero-stats{ justify-content:flex-start; gap:8px 16px; padding-top:24px; border-top:1px solid var(--line); }
  .beauty-salon-hero-stat-strong{ color:var(--ink); }

  .beauty-salon-gap-pad{ padding:72px 32px; }
  .beauty-salon-gap-intro{ max-width:840px; margin:0 auto; text-align:center; }
  .beauty-salon-gap-lead{ color:rgba(255,255,255,.78); margin-top:20px; font-size:17px; line-height:1.65; }
  .beauty-salon-gap-grid{ margin-top:40px; }
  .beauty-salon-gap-card-title{ font-size:18px; color:var(--em-bright); margin:0; }
  .beauty-salon-gap-bullet-item{ color:rgba(255,255,255,.82); }
  .beauty-salon-gap-bullet-dot{ background:var(--em-bright); }
  .beauty-salon-gap-close{ text-align:center; font-size:18px; line-height:1.6; font-weight:500; margin:34px auto 0; max-width:840px; color:rgba(255,255,255,.85); }
  .beauty-salon-gap-close-accent{ color:var(--em-bright); font-weight:700; }

  .beauty-salon-head-820{ max-width:820px; }
  .beauty-salon-h2-xl{ font-size:44px; }
  .beauty-salon-h2-lg{ font-size:40px; }
  .beauty-salon-section-grid{ margin-top:38px; }

  .beauty-salon-card-relative{ position:relative; }
  .beauty-salon-plan-badge-tr{ top:24px; right:24px; left:auto; }
  .beauty-salon-service-head-row{ display:flex; align-items:center; gap:14px; }
  .beauty-salon-service-title{ margin:0; font-size:19.5px; max-width:340px; }
  .beauty-salon-service-tagline{ font-style:italic; }
  .beauty-salon-service-link{ display:inline-block; margin-top:18px; font-family:var(--font-mono); font-size:11.5px; }

  .beauty-salon-who-card-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .beauty-salon-who-card-title{ font-size:18.5px; }

  .beauty-salon-manifesto-section{ margin-top:24px; }
  .beauty-salon-manifesto-pad{ padding:76px 32px; }
  .beauty-salon-manifesto-intro{ max-width:860px; }
  .beauty-salon-manifesto-title{ font-size:38px; }
  .beauty-salon-manifesto-lead{ color:rgba(255,255,255,.75); margin-top:16px; font-size:17px; line-height:1.6; }
  .beauty-salon-mechanism-list{ display:flex; flex-direction:column; gap:12px; margin-top:38px; }
  .beauty-salon-mechanism-card{ display:grid; grid-template-columns:48px 1fr; gap:20px; align-items:start; }
  .beauty-salon-mechanism-num{ font-family:var(--font-mono); font-size:22px; font-weight:700; color:var(--em-bright); line-height:1.1; }
  .beauty-salon-mechanism-title{ font-size:19px; margin:0; }
  .beauty-salon-mechanism-desc{ font-size:14.5px; line-height:1.6; margin:7px 0 0; max-width:820px; }
  .beauty-salon-manifesto-quote{ text-align:center; font-size:20px; line-height:1.5; font-weight:600; margin:32px auto 0; max-width:760px; color:#fff; }
  .beauty-salon-quote-accent{ color:var(--em-bright); }

  .beauty-salon-results-head{ max-width:760px; }
  .beauty-salon-result-metric{ font-size:38px; }

  .beauty-salon-process-head{ max-width:780px; }

  .beauty-salon-why-head{ max-width:800px; }
  .beauty-salon-why-title{ font-size:16.5px; }
  .beauty-salon-why-desc{ font-size:13.5px; }

  .beauty-salon-testimonial-head{ max-width:720px; }
  .beauty-salon-testimonial-tag{ align-self:flex-start; }
  .beauty-salon-testimonial-stars{ margin-top:14px; }
  .beauty-salon-testimonial-quote{ font-size:17.5px; }

  .beauty-salon-resources-title{ font-size:36px; }
  .beauty-salon-resources-grid{ margin-top:32px; }
  .beauty-salon-resource-card{ min-height:150px; display:flex; flex-direction:column; }
  .beauty-salon-resource-eyebrow{ font-size:11px; }
  .beauty-salon-resource-title{ font-size:15px; margin-top:14px; }
  .beauty-salon-resource-link{ margin-top:auto; padding-top:14px; font-size:13.5px; }

  .beauty-salon-footer-address-gap{ margin-top:6px; }

/* ---- case-studies.html ---- */
/* Hero */
.case-studies-hero-inner{ max-width:760px; margin:0 auto; }
.case-studies-accent-emerald{ color:var(--emerald); }

/* Stat wall (hero) + Aggregate stats grid share the animation-delay stagger pattern */
.case-studies-stat-wall{ margin-top:40px; }
.case-studies-stat-wall .stat-wall-card:nth-child(1){ animation-delay:0ms; }
.case-studies-stat-wall .stat-wall-card:nth-child(2){ animation-delay:60ms; }
.case-studies-stat-wall .stat-wall-card:nth-child(3){ animation-delay:120ms; }
.case-studies-stat-wall .stat-wall-card:nth-child(4){ animation-delay:180ms; }
.case-studies-stat-wall .stat-wall-card:nth-child(5){ animation-delay:240ms; }

.case-studies-aggregate-stats{ margin-top:40px; }
.case-studies-aggregate-stats .stat-wall-card{ text-align:center; }
.case-studies-aggregate-stats .stat-wall-card:nth-child(1){ animation-delay:0ms; }
.case-studies-aggregate-stats .stat-wall-card:nth-child(2){ animation-delay:60ms; }
.case-studies-aggregate-stats .stat-wall-card:nth-child(3){ animation-delay:120ms; }
.case-studies-aggregate-stats .stat-wall-card:nth-child(4){ animation-delay:180ms; }
.case-studies-aggregate-stats .stat-wall-card:nth-child(5){ animation-delay:240ms; }

/* Filter bar */
.case-studies-filter-bar{
  position:sticky; top:70px; z-index:50; background:rgba(246,248,247,.9);
  backdrop-filter:blur(14px); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.case-studies-filter-bar-inner{ padding-top:16px; padding-bottom:16px; }
.case-studies-filter-row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.case-studies-filter-row--spaced{ margin-top:12px; }
.case-studies-filter-label{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--soft); flex:none;
}
.case-studies-chip-row-flex{ flex:1; }
.case-studies-filter-results-row{
  display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; flex-wrap:wrap;
}
.case-studies-filter-count-text{ font-family:var(--font-mono); font-size:12.5px; color:var(--muted); }
.case-studies-clear-filters-btn{
  background:none; border:none; cursor:pointer; font-family:var(--font-mono); font-size:12px;
  color:var(--soft); text-decoration:underline; padding:0;
}
/* Note: display:none is intentionally NOT part of this class. The filter-chip script
   at the bottom of this page sets this button's inline style.display on every render()
   call (including the initial one), so visibility is fully owned by the script. A
   permanent CSS display:none here would block the script's `style.display = ''` from
   ever revealing the button again after a filter is applied. */

/* Card grid section */
.case-studies-grid-section{ padding:40px 0 24px; }

/* Case-card chart (identical markup across all 15 cards) */
.case-studies-chart-svg{ width:100%; height:100%; display:block; }
.case-studies-chart-fill{ animation:zd-fade 1s ease .3s forwards; }
.case-studies-chart-line{ stroke-dasharray:520; stroke-dashoffset:520; animation:zd-draw 1.6s cubic-bezier(.4,0,.2,1) .2s forwards; }
.case-studies-challenge-label{ color:var(--muted); font-weight:600; }

/* Empty state actions row */
.case-studies-empty-state-actions{ display:flex; gap:12px; justify-content:center; margin-top:20px; flex-wrap:wrap; }
/* Note: the empty-state block's own display:none was removed for the same script-owned-
   display reason described above (the filter script toggles it via style.display). */

/* Load more */
.case-studies-load-more-wrap{ text-align:center; margin-top:32px; }

/* Spotlight */
.case-studies-spotlight-section{ padding:48px 0 40px; }
.case-studies-spotlight-tags{ display:flex; gap:8px; }
.case-studies-spotlight-tag{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  padding:5px 11px; border-radius:100px;
}
.case-studies-spotlight-tag--accent{ color:var(--em-bright); background:rgba(34,201,138,.14); }
.case-studies-spotlight-tag--muted{ color:rgba(255,255,255,.7); background:rgba(255,255,255,.08); }
.case-studies-spotlight-caption{ font-size:19px; font-weight:700; margin-top:6px; }
.case-studies-spotlight-body-text{ font-size:16px; line-height:1.6; color:rgba(255,255,255,.72); margin:22px 0 0; }
.case-studies-spotlight-strong{ color:#fff; }
.case-studies-spotlight-cite{ font-family:var(--font-mono); font-size:12px; color:rgba(255,255,255,.6); margin-top:12px; }
.case-studies-spotlight-cta{ display:inline-flex; margin-top:28px; background:var(--em-bright); color:var(--em-deep); }

/* Results by the numbers */
.case-studies-results-section{ background:var(--card); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.case-studies-results-container{ padding:56px 32px; }
.case-studies-results-footnote{
  text-align:center; font-family:var(--font-mono); font-size:11.5px; color:var(--soft);
  margin:34px auto 0; max-width:560px; line-height:1.6;
}

/* Video testimonials */
.case-studies-video-section{ padding:64px 32px 40px; }
.case-studies-video-grid{ margin-top:34px; }
.case-studies-video-grid .video-card{ padding:0; }
.case-studies-video-grid .video-card:nth-child(1){ animation-delay:0ms; }
.case-studies-video-grid .video-card:nth-child(2){ animation-delay:80ms; }
.case-studies-video-grid .video-card:nth-child(3){ animation-delay:160ms; }

/* Methodology */
.case-studies-methodology-section{ padding:24px 32px 56px; }
.case-studies-methodology-heading{ font-size:32px; line-height:1.1; letter-spacing:-.025em; font-weight:800; margin:12px 0 0; }
.case-studies-methodology-lead{ font-size:15px; color:var(--muted); line-height:1.6; margin:16px 0 0; }

/* Footer */
.case-studies-footer-address-line{ margin-top:6px; }

/* ---- contact-sales.html ---- */
.map-load-btn{
    background:repeating-linear-gradient(135deg,#e7ece9 0 10px,#eef2f0 10px 20px);
    color:#8b9a92; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.06em;
    display:flex; align-items:center; justify-content:center; text-align:center; text-transform:uppercase;
  }
  .map-load-btn:hover{ filter:brightness(.97); }
  @media (max-width:960px){
    .contact-split, .contact-office-grid, .contact-book-grid{ grid-template-columns:1fr !important; }
  }

  /* Generic text/utility helpers reused across this page */
  .contact-text-emerald{ color:var(--emerald); }
  .contact-strong-ink{ color:var(--ink); }
  .contact-flex-1{ flex:1; }
  .contact-eyebrow-soft{ color:var(--soft); }
  .contact-check-bright{ color:var(--em-bright); }

  /* Hero */
  .contact-hero--compact{ padding-bottom:0; }
  .contact-quicklinks{ margin-top:26px; text-align:left; }
  .contact-quicklink-card{ display:flex; align-items:center; gap:14px; }
  .contact-quicklink-icon{ font-size:18px; }
  .contact-quicklink-icon--whatsapp{ font-size:18px; background:rgba(37,211,102,.14); color:#25D366; }
  .contact-quicklink-label{ display:block; font-size:10.5px; }
  .contact-quicklink-value{ display:block; font-weight:800; font-size:15.5px; color:var(--ink); margin-top:2px; }

  /* Form + trust rail section */
  .contact-form-section{ padding:30px 32px 40px; }
  .contact-split{ grid-template-columns:1.25fr .9fr; gap:34px; align-items:start; }
  .contact-form-card{ padding:34px 34px 30px; }
  .contact-form{ margin-top:20px; display:flex; flex-direction:column; gap:16px; }
  .contact-phone-row{ display:flex; gap:10px; }
  .contact-cc-select{ width:104px; flex:none; }
  .contact-whatsapp-label{ display:flex; align-items:center; gap:9px; margin-top:11px; font-size:13.5px; color:var(--muted); cursor:pointer; }
  .contact-whatsapp-checkbox{ width:16px; height:16px; accent-color:#25D366; flex:none; }
  .contact-inline-strong{ color:var(--ink); margin-left:-3px; }
  .contact-optional-tag{ color:var(--soft); font-weight:600; }

  .contact-interest-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-top:10px; }
  .contact-interest-item{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--ink); cursor:pointer; }
  .contact-interest-checkbox{
    appearance:none; -webkit-appearance:none; width:18px; height:18px; flex:none;
    border:1.5px solid var(--line); border-radius:5px; background:#fff; position:relative;
    cursor:pointer; transition:background .15s, border-color .15s;
  }
  .contact-interest-checkbox:checked{ background:var(--emerald); border-color:var(--emerald); }
  .contact-interest-checkbox:checked::after{
    content:''; position:absolute; left:5px; top:1px; width:5px; height:9px;
    border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);
  }
  .contact-interest-checkbox:focus-visible{ outline:2px solid var(--emerald); outline-offset:2px; }
  .contact-textarea{ resize:vertical; min-height:88px; }
  .contact-submit-btn{ margin-top:4px; width:100%; }
  .contact-trust-row{ display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:6px; }
  .contact-trust-item{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); }
  .contact-privacy-link{ color:var(--emerald); text-decoration:none; font-weight:600; }

  .contact-success{ display:none; text-align:center; padding:24px 6px 10px; }
  .contact-success-icon{ width:64px; height:64px; margin:0 auto; border-radius:50%; background:rgba(15,158,110,.12); display:flex; align-items:center; justify-content:center; }
  .contact-success-title{ font-size:26px; font-weight:800; letter-spacing:-.02em; margin:18px 0 0; }
  .contact-success-text{ font-size:16px; line-height:1.6; color:var(--muted); margin:12px auto 0; max-width:400px; }
  .contact-success-cta{ display:inline-flex; margin-top:22px; background:var(--em-deep); color:#fff; }
  .contact-reset-btn{ display:block; margin:20px auto 0; background:none; border:none; color:var(--soft); font-family:'Space Mono',monospace; font-size:12px; cursor:pointer; text-decoration:underline; }

  .contact-trust-rail{ display:flex; flex-direction:column; gap:18px; }
  .contact-steps{ margin-top:20px; display:flex; flex-direction:column; gap:20px; }
  .contact-step-row{ display:grid; grid-template-columns:auto 1fr; gap:15px; align-items:start; }
  .contact-step-num{ width:30px; height:30px; font-family:'Space Mono',monospace; }
  .contact-step-text{ font-size:14.5px; line-height:1.5; color:var(--ink); margin:3px 0 0; }

  .contact-stars{ color:#f5a623; font-size:14px; letter-spacing:2px; }
  .contact-quote{ font-size:16px; line-height:1.5; font-weight:600; margin:10px 0 0; }
  .contact-quote-attr{ font-family:'Space Mono',monospace; font-size:12px; color:rgba(255,255,255,.6); margin-top:14px; }

  .contact-trust-badges{ display:flex; flex-wrap:wrap; gap:14px 18px; align-items:center; }
  .contact-badge-item{ display:flex; align-items:center; gap:7px; }
  .contact-star-icon{ color:#f5a623; font-size:13px; }
  .contact-rating-num{ font-size:14px; }
  .contact-rating-src{ font-size:13px; color:var(--muted); }
  .contact-badge-divider{ width:1px; height:16px; background:var(--line); }
  .contact-badge-icon{ width:18px; height:18px; font-size:10px; }
  .contact-badge-label{ font-size:13.5px; font-weight:700; }

  /* Direct channels grid */
  .contact-section-pad{ padding:44px 32px 40px; }
  .contact-services-grid{ margin-top:32px; }
  .contact-info-card{ display:flex; flex-direction:column; }
  .contact-channel-link{ margin-top:16px; font-size:14px; }
  .contact-channel-link--wrap{ word-break:break-word; }

  /* Office section */
  .contact-office-grid{ grid-template-columns:.9fr 1.1fr; gap:26px; margin-top:32px; align-items:stretch; }
  .contact-hq-name{ font-size:19px; font-weight:800; letter-spacing:-.01em; }
  .contact-address{ font-size:15px; line-height:1.6; color:var(--muted); margin:10px 0 0; }
  .contact-office-note{ display:flex; align-items:center; gap:9px; margin-top:16px; font-size:13.5px; color:var(--ink); }
  .contact-hours-block{ margin-top:18px; padding-top:18px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:9px; font-size:14px; color:var(--muted); }
  .contact-hours-row{ display:flex; align-items:center; gap:9px; }
  .contact-directions-btn{ margin-top:22px; }
  .contact-map-card{ border-radius:20px; overflow:hidden; border:1px solid var(--line); min-height:320px; position:relative; }
  .contact-map-frame{ width:100%; height:100%; position:absolute; inset:0; }
  .contact-map-frame .contact-map-iframe{ width:100%; height:100%; border:0; display:block; }
  .contact-map-btn{ border:none; cursor:pointer; width:100%; height:100%; min-height:320px; flex-direction:column; gap:12px; position:relative; }
  .contact-map-icon{ font-size:26px; }
  .contact-map-label{ font-size:12.5px; }
  .contact-map-sublabel{ font-size:10px; color:#a4b0aa; }
  .contact-office-footnote{ font-size:14.5px; color:var(--muted); margin:20px 0 0; line-height:1.6; max-width:820px; }

  /* Book a call */
  .contact-book-container{ padding:64px 32px; }
  .contact-book-grid{ grid-template-columns:.85fr 1.15fr; gap:40px; align-items:center; }
  .contact-book-title{ font-size:36px; line-height:1.08; letter-spacing:-.025em; font-weight:800; margin:12px 0 0; color:#fff; }
  .contact-book-lead{ font-size:17px; line-height:1.6; color:rgba(255,255,255,.75); margin:16px 0 0; }
  .contact-book-features{ display:flex; flex-wrap:wrap; gap:20px; margin-top:24px; }
  .contact-book-feature{ display:flex; align-items:center; gap:9px; font-size:14px; color:rgba(255,255,255,.8); }
  .contact-calendar-card{ display:flex; flex-direction:column; gap:16px; }
  .contact-calendar-head{ display:flex; align-items:center; justify-content:space-between; }
  .contact-calendar-title{ font-weight:800; font-size:17px; color:#fff; }
  .contact-calendar-month{ font-family:'Space Mono',monospace; font-size:11px; color:var(--em-bright); }
  .contact-slot-grid{ gap:10px; }
  .contact-slot-pill{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:11px; padding:12px 6px; text-align:center; }
  .contact-slot-day{ font-family:'Space Mono',monospace; font-size:10px; color:rgba(255,255,255,.55); text-transform:uppercase; }
  .contact-slot-time{ font-weight:700; font-size:13.5px; margin-top:4px; color:#fff; }
  .contact-confirm-btn{ background:var(--em-bright); color:var(--em-deep); }
  .contact-calendar-note{ font-family:'Space Mono',monospace; font-size:10.5px; color:rgba(255,255,255,.45); text-align:center; }

  /* Social row */
  .contact-social-section{ padding:20px 32px 56px; }
  .contact-social-wrap{ text-align:center; }
  .contact-social-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:20px; }
  .contact-social-pill{ display:inline-flex; align-items:center; gap:9px; padding:12px 18px; font-size:14px; }

  /* Footer */
  .contact-footer-addr{ margin-top:6px; }

/* ---- content-marketing-agency.html ---- */
.content-marketing-text-emerald{ color:var(--emerald); }
.content-marketing-inline-stat-strong{ color:var(--ink); }
.content-marketing-hero-inline-stats{ justify-content:flex-start; border-top:1px solid var(--line); padding-top:24px; margin-top:28px; text-align:left; }

.content-marketing-hero-visual{ animation-delay:120ms; position:relative; }
.content-marketing-hero-glow{ position:absolute; inset:-16px; background:radial-gradient(60% 60% at 70% 30%,rgba(34,201,138,.18),transparent 70%); filter:blur(8px); }
.content-marketing-serp-card{ position:relative; background:var(--card); border:1px solid var(--line); border-radius:18px; box-shadow:0 30px 64px -38px rgba(11,21,18,.45); padding:20px 22px; overflow:hidden; }
.content-marketing-serp-url-row{ display:flex; align-items:center; gap:8px; }
.content-marketing-browser-dot{ width:22px; height:22px; border-radius:50%; border:2px solid var(--soft); position:relative; }
.content-marketing-browser-dot-tail{ position:absolute; right:-4px; bottom:-4px; width:9px; height:2.5px; background:var(--soft); transform:rotate(45deg); border-radius:2px; }
.content-marketing-serp-url-bar{ flex:1; height:26px; border-radius:100px; background:var(--bg); border:1px solid var(--line); display:flex; align-items:center; padding:0 12px; font-size:12px; color:var(--muted); }
.content-marketing-serp-result{ margin-top:16px; padding:12px; border-radius:12px; background:rgba(15,158,110,.06); border:1px solid rgba(15,158,110,.2); }
.content-marketing-flex-between{ display:flex; align-items:center; justify-content:space-between; }
.content-marketing-serp-breadcrumb{ font-family:var(--font-mono); font-size:10px; color:var(--soft); }
.content-marketing-serp-rank-badge{ font-family:var(--font-mono); font-size:10px; font-weight:700; color:#fff; background:var(--emerald); padding:2px 8px; border-radius:100px; }
.content-marketing-serp-title{ font-size:15px; font-weight:700; color:#1a5fd0; margin-top:6px; line-height:1.3; }
.content-marketing-serp-desc{ font-size:11.5px; color:var(--muted); line-height:1.4; margin-top:4px; }
.content-marketing-serp-skeleton{ margin-top:10px; display:flex; flex-direction:column; gap:8px; opacity:.55; }
.content-marketing-skeleton-line1{ height:7px; background:#c9d3ce; border-radius:4px; }
.content-marketing-skeleton-line2{ height:6px; background:#e4e9e6; border-radius:4px; margin-top:5px; }
.content-marketing-serp-skeleton > div:nth-child(1) .content-marketing-skeleton-line1{ width:60%; }
.content-marketing-serp-skeleton > div:nth-child(1) .content-marketing-skeleton-line2{ width:90%; }
.content-marketing-serp-skeleton > div:nth-child(2) .content-marketing-skeleton-line1{ width:52%; }
.content-marketing-serp-skeleton > div:nth-child(2) .content-marketing-skeleton-line2{ width:84%; }

.content-marketing-traffic-card{ position:relative; margin:-14px 14px 0 auto; width:80%; background:var(--em-deep); color:#fff; border-radius:16px; box-shadow:0 24px 54px -30px rgba(11,21,18,.6); padding:18px 20px; }
.content-marketing-traffic-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--em-bright); }
.content-marketing-traffic-delta{ font-size:11px; font-weight:700; color:var(--em-deep); background:var(--em-bright); padding:2px 8px; border-radius:6px; }
.content-marketing-traffic-figure{ display:flex; align-items:flex-end; gap:8px; margin-top:8px; }
.content-marketing-traffic-value{ font-size:30px; font-weight:800; letter-spacing:-.03em; line-height:1; }
.content-marketing-traffic-unit{ font-size:11px; color:rgba(255,255,255,.6); margin-bottom:5px; }
.content-marketing-traffic-chart{ position:relative; height:66px; margin-top:8px; }
.content-marketing-traffic-svg{ width:100%; height:100%; display:block; }
.content-marketing-fade-path{ animation:zd-fade 1s ease .6s forwards; }
.content-marketing-draw-path{ stroke-dasharray:460; stroke-dashoffset:460; animation:zd-draw 1.9s cubic-bezier(.4,0,.2,1) .3s forwards; }
.content-marketing-traffic-caption{ font-family:var(--font-mono); font-size:9.5px; color:rgba(255,255,255,.5); }

.content-marketing-dark-band-inner{ padding:72px 32px; text-align:center; }
.content-marketing-h2-640-center{ max-width:640px; margin-left:auto; margin-right:auto; }
.content-marketing-dark-band-p{ font-size:17px; line-height:1.65; margin:20px auto 0; max-width:680px; }

.content-marketing-section-head-760{ max-width:760px; }
.content-marketing-section-head-720{ max-width:720px; }
.content-marketing-section-head-820{ max-width:820px; }

.content-marketing-grid-mt-38{ margin-top:38px; }
.content-marketing-grid-mt-40{ margin-top:40px; }
.content-marketing-grid-mt-26{ margin-top:26px; }
.content-marketing-grid-mt-32{ margin-top:32px; }
.content-marketing-align-stretch{ align-items:stretch; }

.content-marketing-info-card-highlight{ background:linear-gradient(180deg,#ffffff,rgba(15,158,110,.05)); border-color:rgba(15,158,110,.35); }
.content-marketing-card-header{ display:flex; align-items:center; gap:14px; }
.content-marketing-card-header-h3{ margin:0; font-size:21px; }
.content-marketing-tag-flag-inline{ margin-top:14px; display:inline-block; }
.content-marketing-btn-link-inline{ display:inline-block; margin-top:16px; font-size:13.5px; }

.content-marketing-specializations-note{ font-size:15.5px; color:var(--muted); margin:22px 0 0; max-width:680px; }

.content-marketing-result-headline{ font-size:38px; font-weight:800; letter-spacing:-.03em; margin-top:22px; }
.content-marketing-why-h3{ font-size:17.5px; }

.content-marketing-callout-mt{ margin-top:22px; }
.content-marketing-cta-link-wrap{ text-align:center; margin-top:20px; }
.content-marketing-eyebrow-soft{ color:var(--soft); }
.content-marketing-center{ text-align:center; }

.content-marketing-sample-card{ overflow:hidden; display:flex; flex-direction:column; padding:0; }
.content-marketing-sample-thumb{ aspect-ratio:16/10; position:relative; padding:16px; display:flex; flex-direction:column; justify-content:space-between; }
.content-marketing-sample-thumb--1{ background:linear-gradient(150deg,#06251c,#0d7a56); }
.content-marketing-sample-thumb--2{ background:linear-gradient(150deg,#0d7a56,#22c98a); }
.content-marketing-sample-thumb--3{ background:linear-gradient(150deg,#134e4a,#0f9e6e); }
.content-marketing-sample-thumb--4{ background:linear-gradient(150deg,#0b3b2c,#12b07c); }
.content-marketing-sample-badge{ align-self:flex-start; font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.25); padding:4px 9px; border-radius:100px; }
.content-marketing-sample-title{ color:#fff; font-weight:800; font-size:16px; letter-spacing:-.01em; line-height:1.25; text-shadow:0 1px 8px rgba(0,0,0,.3); }
.content-marketing-sample-body{ padding:16px 18px; display:flex; flex-direction:column; flex:1; }
.content-marketing-sample-metric{ display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:700; color:var(--emerald); }
.content-marketing-sample-rank{ font-family:var(--font-mono); font-size:10px; background:rgba(15,158,110,.1); border:1px solid rgba(15,158,110,.2); padding:2px 7px; border-radius:6px; }
.content-marketing-btn-link-card{ margin-top:auto; padding-top:14px; font-size:13.5px; }

.content-marketing-resources-h2{ font-size:36px; }
.content-marketing-resource-card{ min-height:150px; display:flex; flex-direction:column; }
.content-marketing-resource-eyebrow{ font-size:10.5px; }
.content-marketing-resource-h3{ font-size:15px; margin-top:12px; }

.content-marketing-footer-address{ margin-top:6px; }

/* ---- ecommerce-digital-marketing-services.html ---- */
.ecommerce-highlight{ color:var(--emerald); }
  .ecommerce-stat-ink{ color:var(--ink); }
  .ecommerce-tiles-2col{ grid-template-columns:1fr 1fr; }
  .ecommerce-tile-delta{ font-size:11.5px; color:var(--emerald); margin-top:2px; font-weight:700; }
  .ecommerce-tile-delta--bright{ color:var(--em-bright); }
  .ecommerce-caption-spaced{ margin-top:14px; }
  .ecommerce-mer-chart{ height:92px; margin-top:6px; }
  .ecommerce-mer-svg{ width:100%; height:100%; display:block; }
  .ecommerce-mer-area{ opacity:0; animation:zd-fade 1s ease .6s forwards; }
  .ecommerce-mer-line{ stroke-dasharray:520; stroke-dashoffset:520; animation:zd-draw 1.9s cubic-bezier(.4,0,.2,1) .3s forwards; }
  .ecommerce-mer-footer{ margin-top:8px; border-top:1px solid var(--line); padding-top:12px; display:flex; align-items:center; justify-content:space-between; }
  .ecommerce-mer-footer-label{ font-size:12.5px; color:var(--muted); }
  .ecommerce-mer-footer-tag{ font-family:'Space Mono',monospace; font-size:11px; color:var(--emerald); font-weight:700; }
  .ecommerce-problem-wrap{ padding:72px 32px; text-align:center; }
  .ecommerce-problem-heading{ max-width:720px; margin-left:auto; margin-right:auto; }
  .ecommerce-problem-grid{ margin-top:40px; text-align:left; }
  .ecommerce-x-mark{ flex:none; margin-top:2px; color:#ff9d9d; font-weight:800; font-size:16px; }
  .ecommerce-problem-text{ font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.82); }
  .ecommerce-problem-lead{ font-size:18px; line-height:1.6; font-weight:500; margin:32px auto 0; max-width:740px; color:rgba(255,255,255,.85); }
  .ecommerce-emphasis-bright{ color:var(--em-bright); font-weight:700; }
  .ecommerce-section-head-760{ max-width:760px; }
  .ecommerce-section-head-800{ max-width:800px; }
  .ecommerce-h2-44{ font-size:44px; }
  .ecommerce-h2-40{ font-size:40px; }
  .ecommerce-h2-36{ font-size:36px; }
  .ecommerce-grid-mt-38{ margin-top:38px; }
  .ecommerce-grid-mt-32{ margin-top:32px; }
  .ecommerce-card-icon-row{ display:flex; align-items:center; gap:14px; }
  .ecommerce-card-title-20{ margin:0; font-size:20px; }
  .ecommerce-card-link-inline{ display:inline-block; margin-top:18px; font-size:14.5px; }
  .ecommerce-icon-row-12{ display:flex; align-items:center; gap:12px; }
  .ecommerce-icon-row-12--between{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .ecommerce-card-title-18-5{ font-size:18.5px; }
  .ecommerce-manifesto-section{ margin-top:24px; }
  .ecommerce-manifesto-wrap{ padding:76px 32px; }
  .ecommerce-manifesto-intro{ max-width:780px; }
  .ecommerce-manifesto-sub{ font-size:16.5px; line-height:1.6; color:rgba(255,255,255,.72); margin-top:16px; }
  .ecommerce-manifesto-num{ font-family:'Space Mono',monospace; font-size:24px; font-weight:700; color:var(--em-bright); }
  .ecommerce-manifesto-card-title{ font-size:18px; margin-top:12px; }
  .ecommerce-manifesto-card-text{ font-size:14px; }
  .ecommerce-quote-box{ display:flex; align-items:flex-start; gap:14px; margin-top:24px; background:rgba(34,201,138,.1); border:1px solid rgba(34,201,138,.28); border-radius:14px; padding:20px 24px; }
  .ecommerce-quote-mark{ flex:none; width:34px; height:34px; border-radius:9px; background:var(--em-bright); color:var(--em-deep); display:flex; align-items:center; justify-content:center; font-weight:800; }
  .ecommerce-quote-text{ margin:0; font-size:16px; line-height:1.55; color:#fff; }
  .ecommerce-testimonial-tag{ align-self:flex-start; }
  .ecommerce-testimonial-stars{ margin-top:14px; }
  .ecommerce-resource-card{ min-height:150px; display:flex; flex-direction:column; }
  .ecommerce-resource-eyebrow{ font-size:11px; }
  .ecommerce-resource-title{ font-size:16.5px; margin-top:14px; }
  .ecommerce-resource-link{ margin-top:auto; padding-top:16px; font-size:14px; }
  .ecommerce-footer-address{ margin-top:6px; }

/* ---- education-digital-marketing-services.html ---- */
.edu-funnel{ display:flex; flex-direction:column; gap:12px; margin-top:18px; }
  .edu-funnel-row{ display:flex; flex-direction:column; gap:6px; }
  .edu-funnel-row__top{ display:flex; align-items:center; justify-content:space-between; font-size:13px; }
  .edu-funnel-row__stage{ font-weight:700; color:var(--ink); }
  .edu-funnel-row__count{ font-family:var(--font-mono); font-size:15px; font-weight:700; color:var(--emerald); }
  .edu-funnel-track{ height:26px; background:var(--bg); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
  .edu-funnel-fill{ height:100%; border-radius:7px; transform-origin:left; animation:zd-grow-x .9s cubic-bezier(.4,0,.2,1) both; }
  @keyframes zd-grow-x{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }

/* ---- event-digital-marketing-services.html ---- */
/* Hero countdown widget: phase progress rows (no reusable equivalent in style.css) */
.evt-phase-row{ display:flex; align-items:center; gap:12px; }
.evt-phase-row + .evt-phase-row{ margin-top:8px; }
.evt-phase-t{ flex:none; width:60px; font-family:var(--font-mono); font-size:12px; font-weight:700; }
.evt-phase-track{ flex:1; height:8px; background:var(--bg); border-radius:100px; overflow:hidden; }
.evt-phase-fill{ height:100%; border-radius:100px; }
.evt-phase-label{ flex:none; font-size:12px; color:var(--muted); width:88px; text-align:right; }
.evt-phase-stats{ margin-top:16px; border-top:1px solid var(--line); padding-top:14px; display:flex; align-items:flex-end; justify-content:space-between; }
.evt-phase-stats .value{ font-size:26px; font-weight:800; letter-spacing:-.02em; margin-top:2px; }

/* T-Minus framework vertical countdown timeline (no reusable equivalent in style.css) */
.evt-tm{ margin-top:40px; display:flex; flex-direction:column; gap:0; }
.evt-tm-row{ display:grid; grid-template-columns:132px 1fr; gap:24px; align-items:start; padding-bottom:26px; }
.evt-tm-time{ font-family:var(--font-mono); font-size:15px; font-weight:700; color:var(--em-bright); }
.evt-tm-window{ font-size:12px; color:rgba(255,255,255,.55); margin-top:2px; }
.evt-tm-content{ position:relative; padding-left:26px; border-left:2px solid rgba(34,201,138,.35); }
.evt-tm-dot{ position:absolute; left:-9px; top:3px; width:16px; height:16px; border-radius:50%; background:var(--em-bright); border:3px solid var(--em-deep); }
.evt-tm-content h3{ font-size:19px; font-weight:800; letter-spacing:-.01em; margin:0; color:#fff; }
.evt-tm-content p{ font-size:14.5px; color:rgba(255,255,255,.72); line-height:1.6; margin:7px 0 0; max-width:640px; }
@media (max-width:640px){
  .evt-tm-row{ grid-template-columns:1fr; gap:6px; }
}

/* page-specific styles: extracted from inline styles */
/* Color/text utilities */
.event-marketing-text-emerald{ color:var(--emerald); }
.event-marketing-text-ink{ color:var(--ink); }
.event-marketing-em-bright-text{ color:var(--em-bright); }
.event-marketing-em-bright-bold{ color:var(--em-bright); font-weight:700; }
.event-marketing-align-right{ text-align:right; }

/* Hero */
.event-marketing-hero-stats--tight{ gap:0 16px; }
.event-marketing-chart-tag{ font-family:'Space Mono',monospace; font-size:11px; font-weight:700; color:var(--emerald); }
.event-marketing-svg-fill{ width:100%; height:100%; display:block; }
.event-marketing-chart-area{ opacity:0; animation:zd-fade-full 1s ease .6s forwards; }
.event-marketing-chart-line{ stroke-dasharray:520; stroke-dashoffset:520; animation:zd-draw 2s cubic-bezier(.4,0,.2,1) .3s forwards; }
.event-marketing-chart-dot{ opacity:0; animation:zd-fade-full .4s ease 2.1s forwards; }

/* Hero countdown phase rows: per-row color/width overrides (were inline per row) */
.evt-phase-row:nth-child(1) .evt-phase-t{ color:var(--soft); }
.evt-phase-row:nth-child(1) .evt-phase-fill{ width:30%; background:rgba(15,158,110,.5); }
.evt-phase-row:nth-child(2) .evt-phase-t{ color:var(--soft); }
.evt-phase-row:nth-child(2) .evt-phase-fill{ width:48%; background:rgba(15,158,110,.7); }
.evt-phase-row:nth-child(3) .evt-phase-t{ color:var(--ink); }
.evt-phase-row:nth-child(3) .evt-phase-fill{ width:68%; background:var(--emerald); }
.evt-phase-row:nth-child(4) .evt-phase-t{ color:var(--ink); }
.evt-phase-row:nth-child(4) .evt-phase-fill{ width:88%; background:var(--emerald); }
.evt-phase-row:nth-child(5) .evt-phase-t{ color:var(--emerald); }
.evt-phase-row:nth-child(5) .evt-phase-fill{ width:100%; background:var(--em-bright); }

/* T-Minus timeline: last row has no bottom padding (was inline) */
.evt-tm-row:last-child{ padding-bottom:0; }

/* Stakes section (dark band) */
.event-marketing-stakes-wrap{ padding:72px 32px; }
.event-marketing-section-head-800-auto{ max-width:800px; margin:0 auto; }
.event-marketing-h2-38{ font-size:38px; }
.event-marketing-grid-mt-40{ margin-top:40px; }
.event-marketing-stakes-heading{ font-size:18px; color:var(--em-bright); }
.event-marketing-bullet-item--dark{ color:rgba(255,255,255,.82); }
.event-marketing-bullet-dot--bright{ background:var(--em-bright); }
.event-marketing-stakes-summary{ text-align:center; font-size:18px; line-height:1.6; font-weight:500; margin:34px auto 0; max-width:820px; color:rgba(255,255,255,.85); }

/* Section headers: shared max-width variants reused across multiple sections */
.event-marketing-section-head-780{ max-width:780px; }
.event-marketing-section-head-720{ max-width:720px; }
.event-marketing-section-head-800{ max-width:800px; }

/* Shared h2 size variants */
.event-marketing-h2-44{ font-size:44px; }
.event-marketing-h2-40{ font-size:40px; }
.event-marketing-h2-40-tight{ font-size:40px; line-height:1.08; }
.event-marketing-h2-36{ font-size:36px; }

/* Shared grid top-margin variants */
.event-marketing-grid-mt-38{ margin-top:38px; }
.event-marketing-grid-mt-32{ margin-top:32px; }

/* Services grid cards */
.event-marketing-card-icon-row{ display:flex; align-items:center; gap:14px; }
.event-marketing-card-title{ margin:0; font-size:19.5px; }
.event-marketing-card-title--narrow{ max-width:300px; }
.event-marketing-card-tagline{ font-style:italic; }
.event-marketing-card-link-cta{ display:inline-block; margin-top:18px; font-size:14.5px; }
.event-marketing-card--relative{ position:relative; }
.event-marketing-tag-flag--corner{ position:absolute; top:24px; right:24px; }

/* "Who we serve" audience cards */
.event-marketing-audience-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.event-marketing-audience-title{ font-size:18.5px; }

/* T-Minus framework section */
.event-marketing-tminus-section{ margin-top:24px; }
.event-marketing-tminus-wrap{ padding:76px 32px; }
.event-marketing-tminus-intro{ max-width:820px; }
.event-marketing-tminus-subtext{ font-size:17px; line-height:1.6; color:rgba(255,255,255,.75); margin:16px 0 0; }
.event-marketing-tminus-quote{ background:rgba(34,201,138,.1); border:1px solid rgba(34,201,138,.3); border-radius:16px; padding:24px 28px; margin-top:8px; }
.event-marketing-tminus-quote-text{ margin:0; font-size:18px; line-height:1.55; font-weight:600; color:#fff; }

/* Results metrics */
.event-marketing-metric-sm{ font-size:38px; }

/* Testimonials */
.event-marketing-tag-self-start{ align-self:flex-start; }
.event-marketing-stars-mt{ margin-top:14px; }

/* Resources / insight cards */
.event-marketing-resource-card{ min-height:150px; display:flex; flex-direction:column; }
.event-marketing-resource-eyebrow{ font-size:11px; }
.event-marketing-resource-title{ font-size:16.5px; margin-top:14px; }
.event-marketing-resource-cta{ margin-top:auto; padding-top:16px; font-size:14px; }

/* Contact form */
.event-marketing-form-date-label{ display:block; margin-bottom:6px; font-size:10px; }

/* Footer */
.event-marketing-footer-address{ margin-top:6px; }

/* ---- fintech-digital-marketing-services.html ---- */
/* page-specific styles — Finance & Fintech hero visual (campaign approval list + lead-quality funnel) and warning/manifesto rows, no reusable equivalent exists elsewhere on the site */
.ff-campaign-list{ display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.ff-campaign-row{ display:flex; align-items:center; justify-content:space-between; background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:10px 13px; }
.ff-campaign-row .name{ font-size:13px; font-weight:600; color:var(--ink); }
.ff-campaign-row .status{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:10px; font-weight:700; color:var(--emerald); background:rgba(15,158,110,.1); padding:4px 9px; border-radius:100px; }
.ff-funnel{ margin-top:16px; border-top:1px solid var(--line); padding-top:14px; }
.ff-funnel-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.08em; color:var(--soft); text-transform:uppercase; }
.ff-funnel-rows{ display:flex; flex-direction:column; gap:7px; margin-top:10px; }
.ff-funnel-row{ display:flex; align-items:center; gap:12px; }
.ff-funnel-row .rlabel{ flex:none; width:120px; font-size:12px; font-weight:700; color:var(--ink); }
.ff-funnel-track{ flex:1; height:26px; background:var(--bg); border-radius:7px; overflow:hidden; position:relative; }
.ff-funnel-fill{ height:100%; border-radius:7px; }
.ff-funnel-val{ position:absolute; top:0; left:11px; height:26px; display:flex; align-items:center; font-family:var(--font-mono); font-size:11px; font-weight:700; }
.ff-metrics{ margin-top:14px; display:flex; align-items:flex-end; justify-content:space-between; border-top:1px solid var(--line); padding-top:12px; }
.ff-metrics .m-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.08em; color:var(--soft); text-transform:uppercase; }
.ff-metrics .m-value{ font-size:24px; font-weight:800; letter-spacing:-.02em; margin-top:2px; }
.ff-metrics .m-value.accent{ color:var(--emerald); }
.ff-metrics .right{ text-align:right; }
.ff-warn-icon{ flex:none; margin-top:2px; width:22px; height:22px; border-radius:6px; background:rgba(217,138,43,.18); color:#d98a2b; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:13px; }
.ff-manifesto-item{ display:grid; grid-template-columns:48px 1fr; gap:20px; align-items:start; }
.ff-manifesto-num{ font-family:var(--font-mono); font-size:22px; font-weight:700; color:var(--em-bright); line-height:1.1; }

/* funnel bar fill widths/colors and value-label colors vary per row (Enquiry / KYC-qualified / Disbursed) — expressed via nth-child instead of inline styles */
.ff-funnel-row:nth-child(1) .ff-funnel-fill{ width:100%; background:var(--em-deep); }
.ff-funnel-row:nth-child(2) .ff-funnel-fill{ width:58%; background:var(--emerald); }
.ff-funnel-row:nth-child(3) .ff-funnel-fill{ width:32%; background:var(--em-bright); }
.ff-funnel-row:nth-child(1) .ff-funnel-val,
.ff-funnel-row:nth-child(2) .ff-funnel-val{ color:#fff; }
.ff-funnel-row:nth-child(3) .ff-funnel-val{ color:var(--em-deep); }

/* page-specific styles: extracted from inline styles */
.finance-fintech-hero-title{ font-size:47px; }
.finance-fintech-hero-highlight{ color:var(--emerald); }
.finance-fintech-hero-stats{ gap:0 16px; }
.finance-fintech-stat-strong{ color:var(--ink); }
.finance-fintech-stakes-container{ padding:72px 32px; }
.finance-fintech-section-grid{ margin-top:38px; }
.finance-fintech-warn-text{ color:rgba(255,255,255,.82); }
.finance-fintech-stakes-promise{ text-align:center; font-size:18px; line-height:1.6; font-weight:500; margin:34px auto 0; max-width:820px; color:rgba(255,255,255,.85); }
.finance-fintech-promise-highlight{ color:var(--em-bright); font-weight:700; }
.finance-fintech-section-head--780{ max-width:780px; }
.finance-fintech-section-head--820{ max-width:820px; }
.finance-fintech-section-head--800{ max-width:800px; }
.finance-fintech-h2--44{ font-size:44px; }
.finance-fintech-h2--40{ font-size:40px; }
.finance-fintech-h2--36{ font-size:36px; }
.finance-fintech-card-head{ display:flex; align-items:center; gap:14px; }
.finance-fintech-card-title{ margin:0; font-size:19.5px; max-width:330px; }
.finance-fintech-card-subtitle{ font-style:italic; margin-top:16px; }
.finance-fintech-card-cta{ display:inline-block; margin-top:18px; font-size:14.5px; }
.finance-fintech-card--flagged{ position:relative; }
.finance-fintech-card-flag{ position:absolute; top:24px; right:24px; }
.finance-fintech-persona-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.finance-fintech-persona-title{ font-size:18.5px; }
.finance-fintech-manifesto-section{ margin-top:24px; }
.finance-fintech-manifesto-container{ padding:76px 32px; }
.finance-fintech-manifesto-intro{ max-width:820px; }
.finance-fintech-manifesto-lead{ color:rgba(255,255,255,.75); margin-top:16px; font-size:17px; line-height:1.6; }
.finance-fintech-manifesto-list{ display:flex; flex-direction:column; gap:12px; margin-top:38px; }
.finance-fintech-manifesto-heading{ color:#fff; }
.finance-fintech-manifesto-text{ color:rgba(255,255,255,.72); margin-top:7px; }
.finance-fintech-manifesto-closer{ text-align:center; font-size:18px; line-height:1.6; font-weight:600; margin:30px auto 0; max-width:780px; color:#fff; }
.finance-fintech-manifesto-highlight{ color:var(--em-bright); }
.finance-fintech-result-metric{ font-size:38px; }
.finance-fintech-testimonial-tag{ align-self:flex-start; }
.finance-fintech-testimonial-stars{ margin-top:14px; }
.finance-fintech-testimonial-quote{ font-size:17.5px; }
.finance-fintech-resources-grid{ margin-top:32px; }
.finance-fintech-resource-card{ min-height:150px; display:flex; flex-direction:column; }
.finance-fintech-resource-eyebrow{ font-size:11px; }
.finance-fintech-resource-title{ font-size:16.5px; margin-top:14px; }
.finance-fintech-resource-cta{ margin-top:auto; padding-top:16px; font-size:14px; }
.finance-fintech-footer-address{ margin-top:6px; }

/* ---- influencer-marketing-agency.html ---- */
/* campaign attribution bars in the hero dashboard mockup */
  .attrib-row{ display:flex; align-items:center; gap:12px; }
  .attrib-row .attrib-label{ flex:none; width:118px; font-size:12px; font-weight:700; color:var(--ink); }
  .attrib-row .attrib-track{ flex:1; height:26px; background:var(--bg); border-radius:7px; overflow:hidden; position:relative; }
  .attrib-row .attrib-fill{ height:100%; border-radius:7px; }
  .attrib-row .attrib-val{ position:absolute; top:0; left:11px; height:26px; display:flex; align-items:center; font-family:var(--font-mono); font-size:11px; font-weight:700; }

  /* hero */
  .influencer-marketing-hero-title{ font-size:47px; line-height:1.07; }
  .influencer-marketing-emerald-text{ color:var(--emerald); }
  .influencer-marketing-hero-lead{ max-width:560px; }
  .influencer-marketing-hero-stats{ justify-content:flex-start; border-top:1px solid var(--line); padding-top:24px; margin-top:28px; text-align:left; }
  .influencer-marketing-ink{ color:var(--ink); }
  .influencer-marketing-hero-dash{ animation-delay:120ms; }

  /* hero dashboard mockup */
  .influencer-marketing-dash-tiles-2{ grid-template-columns:1fr 1fr; margin-top:12px; }
  .influencer-marketing-justify-start{ justify-content:flex-start; }
  .influencer-marketing-attrib-list{ display:flex; flex-direction:column; gap:9px; margin-top:12px; }
  .influencer-marketing-attrib-list .attrib-row:nth-child(1) .attrib-fill{ background:var(--em-deep); width:100%; }
  .influencer-marketing-attrib-list .attrib-row:nth-child(1) .attrib-val{ color:#fff; }
  .influencer-marketing-attrib-list .attrib-row:nth-child(2) .attrib-fill{ background:var(--emerald); width:54%; }
  .influencer-marketing-attrib-list .attrib-row:nth-child(2) .attrib-val{ color:#fff; }
  .influencer-marketing-attrib-list .attrib-row:nth-child(3) .attrib-fill{ background:var(--em-bright); width:30%; }
  .influencer-marketing-attrib-list .attrib-row:nth-child(3) .attrib-val{ color:var(--em-deep); }
  .influencer-marketing-dash-footer{ margin-top:14px; display:flex; align-items:flex-end; justify-content:space-between; border-top:1px solid var(--line); padding-top:12px; }
  .influencer-marketing-dash-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.08em; color:var(--soft); text-transform:uppercase; }
  .influencer-marketing-dash-figure--accent{ font-size:24px; font-weight:800; letter-spacing:-.02em; margin-top:2px; color:var(--emerald); }
  .influencer-marketing-dash-figure{ font-size:24px; font-weight:800; letter-spacing:-.02em; margin-top:2px; }
  .influencer-marketing-align-right{ text-align:right; }

  /* scar-tissue dark band */
  .influencer-marketing-scar-pad{ padding:72px 32px; }
  .influencer-marketing-scar-head{ max-width:800px; margin:0 auto; text-align:center; }
  .influencer-marketing-scar-heading{ font-size:38px; line-height:1.12; margin:14px auto 0; }
  .influencer-marketing-scar-lead{ font-size:17px; line-height:1.65; margin:20px auto 0; }
  .influencer-marketing-mt-38{ margin-top:38px; }
  .influencer-marketing-scar-card{ display:flex; align-items:flex-start; gap:12px; padding:20px 22px; }
  .influencer-marketing-warn-icon{ flex:none; margin-top:2px; width:22px; height:22px; border-radius:6px; background:rgba(217,138,43,.18); color:#d98a2b; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:13px; }
  .influencer-marketing-scar-text{ margin:0; font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.82); }
  .influencer-marketing-scar-close{ text-align:center; font-size:18px; line-height:1.6; font-weight:500; margin:34px auto 0; max-width:820px; color:rgba(255,255,255,.85); }
  .influencer-marketing-bright-bold{ color:var(--em-bright); font-weight:700; }

  /* what we do */
  .influencer-marketing-max-820{ max-width:820px; }
  .influencer-marketing-service-head{ display:flex; align-items:center; gap:14px; }
  .influencer-marketing-service-title{ margin:0; font-size:19.5px; max-width:320px; }
  .influencer-marketing-service-desc{ font-style:italic; }
  .influencer-marketing-badge-anchor{ position:relative; }
  .influencer-marketing-badge-pos{ position:absolute; top:24px; right:24px; left:auto; }
  .influencer-marketing-service-link{ display:inline-block; margin-top:18px; font-family:var(--font-mono); font-size:11.5px; }

  /* Tamil creator economy panel */
  .influencer-marketing-tamil-panel{ background:var(--card); border:1px solid var(--line); border-radius:22px; padding:48px 44px; position:relative; overflow:hidden; }
  .influencer-marketing-tamil-glow{ position:absolute; top:-60px; right:-40px; width:280px; height:280px; background:radial-gradient(circle,rgba(34,201,138,.14),transparent 70%); }
  .influencer-marketing-tamil-head{ max-width:760px; position:relative; }
  .influencer-marketing-tamil-heading{ font-size:38px; line-height:1.08; letter-spacing:-.025em; font-weight:800; margin:14px 0 0; }
  .influencer-marketing-tamil-lead{ font-size:16.5px; line-height:1.65; color:var(--muted); margin:18px 0 0; }
  .influencer-marketing-tamil-grid{ margin-top:32px; position:relative; }
  .influencer-marketing-info-card--bg{ background:var(--bg); }
  .influencer-marketing-tamil-card-title{ font-size:16px; margin-top:0; }
  .influencer-marketing-tamil-card-text{ font-size:13.5px; }

  /* manifesto / how we operate */
  .influencer-marketing-manifesto-section{ margin-top:24px; }
  .influencer-marketing-manifesto-pad{ padding:76px 32px; }
  .influencer-marketing-max-840{ max-width:840px; }
  .influencer-marketing-manifesto-heading{ font-size:39px; line-height:1.1; margin:14px 0 0; }
  .influencer-marketing-manifesto-lead{ font-size:17px; line-height:1.6; margin:16px 0 0; }
  .influencer-marketing-manifesto-list{ display:flex; flex-direction:column; gap:12px; margin-top:38px; }
  .influencer-marketing-manifesto-card{ display:grid; grid-template-columns:48px 1fr; gap:20px; align-items:start; padding:24px 26px; }
  .influencer-marketing-manifesto-num{ font-family:var(--font-mono); font-size:22px; font-weight:700; color:var(--em-bright); line-height:1.1; }
  .influencer-marketing-manifesto-title{ font-size:19px; margin:0; }
  .influencer-marketing-manifesto-desc{ font-size:14.5px; line-height:1.6; margin:7px 0 0; max-width:820px; }
  .influencer-marketing-manifesto-close{ text-align:center; font-size:18px; line-height:1.6; font-weight:600; margin:30px auto 0; max-width:800px; color:#fff; }
  .influencer-marketing-bright-text{ color:var(--em-bright); }

  /* by industry / linked cards */
  .influencer-marketing-max-780{ max-width:780px; }
  .influencer-marketing-mt-34{ margin-top:34px; }
  .influencer-marketing-link-card--flex{ display:flex; flex-direction:column; min-height:150px; }
  .influencer-marketing-card-link-cta{ margin-top:auto; padding-top:16px; font-size:13.5px; }

  /* results */
  .influencer-marketing-result-metric{ font-size:38px; font-weight:800; letter-spacing:-.03em; margin-top:22px; }

  /* pricing */
  .influencer-marketing-pricing-grid{ margin-top:38px; align-items:stretch; }
  .influencer-marketing-cta-center{ text-align:center; margin-top:20px; }

  /* testimonials */
  .influencer-marketing-testimonial-pad{ padding:32px 30px; }
  .influencer-marketing-mt-14{ margin-top:14px; }
  .influencer-marketing-testimonial-text{ font-size:17.5px; }

  /* resources */
  .influencer-marketing-resources-heading{ font-size:36px; }
  .influencer-marketing-mt-32{ margin-top:32px; }
  .influencer-marketing-resource-eyebrow{ font-size:11px; }
  .influencer-marketing-resource-title{ font-size:15px; margin-top:14px; }

  /* contact / footer */
  .influencer-marketing-contact-lead{ max-width:460px; }
  .influencer-marketing-mt-6{ margin-top:6px; }

/* ---- it-saas-digital-marketing-services.html ---- */
/* page-specific styles — IT & SaaS hero visual (revenue funnel bars + pipeline/CAC-payback metrics), no reusable equivalent exists elsewhere on the site */
.its-funnel{ display:flex; flex-direction:column; gap:9px; margin-top:16px; }
.its-funnel-row{ display:flex; align-items:center; gap:12px; }
.its-funnel-row .rlabel{ flex:none; width:118px; font-size:12px; font-weight:700; color:var(--ink); }
.its-funnel-track{ flex:1; height:30px; background:var(--bg); border-radius:8px; overflow:hidden; position:relative; }
.its-funnel-fill{ height:100%; border-radius:8px; animation:zd-grow 1.1s cubic-bezier(.4,0,.2,1) forwards; }
.its-funnel-val{ position:absolute; top:0; left:12px; height:30px; display:flex; align-items:center; font-family:var(--font-mono); font-size:12px; font-weight:700; }
.its-metrics{ margin-top:16px; border-top:1px solid var(--line); padding-top:14px; display:flex; align-items:flex-end; justify-content:space-between; }
.its-metrics .m-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.08em; color:var(--soft); text-transform:uppercase; }
.its-metrics .m-value{ font-size:26px; font-weight:800; letter-spacing:-.02em; margin-top:2px; }
.its-metrics .m-value.accent{ color:var(--emerald); }
.its-metrics .right{ text-align:right; }

/* funnel bar widths/colors + value-label colors, per row (was a one-off inline style per row) */
.its-funnel-row:nth-child(1) .its-funnel-fill{ width:100%; background:var(--em-deep); }
.its-funnel-row:nth-child(1) .its-funnel-val{ color:#fff; }
.its-funnel-row:nth-child(2) .its-funnel-fill{ width:72%; background:rgba(15,158,110,.85); }
.its-funnel-row:nth-child(2) .its-funnel-val{ color:#fff; }
.its-funnel-row:nth-child(3) .its-funnel-fill{ width:52%; background:var(--emerald); }
.its-funnel-row:nth-child(3) .its-funnel-val{ color:#fff; }
.its-funnel-row:nth-child(4) .its-funnel-fill{ width:34%; background:var(--em-bright); }
.its-funnel-row:nth-child(4) .its-funnel-val{ color:var(--em-deep); }
.its-funnel-row:nth-child(5) .its-funnel-fill{ width:22%; background:#8be6bf; }
.its-funnel-row:nth-child(5) .its-funnel-val{ color:var(--em-deep); }

/* page-specific styles: extracted from inline styles */
.it-saas-hero-h1{ font-size:50px; }
.it-saas-accent{ color:var(--emerald); }
.it-saas-hero-stats{ gap:0 16px; }
.it-saas-stat-strong{ color:var(--ink); }
.it-saas-funnel-note{ font-size:11.5px; color:var(--muted); margin-top:10px; }
.it-saas-band-pad{ padding:72px 32px; }
.it-saas-grid-mt-40{ margin-top:40px; }
.it-saas-buyer-title{ color:var(--em-bright); }
.it-saas-buyer-list{ display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.it-saas-buyer-item{ display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color:rgba(255,255,255,.82); line-height:1.5; }
.it-saas-buyer-dot{ flex:none; margin-top:7px; width:6px; height:6px; border-radius:50%; background:var(--em-bright); }
.it-saas-band-quote{ text-align:center; font-size:18px; line-height:1.6; font-weight:500; margin:34px auto 0; max-width:820px; color:rgba(255,255,255,.85); }
.it-saas-quote-accent{ color:var(--em-bright); font-weight:700; }
.it-saas-mw-780{ max-width:780px; }
.it-saas-h2-44{ font-size:44px; }
.it-saas-grid-mt{ margin-top:38px; }
.it-saas-service-head{ display:flex; align-items:center; gap:14px; }
.it-saas-service-title{ margin:0; font-size:19.5px; max-width:340px; }
.it-saas-service-sub{ font-style:italic; margin-top:16px; }
.it-saas-service-link{ display:inline-block; margin-top:18px; font-size:14.5px; }
.it-saas-card-relative{ position:relative; }
.it-saas-tag-flag-pos{ position:absolute; top:24px; right:24px; }
.it-saas-who-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.it-saas-who-title{ font-size:18.5px; }
.it-saas-who-metrics{ margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.it-saas-who-metrics-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--soft); }
.it-saas-who-metrics-value{ font-size:13.5px; color:var(--ink); font-weight:600; line-height:1.5; margin-top:6px; }
.it-saas-mt-24{ margin-top:24px; }
.it-saas-band-pad-lg{ padding:76px 32px; }
.it-saas-mw-820{ max-width:820px; }
.it-saas-manifesto-sub{ color:rgba(255,255,255,.75); margin-top:16px; font-size:17px; line-height:1.6; }
.it-saas-manifesto-item{ display:flex; gap:18px; align-items:flex-start; }
.it-saas-manifesto-num{ flex:none; font-family:var(--font-mono); font-size:26px; font-weight:700; color:var(--em-bright); line-height:1; }
.it-saas-manifesto-title{ color:#fff; }
.it-saas-manifesto-desc{ color:rgba(255,255,255,.72); margin-top:9px; }
.it-saas-metric-38{ font-size:38px; }
.it-saas-h2-40{ font-size:40px; }
.it-saas-mw-800{ max-width:800px; }
.it-saas-mw-720{ max-width:720px; }
.it-saas-tpill{ align-self:flex-start; }
.it-saas-tstars{ margin-top:14px; }
.it-saas-tquote{ font-size:17.5px; }
.it-saas-h2-36{ font-size:36px; }
.it-saas-mt-32{ margin-top:32px; }
.it-saas-insight-card{ min-height:150px; display:flex; flex-direction:column; }
.it-saas-insight-eyebrow{ font-size:11px; }
.it-saas-insight-title{ font-size:16.5px; margin-top:14px; }
.it-saas-insight-link{ margin-top:auto; padding-top:16px; font-size:14px; }
.it-saas-footer-mt{ margin-top:6px; }

/* ---- jewellery-retail-digital-marketing-services.html ---- */
/* Hero */
.jewellery-retail-hero-h1{ font-size:46px; }
.jewellery-retail-text-emerald{ color:var(--emerald); }
.jewellery-retail-lead-narrow{ max-width:560px; }
.jewellery-retail-hero-stats-override{ justify-content:flex-start; gap:8px 16px; padding-top:24px; border-top:1px solid var(--line); }
.jewellery-retail-stat-strong{ color:var(--ink); }

/* Hero dashboard mock card */
.jewellery-retail-dash-top-grid{ display:grid; grid-template-columns:132px 1fr; gap:16px; align-items:stretch; }
.jewellery-retail-reel-thumb{ position:relative; border-radius:14px; overflow:hidden; border:1px solid var(--line); }
.jewellery-retail-reel-thumb-inner{ aspect-ratio:9/16; background:linear-gradient(160deg,#1a1205 0%,#6b4e17 46%,#c99b3f 100%); position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:12px; }
.jewellery-retail-reel-badge{ font-family:var(--font-mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.3); padding:4px 8px; border-radius:100px; align-self:flex-start; }
.jewellery-retail-play-btn{ position:absolute; left:50%; top:44%; transform:translate(-50%,-50%); width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.22); backdrop-filter:blur(3px); display:flex; align-items:center; justify-content:center; }
.jewellery-retail-play-triangle{ border-left:12px solid #fff; border-top:7px solid transparent; border-bottom:7px solid transparent; margin-left:3px; }
.jewellery-retail-reel-info{ color:#fff; }
.jewellery-retail-reel-views-num{ font-weight:800; font-size:16px; letter-spacing:-.02em; text-shadow:0 1px 6px rgba(0,0,0,.4); }
.jewellery-retail-reel-views-cap{ font-size:10px; font-weight:600; opacity:.9; }
.jewellery-retail-trend-box{ background:var(--bg); border:1px solid var(--line); border-radius:14px; padding:14px 14px 12px; display:flex; flex-direction:column; }
.jewellery-retail-trend-head-row{ display:flex; align-items:center; justify-content:space-between; }
.jewellery-retail-chart-wrap{ position:relative; flex:1; margin-top:10px; min-height:118px; }
.jewellery-retail-chart-svg{ width:100%; height:100%; display:block; }
.jewellery-retail-chart-path-anim{ animation:zd-dash 1.6s .3s ease-out forwards; }
.jewellery-retail-chart-tag{ position:absolute; top:-2px; right:0; font-family:var(--font-mono); font-size:9px; font-weight:700; color:var(--em-deep); background:var(--em-bright); padding:2px 7px; border-radius:100px; }
.jewellery-retail-trend-footer-row{ display:flex; align-items:flex-end; justify-content:space-between; border-top:1px solid var(--line); padding-top:10px; margin-top:8px; }
.jewellery-retail-stat-value-emerald{ font-size:20px; font-weight:800; letter-spacing:-.02em; color:var(--emerald); }
.jewellery-retail-align-right{ text-align:right; }
.jewellery-retail-stat-value{ font-size:20px; font-weight:800; letter-spacing:-.02em; }
.jewellery-retail-tiles-grid{ margin-top:14px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }

/* Utility spacing helpers used across sections on this page */
.jewellery-retail-mt-38{ margin-top:38px; }
.jewellery-retail-mt-32{ margin-top:32px; }
.jewellery-retail-mt-14{ margin-top:14px; }
.jewellery-retail-mt-6{ margin-top:6px; }
.jewellery-retail-align-self-start{ align-self:flex-start; }

/* Section head max-width variants */
.jewellery-retail-maxw-820{ max-width:820px; }
.jewellery-retail-maxw-760{ max-width:760px; }
.jewellery-retail-maxw-780{ max-width:780px; }
.jewellery-retail-maxw-800{ max-width:800px; }

/* Heading size variants */
.jewellery-retail-h2-44{ font-size:44px; }
.jewellery-retail-h2-40{ font-size:40px; }
.jewellery-retail-h2-38{ font-size:38px; }
.jewellery-retail-h2-36{ font-size:36px; }

/* "The real journey" dark band */
.jewellery-retail-band-pad-72{ padding:72px 32px; }
.jewellery-retail-journey-intro{ max-width:820px; margin:0 auto; text-align:center; }
.jewellery-retail-journey-lead{ color:rgba(255,255,255,.78); margin-top:20px; font-size:17px; line-height:1.65; }
.jewellery-retail-eyebrow-sm{ font-size:10.5px; }
.jewellery-retail-warn-icon{ flex:none; margin-top:2px; width:20px; height:20px; border-radius:6px; background:rgba(217,138,43,.18); color:#d98a2b; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:12px; }
.jewellery-retail-dark-bullet-text{ margin:0; color:rgba(255,255,255,.82); }
.jewellery-retail-journey-summary{ text-align:center; font-size:18px; line-height:1.6; font-weight:500; margin:34px auto 0; max-width:840px; color:rgba(255,255,255,.85); }
.jewellery-retail-em-bright-bold{ color:var(--em-bright); font-weight:700; }

/* Services section */
.jewellery-retail-card-relative{ position:relative; }
.jewellery-retail-plan-badge-pos{ top:24px; right:24px; left:auto; }
.jewellery-retail-card-head-row{ display:flex; align-items:center; gap:14px; }
.jewellery-retail-service-title{ margin:0; font-size:19.5px; max-width:320px; }
.jewellery-retail-service-tagline{ font-style:italic; }
.jewellery-retail-service-link{ display:inline-block; margin-top:18px; font-family:var(--font-mono); font-size:11.5px; }

/* Who we serve section */
.jewellery-retail-who-head-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.jewellery-retail-who-title{ font-size:18.5px; }

/* Manifesto dark band */
.jewellery-retail-manifesto-section{ margin-top:24px; }
.jewellery-retail-band-pad-76{ padding:76px 32px; }
.jewellery-retail-manifesto-intro{ max-width:840px; }
.jewellery-retail-manifesto-lead{ color:rgba(255,255,255,.75); margin-top:16px; font-size:17px; line-height:1.6; }
.jewellery-retail-mechanism-list{ display:flex; flex-direction:column; gap:12px; margin-top:38px; }
.jewellery-retail-mechanism-card{ display:grid; grid-template-columns:48px 1fr; gap:20px; align-items:start; }
.jewellery-retail-mechanism-num{ font-family:var(--font-mono); font-size:22px; font-weight:700; color:var(--em-bright); line-height:1.1; }
.jewellery-retail-mechanism-title{ font-size:19px; margin:0; }
.jewellery-retail-mechanism-text{ font-size:14.5px; line-height:1.6; margin:7px 0 0; max-width:820px; }
.jewellery-retail-manifesto-quote{ text-align:center; font-size:19px; line-height:1.55; font-weight:600; margin:32px auto 0; max-width:800px; color:#fff; }
.jewellery-retail-em-bright{ color:var(--em-bright); }

/* Results section */
.jewellery-retail-result-metric{ font-size:38px; }

/* Why us section */
.jewellery-retail-why-title{ font-size:16.5px; }
.jewellery-retail-why-text{ font-size:13.5px; }

/* Testimonials section */
.jewellery-retail-testimonial-text{ font-size:17.5px; }

/* Resources section */
.jewellery-retail-resource-card{ min-height:150px; display:flex; flex-direction:column; }
.jewellery-retail-fs-11{ font-size:11px; }
.jewellery-retail-resource-title{ font-size:15px; margin-top:14px; }
.jewellery-retail-resource-readmore{ margin-top:auto; padding-top:14px; font-size:13.5px; }

/* ---- logistics-digital-marketing-services.html ---- */
/* page-specific styles — Logistics hero visual (SERP-result mockup + RFQ funnel labels) and First-RFQ manifesto row, no reusable equivalent exists elsewhere on the site */
.lg-search-bar{ display:flex; align-items:center; gap:10px; background:var(--bg); border:1px solid var(--line); border-radius:100px; padding:10px 16px; }
.lg-search-icon{ width:14px; height:14px; border:2px solid var(--soft); border-radius:50%; position:relative; flex:none; }
.lg-search-icon::after{ content:''; position:absolute; width:6px; height:2px; background:var(--soft); transform:rotate(45deg); right:-4px; bottom:0; }
.lg-search-text{ font-size:13.5px; color:var(--ink); font-weight:600; }
.lg-serp-list{ display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.lg-serp-result{ border-radius:12px; padding:14px 16px; position:relative; }
.lg-serp-result--top{ background:rgba(15,158,110,.07); border:1px solid rgba(15,158,110,.25); }
.lg-serp-result--faded{ opacity:.55; }
.lg-serp-badge{ position:absolute; top:12px; right:12px; font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:var(--emerald); padding:3px 9px; border-radius:100px; font-weight:700; }
.lg-serp-url{ font-size:11.5px; color:var(--soft); }
.lg-serp-result--top .lg-serp-url{ font-size:12px; }
.lg-serp-title{ font-size:15px; color:var(--emerald); font-weight:700; margin-top:3px; }
.lg-serp-desc{ font-size:12.5px; color:var(--muted); line-height:1.4; margin-top:3px; }
.lg-serp-title-faded{ font-size:13.5px; color:var(--muted); font-weight:600; margin-top:2px; }
.lg-funnel{ margin-top:16px; border-top:1px solid var(--line); padding-top:14px; }
.lg-funnel-head{ display:flex; align-items:center; justify-content:space-between; }
.lg-funnel-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.08em; color:var(--soft); text-transform:uppercase; }
.lg-funnel-value{ font-size:20px; font-weight:800; letter-spacing:-.02em; }
.lg-funnel-steps{ display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--muted); margin-top:6px; }
.lg-funnel-steps .step{ font-family:var(--font-mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase; color:var(--soft); }
.lg-funnel-steps .step--accent{ color:var(--emerald); font-weight:700; }
.lg-funnel-steps .arrow{ color:var(--line); }
.lg-manifesto-item{ display:grid; grid-template-columns:48px 1fr; gap:20px; align-items:start; }
.lg-manifesto-num{ font-family:var(--font-mono); font-size:22px; font-weight:700; color:var(--em-bright); line-height:1.1; }

/* ---- manufacturing-digital-marketing-services.html ---- */
.mfg-serp-row{ border-radius:12px; padding:14px 16px; }
.mfg-serp-row--top{ background:rgba(15,158,110,.07); border:1px solid rgba(15,158,110,.25); position:relative; }
.mfg-serp-badge{ position:absolute; top:12px; right:12px; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:var(--emerald); padding:3px 9px; border-radius:100px; font-weight:700; }
.mfg-serp-url{ font-size:12px; color:var(--soft); }
.mfg-serp-title{ font-size:15px; color:var(--emerald); font-weight:700; margin-top:3px; }
.mfg-serp-desc{ font-size:12.5px; color:var(--muted); line-height:1.4; margin-top:3px; }
.mfg-serp-row--faded{ opacity:.55; }
.mfg-serp-row--faded .mfg-serp-url{ font-size:11.5px; }
.mfg-serp-row--faded .mfg-serp-title{ font-size:13.5px; color:var(--muted); font-weight:600; margin-top:2px; }

.mfg-compare{ margin-top:36px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:18px; overflow:hidden; }
.mfg-compare-head{ display:grid; grid-template-columns:1.1fr 1fr 1fr; }
.mfg-compare-head > div{ padding:18px 22px; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.mfg-compare-head .bad{ color:#ff9d9d; border-left:1px solid rgba(255,255,255,.1); }
.mfg-compare-head .good{ color:var(--em-bright); border-left:1px solid rgba(255,255,255,.1); background:rgba(34,201,138,.07); }
.mfg-compare-row{ display:grid; grid-template-columns:1.1fr 1fr 1fr; border-top:1px solid rgba(255,255,255,.1); }
.mfg-compare-row .label{ padding:18px 22px; font-size:14.5px; font-weight:700; color:#fff; }
.mfg-compare-row .bad, .mfg-compare-row .good{ padding:18px 22px; font-size:14px; border-left:1px solid rgba(255,255,255,.1); display:flex; gap:9px; align-items:flex-start; }
.mfg-compare-row .bad{ color:rgba(255,255,255,.72); }
.mfg-compare-row .good{ color:#fff; background:rgba(34,201,138,.07); }
.mfg-compare-row .bad span, .mfg-compare-row .good span{ flex:none; font-weight:800; }
.mfg-compare-row .bad span{ color:#ff9d9d; }
.mfg-compare-row .good span{ color:var(--em-bright); }
@media (max-width:700px){
  .mfg-compare-head, .mfg-compare-row{ grid-template-columns:1fr; }
  .mfg-compare-head .bad, .mfg-compare-head .good, .mfg-compare-row .bad, .mfg-compare-row .good{ border-left:none; border-top:1px solid rgba(255,255,255,.1); }
}

/* ---- realestate-digital-marketing-services.html ---- */
/* page-specific styles — Real Estate hero visual (lead pipeline funnel bars), no reusable equivalent exists elsewhere on the site */
.re-pipeline{ display:flex; flex-direction:column; gap:11px; margin-top:16px; }
.re-pipeline-row{ display:flex; flex-direction:column; gap:6px; }
.re-pipeline-row .head{ display:flex; align-items:center; justify-content:space-between; font-size:12.5px; }
.re-pipeline-row .stage{ font-weight:700; color:var(--ink); }
.re-pipeline-row .val{ font-family:var(--font-mono); font-size:13px; font-weight:700; color:var(--emerald); }
.re-pipeline-track{ height:20px; background:var(--bg); border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.re-pipeline-fill{ height:100%; border-radius:6px; transform-origin:left; animation:zd-grow-x .9s cubic-bezier(.4,0,.2,1) both; }
/* @keyframes zd-grow-x — already defined above, deduped */
.re-pipeline-foot{ margin-top:16px; border-top:1px solid var(--line); padding-top:13px; display:flex; align-items:center; justify-content:space-between; }
/* per-row pipeline fill values (was inline width/background/animation-delay per bar) */
.re-pipeline-row:nth-child(1) .re-pipeline-fill{ width:100%; background:var(--em-bright); animation-delay:.2s; }
.re-pipeline-row:nth-child(2) .re-pipeline-fill{ width:72%; background:var(--emerald); animation-delay:.35s; }
.re-pipeline-row:nth-child(3) .re-pipeline-fill{ width:38%; background:rgba(15,158,110,.6); animation-delay:.5s; }
.re-pipeline-row:nth-child(4) .re-pipeline-fill{ width:16%; background:rgba(15,158,110,.4); animation-delay:.65s; }

/* page-specific styles: extracted from inline styles */
/* generic single-property utilities used across this page */
.real-estate-fs-52{ font-size:52px; }
.real-estate-fs-44{ font-size:44px; }
.real-estate-fs-40{ font-size:40px; }
.real-estate-fs-36{ font-size:36px; }
.real-estate-color-ink{ color:var(--ink); }
.real-estate-color-emerald{ color:var(--emerald); }
.real-estate-mt-6{ margin-top:6px; }
.real-estate-mt-14{ margin-top:14px; }
.real-estate-mt-24{ margin-top:24px; }
.real-estate-mt-32{ margin-top:32px; }
.real-estate-mt-38{ margin-top:38px; }
.real-estate-mt-44{ margin-top:44px; }
.real-estate-maxw-720{ max-width:720px; }
.real-estate-maxw-760{ max-width:760px; }
.real-estate-maxw-800{ max-width:800px; }
.real-estate-hero-stats--tight{ gap:0 16px; }

/* hero lead-pipeline card footer captions */
.real-estate-pipeline-caption{ font-size:12.5px; color:var(--muted); }
.real-estate-pipeline-qualified{ font-family:'Space Mono',monospace; font-size:11px; color:var(--emerald); font-weight:700; }

/* "the problem" dark-band section */
.real-estate-problem-section{ padding:72px 32px; }
.real-estate-problem-number{ font-family:'Space Mono',monospace; font-size:22px; font-weight:700; color:var(--em-bright); }
.real-estate-problem-title{ font-size:17px; margin-top:12px; }
.real-estate-problem-text{ font-size:13.5px; }
.real-estate-problem-summary{ text-align:center; font-size:18px; line-height:1.6; font-weight:500; margin:34px auto 0; max-width:780px; color:rgba(255,255,255,.85); }
.real-estate-problem-summary-highlight{ color:var(--em-bright); font-weight:700; }

/* services section info-cards */
.real-estate-service-card-head{ display:flex; align-items:center; gap:14px; }
.real-estate-service-card-title{ margin:0; font-size:20px; }
.real-estate-service-card-link{ display:inline-block; margin-top:18px; font-size:14.5px; }

/* "who we serve" persona info-cards */
.real-estate-persona-card-head{ display:flex; align-items:center; gap:12px; }
.real-estate-persona-card-head--flag{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.real-estate-persona-title{ font-size:18.5px; }

/* "differentiator" quality comparison section */
.real-estate-quality-section{ padding:76px 32px; }
.real-estate-quality-intro{ color:rgba(255,255,255,.72); margin-top:16px; font-size:16.5px; line-height:1.6; }
.real-estate-quality-card--bad{ background:rgba(255,80,80,.07); border-color:rgba(255,120,120,.22); }
.real-estate-quality-card--good{ background:rgba(34,201,138,.08); border-color:rgba(34,201,138,.28); }
.real-estate-quality-label--bad{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#ff9d9d; }
.real-estate-quality-label--good{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--em-bright); }
.real-estate-quality-title{ font-size:19px; margin:12px 0 0; }
.real-estate-bullet-icon--bad{ flex:none; color:#ff9d9d; font-weight:800; font-size:15px; }
.real-estate-bullet-icon--good{ flex:none; color:var(--em-bright); font-weight:800; font-size:15px; }
.real-estate-bullet-text--bad{ color:rgba(255,255,255,.82); }
.real-estate-bullet-text--good{ color:#fff; }

/* testimonials */
.real-estate-testimonial-quote{ font-size:17.5px; }
.real-estate-testimonial-tag{ align-self:flex-start; }

/* resources cards */
.real-estate-resource-card{ min-height:150px; display:flex; flex-direction:column; }
.real-estate-resource-eyebrow{ font-size:11px; }
.real-estate-resource-title{ font-size:16.5px; margin-top:14px; }
.real-estate-resource-cta{ margin-top:auto; padding-top:16px; font-size:14px; }

/* ---- restaurants-digital-marketing-services.html ---- */
/* page-specific styles: phone-collage hero visual + owned-demand compare table (Restaurants & Hospitality) */
.rh-phone-wrap{ position:relative; min-height:440px; }
.rh-phone-glow{ position:absolute; inset:-16px; background:radial-gradient(60% 60% at 70% 30%, rgba(34,201,138,.18), transparent 70%); filter:blur(8px); pointer-events:none; }
.rh-phone{ position:relative; width:288px; margin:0 auto; background:var(--em-deep); border-radius:34px; padding:12px; box-shadow:0 40px 80px -40px rgba(11,21,18,.6); }
.rh-phone__screen{ background:var(--bg); border-radius:24px; overflow:hidden; }
.rh-phone__searchbar{ background:var(--card); padding:14px 14px 10px; border-bottom:1px solid var(--line); }
.rh-phone__search{ display:flex; align-items:center; gap:9px; background:var(--bg); border:1px solid var(--line); border-radius:100px; padding:8px 13px; font-size:12.5px; color:var(--ink); font-weight:600; }
.rh-phone__search-icon{ width:13px; height:13px; border:2px solid var(--soft); border-radius:50%; position:relative; flex:none; }
.rh-phone__search-icon::after{ content:''; position:absolute; width:5px; height:2px; background:var(--soft); transform:rotate(45deg); right:-3px; bottom:0; }
.rh-phone__results{ padding:12px 14px 6px; }
.rh-phone__results-label{ font-family:var(--font-mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--soft); margin-bottom:8px; }
.rh-phone__result{ border-radius:12px; padding:11px 12px; position:relative; }
.rh-phone__result--you{ background:rgba(15,158,110,.08); border:1px solid rgba(15,158,110,.28); }
.rh-phone__result-badge{ position:absolute; top:10px; right:10px; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:var(--emerald); padding:2px 7px; border-radius:100px; font-weight:700; }
.rh-phone__result-name{ font-size:13.5px; font-weight:800; color:var(--ink); }
.rh-phone__result-rating{ display:flex; align-items:center; gap:5px; margin-top:3px; }
.rh-phone__stars{ color:#f5a623; font-size:11px; letter-spacing:1px; }
.rh-phone__rating-num{ font-size:11px; color:var(--muted); font-weight:600; }
.rh-phone__result-meta{ font-size:10.5px; color:var(--muted); margin-top:2px; }
.rh-phone__result--faded{ opacity:.55; padding:9px 12px; }
.rh-phone__result--faded .rh-phone__result-name{ font-size:12.5px; font-weight:700; color:var(--muted); }
.rh-phone__result--faded .rh-phone__result-meta{ font-size:10.5px; color:var(--soft); margin-top:1px; }

.rh-review-card{ position:absolute; top:8px; right:-6px; width:186px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:14px; box-shadow:0 24px 44px -26px rgba(11,21,18,.5); animation:zd-float 5s ease-in-out infinite; }
.rh-review-card__head{ display:flex; align-items:center; gap:8px; }
.rh-review-avatar{ width:30px; height:30px; border-radius:50%; background:repeating-linear-gradient(135deg,#e7ece9 0 6px,#eef2f0 6px 12px); flex:none; }
.rh-review-name{ font-size:11.5px; font-weight:700; line-height:1.1; }
.rh-review-stars{ color:#f5a623; font-size:10px; letter-spacing:1px; }
.rh-review-card p{ font-size:11px; line-height:1.45; color:var(--muted); margin:9px 0 0; }

.rh-reel-card{ position:absolute; bottom:0; left:-8px; width:132px; background:var(--em-deep); border:1px solid rgba(255,255,255,.14); border-radius:16px; overflow:hidden; box-shadow:0 24px 44px -26px rgba(11,21,18,.55); animation:zd-float 6s ease-in-out .8s infinite; }
.rh-reel-thumb{ height:104px; background:repeating-linear-gradient(45deg,rgba(34,201,138,.18) 0 10px,rgba(34,201,138,.06) 10px 20px); display:flex; align-items:center; justify-content:center; position:relative; }
.rh-reel-play{ width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.9); display:flex; align-items:center; justify-content:center; }
.rh-reel-play::after{ content:''; width:0; height:0; border-left:11px solid var(--em-deep); border-top:7px solid transparent; border-bottom:7px solid transparent; margin-left:3px; display:block; }
.rh-reel-tag{ position:absolute; top:8px; left:9px; font-family:var(--font-mono); font-size:8px; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.8); }
.rh-reel-body{ padding:8px 10px; }
.rh-reel-metric{ font-size:11px; font-weight:800; color:#fff; }
.rh-reel-caption{ font-size:9.5px; color:rgba(255,255,255,.6); }

/* Owned-demand comparison table (03 section) */
.rh-compare{ margin-top:36px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:18px; overflow:hidden; }
.rh-compare__head{ display:grid; grid-template-columns:1.1fr 1fr 1fr; }
.rh-compare__head-cell{ padding:18px 22px; font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.rh-compare__head-cell--rented{ color:#ff9d9d; border-left:1px solid rgba(255,255,255,.1); }
.rh-compare__head-cell--owned{ color:var(--em-bright); border-left:1px solid rgba(255,255,255,.1); background:rgba(34,201,138,.07); }
.rh-compare__row{ display:grid; grid-template-columns:1.1fr 1fr 1fr; border-top:1px solid rgba(255,255,255,.1); }
.rh-compare__cell{ padding:18px 22px; font-size:14px; }
.rh-compare__cell--label{ font-size:14.5px; font-weight:700; color:#fff; }
.rh-compare__cell--rented{ color:rgba(255,255,255,.72); border-left:1px solid rgba(255,255,255,.1); display:flex; gap:9px; align-items:flex-start; }
.rh-compare__cell--rented::before{ content:'✕'; flex:none; color:#ff9d9d; font-weight:800; }
.rh-compare__cell--owned{ color:#fff; border-left:1px solid rgba(255,255,255,.1); background:rgba(34,201,138,.07); display:flex; gap:9px; align-items:flex-start; }
.rh-compare__cell--owned::before{ content:'✓'; flex:none; color:var(--em-bright); font-weight:800; }

@media (max-width:900px){
  .rh-phone{ width:100%; max-width:288px; }
}
@media (max-width:640px){
  .rh-compare__head-cell, .rh-compare__cell{ padding:14px 12px; font-size:12.5px; }
}

/* ---- digital-marketing-services.html ---- */
/* Hero */
.services-badge-center{ margin:0 auto; }
.services-text-emerald{ color:var(--emerald); }
.services-center-text{ margin-left:auto; margin-right:auto; }
.services-dot-whatsapp{ background:#25D366; margin-right:4px; }
.services-text-ink{ color:var(--ink); }

/* Hero dashboard mock */
.services-dash-wrap{ position:relative; max-width:1080px; margin:52px auto 0; text-align:left; }
.services-dash-glow-inset{ inset:-30px 40px 20px; }
.services-dash-card-flex{ aspect-ratio:16/9; display:flex; flex-direction:column; padding:0; }
.services-dash-card-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid var(--line); }
.services-dash-head-left{ display:flex; align-items:center; gap:12px; }
.services-traffic-dots{ display:flex; gap:6px; }
.services-traffic-dot{ width:10px; height:10px; border-radius:50%; }
.services-traffic-dot:nth-child(1){ background:#e6535a; }
.services-traffic-dot:nth-child(2){ background:#f5b53d; }
.services-traffic-dot:nth-child(3){ background:#3ec46d; }
.services-dash-grid{ flex:1; display:grid; grid-template-columns:1fr 1.75fr 1fr; gap:22px; padding:24px; min-height:0; }
.services-dash-col-left{ display:flex; flex-direction:column; min-height:0; }
.services-label-sm{ font-size:10.5px; }
.services-funnel-bars{ display:flex; flex-direction:column; gap:9px; margin-top:14px; flex:1; justify-content:center; }
.services-funnel-bar{ border-radius:9px; padding:11px 13px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#fff; }
.services-funnel-bar:nth-child(1){ width:100%; background:var(--em-deep); animation:zd-grow .9s cubic-bezier(.3,.9,.3,1) both .15s; }
.services-funnel-bar:nth-child(2){ width:80%; background:#0d7a56; animation:zd-grow .9s cubic-bezier(.3,.9,.3,1) both .28s; }
.services-funnel-bar:nth-child(3){ width:66%; background:var(--emerald); animation:zd-grow .9s cubic-bezier(.3,.9,.3,1) both .41s; }
.services-funnel-bar:nth-child(4){ width:52%; background:var(--em-bright); color:var(--em-deep); animation:zd-grow .9s cubic-bezier(.3,.9,.3,1) both .54s; }
.services-funnel-bar-label{ font-weight:800; font-size:13.5px; }
.services-funnel-bar-value{ font-family:'Space Mono',monospace; font-size:11px; opacity:.85; }
.services-dash-col-mid{ display:flex; flex-direction:column; min-height:0; border-left:1px solid var(--line); border-right:1px solid var(--line); padding:0 22px; }
.services-revenue-head{ display:flex; align-items:flex-end; justify-content:space-between; }
.services-revenue-figure{ font-size:34px; font-weight:800; letter-spacing:-.03em; line-height:1; margin-top:6px; }
.services-revenue-delta{ font-size:12.5px; font-weight:700; color:var(--emerald); background:rgba(15,158,110,.1); padding:4px 9px; border-radius:7px; }
.services-revenue-chart-wrap{ position:relative; flex:1; margin-top:14px; min-height:0; }
.services-revenue-svg{ width:100%; height:100%; display:block; }
.services-revenue-area{ animation:zd-fade 1s ease .7s forwards; opacity:0; }
.services-revenue-line{ stroke-dasharray:900; stroke-dashoffset:900; animation:zd-draw 2s cubic-bezier(.4,0,.2,1) .3s forwards; }
.services-revenue-months{ display:flex; justify-content:space-between; font-family:'Space Mono',monospace; font-size:9.5px; color:var(--soft); margin-top:8px; }
.services-dash-col-right{ display:flex; flex-direction:column; gap:11px; min-height:0; justify-content:center; }
.services-dash-channels{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:14px 24px; border-top:1px solid var(--line); background:var(--bg); }
.services-channels-label{ font-size:10.5px; margin-right:4px; }
.services-tag-pill{ font-family:'Space Mono',monospace; font-size:11px; color:var(--emerald); background:rgba(15,158,110,.1); border:1px solid rgba(15,158,110,.2); padding:5px 11px; border-radius:100px; }

/* Sticky chip nav */
.services-chip-sticky{ position:sticky; top:70px; z-index:55; background:rgba(246,248,247,.9); backdrop-filter:blur(12px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.services-chip-sticky-inner{ padding:14px 32px; }
.services-chip-row-scroll{ flex-wrap:nowrap; overflow-x:auto; }

/* Full-stack section + growth funnel card */
.services-fullstack-grid{ align-items:center; gap:56px; }
.services-h2-custom{ font-size:38px; line-height:1.08; letter-spacing:-.025em; font-weight:800; margin:14px 0 0; }
.services-lead-para{ font-size:16.5px; line-height:1.6; color:var(--muted); margin:18px 0 0; }
.services-lead-para-2{ font-size:16.5px; line-height:1.6; color:var(--muted); margin:14px 0 0; }
.services-funnel-card-shadow{ box-shadow:0 30px 70px -40px rgba(11,21,18,.35); }
.services-funnel-card-title{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--soft); text-align:center; }
.services-funnel-tags{ display:flex; flex-wrap:wrap; gap:7px; justify-content:center; margin-top:16px; }
.services-tag-pill--sm{ font-family:'Space Mono',monospace; font-size:11px; color:var(--emerald); background:rgba(15,158,110,.1); border:1px solid rgba(15,158,110,.2); padding:5px 10px; border-radius:100px; }
.services-funnel-arrow-1{ display:flex; justify-content:center; color:var(--soft); margin:8px 0 4px; }
.services-funnel-steps{ display:flex; flex-direction:column; align-items:center; gap:8px; }
.services-funnel-step{ border-radius:10px; padding:14px 12px; text-align:center; font-weight:800; font-size:15px; color:#fff; }
.services-funnel-step:nth-child(1){ width:100%; background:var(--em-deep); }
.services-funnel-step:nth-child(2){ width:82%; background:#0d7a56; }
.services-funnel-step:nth-child(3){ width:64%; background:var(--emerald); }
.services-funnel-step:nth-child(4){ width:46%; background:var(--em-bright); color:var(--em-deep); }
.services-funnel-arrow-2{ display:flex; justify-content:center; color:var(--soft); margin:6px 0 8px; }
.services-funnel-footer-label{ text-align:center; font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--emerald); font-weight:700; }

/* Section heading / grid spacing helpers (used across multiple sections on this page) */
h2.services-h2-44{ font-size:44px; }
h2.services-h2-40{ font-size:40px; }
.services-mt-38{ margin-top:38px; }
.services-max-760{ max-width:760px; }
.services-mt-24{ margin-top:24px; }
.services-mt-44{ margin-top:44px; }
.services-mt-auto{ margin-top:auto; }
.services-pricing-grid{ margin-top:38px; align-items:stretch; }

/* Service listing cards (8x, section 01) */
.services-card-anchor{ scroll-margin-top:150px; }
.services-card-icon-row{ display:flex; align-items:center; gap:14px; }
h3.services-card-title{ margin:0; font-size:22px; }
p.services-card-desc{ font-size:15.5px; }
.services-card-cta{ display:inline-block; margin-top:18px; font-size:14.5px; }

/* Who it's for cards (section 02) */
h3.services-fs-20{ font-size:20px; }
p.services-fs-15{ font-size:15px; }

/* Methodology dark band (section 03) */
.services-darkband-pad{ padding:72px 32px; }
.services-loop-intro{ color:rgba(255,255,255,.7); margin-top:14px; font-size:16.5px; }
.services-text-white{ color:#fff; }
.services-methodology-num{ width:46px; height:46px; border-radius:50%; background:var(--em-bright); color:var(--em-deep); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:17px; }
.services-method-title{ font-size:19px; color:#fff; margin-top:16px; }
.services-method-desc{ font-size:14px; color:rgba(255,255,255,.66); margin-top:8px; }

/* Pricing / engagement (section 04) */
.services-cta-center-28{ text-align:center; margin-top:28px; }

/* Results (section 05) */
.metric.services-metric-52{ font-size:52px; }
.headline.services-fs-16-5{ font-size:16.5px; }
.services-cta-center-32{ text-align:center; margin-top:32px; }

/* Why us (section 06) */
h3.services-whyus-title{ font-size:17.5px; }

/* Footer */
.services-footer-address{ margin-top:6px; }

/* ---- social-media-marketing-agency.html ---- */
/* -- hero copy accents -- */
  .social-media-emerald-text{ color:var(--emerald); }
  .social-media-ink-text{ color:var(--ink); }
  .social-media-hero-inline-stats--bordered{ justify-content:flex-start; border-top:1px solid var(--line); padding-top:24px; margin-top:28px; text-align:left; }

  /* -- hero phone-mockup visual -- */
  .social-media-hero-visual{ animation-delay:120ms; position:relative; height:520px; }
  .social-media-hero-glow{ position:absolute; inset:0; background:radial-gradient(60% 55% at 55% 40%,rgba(34,201,138,.2),transparent 72%); filter:blur(10px); }

  /* phone B — LinkedIn post card (top-right) */
  .social-media-phone-b{ position:absolute; top:36px; right:6px; width:210px; animation:sm-floatB 6s ease-in-out infinite; }
  .social-media-phone-b-frame{ background:#0b1512; border-radius:30px; padding:9px; box-shadow:0 30px 60px -30px rgba(11,21,18,.6); }
  .social-media-phone-b-screen{ background:#fff; border-radius:23px; overflow:hidden; }
  .social-media-phone-b-notch{ background:var(--em-deep); height:26px; display:flex; align-items:center; justify-content:center; }
  .social-media-phone-b-notch-pill{ width:46px; height:5px; border-radius:3px; background:rgba(255,255,255,.25); }
  .social-media-phone-b-body{ padding:14px; }
  .social-media-phone-b-profile-row{ display:flex; align-items:center; gap:8px; }
  .social-media-phone-b-avatar{ width:30px; height:30px; border-radius:50%; background:repeating-linear-gradient(135deg,#e7ece9 0 6px,#eef2f0 6px 12px); }
  .social-media-phone-b-name-line{ height:7px; width:70px; background:#dfe6e2; border-radius:4px; }
  .social-media-phone-b-sub-line{ height:6px; width:44px; background:#eef2f0; border-radius:4px; margin-top:5px; }
  .social-media-phone-b-lines{ margin-top:12px; display:flex; flex-direction:column; gap:6px; }
  .social-media-phone-b-line{ height:7px; background:#eef2f0; border-radius:4px; }
  .social-media-phone-b-lines > .social-media-phone-b-line:nth-child(1){ width:100%; }
  .social-media-phone-b-lines > .social-media-phone-b-line:nth-child(2){ width:88%; }
  .social-media-phone-b-lines > .social-media-phone-b-line:nth-child(3){ width:94%; }
  .social-media-phone-b-banner{ margin-top:12px; height:78px; border-radius:10px; background:linear-gradient(135deg,#0d7a56,#22c98a); display:flex; align-items:flex-end; padding:10px; }
  .social-media-phone-b-banner-label{ font-family:var(--font-mono); color:#fff; font-size:10px; font-weight:700; }
  .social-media-phone-stats-row{ display:flex; justify-content:space-between; margin-top:10px; font-family:var(--font-mono); font-size:9px; color:var(--soft); }
  .social-media-phone-caption{ text-align:center; margin-top:10px; }
  .social-media-phone-caption-pill{ font-family:var(--font-mono); font-size:10px; color:var(--emerald); background:var(--card); border:1px solid var(--line); padding:4px 9px; border-radius:100px; }

  /* phone A — Reels card (top-left) */
  .social-media-phone-a{ position:absolute; top:0; left:10px; width:236px; z-index:2; animation:sm-floatA 6s ease-in-out infinite; }
  .social-media-phone-a-frame{ background:#0b1512; border-radius:34px; padding:10px; box-shadow:0 40px 80px -34px rgba(11,21,18,.65); }
  .social-media-phone-a-screen{ background:#000; border-radius:26px; overflow:hidden; position:relative; }
  .social-media-phone-a-reel{ aspect-ratio:9/16; background:linear-gradient(160deg,#06251c 0%,#0d7a56 55%,#22c98a 100%); position:relative; }
  .social-media-phone-a-topbar{ position:absolute; top:14px; left:14px; right:14px; display:flex; align-items:center; justify-content:space-between; color:#fff; }
  .social-media-phone-a-topbar-label{ font-family:var(--font-mono); font-size:11px; font-weight:700; }
  .social-media-phone-a-chevron{ font-size:14px; }
  .social-media-phone-a-play{ position:absolute; left:50%; top:44%; transform:translate(-50%,-50%); width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.18); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; }
  .social-media-phone-a-play-triangle{ border-left:16px solid #fff; border-top:10px solid transparent; border-bottom:10px solid transparent; margin-left:4px; }
  .social-media-phone-a-stats{ position:absolute; right:12px; bottom:70px; display:flex; flex-direction:column; gap:16px; align-items:center; color:#fff; font-family:var(--font-mono); font-size:10px; }
  .social-media-phone-a-stat-item{ text-align:center; }
  .social-media-phone-a-caption-block{ position:absolute; left:14px; right:60px; bottom:16px; color:#fff; }
  .social-media-phone-a-handle-row{ display:flex; align-items:center; gap:7px; }
  .social-media-phone-a-handle-avatar{ width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.3); }
  .social-media-phone-a-handle-name{ font-size:11px; font-weight:700; }
  .social-media-phone-a-caption-line-1{ height:6px; width:80%; background:rgba(255,255,255,.4); border-radius:4px; margin-top:8px; }
  .social-media-phone-a-caption-line-2{ height:6px; width:60%; background:rgba(255,255,255,.3); border-radius:4px; margin-top:5px; }

  /* phone C — Carousel card (bottom-right) */
  .social-media-phone-c{ position:absolute; bottom:6px; right:24px; width:150px; z-index:3; background:var(--card); border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 50px -28px rgba(11,21,18,.5); overflow:hidden; animation:sm-floatB 7s ease-in-out infinite; }
  .social-media-phone-c-image{ aspect-ratio:1; background:repeating-linear-gradient(135deg,#e7ece9 0 10px,#eef2f0 10px 20px); display:flex; align-items:flex-end; padding:10px; }
  .social-media-phone-c-image-label{ font-family:var(--font-mono); font-size:9px; color:var(--soft); font-weight:700; }
  .social-media-phone-c-footer{ padding:9px 11px; display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:9px; color:var(--soft); }

  /* -- "the problem" dark band -- */
  .social-media-problem-band{ padding:72px 32px; text-align:center; }
  .social-media-problem-heading{ max-width:640px; margin-left:auto; margin-right:auto; }
  .social-media-problem-copy{ font-size:17px; line-height:1.65; margin:20px auto 0; max-width:680px; }

  /* -- grid margin-top utility modifiers (page-specific) -- */
  .social-media-grid-mt38{ margin-top:38px; }
  .social-media-grid-mt40{ margin-top:40px; }
  .social-media-grid-mt32{ margin-top:32px; }
  .social-media-grid-stretch{ align-items:stretch; }

  /* -- services cards -- */
  .social-media-card-header-row{ display:flex; align-items:center; gap:14px; }
  .social-media-card-header-title{ margin:0; font-size:21px; }
  .social-media-btn-link-inline{ display:inline-block; margin-top:16px; font-size:13.5px; }

  /* -- platforms cards -- */
  .social-media-info-card-relative{ position:relative; }
  .social-media-tag-corner{ position:absolute; top:16px; right:16px; }
  .social-media-h3-flush{ margin-top:0; }

  /* -- results cards -- */
  .social-media-result-metric{ font-size:38px; font-weight:800; letter-spacing:-.03em; margin-top:22px; }

  /* -- why us -- */
  .social-media-section-head-wide{ max-width:820px; }
  .social-media-why-us-title{ font-size:17.5px; }

  /* -- pricing -- */
  .social-media-plans-note{ text-align:center; font-size:14px; color:var(--muted); margin-top:22px; }
  .social-media-plans-cta-wrap{ text-align:center; margin-top:18px; }

  /* -- content showcase -- */
  .social-media-showcase-intro{ text-align:center; }
  .social-media-eyebrow-soft{ color:var(--soft); }
  .social-media-showcase-grad-a{ background:linear-gradient(160deg,#0d7a56,#22c98a); }
  .social-media-showcase-grad-b{ background:linear-gradient(160deg,#06251c,#0d7a56); }
  .social-media-showcase-grad-c{ background:linear-gradient(160deg,#134e4a,#0f9e6e); }
  .social-media-showcase-caption{ text-align:center; margin-top:24px; font-size:13.5px; color:var(--soft); font-family:var(--font-mono); }

  /* -- resources cards -- */
  .social-media-resources-heading{ font-size:36px; }
  .social-media-resource-card{ min-height:150px; display:flex; flex-direction:column; }
  .social-media-resource-eyebrow{ font-size:11px; }
  .social-media-resource-title{ font-size:15px; margin-top:14px; }
  .social-media-resource-link{ margin-top:auto; padding-top:16px; font-size:13.5px; }

  /* -- footer -- */
  .social-media-footer-address{ margin-top:6px; }

  @keyframes sm-floatA{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
  @keyframes sm-floatB{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(10px); } }
  .showcase-grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:90px; gap:14px; margin-top:26px; }
  .showcase-tile{ border-radius:16px; overflow:hidden; border:1px solid var(--line); position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:14px; color:#fff; }
  .showcase-tile .top-row{ display:flex; align-items:center; justify-content:space-between; }
  .showcase-tile .type-tag{ font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.9); background:rgba(0,0,0,.28); padding:4px 9px; border-radius:100px; }
  .showcase-tile .play-btn{ width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.22); display:flex; align-items:center; justify-content:center; flex:none; }
  .showcase-tile .play-btn span{ border-left:8px solid #fff; border-top:5px solid transparent; border-bottom:5px solid transparent; margin-left:2px; display:block; }
  .showcase-tile .metric{ font-weight:800; font-size:20px; letter-spacing:-.02em; text-shadow:0 1px 8px rgba(0,0,0,.3); }
  .showcase-tile .metric-label{ color:rgba(255,255,255,.85); font-size:11.5px; font-weight:600; }
  .showcase-tile--span2{ grid-row: span 6; }
  .showcase-tile--span1{ grid-row: span 3; }
  .showcase-tile--photo{ background-size:cover; background-position:center; }
  @media (max-width:960px){ .showcase-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:640px){ .showcase-grid{ grid-template-columns:1fr 1fr; } }

/* ---- website-development-company.html ---- */
/* ---- Hero copy ---- */
.web-development-hero-title{ font-size:50px }
.web-development-emerald-text{ color:var(--emerald) }
.web-development-hero-stats{ justify-content:flex-start; border-top:1px solid var(--line); padding-top:24px; margin-top:28px; text-align:left }
.web-development-stat-figure{ color:var(--ink) }

/* ---- Hero device mockup (bespoke visual, no reusable shared component) ---- */
.web-development-hero-mockup{ animation-delay:120ms; position:relative; height:440px }
.web-development-hero-mockup-glow{ position:absolute; inset:0; background:radial-gradient(60% 55% at 55% 45%,rgba(34,201,138,.2),transparent 72%); filter:blur(10px) }
.web-development-hero-mockup-laptop{ position:absolute; top:20px; left:0; width:400px }
.web-development-hero-mockup-laptop-frame{ background:#0b1512; border-radius:14px; padding:8px 8px 0; box-shadow:0 34px 70px -34px rgba(11,21,18,.6) }
.web-development-hero-mockup-dots{ display:flex; gap:5px; padding:5px 6px 8px }
.web-development-hero-mockup-dot--red{ width:8px; height:8px; border-radius:50%; background:#e6535a }
.web-development-hero-mockup-dot--yellow{ width:8px; height:8px; border-radius:50%; background:#f5b53d }
.web-development-hero-mockup-dot--green{ width:8px; height:8px; border-radius:50%; background:#3ec46d }
.web-development-hero-mockup-screen--laptop{ background:#fff; border-radius:8px 8px 0 0; overflow:hidden }
.web-development-hero-mockup-navbar--laptop{ height:34px; background:var(--em-deep); display:flex; align-items:center; justify-content:space-between; padding:0 12px }
.web-development-hero-mockup-logo--laptop{ width:44px; height:7px; background:var(--em-bright); border-radius:4px }
.web-development-hero-mockup-navlinks{ display:flex; gap:7px }
.web-development-hero-mockup-navlink{ width:22px; height:6px; background:rgba(255,255,255,.35); border-radius:3px }
.web-development-hero-mockup-navcta{ width:30px; height:14px; background:var(--em-bright); border-radius:5px }
.web-development-hero-mockup-content--laptop{ padding:16px; background:linear-gradient(160deg,#f6f8f7,#eef4f1) }
.web-development-hero-mockup-heading--laptop{ height:12px; width:70%; background:#0b1512; border-radius:5px }
.web-development-hero-mockup-text1--laptop{ height:8px; width:88%; background:#c9d3ce; border-radius:4px; margin-top:8px }
.web-development-hero-mockup-text2--laptop{ height:8px; width:60%; background:#dfe6e2; border-radius:4px; margin-top:5px }
.web-development-hero-mockup-ctarow{ display:flex; gap:8px; margin-top:12px }
.web-development-hero-mockup-btn-primary{ width:80px; height:22px; background:var(--emerald); border-radius:6px }
.web-development-hero-mockup-btn-outline{ width:60px; height:22px; background:#fff; border:1px solid var(--line); border-radius:6px }
.web-development-hero-mockup-tiles3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin-top:14px }
.web-development-hero-mockup-tile-lg{ height:44px; background:#fff; border:1px solid var(--line); border-radius:8px }
.web-development-hero-mockup-hinge{ height:9px; width:76px; background:#0b1512; border-radius:0 0 6px 6px; margin:0 auto }
.web-development-hero-mockup-base{ width:120px; height:6px; background:#0b1512; border-radius:4px; margin:2px auto 0 }
.web-development-hero-mockup-tablet{ position:absolute; bottom:0; right:96px; width:150px; z-index:2; animation:zd-float 6s ease-in-out infinite }
.web-development-hero-mockup-tablet-frame{ background:#0b1512; border-radius:16px; padding:9px; box-shadow:0 30px 60px -30px rgba(11,21,18,.6) }
.web-development-hero-mockup-screen--tablet{ background:#fff; border-radius:9px; overflow:hidden }
.web-development-hero-mockup-navbar--tablet{ height:22px; background:var(--em-deep); display:flex; align-items:center; padding:0 8px }
.web-development-hero-mockup-logo--tablet{ width:30px; height:5px; background:var(--em-bright); border-radius:3px }
.web-development-hero-mockup-content--tablet{ padding:10px; background:linear-gradient(160deg,#f6f8f7,#eef4f1) }
.web-development-hero-mockup-heading--tablet{ height:8px; width:80%; background:#0b1512; border-radius:4px }
.web-development-hero-mockup-text--tablet{ height:6px; width:95%; background:#c9d3ce; border-radius:3px; margin-top:6px }
.web-development-hero-mockup-cta--tablet{ display:block; width:56px; height:16px; background:var(--emerald); border-radius:5px; margin-top:9px }
.web-development-hero-mockup-tiles2{ display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:10px }
.web-development-hero-mockup-tile-sm{ height:32px; background:#fff; border:1px solid var(--line); border-radius:6px }
.web-development-hero-mockup-phone{ position:absolute; bottom:6px; right:0; width:92px; z-index:3; animation:zd-float 7s ease-in-out infinite }
.web-development-hero-mockup-phone-frame{ background:#0b1512; border-radius:16px; padding:6px; box-shadow:0 26px 54px -28px rgba(11,21,18,.65) }
.web-development-hero-mockup-screen--phone{ background:#fff; border-radius:11px; overflow:hidden }
.web-development-hero-mockup-navbar--phone{ height:16px; background:var(--em-deep); display:flex; align-items:center; justify-content:center }
.web-development-hero-mockup-logo--phone{ width:22px; height:4px; background:var(--em-bright); border-radius:3px }
.web-development-hero-mockup-content--phone{ padding:8px; background:linear-gradient(160deg,#f6f8f7,#eef4f1) }
.web-development-hero-mockup-heading--phone{ height:6px; width:85%; background:#0b1512; border-radius:3px }
.web-development-hero-mockup-text--phone{ height:5px; width:70%; background:#c9d3ce; border-radius:3px; margin-top:5px }
.web-development-hero-mockup-cta--phone{ display:block; width:100%; height:14px; background:var(--emerald); border-radius:5px; margin-top:8px }
.web-development-hero-mockup-tile--phone{ display:block; width:100%; height:24px; background:#fff; border:1px solid var(--line); border-radius:6px; margin-top:7px }
.web-development-hero-mockup-badge-wrap{ position:absolute; top:0; right:0 }
.web-development-hero-mockup-badge{ font-family:var(--font-mono); font-size:10px; color:var(--emerald); background:var(--card); border:1px solid var(--line); padding:5px 10px; border-radius:100px }

/* ---- Problem (dark band) ---- */
.web-development-problem-wrap{ padding:72px 32px; text-align:center }
.web-development-problem-title{ max-width:680px; margin-left:auto; margin-right:auto }
.web-development-problem-text{ font-size:17px; line-height:1.65; margin:20px auto 0; max-width:680px }

/* ---- Shared grid-spacing utilities (reused across several sections) ---- */
.web-development-grid-mt{ margin-top:38px }
.web-development-grid-mt-32{ margin-top:32px }
.web-development-grid-mt-36{ margin-top:36px }
.web-development-grid-mt-40{ margin-top:40px }
.web-development-mt-6{ margin-top:6px }

/* ---- Services ---- */
.web-development-info-card--highlight{ background:linear-gradient(180deg,#ffffff,rgba(15,158,110,.05)); border-color:rgba(15,158,110,.35) }
.web-development-card-icon-row{ display:flex; align-items:center; gap:14px }
.web-development-service-title{ margin:0; font-size:21px }
.web-development-core-service-tag{ display:inline-block; margin-top:14px }
.web-development-landing-link{ display:inline-block; margin-top:16px; font-size:13.5px }

/* ---- Marketing-agency difference (dark box) ---- */
.web-development-difference-box{ background:var(--em-deep); color:#fff; border-radius:24px; padding:52px 44px }
.web-development-difference-intro{ max-width:760px }
.web-development-difference-title{ font-size:40px; line-height:1.06; letter-spacing:-.025em; font-weight:800; margin:14px 0 0 }
.web-development-difference-text{ font-size:16.5px; color:rgba(255,255,255,.72); line-height:1.6; margin:16px 0 0 }
.web-development-dark-card-link{ text-decoration:none; display:block; transition:border-color .25s,background .25s }
.web-development-row-between{ display:flex; align-items:center; justify-content:space-between }
.web-development-dark-card-tag{ font-family:var(--font-mono); font-size:11px; color:var(--em-bright) }
.web-development-dark-card-title{ font-size:19px; margin:16px 0 0 }
.web-development-dark-card-desc{ font-size:14.5px; margin:8px 0 0 }

/* ---- Stack ---- */
.web-development-stack-title{ margin-top:0 }
.web-development-stack-eyebrow{ font-size:10.5px; margin-top:8px }

/* ---- Portfolio ---- */
.web-development-portfolio-card{ padding:0; overflow:hidden }
.web-development-portfolio-thumb{ aspect-ratio:16/8; position:relative; padding:18px; display:flex; flex-direction:column; justify-content:space-between }
.web-development-portfolio-thumb--manufacturing{ background:linear-gradient(150deg,#06251c,#0d7a56) }
.web-development-portfolio-thumb--d2c{ background:linear-gradient(150deg,#0d7a56,#22c98a) }
.web-development-portfolio-thumb--saas{ background:linear-gradient(150deg,#134e4a,#0f9e6e) }
.web-development-portfolio-thumb--realestate{ background:linear-gradient(150deg,#0b3b2c,#12b07c) }
.web-development-portfolio-category-pill{ font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.28); padding:4px 9px; border-radius:100px }
.web-development-portfolio-tech-pill{ font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--em-deep); background:var(--em-bright); font-weight:700; padding:4px 9px; border-radius:100px }
.web-development-portfolio-bars{ display:flex; gap:6px; align-items:flex-end }
.web-development-portfolio-bar-lg{ width:64px; height:40px; background:rgba(255,255,255,.9); border-radius:5px }
.web-development-portfolio-bar-md{ width:26px; height:32px; background:rgba(255,255,255,.7); border-radius:4px }
.web-development-portfolio-bar-sm{ width:16px; height:24px; background:rgba(255,255,255,.55); border-radius:3px }
.web-development-portfolio-mockup{ flex:1; display:flex; align-items:center; margin:6px 0 -4px }
.web-development-portfolio-mockup svg{ width:100%; height:100%; display:block }
.web-development-portfolio-card-body{ padding:24px 26px }
.web-development-portfolio-metric{ font-size:34px; font-weight:800; letter-spacing:-.03em; line-height:1 }
.web-development-portfolio-metric-label{ font-size:15.5px; font-weight:700; margin-top:6px }
.web-development-portfolio-desc{ font-size:14px; color:var(--muted); line-height:1.5; margin:8px 0 0 }
.web-development-portfolio-links{ display:flex; gap:18px; margin-top:16px }
.web-development-casestudy-link{ font-size:14px }
.web-development-livesite-link{ text-decoration:none; color:var(--muted); font-weight:700; font-size:14px }

/* ---- Why us ---- */
.web-development-whyus-head{ max-width:820px }
.web-development-whyus-title{ font-size:17.5px }

/* ---- Pricing ---- */
.web-development-pricing-grid{ margin-top:38px; align-items:stretch }
.web-development-pricing-note{ text-align:center; font-size:14px; color:var(--muted); margin-top:22px; max-width:820px; margin-left:auto; margin-right:auto; line-height:1.6 }
.web-development-pricing-cta-wrap{ text-align:center; margin-top:18px }

/* ---- Resources ---- */
.web-development-resources-title{ font-size:36px }
.web-development-resource-card{ min-height:150px; display:flex; flex-direction:column }
.web-development-resource-eyebrow{ font-size:11px }
.web-development-resource-title{ font-size:15px; margin-top:14px }
.web-development-resource-readmore{ margin-top:auto; padding-top:16px; font-size:13.5px }

/* ==== Responsive overrides (moved to end so they win the cascade over==== */
/* ==== unconditional utility classes of equal specificity)          ==== */

/* -------------------- Responsive -------------------- */
@media (max-width:960px){
  .nav{
    position:absolute; top:70px; left:0; right:0; background:var(--bg); flex-direction:column;
    align-items:flex-start; gap:0; padding:8px 32px 18px; border-bottom:1px solid var(--line);
    box-shadow:0 20px 30px -20px rgba(11,21,18,.2);
    max-height:calc(100vh - 70px); overflow-y:auto; -webkit-overflow-scrolling:touch;
    display:none;
  }
  .nav a{ padding:12px 0; width:100%; }
  .nav a.nav-cta{ display:flex; justify-content:center; width:100%; margin-top:16px; color:#fff; padding:15px 26px; }
  .site-header.is-open .nav{ display:flex; }
  .nav-toggle{ display:inline-flex; }

  .nav-item{ flex-wrap:wrap; width:100%; justify-content:space-between; gap:0; }
  .nav-item > a{ width:auto; }
  .nav-caret{ width:40px; height:40px; }
  .nav-submenu{
    position:static; grid-template-columns:1fr; min-width:0; width:100%;
    background:none; border:none; box-shadow:none; padding:0 0 10px 12px;
    display:none; opacity:1; visibility:visible; pointer-events:auto; transform:none;
  }
  .nav-item.is-open .nav-submenu,
  .nav-item:focus-within .nav-submenu{ display:grid; transform:none; }
  .nav-submenu a{ padding:8px 0; }
  .nav-submenu__all{ border-top-color:var(--line); }
  .nav-submenu::before, .nav-submenu::after{ display:none; }

  .hero{ grid-template-columns:1fr; }
  .grid-2{ grid-template-columns:1fr; }
  .grid-3{ grid-template-columns:1fr 1fr; }
  .grid-4{ grid-template-columns:1fr 1fr; }
  .process-grid{ grid-template-columns:1fr 1fr; }
  .process-line{ display:none; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .dash-card__tiles{ grid-template-columns:1fr; }
}

@media (max-width:640px){
  .hero h1{ font-size:32px; line-height:1.16; }
  .hero--center h1{ font-size:30px; line-height:1.16; }
  .section-head h2{ font-size:32px; }
  .grid-3{ grid-template-columns:1fr; }
  .grid-4{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .cta-grid{ grid-template-columns:1fr; }
  .stats-band .grid{ grid-template-columns:1fr 1fr; }
  .badge{ white-space:normal; }
  .cta-section--center{ padding:52px 24px; border-radius:22px; box-shadow:6px 6px 0 0 var(--em-bright), 0 30px 60px -30px rgba(6,37,28,.6); }
  .cta-section--center h2{ font-size:32px; }
}

/* Responsive additions for pillar-page components */
@media (max-width:960px){
  .grid-5{ grid-template-columns:1fr 1fr; }
  .grid-6{ grid-template-columns:1fr 1fr; }
  .field-row{ grid-template-columns:1fr; }
  .compare-grid{ grid-template-columns:1fr; }
  .spotlight{ grid-template-columns:1fr; }
  .methodology{ grid-template-columns:1fr; }
  .teaser-card{ grid-template-columns:1fr; text-align:center; }
  .timeline-line{ display:none; }
}
@media (max-width:640px){
  .grid-5{ grid-template-columns:1fr; }
  .grid-6{ grid-template-columns:1fr 1fr; }
  .tier-grid{ grid-template-columns:1fr; }
  .contact-interest-grid{ grid-template-columns:1fr; }
}

/* Page-specific mobile fixes */
@media (max-width:960px){
  .timeline{ grid-template-columns:1fr 1fr; }
  .grid-cols-1_1fr-0_9fr{ grid-template-columns:1fr; }
  .ai-automation-principle-grid{ grid-template-columns:1fr; }
  .services-chip-sticky{ display:none; }
  .case-studies-filter-bar{ display:none; }
}
@media (max-width:640px){
  .timeline{ grid-template-columns:1fr; }
  .web-development-hero-mockup{ transform:scale(.72); transform-origin:top left; }
  .fs-62px{ font-size:42px; }
}
