.page-ready-made [hidden] { display: none !important; }
.rm-hero { background: var(--navy-900); color: white; }
.rm-hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 52px; align-items: center; padding-top: 64px; padding-bottom: 64px; }
.rm-hero h1 { color: white; font-size: clamp(36px, 3.7vw, 50px); line-height: 1.12; }
.rm-hero-copy > p { max-width: 540px; }
.rm-hero-detail { color: #d1dde6; font-size: 16px; }
.rm-hero-note { margin: 22px 0 0; color: #d1dde6; }
.rm-hero-photo, .rm-photo-grid figure { margin: 0; }
.rm-hero-photo img { width: 100%; height: 460px; object-fit: cover; object-position: 39% center; border-radius: 14px; }
.rm-hero-photo figcaption { color: #d1dde6; font-size: 12px; margin-top: 10px; }
.rm-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 28px; }
.rm-section { padding: 76px 0; }
.rm-tint { background: var(--soft-blue); }
.rm-heading { max-width: 760px; margin-bottom: 30px; }
.rm-heading p:not(.eyebrow), .rm-card p:not(.eyebrow), .rm-suitability p:not(.eyebrow) { color: var(--copy); }
.rm-two { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.rm-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-card); background: white; }
.rm-card h3 { font-size: 24px; margin-bottom: 14px; }
.rm-card p:last-child { margin-bottom: 0; }
.rm-step { display: block; font-size: 12px; letter-spacing: .08em; font-weight: 700; color: var(--orange-600); margin-bottom: 20px; }
.rm-suitability { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; }
.rm-list { padding-left: 20px; margin: 0 0 18px; }
.rm-list li { padding: 6px 0; font-size: 15px; color: var(--copy); }
.rm-list strong { color: var(--ink); }
.rm-small { font-size: 13px; line-height: 1.6; }
.rm-calculator { border: 1px solid var(--line); border-radius: var(--radius-card); padding: 32px; box-shadow: 0 8px 24px rgba(3,28,53,.045); }
.rm-calculator-intro h3 { margin-bottom: 10px; }
.rm-calculator-intro p { font-size: 15px; max-width: 760px; color: var(--copy); }
.rm-row { padding: 22px; background: var(--soft-blue); border: 1px solid var(--line); border-radius: 10px; margin: 18px 0; }
.rm-row legend { font-size: 14px; font-weight: 700; }
.rm-fields { display: grid; grid-template-columns: repeat(3, 1fr) 1.2fr 1.2fr; gap: 14px; }
.rm-calculator label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 700; }
.rm-calculator label .rm-small { font-weight: 400; color: var(--copy); }
.rm-calculator input, .rm-calculator select, #rm-fallback textarea { padding: 12px; width: 100%; min-width: 0; border: 1px solid var(--line-strong); border-radius: 7px; background: white; color: var(--ink); font-size: 16px; }
.rm-calculator :is(input,select,button):focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.rm-remove, .rm-add { background: none; color: var(--navy-900); border: 0; text-decoration: underline; text-underline-offset: 4px; font-size: 14px; padding: 12px 0; }
.rm-remove { margin-top: 6px; padding-bottom: 0; }
.rm-options { display: grid; grid-template-columns: 1fr 1.2fr; gap: 28px; padding: 28px 0 20px; align-items: start; }
#rm-results { margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--line); }
#rm-results > .rm-small { margin-top: 20px; }
.rm-cost-card { background: var(--soft-blue); }
.rm-price { display: block; color: var(--navy-900); font-size: 34px; line-height: 1.3; margin: 14px 0 6px; }
.rm-cost-card dl { font-size: 14px; margin: 20px 0 0; }
.rm-cost-card dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 8px 0; border-top: 1px solid var(--line); }
.rm-cost-card dd { margin: 0; font-weight: 700; white-space: nowrap; }
.rm-route-label { max-width: 400px; margin: 24px 0; }
#rm-error { margin-top: 20px; color: #a02f17; }
.rm-rate-details { margin-top: 20px; font-size: 13px; color: var(--copy); }
summary { cursor: pointer; }
.rm-rate-details summary { font-weight: 700; padding: 12px 0; }
.rm-photo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 28px; }
.rm-photo-grid img { width: 100%; height: 310px; object-fit: cover; border-radius: 14px; }
.rm-photo-grid figcaption { font-size: 13px; color: var(--copy); padding-top: 10px; }
.rm-comparison { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
.rm-comparison table { width: 100%; border-collapse: collapse; font-size: 15px; text-align: left; }
.rm-comparison th, .rm-comparison td { padding: 22px; vertical-align: top; border-bottom: 1px solid var(--line); }
.rm-comparison thead { color: white; background: var(--navy-900); }
.rm-comparison tbody th { width: 19%; background: var(--soft-blue); }
.rm-comparison td { width: 40%; }
.rm-comparison tr:last-child > * { border-bottom: 0; }
.rm-compare-label { display: none; }
.rm-faqs { max-width: 900px; }
.rm-faqs details { border-bottom: 1px solid var(--line); padding: 22px 0; }
.rm-faqs summary { font-weight: 700; }
.rm-faqs details p { margin: 16px 0 0; font-size: 15px; color: var(--copy); }
.rm-existing { margin-top: 32px; font-size: 15px; }
@media(max-width: 900px) { .rm-hero-grid { gap: 30px; } .rm-hero-photo img { height: 440px; } .rm-fields { grid-template-columns: repeat(3,1fr); } .rm-suitability { gap: 28px; } }
@media(max-width: 680px) { .rm-hero-grid, .rm-two, .rm-suitability, .rm-options, .rm-photo-grid { grid-template-columns: 1fr; } .rm-hero-grid { padding-top: 36px; padding-bottom: 36px; } .rm-hero-photo img { height: 290px; } .rm-section { padding: 48px 0; } .rm-card, .rm-calculator { padding: 22px; } .rm-fields { grid-template-columns: 1fr 1fr; } .rm-row { padding: 14px; } .rm-fields label:last-child { grid-column: 1 / -1; } .rm-calculator .button { width: 100%; } .rm-comparison table { min-width: 580px; } .rm-photo-grid img { height: 260px; } }
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media(max-width: 680px) {
  .rm-comparison { border: 0; overflow: visible; }
  .rm-comparison table { display: block; min-width: 0; }
  .rm-comparison thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .rm-comparison tbody { display: block; }
  .rm-comparison tbody tr { display: block; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; margin-bottom: 18px; }
  .rm-comparison tbody th, .rm-comparison tbody td { display: block; width: 100%; padding: 18px 20px; }
  .rm-comparison tbody th { background: var(--navy-900); color: white; }
  .rm-comparison tbody tr > * { border-bottom: 1px solid var(--line); }
  .rm-comparison tbody tr > :last-child { border-bottom: 0; }
  .rm-compare-label { display: block; font-weight: 700; color: var(--navy-900); margin-bottom: 8px; font-size: 13px; }
}
