/* Birchwood Estates Realty: main stylesheet (v1.0.0)
   Order: tokens, base, buttons, top bar + header, hero, ribbon, sections, tiles, rent finder,
   stats, community page, forms, footer, viewer, motion, small screens. */

/* ── TOKENS (email colours in inc/emails.php follow these) ── */
:root {
  --bg: #170B0E;
  --bg-alt: #1F0F13;
  --bg-deep: #110709;
  --surface: #26141A;
  --raised: #331C23;
  --line: #4D2C35;
  --line-soft: #9C7F85;
  --burgundy: #7A1128;
  --burgundy-bright: #B8324C;
  --burgundy-deep: #5A0C1D;
  --ink: #F5EEEC;
  --ink-2: #D9CACB;
  --muted: #BBA7AA;
  --rose: #E9A3AF;
  --brass: #E6B873;
  --paper: #FFFFFF;
  --paper-ink: #1F1A17;
  --display: 'Josefin Sans', 'Century Gothic', Futura, system-ui, sans-serif;
  --body: 'Quicksand', 'Nunito', 'Segoe UI', system-ui, sans-serif;
  --radius: 6px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

/* ── BASE ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--body); font-weight: 500; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--rose); }
a:hover { color: #FFD3DA; }
h1, h2, h3 { font-family: var(--display); font-weight: 700; margin: 0; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--brass); outline-offset: 2px; }
.bw-wrap { max-width: 1220px; margin: 0 auto; padding: 0 24px; }
.bw-narrow { max-width: 860px; }
.bw-muted { color: var(--muted); font-size: 14px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bw-skip { position: absolute; left: -999px; top: 0; background: var(--paper); color: var(--paper-ink); padding: 12px 18px; z-index: 100; font-weight: 700; }
.bw-skip:focus { left: 8px; top: 8px; }

/* ── BUTTONS ── */
.bw-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border-radius: 7px; border: 1px solid transparent; font: inherit; font-weight: 700; text-decoration: none; text-align: center; cursor: pointer; transition: transform .2s, background .2s, border-color .2s; }
.bw-btn:hover { transform: translateY(-2px); }
.bw-btn-primary { background: var(--burgundy); border-color: var(--burgundy-bright); color: #fff; }
.bw-btn-primary:hover { background: #8E1730; color: #fff; }
.bw-btn-light { background: #fff; color: var(--burgundy); }
.bw-btn-light:hover { color: var(--burgundy-deep); }
.bw-btn-outline { border: 2px solid #fff; color: #fff; }
.bw-btn-outline:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.bw-btn-ghost { background: var(--raised); border-color: var(--line); color: var(--ink); }
.bw-btn-ghost:hover { border-color: var(--muted); color: var(--ink); }
.bw-btn-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

/* ── TOP BAR + HEADER ── */
.bw-utility { background: var(--burgundy-deep); color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.bw-utility-inner { display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: space-between; align-items: center; padding-top: 9px; padding-bottom: 9px; }
.bw-utility a { color: #fff; }
.bw-utility-links { display: flex; gap: 20px; }
.bw-utility-phone { font-weight: 700; text-decoration: none; }
.bw-header { background: var(--paper); border-bottom: 1px solid #D9D4CE; position: sticky; top: 0; z-index: 50; }
.bw-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 14px 28px; padding-top: 10px; padding-bottom: 10px; }
.bw-brand { display: flex; align-items: center; gap: 14px; text-decoration: none; color: #4A443F; }
.bw-brand img { height: 60px; width: auto; }
.bw-brand span { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; padding-top: 3px; }
.bw-nav { display: flex; align-items: center; gap: 8px 26px; font-size: 15px; font-weight: 700; }
.bw-nav > a:not(.bw-btn), .bw-nav-item > a { color: var(--paper-ink); text-decoration: none; padding: 12px 0; display: inline-block; }
.bw-nav > a:not(.bw-btn):hover, .bw-nav-item > a:hover { color: var(--burgundy); }
.bw-nav-item { position: relative; }
.bw-submenu { list-style: none; margin: 0; padding: 8px 0; position: absolute; left: -16px; top: 100%; min-width: 230px; background: var(--paper); border: 1px solid #D9D4CE; border-radius: var(--radius); box-shadow: 0 14px 30px rgba(0, 0, 0, .18); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s; }
.bw-nav-item:hover .bw-submenu, .bw-nav-item:focus-within .bw-submenu { opacity: 1; visibility: visible; transform: none; }
.bw-submenu a { display: block; padding: 10px 18px; color: var(--paper-ink); text-decoration: none; }
.bw-submenu a:hover { background: #F5EFF0; color: var(--burgundy); }
.bw-menu-toggle { display: none; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; background: none; border: 1px solid #B9B2AA; border-radius: 7px; font: inherit; font-weight: 700; color: var(--paper-ink); cursor: pointer; }
.bw-menu-bars, .bw-menu-bars::before, .bw-menu-bars::after { display: block; width: 18px; height: 2px; background: currentColor; content: ''; position: relative; }
.bw-menu-bars::before { position: absolute; top: -6px; }
.bw-menu-bars::after { position: absolute; top: 6px; }

/* ── HERO ── */
.bw-hero { background: var(--bg-deep); }
.bw-hero-photo { overflow: hidden; }
.bw-hero-photo img { width: 100%; height: 540px; object-fit: cover; animation: bw-zoom 2.4s var(--ease) both; }
.bw-hero-inner .bw-hero-photo img { height: 460px; }
.bw-hero-panel-wrap { max-width: 1100px; margin: -140px auto 0; padding: 0 24px; position: relative; }
.bw-hero-panel { background: var(--burgundy); color: #fff; padding: 44px 48px; border-radius: var(--radius); display: flex; flex-wrap: wrap; gap: 28px 48px; align-items: flex-end; justify-content: space-between; }
.bw-hero-panel-stack { display: block; }
.bw-hero-copy { flex: 1 1 520px; min-width: 0; }
.bw-hero .bw-kicker { color: #F5D9DE; }
.bw-hero h1 { font-size: clamp(30px, 4.2vw, 54px); line-height: 1.1; letter-spacing: .07em; text-transform: uppercase; }
.bw-hero-lede { margin: 16px 0 0; font-size: 18px; max-width: 580px; color: #FBEFF1; }
.bw-hero-actions { display: flex; flex-direction: column; gap: 12px; flex: 0 1 250px; }
.bw-crumbs { font-size: 13px; margin-bottom: 12px; }
.bw-crumbs a { color: #fff; }
.bw-hero-facts { margin: 26px 0 0; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .3); display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px 24px; }
.bw-hero-facts dt { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.bw-hero-facts dd { margin: 0; font-family: var(--display); font-size: 26px; font-weight: 700; }
.bw-hero-facts dd small { font-family: var(--body); font-size: 14px; font-weight: 500; }
.bw-hero-facts .bw-fact-text { font-family: var(--body); font-size: 16px; font-weight: 600; padding-top: 6px; }
.bw-skyline { display: block; width: 100%; height: auto; margin-top: 28px; stroke: var(--line-soft); }
.bw-lamps { fill: var(--brass); }
.bw-skyline .dl { stroke-dasharray: 1; animation: bw-draw 2.2s cubic-bezier(.4, 0, .2, 1) .4s both; }
.bw-skyline .lamp { animation: bw-lamp 1.4s ease-out 2.3s both; }
.bw-hero-inner { padding-bottom: 36px; }

/* ── PHOTO RIBBON ── */
.bw-ribbon { overflow: hidden; background: var(--bg-deep); padding: 12px 0; border-top: 1px solid var(--line); }
.bw-ribbon-track { display: flex; width: max-content; animation: bw-slide 90s linear infinite; }
.bw-ribbon:hover .bw-ribbon-track { animation-play-state: paused; }
.bw-ribbon img { width: 320px; height: 200px; object-fit: cover; margin-right: 12px; border-radius: 4px; max-width: none; }

/* ── SECTIONS ── */
.bw-section { padding: 80px 0; }
.bw-section-alt { background: var(--bg-alt); }
.bw-page-top { padding-top: 64px; min-height: 60vh; }
.bw-kicker { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--rose); margin: 0 0 8px; }
.bw-h1 { font-size: clamp(30px, 4vw, 48px); letter-spacing: .05em; text-transform: uppercase; line-height: 1.12; margin-bottom: 20px; }
.bw-h1 a { color: inherit; text-decoration: none; }
.bw-h2 { font-size: clamp(24px, 2.8vw, 36px); letter-spacing: .06em; text-transform: uppercase; line-height: 1.2; margin-bottom: 28px; }
.bw-h2-lg { font-size: clamp(26px, 3.2vw, 40px); margin-bottom: 14px; }
.bw-sub { color: var(--ink-2); margin: -16px 0 24px; }
.bw-h2-lg + .bw-sub { margin-top: 0; }
.bw-split { display: flex; flex-wrap: wrap; gap: 36px 56px; align-items: center; }
.bw-split-top { align-items: flex-start; }
.bw-split > * { flex: 1 1 380px; min-width: 0; }
.bw-split-photo { overflow: hidden; border-radius: var(--radius); }
.bw-split-photo img { width: 100%; height: 340px; object-fit: cover; }
.bw-prose { color: var(--ink-2); font-size: 17px; }
.bw-prose a { font-weight: 700; }
.bw-prose h2, .bw-prose h3 { color: var(--ink); margin: 1.4em 0 .5em; }
.bw-big-phone { font-family: var(--display); font-size: 28px; font-weight: 700; text-decoration: none; display: inline-block; margin-bottom: 8px; }
.bw-price { font-weight: 700; color: var(--brass); }
.bw-price small { font-weight: 500; color: var(--muted); }

/* ── COMMUNITY TILES ── */
.bw-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 26px; }
.bw-tile { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; transition: transform .35s var(--ease), border-color .35s; }
.bw-tile:hover { transform: translateY(-6px); border-color: var(--burgundy-bright); }
.bw-tile-photo { display: block; overflow: hidden; }
.bw-tile-media { position: relative; }
.bw-tile-video { position: absolute; left: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; background: rgba(17, 7, 9, .82); border: 1px solid var(--brass); color: var(--brass); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; backdrop-filter: blur(4px); }
.bw-tile-video:hover { background: var(--brass); color: #1A0B0F; }
.bw-header-call { display: none; }
.bw-nav > a.bw-nav-portal { display: none; }
.bw-showcase-nav[hidden] { display: none; }
.bw-tile-photo img { width: 100%; height: 230px; object-fit: cover; object-position: 50% 100%; transition: transform .6s var(--ease); } /* v1.8.0: bottom-anchored so a "Virtually Enhanced" label in the corner stays visible */
.bw-tile:hover .bw-tile-photo img { transform: scale(1.06); }
.bw-tile-body { padding: 24px; display: flex; flex-direction: column; gap: 10px; flex-grow: 1; }
.bw-tile-body p { margin: 0; font-size: 15px; color: var(--ink-2); }
.bw-tile-type, .bw-tile-body p.bw-tile-type { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.bw-tile h3 { font-size: 24px; letter-spacing: .04em; }
.bw-tile h3 a { color: var(--ink); text-decoration: none; }
.bw-tile-foot { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 12px; }
.bw-tile-foot a { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 12px 0; }
.bw-tile-cta { background: var(--burgundy); border-color: var(--burgundy); color: #fff; padding: 32px; gap: 14px; justify-content: center; }
.bw-tile-cta:hover { transform: none; border-color: var(--burgundy); }
.bw-tile-cta h3 { font-size: 26px; line-height: 1.2; }
.bw-tile-cta p { margin: 0; color: #FBEFF1; }
.bw-tile-phone { color: #fff; font-weight: 700; font-size: 18px; text-align: center; padding: 8px 0; }
.bw-tiles-small { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; }
.bw-tile-link { text-decoration: none; color: var(--ink); }
.bw-tile-link .bw-tile-photo img { height: 170px; }
.bw-tile-link .bw-tile-body { padding: 18px; gap: 4px; }
.bw-tile-link strong { font-family: var(--display); font-size: 19px; letter-spacing: .05em; }

/* ── RENT FINDER ── */
.bw-finder-head { display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; }
.bw-finder-head .bw-h2 { margin-bottom: 6px; }
.bw-finder-head .bw-sub { margin: 0; }
.bw-filters { display: flex; flex-direction: column; gap: 10px; }
.bw-filters > div { display: flex; flex-wrap: wrap; gap: 8px; }
.bw-chip { font: inherit; font-size: 14px; font-weight: 600; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--line); background: var(--raised); color: var(--ink); cursor: pointer; transition: background .2s, border-color .2s, transform .2s; }
.bw-chip:hover { border-color: var(--muted); transform: translateY(-1px); }
.bw-chip.on { background: var(--burgundy); border-color: var(--burgundy-bright); color: #fff; }
.bw-finder { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }
.bw-finder-list { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.bw-row { font: inherit; width: 100%; text-align: left; display: grid; grid-template-columns: 1.5fr 1fr auto; gap: 4px 16px; align-items: center; padding: 16px 18px; background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius); cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.bw-row:hover { border-color: var(--muted); transform: translateX(4px); }
.bw-row.on { background: #4A1424; border-color: var(--burgundy-bright); }
.bw-row[hidden] { display: none; }
.bw-row-name { display: flex; flex-direction: column; }
.bw-row-name strong { font-family: var(--display); font-size: 17px; letter-spacing: .06em; padding-top: 3px; }
.bw-row-name span { font-size: 14px; color: var(--muted); }
.bw-row-spec { font-size: 14px; color: var(--ink-2); }
.bw-row-size { display: block; white-space: nowrap; } /* v1.19.0 */
.bw-row-rent { font-family: var(--display); font-weight: 700; font-size: 22px; color: var(--brass); padding-top: 4px; }
.bw-finder-none { padding: 22px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); margin: 0; }
.bw-finder-count { margin: 6px 0 0; font-size: 14px; color: var(--muted); }
.bw-panel { flex: 1.6 1 520px; min-width: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; min-height: 420px; }
.bw-panel-pad { padding: 24px 26px; }
.bw-panel-inner.bw-anim { animation: bw-rise .45s var(--ease) both; }
.bw-panel-head { padding: 24px 26px 0; display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; align-items: flex-end; }
.bw-panel-head p { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--rose); }
.bw-panel-head h3 { font-size: clamp(26px, 3vw, 36px); letter-spacing: .06em; color: #fff; }
.bw-panel-rent { font-family: var(--display); font-weight: 700; font-size: 30px; color: var(--brass); }
.bw-panel-rent small { font-family: var(--body); font-size: 14px; font-weight: 500; color: var(--muted); }
.bw-panel-blurb { margin: 10px 26px 0; color: var(--ink-2); }
.bw-tags { margin: 16px 26px 0; display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.bw-tags li { background: var(--raised); color: var(--ink-2); font-size: 13px; padding: 5px 12px; border-radius: 999px; }
.bw-tabs { margin: 18px 26px 0; display: flex; gap: 28px; border-bottom: 1px solid var(--line); }
.bw-tab { font: inherit; font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; min-height: 44px; padding: 4px 2px 0; background: none; border: 0; border-bottom: 3px solid transparent; color: var(--muted); cursor: pointer; transition: color .2s, border-color .2s; }
.bw-tab.on { color: #fff; border-bottom-color: var(--brass); }
.bw-media { padding: 20px 26px 0; }
.bw-media-main { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: 4px; overflow: hidden; }
.bw-media-main img { width: 100%; height: 400px; object-fit: cover; }
.bw-media-main.plan { background: #fff; padding: 10px; }
.bw-media-main.plan img { object-fit: contain; }
.bw-thumbs { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; }
.bw-thumb { padding: 0; border: 2px solid transparent; border-radius: 4px; background: none; cursor: pointer; opacity: .6; transition: opacity .2s, border-color .2s; }
.bw-thumb:hover { opacity: 1; }
.bw-thumb.on { opacity: 1; border-color: var(--brass); }
.bw-thumb img { width: 84px; height: 58px; object-fit: cover; border-radius: 2px; }
.bw-pthumb { font: inherit; font-size: 12px; font-weight: 600; color: var(--ink-2); padding: 6px; border: 2px solid var(--line); border-radius: 4px; background: var(--bg); cursor: pointer; display: flex; flex-direction: column; gap: 4px; align-items: center; transition: border-color .2s; }
.bw-pthumb:hover { border-color: var(--muted); }
.bw-pthumb.on { border-color: var(--brass); color: #fff; }
.bw-pthumb img { width: 76px; height: 50px; object-fit: contain; background: #fff; border-radius: 2px; }
.bw-caption { margin: 8px 0 0; font-size: 13px; color: var(--muted); }
.bw-noplans { margin: 20px 26px 0; padding: 40px 24px; border: 1px dashed var(--line-soft); border-radius: 4px; text-align: center; color: var(--ink-2); }
.bw-panel-actions { padding: 22px 26px 26px; display: flex; flex-wrap: wrap; gap: 10px; }

/* ── STATS ── */
.bw-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; }
.bw-stat { background: var(--surface); border-radius: var(--radius); padding: 24px; }
.bw-stat-n { font-family: var(--display); font-weight: 700; font-size: 34px; color: var(--brass); }
.bw-stat-t { font-weight: 700; }
.bw-stat p { margin: 0; font-size: 14px; color: var(--ink-2); }
.bw-mini-stats { display: flex; flex-wrap: wrap; gap: 12px; }
.bw-mini-stats div { background: var(--surface); border-radius: var(--radius); padding: 16px 20px; }
.bw-mini-stats strong { display: block; font-family: var(--display); font-size: 26px; color: #fff; }
.bw-mini-stats span { font-size: 13px; color: var(--muted); }

/* ── COMMUNITY PAGE ── */
.bw-pagenav { border-bottom: 1px solid var(--line); background: var(--bg-deep); }
.bw-pagenav .bw-wrap { display: flex; flex-wrap: wrap; gap: 0 30px; }
.bw-pagenav a { color: var(--ink); text-decoration: none; padding: 16px 0; font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.bw-pagenav a:hover { color: var(--rose); }
.bw-rentcard { background: var(--surface); border: 1px solid var(--burgundy-bright); border-radius: var(--radius); padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.bw-rentcard-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.bw-rentcard-row strong { display: block; }
.bw-rentcard-row span { font-size: 14px; color: var(--muted); }
.bw-rentcard-row .bw-price { font-family: var(--display); font-size: 26px; white-space: nowrap; }
.bw-rentcard .bw-muted { margin: 0; }
.bw-rentcard-notes { margin: 0; padding-left: 18px; font-size: 15px; color: var(--ink-2); }
.bw-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; }
.bw-feature { background: var(--surface); border-top: 3px solid var(--burgundy-bright); border-radius: 0 0 var(--radius) var(--radius); padding: 26px; }
.bw-feature h3 { font-size: 18px; letter-spacing: .06em; margin-bottom: 12px; }
.bw-feature ul { margin: 0; padding-left: 18px; color: var(--ink-2); font-size: 15px; display: flex; flex-direction: column; gap: 6px; }
.bw-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.bw-gallery a { display: block; overflow: hidden; border-radius: 4px; cursor: zoom-in; }
.bw-gallery img { width: 100%; height: 230px; object-fit: cover; transition: transform .6s var(--ease); }
.bw-gallery a:hover img { transform: scale(1.05); }
.bw-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; }
.bw-plan { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; text-decoration: none; color: var(--ink); font-weight: 700; display: flex; flex-direction: column; gap: 10px; cursor: zoom-in; transition: border-color .2s; }
.bw-plan:hover { border-color: var(--brass); color: var(--ink); }
.bw-plan img { width: 100%; height: 170px; object-fit: contain; background: #fff; border-radius: 3px; }
.bw-map iframe { width: 100%; height: 340px; border: 0; border-radius: var(--radius); display: block; }
.bw-video-frame { position: relative; padding-top: 56.25%; border-radius: var(--radius); overflow: hidden; background: #000; }
.bw-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.bw-video { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius); background: #000; }
.bw-steps { margin: 24px 0 0; padding-left: 22px; display: flex; flex-direction: column; gap: 10px; }
.bw-steps strong { color: var(--ink); }

/* ── FORMS ── */
.bw-form { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; }
.bw-wide { grid-column: 1 / -1; }
.bw-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; border: 0; padding: 0; margin: 0; min-width: 0; }
.bw-field legend { padding: 0; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.bw-field input:not([type=checkbox]):not([type=radio]), .bw-field textarea, .bw-field select { font: inherit; font-weight: 500; min-height: 48px; padding: 10px 12px; background: var(--bg); color: var(--ink); border: 1px solid var(--line-soft); border-radius: 4px; width: 100%; color-scheme: dark; }
.bw-checks { display: block; }
.bw-checks label, .bw-inline label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-right: 18px; font-size: 15px; font-weight: 500; }
.bw-checks input, .bw-inline input { width: 20px; height: 20px; accent-color: var(--burgundy-bright); }
.bw-inline { display: block; }
.bw-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bw-form-status { margin: 0; font-weight: 700; min-height: 1.4em; }
.bw-form-status.ok { color: #8FE0B0; }
.bw-form-status.err { color: #FFB4B4; }
.bw-form-note { margin: 0; font-size: 13px; color: var(--muted); }
.bw-form.sending button[type=submit] { opacity: .6; pointer-events: none; }

/* ── FOOTER ── */
.bw-footer { background: var(--burgundy-deep); color: #FBEFF1; padding: 56px 0 28px; font-size: 15px; }
.bw-footer a { color: #fff; }
.bw-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 32px 40px; }
.bw-footer-name { font-family: var(--display); font-size: 18px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; }
.bw-footer h2 { font-size: 13px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 10px; }
.bw-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.bw-footer li { padding: 4px 0; }
.bw-footer-social { display: flex; gap: 18px; }
.bw-footer-bottom { margin-top: 36px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .25); font-size: 13px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; align-items: center; }
.bw-footer-legal { display: flex; flex-wrap: wrap; gap: 0 20px; }
.bw-footer-legal a { display: inline-block; padding: 12px 0; color: inherit; }
.bw-eho { display: inline-flex; align-items: center; gap: 10px; }

/* ── PHOTO / FLOOR PLAN VIEWER ── */
.bw-lightbox { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; color: #fff; }
.bw-lightbox::backdrop { background: rgba(10, 4, 6, .93); }
.bw-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.bw-lightbox figure { margin: 0; max-width: min(1200px, 86vw); text-align: center; }
.bw-lightbox img { max-height: 82vh; max-width: 100%; margin: 0 auto; border-radius: 4px; }
.bw-lightbox.plan img { background: #fff; padding: 12px; }
.bw-lightbox figcaption { margin-top: 12px; font-size: 15px; color: var(--ink-2); }
.bw-lightbox button { position: fixed; width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--line-soft); background: rgba(38, 20, 26, .9); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.bw-lb-close { top: 16px; right: 16px; }
.bw-lb-prev { left: 16px; top: 50%; transform: translateY(-50%); }
.bw-lb-next { right: 16px; top: 50%; transform: translateY(-50%); }

/* ── MOTION ── */
@keyframes bw-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes bw-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes bw-lamp { 0% { opacity: 0; } 60% { opacity: 1; } 80% { opacity: .65; } 100% { opacity: .95; } }
@keyframes bw-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes bw-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.rise { animation: bw-rise .8s var(--ease) both; }
.d1 { animation-delay: .15s; } .d2 { animation-delay: .3s; } .d3 { animation-delay: .45s; }
/* Scroll reveals only hide content when the page script is running (html.js). */
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.js .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rise, .bw-hero-photo img, .bw-skyline .dl, .bw-skyline .lamp, .bw-ribbon-track, .bw-panel-inner { animation: none; }
  .js .reveal { opacity: 1; transform: none; transition: none; }
  .bw-tile, .bw-tile-photo img, .bw-row, .bw-chip, .bw-btn, .bw-gallery img { transition: none; }
}

/* ── SMALL SCREENS ── */
@media (max-width: 960px) {
  .bw-menu-toggle { display: inline-flex; }
  .bw-header-inner { flex-wrap: wrap; }
  .bw-nav { display: none; flex-direction: column; align-items: stretch; width: 100%; gap: 0; padding-bottom: 12px; }
  .bw-nav.open { display: flex; }
  .bw-nav > a:not(.bw-btn), .bw-nav-item > a { padding: 14px 0; border-top: 1px solid #E8E3DD; display: block; }
  .bw-submenu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 8px 14px; min-width: 0; }
  .bw-nav .bw-btn { margin-top: 12px; }
  .bw-brand img { height: 48px; }
}
@media (max-width: 640px) {
  .bw-section { padding: 56px 0; }
  .bw-utility-inner > span:first-child { display: none; }
  .bw-utility-inner { justify-content: flex-end; }
  .bw-hero-photo img { height: 320px; }
  .bw-hero-inner .bw-hero-photo img { height: 260px; }
  .bw-hero-panel-wrap { margin-top: -60px; padding: 0 12px; }
  .bw-hero-panel { padding: 28px 22px; }
  .bw-hero-actions { flex: 1 1 100%; }
  .bw-row { grid-template-columns: 1fr auto; }
  .bw-row-spec { grid-column: 1; grid-row: 2; }
  .bw-row-rent { grid-column: 2; grid-row: 1 / span 2; }
  .bw-media-main img { height: 250px; }
  .bw-panel-head, .bw-media, .bw-panel-actions { padding-left: 18px; padding-right: 18px; }
  .bw-panel-blurb, .bw-tags, .bw-tabs, .bw-noplans { margin-left: 18px; margin-right: 18px; }
  .bw-form { padding: 20px; }
  .bw-ribbon img { width: 240px; height: 150px; }
  .bw-lb-prev, .bw-lb-next { top: auto; bottom: 16px; transform: none; }
}
.bw-steps { margin-bottom: 20px; }

/* ── HOME TOUR (v1.1.0) ── */
.bw-tour { background: #1A0B0F; }
.bw-tour-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 24px; align-items: start; }
.bw-tour-tabs { display: flex; flex-wrap: wrap; gap: 2px 6px; border-bottom: 1px solid var(--line); margin-bottom: 12px; }
.bw-tour-tab { font: inherit; font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; min-height: 44px; padding: 4px 12px 0; background: none; border: 0; border-bottom: 3px solid transparent; color: var(--muted); cursor: pointer; }
.bw-tour-tab.on { color: #fff; border-bottom-color: var(--brass); }
.bw-tour-plan { border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; min-height: 300px; background-color: var(--bg); background-image: repeating-linear-gradient(0deg, rgba(230, 184, 115, .08) 0 1px, transparent 1px 22px), repeating-linear-gradient(90deg, rgba(230, 184, 115, .08) 0 1px, transparent 1px 22px); }
.bw-tour-plan svg { display: block; width: 100%; height: 520px; }
.bw-tw { fill: none; stroke: var(--ink); stroke-width: 3; stroke-linejoin: round; stroke-dasharray: 1; animation: bw-draw 1.8s cubic-bezier(.4, 0, .2, 1) both; }
.bw-ti { fill: none; stroke: rgba(245, 238, 236, .75); stroke-width: 1.3; stroke-dasharray: 1; animation: bw-draw 1.6s cubic-bezier(.4, 0, .2, 1) .5s both; }
.bw-td { fill: none; stroke: var(--line-soft); stroke-width: 1.2; stroke-dasharray: 4 4; animation: bw-fade .8s ease 1.4s both; }
.bw-tx { fill: none; stroke: rgba(230, 184, 115, .85); stroke-width: 1; animation: bw-fade .8s ease 1.5s both; }
.bw-troom { fill: rgba(230, 184, 115, 0); cursor: pointer; transition: fill .3s; }
.bw-troom:hover { fill: rgba(230, 184, 115, .14); }
.bw-troom.on { fill: rgba(230, 184, 115, .3); }
.bw-tl { pointer-events: none; animation: bw-fade .8s ease 1.7s both; }
.bw-tl text { text-anchor: middle; }
.bw-tl-name { fill: var(--ink); font-family: var(--display); font-weight: 700; }
.bw-tl-dim { fill: var(--brass); font-family: var(--body); font-size: 8px; }
.bw-tl-note { fill: var(--line-soft); font-family: var(--body); font-size: 8px; }
.bw-tour-fine { margin: 8px 0 0; font-size: 12px; }
.bw-tour-stop { scroll-margin-top: 90px; }
.bw-tour-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; animation: bw-rise .45s var(--ease) both; }
.bw-tour-photo { position: relative; height: 360px; overflow: hidden; background: var(--bg-deep); }
.bw-tour-photo img { width: 100%; height: 100%; object-fit: cover; animation: bw-kb 7s ease-out both; }
.bw-tour-none { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--muted); text-align: center; padding: 20px; border: 1px dashed var(--line-soft); }
.bw-tour-none strong { font-family: var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.bw-tour-count { position: absolute; left: 12px; top: 12px; background: rgba(17, 7, 9, .85); border: 1px solid var(--brass); border-radius: 999px; padding: 5px 12px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brass); }
.bw-tour-body { padding: 20px 22px 22px; }
.bw-tour-body h3 { font-size: 26px; letter-spacing: .05em; outline: none; }
.bw-tour-dim { font-family: var(--display); font-weight: 700; color: var(--brass); margin: 4px 0 8px; }
.bw-tour-body p { color: var(--ink-2); }
.bw-tour-nav { display: flex; gap: 10px; }
.bw-tour-nav .bw-btn { flex: 1; }
.bw-tour-steps { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.bw-tour-steps .bw-chip { min-height: 40px; font-size: 13px; }
.bw-tour-noscript { color: var(--ink-2); }
/* v1.7.0: community video in the tour section */
.bw-tour-modes { display: inline-flex; gap: 4px; padding: 4px; margin: 6px 0 22px; border: 1px solid var(--line); border-radius: 999px; background: rgba(0, 0, 0, .25); }
.bw-tour-modes[hidden] { display: none; }
.bw-tour-mode { display: inline-flex; align-items: center; gap: 8px; font: inherit; font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; min-height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: none; color: var(--muted); cursor: pointer; transition: background .2s, color .2s; }
.bw-tour-mode:hover { color: #fff; }
.bw-tour-mode.on { background: var(--brass); color: #1A0B0F; }
.bw-tour-mode:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.bw-tour-panel[hidden] { display: none; }
.bw-tour-videowrap { margin-bottom: 8px; }
.bw-tour-videowrap .bw-video, .bw-tour-videowrap .bw-video-frame { border: 1px solid var(--line); box-shadow: 0 18px 50px rgba(0, 0, 0, .45); }
.bw-tour-has-video .bw-tour-panel + .bw-tour-panel { margin-top: 28px; }
.bw-tour-walk-title { font-size: 22px; letter-spacing: .05em; margin: 0 0 6px; }
.bw-tour-walk-sub { margin-top: 0; }
@keyframes bw-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes bw-kb { from { transform: scale(1.12) translate(2%, 1%); } to { transform: none; } }

/* ── LEASING ASSISTANT (v1.1.0) ── */
@keyframes bwc-dot { 0%, 80%, 100% { opacity: .25; transform: none; } 40% { opacity: 1; transform: translateY(-3px); } }
@keyframes bwc-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(230, 184, 115, .6); } 50% { box-shadow: 0 0 0 12px rgba(230, 184, 115, 0); } }
.bwc-launch { position: fixed; right: 18px; bottom: 20px; z-index: 80; display: flex; align-items: center; gap: 10px; }
.bwc-launch.hide { display: none; }
/* v1.3.0: waits off-screen until the visitor scrolls past the hero, so it never covers the hero's text or buttons. */
.bwc-launch { transition: opacity .35s, transform .35s, visibility 0s; }
.bwc-launch.wait { opacity: 0; transform: translateY(24px); visibility: hidden; pointer-events: none; transition: opacity .35s, transform .35s, visibility 0s .35s; }
.bwc-bubble { background: #fff; color: var(--paper-ink); font-weight: 700; font-size: 14px; padding: 9px 13px; border-radius: 14px 14px 4px 14px; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); animation: bw-rise .5s 1.2s both; transition: opacity .4s; }
.bwc-bubble.gone { opacity: 0; pointer-events: none; animation: none; }
@media (max-width: 767px) { .bw-footer-bottom { padding-bottom: 76px; } }
.bwc-btn { width: 62px; height: 62px; border-radius: 50%; background: var(--burgundy); border: 2px solid var(--brass); display: flex; align-items: center; justify-content: center; cursor: pointer; animation: bwc-glow 2.4s infinite; }
.bwc-panel { position: fixed; right: 20px; bottom: 20px; z-index: 90; width: 390px; height: min(640px, calc(100vh - 40px)); background: #1F0F13; border: 1px solid var(--line); border-top: 2px solid var(--brass); border-radius: 18px; display: flex; flex-direction: column; box-shadow: 0 18px 50px rgba(0, 0, 0, .6); opacity: 0; transform: translateY(24px); transition: opacity .35s, transform .35s var(--ease); color: var(--ink); }
.bwc-panel.open { opacity: 1; transform: none; }
.bwc-panel[hidden] { display: none; }
.bwc-head { display: flex; align-items: center; gap: 12px; padding: 14px 14px 12px 16px; border-bottom: 1px solid var(--line); }
.bwc-av { width: 40px; height: 40px; border-radius: 50%; background: var(--burgundy); border: 1.5px solid var(--brass); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bwc-av svg { width: 22px; height: 22px; }
.bwc-title { font-family: var(--display); font-weight: 700; font-size: 15px; letter-spacing: .06em; padding-top: 2px; }
.bwc-sub { font-size: 12px; color: var(--muted); }
.bwc-x { margin-left: auto; width: 44px; height: 44px; font-size: 28px; line-height: 1; color: var(--muted); background: none; border: 0; cursor: pointer; }
.bwc-log { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding: 14px; }
.bwc-m { animation: bw-rise .35s var(--ease) both; font-size: 15px; line-height: 1.5; }
.bwc-u { align-self: flex-end; max-width: 82%; background: var(--burgundy); color: #fff; border-radius: 16px 16px 4px 16px; padding: 10px 14px; }
.bwc-b { align-self: flex-start; max-width: 92%; display: flex; flex-direction: column; gap: 8px; }
.bwc-bt { background: var(--surface); border: 1px solid var(--line); border-radius: 16px 16px 16px 4px; padding: 11px 14px; white-space: pre-line; }
.bwc-card { display: flex; gap: 10px; align-items: center; background: var(--bg); border: 1px solid var(--line); border-radius: 12px; padding: 8px; color: var(--ink); text-decoration: none; }
.bwc-card:hover { border-color: var(--brass); color: var(--ink); }
.bwc-card img { width: 62px; height: 46px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.bwc-card b { display: block; font-size: 14px; }
.bwc-card span span { font-size: 12px; color: var(--muted); }
.bwc-card em { margin-left: auto; font-style: normal; font-family: var(--display); font-weight: 700; color: var(--brass); padding-top: 3px; white-space: nowrap; }
.bwc-act { align-self: flex-start; font: inherit; font-size: 13px; font-weight: 700; color: var(--bg); background: var(--brass); border: 0; border-radius: 999px; padding: 9px 16px; min-height: 40px; cursor: pointer; }
.bwc-typing { align-self: flex-start; background: var(--surface); border: 1px solid var(--line); border-radius: 16px 16px 16px 4px; padding: 13px 14px; display: flex; gap: 5px; }
.bwc-typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); animation: bwc-dot 1.1s infinite; }
.bwc-typing i:nth-child(2) { animation-delay: .15s; } .bwc-typing i:nth-child(3) { animation-delay: .3s; }
.bwc-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px 14px 4px; }
.bwc-chip { font: inherit; font-size: 13px; font-weight: 600; min-height: 40px; padding: 7px 13px; border-radius: 999px; border: 1px solid var(--line-soft); background: var(--surface); color: var(--ink); cursor: pointer; text-align: left; }
.bwc-chip:hover { border-color: var(--brass); }
.bwc-chip-tour { border-color: var(--brass); color: var(--brass); }
.bwc-ask { margin: 8px 14px 4px; display: flex; align-items: center; gap: 6px; background: var(--bg); border: 1px solid var(--line-soft); border-radius: 999px; padding: 4px 4px 4px 16px; }
.bwc-ask:focus-within { border-color: var(--brass); }
.bwc-ask input { flex: 1; min-width: 0; font: inherit; font-size: 16px; color: var(--ink); background: none; border: 0; outline: none; min-height: 40px; }
.bwc-ask button { width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--burgundy); color: #fff; font-size: 16px; cursor: pointer; }
.bwc-foot { font-size: 11px; color: var(--line-soft); text-align: center; padding: 6px 14px 14px; }
.bwc-foot a { color: var(--rose); font-weight: 700; }
.bwc-form { align-self: stretch; display: flex; flex-direction: column; gap: 10px; background: var(--bg-deep); border: 1px solid var(--brass); border-radius: 14px; padding: 12px; }
.bwc-form .bwc-bt { background: none; border: 0; padding: 0; }
.bwc-f { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; }
.bwc-f input { font: inherit; font-size: 16px; min-height: 44px; padding: 8px 10px; color: var(--ink); background: var(--bg); border: 1px solid var(--line-soft); border-radius: 6px; }
.bwc-opts { border: 0; padding: 0; margin: 0; font-size: 14px; }
.bwc-opts legend { font-size: 13px; font-weight: 600; margin-bottom: 4px; }
.bwc-opts label { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; margin-right: 12px; }
.bwc-opts input { width: 18px; height: 18px; accent-color: var(--burgundy-bright); }
.bwc-send { font: inherit; font-weight: 700; min-height: 46px; border-radius: 7px; border: 1px solid var(--burgundy-bright); background: var(--burgundy); color: #fff; cursor: pointer; }
.bwc-status { margin: 0; font-size: 13px; color: #FFB4B4; min-height: 1em; }
@media (max-width: 640px) {
  .bwc-panel { left: 0; right: 0; bottom: 0; width: auto; height: auto; top: 12vh; border-radius: 20px 20px 0 0; border-left: 0; border-right: 0; border-bottom: 0; }
  .bw-tour-plan svg { height: 440px; }
  .bw-tour-photo { height: 250px; }
  .bwc-launch { right: 14px; bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .bw-tw, .bw-ti, .bw-td, .bw-tx, .bw-tl, .bw-tour-card, .bw-tour-photo img, .bwc-btn, .bwc-m, .bwc-bubble, .bwc-typing i { animation: none; }
  .bwc-panel { transition: none; }
}

/* ── v1.4.0: AVAILABILITY FLAGS ── */
.bw-avail { display: inline-block; font-style: normal; font-family: var(--body); font-size: 12px; font-weight: 700; letter-spacing: .04em; line-height: 1.2; padding: 4px 9px; border-radius: 999px; border: 1px solid var(--line-soft); color: var(--ink); white-space: nowrap; }
.bw-avail-now { background: #1E5E3B; border-color: #2E8B57; color: #FFFFFF; }
.bw-avail-soon { border-color: var(--brass); color: var(--brass); }
.bw-avail-wait { color: var(--muted); }
.bw-row-name .bw-avail { align-self: flex-start; margin-top: 6px; }
.bw-rentcard-row .bw-avail { margin-top: 6px; }
.bw-rentcard-row > div:first-child { display: flex; flex-direction: column; align-items: flex-start; }
.bw-panel-rent .bw-avail { display: block; margin-top: 6px; width: max-content; margin-left: auto; }
.bw-tile-foot .bw-avail { order: 3; }

/* ── v1.4.0: FLOOR PLAN LABELS AND FILTER ── */
.bw-plan-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.bw-plan { gap: 6px; }
.bw-plan img { margin-bottom: 6px; }
.bw-plan-name { font-family: var(--display); font-size: 16px; letter-spacing: .04em; }
.bw-plan-detail { font-weight: 500; font-size: 14px; color: var(--ink-2); }
.bw-plan-rent { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 14px; color: var(--brass); }
.bw-plan[hidden] { display: none; }
.bw-gallery-more { margin-top: 16px; width: 100%; }

/* ── v1.4.0: PHONE ACTION BAR ── */
.bw-mbar { display: none; }
@media (max-width: 767px) {
  .bw-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(17, 7, 9, .96); border-top: 1px solid var(--line); box-shadow: 0 -8px 24px rgba(0, 0, 0, .45); transition: transform .3s var(--ease), opacity .3s; }
  .bw-mbar.wait { transform: translateY(110%); opacity: 0; pointer-events: none; }
  .bw-mbar a, .bw-mbar button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 10px; border-radius: var(--radius); border: 1px solid var(--line-soft); background: transparent; color: var(--ink); font: 700 15px/1.1 var(--body); text-decoration: none; cursor: pointer; }
  .bw-mbar .bw-mbar-tour { grid-column: span 2; background: var(--burgundy); border-color: var(--burgundy-bright); color: #FFFFFF; }
  .has-mbar .bw-footer-bottom { padding-bottom: 84px; }
}

/* ── v1.4.0: SHORTER PHONE PAGES ── */
@media (max-width: 640px) {
  /* Photos: two columns, first eight until "Show all" */
  .bw-gallery { grid-template-columns: 1fr 1fr; gap: 8px; }
  .bw-gallery img { height: 128px; }
  .bw-gallery.is-clipped a:nth-child(n+9) { display: none; }
  /* Floor plans and other communities: swipe sideways instead of stacking */
  .bw-plans, .bw-tiles-small { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 10px; margin-right: -16px; padding-right: 16px; -webkit-overflow-scrolling: touch; }
  .bw-plan { flex: 0 0 74%; scroll-snap-align: start; }
  .bw-tiles-small > .bw-tile { flex: 0 0 74%; scroll-snap-align: start; }
  .bw-plan img { height: 150px; }
  /* Page menu and walkthrough stops: one swipeable row */
  .bw-pagenav .bw-wrap { flex-wrap: nowrap; overflow-x: auto; gap: 0 22px; scrollbar-width: none; }
  .bw-pagenav .bw-wrap::-webkit-scrollbar { display: none; }
  .bw-pagenav a { white-space: nowrap; }
  .bw-tour-steps { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; }
  .bw-tour-modes { display: flex; }
  .bw-tour-modes[hidden] { display: none; }
  .bw-tour-mode { flex: 1; justify-content: center; padding: 0 10px; font-size: 11px; letter-spacing: .06em; }
  .bw-tour-steps .bw-chip { white-space: nowrap; flex-shrink: 0; }
  /* v1.8.0 Home page communities: a swipeable showcase, one community per card, the next card peeking in */
  .bw-showcase-nav { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 -16px 14px 0; padding: 2px 16px 2px 0; }
  .bw-showcase-nav::-webkit-scrollbar { display: none; }
  .bw-showcase-nav[hidden] { display: none; }
  .bw-showcase-nav .bw-chip { white-space: nowrap; flex-shrink: 0; min-height: 40px; font-size: 13px; }
  [data-bw-showcase] { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-right: -16px; padding: 0 16px 6px 0; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  [data-bw-showcase]::-webkit-scrollbar { display: none; }
  [data-bw-showcase] > .bw-tile { flex: 0 0 86%; scroll-snap-align: start; scroll-snap-stop: always; }
  [data-bw-showcase] > .bw-tile:hover { transform: none; }
  .js [data-bw-showcase] > .reveal { opacity: 1; transform: none; }
  [data-bw-showcase] .bw-tile-photo img { height: auto; aspect-ratio: 3 / 2; } /* whole photo, nothing cropped */
  [data-bw-showcase] .bw-tile-body { padding: 18px 18px 6px; gap: 8px; }
  [data-bw-showcase] .bw-tile h3 { font-size: 22px; }
  .bw-showcase-count { margin: 10px 0 0; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
  /* v1.8.0 Compact header: one 60px row (logo, call, menu); the phone number moves from the top bar into the call button */
  .bw-utility { display: none; }
  .bw-nav > a.bw-nav-portal { display: block; }
  .bw-header-inner { padding-top: 8px; padding-bottom: 8px; gap: 8px; }
  .bw-brand img { height: 42px; }
  .bw-brand span { display: none; }
  .bw-header-call { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-left: auto; border-radius: 7px; background: var(--burgundy); color: #fff; }
  .bw-menu-toggle { width: 44px; padding: 0; justify-content: center; }
  .bw-menu-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  /* Home page number tiles: two across, and the three travel numbers in one row */
  .bw-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
  .bw-stat { padding: 16px; }
  .bw-mini-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .bw-mini-stats div { padding: 12px; }
  .bw-mini-stats strong { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .bw-mbar { transition: none; }
}

/* ── v1.9.0: COMMUNITY PAGES ON PHONES ──
   Photos first (swipeable hero), then the virtual tour, floor plans, rents and details. Desktop is unchanged. */
.bw-swipe, .bw-pn-phone { display: none; }
.bw-feature summary { list-style: none; cursor: default; }
.bw-feature summary::-webkit-details-marker { display: none; }
@media (max-width: 640px) {
  .single-bw_community main { display: flex; flex-direction: column; }
  /* v1.25.1: anything without its own order (reviews, questions, future sections) sits just above Visit, in page order. Before this, v1.24.0's reviews and questions defaulted to order 0 and jumped above the photos. */
  .single-bw_community main > * { order: 10; }
  .single-bw_community main > .bw-hero { order: 1; }
  .single-bw_community main > .bw-pagenav { order: 2; }
  .single-bw_community main > #tour-home { order: 3; }
  .single-bw_community main > #plans { order: 4; }
  .single-bw_community main > #overview { order: 5; }
  .single-bw_community main > #features { order: 6; }
  .single-bw_community main > #video { order: 7; }
  .single-bw_community main > #photos { order: 8; }
  .single-bw_community main > #location { order: 9; }
  .single-bw_community main > #compare { order: 10; }
  .single-bw_community main > #tour { order: 11; }
  /* Swipeable photo hero */
  .bw-swipe { display: block; position: relative; background: #000; }
  .bw-hero-inner:has(.bw-swipe) .bw-hero-photo { display: none; }
  .bw-hero-inner:has(.bw-swipe) ~ #photos { display: none; }
  .bw-swipe-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .bw-swipe-track::-webkit-scrollbar { display: none; }
  .bw-swipe-track a { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; }
  .bw-swipe-track img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
  .bw-swipe-count { position: absolute; right: 12px; top: 12px; padding: 4px 11px; border-radius: 999px; background: rgba(17, 7, 9, .78); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .06em; pointer-events: none; }
  .bw-swipe-actions { position: absolute; left: 12px; bottom: 12px; display: flex; gap: 8px; }
  .bw-swipe-btn { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 14px; border-radius: 999px; background: rgba(17, 7, 9, .82); border: 1px solid var(--brass); color: var(--brass); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
  /* Compact name + price panel under the photos */
  .bw-hero-inner { padding-bottom: 0; }
  .bw-hero-inner .bw-hero-panel-wrap { margin-top: 0; padding: 0; }
  .bw-hero-inner .bw-hero-panel { border-radius: 0; padding: 18px 16px 20px; }
  .bw-hero-inner .bw-crumbs { display: none; }
  .bw-hero-inner h1 { font-size: 28px; }
  .bw-hero-inner .bw-hero-lede { margin-top: 6px; font-size: 15px; }
  .bw-hero-inner .bw-hero-facts { margin-top: 14px; padding-top: 14px; grid-template-columns: 1fr 1fr; gap: 6px 14px; }
  .bw-hero-inner .bw-hero-facts > div:first-child { grid-column: 1 / -1; }
  .bw-hero-inner .bw-hero-facts dd { font-size: 24px; }
  .bw-hero-inner .bw-hero-facts .bw-fact-text { font-size: 14px; padding-top: 0; }
  .bw-hero-inner .bw-hero-facts .bw-fact-text::before { content: "\2713  "; color: var(--brass); }
  /* Page menu stays under the header and shows where you are */
  .bw-pagenav { position: sticky; top: 61px; z-index: 40; }
  .bw-pn-phone { display: inline-block; }
  .bw-pn-desk { display: none; }
  .bw-pagenav a[href="#gallery-top"] { order: 1; }
  .bw-pagenav a[href="#tour-home"], .bw-pagenav a[href="#video"], .bw-pagenav a[href="#bw-tour-panel-video"] { order: 2; }
  .bw-pagenav a[href="#bw-tour-panel-walk"] { order: 2; }
  .bw-pagenav a[href="#plans"] { order: 3; }
  .bw-pagenav a[href="#overview"] { order: 4; }
  .bw-pagenav a[href="#features"] { order: 5; }
  .bw-pagenav a[href="#location"] { order: 6; }
  .bw-pagenav a[href="#tour"] { order: 7; }
  .bw-pagenav a { padding: 14px 0 12px; border-bottom: 2px solid transparent; }
  .bw-pagenav a.on { color: var(--brass); border-bottom-color: var(--brass); }
  .single-bw_community main > section { scroll-margin-top: 112px; }
  /* Overview: rents first, the description folded to a few lines */
  #overview .bw-rentcard { order: -1; }
  [data-bw-clamp].is-clamped { max-height: 13.5em; overflow: hidden; position: relative; }
  [data-bw-clamp].is-clamped::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4em; background: linear-gradient(transparent, var(--bg)); }
  .bw-readmore { margin-top: 10px; }
  /* Features fold into tap-to-open groups */
  .bw-feature { padding: 0; }
  .bw-feature summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding: 0 18px; }
  .bw-feature summary h3 { margin: 0; }
  .bw-feature summary::after { content: "+"; font-size: 24px; color: var(--brass); }
  .bw-feature[open] summary::after { content: "\2212"; }
  .bw-feature ul { padding: 0 18px 18px 36px; margin: 0; }
  .bw-features { gap: 10px; }
}

/* ── v1.9.0: HOME PAGE HERO VIDEO ── */
.bw-hero-media { position: relative; }
.bw-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s var(--ease); }
.bw-hero-video.is-playing { opacity: 1; }
.bw-hero-now { position: absolute; left: 24px; top: 20px; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; background: rgba(17, 7, 9, .72); border: 1px solid rgba(230, 184, 115, .7); color: #fff; font-size: 13px; text-decoration: none; backdrop-filter: blur(4px); transition: opacity .4s; }
.bw-hero-now span { color: var(--brass); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.bw-hero-now strong { font-family: var(--display); letter-spacing: .04em; }
.bw-hero-now.swap { opacity: 0; }
.bw-hero-now[hidden], .bw-hero-pause[hidden] { display: none; }
.bw-hero-pause { position: absolute; right: 20px; top: 20px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .5); background: rgba(17, 7, 9, .6); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.bw-hero-pause .i-play, .bw-hero-pause.paused .i-pause { display: none; }
.bw-hero-pause.paused .i-play { display: block; }
@media (max-width: 640px) {
  .bw-hero:not(.bw-hero-inner) .bw-hero-media img, .bw-hero:not(.bw-hero-inner) .bw-hero-media { height: min(62svh, 520px); }
  .bw-hero:not(.bw-hero-inner) .bw-hero-media img { width: 100%; object-fit: cover; }
  .bw-hero-now { left: 12px; top: 12px; font-size: 12px; padding: 0 12px; }
  .bw-hero-pause { right: 12px; top: 12px; }
  .bw-hero:not(.bw-hero-inner) .bw-hero-panel-wrap { margin-top: -48px; }
  .bw-hero:not(.bw-hero-inner) h1 { font-size: 27px; }
  .bw-hero:not(.bw-hero-inner) .bw-hero-lede { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .bw-hero-video { display: none; } }

/* v1.10.0: on phones the community video and the animated floor plan are stacked sections, not tabs */
.bw-tour-stack-label { display: none; }
@media (max-width: 640px) {
  .is-stacked .bw-tour-stack-label { display: block; margin-bottom: 10px; }
  .is-stacked .bw-tour-panel { scroll-margin-top: 120px; }
  .is-stacked .bw-tour-panel[hidden] { display: block; }
  .is-stacked #bw-tour-panel-walk { margin-top: 40px; padding-top: 34px; border-top: 1px solid var(--line); }
  .is-stacked .bw-tour-walk-title { font-size: 24px; }
}

/* ── v1.11.0: COMMUNITY PAGES ON PHONES, ROUND 2 ──
   Sliding photos + description → video → room cards → floor plan drawings → animated plan → rents. */
.bw-hero-about, .bw-rooms, .bw-swipe-bar, .bw-swipe-hint, .bw-swipe-pause { display: none; }
@media (max-width: 640px) {
  .bw-hero-about { display: block; margin: 10px 0 0; font-size: 15px; line-height: 1.55; color: #FBEFF1; }
  .bw-swipe-bar { display: block; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255, 255, 255, .25); }
  .bw-swipe-bar i { display: block; height: 100%; background: var(--brass); transition: width .5s var(--ease); }
  .bw-swipe-pause { position: absolute; right: 74px; top: 10px; width: 32px; height: 32px; border-radius: 50%; border: 0; background: rgba(17, 7, 9, .78); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
  .bw-swipe-pause[hidden] { display: none; }
  .bw-swipe-pause .i-play, .bw-swipe-pause.paused .i-pause { display: none; }
  .bw-swipe-pause.paused .i-play { display: block; }
  .bw-swipe-count { top: 14px; }
  .bw-swipe-hint { display: inline-flex; align-items: center; gap: 4px; position: absolute; right: 0; top: 50%; margin-top: -18px; padding: 8px 10px 8px 14px; border-radius: 999px 0 0 999px; background: rgba(17, 7, 9, .7); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; pointer-events: none; animation: bw-nudge 1.6s ease-in-out 1s 3; transition: opacity .4s; }
  .bw-swipe-hint b { font-size: 16px; color: var(--brass); }
  .bw-swipe.seen .bw-swipe-hint { opacity: 0; }
  @keyframes bw-nudge { 0%, 100% { transform: none; } 50% { transform: translateX(-8px); } }
  /* Room cards */
  .bw-rooms { display: block; margin-top: 44px; padding-top: 34px; border-top: 1px solid var(--line); scroll-margin-top: 120px; }
  .bw-rooms-track { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: -16px; padding: 4px 16px 8px 0; scrollbar-width: none; }
  .bw-rooms-track::-webkit-scrollbar { display: none; }
  .bw-room { flex: 0 0 85%; scroll-snap-align: start; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; color: var(--ink); text-decoration: none; }
  .bw-room-photo { position: relative; display: block; }
  .bw-room-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
  .bw-room-photo em { position: absolute; left: 10px; top: 10px; padding: 3px 10px; border-radius: 999px; background: rgba(17, 7, 9, .82); border: 1px solid var(--brass); color: var(--brass); font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
  .bw-room-body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; }
  .bw-room-body strong { font-family: var(--display); font-size: 19px; letter-spacing: .04em; }
  .bw-room-dim { font-family: var(--display); font-weight: 700; color: var(--brass); font-size: 14px; }
  .bw-room-note { font-size: 14px; line-height: 1.5; color: var(--ink-2); }
  .bw-rooms-hint { margin: 6px 0 0; font-size: 13px; }
  /* Floor plan drawings, moved into the tour on phones */
  .bw-plans-in-tour { padding: 34px 0 0; margin-top: 40px; border-top: 1px solid var(--line); background: none; scroll-margin-top: 120px; }
  .bw-plans-in-tour > .bw-wrap { padding: 0; }
  .bw-plans-in-tour .bw-h2 { font-size: 24px; }
  /* Animated plan: the room photos are already above, so the stop card is text only and the stop chips go */
  .is-stacked .bw-tour-photo { display: none; }
  .is-stacked .bw-tour-steps { display: none; }
  .is-stacked .bw-tour-body { padding: 16px 18px 18px; }
  .is-stacked .bw-tour-body h3 { font-size: 20px; }
  .is-stacked .bw-tour-plan svg { height: 380px; }
  .bw-pagenav a[href="#bw-rooms"] { order: 2; }
  .bw-pagenav a[href="#plans"] { order: 2; }
  .bw-pagenav a[href="#bw-tour-panel-walk"] { order: 3; }
}
@media (max-width: 640px) and (prefers-reduced-motion: reduce) { .bw-swipe-hint { animation: none; } }

/* ── v1.12.0: VIDEO CONTROLS, AND NO ANIMATED PLAN ON PHONES ── */
.bw-vwrap { position: relative; border-radius: var(--radius); overflow: hidden; background: #000; }
.bw-vwrap .bw-video { border-radius: 0; }
.bw-tour-videowrap .bw-vwrap { border: 1px solid var(--line); box-shadow: 0 18px 50px rgba(0, 0, 0, .45); }
.bw-tour-videowrap .bw-vwrap .bw-video { border: 0; box-shadow: none; }
.bw-v-ui { position: absolute; inset: 0; cursor: pointer; }
.bw-v-play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%; border: 2px solid var(--brass); background: rgba(17, 7, 9, .78); color: var(--brass); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: opacity .3s, transform .3s; }
.bw-v-play svg { margin-left: 5px; }
.is-playing .bw-v-play { opacity: 0; transform: scale(.8); pointer-events: none; }
.bw-v-bar { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 6px; padding: 26px 10px 8px; background: linear-gradient(transparent, rgba(0, 0, 0, .7)); transition: opacity .35s; }
.is-playing:not(.show-ui) .bw-v-bar { opacity: 0; pointer-events: none; }
.bw-v-bar button { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 40px; height: 40px; padding: 0 8px; border: 0; border-radius: 6px; background: none; color: #fff; font: 700 12px/1 var(--body); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.bw-v-track { flex: 1; height: 24px; display: flex; align-items: center; cursor: pointer; }
.bw-v-track span { display: block; width: 100%; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, .3); overflow: hidden; }
.bw-v-track i { display: block; height: 100%; width: 0; background: var(--brass); }
.bw-v-sound { position: absolute; right: 10px; top: 10px; display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .5); background: rgba(17, 7, 9, .7); color: #fff; font: 700 11px/1 var(--body); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.bw-v-sound[hidden] { display: none; }
.bw-vwrap .i-pause, .bw-vwrap.is-playing .i-play, .bw-v-sound .i-on, .bw-v-sound.on .i-off { display: none; }
.bw-vwrap.is-playing .i-pause, .bw-v-sound.on .i-on { display: block; }
@media (max-width: 640px) {
  .is-stacked #bw-tour-panel-walk, .bw-tour:not(.bw-tour-has-video) .bw-tour-grid, .bw-tour:not(.bw-tour-has-video) .bw-tour-steps { display: none !important; }
  .bw-tour:not(.bw-tour-has-video) > .bw-wrap > .bw-sub:first-of-type { display: none; }
}

/* ── v1.13.0: LEASING ASSISTANT AS A FLOATING BUTTON ON PHONES ── */
.bwc-bubble { cursor: pointer; pointer-events: auto; display: inline-flex; align-items: center; gap: 10px; }
.bwc-bubble-x { font-size: 18px; line-height: 1; color: #8A7F79; font-weight: 400; padding: 0 2px; }
.bwc-bubble.pop { animation: bwc-pop .45s cubic-bezier(.2, 1.4, .4, 1) 2s both; }
/* v1.19.0: the pop animation's fill kept the bubble at full opacity, so it never faded. Once gone, it is gone. */
.bwc-bubble.gone, .bwc-bubble.pop.gone { animation: none; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .4s, visibility 0s .4s; }
@keyframes bwc-pop { from { opacity: 0; transform: translateY(10px) scale(.85); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) {
  .bwc-launch { right: 14px; bottom: calc(16px + env(safe-area-inset-bottom)); transition: bottom .3s var(--ease), opacity .3s, transform .35s, visibility 0s; }
  .mbar-up .bwc-launch { bottom: calc(84px + env(safe-area-inset-bottom)); }
  .bw-quiet .bwc-launch { opacity: 0; pointer-events: none; }
  .bwc-btn { width: 56px; height: 56px; }
  .bwc-bubble { max-width: 220px; font-size: 13px; }
  .bw-mbar { grid-template-columns: 1fr 2fr; grid-auto-flow: row; }
  .bw-mbar .bw-mbar-tour { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) { .bwc-bubble.pop { animation: none; } }

/* ── HOME HERO, VIDEO FIRST (v1.14.0; ribbon v1.15.0) ──
   The video fills the first screen under the header (--bw-hero-top is set by main.js), less the ribbon: the top edge of
   the burgundy band below peeks at the bottom of the screen ("Explore the five communities"), so visitors scroll on.
   Only the headline sits on the video, over a soft dark fade. No jump buttons: the header and phone bar carry Call / Tour. */
:root { --bw-ribbon-h: 54px; }
.bw-hero.bw-hero-home .bw-hero-photo { position: relative; height: clamp(480px, calc(100svh - var(--bw-hero-top, 110px) - var(--bw-ribbon-h)), 860px); }
.bw-hero.bw-hero-home .bw-hero-photo img { height: 100%; }
.bw-hero-home .bw-hero-photo::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to bottom, rgba(17, 7, 9, .5) 0, rgba(17, 7, 9, 0) 20%, rgba(17, 7, 9, 0) 55%, rgba(17, 7, 9, .5) 80%, rgba(17, 7, 9, .8) 100%); }
.bw-hero-home .bw-hero-now, .bw-hero-home .bw-hero-pause { z-index: 3; }
.bw-hero-home .bw-hero-pause { width: 40px; height: 40px; background: rgba(17, 7, 9, .38); border-color: rgba(255, 255, 255, .35); }
.bw-hero-overlay { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding-bottom: 40px; }
.bw-hero-home h1 { margin: 0; color: #fff; text-shadow: 0 2px 22px rgba(0, 0, 0, .5); }
.bw-hero-intro { background: var(--burgundy); color: #fff; scroll-margin-top: 60px; }
.bw-hero-ribbon { display: flex; align-items: center; justify-content: center; gap: 10px; height: var(--bw-ribbon-h); padding: 0 16px; background: var(--burgundy-deep); border-top: 2px solid var(--brass); color: #fff; font: 700 13px/1 var(--display); letter-spacing: .2em; text-transform: uppercase; text-decoration: none; }
.bw-hero-ribbon:hover { color: #fff; background: #6A0F22; }
.bw-hero-ribbon svg { color: var(--brass); animation: bw-bob 2.2s ease-in-out 1.5s infinite; }
@keyframes bw-bob { 0%, 100% { transform: none; } 50% { transform: translateY(4px); } }
.bw-hero-intro-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 10px 56px; align-items: baseline; padding-top: 40px; padding-bottom: 44px; }
.bw-hero-home .bw-hero-intro .bw-kicker { margin: 0; color: #F5D9DE; }
.bw-hero-home .bw-hero-lede { margin: 0; max-width: 680px; font-size: 19px; line-height: 1.6; color: #FBEFF1; }
@media (max-width: 640px) {
  :root { --bw-ribbon-h: 50px; }
  .bw-hero.bw-hero-home .bw-hero-photo { height: max(420px, calc(100svh - var(--bw-hero-top, 62px) - var(--bw-ribbon-h))); }
  .bw-hero.bw-hero-home .bw-hero-photo img { height: 100%; }
  .bw-hero-overlay { padding-bottom: 28px; }
  .bw-hero.bw-hero-home h1 { font-size: 29px; letter-spacing: .05em; }
  .bw-hero-ribbon { font-size: 12px; letter-spacing: .16em; }
  .bw-hero-intro-inner { grid-template-columns: 1fr; padding-top: 26px; padding-bottom: 30px; }
  .bw-hero-home .bw-hero-lede { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .bw-hero-ribbon svg { animation: none; } }

/* ── SCROLL-DRAWN LINE ART (v1.16.0 skyline scene; v1.17.0 dividers, stat icons, tour door) — Path B ──
   main.js adds .is-scrub to each .bw-draw it drives, sets stroke-dashoffset on [data-a] lines and .lit on [data-lit].
   Default (no script, reduced motion): finished and lit. */
.bw-draw svg { display: block; overflow: visible; }
.bw-draw .dl { stroke: var(--line-soft); }
.bw-draw.is-scrub .dl { stroke-dasharray: 1; stroke-dashoffset: 1; }
.bw-draw .win { fill: #F2C27B; fill-opacity: .85; stroke: var(--brass); transition: fill-opacity 1.1s ease, stroke .8s ease; }
.bw-draw.is-scrub .win:not(.lit) { fill-opacity: 0; stroke: var(--line-soft); }
.bw-draw .flame { fill: #FFE2A8; stroke: none; transition: opacity .6s ease; }
.bw-draw .halo { stroke: none; transition: opacity 1.4s ease; }
.bw-draw.is-scrub .bw-lamp:not(.lit) .flame { opacity: .15; }
.bw-draw.is-scrub .bw-lamp:not(.lit) .halo { opacity: 0; }
.bw-draw .bw-lamp.lit .halo { animation: bw-flicker 3.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.bw-draw .bw-lamp:nth-of-type(2n).lit .halo { animation-duration: 2.7s; animation-delay: -1.1s; }
.bw-draw .star { fill: #F5EEEC; stroke: none; opacity: .65; transition: opacity 1.6s ease; }
.bw-draw.is-scrub .star:not(.lit) { opacity: 0; }
.bw-draw .star.lit { animation: bw-twinkle 4.2s ease-in-out infinite; }
.bw-draw .star:nth-child(3n).lit { animation-delay: -1.6s; } .bw-draw .star:nth-child(3n+1).lit { animation-delay: -2.9s; }
@keyframes bw-flicker { 0%, 100% { opacity: 1; transform: scale(1); } 22% { opacity: .82; transform: scale(.94); } 41% { opacity: .97; } 63% { opacity: .78; transform: scale(.92); } 80% { opacity: .95; transform: scale(1.02); } }
@keyframes bw-twinkle { 0%, 100% { opacity: .65; } 50% { opacity: .2; } }

/* Skyline scene */
.bw-scene-wrap { overflow: hidden; margin-top: 30px; }
.bw-scene { width: 100%; height: auto; will-change: transform; }

/* Lantern divider: two lines meet at a lamp post that lights */
.bw-divider { max-width: 560px; margin: 0 auto 34px; }
.bw-divider svg { width: 100%; height: auto; }

/* Stat icons: draw, then turn brass */
.bw-stat-icon { margin-bottom: 14px; }
.bw-ico .dl { transition: stroke .9s ease; }
.bw-ico.lit .dl, .bw-draw:not(.is-scrub) .bw-ico .dl { stroke: var(--brass); }

/* Tour door: the light is on */
.bw-door { width: 200px; max-width: 60%; margin: 0 0 18px; }
.bw-door svg { width: 100%; height: auto; }

@media (max-width: 640px) {
  .bw-scene-wrap { margin: 24px -24px 0; }
  .bw-scene { width: 240%; max-width: none; }
  .bw-divider { margin-bottom: 24px; }
  .bw-door { width: 170px; }
}
@media (prefers-reduced-motion: reduce) { .bw-draw .halo, .bw-draw .star { animation: none !important; } }

/* ── v1.19.0: RENT FINDER ON PHONES ──
   960 px and narrower: the photos/floor plans panel opens right under the tapped row (tap again to close).
   640 px and narrower: the filter chips become two-column drop-downs; thumbnails scroll sideways. */
.bw-fsel, .bw-row-chev { display: none; }
.bw-row-rent small { font-family: var(--body); font-size: 13px; font-weight: 600; color: var(--muted); margin-left: 2px; }
.bw-tab small { font-family: var(--body); font-size: 12px; letter-spacing: 0; color: var(--muted); margin-left: 4px; }
.bw-media-main { position: relative; }
/* v1.19.0: rent finder photos show whole (no crop), so a "Virtually enhanced" or "Artist rendering" tag printed in a corner is never cut off. */
.bw-media-main:not(.plan) { background: #0B0506; }
.bw-media-main:not(.plan) img { object-fit: contain; }
/* Top corner: the bottom corners carry "Virtually enhanced" / "Artist rendering" tags on some photos. */
.bw-media-count { position: absolute; right: 10px; top: 10px; padding: 3px 10px; border-radius: 999px; background: rgba(17, 7, 9, .8); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .06em; pointer-events: none; }
.bw-finder-none { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.bw-finder-none[hidden] { display: none; }
.bw-finder-none p { margin: 0; }
@media (max-width: 960px) {
  .bw-finder { display: block; }
  .bw-finder-list { gap: 10px; }
  .bw-panel { min-height: 0; margin-top: -10px; border-color: var(--burgundy-bright); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); }
  .bw-panel[hidden] { display: none; }
  .bw-panel .bw-panel-head { display: none; }
  .bw-panel .bw-panel-blurb { margin-top: 16px; }
  .bw-row { scroll-margin-top: 84px; }
  .bw-row:hover { transform: none; }
  .bw-row.open { border-radius: var(--radius) var(--radius) 0 0; }
  .bw-row.on:not(.open) { background: var(--surface); border-color: var(--line); } /* only the open row is highlighted */
  .bw-row-chev { display: block; width: 10px; height: 10px; border-right: 2px solid var(--brass); border-bottom: 2px solid var(--brass); transform: rotate(45deg) translate(-2px, -2px); transition: transform .25s var(--ease); justify-self: end; }
  .bw-row.open .bw-row-chev { transform: rotate(-135deg) translate(-2px, -2px); }
  .bw-row { grid-template-columns: 1.5fr 1fr auto 18px; }
  .bw-thumbs { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
  .bw-thumbs::-webkit-scrollbar { display: none; }
  .bw-thumbs > * { flex: 0 0 auto; scroll-snap-align: start; }
}
@media (max-width: 640px) {
  .bw-filters { display: none; }
  .bw-finder-head { margin-bottom: 16px; }
  .bw-fsel { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 10px; margin-bottom: 18px; }
  .bw-fsel label { display: flex; flex-direction: column; gap: 5px; min-width: 0; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
  .bw-fsel select { -webkit-appearance: none; appearance: none; width: 100%; min-height: 48px; padding: 0 34px 0 14px; font: inherit; font-size: 16px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ink); background: var(--raised) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23E6B873' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 13px center; border: 1px solid var(--line); border-radius: var(--radius); color-scheme: dark; cursor: pointer; }
  .bw-fsel select:focus-visible { outline: 2px solid var(--brass); outline-offset: 1px; }
  .bw-row { grid-template-columns: 1fr auto 18px; gap: 2px 12px; padding: 12px 14px 12px 16px; }
  .bw-row-name strong { font-size: 15.5px; letter-spacing: .03em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .bw-row-name span { font-size: 13.5px; }
  .bw-row-name .bw-avail { margin-top: 4px; }
  .bw-row-spec { font-size: 13.5px; }
  .bw-row-rent { font-size: 20px; white-space: nowrap; }
  .bw-row-chev { grid-column: 3; grid-row: 1 / span 2; }
  .bw-panel .bw-media-main img { height: auto; aspect-ratio: 3 / 2; }
  .bw-panel .bw-thumb img { width: 72px; height: 50px; }
  .bw-panel-actions .bw-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .bw-row-chev { transition: none; } }

/* ── v1.20.0: OLD FORGE / NORTHEASTERN PENNSYLVANIA ──
   "Close to" list of nearby towns, and big count-up numbers with drawn icons (plane, city, road, interstate shield).
   Four across on computers, two by two on phones and tablets. */
.bw-area-near-h { margin: 22px 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rose); }
.bw-area-near { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bw-area-near li { font-size: 14px; font-weight: 600; color: var(--ink-2); padding: 6px 13px; border: 1px solid var(--line); border-radius: 999px; }
.bw-area-stats { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bw-area-stat { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.bw-area-stat .bw-stat-icon { margin: 0; }
.bw-area-stat .bw-stat-icon svg { width: 46px; height: 46px; }
.bw-area-n { display: flex; align-items: baseline; gap: 7px; margin-top: 4px; font-family: var(--display); font-weight: 700; font-size: clamp(52px, 5.4vw, 72px); line-height: 1; color: var(--brass); font-variant-numeric: tabular-nums; }
.bw-area-n small { font-size: .36em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.bw-area-t { font-size: 15px; line-height: 1.45; color: var(--ink-2); }
@media (max-width: 960px) {
  .bw-area-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .bw-area-stats { gap: 10px; margin-top: 30px; }
  .bw-area-stat { padding: 16px 16px 18px; gap: 6px; }
  .bw-area-stat .bw-stat-icon svg { width: 38px; height: 38px; }
  .bw-area-n { font-size: 54px; }
  .bw-area-t { font-size: 14px; }
  .bw-area-near li { font-size: 13px; padding: 5px 11px; }
}

/* ── v1.20.0: RENT FINDER PHOTO STRIP ──
   One sideways strip of photos the visitor swipes (scroll-snap, one photo per swipe). Arrows on the sides;
   photos show whole on a dark backdrop so corner tags ("Virtually enhanced") are never cut off. */
.bw-mswipe { position: relative; }
.bw-mtrack { display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; border-radius: 4px; background: #0B0506; }
.bw-mtrack::-webkit-scrollbar { display: none; }
.bw-mtrack:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; }
.bw-mslide { flex: 0 0 100%; scroll-snap-align: center; scroll-snap-stop: always; padding: 0; border: 0; background: none; cursor: zoom-in; display: block; }
.bw-mslide img { display: block; width: 100%; height: 400px; object-fit: contain; -webkit-user-drag: none; user-select: none; }
.bw-mnav { position: absolute; top: 50%; width: 40px; height: 40px; margin-top: -20px; border-radius: 50%; border: 1px solid rgba(230, 184, 115, .7); background: rgba(17, 7, 9, .72); cursor: pointer; padding: 0; }
.bw-mnav::before { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-right: 2px solid var(--brass); border-bottom: 2px solid var(--brass); }
.bw-mnav-prev { left: 8px; }
.bw-mnav-next { right: 8px; }
.bw-mnav-prev::before { transform: translate(-30%, -50%) rotate(135deg); }
.bw-mnav-next::before { transform: translate(-70%, -50%) rotate(-45deg); }
.bw-mnav:hover { background: rgba(17, 7, 9, .9); }
@media (max-width: 960px) {
  /* The panel sits inside the list (a column) on phones; flex-basis from the desktop rule capped it at 520 px tall. */
  .bw-finder-list > .bw-panel { flex: none; }
  .bw-mslide img { height: auto; aspect-ratio: 3 / 2; }
  .bw-mnav { width: 36px; height: 36px; margin-top: -18px; }
}
@media (prefers-reduced-motion: reduce) { .bw-mtrack { scroll-behavior: auto; } }
.bw-nowrap { white-space: nowrap; } /* v1.20.0: keeps Wilkes-Barre on one line */

/* ── v1.21.0: RENT FINDER MODES + HOMES & RENTS PAGE ──
   Compact (home page): first few matches + "See all". Full (Homes & Rents): every row, community filter on top. */
.bw-finder-full .bw-finder-head { flex-direction: column; align-items: flex-start; }
.bw-finder-full .bw-filters { width: 100%; }
.bw-finder-all { align-self: flex-start; margin-top: 8px; }
.bw-homes-top { min-height: 0; padding-bottom: 8px; }
.bw-homes-top .bw-sub { margin: 0 0 24px; max-width: 62ch; }
.bw-homes-top .bw-sub p { margin: 0; }
.bw-homes-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.bw-homes-links a { display: flex; flex-direction: column; gap: 4px; min-height: 44px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--ink); text-decoration: none; transition: border-color .2s; }
.bw-homes-links a:hover, .bw-homes-links a:focus-visible { border-color: var(--burgundy-bright); }
.bw-homes-links span { font-size: 14px; color: var(--muted); }
.bw-rentcard-all { display: block; text-align: center; padding: 10px 0; font-size: 14px; font-weight: 600; color: var(--brass); }
@media (max-width: 640px) {
  .bw-fsel .bw-fsel-wide { grid-column: 1 / -1; }
}
/* Footer links: 44 px tap targets on phones and tablets (were 19–24 px). */
@media (max-width: 960px) {
  .bw-footer ul { gap: 0; }
  .bw-footer li { padding: 0; }
  .bw-footer li a, .bw-footer-social a { display: inline-flex; align-items: center; min-height: 44px; }
}
.bw-finder-sec.bw-finder-full { padding-top: 40px; }

/* ── v1.22.0: LIVING IN OLD FORGE PAGE ──
   Page text beside a sticky "Close to" + rent card on computers; stacked on phones. */
.bw-area-top { min-height: 0; }
.bw-area-top .bw-area-stats { margin-top: 40px; }
.bw-area-body { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; }
.bw-area-text { max-width: 70ch; }
.bw-area-text > *:first-child { margin-top: 0; }
.bw-area-text p:first-child { font-size: 19px; color: var(--ink); }
.bw-area-text ul { padding-left: 20px; margin: 0 0 1em; }
.bw-area-text li { margin: 0 0 .55em; }
.bw-area-text strong { color: var(--ink); }
.bw-area-side { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 16px; }
.bw-area-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.bw-area-card p { margin: 0; color: var(--ink-2); }
.bw-area-card .bw-area-near { margin: 0; }
@media (max-width: 960px) {
  .bw-area-body { grid-template-columns: 1fr; gap: 28px; }
  .bw-area-side { position: static; }
}
.bw-area-card .bw-area-near-h { margin: 0 0 4px; }

/* ── v1.23.0: PHONE PASS ──
   Phones (640 px and narrower): inner pages open on a short photo band with the title; the finder rows show
   the community's photo; tour sections put the form right under a one-line heading (phone and address
   follow it); the form's community choices become two columns of tap targets. Computers are unchanged. */
.bw-head-img, .bw-row-thumb { display: none; }
@media (max-width: 640px) {
  .bw-not-phone { display: none !important; }

  /* Photo band */
  .bw-homes-top, .bw-area-top, .bw-app-top, .bw-faq-top { padding-top: 0; min-height: 0; }
  .bw-head.has-img .bw-head-band { position: relative; margin: 0 -24px 18px; min-height: 210px; display: flex; align-items: flex-end; overflow: hidden; background: #0B0506; }
  .bw-head.has-img .bw-head-img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .bw-head.has-img .bw-head-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(17, 7, 9, .94) 0%, rgba(17, 7, 9, .55) 50%, rgba(17, 7, 9, .08) 100%); }
  .bw-head.has-img .bw-head-title { position: relative; z-index: 1; padding: 0 24px 18px; }
  .bw-head.has-img .bw-kicker { color: #F5D9DE; margin-bottom: 4px; }
  .bw-head.has-img .bw-h1 { font-size: 24px; line-height: 1.15; margin: 0; color: #FFFFFF; text-shadow: 0 1px 12px rgba(0, 0, 0, .5); }
  .bw-head-sub { margin: 0 0 8px; }
  .bw-head-btns { display: none; } /* the sticky bar has Call and Schedule a Tour */
  .bw-homes-top { padding-bottom: 0; }
  .bw-finder-sec.bw-finder-full { padding-top: 4px; }
  .bw-finder-full .bw-finder-head { margin-bottom: 10px; }
  .bw-finder-full .bw-finder-head .bw-sub { display: none; }
  .bw-area-top .bw-split { gap: 0; }

  /* Application: the form first, then the page text and steps */
  .bw-app-split { display: flex; flex-direction: column; gap: 28px; }
  .bw-app-split > .bw-form { order: -1; }

  /* Rent finder rows: community photo on the left */
  .bw-row { grid-template-columns: 64px minmax(0, 1fr) auto 18px; gap: 2px 10px; }
  .bw-row-thumb { display: block; grid-column: 1; grid-row: 1 / span 2; width: 64px; height: 64px; border-radius: 6px; overflow: hidden; background: #0B0506; }
  .bw-row-thumb img { width: 100%; height: 100%; object-fit: cover; }
  .bw-row-name, .bw-row-spec { grid-column: 2; }
  .bw-row-spec { grid-row: 2; }
  .bw-row-rent { grid-column: 3; grid-row: 1 / span 2; }
  .bw-row-chev { grid-column: 4; }
  .bw-row-name strong { white-space: normal; overflow: visible; line-height: 1.2; } /* names wrap beside the photo instead of being cut off */

  /* Tour sections: heading → form → reply time, phone, address */
  #tour > .bw-split { display: flex; flex-direction: column; gap: 14px; }
  #tour > .bw-split > div:first-child { display: contents; }
  #tour .bw-door { display: none; }
  #tour .bw-h2 { order: 1; margin: 0; font-size: 26px; }
  #tour .bw-form { order: 2; }
  #tour .bw-sub, #tour .bw-big-phone, #tour .bw-muted { order: 3; margin: 0; }
  #tour .bw-sub { margin-top: 10px; }

  /* Form: community choices as two columns of tap targets; shorter message box */
  .bw-checks { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .bw-checks legend { width: 100%; margin-bottom: 4px; }
  .bw-checks label { flex: 1 1 40%; min-width: 0; margin: 0; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--raised); font-size: 14px; line-height: 1.2; }
  .bw-checks input { flex: none; }
  .bw-checks label:has(input:checked) { border-color: var(--burgundy-bright); background: #4A1424; }
  .bw-form textarea { height: 76px; min-height: 0; }

  /* Small uppercase labels: 11 px → 12 px */
  .bw-fsel label { font-size: 12px; }
}

/* ── v1.24.0: QUESTIONS & ANSWERS, REVIEWS ── */
.bw-faq h2 { margin: 1.6em 0 .6em; font-size: 20px; letter-spacing: .08em; text-transform: uppercase; color: var(--rose); }
.bw-faq h2:first-child { margin-top: 0; }
.bw-faq details { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); margin: 0 0 10px; }
.bw-faq details[open] { border-color: var(--burgundy-bright); }
.bw-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 14px; min-height: 52px; padding: 12px 18px; font-weight: 700; color: var(--ink); font-size: 17px; line-height: 1.3; }
.bw-faq summary::-webkit-details-marker { display: none; }
.bw-faq summary::after { content: ""; flex: none; width: 10px; height: 10px; border-right: 2px solid var(--brass); border-bottom: 2px solid var(--brass); transform: rotate(45deg) translate(-2px, -2px); transition: transform .25s var(--ease); }
.bw-faq details[open] summary::after { transform: rotate(-135deg) translate(-2px, -2px); }
.bw-faq summary:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; border-radius: var(--radius); }
.bw-faq details > :not(summary) { margin: 0; padding: 0 18px 14px; color: var(--ink-2); font-size: 16px; }
.bw-faq details > p + p, .bw-faq details > ul + p { padding-top: 0; }
.bw-faq-list { list-style: none; margin: 0; padding: 0 18px 12px; }
.bw-faq details .bw-faq-list { padding: 0 18px 10px; }
.bw-faq-list li { padding: 6px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.bw-faq-list li:last-child { border-bottom: 0; }
.bw-faq-top { min-height: 0; padding-bottom: 0; }
.bw-faq-body { padding-top: 24px; }
#questions .bw-faq { margin-top: 18px; }
@media (prefers-reduced-motion: reduce) { .bw-faq summary::after { transition: none; } }

.bw-reviews { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin-top: 22px; }
.bw-review { margin: 0; padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); display: flex; flex-direction: column; gap: 14px; }
.bw-review-stars { color: var(--brass); letter-spacing: .12em; font-size: 16px; }
.bw-review blockquote { margin: 0; }
.bw-review blockquote p { margin: 0; font-size: 17px; line-height: 1.55; color: var(--ink); }
.bw-review blockquote p::before { content: "\201C"; }
.bw-review blockquote p::after { content: "\201D"; }
.bw-review figcaption { margin-top: auto; display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--muted); }
.bw-review figcaption strong { color: var(--ink); font-size: 15px; }
.bw-review figcaption a { color: var(--brass); font-weight: 600; margin-top: 4px; }
.bw-reviews-note { margin-top: 16px; font-size: 14px; }
@media (max-width: 640px) {
  .bw-reviews { grid-auto-flow: column; grid-auto-columns: 85%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; margin: 18px -24px 0; padding: 0 24px 4px; scrollbar-width: none; }
  .bw-reviews::-webkit-scrollbar { display: none; }
  .bw-review { scroll-snap-align: start; padding: 20px; }
  .bw-faq summary { font-size: 16px; padding: 12px 14px; }
  .bw-faq details > :not(summary), .bw-faq-list, .bw-faq details .bw-faq-list { padding-left: 14px; padding-right: 14px; }
}

/* ── v1.26.0: BLOG ── */
.bw-blog .bw-sub { max-width: 720px; margin-bottom: 34px; }
.bw-post-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.bw-post-card .bw-tile-photo img { height: 210px; object-position: 50% 50%; }
.bw-post-card strong { font-size: 20px; line-height: 1.3; }
.bw-post-excerpt { color: var(--ink-2); font-size: 15px; line-height: 1.5; }
.bw-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.bw-pagination .page-numbers { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid var(--line); border-radius: var(--radius); color: var(--ink); text-decoration: none; font-weight: 700; }
.bw-pagination .current { background: var(--burgundy); border-color: var(--burgundy); color: #fff; }
.bw-article .bw-kicker a { color: inherit; text-decoration: none; }
.bw-article .bw-h1 { text-transform: none; letter-spacing: .01em; }
.bw-article-meta { margin: -6px 0 24px; }
.bw-article-img { margin: 0 0 30px; }
.bw-article-img img { width: 100%; height: auto; border-radius: var(--radius); display: block; }
.bw-article-img figcaption { color: var(--muted); font-size: 13px; margin-top: 8px; }
.bw-article-body { font-size: 18px; line-height: 1.75; }
.bw-article-body img { max-width: 100%; height: auto; border-radius: var(--radius); }
.bw-article-body blockquote { border-left: 3px solid var(--brass); margin: 1.4em 0; padding: 4px 0 4px 18px; color: var(--ink); }
.bw-article-body iframe, .bw-article-body video { max-width: 100%; }
.bw-post-cta { margin-top: 48px; padding: 30px; border: 1px solid var(--burgundy-bright); border-radius: var(--radius); background: var(--surface); }
.bw-post-cta .bw-h2 { margin: 6px 0 12px; }
.bw-post-cta p { color: var(--ink-2); }
.bw-post-cta-list { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; font-weight: 700; }
@media (max-width: 640px) { .bw-post-cta { padding: 22px 18px; } .bw-article-body { font-size: 17px; } }
