/* Self-hosted brand fonts (2026-10-28): Google Fonts latin WOFF2 files, OFL licensed, no third-party request at page load */
@font-face { font-family: 'Syncopate'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/Syncopate-700.woff2) format('woff2'); }
@font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/WorkSans-variable.woff2) format('woff2'); }
@font-face { font-family: 'Work Sans'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/WorkSans-400-italic.woff2) format('woff2'); }
/* RentEclipse lean theme. One stylesheet. Layout follows the live site; colors and type follow the Eclipse brand
   (brand-style skill, 2026-09-13: Work Sans + Syncopate, Eclipse Black, gold as fill, #8A6100 for gold text on white).
   The :root token block below is generated from brand.py by lean/build_lean.py; edit brand.py, not the hexes. */
:root {
  --gold: #FCC438; --gold-2: #FCCE5C; --gold-text: #8A6100; --black: #2B2A28; --ground: #181612; --raised: #393632;
  --ink: #2B2A28; --ink-2: #464F58; --muted: #60666D; --line: #D4D0CB; --line-2: #EBE7E2; --line-strong: #77746F; --paper: #FAF6F1; --black-2: #393632; --ink-dark-2: #C9C5BF;
  --series-1: #B88A00; --series-2: #00999F; --alert: #A1182D; --alert-tint: #FBEEF0;
}
:root {
  --white: #fff;
  --wrap: 1100px;
  --font: "Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --display: "Syncopate", "Work Sans", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 136px; }  /* in-page links land below the sticky header (114px once it shrinks), Chuck 2026-11-03 */
@media (max-width: 992px) { html { scroll-padding-top: 120px; } }  /* phone header is 100px once stuck */
body { margin: 0; font: 400 17px/1.65 var(--font); color: var(--ink-2); background: var(--black); word-wrap: break-word; }
img, svg, iframe, video { max-width: 100%; height: auto; }
img { display: inline-block; vertical-align: middle; }
a { color: var(--gold-text); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .6em; line-height: 1.2; font-weight: 600; color: var(--ink); }
h1 { font-size: 44px; font-weight: 600; letter-spacing: -.01em; }
h2 { font-size: 32px; }
h3 { font-size: 25px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; font-weight: 400; }
h6 { font-size: 15px; }
.display { font-family: var(--display); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 24px; line-height: 1.3; }
h1.display, h2.display { font-size: 30px; }
h1.as-h2, .as-h1 { font-size: 32px; } h1.as-h3 { font-size: 25px; } h1.as-h4 { font-size: 20px; } h1.as-h3.display, h1.as-h2.display { font-size: 30px; }
p.as-h1 { font-weight: 600; line-height: 1.2; margin: 0 0 .6em; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.4em; }
hr { border: 0; border-top: 1px solid var(--line); margin: 24px 0; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ico { width: 1em; height: 1em; fill: currentColor; vertical-align: -.12em; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }

/* ---------- header: solid Eclipse Black, in the flow, sticks on scroll ---------- */
#top { position: sticky; top: 0; z-index: 50; color: var(--white); background: var(--black); box-shadow: 0 1px 0 rgba(255, 255, 255, .06); }
#top.stuck { box-shadow: 0 2px 12px rgba(0, 0, 0, .45); }
#top .bar { display: none; }
#top .main .wrap { display: flex; align-items: center; gap: 24px; min-height: 92px; transition: min-height .2s; }
#top.stuck .main .wrap { min-height: 72px; }
#top .logo { margin-right: auto; padding: 12px 0; }  /* Chuck 2026-10-28: logo sat tight against the top of the bar */
#top.stuck .logo { padding: 8px 0; }
#top .logo img { width: 164px; height: auto; display: block; transition: width .2s; }
#top.stuck .logo img { width: 136px; }
#top a { color: var(--white); }
#top a:hover { text-decoration: none; }
#nav > ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; }
#nav li { position: relative; }
#nav > ul > li > a, #nav > ul > li > span { display: block; padding: 34px 13px; font-weight: 500; font-size: 15px; white-space: nowrap; cursor: pointer; }
#top.stuck #nav > ul > li > a, #top.stuck #nav > ul > li > span { padding: 24px 13px; }
#nav .has-sub > a::after, #nav .has-sub > span::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 7px; border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-3px) rotate(45deg); }
#nav ul ul { list-style: none; margin: 0; padding: 8px 0; position: absolute; top: 100%; left: 0; min-width: 250px; background: var(--black); border-top: 3px solid var(--gold); box-shadow: 0 8px 24px rgba(0, 0, 0, .4); display: none; z-index: 60; }
#nav ul ul ul { top: -8px; left: 100%; border-top: 0; border-left: 3px solid var(--gold); }
#nav li:hover > ul, #nav li.open > ul, #nav li:focus-within > ul { display: block; }
#nav ul ul a, #nav ul ul span { display: block; padding: 9px 18px; font-size: 14px; cursor: default; }  /* span = a submenu heading with no page of its own (Community Information); Chuck 2026-10-30 */
#nav ul ul a:hover, #nav ul ul li:hover > span, #nav ul ul li.on > a { background: rgba(255, 255, 255, .08); color: var(--gold); }
#nav > ul > li.on > a { color: var(--gold); }
#menu-btn { display: none; background: none; border: 0; color: var(--white); padding: 8px; cursor: pointer; }
#menu-btn .ico { width: 28px; height: 28px; }

/* ---------- page layout ---------- */
main { background: var(--white); min-height: 60vh; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }
.wrap.full { max-width: none; padding: 0 max(20px, calc((100% - var(--wrap)) / 2)); }  /* full-bleed rows keep their text inside the normal column */
.sec { position: relative; padding: 64px 0; }
.sec.color { background: var(--bgc, var(--paper)); }
.sec.photo { background: var(--bgc, var(--black)) var(--bg) center center / cover no-repeat; }
.sec.photo::before { content: ""; position: absolute; inset: 0; background: var(--ov, rgba(43, 42, 40, .58)); pointer-events: none; }
.sec.photo > .wrap { position: relative; }
.sec.hero { min-height: clamp(440px, 62vh, 640px); display: flex; align-items: center; padding: 48px 0; }
.sec.hero > .wrap { width: 100%; }
.sec.hero h1 { font-size: 46px; margin-bottom: .4em; }
.sec.hero h5 { font-size: 19px; margin-bottom: 1em; }
.hero-proof { font-size: 17px; color: rgba(255, 255, 255, .92); margin: 0 0 14px; max-width: 640px; }
.hero-proof .star { color: var(--gold); }
.hero-proof a { color: var(--gold); text-decoration: underline; white-space: nowrap; }
.towns { list-style: none; margin: 18px 0 0; padding: 0; columns: 2; column-gap: 32px; }
.towns li { break-inside: avoid; padding: 6px 0; border-bottom: 1px solid var(--line-2); }
.towns strong { display: block; }
.towns span { font-size: 15px; opacity: .8; }
.markets .callout .c-text { text-align: left; }
.hero-phone { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin: 0 0 18px; }
.hero-phone a { font-size: 30px; font-weight: 700; color: var(--gold); letter-spacing: .01em; }
.hero-phone span { font-size: 15px; color: rgba(255, 255, 255, .85); }
.sec.light, .sec.light h1, .sec.light h2, .sec.light h3, .sec.light h4, .sec.light h5, .sec.light h6, .sec.light .callout .c-title, .sec.light .callout .c-text, .sec.light .text { color: var(--white); }
.sec.light a:not(.btn) { color: var(--gold); }
.sec.photo:not(.light) .wrap { color: var(--white); }
.sec.photo:not(.light) .wrap h1, .sec.photo:not(.light) .wrap h2, .sec.photo:not(.light) .wrap h3, .sec.photo:not(.light) .wrap h4, .sec.photo:not(.light) .wrap h5, .sec.photo:not(.light) .wrap .c-title, .sec.photo:not(.light) .wrap .c-text { color: var(--white); }
.sec.photo:not(.light) .wrap .accent-color .c-title, .sec.photo:not(.light) .wrap h3.accent-color, .sec.light .accent-color, .sec.light .accent-color .c-title { color: var(--gold); }
.cols { display: flex; flex-wrap: wrap; gap: 0 30px; margin: 0 -15px; }
.cols > .col { flex: 1 1 0; min-width: 0; padding: 0 15px; width: var(--w, auto); flex-basis: var(--w, 0); }
.cols > .col[style*="--bgc"] { background: var(--bgc); padding: 40px 30px; }
.col.light, .col.light h1, .col.light h2, .col.light h3, .col.light h4, .col.light h5, .col.light .c-title, .col.light .c-text, .col.light .text { color: var(--white); }
.cols-1 > .col { flex-basis: 100%; }
/* a row whose --w widths sum to 100% must leave room for the 30px gaps, or flex-wrap pushes the last column onto its own line (Chuck's screenshot 2026-10-30) */
.cols-2 > .col { flex-basis: calc(var(--w, 0%) - 15px); }
.cols-3 > .col { flex-basis: calc(var(--w, 0%) - 20px); }
.cols + .cols { margin-top: 20px; }
.center { text-align: center; }
.text > :last-child, .c-text > :last-child { margin-bottom: 0; }

/* eyebrow labels: Syncopate, small, letterspaced; gold only on a dark ground, #8A6100 on white */
.accent-color, h1.accent-color, h2.accent-color, h3.accent-color { font-family: var(--display); font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-text); }
.section-title { text-align: center; }
.vertical-section-title { display: none; }

/* ---------- buttons (brand control table: gold fill takes black type, radius 0) ---------- */
.btns { display: flex; flex-wrap: wrap; gap: 12px; margin: 10px 0 0; }
.btns.center { justify-content: center; }
.btns.right { justify-content: flex-end; }
.btn, button.btn { display: inline-block; padding: 13px 26px; background: var(--gold); color: var(--black); font: 600 15px/1.2 var(--font); text-transform: uppercase; letter-spacing: .04em; border: 2px solid var(--gold); border-radius: 0; cursor: pointer; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.btn:hover { background: var(--gold-2); border-color: var(--gold-2); text-decoration: none; color: var(--black); }
.btn.alt { background: var(--gold-text); border-color: var(--gold-text); color: var(--white); }
.btn.outline { background: transparent; border-color: currentColor; color: inherit; }
.sec.photo .btn.outline, .sec.light .btn.outline, .col.light .btn.outline { color: var(--white); border-color: var(--white); }
.btn.outline:hover { background: rgba(255, 255, 255, .12); }
.sec:not(.photo):not(.light) .btn.outline { color: var(--ink); border-color: var(--ink); }
.sec:not(.photo):not(.light) .btn.outline:hover { background: var(--paper); }

/* ---------- callouts ---------- */
.callout { text-align: center; margin: 0 0 30px; }
.callout .c-icon { display: block; font-size: 46px; line-height: 1; color: var(--gold); margin: 0 0 14px; }
.callout .c-icon .ico { filter: drop-shadow(0 0 1px rgba(43, 42, 40, .4)); }
.callout .c-photo img { border-radius: 4px; width: 200px; height: 250px; object-fit: cover; object-position: center 22%; margin-bottom: 16px; box-shadow: 0 2px 10px rgba(43, 42, 40, .18); }
.callout .c-title { font-size: 19px; margin-bottom: .4em; }
.callout .c-text { font-size: 16px; }
.callout .c-link { display: inline-block; margin-top: 10px; font-weight: 600; }
.callout .c-link::after { content: " \00bb"; }
.callout .btn { margin-top: 14px; }
.callout.accent-color { text-align: left; font-family: var(--font); font-size: inherit; letter-spacing: 0; text-transform: none; color: inherit; }
.callout.accent-color .c-title { font-size: 30px; color: var(--ink); }
.callout.accent-color .c-text { font-size: 17px; }
.callout.accent-color .c-text h5 { font-family: var(--display); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--gold-text); }
.col.light .callout.accent-color .c-text h5, .sec.light .callout.accent-color .c-text h5 { color: var(--gold); }
.callout.module-feature-right, .callout.module-feature-left { text-align: left; display: grid; grid-template-columns: 44px 1fr; gap: 0 16px; }
.callout.module-feature-right .c-icon, .callout.module-feature-left .c-icon { font-size: 30px; margin: 4px 0 0; grid-row: 1 / span 2; }
.callout.module-feature-right .c-title, .callout.module-feature-left .c-title { font-size: 18px; }
.callout.module-feature-right:not(:has(.c-icon)), .callout.module-feature-left:not(:has(.c-icon)) { grid-template-columns: 1fr; }
.callout.testimonial-ss6 { background: var(--paper); padding: 30px 26px; border-radius: 4px; text-align: left; font-style: italic; }
.callout.testimonial-ss6 .c-title { font-style: normal; font-size: 16px; margin-top: 12px; color: var(--gold-text); }
.callout.op-circle-icon .c-icon { width: 96px; height: 96px; margin: 0 auto 16px; border: 3px solid var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 40px; }
.callout .c-text ul { text-align: left; display: inline-block; }
.c-left { text-align: left; }
.cols > .col.light .callout { color: var(--white); }
.cols > .col.light .callout .c-title { color: var(--gold); }
.cols > .col.light .callout .c-text { color: var(--white); }
.cols > .col.light .callout .c-text h5, .cols > .col.light .callout .c-text h4 { color: var(--white); }
.cols > .col[style*="--bgc"] .btns { margin-top: 0; }

/* ---------- team profiles (lean/team.json) ---------- */
.team { display: grid; gap: 28px; margin-top: 8px; }
.member { display: grid; grid-template-columns: 200px 1fr; gap: 32px; padding: 32px; background: var(--paper); border-left: 4px solid var(--gold); }
.member:nth-child(even) { grid-template-columns: 1fr 200px; border-left: 0; border-right: 4px solid var(--gold); }
.member:nth-child(even) .m-photo { order: 2; }
.m-photo img { width: 200px; height: 250px; object-fit: cover; object-position: center 22%; border-radius: 4px; box-shadow: 0 2px 10px rgba(43, 42, 40, .18); display: block; }
.m-name { font-size: 26px; margin: 0 0 4px; color: var(--ink); }
.m-role { font-family: var(--display); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-text); margin: 0 0 10px; }
.m-role .m-area { display: block; font-family: var(--font); font-weight: 400; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--muted); margin-top: 4px; }
.m-contact { font-size: 15px; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 6px 22px; align-items: center; }
.m-contact .iconlink { justify-content: flex-start; }
.m-bio p { font-size: 16px; line-height: 1.65; margin: 0 0 12px; max-width: 72ch; }
.m-bio p:last-child { margin-bottom: 0; }
/* ---------- Reviewability widget ---------- */
.revwid-wrap { min-height: 320px; }
.reviews-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 14px; margin-top: 24px; font-size: 15px; }
/* ---------- Google reviews (five-star, from the review cache) ---------- */
.reviews-head { text-align: center; max-width: 720px; margin: 0 auto 36px; }
.reviews-head .score { font-size: 48px; font-weight: 700; color: var(--ink); line-height: 1; }
.reviews-head .stars { color: var(--gold); font-size: 26px; letter-spacing: 2px; display: block; margin: 8px 0 6px; }
.reviews-head .count { color: var(--muted); font-size: 15px; }
.reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.review { background: var(--paper); border-radius: 6px; padding: 24px 24px 20px; display: flex; flex-direction: column; border-top: 3px solid var(--gold); }
.review .stars { color: var(--gold); font-size: 16px; letter-spacing: 2px; }
.review p { font-size: 15px; line-height: 1.6; margin: 10px 0 14px; flex: 1; }
.review .who { font-weight: 600; color: var(--ink); font-size: 14px; }
.review .who small { display: block; font-weight: 400; color: var(--muted); font-size: 13px; }
.review .google { font-size: 12px; color: var(--muted); }

