/**
 * "Spark" redesign (see callrankdigital-ca-spark/ — the client-supplied
 * Concept 11 package: midnight blue background, sky blue + coral accents,
 * a 3D "climb to #1" hero, Sora/Mukta fonts).
 *
 * Strategy: this does NOT fork the nd- component library into a parallel
 * sp- one. app/Views/pages/home.php, nav.php, footer.php and floaters.php
 * are untouched (same content, same real menu, same real forms) — every
 * nd- component (buttons, cards, the mega-menu, the FAQ accordion, the
 * testimonial carousel, the lead form) already reads its colors from
 * --nd-* custom properties, so `body.sp-home` below just redefines those
 * properties to Spark's palette + fonts. Everything reskins automatically,
 * with zero markup duplication and zero risk to pages that stay on the
 * current nd- (blue/dark-red) look, since the override is scoped to this
 * one class. Only two things are genuinely new: the 3D hero box/ticks
 * below (nothing in the nd- library does a 3D scene), and this file.
 *
 * See assets/js/spark-hero-3d.js for the 3D scene itself (ported from
 * callrankdigital-ca-spark/public_html/assets/js/hero-3d.js).
 */
body.sp-home{
  --nd-ink:#080C24;
  --nd-ink-2:#0A0F2E;
  --nd-paper:#0D1330;
  --nd-mist:#111842;
  --nd-surface:#151C40;
  --nd-line:rgba(238,241,250,.14);
  --nd-growth:#5BC8FF;
  --nd-growth-dark:#3FB6F5;
  --nd-growth-tint:rgba(91,200,255,.14);
  --nd-sky:#5BC8FF;
  --nd-sky-dark:#3FB6F5;
  --nd-pulse:#FF7A5C;
  --nd-pulse-dark:#F2664A;
  --nd-pulse-tint:rgba(255,122,92,.16);
  --nd-text:#EEF1FA;
  --nd-text-soft:#A1A9C8;
  --nd-text-mute:#7A83A8;
  --nd-on-ink:#EEF1FA;
  --nd-on-ink-soft:#A1A9C8;
  --nd-shadow:0 22px 48px -26px rgba(0,0,0,.75);
  --nd-shadow-sm:0 12px 28px -16px rgba(0,0,0,.6);
  --nd-font-display:'Sora',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --nd-font-body:'Mukta',ui-sans-serif,system-ui,-apple-system,sans-serif;
}

/* The Spark original's header is a translucent, blurred bar (rgba(13,19,48,.93)
   + backdrop-filter) that content scrolls softly behind — not a solid panel. */
body.sp-home .nd-site-header{
  background:rgba(13,19,48,.93);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}

/* Spark's own convention is dark text on bright (sky/coral) fills, not the
   nd- system's white — matches the source package's --on-accent:#06142A. */
