/* ════════════════════════════════════════════
   ON PAGE SEO PAGE — page-specific styles
   Loaded render-blocking + preloaded (see <head>).
   Hero shell, container, proof-strip layout live in the
   page's critical inline CSS. Shared component styles
   (.related-services, .proof-icon) come from sage-site-components.css.
   ════════════════════════════════════════════ */

/* ── Section scaffolding ─────────────────────── */
.ops-section{padding:78px 0}
.ops-section--dark{background:#020c1b}
.ops-section--alt{background:#f6f8fc}
.ops-head{text-align:center;max-width:780px;margin:0 auto}
.ops-eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1763c4;margin-bottom:10px;display:block}
.ops-head h2{font-size:clamp(24px,3vw,34px);font-weight:600;color:#111;line-height:1.25;margin-bottom:14px}
.ops-head p{color:#525a6b;font-size:16px;line-height:1.7;margin:0}
.ops-section--dark .ops-eyebrow{color:#caef45}
.ops-section--dark .ops-head h2{color:#fff}
.ops-section--dark .ops-head p{color:rgba(255,255,255,0.72)}

/* ── Hero bullets ────────────────────────────── */
.ops-hero-bullets{list-style:none;margin:24px 0 0;padding:0}
.ops-hero-bullets li{position:relative;padding-left:30px;margin-bottom:12px;color:rgba(255,255,255,0.9);font-size:16px;line-height:1.5}
.ops-hero-bullets li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:#caef45;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='black'/></svg>") center/14px no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='black'/></svg>") center/14px no-repeat}

/* ── Hero graphic: annotated on page mockup ──── */
.ops-mockup{width:100%;max-width:440px;margin:0 auto;align-self:center;background:linear-gradient(160deg,#0b1830 0%,#0a1426 100%);border:1px solid rgba(41,171,226,0.18);border-radius:16px;padding:18px 18px 20px;box-shadow:0 26px 60px rgba(0,0,0,0.45)}
.ops-mockup-bar{display:flex;align-items:center;gap:7px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,0.08)}
.ops-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.ops-dot-r{background:#ff5f56}.ops-dot-y{background:#ffbd2e}.ops-dot-g{background:#27c93f}
.ops-url{flex:1;margin-left:8px;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.5);font-size:12px;padding:5px 12px;border-radius:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ops-mockup-body{display:flex;flex-direction:column;gap:11px}
.ops-row{display:flex;align-items:center;gap:10px;justify-content:space-between}
.ops-el{flex:1;min-width:0;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:9px 12px;font-size:13px;line-height:1.35;color:rgba(255,255,255,0.85);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ops-el-title{color:#8ab4ff;font-weight:600}
.ops-el-meta{color:rgba(255,255,255,0.6);font-size:12.5px}
.ops-el-h1{color:#fff;font-weight:700;font-size:14.5px;border-left:3px solid #caef45}
.ops-el-h2{color:rgba(255,255,255,0.92);font-weight:600;font-size:13px;border-left:3px solid rgba(202,239,69,0.5)}
.ops-el-link{color:#caef45;text-decoration:underline;text-underline-offset:3px}
.ops-el-schema{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;color:#7ee0c0;background:rgba(126,224,192,0.07);border-color:rgba(126,224,192,0.18);font-size:12.5px}
.ops-tag{flex-shrink:0;font-size:11px;font-weight:600;color:#0b1830;background:#caef45;border-radius:20px;padding:3px 11px;white-space:nowrap}
.ops-tag-blue{background:#29abe2;color:#fff}
.ops-row-body{flex-direction:column;align-items:stretch;gap:7px;padding:2px 0}
.ops-bodyline{height:7px;background:rgba(255,255,255,0.10);border-radius:4px}
.ops-bodyline-short{width:55%}

/* staggered reveal */
.ops-row{opacity:0;transform:translateY(10px);animation:ops-reveal .55s cubic-bezier(.2,.7,.3,1) forwards}
.ops-row:nth-child(1){animation-delay:.10s}
.ops-row:nth-child(2){animation-delay:.22s}
.ops-row:nth-child(3){animation-delay:.34s}
.ops-row:nth-child(4){animation-delay:.46s}
.ops-row:nth-child(5){animation-delay:.58s}
.ops-row:nth-child(6){animation-delay:.70s}
.ops-row:nth-child(7){animation-delay:.82s}
@keyframes ops-reveal{to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  .ops-row{opacity:1;transform:none;animation:none}
}

/* ── What it covers: cards ───────────────────── */
.ops-cover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.ops-cover-card{background:#fff;border:1px solid #e7e9f2;border-radius:14px;padding:24px 22px;transition:transform .15s ease,box-shadow .15s ease}
.ops-cover-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(13,18,45,.10)}
.ops-cover-card h3{font-size:18px;font-weight:600;color:#14172e;margin-bottom:8px}
.ops-cover-card p{font-size:14.5px;line-height:1.6;color:#525a6b;margin:0}
@media(max-width:900px){.ops-cover-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ops-cover-grid{grid-template-columns:1fr}}

/* ── Process steps (dark section) ────────────── */
.ops-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.ops-step{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:26px 22px}
.ops-step-num{width:40px;height:40px;border-radius:50%;background:#caef45;color:#0b1830;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:16px}
.ops-step h3{font-size:16px;font-weight:600;color:#fff;margin-bottom:8px}
.ops-step p{font-size:14px;line-height:1.6;color:rgba(255,255,255,0.7);margin:0}
@media(max-width:900px){.ops-steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ops-steps{grid-template-columns:1fr}}

/* ── Why it matters (alt section) ────────────── */
.ops-why{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
.ops-why-text h2{font-size:clamp(22px,2.6vw,30px);font-weight:600;color:#111;line-height:1.28;margin-bottom:16px}
.ops-why-text p{color:#525a6b;font-size:15.5px;line-height:1.8;margin-bottom:16px}
.ops-why-text p:last-child{margin-bottom:0}
.ops-why-points{display:flex;flex-direction:column;gap:16px}
.ops-why-point{background:#fff;border:1px solid #e7e9f2;border-radius:14px;padding:20px 22px;display:flex;gap:18px;align-items:center}
.ops-why-stat{font-size:30px;font-weight:700;color:#1763c4;line-height:1;flex-shrink:0;min-width:62px}
.ops-why-point p{font-size:13.5px;line-height:1.55;color:#525a6b;margin:0}
@media(max-width:900px){.ops-why{grid-template-columns:1fr;gap:30px}}

/* ════════════════════════════════════════════
   CTA BAND — same concept as seo-services (.cro-cta-band)
   ════════════════════════════════════════════ */
.cro-cta-band{position:relative;overflow:hidden;background:linear-gradient(135deg,#020c1b 0%,#1a3a6e 40%,#020c1b 100%);border-radius:24px;padding:64px 56px;margin:60px 0;border:1px solid rgba(41,171,226,0.2);display:grid;grid-template-columns:1fr auto;align-items:center;gap:48px}
.cro-cta-band::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(41,171,226,0.15) 0%,transparent 65%);pointer-events:none}
.cro-cta-band::after{content:'';position:absolute;bottom:28px;left:56px;width:80px;height:3px;background:linear-gradient(90deg,#253a8f,#29abe2,#caef45);border-radius:3px}
.cro-cta-eyebrow{font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#caef45;margin-bottom:12px;display:block}
.cro-cta-band h2{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;color:#fff;line-height:1.3;margin:0 0 20px}
.cro-cta-band h2 span{color:#caef45}
.cro-cta-stats{display:flex;gap:28px;flex-wrap:wrap}
.cro-cta-stat-val{font-size:20px;font-weight:700;color:#fff;line-height:1}
.cro-cta-stat-lbl{font-size:11px;color:rgba(255,255,255,0.65)}
.cro-cta-btns{display:flex;flex-direction:column;gap:12px;align-items:center;min-width:200px;position:relative;z-index:1}
.cro-cta-btn{display:flex;align-items:center;justify-content:center;width:100%;background:#caef45;color:#0a1628;font-size:15px;font-weight:700;padding:14px 28px;border-radius:50px;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s;white-space:nowrap}
.cro-cta-btn:hover{background:#b8e020;transform:translateY(-2px);box-shadow:0 10px 28px rgba(202,239,69,0.4);color:#0a1628;text-decoration:none}
.cro-cta-note{font-size:11px;color:rgba(255,255,255,0.7);text-align:center}
@media (max-width:992px){.cro-cta-band{grid-template-columns:1fr;padding:48px 40px;margin:48px 0}}
@media (max-width:640px){.cro-cta-band{padding:40px 24px}}
