/* Service business websites section.
 *
 * Kept out of shared.css on purpose. shared.css is cached for a week and its
 * fingerprint is stamped into all 37 existing pages, so adding to it means
 * sweeping every one of them. This file is loaded only by the thirteen pages
 * in this section and carries its own fingerprint, so the blast radius of a
 * change here is the section and nothing else.
 *
 * Every color comes from the tokens already defined in shared.css. Nothing
 * here introduces a new brand color.
 */

/* ── Header ─────────────────────────────────────────────────────────────── */
.sbw-header{padding:160px 56px 76px;position:relative;overflow:hidden;background:var(--black);}
.sbw-header::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(circle at 18% 28%, rgba(245,130,10,0.16) 0%, transparent 42%),
             radial-gradient(circle at 82% 72%, rgba(245,130,10,0.20) 0%, transparent 46%);
  filter:blur(8px);}
.sbw-header-in{position:relative;z-index:1;max-width:1280px;margin:0 auto;}
.sbw-crumb{font-family:var(--font-sub);font-size:0.74rem;font-weight:700;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--ink-500);margin-bottom:24px;}
.sbw-crumb a{color:var(--ink-500);text-decoration:none;transition:color 0.2s;}
.sbw-crumb a:hover{color:var(--orange-deep);}
.sbw-crumb .sep{margin:0 10px;color:var(--border-strong);}
.sbw-eyebrow{font-family:var(--font-sub);font-size:0.78rem;font-weight:700;letter-spacing:0.28em;
  text-transform:uppercase;color:var(--orange-deep);margin-bottom:18px;display:flex;
  align-items:center;gap:12px;}
.sbw-eyebrow::before{content:'';display:block;width:32px;height:1px;background:var(--orange);}
.sbw-h1{font-family:var(--font-head);font-size:clamp(3.1rem,6.6vw,6rem);line-height:0.94;
  letter-spacing:0.02em;max-width:1080px;margin:0 0 24px;color:var(--ink-900);}
.sbw-h1 span{color:var(--orange-strong);}
.sbw-lede,.sbw-bite{font-size:1.18rem;color:var(--ink-700);max-width:780px;line-height:1.75;
  margin:0 0 34px;}
.sbw-bite strong{color:var(--ink-900);font-weight:700;}

/* ── Buttons ────────────────────────────────────────────────────────────── */
.sbw-offer-acts{display:flex;gap:14px;flex-wrap:wrap;}
.sbw-btn,.sbw-btn-ghost{display:inline-block;font-family:var(--font-sub);font-weight:700;
  font-size:0.88rem;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;
  padding:16px 38px;transition:background 0.2s,color 0.2s,border-color 0.2s;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);}
.sbw-btn{background:var(--orange);color:#1A1714;}
.sbw-btn:hover{background:var(--orange-hot);}
.sbw-btn-ghost{background:transparent;color:var(--ink-900);border:1px solid var(--border-strong);}
.sbw-btn-ghost:hover{border-color:var(--orange);color:var(--orange-deep);}

/* ── Generic section ────────────────────────────────────────────────────── */
.sbw-section{padding:92px 56px;background:var(--black);position:relative;}
.sbw-section.sbw-alt{background:var(--dark);}
.sbw-in{max-width:1280px;margin:0 auto;position:relative;z-index:1;}
.sbw-tag{font-family:var(--font-sub);font-size:0.72rem;font-weight:700;letter-spacing:0.28em;
  text-transform:uppercase;color:var(--orange-deep);margin-bottom:14px;display:flex;
  align-items:center;gap:12px;}
.sbw-tag::before{content:'';display:block;width:24px;height:1px;background:var(--orange);}
.sbw-h2{font-family:var(--font-head);font-size:clamp(2.2rem,3.9vw,3.4rem);line-height:1.02;
  letter-spacing:0.02em;margin:0 0 18px;max-width:940px;color:var(--ink-900);}
.sbw-h2 span{color:var(--orange-strong);}
.sbw-dek{font-size:1.05rem;color:var(--ink-700);max-width:840px;line-height:1.8;margin:0 0 34px;}

/* ── Bullet points ──────────────────────────────────────────────────────── */
.sbw-points{list-style:none;padding:0;margin:0 0 40px;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;max-width:980px;}
.sbw-points li{position:relative;padding-left:26px;font-size:0.99rem;color:var(--ink-700);
  line-height:1.65;}
.sbw-points li::before{content:'';position:absolute;left:0;top:0.6em;width:10px;height:2px;
  background:var(--orange);}

/* ── Jump strip ─────────────────────────────────────────────────────────── */
.sbw-jump{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--border);border:1px solid var(--border);}
.sbw-jump-link{background:var(--panel);padding:22px 20px;text-decoration:none;display:block;
  font-family:var(--font-sub);font-weight:700;font-size:0.92rem;letter-spacing:0.03em;
  color:var(--ink-800);transition:background 0.2s,color 0.2s;}
