.lbl-m{color:var(--service-accent)}
.lbl-light{color:rgba(255,255,255,.38)}
.hero-sp{position:relative;z-index:1;padding:calc(148px + var(--sat)) 0 94px;overflow-x:hidden;overflow-x:clip;overflow-y:visible}
.hero-sp-inner{max-width:1120px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:start}
.hero-sp-eyebrow{margin-bottom:20px}
.hero-sp-h1{font-size:clamp(44px,6.8vw,82px);font-weight:900;letter-spacing:-.055em;line-height:.96;margin-bottom:22px}
.hero-sp-h1 em{font-style:normal;color:var(--service-accent)}
.hero-sp-sub{font-size:clamp(16px,1.9vw,18.5px);line-height:1.72;color:var(--ink2);margin-bottom:34px;max-width:52ch}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hero-trust{margin-top:18px;font-size:13px;color:var(--ink2)}
.hero-trust a{color:var(--service-accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hero-sp-right{position:sticky;top:120px;align-self:start}
.hero-cards{display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(18px);transition:opacity .9s .3s cubic-bezier(.16,1,.3,1),transform .9s .3s cubic-bezier(.16,1,.3,1)}
.hero-cards.on{opacity:1;transform:none}
.hcard{background:#fff;border-radius:22px;padding:26px 28px;border:1px solid var(--bdr);box-shadow:0 4px 24px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s}
.hcard:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.1)}
.hcard-num{font-size:clamp(30px,4vw,44px);font-weight:900;letter-spacing:-.055em;line-height:1;margin-bottom:8px}
.hcard-num em{font-style:normal;color:var(--service-accent);font-size:clamp(17px,2.2vw,28px);letter-spacing:-.035em;text-transform:uppercase}
.hcard-label{font-size:13px;color:var(--ink2);line-height:1.5;font-weight:500}
.hcard-label strong{display:block;color:var(--ink);font-size:14.5px;line-height:1.25;font-weight:850;letter-spacing:-.025em}
.hcard-label span{display:block;margin-top:6px;color:var(--ink2);font-size:12.6px;line-height:1.55;font-weight:500}
.hcard-feat{background:var(--ink);border-color:var(--ink)}
.hcard-feat .hcard-num,.hcard-feat .hcard-label{color:#fff}
.hcard-feat .hcard-label{color:rgba(255,255,255,.5)}
.hcard-feat .hcard-label strong{color:#fff}
.hcard-feat .hcard-label span{color:rgba(255,255,255,.56)}
body[data-service-theme="strategy-growth"] .hcard-feat .hcard-num em{color:#fff}
.hcard-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.overview{padding:108px 0}
.overview-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:76px;align-items:start}
.ov-sticky{position:sticky;top:120px;align-self:start}
.ov-h{font-size:clamp(30px,4vw,52px);font-weight:900;letter-spacing:-.05em;line-height:1.02;margin:14px 0 20px}
.ov-h em{font-style:normal;color:var(--service-accent)}
.ov-body{font-size:16.5px;line-height:1.76;color:var(--ink2)}
.ov-body + .ov-body{margin-top:16px}
.ov-cta{margin-top:28px}
.service-card{background:#fff;border:1px solid var(--bdr);border-radius:28px;box-shadow:0 8px 48px rgba(0,0,0,.07);overflow:hidden}
.service-card-top{padding:34px 34px 28px;border-bottom:1px solid var(--bdr)}
.service-card-top h3{font-size:clamp(24px,3vw,36px);font-weight:900;letter-spacing:-.05em;line-height:1.05;margin:12px 0 12px}
.service-card-top p{font-size:16px;line-height:1.72;color:var(--ink2)}
.service-list{background:var(--card);padding:18px}
.service-item{background:#fff;border:1px solid var(--bdr);border-radius:16px;padding:18px 20px;display:flex;gap:14px;align-items:flex-start}
.service-item + .service-item{margin-top:10px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--service-accent);margin-top:5px;flex-shrink:0}
body[data-service-theme] main .dot[style]{background:var(--service-accent)!important}
.service-item h4{font-size:14px;font-weight:800;letter-spacing:-.025em;margin-bottom:4px}
.service-item p{font-size:16px;line-height:1.68;color:var(--ink2)}
.detail-band{background:var(--ink);border-radius:40px;margin:0 16px;padding:94px 0;color:#fff}
.detail-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:start}
.detail-grid>div:first-child{position:sticky;top:120px;align-self:start}
.detail-h{font-size:clamp(30px,4vw,52px);font-weight:900;letter-spacing:-.048em;line-height:1.04;color:#fff;margin:14px 0 18px}
.detail-h em{font-style:normal;color:var(--service-accent)}
.detail-sub{font-size:16.5px;line-height:1.76;color:rgba(255,255,255,.46)}
.accord{border-top:1px solid rgba(255,255,255,.1)}
.acc-item{border-bottom:1px solid rgba(255,255,255,.1)}
.acc-btn{width:100%;border:0;background:transparent;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;color:#fff;font-family:var(--f);cursor:pointer}
.acc-title{font-size:16.5px;font-weight:800;letter-spacing:-.03em;line-height:1.3}
.acc-icon{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;flex-shrink:0;position:relative;transition:background .25s,border-color .25s}
.acc-icon::before,.acc-icon::after{content:"";position:absolute;width:12px;height:2px;background:#fff;border-radius:2px;transition:transform .25s}
.acc-icon::after{transform:rotate(90deg)}
.acc-item.open .acc-icon{background:var(--service-accent);border-color:var(--service-accent)}
.acc-item.open .acc-icon::after{transform:rotate(0)}
.acc-body{display:none;padding:0 48px 24px 0}
.acc-item.open .acc-body{display:block}
.acc-body p{font-size:16px;line-height:1.72;color:rgba(255,255,255,.62)}
.accord.light{border-top:1px solid var(--bdr)}
.accord.light .acc-item{border-bottom:1px solid var(--bdr)}
.accord.light .acc-btn{color:var(--ink)}
.accord.light .acc-icon{border-color:var(--bdr);background:var(--card)}
.accord.light .acc-icon::before,.accord.light .acc-icon::after{background:var(--ink)}
.accord.light .acc-item.open .acc-icon{background:var(--service-accent);border-color:var(--service-accent)}
.accord.light .acc-item.open .acc-icon::before,.accord.light .acc-item.open .acc-icon::after{background:#fff}
.accord.light .acc-body p{color:var(--ink2)}
.proof-lite{padding:108px 0}
.proof-top{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:34px}
.proof-h{font-size:clamp(30px,4vw,52px);font-weight:900;letter-spacing:-.05em;line-height:1.02;margin:14px 0 0}
.proof-h em{font-style:normal;color:var(--service-accent)}
.outcome-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.outcome{background:var(--card);border:1px solid var(--bdr);border-radius:22px;padding:30px 28px}
.outcome h3{font-size:17px;font-weight:850;letter-spacing:-.035em;margin-bottom:8px}
.outcome p{font-size:16px;line-height:1.68;color:var(--ink2)}
.outcome.dark{background:var(--ink);color:#fff}
.outcome.dark p{color:rgba(255,255,255,.5)}
.trust-section{padding:8px 0 108px}
.trust-head{text-align:center;margin:0 auto 58px;max-width:840px}
.trust-title{font-size:clamp(30px,4vw,52px);font-weight:900;letter-spacing:-.05em;line-height:1.02;margin-top:18px}
.trust-rule{height:1px;background:var(--bdr);margin:0 0 22px}
.trust-tabs{border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:22px 0;display:flex;justify-content:center;gap:22px;margin-bottom:62px;flex-wrap:wrap}
.trust-tabs span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 24px;border-radius:999px;background:rgba(14,14,13,.055);color:var(--ink2);font-size:13px;font-weight:850;letter-spacing:-.025em}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trust-card{min-height:430px;border-radius:28px;border:1px solid var(--bdr);background:var(--card);padding:46px 42px 38px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 42px rgba(0,0,0,.045)}
.trust-card-dark{background:var(--ink);border-color:var(--ink);color:#fff}
.trust-stars{color:var(--service-accent);font-size:18px;letter-spacing:.08em;margin-bottom:28px}
.trust-quote{font-size:16.5px;line-height:1.72;color:var(--ink);letter-spacing:-.018em}
.trust-card-dark .trust-quote{color:rgba(255,255,255,.68)}
.trust-person{display:flex;align-items:center;gap:16px;margin-top:42px}
.trust-avatar{width:42px;height:42px;border-radius:50%;background:var(--service-accent);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:900;letter-spacing:-.02em;flex-shrink:0}
.trust-person strong{display:block;font-size:14px;font-weight:850;letter-spacing:-.025em;color:var(--ink)}
.trust-person em{display:block;font-style:normal;font-size:13px;color:var(--ink2);margin-top:2px}
.trust-card-dark .trust-person strong{color:#fff}
.trust-card-dark .trust-person em{color:rgba(255,255,255,.38)}
body[data-service-theme="paid-media"] .trust-card-dark,
body[data-service-theme="websites"] .trust-card-dark,
body[data-service-theme="strategy-growth"] .trust-card-dark{background:var(--service-accent);border-color:var(--service-accent)}
body[data-service-theme="paid-media"] .trust-card-dark .trust-stars,
body[data-service-theme="websites"] .trust-card-dark .trust-stars,
body[data-service-theme="strategy-growth"] .trust-card-dark .trust-stars{color:#fff}
body[data-service-theme="paid-media"] .trust-card-dark .trust-avatar,
body[data-service-theme="websites"] .trust-card-dark .trust-avatar,
body[data-service-theme="strategy-growth"] .trust-card-dark .trust-avatar{background:#fff;color:var(--service-accent)}
body[data-service-theme="paid-media"] .trust-card-dark .trust-quote,
body[data-service-theme="websites"] .trust-card-dark .trust-quote,
body[data-service-theme="strategy-growth"] .trust-card-dark .trust-quote{color:rgba(255,255,255,.86)}
body[data-service-theme="paid-media"] .trust-card-dark .trust-person em,
body[data-service-theme="websites"] .trust-card-dark .trust-person em,
body[data-service-theme="strategy-growth"] .trust-card-dark .trust-person em{color:rgba(255,255,255,.72)}
.faq-lite{padding:0 0 108px}
.faq-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:72px;align-items:start}
.faq-left{position:sticky;top:120px}
.faq-h{font-size:clamp(28px,3.8vw,50px);font-weight:900;letter-spacing:-.05em;line-height:1.03;margin:14px 0 18px}
.faq-h em{font-style:normal;color:var(--service-accent)}
.faq-sub{font-size:16px;line-height:1.7;color:var(--ink2)}
.fcta-wrap{padding:0 0 88px}
.fcta-inner{background:var(--service-accent);border-radius:36px;padding:78px 64px;text-align:center;position:relative;overflow:hidden;color:#fff}
.fcta-inner::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 20%,rgba(255,255,255,.18) 0%,transparent 58%),radial-gradient(ellipse at 18% 85%,rgba(14,14,13,.16) 0%,transparent 62%);pointer-events:none}
.fcta-lbl{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.68);display:block;margin-bottom:20px;position:relative;z-index:1}
.fcta-h{font-size:clamp(34px,5vw,64px);font-weight:900;letter-spacing:-.055em;line-height:.98;color:#fff;margin-bottom:20px;position:relative;z-index:1}
.fcta-h em,.fcta-h .ac{font-style:normal;color:var(--ink)}
.fcta-sub{font-size:17px;line-height:1.68;color:rgba(255,255,255,.78);max-width:58ch;margin:0 auto 34px;position:relative;z-index:1}
.fcta-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.fcta-btns .bpw{background:#fff;color:var(--ink)}
.fcta-btns .bpow{background:var(--ink);color:#fff;border-color:var(--ink)}
.related-wrap{padding:0 0 96px}
.related-head{display:grid;grid-template-columns:1fr 1.25fr;gap:48px;align-items:end;margin-bottom:26px}
.related-kicker{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--service-accent);display:block;margin-bottom:10px}
.related-title{font-size:clamp(24px,3vw,36px);font-weight:900;letter-spacing:-.048em;line-height:1.05}
.related-intro{font-size:16px;line-height:1.7;color:var(--ink2);max-width:58ch}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.related-card{background:#fff;border:1px solid var(--bdr);border-radius:22px;padding:28px 26px;text-decoration:none;color:var(--ink);min-height:190px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .28s,box-shadow .28s,background .28s}
.related-card:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(0,0,0,.08)}
.related-card h3{font-size:18px;font-weight:850;letter-spacing:-.035em;margin-bottom:8px}
.related-card p{font-size:16px;line-height:1.68;color:var(--ink2)}
.related-link{font-size:12.5px;font-weight:800;color:var(--service-accent);margin-top:22px}

/* Marketing Retainers sections */
.ret-tiers{padding:108px 0;background:linear-gradient(180deg,#fff 0%,var(--card) 100%)}
.ret-tiers-head{max-width:760px;margin:0 auto 38px;text-align:center}
.ret-tiers-head h2{font-size:clamp(30px,4vw,52px);font-weight:900;letter-spacing:-.05em;line-height:1.02;margin:14px 0 18px}
.ret-tiers-head h2 em{font-style:normal;color:var(--service-accent)}
.ret-tiers-head p{font-size:16.5px;line-height:1.72;color:var(--ink2)}
.ret-tiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px;align-items:stretch}
.ret-tier{background:#fff;border:1px solid var(--bdr);border-radius:28px;padding:32px 28px;box-shadow:0 12px 42px rgba(0,0,0,.055);display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:100%;transition:transform .28s,box-shadow .28s}
.ret-tier:hover{transform:translateY(-4px);box-shadow:0 20px 56px rgba(0,0,0,.095)}
.ret-tier-top{display:flex;flex-direction:column;gap:10px}
.ret-tier-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ret-tier-hours,.ret-tier-badge{align-self:flex-start;display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(21,87,103,.08);color:var(--service-accent);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ret-tier-badge{background:rgba(255,255,255,.14);color:#fff}
.ret-tier h3{font-size:clamp(24px,2.8vw,34px);font-weight:900;letter-spacing:-.05em;line-height:1.03;margin-top:4px}
.ret-tier p{font-size:16px;line-height:1.68;color:var(--ink2)}
.ret-tier-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.ret-tier-list li{position:relative;padding-left:22px;font-size:15px;line-height:1.55;color:var(--ink2)}
.ret-tier-list li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:var(--service-accent)}
.ret-tier-feat{background:var(--ink);border-color:var(--ink);color:#fff}
.ret-tier-feat p,.ret-tier-feat .ret-tier-list li{color:rgba(255,255,255,.68)}
.ret-tier-feat .ret-tier-list li::before{background:#fff}
.ret-tier-feat .ret-tier-hours{background:rgba(255,255,255,.12);color:#fff}
.ret-stats{padding:0 0 108px}
.ret-stats-inline{padding:0;margin:0 0 20px}
.ret-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:var(--service-accent);border-radius:30px;padding:16px;box-shadow:0 18px 60px rgba(0,0,0,.12)}
.ret-stat{border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:24px 22px;background:rgba(255,255,255,.045)}
.ret-stat-num{display:block;color:#fff;font-size:clamp(24px,3vw,38px);font-weight:900;letter-spacing:-.05em;line-height:1}
.ret-stat-label{display:block;margin-top:10px;color:rgba(255,255,255,.58);font-size:13.5px;font-weight:650;line-height:1.45}

@media(max-width:900px){.ret-tiers{padding:72px 0}.ret-stats-grid{grid-template-columns:1fr 1fr}.ret-stats{padding:0 0 72px}.ret-stats-inline{padding:0;margin-bottom:18px}}
@media(max-width:640px){.ret-tiers-head{text-align:left}.ret-tiers-grid,.ret-stats-grid{grid-template-columns:1fr}.ret-stats-grid{border-radius:24px;padding:12px}.ret-tier{border-radius:22px;padding:28px 24px}.ret-tier .bp{width:100%;justify-content:center}}
/* ─── WCAG 2.1 AA contrast fixes for dark service-accent themes ─────────────
   Accent colours on ink backgrounds: paid-media #771548 (1.83:1), websites
   #2b2958 (1.44:1), strategy-growth #155767 (2.38:1) all fail the 4.5:1
   normal-text and 3:1 large-text thresholds. White text on all three passes
   at 10.6:1, 13.5:1 and 8.1:1 respectively.
   ─────────────────────────────────────────────────────────────────────── */

/* hcard-feat hero card — user-requested pattern: accent bg + white text */
body[data-service-theme="paid-media"] .hcard-feat,
body[data-service-theme="websites"] .hcard-feat{background:var(--service-accent);border-color:rgba(255,255,255,.14)}
body[data-service-theme="paid-media"] .hcard-feat .hcard-num em,
body[data-service-theme="websites"] .hcard-feat .hcard-num em{color:#fff}

/* detail-band dark section — accent em on ink bg */
body[data-service-theme="paid-media"] .detail-h em,
body[data-service-theme="websites"] .detail-h em,
body[data-service-theme="strategy-growth"] .detail-h em{color:#fff}

/* fcta-wrap — ink em/ac text is invisible on dark accent bg; use translucent
   white to maintain visual differentiation from the full-white heading text */
body[data-service-theme="paid-media"] .fcta-h em,
body[data-service-theme="paid-media"] .fcta-h .ac,
body[data-service-theme="websites"] .fcta-h em,
body[data-service-theme="websites"] .fcta-h .ac,
body[data-service-theme="strategy-growth"] .fcta-h em,
body[data-service-theme="strategy-growth"] .fcta-h .ac{color:rgba(255,255,255,.78)}

@media(max-width:900px){.hero-sp-inner,.overview-grid,.detail-grid{grid-template-columns:1fr;gap:40px}.hero-sp-right,.ov-sticky,.detail-grid>div:first-child{position:static}.hero-sp-right{display:none}.detail-band{border-radius:28px;margin:0 12px;padding:64px 0}.outcome-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.trust-card{min-height:auto}.faq-grid{grid-template-columns:1fr;gap:36px}.faq-left{position:static}.related-head,.related-grid{grid-template-columns:1fr}}
@media(max-width:768px){.hero-sp{padding:calc(110px + var(--sat)) 0 72px;overflow:hidden}.hero-sp-right{display:none}.hero-sp-h1{font-size:clamp(40px,9vw,64px)}.overview,.proof-lite{padding:72px 0}.proof-top{grid-template-columns:1fr}.fcta-wrap{padding:0 0 64px}.fcta-inner{padding:56px 24px;border-radius:28px}.fcta-btns .bp{width:100%;justify-content:center}}
@media(max-width:560px){.hero-actions{flex-direction:column}.hero-actions .bp{width:100%;justify-content:center}.hcard-row{grid-template-columns:1fr}.trust-section{padding:0 0 72px}.trust-head{text-align:left;margin-bottom:34px}.trust-tabs{justify-content:flex-start;gap:8px;margin-bottom:30px}.trust-tabs span{min-height:32px;padding:0 16px}.trust-card{border-radius:22px;padding:32px 26px}.trust-title{font-size:clamp(28px,8vw,42px)}}