/* ---------- other blocks ---------- */
.cta { text-align: center; }
.cta h2 { font-size: 34px; }
.cta .c-text { font-size: 18px; max-width: 760px; margin: 0 auto; }
.cta .btns { justify-content: center; margin-top: 24px; }
.photo { margin: 0 0 20px; text-align: center; }
.photo img { border-radius: 4px; }
.photo.small img { max-width: 420px; width: 100%; }
.photo figcaption { font-size: 14px; color: var(--muted); margin-top: 8px; }
.op-trust-symbols img { max-height: 90px; width: auto; margin: 8px 10px; }
.video { position: relative; padding-top: 56.25%; margin: 0 0 24px; background: #000; border-radius: 4px; overflow: hidden; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.map iframe { width: 100%; height: 360px; border: 0; }
.number { margin: 0 0 20px; }
.number .n { display: block; font-size: 40px; font-weight: 700; color: var(--ink); line-height: 1.1; }
.number .label { font-size: 15px; color: var(--muted); }
.iconlink { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; margin: 6px 0 20px; color: var(--ink); }
.callout .iconlink { justify-content: center; }
.iconlink .ico { font-size: 22px; color: var(--gold); }
.accordion details { border: 1px solid var(--line); border-radius: 4px; margin: 0 0 10px; }
.accordion summary { padding: 14px 18px; font-weight: 600; color: var(--ink); cursor: pointer; list-style: none; position: relative; padding-right: 40px; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::after { content: "+"; position: absolute; right: 18px; top: 10px; font-size: 22px; color: var(--gold-text); }
.accordion details[open] summary::after { content: "\2212"; }
.accordion details > div { padding: 4px 18px 16px; }
.html table, .text table { border-collapse: collapse; width: 100%; }
.html td, .html th, .text td, .text th { border: 1px solid var(--line); padding: 8px 10px; text-align: left; vertical-align: top; }
.html img, .text img { height: auto; }
.page_item { list-style: none; }

/* ---------- forms ---------- */
.form { background: var(--white); border: 1px solid var(--line); border-radius: 6px; padding: 26px 28px; box-shadow: 0 4px 18px rgba(0, 0, 0, .08); color: var(--ink-2); text-align: left; }
.sec.photo .form, .sec.light .form { color: var(--ink-2); }
.form h3 { font-size: 22px; }
.form .f-field { margin: 0 0 16px; border: 0; padding: 0; min-width: 0; }
.form label, .form legend { display: block; font-weight: 600; font-size: 14px; color: var(--ink); margin: 0 0 6px; }
.form label.choice { font-weight: 400; display: flex; gap: 8px; align-items: flex-start; margin: 4px 0; }
.form label.choice input { margin-top: 5px; }
.form input[type="text"], .form input[type="email"], .form input[type="tel"], .form input[type="number"], .form input[type="date"], .form input[type="url"], .form select, .form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line-strong); border-radius: 4px; font: 400 16px/1.4 var(--font); color: var(--ink); background: var(--white); }
.form input:focus, .form select:focus, .form textarea:focus { outline: 2px solid var(--gold); outline-offset: 0; border-color: var(--gold); }
.form .f-sub { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.form .f-sub label span { display: block; font-size: 12px; font-weight: 500; color: var(--muted); margin-bottom: 3px; }
.form .f-sub label { margin: 0; }
.form small { display: block; font-size: 12px; color: var(--muted); margin-top: 4px; }
.form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.form .f-actions { margin-top: 20px; }
.form button.btn { width: 100%; }
.form .f-html { font-size: 14px; }

/* ---------- pricing table ---------- */
.pricing { overflow-x: auto; contain: paint; margin: 10px 0 30px; }  /* contain:paint keeps the 760px table from widening the phone viewport (audit 2026-10-28) */
figure { max-width: 100%; overflow-x: auto; margin: 0 0 1em; }  /* tables and wide images in posts scroll inside the figure */
.pricing table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 760px; font-size: 14px; background: var(--white); box-shadow: 0 4px 18px rgba(0, 0, 0, .08); }
.pricing th, .pricing td { padding: 10px 12px; border-bottom: 1px solid var(--line-2); vertical-align: middle; }
.pricing thead th { font-size: 22px; font-weight: 500; color: var(--white); text-align: center; padding: 18px 12px; }
.pricing thead tr:first-child th:first-child { background: var(--white); color: var(--ink); text-align: left; font-size: 24px; vertical-align: top; }  /* tr:first-child: the sub row has no rowspan cell, so its first th is a plan column */
.pricing thead th.p1, .pricing thead th.p2, .pricing thead th.p3 { background: var(--black); color: var(--white); position: relative; }
.pricing thead th.featured { border-top: 6px solid var(--gold); padding-top: 12px; }
.pricing thead th .pop { display: block; font-family: var(--display); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
.pricing thead tr.sub th { font-size: 13px; font-weight: 500; padding: 8px 12px; }
.pricing thead tr.sub th.p1, .pricing thead tr.sub th.p2, .pricing thead tr.sub th.p3 { background: var(--black-2); color: var(--ink-dark-2); }
.pricing tbody td { text-align: center; }
.pricing tbody td:first-child { text-align: left; background: var(--paper); font-weight: 500; color: var(--ink); width: 34%; }
.pricing tbody tr:nth-child(even) td:not(:first-child) { background: #fcfbf9; }
.pricing tr.sec-row td { background: var(--gold) !important; color: var(--black); font-weight: 700; text-align: left; }
.pricing .yes .ico { color: var(--gold-text); font-size: 18px; }
.pricing .no { color: var(--muted); }
.tip { display: inline-block; position: relative; margin-left: 6px; color: var(--gold-text); cursor: help; font-size: 13px; }
.tip::after { content: attr(data-tip); position: absolute; left: 50%; bottom: 130%; transform: translateX(-50%); width: 300px; padding: 10px 12px; background: var(--black); color: var(--white); font-size: 12px; line-height: 1.5; font-weight: 400; border-radius: 4px; text-align: left; opacity: 0; pointer-events: none; transition: opacity .15s; z-index: 20; white-space: normal; }
.tip::after { visibility: hidden; width: min(300px, 80vw); }  /* hidden tooltips take no layout space: they were widening the page on phones (audit 2026-10-28) */
.tip:hover::after, .tip:focus::after, .tip.show::after { opacity: 1; visibility: visible; }

/* ---------- FAQ (knowledge base) ---------- */
.faq-tools { max-width: 760px; margin: 0 auto 30px; }
.faq-search { position: relative; }
.faq-search input { width: 100%; padding: 14px 16px 14px 46px; border: 1px solid var(--line-strong); border-radius: 30px; font: 400 16px var(--font); color: var(--ink); }
.faq-search .ico { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 18px; }
.faq-results { list-style: none; margin: 8px 0 0; padding: 0; background: var(--white); border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 8px 24px rgba(0, 0, 0, .12); display: none; }
.faq-results.show { display: block; }
.faq-results li a { display: block; padding: 10px 16px; border-bottom: 1px solid var(--line-2); color: var(--ink); }
.faq-results li:last-child a { border-bottom: 0; }
.faq-results li a:hover { background: var(--paper); text-decoration: none; }
.faq-results li a small { display: block; color: var(--muted); font-size: 12px; }
.faq-results .none { padding: 10px 16px; color: var(--muted); }
.crumbs { font-size: 14px; color: var(--muted); margin: 0 0 20px; }
.crumbs a { color: var(--gold-text); }
.faq-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; margin-top: 10px; }
.faq-cat { background: var(--paper); border-radius: 6px; padding: 22px 24px; }
.faq-cat h3 { font-size: 19px; margin-bottom: 10px; }
.faq-cat h3 a { color: var(--ink); }
.faq-cat ul { list-style: none; padding: 0; margin: 0; }
.faq-cat li { padding: 5px 0; border-bottom: 1px solid var(--line-2); font-size: 15px; }
.faq-cat li:last-child { border-bottom: 0; }
.faq-cat li a { color: var(--ink); }
.faq-cat li a:hover { color: var(--gold-text); }
.faq-cat .more { display: inline-block; margin-top: 10px; font-weight: 600; }
.faq-article { max-width: 860px; margin: 0 auto; }
.faq-article h1 { font-size: 30px; font-weight: 600; }
.faq-related { background: var(--paper); border-radius: 6px; padding: 20px 24px; margin-top: 36px; }
.faq-related h3 { font-size: 17px; }
.faq-related ul { margin: 0; padding-left: 1.2em; }

/* ---------- blog ---------- */
.blog { display: grid; grid-template-columns: 1fr 300px; gap: 50px; }
.post-card { padding: 0 0 30px; margin: 0 0 30px; border-bottom: 1px solid var(--line-2); }
.post-card h2 { font-size: 26px; margin-bottom: 6px; }
.post-card h2 a { color: var(--ink); }
.post-updated { font-size: 14px; color: var(--muted); font-style: italic; margin: 0 0 18px; }
.post-meta { font-size: 13px; color: var(--muted); margin: 0 0 12px; }
.post-meta a { color: var(--gold-text); }
.post h1 { font-size: 40px; font-weight: 600; }
.post .entry img { height: auto; border-radius: 4px; }
.post .entry h2 { font-size: 26px; margin-top: 1.4em; }
.post .entry h3 { font-size: 21px; margin-top: 1.2em; }
.post .entry blockquote { margin: 1em 0; padding: 10px 20px; border-left: 4px solid var(--gold); background: var(--paper); }
.post .entry table { border-collapse: collapse; width: 100%; font-size: 14px; }
.post .entry td, .post .entry th { border: 1px solid var(--line); padding: 6px 10px; text-align: left; }
.sidebar h3 { font-family: var(--display); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 12px; }
.sidebar ul { list-style: none; padding: 0; margin: 0 0 30px; }
.sidebar li { padding: 6px 0; border-bottom: 1px solid var(--line-2); font-size: 15px; }
.sidebar li a { color: var(--ink); }
.sidebar li a:hover { color: var(--gold-text); }
.read-more { font-weight: 600; }

/* ---------- footer: Eclipse ground ---------- */
footer { background: var(--ground); color: var(--ink-dark-2); text-align: center; padding: 50px 0 30px; font-size: 14px; }
footer a { color: var(--gold); }
footer .links { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 26px; font-weight: 600; font-size: 15px; }
footer .lines p { margin: 0 0 6px; }
footer .lines small { font-size: 12px; }
footer .badges { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 18px 30px; margin: 26px 0; }
footer .badges img { height: 70px; width: auto; filter: grayscale(1) brightness(1.4); opacity: .9; }
footer .badges img.b-yt { height: 36px; }
footer .badges img.b-fb { height: 40px; }
footer .footer-copyright { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 13px; }
footer hr { border-top: 1px solid rgba(255, 255, 255, .1); }
footer .bottom { font-size: 13px; }
#to-top { position: fixed; right: 18px; bottom: 18px; width: 42px; height: 42px; border-radius: 50%; background: var(--gold); color: var(--black); border: 0; display: none; align-items: center; justify-content: center; cursor: pointer; z-index: 40; box-shadow: 0 2px 8px rgba(0, 0, 0, .3); }
#to-top.show { display: flex; }

/* ---------- responsive ---------- */
@media (max-width: 1140px) {
  #nav > ul > li > a, #nav > ul > li > span { padding-left: 9px; padding-right: 9px; font-size: 14px; }
}
@media (max-width: 992px) {
  h1 { font-size: 36px; }
  h2 { font-size: 28px; }
  .sec.hero h1 { font-size: 36px; }
  #top .main .wrap { min-height: 76px; gap: 14px; }
  #top .logo img, #top.stuck .logo img { width: 140px; }
  #menu-btn { display: block; }
  #nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--black); padding: 10px 0 20px; max-height: calc(100vh - 76px); overflow: auto; box-shadow: 0 12px 24px rgba(0, 0, 0, .4); }
  #nav.open { display: block; }
  #nav > ul { flex-direction: column; gap: 0; }
  #nav > ul > li > a, #nav > ul > li > span, #top.stuck #nav > ul > li > a, #top.stuck #nav > ul > li > span { padding: 12px 24px; border-top: 1px solid rgba(255, 255, 255, .08); }
  #nav ul ul, #nav ul ul ul { position: static; display: none; box-shadow: none; border: 0; background: rgba(0, 0, 0, .25); padding: 0 0 6px; }
  #nav li:hover > ul, #nav li:focus-within > ul { display: none; }
  #nav li.open > ul { display: block; }
  #nav ul ul a, #nav ul ul span { padding: 9px 40px; }
  #nav ul ul ul a, #nav ul ul ul span { padding-left: 56px; }
  /* tablet tier (601 to 992px, Chuck 2026-10-30): two columns per row; a lone third column spans the row; phones go to one column below */
  .cols:not(.cols-1) > .col { flex: 0 0 calc(50% - 15px) !important; width: auto !important; }
  .cols-3 > .col:nth-child(3):last-child { flex-basis: 100% !important; }
  .cols > .col:empty { display: none; }
  .cols-2:has(> .col:empty) > .col { flex-basis: 100% !important; }
  .wrap { padding: 0 28px; }
  .sec.hero { min-height: 60vh; }
  .reviews { grid-template-columns: 1fr 1fr; }
  .blog { grid-template-columns: 1fr; }
  .form .f-sub { grid-template-columns: 1fr; }
  footer .footer-copyright { flex-direction: column; text-align: center; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  .post table, .entry table, .text table, .html table { display: block; overflow-x: auto; max-width: 100%; }
  .pricing table { min-width: 640px; font-size: 13px; }
  .pricing thead tr:first-child th:first-child, .pricing td:first-child { position: sticky; left: 0; z-index: 1; background: var(--paper, #fff); width: 150px; max-width: 150px; font-size: 13px; box-shadow: 2px 0 0 var(--line-2); }  /* phone: the feature column stays put while the plans scroll */
  .pricing thead tr:first-child th:first-child { font-size: 17px; }
  .pricing tr.sec-row td:first-child { background: var(--gold); }  /* wide tables scroll inside themselves, the page never scrolls sideways */
  h1, .sec.hero h1 { font-size: 30px; }
  .hero-phone a { font-size: 26px; }
  .towns { columns: 1; }
  .hero-proof { font-size: 15px; }
  .sec { padding: 40px 0; }
  .post h1 { font-size: 30px; }
  .callout.accent-color .c-title { font-size: 24px; }
  .btn { width: 100%; text-align: center; }
  .cols > .col, .cols:not(.cols-1) > .col { flex: 1 1 100% !important; width: 100% !important; }  /* the second selector matches the tablet rule's weight, or phones kept two columns (2026-11-02) */
  .wrap { padding: 0 20px; }
  .reviews { grid-template-columns: 1fr; }
  .member, .member:nth-child(even) { grid-template-columns: 1fr; border-right: 0; border-left: 4px solid var(--gold); padding: 24px; }
  .member:nth-child(even) .m-photo { order: 0; }
}
@media print {
  #top, footer, #to-top { display: none; }
  body { background: #fff; }
}

/* ---- Review funnel + Trustindex slots (2026-10-27) ---- */
.btn.small { padding: 9px 16px; font-size: 13px; }
.review-cols .review-intro h1 { font-size: 40px; margin-bottom: .5em; }
.review-cols .review-intro p { font-size: 17px; }
.review-direct { font-size: 15px; color: var(--muted); }
.review-form .f-sub { margin: 0 0 16px; }
.stars { display: inline-flex; flex-direction: row-reverse; gap: 4px; margin: 2px 0 0; }
.stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.stars label { font-size: 38px; line-height: 1; color: var(--line-strong); cursor: pointer; margin: 0; transition: color .12s; }
.stars label:hover, .stars label:hover ~ label, .stars input:checked ~ label { color: var(--gold); }
.stars input:focus-visible + label { outline: 2px solid var(--gold); outline-offset: 2px; }
.ti-cols { margin-top: 10px; }
.ti-office h3 { margin-bottom: 10px; }
.ti-wrap { min-height: 120px; }
.ti-pending { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 22px 24px; text-align: center; }
.ti-pending p { margin: 0 0 6px; font-size: 17px; }
.ti-pending .muted { font-size: 14px; color: var(--muted); }
.ti-office-block { margin: 0 0 56px; }
.ti-office-block h2 { margin-bottom: 14px; }
.reviews-page .reviews-head { margin-bottom: 40px; }
.reviews-page .reviews-head p:not(.accent-color) { max-width: 640px; margin: 0 auto; color: var(--muted); }
.reviews-links .btn.small { vertical-align: middle; }
.ty-review[hidden], .ty-generic[hidden] { display: none; }
@media (max-width: 992px) { .review-cols .review-intro h1 { font-size: 32px; } .stars label { font-size: 34px; } }

/* YouTube tiles (videos, SureVestor, Kavleys): thumbnail + play badge, the player loads on click */
.yt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 22px; margin: 8px 0; }
.yt-grid.one { grid-template-columns: minmax(0, 620px); justify-content: center; }
.yt { display: block; color: var(--ink); text-decoration: none; min-width: 0; }
.yt-thumb { position: relative; display: block; }
.yt img, .yt iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; border-radius: 6px; background: var(--black); border: 0; }
.yt-play { position: absolute; left: 50%; top: 50%; width: 64px; height: 44px; margin: -22px 0 0 -32px; border-radius: 10px; background: rgba(43, 42, 40, .85); transition: background .15s; }
.yt-play::after { content: ""; position: absolute; left: 26px; top: 12px; border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent var(--gold); }
.yt:hover .yt-play, .yt:focus-visible .yt-play { background: var(--gold); }
.yt:hover .yt-play::after, .yt:focus-visible .yt-play::after { border-left-color: var(--black); }
.yt-title { display: block; margin-top: 10px; font-weight: 600; font-size: 15px; line-height: 1.35; }
.yt:hover .yt-title { text-decoration: underline; }
@media (max-width: 900px) { .yt-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .yt-grid { grid-template-columns: 1fr; } }

/* owner funnel */
.analysis-form h3 { margin: 0 0 14px; }
.analysis-form .f-actions + small { text-align: center; margin-top: 10px; }
.trust { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.ty-analysis[hidden] { display: none; }
.ty-analysis { text-align: center; }
.calendly-box { min-height: 720px; margin: 18px 0 6px; }
.calendly-box iframe { min-height: 720px; }

/* vacancy cost calculator (2026-11-02): result on Eclipse Black, the break-even in gold (the one number that matters) */
.vc-result { background: var(--black); color: var(--white); border-radius: 6px; padding: 26px 28px; font-variant-numeric: tabular-nums; }
.vc-result .vc-lead { color: var(--ink-dark-2); margin: 0 0 6px; }
.vc-result .vc-big { font: 700 30px/1.2 var(--display); letter-spacing: .04em; text-transform: uppercase; color: var(--gold); margin: 0 0 18px; }
.vc-result dl { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; margin: 0 0 16px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .18); }
.vc-result dt { color: var(--ink-dark-2); }
.vc-result dd { margin: 0; font-weight: 600; text-align: right; }
.vc-result .vc-note { color: var(--white); margin: 0; }
.vc-result.empty .vc-big { color: var(--ink-dark-2); }
.vc-past[hidden], .vc-chart[hidden], .vc-tip[hidden], .vc-result [hidden] { display: none; }
.vc-past { margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .18); }
.vc-past dl { border-top: 0; padding-top: 0; }
.vc-past .vc-past-note { color: var(--ink-dark-2); margin: 0; font-size: 15px; }

/* advanced: past asking prices */
.vc-adv { border-top: 1px solid var(--line); padding-top: 14px; margin-top: 6px; }
.vc-adv summary, .vc-table summary { cursor: pointer; font-weight: 600; color: var(--ink); padding: 6px 0; }
.vc-adv p { font-size: 15px; margin: 8px 0 12px; }
.vc-row { display: grid; grid-template-columns: 1fr 1fr 44px; gap: 10px; align-items: end; margin: 0 0 10px; }
.form .vc-row label { margin: 0; font-size: 13px; }
.vc-row label span { display: block; margin: 0 0 4px; }
.vc-del { width: 44px; height: 46px; background: transparent; border: 1px solid var(--line-strong); border-radius: 4px; font: 400 22px/1 var(--font); color: var(--ink); cursor: pointer; }
.vc-del:hover { background: var(--paper); }
.vc-add { margin-top: 4px; }

/* the break-even graph: brand series on white, gold only for the break-even dot (ringed in black, gold alone is 1.6:1 on white) */
.vc-chart { position: relative; margin: 30px 0 0; background: var(--white); border: 1px solid var(--line); border-radius: 6px; padding: 22px 24px; font-variant-numeric: tabular-nums; }
.vc-chart h3 { margin: 0 0 10px; }
.vc-legend { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 24px; font-size: 15px; color: var(--ink-2); }
.vc-legend li { margin: 0; }
.vc-legend .sw { display: inline-block; width: 18px; height: 3px; border-radius: 2px; vertical-align: middle; margin-right: 8px; }
.sw-hold { background: var(--series-1); }
.sw-lower { background: var(--series-2); }
.vc-plot svg { display: block; width: 100%; height: auto; overflow: visible; touch-action: pan-y; }
.vc-grid { stroke: var(--line-2); stroke-width: 1; }
.vc-axis { fill: var(--muted); font: 400 12px var(--font); }
.vc-label { fill: var(--ink); font: 600 13px var(--font); }
.vc-hold, .vc-lower { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.vc-hold { stroke: var(--series-1); }
.vc-lower { stroke: var(--series-2); }
.vc-pastband { fill: var(--series-1); fill-opacity: .14; }  /* tinted in the 'lost' color; the warm paper tint was invisible on white */
.vc-today { stroke: var(--muted); stroke-width: 1; stroke-dasharray: 4 4; }
.vc-be { fill: var(--gold); stroke: var(--black); stroke-width: 2; }
.vc-hair { stroke: var(--line-strong); stroke-width: 1; }
.vc-hold-dot, .vc-lower-dot { stroke: var(--white); stroke-width: 2; }
.vc-hold-dot { fill: var(--series-1); }
.vc-lower-dot { fill: var(--series-2); }
.vc-xnote { margin: 2px 0 0; font-size: 13px; color: var(--muted); text-align: center; }
.vc-tip { position: absolute; z-index: 2; pointer-events: none; background: var(--black); color: var(--white); font-size: 14px; line-height: 1.5; padding: 8px 12px; border-radius: 4px; white-space: nowrap; }
.vc-tip strong, .vc-tip span { display: block; }
.vc-chart figcaption { margin: 12px 0 0; font-size: 15px; color: var(--ink-2); }
.vc-table table { width: 100%; margin-top: 8px; border-collapse: collapse; font-size: 15px; }
.vc-table th, .vc-table td { text-align: right; padding: 7px 10px; border-bottom: 1px solid var(--line-2); }
.vc-table th:first-child, .vc-table td:first-child { text-align: left; }
@media (max-width: 600px) { .vc-chart { padding: 18px 14px; } .vc-row { grid-template-columns: 1fr 1fr 44px; } }

/* vacancy calculator reframe (2026-11-03): cost of waiting first, the price drop second, then why it sits */
.form .vc-step { font-size: 18px; margin: 0 0 14px; }
.form .vc-step ~ .vc-step { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.vc-result .vc-lost-note { color: var(--ink-dark-2); font-size: 15px; margin: -6px 0 16px; }
.vc-drop { margin: 0 0 16px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .18); }
.vc-drop .vc-drop-head { color: var(--white); font-weight: 600; }
.vc-drop .vc-drop-text { color: var(--ink-dark-2); margin: 0; }
.vc-result .vc-note { margin: 0 0 14px; }
.vc-result .vc-why { display: inline-block; }
.vc-why-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin: 22px 0; }
.vc-why-item { background: var(--paper); border-left: 4px solid var(--gold); border-radius: 4px; padding: 18px 20px; }
.vc-why-item h3 { font-size: 19px; margin: 0 0 8px; }
.vc-why-item p { font-size: 15px; margin: 0 0 8px; }
.vc-why-item p:last-child { margin: 0; }
.vc-ask { background: var(--white); border: 1px solid var(--line); border-radius: 4px; padding: 16px 20px; }
/* ring chart under the result: lost share of a year's rent (series 1 = the same "lost" color as the line chart, neutral for the rest) */
.vc-pie { margin: 18px 0 0; background: var(--white); border: 1px solid var(--line); border-radius: 6px; padding: 18px 20px; }
.vc-pie[hidden] { display: none; }
.vc-pie h3 { font-size: 18px; margin: 0 0 12px; }
.vc-pie-row { display: flex; gap: 18px; align-items: center; }
.vc-pie-svg { flex: 0 0 140px; }
.vc-pie-svg svg { display: block; }
.vc-ring-rest, .vc-ring-lost { fill: none; stroke-width: 22; }
.vc-ring-rest { stroke: var(--line-strong); }
.vc-ring-lost { stroke: var(--series-1); }
.vc-ring-pct { fill: var(--ink); font: 700 22px var(--font); font-variant-numeric: tabular-nums; }
.vc-pie-text { margin: 0 0 10px; color: var(--ink-2); }
.vc-pie .vc-legend { flex-direction: column; gap: 4px; margin: 0; font-size: 14px; }
.sw-rest { background: var(--line-strong); }
@media (max-width: 600px) { .vc-pie-row { flex-direction: column; align-items: flex-start; } }
.form input[readonly] { background: var(--paper); color: var(--ink-2); }

/* rental law checklist (2026-11-03): one card per question, results on Eclipse Black like the vacancy calculator */
.law-check { max-width: 860px; margin: 0 auto; }
.law-check h2 { margin-top: 10px; }
.lc-form .lc-group { font-size: 18px; margin: 26px 0 12px; color: var(--ink-2); }
.lc-item { border: 1px solid var(--line); border-left: 4px solid var(--line-strong); border-radius: 4px; background: var(--white); padding: 16px 20px; margin: 0 0 14px; }
.lc-item.is-yes { border-left-color: var(--series-2); }
.lc-item.is-no, .lc-item.is-unsure { border-left-color: var(--gold); }
.lc-item legend { float: left; width: 100%; padding: 0; font-weight: 600; color: var(--ink); line-height: 1.45; margin: 0 0 6px; }
.lc-item legend + * { clear: both; }
.lc-num { display: inline-block; min-width: 1.8em; color: var(--gold-text); font-family: var(--display); font-weight: 700; }
.lc-why { margin: 0 0 6px; font-size: 15px; color: var(--ink-2); }
.lc-law { display: block; font-size: 13px; color: var(--ink-2); opacity: .85; margin: 0 0 10px; }
.lc-ans { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.lc-ans label { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; font-size: 16px; }
.lc-ans input { width: 18px; height: 18px; accent-color: var(--gold-text); margin: 0; }
.lc-result { background: var(--black); color: var(--white); border-radius: 6px; padding: 26px 28px; margin: 26px 0 0; font-variant-numeric: tabular-nums; }
.lc-result .lc-lead { color: var(--ink-dark-2); margin: 0 0 6px; }
.lc-result .lc-big { font: 700 26px/1.2 var(--display); letter-spacing: .04em; text-transform: uppercase; color: var(--gold); margin: 0 0 16px; }
.lc-result dl { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; margin: 0 0 16px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .18); max-width: 320px; }
.lc-result dt { color: var(--ink-dark-2); }
.lc-result dd { margin: 0; font-weight: 600; text-align: right; }
.lc-ask { padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .18); margin: 0 0 14px; }
.lc-ask[hidden] { display: none; }
.lc-ask-head { font-weight: 600; margin: 0 0 8px; }
.lc-list { list-style: none; margin: 0; padding: 0; }
.lc-list li { margin: 0 0 6px; color: var(--ink-dark-2); }
.lc-list li span { color: var(--gold); font-weight: 600; margin-right: 4px; }
.lc-result .lc-note { margin: 0 0 14px; }
/* prefixed to outrank '.sec:not(.photo):not(.light) .btn.outline' (dark ink for light sections) */
.sec:not(.photo):not(.light) .lc-result .btn.outline { color: var(--white); border-color: var(--white); background: transparent; }
.sec:not(.photo):not(.light) .lc-result .btn.outline:hover { background: rgba(255, 255, 255, .12); }
.lc-disclaimer { border-left: 3px solid var(--line-strong); padding-left: 12px; }
/* 2026-11-03 round 2: what each miss can cost, the manager-reviews part, the pitch inside the results, and Email me my results */
.lc-cost { margin: 0 0 6px; font-size: 15px; color: var(--ink); padding-left: 10px; border-left: 3px solid var(--gold); }
.lc-rev { border: 1px solid var(--line); border-radius: 4px; background: var(--white); padding: 18px 20px; margin: 0 0 14px; }
.lc-rev-nums { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }  /* two by two: their score beside the count, highest beside lowest */
.lc-flags { border: 0; padding: 0; margin: 6px 0 14px; }
.lc-flags legend { font-weight: 600; color: var(--ink); margin: 0 0 8px; padding: 0; }
.lc-flags label { display: flex; gap: 9px; align-items: flex-start; margin: 0 0 7px; cursor: pointer; }
.lc-flags input { width: 18px; height: 18px; margin: 3px 0 0; flex: 0 0 auto; accent-color: var(--gold-text); }
/* the checklist form is not a .form, so its Part 4 number boxes get the same field styling here (2026-11-05) */
.lc-rev .f-field { margin: 0 0 14px; min-width: 0; }
.lc-rev .f-field label { display: block; font-weight: 600; font-size: 14px; color: var(--ink); margin: 0 0 6px; }
.lc-rev .f-field input { width: 100%; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 4px; font: 400 16px/1.4 var(--font); color: var(--ink); background: var(--white); }
.lc-rev .f-field input:focus { outline: 2px solid var(--gold); outline-offset: 0; border-color: var(--gold); }
.lc-rev-step { font-size: 1.05rem; margin: 18px 0 6px; color: var(--ink); }
.lc-rev-step:first-of-type { margin-top: 10px; }
.lc-rev-read { margin: 0 0 12px; padding: 10px 14px; background: var(--paper); border-radius: 4px; font-weight: 600; }
.lc-tenants { margin: 0 0 14px; }
.lc-compare { margin: 0; padding: 12px 14px; background: var(--paper); border-left: 4px solid var(--gold); border-radius: 4px; }
.lc-compare .star { color: var(--gold-text); }
.lc-pitch { margin: 0 0 16px; padding: 16px 18px; border: 1px solid var(--gold); border-radius: 4px; }
.lc-pitch[hidden] { display: none; }
.lc-pitch .lc-pitch-text { color: var(--white); margin: 0 0 12px; }
.lc-email { margin: 22px 0 0; background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--gold); border-radius: 4px; padding: 22px 24px; scroll-margin-top: 110px; }
.lc-email h3 { margin: 0 0 6px; }
.lc-email > p { margin: 0 0 14px; }
.lc-email select { width: 100%; }
/* checklist printout (2026-11-03): its own two-page paper version (.lc-paper), built by site.js from the form and the reader's answers.
   The screen page never prints. thead/tfoot repeat on every printed page, so each page carries the lockup, the gold rule and the QR. */
