/* ─────────────────────────────────────────────────────────
   Shopify SEO — /services/shopify-seo/
   Cyan accent (Shopify SEO icon). --red is remapped to cyan so all
   the shared accent atoms pick it up automatically.
   ───────────────────────────────────────────────────────── */

body.ld-tpl-new-services-shopify-seo {
  --red: #0FA8CF;      /* accent: text, buttons, bullets */
  --ss-cyan: #16c3ef;  /* brighter cyan for glows / letters */
}

/* ── Shared atoms ─────────────────────────────────── */
.ss-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--red); margin: 0 0 14px; display: inline-block; }
.ss-eyebrow--center { display: block; text-align: center; }
.ss-h2 { font-size: clamp(2rem, 3.6vw, 3rem); font-weight: 900; letter-spacing: -0.01em; line-height: 1.08; margin: 0 0 14px; color: var(--black); text-transform: uppercase; }
.ss-h2 em { font-style: normal; color: var(--red); font-weight: 900; }
.ss-h2--center { text-align: center; }
.ss-h2--white { color: var(--white); }
.ss-h2--white em { color: var(--ss-cyan); }
.ss-section-inner { max-width: 1200px; margin: 0 auto; }
.ss-section-head { margin: 0 auto 56px; max-width: 900px; text-align: center; }
.ss-section-sub { font-size: 17px; line-height: 1.65; color: var(--muted); margin: 14px auto 0; max-width: 820px; }

.ss-btn { display: inline-flex; align-items: center; gap: 10px; padding: 17px 28px; font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none; border-radius: 8px; transition: background 0.22s, color 0.22s, transform 0.22s; white-space: nowrap; }
.ss-btn svg { width: 14px; height: 14px; transition: transform 0.22s; }
.ss-btn:hover svg { transform: translateX(4px); }
.ss-btn--primary { background: var(--red); color: var(--white); box-shadow: 0 12px 28px rgba(15, 168, 207, 0.32); }
.ss-btn--primary:hover { background: var(--black); color: var(--white); transform: translateY(-2px); }

/* ── HERO ──────────────────────────────────────────── */
.ss-hero { position: relative; padding: 80px 48px 40px; background: radial-gradient(circle at 88% 8%, rgba(22, 195, 239, 0.22) 0%, transparent 46%), radial-gradient(circle at 0% 100%, rgba(22, 195, 239, 0.08) 0%, transparent 52%), var(--black); color: var(--white); overflow: hidden; }
.ss-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 64px 64px; pointer-events: none; mask-image: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, transparent 80%); -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, transparent 80%); }
.ss-hero-watermark { position: absolute; bottom: -30px; right: -10px; font-size: clamp(6rem, 15vw, 13rem); font-weight: 900; letter-spacing: -0.04em; color: rgba(255,255,255,0.04); pointer-events: none; white-space: nowrap; line-height: 1; }
.ss-hero-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 56px; align-items: center; }
.ss-hero-h1 { font-size: clamp(2.4rem, 5vw, 3.8rem); font-weight: 900; letter-spacing: -0.02em; line-height: 1.02; margin: 0 0 18px; color: var(--white); text-transform: uppercase; }
.ss-hero-h1 em { font-style: normal; color: var(--ss-cyan); }
.ss-hero-sub { font-size: 19px; line-height: 1.55; color: rgba(255,255,255,0.9); margin: 0 0 28px; max-width: 540px; }
.ss-hero-actions { display: inline-flex; gap: 14px; flex-wrap: wrap; }
.ss-hero-micro { font-size: 13px; line-height: 1.55; color: rgba(255,255,255,0.6); margin: 18px 0 0; max-width: 480px; }
.ss-hero-media { display: flex; justify-content: center; min-width: 0; }
.ss-hero-icon { width: 100%; max-width: 320px; height: auto; display: block; filter: drop-shadow(0 20px 50px rgba(22, 195, 239, 0.35)); }

/* Trust bar */
.ss-trust { position: relative; z-index: 1; list-style: none; margin: 48px auto 0; padding: 22px 0 0; max-width: 1200px; border-top: 1px solid rgba(255,255,255,0.12); display: flex; flex-wrap: wrap; gap: 14px 40px; align-items: center; }
.ss-trust-item { font-size: 14px; font-weight: 700; letter-spacing: 0.02em; color: rgba(255,255,255,0.82); display: flex; align-items: center; }
.ss-trust-item::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ss-cyan); margin-right: 12px; flex-shrink: 0; }

