/* Rentals2Homes shared layout + compliance styles (2026-10-27). Loaded after styles.css on every page. */
html,body{max-width:100%}
body{overflow-x:clip}
body{color:var(--r2h-ink,#10254b)}
img{max-width:100%}
.r2h-skip{position:absolute;left:-9999px;top:0;background:#fff;padding:8px 12px;z-index:200}
.r2h-skip:focus{left:8px}
/* Licensed-brokerage bar (GREC firm name + phone on every page) */
.r2h-licensebar{background:#062b64;color:#e6eef8;font-size:.78rem;line-height:1.35}
.r2h-licensebar .r2h-container{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;padding:7px 0}
.r2h-licensebar strong{color:#fff}
.r2h-licensebar a{color:#fff;font-weight:800;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}
/* Header / nav */
.r2h-header{position:sticky;top:0}
.r2h-nav{position:relative}
.r2h-logo img{height:auto}
.r2h-navlinks a{padding:6px 0}
.r2h-navlinks a[aria-current=page]{color:var(--r2h-blue);box-shadow:inset 0 -3px 0 var(--r2h-blue)}
.r2h-phone{display:inline-flex;align-items:center;gap:6px;color:var(--r2h-navy,#0a2a5c)}
.r2h-menu{cursor:pointer;width:44px;height:44px;border-radius:10px}
.r2h-menu:focus-visible{outline:3px solid #8db7ff}
@media(max-width:1250px){.r2h-phone{display:inline-flex}.r2h-phone .r2h-phone-label{display:none}}
@media(max-width:980px){
  .r2h-navlinks{display:none}
  .r2h-navlinks.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid #dfe7f0;border-radius:0 0 14px 14px;box-shadow:0 18px 30px rgba(8,43,95,.14);padding:8px 18px 14px;font-size:1rem;z-index:150}
  .r2h-navlinks.open a{padding:13px 4px;border-bottom:1px solid #eef2f7}
  .r2h-navlinks.open a:last-child{border-bottom:0}
}
@media(max-width:680px){
  .r2h-logo{width:180px;flex-basis:180px}
  .r2h-header-actions{gap:8px}
  .r2h-phone{font-size:.8rem}
  .r2h-licensebar{font-size:.72rem}
  .r2h-licensebar .r2h-container{justify-content:center;text-align:center}
}
@media(max-width:400px){.r2h-logo{width:150px;flex-basis:150px}.r2h-phone strong{font-size:.78rem}}
/* Footer */
.r2h-footer .brand img{width:240px;max-width:100%}
.r2h-footer a{font-size:.8rem}
.r2h-footer h4{font-size:.82rem}
.r2h-footer-grid{grid-template-columns:1.6fr repeat(4,1fr)}
.r2h-footer-legal{border-top:1px solid #e5eaf0;padding:16px 0 6px;color:#40536b;font-size:.8rem;line-height:1.55}
.r2h-footer-legal p{margin:0 0 9px;max-width:1100px}
.r2h-footer-legal strong{color:#10254b}
.r2h-footer-legal a{display:inline;font-size:inherit;color:#0d5edc;text-decoration:underline}
.r2h-eho{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#10254b}
.r2h-eho img{width:30px;height:30px}
.r2h-footer-bottom{font-size:.76rem;flex-wrap:wrap;align-items:center}
.r2h-footer-bottom a{display:inline;font-size:inherit;margin:0;color:#0d5edc}
.r2h-footer-phone{font-size:1rem!important;font-weight:900;color:#0d5edc!important}
@media(max-width:980px){.r2h-footer-grid{grid-template-columns:1fr 1fr 1fr}.r2h-footer-grid .brand{grid-column:1/-1}}
@media(max-width:680px){.r2h-footer-grid{grid-template-columns:1fr 1fr}}
/* Shared notices */
.r2h-disclaimer{background:#f6f9fc;border:1px solid #dbe5ef;border-radius:12px;padding:14px 16px;color:#40536b;font-size:.8rem;line-height:1.55}
.r2h-disclaimer strong{color:#10254b}
.r2h-asof{font-size:.74rem;color:#5b6d84}
/* Featured homes (homepage) */
.r2h-home-card{display:flex;flex-direction:column}
.r2h-home-card .r2h-home-photo{position:relative;height:145px;background:linear-gradient(135deg,#eaf2fb,#f6fbfa);display:grid;place-items:center;color:#5d7088;font-size:.72rem;font-weight:800;text-align:center}
.r2h-home-card .r2h-home-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r2h-home-photo .r2h-photo-tag{position:absolute;left:8px;bottom:8px;background:rgba(6,36,85,.82);color:#fff;font-size:.6rem;padding:3px 7px;border-radius:999px}
.r2h-home-listed{font-size:.68rem;color:#2c4766;margin-top:6px;font-weight:700}
.r2h-home-card .r2h-asof{font-size:.62rem;margin-top:3px}
.r2h-home-body{display:flex;flex-direction:column;flex:1}
.r2h-home-body a{margin-top:auto}
.r2h-coming-soon{grid-column:1/-1;border:1px dashed #b9cce0;border-radius:14px;background:#f7fbff;padding:26px;text-align:center;color:#33496a}
.r2h-coming-soon h3{margin:0 0 6px;color:#10254b;font-size:1.2rem}
.r2h-coming-soon p{margin:0 auto 14px;max-width:620px;font-size:.9rem}
/* Homepage calculator additions */
.r2h-assumptions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:6px 0 4px}
.r2h-assumptions label{font-size:.66rem;font-weight:800;color:#20395f}
.r2h-assumptions input{display:block;width:100%;margin-top:4px;border:1px solid #ccd8e5;border-radius:8px;background:#f9fbfd;padding:8px;font-weight:800;color:#18355f;font-size:.78rem}
.r2h-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 14px;margin:8px 0 0;font-size:.7rem;color:#4b5f79}
.r2h-breakdown b{color:#10254b}
.r2h-regz{font-size:.68rem;color:#4b5f79;line-height:1.5;margin-top:10px}
@media(max-width:680px){.r2h-assumptions{grid-template-columns:1fr 1fr}.r2h-breakdown{grid-template-columns:1fr 1fr}}
/* Calculator page */
.calc2-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.calc2-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.calc2-fields .field label{display:block;font-size:.8rem;font-weight:800;margin-bottom:5px}
.calc2-fields .field input,.calc2-fields .field select{width:100%;border:1px solid #cbd6e2;border-radius:10px;padding:11px 12px;font-size:1rem}
.calc2-fields .field small{display:block;color:#5d6b79;font-size:.72rem;margin-top:4px}
.calc2-fields h3{grid-column:1/-1;margin:10px 0 0;font-size:1rem}
.calc2-out{background:linear-gradient(160deg,#0a2a5c,#0d3f86);color:#fff;border-radius:22px;padding:26px}
.calc2-out .big{font-size:2.6rem;font-weight:900;line-height:1.05}
.calc2-out dl{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:18px 0 0;font-size:.92rem}
.calc2-out dt{color:#c9d8ec}.calc2-out dd{margin:0;text-align:right;font-weight:800}
.calc2-out .sep{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);margin:4px 0}
.calc2-rent{margin-top:18px;background:rgba(255,255,255,.1);border-radius:14px;padding:14px;font-size:.9rem}
.calc2-rent strong{font-size:1.5rem;display:block}
@media(max-width:900px){.calc2-grid{grid-template-columns:1fr}}
@media(max-width:560px){.calc2-fields{grid-template-columns:1fr}}
/* Lead form consent */
.r2h-consent{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;line-height:1.5;color:#33465c;background:#f6f9fc;border:1px solid #dbe5ef;border-radius:10px;padding:12px}
.r2h-consent input{margin-top:3px;width:18px;height:18px;flex:0 0 18px}
.r2h-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-status.success{color:#0b7a4b;font-weight:800}
.form-status.error{color:#b42318;font-weight:800}
.form-status{margin-top:10px}
.lead-form .wide,.lead-form .field.wide{grid-column:1/-1}
/* Legal pages */
.legal{max-width:860px}
.legal h2{font-size:1.35rem;margin:28px 0 8px}
.legal p,.legal li{color:#33465c;line-height:1.65}
/* Old-layout pages: make wide grids collapse cleanly on phones */
@media(max-width:700px){.grid-2,.grid-3,.calc-shell,.section-head{grid-template-columns:1fr!important;display:grid}.page-hero h1{font-size:2.2rem;word-break:break-word}.cta{grid-template-columns:1fr!important}}

/* Mobile: request a smaller hero photo (2400px -> 1100px) to cut mobile page weight. */
@media (max-width:980px){.r2h-hero-bg{background-image:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.8) 45%,rgba(255,255,255,.15) 75%),url('https://images.unsplash.com/photo-1663601453912-0733a877cbc1?auto=format&fit=crop&fm=jpg&ixlib=rb-4.1.0&q=70&w=1100')}}

/* 2026-10-27 hero-check: keep the full desktop header (incl. "Get Started") inside the viewport from 981px to 1365px; it was clipped at 1280px. */
@media (min-width:981px) and (max-width:1365px){.r2h-nav{gap:18px}.r2h-logo{width:240px;flex-basis:240px}.r2h-navlinks{gap:16px;font-size:.76rem}.r2h-header-actions{gap:12px}.r2h-phone .r2h-phone-label{display:none}}
@media (min-width:981px) and (max-width:1180px){.r2h-nav{gap:12px}.r2h-logo{width:190px;flex-basis:190px}.r2h-navlinks{gap:12px;font-size:.72rem}.r2h-header-actions{gap:10px}.r2h-header-actions .r2h-btn{padding-left:14px;padding-right:14px}.r2h-phone{font-size:.8rem}}

/* 2026-10-27 hero-overlay: replace the white/light left wash with a dark navy treatment + light hero text (Oleg). Search card untouched. Rollback: restore site-2026.css from ~/r2h_archive/pre-hero-overlay-<ts>/ */
.r2h-hero-carousel{background:#0a1f44}
.r2h-hero-carousel .r2h-hero-slide::after{background:linear-gradient(90deg,rgba(6,24,56,.86) 0%,rgba(6,24,56,.82) 28%,rgba(6,24,56,.62) 42%,rgba(6,24,56,.26) 52%,rgba(6,24,56,0) 60%),rgba(6,24,56,.14)}
.r2h-hero-carousel .r2h-hero-copy h1{color:#fff;text-shadow:0 2px 22px rgba(3,14,34,.35)}
.r2h-hero-carousel .r2h-hero-copy h1 span{color:#7cc4ff}
.r2h-hero-carousel .r2h-hero-copy p{color:#e8eff8;text-shadow:0 1px 10px rgba(3,14,34,.35)}
.r2h-hero-carousel .r2h-hero-copy p strong{color:#fff}
.r2h-hero-carousel .r2h-trust-list{color:#dbe6f3}
.r2h-hero-carousel .r2h-trust-list span::first-letter{color:#5eead4}
.r2h-hero-carousel .r2h-hero-actions .r2h-btn-outline{background:rgba(6,24,56,.35);border-color:#5eead4;color:#fff;box-shadow:none}
.r2h-hero-carousel .r2h-hero-actions .r2h-btn-outline:hover{background:rgba(94,234,212,.16)}
@media (max-width:980px){.r2h-hero-carousel .r2h-hero-slide::after{background:linear-gradient(180deg,rgba(6,24,56,.84) 0%,rgba(6,24,56,.78) 45%,rgba(6,24,56,.6) 75%,rgba(6,24,56,.5) 100%)}}

/* 2026-10-27 nav-font: larger desktop nav links / phone / CTA (Oleg). Scales with viewport so the header stays on one line from 981px up. */
@media (min-width:981px){
  .r2h-navlinks{font-size:clamp(14px,1.1vw,16px);gap:clamp(14px,1.7vw,30px)}
  .r2h-phone,.r2h-phone strong{font-size:clamp(14px,1.05vw,16px)}
  .r2h-header-actions .r2h-btn{font-size:clamp(14.5px,1.1vw,16.5px);padding:12px clamp(14px,1.3vw,22px)}
}
@media (min-width:1366px) and (max-width:1700px){.r2h-logo{width:clamp(250px,17vw,300px);flex-basis:clamp(250px,17vw,300px)}}
/* 981-1180: phone shows as a tappable ☎ icon only (number stays in the license bar above) to make room for bigger links */
@media (min-width:981px) and (max-width:1180px){.r2h-phone strong{display:none}.r2h-phone{font-size:20px;min-width:40px;min-height:40px;justify-content:center}}
@media (min-width:981px) and (max-width:1023px){.r2h-navlinks{font-size:13.5px;gap:11px}.r2h-nav{gap:10px}.r2h-logo{width:172px;flex-basis:172px}.r2h-header-actions{gap:6px}}
/* phone drawer: larger tap text */
@media (max-width:980px){.r2h-navlinks.open{font-size:16px}}