.lc-paper { display: none; }
@media print {
  body:has(.law-check) { page: lawcheck; background: #fff !important; }
  @page lawcheck { size: letter; margin: .4in .55in .4in; }
  body:has(.law-check) #top, body:has(.law-check) footer, body:has(.law-check) #to-top, body:has(.law-check) #main > :not(.lc-paper) { display: none !important; }
  .lc-paper { display: block; color: var(--ink); font: 9.5pt/1.35 var(--font); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .lc-pt { width: 100%; border-collapse: collapse; }
  .lc-pt > thead > tr > td, .lc-pt > tfoot > tr > td, .lc-pt > tbody > tr > td { padding: 0; }
  .lc-ph { display: flex; justify-content: space-between; align-items: flex-end; }
  .lc-ph img { display: block; width: 1.45in; height: auto; }
  .lc-ph-r { text-align: right; }
  .lc-ph-t { font: 700 9.5pt var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); margin: 0; }
  .lc-ph-d { font-size: 8pt; color: var(--muted); margin: 2pt 0 0; }
  .lc-rule { position: relative; border-top: .75pt solid var(--line-strong); margin: 5pt 0 11pt; }
  .lc-rule::before { content: ""; position: absolute; left: 0; top: -1.9pt; width: 1.45in; border-top: 3pt solid var(--gold); }
  .lc-pf { display: flex; gap: 12pt; align-items: center; margin: 10pt 0 0; padding-top: 8pt; border-top: .75pt solid var(--line-strong); }
  .lc-pqr { flex: 0 0 .72in; }
  .lc-pqr svg { display: block; width: .72in; height: .72in; }
  .lc-pqr path { stroke: var(--black); }
  .lc-pf p { margin: 0; font-size: 8.5pt; }
  .lc-pf .lc-pf-cta { font-weight: 700; font-size: 10pt; margin: 0 0 2pt; }
  .lc-paper .lc-ptitle { font: 700 15pt/1.2 var(--font); color: var(--ink); margin: 0 0 4pt; }
  .lc-paper .lc-pintro { margin: 0 0 6pt; }
  .lc-paper h2 { font: 700 10pt var(--display); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); margin: 12pt 0 3pt; break-after: avoid; }
  .lc-paper h3 { font-size: 9.5pt; font-weight: 600; color: var(--ink-2); margin: 7pt 0 2pt; break-after: avoid; }
  .lc-psum { border: .75pt solid var(--line-strong); border-left: 3pt solid var(--gold); padding: 6pt 10pt; margin: 6pt 0 2pt; break-inside: avoid; }
  .lc-psum p { margin: 0 0 3pt; }
  .lc-flag { display: block; margin-top: 3pt; padding-left: 5pt; border-left: 2.5pt solid var(--gold); font-size: 7.5pt; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--ink); }
  .lc-pq { width: 100%; border-collapse: collapse; }
  .lc-pq tr { break-inside: avoid; }
  .lc-pq td { border-top: .5pt solid var(--line-strong); padding: 4pt 4pt 4pt 0; vertical-align: top; }
  .lc-pq .n { width: .26in; font-weight: 700; color: var(--gold-text); }
  .lc-pq .q small { display: block; font-size: 7.5pt; color: var(--muted); margin-top: 1pt; }
  .lc-pq .a { width: 1.9in; white-space: nowrap; font-size: 8.5pt; padding-right: 0; }
  .lc-bx { display: inline-block; margin-right: 7pt; }
  .lc-bx::before { content: ""; display: inline-block; width: 8pt; height: 8pt; border: .75pt solid var(--ink); margin-right: 3pt; vertical-align: -1pt; }
  .lc-bx.on { font-weight: 700; }
  .lc-bx.on::before { background: var(--ink); box-shadow: inset 0 0 0 1.5pt var(--white); }
  .lc-pdisc { font-size: 7.5pt; color: var(--muted); margin: 9pt 0 0; }
}

/* vacancy calculator printable report (2026-11-03): Save as PDF from the browser. Light paper, the standard Eclipse PDF header
   (outlined-arc lockup top-left, 3pt gold segment as wide as the logo, hairline to the margin), firm-name footer and page number
   in the page margin, QR to a free vacancy review. Aim: two letter pages, numbers and charts first, then why it is not renting. */