/* ── THE REFRAME ───────────────────────────────────── */
.ss-reframe { padding: 96px 48px; background: var(--white); }
.ss-reframe-inner { max-width: 860px; text-align: center; }
.ss-reframe-body { font-size: 18px; line-height: 1.7; color: var(--muted); margin: 0 0 32px; }
.ss-callout { font-size: clamp(1.3rem, 2.4vw, 1.8rem); font-weight: 900; letter-spacing: -0.01em; color: var(--black); margin: 0; }

/* ── SCOPE AI PILLARS ──────────────────────────────── */
.ss-scope { padding: 96px 48px; background: var(--bg); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.ss-pillars { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.ss-pillar { padding: 32px 26px; background: var(--white); border: 1px solid var(--rule); border-radius: 14px; transition: transform 0.22s, border-color 0.22s, box-shadow 0.22s; }
.ss-pillar:hover { transform: translateY(-3px); border-color: rgba(15, 168, 207, 0.4); box-shadow: 0 16px 36px rgba(0,0,0,0.05); }
.ss-pillar-letter { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; background: var(--red); color: var(--white); font-size: 22px; font-weight: 900; margin: 0 0 16px; box-shadow: 0 10px 22px rgba(15, 168, 207, 0.28); }
.ss-pillar-title { font-size: 18px; font-weight: 800; color: var(--black); margin: 0 0 10px; letter-spacing: -0.01em; }
.ss-pillar-desc { font-size: 14px; line-height: 1.6; color: var(--muted); margin: 0; }
.ss-scope-note { max-width: 820px; margin: 40px auto 0; text-align: center; font-size: 16px; line-height: 1.6; color: var(--black); font-weight: 600; }

/* ── COMPARISON TABLE ──────────────────────────────── */
.ss-compare { padding: 96px 48px; background: var(--white); }
.ss-compare-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ss-compare-table { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0; }
.ss-compare-table th, .ss-compare-table td { text-align: left; vertical-align: top; padding: 20px 22px; border-bottom: 1px solid var(--rule); }
.ss-compare-table thead th { font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; border-bottom: 2px solid var(--black); }
.ss-compare-table thead .ss-compare-lion { color: var(--red); }
.ss-compare-table thead .ss-compare-typ { color: var(--muted); }
.ss-compare-dim { width: 15%; font-size: 13px; font-weight: 800; color: var(--black); text-transform: uppercase; letter-spacing: 0.04em; }
td.ss-compare-lion { width: 45%; font-size: 14.5px; line-height: 1.55; color: var(--black); background: rgba(15, 168, 207, 0.05); }
td.ss-compare-lion span { display: inline; }
.ss-compare-tick { width: 15px; height: 15px; color: var(--red); float: left; margin: 4px 10px 0 0; }
.ss-compare-typ { width: 40%; font-size: 14.5px; line-height: 1.55; color: var(--muted); }
.ss-compare-table tbody tr:last-child th, .ss-compare-table tbody tr:last-child td { border-bottom: none; }

/* ── WHY (DARK BANNER) ─────────────────────────────── */
.ss-why { padding: 96px 48px; background: radial-gradient(circle at 80% 8%, rgba(22, 195, 239, 0.2) 0%, transparent 50%), var(--black); color: var(--white); position: relative; overflow: hidden; }
.ss-why-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ss-why-card { padding: 40px 32px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); border-radius: 14px; transition: transform 0.22s, background 0.22s, border-color 0.22s; }
.ss-why-card:hover { transform: translateY(-3px); background: rgba(22, 195, 239, 0.08); border-color: rgba(22, 195, 239, 0.4); }
.ss-why-num { display: inline-block; font-size: 28px; font-weight: 900; color: var(--ss-cyan); letter-spacing: -0.02em; margin: 0 0 14px; }
.ss-why-title { font-size: 20px; font-weight: 800; color: var(--white); margin: 0 0 12px; letter-spacing: -0.01em; }
.ss-why-desc { font-size: 14.5px; line-height: 1.65; color: rgba(255,255,255,0.75); margin: 0; }

/* ── PROOF ─────────────────────────────────────────── */
.ss-proof { padding: 96px 48px; background: var(--bg); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.ss-proof-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ss-proof-card { padding: 40px 32px; background: var(--white); border: 1px solid var(--rule); border-radius: 16px; text-align: center; }
.ss-proof-brand { display: block; font-size: 14px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--black); margin: 0 0 14px; }
.ss-proof-result { display: block; font-size: clamp(1.2rem, 1.8vw, 1.5rem); font-weight: 900; line-height: 1.2; color: var(--red); letter-spacing: -0.01em; }
.ss-proof-link { display: inline-flex; align-items: center; gap: 8px; margin: 40px auto 0; font-size: 13px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--red); text-decoration: none; justify-content: center; width: 100%; }
.ss-proof-link svg { width: 14px; height: 14px; transition: transform 0.22s; }
.ss-proof-link:hover svg { transform: translateX(4px); }

