/*
Theme Name: The Bluffs at New Era
Template: kadence
Description: Child theme of Kadence for a tiny-home community on a river bluff in Linden, Tennessee. Colors come from the community's own mark: pine green, sand, river blue-gray and cream. Each section rises out of the one above it along a hazy ridge line, and the homesite map is drawn in the same flat style as the logo. Every section is a standard block the office can edit.
Version: 1.0
*/

@font-face { font-family: "Linden Hill"; src: url("fonts/linden-hill-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Albert Sans"; src: url("fonts/albert-sans-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }

:root {
    --bn-cream: #f8f4e9;
    --bn-paper: #fffdf7;
    --bn-pine: #3f4c2b;
    --bn-pine-deep: #28311c;
    --bn-pine-soft: #6f7d55;
    --bn-sand: #d4b37f;
    --bn-sand-soft: #ecdcbc;
    --bn-river: #94b8b8;
    --bn-river-deep: #4f7776;
    --bn-ink: #22261c;
    --bn-ink-2: rgba(34, 38, 28, 0.72);
    --bn-ink-3: rgba(34, 38, 28, 0.52);
    --bn-light-2: rgba(248, 244, 233, 0.78);
    --bn-light-3: rgba(248, 244, 233, 0.56);
    --bn-gut: clamp(16px, 4.6vw, 76px);
    --bn-max: 1240px;
    --bn-sp: clamp(64px, 9vw, 132px);
    --bn-serif: "Linden Hill", "Iowan Old Style", Georgia, serif;
    --bn-sans: "Albert Sans", "Helvetica Neue", Arial, sans-serif;
    --bn-ridge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 90V58c70-14 120-34 190-30s110 30 190 26 130-44 220-46 140 34 230 30 120-26 200-28 150 24 230 18 120-20 180-18v80z'/%3E%3C/svg%3E");
    --bn-ridge-far: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 90V40c90 6 160-26 260-24s150 36 250 30 140-38 240-36 170 40 260 34 160-34 250-30 110 14 180 10v66z'/%3E%3C/svg%3E");
}

html { scroll-padding-top: 110px; }
body { font-family: var(--bn-sans); color: var(--bn-ink); background: var(--bn-pine-deep); font-size: 18px; line-height: 1.65; overflow-x: clip; -webkit-font-smoothing: antialiased; }
.site, #wrapper, .content-bg, body.content-style-unboxed .site { background: transparent; }
#inner-wrap { background: var(--bn-cream); }
h1, h2, h3, h4, .entry-title { font-family: var(--bn-serif); font-weight: 400; color: inherit; letter-spacing: 0; }
h1 { font-size: clamp(2.8rem, 6.6vw, 6rem); line-height: 0.98; margin: 0 0 0.35em; }
h2 { font-size: clamp(2.2rem, 4.4vw, 3.9rem); line-height: 1.02; margin: 0 0 0.45em; }
h3 { font-size: clamp(1.6rem, 2.4vw, 2.1rem); line-height: 1.1; margin: 0 0 0.35em; }
p { margin: 0 0 1em; }
a { color: inherit; text-decoration-color: var(--bn-sand); text-decoration-thickness: 2px; text-underline-offset: 4px; }
a:hover { color: var(--bn-river-deep); }
::selection { background: var(--bn-sand); color: var(--bn-ink); }

.bn-sample-bar { margin: 0; padding: 7px var(--bn-gut); background: var(--bn-pine-deep); color: var(--bn-light-2); font-size: 0.8rem; line-height: 1.5; }
.bn-lede { font-size: clamp(1.12rem, 1.55vw, 1.34rem); color: var(--bn-ink-2); max-width: 34em; }
.bn-quiet { font-size: 0.86rem; color: var(--bn-ink-3); }
.bn-more { font-weight: 650; margin-top: 1.4em; }
.bn-more a { text-decoration: none; border-bottom: 2px solid var(--bn-sand); padding-bottom: 3px; }
.bn-more a::after { content: " →"; color: var(--bn-river-deep); }

/* header */
#masthead, #masthead .site-header-row-container-inner { background: var(--bn-cream); }
#masthead .site-container { padding-left: var(--bn-gut); padding-right: var(--bn-gut); max-width: none; }
#masthead .site-header-main-section-left { padding: 8px 0; }
.site-branding a.brand { gap: 14px; align-items: center; }
.site-branding .custom-logo { height: 76px; width: auto; max-height: none; }
.site-header .site-title { font-family: var(--bn-serif); font-weight: 400; font-size: 1.55rem; line-height: 1.05; color: var(--bn-pine) !important; letter-spacing: 0; }
.site-branding .site-description { display: none; }
.main-navigation .primary-menu-container > ul > li.menu-item > a { font-family: var(--bn-sans); font-weight: 560; font-size: 0.98rem; color: var(--bn-ink); padding-left: 0.75em; padding-right: 0.75em; }
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover, .main-navigation .primary-menu-container > ul > li.current-menu-item > a { color: var(--bn-river-deep); }
.main-navigation .primary-menu-container > ul > li.menu-item.bn-nav-cta > a { background: var(--bn-pine); color: var(--bn-cream); margin-left: 10px; padding: 0.8em 1.15em; border-radius: 4px; }
.main-navigation .primary-menu-container > ul > li.menu-item.bn-nav-cta > a:hover { background: var(--bn-pine-deep); color: var(--bn-cream); }
.menu-toggle-open { color: var(--bn-pine) !important; }
#mobile-drawer .drawer-inner { background: var(--bn-pine-deep); }
#mobile-drawer .mobile-navigation ul li > a { font-family: var(--bn-serif); font-size: 1.5rem; color: var(--bn-cream); }

/* sections and the ridge each one rises out of */
.wp-block-group__inner-container { display: contents; }
.entry-content { margin: 0; }
.entry-content > .alignfull { margin: 0 !important; width: auto; max-width: none; }
.entry-content > section.wp-block-group { --bn-bg: var(--bn-cream); position: relative; padding: var(--bn-sp) var(--bn-gut); background: var(--bn-bg); }
section.wp-block-group > .wp-block-group__inner-container > * { max-width: var(--bn-max); margin-left: auto; margin-right: auto; }
.entry-content > section.bn-ridged { margin-top: 0 !important; }
.bn-ridged::before, .bn-ridged::after { content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); pointer-events: none; background: var(--bn-bg); -webkit-mask: var(--bn-ridge) bottom / 100% 100% no-repeat; mask: var(--bn-ridge) bottom / 100% 100% no-repeat; }
.bn-ridged::before { height: clamp(34px, 5vw, 72px); z-index: 2; }
.bn-ridged::after { height: clamp(48px, 7vw, 104px); opacity: 0.45; z-index: 1; -webkit-mask-image: var(--bn-ridge-far); mask-image: var(--bn-ridge-far); }
.entry-content > section.bn-paper { --bn-bg: var(--bn-paper); }
.entry-content > section.bn-sand { --bn-bg: var(--bn-sand-soft); }
.entry-content > section.bn-pine { --bn-bg: var(--bn-pine); color: var(--bn-cream); }
.bn-pine .bn-lede, .bn-pine p { color: var(--bn-light-2); }
.bn-pine .bn-quiet { color: var(--bn-light-3); }
.bn-pine a:hover { color: var(--bn-sand); }
.bn-pine .wp-block-button__link { background: var(--bn-cream); color: var(--bn-pine-deep); border-color: var(--bn-cream); }
.bn-pine .wp-block-button__link:hover { background: var(--bn-sand); border-color: var(--bn-sand); color: var(--bn-ink); }
.wp-block-columns.bn-split { gap: clamp(28px, 5vw, 80px); align-items: center; margin: 0 auto; }
.bn-photo { margin: 0 !important; }
.bn-photo img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 6px; }
.bn-photo--tall img { aspect-ratio: 4 / 5; }

/* buttons */
.entry-content .wp-block-button__link, .bn-submit, .bn-map__go { font-family: var(--bn-sans); font-weight: 650; font-size: 1rem; border-radius: 4px; padding: 0.95em 1.5em; background: var(--bn-pine); color: var(--bn-cream); border: 2px solid var(--bn-pine); transition: background .2s ease, color .2s ease, border-color .2s ease; text-decoration: none; display: inline-block; }
.entry-content .wp-block-button__link:hover, .bn-submit:hover, .bn-map__go:hover { background: var(--bn-pine-deep); border-color: var(--bn-pine-deep); color: var(--bn-cream); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--bn-pine) !important; }
.wp-block-buttons { gap: 14px; margin-top: 1.8em; }