.sbw-jump-link span{display:block;font-family:var(--font-head);font-size:1.5rem;
  color:var(--orange-strong);line-height:1;margin-bottom:8px;}
.sbw-jump-link:hover{background:var(--dark);color:var(--orange-deep);}

/* ── Proof cards ────────────────────────────────────────────────────────── */
.sbw-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.sbw-proof{display:block;background:var(--panel);border:1px solid var(--border);padding:28px 26px;
  text-decoration:none;position:relative;overflow:hidden;
  transition:border-color 0.25s,transform 0.25s;}
.sbw-proof::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;
  background:var(--orange);}
.sbw-proof:hover{border-color:rgba(245,130,10,0.42);transform:translateY(-2px);}
.sbw-proof-cat{font-family:var(--font-sub);font-size:0.68rem;font-weight:700;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--ink-500);margin-bottom:10px;}
.sbw-proof-name{font-family:var(--font-sub);font-size:1.08rem;font-weight:700;letter-spacing:0.02em;
  color:var(--ink-900);margin-bottom:4px;}
.sbw-proof-url{font-size:0.82rem;color:var(--orange-deep);margin-bottom:12px;word-break:break-all;}
.sbw-proof-line{font-size:0.93rem;color:var(--ink-700);line-height:1.68;margin:0 0 16px;}
.sbw-proof-go{font-family:var(--font-sub);font-size:0.72rem;font-weight:700;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--ink-900);border-bottom:2px solid var(--orange);
  padding-bottom:2px;}

/* ── Honest note about proof ────────────────────────────────────────────── */
.sbw-note{background:var(--panel);border:1px solid var(--border-strong);
  border-left:3px solid var(--orange);padding:22px 26px;margin:0 0 28px;max-width:860px;}
.sbw-note-t{font-family:var(--font-sub);font-size:0.72rem;font-weight:700;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--orange-deep);margin-bottom:8px;}
.sbw-note p{margin:0;font-size:0.97rem;color:var(--ink-700);line-height:1.72;}

/* ── At a glance ────────────────────────────────────────────────────────── */
.sbw-glance-wrap{padding-top:56px;padding-bottom:56px;}
.sbw-glance{background:var(--panel);border:1px solid var(--border);padding:34px 36px;
  max-width:1000px;}
.sbw-glance-t{font-family:var(--font-sub);font-size:0.74rem;font-weight:700;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--orange-deep);margin-bottom:20px;}
.sbw-glance .sbw-points{margin-bottom:0;}

/* ── Offer band (dark) ──────────────────────────────────────────────────── */
.sbw-offer{background:var(--ink);padding:92px 56px;position:relative;overflow:hidden;}
.sbw-offer::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 78% 26%, rgba(245,130,10,0.16) 0%, transparent 52%);}
.sbw-offer-in{max-width:1280px;margin:0 auto;position:relative;z-index:1;}
.sbw-offer-tag{font-family:var(--font-sub);font-size:0.72rem;font-weight:700;letter-spacing:0.28em;
  text-transform:uppercase;color:var(--orange-lift);margin-bottom:14px;}
.sbw-offer-h{font-family:var(--font-head);font-size:clamp(2.2rem,4.3vw,3.8rem);line-height:1.02;
  letter-spacing:0.02em;color:var(--on-ink);margin:0 0 18px;max-width:960px;}
.sbw-offer-h span{color:var(--orange-lift);}
.sbw-offer-d{font-size:1.05rem;color:var(--on-ink-soft);max-width:820px;line-height:1.8;
  margin:0 0 40px;}
.sbw-offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.1);margin-bottom:40px;}
.sbw-offer-item{background:var(--ink-soft);padding:28px 26px;}
.sbw-offer-n{font-family:var(--font-head);font-size:2.4rem;line-height:1;color:var(--orange-lift);
  letter-spacing:0.01em;}
.sbw-offer-l{font-family:var(--font-sub);font-size:0.7rem;font-weight:700;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--on-ink-mute);margin-top:10px;line-height:1.5;}
.sbw-offer .sbw-btn-ghost{color:var(--on-ink);border-color:rgba(255,255,255,0.28);}
.sbw-offer .sbw-btn-ghost:hover{border-color:var(--orange-lift);color:var(--orange-lift);}

/* ── Demo band ──────────────────────────────────────────────────────────── */
.sbw-demo{background:var(--dark);padding:96px 56px;position:relative;}
.sbw-demo-in{max-width:1280px;margin:0 auto;}
.sbw-demo-tag{font-family:var(--font-sub);font-size:0.72rem;font-weight:700;letter-spacing:0.28em;
  text-transform:uppercase;color:var(--orange-deep);margin-bottom:14px;}
