/* Service Hero — light/white, Option A style */
.service-hero {
    padding: var(--section-padding-mobile);
    background: var(--color-bg);
    width: 100%;
    position: relative;
    overflow: hidden;
}

/* Teal accent bar at top */
.service-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, var(--color-secondary) 0%, rgba(46,196,182,0.2) 100%);
    opacity: 0.6;
}

@media (min-width: 992px) {
    .service-hero { padding: var(--section-padding); }
}

/* Inner grid */
.service-hero__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
}
@media (min-width: 992px) {
    .service-hero__inner {
        grid-template-columns: 1fr 1fr;
        gap: 64px;
    }
}

/* ── Left: Content ─────────────────────────────────────── */

.service-hero__headline {
    font-size: var(--font-size-h1);
    font-weight: 800;
    color: var(--color-text-dark);
    line-height: var(--line-height-heading);
    letter-spacing: -0.02em;
    margin: 0 0 16px;
}
.service-hero__headline em {
    font-style: normal;
    color: var(--color-secondary);
}

/* H2 sub-headline — sits between H1 and supporting paragraph */
.service-hero__subhead {
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 600;
    color: var(--color-text-dark);
    line-height: 1.35;
    letter-spacing: -0.01em;
    margin: 0 0 20px;
    max-width: 540px;
    opacity: 0.85;
}
.service-hero__subhead em {
    font-style: normal;
    color: var(--color-secondary);
}

.service-hero__sub {
    font-size: 17px;
    line-height: 1.7;
    color: var(--color-text);
    margin: 0 0 32px;
    max-width: 500px;
}

.service-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin-bottom: 32px;
}

.service-hero__trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: var(--font-size-sm);
    color: var(--color-text);
}
.service-hero__stars { color: #F59E0B; letter-spacing: 2px; }
.service-hero__trust-sep {
    color: var(--color-border);
    font-size: 16px;
    font-weight: 300;
}

/* ── Right: Image / Animated Graphic ───────────────────── */
.service-hero__visual {
    position: relative;
}

.service-hero__img-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: linear-gradient(135deg, var(--color-dark) 0%, #1a3a6c 100%);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 24px 60px rgba(15,31,61,0.18);
    padding: 20px;
}
.service-hero__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.service-hero__img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 85%;
    height: 75%;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    color: rgba(255,255,255,0.2);
    font-size: var(--font-size-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ── Mobile ────────────────────────────────────────────── */
@media (max-width: 767px) {
    .service-hero__sub,
    .service-hero__subhead { max-width: 100%; }
}

/* ============================================================
   INLINE FORM VARIANT — used on local pages & campaign landers
   Replaces the animated graphic with a HubSpot lead-capture card.
   Activated by ACF toggle `sh_show_inline_form`.
   ============================================================ */
.service-hero__visual--form {
    position: relative;
}

.service-hero__form-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 32px 28px 24px;
    box-shadow:
        0 1px 2px rgba(15,31,61,0.04),
        0 12px 32px rgba(15,31,61,0.10),
        0 24px 60px rgba(15,31,61,0.08);
    border: 1px solid var(--color-border, #E5E7EB);
    position: relative;
}
/* Teal accent stripe at the top of the card */
.service-hero__form-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--color-secondary) 0%, rgba(46,196,182,0.4) 100%);
    border-radius: 16px 16px 0 0;
}

.service-hero__form-heading {
    font-size: clamp(20px, 2vw, 24px);
    font-weight: 800;
    color: var(--color-text-dark);
    line-height: 1.25;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
}
.service-hero__form-sub {
    font-size: 14px;
    line-height: 1.55;
    color: var(--color-text);
    margin: 0 0 20px;
}

.service-hero__form {
    margin-top: 8px;
}

/* Microcopy (privacy reassurance) */
.service-hero__form-microcopy {
    margin: 16px 0 0;
    padding-top: 14px;
    border-top: 1px solid var(--color-border, #E5E7EB);
    font-size: 12px;
    color: var(--color-text);
    opacity: 0.78;
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.4;
}
.service-hero__form-microcopy svg {
    flex-shrink: 0;
    color: var(--color-secondary);
}

/* ── HubSpot form styling inside the hero card ───────────
   Mirrors the modal styles in parts/header.html so forms
   look consistent whether rendered inline or in the modal.
   ──────────────────────────────────────────────────────── */
.service-hero__form .hs-form fieldset {
    max-width: 100%;
}
.service-hero__form .form-columns-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.service-hero__form .form-columns-2 .hs-form-field {
    width: 100% !important;
    padding: 0 !important;
    float: none !important;
}
.service-hero__form .hs-form-field > label:not(.hs-form-checkbox-display),
.service-hero__form .hs-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin: 0 0 6px;
}
.service-hero__form .hs-input,
.service-hero__form select.hs-input,
.service-hero__form textarea.hs-input {
    width: 100% !important;
    padding: 10px 12px;
    border: 1px solid var(--color-border, #E5E7EB);
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    color: var(--color-text-dark);
    background: #ffffff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
}
.service-hero__form textarea.hs-input {
    min-height: 84px;
    resize: vertical;
}
.service-hero__form .hs-input:focus,
.service-hero__form select.hs-input:focus,
.service-hero__form textarea.hs-input:focus {
    outline: none;
    border-color: var(--color-secondary);
    box-shadow: 0 0 0 3px rgba(46,196,182,0.15);
}
.service-hero__form .hs-form-field {
    margin-bottom: 14px;
}
.service-hero__form .hs-form > * {
    margin-bottom: 0;
}
.service-hero__form .inputs-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.service-hero__form .hs-form-checkbox {
    margin-bottom: 8px;
}
.service-hero__form .hs-form-checkbox-display {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: var(--color-text);
    cursor: pointer;
    line-height: 1.45;
}
.service-hero__form .hs-form-checkbox-display input[type="checkbox"] {
    margin: 2px 0 0;
    flex-shrink: 0;
    accent-color: var(--color-secondary);
}
.service-hero__form .hs-submit {
    margin-top: 6px;
}
.service-hero__form .hs-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 13px 24px;
    background: var(--color-secondary);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: transform 0.12s ease, background-color 0.15s ease, box-shadow 0.15s ease;
    box-shadow: 0 4px 12px rgba(46,196,182,0.25);
}
.service-hero__form .hs-button:hover {
    background: #26a89b;
    box-shadow: 0 6px 16px rgba(46,196,182,0.35);
    transform: translateY(-1px);
}
.service-hero__form .hs-button:active {
    transform: translateY(0);
}
.service-hero__form .hs-error-msgs {
    list-style: none;
    padding: 0;
    margin: 4px 0 0;
}
.service-hero__form .hs-error-msgs li {
    color: #DC2626;
    font-size: 12px;
    line-height: 1.4;
}
.service-hero__form .submitted-message {
    padding: 16px;
    background: rgba(46,196,182,0.08);
    border: 1px solid rgba(46,196,182,0.3);
    border-radius: 10px;
    color: var(--color-text-dark);
    font-size: 14px;
    line-height: 1.55;
}

/* Mobile: stack 2-col form fields, reduce card padding */
@media (max-width: 767px) {
    .service-hero__form-card {
        padding: 24px 20px 20px;
    }
    .service-hero__form .form-columns-2 {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

/* On small breakpoints, the form card sits below content rather than
   side-by-side — we rely on the existing grid-template-columns: 1fr on mobile. */

/* ============================================================
   ANIMATED GRAPHICS — one block per service
   Shared container: .service-hero__img-wrap (padding: 20px)
   ============================================================ */

/* ── SEO: Keyword ranking climb + AI Overview citation ── */
.seo-anim {
    width: 100%;
    height: 100%;
    background: #0e0c2e;
    border-radius: 12px;
    border: 0.5px solid rgba(46,196,182,0.25);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.seo-anim__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.seo-anim__title {
    font-size: 13px;
    font-weight: 700;
    color: rgba(255,255,255,0.9);
    display: flex;
    align-items: center;
    gap: 8px;
}
.seo-anim__title-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-secondary);
    box-shadow: 0 0 0 4px rgba(46,196,182,0.2);
    animation: seoAnimPulse 2s ease-in-out infinite;
}
@keyframes seoAnimPulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(46,196,182,0.2); }
    50%      { box-shadow: 0 0 0 8px rgba(46,196,182,0); }
}
.seo-anim__sub {
    font-size: 10px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.03em;
}

/* Keyword rank rows */
.seo-anim__rows {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.seo-anim__row {
    display: grid;
    grid-template-columns: 1fr auto auto auto;
    gap: 8px;
    align-items: center;
    padding: 8px 10px;
    border-radius: 7px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.05);
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.5s ease, transform 0.5s ease, border-color 0.3s ease, background 0.3s ease;
}
.seo-anim__row.is-in { opacity: 1; transform: translateY(0); }
.seo-anim__row.is-win {
    border-color: rgba(46,196,182,0.35);
    background: rgba(46,196,182,0.06);
}
.seo-anim__kw {
    font-size: 11px;
    font-weight: 600;
    color: rgba(255,255,255,0.82);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.seo-anim__rank-old {
    font-size: 11px;
    font-weight: 700;
    color: rgba(255,255,255,0.3);
    text-decoration: line-through;
    font-variant-numeric: tabular-nums;
}
.seo-anim__rank-arrow {
    font-size: 11px;
    color: rgba(255,255,255,0.25);
    line-height: 1;
}
.seo-anim__rank-new {
    font-size: 12px;
    font-weight: 800;
    color: var(--color-secondary);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.seo-anim__row.is-win .seo-anim__rank-new { opacity: 1; transform: translateX(0); }

/* AI Overview card */
.seo-anim__ai {
    margin-top: 2px;
    padding: 10px 12px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(46,196,182,0.1) 0%, rgba(232,75,26,0.08) 100%);
    border: 1px solid rgba(46,196,182,0.2);
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.seo-anim__ai.is-in { opacity: 1; transform: translateY(0); }
.seo-anim__ai-head {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
}
.seo-anim__ai-label {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--color-secondary);
}
.seo-anim__ai-text {
    font-size: 10.5px;
    line-height: 1.5;
    color: rgba(255,255,255,0.72);
    margin: 0;
}
.seo-anim__ai-cite {
    color: var(--color-secondary);
    font-weight: 700;
    border-bottom: 1px dotted rgba(46,196,182,0.5);
    padding-bottom: 1px;
}

/* Footer KPI count-up */
.seo-anim__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 12px;
    margin-top: auto;
}
.seo-anim__foot-label {
    display: block;
    font-size: 10px;
    color: rgba(255,255,255,0.4);
}
.seo-anim__foot-sub {
    display: block;
    font-size: 9px;
    color: rgba(255,255,255,0.25);
    margin-top: 2px;
}
.seo-anim__foot-val {
    font-size: 22px;
    font-weight: 800;
    color: var(--color-secondary);
    letter-spacing: -0.02em;
    opacity: 0;
    transition: opacity 0.5s ease;
    font-variant-numeric: tabular-nums;
}
.seo-anim__foot-val.is-in { opacity: 1; }