/* hero: the overlook */
.entry-content > .wp-block-cover.bn-hero { min-height: min(92svh, 900px); padding: clamp(56px, 8vw, 120px) var(--bn-gut) clamp(120px, 14vw, 190px); align-items: flex-start; }
.bn-hero .wp-block-cover__background { background: linear-gradient(160deg, rgba(40, 49, 28, .78) 0%, rgba(40, 49, 28, .45) 38%, rgba(40, 49, 28, 0) 62%) !important; opacity: 1 !important; }
.bn-hero .wp-block-cover__image-background { object-position: 60% 60%; }
.bn-hero .wp-block-cover__inner-container { max-width: var(--bn-max); width: 100%; margin: 0 auto; color: var(--bn-cream); }
.bn-hero .wp-block-cover__inner-container > * { max-width: 640px; }
.bn-hero h1 { color: var(--bn-cream); text-shadow: 0 2px 30px rgba(20, 24, 14, .35); }
.bn-hero .bn-lede { color: var(--bn-light-2); }
.bn-hero .wp-block-button__link { background: var(--bn-cream); color: var(--bn-pine); border-color: var(--bn-cream); }
.bn-hero .wp-block-button__link:hover { background: var(--bn-sand); border-color: var(--bn-sand); color: var(--bn-ink); }
.bn-hero .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--bn-cream) !important; border-color: rgba(248, 244, 233, .7); }
.bn-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(248, 244, 233, .12); }