/* ── PROCESS ───────────────────────────────────────── */
.ss-process { padding: 96px 48px; background: var(--white); }
.ss-process-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ss-process-item { display: flex; gap: 20px; padding: 28px 30px; background: var(--bg); border: 1px solid var(--rule); border-radius: 14px; }
.ss-process-num { font-size: 24px; font-weight: 900; color: var(--red); letter-spacing: -0.02em; line-height: 1.1; flex-shrink: 0; }
.ss-process-title { font-size: 18px; font-weight: 800; color: var(--black); margin: 0 0 8px; letter-spacing: -0.01em; }
.ss-process-desc { font-size: 14.5px; line-height: 1.6; color: var(--muted); margin: 0; }

/* ── FAQ (ACCORDION) ───────────────────────────────── */
.ss-faq { padding: 96px 48px; background: var(--bg); border-top: 1px solid var(--rule); }
.ss-faq-inner { max-width: 900px; }
.ss-faq-list { display: flex; flex-direction: column; gap: 12px; }
.ss-faq-item { background: var(--white); border: 1px solid var(--rule); border-radius: 12px; overflow: hidden; }
.ss-faq-q { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px; font-size: 16.5px; font-weight: 700; color: var(--black); cursor: pointer; list-style: none; }
.ss-faq-q::-webkit-details-marker { display: none; }
.ss-faq-icon { width: 20px; height: 20px; color: var(--red); flex-shrink: 0; transition: transform 0.25s; }
.ss-faq-item[open] .ss-faq-icon { transform: rotate(45deg); }
.ss-faq-item[open] .ss-faq-q { color: var(--red); }
.ss-faq-a { padding: 0 26px 24px; }
.ss-faq-a p { font-size: 15px; line-height: 1.7; color: var(--muted); margin: 0; }

/* ── FINAL CTA (DARK) ──────────────────────────────── */
.ss-cta { padding: 96px 48px; background: radial-gradient(circle at 50% 0%, rgba(22, 195, 239, 0.24) 0%, transparent 55%), var(--black); color: var(--white); }
.ss-cta-inner { max-width: 820px; text-align: center; }
.ss-cta-title { font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 900; letter-spacing: -0.01em; line-height: 1.05; text-transform: uppercase; color: var(--white); margin: 0 0 18px; }
.ss-cta-title em { font-style: normal; color: var(--ss-cyan); }
.ss-cta-sub { font-size: 17px; line-height: 1.65; color: rgba(255,255,255,0.82); margin: 0 0 32px; }
.ss-cta-inner .ss-btn { margin: 0 auto; }

/* ── RESPONSIVE ────────────────────────────────────── */
@media (max-width: 1024px) {
  .ss-hero { padding: 64px 28px 36px; }
  .ss-hero-inner { grid-template-columns: 1fr; gap: 36px; }
  .ss-hero-media { order: -1; justify-content: flex-start; }
  .ss-hero-icon { max-width: 200px; }
  .ss-reframe, .ss-scope, .ss-compare, .ss-why, .ss-proof, .ss-process, .ss-faq, .ss-cta { padding: 72px 28px; }
  .ss-pillars { grid-template-columns: repeat(2, 1fr); }
  .ss-why-grid, .ss-proof-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .ss-hero { padding: 56px 20px 32px; }
  .ss-reframe, .ss-scope, .ss-compare, .ss-why, .ss-proof, .ss-process, .ss-faq, .ss-cta { padding: 56px 20px; }
  .ss-pillars, .ss-process-list { grid-template-columns: 1fr; }
  .ss-hero-actions { flex-direction: column; width: 100%; }
  .ss-hero-actions .ss-btn { width: 100%; justify-content: center; }
  .ss-trust { gap: 12px 24px; }
}