body.sp-home .nd-btn--pulse,
body.sp-home .nd-btn--paper{ color:#06142A; }
body.sp-home .nd-hero-kicker .nd-tag-dot{ color:#06142A; }
body.sp-home .nd-rank-result__badge{ color:#06142A; }

/* Card surfaces already remap via --nd-surface, but a couple of nd-
   components hardcode #fff for "text on an always-dark ink band" — those
   still read correctly here since the whole Spark page is dark, so no
   change needed there. */

/* .nd-rs-4's 62/38 color-mix(pulse, ink) was tuned for the nd- system's
   dark maroon pulse (#9E1B24) blending into its navy ink (#0B1F3D) — with
   Spark's much brighter coral (#FF7A5C) the same ratio mixes down into a
   muddy brick-brown instead of a clean warm coral, clashing with every
   other coral element on the page. Skewing the mix toward more pulse
   keeps it recognizably coral here. */
body.sp-home .nd-rs-4{background:color-mix(in srgb, var(--nd-pulse) 85%, var(--nd-ink) 15%);}

/* ---- new: hero badge/ticks/3D box (nothing in the nd- library does this) ---- */
.sp-ticks{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.6rem;}
.sp-ticks li{position:relative;padding-left:1.9rem;font-weight:600;color:var(--nd-text);font-size:.95rem;}
.sp-ticks li::before{content:"";position:absolute;left:0;top:.15rem;width:20px;height:20px;border-radius:50%;background:var(--nd-growth);}
.sp-ticks li::after{content:"";position:absolute;left:.42rem;top:.5rem;width:8px;height:4px;border-left:2.5px solid #06142A;border-bottom:2.5px solid #06142A;transform:rotate(-45deg);}

.sp-hero-3d{position:relative;height:460px;}
.sp-hero-3d canvas{
  position:absolute;inset:0;width:100%;height:100%;
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%);
  mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%);
}
.sp-hero-3d .sp-hero-3d-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.5;}
.sp-hero-3d.ready .sp-hero-3d-fallback{display:none;}
@media (max-width:900px){
  .sp-hero-3d{height:38svh;min-height:280px;max-height:400px;}
}
@media (prefers-reduced-motion:reduce){
  .sp-hero-3d canvas{display:none;}
  .sp-hero-3d .sp-hero-3d-fallback{display:flex;opacity:1;}
}

/* =====================================================================
   SPARK LAYOUT — ported from callrankdigital-ca-spark/public_html/
   assets/css/style.css so the home page matches the original section by
   section. Same measurements (1180px wrap, 92px sections, 14px radius,
   the coloured-top-border cards ...), colours through the --nd-* tokens
   remapped above. Every rule is scoped `body.sp-home` because:
     - legacy style.css is still loaded and forces `text-transform:
       uppercase !important; line-height:1.5 !important` on every heading,
       which is what made our headings huge and ALL-CAPS vs the original;
     - `body.nd-home a{color:inherit}` and `body.nd-home button:not(.nd-btn)
       {background:none;...}` outrank a bare single-class rule, so button
       rules use `.sp-btn.sp-btn-*` (0,3,1) to win over both.
   ===================================================================== */

/* -- typography: the original's heading look, on every Spark page ------- */
body.sp-home{font-size:17px;line-height:1.65;}
body.sp-home h1,body.sp-home h2,body.sp-home h3,body.sp-home h4,body.sp-home h5,body.sp-home h6{
  text-transform:none !important;
  letter-spacing:-.02em !important;
  line-height:1.12 !important;
}
body.sp-home h3,body.sp-home h4{line-height:1.25 !important;}
body.sp-home h1{font-weight:800;}
body.sp-home h2{font-weight:700;}

/* the original's header carries a 4px sky->coral stripe */
body.sp-home .nd-site-header::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--nd-growth),var(--nd-pulse));}

/* the capability marquee doubles as the original's trust strip */
body.sp-home .nd-marquee{background:var(--nd-paper);border-block:1px solid var(--nd-line);padding-block:0;}
body.sp-home .nd-marquee__set span{color:var(--nd-text-soft);font-size:14px;font-weight:700;padding:22px 1.4rem;}

