/* Shared marketing rhythm. Existing RateWise tokens and interactive previews remain in use. */
.rw-funnel { --rf-section-pad: clamp(56px, 5.3vw, 76px); --rf-content-gap: clamp(24px, 3vw, 40px); }
.rw-funnel .section { padding-block: var(--rf-section-pad); }
.rw-funnel .section[data-full] { min-height: auto; }
.rw-funnel .page-hero { padding-top: calc(var(--header-h) + 40px); padding-bottom: 48px; }
.rw-funnel .page-hero + .section { padding-top: 40px; }
.rw-funnel .section[data-tight] { padding-top: 24px; }
.rw-funnel :is(.alt-band,.radar-grid,.signal-grid,.work-band,.demo-grid,.hub-grid,.pain-grid,.area-grid,.bento,.claims,.steps,.tile-grid,.case-flow) { margin-top: var(--rf-content-gap); }
.rw-funnel :is(.hero-grid,.page-hero-grid,.radar-grid,.signal-grid,.work-band,.demo-grid,.alt-band,.legal-shell) > * { min-width: 0; }
.rw-funnel .dash-stage { margin-top: 28px; }
.rw-funnel .rw-section-head { margin-bottom: 28px; }
.rw-funnel .site-footer { padding-top: 48px; padding-bottom: 28px; }
.rw-funnel .footer-bottom { margin-top: 32px; padding-top: 24px; }
.rw-funnel :is(#cta,#closing) .lede { max-width: 54ch; }
.rw-funnel :is(#cta,#closing) .stack { gap: 20px; }
.rw-funnel [id] { scroll-margin-top: calc(var(--header-h) + 24px); }
.rw-funnel .nav-toggle, .rw-funnel .nav-toggle svg { flex-shrink: 0; }
.rw-funnel .mobile-menu > a { padding-block: 10px; font-size: 17px; }
.rw-funnel .mobile-menu > .menu-sub { padding-block: 8px; font-size: 14px; }
.rw-funnel .mobile-menu .menu-actions { margin-top: 20px; }

/* Grid gaps occupy space too: fractional tracks keep the right column inside its container. */
@media (min-width: 1024px) {
 .rw-funnel .hero-grid { grid-template-columns: minmax(0,48fr) minmax(0,52fr); }
 .rw-funnel .page-hero-grid { grid-template-columns: minmax(0,52fr) minmax(0,48fr); gap: 40px; }
 .rw-funnel .radar-grid, .rw-funnel .demo-grid { grid-template-columns: minmax(0,55fr) minmax(0,45fr); gap: 40px; }
 .rw-funnel .signal-grid { grid-template-columns: minmax(0,60fr) minmax(0,40fr); gap: 40px; }
 .rw-funnel .work-band { grid-template-columns: minmax(0,46fr) minmax(0,54fr); gap: 40px; }
 .rw-funnel .alt-band { gap: 40px; }
 .rw-funnel .legal-shell { grid-template-columns: 220px minmax(0,1fr); gap: 40px; }
}

.rf-split-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; align-items: start; }
.rf-split-intro .body + .body { margin-top: 18px; }
.rw-funnel .rf-problem { padding-bottom: 32px; }
.rw-funnel .rf-problem + .rw-flow { padding-top: 32px; }
.rf-product-next { text-align: center; }
.rf-product-next .rw-inline-link { margin-top: 16px; }
.rw-funnel .rw-product { margin-top: 28px; }
.rw-funnel .rw-story-art { height: 112px; margin-top: 20px; }
.rw-funnel .rw-story h3 { margin-top: 18px; }
.rw-funnel .rh-product-section { padding-block: var(--rf-section-pad); }
.rw-funnel #dashboard[data-admin-preview] { padding: 0; }
.rw-funnel #hero.rh-hero { min-height: 760px; height: clamp(760px, calc(330px + 40vw), 900px); padding: 0; }
.rw-funnel .rh-hero .rw-hero-copy > p { max-width: 490px; }
.rw-funnel .rw-demo-intro { padding-top: 40px; }
.rw-funnel .rw-demo-panel { padding-top: 24px !important; }
.rw-funnel .rw-demo-panel .dash-stage { margin-top: 0; }
.rw-funnel .demo-topbar { gap: 12px; }
.rw-funnel .demo-topbar .btn { flex-shrink: 0; }

/* Keep the conversion form in the first content block and match the contact controls. */
.rf-booking-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; align-items: start; }
.rf-booking-copy { padding-top: 8px; min-width: 0; }
.rf-booking-copy .h1 { font-size: clamp(34px,3.8vw,52px); }
.rf-booking-copy .lede { margin-top: 24px; font-size: 19px; }
.rf-booking-copy .benefit-list { margin-block: 28px; }
.rf-booking .form-card { min-width: 0; border-radius: 22px; padding: 28px; gap: 20px; }
.rf-booking .form-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.rf-booking .field { min-width: 0; }
.rf-booking .field input:not([type=checkbox]), .rf-booking .field select {
 -webkit-appearance: none; appearance: none; width: 100%; min-width: 0; min-height: 54px; margin: 0;
 border: 1px solid #d3deee; border-radius: 12px; background-color: #f7faff; color: #172b49;
 padding: 14px 16px; font: inherit; font-size: 16px; line-height: 24px; box-shadow: none;
}
.rf-booking .field select { padding-right: 44px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2353647d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 20px; }
.rf-booking .field :is(input,select):focus { border-color: #1459d9; box-shadow: 0 0 0 3px #1459d91a; }
.rf-booking .field[data-invalid=true] :is(input,select) { border-color: #be354e; }
.rf-booking-next .rw-flow-grid { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 28px; }
.rw-funnel .rf-booking-next { padding-top: 36px; }

/* The contact page retains its reference layout, with a shorter lead-in. */
.rw-funnel .rc-hero { padding-top: calc(var(--header-h) + 24px); padding-bottom: 0; }
.rw-funnel .rc-hero-panel { padding-block: 32px; }
.rw-funnel .rc-topics { padding-block: 48px; }
.rw-funnel .rc-reach { padding-top: 0; padding-bottom: 48px; }
.rw-funnel .rc-faq { padding-top: 8px; padding-bottom: 48px; }
.rw-funnel .rc-imprint { padding-block: 0 28px; }

/* Article covers support the text rather than filling a complete screen. */
.rw-funnel [data-post-slug] .page-hero .media { aspect-ratio: 16/7 !important; max-height: 420px; }
.rw-funnel [data-post-slug] .legal-shell { margin-top: 8px; }
.rw-funnel .legal-shell { margin-top: 24px; }
.rf-legal-status { display: inline-block; margin-bottom: 16px; padding: 7px 12px; border: 1px solid var(--border-default); border-radius: 8px; color: var(--text-secondary); font-size: 13px; }
.rw-funnel .hub-card .media { aspect-ratio: 16/9 !important; }
.rw-funnel .rprice-comparison { padding-top: 40px; padding-bottom: 48px; }
.rw-funnel .rprice-plans { padding-bottom: 48px; }
.rw-funnel .rprice-faq { padding-bottom: 48px; }
.rw-funnel .rprice-closing { padding-bottom: 56px; }

@media (max-width: 1023px) {
 .rf-booking-grid { gap: 28px; }
 .rf-booking .form-row { grid-template-columns: 1fr; }
 .rf-split-intro { gap: 32px; }
}
@media (max-width: 767px) {
 .rw-funnel { --rf-section-pad: 44px; --rf-content-gap: 24px; }
 .rw-funnel .page-hero { padding-top: calc(var(--header-h) + 28px); padding-bottom: 32px; }
 .rw-funnel .page-hero + .section { padding-top: 24px; }
 .rw-funnel :is(.rf-split-intro,.rf-booking-grid) { grid-template-columns: 1fr; gap: 24px; }
 .rw-funnel .rf-booking .form-card { padding: 22px; }
 .rw-funnel .rf-booking-copy .lede { font-size: 17px; margin-top: 18px; }
 .rf-booking-copy .benefit-list { display: none; }
 .rf-booking-copy > .body-sm { margin-top: 16px; }
 .rf-booking-next .rw-flow-grid { grid-template-columns: 1fr; gap: 24px; }
 .rw-funnel .rw-demo-intro { padding-top: 24px; }
 .rw-funnel .rw-flow-grid { row-gap: 28px; }
 .rw-funnel .rw-story-art { height: 100px; margin: 0; }
 .rw-funnel .rc-hero { padding-top: calc(var(--header-h) + 16px); }
 .rw-funnel .rc-topics { padding-block: 36px; }
 .rw-funnel .rc-reach { padding-bottom: 36px; }
 .rw-funnel .rc-faq { padding-bottom: 36px; }
 .rw-funnel .rc-hero-panel { padding-block: 24px; }
 .rw-funnel .site-footer { padding-top: 36px; }
 .rw-funnel [data-post-slug] .page-hero .media { aspect-ratio: 3/2 !important; max-height: 280px; }
 .rw-funnel .tl li { grid-template-columns: 1fr; gap: 8px; padding-block: 20px; }
 .rw-funnel .rprice-plans { padding-bottom: 32px; }
 .rw-funnel .rprice-comparison { padding-top: 24px; padding-bottom: 32px; }
}
@media (max-width: 640px) {
 .rw-funnel #hero.rh-hero { height: auto; min-height: 0; padding-bottom: 94px; }
 .rw-funnel .rh-hero .rw-hero-copy > p { font-size: 15px; }
}
@media (forced-colors: active) {
 .rf-booking .field select { -webkit-appearance: auto; appearance: auto; background-image: none; }
}

/* Industry questionnaire: introduction and live sample share the desktop row. */
.rf-survey-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 28px; align-items: start; }
.rf-survey-layout > * { min-width: 0; }
.rf-survey-intro { display: grid; gap: 18px; }
.rf-survey-intro > .body { max-width: 46ch; }
.rf-survey-layout > .survey { width: 100%; max-width: none; margin-top: 0; }
@media (min-width: 1024px) {
 .rf-survey-layout { grid-template-columns: minmax(0,42fr) minmax(0,58fr); gap: 40px; }
}

/* Editorial index: bring the articles closer and balance title with introduction. */
.rf-knowledge-intro { max-width: 1100px; }
.rf-knowledge-intro .h1 { font-size: clamp(36px, 4.5vw, 58px); }
.rf-knowledge-intro .lede { font-size: 18px; }
@media (min-width: 1024px) {
 .rf-knowledge-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: 64px; align-items: center; }
 .rf-knowledge-intro .kicker { grid-column: 1 / -1; }
 .rf-knowledge-intro .lede { margin-top: 0 !important; }
}

/* A direct Benefits entry stays visible without squeezing the desktop navigation. */
.rw-funnel .nav > a[aria-current=page] { color:#a9d1ff; background:#192e4d; }
.rb-home-benefits { display:inline-flex; align-items:center; min-height:44px; margin-top:28px; color:#1459d9; font-weight:700; font-size:14px; }
@media (min-width:1024px) and (max-width:1199px) {
 .rw-funnel .nav,.rw-funnel .nav-actions { display:none; }
 .rw-funnel .nav-toggle { display:flex; margin-left:auto; }
 .rw-funnel .mobile-menu { display:flex; }
}
@media (min-width:1200px) and (max-width:1399px) {
 .rw-funnel .header-inner { gap:16px; }
 .rw-funnel .nav > a,.rw-funnel .nav > .has-mega > a { padding-inline:7px; font-size:13px; }
}