.sbw-demo-h{font-family:var(--font-head);font-size:clamp(2.2rem,4.3vw,3.8rem);line-height:1.02;
  letter-spacing:0.02em;margin:0 0 22px;max-width:1000px;color:var(--ink-900);}
.sbw-demo-h span{color:var(--orange-strong);}
.sbw-demo-d{font-size:1.08rem;color:var(--ink-700);max-width:860px;line-height:1.82;margin:0 0 20px;}
.sbw-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;
  margin:44px 0 44px;}
.sbw-demo-card{background:var(--panel);border:1px solid var(--border);padding:32px 30px;
  position:relative;overflow:hidden;}
.sbw-demo-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;
  background:var(--orange);}
.sbw-demo-n{font-family:var(--font-head);font-size:2.1rem;color:var(--orange-strong);line-height:1;
  margin-bottom:12px;}
.sbw-demo-t{font-family:var(--font-sub);font-size:1.06rem;font-weight:700;letter-spacing:0.03em;
  color:var(--ink-900);margin:0 0 12px;}
.sbw-demo-card p{font-size:0.96rem;color:var(--ink-700);line-height:1.74;margin:0;}
.sbw-demo-cta{border-top:1px solid var(--border-strong);padding-top:34px;}
.sbw-demo-cta-d{font-size:1.06rem;color:var(--ink-800);margin:0 0 22px;font-weight:600;}

/* ── Trade grid ─────────────────────────────────────────────────────────── */
.sbw-trade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--border);border:1px solid var(--border);}
.sbw-trade{background:var(--panel);padding:24px 22px;text-decoration:none;display:block;
  transition:background 0.2s;}
.sbw-trade:hover{background:var(--dark);}
.sbw-trade-n{display:block;font-family:var(--font-sub);font-weight:700;font-size:1rem;
  color:var(--ink-900);margin-bottom:6px;letter-spacing:0.02em;}
.sbw-trade-go{display:block;font-size:0.82rem;color:var(--orange-deep);}

/* ── FAQ ────────────────────────────────────────────────────────────────── */
.sbw-faqs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--border);border:1px solid var(--border);}
.sbw-faq{background:var(--panel);padding:30px 28px;}
.sbw-faq-q{font-family:var(--font-sub);font-size:1.02rem;font-weight:700;letter-spacing:0.02em;
  color:var(--ink-900);margin:0 0 12px;}
.sbw-faq-a p{font-size:0.96rem;color:var(--ink-700);line-height:1.74;margin:0;}

/* ── Closing CTA ────────────────────────────────────────────────────────── */
.sbw-cta{background:var(--ink);padding:96px 56px;text-align:center;position:relative;
  overflow:hidden;}
.sbw-cta::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 120%, rgba(245,130,10,0.22) 0%, transparent 55%);}
.sbw-cta-in{max-width:860px;margin:0 auto;position:relative;z-index:1;}
.sbw-cta-h{font-family:var(--font-head);font-size:clamp(2.2rem,4.3vw,3.8rem);line-height:1.02;
  letter-spacing:0.02em;color:var(--on-ink);margin:0 0 18px;}
.sbw-cta-h span{color:var(--orange-lift);}
.sbw-cta-d{font-size:1.06rem;color:var(--on-ink-soft);line-height:1.8;margin:0 0 34px;}
.sbw-cta .sbw-offer-acts{justify-content:center;}
.sbw-cta .sbw-btn-ghost{color:var(--on-ink);border-color:rgba(255,255,255,0.28);}
.sbw-cta .sbw-btn-ghost:hover{border-color:var(--orange-lift);color:var(--orange-lift);}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .sbw-proof-grid,.sbw-jump,.sbw-trade-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sbw-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:768px){
  .sbw-header{padding:128px 24px 56px;}
  .sbw-section,.sbw-offer,.sbw-demo,.sbw-cta{padding:64px 24px;}
  .sbw-points,.sbw-proof-grid,.sbw-jump,.sbw-trade-grid,.sbw-faqs,
  .sbw-demo-grid,.sbw-offer-grid{grid-template-columns:1fr;}
  .sbw-glance{padding:26px 22px;}
  .sbw-offer-acts{flex-direction:column;align-items:stretch;}
  .sbw-btn,.sbw-btn-ghost{text-align:center;}
}

/* The pane and some devices report reduce. Respect it rather than overriding,
 * and note that measuring motion in the pane will always read as reduced. */
@media(prefers-reduced-motion:reduce){
  .sbw-proof,.sbw-jump-link,.sbw-trade,.sbw-btn,.sbw-btn-ghost{transition:none;}
  .sbw-proof:hover{transform:none;}
}