/* -- primitives -------------------------------------------------------- */
body.sp-home .sp-wrap{max-width:1180px;margin:0 auto;padding:0 22px;}
body.sp-home .sp-sec{padding:92px 0;position:relative;}
body.sp-home .sp-sec p,body.sp-home .sp-hero p{max-width:none;}
body.sp-home .sp-sec-white{background:var(--nd-paper);}
body.sp-home .sp-sec-alt{background:var(--nd-mist);}
body.sp-home .sp-sec-green{background:#101740;}
body.sp-home .sp-sec-navy{background:var(--nd-surface);}
body.sp-home .sp-sec-head{max-width:720px;margin-bottom:46px;}
body.sp-home .sp-sec-head.sp-center{margin-left:auto;margin-right:auto;text-align:center;}
body.sp-home .sp-sec-head p{margin-top:14px;font-size:18px;}
body.sp-home .sp-kicker{display:inline-block;font-family:var(--nd-font-display);font-size:13px;font-weight:700;letter-spacing:.04em;color:#FF9077;margin-bottom:12px;}
body.sp-home .sp-hl-s{color:var(--nd-growth);}
body.sp-home .sp-hl-g{color:#FF9077;}
body.sp-home .sp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
body.sp-home .sp-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
body.sp-home .sp-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
body.sp-home .sp-btns.sp-center{justify-content:center;}

/* -- buttons ------------------------------------------------------------ */
body.sp-home .sp-btn.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:100px;font-family:var(--nd-font-display);font-weight:700;font-size:15px;line-height:1.2;border:2px solid transparent;cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s,color .18s;text-decoration:none;}
body.sp-home .sp-btn.sp-btn:hover{transform:translateY(-2px);}
body.sp-home .sp-btn.sp-btn-primary{background:var(--nd-growth);color:#06142A;box-shadow:0 12px 26px -14px rgba(91,200,255,.7);}
body.sp-home .sp-btn.sp-btn-primary:hover{background:var(--nd-growth-dark);}
body.sp-home .sp-btn.sp-btn-green{background:var(--nd-pulse);color:#06142A;}
body.sp-home .sp-btn.sp-btn-green:hover{background:var(--nd-pulse-dark);}
body.sp-home .sp-btn.sp-btn-outline{background:transparent;border-color:var(--nd-growth);color:var(--nd-text);}
body.sp-home .sp-btn.sp-btn-outline:hover{background:var(--nd-growth);color:#06142A;}
body.sp-home .sp-btn.sp-btn-block{width:100%;}

/* -- hero --------------------------------------------------------------- */
body.sp-home .sp-hero{position:relative;overflow:hidden;padding:56px 0 80px;background:
  radial-gradient(720px 470px at 6% 0%,rgba(91,200,255,.16),transparent 70%),
  radial-gradient(720px 470px at 100% 100%,rgba(255,122,92,.13),transparent 70%),var(--nd-paper);}
body.sp-home .sp-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;}
body.sp-home .sp-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--nd-font-display);font-size:13px;font-weight:700;padding:7px 14px;border-radius:100px;background:var(--nd-surface);border:1.5px solid var(--nd-growth);color:var(--nd-growth);margin-bottom:20px;}
body.sp-home .sp-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--nd-pulse);flex:none;}
body.sp-home .sp-hero-lede{margin-top:20px;}
body.sp-home .sp-hero-lede p{font-size:clamp(17px,1.9vw,20px);color:var(--nd-text-soft);}
body.sp-home .sp-hero-lede p+p{margin-top:.85rem;}
body.sp-home .sp-hero-lede p:first-child{color:var(--nd-text);font-weight:600;}
body.sp-home .sp-phone{display:inline-flex;align-items:center;gap:.7rem;margin-top:22px;color:var(--nd-text);}
body.sp-home .sp-phone svg{width:38px;height:38px;padding:9px;border-radius:50%;background:var(--nd-growth-tint);color:var(--nd-growth);flex:none;}
body.sp-home .sp-phone span{display:flex;flex-direction:column;font-size:13px;line-height:1.3;color:var(--nd-text-soft);}
body.sp-home .sp-phone strong{font-family:var(--nd-font-display);font-size:16px;color:var(--nd-text);}
body.sp-home .sp-ticks{margin-top:24px;}
body.sp-home .sp-hero-3d{height:540px;}