.vc-print-head, .vc-print-foot, .vc-print-note { display: none; }
.vc-btns { display: flex; flex-wrap: wrap; gap: 10px; }
/* must outrank '.sec:not(.photo):not(.light) .btn.outline', which paints outline buttons dark ink for light sections */
.sec:not(.photo):not(.light) .vc-result .btn.outline { color: var(--white); border-color: var(--white); background: transparent; }
.sec:not(.photo):not(.light) .vc-result .btn.outline:hover { background: var(--white); color: var(--black); }
@media print {
  /* a named page, so the margins, footer and page number apply to this report only, not to other pages someone prints */
  body:has(.vac-calc) { page: vacancy; }
  @page vacancy {
    size: letter; margin: .45in .6in .6in;
    @bottom-left { content: "Eclipse Property Management \00B7  RentEclipse.com"; font: 7pt "Work Sans", sans-serif; color: #77746F; }
    @bottom-right { content: counter(page); font: 7pt "Work Sans", sans-serif; color: #77746F; }
  }
  body:has(.vac-calc) .sec.photo, body:has(.vac-calc) .vc-intro, body:has(.vac-calc) .vac-calc > .col:first-child, body:has(.vac-calc) .vc-btns,
  body:has(.vac-calc) .vc-table, body:has(.vac-calc) .vc-tip, body:has(.vac-calc) .vc-ask, body:has(.vac-calc) .vc-owners, body:has(.vac-calc) #to-top { display: none !important; }
  body:has(.vac-calc) .sec { padding: 0 0 6pt !important; background: #fff !important; }
  body:has(.vac-calc) .wrap { max-width: none; padding: 0; }
  body:has(.vac-calc) #main p, body:has(.vac-calc) #main li { font-size: 9.5pt; line-height: 1.45; }
  body:has(.vac-calc) #main h2 { font-size: 15pt; margin: 0 0 6pt; }
  body:has(.vac-calc) #main h3 { font-size: 11.5pt; }
  .vc-print-head { display: block; }
  .vc-print-logo { display: block; width: 1.9in; height: auto; }
  .vc-print-rule { position: relative; border-top: .75pt solid #D4D0CB; margin: 5pt 0 12pt; }
  .vc-print-rule::before { content: ""; position: absolute; left: 0; top: -1.9pt; width: 1.9in; border-top: 3pt solid var(--gold); }
  .vc-print-head h2 { margin: 0 0 2pt !important; font-size: 18pt !important; }
  .vc-print-head .vc-print-date { margin: 0 0 8pt; font-size: 8.5pt !important; color: var(--muted); }
  .vc-print-inputs { display: grid; grid-template-columns: max-content 1fr; gap: 2pt 14pt; margin: 0 0 12pt; font-size: 9.5pt; }
  .vc-print-inputs dt { color: var(--ink-2); }
  .vc-print-inputs dd { margin: 0; font-weight: 600; }
  /* result and ring side by side, chart under them */
  body:has(.vac-calc) .vac-calc { display: block; margin: 0 !important; }
  body:has(.vac-calc) .vac-calc > .col { display: grid; grid-template-columns: 1.35fr 1fr; gap: 12pt; align-items: start; width: 100% !important; max-width: none !important; padding: 0 !important; }
  body:has(.vac-calc) .vac-calc > .col > * { min-width: 0; box-sizing: border-box; }
  .vc-result { background: #fff !important; color: var(--ink) !important; border: 1pt solid #D4D0CB; padding: 10pt 12pt !important; margin: 0 !important; break-inside: avoid; }
  .vc-result .vc-lead, .vc-result dt, .vc-result .vc-note, .vc-result .vc-lost-note, .vc-drop .vc-drop-head, .vc-drop .vc-drop-text { color: var(--ink) !important; }
  .vc-result .vc-big { color: var(--ink) !important; font-size: 22pt !important; margin: 0 0 6pt !important; }
  .vc-result dl { gap: 3pt 10pt !important; margin: 0 0 8pt !important; padding-top: 8pt !important; }
  .vc-result dl, .vc-drop { border-color: #D4D0CB !important; }
  .vc-result dt, .vc-result dd { font-size: 9.5pt; }
  .vc-drop { margin: 0 0 8pt !important; padding-top: 8pt !important; }
  .vc-pie, .vc-chart { break-inside: avoid; border-color: #D4D0CB; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .vc-pie { margin: 0 !important; padding: 10pt 12pt !important; }
  .vc-pie h3 { margin: 0 0 8pt !important; }
  .vc-pie-row { flex-direction: column; align-items: flex-start; gap: 8pt; }
  .vc-pie-svg, .vc-pie-svg svg { width: 1.2in; height: 1.2in; flex: none; }
  .vc-chart { margin-top: 10pt; padding: 10pt 12pt; }
  .vc-chart h3 { margin: 0 0 4pt; }
  .vc-legend { font-size: 8.5pt; margin: 0 0 4pt; gap: 2pt 16pt; }
  .vc-hair, .vc-hold-dot, .vc-lower-dot { display: none; }
  .vc-chart figcaption { margin-top: 4pt; font-size: 9pt; line-height: 1.4; }
  .vc-xnote { font-size: 8pt; }
  .vc-why-list { grid-template-columns: repeat(3, 1fr); gap: 8pt; margin: 6pt 0 8pt; }
  .vc-why-item p { margin: 0 0 4pt !important; font-size: 9pt !important; line-height: 1.4 !important; }
  .vc-why-item h3 { margin: 0 0 4pt !important; font-size: 10.5pt !important; }
  body:has(.vac-calc) .vc-how h2 { font-size: 11pt; margin: 0 0 3pt; }
  body:has(.vac-calc) .vc-how li, body:has(.vac-calc) .vc-how p { font-size: 8.5pt !important; line-height: 1.35 !important; margin: 0 0 2pt; }
  body:has(.vac-calc) .vc-how ul { margin: 0 0 4pt; }
  .vc-why-item { padding: 8pt 10pt; break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .vc-print-foot { display: flex; gap: 14pt; align-items: center; margin: 10pt 0 0; padding: 10pt 12pt; border: 1pt solid #D4D0CB; border-left: 3pt solid var(--gold); break-inside: avoid; }
  .vc-qr { flex: 0 0 1in; }
  .vc-qr svg { display: block; width: 1in; height: 1in; }
  .vc-qr path { stroke: var(--black); }
  body:has(.vac-calc) .vc-print-cta { font-weight: 700; font-size: 12pt; margin: 0 0 3pt; }
  .vc-print-foot p:last-child { margin: 0; }
  body:has(.vac-calc) .vc-print-note { display: block; font-size: 8pt !important; color: var(--muted); margin: 6pt 0 0; }
  body:has(.vac-calc) .vc-disclaimer { display: none; }
}

/* home page owner tools (2026-11-03): one card per free tool, same card look as the vacancy calculator's "why" steps */
.owner-tools .ot-intro { text-align: center; max-width: 640px; margin: 0 auto 24px; }
.ot-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.ot-card { display: flex; flex-direction: column; background: var(--paper); border-left: 4px solid var(--gold); border-radius: 4px; padding: 20px 22px; color: var(--ink); text-decoration: none; transition: box-shadow .15s, transform .15s; }
.ot-card:hover, .ot-card:focus-visible { box-shadow: 0 6px 18px rgba(0, 0, 0, .10); transform: translateY(-2px); }
.ot-card h3 { font-size: 20px; margin: 0 0 8px; }
.ot-card p { font-size: 15px; margin: 0 0 14px; flex: 1; }
.ot-go { font-weight: 600; color: var(--gold-text); }
.ot-go::after { content: " \2192"; }

/* cost calculators (2026-11-04): True Cost of Self-Managing and Secret Cost of a Bad Property Manager. Result card reuses .vc-result. */
.cc-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.cc-result .cc-big2 { color: var(--white); }
.cc-result .cc-small { color: var(--ink-dark-2); font-size: 14px; margin: 0 0 14px; }
.cc-example { color: var(--muted); }
.bp-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.bp-row { background: var(--paper); border-left: 4px solid var(--gold); border-radius: 4px; padding: 14px 16px; }
.bp-row.off { border-left-color: #D4D0CB; }
.bp-row.off .bp-amt { color: var(--muted); }
.bp-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; font-size: 17px; cursor: pointer; }
.bp-check input { width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--black); flex: none; }
.bp-row p { margin: 6px 0 0; font-size: 15px; }
.bp-row .bp-amt { font-weight: 700; font-variant-numeric: tabular-nums; margin-top: 10px; }
.bp-row .bp-cite small { color: var(--muted); }
.bp-row .bp-in { margin: 10px 0 0; }
@media (min-width: 900px) { .cc-sticky { position: sticky; top: 110px; } }
@media (max-width: 560px) { .cc-pair { grid-template-columns: 1fr; } }
@media print {
  body:has(.cc-calc) { page: cctool; }
  @page cctool {
    size: letter; margin: .45in .6in .6in;
    @bottom-left { content: "Eclipse Property Management \00B7  RentEclipse.com"; font: 7pt "Work Sans", sans-serif; color: #77746F; }
    @bottom-right { content: counter(page); font: 7pt "Work Sans", sans-serif; color: #77746F; }
  }
  body:has(.cc-calc) #main > .sec:not(.cc-sec):not(.cc-how), body:has(.cc-calc) .cc-intro, body:has(.cc-calc) .cc-calc > .col:first-child,
  body:has(.cc-calc) .vc-btns, body:has(.cc-calc) #to-top, body:has(.cc-calc) .vc-disclaimer { display: none !important; }
  body:has(.cc-calc) .sec { padding: 0 0 6pt !important; background: #fff !important; }
  body:has(.cc-calc) .wrap { max-width: none; padding: 0; }
  body:has(.cc-calc) #main p, body:has(.cc-calc) #main li, body:has(.cc-calc) #main dt, body:has(.cc-calc) #main dd { font-size: 9.5pt; line-height: 1.45; }
  body:has(.cc-calc) .cc-calc { display: block; margin: 0 !important; }
  body:has(.cc-calc) .cc-calc > .col { width: 100% !important; max-width: none !important; padding: 0 !important; }
  .cc-sticky { position: static; }
  .cc-result .cc-big2 { color: var(--ink) !important; }
  .cc-result .cc-small { color: var(--ink-2) !important; font-size: 8.5pt; }
  body:has(.cc-calc) .vc-print-note { display: block; font-size: 8pt !important; color: var(--muted); margin: 6pt 0 0; }
  body:has([data-calc="self"]) .cc-how { display: none !important; }  /* its print note says the same in one line, and keeps it to one page */
  body:has(.cc-calc) .cc-how h2 { font-size: 11pt; margin: 8pt 0 3pt; }
  body:has(.cc-calc) .cc-how li { font-size: 8.5pt !important; line-height: 1.35 !important; margin: 0 0 2pt; }
}

/* ---------- Resident Center (Chuck 2026-11-04: "Build the center") ---------- */
.rbar { background: var(--ground); color: var(--white); font-size: 14px; }
.rbar .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; padding-top: 7px; padding-bottom: 7px; }
.rbar .rb-call { padding: 4px 14px; border: 1px solid var(--gold); border-radius: 999px; font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.rbar .rb-call:hover { background: var(--gold); color: var(--black); }
.rbar .rb-ph { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; color: var(--gold); font-weight: 700; font-size: 15px; white-space: nowrap; }
.rbar .rb-ph svg { width: 15px; height: 15px; }
.rc-hero { background: var(--paper); padding: 48px 0 28px; }
.rc-eyebrow { font-family: var(--display); font-weight: 700; font-size: 12px; letter-spacing: .16em; text-transform: lowercase; color: var(--gold-text); margin: 0 0 10px; }
.rc-hero h1 { font-size: 42px; text-wrap: balance; }
.rc-lede { max-width: 62ch; margin: 0; }
.rc-main { padding: 32px 0 16px; }
.rc-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rc-tile { display: flex; flex-direction: column; gap: 8px; min-height: 196px; padding: 24px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; color: var(--ink); transition: transform .15s, border-color .15s; }
.rc-tile:hover { text-decoration: none; transform: translateY(-2px); border-color: var(--gold-text); }
.rc-ic { width: 40px; height: 40px; fill: none; stroke: var(--gold-text); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; margin-bottom: auto; }
.rc-tl { font-size: 25px; font-weight: 700; line-height: 1.15; letter-spacing: -.01em; }
.rc-td { font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.rc-tile.gold { background: var(--gold); border-color: var(--gold); }
.rc-tile.gold .rc-ic { stroke: var(--black); } .rc-tile.gold .rc-td { color: var(--black); }
.rc-tile.alert { background: var(--alert); border-color: var(--alert); color: var(--white); }
.rc-tile.alert .rc-ic { stroke: var(--white); } .rc-tile.alert .rc-td { color: var(--white); }
.rc-tile.gold:hover, .rc-tile.alert:hover { border-color: var(--black); }
.rc-ask { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 16px; padding: 22px 24px; background: var(--black); border: 1px solid var(--black); border-radius: 14px; color: var(--gold); font-family: var(--display); font-weight: 700; font-size: 20px; letter-spacing: .08em; text-transform: uppercase; transition: transform .15s; }
.rc-ask .rc-ic { stroke: var(--gold); width: 32px; height: 32px; margin: 0; }
.rc-ask:hover { text-decoration: none; transform: translateY(-2px); }
.rc-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.rc-chips a { padding: 9px 16px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--ink); font-size: 15px; font-weight: 500; }
.rc-chips a:hover { border-color: var(--gold-text); text-decoration: none; }
.rc-band { background: var(--paper); }
.rc-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.rc-card { background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 22px 24px; }
.rc-card p:last-child { margin-bottom: 0; }
h2.rc-h3, h3.rc-h3 { font-size: 21px; }
.rc-tag { display: inline-block; margin-bottom: 8px; padding: 3px 10px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.rc-alert { border-left: 6px solid var(--alert); }
.rc-big { font-size: 30px; font-weight: 700; margin: 4px 0 8px; }
.rc-big a { color: var(--ink); }
.rc-gas { background: var(--alert); color: var(--white); border-radius: 10px; padding: 12px 16px; font-weight: 600; }
.rc-reach { margin: 18px 0 0; }
.rc-legal { padding: 32px 0; font-size: 14px; color: var(--ink-2); }
@media (max-width: 992px) { .rc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .rbar .wrap { gap: 6px 10px; font-size: 13px; } .rbar .rb-call { padding: 4px 11px; font-size: 10px; } .rbar .rb-ph { font-size: 14px; }
  .rc-hero { padding: 32px 0 16px; } .rc-hero h1 { font-size: 30px; }
  .rc-tiles { gap: 10px; } .rc-tile { min-height: 128px; padding: 16px; gap: 6px; } .rc-ic { width: 30px; height: 30px; }
  .rc-tl { font-size: 18px; } .rc-td { display: none; }
  .rc-two { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .rc-tile { transition: none; } .rc-tile:hover { transform: none; } }

/* RentEngine applicant line callout */
.applicant-help { max-width: 760px; margin: 0 auto 24px; padding: 14px 18px; background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--gold); border-radius: 8px; text-align: left; font-size: 17px; color: var(--ink); }
.applicant-help a { font-weight: 700; white-space: nowrap; }
/* rental verification form (2026-11-05): file picker and the headings between groups */
.form input[type="file"] { display: block; width: 100%; padding: 10px 12px; border: 1px dashed var(--line-strong); border-radius: 4px; background: var(--paper); font: 400 15px/1.4 var(--font); color: var(--ink); }
.form input[type="file"]:focus { outline: 2px solid var(--gold); outline-offset: 0; }
.verify-form h3 ~ h3 { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); }
.verify-form [hidden] { display: none !important; }  /* .btn sets display, which would otherwise beat the hidden attribute */
.verify-form .rv-private-bar { margin: 0 0 16px; }
.verify-form .rv-private-on { margin: 0; padding: 10px 12px; border-left: 3px solid var(--gold); background: var(--paper); color: var(--ink); }
.verify-form .rv-private-off { background: none; border: 0; padding: 0; font: inherit; color: var(--gold-text); text-decoration: underline; cursor: pointer; }
.rv-private-dialog { max-width: 520px; width: calc(100% - 32px); padding: 24px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--white); color: var(--ink); }
.rv-private-dialog::backdrop { background: rgba(0, 0, 0, .6); }
.rv-private-dialog h3 { margin-top: 0; }

/* ---------- Realtors, Kavley's, Employment rebuild (Chuck 2026-11-05); builds on the rc-* Tenant Center pieces ---------- */
.rc-btns { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 0; }
.rf-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rf-step { padding: 24px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; }
.rf-num { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin: 0 0 12px; border-radius: 50%; background: var(--gold); color: var(--black); font-family: var(--display); font-weight: 700; font-size: 16px; }
.rf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rf-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rf-dark { background: var(--black); color: var(--white); }
.rf-dark h2 { color: var(--gold); }
.rf-sub { max-width: 720px; color: var(--ink-dark-2); }
.rf-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 24px; text-align: center; }
.rf-stat b { display: block; font-family: var(--display); font-size: 34px; color: var(--gold); letter-spacing: .04em; }
.rf-stat span { display: block; margin-top: 6px; font-size: 15px; color: var(--ink-dark-2); }
.rf-calc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin-top: 20px; align-items: start; }
.rf-inputs { display: grid; gap: 14px; padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: 14px; }
.rf-in span { display: block; font-weight: 600; margin: 0 0 6px; }
.rf-in input { width: 100%; padding: 11px 12px; border: 1px solid var(--line-strong); border-radius: 4px; font: 400 17px/1.4 var(--font); color: var(--ink); background: var(--white); }
.rf-in em { display: block; font-style: normal; font-size: 13px; color: var(--muted); margin-top: 4px; }
.rf-out { margin: 0; padding: 26px; background: var(--black); color: var(--white); border-radius: 14px; }
.rf-out dt { color: var(--ink-dark-2); font-size: 15px; }
.rf-out dd { margin: 2px 0 18px; font-family: var(--display); font-weight: 700; font-size: 28px; color: var(--gold); }
.rf-out .rf-total { border-top: 1px solid rgba(255, 255, 255, .18); padding-top: 16px; }
.rf-out .rf-total dd { font-size: 36px; margin-bottom: 0; }
.rf-note { font-size: 14px; color: var(--muted); margin-top: 14px; }
.rf-form-wrap { max-width: 760px; margin: 0 auto; }
.rf-form-wrap .rc-h3 { margin: 22px 0 10px; }
.rf-room-big { font-family: var(--font); font-weight: 700; font-size: 30px; color: var(--gold-text); margin: 4px 0 10px; }
.rf-status { border-left: 4px solid var(--gold); }
@media (max-width: 860px) { .rf-steps, .rf-grid, .rf-grid.three, .rf-calc { grid-template-columns: 1fr; } .rf-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rc-tiles.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.req { color: var(--alert); font-weight: 700; }
.rv-norelease, .rv-norelease h3, .rv-norelease li { text-align: left; }
.rv-norelease ul { padding-left: 20px; margin: 8px 0 0; }
.rv-norelease li { margin: 0 0 8px; }

/* PM Interview Sheet (2026-11-06, reworked same day per Chuck: "too busy, too much white", collapsible parts, colored marks, notes):
   /owners/questions-to-ask-a-property-manager/. Reuses the checklist's result box (.lc-result), email form (.lc-email) and printout
   classes (.lc-paper and friends). The status colors (--ok-*, --warn-*, --bad-*) are set on .pmq by build.py from brand.py's light
   theme. Status always carries a word: the mark's label sits on the colored row. */
.pmq { max-width: 920px; margin: 0 auto; }
.pmq [hidden] { display: none !important; }
.pmq-top { background: var(--black); color: var(--white); padding: 28px 0; }
.sec:has(+ .pmq-top) { margin-bottom: 0; }
.pmq-ways { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; max-width: 920px; margin: 0 auto; }
.pmq-way { border-left: 4px solid var(--gold); padding: 4px 0 4px 18px; }
.pmq-way p { color: var(--ink-dark-2); margin: 0 0 12px; }
.pmq-way .pmq-way-h { color: var(--gold); font-weight: 700; font-size: 19px; margin: 0 0 6px; }
.pmq-intro { margin: 0 0 22px; }
.pmq-intro h2 { margin-top: 0; }
.pmq-names-card { background: var(--white); border-top: 3px solid var(--gold); border-radius: 6px; padding: 18px 20px 20px; margin: 0 0 18px; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); scroll-margin-top: 90px; }
.pmq-names-card h2 { margin: 0 0 4px; font-size: 22px; }
.pmq-names-card p { margin: 0 0 12px; color: var(--ink-2); }
.pmq-names { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; }
.pmq-names label span, .pmq-rev label span { display: block; font-weight: 600; font-size: 14px; color: var(--ink); margin: 0 0 6px; }
.pmq-names input, .pmq-rev input { width: 100%; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 4px; font: 400 16px/1.4 var(--font); color: var(--ink); background: var(--white); }
.pmq-names input:focus, .pmq-rev input:focus, .pmq-note:focus { outline: 2px solid var(--gold); outline-offset: 0; border-color: var(--gold); }
/* the parts: a dark bar per part, one open at a time */
.pmq-sec { margin: 0 0 10px; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); scroll-margin-top: 90px; }
.pmq-sec > summary { display: flex; align-items: center; gap: 14px; padding: 15px 18px; background: var(--black); color: var(--white); cursor: pointer; list-style: none; }
.pmq-sec > summary::-webkit-details-marker { display: none; }
.pmq-sec > summary::after { content: ""; flex: 0 0 auto; width: 9px; height: 9px; border-right: 2px solid var(--gold); border-bottom: 2px solid var(--gold); transform: rotate(45deg); margin: -4px 4px 0 2px; transition: transform .2s; }
.pmq-sec[open] > summary::after { transform: rotate(-135deg); margin-top: 4px; }
.pmq-sec > summary:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.pmq-pn { flex: 0 0 auto; color: var(--gold); font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.pmq-pt { flex: 1 1 auto; font-weight: 600; font-size: 18px; }
.pmq-prog { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; color: var(--ink-dark-2); font-size: 14px; }
.pmq-sec.is-done .pmq-prog > span:last-child { color: var(--white); }
.pmq-chip { background: var(--bad-bg); color: var(--bad-fg); border-radius: 999px; padding: 2px 10px; font-weight: 600; font-size: 13px; }
.pmq-body { padding: 16px 16px 4px; background: var(--paper); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 6px 6px; }
.pmq-part { color: var(--ink-2); margin: 0 0 14px; }
.pmq-next { text-align: right; margin: 4px 0 12px; }
/* one question */
.pmq-item { border: 1px solid var(--line); border-radius: 6px; background: var(--white); padding: 16px 18px 12px; margin: 0 0 12px; min-width: 0; }
.pmq-item legend { float: left; width: 100%; padding: 0; font-weight: 600; font-size: 17px; color: var(--ink); line-height: 1.45; margin: 0 0 8px; }
.pmq-item legend + * { clear: both; }
.pmq-good { margin: 0 0 8px; font-size: 15px; color: var(--ink); padding-left: 10px; border-left: 3px solid var(--series-2); }
.pmq-link { margin: 0 0 8px; font-size: 15px; }
.pmq-link a { color: var(--gold-text); font-weight: 600; }
.pmq-item .lc-law { margin: 0 0 10px; }
.pmq-ans { margin-top: 10px; }
.pmq-row { display: grid; grid-template-columns: 170px minmax(0, 1fr) auto; align-items: center; gap: 6px 14px; padding: 8px 12px; margin: 0 0 6px; border-left: 5px solid var(--line-strong); border-radius: 4px; background: var(--paper); transition: background .2s, border-color .2s; }
.pmq-row.is-good { border-left-color: var(--ok-fg); background: var(--ok-bg); }
.pmq-row.is-weak { border-left-color: var(--warn-bg); background: var(--accent-soft); }
.pmq-row.is-red { border-left-color: var(--bad-bg); background: var(--bad-tint); }
.pmq-row .pmq-co { font-weight: 600; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pmq-opts { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.pmq-row label { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; font-size: 16px; color: var(--ink); }
.pmq-row input { width: 18px; height: 18px; accent-color: var(--ink); margin: 0; }
.pmq-row label:has(input:checked) { font-weight: 700; }
.pmq-row.is-good label:has(input:checked) { color: var(--ok-ink); }
.pmq-row.is-weak label:has(input:checked) { color: var(--warn-ink); }
.pmq-row.is-red label:has(input:checked) { color: var(--bad-ink); }
.pmq-nbtn { background: var(--white); border: 1px solid var(--line-strong); border-radius: 4px; padding: 4px 10px; font: 500 14px/1.4 var(--font); color: var(--ink); cursor: pointer; }
.pmq-nbtn:hover { border-color: var(--ink); }
.pmq-note { grid-column: 1 / -1; width: 100%; padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: 4px; font: 400 15px/1.4 var(--font); color: var(--ink); background: var(--white); resize: vertical; }
.pmq-revnums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; margin: 6px 0 6px; }
.pmq-rev .pmq-co { font-weight: 600; margin: 0 0 6px; color: var(--ink); }
.pmq-rev label { display: block; margin: 0 0 8px; }
.pmq-tip { font-size: 14px; color: var(--ink-2); margin: 0 0 4px; }
.pmq-ecl { margin: 8px 0 0; }
.pmq-ecl > summary { cursor: pointer; font-weight: 600; font-size: 15px; color: var(--gold-text); width: max-content; max-width: 100%; }
.pmq-ecl > p { margin: 6px 0 2px; padding: 8px 12px; font-size: 15px; color: var(--ink-2); background: var(--paper); border-left: 3px solid var(--gold); border-radius: 0 4px 4px 0; }
/* results */
.pmq-result { margin-top: 18px; }
.pmq-result .lc-big { margin-bottom: 10px; }
.pmq-sum { margin: 0 0 16px; }
.pmq-co-res { padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, .18); }
.pmq-co-name { font-weight: 700; font-size: 18px; color: var(--white); margin: 0 0 2px; }
.pmq-co-head { color: var(--gold); font-weight: 600; margin: 0 0 8px; }
.pmq-co-note { color: var(--white); margin: 0 0 8px; }
.pmq-co-sub { color: var(--ink-dark-2); font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; margin: 8px 0 4px; }
.pmq-co-foot { color: var(--ink-dark-2); margin: 6px 0 0; }
.pmq-result .lc-note { color: var(--white); }
.pmq-result .btns { display: flex; flex-wrap: wrap; gap: 10px; }
.sec:not(.photo):not(.light) .pmq-result .btn.outline { color: var(--white); border-color: var(--white); background: transparent; }
.sec:not(.photo):not(.light) .pmq-result .btn.outline:hover { background: rgba(255, 255, 255, .12); }
@media (max-width: 760px) {
  .pmq-ways, .pmq-names, .pmq-revnums { grid-template-columns: 1fr; }
  .pmq-row { grid-template-columns: minmax(0, 1fr) auto; }
  .pmq-row .pmq-co { grid-column: 1 / -1; }
  .pmq-item { padding: 14px 12px 10px; }
  .pmq-body { padding: 12px 8px 4px; }
  .pmq-sec > summary { flex-wrap: wrap; gap: 4px 12px; padding: 13px 14px; }
  .pmq-pt { flex-basis: calc(100% - 120px); }
  .pmq-prog { order: 3; flex-basis: 100%; }
}
@media print {
  body:has(.pmq) { page: pmq; background: #fff !important; }
  @page pmq { size: letter; margin: .4in .5in .4in; }
  body:has(.pmq) #top, body:has(.pmq) footer, body:has(.pmq) #to-top, body:has(.pmq) #main > :not(.lc-paper) { display: none !important; }
  .pmq-pq .a { width: 1.25in; white-space: normal; font-size: 7.5pt; }
  .pmq-pq .pmq-ph td { border-top: 0; font-weight: 700; font-size: 8pt; color: var(--ink); padding-bottom: 2pt; }
  .pmq-pq .lc-bx { display: block; margin: 0 0 1.5pt; }
  .pmq-pq .pmq-pnote { display: block; color: var(--ink); }
  .pmq-psum p { margin: 0 0 3pt; }
  .pmq-psum { border: .75pt solid var(--line-strong); border-left: 3pt solid var(--gold); padding: 6pt 10pt; margin: 6pt 0 2pt; break-inside: avoid; }
  .pmq-pecl { break-before: page; }
}

/* ---------- pricing page: plan cards, included list, owner FAQ (Chuck 2026-11-06) ---------- */
.plan-cards { margin: 10px 0 0; }
.plan-card { border: 1px solid var(--line); border-radius: 6px; padding: 22px 24px; height: 100%; background: var(--white); box-shadow: 0 4px 18px rgba(0, 0, 0, .06); }
.plan-card.featured { border-top: 6px solid var(--gold); }
.plan-card h3 { margin: 0; }
.plan-card .plan-sub { color: var(--muted); margin: 2px 0 12px; font-size: 15px; }
.plan-card ul { list-style: none; margin: 0; padding: 0; }
.plan-card li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line-2); font-size: 15px; }
.plan-card li:last-child { border-bottom: 0; }
.plan-card li strong { white-space: nowrap; }
.plan-example { max-width: 860px; margin: 22px auto 0; text-align: center; }
.pricing-included { margin: 10px 0 0; }
.pricing-included h3 { text-align: center; margin: 0 0 18px; }
.pricing-included h4 { margin: 0 0 8px; }
.pricing-included ul { padding-left: 20px; margin: 0 0 18px; }
.pricing-included li { margin: 0 0 5px; }
.pricing-faq { max-width: 860px; margin: 0 auto; }
.pricing-faq .faq-link { font-size: 14px; margin: 8px 0 0; }

/* ---------- pricing: included-in-every-plan rows, CTA panel (Chuck 2026-11-06) ---------- */
.pricing-included { margin-top: 40px; }
.pricing-included > h3 { text-align: center; margin-bottom: 18px; }
.pi-row { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 10px 24px; padding: 18px 0; border-top: 1px solid var(--line); align-items: start; }
.pi-row h4 { margin: 6px 0 0; font-size: 17px; }
.pi-row ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.pi-row li { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; background: var(--paper); border: 1px solid var(--line); border-radius: 999px; font-size: 15px; line-height: 1.3; }
.pi-row li svg { width: 14px; height: 14px; flex: none; fill: var(--gold-text); }
.cta-panel { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px 40px; align-items: center; padding: 32px; background: var(--white); border: 1px solid var(--line); border-radius: 14px; }
.cta-panel h2 { margin-top: 0; }
.cta-points { margin: 0; padding-left: 20px; } .cta-points li { margin: 0 0 6px; font-size: 18px; }
.cta-actions { display: flex; flex-direction: column; gap: 12px; }
.cta-actions .btn { text-align: center; }
.cta-logos { display: flex; gap: 20px; align-items: center; justify-content: center; margin-top: 8px; }
.cta-logos img { height: 56px; width: auto; }
@media (max-width: 760px) { .pi-row, .cta-panel { grid-template-columns: 1fr; } .pi-row h4 { margin: 0; } .cta-panel { padding: 22px; } }
/* submenus that would run off the right edge open leftward (site.js adds .flip, 2026-11-06) */
#nav > ul > li > ul.flip { left: auto; right: 0; }
#nav ul ul ul.flip { left: auto; right: 100%; border-left: 0; border-right: 3px solid var(--gold); }

/* ---------- blog: covers, featured post, card grid, topic filter (Chuck 2026-11-06) ---------- */
.post-cover { display: block; width: 100%; height: auto; border-radius: 12px; }
.pc-bg { fill: var(--black); }
.pc-arc { fill: none; stroke: var(--gold); stroke-width: 3; }
.pc-ic { fill: none; stroke: var(--gold); stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.blog-sec { padding-top: 10px; }
.blog-feature .post-card { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.blog-feature .post-card h2 { font-size: 32px; }
.post-card { margin: 0; padding: 0; border: 0; }
.post-card .pc-img { display: block; }
.post-card .pc-img:hover .post-cover { opacity: .92; }
.post-card h2 { font-size: 21px; line-height: 1.25; margin: 4px 0 8px; }
.pc-cat { font-family: var(--display); font-weight: 700; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-text); margin: 14px 0 0; }
.pc-ex { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--ink-2); }
.blog-feature .pc-ex { -webkit-line-clamp: 5; font-size: 18px; }
.blog-filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 44px 0 24px; padding-top: 28px; border-top: 1px solid var(--line); }
.blog-filter button { padding: 9px 16px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--white); color: var(--ink); font: 500 15px var(--font); cursor: pointer; }
.blog-filter button:hover { border-color: var(--gold-text); }
.blog-filter button.on { background: var(--black); border-color: var(--black); color: var(--gold); }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; }
.blog-grid .post-card[hidden] { display: none; }
.post-cover-wrap { margin: 6px 0 28px; }
.post-single .entry { font-size: 18px; line-height: 1.7; }
@media (max-width: 992px) { .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .blog-feature .post-card { grid-template-columns: 1fr; gap: 0; } }
@media (max-width: 600px) { .blog-grid { grid-template-columns: 1fr; } .blog-feature .post-card h2 { font-size: 26px; } }

/* ---------- rental listing pages (Chuck 2026-11-06: listings started too far down) ---------- */
.rent-head { background: var(--paper); padding: 34px 0 22px; }
.rent-head h1 { font-size: 36px; margin-bottom: 16px; }
.rent-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.rent-tabs a { padding: 10px 18px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--white); color: var(--ink); font-weight: 600; font-size: 15px; }
.rent-tabs a:hover { border-color: var(--gold-text); text-decoration: none; }
.rent-tabs a.on { background: var(--black); border-color: var(--black); color: var(--gold); }
.rent-links { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; font-size: 15px; }
.rent-list { padding-top: 20px; }
.rent-more { margin-top: 20px; align-items: start; }
.rent-alert-form { display: block; width: 100%; height: 750px; border: 0; }
@media (max-width: 600px) { .rent-head h1 { font-size: 28px; } .rent-tabs a { padding: 8px 14px; font-size: 14px; } }

/* ---------- areas-we-serve pages (Chuck 2026-11-06 rework) ---------- */
.area-hero .rc-eyebrow { color: var(--gold); }
.area-hero h1 { max-width: 760px; }
.area-lede { max-width: 640px; font-size: 20px; color: var(--white); margin: 0 0 20px; }
.area-stats { padding: 26px 0; }
.area-stats .rf-stats { margin-top: 0; }
.area-local { align-items: start; }
.area-towns { list-style: none; margin: 0; padding: 0; }
.area-towns li { padding: 10px 0; border-top: 1px solid var(--line); }
.area-towns li:first-child { border-top: 0; }
.area-towns b { display: block; }
.area-towns span { font-size: 15px; color: var(--ink-2); }
.area-svc { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.area-svc-item { background: var(--white); border: 1px solid var(--line); border-radius: 10px; padding: 18px; }
.area-svc-item .rc-ic { width: 30px; height: 30px; margin-bottom: 8px; }
.area-svc-item p { font-size: 15px; margin: 6px 0 0; }
.area-more { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 18px 0 0; }
.area-office { margin-top: 18px; font-size: 15px; }
@media (max-width: 992px) { .area-svc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .area-svc { grid-template-columns: 1fr; } .area-lede { font-size: 18px; } }

/* ---------- Available Rentals tabs (2026-11-06) ---------- */
.rent-tabs button { padding: 10px 18px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--white); color: var(--ink); font: 600 15px/1.3 var(--font); cursor: pointer; }
.rent-tabs button:hover { border-color: var(--gold-text); }
.rent-tabs button[aria-selected="true"] { background: var(--black); border-color: var(--black); color: var(--gold); }
.rent-tabs button:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.epm-listings iframe { display: block; width: 100%; min-height: 900px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.epm-listings iframe[hidden], .rent-alert-form[hidden] { display: none; }
@media (max-width: 600px) { .rent-tabs button { padding: 8px 14px; font-size: 14px; } }

/* ---------- Apply page (rebuilt 2026-11-06) ---------- */
.ap-facts { background: var(--paper); padding: 26px 0; }
.ap-facts .rf-stats { margin-top: 0; }
.ap-facts .rf-stat b { color: var(--gold-text); }
.ap-facts .rf-stat span { color: var(--ink-2); }
.ap-steps { margin-top: 18px; align-items: start; }
.ap-list { list-style: none; margin: 10px 0 0; padding: 0; }
.ap-list li { display: flex; gap: 10px; padding: 7px 0; font-size: 16px; }
.ap-list .rc-ic { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 3px; }
.ap-btns { margin: 16px 0 6px; }
.ap-small { font-size: 15px; margin: 0; }
.ap-two { align-items: start; margin-top: 20px; }
.ap-status { list-style: none; margin: 14px 0 0; padding: 0; }
.ap-status li { padding: 10px 0; border-top: 1px solid var(--line); }
.ap-status b { display: block; }
.ap-status span { font-size: 15px; }
.ap-legal { font-size: 13px; line-height: 1.55; color: var(--ink-2); background: var(--paper); border: 1px solid var(--line); border-radius: 8px; padding: 16px 18px; }

/* ---------- FAQ topic pages (2026-11-06) ---------- */
.faq-cat-hero .crumbs { margin: 0 0 14px; font-size: 14px; }
.faq-cat-hero .faq-tools { max-width: 640px; margin-top: 18px; }
.faq-cat-list { padding-top: 26px; }
.faq-cat-acc { max-width: 860px; }
.faq-cat-acc details { background: var(--white); }
.faq-other-h { font-size: 20px; margin: 34px 0 4px; }
.faq-cat-hero .faq-tools, .faq-cat-hero .faq-search { margin-left: 0; margin-right: 0; }
img.post-cover.photo { aspect-ratio: 640 / 336; object-fit: cover; background: var(--paper); }

/* Owner Center hub (Chuck, 2026-11-06): every Owners menu item, grouped and labeled */
.oc-jump { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-top: 22px; }
.oc-jump a { padding: 7px 14px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--ink); font-size: 14px; font-weight: 600; }
.oc-jump a:hover { border-color: var(--gold-text); text-decoration: none; }
.oc-label { font-family: var(--display); font-weight: 700; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-text); margin: 0 0 6px; }
h2.oc-h { font-size: 30px; margin: 0 0 20px; }
.rc-tile .rc-tag { align-self: flex-start; margin: 0 0 4px; background: var(--white); }
.rc-tile.gold .rc-tag { background: var(--black); border-color: var(--black); color: var(--gold); }
#current, #tools, #guides, #services, #office { scroll-margin-top: 90px; }
@media (max-width: 600px) { h2.oc-h { font-size: 24px; } .rc-tile .rc-tag { font-size: 10px; padding: 2px 8px; } }

/* ---------- Tenant Center directory (hub for the old Tenants menu, 2026-11-06) ---------- */
.th-dir .rf-grid { margin-top: 18px; align-items: start; }
.th-links { list-style: none; margin: 8px 0 0; padding: 0; }
.th-links li { border-top: 1px solid var(--line); }
.th-links li:first-child { border-top: 0; }
.th-links a { display: block; padding: 9px 0; color: var(--ink); font-weight: 500; }
.th-links a:hover { color: var(--gold-text); text-decoration: none; }
.th-links a::after { content: " \203A"; color: var(--gold-text); }

/* ---------- Residential management people cards (2026-11-06) ---------- */
.rm-people { margin-top: 18px; }
.rm-person { display: flex; gap: 18px; align-items: flex-start; }
.rm-person img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex: 0 0 96px; }
.rm-role { font-size: 15px; color: var(--ink-2); margin: 2px 0 8px; }
.rm-person p { margin: 0 0 8px; }

/* ---------- new-design previews of Home, About, Contact, Commercial (2026-11-06) ---------- */
.pv-note { display: inline-block; margin: 0 0 14px; padding: 6px 12px; border-radius: 6px; background: var(--gold); color: var(--black); font-size: 14px; font-weight: 600; }
.pv-note a { color: var(--black); text-decoration: underline; }
.pv-hero .hero-proof { max-width: 640px; }
.pv-h { margin-bottom: 16px; }
.pv-mission { text-align: center; }
.pv-quote { max-width: 760px; margin: 6px auto 0; font-size: 24px; line-height: 1.45; color: var(--ink); font-weight: 500; }
.pv-rmp img { width: 72px; height: 72px; margin-bottom: 6px; }
.pv-videos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.pv-archive { display: grid; grid-template-columns: 1fr 2fr; gap: 24px; align-items: center; }
.pv-archive img { width: 100%; height: auto; border-radius: 10px; }
.pv-contact { align-items: start; }
.pv-contact textarea, .pv-contact select { width: 100%; }
@media (max-width: 860px) { .pv-videos, .pv-archive { grid-template-columns: 1fr; } }
.pv-hero .wrap, .pv-hero h1, .pv-hero p { text-align: left !important; }
.pv-hero h1 { max-width: 780px; }
.pv-hero .area-lede, .pv-hero .hero-proof { margin-left: 0; margin-right: 0; }
.pv-hero .rc-eyebrow { color: var(--gold); }
.pv-note a, .sec.hero .pv-note a { color: var(--black) !important; }
/* 2026-11-06 home hero v2 + tenant page rebuild */
.pv-hh { padding: 44px 0 40px; }
.pv-hh-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 44px; align-items: center; }
.pv-hh h1 { font-size: 44px; text-wrap: balance; margin-bottom: 14px; }
.pv-hh .rc-lede { margin-bottom: 18px; }
.pv-hh .hero-proof { color: var(--ink-2); font-size: 15px; margin: 14px 0 8px; }
.pv-hh .hero-proof a { color: var(--gold-text); }
.pv-hh-call { margin: 0; font-size: 15px; color: var(--ink-2); }
.pv-hh-call a { font-size: 24px; font-weight: 700; color: var(--ink); margin: 0 10px 0 4px; }
.pv-hh-photo { margin: 0; }
.pv-hh-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; box-shadow: 0 12px 32px rgba(43, 42, 40, .18); }
@media (max-width: 860px) { .pv-hh-grid { grid-template-columns: 1fr; gap: 24px; } .pv-hh h1 { font-size: 30px; } .pv-hh-photo img { aspect-ratio: 16 / 9; } }
.pv-tight { padding-top: 8px; padding-bottom: 8px; }
.pv-alert { border-left: 6px solid var(--gold); background: var(--paper); border-radius: 8px; padding: 14px 18px; font-size: 17px; }
.pv-alert b { margin-right: 4px; }
.pv-wide { max-width: none; }
.pv-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rf-grid.pv-four { display: grid; gap: 16px; margin-top: 14px; }
@media (min-width: 1000px) { .rf-grid.pv-four { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 700px) { .pv-four, .rf-grid.pv-four { grid-template-columns: 1fr; } }
.pv-portals { align-items: start; }
.pv-by { margin: 0 0 8px; } .pv-by img { height: 28px; width: auto; }
.pv-dl { margin: 6px 0 0; } .pv-dl dt { font-weight: 700; margin-top: 12px; } .pv-dl dd { margin: 2px 0 0; font-size: 15px; } .pv-dl dd p { margin: 0 0 6px; } .pv-dl ul { margin: 4px 0 0 18px; padding: 0; }
.pv-mo { align-items: start; } .pv-mo .rc-card { display: flex; flex-direction: column; } .pv-mo .btns { margin-top: auto; padding-top: 14px; }
.pv-vid { align-items: center; gap: 32px; } .pv-vid .video { margin: 0; border-radius: 10px; }
.pv-vid-solo { max-width: 820px; } .pv-vid-solo .video { border-radius: 10px; }
.pv-table-wrap { overflow-x: auto; margin: 22px 0 12px; }
.pv-table { width: 100%; border-collapse: collapse; background: var(--white); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.pv-table th, .pv-table td { padding: 10px 14px; text-align: left; border-top: 1px solid var(--line); }
.pv-table th { background: var(--black); color: var(--white); font-weight: 600; border-top: 0; }
.pv-table .pv-no td { background: var(--paper); }
.ap-list .pv-x { stroke: var(--ink-2); }
.pv-done { opacity: .7; } .pv-done .rf-num { background: var(--paper); border: 2px solid var(--gold-text); color: var(--gold-text); }
.pv-now { border: 2px solid var(--gold); background: var(--white); }
.pv-more-sec { padding: 26px 0; } .pv-more-h { font-size: 20px; margin: 0; }
/* 2026-11-06 five-star proof + modern "More for tenants" cards */
.pv-stars { display: flex; gap: 3px; margin: 0 0 6px; }
.pv-stars svg { width: 22px; height: 22px; fill: var(--gold); stroke: var(--gold-text); stroke-width: 1; stroke-linejoin: round; }
.pv-more-sec { background: var(--paper); padding: 44px 0 52px; border-top: 1px solid var(--line); }
.pv-mc-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px; margin-bottom: 18px; }
.pv-mc-head h2 { margin: 0; }
.pv-mc-head a { font-weight: 600; color: var(--gold-text); }
.pv-mc-head a::after { content: " \2192"; }
.pv-mc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.pv-mc { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 20px 44px 20px 20px; background: var(--white); border: 1px solid var(--line); border-radius: 14px; color: var(--ink); text-decoration: none; box-shadow: 0 1px 2px rgba(43, 42, 40, .05); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.pv-mc:hover, .pv-mc:focus-visible { transform: translateY(-3px); border-color: var(--gold); box-shadow: 0 10px 24px rgba(43, 42, 40, .12); text-decoration: none; }
.pv-mc-ic { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 10px; border-radius: 12px; background: var(--gold); }
.pv-mc-svg { width: 24px; height: 24px; fill: none; stroke: var(--black); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pv-mc-t { font-weight: 700; font-size: 17px; }
.pv-mc-d { font-size: 14px; color: var(--ink-2); line-height: 1.45; }
.pv-mc-arr { position: absolute; top: 22px; right: 18px; width: 20px; height: 20px; fill: none; stroke: var(--gold-text); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s ease; }
.pv-mc:hover .pv-mc-arr { transform: translateX(3px); }
@media (max-width: 560px) { .pv-mc-grid { grid-template-columns: 1fr 1fr; } .pv-mc { padding: 16px 14px; } .pv-mc-arr { display: none; } }
/* 2026-11-06 big call-to-action cards (deposit dispute, applicant help) */
.pv-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 22px; padding: 28px 32px; background: var(--black); color: var(--white); border-radius: 16px; box-shadow: 0 12px 28px rgba(43, 42, 40, .18); }
.pv-cta-txt { flex: 1 1 380px; }
.pv-cta h2 { color: var(--white); margin: 0 0 6px; font-size: 26px; }
.pv-cta p { color: rgba(255, 255, 255, .88); margin: 0; }
.pv-cta-btns { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 0; }
.pv-cta .btn { font-size: 17px; padding: 16px 28px; white-space: nowrap; }
.pv-cta-link { color: var(--gold); font-weight: 600; font-size: 15px; }
.pv-cta-ic { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: var(--gold); }
.pv-cta-ic svg { width: 28px; height: 28px; fill: none; stroke: var(--black); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pv-cta-help { margin-top: 0; }
@media (max-width: 640px) { .pv-cta { padding: 22px 20px; } .pv-cta h2 { font-size: 21px; } .pv-cta-btns { width: 100%; } .pv-cta .btn { width: 100%; text-align: center; } }
/* 2026-11-07 Rentals pill (filled gold) + mobile top bar: buttons right, no phone */
.rbar .rb-call.rb-rent { background: var(--gold); color: var(--black); }
.rbar .rb-call.rb-rent:hover { background: var(--white); border-color: var(--white); color: var(--black); }
@media (max-width: 760px) { .rbar .wrap { justify-content: flex-end; } .rbar .rb-ph { display: none; } }
/* 2026-11-07 owner batch previews */
.pv-alert-sm { font-size: 14px; padding: 10px 12px; margin: 0 0 10px; border-left-width: 4px; }
.pv-prov { list-style: none; margin: 4px 0 0; padding: 0; }
.pv-prov li { padding: 9px 0; border-top: 1px solid var(--line); font-size: 15px; line-height: 1.5; }
.pv-prov li:first-child { border-top: 0; padding-top: 2px; }
.pv-prov b { display: block; color: var(--ink); }
.pv-prov span { color: var(--ink-2); }
.pv-provs { align-items: start; }
.pv-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }
.pv-chips span { padding: 4px 10px; border-radius: 999px; background: var(--white); border: 1px solid var(--line); font-size: 14px; }
.pv-why { align-items: start; gap: 28px; }
.pv-why > div > .rc-card { margin-bottom: 14px; }
.pv-form-card { padding: 24px; }
.pv-form-card iframe { width: 100% !important; }
.pv-chuck { display: flex; gap: 16px; align-items: flex-start; }
.pv-chuck img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.pv-small-trust { margin: 16px 0 8px; font-weight: 600; }
.pv-vid2 { align-items: start; gap: 24px; } .pv-vid2 .video { margin: 0 0 10px; border-radius: 10px; }
.pv-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.pv-area { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; color: var(--ink); text-decoration: none; box-shadow: 0 1px 2px rgba(43, 42, 40, .05); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.pv-area:hover, .pv-area:focus-visible { transform: translateY(-3px); border-color: var(--gold); box-shadow: 0 12px 28px rgba(43, 42, 40, .14); text-decoration: none; }
.pv-area img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.pv-area-body { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px 24px; }
.pv-area-body .rc-tag { align-self: flex-start; }
.pv-area-t { font-size: 22px; font-weight: 700; }
.pv-area-towns { color: var(--ink-2); font-size: 15px; }
.pv-area-go { margin-top: 6px; font-weight: 600; color: var(--gold-text); }
.pv-area-go::after { content: " \2192"; }
@media (max-width: 760px) { .pv-areas { grid-template-columns: 1fr; } .pv-chuck { flex-direction: column; } }
/* 2026-11-07 Owner Help: Jotform sits on a dark band so its dark-ground logo shows */
.pv-jf-dark { background: var(--black); color: var(--white); }
.pv-jf-intro { max-width: 720px; margin: 0 auto 8px; text-align: center; }
.pv-jf-dark .pv-jf-intro h2 { color: var(--white); }
.pv-jf-dark .pv-jf-intro p { color: rgba(255, 255, 255, .85); }
.pv-jf-dark .pv-jf-intro a { color: var(--gold); }
.pv-jf { max-width: 720px; margin: 0 auto; }
.pv-jf iframe { width: 100% !important; border: 0; }

/* Blog cards: outlined white cards so posts read as separate (2026-11-07) */
.blog-grid .post-card, .blog-feature .post-card { background: var(--white); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; transition: border-color .15s, box-shadow .15s, transform .15s; }
.blog-grid .post-card:hover, .blog-feature .post-card:hover { border-color: var(--gold); box-shadow: 0 8px 24px rgba(43,42,40,.10); transform: translateY(-2px); }
.blog-grid .post-card { display: flex; flex-direction: column; }
.blog-grid .post-card .pc-body { display: flex; flex-direction: column; flex: 1; padding: 4px 22px 22px; }
.blog-grid .post-card .read-more { margin-top: auto; padding-top: 6px; }
.blog-feature .post-card { gap: 0; align-items: stretch; }
.blog-feature .post-card .pc-img .post-cover { height: 100%; width: 100%; display: block; }
.blog-feature .post-card .pc-body { padding: 26px 32px 30px; align-self: center; }
.post-card .post-cover { display: block; border-radius: 0; }
@media (max-width: 600px) { .blog-feature .post-card .pc-body { padding: 18px 20px 22px; } }

/* ---------- 2026-11-08 launch fixes (review items C28-C55) ---------- */
/* C31 phone header: tap-to-call beside the menu button; Pricing and Contact sit in the phone menu only (desktop bar unchanged) */
.m-call { display: none; }
#nav li.m-only { display: none; }
@media (max-width: 992px) {
  #top .m-call { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); }
  #top .m-call .ico { width: 19px; height: 19px; }
  #top .m-call:hover, #top .m-call:focus-visible { background: var(--gold); color: var(--black); }
  #menu-btn { min-width: 44px; min-height: 44px; }
  #nav li.m-only { display: block; }
}
/* C28 footer: link rows, both offices, licenses */
footer .f-nav { display: flex; flex-direction: column; align-items: center; gap: 2px; margin: 0 0 22px; }
footer .f-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 22px; }
footer .f-h { margin: 0; font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-dark-2); }
footer .f-row .links { margin: 0; gap: 0 22px; }
footer .links a { display: inline-block; padding: 11px 2px; }  /* C33: 44px tap height from padding, same type */
footer .f-offices { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 48px; margin: 4px 0 20px; }
footer .f-office { margin: 0; line-height: 1.55; }
footer .f-office strong { color: var(--white); font-weight: 600; }
footer .f-phone a { display: inline-block; font-weight: 700; padding: 0 2px; }
footer .f-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 20px; }
footer .f-legal a { display: inline-block; padding: 11px 0; }
footer .f-a11y { max-width: 760px; margin: 14px auto 0; font-size: 12px; line-height: 1.6; }
@media (max-width: 760px) {
  footer .f-row { flex-direction: column; gap: 0; margin-bottom: 10px; }
  footer .f-h { margin-top: 6px; }
  footer .f-row .links { gap: 0 18px; }
  footer .f-offices { flex-direction: column; gap: 12px; }
}
/* C33 tap targets on phones: the top pills keep their look; a transparent hit area takes them to 44px */
.rbar .rb-call { position: relative; }
.rbar .rb-call::after { content: ""; position: absolute; inset: -9px -5px; }
@media (max-width: 760px) {
  .faq-cat li { padding: 0; }
  .faq-cat li a { display: block; padding: 10px 0; }
  .faq-link a, .faq-cat .more { display: inline-block; padding: 11px 0; }
  .faq-related li { padding: 0; }
  .faq-related li a { display: inline-block; padding: 9px 0; }
}
/* C44 sitemap page, generated by build_lean.py */
.sm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 36px; }
.sm-grid.sm-two { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--line); }
.sm-col h2 { font-size: 22px; margin-bottom: 10px; }
.sm-col h2 a { color: var(--ink); }
.sm-col h3 { font-size: 17px; margin: 22px 0 6px; }
.sm-col h3 a { color: var(--ink); }
.sm-col ul { list-style: none; margin: 0; padding: 0; }
.sm-col li { border-bottom: 1px solid var(--line-2); font-size: 15px; line-height: 1.4; }
.sm-col li a { display: block; padding: 8px 0; color: var(--ink); }
.sm-col li a:hover { color: var(--gold-text); }
@media (max-width: 992px) { .sm-grid, .sm-grid.sm-two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sm-grid, .sm-grid.sm-two { grid-template-columns: minmax(0, 1fr); } .sm-col li a { padding: 11px 0; } }
/* C30 / C47 wide tables: scroll inside their own box; the swipe line and right-edge fade show only while columns are hidden (site.js) */
.sx-box { position: relative; }
.sx { overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.sx-box::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 40px; pointer-events: none; background: linear-gradient(to right, rgba(43, 42, 40, 0), rgba(43, 42, 40, .22)); opacity: 0; transition: opacity .2s; z-index: 3; }
.sx-wrap.sx-more .sx-box::after { opacity: 1; }
.swipe-cue { display: none; margin: 0 0 8px; font-size: 14px; font-weight: 600; color: var(--gold-text); text-align: right; }
.swipe-cue span { display: inline-block; animation: sx-nudge 1.6s ease-in-out 3; }
.sx-wrap.sx-over .swipe-cue { display: block; }
@keyframes sx-nudge { 0%, 100% { transform: none; } 50% { transform: translateX(5px); } }
@media (prefers-reduced-motion: reduce) { .swipe-cue span { animation: none; } }
.pricing.sx { margin: 0; } .sx-wrap:has(> .sx-box > .pricing) { margin: 10px 0 30px; }
.entry .sx-wrap { margin: 0 0 1.4em; }
.entry .sx table { min-width: 520px; }
@media (max-width: 600px) { .post .sx table, .entry .sx table { display: table; overflow: visible; } }
.blog { grid-template-columns: minmax(0, 1fr) 300px; } .blog > * { min-width: 0; }  /* a wide table scrolls in its box instead of widening the post column */
@media (max-width: 992px) { .blog { grid-template-columns: minmax(0, 1fr); } }
/* C46 404 page */
.nf-sec { padding-top: 36px; }
.nf-links { display: flex; flex-wrap: wrap; gap: 12px; }
.nf-links .btn { min-width: 150px; text-align: center; }
.nf-call { margin-top: 22px; font-size: 18px; }
.nf-art { display: block; max-width: 520px; margin: 0 0 28px; }
@media (max-width: 600px) { .nf-links .btn { flex: 1 1 calc(50% - 6px); min-width: 0; } }
/* C35: one icon treatment. "More for owners" cards use the Owner Center's bare gold line icon, no filled badge (Chuck 2026-11-07: badges made it worse) */
.pv-mc-ic { width: auto; height: auto; justify-content: flex-start; margin-bottom: 8px; border-radius: 0; background: none; }
.pv-mc-svg { width: 30px; height: 30px; stroke: var(--gold-text); }
/* C55 "More for owners": 7 or 8 cards; the last row is centered instead of leaving one card hanging at the left */
.pv-mc-grid { display: flex; flex-wrap: wrap; justify-content: center; }
.pv-mc-grid > .pv-mc { flex: 0 0 calc((100% - 42px) / 4); min-width: 0; }
@media (max-width: 991px) { .pv-mc-grid > .pv-mc { flex-basis: calc((100% - 28px) / 3); } }
@media (max-width: 700px) { .pv-mc-grid > .pv-mc { flex-basis: calc((100% - 14px) / 2); } }
/* C36 iPad portrait (761 to 992px): two-column hero and 2 or 3 column grids instead of the stretched phone layout. The desktop nav breakpoint stays at 992px (the menu does not fit at 820). */
@media (min-width: 761px) and (max-width: 860px) {
  .pv-hh-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 28px; }
  .pv-hh h1 { font-size: 32px; }
  .pv-hh-photo img { aspect-ratio: 4 / 5; }
  .rf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rf-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rf-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 761px) and (max-width: 992px) {
  .rc-tiles:not(.two):not(.oc-rows):has(> :nth-child(3):last-child), .rc-tiles:not(.two):not(.oc-rows):has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rc-hero h1 { font-size: 38px; }
}
/* C38 contact: room between the tiles and the application callout; one label style on every form (the paired Phone/Email labels were smaller and grey) */
.rc-tiles + .applicant-help { margin-top: 28px; }
.form .f-sub label span, .lc-rev .f-sub label span { font-size: 14px; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
/* C37 calculator money fields and the phone result bar */
.money-in { position: relative; display: block; }
.money-sym { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--ink-2); font-weight: 600; pointer-events: none; }
.form .money-in input[type="text"] { padding-left: 27px; }
.calc-bar { position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 45; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border: 0; border-radius: 12px; background: var(--black); color: var(--white); font: 600 15px/1.35 var(--font); text-align: left; box-shadow: 0 8px 24px rgba(0, 0, 0, .35); cursor: pointer; }
.calc-bar[hidden] { display: none; }
.calc-bar .cb-go { flex: 0 0 auto; color: var(--gold); font-size: 13px; white-space: nowrap; }
.calc-bar .cb-go::after { content: " \2193"; }
body.calc-bar-on #to-top { bottom: 84px; }
@media (min-width: 901px) { .calc-bar { display: none !important; } }
@media print { .calc-bar { display: none !important; } }

