/* Local case corrections: a shared grid, distinct homes and detailed models. */
.purchase { display:block; padding:110px 0; }
.purchase-heading { display:grid; grid-template-columns:1.1fr 1fr; align-items:end; gap:80px; margin-bottom:56px; }
.purchase-heading h2 { font-size:clamp(38px,3.05vw,76px); line-height:1.13; letter-spacing:-.035em; max-width:none; }
.purchase-heading>p { font-size:clamp(14px,.75vw,18px); color:var(--muted); max-width:420px; line-height:1.75; margin:0 0 6px; }
.purchase-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:start; gap:80px; }
.purchase-model { margin:0; min-width:0; }
.purchase-model img { width:100%; height:clamp(400px,25vw,610px); object-fit:cover; object-position:center; }
.purchase-model figcaption { border-top:1px solid var(--line); padding-top:18px; font-size:12px; color:var(--muted); }
.purchase-content { padding:0; }
.finance-cards { gap:32px; }
.finance-card { display:grid; grid-template-rows:24px 100px 76px 42px; min-height:0; padding-top:22px; align-items:start; }
.finance-card>span { font-size:14px; }
.finance-card strong { font-size:clamp(46px,3vw,72px); line-height:1.1; letter-spacing:-.05em; margin:14px 0 0; white-space:nowrap; }
.finance-card p { font-size:clamp(13px,.7vw,17px); max-width:300px; margin:0; line-height:1.6; }
.finance-card a { margin:0; height:42px; padding:0 0 12px; font-size:14px; align-self:end; }
.finance-note { font-size:10px; color:var(--muted); margin:12px 0 0; }
.benefit-grid { margin-top:30px; gap:26px 32px; }
.benefit-grid article { padding-top:17px; min-height:120px; }
.benefit-grid h3 { font-size:clamp(19px,1vw,25px); margin:0 0 12px; line-height:1.3; }
.benefit-grid p { font-size:clamp(13px,.7vw,17px); max-width:330px; line-height:1.6; margin:0; }
.visualization-note { font-size:11px; color:var(--muted); line-height:1.7; margin-top:18px; display:block; }
.calculator { grid-template-columns:1.1fr 1fr; align-items:start; gap:80px; }
.calculator-visual { justify-content:flex-start; }
.blueprint-top { min-height:36px; align-items:center; font-size:12px; margin:0; }
.blueprint-top strong { font-size:12px; }
.house-preview { position:relative; width:100%; height:clamp(410px,29vw,740px); isolation:isolate; --house-scale:1; }
.house-model { position:absolute; left:0; top:50%; width:100%; height:auto; opacity:0; transform:translateY(calc(-50% + 18px)) scale(var(--house-scale)); transform-origin:center; transition:opacity .45s ease,transform .65s var(--ease); pointer-events:none; }
.house-model.is-active { opacity:1; transform:translateY(-50%) scale(var(--house-scale)); }
.model-note { border-top:1px solid var(--line); padding-top:18px; margin:0; max-width:none; font-size:11px; color:var(--muted); }
.calculator-panel h2 { font-size:clamp(36px,2.8vw,68px); line-height:1.12; }
.built .section-head { grid-template-columns:1.1fr 1fr; gap:80px; }
.built h2 { font-size:clamp(38px,3.3vw,80px); }
.built-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:26px; }
.built-gallery figure:first-child { grid-row:auto; }
.built-gallery figure:first-child img,.built-gallery figure:not(:first-child) img { height:auto; aspect-ratio:3/2; object-fit:cover; }
.built-gallery figcaption { display:grid; justify-content:start; gap:8px; padding:20px 0; }
.built-gallery figcaption span { font-size:12px; }
.built-gallery figcaption b { text-align:left; font-size:clamp(22px,1.2vw,30px); font-weight:400; line-height:1.25; }
@media(max-width:1400px) {
  .purchase-heading,.purchase-grid,.calculator,.built .section-head { gap:48px; }
  .purchase-heading h2 { font-size:clamp(36px,3.8vw,54px); }
  .finance-card { grid-template-rows:24px 83px 88px 42px; }
  .finance-card strong { font-size:48px; }
  .purchase-model img { height:440px; }
}
@media(max-width:1000px) {
  .purchase-heading { grid-template-columns:1fr; gap:22px; margin-bottom:36px; }
  .purchase-heading h2 { font-size:clamp(40px,5.2vw,56px); }
  .purchase-heading>p { max-width:500px; }
  .purchase-grid { grid-template-columns:1fr; gap:36px; }
  .purchase-model img { height:370px; }
  .purchase-model figcaption { display:none; }
  .finance-card p,.benefit-grid p { max-width:100%; }
  .calculator { grid-template-columns:1fr; gap:30px; }
  .house-preview { height:440px; }
  .calculator-panel h2 { max-width:650px; }
  .built .section-head { grid-template-columns:1fr; gap:22px; }
  .built-gallery { gap:18px; }
  .built-gallery figcaption span { font-size:10px; }
  .built-gallery figcaption b { font-size:20px; }
}
@media(max-width:700px) {
  .purchase { padding:76px 0; }
  .purchase-heading h2 { font-size:clamp(30px,7.7vw,43px); }
  .purchase-heading>p { font-size:13px; }
  .purchase-model img { height:280px; }
  .finance-cards { gap:20px; }
  .finance-card { grid-template-rows:24px 75px 64px 42px; padding-top:17px; }
  .finance-card>span { font-size:12px; }
  .finance-card strong { font-size:clamp(32px,8.4vw,48px); }
  .finance-card p,.benefit-grid p { font-size:12px; }
  .finance-card a { font-size:11px; gap:8px; }
  .finance-note { font-size:9px; }
  .benefit-grid { gap:24px 20px; }
  .benefit-grid h3 { font-size:18px; }
  .benefit-grid article { min-height:140px; }
  .blueprint-top,.blueprint-top strong { font-size:9px; }
  .house-preview { height:310px; }
  .model-note { font-size:10px; }
  .calculator-panel h2 { font-size:35px; }
  .visualization-note { font-size:10px; }
  .built h2 { font-size:37px; }
  .built-gallery { grid-template-columns:1fr; gap:30px; }
  .built-gallery figcaption span { font-size:11px; }
  .built-gallery figcaption b { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) { .house-model { transition:none; } }

/* Editorial testimonials: the same paper, typography and architectural rules. */
.reviews { border-top:1px solid var(--line); padding:38px 0 110px; }
.reviews-heading { grid-template-columns:1.1fr 1fr; gap:80px; margin-bottom:56px; }
.reviews-heading h2 { font-size:clamp(38px,3.3vw,80px); }
.reviews-intro { justify-self:end; max-width:350px; }
.reviews-demo { display:block; margin-top:22px; font-size:11px; color:var(--muted); line-height:1.7; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }
.review-card { min-width:0; padding:30px 32px 28px; display:flex; flex-direction:column; }
.review-card:first-child { background:#eeeee6; }
.review-card + .review-card { border-left:1px solid var(--line); }
.review-top { display:flex; align-items:start; justify-content:space-between; gap:12px; min-height:70px; }
.review-top>span:first-child { font-size:10px; color:var(--muted); letter-spacing:.07em; text-transform:uppercase; padding-top:7px; }
.review-quote-mark { font-family:Georgia,serif; font-size:82px; line-height:1; color:#979e86; }
.review-card blockquote { margin:0 0 36px; flex:1; }
.review-card h3 { font-size:clamp(23px,1.3vw,32px); line-height:1.3; letter-spacing:-.025em; min-height:2.6em; margin-bottom:25px; }
.review-card blockquote p { font-size:clamp(13px,.72vw,17px); line-height:1.85; color:var(--muted); max-width:45ch; }
.review-author { display:grid; grid-template-columns:40px 1fr; align-items:center; gap:12px; padding-top:22px; border-top:1px solid var(--line); }
.review-initials { width:40px; height:40px; display:grid; place-items:center; border:1px solid #c7cabc; border-radius:50%; font-size:12px; }
.review-name { display:block; font-size:14px; line-height:1.5; }
.review-detail { display:block; font-size:11px; color:var(--muted); margin-top:3px; }
.review-example { grid-column:2; font-size:10px; color:var(--muted); }
.reviews-bottom { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-top:36px; }
.reviews-bottom>span { font-size:12px; color:var(--muted); }
@media(max-width:1400px) { .review-card { padding:25px 24px; } .reviews-heading { gap:48px; } .review-card h3 { font-size:23px; } }
@media(max-width:1000px) { .reviews-heading { grid-template-columns:1fr; gap:24px; margin-bottom:36px; } .reviews-intro { justify-self:start; max-width:500px; } .review-card { padding:24px 18px; } .review-card h3 { font-size:21px; min-height:3.9em; } .review-card h3 br { display:none; } }
@media(max-width:700px) {
  .reviews { padding:28px 0 76px; }
  .reviews-heading h2 { font-size:37px; }
  .reviews-demo { font-size:10px; margin-top:16px; }
  .reviews-grid { grid-template-columns:1fr; }
  .review-card { padding:26px 22px; }
  .review-card + .review-card { border-left:0; border-top:1px solid var(--line); }
  .review-top { min-height:60px; }
  .review-quote-mark { font-size:68px; }
  .review-card h3 { font-size:25px; min-height:0; margin-bottom:20px; }
  .review-card blockquote { margin-bottom:26px; }
  .review-card blockquote p { font-size:13px; }
  .reviews-bottom { align-items:start; flex-direction:column; gap:24px; margin-top:28px; }
  .reviews-bottom>span { font-size:11px; }
  .reviews-bottom .line-link { width:100%; }
}