/* the view: one big sentence beside the mist */
.bn-view__line { font-family: var(--bn-serif); font-size: clamp(1.9rem, 3.6vw, 3.3rem); line-height: 1.12; color: var(--bn-pine); max-width: 16em; }
.bn-facts { list-style: none; padding: 0; margin: 1.6em 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.bn-facts li { border-top: 2px solid var(--bn-sand); padding-top: 12px; font-size: 0.95rem; color: var(--bn-ink-2); }
.bn-facts strong { display: block; font-family: var(--bn-serif); font-weight: 400; font-size: clamp(2.2rem, 3.4vw, 3rem); color: var(--bn-pine); line-height: 1.1; }

/* the homesite map */
.bn-mapsec h2 { color: var(--bn-pine-deep); }
.bn-map { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(250px, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; margin-top: 30px !important; }
.bn-map__svg { display: block; width: 100%; height: auto; }
.bn-map__ground { fill: #7c8a5c; }
.bn-map__fence { fill: #8d9a69; stroke: var(--bn-paper); stroke-width: 3; stroke-dasharray: 2 9; stroke-linecap: round; }
.bn-map__lane { fill: none; stroke: var(--bn-sand); stroke-width: 58; stroke-linecap: round; }
.bn-map__pine { fill: var(--bn-pine-deep); }
.bn-map__staff rect { fill: var(--bn-pine-soft); stroke: rgba(255, 253, 247, .4); stroke-width: 2; }
.bn-map__staff text { fill: var(--bn-cream); font-family: var(--bn-sans); font-weight: 650; font-size: 22px; text-anchor: middle; }
.bn-lot { cursor: pointer; outline: none; }
.bn-lot rect { fill: var(--bn-pine); stroke: var(--bn-paper); stroke-width: 3; transition: transform .2s ease, fill .2s ease; transform-box: fill-box; transform-origin: center; }
.bn-lot .bn-lot__home { fill: var(--bn-cream); }
.bn-lot text { fill: var(--bn-cream); font-family: var(--bn-serif); font-size: 40px; text-anchor: middle; }
.bn-lot.is-reserved rect { fill: var(--bn-sand); }
.bn-lot.is-reserved text, .bn-lot.is-reserved .bn-lot__home { fill: var(--bn-ink); }
.bn-lot.is-leased rect { fill: #a7b2a9; }
.bn-lot.is-leased text, .bn-lot.is-leased .bn-lot__home { fill: rgba(34, 38, 28, .6); }
.bn-lot:hover rect, .bn-lot:focus-visible rect { transform: scale(1.05); }
.bn-lot.is-on rect { stroke: var(--bn-river); stroke-width: 9; }
.bn-lot:focus-visible rect { stroke: var(--bn-river-deep); stroke-width: 9; }
.bn-map__legend { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 0.92rem; color: var(--bn-ink-2); }
.bn-map__legend i { display: inline-block; width: 14px; height: 14px; border-radius: 3px; margin-right: 7px; vertical-align: -2px; background: var(--bn-pine); }
.bn-map__legend .is-reserved i { background: var(--bn-sand); }
.bn-map__legend .is-leased i { background: #a7b2a9; }
.bn-map__legend span { color: var(--bn-ink-3); }
.bn-map__panel { background: var(--bn-paper); border-radius: 8px; padding: clamp(20px, 2.4vw, 30px); border-top: 6px solid var(--bn-pine); box-shadow: 0 24px 50px -30px rgba(40, 49, 28, .5); }
.bn-map__status { display: inline-block; font-size: 0.85rem; font-weight: 650; padding: 4px 10px; border-radius: 3px; background: var(--bn-pine); color: var(--bn-cream); margin: 0 0 12px; }
.bn-map__status.is-reserved { background: var(--bn-sand); color: var(--bn-ink); }
.bn-map__status.is-leased { background: #a7b2a9; color: var(--bn-ink); }
.bn-map__name { font-size: clamp(2rem, 3vw, 2.6rem); color: var(--bn-pine-deep); margin: 0 0 6px; }
.bn-map__note { color: var(--bn-ink-2); }
.bn-map__facts { margin: 14px 0 20px; display: grid; gap: 0; }
.bn-map__facts div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid rgba(34, 38, 28, .12); }
.bn-map__facts dt { color: var(--bn-ink-3); }
.bn-map__facts dd { margin: 0; font-weight: 600; text-align: right; }
.bn-map__hint { color: var(--bn-ink-3); margin: 0; }
.bn-lots { width: 100%; border-collapse: collapse; margin-top: 36px !important; font-size: 0.95rem; }
.bn-lots caption { text-align: left; font-family: var(--bn-serif); font-size: 1.6rem; color: var(--bn-pine-deep); padding-bottom: 10px; }
.bn-lots th, .bn-lots td { text-align: left; padding: 10px 12px; border-bottom: 1px solid rgba(34, 38, 28, .14); }
.bn-lots thead th { font-weight: 650; color: var(--bn-ink-3); font-size: 0.86rem; }
.bn-lots tbody th { font-family: var(--bn-serif); font-weight: 400; font-size: 1.25rem; color: var(--bn-pine); }
.bn-lots tr.is-leased td, .bn-lots tr.is-leased th { color: var(--bn-ink-3); }

/* ways to live here */
.bn-ways { margin-top: 32px !important; gap: clamp(20px, 3vw, 40px) !important; }
.bn-way { border-top: 5px solid var(--bn-sand); padding-top: 22px; }
.bn-way h3 { color: inherit; }
.bn-way .bn-photo img { aspect-ratio: 4 / 3; margin-bottom: 18px; }

/* included */
.bn-included { list-style: none; padding: 0; margin: 1.2em 0 0; columns: 2; column-gap: 32px; }
.bn-included li { break-inside: avoid; padding: 10px 0 10px 30px; position: relative; border-bottom: 1px solid rgba(248, 244, 233, .16); }
.bn-paper .bn-included li, .bn-sand .bn-included li { border-color: rgba(34, 38, 28, .12); }
.bn-included li::before { content: ""; position: absolute; left: 0; top: 17px; width: 14px; height: 14px; border-radius: 50%; background: var(--bn-sand); }
.bn-included strong { font-weight: 650; }
.bn-utilities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 28px auto 0 !important; }
.bn-utility { background: var(--bn-paper); border-radius: 6px; padding: 22px 22px 18px; border-left: 6px solid var(--bn-river); }
.bn-utility h3 { font-size: 1.6rem; margin: 0 0 4px; color: var(--bn-pine-deep); }
.bn-utility p { margin: 0; color: var(--bn-ink-2); font-size: 0.96rem; }

/* gallery */
.bn-strip { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 12px; margin-top: 28px !important; }
.bn-strip .bn-photo img { aspect-ratio: 4 / 3; height: 100%; }
.bn-strip .bn-photo:first-child { grid-row: span 2; }
.bn-strip .bn-photo:first-child img { aspect-ratio: auto; }
.wp-block-gallery.bn-gallery { gap: 12px !important; margin-top: 28px !important; }
.wp-block-gallery.bn-gallery .wp-block-image img { border-radius: 6px; aspect-ratio: 3 / 2; object-fit: cover; }
.bn-video { position: relative; margin: 32px auto 0 !important; }
.bn-video img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; filter: brightness(.72); }
.bn-video figcaption { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--bn-cream); text-align: center; padding: 20px; margin: 0; font-size: 1rem; }
.bn-video figcaption::before { content: ""; width: 84px; height: 84px; border-radius: 50%; background: rgba(248, 244, 233, .92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%233f4c2b' d='M9 6l10 6-10 6z'/%3E%3C/svg%3E") 56% 50% / 36px no-repeat; }

/* faq */
.bn-faq { max-width: 860px !important; }
.bn-faq .wp-block-details { border-top: 1px solid rgba(34, 38, 28, .2); margin: 0; }
.bn-faq .wp-block-details:last-child { border-bottom: 1px solid rgba(34, 38, 28, .2); }
.bn-faq summary { cursor: pointer; list-style: none; font-family: var(--bn-serif); font-size: clamp(1.35rem, 2.2vw, 1.75rem); color: var(--bn-pine-deep); padding: 22px 52px 22px 0; position: relative; }
.bn-faq summary::-webkit-details-marker { display: none; }
.bn-faq summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 24px; height: 24px; margin-top: -12px; border-radius: 50%; background: var(--bn-sand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2328311c' stroke-width='2.4'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E") center / 16px no-repeat; transition: transform .25s ease; }
.bn-faq details[open] summary::after { transform: rotate(180deg); }
.bn-faq details p { padding: 0 0 22px; margin: 0; color: var(--bn-ink-2); max-width: 44em; }

/* tour form */
.bn-form-wrap { margin-top: 28px; }
.bn-form { display: grid; gap: 18px; background: var(--bn-paper); border-radius: 8px; padding: clamp(20px, 3vw, 40px); border-top: 6px solid var(--bn-pine); box-shadow: 0 30px 60px -40px rgba(40, 49, 28, .6); }
.bn-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; max-width: 620px; }
.bn-row[hidden] { display: none; }
.bn-row--2 { grid-template-columns: minmax(0, 1fr); }
.bn-row--end { grid-template-columns: minmax(0, 1fr); align-items: start; }
.bn-row--end .bn-submit { justify-self: start; }
.bn-form > label { max-width: 620px; }
.bn-form label { display: flex; flex-direction: column; gap: 6px; font-size: 0.9rem; font-weight: 600; color: var(--bn-ink-2); }
.bn-form label span { font-weight: 400; color: var(--bn-ink-3); }
.bn-form input[type=text], .bn-form input[type=email], .bn-form input[type=tel], .bn-form input[type=number], .bn-form input[type=date], .bn-form select, .bn-form textarea { font-family: var(--bn-sans); font-size: 1.02rem; color: var(--bn-ink); background: #fff; border: 1.5px solid rgba(34, 38, 28, .3); border-radius: 4px; padding: 0.72em 0.8em; width: 100%; }
.bn-form input:focus, .bn-form select:focus, .bn-form textarea:focus { outline: 3px solid var(--bn-river); outline-offset: 1px; border-color: var(--bn-pine); }
.bn-kind { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.bn-kind legend { font-family: var(--bn-serif); font-size: 1.5rem; color: var(--bn-pine-deep); margin-bottom: 8px; padding: 0; }
.bn-kind label { flex-direction: row; align-items: center; gap: 10px; border: 1.5px solid rgba(34, 38, 28, .25); border-radius: 4px; padding: 12px 16px; cursor: pointer; font-size: 1rem; color: var(--bn-ink); }
.bn-kind label:has(input:checked) { border-color: var(--bn-pine); background: rgba(63, 76, 43, .07); }
.bn-kind input { accent-color: var(--bn-pine); }
.bn-captcha input { max-width: 160px; }
.bn-hp { position: absolute !important; left: -9999px !important; }
.bn-done { background: var(--bn-pine); color: var(--bn-cream); padding: 20px 24px; border-radius: 6px; margin-bottom: 18px; }
.bn-done p { margin: 0; color: var(--bn-light-2); }
.bn-done .bn-done__title { font-family: var(--bn-serif); font-size: 1.6rem; color: var(--bn-cream); margin-bottom: 4px; }
.bn-error { background: #f6e3cf; border-left: 6px solid #b0652a; padding: 14px 18px; border-radius: 4px; }
.bn-visit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 40px !important; color: var(--bn-ink-2); font-size: 0.98rem; }
.bn-visit strong { display: block; font-family: var(--bn-serif); font-weight: 400; font-size: 1.45rem; color: var(--bn-pine-deep); }

/* footer */
.site-footer { background: var(--bn-pine-deep); color: var(--bn-light-2); }
.site-footer .site-footer-row-container-inner, .site-footer .site-bottom-footer-wrap { background: var(--bn-pine-deep) !important; }
.site-footer a { color: var(--bn-cream); }
.site-footer .footer-html { font-size: 0.86rem; }

@media (max-width: 980px) {
    .bn-map { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
    .wp-block-columns.bn-split { flex-direction: column !important; }
    .bn-facts, .bn-utilities, .bn-visit { grid-template-columns: minmax(0, 1fr); }
    .bn-included { columns: 1; }
    .bn-row, .bn-row--2, .bn-row--end { grid-template-columns: minmax(0, 1fr); }
    .bn-submit { width: 100%; }
    .bn-strip { grid-template-columns: 1fr 1fr; }
    .bn-strip .bn-photo:first-child { grid-column: span 2; grid-row: auto; }
    .bn-strip .bn-photo:first-child img { aspect-ratio: 16 / 9; }
    .entry-content > .wp-block-cover.bn-hero { align-items: flex-end; padding-bottom: clamp(90px, 18vw, 140px); }
    .bn-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(40, 49, 28, .15) 0%, rgba(40, 49, 28, .82) 70%) !important; }
}
@media (max-width: 560px) {
    .bn-map__board { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .bn-map__svg { min-width: 680px; }
    body { font-size: 17px; }
    .site-branding .custom-logo { height: 58px; }
    .site-header .site-title { font-size: 1.2rem; }
    .bn-lots th, .bn-lots td { padding: 9px 6px; }
}
@media (prefers-reduced-motion: reduce) {
    .bn-lot rect { transition: none; }
}
