:root {
  --spc-bg: #f4f7f5;
  --spc-surface: #ffffff;
  --spc-surface-soft: #f7faf8;
  --spc-text: #18251f;
  --spc-muted: #56675f;
  --spc-line: #d9e4dd;
  --spc-green-900: #0f3f28;
  --spc-green-800: #155434;
  --spc-green-700: #1d6b42;
  --spc-blue: #165dff;
  --spc-shadow: 0 18px 40px rgba(16, 28, 22, 0.08);
}

html { scroll-behavior: smooth; }

body.spc-bridge-body {
  margin: 0;
  background: var(--spc-bg);
  color: var(--spc-text);
}

body.spc-bridge-body .wp-site-blocks,
body.spc-bridge-body .is-layout-flow,
body.spc-bridge-body main,
body.spc-bridge-body .entry-content,
body.spc-bridge-body article,
body.spc-bridge-body .wp-block-post-content,
body.spc-bridge-body .wp-block-group,
body.spc-bridge-body .wp-block-post-title,
body.spc-bridge-body .entry-content > * {
  margin: 0;
  padding: 0;
  max-width: none !important;
}

.spc-bridge-page,
.spc-bridge-page * { box-sizing: border-box; }

.spc-shell {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.spc-hero-section,
.spc-route-section,
.spc-services-section,
.spc-info-section,
.spc-cta-section {
  padding: 52px 0;
}

.spc-hero-section {
  background: linear-gradient(135deg, var(--spc-green-900) 0%, var(--spc-green-800) 55%, #103822 100%);
  color: #fff;
}

.spc-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.78fr);
  gap: 28px;
  align-items: center;
}

.spc-eyebrow,
.spc-kicker,
.spc-card-label {
  display: inline-block;
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.spc-eyebrow { color: #9fd6b8; }
.spc-kicker,
.spc-card-label { color: var(--spc-blue); }

.spc-hero-copy h1,
.spc-section-heading h2,
.spc-cta-box h2,
.spc-hero-panel h2 {
  margin: 0 0 12px;
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 800;
}

.spc-hero-copy h1 {
  font-size: clamp(38px, 6vw, 60px);
  color: #fff;
  max-width: 760px;
}

.spc-section-heading h2,
.spc-cta-box h2,
.spc-hero-panel h2 {
  font-size: clamp(30px, 4vw, 44px);
  color: var(--spc-text);
}

.spc-hero-panel h2 {
  color: #fff;
  font-size: 28px;
}

.spc-lead,
.spc-section-heading p,
.spc-card p,
.spc-cta-box p,
.spc-hero-panel li {
  margin: 0;
  font-size: 17px;
  line-height: 1.58;
  color: var(--spc-muted);
}

.spc-hero-section .spc-lead,
.spc-hero-panel li,
.spc-disclaimer { color: rgba(255,255,255,0.92); }

.spc-disclaimer {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 700;
}

.spc-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}

.spc-action-row-end { justify-content: flex-end; }

.spc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  font-size: 16px;
  line-height: 1;
  font-weight: 800;
  transition: transform .2s ease, opacity .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}

.spc-btn:hover { transform: translateY(-1px); opacity: 0.98; }
.spc-btn-primary { background: #fff; color: var(--spc-green-900); }
.spc-btn-secondary { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.24); }
.spc-btn-light { background: #fff; color: var(--spc-green-900); }
.spc-btn-outline { background: transparent; color: var(--spc-blue); border-color: var(--spc-blue); }

.spc-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
}

.spc-chip-list li {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.94);
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
}

.spc-hero-panel,
.spc-card,
.spc-cta-box {
  background: var(--spc-surface);
  border: 1px solid var(--spc-line);
  border-radius: 24px;
  box-shadow: var(--spc-shadow);
}

.spc-hero-panel {
  padding: 28px;
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
}

.spc-hero-panel ul { margin: 0 0 22px; padding-left: 18px; }
.spc-hero-panel li + li { margin-top: 10px; }

.spc-route-section { background: #fff; }
.spc-section-heading { margin-bottom: 20px; }
.spc-section-heading-compact p { max-width: 720px; }

.spc-card-grid {
  display: grid;
  gap: 18px;
}

.spc-card-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.spc-card-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.spc-card {
  padding: 24px;
}

.spc-card h3 {
  margin: 0 0 10px;
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  font-weight: 800;
  color: var(--spc-text);
}

.spc-route-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-decoration: none;
}

.spc-route-card p { color: var(--spc-muted); }

.spc-route-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  align-self: flex-start;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--spc-blue);
  color: #fff;
  font-size: 15px;
  line-height: 1;
  font-weight: 800;
}

.spc-service-card,
.spc-mini-card { min-height: 100%; }

.spc-two-col-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
  gap: 24px;
  align-items: start;
}

.spc-cta-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 28px;
}

.spc-page-business .spc-hero-simple,
.spc-page-home .spc-hero-simple,
.spc-page-about .spc-hero-simple {
  padding-top: 60px;
}

@media (max-width: 920px) {
  .spc-hero-grid,
  .spc-two-col-layout,
  .spc-cta-box,
  .spc-card-grid-two,
  .spc-card-grid-four {
    grid-template-columns: 1fr;
  }

  .spc-action-row-end { justify-content: flex-start; }
  .spc-hero-copy h1 { font-size: clamp(34px, 8vw, 50px); }
}

@media (max-width: 640px) {
  .spc-hero-section,
  .spc-route-section,
  .spc-services-section,
  .spc-info-section,
  .spc-cta-section { padding: 40px 0; }

  .spc-shell { width: min(1120px, calc(100% - 20px)); }
  .spc-card, .spc-hero-panel, .spc-cta-box { padding: 20px; border-radius: 20px; }
  .spc-btn { width: 100%; }
  .spc-route-button { width: 100%; }
  .spc-lead, .spc-section-heading p, .spc-card p, .spc-cta-box p, .spc-hero-panel li { font-size: 16px; }
}