/* Cards on a cream band were cream on cream (Chuck 2026-11-08): white cards on the band, cream tag pills on white cards */
.rc-band .rc-tile:not(.gold):not(.alert) { background: var(--white); }
.rc-band .rc-tile:not(.gold):not(.alert) .rc-tag { background: var(--paper); }

/* Blog: one stacked list, newest first. Picture | headline | summary on each row (Chuck 2026-11-08) */
.blog-grid.blog-list { display: flex; flex-direction: column; gap: 18px; }
.blog-list .post-card { display: grid; grid-template-columns: 260px minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "img cat ex" "img h2 ex" "img meta more"; grid-template-rows: auto auto 1fr; column-gap: 28px; align-items: start; padding: 0; }
.blog-list .post-card .pc-body { display: contents; }
.blog-list .post-card .pc-img { grid-area: img; align-self: stretch; }
.blog-list .post-card .pc-img .post-cover, .blog-list .post-card .pc-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-list .post-card .pc-cat { grid-area: cat; margin: 22px 0 0; }
.blog-list .post-card h2 { grid-area: h2; font-size: 22px; margin: 6px 0 6px; }
.blog-list .post-card .post-meta { grid-area: meta; margin: 0 0 22px; }
.blog-list .post-card .pc-ex { grid-area: ex; margin: 22px 24px 0 0; -webkit-line-clamp: 4; }
.blog-list .post-card .read-more { grid-area: more; align-self: end; margin: 0 24px 22px 0; padding: 0; }
@media (max-width: 860px) {
  .blog-list .post-card { grid-template-columns: 200px minmax(0, 1fr); grid-template-areas: "img cat" "img h2" "img meta" "img ex"; grid-template-rows: auto auto auto 1fr; column-gap: 20px; }
  .blog-list .post-card .pc-ex { margin: 0 18px 18px 0; -webkit-line-clamp: 3; }
  .blog-list .post-card .read-more { display: none; }
}
@media (max-width: 600px) {
  .blog-list .post-card { grid-template-columns: 112px minmax(0, 1fr); grid-template-areas: "img cat" "img h2" "img meta"; column-gap: 14px; }
  .blog-list .post-card .pc-ex { display: none; }
  .blog-list .post-card .pc-cat { margin-top: 12px; font-size: 10px; }
  .blog-list .post-card h2 { font-size: 17px; margin: 4px 12px 4px 0; }
  .blog-list .post-card .post-meta { margin: 0 12px 12px 0; font-size: 13px; }
}

