/* Rentals369 secondary pages: editorial property-operations system. */
:root {
  --cream: #f8faf7;
  --cream-2: #f1f4f0;
  --paper: #ffffff;
  --ink: #071527;
  --ink-body: #38475a;
  --ink-mute: #667488;
  --line: #dbe3e8;
  --line-soft: #e8edef;
  --blue: #0057ba;
  --blue-deep: #003e83;
  --brass: #0057ba;
  --brass-soft: #b8cde5;
  --dark: #071527;
  --dark-2: #0b1b2f;
  --parch: #f3f6f3;
  --parch-2: #f8faf7;
  --parch-3: #ffffff;
  --line-2: #e3e9e7;
  --line-3: #d5dfe2;
  --line-faint: #edf1ef;
  --ghost: #c8d3dc;
  --vault-1: #071527;
  --vault-2: #0b1b2f;
  --r-lg: 12px;
  --r-md: 10px;
  --r-sm: 8px;
  --r-pill: 10px;
  --shadow-soft: 0 18px 48px -34px rgba(7,21,39,.32);
  --shadow-lift: 0 24px 56px -34px rgba(7,21,39,.42);
  --sans: 'Roboto', Arial, sans-serif;
  --serif: 'Roboto', Arial, sans-serif;
}

html { background: var(--cream); }
body.cvr-page {
  background: var(--cream);
  color: var(--ink);
  font-family: var(--sans);
  letter-spacing: 0;
}
body.cvr-page :where(h1,h2,h3,h4,h5,h6) {
  font-family: var(--sans) !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
}
body.cvr-page :where(p,li,dd) { text-wrap: pretty; }
body.cvr-page main { background: var(--cream); }
.wrap { max-width: 1200px; padding-inline: 28px; }
.sec { padding-block: 92px; }

/* Quiet 80px shell shared by all supporting routes. */
#r369-nav {
  height: 80px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--line);
  box-shadow: none;
  backdrop-filter: blur(16px);
  animation: none;
}
.nav-inner { max-width: 1200px; padding-inline: 28px; gap: 24px; }
.nav-inner > a:first-child { flex: 0 0 auto; }
.nav-inner > a:first-child img { width: auto; height: 34px; }
.nav-links { gap: 24px; margin-left: auto; }
.nav-links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 2px;
  color: #344256;
  font-size: 14px;
  font-weight: 600;
}
.nav-links a::after { bottom: 5px; height: 1px; border-radius: 0; }
.nav-links a[aria-current='page'] { color: var(--blue) !important; }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.nav-login {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
}
.nav-login:hover { color: var(--blue); }
.nav-cta {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 8px;
  box-shadow: none;
  font-size: 14px;
}
.r369-mobile-menu { top: 80px; padding: 12px 24px 24px; border-color: var(--line); }
.r369-mobile-menu a { min-height: 48px; padding: 12px 4px; font-size: 16px; }
.r369-mobile-menu a.r369-mm-cta { border-radius: 8px; box-shadow: none; }

/* A blue rule makes every page opening read like a property record. */
.phero {
  padding: 154px 0 72px;
  text-align: left;
  border-bottom: 1px solid var(--line);
  background: var(--cream) !important;
}
.phero .wrap {
  position: relative;
  padding-left: 52px;
}
.phero .wrap::before {
  content: '';
  position: absolute;
  left: 28px;
  top: 2px;
  bottom: 2px;
  width: 3px;
  background: var(--blue);
}
.crumbs { justify-content: flex-start; margin-bottom: 28px; color: var(--ink-mute); }
.h2-eyebrow {
  padding: 0;
  margin-bottom: 16px !important;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--blue);
  letter-spacing: .12em;
}
.phero h1 {
  max-width: 860px;
  margin: 0 0 18px;
  font-size: clamp(40px, 5.4vw, 66px);
  line-height: 1.01;
}
.phero .p-sub { max-width: 700px; margin: 0; font-size: 18px; line-height: 1.65; }
.phero .h2-ctas, .phero .h2-trust { justify-content: flex-start; }
.hero-fade { animation: none; }

.btn { min-height: 48px; border-radius: 8px; box-shadow: none; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--blue); box-shadow: none; }
.btn-ghost, .btn-secondary { background: transparent; border: 1px solid #aebdca; color: var(--ink); }
.card, .price-card, .g-card, .vault-card, .r369-faq-item,
.cvr-quick-paths__item, .cvr-toc, .price-anchor, .cl-era, .cl-cadence,
.contact-routes, .cvr-pricing-bridge, .r369-form-card {
  border-radius: 10px !important;
  box-shadow: none !important;
}
.lift:hover, .vault-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift) !important; }