/* ── Paid Media: pm-anim ─────────────────────────────── */
.pm-anim{
    width:100%;height:100%;
    background:#0e0c2e;
    border-radius:12px;
    border:0.5px solid rgba(46,196,182,.25);
    padding:20px;
    display:flex;flex-direction:column;gap:14px;
  }

  .pm-anim__head{
    display:flex;align-items:center;justify-content:space-between;
  }
  .pm-anim__title{
    font-size:13px;font-weight:700;color:rgba(255,255,255,.9);
    display:flex;align-items:center;gap:8px;
  }
  .pm-anim__title-dot{
    width:6px;height:6px;border-radius:50%;background:var(--color-primary);
    box-shadow:0 0 0 4px rgba(232,75,26,.2);
    animation:pmPulse 2s ease-in-out infinite;
  }
  @keyframes pmPulse{
    0%,100%{box-shadow:0 0 0 4px rgba(232,75,26,.2);}
    50%{box-shadow:0 0 0 8px rgba(232,75,26,0);}
  }
  .pm-anim__sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.03em;}

  /* Channel rows with animated bars */
  .pm-anim__channels{display:flex;flex-direction:column;gap:10px;}
  .pm-anim__channel{
    opacity:0;transform:translateY(6px);
    transition:opacity .5s ease, transform .5s ease;
  }
  .pm-anim__channel.is-in{opacity:1;transform:translateY(0);}

  .pm-anim__ch-head{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:5px;
  }
  .pm-anim__ch-name{
    font-size:11px;font-weight:600;color:rgba(255,255,255,.82);
    display:flex;align-items:center;gap:6px;
  }
  .pm-anim__ch-icon{
    width:10px;height:10px;border-radius:2px;
  }
  .pm-anim__ch-icon--google  {background:#4285F4;}
  .pm-anim__ch-icon--meta    {background:#1877F2;}
  .pm-anim__ch-icon--linkedin{background:#0A66C2;}
  .pm-anim__ch-icon--youtube {background:#FF0000;}

  .pm-anim__ch-roas{
    font-size:12px;font-weight:800;color:var(--color-secondary);
    font-variant-numeric:tabular-nums;letter-spacing:-0.01em;
    opacity:0;transition:opacity .4s ease .4s;
  }
  .pm-anim__channel.is-in .pm-anim__ch-roas{opacity:1;}

  .pm-anim__ch-track{
    width:100%;height:6px;
    background:rgba(255,255,255,.05);
    border-radius:3px;overflow:hidden;
  }
  .pm-anim__ch-fill{
    height:100%;width:0;
    background:linear-gradient(90deg,var(--color-secondary) 0%,rgba(46,196,182,.6) 100%);
    border-radius:3px;
    transition:width 1s cubic-bezier(.22,1,.36,1);
  }

  /* Smart Bidding card (paid-media's equivalent of AI Overview) */
  .pm-anim__opt{
    margin-top:2px;
    padding:10px 12px;border-radius:8px;
    background:linear-gradient(135deg,rgba(46,196,182,.1) 0%,rgba(232,75,26,.08) 100%);
    border:1px solid rgba(46,196,182,.2);
    opacity:0;transform:translateY(6px);
    transition:opacity .5s ease, transform .5s ease;
  }
  .pm-anim__opt.is-in{opacity:1;transform:translateY(0);}
  .pm-anim__opt-head{
    display:flex;align-items:center;gap:6px;margin-bottom:5px;
  }
  .pm-anim__opt-label{
    font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
    color:var(--color-secondary);
  }
  .pm-anim__opt-text{
    font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;
  }
  .pm-anim__opt-stat{
    color:var(--color-secondary);font-weight:700;
  }

  /* Footer KPI */
  .pm-anim__foot{
    display:flex;align-items:center;justify-content:space-between;
    border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:auto;
  }
  .pm-anim__foot-label{display:block;font-size:10px;color:rgba(255,255,255,.4);}
  .pm-anim__foot-sub{display:block;font-size:9px;color:rgba(255,255,255,.25);margin-top:2px;}
  .pm-anim__foot-val{
    font-size:22px;font-weight:800;color:var(--color-secondary);
    letter-spacing:-0.02em;opacity:0;transition:opacity .5s ease;
    font-variant-numeric:tabular-nums;
  }
  .pm-anim__foot-val.is-in{opacity:1;}

  /* ============================================================
     PREVIEW CHROME
     ============================================================ */

/* ── GEO: geo-anim ─────────────────────────────── */
.geo-anim{width:100%;height:100%;background:#0e0c2e;border-radius:12px;border:0.5px solid rgba(46,196,182,.25);padding:20px;display:flex;flex-direction:column;gap:14px;font-family:system-ui,sans-serif;}
  .geo-anim__head{display:flex;align-items:center;justify-content:space-between;}
  .geo-anim__title{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:8px;}
  .geo-anim__title-dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);box-shadow:0 0 0 4px rgba(46,196,182,.2);animation:geoPulse 2s ease-in-out infinite;}
  @keyframes geoPulse{0%,100%{box-shadow:0 0 0 4px rgba(46,196,182,.2);}50%{box-shadow:0 0 0 8px rgba(46,196,182,0);}}
  .geo-anim__sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.03em;}

  .geo-anim__engines{display:flex;flex-direction:column;gap:8px;}
  .geo-anim__engine{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border-radius:7px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease,border-color .3s ease,background .3s ease;}
  .geo-anim__engine.is-in{opacity:1;transform:translateY(0);}
  .geo-anim__engine.is-win{border-color:rgba(46,196,182,.35);background:rgba(46,196,182,.06);}
  .geo-anim__engine-logo{width:20px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;}
  .geo-anim__engine-logo--chatgpt{background:#10a37f;}
  .geo-anim__engine-logo--perplexity{background:#20808d;}
  .geo-anim__engine-logo--gemini{background:linear-gradient(135deg,#4285F4 0%,#9b72cb 50%,#d96570 100%);}
  .geo-anim__engine-logo--google{background:#4285F4;}
  .geo-anim__engine-name{font-size:11px;font-weight:600;color:rgba(255,255,255,.82);}
  .geo-anim__cite{font-size:10px;color:rgba(255,255,255,.5);}
  .geo-anim__cite-brand{color:var(--color-secondary);font-weight:700;border-bottom:1px dotted rgba(46,196,182,.5);padding-bottom:1px;}
  .geo-anim__check{width:18px;height:18px;border-radius:50%;background:rgba(46,196,182,.15);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5);transition:opacity .3s ease .2s,transform .3s ease .2s;}
  .geo-anim__engine.is-win .geo-anim__check{opacity:1;transform:scale(1);}
  .geo-anim__check svg{width:10px;height:10px;stroke:var(--color-secondary);}

  .geo-anim__kg{margin-top:2px;padding:10px 12px;border-radius:8px;background:linear-gradient(135deg,rgba(46,196,182,.1) 0%,rgba(232,75,26,.08) 100%);border:1px solid rgba(46,196,182,.2);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .geo-anim__kg.is-in{opacity:1;transform:translateY(0);}
  .geo-anim__kg-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
  .geo-anim__kg-label{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--color-secondary);}
  .geo-anim__kg-text{font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;}
  .geo-anim__kg-text strong{color:rgba(255,255,255,.9);}

  .geo-anim__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:auto;}
  .geo-anim__foot-label{display:block;font-size:10px;color:rgba(255,255,255,.4);}
  .geo-anim__foot-sub{display:block;font-size:9px;color:rgba(255,255,255,.25);margin-top:2px;}
  .geo-anim__foot-val{font-size:22px;font-weight:800;color:var(--color-secondary);letter-spacing:-0.02em;opacity:0;transition:opacity .5s ease;font-variant-numeric:tabular-nums;}
  .geo-anim__foot-val.is-in{opacity:1;}

  /* PREVIEW CHROME */

/* ── Content Marketing: cm-anim ─────────────────────────────── */
.cm-anim{width:100%;height:100%;background:#0e0c2e;border-radius:12px;border:0.5px solid rgba(46,196,182,.25);padding:20px;display:flex;flex-direction:column;gap:14px;font-family:system-ui,sans-serif;}
  .cm-anim__head{display:flex;align-items:center;justify-content:space-between;}
  .cm-anim__title{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:8px;}
  .cm-anim__title-dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);box-shadow:0 0 0 4px rgba(46,196,182,.2);animation:cmPulse 2s ease-in-out infinite;}
  @keyframes cmPulse{0%,100%{box-shadow:0 0 0 4px rgba(46,196,182,.2);}50%{box-shadow:0 0 0 8px rgba(46,196,182,0);}}
  .cm-anim__sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.03em;}

  .cm-anim__pieces{display:flex;flex-direction:column;gap:8px;}
  .cm-anim__piece{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:7px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .cm-anim__piece.is-in{opacity:1;transform:translateY(0);}
  .cm-anim__piece-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;}
  .cm-anim__piece-icon svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2;}
  .cm-anim__piece-icon--blog{background:rgba(46,196,182,.15);}
  .cm-anim__piece-icon--blog svg{stroke:var(--color-secondary);}
  .cm-anim__piece-icon--whitepaper{background:rgba(232,75,26,.15);}
  .cm-anim__piece-icon--whitepaper svg{stroke:var(--color-primary);}
  .cm-anim__piece-icon--email{background:rgba(66,133,244,.15);}
  .cm-anim__piece-icon--email svg{stroke:#6ba4f8;}
  .cm-anim__piece-icon--video{background:rgba(255,0,0,.15);}
  .cm-anim__piece-icon--video svg{stroke:#ff5a5a;}
  .cm-anim__piece-body{display:flex;flex-direction:column;gap:4px;min-width:0;}
  .cm-anim__piece-title{font-size:11px;font-weight:600;color:rgba(255,255,255,.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .cm-anim__piece-track{width:100%;height:4px;background:rgba(255,255,255,.05);border-radius:2px;overflow:hidden;}
  .cm-anim__piece-fill{height:100%;width:0;background:linear-gradient(90deg,var(--color-secondary) 0%,rgba(46,196,182,.6) 100%);border-radius:2px;transition:width 1s cubic-bezier(.22,1,.36,1);}
  .cm-anim__piece-metric{font-size:11px;font-weight:800;color:var(--color-secondary);font-variant-numeric:tabular-nums;letter-spacing:-0.01em;opacity:0;transition:opacity .4s ease .4s;}
  .cm-anim__piece.is-in .cm-anim__piece-metric{opacity:1;}

  .cm-anim__top{margin-top:2px;padding:10px 12px;border-radius:8px;background:linear-gradient(135deg,rgba(46,196,182,.1) 0%,rgba(232,75,26,.08) 100%);border:1px solid rgba(46,196,182,.2);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .cm-anim__top.is-in{opacity:1;transform:translateY(0);}
  .cm-anim__top-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
  .cm-anim__top-label{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--color-secondary);}
  .cm-anim__top-text{font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;}
  .cm-anim__top-text strong{color:rgba(255,255,255,.9);}

  .cm-anim__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:auto;}
  .cm-anim__foot-label{display:block;font-size:10px;color:rgba(255,255,255,.4);}
  .cm-anim__foot-sub{display:block;font-size:9px;color:rgba(255,255,255,.25);margin-top:2px;}
  .cm-anim__foot-val{font-size:22px;font-weight:800;color:var(--color-secondary);letter-spacing:-0.02em;opacity:0;transition:opacity .5s ease;font-variant-numeric:tabular-nums;}
  .cm-anim__foot-val.is-in{opacity:1;}

/* ── Social Media: sm-anim ─────────────────────────────── */
.sm-anim{width:100%;height:100%;background:#0e0c2e;border-radius:12px;border:0.5px solid rgba(46,196,182,.25);padding:20px;display:flex;flex-direction:column;gap:14px;font-family:system-ui,sans-serif;}
  .sm-anim__head{display:flex;align-items:center;justify-content:space-between;}
  .sm-anim__title{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:8px;}
  .sm-anim__title-dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);box-shadow:0 0 0 4px rgba(46,196,182,.2);animation:smPulse 2s ease-in-out infinite;}
  @keyframes smPulse{0%,100%{box-shadow:0 0 0 4px rgba(46,196,182,.2);}50%{box-shadow:0 0 0 8px rgba(46,196,182,0);}}
  .sm-anim__sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.03em;}

  /* Line chart */
  .sm-anim__chart-wrap{position:relative;flex:1;min-height:140px;max-height:180px;padding:8px 4px 16px;}
  .sm-anim__chart{width:100%;height:100%;overflow:visible;}
  .sm-anim__grid{stroke:rgba(255,255,255,.05);stroke-width:1;}
  .sm-anim__line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s ease-out;}
  .sm-anim__line.is-in{stroke-dashoffset:0;}
  .sm-anim__line--linkedin{stroke:#0A66C2;}
  .sm-anim__line--instagram{stroke:#E4405F;}
  .sm-anim__line--tiktok{stroke:var(--color-secondary);}
  .sm-anim__axis{font-size:9px;fill:rgba(255,255,255,.3);}
  .sm-anim__dot{fill:#fff;opacity:0;transition:opacity .3s ease;}
  .sm-anim__dot.is-in{opacity:1;}

  /* Platform legend */
  .sm-anim__legend{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
  .sm-anim__legend-item{padding:8px 10px;border-radius:6px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:2px;opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .sm-anim__legend-item.is-in{opacity:1;transform:translateY(0);}
  .sm-anim__legend-name{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:5px;color:rgba(255,255,255,.7);}
  .sm-anim__legend-swatch{width:8px;height:8px;border-radius:2px;}
  .sm-anim__legend-swatch--linkedin{background:#0A66C2;}
  .sm-anim__legend-swatch--instagram{background:#E4405F;}
  .sm-anim__legend-swatch--tiktok{background:var(--color-secondary);}
  .sm-anim__legend-val{font-size:13px;font-weight:800;color:#fff;letter-spacing:-0.01em;font-variant-numeric:tabular-nums;}
  .sm-anim__legend-delta{font-size:9px;color:var(--color-secondary);font-weight:700;}

  /* Viral callout */
  .sm-anim__viral{margin-top:2px;padding:10px 12px;border-radius:8px;background:linear-gradient(135deg,rgba(46,196,182,.1) 0%,rgba(232,75,26,.08) 100%);border:1px solid rgba(46,196,182,.2);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .sm-anim__viral.is-in{opacity:1;transform:translateY(0);}
  .sm-anim__viral-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
  .sm-anim__viral-label{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--color-secondary);}
  .sm-anim__viral-text{font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;}
  .sm-anim__viral-text strong{color:rgba(255,255,255,.9);}

  .sm-anim__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:auto;}
  .sm-anim__foot-label{display:block;font-size:10px;color:rgba(255,255,255,.4);}
  .sm-anim__foot-sub{display:block;font-size:9px;color:rgba(255,255,255,.25);margin-top:2px;}
  .sm-anim__foot-val{font-size:22px;font-weight:800;color:var(--color-secondary);letter-spacing:-0.02em;opacity:0;transition:opacity .5s ease;font-variant-numeric:tabular-nums;}
  .sm-anim__foot-val.is-in{opacity:1;}

/* ── Amazon: am-anim ─────────────────────────────── */
.am-anim{width:100%;height:100%;background:#0e0c2e;border-radius:12px;border:0.5px solid rgba(46,196,182,.25);padding:20px;display:flex;flex-direction:column;gap:14px;font-family:system-ui,sans-serif;}
  .am-anim__head{display:flex;align-items:center;justify-content:space-between;}
  .am-anim__title{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:8px;}
  .am-anim__title-dot{width:6px;height:6px;border-radius:50%;background:#FF9900;box-shadow:0 0 0 4px rgba(255,153,0,.2);animation:amPulse 2s ease-in-out infinite;}
  @keyframes amPulse{0%,100%{box-shadow:0 0 0 4px rgba(255,153,0,.2);}50%{box-shadow:0 0 0 8px rgba(255,153,0,0);}}
  .am-anim__sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.03em;}

  /* Product card */
  .am-anim__product{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:12px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .am-anim__product.is-in{opacity:1;transform:translateY(0);}
  .am-anim__product-img{width:56px;height:56px;border-radius:6px;background:linear-gradient(135deg,#FF9900 0%,#E84B1A 100%);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;}
  .am-anim__product-info{display:flex;flex-direction:column;gap:4px;min-width:0;}
  .am-anim__product-name{font-size:11px;font-weight:700;color:rgba(255,255,255,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .am-anim__product-stars{display:flex;align-items:center;gap:3px;font-size:10px;color:rgba(255,255,255,.6);}
  .am-anim__star{color:rgba(255,255,255,.2);font-size:11px;transition:color .3s ease;}
  .am-anim__star.is-on{color:#FF9900;}
  .am-anim__product-rating{margin-left:4px;font-weight:700;color:rgba(255,255,255,.85);opacity:0;transition:opacity .3s ease .5s;}
  .am-anim__product.is-in .am-anim__product-rating{opacity:1;}
  .am-anim__product-meta{font-size:9px;color:rgba(255,255,255,.4);letter-spacing:.04em;}

  /* BSR rank card */
  .am-anim__rank{padding:12px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .am-anim__rank.is-in{opacity:1;transform:translateY(0);}
  .am-anim__rank-col{display:flex;flex-direction:column;align-items:center;gap:3px;}
  .am-anim__rank-label{font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);}
  .am-anim__rank-val{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-0.02em;}
  .am-anim__rank-val--old{color:rgba(255,255,255,.4);text-decoration:line-through;}
  .am-anim__rank-val--new{color:var(--color-secondary);opacity:0;transform:translateX(-6px);transition:opacity .5s ease .4s,transform .5s ease .4s;}
  .am-anim__rank.is-in .am-anim__rank-val--new{opacity:1;transform:translateX(0);}
  .am-anim__rank-arrow{color:rgba(255,255,255,.4);font-size:16px;}

  /* Weekly sales bar chart */
  .am-anim__sales{padding:12px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .am-anim__sales.is-in{opacity:1;transform:translateY(0);}
  .am-anim__sales-head{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px;}
  .am-anim__sales-bars{display:flex;align-items:flex-end;gap:3px;height:44px;}
  .am-anim__sales-bar{flex:1;background:linear-gradient(180deg,var(--color-secondary) 0%,rgba(46,196,182,.5) 100%);border-radius:2px 2px 0 0;height:0;transition:height 1s cubic-bezier(.22,1,.36,1);min-height:3px;}

  /* Badge callout */
  .am-anim__badge{margin-top:2px;padding:10px 12px;border-radius:8px;background:linear-gradient(135deg,rgba(255,153,0,.15) 0%,rgba(46,196,182,.08) 100%);border:1px solid rgba(255,153,0,.25);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .am-anim__badge.is-in{opacity:1;transform:translateY(0);}
  .am-anim__badge-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
  .am-anim__badge-label{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#FFB84D;}
  .am-anim__badge-text{font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;}
  .am-anim__badge-text strong{color:rgba(255,255,255,.9);}

  .am-anim__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:auto;}
  .am-anim__foot-label{display:block;font-size:10px;color:rgba(255,255,255,.4);}
  .am-anim__foot-sub{display:block;font-size:9px;color:rgba(255,255,255,.25);margin-top:2px;}
  .am-anim__foot-val{font-size:22px;font-weight:800;color:var(--color-secondary);letter-spacing:-0.02em;opacity:0;transition:opacity .5s ease;font-variant-numeric:tabular-nums;}
  .am-anim__foot-val.is-in{opacity:1;}

/* ── Web Design: wd-anim ─────────────────────────────── */
.wd-anim{width:100%;height:100%;background:#0e0c2e;border-radius:12px;border:0.5px solid rgba(46,196,182,.25);padding:20px;display:flex;flex-direction:column;gap:14px;font-family:system-ui,sans-serif;}
  .wd-anim__head{display:flex;align-items:center;justify-content:space-between;}
  .wd-anim__title{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:8px;}
  .wd-anim__title-dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);box-shadow:0 0 0 4px rgba(46,196,182,.2);animation:wdPulse 2s ease-in-out infinite;}
  @keyframes wdPulse{0%,100%{box-shadow:0 0 0 4px rgba(46,196,182,.2);}50%{box-shadow:0 0 0 8px rgba(46,196,182,0);}}
  .wd-anim__sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.03em;}

  /* 2x2 Gauge grid */
  .wd-anim__gauges{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .wd-anim__gauge{padding:10px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .wd-anim__gauge.is-in{opacity:1;transform:translateY(0);}
  .wd-anim__gauge-svg{width:50px;height:50px;flex-shrink:0;transform:rotate(-90deg);}
  .wd-anim__gauge-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:5;}
  .wd-anim__gauge-fill{fill:none;stroke:var(--color-secondary);stroke-width:5;stroke-linecap:round;stroke-dasharray:126;stroke-dashoffset:126;transition:stroke-dashoffset 1.5s cubic-bezier(.22,1,.36,1);}
  .wd-anim__gauge-info{display:flex;flex-direction:column;gap:2px;min-width:0;}
  .wd-anim__gauge-val{font-size:18px;font-weight:800;color:#fff;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;line-height:1;}
  .wd-anim__gauge-label{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.5);}

  /* Core Web Vitals pills */
  .wd-anim__vitals{padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .wd-anim__vitals.is-in{opacity:1;transform:translateY(0);}
  .wd-anim__vitals-head{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px;}
  .wd-anim__vitals-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
  .wd-anim__vital{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:5px;background:rgba(46,196,182,.08);}
  .wd-anim__vital-dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);}
  .wd-anim__vital-name{font-size:10px;font-weight:700;color:rgba(255,255,255,.82);}
  .wd-anim__vital-val{font-size:10px;color:var(--color-secondary);font-variant-numeric:tabular-nums;font-weight:700;margin-left:auto;}

  /* Passing callout */
  .wd-anim__pass{margin-top:2px;padding:10px 12px;border-radius:8px;background:linear-gradient(135deg,rgba(46,196,182,.1) 0%,rgba(232,75,26,.08) 100%);border:1px solid rgba(46,196,182,.2);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .wd-anim__pass.is-in{opacity:1;transform:translateY(0);}
  .wd-anim__pass-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
  .wd-anim__pass-label{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--color-secondary);}
  .wd-anim__pass-text{font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;}
  .wd-anim__pass-text strong{color:rgba(255,255,255,.9);}

  .wd-anim__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:auto;}
  .wd-anim__foot-label{display:block;font-size:10px;color:rgba(255,255,255,.4);}
  .wd-anim__foot-sub{display:block;font-size:9px;color:rgba(255,255,255,.25);margin-top:2px;}
  .wd-anim__foot-val{font-size:22px;font-weight:800;color:var(--color-secondary);letter-spacing:-0.02em;opacity:0;transition:opacity .5s ease;font-variant-numeric:tabular-nums;}
  .wd-anim__foot-val.is-in{opacity:1;}

/* ── Branding: br-anim ─────────────────────────────── */
.br-anim{width:100%;height:100%;background:#0e0c2e;border-radius:12px;border:0.5px solid rgba(46,196,182,.25);padding:20px;display:flex;flex-direction:column;gap:12px;font-family:system-ui,sans-serif;}
  .br-anim__head{display:flex;align-items:center;justify-content:space-between;}
  .br-anim__title{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:8px;}
  .br-anim__title-dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);box-shadow:0 0 0 4px rgba(46,196,182,.2);animation:brPulse 2s ease-in-out infinite;}
  @keyframes brPulse{0%,100%{box-shadow:0 0 0 4px rgba(46,196,182,.2);}50%{box-shadow:0 0 0 8px rgba(46,196,182,0);}}
  .br-anim__sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.03em;}

  /* Brand board grid */
  .br-anim__board{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto auto;gap:8px;}
  .br-anim__tile{padding:10px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);opacity:0;transform:translateY(8px) scale(.96);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1);}
  .br-anim__tile.is-in{opacity:1;transform:translateY(0) scale(1);}

  /* Logo tile (spans 2 rows) */
  .br-anim__logo{grid-row:span 2;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;padding:14px 10px;}
  .br-anim__logo-mark{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,var(--color-secondary) 0%,#29b2a6 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(46,196,182,.3);margin:10px 0;}
  .br-anim__logo-mark svg{width:28px;height:28px;color:#0e0c2e;}
  .br-anim__logo-name{font-size:12px;font-weight:800;color:#fff;letter-spacing:.18em;text-transform:uppercase;}
  .br-anim__logo-tag{font-size:8.5px;font-weight:500;color:rgba(255,255,255,.45);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;}

  /* Color swatch tile */
  .br-anim__colors{padding:10px;}
  .br-anim__colors-label{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:6px;}
  .br-anim__swatch-row{display:flex;gap:4px;margin-bottom:6px;}
  .br-anim__swatch{flex:1;height:24px;border-radius:5px;opacity:0;transform:scale(.6);transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1);}
  .br-anim__swatch.is-in{opacity:1;transform:scale(1);}
  .br-anim__hex{font-size:8px;font-family:'SF Mono',Menlo,monospace;color:rgba(255,255,255,.55);text-align:center;letter-spacing:.02em;font-weight:600;}

  /* Typography tile */
  .br-anim__type{padding:10px;}
  .br-anim__type-label{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:4px;}
  .br-anim__type-display{font-size:24px;font-weight:800;color:#fff;letter-spacing:-0.02em;line-height:1;opacity:0;transform:translateY(4px);transition:opacity .5s ease,transform .5s ease;}
  .br-anim__type-display.is-in{opacity:1;transform:translateY(0);}
  .br-anim__type-body{font-size:9px;color:rgba(255,255,255,.55);line-height:1.4;margin-top:4px;opacity:0;transition:opacity .5s ease;}
  .br-anim__type-body.is-in{opacity:1;}
  .br-anim__type-names{display:flex;gap:4px;margin-top:5px;opacity:0;transition:opacity .5s ease;}
  .br-anim__type-names.is-in{opacity:1;}
  .br-anim__type-chip{font-size:7.5px;font-weight:700;color:rgba(46,196,182,.9);background:rgba(46,196,182,.08);padding:2px 5px;border-radius:3px;letter-spacing:.04em;}

  /* Voice tile */
  .br-anim__voice{padding:10px;}
  .br-anim__voice-label{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:6px;}
  .br-anim__voice-list{display:flex;flex-wrap:wrap;gap:4px;}
  .br-anim__voice-pill{font-size:9px;font-weight:700;color:rgba(255,255,255,.85);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);padding:3px 8px;border-radius:20px;opacity:0;transform:translateY(4px);transition:opacity .4s ease,transform .4s ease;}
  .br-anim__voice-pill.is-in{opacity:1;transform:translateY(0);}
  .br-anim__voice-pill--accent{background:rgba(46,196,182,.1);border-color:rgba(46,196,182,.3);color:var(--color-secondary);}

  /* Complete callout */
  .br-anim__done{padding:10px 12px;border-radius:8px;background:linear-gradient(135deg,rgba(46,196,182,.1) 0%,rgba(232,75,26,.08) 100%);border:1px solid rgba(46,196,182,.2);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .br-anim__done.is-in{opacity:1;transform:translateY(0);}
  .br-anim__done-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
  .br-anim__done-label{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--color-secondary);}
  .br-anim__done-text{font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;}
  .br-anim__done-text strong{color:rgba(255,255,255,.9);}

  .br-anim__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:auto;}
  .br-anim__foot-label{display:block;font-size:10px;color:rgba(255,255,255,.4);}
  .br-anim__foot-sub{display:block;font-size:9px;color:rgba(255,255,255,.25);margin-top:2px;}
  .br-anim__foot-val{font-size:22px;font-weight:800;color:var(--color-secondary);letter-spacing:-0.02em;opacity:0;transition:opacity .5s ease;font-variant-numeric:tabular-nums;}
  .br-anim__foot-val.is-in{opacity:1;}

/* ── CRO: cro-anim ─────────────────────────────── */
.cro-anim{width:100%;height:100%;background:#0e0c2e;border-radius:12px;border:0.5px solid rgba(46,196,182,.25);padding:20px;display:flex;flex-direction:column;gap:14px;font-family:system-ui,sans-serif;}
  .cro-anim__head{display:flex;align-items:center;justify-content:space-between;}
  .cro-anim__title{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:8px;}
  .cro-anim__title-dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);box-shadow:0 0 0 4px rgba(46,196,182,.2);animation:croPulse 2s ease-in-out infinite;}
  @keyframes croPulse{0%,100%{box-shadow:0 0 0 4px rgba(46,196,182,.2);}50%{box-shadow:0 0 0 8px rgba(46,196,182,0);}}
  .cro-anim__sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.03em;}

  /* Split variant comparison */
  .cro-anim__vs{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;}
  .cro-anim__variant{padding:12px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease,border-color .5s ease,background .5s ease;position:relative;overflow:hidden;}
  .cro-anim__variant.is-in{opacity:1;transform:translateY(0);}
  .cro-anim__variant.is-winner{border-color:rgba(46,196,182,.6);background:rgba(46,196,182,.08);box-shadow:0 0 0 3px rgba(46,196,182,.1);}
  .cro-anim__variant.is-loser{opacity:.45;}
  .cro-anim__variant-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;}
  .cro-anim__badge{font-size:7.5px;font-weight:800;padding:2px 6px;border-radius:3px;letter-spacing:.06em;background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);}
  .cro-anim__variant.is-winner .cro-anim__badge{background:var(--color-secondary);color:#0e0c2e;}

  /* Mini mock page inside variant */
  .cro-anim__mock{background:rgba(255,255,255,.06);border-radius:5px;padding:8px;margin-bottom:8px;display:flex;flex-direction:column;gap:4px;min-height:70px;}
  .cro-anim__mock-line{height:4px;background:rgba(255,255,255,.18);border-radius:2px;}
  .cro-anim__mock-line--headline{height:6px;width:70%;background:rgba(255,255,255,.32);}
  .cro-anim__mock-line--short{width:55%;}
  .cro-anim__mock-cta{height:11px;width:50%;border-radius:3px;background:rgba(255,255,255,.22);margin-top:3px;}
  .cro-anim__variant.is-winner .cro-anim__mock-cta{background:var(--color-secondary);}

  /* Conversion bar */
  .cro-anim__conv{display:flex;flex-direction:column;gap:4px;}
  .cro-anim__conv-row{display:flex;align-items:center;justify-content:space-between;}
  .cro-anim__conv-label{font-size:8.5px;font-weight:600;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.05em;}
  .cro-anim__conv-val{font-size:16px;font-weight:800;color:#fff;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}
  .cro-anim__variant.is-winner .cro-anim__conv-val{color:var(--color-secondary);}
  .cro-anim__conv-track{height:5px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;}
  .cro-anim__conv-fill{height:100%;background:rgba(255,255,255,.35);border-radius:3px;width:0;transition:width 1.2s cubic-bezier(.22,1,.36,1);}
  .cro-anim__variant.is-winner .cro-anim__conv-fill{background:linear-gradient(90deg,var(--color-secondary) 0%,#29b2a6 100%);}

  /* Winner stamp overlay */
  .cro-anim__stamp{position:absolute;top:10px;right:10px;background:linear-gradient(135deg,var(--color-secondary) 0%,#29b2a6 100%);color:#0e0c2e;font-size:8px;font-weight:900;letter-spacing:.1em;padding:3px 7px;border-radius:4px;text-transform:uppercase;opacity:0;transform:rotate(6deg) scale(.6);transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1);box-shadow:0 4px 12px rgba(46,196,182,.4);}
  .cro-anim__variant.is-winner .cro-anim__stamp{opacity:1;transform:rotate(6deg) scale(1);}

  /* Significance/confidence row */
  .cro-anim__sig{padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center;gap:10px;opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .cro-anim__sig.is-in{opacity:1;transform:translateY(0);}
  .cro-anim__sig-item{display:flex;flex-direction:column;gap:2px;}
  .cro-anim__sig-label{font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.4);}
  .cro-anim__sig-val{font-size:12px;font-weight:800;color:rgba(255,255,255,.9);font-variant-numeric:tabular-nums;}
  .cro-anim__sig-val--accent{color:var(--color-secondary);}

  /* Winner callout */
  .cro-anim__win{padding:10px 12px;border-radius:8px;background:linear-gradient(135deg,rgba(46,196,182,.1) 0%,rgba(232,75,26,.08) 100%);border:1px solid rgba(46,196,182,.2);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .cro-anim__win.is-in{opacity:1;transform:translateY(0);}
  .cro-anim__win-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
  .cro-anim__win-label{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--color-secondary);}
  .cro-anim__win-text{font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;}
  .cro-anim__win-text strong{color:rgba(255,255,255,.9);}

  .cro-anim__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:auto;}
  .cro-anim__foot-label{display:block;font-size:10px;color:rgba(255,255,255,.4);}
  .cro-anim__foot-sub{display:block;font-size:9px;color:rgba(255,255,255,.25);margin-top:2px;}
  .cro-anim__foot-val{font-size:22px;font-weight:800;color:var(--color-secondary);letter-spacing:-0.02em;opacity:0;transition:opacity .5s ease;font-variant-numeric:tabular-nums;}
  .cro-anim__foot-val.is-in{opacity:1;}

/* ── Programmatic: pg-anim ─────────────────────────────── */
.pg-anim{width:100%;height:100%;background:#0e0c2e;border-radius:12px;border:0.5px solid rgba(46,196,182,.25);padding:20px;display:flex;flex-direction:column;gap:12px;font-family:system-ui,sans-serif;}
  .pg-anim__head{display:flex;align-items:center;justify-content:space-between;}
  .pg-anim__title{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:8px;}
  .pg-anim__title-dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);box-shadow:0 0 0 4px rgba(46,196,182,.2);animation:pgPulse 2s ease-in-out infinite;}
  @keyframes pgPulse{0%,100%{box-shadow:0 0 0 4px rgba(46,196,182,.2);}50%{box-shadow:0 0 0 8px rgba(46,196,182,0);}}
  .pg-anim__sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.03em;}

  /* Live impressions ticker */
  .pg-anim__ticker{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px;background:rgba(46,196,182,.06);border:1px solid rgba(46,196,182,.15);}
  .pg-anim__ticker-label{display:flex;flex-direction:column;gap:2px;}
  .pg-anim__ticker-label-main{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(46,196,182,.85);display:flex;align-items:center;gap:5px;}
  .pg-anim__ticker-live{width:5px;height:5px;border-radius:50%;background:var(--color-secondary);animation:pgBlink 1.2s ease-in-out infinite;}
  @keyframes pgBlink{0%,100%{opacity:1;}50%{opacity:.3;}}
  .pg-anim__ticker-label-sub{font-size:8.5px;color:rgba(255,255,255,.4);}
  .pg-anim__ticker-val{font-size:20px;font-weight:800;color:#fff;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}

  /* Channel rows */
  .pg-anim__rows{display:flex;flex-direction:column;gap:6px;}
  .pg-anim__row{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:7px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .pg-anim__row.is-in{opacity:1;transform:translateY(0);}
  .pg-anim__row-icon{width:22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;}
  .pg-anim__row-icon svg{width:14px;height:14px;color:#0e0c2e;}
  .pg-anim__row-mid{display:flex;flex-direction:column;gap:3px;min-width:0;}
  .pg-anim__row-name{font-size:10.5px;font-weight:700;color:rgba(255,255,255,.88);letter-spacing:.01em;}
  .pg-anim__row-meta{display:flex;align-items:center;gap:6px;font-size:8.5px;color:rgba(255,255,255,.4);}
  .pg-anim__row-bar{flex:1;height:3px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;min-width:36px;}
  .pg-anim__row-fill{height:100%;background:linear-gradient(90deg,var(--color-secondary) 0%,#29b2a6 100%);width:0;transition:width 1s cubic-bezier(.22,1,.36,1);}
  .pg-anim__row-metric{font-size:11px;font-weight:800;color:var(--color-secondary);font-variant-numeric:tabular-nums;text-align:right;}
  .pg-anim__row-metric-sub{font-size:8px;color:rgba(255,255,255,.35);font-weight:500;display:block;margin-top:1px;}

  /* Targeting callout */
  .pg-anim__target{padding:10px 12px;border-radius:8px;background:linear-gradient(135deg,rgba(46,196,182,.1) 0%,rgba(232,75,26,.08) 100%);border:1px solid rgba(46,196,182,.2);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
  .pg-anim__target.is-in{opacity:1;transform:translateY(0);}
  .pg-anim__target-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
  .pg-anim__target-label{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--color-secondary);}
  .pg-anim__target-text{font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;}
  .pg-anim__target-text strong{color:rgba(255,255,255,.9);}

  .pg-anim__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:auto;}
  .pg-anim__foot-label{display:block;font-size:10px;color:rgba(255,255,255,.4);}
  .pg-anim__foot-sub{display:block;font-size:9px;color:rgba(255,255,255,.25);margin-top:2px;}
  .pg-anim__foot-val{font-size:22px;font-weight:800;color:var(--color-secondary);letter-spacing:-0.02em;opacity:0;transition:opacity .5s ease;font-variant-numeric:tabular-nums;}
  .pg-anim__foot-val.is-in{opacity:1;}

/* ── Local SEO: ls-anim ─────────────────────────────── */
.ls-anim{width:100%;height:100%;background:#0e0c2e;border-radius:12px;border:0.5px solid rgba(46,196,182,.25);padding:18px;display:flex;flex-direction:column;gap:10px;font-family:system-ui,sans-serif;min-height:0;}
  .ls-anim__head{display:flex;align-items:center;justify-content:space-between;}
  .ls-anim__title{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:8px;}
  .ls-anim__title-dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);box-shadow:0 0 0 4px rgba(46,196,182,.2);animation:lsPulse 2s ease-in-out infinite;}
  @keyframes lsPulse{0%,100%{box-shadow:0 0 0 4px rgba(46,196,182,.2);}50%{box-shadow:0 0 0 8px rgba(46,196,182,0);}}
  .ls-anim__sub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.03em;}

  /* Stylized map */
  .ls-anim__map{position:relative;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#101a3e 0%,#0c1230 100%);border:1px solid rgba(255,255,255,.06);height:130px;flex:0 0 130px;min-height:130px;}
  .ls-anim__map-svg{width:100%;height:100%;display:block;}
  .ls-anim__map-street{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1.5;stroke-linecap:round;}
  .ls-anim__map-street--major{stroke:rgba(46,196,182,.2);stroke-width:2;}
  .ls-anim__map-block{fill:rgba(255,255,255,.03);stroke:rgba(255,255,255,.05);stroke-width:.5;}
  .ls-anim__pin{position:absolute;width:26px;height:26px;transform:translate(-50%,-100%) scale(.4);opacity:0;transition:opacity .4s ease,transform .5s cubic-bezier(.34,1.56,.64,1);}
  .ls-anim__pin.is-in{opacity:1;transform:translate(-50%,-100%) scale(1);}
  .ls-anim__pin-body{width:26px;height:26px;border-radius:50% 50% 50% 0;background:linear-gradient(135deg,var(--color-secondary) 0%,#29b2a6 100%);transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(46,196,182,.4);}
  .ls-anim__pin-body svg{width:12px;height:12px;color:#0e0c2e;transform:rotate(45deg);}
  .ls-anim__pin--primary .ls-anim__pin-body{background:linear-gradient(135deg,#F5C451 0%,#E84B1A 100%);box-shadow:0 6px 14px rgba(232,75,26,.5);}
  .ls-anim__pin-label{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font-size:8px;font-weight:800;color:#fff;background:rgba(0,0,0,.7);padding:2px 5px;border-radius:3px;white-space:nowrap;letter-spacing:.02em;}
  .ls-anim__ripple{position:absolute;top:0;left:50%;width:26px;height:26px;border-radius:50%;transform:translate(-50%,-100%);border:2px solid var(--color-secondary);opacity:0;animation:lsRipple 2.6s ease-out infinite;}
  .ls-anim__pin--primary .ls-anim__ripple{border-color:#F5C451;}
  @keyframes lsRipple{0%{transform:translate(-50%,-100%) scale(.6);opacity:.6;}100%{transform:translate(-50%,-100%) scale(2.5);opacity:0;}}

  /* 3-pack card */
  .ls-anim__pack{padding:10px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);flex-shrink:0;}
  .ls-anim__pack-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
  .ls-anim__pack-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);}
  .ls-anim__pack-query{font-size:8.5px;color:rgba(46,196,182,.8);font-weight:600;}
  .ls-anim__pack-rows{display:flex;flex-direction:column;gap:5px;}
  .ls-anim__pack-row{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:6px 8px;border-radius:5px;background:rgba(255,255,255,.02);opacity:0;transform:translateY(5px);transition:opacity .5s ease,transform .5s ease,background .5s ease,border-color .5s ease;border:1px solid transparent;}
  .ls-anim__pack-row.is-in{opacity:1;transform:translateY(0);}
  .ls-anim__pack-row--you{background:rgba(46,196,182,.08);border-color:rgba(46,196,182,.25);}
  .ls-anim__pack-rank{font-size:11px;font-weight:800;color:rgba(255,255,255,.4);text-align:center;font-variant-numeric:tabular-nums;}
  .ls-anim__pack-row--you .ls-anim__pack-rank{color:var(--color-secondary);}
  .ls-anim__pack-info{display:flex;flex-direction:column;gap:2px;min-width:0;}
  .ls-anim__pack-name{font-size:10px;font-weight:700;color:rgba(255,255,255,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ls-anim__pack-row--you .ls-anim__pack-name{color:var(--color-secondary);}
  .ls-anim__pack-meta{display:flex;align-items:center;gap:5px;font-size:8px;color:rgba(255,255,255,.45);}
  .ls-anim__pack-stars{color:#F59E0B;letter-spacing:.5px;}
  .ls-anim__pack-side{text-align:right;}
  .ls-anim__pack-rating{font-size:10px;font-weight:700;color:rgba(255,255,255,.8);font-variant-numeric:tabular-nums;}
  .ls-anim__pack-reviews{font-size:7.5px;color:rgba(255,255,255,.35);display:block;margin-top:1px;}

  /* Coverage callout */
  .ls-anim__cov{padding:8px 12px;border-radius:8px;background:linear-gradient(135deg,rgba(46,196,182,.1) 0%,rgba(232,75,26,.08) 100%);border:1px solid rgba(46,196,182,.2);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;flex-shrink:0;}
  .ls-anim__cov.is-in{opacity:1;transform:translateY(0);}
  .ls-anim__cov-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;}
  .ls-anim__cov-label{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--color-secondary);}
  .ls-anim__cov-text{font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;}
  .ls-anim__cov-text strong{color:rgba(255,255,255,.9);}

  .ls-anim__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);padding-top:10px;margin-top:auto;flex-shrink:0;}
  .ls-anim__foot-label{display:block;font-size:10px;color:rgba(255,255,255,.4);}
  .ls-anim__foot-sub{display:block;font-size:9px;color:rgba(255,255,255,.25);margin-top:2px;}
  .ls-anim__foot-val{font-size:22px;font-weight:800;color:var(--color-secondary);letter-spacing:-0.02em;opacity:0;transition:opacity .5s ease;font-variant-numeric:tabular-nums;}
  .ls-anim__foot-val.is-in{opacity:1;}

/* ============================================================
   Shared primitives used by the 7 v2 hero animations.
   (aa / ps / wc / sc / sh / pr / vd)
   ============================================================ */
.aa-anim, .ps-anim, .wc-anim, .sc-anim, .sh-anim, .pr-anim, .vd-anim {
  width:100%; height:100%;
  background:#0e0c2e;
  border-radius:12px;
  border:0.5px solid rgba(46,196,182,.25);
  padding:18px;
  display:flex; flex-direction:column; gap:10px;
  font-family:inherit;
  min-height:0; box-sizing:border-box;
}
.aa-anim__head, .ps-anim__head, .wc-anim__head, .sc-anim__head, .sh-anim__head, .pr-anim__head, .vd-anim__head {
  display:flex; align-items:center; justify-content:space-between; flex-shrink:0;
}
.aa-anim__title, .ps-anim__title, .wc-anim__title, .sc-anim__title, .sh-anim__title, .pr-anim__title, .vd-anim__title {
  font-size:13px; font-weight:700; color:rgba(255,255,255,.9);
  display:flex; align-items:center; gap:8px;
}
.aa-anim__title-dot, .ps-anim__title-dot, .wc-anim__title-dot, .sc-anim__title-dot, .sh-anim__title-dot, .pr-anim__title-dot, .vd-anim__title-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--color-secondary);
  box-shadow:0 0 0 4px rgba(46,196,182,.2);
  animation:anPulseV2 2s ease-in-out infinite;
}
@keyframes anPulseV2 {
  0%,100% { box-shadow:0 0 0 4px rgba(46,196,182,.2); }
  50%     { box-shadow:0 0 0 8px rgba(46,196,182,0); }
}
.aa-anim__sub, .ps-anim__sub, .wc-anim__sub, .sc-anim__sub, .sh-anim__sub, .pr-anim__sub, .vd-anim__sub {
  font-size:10px; color:rgba(255,255,255,.35); letter-spacing:.03em;
}
.aa-anim__foot, .ps-anim__foot, .wc-anim__foot, .sc-anim__foot, .sh-anim__foot, .pr-anim__foot, .vd-anim__foot {
  display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:10px; margin-top:auto; flex-shrink:0;
}
.aa-anim__foot-label, .ps-anim__foot-label, .wc-anim__foot-label, .sc-anim__foot-label, .sh-anim__foot-label, .pr-anim__foot-label, .vd-anim__foot-label {
  display:block; font-size:10px; color:rgba(255,255,255,.4);
}
.aa-anim__foot-sub, .ps-anim__foot-sub, .wc-anim__foot-sub, .sc-anim__foot-sub, .sh-anim__foot-sub, .pr-anim__foot-sub, .vd-anim__foot-sub {
  display:block; font-size:9px; color:rgba(255,255,255,.25); margin-top:2px;
}
.aa-anim__foot-val, .ps-anim__foot-val, .wc-anim__foot-val, .sc-anim__foot-val, .sh-anim__foot-val, .pr-anim__foot-val, .vd-anim__foot-val {
  font-size:22px; font-weight:800; color:var(--color-secondary);
  letter-spacing:-0.02em; font-variant-numeric:tabular-nums;
  opacity:0; transition:opacity .5s ease;
}
.aa-anim__foot-val.is-in, .ps-anim__foot-val.is-in, .wc-anim__foot-val.is-in, .sc-anim__foot-val.is-in, .sh-anim__foot-val.is-in, .pr-anim__foot-val.is-in, .vd-anim__foot-val.is-in { opacity:1; }

/* Shared insight pill */
.aa-anim__insight, .ps-anim__insight, .wc-anim__insight, .sc-anim__insight, .sh-anim__insight, .pr-anim__insight, .vd-anim__insight {
  padding:8px 12px; border-radius:8px;
  background:linear-gradient(135deg, rgba(46,196,182,.1) 0%, rgba(232,75,26,.08) 100%);
  border:1px solid rgba(46,196,182,.2);
  opacity:0; transform:translateY(6px);
  transition:opacity .5s ease, transform .5s ease;
  flex-shrink:0;
}
.aa-anim__insight.is-in, .ps-anim__insight.is-in, .wc-anim__insight.is-in, .sc-anim__insight.is-in, .sh-anim__insight.is-in, .pr-anim__insight.is-in, .vd-anim__insight.is-in {
  opacity:1; transform:translateY(0);
}
.aa-anim__insight-label, .ps-anim__insight-label, .wc-anim__insight-label, .sc-anim__insight-label, .sh-anim__insight-label, .pr-anim__insight-label, .vd-anim__insight-label {
  font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--color-secondary);
}
.aa-anim__insight-text, .ps-anim__insight-text, .wc-anim__insight-text, .sc-anim__insight-text, .sh-anim__insight-text, .pr-anim__insight-text, .vd-anim__insight-text {
  font-size:10.5px; line-height:1.5; color:rgba(255,255,255,.72); margin:5px 0 0;
}
.aa-anim__insight-text strong, .ps-anim__insight-text strong, .wc-anim__insight-text strong, .sc-anim__insight-text strong, .sh-anim__insight-text strong, .pr-anim__insight-text strong, .vd-anim__insight-text strong { color:rgba(255,255,255,.9); }

/* ============================================================
   1. AMAZON ADS — aa-anim
   ============================================================ */
.aa-anim__body {
  padding:10px; border-radius:8px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  display:flex; flex-direction:column; gap:8px; flex-shrink:0;
}
.aa-anim__row {
  display:grid; grid-template-columns:auto 1fr auto;
  gap:10px; align-items:center;
  padding:8px 10px; border-radius:6px;
  background:rgba(255,255,255,.03);
  opacity:0; transform:translateX(-6px);
  transition:opacity .5s ease, transform .5s ease;
}
.aa-anim__row.is-in { opacity:1; transform:translateX(0); }
.aa-anim__badge {
  width:22px; height:22px; border-radius:5px;
  background:linear-gradient(135deg, #F5C451 0%, #E84B1A 100%);
  display:flex; align-items:center; justify-content:center;
  color:#0e0c2e; font-size:10px; font-weight:800;
}
.aa-anim__campaign { display:flex; flex-direction:column; min-width:0; }
.aa-anim__campaign-name {
  font-size:11px; font-weight:700; color:rgba(255,255,255,.9);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.aa-anim__campaign-meta { font-size:8.5px; color:rgba(255,255,255,.45); margin-top:1px; }
.aa-anim__acos { display:flex; align-items:center; gap:6px; font-size:10px; }
.aa-anim__acos-old { color:rgba(255,255,255,.35); text-decoration:line-through; font-variant-numeric:tabular-nums; }
.aa-anim__acos-arrow { color:rgba(255,255,255,.35); }
.aa-anim__acos-new { color:var(--color-secondary); font-weight:800; font-variant-numeric:tabular-nums; }
.aa-anim__chart {
  display:flex; align-items:flex-end; gap:4px; height:48px;
  padding:4px; border-radius:6px; background:rgba(255,255,255,.02); flex-shrink:0;
}
.aa-anim__chart-bar {
  flex:1; background:linear-gradient(180deg, var(--color-secondary) 0%, #29b2a6 100%);
  border-radius:2px 2px 0 0; transform-origin:bottom;
  transform:scaleY(0); opacity:0; height:0;
  transition:transform .5s ease, opacity .3s ease, height .5s ease;
}
.aa-anim__chart-bar.is-in { transform:scaleY(1); opacity:1; }

/* ============================================================
   2. PAID SOCIAL — ps-anim
   ============================================================ */
.ps-anim__tabs {
  display:flex; gap:4px; padding:3px;
  background:rgba(255,255,255,.04); border-radius:6px; flex-shrink:0;
}
.ps-anim__tab {
  flex:1; text-align:center; padding:5px 0;
  font-size:9.5px; font-weight:700;
  color:rgba(255,255,255,.5); border-radius:4px;
  letter-spacing:.03em;
}
.ps-anim__tab--active { background:rgba(46,196,182,.15); color:var(--color-secondary); }
.ps-anim__platforms { display:flex; flex-direction:column; gap:8px; flex-shrink:0; }
.ps-anim__platform {
  padding:10px 12px; border-radius:8px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.05);
  display:grid; grid-template-columns:28px 1fr auto;
  gap:10px; align-items:center;
  opacity:0; transform:translateY(6px);
  transition:opacity .5s ease, transform .5s ease;
}
.ps-anim__platform.is-in { opacity:1; transform:translateY(0); }
.ps-anim__platform-logo {
  width:28px; height:28px; border-radius:7px;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:13px; color:#fff;
}
.ps-anim__platform--meta .ps-anim__platform-logo { background:linear-gradient(135deg, #0866ff 0%, #764abc 50%, #fd7e14 100%); }
.ps-anim__platform--linkedin .ps-anim__platform-logo { background:#0a66c2; }
.ps-anim__platform--tiktok .ps-anim__platform-logo { background:#000; position:relative; }
.ps-anim__platform--tiktok .ps-anim__platform-logo::before { content:'TT'; color:#25F4EE; }
.ps-anim__platform-info { display:flex; flex-direction:column; gap:2px; }
.ps-anim__platform-name { font-size:11px; font-weight:700; color:rgba(255,255,255,.9); }
.ps-anim__platform-meta { font-size:8.5px; color:rgba(255,255,255,.45); }
.ps-anim__platform-kpi { text-align:right; }
.ps-anim__platform-val { font-size:12px; font-weight:800; color:var(--color-secondary); font-variant-numeric:tabular-nums; }
.ps-anim__platform-val-label { font-size:8px; color:rgba(255,255,255,.4); display:block; margin-top:1px; letter-spacing:.05em; text-transform:uppercase; }

/* ============================================================
   3. WEB & CREATIVE — wc-anim
   ============================================================ */
.wc-anim__board {
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:6px; flex-shrink:0;
}
.wc-anim__asset {
  aspect-ratio:1 / 1;
  border-radius:6px; position:relative; overflow:hidden;
  opacity:0; transform:scale(.9);
  transition:opacity .4s ease, transform .4s cubic-bezier(.34,1.56,.64,1);
  border:1px solid rgba(255,255,255,.08);
}
.wc-anim__asset.is-in { opacity:1; transform:scale(1); }
.wc-anim__asset--1 { background:linear-gradient(135deg, #2ec4b6 0%, #1a8a7f 100%); }
.wc-anim__asset--2 { background:linear-gradient(135deg, #F5C451 0%, #E84B1A 100%); }
.wc-anim__asset--3 { background:linear-gradient(135deg, #764abc 0%, #3a1a5c 100%); }
.wc-anim__asset--4 { background:linear-gradient(135deg, #0866ff 0%, #0a2d5c 100%); }
.wc-anim__asset--5 { background:linear-gradient(135deg, #E84B1A 0%, #7a1f0a 100%); }
.wc-anim__asset--6 { background:linear-gradient(135deg, #2ec4b6 0%, #105c5c 100%); }
.wc-anim__asset-tag {
  position:absolute; bottom:4px; left:4px; right:4px;
  font-size:7.5px; font-weight:800; letter-spacing:.04em;
  text-transform:uppercase; color:rgba(255,255,255,.9);
  background:rgba(0,0,0,.4); backdrop-filter:blur(4px);
  padding:2px 4px; border-radius:3px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.wc-anim__asset-badge {
  position:absolute; top:4px; right:4px;
  width:14px; height:14px; border-radius:50%;
  background:var(--color-secondary);
  display:flex; align-items:center; justify-content:center;
  font-size:9px; font-weight:800; color:#0e0c2e;
}

/* ============================================================
   4. SEARCH & CONTENT — sc-anim
   ============================================================ */
.sc-anim__cluster {
  position:relative; flex:1; min-height:160px; flex-shrink:0;
}
.sc-anim__cluster-svg {
  position:absolute; inset:0; width:100%; height:100%;
}
.sc-anim__node {
  position:absolute;
  transform:translate(-50%, -50%) scale(.4);
  opacity:0;
  transition:opacity .5s ease, transform .5s cubic-bezier(.34,1.56,.64,1);
}
.sc-anim__node.is-in { opacity:1; transform:translate(-50%, -50%) scale(1); }
.sc-anim__node-chip {
  padding:5px 9px; border-radius:12px;
  background:rgba(46,196,182,.12);
  border:1px solid rgba(46,196,182,.3);
  color:rgba(255,255,255,.9);
  font-size:9px; font-weight:700;
  white-space:nowrap; display:flex; align-items:center; gap:5px;
}
.sc-anim__node--center .sc-anim__node-chip {
  background:linear-gradient(135deg, var(--color-secondary) 0%, #29b2a6 100%);
  color:#0e0c2e; padding:8px 12px; font-size:10px; border:none;
  box-shadow:0 4px 10px rgba(46,196,182,.4);
}
.sc-anim__node-count {
  width:16px; height:16px; border-radius:50%;
  background:rgba(0,0,0,.3); color:#fff;
  font-size:8px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  font-variant-numeric:tabular-nums;
}
.sc-anim__node--center .sc-anim__node-count { background:rgba(14,12,46,.6); color:var(--color-secondary); }
.sc-anim__line {
  stroke:rgba(46,196,182,.2); stroke-width:1.5;
  stroke-dasharray:200; stroke-dashoffset:200;
  transition:stroke-dashoffset .9s ease;
  fill:none;
}
.sc-anim__line.is-in { stroke-dashoffset:0; }

/* ============================================================
   5. SHOPIFY — sh-anim
   ============================================================ */
.sh-anim__metrics { display:flex; flex-direction:column; gap:8px; flex-shrink:0; }
.sh-anim__metric {
  padding:10px 12px; border-radius:8px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.05);
  opacity:0; transform:translateX(-6px);
  transition:opacity .5s ease, transform .5s ease;
}
.sh-anim__metric.is-in { opacity:1; transform:translateX(0); }
.sh-anim__metric-head {
  display:flex; justify-content:space-between; align-items:center; margin-bottom:6px;
}
.sh-anim__metric-name { font-size:10px; font-weight:700; color:rgba(255,255,255,.9); }
.sh-anim__metric-delta { font-size:10px; font-weight:800; color:var(--color-secondary); font-variant-numeric:tabular-nums; }
.sh-anim__metric-bar {
  position:relative; height:5px; border-radius:3px;
  background:rgba(255,255,255,.08); overflow:hidden;
}
.sh-anim__metric-bar-fill {
  position:absolute; left:0; top:0; bottom:0;
  background:linear-gradient(90deg, var(--color-secondary) 0%, #F5C451 100%);
  border-radius:3px; width:0; transition:width 1s ease; display:block;
}
.sh-anim__metric-values {
  display:flex; justify-content:space-between; margin-top:4px;
  font-size:8px; color:rgba(255,255,255,.4);
  font-variant-numeric:tabular-nums;
}

/* ============================================================
   6. PR / DIGITAL PR — pr-anim
   ============================================================ */
.pr-anim__placements {
  padding:10px; border-radius:8px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  display:flex; flex-direction:column; gap:6px; flex-shrink:0;
}
.pr-anim__placement {
  display:grid; grid-template-columns:1fr auto;
  gap:8px; align-items:center;
  padding:6px 8px; border-radius:5px;
  background:rgba(255,255,255,.02);
  opacity:0; transform:translateY(4px);
  transition:opacity .5s ease, transform .5s ease;
}
.pr-anim__placement.is-in { opacity:1; transform:translateY(0); }
.pr-anim__pub {
  font-size:11px; font-weight:800; color:rgba(255,255,255,.92);
  font-family:Georgia, "Times New Roman", serif;
  letter-spacing:-0.01em;
}
.pr-anim__meta {
  font-size:8.5px; color:rgba(255,255,255,.45); margin-top:2px; letter-spacing:.02em;
}
.pr-anim__dr { display:flex; flex-direction:column; align-items:flex-end; }
.pr-anim__dr-val { font-size:11px; font-weight:800; color:var(--color-secondary); font-variant-numeric:tabular-nums; }
.pr-anim__dr-label { font-size:7.5px; color:rgba(255,255,255,.35); letter-spacing:.08em; text-transform:uppercase; font-weight:600; }

/* ============================================================
   7. VIDEO — vd-anim
   ============================================================ */
.vd-anim__player {
  position:relative; flex-shrink:0;
  aspect-ratio:16 / 9; border-radius:8px; overflow:hidden;
  background:linear-gradient(135deg, #1a1940 0%, #0c1230 100%);
  border:1px solid rgba(255,255,255,.08);
}
.vd-anim__player-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 70% 35%, rgba(46,196,182,0.2) 0%, transparent 45%),
    radial-gradient(circle at 25% 70%, rgba(232,75,26,0.15) 0%, transparent 45%);
}
.vd-anim__player-play {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%, -50%);
  width:42px; height:42px; border-radius:50%;
  background:rgba(46,196,182,.95);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 16px rgba(46,196,182,.5);
  animation:vdPulse 2.2s ease-in-out infinite;
}
.vd-anim__player-play svg { width:16px; height:16px; color:#0e0c2e; margin-left:2px; }
@keyframes vdPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(46,196,182,.5); }
  70%     { box-shadow:0 0 0 14px rgba(46,196,182,0); }
}
.vd-anim__progress {
  position:absolute; left:8px; right:8px; bottom:8px;
  height:3px; border-radius:2px; background:rgba(255,255,255,.2); overflow:hidden;
}
.vd-anim__progress-fill {
  height:100%; width:0; background:var(--color-secondary);
  transition:width 1.6s ease;
}
.vd-anim__progress-fill.is-in { width:68%; }
.vd-anim__stats {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; flex-shrink:0;
}
.vd-anim__stat {
  padding:8px 10px; border-radius:6px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.05);
  opacity:0; transform:translateY(6px);
  transition:opacity .5s ease, transform .5s ease;
  text-align:center;
}
.vd-anim__stat.is-in { opacity:1; transform:translateY(0); }
.vd-anim__stat-val {
  font-size:14px; font-weight:800; color:var(--color-secondary);
  font-variant-numeric:tabular-nums; letter-spacing:-0.02em;
}
.vd-anim__stat-label {
  font-size:7.5px; color:rgba(255,255,255,.4);
  letter-spacing:.08em; text-transform:uppercase; margin-top:2px; font-weight:600;
}

/* ──────────────────────────────────────────────────────────
   TECHNICAL SEO ANIMATION — audit check rows + Core Web Vitals
   ────────────────────────────────────────────────────────── */
.ts-anim {
  width:100%; height:100%;
  background:#0e0c2e;
  border-radius:12px;
  border:0.5px solid rgba(46,196,182,0.25);
  padding:20px;
  display:flex; flex-direction:column; gap:14px;
  font-family:var(--wp--preset--font-family--body, system-ui, sans-serif);
}
.ts-anim__head {
  display:flex; align-items:center; justify-content:space-between;
}
.ts-anim__title {
  font-size:13px; font-weight:700; color:rgba(255,255,255,.9);
  display:flex; align-items:center; gap:8px;
}
.ts-anim__title-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--color-secondary, #2ec4b6);
  box-shadow:0 0 0 4px rgba(46,196,182,.2);
  animation:tsAnimPulse 2s ease-in-out infinite;
}
.ts-anim__sub {
  font-size:10px; color:rgba(255,255,255,.35); letter-spacing:.03em;
}
.ts-anim__rows {
  display:flex; flex-direction:column; gap:8px;
}
.ts-anim__row {
  display:grid; grid-template-columns:1fr auto auto auto; gap:8px;
  align-items:center;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:6px;
  padding:8px 10px;
  opacity:0; transform:translateY(6px);
  transition: opacity 0.5s ease, transform 0.5s ease, border-color 0.3s ease, background 0.3s ease;
}
.ts-anim__row.is-in {
  opacity:1; transform:translateY(0);
}
.ts-anim__row.is-win {
  border-color:rgba(46,196,182,0.35);
  background:rgba(46,196,182,0.06);
}
.ts-anim__label {
  font-size:11px; color:rgba(255,255,255,.55);
}
.ts-anim__before {
  font-size:11px; color:rgba(255,80,80,.7);
}
.ts-anim__arrow {
  font-size:11px; color:rgba(255,255,255,.25);
}
.ts-anim__after {
  font-size:11px; font-weight:600; color:#2ec4b6;
  opacity:0; transform:translateX(-4px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.ts-anim__row.is-win .ts-anim__after {
  opacity:1; transform:translateX(0);
}
.ts-anim__vitals {
  background:rgba(46,196,182,.06);
  border:1px solid rgba(46,196,182,.2);
  border-radius:8px;
  padding:10px 12px;
  opacity:0; transform:translateY(4px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.ts-anim__vitals.is-in {
  opacity:1; transform:translateY(0);
}
.ts-anim__vitals-head {
  margin-bottom:4px;
}
.ts-anim__vitals-label {
  font-size:11px; font-weight:600; color:#2ec4b6;
}
.ts-anim__vitals-text {
  font-size:11px; color:rgba(255,255,255,.55); margin:0;
}
.ts-anim__vitals-val {
  color:rgba(255,255,255,.85); font-weight:600;
}
.ts-anim__foot {
  display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:10px; margin-top:auto;
}
.ts-anim__foot-label {
  font-size:11px; font-weight:600; color:rgba(255,255,255,.7);
  display:block;
}
.ts-anim__foot-sub {
  font-size:10px; color:rgba(255,255,255,.3);
  display:block;
}
.ts-anim__foot-val {
  font-size:22px; font-weight:800; color:#2ec4b6;
  opacity:0; transition:opacity 0.4s ease;
}
.ts-anim__foot-val.is-in {
  opacity:1;
}
@keyframes tsAnimPulse {
  0%,100% { box-shadow:0 0 0 4px rgba(46,196,182,.2); }
  50%     { box-shadow:0 0 0 8px rgba(46,196,182,0); }
}

/* ──────────────────────────────────────────────────────────
   Reduced motion — disable all pulsing / transitions across
   every service animation so the graphic renders statically.
   ────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .seo-anim__title-dot, .pm-anim__title-dot, .geo-anim__title-dot, .cm-anim__title-dot, .sm-anim__title-dot, .am-anim__title-dot, .wd-anim__title-dot, .br-anim__title-dot, .cro-anim__title-dot, .pg-anim__title-dot, .ls-anim__title-dot,
    .aa-anim__title-dot, .ps-anim__title-dot, .wc-anim__title-dot, .sc-anim__title-dot, .sh-anim__title-dot, .pr-anim__title-dot, .vd-anim__title-dot, .ts-anim__title-dot { animation: none; }
    [class$='-anim'] *, [class*='-anim__'] { transition: none !important; animation: none !important; }
    [class$='-anim'] [style*='opacity:0'], [class*='-anim__'] { opacity: 1 !important; transform: none !important; }
}

/* ==========================================================================
   LOCATION HERO GRAPHIC — used on city/industry/service landing pages.
   Single SVG illustration + per-page topic label injected via PHP.
   ========================================================================== */

.loc-hero-graphic {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    aspect-ratio: 1 / 1;
    background: var(--color-dark);
    border-radius: var(--radius-xl);
    overflow: hidden;
    position: relative;
    box-shadow: 0 24px 60px rgba(18, 16, 54, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
}
.loc-hero-graphic > svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Subtle ring pulse — mostly decorative; respects prefers-reduced-motion */
@keyframes loc-hero-pulse {
    0%, 100% { transform: scale(1);    opacity: var(--ring-opacity, 0.55); }
    50%      { transform: scale(1.04); opacity: calc(var(--ring-opacity, 0.55) * 0.6); }
}
.loc-hero-graphic__ring {
    transform-origin: 300px 300px;
    transform-box: fill-box;
    animation: loc-hero-pulse 5s ease-in-out infinite;
}
.loc-hero-graphic__ring--1 { --ring-opacity: 0.55; animation-delay: 0s; }
.loc-hero-graphic__ring--2 { --ring-opacity: 0.40; animation-delay: 0.6s; }
.loc-hero-graphic__ring--3 { --ring-opacity: 0.28; animation-delay: 1.2s; }
.loc-hero-graphic__ring--4 { --ring-opacity: 0.18; animation-delay: 1.8s; }

@media (prefers-reduced-motion: reduce) {
    .loc-hero-graphic__ring { animation: none; }
}

/* The center label card has a soft hover-style glow */
.loc-hero-graphic__label rect {
    transition: filter 0.4s ease;
}
.service-hero__visual:hover .loc-hero-graphic__label rect {
    filter: drop-shadow(0 0 16px rgba(46, 196, 182, 0.4));
}

/* ============================================================
   SERVICE-TEMPLATE ACCENT VARIANT — page-service only
   Subtle teal/orange colour highlights that distinguish service
   pages from service-detail without changing the layout.
   ============================================================ */

/* 1px teal gradient bar — matches industry-hero exactly */
.service-hero--svc::before {
    height: 1px;
    opacity: 0.6;
    background: linear-gradient(90deg, var(--color-secondary) 0%, rgba(46,196,182,0.2) 100%);
}

/* Orbs — pure CSS via ::after, no PHP elements needed */
@keyframes svc-orbs-breathe {
    0%   { opacity: 0.6; }
    100% { opacity: 1; }
}

.service-hero--svc::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(circle 600px at 108% 30%, rgba(46,196,182,0.22)  0%, transparent 100%),
        radial-gradient(circle 500px at -8%  88%, rgba(232,75,26,0.17)   0%, transparent 100%),
        radial-gradient(circle 440px at 50% -6%,  rgba(110,55,200,0.12)  0%, transparent 100%);
    animation: svc-orbs-breathe 9s ease-in-out infinite alternate;
    animation-fill-mode: both;
}

/* Ensure content sits above the glow */
.service-hero--svc .intero-container {
    position: relative;
    z-index: 1;
}

/* Eyebrow label — shown on service template only */
.service-hero__eyebrow {
    display: block;
    margin-bottom: 14px;
}

/* Short teal/orange gradient rule beneath the H1 */
.service-hero__rule {
    width: 48px;
    height: 4px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--color-secondary) 0%, var(--color-primary) 100%);
    margin: 16px 0 24px;
}