/* FAQ answers everywhere: cards stand off the page, the open one is gold (Chuck 2026-11-08) */
.accordion details { background: var(--paper); border-radius: 8px; transition: border-color .15s; }
.rc-band .accordion details { background: var(--white); }
.accordion details:hover { border-color: var(--gold-text); }
.accordion details[open] { background: var(--white); border-color: var(--gold); box-shadow: 0 6px 18px rgba(43,42,40,.08); }
.accordion details[open] > summary { background: var(--gold); color: var(--black); border-radius: 7px 7px 0 0; }
.accordion details[open] > summary::after { color: var(--black); }
.accordion details[open] > div { padding-top: 14px; }

/* Available Rentals loading note over RentEngine's frame, and the sign-up form never scrolls inside itself (2026-11-08) */
.epm-listings { position: relative; }
.epm-listings.re-loading::after { content: "Loading available rentals..."; position: absolute; inset: 0; z-index: 2; display: flex; justify-content: center; align-items: flex-start; padding-top: 140px; background: var(--white); border-radius: 6px; font-weight: 600; font-size: 18px; color: var(--ink-2); }
@media (max-width: 600px) { .rent-alert-form { height: 820px; } }
.blog-list .post-card .pc-img { overflow: hidden; background: var(--black); }
/* Rental alerts: a button to BombBomb's sign-up page instead of its embedded dark box (Chuck 2026-11-08) */
a.rent-alert-form { display: inline-block; width: auto; height: auto; }

