
/* Split section: narrow intro rail beside a wider content area. Pairs with
   .rd-checkcards for guarantee/feature lists (intro left, item cards right). */
.rd-split{display:grid;gap:48px;grid-template-columns:.85fr 1.15fr;align-items:start}
.rd-checkcards{display:grid;gap:16px;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0}
.rd-checkcards li{background:var(--rd-surface,#f4f5f7);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px;transition:border-color .15s}
.rd-checkcards li:hover{border-color:color-mix(in srgb,var(--rd-accent,#f59e0b) 50%,transparent)}
.rd-checkcards li:last-child:nth-child(odd){grid-column:1/-1}
.rd-checkcards .rd-check{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;margin-top:2px;border-radius:999px;background:var(--rd-accent,#f59e0b);color:#111;font-size:12px;font-weight:700}
.rd-checkcards .rd-checkrow{display:flex;align-items:flex-start;gap:12px}
.rd-checkcards h3{font-size:1.1rem;margin:0 0 6px}
.rd-checkcards p{color:var(--rd-muted,#6b7280);font-size:.9rem;line-height:1.6;margin:0}
/* Section header row: title block left, short aside bottom-aligned right. */
.rd-sechead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.rd-sechead__aside{max-width:24rem;color:var(--rd-muted,#6b7280);line-height:1.7;margin:0}
/* Numbered-circle step rail: on desktop the 48px circles sit on a gradient
   hairline; each circle carries the page background so the line reads as
   threading behind them. Circle top offset and line top must match. */
.rd-steps{position:relative;margin-top:56px}
.rd-steps__line{display:none}
.rd-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:36px}
.rd-steps__num{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:999px;border:1px solid var(--rd-border,#e5e7eb);background:var(--rd-background,#ffffff);color:var(--rd-muted,#6b7280);font-size:14px;transition:border-color .15s,color .15s}
.rd-steps li:hover .rd-steps__num{border-color:var(--rd-accent,#f59e0b);color:var(--rd-accent,#f59e0b)}
.rd-steps h3{font-size:1.25rem;margin:22px 0 8px}
.rd-steps li p{color:var(--rd-muted,#6b7280);font-size:.875rem;line-height:1.65;margin:0}
.rd-paircard{background:var(--rd-surface,#f4f5f7);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px;transition:border-color .15s}
.rd-paircard:hover{border-color:color-mix(in srgb,var(--rd-accent,#f59e0b) 50%,transparent)}
.rd-paircard__row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.rd-paircard__row .rd-arrow{color:var(--rd-accent,#f59e0b);font-size:15px;line-height:1}
.rd-paircard p{color:var(--rd-muted,#6b7280);line-height:1.6;margin:0}
.rd-chip{display:inline-block;font-size:12px;letter-spacing:.02em;padding:4px 12px;border-radius:999px;border:1px solid var(--rd-border,#e5e7eb);color:var(--rd-muted,#6b7280)}
.rd-chip--accent{color:var(--rd-accent,#f59e0b);border-color:color-mix(in srgb,var(--rd-accent,#f59e0b) 45%,transparent);background:color-mix(in srgb,var(--rd-accent,#f59e0b) 8%,transparent)}
/* Solid primary closing card for the end of a card stack. */
.rd-card--electric{background:linear-gradient(135deg,var(--rd-primary,#1d4ed8),color-mix(in srgb,var(--rd-primary,#1d4ed8) 55%,#8A94FF));border-radius:20px;padding:24px;color:#fff}
.rd-card--electric h3{font-size:1.25rem;margin:0 0 8px;color:#fff}
.rd-card--electric p{color:rgba(255,255,255,.85);line-height:1.6;margin:0}
/* Hairline stat tiles: 1px gap over a border-colour ground reads as ruled cells. */
.rd-tiles{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rd-border,#e5e7eb);border:1px solid var(--rd-border,#e5e7eb);border-radius:20px;overflow:hidden}
.rd-tiles>div{background:var(--rd-surface,#f4f5f7);padding:24px}
.rd-tiles strong{display:block;font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-size:1.9rem;font-weight:700;line-height:1.15}
.rd-tiles span{display:block;margin-top:8px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--rd-muted,#6b7280);line-height:1.6}
.rd-split--even{grid-template-columns:1fr 1fr}
.rd-text-gradient{background:linear-gradient(100deg,var(--rd-c-cyan,#00FFFF),var(--rd-primary,#1d4ed8) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* Door cards: service grid with an oversized ghost number bleeding off the top
   right corner; the whole card is the hover group (border, ghost, and link). */
.rd-doorcards{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.rd-doorcard{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--rd-surface,#f4f5f7);border:1px solid var(--rd-border,#e5e7eb);border-radius:20px;padding:32px;transition:border-color .15s}
.rd-doorcard:hover{border-color:color-mix(in srgb,var(--rd-accent,#f59e0b) 50%,transparent)}
.rd-doorcard__ghost{position:absolute;top:-32px;right:-8px;font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-size:96px;font-weight:800;line-height:1;color:color-mix(in srgb,var(--rd-text,#111827) 4%,transparent);transition:color .15s;pointer-events:none}
.rd-doorcard:hover .rd-doorcard__ghost{color:color-mix(in srgb,var(--rd-accent,#f59e0b) 10%,transparent)}
.rd-doorcard__eb{font-size:11px;letter-spacing:.15em;color:var(--rd-muted,#6b7280)}
.rd-doorcard__eb b{font-weight:400;color:var(--rd-accent,#f59e0b)}
.rd-doorcard h3{font-size:1.5rem;margin:16px 0 0}
.rd-doorcard__desc{color:var(--rd-muted,#6b7280);line-height:1.6;margin:12px 0 0}
.rd-doorcard ul{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:8px}
.rd-doorcard ul li{display:flex;align-items:baseline;gap:8px;font-size:.875rem;color:var(--rd-muted,#6b7280)}
.rd-doorcard ul li::before{content:'\25B8';color:var(--rd-accent,#f59e0b);font-size:.75rem}
.rd-doorcard__link{margin-top:auto;padding-top:32px;font-size:.875rem;font-weight:600;color:var(--rd-accent,#f59e0b);text-decoration:none;align-self:flex-start;transition:transform .15s}
.rd-doorcard:hover .rd-doorcard__link{transform:translateX(4px)}
/* Ladder rows: number | name | description in one hoverable rail per row. */
.rd-ladder{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.rd-ladder>li{display:grid;gap:24px;background:var(--rd-surface,#f4f5f7);border:1px solid var(--rd-border,#e5e7eb);border-radius:20px;padding:32px;transition:border-color .15s}
.rd-ladder>li:hover{border-color:color-mix(in srgb,var(--rd-accent,#f59e0b) 50%,transparent)}
.rd-ladder__ghost{font-family:var(--rd-font-heading,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);font-size:48px;font-weight:800;line-height:1;color:color-mix(in srgb,var(--rd-text,#111827) 10%,transparent);transition:color .15s}
.rd-ladder>li:hover .rd-ladder__ghost{color:color-mix(in srgb,var(--rd-accent,#f59e0b) 25%,transparent)}
.rd-ladder__eb{font-size:11px;letter-spacing:.15em;color:var(--rd-accent,#f59e0b)}
.rd-ladder h3{font-size:1.5rem;margin:8px 0 0}
.rd-ladder__desc{color:var(--rd-muted,#6b7280);line-height:1.6;margin:0}
.rd-ladder__link{display:inline-block;margin-top:16px;font-size:.875rem;font-weight:600;color:var(--rd-accent,#f59e0b);text-decoration:none}

/* Responsive at-rules. These live here because the extraction that built
   this sheet dropped every @media block, so deleting them from baseCss
   would have left every converted page multi-column on a phone. */
@media (max-width:1023px){.rd-doorcards{grid-template-columns:1fr 1fr}}
@media (max-width:639px){.rd-doorcards{grid-template-columns:1fr}}
@media (max-width:640px){.rd-checkcards{grid-template-columns:1fr}}
@media (max-width:640px){.rd-tiles{grid-template-columns:1fr}}
@media (max-width:900px){.rd-split{grid-template-columns:1fr;gap:32px}}
@media (max-width:900px){.rd-split--even{grid-template-columns:1fr}}
@media (min-width:1024px){.rd-ladder>li{grid-template-columns:auto .9fr 1.6fr;align-items:center}}
@media (min-width:1024px){.rd-steps ol{grid-template-columns:repeat(var(--rd-steps-n,5),minmax(0,1fr));gap:40px}}