/* -- problem ------------------------------------------------------------ */
body.sp-home .sp-pain{padding:26px;border-radius:14px;background:var(--nd-surface);border:1px solid var(--nd-line);}
body.sp-home .sp-pain-x{width:34px;height:34px;border-radius:50%;background:var(--nd-pulse-tint);color:var(--nd-pulse);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
body.sp-home .sp-pain-x svg{width:16px;height:16px;}
body.sp-home .sp-pain h3{color:var(--nd-growth);font-size:20px;margin:0;}
body.sp-home .sp-lead-in{font-weight:700;color:var(--nd-text);margin-bottom:22px;font-size:18px;}
body.sp-home .sp-close{font-size:18px;color:var(--nd-text);}
body.sp-home .sp-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
body.sp-home .sp-split-top{margin-top:54px;}
body.sp-home .sp-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
body.sp-home .sp-pills span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:100px;background:var(--nd-surface);border:1.5px solid var(--nd-line);font-family:var(--nd-font-display);font-weight:600;font-size:13.5px;color:var(--nd-text);}
body.sp-home .sp-pills svg{width:15px;height:15px;color:var(--nd-growth);flex:none;}
body.sp-home .sp-trustcard{background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:14px;padding:32px;text-align:center;box-shadow:var(--nd-shadow);}
body.sp-home .sp-trustcard .nd-medal{width:84px;height:84px;margin:0 auto 14px;}
body.sp-home .sp-trustcard h4{font-size:20px;margin-bottom:6px;}
body.sp-home .sp-trustcard>p{font-size:14px;margin-bottom:18px;}
body.sp-home .sp-trustcard ul{display:grid;gap:10px;text-align:left;margin-top:6px;}
body.sp-home .sp-trustcard li{position:relative;padding-left:28px;font-weight:600;color:var(--nd-text);font-size:15px;}
body.sp-home .sp-trustcard li svg{position:absolute;left:0;top:3px;width:18px;height:18px;color:var(--nd-growth);}

/* -- cards (services) --------------------------------------------------- */
body.sp-home .sp-card{display:block;background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:14px;padding:28px;border-top:4px solid var(--nd-growth);transition:transform .2s,box-shadow .2s;}
body.sp-home .sp-card:nth-child(3n+2){border-top-color:var(--nd-pulse);}
body.sp-home .sp-card:nth-child(3n+3){border-top-color:#2B3BB0;}
body.sp-home a.sp-card:hover,body.sp-home .sp-card:hover{transform:translateY(-4px);box-shadow:var(--nd-shadow);}
body.sp-home .sp-card h3{margin:14px 0 10px;font-size:20px;}
body.sp-home .sp-card p{font-size:16px;}
body.sp-home .sp-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(91,200,255,.14);color:var(--nd-growth);}
body.sp-home .sp-card:nth-child(3n+2) .sp-icon{background:rgba(255,122,92,.15);color:#FF9077;}
body.sp-home .sp-card:nth-child(3n+3) .sp-icon{background:rgba(238,241,250,.08);color:var(--nd-text);}
body.sp-home .sp-icon svg{width:26px;height:26px;}

/* -- why-us split + checklist ------------------------------------------- */
body.sp-home .sp-split p.sp-side{margin-top:16px;font-size:18px;}
body.sp-home .sp-statcard{margin-top:28px;display:flex;align-items:center;gap:18px;background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:14px;padding:20px 24px;}
body.sp-home .sp-statcard b{font-family:var(--nd-font-display);font-weight:800;font-size:44px;line-height:1;color:var(--nd-growth);}
body.sp-home .sp-statcard p{font-size:15px;}
body.sp-home .sp-checklist{list-style:none;padding:0;display:grid;gap:18px;counter-reset:c;}
body.sp-home .sp-checklist li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;counter-increment:c;}
body.sp-home .sp-checklist li::before{content:counter(c);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--nd-font-display);font-weight:800;background:var(--nd-growth);color:#06142A;}
body.sp-home .sp-checklist li:nth-child(2n)::before{background:var(--nd-pulse);}
body.sp-home .sp-checklist h3{font-size:17.5px;margin-bottom:4px;}
body.sp-home .sp-checklist p{font-size:16px;}

/* -- stats -------------------------------------------------------------- */
body.sp-home .sp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center;}
body.sp-home .sp-stat b{display:block;font-family:var(--nd-font-display);font-weight:800;font-size:clamp(34px,4.4vw,52px);line-height:1;color:var(--nd-growth);}
body.sp-home .sp-stat:nth-child(2n) b{color:var(--nd-pulse);}
body.sp-home .sp-stat span{display:block;margin-top:10px;color:var(--nd-text-soft);font-size:15px;}