/* C39 FAQ-from-calls boxes (2026-11-08): four-step rows on Available Rentals, Repair Request and Vendors; emergency tiles on Repair Request */
.rf-steps.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rf-step p { margin: 0 0 10px; }
.rent-how-more { margin-top: 18px; color: var(--ink-2); }
.now-tiles .rc-tile { min-height: 0; }
.now-tiles .rc-tile:hover { transform: none; }
.now-tiles .rc-td { font-size: 15px; line-height: 1.5; }
.now-tiles .rc-tile.alert a { color: var(--white); text-decoration: underline; }
@media (max-width: 1100px) { .rf-steps.four { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .rf-steps.four { grid-template-columns: 1fr; } }

/* 404 black hole (2026-11-09): the page that fell into a black hole. Dark space hero, gold accretion disk, inline SVG, no images.
   Phone: the black hole sits above the heading. Desktop: beside it. Reduced motion: one still frame. */
.nf-hero { background: radial-gradient(120% 90% at 72% 50%, #3A3327 0%, var(--ground) 48%, #0F0D0A 100%); border-top: 1px solid rgba(252, 196, 56, .22); padding: 40px 0 44px; overflow: hidden; }
.nf-hero .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 440px); gap: 24px 56px; align-items: center; }
.nf-hero .nf-copy { order: -1; }
.nf-hero h1 { color: var(--white); }
.nf-hero .rc-eyebrow { color: var(--gold); }
.nf-hero .rc-lede { color: rgba(255, 255, 255, .78); }
.nf-bh { display: block; width: 100%; max-width: 440px; height: auto; margin: 0 auto; }
.bh-tw { animation: bh-tw 3.2s ease-in-out infinite alternate; }
.bh-tw2 { animation-delay: -1.1s; animation-duration: 2.6s; }
.bh-tw3 { animation-delay: -2.2s; animation-duration: 4s; }
.bh-halo { transform-origin: 210px 210px; animation: bh-pulse 4.5s ease-in-out infinite alternate; }
.bh-flow { stroke-dasharray: 34 110 20 150; animation: bh-flow 6s linear infinite; }
.bh-orbit { transform-origin: 210px 210px; animation: bh-orbit 9s cubic-bezier(.55, 0, .85, .5) infinite; }
.bh-fall { transform-origin: 210px 210px; transform: translate(124px, -46px) scale(.72); animation: bh-fall 9s ease-in infinite; }
@keyframes bh-tw { from { opacity: .35; } to { opacity: 1; } }
@keyframes bh-pulse { from { opacity: .8; transform: scale(1); } to { opacity: 1; transform: scale(1.05); } }
@keyframes bh-flow { to { stroke-dashoffset: -314; } }
@keyframes bh-orbit { to { transform: rotate(1000deg); } }
@keyframes bh-fall { 0% { transform: translate(176px, 0) scale(1); opacity: 0; } 7% { opacity: 1; } 84% { transform: translate(72px, 0) scale(.5); opacity: 1; } 100% { transform: translate(0, 0) scale(0); opacity: 0; } }
@media (max-width: 760px) {
  .nf-hero { padding: 24px 0 36px; }
  .nf-hero .wrap { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .nf-hero .nf-copy { order: 0; }
  .nf-bh { max-width: 300px; }
}
@media (prefers-reduced-motion: reduce) { .nf-bh * { animation: none !important; } }

/* ---------- eclipse hero (2026-11-09): site-side fixes for lean/theme/eclipse-hero. The hero's own stylesheet is Chuck's handoff file and is not edited. ---------- */
.eclipse-hero__btn:hover { text-decoration: none; background: var(--gold-2); }
.eclipse-hero h1.eclipse-hero__line { letter-spacing: 0; text-wrap: balance; font-weight: 500; }
/* hero words (2026-11-10): the place under the headline, then one line of Google stars that links to /reviews/ */
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.eclipse-hero__where { display: block; margin-top: .4em; font-size: .7em; font-weight: 400; color: #C9C4BD; letter-spacing: .02em; }
.eclipse-hero__proof { margin: 1.05em 0 0; font-size: clamp(13px, 1.12cqw, 17px); line-height: 1.3; color: #EBE7E2; text-shadow: 0 1px 14px rgba(12, 10, 8, .8); }
.eclipse-hero__proof a { color: inherit; text-decoration: none; }
.eclipse-hero__proof a:hover { text-decoration: underline; text-underline-offset: 3px; }
.eclipse-hero__proof svg { width: 1.05em; height: 1.05em; fill: var(--gold); vertical-align: -.14em; margin-right: .3em; }
.eclipse-hero__proof b { font-weight: 600; color: #FAF6F1; }
.eclipse-hero__src { color: #C9C4BD; }
@media (max-width: 719px) { .eclipse-hero:not(.eclipse-hero--wide) .eclipse-hero__proof { font-size: 3.5cqw; } }
.eclipse-hero--tall .eclipse-hero__proof { font-size: 3.5cqw; }
/* phones: "on Google" drops to its own line on purpose, so it never dangles as one stray word */
@media (max-width: 719px) { .eclipse-hero:not(.eclipse-hero--wide) .eclipse-hero__src { display: block; margin-top: .15em; } }
.eclipse-hero--tall .eclipse-hero__src { display: block; margin-top: .15em; }
/* the gold button and, beside it (under it on phones), a quiet link for renters (Chuck, 2026-11-10) */
.eclipse-hero__acts { display: flex; flex-wrap: wrap; align-items: center; gap: .8em 1.5em; margin-top: 2.4cqw; }
.eclipse-hero .eclipse-hero__acts .eclipse-hero__btn { margin-top: 0; align-self: auto; }
.eclipse-hero__alt { font-size: clamp(13px, 1.12cqw, 17px); color: #EBE7E2; text-decoration: underline; text-decoration-color: rgba(235, 231, 226, .45); text-underline-offset: 4px; text-shadow: 0 1px 14px rgba(12, 10, 8, .8); }
.eclipse-hero__alt:hover { color: #FAF6F1; text-decoration-color: var(--gold); }
@media (max-width: 719px) { .eclipse-hero:not(.eclipse-hero--wide) .eclipse-hero__acts { margin-top: 4.4cqw; } .eclipse-hero:not(.eclipse-hero--wide) .eclipse-hero__alt { font-size: 3.5cqw; } }
.eclipse-hero--tall .eclipse-hero__acts { margin-top: 4.4cqw; } .eclipse-hero--tall .eclipse-hero__alt { font-size: 3.5cqw; }
/* phones: a little tighter at the bottom so the words keep clear of the moon now that there are five lines of them */
@media (max-width: 719px) { .hero-nav-over .eclipse-hero:not(.eclipse-hero--wide) .eclipse-hero__content { padding-bottom: 5.5cqw; } .eclipse-hero:not(.eclipse-hero--wide) .eclipse-hero__acts { margin-top: 3.6cqw; gap: .6em 1.5em; } .eclipse-hero:not(.eclipse-hero--wide) .eclipse-hero__proof { margin-top: .75em; } }
.hero-nav-over .eclipse-hero--tall .eclipse-hero__content { padding-bottom: 5.5cqw; } .eclipse-hero--tall .eclipse-hero__acts { margin-top: 3.6cqw; gap: .6em 1.5em; } .eclipse-hero--tall .eclipse-hero__proof { margin-top: .75em; }
.pv-hh-solo { padding: 36px 0 32px; }
.pv-hh-solo .pv-hh-text { max-width: 860px; }
.pv-hh-solo .rc-lede { margin-top: 0; }
/* See-through menu bar over the hero (Chuck, 2026-11-09). The hero slides up under the two header strips (their height is measured by the
   one-line script in front of the hero), the bar turns Eclipse Black as the hero scrolls away (--hdr-a, 0 to 1, set by site.js), and
   the header logo is drawn where the hero's big logo sits and glides up into the bar (site.js "eclipse hero"). */
.hero-nav-over main { margin-top: calc(-1 * var(--ecl-over, 131px)); }
.hero-nav-over .rbar { position: relative; z-index: 50; background: transparent; }
/* the eclipse popup menu has grown; keep its top below the see-through menu bar (it scrolls inside itself when the hero is short) */
.hero-nav-over .eclipse-hero__menu { max-height: calc(100% - 62px - var(--ecl-over, 131px)); }
/* a very soft dark fade behind the top strip so the menu words stay readable when the rays are bright (Chuck, 2026-11-10: very subtle) */
.hero-nav-over .eclipse-hero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: calc(var(--ecl-over, 131px) + 60px); z-index: 1; pointer-events: none;
  background: linear-gradient(rgba(21, 18, 15, .36), rgba(21, 18, 15, .16) 55%, rgba(21, 18, 15, 0)); }
.hero-nav-over #top { background: rgba(43, 42, 40, var(--hdr-a, 0)); box-shadow: 0 2px 12px rgba(0, 0, 0, calc(.45 * var(--hdr-a, 0))); }
.hero-nav-over #top:has(#nav.open) { background: var(--black); }
.hero-nav-over #top:not(.stuck) #nav > ul > li > a, .hero-nav-over #top:not(.stuck) #nav > ul > li > span, .hero-nav-over .rbar .rb-ph { text-shadow: 0 1px 10px rgba(12, 10, 8, .8); }
/* one logo on screen at a time: .hero-dock-logo (made by site.js, fixed to the screen) glides from the hero's logo spot to the bar;
   once it is home (.hero-docked) the header's own logo takes over in the same spot. Where the browser supports it the glide is a
   scroll-driven animation, so it moves in step with the scroll instead of a frame behind it (2026-11-10, it was choppy on phones). */
.hero-nav-over #top .logo img { opacity: 0; }
.hero-docked #top .logo img { opacity: 1; }
.hero-dock-ready .eclipse-hero__logo { visibility: hidden; }
.hero-dock-logo { position: fixed; left: 0; top: 0; z-index: 51; height: auto; max-width: none; pointer-events: none; transform-origin: 0 0; will-change: transform; display: none; }
.hero-dock-ready .hero-dock-logo { display: block; transform: var(--dock-from); }
.hero-dock-ready.hero-docked .hero-dock-logo { display: none; }
@supports (animation-timeline: scroll()) {
  @keyframes hero-dock { from { transform: var(--dock-from); } to { transform: var(--dock-to); } }
  .hero-dock-ready .hero-dock-logo { animation: hero-dock linear both; animation-timeline: scroll(root block); animation-range: 0px var(--dock-range, 300px); }
}
@media print { .hero-dock-logo { display: none !important; } .hero-nav-over #top .logo img, .hero-dock-ready .eclipse-hero__logo { opacity: 1; visibility: visible; } }
/* phones: the big logo starts under the Rentals / Tenants / Owners strip, beside the call and menu buttons */
@media (max-width: 719px) { .hero-nav-over .eclipse-hero:not(.eclipse-hero--wide) .eclipse-hero__content { padding-top: calc(var(--ecl-rbar, 38px) + 8px); } }
.hero-nav-over .eclipse-hero--tall .eclipse-hero__content { padding-top: calc(var(--ecl-rbar, 38px) + 8px); }
@media print { .hero-nav-over main { margin-top: 0; } }
/* signed in to WordPress: the sticky bar sits under the admin toolbar instead of behind it (the toolbar scrolls away under 601px) */
.admin-bar #top { top: 32px; }
@media (max-width: 782px) { .admin-bar #top { top: 46px; } }
@media (max-width: 600px) { .admin-bar #top { top: 0; } }
/* home band under the eclipse hero (Chuck 2026-11-10: the ratings were buried in a paragraph): the text on the left, the Google
   ratings as a card on the right with big numbers; the full sentence stays for screen readers (.vh) and feeds the build's rating check */
.vh { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pv-hh-solo .pv-hh-text { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); grid-template-areas: "lede card" "btns card" "call card"; column-gap: 56px; align-items: start; }
.pv-hh-solo .rc-lede { grid-area: lede; font-size: 19px; margin-bottom: 20px; }
.pv-hh-solo .btns { grid-area: btns; margin: 0 0 22px; }
.pv-hh-solo .pv-hh-call { grid-area: call; }
.pv-hh .pv-rate { grid-area: card; align-self: center; position: relative; margin: 0; padding: 22px 26px 18px; background: var(--white); border-top: 4px solid var(--gold); border-radius: 10px; box-shadow: 0 12px 30px rgba(43, 42, 40, .13); color: var(--ink-2); font-size: 15px; }
.pv-rate-head { font-family: var(--display); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-text); margin: 0 0 10px; }
.pv-rate-row { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 14px; }
.pv-hh .pv-rate a.pv-rate-cell { display: block; color: var(--ink); text-decoration: none; white-space: normal; padding: 4px 0; }
.pv-rate-cell + .pv-rate-cell { border-left: 1px solid var(--line); padding-left: 20px !important; }
.pv-rate-num { display: flex; align-items: center; gap: 6px; font-size: 54px; font-weight: 700; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.pv-rate-num svg { width: 32px; height: 32px; fill: var(--gold); stroke: var(--gold-text); stroke-width: 1; stroke-linejoin: round; }
.pv-rate-town { display: block; margin-top: 8px; font-size: 15px; font-weight: 600; color: var(--ink-2); }
.pv-rate-cell:hover .pv-rate-town { text-decoration: underline; }
.pv-hh .pv-rate .pv-rate-vs { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; padding-top: 12px; border-top: 1px solid var(--line); }
.pv-rate-vs b { color: var(--ink); font-size: 22px; font-weight: 700; }
.pv-rate-asof { margin: 8px 0 0; font-size: 13px; color: var(--ink-2); }
.pv-hh .pv-rate-asof a { color: var(--gold-text); text-decoration: underline; white-space: nowrap; }
@media (max-width: 860px) {
  .pv-hh-solo .pv-hh-text { grid-template-columns: minmax(0, 1fr); grid-template-areas: "lede" "card" "btns" "call"; }
  .pv-hh .pv-rate { margin: 0 0 24px; padding: 18px 20px 16px; }
  .pv-rate-num { font-size: 46px; }
  .pv-rate-num svg { width: 28px; height: 28px; }
}
/* ---------- header consistency (Chuck 2026-11-10: "different things are shown, sometimes more or less") ----------
   One header everywhere: the Rentals / Tenants / Owners strip now sits inside the sticky header (build_lean.py), so the bar shows the
   same things at the top of the page and scrolled down; scrolling only makes the main bar shorter. The pills that used to appear in
   the bar on scroll (.hdr-quick) are gone. The menu has the same items on every screen (Pricing and Contact were phone-only). */
#top .rbar { background: transparent; border-bottom: 1px solid rgba(255, 255, 255, .07); }
#top .rbar .wrap { min-height: 38px; padding-top: 6px; padding-bottom: 6px; }
#top .rbar .rb-call { color: var(--gold); line-height: 1.5; }
#top .rbar .rb-call:hover, #top .rbar .rb-call:focus-visible { background: var(--gold); color: var(--black); text-decoration: none; }
#top .rbar .rb-call.rb-rent { background: var(--gold); color: var(--black); }
#top .rbar .rb-call.rb-rent:hover, #top .rbar .rb-call.rb-rent:focus-visible { background: var(--white); border-color: var(--white); color: var(--black); }
#top .rbar .rb-ph { color: var(--gold); }
#top .rbar .rb-call[aria-current="page"] { box-shadow: 0 0 0 2px rgba(252, 196, 56, .35); }
.hdr-quick { display: none !important; }
#nav li.m-only { display: block; }
@media (max-width: 1140px) and (min-width: 993px) { #nav > ul > li > a, #nav > ul > li > span { padding-left: 8px; padding-right: 8px; } }
@media (max-width: 992px) {
  #top .rbar .wrap { justify-content: flex-end; }
  #top .rbar .rb-ph { display: none; }   /* the round call button in the bar below is the phone number on tablets and phones */
  #top .main .wrap { min-height: 72px; }
  #top.stuck .main .wrap { min-height: 60px; }
  #top .logo img { width: 136px; }
  #top.stuck .logo img { width: 112px; }
  #top .logo, #top.stuck .logo { padding: 8px 0; }
  #nav { max-height: calc(100vh - 120px); max-height: calc(100dvh - 120px); border-top: 3px solid var(--gold); padding: 6px 0 24px; }
  #nav > ul > li > a, #nav > ul > li > span, #top.stuck #nav > ul > li > a, #top.stuck #nav > ul > li > span { padding: 14px 24px; font-size: 17px; font-weight: 600; }
  #nav > ul > li:first-child > a, #nav > ul > li:first-child > span { border-top: 0; }
  #nav .has-sub > a::after, #nav .has-sub > span::after { float: right; margin-top: 9px; transition: transform .15s; }
  #nav .has-sub.open > a::after, #nav .has-sub.open > span::after { transform: translateY(2px) rotate(-135deg); }
  #nav ul ul a, #nav ul ul span { font-size: 15px; padding-top: 11px; padding-bottom: 11px; }
}
@media (max-width: 600px) {
  #top .main .wrap { gap: 8px; }
  #top .logo img { width: 124px; }
  #top.stuck .logo img { width: 108px; }
}
/* home page: the hero's big logo starts below the whole header, not under the Rentals pill (it overlapped at 1440px) */
.hero-nav-over .eclipse-hero__content { padding-top: calc(var(--ecl-rbar, 38px) + 8px); padding-bottom: 28px; }  /* 2026-11-11: was the whole header height, which pushed the button against the hero's bottom edge (Chuck); the strip's pills sit on the right now, so the logo only has to clear the strip */
/* over the bright corona the round call button and the icons need a dark backing to stay readable */
.hero-nav-over #top .m-call { background: rgba(21, 18, 15, .6); }
.hero-nav-over #top .m-call:hover, .hero-nav-over #top .m-call:focus-visible { background: var(--gold); }
.hero-nav-over #top:not(.stuck) #search-btn .ico, .hero-nav-over #top:not(.stuck) #menu-btn .ico { filter: drop-shadow(0 1px 6px rgba(12, 10, 8, .9)); }
/* round 2 (Chuck 2026-11-10): no phone number in the top strip (the pills sit right on every screen); Contact left the menu (nav.json);
   the gliding home-page logo hid the open menu, so while the menu is open the glide layer steps aside and the bar's own logo shows */
#top .rbar .rb-ph { display: none; }
#top .rbar .wrap { justify-content: flex-end; }
html:has(#nav.open) .hero-dock-logo { display: none !important; }
.hero-nav-over #top:has(#nav.open) .logo img { opacity: 1; }
#menu-btn:focus-visible, #search-btn:focus-visible, #top .m-call:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 50%; }
/* ---------- FAQ hub, /faq/ (Chuck 2026-11-10: "super bland and awful") ---------- */
.fh-hero { position: relative; overflow: hidden; background: radial-gradient(ellipse at 85% 0%, rgba(252, 196, 56, .10), transparent 55%), var(--black); border-top: 1px solid rgba(255, 255, 255, .06); color: rgba(255, 255, 255, .86); padding: 64px 0 56px; text-align: center; }
.fh-hero::before { content: ""; position: absolute; width: 620px; height: 620px; right: -250px; top: -250px; border: 2px solid var(--gold); border-left-color: transparent; border-bottom-color: transparent; border-radius: 50%; transform: rotate(10deg); opacity: .55; pointer-events: none; }   /* the brand arc: thin, open, run off the edge */
.fh-hero .wrap { position: relative; }
.fh-hero .rc-eyebrow { color: var(--gold); }
.fh-hero h1 { color: var(--white); font-size: 46px; max-width: 760px; margin: 0 auto 12px; text-wrap: balance; }
.fh-lede { font-size: 19px; margin: 0 auto 26px; color: rgba(255, 255, 255, .82); }
.fh-hero .faq-tools { max-width: 720px; margin: 0 auto; text-align: left; }
.fh-hero .faq-search input { padding: 19px 22px 19px 56px; font-size: 18px; border: 2px solid transparent; border-radius: 999px; background: var(--white); box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
.fh-hero .faq-search input:focus { outline: none; border-color: var(--gold); }
.fh-hero .faq-search .ico { left: 22px; width: 20px; height: 20px; color: var(--gold-text); }
.fh-hero .faq-results { position: relative; z-index: 5; }
.fh-pop { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 8px; margin: 22px auto 0; max-width: 800px; font-size: 14px; }
.fh-pop span { color: rgba(255, 255, 255, .6); margin-right: 4px; }
.fh-pop a { padding: 6px 14px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; color: var(--white); line-height: 1.4; }
.fh-pop a:hover, .fh-pop a:focus-visible { border-color: var(--gold); color: var(--gold); text-decoration: none; }
.fh-note { max-width: 620px; margin: 22px auto 0; font-size: 13px; color: rgba(255, 255, 255, .55); }
.fh-topics { background: var(--paper); padding: 56px 0 64px; }
.fh-topics-h { font-size: 28px; margin: 0 0 22px; }
.fh-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.fh-card { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--gold); border-radius: 10px; padding: 22px 24px 20px; box-shadow: 0 2px 6px rgba(43, 42, 40, .05); transition: box-shadow .15s, transform .15s; }
.fh-card:hover { box-shadow: 0 12px 28px rgba(43, 42, 40, .12); transform: translateY(-2px); }
.fh-head { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.fh-ico { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(252, 196, 56, .2); color: var(--gold-text); }
.fh-ico .ico { width: 20px; height: 20px; }
.fh-head h2 { flex: 1 1 auto; margin: 0; font-size: 20px; line-height: 1.25; }
.fh-head h2 a { color: var(--ink); }
.fh-head h2 a:hover { color: var(--gold-text); text-decoration: none; }
.fh-count { flex: 0 0 auto; min-width: 34px; padding: 3px 9px; border-radius: 999px; background: var(--black); color: var(--gold); font-size: 13px; font-weight: 700; text-align: center; }
.fh-card ul { list-style: none; margin: 0 0 14px; padding: 0; flex: 1 1 auto; }
.fh-card li { border-top: 1px solid var(--line-2); }
.fh-card li a { position: relative; display: block; padding: 9px 4px 9px 18px; font-size: 15px; line-height: 1.4; color: var(--ink); }
.fh-card li a::before { content: ""; position: absolute; left: 2px; top: 16px; width: 6px; height: 6px; border: solid var(--gold-text); border-width: 2px 2px 0 0; transform: rotate(45deg); }
.fh-card li a:hover { color: var(--gold-text); text-decoration: none; }
.fh-all { align-self: flex-start; font-weight: 700; color: var(--gold-text); padding: 6px 0; }
.fh-all span { display: inline-block; transition: transform .15s; }
.fh-all:hover { text-decoration: none; }
.fh-all:hover span { transform: translateX(3px); }
.fh-ask { display: flex; align-items: center; justify-content: space-between; gap: 18px 32px; flex-wrap: wrap; margin-top: 36px; padding: 26px 30px; background: var(--black); border-radius: 10px; color: rgba(255, 255, 255, .82); }
.fh-ask h2 { color: var(--white); font-size: 24px; margin: 0 0 4px; }
.fh-ask p { margin: 0; }
@media (max-width: 992px) { .fh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fh-hero h1 { font-size: 38px; } }
@media (max-width: 600px) {
  .fh-hero { padding: 44px 0 40px; }
  .fh-hero h1 { font-size: 30px; }
  .fh-lede { font-size: 17px; }
  .fh-hero::before { width: 380px; height: 380px; right: -200px; top: -170px; }
  .fh-hero .faq-search input { font-size: 16px; padding: 16px 18px 16px 50px; }
  .fh-pop { justify-content: flex-start; } .fh-hero { text-align: left; } .fh-hero h1, .fh-lede, .fh-note { margin-left: 0; }
  .fh-grid { grid-template-columns: minmax(0, 1fr); }
  .fh-ask { padding: 22px 20px; } .fh-ask .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .fh-card, .fh-all span { transition: none; } .fh-card:hover { transform: none; } }
/* rating card, 2026-11-11 (Chuck): each town carries its own "typical local manager" figure, so both comparisons always show */
.pv-rate-typ { display: block; margin-top: 6px; font-size: 13px; font-weight: 500; color: var(--ink-2); }
.pv-rate-typ b { color: var(--ink); font-size: 15px; font-weight: 700; margin-left: 2px; }
.pv-hh .pv-rate .pv-rate-asof { margin: 0; padding-top: 12px; border-top: 1px solid var(--line); }
.pv-rate-typ { white-space: nowrap; }
@media (max-width: 420px) { .pv-rate-typ { font-size: 12px; } .pv-rate-typ b { font-size: 14px; } .pv-rate-cell + .pv-rate-cell { padding-left: 14px !important; } }

/* Site review additions (2026-11-10). Source: lean/theme/site-extras.css; build_lean.py adds it to the end of assets/site.css. */

/* forms that answer in place (ideas 11, 22) */
.form .f-error { margin: 16px 0 0; padding: 10px 14px; background: var(--alert-tint); border-left: 4px solid var(--alert); color: var(--ink); font-size: 15px; line-height: 1.45; }
.form .f-error:focus { outline: 2px solid var(--alert); outline-offset: 2px; }
.form .f-error[hidden] { display: none; }
.btn[disabled], button.btn[aria-busy="true"] { opacity: .65; cursor: progress; }
.form .cf-turnstile { margin-top: 16px; }

/* FAQ answers: did this answer your question (idea 24) */
.faq-vote { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 28px 0 8px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 15px; color: var(--ink-2); }
.faq-vote .btn { padding: 9px 20px; font-size: 13px; min-height: 40px; }
.faq-vote .btn.outline:hover { background: var(--paper); }

/* idea 1: the three audience buttons and the phone number ride in the bar that follows the page down */
.hdr-quick { display: none; }
#search-btn { flex: 0 0 auto; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; border-radius: 50%; color: var(--white); cursor: pointer; }
#search-btn .ico { width: 20px; height: 20px; }
#search-btn:hover, #search-btn[aria-expanded="true"] { color: var(--gold); }
@media (min-width: 993px) {
  #nav { order: 1; } .hdr-quick { order: 2; } #search-btn { order: 3; margin-left: -10px; }
  #top.stuck .hdr-quick { display: flex; align-items: center; gap: 8px; }
  #top .hdr-quick .hq-pill { position: relative; padding: 5px 14px; border: 1px solid var(--gold); border-radius: 999px; font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); white-space: nowrap; }
  #top .hdr-quick .hq-pill::after { content: ""; position: absolute; inset: -8px -4px; }
  #top .hdr-quick .hq-pill:hover { background: var(--gold); color: var(--black); }
  #top .hdr-quick .hq-pill.hq-rent { background: var(--gold); color: var(--black); }
  #top .hdr-quick .hq-pill.hq-rent:hover { background: var(--white); border-color: var(--white); color: var(--black); }
  #top .hdr-quick .hq-pill:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; }
  #top .hdr-quick .hq-ph { display: inline-flex; align-items: center; gap: 7px; margin-left: 10px; color: var(--gold); font-weight: 700; font-size: 15px; white-space: nowrap; }
  #top .hdr-quick .hq-ph svg { width: 15px; height: 15px; }
}
@media (min-width: 993px) and (max-width: 1180px) { #top .hdr-quick .hq-pill:not(.hq-rent) { display: none; } }

/* idea 3: one search for the whole site */
.site-search { position: absolute; left: 0; right: 0; top: 100%; z-index: 40; padding: 16px 0 20px; background: var(--black); border-top: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 12px 24px rgba(0, 0, 0, .4); }
.site-search[hidden] { display: none; }
.site-search form { display: flex; align-items: center; gap: 10px; padding: 0 6px 0 14px; background: var(--white); }
.site-search form:focus-within { outline: 2px solid var(--gold); outline-offset: 2px; }
.site-search form > .ico { flex: 0 0 auto; width: 18px; height: 18px; color: var(--muted); }
.site-search input { flex: 1; min-width: 0; padding: 14px 4px; border: 0; outline: 0; background: transparent; font: 400 17px/1.3 var(--font); color: var(--ink); }
.site-search input::-webkit-search-cancel-button { display: none; }
.site-search .ss-close { flex: 0 0 auto; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; color: var(--ink-2); cursor: pointer; }
.site-search .ss-close .ico { width: 15px; height: 15px; }
.ss-results { list-style: none; margin: 10px 0 0; padding: 0; max-height: min(60vh, 460px); overflow: auto; }
.ss-results:empty { margin: 0; }
#top .ss-results li a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px; border-bottom: 1px solid rgba(255, 255, 255, .08); color: var(--white); }
#top .ss-results li a:hover, #top .ss-results li a:focus-visible { background: rgba(255, 255, 255, .08); color: var(--gold); }
.ss-results small { flex: 0 0 auto; font-family: var(--display); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.ss-results .none { padding: 12px; color: var(--ink-dark-2); }

/* idea 27: on this page */
.onpage { background: var(--white); border-bottom: 1px solid var(--line); }
.onpage .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 12px; padding-bottom: 12px; }
.onpage-h { margin-right: 6px; font-family: var(--display); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); }
.onpage a { padding: 7px 14px; border: 1px solid var(--line-strong); border-radius: 999px; font-size: 14px; line-height: 1.2; color: var(--ink); }
.onpage a:hover { border-color: var(--gold-text); color: var(--gold-text); text-decoration: none; }
[id^="s-"] { scroll-margin-top: 110px; }

/* idea 7: more posts and a next step at the end of a blog post */
.post-more { margin: 36px 0 8px; padding-top: 22px; border-top: 1px solid var(--line); }
.post-more h2 { margin: 0 0 8px; font-size: 20px; }
.post-more ul { list-style: none; margin: 0; padding: 0; }
.post-more li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.post-more li span { font-size: 14px; color: var(--muted); }
.post-next { margin-top: 24px; }
.post-single > .crumbs { margin-bottom: 12px; }

/* idea 20: directions and text links in the footer */
footer .f-dir { display: inline-block; margin-top: 4px; padding: 3px 0; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }

@media print { .onpage, .site-search, .faq-vote, .post-more, .hdr-quick { display: none !important; } }

/* idea 4: links that were too short for a thumb on a phone get a taller tap area (24px or more) */
@media (max-width: 992px) {
  .faq-cat h3 a, .faq-cat li a, .faq-cat .more, .faq-related li a, .sm-col li a, .sm-col h2 a, .sm-col h3 a, .sidebar li a, .crumbs a, .post-more li a, .read-more { display: inline-block; padding-top: 4px; padding-bottom: 4px; }
  .rc-chips a { padding-top: 8px; padding-bottom: 8px; }
  .post-card h2 a { display: inline-block; padding: 3px 0; }
  .eclipse-hero__alt { display: inline-block; padding: 6px 0; }
  #search-btn { order: 0; }
}

/* idea 8: calculators remember your numbers and can hand them to someone else */
.calc-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 18px 0 0; font-size: 14px; color: var(--ink-2); }
.calc-tools button { padding: 9px 16px; min-height: 40px; background: none; border: 1px solid var(--line-strong); border-radius: 999px; font: 500 14px/1.2 var(--font); color: var(--ink); cursor: pointer; }
.calc-tools button:hover { border-color: var(--gold-text); color: var(--gold-text); }
.calc-tools .calc-note { flex-basis: 100%; margin: 0; font-size: 13px; color: var(--muted); }
@media print { .calc-tools { display: none !important; } }

/* sitemap tree (2026-11-10): each page hangs under the page above it, with its address beside it */
/* /sitemap/ as section cards (2026-11-11, Chuck: the plain tree "looks pretty awful"). Brand tokens only. */
.sm-total { color: var(--ink-2); max-width: 760px; margin: 0 0 14px; }
.sm-total strong { color: var(--ink); }
.sm-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.sm-jump a { display: inline-block; padding: 7px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.2; }
.sm-jump a:hover { border-color: var(--gold); background: var(--gold); color: var(--black); }
.sitemap-sec .sm-grid { display: block; columns: 3 300px; column-gap: 24px; }
.sm-card { break-inside: avoid; page-break-inside: avoid; display: inline-block; width: 100%; margin: 0 0 24px; background: var(--paper); border: 1px solid var(--line-2); border-top: 4px solid var(--gold); border-radius: 12px; padding: 20px 22px 14px; scroll-margin-top: 140px; }
.sm-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 12px; margin-bottom: 4px; border-bottom: 1px solid var(--line); }
.sm-card-head h2 { margin: 0; font-size: 20px; font-weight: 700; color: var(--ink); }
.sm-card-head h2 a { color: var(--ink); }
.sm-card-head h2 a:hover { color: var(--gold-text); }
.sm-count { flex: none; font-size: 13px; font-weight: 600; color: var(--muted); white-space: nowrap; }
.sm-card ul { list-style: none; margin: 0; padding: 0; }
.sm-card li { border-bottom: 1px solid var(--line-2); }
.sm-card li:last-child { border-bottom: 0; }
.sm-card li > a, .sm-card .sm-nolink { display: block; padding: 8px 18px 8px 0; color: var(--ink); font-size: 15.5px; line-height: 1.35; position: relative; }
.sm-card li > a::after { content: "\203A"; position: absolute; right: 2px; top: 50%; transform: translateY(-52%); color: var(--line-strong); font-size: 18px; transition: transform .15s, color .15s; }
.sm-card li > a:hover { color: var(--gold-text); }
.sm-card li > a:hover::after { color: var(--gold-text); transform: translate(3px, -52%); }
.sm-card .sm-sub > .sm-subhead, .sm-card .sm-sub > .sm-nolink { font-weight: 700; padding-top: 12px; }
.sm-card .sm-sub > ul { margin: 0 0 10px 2px; padding-left: 14px; border-left: 3px solid var(--line); }
.sm-card .sm-sub > ul a { font-size: 14.5px; color: var(--ink-2); padding-top: 6px; padding-bottom: 6px; }
.sm-card .sm-sub > ul a:hover { color: var(--gold-text); }
.sm-card .sm-sub > ul li { border-bottom: 0; }
.sm-fold details > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.sm-fold details > summary::-webkit-details-marker { display: none; }
.sm-fold details > summary::before { content: ""; flex: none; width: 7px; height: 7px; border-right: 2px solid var(--line-strong); border-bottom: 2px solid var(--line-strong); transform: rotate(-45deg); transition: transform .15s; margin: 0 2px 0 1px; }
.sm-fold details[open] > summary::before { transform: rotate(45deg); }
.sm-fold summary a { color: var(--ink); font-size: 15.5px; }
.sm-fold summary a:hover { color: var(--gold-text); }
.sm-n { margin-left: auto; min-width: 28px; text-align: center; padding: 2px 8px; border-radius: 999px; background: var(--white); border: 1px solid var(--line); font-size: 12px; font-weight: 600; color: var(--muted); }
.sm-fold details > ul { margin: 0 0 10px 6px; padding-left: 14px; border-left: 3px solid var(--line); }
.sm-fold details > ul li { border-bottom: 0; }
.sm-fold details > ul a { font-size: 14.5px; color: var(--ink-2); padding: 6px 18px 6px 0; }
.sm-fold > details > summary { font-weight: 600; color: var(--ink); }
@media (max-width: 600px) { .sm-card { padding: 16px 16px 10px; } .sm-jump a { font-size: 13px; padding: 6px 12px; } }

.sm-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin: 0 0 18px; }
.sm-bar .sm-total { margin: 0; }
.sm-view { display: inline-flex; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); }
.sm-view[hidden] { display: none; }
.sm-view button { font: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; padding: 7px 16px; border: 0; border-radius: 999px; background: transparent; color: var(--ink); cursor: pointer; }
.sm-view button[aria-pressed="true"] { background: var(--black); color: var(--white); }
.sm-view button:not([aria-pressed="true"]):hover { background: var(--paper); }
.sm-pane[hidden] { display: none; }
.sm-note { color: var(--ink-2); max-width: 760px; margin: 0 0 18px; }
.sm-tcount { margin-left: 6px; font-size: 13px; color: var(--muted); }
.sm-tree, .sm-tree ul { list-style: none; margin: 0; padding: 0; }
.sm-tree ul { margin-left: 14px; padding-left: 18px; border-left: 2px solid var(--line); }
.sm-tree li { position: relative; margin: 0; padding: 5px 0; line-height: 1.4; }
.sm-tree ul > li::before { content: ""; position: absolute; left: -18px; top: 17px; width: 12px; border-top: 2px solid var(--line); }
.sm-tree > li > a { font-weight: 700; font-size: 20px; }
.sm-tree > li > ul > li > a, .sm-tree > li > ul > li > .sm-nolink { font-weight: 700; font-size: 18px; color: var(--ink); }
.sm-tree > li > ul > li { padding-top: 10px; }
.sm-tree a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.sm-tree a:hover { text-decoration-color: var(--gold-text); }
.sm-path { margin-left: 8px; font-size: 13px; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.sm-nolink { color: var(--ink-2); }
.sm-tree details > summary { cursor: pointer; padding: 2px 0; }
.sm-tree details > ul { margin-top: 4px; }
@media (max-width: 600px) { .sm-tree ul { margin-left: 6px; padding-left: 12px; } .sm-tree ul > li::before { left: -12px; width: 8px; } .sm-path { display: block; margin-left: 0; } }

/* About page: license line under a licensed team member's contact details (Chuck, 2026-11-11) */
.m-contact .m-lic { flex-basis: 100%; font-size: 14px; color: var(--ink-2); }

/* Alamosa first (Chuck, 2026-11-11): while the site does not yet know which office to lead with (first page view only, 900ms at most)
   and until the order is set, the spots that can change keep their size but stay blank, so nobody sees them trade places.
   The class is put on by the small script in the page head and always comes off (extras.php, "Alamosa first, site wide"). */
html.area-wait .ti-cols, html.area-wait .ti-office-block, html.area-wait .pv-areas,
html.area-wait .eclipse-hero__where, html.area-wait .eclipse-hero__proof,
html.area-wait .pv-hh-solo .rc-lede, html.area-wait .pv-hh-solo .pv-rate, html.area-wait .pv-hh-solo .pv-hh-call span,
html.area-wait .eclipse-hero ~ .rc-main .rc-tile[href="/available-rentals/"] .rc-td, html.area-wait .eclipse-hero ~ .area-stats .rf-stat span,
html.area-wait main a[href^="/getting-started-in-"] { visibility: hidden; }

/* Review page callback offer (2026-11-11) */
.review-form .rv-callback { background: var(--paper, transparent); border-left: 3px solid var(--gold); padding: 10px 14px; }
.review-form .rv-callback small { display: block; margin-top: 4px; }
.ty-low { text-align: left; max-width: 620px; margin: 0 auto 28px; padding: 18px 20px; border: 1px solid var(--line-strong); border-left: 4px solid var(--gold); border-radius: 6px; }
.ty-low-ways { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.ty-low-ways .btn { margin: 0; }
.ty-low-sig { font-weight: 600; margin: 0; }

/* Site review idea 23 (2026-11-10): address suggestions on the owner tools */
.addr-list { position: absolute; left: 0; right: 0; z-index: 20; list-style: none; margin: 2px 0 0; padding: 4px 0; background: var(--white); border: 1px solid var(--line-strong); box-shadow: 0 8px 24px rgba(0, 0, 0, .14); }
.addr-list[hidden] { display: none; }
.addr-list li { padding: 10px 12px; font-size: 15px; line-height: 1.3; color: var(--ink); cursor: pointer; }
.addr-list li:hover, .addr-list li.on { background: var(--paper); }
.addr-list::after { content: "Suggestions by Google"; display: block; padding: 6px 12px 4px; font-size: 11px; color: var(--muted); text-align: right; }

/* Owner money pages (2026-11-10, competitor review ideas 34, 35, 36, 39 and "your first months"): /owners/how-the-money-moves/,
   /owners/your-first-months/, /owners/switching-managers/, /owners/read-before-you-sign/. Every class here starts with om-.
   Colors come from the site tokens. Brand rule: gold is a fill or an accent, never a chart series and never text on a light ground. */
.om-lead { font-size: 19px; max-width: 760px; }
.om-note { font-size: 14px; color: var(--ink-2); }
.om-eg { display: inline-block; margin-bottom: 10px; padding: 3px 10px; border-radius: 999px; border: 1px dashed var(--line-strong); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }

/* the month, left to right */
.om-cycle { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; counter-reset: om; }
.om-cycle li { position: relative; margin: 0; padding: 54px 14px 0 0; counter-increment: om; }
.om-cycle li::before { content: counter(om); position: absolute; top: 0; left: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--black); color: var(--gold); font: 700 15px/40px var(--display); text-align: center; z-index: 1; }
.om-cycle li::after { content: ""; position: absolute; top: 19px; left: 40px; right: 0; height: 3px; background: var(--line-strong); }
.om-cycle li:last-child::after { display: none; }
.om-cycle .om-when { display: block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 4px; }
.om-cycle strong { display: block; color: var(--ink); font-size: 17px; line-height: 1.25; margin-bottom: 6px; }
.om-cycle span.om-d { display: block; font-size: 15px; line-height: 1.5; }
.om-cycle li.om-pay::before { background: var(--gold); color: var(--black); }

/* a stacked bar: where the rent goes */
.om-bar { display: flex; width: 100%; height: 46px; border-radius: 8px; overflow: hidden; margin: 14px 0 12px; border: 1px solid var(--line); }
.om-bar > span { display: block; height: 100%; min-width: 2px; }
.om-key { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 24px; font-size: 15px; }
.om-key li { margin: 0; display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); padding: 5px 0; }
.om-key .sw { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 8px; vertical-align: -1px; }
.om-key b { color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.om-c1 { background: var(--series-1); } .om-c2 { background: var(--series-2); } .om-c3 { background: var(--series-3, #C74C3D); } .om-c4 { background: var(--series-4, #7E53BC); }
.om-c5 { background: var(--line-strong); }
.om-you { background: var(--black); }

/* numbered steps, top to bottom */
.om-steps { list-style: none; margin: 22px 0 0; padding: 0; counter-reset: oms; }
.om-steps > li { position: relative; margin: 0; padding: 0 0 26px 62px; counter-increment: oms; }
.om-steps > li::before { content: counter(oms); position: absolute; left: 0; top: 0; width: 42px; height: 42px; border-radius: 50%; background: var(--black); color: var(--gold); font: 700 15px/42px var(--display); text-align: center; }
.om-steps > li::after { content: ""; position: absolute; left: 20px; top: 46px; bottom: 4px; width: 3px; background: var(--line-strong); }
.om-steps > li:last-child::after { display: none; }
.om-steps h3 { margin: 6px 0 6px; font-size: 20px; }
.om-steps .om-when { display: block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-text); }
.om-steps ul { margin: 8px 0 0; }
.om-check { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 22px; }
.om-check li { margin: 0; padding-left: 26px; position: relative; font-size: 16px; }
.om-check li::before { content: ""; position: absolute; left: 0; top: 5px; width: 15px; height: 15px; border: 2px solid var(--ink); border-radius: 3px; }

/* fact cards */
.om-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 20px 0 0; }
.om-fact { background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 18px 20px; }
.om-fact .om-n { display: block; font: 700 26px/1.1 var(--font); color: var(--ink); font-variant-numeric: tabular-nums; margin-bottom: 4px; }
.om-fact .om-l { display: block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 8px; }
.om-fact p { font-size: 15px; margin: 0; }
.om-why { border-left: 4px solid var(--gold); background: var(--white); border-radius: 0 12px 12px 0; padding: 18px 22px; margin: 22px 0 0; }
.om-why h2, .om-why h3 { margin-top: 0; }
.om-why ul { margin-bottom: 0; }

/* first-months simulator */
.om-sim { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 28px; align-items: start; margin-top: 22px; }
.om-sim .f-field select { width: 100%; }
.om-sim-out { background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 22px 24px; }
.om-sim-lead { margin: 0; font-size: 16px; }
.om-sim-big { margin: 2px 0 14px; font: 700 34px/1.1 var(--font); color: var(--ink); font-variant-numeric: tabular-nums; }
.om-months { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: end; height: 250px; margin: 6px 0 4px; padding: 0; list-style: none; border-bottom: 2px solid var(--ink); }
.om-months li { margin: 0; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.om-months .om-col { display: flex; flex-direction: column-reverse; width: 100%; border-radius: 6px 6px 0 0; overflow: hidden; }
.om-months .om-col span { display: block; width: 100%; }
.om-mlab { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0 0 14px; padding: 0; text-align: center; font-size: 14px; }
.om-mlab li { margin: 0; }
.om-mlab b { display: block; color: var(--ink); font-variant-numeric: tabular-nums; font-size: 16px; }
.om-sim-out table { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 8px; }
.om-sim-out th, .om-sim-out td { padding: 6px 8px; border-bottom: 1px solid var(--line); text-align: right; font-variant-numeric: tabular-nums; }
.om-sim-out th:first-child, .om-sim-out td:first-child { text-align: left; }
.om-sim-out tr.om-tot td, .om-sim-out tr.om-tot th { font-weight: 700; color: var(--ink); border-top: 2px solid var(--ink); }

/* sample statement and document cards */
.om-stmt { background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 22px 24px; position: relative; overflow: hidden; }
.om-stmt::after { content: "SAMPLE"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-14deg); font: 700 40px/1 var(--display); letter-spacing: .12em; color: var(--line); pointer-events: none; }
.om-stmt table { width: 100%; border-collapse: collapse; font-size: 15px; position: relative; z-index: 1; }
.om-stmt th, .om-stmt td { padding: 8px 6px; border-bottom: 1px solid var(--line); text-align: right; font-variant-numeric: tabular-nums; }
.om-stmt th:first-child, .om-stmt td:first-child { text-align: left; }
.om-stmt tr.om-tot td, .om-stmt tr.om-tot th { font-weight: 700; color: var(--ink); border-top: 2px solid var(--ink); border-bottom: 0; }
.om-docs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.om-doc { background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 22px 24px; display: flex; flex-direction: column; }
.om-doc h3 { margin: 6px 0 8px; font-size: 20px; }
.om-doc p { font-size: 15px; flex: 1; }
.om-doc .btn, .om-doc .rc-tag { align-self: flex-start; }
.om-doc.om-soon { border-style: dashed; background: transparent; }
.om-no { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; text-align: left; }
.om-no li { margin: 0; padding: 14px 16px 14px 46px; position: relative; background: var(--white); border: 1px solid var(--line); border-radius: 10px; font-size: 16px; }
.om-no li::before { content: ""; position: absolute; left: 16px; top: 18px; width: 18px; height: 3px; background: var(--ink); border-radius: 2px; }
.om-no b { color: var(--ink); }

@media (max-width: 820px) {
  .om-cycle { grid-template-columns: 1fr; }
  .om-cycle li { padding: 0 0 22px 58px; }
  .om-cycle li::after { top: 44px; left: 19px; right: auto; bottom: 2px; width: 3px; height: auto; }
  .om-facts, .om-docs, .om-key, .om-check, .om-no { grid-template-columns: 1fr; }
  .om-sim { grid-template-columns: 1fr; }
  .om-months { height: 200px; gap: 8px; } .om-mlab { gap: 8px; font-size: 13px; } .om-mlab b { font-size: 14px; }
  .om-sim-out { padding: 18px 16px; } .om-sim-out table { font-size: 13px; } .om-sim-out th, .om-sim-out td { padding: 5px 3px; }
}
@media print {
  .om-sim-out, .om-stmt, .om-fact, .om-doc, .om-no li { break-inside: avoid; }
  .om-bar > span, .om-months .om-col span, .om-key .sw, .om-cycle li::before, .om-steps > li::before { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Owner calculators (2026-11-10): Rent Increase and Rental Return. Source: lean/theme/site-extras-calcs.css; build_lean.py adds it to the
   end of assets/site.css. Layout reuses the vacancy calculator's classes (.vc-result, .vc-pie, .vc-chart, .vc-legend, .vc-table, .vc-print-*);
   everything new is prefixed rx-. Series colors: --series-1 and --series-2 from the brand tokens, plus the other two brand.py SERIES_LIGHT
   colors below. Gold is never a series; it marks only the payback point. Cost slices that are not a series use the warm neutral ramp. */
.rx-sec { --rx-s3: #C74C3D; --rx-s4: #7E53BC; --rx-n1: #393632; --rx-n2: #55524E; --rx-n3: #77746F; --rx-n4: #A8A49F; }

/* form */
.rx-form .rx-help { margin: -4px 0 14px; }
.rx-form .rx-help small { color: var(--muted); font-size: 13px; }
@media (max-width: 600px) { .rx-form input { min-height: 46px; } .rx-sec .vc-table summary { padding: 11px 0; } }

/* the result card and the small figure under it stick as one block, so nothing in that column slides under the card (2026-11-10).
   site-extras-calcs.js adds rx-stick-on only on wide screens and only while the whole block fits on the screen. */
@media (min-width: 900px) { .rx-stick.rx-stick-on { position: sticky; top: 110px; } }

/* result card */
.vc-result .rx-sub { color: var(--ink-dark-2); margin: -10px 0 16px; }
/* rent increase: the gain and the risk side by side, at equal weight */
.rx-sides { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px 18px; margin: 0 0 14px; }
.rx-side { border-top: 3px solid rgba(255, 255, 255, .35); padding-top: 10px; min-width: 0; }
.rx-side p { margin: 0; }
.rx-side .rx-side-k { color: var(--ink-dark-2); font-size: 15px; }
.rx-side .rx-side-v { font: 700 30px/1.2 var(--display); letter-spacing: .04em; color: var(--gold); margin: 4px 0 6px; overflow-wrap: anywhere; }
.rx-side .rx-side-s { color: var(--ink-dark-2); font-size: 14px; line-height: 1.45; }
.vc-result .rx-compare { color: var(--white); font-weight: 600; margin: 0 0 16px; }
.vc-result.empty .rx-side-v { color: var(--ink-dark-2); }
/* rental return: the long-run total, peeking from the one-year card */
.rx-peek { margin: 0 0 16px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .18); }
.rx-peek .vc-lead { margin: 0 0 2px; }
.rx-peek .rx-peek-v { font: 700 24px/1.2 var(--display); letter-spacing: .04em; color: var(--gold); margin: 0; }
.rx-peek .rx-peek-a { margin: 0; }
.rx-peek .rx-peek-a a { display: inline-flex; align-items: center; min-height: 44px; color: var(--white); text-decoration: underline; text-underline-offset: 3px; }
.vc-result .rx-be { margin-top: 10px; }
.vc-result.rx-neg .vc-big { color: var(--white); }
.vc-result.rx-neg .rx-sub { color: var(--white); font-weight: 600; padding-left: 10px; border-left: 3px solid #DB5C6C; }  /* brand.py SERIES_DARK red, on Eclipse Black */
.vc-result dl.rx-terms { display: block; }
.rx-terms > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; padding: 0 0 10px; }
.rx-terms > div + div { padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .1); }
.rx-terms > div[hidden] { display: none; }
.rx-terms .rx-v { margin: 0; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.rx-terms .rx-def { grid-column: 1 / -1; margin: 0; font-size: 14px; line-height: 1.45; color: var(--ink-dark-2); font-weight: 400; text-align: left; }
.sec:not(.photo):not(.light) .rx-result .btn.outline { color: var(--white); border-color: var(--white); background: transparent; }
.sec:not(.photo):not(.light) .rx-result .btn.outline:hover { background: var(--white); color: var(--black); }

/* swatches and series */
.rx-sw-up, .rx-c-up { background: var(--series-2); }
.rx-sw-turn { background: transparent; border-top: 2px dashed var(--rx-s3); height: 0 !important; }
.vc-legend .rx-sw-box, .rx-dlegend .rx-sw-box { width: 12px; height: 12px; border-radius: 2px; vertical-align: -1px; }
.rx-c-lost { background: var(--series-1); }
.rx-c-cost { background: var(--rx-s4); }
.rx-ring-up { fill: none; stroke-width: 22; stroke: var(--series-2); }
.rx-b-up { fill: var(--series-2); }
.rx-b-lost { fill: var(--series-1); }
.rx-b-cost { fill: var(--rx-s4); }
.rx-bval { fill: var(--ink); font: 700 14px var(--font); font-variant-numeric: tabular-nums; }
.rx-mark { stroke: var(--ink); stroke-width: 1.5; stroke-dasharray: 4 3; }
.rx-cum { fill: none; stroke: var(--series-2); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.rx-cum-dot { fill: var(--series-2); stroke: var(--white); stroke-width: 1.5; }
.rx-cum-hover { fill: var(--series-2); stroke: var(--white); stroke-width: 2; }
.rx-halo { paint-order: stroke; stroke: var(--white); stroke-width: 4px; stroke-linejoin: round; }
.rx-turn { stroke: var(--rx-s3); stroke-width: 2; stroke-dasharray: 6 4; }

/* charts under the calculator */
.rx-figs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 26px; margin: 30px 0 0; }
.rx-figs .vc-chart { margin: 0; min-width: 0; }
.rx-fig[hidden] { display: none; }
.rx-figs .vc-chart h3 { font-size: 20px; }
.rx-plot svg { display: block; width: 100%; height: auto; overflow: visible; touch-action: pan-y; }
.rx-gauge-svg { flex: 0 0 180px; }
.rx-gauge-svg svg { display: block; }
.rx-g-track, .rx-g-fill { fill: none; stroke-width: 18; }
.rx-g-track { stroke: var(--line-2); }
.rx-g-fill { stroke: var(--series-2); }
.rx-fine { margin: 10px 0 0; }
.rx-fine small { color: var(--muted); font-size: 13px; }

/* donut: where each rent dollar goes */
.rx-donut-row { display: flex; gap: 20px; align-items: center; margin: 4px 0 0; }
.rx-donut-svg { flex: 0 0 170px; }
.rx-donut-svg svg { display: block; }
.rx-slice { fill: none; stroke-width: 22; }
.rx-c-vac { background: var(--rx-s3); stroke: var(--rx-s3); fill: var(--rx-s3); }
.rx-c-mgmt { background: var(--series-1); stroke: var(--series-1); fill: var(--series-1); }
.rx-c-tax { background: var(--rx-n1); stroke: var(--rx-n1); fill: var(--rx-n1); }
.rx-c-ins { background: var(--rx-n2); stroke: var(--rx-n2); fill: var(--rx-n2); }
.rx-c-rep { background: var(--rx-n3); stroke: var(--rx-n3); fill: var(--rx-n3); }
.rx-c-hoa { background: var(--rx-n4); stroke: var(--rx-n4); fill: var(--rx-n4); }
.rx-c-mort { background: var(--rx-s4); stroke: var(--rx-s4); fill: var(--rx-s4); }
.rx-c-left { background: var(--series-2); stroke: var(--series-2); fill: var(--series-2); }
.rx-c-total { fill: var(--ink); }
.rx-c-neg { fill: var(--alert); }
.rx-slice.rx-c-vac, .rx-slice.rx-c-mgmt, .rx-slice.rx-c-tax, .rx-slice.rx-c-ins, .rx-slice.rx-c-rep, .rx-slice.rx-c-hoa, .rx-slice.rx-c-mort, .rx-slice.rx-c-left { fill: none; }
.rx-d-big { fill: var(--ink); font: 700 26px var(--font); font-variant-numeric: tabular-nums; }
.rx-d-small { fill: var(--muted); font: 400 11px var(--font); }
.rx-dlegend { list-style: none; margin: 0; padding: 0; flex: 1; min-width: 0; font-size: 14px; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.rx-dlegend li { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 0 4px; padding: 3px 0; border-bottom: 1px solid var(--line-2); margin: 0; }
.rx-dlegend strong { color: var(--ink); font-weight: 600; text-align: right; white-space: nowrap; }
.rx-dlegend .rx-short { border-bottom: 0; border-top: 2px solid var(--alert); margin-top: 2px; }
.rx-dlegend .rx-short span, .rx-dlegend .rx-short strong { color: var(--alert); font-weight: 600; }
.rx-sw-none { background: transparent; border: 2px solid var(--alert); }

/* waterfall */
.rx-wf-l { fill: var(--ink-2); font: 400 13px var(--font); }
.rx-wf-v { fill: var(--ink-2); font: 600 13px var(--font); font-variant-numeric: tabular-nums; }
.rx-zero { stroke: var(--line-strong); stroke-width: 1; }

/* the long run: four ways a rental makes money (names as on /owners/learn/how-rentals-make-money/). Series colors only, never gold. */
.rx-k-cf { background: var(--series-2); fill: var(--series-2); }
.rx-k-tax { background: var(--rx-s4); fill: var(--rx-s4); }
.rx-k-appr { background: var(--series-1); fill: var(--series-1); }
.rx-k-pay { background: var(--rx-s3); fill: var(--rx-s3); }
.rx-long { margin: 44px 0 0; scroll-margin-top: 120px; }
.rx-long > h2 { margin-bottom: .4em; }
.rx-long-card { margin: 18px 0 0; }
.rx-long-card .vc-big { margin-bottom: 6px; }
.rx-long-card .rx-sub { margin: 0 0 18px; color: var(--white); }
.rx-long-card.rx-neg .vc-big { color: var(--white); }
.rx-long-card.rx-neg .rx-sub { font-weight: 600; padding-left: 10px; border-left: 3px solid #DB5C6C; }  /* brand.py SERIES_DARK red, on Eclipse Black */
.rx-buckets { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 26px; font-variant-numeric: tabular-nums; }
.rx-buckets li { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 2px 6px; padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, .18); margin: 0; align-content: start; }
.rx-buckets .rx-sw-box { width: 12px; height: 12px; border-radius: 2px; }
.rx-buckets .rx-bk-name { font-weight: 600; color: var(--white); }
.rx-buckets strong { grid-column: 2; font-size: 22px; font-weight: 700; color: var(--white); white-space: nowrap; }
.rx-buckets .rx-bk-desc { grid-column: 2; margin: 0; font-size: 14px; line-height: 1.45; color: var(--ink-dark-2); }
.rx-buckets .rx-bk-neg strong, .rx-buckets .rx-bk-neg .rx-bk-name { color: #F2A3AD; }  /* light red on Eclipse Black; the number also carries a minus sign */
.rx-long-card .rx-noloan:empty { display: none; }
.rx-long-card .rx-noloan, .rx-long-card .rx-taxnote, .rx-long-card .rx-longnote { color: var(--ink-dark-2); font-size: 14px; line-height: 1.5; margin: 0 0 10px; }
.rx-long-card .rx-taxnote { padding: 10px 12px; border-left: 3px solid var(--rx-s4); background: rgba(255, 255, 255, .06); color: var(--white); }
.rx-long-card .rx-longnote { margin: 0; }
.rx-long-card.empty .rx-buckets, .rx-long-card.empty .rx-taxnote { display: none; }
.rx-long .rx-figs { margin-top: 26px; }

/* law and "leaves out" cards reuse .vc-why-item */
.rx-cite { margin-top: 6px !important; }
.rx-cite small { color: var(--muted); font-size: 13px; }

@media (max-width: 900px) { .rx-figs { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .rx-donut-row { flex-direction: column; align-items: stretch; }
  .rx-donut-svg { align-self: center; }
  .rx-sec .vc-pie-row { align-items: stretch; }
  .rx-gauge-svg { align-self: center; }
  .rx-figs .vc-chart { padding: 18px 14px; }
  .rx-sec .vc-table table { font-size: 13px; }
  .rx-sec .vc-table th, .rx-sec .vc-table td { padding: 7px 4px; }
  .rx-side .rx-side-v { font-size: 26px; }
  .rx-long-card .vc-big { font-size: 26px; }
}

/* printout: a named page like the vacancy and cost calculators. Form, intro, buttons and the site links do not print. */
@media print {
  body:has(.rx-calc) { page: rxtool; }
  @page rxtool {
    size: letter; margin: .45in .6in .6in;
    @bottom-left { content: "Eclipse Property Management \00B7  RentEclipse.com"; font: 7pt "Work Sans", sans-serif; color: #77746F; }
    @bottom-right { content: counter(page); font: 7pt "Work Sans", sans-serif; color: #77746F; }
  }
  body:has(.rx-calc) #main > .sec:not(.rx-sec):not(.rx-how):not(.rx-law), body:has(.rx-calc) .rx-intro, body:has(.rx-calc) .rx-calc > .col:first-child,
  body:has(.rx-calc) .vc-btns, body:has(.rx-calc) .vc-table, body:has(.rx-calc) .vc-tip, body:has(.rx-calc) #to-top, body:has(.rx-calc) .vc-disclaimer, body:has(.rx-calc) .vc-ask { display: none !important; }
  body:has(.rx-calc) .sec { padding: 0 0 6pt !important; background: #fff !important; }
  body:has(.rx-calc) .wrap { max-width: none; padding: 0; }
  body:has(.rx-calc) #main p, body:has(.rx-calc) #main li, body:has(.rx-calc) #main dt, body:has(.rx-calc) #main dd { font-size: 9.5pt; line-height: 1.4; }
  body:has(.rx-calc) #main h2 { font-size: 15pt; margin: 0 0 6pt; }
  body:has(.rx-calc) #main h3 { font-size: 11.5pt; }
  body:has(.rx-calc) .rx-calc { display: block; margin: 0 !important; }
  body:has(.rx-calc) .rx-calc > .col { display: grid; grid-template-columns: 1.35fr 1fr; gap: 12pt; align-items: start; width: 100% !important; max-width: none !important; padding: 0 !important; }
  body:has(.rx-calc) .rx-calc > .col > * { min-width: 0; box-sizing: border-box; }
  .cc-sticky { position: static; }
  body:has(.rx-calc) .rx-stick { display: contents; }   /* the card and its figure stay two cells of the print grid */
  .rx-result .vc-drop-text, .rx-result .rx-sub { color: var(--ink) !important; }
  .rx-side { border-color: #D4D0CB !important; }
  .rx-side .rx-side-k, .rx-side .rx-side-s, .vc-result .rx-compare, .rx-peek .vc-lead, .rx-peek .rx-peek-a a { color: var(--ink) !important; }
  .rx-side .rx-side-v, .rx-peek .rx-peek-v { color: var(--ink) !important; font-size: 18pt !important; }
  .rx-peek, .rx-buckets li { border-color: #D4D0CB !important; }
  .rx-peek .rx-peek-a { display: none; }
  .rx-long { margin-top: 10pt; break-before: page; }
  .rx-long > p { font-size: 9.5pt; }
  .rx-buckets .rx-bk-name, .rx-buckets strong, .rx-long-card .rx-taxnote, .rx-long-card.rx-neg .vc-big { color: var(--ink) !important; }
  .rx-buckets .rx-bk-desc, .rx-long-card .rx-noloan, .rx-long-card .rx-longnote { color: var(--ink-2) !important; font-size: 8pt !important; }
  .rx-long-card .rx-taxnote { background: none !important; font-size: 8pt !important; }
  .rx-buckets li { padding: 5pt 0; }
  .rx-buckets .rx-sw-box, .rx-wf-b { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rx-terms .rx-def { color: var(--ink-2) !important; font-size: 8pt !important; }
  .rx-terms > div + div { border-color: #D4D0CB !important; }
  .rx-terms > div { padding-bottom: 4pt; }
  .rx-terms > div + div { padding-top: 4pt; }
  .vc-result.rx-neg .vc-big { color: var(--ink) !important; }
  .rx-figs { grid-template-columns: 1fr 1fr; gap: 10pt; margin-top: 10pt; }
  .rx-figs .vc-chart { padding: 10pt 12pt; }
  .rx-fig, .rx-donut-row, .rx-figs .vc-chart, .rx-slice, .rx-dlegend .rx-sw-box, .vc-legend .sw { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rx-donut-row { flex-direction: column; align-items: flex-start; gap: 6pt; }
  .rx-donut-svg, .rx-donut-svg svg { width: 1.3in; height: 1.3in; flex: none; }
  .rx-gauge-svg, .rx-gauge-svg svg { width: 1.5in; height: auto; flex: none; }
  .rx-dlegend { font-size: 8.5pt; width: 100%; }
  .rx-cum-hover, .vc-hair { display: none; }
  .vc-why-list { grid-template-columns: repeat(3, 1fr); gap: 8pt; margin: 6pt 0 8pt; }
  .vc-why-item { padding: 8pt 10pt; break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .vc-why-item p { margin: 0 0 4pt !important; font-size: 9pt !important; line-height: 1.4 !important; }
  .vc-why-item h3 { margin: 0 0 4pt !important; font-size: 10.5pt !important; }
  body:has(.rx-calc) .rx-law { break-before: auto; }
  body:has(.rx-calc) .rx-how h2 { font-size: 11pt; margin: 8pt 0 3pt; }
  body:has(.rx-calc) .rx-how li { font-size: 8.5pt !important; line-height: 1.35 !important; margin: 0 0 2pt; }
  body:has(.rx-calc) .vc-print-cta { font-weight: 700; font-size: 12pt; margin: 0 0 3pt; }
  body:has(.rx-calc) .vc-print-note { display: block; font-size: 8pt !important; color: var(--muted); margin: 6pt 0 0; }
  .vc-qr[hidden] { display: none; }
}
