/* Cranenet — industrial: steel blueprint, safety orange, condensed display type, square corners, hazard stripes. */
.theme-cranenet { --steel: #334155; --steel-deep: #1e293b; --steel-ink: #0f172a; --safety: #f97316; --hazard: repeating-linear-gradient(-45deg, #f97316 0 14px, #0f172a 14px 28px); }
.theme-cranenet h1, .theme-cranenet h2, .theme-cranenet h3 { font-weight: 800; letter-spacing: .005em; text-transform: uppercase; line-height: 1; }
.theme-cranenet h1 { font-size: clamp(2.8rem, 6vw, 4.8rem); }
.theme-cranenet h2 { font-size: clamp(2rem, 3.6vw, 2.9rem); }
.theme-cranenet h3 { font-size: 1.3rem; letter-spacing: .02em; }
.theme-cranenet .eyebrow { color: var(--primary); letter-spacing: .16em; }
.theme-cranenet .site-header { border-top: 5px solid transparent; border-image: var(--hazard) 5; border-bottom: 1px solid var(--border); background: rgba(255, 255, 255, .94); }
.theme-cranenet .main-nav a { font-weight: 650; }
.theme-cranenet .btn { border-radius: 2px; font-weight: 700; }
.theme-cranenet .card, .theme-cranenet .price-card, .theme-cranenet .steps li { border-radius: 3px; }
.theme-cranenet .card { box-shadow: 0 1px 0 rgba(15, 23, 42, .06); }
.theme-cranenet a.card:hover { border-color: var(--safety); box-shadow: 0 0 0 1px var(--safety); transform: none; }
.theme-cranenet .card-icon { background: var(--steel-deep); color: var(--safety); border-radius: 2px; }
.theme-cranenet .svc-card { border-top: 4px solid var(--steel); }
.theme-cranenet .price-card.featured { border-color: var(--safety); box-shadow: 0 0 0 1px var(--safety); }
.theme-cranenet .price-card .badge-top { border-radius: 2px; background: var(--steel-ink); color: var(--safety); }
.theme-cranenet .price { font-weight: 800; }
.theme-cranenet .steps li::before { border-radius: 2px; }
.theme-cranenet .section-alt { background: #f7f9fb; }
.theme-cranenet .callout { border-left-color: var(--safety); }
.theme-cranenet .cta-band { background: var(--steel-deep); border-radius: 3px; position: relative; overflow: hidden; padding-top: calc(clamp(28px, 5vw, 52px) + 10px); }
.theme-cranenet .cta-band::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 10px; background: var(--hazard); }
.theme-cranenet .cta-band .btn-secondary { background: var(--safety); color: var(--steel-ink); }
.theme-cranenet .faq details { border-radius: 3px; }
.theme-cranenet .site-footer { background: var(--steel-ink); color: #cbd5e1; border-top: 0; }
.theme-cranenet .site-footer::before { content: ""; display: block; height: 8px; background: var(--hazard); }
.theme-cranenet .site-footer a { color: #f1f5f9; }
.theme-cranenet .site-footer a:hover { color: var(--safety); }
.theme-cranenet .site-footer h3 { color: #94a3b8; }
.theme-cranenet .footer-brand p, .theme-cranenet .contact-list li, .theme-cranenet .footer-pay, .theme-cranenet .footer-legal { color: #94a3b8; }
.theme-cranenet .footer-pay, .theme-cranenet .footer-legal { border-top-color: #1e293b; }
.theme-cranenet .pay-chip { background: var(--steel-deep); border-color: #334155; color: #f1f5f9; }
.theme-cranenet #rules, .theme-cranenet #method { scroll-margin-top: 80px; }

/* Hero: blueprint */
.cr-hero { position: relative; background: linear-gradient(160deg, #1e293b, #334155 70%); color: #e2e8f0; overflow: hidden; }
.cr-grid-bg { position: absolute; inset: 0; background-image: linear-gradient(rgba(159, 179, 200, .13) 1px, transparent 1px), linear-gradient(90deg, rgba(159, 179, 200, .13) 1px, transparent 1px), linear-gradient(rgba(159, 179, 200, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(159, 179, 200, .06) 1px, transparent 1px); background-size: 96px 96px, 96px 96px, 24px 24px, 24px 24px; pointer-events: none; }
.cr-hero-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding-top: clamp(48px, 7vw, 96px); padding-bottom: clamp(48px, 7vw, 88px); }
.cr-hero h1 { color: #fff; }
.cr-hero .eyebrow { color: var(--safety); }
.cr-hero .lead { color: #cbd5e1; max-width: 48ch; }
.cr-btn-light { background: transparent; color: #fff; border-color: rgba(226, 232, 240, .45); }
.cr-btn-light:hover { border-color: #fff; }
.cr-hero-art svg { width: 100%; height: auto; display: block; }
.cr-hazard { height: 14px; background: var(--hazard); }

/* Ground rules */
.cr-rules { background: var(--steel-ink); color: #e2e8f0; padding: 44px 0 48px; }
.cr-label { font-size: 1rem !important; letter-spacing: .2em !important; color: var(--safety); margin-bottom: 22px; }
.cr-rules .grid { gap: 0; border: 1px solid #334155; }
.cr-rule { padding: 22px; border-right: 1px solid #334155; }
.cr-rule:last-child { border-right: 0; }
.cr-rule .icon { width: 26px; height: 26px; color: var(--safety); margin-bottom: 12px; }
.cr-rule h3 { color: #fff; font-size: 1.25rem; }
.cr-rule p { color: #94a3b8; font-size: .92rem; margin: 0; }

/* Load chart */
.cr-chart { border-radius: 3px; border-color: #c7d0db; position: relative; }
.cr-chart .table th[scope=row] { text-transform: none; letter-spacing: 0; font-size: .95rem; background: transparent; color: var(--text); font-weight: 650; }
.cr-chart .table th[scope=row] a { color: inherit; text-decoration: none; }
.cr-chart .table th[scope=row] a:hover { color: var(--primary); text-decoration: underline; }
.cr-chart .table thead th { background: var(--steel-deep); color: #e2e8f0; }
.cr-chart .table tbody tr:nth-child(even) { background: #f7f9fb; }
.cr-chart td.nowrap { font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; letter-spacing: .02em; }
.cr-chart-go { color: var(--primary); }

/* Method statement */
.cr-method { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: start; }
.cr-method-intro { position: sticky; top: calc(var(--header-h) + 24px); }
.cr-stages { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cr-stages li { background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--safety); padding: 18px 20px; }
.cr-stages span { display: block; font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .14em; font-size: .82rem; color: var(--muted); margin-bottom: 6px; }
.cr-stages h3 { font-size: 1.35rem; margin-bottom: .3em; }
.cr-stages p { color: var(--muted); font-size: .93rem; margin: 0; }

/* Safety checklist */
.cr-check-wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: start; }
.cr-checklist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border: 2px solid var(--steel-deep); background: var(--surface); }
.cr-checklist li { display: flex; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--border); }
.cr-checklist li:nth-child(odd) { border-right: 1px solid var(--border); }
.cr-checklist li:nth-last-child(-n + 2) { border-bottom: 0; }
.cr-checklist .icon { flex: none; width: 22px; height: 22px; padding: 3px; background: var(--safety); color: var(--steel-ink); border-radius: 2px; margin-top: 2px; }
.cr-checklist strong { display: block; }
.cr-checklist span { color: var(--muted); font-size: .92rem; }

@media (max-width: 980px) {
  .cr-hero-grid, .cr-method, .cr-check-wrap { grid-template-columns: 1fr; }
  .cr-hero-art { max-width: 480px; }
  .cr-method-intro { position: static; }
  .cr-rule { border-right: 0; border-bottom: 1px solid #334155; }
}
@media (max-width: 640px) {
  .cr-stages, .cr-checklist { grid-template-columns: 1fr; }
  .cr-checklist li:nth-child(odd) { border-right: 0; }
  .cr-checklist li:nth-last-child(2) { border-bottom: 1px solid var(--border); }
  .cr-chart th:nth-child(2), .cr-chart td:nth-child(2) { display: none; }
}

/* Keep .sr-only labels inside scrolling tables (module compare table) from widening the page on phones. */
.table-wrap { position: relative; }