/* -- results / testimonials -------------------------------------------- */
body.sp-home .sp-quote{margin:0;background:var(--nd-surface);border:1px solid var(--nd-line);border-radius:14px;padding:30px 28px 28px;color:var(--nd-text);position:relative;}
body.sp-home .sp-quote .sp-stars{color:#F5B301;letter-spacing:3px;font-size:18px;margin-bottom:14px;}
body.sp-home .sp-quote p{font-size:16.5px;line-height:1.65;color:var(--nd-text);}
body.sp-home .sp-quote cite{display:flex;align-items:center;gap:14px;margin-top:18px;font-style:normal;font-size:15px;font-weight:700;color:#FF9077;}
body.sp-home .sp-quote cite .sp-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--nd-sky,#0EA5E9);color:#06202b;font-weight:800;font-size:18px;}
body.sp-home .sp-quote cite .sp-who{display:block;min-width:0;}
body.sp-home .sp-quote cite .sp-who strong{display:block;font-weight:700;}
body.sp-home .sp-quote cite .sp-who span{display:block;font-weight:500;color:var(--nd-text-soft);font-size:14px;}

/* -- offer band --------------------------------------------------------- */
body.sp-home .sp-offer{background:var(--nd-growth);padding:64px 0;}
body.sp-home .sp-offer h2,body.sp-home .sp-offer p{color:#06142A;}
body.sp-home .sp-offer-in{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
body.sp-home .sp-offer p{margin-top:10px;font-size:18px;}
body.sp-home .sp-offer-badges{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;}
body.sp-home .sp-offer-badges li{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:#06142A;}
body.sp-home .sp-offer-badges svg{width:16px;height:16px;}
body.sp-home .sp-offer-actions{display:flex;flex-wrap:wrap;gap:12px;}
body.sp-home .sp-btn.sp-btn-dark{background:#06142A;color:var(--nd-growth);}
body.sp-home .sp-btn.sp-btn-dark:hover{background:#04101F;}
body.sp-home .sp-btn.sp-btn-dark-outline{background:transparent;border-color:#06142A;color:#06142A;}
body.sp-home .sp-btn.sp-btn-dark-outline:hover{background:#06142A;color:var(--nd-growth);}

/* -- steps -------------------------------------------------------------- */
body.sp-home .sp-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:22px;counter-reset:s;}
body.sp-home .sp-steps li{grid-column:span 2;counter-increment:s;background:var(--nd-surface);border-radius:14px;padding:28px;border:1px solid var(--nd-line);}
body.sp-home .sp-steps li:nth-child(4){grid-column:2 / span 2;}
body.sp-home .sp-steps li:nth-child(5){grid-column:4 / span 2;}
body.sp-home .sp-steps li::before{content:counter(s);display:flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;font-family:var(--nd-font-display);font-weight:800;background:var(--nd-growth);color:#06142A;margin-bottom:16px;}
body.sp-home .sp-steps li:nth-child(2n)::before{background:var(--nd-pulse);}
body.sp-home .sp-steps li:nth-child(3n)::before{background:#2B3BB0;color:var(--nd-text);}
body.sp-home .sp-steps h3{font-size:19px;margin-bottom:8px;}
body.sp-home .sp-steps p{font-size:16px;}

/* -- chips (industries) ------------------------------------------------- */
body.sp-home .sp-chips{display:flex;flex-wrap:wrap;gap:10px;}
body.sp-home .sp-chips.sp-center{justify-content:center;}
body.sp-home .sp-chips span,body.sp-home .sp-chips a{padding:10px 18px;border-radius:100px;background:var(--nd-surface);border:1.5px solid var(--nd-line);font-family:var(--nd-font-display);font-weight:600;font-size:14.5px;color:var(--nd-text);}
body.sp-home .sp-chips span:hover,body.sp-home .sp-chips a:hover{border-color:var(--nd-growth);color:var(--nd-growth);}
body.sp-home .sp-foot{text-align:center;margin-top:30px;font-size:16px;}
body.sp-home .sp-foot a{color:#FF9077;font-weight:700;border-bottom:2px solid var(--nd-line);}

/* -- FAQ (native <details>, exactly like the original) ------------------ */
body.sp-home .sp-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;}
body.sp-home .sp-faq details{border-bottom:1px solid var(--nd-line);padding:18px 0;}
body.sp-home .sp-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-family:var(--nd-font-display);font-weight:700;font-size:17px;color:var(--nd-text);}
body.sp-home .sp-faq summary::-webkit-details-marker{display:none;}
body.sp-home .sp-faq summary::after{content:"+";color:var(--nd-growth);font-size:24px;line-height:1;flex:none;}
body.sp-home .sp-faq details[open] summary::after{content:"\2212";color:#FF9077;}
body.sp-home .sp-faq details p{margin-top:12px;}

/* -- final lead --------------------------------------------------------- */
body.sp-home .sp-lead{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
body.sp-home .sp-lead .sp-side{margin-top:14px;font-size:18px;}
body.sp-home .sp-value{display:grid;gap:14px;margin-top:26px;}
body.sp-home .sp-value li{position:relative;padding-left:34px;font-weight:600;color:var(--nd-text);}
body.sp-home .sp-value li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--nd-growth);}
body.sp-home .sp-value li::after{content:"";position:absolute;left:7px;top:8px;width:8px;height:4px;border-left:2.5px solid #06142A;border-bottom:2.5px solid #06142A;transform:rotate(-45deg);}
body.sp-home .sp-value .sp-tag{margin-left:10px;background:var(--nd-pulse-tint);color:#FF9077;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:100px;}
body.sp-home .sp-form-card{background:var(--nd-surface);border-radius:18px;padding:32px;box-shadow:var(--nd-shadow);border:1px solid var(--nd-line);border-top:6px solid var(--nd-growth);}
body.sp-home .sp-form-card h3{font-size:24px;margin-bottom:6px;}
body.sp-home .sp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;}
body.sp-home .sp-form-grid .sp-full{grid-column:1/-1;}
body.sp-home .sp-form-card label{display:block;font-family:var(--nd-font-display);font-size:13.5px;font-weight:700;color:var(--nd-text);margin-bottom:6px;}
body.sp-home .sp-form-card input{width:100%;padding:13px 14px;border-radius:10px;border:1.5px solid var(--nd-line);background:#0F1636;color:var(--nd-text);font-size:16px;transition:border-color .2s,box-shadow .2s;}
body.sp-home .sp-form-card input::placeholder{color:#7A83A8;}
body.sp-home .sp-form-card input:focus{outline:none;border-color:var(--nd-growth);box-shadow:0 0 0 3px rgba(91,200,255,.24);}
body.sp-home .sp-form-note{font-size:13px;color:var(--nd-text-soft);margin-top:12px;}

/* -- responsive (same breakpoints as the original) ---------------------- */
@media (max-width:900px){
  body.sp-home .sp-hero{padding:10px 0 60px;}
  body.sp-home .sp-hero-grid{grid-template-columns:1fr;gap:6px;}
  body.sp-home .sp-hero-3d{order:-1;height:44svh;min-height:300px;max-height:420px;}
  body.sp-home .sp-grid-3{grid-template-columns:1fr 1fr;}
  body.sp-home .sp-split,body.sp-home .sp-lead,body.sp-home .sp-faq{grid-template-columns:1fr;gap:34px;}
  body.sp-home .sp-stats{grid-template-columns:1fr 1fr;gap:34px;}
  body.sp-home .sp-steps{grid-template-columns:1fr;}
  body.sp-home .sp-steps li,body.sp-home .sp-steps li:nth-child(4),body.sp-home .sp-steps li:nth-child(5){grid-column:auto;}
}
@media (max-width:620px){
  body.sp-home .sp-sec{padding:66px 0;}
  body.sp-home .sp-grid-3,body.sp-home .sp-grid-2,body.sp-home .sp-form-grid{grid-template-columns:1fr;}
  body.sp-home .sp-form-card{padding:24px 20px;}
  body.sp-home .sp-statcard b{font-size:36px;}
}

/* long-form prose (service detail pages, blog posts): keep the intended heading rhythm */
body.sp-home .nd-blog-post-body h2,body.sp-home .nd-blog-post-body h3,body.sp-home .nd-blog-post-body h4{margin:1.9rem 0 .7rem;}
body.sp-home .nd-blog-post-body > :first-child{margin-top:0;}