/* Inline-heavy feature pages receive a measured editorial rhythm. */
body.cvr-page:not(.cmp-page) main > section:not(.phero):not(.finale) {
  border-bottom: 1px solid var(--line-soft);
}
body.cvr-page:not(.cmp-page) main > section[style*='background:var(--paper)'] { background: #fff !important; }
body.cvr-page:not(.cmp-page) main > section[style*='background:var(--parch-2)'] { background: var(--cream) !important; }
.r369-feat { max-width: 1120px !important; gap: clamp(42px,7vw,88px) !important; }
.r369-feat h2 { font-size: clamp(30px,3.6vw,44px) !important; line-height: 1.08 !important; }
.r369-feat > div > div[style*='border-radius:16px'] {
  border-radius: 10px !important;
  border-color: var(--line) !important;
  box-shadow: var(--shadow-soft);
}
.feat-index {
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 28px;
  border-width: 0 0 1px;
  border-radius: 0;
  background: #fff;
}
.feat-index__list { gap: 4px 34px; }
.feat-index__list a { min-height: 44px; display: flex; align-items: center; }
.feat-cta { background: var(--dark); background-image: none; }
.feat-cta__head { font-size: clamp(30px,4vw,42px); }

/* Pricing reads as a clear ledger, keeping all calculator contracts intact. */
.r369-calc-card {
  border-radius: 10px !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 24px 60px -40px rgba(7,21,39,.5) !important;
}
#calc-price { color: var(--blue) !important; }
.r369-slider-track, input[type='range'] { accent-color: var(--blue); }
.price-anchor { background: #fff; border-color: var(--line); }
.price-anchor__rows li { padding-block: 14px; }
.cvr-pricing-bridge { max-width: 1120px; border-color: var(--line); background: #fff; }
.r369-addon-grid > div, .r369-grid2 > div {
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* Contact, FAQ, legal and changelog stay readable at long-form widths. */
.r369-form-card { background: #fff !important; border-color: var(--line) !important; }
#contact-form :is(input,textarea) {
  min-height: 48px;
  border-radius: 8px !important;
  border-color: #b8c5ce !important;
  background: var(--cream) !important;
}
#contact-form textarea { min-height: 150px; }
#submit-btn { border-radius: 8px !important; box-shadow: none !important; }
.r369-faq { max-width: 840px; }
.r369-faq-q { min-height: 58px; font-family: var(--sans); }
.cvr-toc { border-color: var(--line); background: #fff; }
.r369-cl-row { border-color: var(--line) !important; }
.cl-era { background: #fff; }
.finale { background: var(--dark); }
.finale::before, .finale::after { display: none; }

/* Comparison pages retain their data model while joining the same shell. */
.cmp-page main { background: var(--cream); }
.cmp-page :where(.cmp-hero,.cmpx-hero) { border-bottom-color: var(--line) !important; }
.cmp-page :where(.cmp-card,.cmpx-card,.cmp-table-wrap,.cmpx-table-wrap,.cmp-verdict,.cmpx-verdict) {
  border-radius: 10px !important;
  box-shadow: none !important;
}

footer { padding: 64px 0 32px; background: #eef2ef; border-color: var(--line); }
.foot-grid { max-width: 1120px; gap: 48px; }
.foot-grid h2 { color: #526174; letter-spacing: .1em; }
.foot-grid a { min-height: 30px; margin-bottom: 4px; }

@media (max-width: 1040px) {
  .nav-links { gap: 15px; }
  .nav-actions { gap: 4px; }
  .nav-login { padding-inline: 8px; }
  .nav-cta { padding-inline: 14px; }
}
@media (max-width: 860px) {
  #r369-nav { height: 72px; }
  .r369-mobile-menu { top: 72px; }
  .nav-actions { margin-left: auto; }
  .nav-login { display: none; }
  .nav-cta { display: none; }
  .phero { padding: 124px 0 58px; }
  .phero h1 { font-size: clamp(36px,9vw,52px); }
  .r369-feat { grid-template-columns: 1fr !important; gap: 34px !important; }
  .r369-feat > div { order: initial !important; }
}
@media (max-width: 560px) {
  .wrap, .nav-inner { padding-inline: 20px; }
  .phero { padding: 112px 0 48px; }
  .phero .wrap { padding-left: 42px; }
  .phero .wrap::before { left: 20px; }
  .phero h1 { font-size: clamp(34px,10.5vw,44px); line-height: 1.04; }
  .phero .p-sub { font-size: 17px; }
  .phero .h2-ctas { align-items: stretch; }
  .phero .h2-ctas .btn { width: 100%; }
  .feat-index { margin: 0; padding: 24px 20px; }
  .r369-form-card { padding: 30px 20px !important; }
  #contact-form :is(input,textarea) { font-size: 16px !important; }
  .foot-grid { gap: 28px; }
}

@media (forced-colors: active) {
  .phero .wrap::before { background: CanvasText; }
  .btn-primary, .nav-cta { border: 1px solid ButtonText; }
}
@media print {
  #r369-nav, .r369-mobile-menu, .r369-sticky-cta, .finale { display: none !important; }
  .phero { padding-top: 32px; }
  body.cvr-page, body.cvr-page main { background: #fff; }
}
/* Footer navigation remains comfortable on touch devices. */
@media (pointer: coarse) {
  .foot-grid a, .foot-bottom a { min-height: 44px; display: inline-flex; align-items: center; }
}
