:root {
  --ink: #251b07;
  --text: #202020;
  --cream: #fcf5ea;
  --orange: #f49c22;
  --red: #cb4124;
  --footer: #251b07;
  --black: #000;
  --line: #ddd8cf;
  --content: 1315px;
  --heading: "Cormorant Garamond", Georgia, serif;
  --body: "Open Sans", sans-serif;
}

@font-face { font-family: "Raleway"; src: url("../fonts/gallery/google-fonts/fonts/raleway-1ptug8zys_skggpnyc0itw.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: #fff; font-family: var(--body); font-size: 15px; line-height: 1.55; }
img { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0 0 22px; color: var(--ink); font-family: var(--heading); font-weight: 500; line-height: 1.05; }
h1 { font-size: 64px; }
h2 { font-size: 48px; }
h3 { font-size: 29px; }
p { margin: 0 0 20px; }
ul { margin: 0; padding: 0; list-style: none; }
.shell-width { width: min(calc(100% - 124px), var(--content)); margin-inline: auto; }
.section { position: relative; padding: 82px 0; }
.cream { background: var(--cream); }
.centered { text-align: center; }
.wide-copy { max-width: 1190px; margin: 0 auto 40px; }
.button { display: inline-block; padding: 14px 29px; border: 0; background: var(--orange); color: #fff; font-size: 14px; line-height: 1.2; text-decoration: none; }
.button:hover, .button:focus-visible { filter: brightness(.92); }
.button-red { background: var(--red); }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 10px 16px; background: #fff; color: #000; transform: translateY(-150%); }
.skip-link:focus { transform: none; }

.eyebrow-bar { height: 55px; background: #151515; color: #fff; font-size: 17px; font-style: italic; line-height: 55px; text-align: center; }
.site-header { position: relative; z-index: 40; height: 120px; background: #fff; }
.header-row { display: flex; align-items: center; height: 100%; gap: 28px; }
.brand { flex: 0 0 auto; width: 245px; }
.brand img { width: 245px; height: 92px; object-fit: contain; }
.primary-nav { margin-left: auto; }
.nav-list { display: flex; align-items: center; gap: 25px; }
.nav-item { position: relative; display: flex; align-items: center; }
.nav-item > a { padding: 48px 0; color: #444; font-size: 14px; text-decoration: none; white-space: nowrap; }
.nav-item.is-active > a { color: var(--orange); }
.submenu-toggle { margin-left: 4px; padding: 5px; border: 0; background: none; color: #333; cursor: pointer; }
.submenu { position: absolute; z-index: 30; top: calc(100% - 28px); left: -20px; display: none; width: 280px; max-height: 70vh; overflow-y: auto; padding: 12px 0; background: #fff; border-top: 3px solid var(--orange); box-shadow: 0 8px 20px rgb(0 0 0 / 14%); }
.has-submenu:hover > .submenu, .has-submenu:focus-within > .submenu, .has-submenu.is-open > .submenu { display: block; }
.submenu a { display: block; padding: 8px 20px; color: #222; font-size: 13px; text-decoration: none; }
.submenu a:hover { background: var(--cream); }
.header-phone { padding: 12px 17px; background: var(--orange); color: #fff; font-size: 14px; text-decoration: none; white-space: nowrap; }
.menu-toggle { display: none; }
.mobile-call-bar { display: none; }

.home-page { color: var(--ink); font-family: "Raleway", sans-serif; font-size: 18px; line-height: 1.5; }
.home-page h1, .home-page h2, .home-page h3 { font-weight: 600; line-height: 1; }
.home-page .button { font-family: "Roboto", sans-serif; font-size: 14px; }
.home-hero { position: relative; height: 770px; overflow: hidden; background-image: none !important; color: #fff; }
.home-hero::before { content: ""; position: absolute; inset: -175px 0 0; height: 945px; background: url("../img/2025/06/h-4.jpg") center / cover no-repeat; }
.hero-shade, .consult-shade { position: absolute; inset: 0; background: rgb(0 0 0 / 55%); }
.hero-content { position: relative; z-index: 1; padding-top: 115px; }
.hero-heading-row { display: grid; grid-template-columns: 935px 205px; align-items: start; max-width: 1140px; margin: 3px auto 0; text-align: center; }
.hero-heading-row h1 { width: 706px; margin-right: 0; margin-left: 214px; color: #fff; font-size: 57px; font-weight: 700; line-height: 57px; }
.hero-heading-row p { margin-top: 54px; font-size: 21px; }
.hero-rule { display: block; width: 150px; height: 5px; margin: 70px auto 0; background: #fff; }
.anniversary-badge { width: 175px; margin: 15px auto 0; }
.hero-services { display: grid; grid-template-columns: repeat(2, 1fr); max-width: 1095px; margin: -35px auto 0; background: rgb(8 28 3 / 67%); }
.hero-services article { min-height: 260px; padding: 50px 50px 35px; text-align: center; }
.hero-services article + article { border-left: 1px solid rgb(255 255 255 / 20%); }
.hero-services h2 { color: #fff; font-family: var(--body); font-size: 24px; font-weight: 800; text-transform: uppercase; }
.hero-services p { min-height: 68px; font-size: 16px; }

.intro-section { min-height: 917px; }
.intro-section .shell-width { width: 1315px; }
.intro-section h2 { width: 1040px; margin: 0 auto 25px; font-size: 58px; line-height: 58px; }
.intro-section .wide-copy { width: 1040px; max-width: none; margin-bottom: 35px; font-family: "Open Sans", sans-serif; font-size: 18px; line-height: 27px; }
.intro-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.intro-gallery { grid-template-columns: repeat(3, 432px); justify-content: space-between; }
.intro-gallery img { width: 100%; height: 410px; object-fit: cover; }
.intro-section .wide-copy { margin-bottom: 43px; }
.about-section { min-height: 705px; display: flex; align-items: center; }
.about-section .shell-width { width: 1280px; }
.about-section .split-grid { grid-template-columns: 678px 602px; gap: 0; }
.about-section .video-placeholder { margin: 30px; }
.about-section .copy-block { padding: 30px; font-size: 19px; line-height: 28.5px; }
.about-section h2 { font-size: 48px; line-height: 48px; }
.split-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 58px; }
.video-placeholder { height: 350px; background: #000; }
.copy-block { text-align: left; }
.copy-block h2::after, .turn-key h2::after, .albums-section > h2::after, .floor-plans > h3::after { content: ""; display: block; width: 120px; height: 2px; margin-top: 20px; background: var(--ink); }
.home-page .copy-block h2 { position: relative; margin-bottom: 44px; }
.home-page .copy-block h2::after { position: absolute; bottom: -22px; left: 0; margin-top: 0; }
.veteran-row { display: grid; grid-template-columns: 150px 1fr; align-items: center; }
.veteran-row img { width: 120px; margin-inline: auto; }

.custom-section { min-height: 1572px; }
.custom-section > .shell-width { width: 1267px; }
.custom-intro { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 0; margin-bottom: 92px; }
.custom-intro .copy-block { padding: 30px; font-family: "Open Sans", sans-serif; font-size: 17px; line-height: 25.5px; }
.custom-intro h2 { font-size: 50px; line-height: 50px; }
.custom-intro img { width: calc(100% - 20px); margin: 10px; }
.custom-intro img { width: calc(100% - 20px); height: 455px; object-fit: cover; }
.popular-plans h2 { margin-bottom: 25px; font-size: 48px; line-height: 48px; }
.popular-plans > .wide-copy { width: 1140px; max-width: none; font-size: 18px; line-height: 27px; }
.plan-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; width: 1250px; margin: 71px auto 45px; text-align: left; }
.plan-card { background: #fff; border: 1px solid #d7d7d7; box-shadow: 0 2px 5px rgb(0 0 0 / 10%); padding-bottom: 24px; }
.plan-card img { width: 100%; height: 218px; object-fit: fill; }
.plan-card h3, .plan-card p, .plan-card > a { margin-left: 30px; margin-right: 30px; }
.plan-card h3 { margin-top: 22px; margin-bottom: 10px; font-size: 32px; font-weight: 900; line-height: 32px; }
.plan-card > a { color: #ee8700; }
.build-better-section { min-height: 650px; }
.build-better-section .shell-width { width: 1255px; }
.three-copy-grid { position: relative; top: 28px; display: grid; grid-template-columns: 339px 362px 496px; gap: 19px; align-items: start; margin-bottom: 29px; }
.three-copy-grid > * { padding: 20px; font-size: 17px; line-height: 25.5px; }
.three-copy-grid h2 { font-size: 42px; line-height: 50.4px; }
.feature-banner { display: flex; width: 1220px; min-height: 141px; margin-inline: auto; align-items: center; justify-content: center; gap: 80px; padding: 30px 85px; background-position: center; background-size: cover; color: #fff; position: relative; top: -12px; }
.feature-banner::before, .service-card-grid article::before, .featured-plan-grid a::before { content: ""; position: absolute; inset: 0; background: #000; }
.feature-banner::before { opacity: .7; }
.service-card-grid article::before { opacity: .65; }
.featured-plan-grid a::before { opacity: .4; }
.featured-plan-grid a:nth-child(3)::before { opacity: .2; }
.feature-banner > * { position: relative; z-index: 1; }
.feature-banner p { max-width: 730px; margin: 0; font-style: italic; text-align: center; }

.services-section { min-height: 741px; }
.services-section h2, .additions-section > .shell-width > h2 { font-size: 58px; line-height: 58px; }
.services-section > .shell-width > p, .additions-section > .shell-width > p { max-width: 1040px; margin: 0 auto 37px; font-family: "Open Sans", sans-serif; font-size: 18px; line-height: 27px; }
.services-section .shell-width, .additions-section .shell-width { width: min(calc(100% - 188px), 1252px); }
.service-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.service-card-grid article { position: relative; top: 12px; display: flex; min-height: 381px; flex-direction: column; justify-content: center; padding: 21px; background-position: center; background-size: cover; color: #fff; }
.service-card-grid article > * { position: relative; z-index: 1; }
.service-card-grid h3 { color: #fff; font-size: 34px; line-height: 34px; }
.service-card-grid p { font-family: "Open Sans", sans-serif; font-size: 17px; line-height: 25.5px; }
.additions-section { min-height: 1086px; }
.project-cta { display: grid; width: 1140px; min-height: 178px; grid-template-columns: 844px 296px; align-items: stretch; margin: 103px auto 0; padding: 0; background: var(--cream); text-align: left; }
.project-cta > div { padding: 17px 194px 17px 17px; }
.project-cta > .button { align-self: center; justify-self: center; }
.project-cta h2 { margin-bottom: 12px; font-size: 38px; line-height: 38px; }
.project-cta p { max-width: 800px; margin: 0; }
.featured-plans-section { min-height: 1214px; }
.featured-plans-section .shell-width { width: 1260px; }
.featured-plans-section > .shell-width > h2 { width: 730px; margin-inline: auto; font-size: 48px; line-height: 48px; }
.featured-copy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; max-width: 1050px; margin: 0 auto 40px; }
.featured-plan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 45px; }
.featured-plan-grid a { position: relative; display: flex; height: 320px; flex-direction: column; align-items: center; justify-content: center; background-position: center; background-size: cover; color: #fff; text-decoration: none; }
.featured-plan-grid h3, .featured-plan-grid b { position: relative; z-index: 1; }
.featured-plan-grid h3 { margin-bottom: 20px; color: #fff; font-size: 36px; line-height: 36px; }
.featured-plan-grid b { padding: 13px 25px; background: var(--orange); font-size: 13px; font-weight: 400; }
.fine-details-section { min-height: 595px; display: flex; align-items: center; }
.fine-details-section .shell-width { width: 1280px; }
.fine-grid { display: grid; grid-template-columns: 640px 640px; gap: 0; align-items: center; }
.fine-grid .copy-block { padding: 30px; font-family: "Open Sans", sans-serif; font-size: 18px; line-height: 27px; }
.fine-grid h2, .industry-section h2 { font-size: 58px; line-height: 58px; }
.fine-photo { height: 320px; }
.previous-section { min-height: 832px; }
.previous-section h2 { font-size: 48px; line-height: 48px; }
.previous-section { padding-top: 90px; }
.previous-section p { max-width: 585px; margin-inline: auto; font-size: 18px; line-height: 27px; }
.previous-space { height: 445px; }
.testimonial-section { min-height: 667px; padding-top: 50px; }
.testimonial-wrap { max-width: 1060px; }
.testimonial-wrap { position: relative; top: 1px; }
.testimonial-wrap h2 { font-size: 48px; line-height: 48px; }
.testimonial-wrap em { color: #ed8b00; font-weight: 700; }
.testimonial-wrap blockquote { margin: 40px auto 25px; font-size: 17px; font-style: italic; }
.testimonial-wrap blockquote a { color: #ed8b00; }
.integrity-section { min-height: 893px; display: flex; align-items: flex-start; }
.integrity-grid { display: grid; width: 1200px; grid-template-columns: 468px 732px; gap: 0; }
.integrity-grid { margin-top: 90px; }
.integrity-grid .copy-block { padding: 30px; font-size: 19px; line-height: 28.5px; }
.integrity-grid h2 { font-size: 48px; line-height: 48px; }
.consult-section, .model-ready { position: relative; display: flex; min-height: 501px; align-items: center; background-position: center; background-size: cover; color: #fff; }
.model-ready .consult-shade { background: rgb(0 0 0 / 65%); }
.consult-section .shell-width, .model-ready .shell-width { position: relative; z-index: 1; max-width: 980px; }
.consult-section h2, .model-ready h2 { color: #fff; }
.consult-section p, .model-ready p { font-size: 16px; }
.consult-section .consult-shade { background: rgb(0 0 0 / 70%); }
.trust-section { min-height: 1205px; display: flex; align-items: center; }
.trust-grid { position: relative; top: 56px; display: grid; width: 1100px; grid-template-columns: 1fr 1fr; gap: 199px 0; }
.trust-grid > * { padding: 20px; }
.trust-grid article h2 { font-size: 31px; line-height: 37.2px; }
.trust-grid blockquote { margin: 0; text-align: center; font-style: italic; }
.trust-grid blockquote a { color: #d47c00; }
.trust-grid cite { display: block; margin-top: 28px; }
.featured-home-section { min-height: 641px; display: flex; align-items: center; }
.featured-home-section .shell-width { width: 1200px; }
.featured-home-grid { grid-template-columns: 600px 600px; gap: 0; }
.featured-home-grid > div { padding: 30px; }
.featured-home-grid > div:first-child { position: relative; top: 29px; }
.featured-home-grid > .copy-block { padding-top: 20px; }
.featured-main { height: 335px; background-position: center; background-size: cover; }
.featured-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-top: 5px; }
.featured-thumbs span { height: 56px; background-position: center; background-size: cover; }
.featured-home-grid h2 { font-size: 48px; line-height: 48px; }
.industry-section { min-height: 421px; padding-top: 70px; }

.model-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; width: min(calc(100% - 124px), var(--content)); max-width: var(--content); min-height: 7012px; align-items: stretch; }
.model-main { min-width: 0; padding: 92px 60px 0 0; }
.model-title { margin-bottom: 20px; text-align: center; }
.model-title span { color: #df8d1e; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; }
.model-title h1 { margin-top: 12px; }
.model-hero { width: 820px; height: 550px; margin: 0 auto; background-position: center; background-size: cover; }
.model-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; width: 820px; margin: 8px auto 75px; }
.model-thumbs span { height: 92px; background-position: center; background-size: cover; }
.why-section h2 { margin-bottom: 20px; }
.why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin: 45px 0 100px; }
.why-grid img { width: 72px; height: 72px; margin: 0 auto 15px; }
.why-grid h3 { margin-bottom: 12px; }
.why-grid a { color: var(--red); text-decoration: none; }
.albums-section > h2::after, .floor-plans > h3::after { margin-inline: auto; }
.album-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; margin-top: 45px; text-align: center; }
.album-card { height: 500px; padding-top: 55px; }
.album-card.loaded { height: 520px; padding-top: 0; }
.album-main-image { height: 330px; background-position: center; background-size: cover; }
.album-strip { display: flex; justify-content: center; gap: 8px; margin: 8px auto 16px; }
.album-strip i { display: block; width: 78px; height: 58px; background: #b2b2b2; }
.loaded .album-strip i { height: 55px; background-color: #ccc; background-position: center; background-size: cover; }
.responsive-main { display: none; }
.album-card h3 { font-size: 25px; }
.album-note { display: block; margin-top: -20px; font-size: 12px; font-style: italic; }
.customize-copy { margin: 25px 0 45px; font-family: var(--heading); font-size: 26px; }
.customize-copy em { color: var(--red); font-style: normal; }
.floor-plans > h3 { font-size: 28px; }
.floor-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.floor-grid div { display: flex; height: 450px; align-items: flex-end; justify-content: center; padding-bottom: 25px; font-size: 13px; font-weight: 700; }
.turn-key { width: 430px; min-height: 520px; padding: 80px 0 40px; }
.model-sidebar { padding: 95px 0 60px 40px; border-left: 1px solid #ddd; }
.model-sidebar section { margin-bottom: 55px; }
.model-sidebar h2 { font-size: 26px; }
.model-sidebar li, .model-sidebar a { color: #111; font-size: 14px; line-height: 1.65; text-decoration: none; }
.standards-section { min-height: 537px; display: flex; align-items: center; }
.standards-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; max-width: 820px; gap: 90px; }
.standards-grid > div:first-child { text-align: center; }
.standards-grid h2 { font-size: 42px; }
.standards-grid h3 { font-size: 25px; }
.standards-grid ul { list-style: disc; padding-left: 25px; }
.standards-grid li { margin-bottom: 10px; }
.model-featured { min-height: 375px; }
.model-ready { min-height: 520px; }

.site-footer { position: relative; min-height: 592px; background: var(--footer); color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr 1.35fr .8fr; gap: 65px; min-height: 487px; padding-top: 100px; }
.site-footer h3 { color: #fff; font-size: 25px; }
.site-footer address { font-style: normal; line-height: 1.9; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer li { margin-bottom: 7px; line-height: 1.4; }
.social-links { display: flex; gap: 17px; color: var(--orange); }
.social-links a { color: var(--orange); font-weight: 700; }
.footer-consultation { display: none; margin-top: 34px; text-align: center; }
.footer-consultation h3 { margin-bottom: 16px; }
.footer-disclaimer { position: absolute; right: 0; bottom: 112px; left: 0; margin: 0; font-size: 10px; text-align: center; }
.footer-bottom { min-height: 105px; padding: 25px 0; background: #000; font-size: 11px; }
.footer-bottom-row { display: flex; justify-content: space-between; gap: 20px; }
.footer-bottom a, .footer-bottom-row span:last-child { color: var(--orange); }
.back-to-top { position: fixed; z-index: 20; right: 25px; bottom: 25px; display: none; width: 42px; height: 42px; border: 0; background: rgb(255 255 255 / 70%); color: #444; cursor: pointer; }
.back-to-top.is-visible { display: block; }

@media (min-width: 1026px) {
  .model-hero, .model-thumbs { position: relative; top: 3px; left: 8px; }
  .album-card:first-child .album-strip i:last-child { order: -1; }
  .album-card:nth-child(2) .album-strip i:last-child { order: -1; }
  .album-card:nth-child(2) .album-main-image { background-image: url("../img/2022/01/album-2.jpg") !important; }
  .albums-section { max-width: 902px; margin-inline: auto; }
  .album-grid { margin-top: 148px; }
  .album-card.loaded { height: 507px; }
  .album-card.loaded:nth-child(3), .album-card.loaded:nth-child(4) { height: 452px; }
  .album-main-image { height: 325px; }
  .loaded .album-strip i { height: 58px; }
  .album-card:not(.loaded) { padding-top: 382px; }
  .album-note { margin-top: 15px; }
}

@media (max-width: 1200px) {
  .shell-width { width: min(calc(100% - 60px), var(--content)); }
  .nav-list { gap: 16px; }
  .header-phone { display: none; }
  .brand { width: 190px; }
  .brand img { width: 190px; }
}

@media (max-width: 1025px) {
  body { font-size: 14px; }
  h1 { font-size: 49px; }
  h2 { font-size: 39px; }
  h3 { font-size: 25px; }
  .shell-width { width: min(calc(100% - 60px), 650px); }
  .intro-section .shell-width, .about-section .shell-width, .custom-section > .shell-width,
  .build-better-section .shell-width, .featured-plans-section .shell-width,
  .fine-details-section .shell-width, .featured-home-section .shell-width,
  .services-section .shell-width, .additions-section .shell-width { width: min(calc(100% - 60px), 650px); }
  .intro-section h2, .intro-section .wide-copy, .popular-plans > .wide-copy,
  .plan-card-grid, .feature-banner, .project-cta, .integrity-grid, .trust-grid { width: 100%; }
  .about-section .split-grid, .featured-home-grid { grid-template-columns: 1fr; }
  .project-cta { grid-template-columns: 1fr auto; }
  .project-cta > div { padding: 35px; }
  .eyebrow-bar { height: 71px; line-height: 71px; }
  .site-header { height: 150px; }
  .brand, .brand img { width: 500px; height: 150px; }
  .menu-toggle { display: flex; margin-left: auto; align-items: center; gap: 8px; border: 0; background: none; color: #333; text-transform: uppercase; }
  .menu-toggle-lines, .menu-toggle-lines::before, .menu-toggle-lines::after { display: block; width: 25px; height: 2px; background: #222; }
  .menu-toggle-lines { position: relative; }
  .menu-toggle-lines::before, .menu-toggle-lines::after { content: ""; position: absolute; left: 0; }
  .menu-toggle-lines::before { top: -7px; }
  .menu-toggle-lines::after { top: 7px; }
  .primary-nav { position: absolute; top: 100%; left: 0; display: none; width: 100%; max-height: 70vh; overflow-y: auto; background: #fff; box-shadow: 0 8px 16px rgb(0 0 0 / 12%); }
  .primary-nav.is-open { display: block; }
  .nav-list { display: block; padding: 15px 30px; }
  .nav-item { display: grid; grid-template-columns: 1fr auto; }
  .nav-item > a { padding: 12px 0; }
  .submenu { position: static; grid-column: 1 / -1; width: auto; max-height: none; border: 0; box-shadow: none; }
  .home-hero { height: 1581px; }
  .hero-content { padding-top: 125px; }
  .hero-heading-row { display: block; }
  .hero-heading-row h1 { font-size: 54px; }
  .anniversary-badge { width: 170px; margin: 20px auto; }
  .hero-heading-row p { margin-top: 35px; }
  .hero-rule { margin-top: 45px; }
  .hero-services { grid-template-columns: 1fr; max-width: 620px; margin-top: 80px; }
  .hero-services article { min-height: 335px; padding: 65px 45px; }
  .hero-services article + article { border-top: 1px solid rgb(255 255 255 / 20%); border-left: 0; }
  .intro-section { min-height: 1206px; }
  .intro-gallery { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; }
  .intro-gallery img { height: 260px; }
  .about-section { min-height: 1113px; }
  .split-grid { grid-template-columns: 1fr; }
  .video-placeholder { height: 360px; }
  .custom-section { min-height: 2656px; }
  .custom-intro { grid-template-columns: 1fr; max-width: 570px; margin-inline: auto; }
  .custom-intro img { height: 190px; }
  .plan-card-grid { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; margin-bottom: 45px; }
  .plan-card img { height: 250px; visibility: hidden; }
  .build-better-section { min-height: 821px; }
  .three-copy-grid { grid-template-columns: 1fr; }
  .feature-banner { display: block; padding: 45px; }
  .feature-banner .button { display: table; margin: 25px auto 0; }
  .services-section { min-height: 1691px; }
  .service-card-grid { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }
  .service-card-grid article { min-height: 360px; }
  .additions-section { min-height: 1691px; }
  .project-cta { margin-top: 50px; padding: 35px; }
  .featured-plans-section { min-height: 2116px; }
  .featured-copy-grid { grid-template-columns: 1fr; gap: 15px; }
  .featured-plan-grid a { height: 300px; }
  .fine-details-section { min-height: 737px; }
  .fine-grid { grid-template-columns: 1fr; }
  .fine-photo { display: none; }
  .previous-section { min-height: 990px; }
  .testimonial-section { min-height: 639px; }
  .integrity-section { min-height: 1312px; }
  .integrity-grid { grid-template-columns: 1fr; }
  .consult-section { min-height: 586px; }
  .trust-section { min-height: 1919px; }
  .trust-grid { grid-template-columns: 1fr; gap: 70px; }
  .featured-home-section { min-height: 827px; }
  .industry-section { min-height: 627px; }
  .model-layout.shell-width { display: block; width: 100%; max-width: none; background: #fff; }
  .model-page { font-size: 18px; }
  .model-main { min-height: 13354px; padding: 90px 0 0; background: #fff; }
  .model-title, .model-hero, .model-thumbs { position: relative; top: -98px; }
  .model-title, .why-section, .albums-section, .floor-plans, .turn-key { width: calc(100% - 60px); margin-inline: auto; }
  .model-hero, .model-thumbs { width: calc(100% - 30px); }
  .model-hero { height: 550px; margin-inline: auto; }
  .model-page--cucumber .model-hero { background-image: url("../img/2023/03/album-2-9.jpg") !important; }
  .model-thumbs { margin-top: 10px; padding-inline: 20px; }
  .model-thumbs span { height: 100px; }
  .why-section h2 { font-size: 42px; }
  .why-grid h3, .album-card h3 { font-size: 32px; }
  .why-grid { grid-template-columns: 1fr; gap: 55px; }
  .albums-section { position: relative; top: 18px; margin-bottom: 18px; }
  .album-grid { grid-template-columns: 1fr; max-width: none; margin-inline: auto; }
  .album-card:first-child .album-main-image { background-image: url("../img/2023/03/cucumber-cove-1-3.jpg") !important; }
  .album-card:nth-child(4) .album-main-image { background-image: url("../img/2022/01/album-4-2.jpg") !important; }
  .album-card, .album-card.loaded { height: 555px; }
  .album-main-image { height: 325px; }
  .responsive-main { display: block; }
  .album-card.responsive-loaded { height: 555px; padding-top: 0; }
  .album-strip { margin-top: 11px; }
  .album-strip i { flex: 1 1 0; width: auto; height: 127px; }
  .loaded .album-strip i { height: 127px; }
  .album-strip i:nth-child(n+5) { display: none; }
  .album-card:not(.loaded) .album-strip { justify-content: flex-end; }
  .album-card:not(.loaded) .album-strip i { flex: 0 0 calc((100% - 16px) / 3); }
  .album-card:not(.loaded) .album-strip i:nth-child(n+4) { display: none; }
  .album-card:nth-child(1) { height: 554px; }
  .album-card:nth-child(2) { height: 574px; }
  .album-card:nth-child(3) { height: 554px; }
  .album-card:nth-child(4) { height: 574px; }
  .album-card:nth-child(5) { height: 827px; }
  .album-card:nth-child(n+6):nth-child(even) { height: 574px; }
  .album-card:nth-child(n+7):nth-child(odd) { height: 554px; }
  .album-card:nth-child(n+8):nth-child(even) { height: 569px; }
  .floor-grid { grid-template-columns: 1fr; }
  .floor-grid div { height: 260px; }
  .turn-key { min-height: 650px; padding-top: 70px; }
  .model-sidebar { width: min(calc(100% - 60px), 650px); min-height: 2357px; margin-left: auto; margin-right: 0; padding: 75px 0; border-left: 0; background: #fff; }
  .model-sidebar li, .model-sidebar a { font-size: 16px; }
  .standards-section { min-height: 722px; }
  .model-featured { min-height: 299px; }
  .model-ready { min-height: 537px; }
  .standards-grid h3 { font-size: 32px; line-height: 1.5; }
  .standards-grid .button, .model-featured .button, .model-ready .button { padding: 15px 30px; font-size: 16px; }
  .model-featured h2, .model-ready h2 { font-size: 42px; line-height: 1.5; }
  .model-ready p { font-size: 18px; line-height: 1.5; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 45px 60px; min-height: 837px; align-content: start; padding-top: 90px; font-size: 17px; line-height: 1.5; }
  .footer-grid > section:nth-child(3), .footer-grid > section:nth-child(4) { grid-column: 1 / -1; }
  .site-footer h3 { font-size: 32px; line-height: 1.5; }
  .footer-grid > section:nth-child(4), .social-links { justify-content: center; text-align: center; }
  .social-links { font-size: 26px; }
  .footer-consultation { display: block; }
  .footer-consultation .button { padding: 20px 30px; font-size: 16px; }
  .site-footer { min-height: 975px; }
  .footer-bottom { min-height: 138px; }
  .footer-bottom-row { display: grid; grid-template-columns: 1fr 1fr; }

  /* HOME follows the original tablet composition: 15px gutters and full-width stacks. */
  .home-page .shell-width,
  .home-page .intro-section .shell-width,
  .home-page .about-section .shell-width,
  .home-page .custom-section > .shell-width,
  .home-page .build-better-section .shell-width,
  .home-page .featured-plans-section .shell-width,
  .home-page .fine-details-section .shell-width,
  .home-page .featured-home-section .shell-width,
  .home-page .services-section .shell-width,
  .home-page .additions-section .shell-width { width: calc(100% - 30px); max-width: none; padding-inline: 0; }
  .home-page .intro-section h2,
  .home-page .services-section h2,
  .home-page .additions-section > .shell-width > h2 { font-size: 32px; line-height: 32px; }
  .home-page .consult-section h2 { font-size: 48px; line-height: 57.6px; }
  .home-page .industry-section h2 { font-size: 42px; line-height: 42px; }
  .home-page .hero-heading-row h1,
  .home-page .featured-plans-section > .shell-width > h2 { width: 100%; margin-left: 0; }
  .home-page .hero-content { padding-top: 408px; }
  .home-page .hero-heading-row { display: flex; max-width: none; flex-direction: column; margin-top: 0; }
  .home-page .hero-heading-row > div { display: contents; }
  .home-page .hero-heading-row h1 { order: 1; width: calc(100% - 30px); margin: 0 auto; font-size: 40px; line-height: 40px; }
  .home-page .anniversary-badge { order: 2; width: 354px; margin: 30px auto 0; }
  .home-page .hero-heading-row p { order: 3; width: 100%; margin: 20px 0 0; font-size: 22px; line-height: 22px; }
  .home-page .hero-rule { display: none; }
  .home-page .hero-services { width: 100%; max-width: none; margin-top: 84px; }
  .home-page .hero-services article { min-height: 250px; padding: 30px 15px; }
  .home-page .hero-services h2 { font-size: 20px; line-height: 30px; }
  .home-page .hero-services p { min-height: 0; font-size: 17px; line-height: 25.5px; }
  .home-page .hero-services .button { padding: 15px 30px; font-size: 17px; }
  .home-page .intro-gallery,
  .home-page .custom-intro,
  .home-page .plan-card-grid,
  .home-page .service-card-grid { width: 100%; max-width: none; }
  .home-page .intro-gallery img { height: 235px; }
  .home-page .custom-intro img { width: 100%; height: 260px; margin: 15px 0; }
  .home-page .custom-intro { margin-bottom: 0; }
  .home-page .about-section .copy-block { order: 1; }
  .home-page .about-section .video-placeholder { order: 2; }
  .home-page .about-section .copy-block { padding-top: 5px; }
  .home-page .custom-intro { height: 875px; }
  .home-page .plan-card-grid { width: calc(100% - 38px); }
  .home-page .plan-card-grid { margin-top: 40px; }
  .home-page .plan-card { padding-bottom: 17px; }
  .home-page .plan-card img { height: 385px; visibility: visible; }
  .home-page .feature-banner { width: calc(100% + 30px); min-height: 220px; margin-left: -15px; padding-block: 34px; }
  .home-page .three-copy-grid { top: 28px; gap: 0; }
  .home-page .three-copy-grid > * { padding: 15px; }
  .home-page .three-copy-grid h2 br { display: none; }
  .home-page .three-copy-grid h2 br:nth-of-type(2) { display: block; }
  .home-page .service-card-grid article { min-height: 438px; }
  .home-page .additions-section .service-card-grid article { min-height: 443px; }
  .home-page .featured-plan-grid { grid-template-columns: 1fr; }
  .home-page .featured-plan-grid a { height: 363px; }
  .home-page .featured-home-grid > div:first-child { padding: 20px; }
  .home-page .featured-main { height: 185px; }
  .home-page .featured-thumbs { display: none; }
  .home-page .previous-section > .shell-width { position: relative; top: -15px; }
  .home-page .integrity-grid .copy-block { position: relative; top: 198px; }
  .home-page .consult-section .shell-width { transform: translateY(-4px); }
  .home-page .trust-grid { top: -50px; }
  .home-page .industry-section h2 { position: relative; top: 13px; }
  .home-page .intro-section { min-height: 1206px; }
  .home-page .custom-section { min-height: 3361px; }
  .home-page .custom-section { padding-bottom: 64px; }
  .home-page .build-better-section { min-height: 898px; padding-top: 47px; padding-bottom: 0; }
  .home-page .additions-section { min-height: 2041px; }
  .home-page .project-cta { margin-top: 0; padding: 15px; }
  .home-page .previous-section { min-height: 803px; }
  .home-page .testimonial-section { min-height: 826px; }
  .home-page .integrity-section { min-height: 1246px; }
  .home-page .consult-section { min-height: 559px; }
  .home-page .featured-home-section { min-height: 798px; }
  body:has(.home-page) .site-footer { min-height: 1015px; }

}

@media (min-width: 601px) and (max-width: 1025px) {
  .eyebrow-bar { height: 41px; font-size: 14px; line-height: 41px; }
  .site-header { height: 180px; }
  .header-row { position: relative; }
  .brand { position: absolute; top: 109px; left: -34px; width: 500px; height: auto; }
  .brand img { width: 500px; height: auto; }
  .menu-toggle { position: absolute; top: 194px; right: -34px; }
  .menu-toggle span:last-child { display: none; }
  .albums-section { top: 8px; }
  .album-card:nth-child(5) .album-main-image { background-image: url("../img/derived/cucumber-cove-album-5-tablet.png") !important; }
  .album-card:not(.loaded) .album-strip i { flex-basis: calc((100% - 24px) / 4); }
  .standards-grid { grid-template-columns: 1fr; gap: 28px; }
  .standards-grid h2 br { display: none; }
}

@media (max-width: 600px) {
  body { font-size: 13px; }
  h1 { font-size: 42px; }
  h2 { font-size: 36px; }
  h3 { font-size: 23px; }
  .shell-width { width: calc(100% - 40px); }
  .intro-section .shell-width, .about-section .shell-width, .custom-section > .shell-width,
  .build-better-section .shell-width, .featured-plans-section .shell-width,
  .fine-details-section .shell-width, .featured-home-section .shell-width,
  .services-section .shell-width, .additions-section .shell-width { width: calc(100% - 40px); }
  .project-cta { grid-template-columns: 1fr; }
  .section { padding: 70px 0; }
  .desktop-only { display: none; }
  .eyebrow-bar { display: flex; height: 62px; align-items: center; justify-content: center; padding: 0 20px; font-size: 14px; line-height: 1.5; white-space: normal; }
  .site-header { height: 120px; }
  .brand, .brand img { width: 240px; }
  .brand { height: auto; }
  .brand img { height: auto; }
  .menu-toggle span:last-child { display: none; }
  .home-hero { height: 1327px; }
  .hero-content { padding-top: 75px; }
  .hero-heading-row h1 { font-size: 40px; }
  .hero-heading-row p { font-size: 15px; }
  .anniversary-badge { width: 135px; }
  .hero-services { margin-top: 45px; }
  .hero-services article { min-height: 300px; padding: 45px 25px; }
  .hero-services h2 { font-size: 21px; }
  .hero-services p { font-size: 13px; }
  .intro-section { min-height: 1459px; }
  .intro-gallery img { height: 265px; }
  .about-section { min-height: 1108px; }
  .video-placeholder { height: 205px; }
  .veteran-row { grid-template-columns: 90px 1fr; }
  .veteran-row img { width: 80px; }
  .custom-section { min-height: 3017px; }
  .custom-intro img { height: 320px; }
  .plan-card img { height: 255px; }
  .custom-intro img { height: 320px; }
  .plan-card img { height: 255px; visibility: visible; }
  .build-better-section { min-height: 1194px; }
  .three-copy-grid h2 { font-size: 36px; }
  .feature-banner { padding: 30px 20px; }
  .services-section { min-height: 1606px; }
  .service-card-grid article { min-height: 330px; padding: 28px; }
  .additions-section { min-height: 1944px; }
  .project-cta { display: block; padding: 30px 22px; }
  .project-cta .button { margin-top: 20px; }
  .featured-plans-section { min-height: 1839px; }
  .featured-plan-grid { grid-template-columns: 1fr; }
  .featured-plan-grid a { height: 260px; }
  .fine-details-section { min-height: 819px; }
  .previous-section { min-height: 1220px; }
  .previous-space { height: 740px; }
  .testimonial-section { min-height: 896px; }
  .testimonial-wrap blockquote { margin-inline: 0; font-size: 14px; }
  .integrity-section { min-height: 1515px; }
  .consult-section { min-height: 864px; }
  .trust-section { min-height: 2409px; }
  .featured-home-section { min-height: 907px; }
  .featured-home-grid h2 { font-size: 36px; }
  .featured-main { height: 250px; }
  .industry-section { min-height: 507px; }
  .model-main { min-height: 12499px; padding-top: 65px; }
  .model-title, .model-hero, .model-thumbs { top: -4px; }
  .model-title, .why-section, .albums-section, .floor-plans, .turn-key { width: calc(100% - 40px); }
  .model-title h1 { font-size: 40px; }
  .model-hero { width: calc(100% - 30px); height: 550px; }
  .model-thumbs { gap: 4px; padding-inline: 0; margin-bottom: 65px; }
  .model-thumbs { grid-template-columns: repeat(3, 1fr); }
  .model-thumbs span:nth-child(n+4) { display: none; }
  .model-thumbs span { height: 64px; }
  .why-grid { margin-bottom: 90px; }
  .why-grid article { min-height: 280px; }
  .why-grid img { width: 60px; height: 60px; }
  .albums-section { width: 330px; position: relative; top: -54px; margin-bottom: -58px; }
  .album-card, .album-card.loaded, .album-card.responsive-loaded { height: 505px; }
  .album-main-image { height: 325px; }
  .album-strip i, .loaded .album-strip i { height: 77px; }
  .loaded .album-strip i:nth-child(n+4) { display: none; }
  .album-card:not(.loaded) .album-strip i { flex-basis: calc((100% - 8px) / 2); }
  .album-card:not(.loaded) .album-strip i:nth-child(n+3) { display: none; }
  .album-card.responsive-loaded { padding-top: 55px; }
  .album-card.loaded:nth-child(3) .album-strip { justify-content: flex-end; }
  .album-card.loaded:nth-child(3) .album-strip i { display: none; flex: 0 0 calc((100% - 8px) / 2); background-image: none !important; background-color: #b2b2b2; }
  .album-card.loaded:nth-child(3) .album-strip i:nth-child(-n+2) { display: block; }
  .album-card.loaded:nth-child(4) { padding-top: 55px; }
  .album-card.loaded:nth-child(4) .album-main-image, .responsive-main { display: none; }
  .album-card.loaded:nth-child(4) .album-strip { justify-content: flex-end; }
  .album-card.loaded:nth-child(4) .album-strip i { display: none; flex: 0 0 calc((100% - 8px) / 2); background-image: none !important; background-color: #b2b2b2; }
  .album-card.loaded:nth-child(4) .album-strip i:nth-child(-n+2) { display: block; }
  .album-card:nth-child(1) { height: 505px; }
  .album-card:nth-child(2) { height: 524px; }
  .album-card:nth-child(3) { height: 777px; }
  .album-card:nth-child(n+4):nth-child(even) { height: 524px; }
  .album-card:nth-child(n+5):nth-child(odd) { height: 505px; }
  .album-card:nth-child(n+8):nth-child(even) { height: 519px; }
  .album-note { margin-top: 0; }
  .floor-grid div { height: 230px; }
  .turn-key { width: calc(100% - 40px); min-height: 680px; }
  .model-sidebar { width: calc(100% - 40px); min-height: 2232px; margin-inline: auto; padding-top: 60px; }
  .model-sidebar h2 { font-size: 32px; line-height: 1.5; }
  .model-sidebar li, .model-sidebar a { font-size: 18px; line-height: 1.5; }
  .standards-section { min-height: 824px; }
  .standards-grid { grid-template-columns: 1fr; gap: 55px; }
  .model-featured { min-height: 280px; }
  .model-featured h2 { width: 350px; margin-inline: auto; line-height: 1; }
  .model-ready { min-height: 674px; }
  .model-ready .consult-shade { background: rgb(0 0 0 / 66%); }
  .footer-grid { gap: 36px 25px; min-height: 940px; padding-top: 70px; }
  .site-footer { min-height: 1101px; }
  .footer-disclaimer { bottom: 190px; font-size: 12px; }
  .footer-bottom { min-height: 161px; font-size: 11px; }
  .footer-bottom-row { display: flex; flex-direction: column; gap: 14px; text-align: center; }
  .mobile-call-bar { position: fixed; z-index: 60; right: 0; bottom: 0; left: 0; display: block; height: 51px; background: #008000; color: #fff; font-size: 18px; font-weight: 700; line-height: 51px; text-align: center; text-decoration: none; }

  /* HOME follows the original mobile composition: 15px gutters and measured section rhythm. */
  .home-page .shell-width,
  .home-page .intro-section .shell-width,
  .home-page .about-section .shell-width,
  .home-page .custom-section > .shell-width,
  .home-page .build-better-section .shell-width,
  .home-page .featured-plans-section .shell-width,
  .home-page .fine-details-section .shell-width,
  .home-page .featured-home-section .shell-width,
  .home-page .services-section .shell-width,
  .home-page .additions-section .shell-width { width: calc(100% - 30px); max-width: none; }
  .home-page .home-hero { height: 1301px; }
  .home-page .intro-section h2,
  .home-page .services-section h2,
  .home-page .additions-section > .shell-width > h2 { font-size: 32px; line-height: 32px; }
  .home-page .consult-section h2 { font-size: 48px; line-height: 57.6px; }
  .home-page .featured-home-grid h2 { font-size: 48px; line-height: 48px; }
  .home-page .industry-section h2 { font-size: 42px; line-height: 42px; }
  .home-page .hero-heading-row h1,
  .home-page .featured-plans-section > .shell-width > h2 { width: 100%; margin-left: 0; }
  .home-page .hero-content { padding-top: 145px; }
  .home-page .hero-heading-row h1 { width: calc(100% - 30px); font-size: 40px; line-height: 40px; }
  .home-page .anniversary-badge { width: 165px; }
  .home-page .hero-heading-row p { font-size: 22px; line-height: 33px; }
  .home-page .hero-services article { min-height: 301px; }
  .home-page .intro-gallery,
  .home-page .custom-intro,
  .home-page .plan-card-grid,
  .home-page .service-card-grid { width: 100%; max-width: none; }
  .home-page .intro-gallery img { height: 235px; }
  .home-page .custom-intro img { width: 100%; height: 260px; margin: 15px 0; }
  .home-page .custom-intro { margin-bottom: 0; }
  .home-page .about-section .copy-block { order: 1; padding-top: 5px; }
  .home-page .about-section .video-placeholder { order: 2; }
  .home-page .about-section { padding-bottom: 30px; }
  .home-page .custom-intro { height: 995px; }
  .home-page .plan-card-grid { margin-top: 15px; }
  .home-page .plan-card { padding-bottom: 17px; }
  .home-page .plan-card img { height: 198px; }
  .home-page .feature-banner { width: calc(100% + 30px); min-height: 274px; margin-left: -15px; padding-block: 21px; }
  .home-page .service-card-grid article { min-height: 377px; }
  .home-page .services-section .service-card-grid article:nth-child(2) { min-height: 338px; }
  .home-page .additions-section .service-card-grid article:nth-child(3) { min-height: 343px; }
  .home-page .featured-plan-grid a { height: 235px; }
  .home-page .three-copy-grid { gap: 0; }
  .home-page .three-copy-grid > * { padding: 15px; }
  .home-page .three-copy-grid h2 { font-size: 42px; line-height: 50.4px; }
  .home-page .three-copy-grid h2 br,
  .home-page .three-copy-grid h2 br:nth-of-type(2) { display: initial; }
  .home-page .project-cta { padding: 15px; }
  .home-page .project-cta > div { padding: 15px 0; }
  .home-page .project-cta { margin-top: 0; }
  .home-page .previous-space { height: 450px; }
  .home-page .featured-home-grid > div:first-child { padding: 10px; }
  .home-page .featured-main { height: 205px; }
  .home-page .featured-thumbs { display: none; }
  .home-page .previous-section > .shell-width { top: -34px; }
  .home-page .testimonial-wrap { position: relative; top: -31px; }
  .home-page .consult-section .shell-width { transform: translateY(-76px); }
  .home-page .trust-grid { top: 56px; }
  .home-page .industry-section h2 { top: -36px; }
  .home-page .intro-section { min-height: 1459px; }
  .home-page .about-section { min-height: 1109px; }
  .home-page .custom-section { min-height: 3135px; }
  .home-page .build-better-section { min-height: 1282px; padding-top: 47px; padding-bottom: 0; }
  .home-page .services-section { min-height: 1606px; }
  .home-page .additions-section { min-height: 1944px; padding-bottom: 7px; }
  .home-page .featured-plans-section { min-height: 1812px; }
  .home-page .previous-section { min-height: 905px; }
  .home-page .testimonial-section { min-height: 1211px; }
  .home-page .integrity-section { min-height: 1506px; }
  .home-page .consult-section { min-height: 836px; }
  .home-page .trust-section { min-height: 2358px; }
  .home-page .featured-home-section { min-height: 907px; }
  body:has(.home-page) .site-footer { min-height: 1083px; }
  body:has(.home-page) .footer-grid { min-height: 922px; }

}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Standard fan-out pages: hand-authored editorial and catalogue primitives. */
.page-hero { position: relative; display: flex; min-height: 500px; align-items: center; overflow: hidden; background: #39414a var(--hero-image, none) center / cover no-repeat; color: #fff; }
.page-hero::before { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / 54%); }
.page-hero-content { position: relative; z-index: 1; max-width: 1050px; padding: 60px 0; text-align: center; }
.page-hero h1 { max-width: 900px; margin: 0 auto 24px; color: #fff; font-size: clamp(46px, 5.2vw, 76px); line-height: 1; }
.page-hero p { max-width: 730px; margin: 0 auto 24px; font-size: 16px; }
.page-hero .button { margin-top: 8px; }
.standard-page, .index-page, .contact-page { color: var(--ink); }
.about-page .page-hero { min-height: 600px; }
.standard-page.about-page .page-section { background: #fff; }
.about-page .page-section:nth-of-type(2) { min-height: 690px; }
.about-page .page-section:nth-of-type(3) { min-height: 650px; }
.about-page .page-section:nth-of-type(4) { min-height: 1080px; }
.about-page .page-section:nth-of-type(5) { min-height: 690px; }
.about-page .page-section:nth-of-type(6) { min-height: 760px; }
.about-page .page-section:nth-of-type(2), .about-page .page-section:nth-of-type(7) { background: var(--cream); }
.about-page .page-section:nth-of-type(8) { min-height: 560px; }
.about-page .customer-quote blockquote { max-width: 780px; margin: 0 auto 18px; border: 0; font-style: italic; }
.about-page .customer-quote cite { display: block; margin-bottom: 24px; font-style: normal; }
.about-page .page-hero::before, .contact-page .page-hero::before { background: rgb(0 0 0 / 32%); }
.about-intro .shell-width { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 70px; }
.about-intro h2, .about-intro p:first-of-type { grid-column: 1 / -1; }
.roots-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.roots-grid figure { margin: 0; }
.roots-grid img { width: 100%; }
.roots-grid figcaption { font-size: 11px; text-align: center; }
.page-section { padding: 86px 0; }
.page-section > .shell-width { max-width: 1100px; }
.page-section h2 { margin-bottom: 28px; font-size: clamp(36px, 4vw, 57px); }
.page-section > .shell-width > p { max-width: 960px; margin-inline: auto; }
.page-section.centered p { max-width: 850px; }
.page-section ul, .page-section ol { max-width: 820px; margin: 20px auto; padding-left: 24px; list-style: disc; }
.page-section li { margin-bottom: 7px; }
.split-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: center; }
.split-section img { width: 100%; max-height: 470px; object-fit: cover; }
.split-copy p { max-width: none !important; }
.page-image-strip { padding: 70px 0; background: #fff; }
.page-image-strip .shell-width { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.page-image-strip img { width: 100%; height: 420px; object-fit: cover; }
.page-section:nth-of-type(even) { background: #fff; }
.page-section:nth-of-type(odd) { background: var(--cream); }
.standard-page .consult-section, .index-page .consult-section { position: relative; display: flex; min-height: 480px; align-items: center; overflow: hidden; background: #39414a var(--consult-image, none) center / cover no-repeat; color: #fff; }
.standard-page .consult-section .shell-width, .index-page .consult-section .shell-width { position: relative; z-index: 1; max-width: 980px; }
.standard-page .consult-section h2, .index-page .consult-section h2 { color: #fff; }
.standard-page .consult-section p, .index-page .consult-section p { max-width: 760px; margin: 0 auto 25px; }
.quality-band { padding: 90px 0; background: var(--cream); }
.quality-band .shell-width { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.quality-band h2 { margin: 0; font-size: 43px; }
.quality-band p { margin: 0; }
.model-catalog { padding: 62px 0 92px; }
.model-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.model-card { display: flex; min-height: 260px; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid #ddd7cc; box-shadow: 0 1px 4px rgb(0 0 0 / 10%); }
.model-card > img { width: 100%; height: 168px; object-fit: cover; }
.model-card-copy { display: flex; min-height: 150px; flex: 1; flex-direction: column; padding: 18px 20px 20px; }
.model-card h3 { margin: 0 0 7px; font-size: 25px; line-height: 1.05; }
.model-card p { min-height: 47px; margin: 0 0 12px; font-size: 13px; line-height: 1.35; }
.model-card a { margin-top: auto; color: #ed8b00; font-size: 13px; }
.index-intro { padding: 82px 0 60px; background: var(--cream); }
.index-intro h2 { margin-bottom: 20px; }
.index-intro p { max-width: 970px; margin: 0 auto; }
.index-page .page-hero { min-height: 640px; }
.index-page .index-intro { min-height: 400px; }
.index-page:not(.custom-homes) .model-card { min-height: 430px; }
.index-page.custom-homes .model-card { min-height: 270px; }
.index-page:not(.custom-homes) .page-hero { min-height: 780px; }
.series-introduction { min-height: 620px; padding: 95px 0 70px; background: #fff; }
.series-introduction h2, .catalog-heading h2 { margin-bottom: 28px; }
.series-introduction > .shell-width > p { max-width: 1000px; margin: 0 auto 35px; }
.series-intro-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; text-align: left; }
.catalog-heading { padding-bottom: 45px; }
.catalog-heading p { max-width: 1040px; margin: 0 auto; }
.custom-homes-frank-betz .model-card:nth-child(n+4) > img,
.custom-homes-don-gardner .model-card:nth-child(n+4) > img,
.custom-homes-lifestyle-series .model-card:nth-child(n+7) > img { display: none; }
.custom-homes .model-catalog .model-card > img { display: none; }
.index-page.custom-homes .model-catalog .model-card { min-height: 750px; }
.index-categories { padding: 58px 0; background: #fff; }
.index-categories .model-card { min-height: 250px; }
.gallery-page { min-height: 16900px; background: var(--cream); }
.fine-details-gallery { min-height: 13713px; }
.fine-details-gallery .gallery-heading { padding-top: 90px; }
.fine-details-gallery .gallery-heading h1 { font-size: 56px; }
.fine-details-gallery .gallery-heading p { max-width: 950px; margin: 24px auto 10px; }
.gallery-heading { padding: 118px 0 20px; text-align: center; }
.gallery-heading h1 { margin: 0; font-size: 64px; }
.gallery-divider { display: block; width: 150px; height: 3px; margin: 35px auto; background: #261b05; }
.gallery-filters { display: flex; justify-content: center; gap: 10px; }
.gallery-filters span { background: var(--orange); color: #fff; padding: 10px 14px; font-size: 16px; }
.gallery-wrap { width: calc(100% - 60px); margin: 0 auto; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; align-items: start; }
.gallery-tile { display: block; overflow: hidden; background: #eee; }
.gallery-tile img { width: 100%; aspect-ratio: 1.5; object-fit: cover; transition: transform .25s ease; }
.gallery-tile:hover img { transform: scale(1.03); }
.contact-info { padding: 82px 0; background: #fff; text-align: center; }
.contact-page .contact-info { min-height: 670px; }
.contact-page .page-hero { min-height: 780px; }
.contact-info h2 { margin-bottom: 40px; }
.contact-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; max-width: 900px; margin: 0 auto 40px; }
.contact-info-grid strong { display: block; margin-bottom: 12px; color: var(--ink); font-size: 36px; line-height: 1; }
.contact-info-grid h3 { margin-bottom: 8px; font-family: var(--heading); font-size: 24px; }
.contact-info-grid p { font-size: 13px; }
.consultation-section { padding: 70px 0 120px; }
.contact-page .consultation-section { min-height: 3650px; }
.consultation-section > .shell-width { max-width: 920px; }
.consultation-section h2 { margin-bottom: 22px; }
.consultation-section > .shell-width > p { max-width: 780px; margin-bottom: 55px; }
.consultation-section form { max-width: 840px; margin: 0 auto; }
.pricing-lead { margin: 28px auto 35px !important; text-align: center; }
.pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px 55px; max-width: 840px; margin: 0 auto 65px; }
.pricing-grid p { margin: 0; font-size: 13px; }
.custom-cost-title { margin-bottom: 12px; }
.form-intro { max-width: 800px; margin: 0 auto 42px !important; font-size: 13px; }
body:has(.contact-page) .footer-grid, body:has(.contact-page) .footer-disclaimer { display: none; }
body:has(.contact-page) .site-footer { min-height: 70px; background: #222; }
body:has(.contact-page) .footer-bottom { min-height: 70px; padding: 24px 0; background: #222; }
body:has(.contact-page) .footer-bottom-row { justify-content: center; }
body:has(.contact-page) .footer-bottom-row span:not(:first-child) { display: none; }
body:has(.contact-page) .consultation-section { min-height: 3688px; }
.consultation-section form > label, .consultation-section fieldset > label { display: block; margin: 0 0 10px; color: #28200f; font-size: 13px; font-weight: 700; }
.consultation-section input[type="text"], .consultation-section input[type="email"], .consultation-section input[type="tel"], .consultation-section textarea { display: block; width: 100%; min-height: 35px; margin-top: 5px; border: 1px solid #d8d2c7; background: #fff; padding: 7px 9px; font: inherit; }
.consultation-section textarea { min-height: 120px; resize: vertical; }
.form-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin: 22px 0; }
.consultation-section fieldset { min-width: 0; margin: 0; border: 0; padding: 0; }
.consultation-section legend { margin-bottom: 9px; color: #28200f; font-size: 13px; font-weight: 700; }
.consultation-section fieldset label { font-weight: 400; }
.consultation-section input[type="checkbox"], .consultation-section input[type="radio"] { width: auto; min-height: 0; margin: 0 5px 0 0; }
.captcha-note { margin: 35px 0; font-size: 12px; font-weight: 700; }
.consultation-section form > .button { display: block; margin: 35px auto 20px; cursor: pointer; }
.form-note { font-size: 12px; font-style: italic; text-align: center; }
.legal-page .page-section { min-height: 1100px; }
.legal-page .page-section > .shell-width { max-width: 960px; }
.legal-page h2 { text-align: center; }
.legal-date { text-align: center; }
.testimonials-page .page-section { background: #fff; }
.testimonials-page { min-height: 29046px; background: #fff; }
.testimonials-page .page-section { padding-top: 95px; }
.testimonial-list > h3 { max-width: 760px; margin: 58px auto 12px; font-size: 28px; }
.testimonial-list { max-width: 760px; margin: 0 auto; }
.testimonial-entry { padding: 20px 0 26px; border-bottom: 1px solid #ddd8cf; }
.testimonial-entry p { margin: 0; font-size: 14px; line-height: 1.75; }
.bathroom-remodeling-page { min-height: 6933px; }
.custom-homes--frequently-asked-questions-page { min-height: 6116px; }
.home-addition-construction-page { min-height: 8152px; }
.kitchen-remodeling-page { min-height: 6378px; }
.ngbs-promise-page { min-height: 4544px; }
.plan-page { min-height: 4125px; }
.legal-page { min-height: 1676px; }
.remodeling-additions-page { min-height: 5323px; }
.standard-features-page { min-height: 7384px; }
.whole-house-renovations-page { min-height: 7611px; }
.why-hire-spartan-page { min-height: 8027px; }

@media (max-width: 900px) {
  .page-hero { min-height: 430px; }
  .shell-width, .page-section > .shell-width { width: calc(100% - 60px); }
  .model-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quality-band .shell-width { grid-template-columns: 1fr; }
  .gallery-wrap { width: calc(100% - 60px); }
  .gallery-page { min-height: 9300px; }
  .contact-page .consultation-section { min-height: 4300px; }
  .contact-page .page-hero { min-height: 560px; }
}

@media (max-width: 600px) {
  .page-hero { min-height: 390px; }
  .page-hero h1 { font-size: 43px; }
  .page-hero p { font-size: 14px; }
  .page-section { padding: 65px 0; }
  .page-image-strip .shell-width { grid-template-columns: 1fr; }
  .split-section, .contact-info-grid, .form-columns, .pricing-grid, .about-intro .shell-width, .roots-grid, .series-intro-columns { grid-template-columns: 1fr; gap: 28px; }
  .about-intro h2, .about-intro p:first-of-type { grid-column: auto; }
  .model-card-grid { grid-template-columns: 1fr; }
  .model-card > img { height: 215px; }
  .gallery-page { min-height: 10600px; }
  .gallery-wrap { width: calc(100% - 30px); }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 3px; }
  .contact-info { padding: 65px 0; }
  .consultation-section { padding-bottom: 90px; }
  .contact-page .consultation-section { min-height: 5200px; }
  .quality-band h2 { font-size: 36px; }
}

/* Blog posts: the original uses one editorial template with a photo-led title band. */
.blog-post-page { background: #fff; }
.article-hero { position: relative; display: flex; height: 755px; align-items: center; overflow: hidden; padding: 0 5%; background: #251b07 var(--article-hero, none) center / cover no-repeat; color: #fff; }
.article-hero::before { content: ""; position: absolute; inset: 0; background: rgb(37 27 7 / 75%); }
.article-hero .shell-width { position: relative; z-index: 1; width: 100%; margin: 0; }
.article-hero h1 { width: 75%; max-width: 985px; margin: 0; color: #fff; font-size: 76px; font-weight: 600; line-height: 1.02; transform: translateY(-18px); }
.article-layout { display: grid; grid-template-columns: minmax(0, 70%) minmax(240px, 30%); width: min(calc(100% - 144px), 1296px); margin: 0 auto; align-items: start; }
.article-card { position: relative; z-index: 1; min-width: 0; margin-top: -20px; padding: 50px; background: #fff; box-shadow: 0 0 20px rgb(0 0 0 / 11%); }
.article-body { color: #251b07; font-family: "Open Sans", sans-serif; font-size: 18px; line-height: 2.1; }
.article-body > * { margin-top: 0; margin-bottom: 31px; }
.article-body h2, .article-body h3, .article-body h4, .article-body h5, .article-body h6 { color: #251b07; font-size: 58px; font-weight: 600; line-height: 1.5; }
.article-body h3 { font-size: 38px; }
.article-body h4, .article-body h5, .article-body h6 { font-size: 30px; }
.article-body a { color: #cb4124; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-body ul, .article-body ol { margin-bottom: 31px; padding-left: 28px; list-style: disc; }
.article-body ol { list-style: decimal; }
.article-body li { margin-bottom: 8px; padding-left: 5px; }
.article-body blockquote { margin-right: 0; margin-left: 0; padding: 14px 28px; border-left: 3px solid #f49c22; font-family: var(--heading); font-size: 30px; line-height: 1.3; }
.article-body figure { margin-right: 0; margin-left: 0; }
.article-body img { width: 100%; height: auto; margin: 10px 0; }
.article-body figcaption { color: #666; font-size: 13px; line-height: 1.5; }
.article-body hr { border: 0; border-top: 1px dotted #000; }
.article-tags { padding-top: 25px; border-top: 1px dotted #000; }
.article-tags h2 { margin-bottom: 13px; font-size: 27px; }
.article-tags ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.article-tags a { display: block; padding: 6px 10px; border: 1px solid #e0d7c7; color: #251b07; font-size: 12px; text-decoration: none; }
.article-tags a:hover { border-color: #f49c22; color: #cb4124; }
.article-sidebar { padding: 280px 20px 30px 50px; background: #fff; color: #251b07; }
.article-sidebar section { margin-bottom: 48px; }
.article-sidebar h2 { margin-bottom: 20px; font-size: 32px; font-weight: 400; line-height: 1.02; }
.article-sidebar .button { padding: 12px 24px; font-family: Roboto, sans-serif; font-size: 14px; }
.article-social { display: flex; gap: 10px; }
.article-social a { display: grid; width: 50px; height: 50px; place-items: center; background: #31569a; color: #fff; font-family: Arial, sans-serif; font-size: 24px; font-weight: 700; text-decoration: none; }
.article-social a:nth-child(2) { background: #222; font-size: 28px; }
.article-social a:nth-child(3) { background: #087db8; font-size: 22px; }

@media (max-width: 768px) {
  .article-hero { height: auto; min-height: 350px; padding: 60px 0; }
  .article-hero .shell-width { width: calc(100% - 30px); margin-inline: auto; }
  .article-hero h1 { width: 100%; max-width: none; font-size: 48px; text-align: center; }
  .article-layout { display: block; width: 100%; }
  .article-card { margin-top: 0; padding: 60px 15px; box-shadow: none; }
  .article-body { font-size: 17px; line-height: 2.1; }
  .article-body > * { margin-bottom: 28px; }
  .article-body h2 { font-size: 42px; line-height: 1.25; }
  .article-body h3 { font-size: 32px; line-height: 1.25; }
  .article-sidebar { display: none; }
}

/* Tributer Bay is a resort landing page accidentally grouped with the articles. */
.tributer-page { color: var(--ink); font-size: 18px; line-height: 1.5; }
.tributer-hero { position: relative; display: grid; min-height: 748px; place-items: center; overflow: hidden; background: #374454 var(--tributer-hero, none) center / cover no-repeat; color: #fff; text-align: center; }
.tributer-hero::before { position: absolute; inset: 0; background: rgb(19 28 43 / 66%); content: ""; }
.tributer-hero-copy { position: relative; z-index: 1; width: min(840px, calc(100% - 40px)); }
.tributer-hero h1 { margin-bottom: 26px; color: #fff; font-size: 58px; font-weight: 600; line-height: 1.02; }
.tributer-hero p { margin-bottom: 24px; color: #fff; }
.tributer-hero .button, .tributer-copy .button { padding: 15px 30px; font-size: 17px; }
.tributer-split { padding: 120px 0; background: #fff; }
.tributer-inner { display: grid; grid-template-columns: 529px minmax(0, 1fr); gap: 60px; width: min(1220px, calc(100% - 100px)); margin: 0 auto; align-items: center; }
.tributer-copy h2 { max-width: 640px; margin-bottom: 26px; font-size: 49px; font-weight: 500; line-height: 1.03; }
.tributer-copy p { margin-bottom: 27px; }
.tributer-rule { display: block; width: 120px; height: 2px; margin: 0 0 31px; background: var(--ink); }
.tributer-video { min-height: 529px; background: #000; }
.tributer-photo { margin: 0; }
.tributer-photo img { width: 100%; height: 423px; object-fit: cover; }
.tributer-split--cream { background: var(--cream); }
.tributer-split--cream .tributer-inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.tributer-split--cream .tributer-copy { order: -1; }
.tributer-split--last { padding-top: 112px; }

@media (max-width: 768px) {
  .tributer-hero { min-height: 560px; }
  .tributer-hero h1 { font-size: 43px; }
  .tributer-split { padding: 70px 0; }
  .tributer-inner, .tributer-split--cream .tributer-inner { grid-template-columns: 1fr; gap: 36px; width: calc(100% - 40px); }
  .tributer-split--cream .tributer-copy { order: 0; }
  .tributer-copy h2 { font-size: 38px; }
  .tributer-video { min-height: 270px; }
  .tributer-photo img { height: auto; }
}

/* Custom-home model family: one semantic record, two source-era body variants. */
.model-page--specs .model-layout, .model-page--showcase .model-layout { min-height: 0; }
.model-page--cucumber .model-layout { min-height: 7012px; }
.model-page--specs .model-main, .model-page--showcase:not(.model-page--cucumber) .model-main { min-height: 0; padding-bottom: 120px; }
.model-description { width: min(820px, 100%); margin: 36px auto 0; font-size: 16px; line-height: 1.5; text-align: center; }
.model-hero > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.model-thumbs > img { display: block; width: 100%; object-fit: cover; }
.model-thumbs > img[hidden] { display: none; }
.model-description p { margin-bottom: 0; }
.model-hero--image { display: flex; width: min(820px, 100%); height: auto; justify-content: center; background: none; }
.model-hero--image img { display: block; width: auto; max-width: 100%; height: auto; }
.model-disclaimer { width: min(820px, 100%); margin: 48px auto 70px; text-align: center; }
.model-disclaimer strong { display: block; font-size: 12px; font-style: italic; }
.model-disclaimer p { margin: 72px 0 0; font-family: var(--heading); font-size: 25px; }
.model-disclaimer em, .customize-copy em { color: var(--red); font-style: normal; }
.model-details > h2, .model-plan-section > h2, .showcase-albums > h2 { margin: 0 0 40px; font-size: 42px; text-align: center; }
.model-spec-table { width: 100%; margin: 0 0 28px; border-collapse: collapse; color: #222; font-size: 13px; line-height: 1.35; }
.model-spec-table th, .model-spec-table td { height: 39px; padding: 7px 9px; border: 1px solid #d8d8d8; text-align: left; vertical-align: middle; }
.model-spec-table th { font-weight: 700; }
.model-spec-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 56px; margin-top: 20px; }
.model-spec-groups section { break-inside: avoid; }
.model-spec-column > section + section { margin-top: 24px; }
.model-spec-groups h3 { margin: 0 0 13px; font-family: var(--body); font-size: 14px; font-weight: 700; }
.model-spec-groups ul { padding-left: 22px; list-style: disc; }
.model-spec-groups li { margin-bottom: 5px; font-size: 13px; line-height: 1.45; }
.model-albums { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; width: 100%; margin: 0 auto 38px; }
.model-album { margin: 0; text-align: center; }
.model-album-main { height: 410px; background-position: center; background-size: cover; }
.model-album-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 7px; }
.model-album-thumbs i { height: 64px; background-position: center; background-size: cover; }
.model-album figcaption { margin-top: 22px; font-family: var(--heading); font-size: 24px; }
.model-floor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 45px 75px; margin-top: 65px; }
.model-floor-grid figure { display: flex; min-height: 430px; margin: 0; flex-direction: column; align-items: center; justify-content: flex-end; text-align: center; }
.model-floor-grid img { width: 100%; max-height: 390px; margin: auto; object-fit: contain; }
.model-floor-grid figcaption { margin-top: 18px; font-size: 12px; }
.model-floor-grid .is-placeholder { min-height: 560px; }
.showcase-albums { margin: 80px 0; }
.showcase-album-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 55px 25px; }
.showcase-album-grid figure { margin: 0; text-align: center; }
.showcase-album-grid figure > div { height: 325px; background-position: center; background-size: cover; }
.showcase-album-grid figcaption { margin-top: 15px; font-family: var(--heading); font-size: 22px; }
.showcase-album-thumbs { display: grid; height: auto !important; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 7px; }
.showcase-album-thumbs i { height: 64px; background-position: center; background-size: cover; }
.model-video { margin: 70px 0 85px; text-align: center; }
.model-video h2 { margin-bottom: 30px; font-size: 32px; }
.model-video > div, .model-video > iframe { display: block; width: 100%; border: 0; aspect-ratio: 16 / 9; background: #000; }
.model-video > .model-video-frame { display: grid; place-items: center; }
.model-video-frame span { padding: 12px 20px; border: 1px solid #fff; color: #fff; }
.model-source-actions .button { display: inline-block; }
.model-source-copy { width: min(820px, 100%); margin: 32px auto; font-size: 16px; line-height: 1.55; text-align: center; }
.model-source-copy p:last-child { margin-bottom: 0; }
.model-source-actions { margin: 28px 0 60px; text-align: center; }
.model-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 auto 70px; align-items: start; }
.model-photo-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.model-plan-section { margin: 75px 0 100px; }
.model-page--showcase:not(.model-page--cucumber) .why-grid { margin-bottom: 80px; }
.model-page--showcase:not(.model-page--cucumber) .turn-key { min-height: 500px; }
.turn-key--with-image { display: grid; width: 100%; grid-template-columns: 1fr 1fr; gap: 20px; align-items: center; }
.turn-key--with-image img { width: 100%; }

@media (min-width: 1026px) {
  [data-model="custom-homes--hill"] .model-hero { width: 768px; }
  [data-model="custom-homes--hill"] .model-video > div,
  [data-model="custom-homes--hill"] .model-video > iframe { width: 784px; margin-inline: auto; }
  [data-model="custom-homes--hill"] .model-floor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
  [data-model="custom-homes--hill"] .model-floor-grid figure { min-height: 350px; }
}

@media (max-width: 1025px) {
  .model-page--specs .model-main, .model-page--showcase:not(.model-page--cucumber) .model-main { min-height: 0; padding: 70px 30px 110px; }
  .model-page--specs .model-title, .model-page--specs .model-hero, .model-page--specs .model-thumbs,
  .model-page--showcase:not(.model-page--cucumber) .model-title,
  .model-page--showcase:not(.model-page--cucumber) .model-hero,
  .model-page--showcase:not(.model-page--cucumber) .model-thumbs { top: 0; }
  .model-page--specs .model-title, .model-page--specs .model-hero, .model-page--specs .model-thumbs,
  .model-page--showcase:not(.model-page--cucumber) .model-title,
  .model-page--showcase:not(.model-page--cucumber) .model-hero,
  .model-page--showcase:not(.model-page--cucumber) .model-thumbs { width: 100%; }
  .model-page--specs .model-hero, .model-page--showcase:not(.model-page--cucumber) .model-hero { background-image: var(--model-hero); }
  .model-description, .model-disclaimer { width: 100%; }
  .turn-key--with-image { grid-template-columns: 1fr; }
  .model-album-main { height: 330px; }
  .model-floor-grid figure { min-height: 380px; }
  .model-floor-grid .is-placeholder { min-height: 470px; }
  .showcase-album-grid figure > div { height: 280px; }
}

@media (max-width: 600px) {
  .model-page--specs .model-main, .model-page--showcase:not(.model-page--cucumber) .model-main { min-height: 0; padding: 60px 20px 90px; }
  .model-page--specs .model-title, .model-page--showcase:not(.model-page--cucumber) .model-title { width: 100%; }
  .model-page--specs .model-title h1, .model-page--showcase:not(.model-page--cucumber) .model-title h1 { font-size: 39px; }
  .model-page--specs .model-hero, .model-page--showcase:not(.model-page--cucumber) .model-hero { width: 100%; height: 360px; }
  .model-page--specs .model-thumbs, .model-page--showcase:not(.model-page--cucumber) .model-thumbs { width: 100%; grid-template-columns: repeat(3, 1fr); padding: 0; }
  .model-albums, .model-spec-groups, .model-floor-grid, .showcase-album-grid { grid-template-columns: 1fr; }
  .model-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .model-album-main, .showcase-album-grid figure > div { height: 300px; }
  .model-description { font-size: 16px; }
  .model-disclaimer { margin-bottom: 60px; }
  .model-disclaimer p { margin-top: 55px; font-size: 23px; }
  .model-details > h2, .model-plan-section > h2, .showcase-albums > h2 { font-size: 36px; }
  .model-spec-table { font-size: 11px; }
  .model-spec-table th, .model-spec-table td { padding: 5px 4px; }
  .model-floor-grid figure, .model-floor-grid .is-placeholder { min-height: 380px; }
  .model-page--specs .model-sidebar, .model-page--showcase:not(.model-page--cucumber) .model-sidebar { min-height: 0; }
}

/* Source-era model details use the original full-width 972/324 content split. */
@media (min-width: 1026px) {
  .model-page--specs { font-size: 18px; line-height: 1.5; }
  .model-page--specs .model-layout {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 972px) minmax(0, 324px);
    padding: 0 72px;
  }
  .model-page--specs .model-main { padding: 87px 40px 103px 0; }
  .model-page--specs .model-title { margin: 0 0 25px; }
  .model-page--specs .model-title span {
    display: block;
    font-size: 17px;
    font-weight: 500;
    line-height: 17px;
  }
  .model-page--specs .model-title h1 {
    margin: 15px 0 0;
    font-size: 72px;
    font-weight: 700;
    line-height: 72px;
  }
  .model-page--specs .model-sidebar { padding: 90px 0 60px 41px; }
  .model-page--specs .model-sidebar section { margin: 0 0 50px; padding: 0 0 20px; }
  .model-page--specs .model-sidebar h2 { margin: 0 0 30px; font-size: 28px; line-height: 42px; }
  .model-page--specs .model-sidebar li,
  .model-page--specs .model-sidebar a { font-size: 18px; line-height: 27px; }
  .model-page--specs .model-hero { left: 0; }
  .model-page--lifestyle .model-hero { width: 800px; height: 480px; }
  .model-page--frank-betz .model-hero { width: 768px; height: 530px; }
  .model-page--frank-betz .model-thumbs {
    left: 0;
    width: 768px;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin: 10px auto 0;
  }
  .model-page--frank-betz .model-thumbs span { height: 82px; }
  .model-page--don-gardner .model-hero { width: 768px; height: 530px; }
  .model-page--don-gardner .model-thumbs {
    width: 768px;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin: 10px auto 39px;
  }
  .model-page--don-gardner .model-thumbs > img { height: 82px; }
  [data-model="custom-homes--don-gardner--applemoor"] .model-thumbs { margin-bottom: 59px; }
  .model-page--don-gardner .model-disclaimer { margin-top: 25px; margin-bottom: 60px; padding: 10px; }
  .model-page--don-gardner .model-spec-groups {
    grid-template-columns: repeat(2, minmax(0, 446px));
    gap: 0 20px;
    margin-top: 0;
  }
  .model-page--don-gardner .model-spec-column > section + section { margin-top: 0; }
  .model-page--don-gardner .model-spec-groups h3 {
    margin: 0 0 20px;
    font-size: 19px;
    font-weight: 800;
    line-height: 28.5px;
  }
  .model-page--don-gardner .model-spec-groups ul { margin: 0 0 27px; padding-left: 54px; }
  .model-page--don-gardner .model-spec-groups li { margin: 0; font-size: 18px; line-height: 27px; }
  .model-page--don-gardner .model-details > h2 { margin-bottom: 55px; }
  .model-page--don-gardner .model-floor-grid { grid-template-columns: repeat(2, minmax(0, 446px)); column-gap: 20px; }
  .model-page--specs .model-description {
    width: 100%;
    font-size: 21px;
    line-height: 31.5px;
  }
  .model-page--lifestyle .model-description { margin-top: 25px; }
  .model-page--frank-betz .model-description { margin-top: 44px; }
  .model-page--specs .model-disclaimer { width: 100%; }
  .model-page--lifestyle .model-disclaimer { margin: 55px auto 125px; }
  .model-page--frank-betz .model-disclaimer { margin: 35px auto 70px; }
  .model-page--specs .model-disclaimer strong { font-size: 11px; line-height: 17px; }
  .model-page--specs .model-disclaimer p { margin-top: 94.5px; font-size: 32px; line-height: 32px; }
  .model-page--specs .model-details { padding: 10px 10px 0; }
  .model-page--specs .model-details > h2 {
    margin: 0 0 25px;
    font-size: 58px;
    font-weight: 600;
    line-height: 58px;
  }
  .model-table-heading {
    margin: 0 0 20px;
    font-family: var(--body);
    font-size: 19px;
    font-weight: 800;
    line-height: 28.5px;
  }
  .model-page--specs .model-spec-table {
    width: 100%;
    margin: 0 0 27px;
    font-size: 18px;
    line-height: 27px;
  }
  .model-page--specs .model-spec-table th,
  .model-page--specs .model-spec-table td { height: auto; padding: 8px; }
  .model-page--specs .model-floor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 10px 0 0;
  }
  .model-page--specs .model-floor-grid figure {
    min-height: 459px;
    padding: 10px;
    justify-content: flex-start;
  }
  .model-page--specs .model-floor-grid img { width: 90%; max-height: none; }
  .model-page--specs .model-floor-grid figcaption {
    margin-top: 7px;
    padding-top: 5px;
    font-size: 17px;
    line-height: 25.5px;
  }
  .model-page--lifestyle .model-floor-grid .is-placeholder {
    min-height: 328px;
    justify-content: flex-end;
  }
  .model-page--frank-betz .model-floor-grid figure,
  .model-page--frank-betz .model-floor-grid .is-placeholder {
    min-height: 434px;
    justify-content: flex-end;
  }

  /* Cached source pages retain small plan-specific whitespace differences. */
  [data-model="custom-homes--frank-betz--the-chapman"] .model-floor-grid figure,
  [data-model="custom-homes--frank-betz--the-chapman"] .model-floor-grid .is-placeholder { min-height: 462px; }
  [data-model="custom-homes--the-willow"] .model-layout {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 972px) minmax(0, 324px);
    padding: 0 72px;
  }
  [data-model="custom-homes--the-willow"] .model-main { padding-right: 40px; }
  [data-model="custom-homes--the-willow"] .showcase-album-grid figure > div { height: 333px; }
  [data-model="custom-homes--don-gardner--applemoor"] .model-floor-grid figure { min-height: 480px; }
  [data-model="custom-homes--lifestyle-series--sinclair-creek"] .model-floor-grid figure { min-height: 481px; }
  [data-model="custom-homes--frank-betz--holland"] .model-main { padding-bottom: 41px; }
  [data-model="custom-homes--lifestyle-series--cedar-glen"] .model-floor-grid .is-placeholder { min-height: 376px; }
  [data-model="custom-homes--lifestyle-series--telluride-grove"] .model-description { margin-top: 68px; }
  [data-model="custom-homes--lifestyle-series--shelton-farm"] .model-floor-grid figure { min-height: 512px; }
  [data-model="custom-homes--frank-betz--walnut-grove"] .model-floor-grid .is-placeholder { min-height: 412px; }
  [data-model="custom-homes--don-gardner--the-westlake"] .model-floor-grid figure { min-height: 516px; }
  [data-model="custom-homes--don-gardner--solstice-springs"] .model-floor-grid figure { min-height: 434px; }
  [data-model="custom-homes--lifestyle-series--locklear"] .model-floor-grid figure { min-height: 571px; }
  [data-model="custom-homes--don-gardner--the-hardesty"] .model-floor-grid figure { min-height: 370px; }
  [data-model="custom-homes--frank-betz--nathaniel"] .model-floor-grid .is-placeholder { min-height: 385px; }
  [data-model="custom-homes--don-gardner--the-markham"] .model-floor-grid figure { min-height: 502px; }
  [data-model="custom-homes--whispering-valley"] .model-floor-grid .is-placeholder { min-height: 519px; }
  [data-model="custom-homes--don-gardner--the-morrison"] .model-main { padding-bottom: 177px; }
  [data-model="custom-homes--lifestyle-series--hemsworth"] .model-floor-grid .is-placeholder { min-height: 236px; }
  [data-model="custom-homes--frank-betz--salem"] .model-floor-grid .is-placeholder { min-height: 294px; }
  [data-model="custom-homes--don-gardner--ella"] .model-main { padding-bottom: 234px; }
  [data-model="custom-homes--madeline"] .model-floor-grid figure { min-height: 328px; }
  [data-model="custom-homes--madeline"] .model-main { padding-bottom: 94px; }
  [data-model="custom-homes--covington"] .model-floor-grid .is-placeholder { min-height: 646px; }
  [data-model="custom-homes--refuge-court"] .model-floor-grid .is-placeholder { min-height: 464px; }
  [data-model="custom-homes--hill"] .model-main { padding-bottom: 0; }
  [data-model="custom-homes--hill"] .turn-key { min-height: 439px; }
  [data-model="custom-homes--lifestyle-series--serena"] .model-main { padding-bottom: 179px; }
  [data-model="custom-homes--clear-creek-cottage"] .model-main { padding-bottom: 195px; }
  [data-model="custom-homes--the-meadowview"] .model-main { padding-bottom: 0; }
  [data-model="custom-homes--the-meadowview"] .turn-key { min-height: 468px; }
  [data-model="custom-homes--rustic-showstopper"] .model-main { padding-bottom: 231px; }
  [data-model="custom-homes--lake-forest"] .model-main { padding-bottom: 0; }
  [data-model="custom-homes--lake-forest"] .turn-key { min-height: 449px; }
  [data-model="custom-homes--the-mulberry"] .model-main { padding-bottom: 0; }
  [data-model="custom-homes--the-mulberry"] .turn-key { min-height: 468px; }
  [data-model="custom-homes--mountain-brook"] .model-main { padding-bottom: 0; }
  [data-model="custom-homes--mountain-brook"] .model-floor-grid figure { min-height: 509px; }
  [data-model="custom-homes--don-gardner--the-lucy"] .model-main { padding-bottom: 50px; }
}

/* Cached desktop plan rows vary by model; these values preserve their source depth. */
@media (min-width: 1026px) {
  [data-model="custom-homes--don-gardner--the-whitcomb"] .model-main { padding-bottom: 247px; }
  [data-model="custom-homes--don-gardner--calypso"] .model-floor-grid figure { min-height: 281px; }
  [data-model="custom-homes--frank-betz--topeka"] .model-main { padding-bottom: 258px; }
  [data-model="custom-homes--frank-betz--topeka"] .model-hero { width: 500px; height: 375px; }
  [data-model="custom-homes--frank-betz--topeka"] .model-floor-grid .is-placeholder { min-height: 160px; }
  [data-model="custom-homes--tennesse-farmhouse"] .model-floor-grid figure { min-height: 292px; }
  [data-model="custom-homes--tennesse-farmhouse"] .model-floor-grid img { max-height: 252px; }
  [data-model="custom-homes--tennesse-farmhouse"] .model-floor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [data-model="custom-homes--tennesse-farmhouse"] .model-main { padding-bottom: 60px; }
  [data-model="custom-homes--tennesse-farmhouse"] .model-video h2 { display: none; }
  [data-model="custom-homes--tennesse-farmhouse"] .model-video > div { width: 430px; margin-inline: 0; }
  [data-model="custom-homes--the-st-croix"] .model-floor-grid .is-placeholder { min-height: 250px; }
  [data-model="custom-homes--the-st-croix"] .model-main { padding-bottom: 201px; }
  [data-model="custom-homes--the-st-croix"] .model-video > div { width: 768px; margin-inline: auto; }
  [data-model="custom-homes--the-lakeview"] .model-floor-grid figure { min-height: 170px; }
  [data-model="custom-homes--the-lakeview"] .model-floor-grid img { max-height: 130px; }
  [data-model="custom-homes--the-lakeview"] .model-main { padding-bottom: 201px; }
  [data-model="custom-homes--the-lakeview"] .model-video > div { width: 768px; margin-inline: auto; }
  [data-model="custom-homes--the-phelan"] .model-floor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [data-model="custom-homes--the-phelan"] .model-floor-grid figure { min-height: 321px; }
  [data-model="custom-homes--the-phelan"] .model-floor-grid img { max-height: 281px; }
  [data-model="custom-homes--the-yukon"] .model-floor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [data-model="custom-homes--the-yukon"] .model-floor-grid figure { min-height: 321px; }
  [data-model="custom-homes--the-yukon"] .model-floor-grid img { max-height: 281px; }
}

/* Final model batch: preserve the cached source media and plan canvases. */
@media (min-width: 1026px) {
  [data-model="custom-homes--the-jefferson"] .model-photo-grid,
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-photo-grid {
    margin: 3px auto 0;
    padding-bottom: 36px;
  }
  [data-model="custom-homes--the-jefferson"] .model-photo-grid > img,
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-photo-grid > img {
    width: calc(100% - 10px);
    height: 200px;
    margin: 5px;
  }
  [data-model="custom-homes--the-jefferson"] .model-photo-grid > .is-placeholder,
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-photo-grid > .is-placeholder { height: 210px; }
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-photo-grid > :nth-child(15) { height: 451px; }
  [data-model="custom-homes--the-jefferson"] .model-disclaimer,
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-disclaimer {
    width: 100%;
    min-height: 292px;
    margin: 24px 0 0;
  }
  [data-model="custom-homes--the-jefferson"] .model-plan-section,
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-plan-section { margin: 0 0 83px; }
  [data-model="custom-homes--the-jefferson"] .model-plan-section > h2,
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-plan-section > h2 {
    margin-bottom: 25px;
    font-size: 58px;
    line-height: 58px;
  }
  [data-model="custom-homes--the-jefferson"] .model-floor-grid,
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-floor-grid { gap: 0; margin-top: 0; }
  [data-model="custom-homes--the-jefferson"] .model-floor-grid figure,
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-floor-grid figure,
  [data-model="custom-homes--the-jefferson"] .model-floor-grid .is-placeholder,
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-floor-grid .is-placeholder { min-height: 360px; }
  [data-model="custom-homes--the-jefferson"] .why-grid,
  [data-model="custom-homes--sylvan-lake-craftsman"] .why-grid { margin-bottom: 106px; }
  [data-model="custom-homes--the-jefferson"] .turn-key--with-image,
  [data-model="custom-homes--sylvan-lake-craftsman"] .turn-key--with-image { min-height: 568px; }

  [data-model="custom-homes--don-gardner--steeplechase"] .model-thumbs { margin-bottom: 47px; }
  [data-model="custom-homes--don-gardner--steeplechase"] .model-spec-groups { min-height: 946px; }
  [data-model="custom-homes--don-gardner--steeplechase"] .model-floor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 0; }
  [data-model="custom-homes--don-gardner--steeplechase"] .model-floor-grid figure { min-height: 243px; }
  [data-model="custom-homes--don-gardner--steeplechase"] .model-video { margin: 0; padding: 34px 10px 77px; }
  [data-model="custom-homes--don-gardner--steeplechase"] .model-video h2 { display: none; }

  [data-model="custom-homes--don-gardner--the-satchwell"] .model-albums { margin-top: 3px; }
  [data-model="custom-homes--don-gardner--the-satchwell"] .model-album-main { height: 339px; }
  [data-model="custom-homes--don-gardner--the-satchwell"] .model-spec-groups { height: 649px; overflow: hidden; }
  [data-model="custom-homes--don-gardner--the-satchwell"] .model-floor-grid { grid-template-rows: 316px 223px; row-gap: 151px; margin-top: -15px; }
  [data-model="custom-homes--don-gardner--the-satchwell"] .model-floor-grid figure { height: 100%; min-height: 0; }
  [data-model="custom-homes--don-gardner--the-satchwell"] .model-video { height: 546px; margin: 0; }
  [data-model="custom-homes--don-gardner--the-satchwell"] .model-video > div { width: 780px; margin-inline: auto; }

  [data-model="custom-homes--lifestyle-series--jensen-falls"] .model-jensen-media {
    display: grid;
    height: 468px;
    margin-top: 25px;
    grid-template-columns: repeat(2, 446px);
    gap: 20px;
    align-items: center;
  }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .model-jensen-media .model-video { margin: 0; }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .model-jensen-media .model-video h2 { margin-bottom: 25px; font-size: 32px; line-height: 32px; }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .model-jensen-media .model-video > div { width: 446px; }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .model-jensen-media .model-album-main { height: 325px; }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .jensen-album-plan > h2 {
    height: 96px;
    margin: 0;
    padding-top: 60px;
    font-size: 36px;
    line-height: 36px;
    text-align: center;
  }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .jensen-album-plan .model-floor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 25px;
  }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .jensen-album-plan .model-floor-grid figure { min-height: 316px; }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .model-description { min-height: 188px; margin-top: 0; }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .model-disclaimer { min-height: 274px; margin: 25px 0 0; }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .model-details { height: 503px; margin-top: 24px; overflow: hidden; }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .jensen-main-plan > h2 {
    height: 154px;
    margin: 0;
    padding-top: 90px;
    font-size: 36px;
    line-height: 32px;
    text-align: center;
  }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .jensen-main-plan > h2 span { font-family: var(--body); font-size: 18px; }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .jensen-main-plan .model-floor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 25px;
  }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .jensen-main-plan .model-floor-grid figure { min-height: 378px; }

  [data-model="custom-homes--don-gardner--the-somersby"] .model-hero { width: 820px; height: 550px; }
  [data-model="custom-homes--don-gardner--the-somersby"] .model-thumbs { width: 820px; margin: 10px auto 0; }
  [data-model="custom-homes--don-gardner--the-somersby"] .model-description { height: 282px; margin-top: 0; overflow: hidden; }
  [data-model="custom-homes--don-gardner--the-somersby"] .model-spec-groups { height: 584px; overflow: hidden; }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-projects > h2 {
    height: 205px;
    margin: 0;
    padding-top: 65px;
    font-size: 58px;
    line-height: 58px;
    text-align: center;
  }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-albums { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-album { height: 506px; margin: 0; text-align: center; }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-album .model-album-main { height: 410px; }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-album figcaption { margin-top: 22px; font-family: var(--heading); font-size: 24px; }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-plan-group > h2 {
    height: 149px;
    margin: 0;
    padding-top: 90px;
    font-size: 36px;
    line-height: 36px;
    text-align: center;
  }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-plan-group:first-child > h2 { height: 92px; }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-plan-group .model-floor-grid {
    height: 355px;
    margin: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-plan-group:first-child .model-floor-grid { height: 324px; }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-plan-group:not(:first-child) .model-floor-grid { height: 355px; }
  [data-model="custom-homes--don-gardner--the-somersby"] .somersby-plan-group .model-floor-grid figure { height: 100%; min-height: 0; }

  [data-model="custom-homes--the-jefferson"] .model-main { padding-bottom: 187px; }
  [data-model="custom-homes--sylvan-lake-craftsman"] .model-main { padding-bottom: 186px; }
  [data-model="custom-homes--don-gardner--the-somersby"] .model-main { padding-bottom: 209px; }
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .model-main { padding-bottom: 66px; }
  [data-model="custom-homes--don-gardner--steeplechase"] .model-main { padding-bottom: 98px; }
  [data-model="custom-homes--don-gardner--the-satchwell"] .model-video-frame span,
  [data-model="custom-homes--lifestyle-series--jensen-falls"] .model-video-frame span,
  [data-model="custom-homes--don-gardner--steeplechase"] .model-video-frame span { display: none; }
}

/* R5: cached desktop geometry for the cheapest remaining model pages. */
@media (min-width: 1026px) {
  [data-model="custom-homes--frank-betz--nathaniel"] .model-hero { width: 600px; height: 451px; }
  [data-model="custom-homes--frank-betz--nathaniel"] .model-description { height: 189px; margin-top: 70px; overflow: hidden; }
  [data-model="custom-homes--frank-betz--nathaniel"] .model-disclaimer { margin-top: 25px; }
  [data-model="custom-homes--frank-betz--nathaniel"] .model-main { padding-bottom: 198px; }

}

/* R5 batch two: retain source table width and captured unloaded video state. */
@media (min-width: 1026px) {
  [data-model="custom-homes--frank-betz--walnut-grove"] .model-spec-table { width: 50%; }
  [data-model="custom-homes--madeline"] .model-video-frame span,
  [data-model="custom-homes--tennesse-farmhouse"] .model-video-frame span,
  [data-model="custom-homes--don-gardner--the-whitcomb"] .model-video-frame span { display: none; }
}

/* R5 batch three: selected cached showcase pages use the source 972/324 split. */
@media (min-width: 1026px) {
  :is(
    [data-model="custom-homes--sylvan-lake-craftsman"],
    [data-model="custom-homes--mountain-brook"],
    [data-model="custom-homes--the-st-croix"],
    [data-model="custom-homes--hill"],
    [data-model="custom-homes--the-lakeview"],
    [data-model="custom-homes--the-meadowview"]
  ) .model-layout {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 972px) minmax(0, 324px);
    padding: 0 72px;
  }

  :is(
    [data-model="custom-homes--sylvan-lake-craftsman"],
    [data-model="custom-homes--mountain-brook"],
    [data-model="custom-homes--the-st-croix"],
    [data-model="custom-homes--hill"],
    [data-model="custom-homes--the-lakeview"],
    [data-model="custom-homes--the-meadowview"]
  ) .model-main { padding-right: 40px; }
}
