/* CountryPlans plan pages — faithful rebuild of the rendered Sparkle pages.
   Unit system: 1rem = 10 design-px. Desktop design is 960px wide; between
   768-959px the whole layout scales fluidly (what Sparkle did with zoom).
   Below 768px the mobile design is 320px wide and scales the same way. */

:root { --u: 1px; }
@media (min-width: 768px) and (max-width: 959.9px) { :root { --u: calc(100vw / 960); } }
@media (max-width: 767.9px) { :root { --u: calc(100vw / 320); } }

html { font-size: calc(10 * var(--u)); scroll-behavior: smooth; }

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  background: #fff;
  color: #000;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 1.5rem;
  line-height: 2.5rem;
}

@font-face {
  font-family: "Lato 3";
  src: url('Lato-Bold.woff2') format('woff2'), url('Lato-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }

/* ---------- Header ---------- */

.site-header { padding-top: 1.5rem; text-align: center; }
.logo-desktop { display: inline-block; }
.logo-desktop img { width: 22.9rem; height: 10rem; }
.logo-mobile { display: none; }
.tagline {
  margin-top: -0.7rem;
  font-size: 1.2rem;
  line-height: 2.1rem;
  color: #404040;
  text-align: center;
}
.menu-btn { display: none; }

.site-nav { position: sticky; top: 0; z-index: 60; margin-top: 0.1rem; background: #FFC300; border-top: 1px solid #677A85; border-bottom: 1px solid #677A85; }
.site-nav ul {
  list-style: none;
  width: 90.5rem;
  margin: 0 auto;
  display: flex;
}
.site-nav li { width: 18.1rem; }
.site-nav a {
  display: block;
  padding: 0.35rem 0 0.35rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.4rem;
  text-align: center;
}

/* ---------- Page title ---------- */

h1 {
  margin-top: 2.9rem;
  font-size: 3rem;
  font-weight: 700;
  line-height: 4rem;
  text-align: center;
}

/* ---------- Cards (shared) ---------- */

.card {
  width: 95rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: 1rem;
  box-shadow: 0 0 1rem #C0C0C0;
}

/* ---------- Intro card: hero + specs + floor plan ---------- */

.intro-card {
  width: 95rem;
  margin: 3.1rem auto 0;
  border-radius: 1rem;
  box-shadow: 0 0 1rem #C0C0C0;
  padding: 2.3rem 1.4rem 4.5rem;
}
.intro-top { display: flex; }
.hero-img img { width: 54.5rem; height: 43.1rem; }
.specs { margin-left: 0.8rem; width: 37.2rem; padding-top: 4rem; }
.specs h2 { font-size: 2.8rem; font-weight: 700; line-height: 3.4rem; }
.specs ul { margin-top: 1.2rem; padding-left: 2.8rem; }
.specs li { font-size: 2rem; line-height: 3.4rem; }
.floorplan { display: block; width: 65.2rem; margin: 7.1rem auto 0; }
.floorplan img { width: 65.2rem; height: 44.8rem; }

/* ---------- Purchase band ---------- */

.purchase {
  scroll-margin-top: 52px;
  margin-top: 7rem;
  background: #FAF0DC;
  box-shadow: 0 0 3.5rem -0.6rem rgba(0, 0, 0, 0.4);
  padding: 5.6rem 0 6rem;
}
.purchase-split { display: flex; align-items: center; justify-content: center; gap: 8.5rem; }
.purchase-main { width: 50rem; text-align: left; }
.purchase-main h2 { font-size: 3.4rem; font-weight: 700; line-height: 4.4rem; text-align: center; }
.price-rows { margin-top: 1.8rem; }
.price-rows .row { display: flex; align-items: baseline; font-size: 1.7rem; line-height: 4.1rem; border-bottom: 1px solid #EADFC4; }
.price-rows .row:last-child { border-bottom: none; }
.price-rows .row span { flex: 1; }
.price-rows .row b { font-size: 1.8rem; }
.format-note { margin-top: 1.6rem; font-size: 1.3rem; line-height: 2.1rem; color: #404040; }
.cta-panel {
  width: 34rem;
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0 1rem #E2E2E2;
  padding: 3.2rem 2.8rem 3.4rem;
}
.cta-title { font-size: 1.8rem; font-weight: 700; line-height: 2.5rem; text-align: center; margin-bottom: 1.6rem; }
.order-btn {
  display: block;
  width: 100%;
  background: linear-gradient(180deg, #FFD34D 0%, #FFC300 55%, #F5B800 100%);
  border: 1px solid #D9A600;
  border-radius: 0.9rem;
  box-shadow: 0 0.3rem 0.8rem rgba(184, 138, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.55);
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 6.6rem;
  text-align: center;
  transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}
.order-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 0.5rem 1.2rem rgba(184, 138, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.55);
}
.order-btn:active {
  transform: translateY(1px);
  box-shadow: 0 0.15rem 0.4rem rgba(184, 138, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}
.pay-note { margin-top: 1.4rem; font-size: 1.3rem; line-height: 2rem; color: #404040; text-align: center; }
.pay-note + .pay-note { margin-top: 0.9rem; }

/* ---------- Overview card ---------- */

.overview-card { margin-top: 6.5rem; padding: 2.1rem 1.9rem 2.5rem; }
.overview-card h2 { font-size: 1.7rem; font-weight: 700; line-height: 2.1rem; }
.overview-card > p { margin-top: 0.8rem; }
.overview-card > p + p { margin-top: 2.5rem; }

.ov-cols { display: flex; margin-top: 1.8rem; }
.ov-left { width: 42.1rem; margin-left: 0.2rem; }
.ov-left ul { margin-top: 2.5rem; padding-left: 2.4rem; }
.ov-left li { width: 39.7rem; }
.ov-right { margin-left: 1.9rem; width: 45.6rem; }
.elevation { display: block; width: 43.2rem; margin: 0.8rem auto 0; }
.elevation img { width: 43.2rem; height: 33.9rem; }

.interior-box {
  margin-top: 1.2rem;
  border-radius: 1rem;
  box-shadow: 0 0 1rem #E2E2E2;
  padding: 1.7rem 1.6rem 1.2rem;
}
.interior-box img { width: 42.3rem; height: 36.9rem; }
.interior-box p { margin-top: 1.2rem; width: 41rem; }

.includes-box {
  margin-top: 4.4rem;
  border-radius: 1rem;
  box-shadow: 0 0 1rem #E2E2E2;
  padding: 2rem 1.9rem 1.3rem 1.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4rem;
}
.includes-left { flex: 0 1 38rem; }
.includes-left h2 { margin-top: 0; line-height: 2.9rem; }
.includes-left ul { padding-left: 2.4rem; }
.includes-right { flex: 0 0 auto; width: 49.6rem; }
.includes-right img { width: 49.6rem; height: 39.6rem; }
.includes-cap { margin-top: 0.3rem; margin-left: 1.8rem; width: 46.8rem; font-size: 1.2rem; line-height: 1.8rem; }
.includes-cap span { background: #fff; padding: 0 0.4rem; border-radius: 0.4rem; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* ---------- Customer story ---------- */

.story {
  margin-top: 8.8rem;
  background: #E7EAEF;
  padding: 2.5rem 2rem 3.8rem;
}
.story h2 { font-size: 1.7rem; font-weight: 700; line-height: 2.1rem; }
.story-row { display: flex; justify-content: space-between; align-items: flex-start; }
.story-intro { margin-top: 1.6rem; width: 36.5rem; }
.photo-card {
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0 1rem #E2E2E2;
  padding: 1.6rem 1.6rem 1.2rem;
}
.photo-card p { margin-top: 1rem; }
.card-cabin { width: 52.6rem; }
.card-cabin img { width: 49.4rem; height: 34.9rem; }
.card-mike { margin-top: 2.5rem; margin-left: 1.9rem; width: 30.4rem; }
.card-mike img { width: 27.6rem; height: 20.4rem; }
.card-mike p { width: 27.8rem; }
.card-framing { margin-top: 5.7rem; width: 42.6rem; }
.card-framing img { width: 38.8rem; height: 36.1rem; }
.card-framing p { width: 36.6rem; }
.card-stair { margin-top: 4.2rem; width: 46.4rem; }
.card-stair img { width: 43.5rem; height: 32.7rem; }
.card-stair p { width: 42.1rem; }
.card-snow { margin-top: 3.3rem; width: 40.4rem; }
.card-snow img { width: 37.6rem; height: 24.8rem; }
.card-snow p { width: 33.5rem; }
.quote { font-style: italic; }
.quote-1 { margin-top: 2.3rem; width: 46.8rem; }
.quote-2 { margin-top: 6.8rem; margin-left: 2rem; width: 40.8rem; }
.quote-3 { margin-top: 4.9rem; width: 48.1rem; }
.quote-thanks { margin-top: 2.5rem; width: 48.1rem; }
.quote-sig { margin-top: 2.5rem; }

/* ---------- Complements ---------- */

.complements {
  margin-top: 7.6rem;
  width: 79.1rem;
  margin-left: auto;
  margin-right: auto;
  background: #FAF0DC;
  border-radius: 1rem;
  box-shadow: 0 0 1rem #C0C0C0;
  padding: 1.9rem 0 6.2rem;
}
.complements > h3 { font-size: 2rem; font-weight: 700; line-height: 2.4rem; text-align: center; }
.comp-row { display: flex; justify-content: center; gap: 4.9rem; margin-top: 1.9rem; }
.comp-card {
  display: block;
  width: 31.5rem;
  background: #FFFBF4;
  border-radius: 1rem;
  box-shadow: 0 0 1rem #E2E2E2;
  padding: 2.1rem 1.8rem;
}
.comp-inner { background: #fff; border-radius: 1rem; padding: 1.5rem 1.2rem 2.5rem; display: flex; flex-direction: column; }
.comp-flex { display: contents; }
.comp-inner img { order: 1; margin: 0 auto; }
.comp-inner h3 { order: 2; }
.comp-inner p { order: 3; }
.img-sunkit { width: 25rem; height: 17.5rem; }
.comp-flex picture { flex: none; }
.img-sunroom { width: 25.4rem; height: 17.7rem; }
.comp-inner h3 { margin-top: 0.4rem; font-size: 1.7rem; font-weight: 700; line-height: 2.5rem; text-align: center; }
.comp-inner p { margin: 0.5rem auto 0; width: 25.5rem; }

/* ---------- Buy these plans ---------- */

.buy {
  margin-top: 6.8rem;
  width: 42.7rem;
  margin-left: auto;
  margin-right: auto;
  background: #FAF0DC;
  border-radius: 1rem;
  box-shadow: 0 0 1rem #C0C0C0;
  padding: 1.5rem 0 6rem;
}
.buy > h3 { font-size: 2.2rem; font-weight: 700; line-height: 2.7rem; text-align: center; }
.buy-card {
  display: block;
  width: 33.9rem;
  margin: 1.8rem auto 0;
  background: #FFFBF4;
  border-radius: 1rem;
  box-shadow: 0 0 1rem #E2E2E2;
  padding: 2rem 2.3rem 1.3rem;
}
.buy-card img { width: 29.2rem; height: 23.1rem; }
.buy-card h2 { margin-top: 1.4rem; font-size: 2.2rem; font-weight: 700; line-height: 2.7rem; text-align: center; }

/* ---------- Footer ---------- */

.site-footer { margin-top: 1rem; text-align: center; }
.bounce { width: 5.6rem; height: 8.3rem; margin: 0 auto; }
.footer-logo { display: inline-block; margin-top: 0.8rem; }
.footer-logo img { width: 24rem; height: 2.9rem; }
.footer-tagline { margin-top: -0.4rem; font-size: 1.2rem; line-height: 2.1rem; text-align: center; }
.footer-links { margin-top: 0.1rem; background: #C0C0C0; padding: 1.6rem 0; display: flex; justify-content: center; gap: 0.4rem; }
.footer-links a { width: 14.2rem; font-size: 1.4rem; line-height: 2.5rem; text-align: center; }

/* ---------- Lightbox ---------- */

.lb-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  background: rgba(0, 0, 0, 0);
  transition: background 0.32s ease;
  cursor: zoom-out;
}
.lb-overlay.on { display: block; }
.lb-overlay.shown { background: rgba(0, 0, 0, 0.72); }
.lb-overlay img {
  position: absolute;
  transform-origin: 0 0;
  transition: transform 0.32s cubic-bezier(0.2, 0.7, 0.3, 1), opacity 0.32s ease;
  border-radius: 4px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
  will-change: transform;
}
.lb-close {
  position: absolute;
  top: 10px;
  right: 14px;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 24px;
  line-height: 40px;
  text-align: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.32s ease;
}
.lb-overlay.shown .lb-close { opacity: 1; }
.zoom { cursor: zoom-in; }

/* ==================================================================
   Mobile (design width 320)
   ================================================================== */

@media (max-width: 767.9px) {

  /* Header */
  .site-header { position: relative; padding-top: 2rem; text-align: left; }
  .logo-desktop { display: none; }
  .logo-mobile { display: inline-block; margin-left: 1.9rem; }
  .logo-mobile img { width: 22.8rem; height: 2.7rem; }
  .tagline { margin: -0.2rem 0 0 1.9rem; font-size: 0.9rem; line-height: 1.6rem; text-align: left; }
  .menu-btn {
    display: block;
    position: fixed;
    z-index: 70;
    top: 1.5rem;
    right: 1.5rem;
    width: 4rem;
    height: 3.8rem;
    background: #FFC300;
    border: none;
    border-radius: 0.8rem;
    cursor: pointer;
  }
  .menu-btn span { display: block; width: 2.4rem; height: 0.4rem; margin: 0.4rem auto; border-radius: 0.2rem; background: #000; }
  .site-nav { display: none; position: fixed; top: 5.6rem; right: 1.5rem; z-index: 65; margin: 0; background: #fff; border-radius: 0.8rem; box-shadow: 0 0.2rem 1.2rem rgba(0,0,0,0.35); overflow: hidden; }
  .site-nav.open { display: block; }
  .site-nav ul { display: block; width: 20rem; }
  .site-nav li { width: auto; border-bottom: 0.1rem solid #eee; }
  .site-nav li:last-child { border-bottom: none; }
  .site-nav a { padding: 1rem 1.6rem; font-size: 1.6rem; line-height: 2rem; text-align: left; background: #fff; }
  .site-nav a:active { background: #FFC300; }

  h1 { margin-top: 1.2rem; font-size: 1.8rem; line-height: 2.4rem; }

  body { font-size: 1.2rem; line-height: 2.1rem; }

  .card { width: 31rem; }
  h1 { margin-top: 0; }

  /* Intro: on mobile the live page puts the H1 inside the card and the
     floor plan between hero and specs */
  .intro-wrap {
    width: 31rem;
    margin: 1.6rem auto 0;
    border-radius: 1rem;
    box-shadow: 0 0 1rem #C0C0C0;
    padding: 1.4rem 1.6rem 2rem;
  }
  .intro-card {
    width: auto; margin: 0; padding: 0;
    border-radius: 0; box-shadow: none;
    display: flex; flex-direction: column;
  }
  .intro-top { display: contents; }
  .hero-img { order: 1; }
  .floorplan { order: 2; }
  .specs { order: 3; }
  .hero-img { display: block; width: 24.2rem; margin: 1.4rem auto 0; }
  .hero-img img { width: 24.2rem; height: 19.1rem; }
  .specs { margin: 2rem 0 0 0.8rem; width: auto; padding-top: 0; }
  .specs h2 { font-size: 1.3rem; line-height: 1.7rem; }
  .specs ul { margin-top: 0.8rem; padding-left: 1.8rem; }
  .specs li { font-size: 1.2rem; line-height: 2.1rem; }
  .floorplan { width: 27.8rem; margin: 1.6rem auto 0; }
  .floorplan img { width: 27.8rem; height: 19.1rem; }

  /* Purchase */
  .purchase { scroll-margin-top: 20px; margin-top: 2.6rem; padding: 2.6rem 0 2.8rem; }
  .purchase-split { display: flex; flex-direction: column; gap: 0; }
  .purchase-main { display: contents; }
  .purchase-main h2 { order: 1; font-size: 2.3rem; line-height: 3rem; text-align: center; }
  .cta-panel { order: 2; width: 29.5rem; max-width: 92vw; margin: 1.6rem auto 0; padding: 1.6rem 1.6rem 1.3rem; }
  .price-rows { order: 3; width: 26.5rem; max-width: 84vw; margin: 2.2rem auto 0; }
  .price-rows .row { font-size: 1.2rem; line-height: 3rem; }
  .price-rows .row b { font-size: 1.4rem; }
  .format-note { order: 4; width: 26.5rem; max-width: 84vw; margin: 1.4rem auto 0; font-size: 1rem; line-height: 1.7rem; }
  .cta-title { font-size: 1.8rem; font-weight: 700; line-height: 2.5rem; text-align: center; margin-bottom: 1.6rem; }
.order-btn { font-size: 1.8rem; line-height: 5.5rem; }
  .pay-note { font-size: 1rem; line-height: 1.6rem; }

  /* Overview */
  .overview-card { margin-top: 3rem; padding: 1.6rem 1.4rem 2rem; }
  .overview-card h2 { font-size: 1.3rem; line-height: 1.7rem; }
  .overview-card > p { margin-top: 0.5rem; }
  .overview-card > p + p { margin-top: 2rem; }
  .ov-cols { display: flex; flex-direction: column; margin-top: 1.5rem; }
  .ov-left, .ov-right { display: contents; }
  .elevation { order: 1; }
  .interior-box { order: 2; }
  .ov-left p { order: 3; }
  .ov-left ul { order: 4; }
  .ov-left { width: auto; margin-left: 0; }
  .ov-left ul { margin-top: 2rem; padding-left: 1.8rem; }
  .ov-left li { width: auto; }
  .ov-right { margin-left: 0; width: auto; }
  .elevation { width: 30.2rem; margin: 1rem auto 0; max-width: 100%; }
  .elevation img { width: 30.2rem; height: 23.7rem; }
  .interior-box { margin: 1.4rem auto 3rem; padding: 1.2rem 1.2rem 1rem; }
  .interior-box img { width: 27.3rem; height: 23.8rem; }
  .interior-box p { margin-top: 1rem; width: auto; font-size: 1.3rem; line-height: 2.2rem; }
  .includes-box { margin-top: 2.4rem; padding: 1.4rem 1.2rem 1.4rem; display: block; }
  .includes-left { width: auto; }
  .includes-left h2 { margin-top: 0; }
  .includes-left ul { padding-left: 1.8rem; }
  .includes-left li { width: auto; }
  .includes-right { margin: 1.4rem 0 0; width: auto; }
  .includes-right img { width: 27.3rem; height: 21.8rem; margin: 0 auto; }
  .includes-cap { margin: 0.6rem 0 0; width: auto; font-size: 1rem; line-height: 1.6rem; }

  /* Story */
  .story { margin-top: 3.4rem; width: 31rem; padding: 1.8rem 1.4rem 2.6rem; }
  .story h2 { font-size: 1.3rem; line-height: 1.7rem; }
  .story-row { display: flex; flex-direction: column; }
  .story-left, .story-right { display: contents; }
  .story h2 { order: 1; }
  .story-intro { order: 2; }
  .card-cabin { order: 3; }
  .card-mike { order: 4; }
  .card-snow { order: 1; }
  .quote-3 { order: 2; }
  .quote-thanks { order: 3; }
  .quote-sig { order: 4; }
  .story-intro { margin-top: 0.8rem; width: auto; }
  .photo-card { margin: 2rem auto 0; padding: 1.2rem 1.2rem 1rem; }
  .photo-card p { margin-top: 0.8rem; font-size: 1.2rem; line-height: 2.1rem; width: auto; }
  .card-cabin { width: 29.9rem; margin-left: -0.8rem; }
  .card-cabin img { width: 28rem; height: 19.8rem; margin: 0 auto; }
  .card-mike { width: 26.4rem; margin-left: auto; }
  .card-mike img { width: 23.7rem; height: 17.8rem; margin: 0 auto; }
  .card-framing { width: 27.5rem; }
  .card-framing img { width: 24.7rem; height: 23rem; margin: 0 auto; }
  .card-stair { width: 27.2rem; }
  .card-stair img { width: 24.6rem; height: 18.5rem; margin: 0 auto; }
  .card-snow { width: 27.8rem; }
  .card-snow img { width: 24.9rem; height: 16.4rem; margin: 0 auto; }
  .quote { font-size: 1.2rem; line-height: 2.1rem; }
  .quote-1, .quote-2, .quote-3, .quote-thanks { margin: 2rem 0 0; width: auto; }

  .comp-inner { display: block; }
  .comp-flex { display: flex; align-items: center; gap: 1rem; }
  .comp-inner img { margin: 0; }

  /* Complements */
  .complements { margin-top: 3.2rem; width: 31rem; padding: 1.5rem 0 2.4rem; }
  .complements > h3 { font-size: 1.6rem; line-height: 2rem; }
  .comp-row { display: block; margin-top: 1.2rem; }
  .comp-card { width: 30rem; margin: 1.2rem auto 0; padding: 1.1rem 1.1rem; }
  .comp-inner { padding: 1rem 1rem 1.4rem; }
  .comp-inner h3 { margin: 0 0 0.6rem; font-size: 1.3rem; line-height: 1.7rem; }
  .comp-flex { display: flex; align-items: center; gap: 1rem; }
  .img-sunkit { width: 14.5rem; height: 10.2rem; flex: none; }
  .img-sunroom { width: 14.4rem; height: 10rem; flex: none; }
  .comp-inner p { margin: 0; width: auto; }

  /* Buy */
  .buy { margin-top: 3.4rem; width: 31rem; padding: 1.4rem 0 3.4rem; }
  .buy > h3 { font-size: 1.6rem; line-height: 2rem; }
  .buy-card { width: 30rem; margin-top: 1.4rem; padding: 1.4rem 1rem 1rem; }
  .buy-card img { width: 28rem; height: 22.1rem; margin: 0 auto; }
  .buy-card h2 { margin-top: 1rem; font-size: 1.3rem; line-height: 1.7rem; }

  /* Footer */
  .site-footer { margin-top: 3rem; }
  .bounce { width: 5.1rem; height: 7.6rem; }
  .footer-logo { margin-top: 0.5rem; }
  .footer-logo img { width: 20.5rem; height: 2.5rem; }
  .footer-tagline { margin-top: -0.5rem; font-size: 0.9rem; line-height: 1.6rem; }
  .footer-links { margin-top: 0.6rem; padding: 1.3rem 0; gap: 1.4rem; }
  .footer-links a { width: auto; font-size: 1.2rem; line-height: 2.5rem; }
}

/* ========== Shared structural helpers (rollout) ========== */
.ov-row { display: flex; }
.story-body::after { content: ""; display: block; clear: both; }
.sfloat { float: right; clear: right; margin-left: 2rem; }
@media (max-width: 767.9px) {
  .ov-row { display: flex; flex-direction: column; }
  .sfloat { float: none; margin-left: 0; }
  .story-body { display: flex; flex-direction: column; }
}

/* ========== Page: 1-story-cottage ========== */
.p-1story .hero-img img { width: 56.5rem; height: 50.6rem; }
.p-1story .specs { width: 34rem; padding-top: 6rem; margin-left: auto; }
.p-1story .floorplan { width: 78.5rem; margin-top: 6.2rem; }
.p-1story .floorplan img { width: 78.5rem; height: 56.3rem; }
.p-1story .overview-card { padding: 2.1rem 2.9rem 2.5rem; }
.p-1story .ov-a { margin-top: 0.6rem; }
.p-1story .ova-img { margin-left: 1.8rem; }
.p-1story .ova-img img { width: 41.4rem; height: 52rem; }
.p-1story .ova-text { margin-left: 7.8rem; margin-top: 4rem; width: 36.1rem; }
.p-1story .ov-b { margin-top: 6.5rem; }
.p-1story .ovb-text { margin-left: 0.4rem; width: 29.8rem; }
.p-1story .ovb-img { margin: 2rem 1.6rem 0 auto; }
.p-1story .ovb-img img { width: 51.8rem; height: 36rem; }
.p-1story .includes-box { margin-top: 9rem; }
.p-1story .includes-right { width: 47.5rem; }
.p-1story .includes-right img { width: 47.5rem; height: 36.2rem; }
.p-1story .story { padding: 2.5rem 2rem 2.1rem; }
.p-1story .card-cabin1 { width: 67.2rem; padding: 2.4rem 2rem 1.5rem; }
.p-1story .card-cabin1 img { width: 63.1rem; height: 36.5rem; }
.p-1story .s-intro { margin-top: 1.6rem; }
.p-1story .s-q1 { margin-top: 5rem; width: 22.2rem; }
.p-1story .card-framing1 { margin-top: 3.1rem; width: 51.1rem; padding: 2.1rem 1.8rem 1.5rem; }
.p-1story .card-framing1 img { width: 47.5rem; height: 35.6rem; }
.p-1story .s-q2 { margin-top: 2.9rem; width: 38.5rem; }
.p-1story .card-cody { margin-top: 2.2rem; width: 34.3rem; padding: 1.6rem; }
.p-1story .card-cody img { width: 31.1rem; height: 23.3rem; }
.p-1story .s-msg2 { margin-top: 2.7rem; width: 39.6rem; }
.p-1story .s-msg2 .quote { margin-top: 2.5rem; }
.p-1story .card-window { margin-top: 3.1rem; width: 46.4rem; padding: 2rem 2rem 1.2rem; }
.p-1story .card-window img { width: 42.3rem; height: 31.7rem; }
.p-1story .card-tyvek { margin-top: 2.6rem; width: 39.7rem; padding: 1.8rem 1.8rem 1.2rem; }
.p-1story .card-tyvek img { width: 36rem; height: 27rem; }
.p-1story .s-q4 { margin-top: 2.4rem; width: 49.4rem; }
.p-1story .s-sig { margin-top: 2.5rem; }
.p-1story .buy-card img { width: 30.5rem; height: 22.6rem; }
.p-1story .buy-card h2 { font-size: 1.7rem; line-height: 2.5rem; }

@media (max-width: 767.9px) {
  .p-1story .intro-card { margin-top: 0; }
  .p-1story .hero-img { width: 28.6rem; }
  .p-1story .hero-img img { width: 28.6rem; height: 25.6rem; }
  .p-1story .specs { width: auto; padding-top: 0; margin-left: 0.8rem; }
  .p-1story .floorplan { width: 28.9rem; margin: 1.6rem auto 0; }
  .p-1story .floorplan img { width: 28.9rem; height: 20.7rem; }
  .p-1story .overview-card { padding: 1.6rem 1.4rem 2rem; }
  .p-1story .ov-a { margin-top: 1.4rem; }
  .p-1story .ova-img { margin: 0 auto; }
  .p-1story .ova-img img { width: 23.3rem; height: 29.3rem; }
  .p-1story .ova-text { margin: 1.6rem 0 0; width: auto; }
  .p-1story .ov-b { margin-top: 2.4rem; }
  .p-1story .ovb-img { order: 1; margin: 0 auto; }
  .p-1story .ovb-img img { width: 27.3rem; height: 19rem; }
  .p-1story .ovb-text { order: 2; margin: 1.6rem 0 0; width: auto; }
  .p-1story .includes-box { margin-top: 2.4rem; }
  .p-1story .includes-left { width: auto; }
  .p-1story .includes-left h2 { margin-top: 0; }
  .p-1story .includes-right { width: auto; margin: 1.4rem 0 0; }
  .p-1story .includes-right img { width: 28.3rem; height: 21.6rem; margin: 0 auto; }
  .p-1story .story { padding: 1.8rem 1.4rem 2.6rem; }
  .p-1story .story h2 { order: 1; }
  .p-1story .s-intro { order: 2; margin-top: 0.8rem; }
  .p-1story .s-q1 { order: 3; margin: 2rem 0 0; width: auto; }
  .p-1story .card-cabin1 { order: 4; width: 28.1rem; }
  .p-1story .card-cabin1 img { width: 25.6rem; height: 17.5rem; margin: 0 auto; }
  .p-1story .s-q2 { order: 5; margin: 2rem 0 0; width: auto; }
  .p-1story .card-cody { order: 6; width: 26.3rem; }
  .p-1story .card-cody img { width: 23.7rem; height: 17.8rem; margin: 0 auto; }
  .p-1story .card-framing1 { order: 7; width: 24.5rem; }
  .p-1story .card-framing1 img { width: 21.7rem; height: 16.3rem; margin: 0 auto; }
  .p-1story .card-window { order: 8; width: 24.5rem; }
  .p-1story .card-window img { width: 22rem; height: 16.5rem; margin: 0 auto; }
  .p-1story .s-msg2 { order: 9; margin: 2rem 0 0; width: auto; }
  .p-1story .card-tyvek { order: 10; width: 24.5rem; }
  .p-1story .card-tyvek img { width: 22.1rem; height: 16.6rem; margin: 0 auto; }
  .p-1story .s-q4 { order: 11; margin: 2rem 0 0; width: auto; }
  .p-1story .s-sig { order: 12; margin-top: 2rem; }
  .p-1story .buy-card img { width: 28rem; height: 18.7rem; }
}

/* ========== Page: 2-story-universal-cottage ========== */
.p-2suc .hero-img img { width: 56.6rem; height: 43rem; }
.p-2suc .specs { width: 34rem; padding-top: 3rem; margin-left: 2.6rem; }
.p-2suc .specs li { width: auto; }
.p-2suc .fp-row { display: flex; justify-content: center; gap: 2.2rem; margin-top: 3.9rem; }
.p-2suc .fp-item { text-align: center; }
.p-2suc .fp-main img { width: 48.5rem; height: 29rem; }
.p-2suc .fp-upper img { width: 42.1rem; height: 26.5rem; }
.p-2suc .fp-item p { margin-top: 0.6rem; font-size: 1.3rem; line-height: 1.7rem; color: #000; }

.p-2suc .ov-left { width: 43.3rem; }
.p-2suc .ov-left li { width: 40.9rem; }
.p-2suc .ov-right { width: 47.3rem; margin-left: 2.3rem; }
.p-2suc .elev-front { display: block; width: 33.3rem; margin: 0 auto; }
.p-2suc .elev-front img { width: 33.3rem; height: 41.5rem; }
.p-2suc .elev-side { display: block; width: 47.3rem; margin: 0.6rem auto 0; }
.p-2suc .elev-side img { width: 47.3rem; height: 31.5rem; }
.p-2suc .ov-note { margin-top: 1.9rem; }

.p-2suc .includes-right { width: 48.7rem; }
.p-2suc .includes-right img { width: 48.7rem; height: 34.9rem; }

.p-2suc .story-cols { display: flex; gap: 3rem; }
.p-2suc .story-left { width: 46rem; }
.p-2suc .story-right { width: 43rem; display: flex; flex-direction: column; align-items: center; }
.p-2suc .story-introp { margin-top: 1.6rem; }
.p-2suc .card-kitchen { margin-top: 2.5rem; width: 44.6rem; }
.p-2suc .card-kitchen img { width: 41.4rem; height: 31rem; }
.p-2suc .card-ext { width: 42.6rem; }
.p-2suc .card-ext img { width: 39.4rem; height: 33.5rem; }
.p-2suc .card-living { margin-top: 2.5rem; width: 30.5rem; }
.p-2suc .card-living img { width: 27.3rem; height: 20.6rem; }

.p-2suc .buy-card img { width: 30.5rem; height: 23.2rem; }
.p-2suc .buy-card h2 { font-size: 1.7rem; line-height: 2.5rem; }
.p-2suc .story-introp a { text-decoration: underline; }

@media (max-width: 767.9px) {
  .p-2suc h1 { font-size: 1.55rem; line-height: 2.1rem; }
  .p-2suc .hero-img { width: 28.2rem; margin: 1.4rem auto 0; }
  .p-2suc .hero-img img { width: 28.2rem; height: 21.4rem; }
  .p-2suc .specs { width: auto; padding-top: 0; margin-left: 0.8rem; }

  .p-2suc .fp-row { order: 2; display: flex; flex-direction: column; align-items: center; gap: 1.4rem; margin-top: 1.6rem; }
  .p-2suc .fp-main img { width: 28.9rem; height: 17.3rem; margin: 0 auto; }
  .p-2suc .fp-upper img { width: 25rem; height: 15.8rem; margin: 0 auto; }
  .p-2suc .fp-item p { font-size: 1.1rem; margin-top: 0.4rem; text-align: center; }

  .p-2suc .ov-left { width: auto; }
  .p-2suc .ov-left li { width: auto; }
  .p-2suc .ov-right { width: auto; margin-left: 0; }
  .p-2suc .ov-left ul { order: 1; }
  .p-2suc .elev-front { order: 2; }
  .p-2suc .elev-side { order: 3; }
  .p-2suc .elev-front { width: 19.4rem; margin: 3.4rem auto 0; }
  .p-2suc .elev-front img { width: 19.4rem; height: 24.1rem; }
  .p-2suc .elev-side { width: 27.5rem; margin: 4.7rem auto 0; }
  .p-2suc .elev-side img { width: 27.5rem; height: 18.3rem; }
  .p-2suc .ov-note { margin-top: 4.6rem; }
  .p-2suc .includes-box { margin-top: 3.95rem; }

  .p-2suc .includes-left li { width: auto; }
  .p-2suc .includes-right { width: auto; margin: 1.4rem 0 0; }
  .p-2suc .includes-right img { width: 28.3rem; height: 20.3rem; margin: 0 auto; }
  .p-2suc .includes-cap { width: auto; }

  .p-2suc .story-cols { display: flex; flex-direction: column; gap: 0; }
  .p-2suc .story-left, .p-2suc .story-right { display: contents; }
  .p-2suc .story-h { order: 1; }
  .p-2suc .story-introp { order: 2; margin-top: 0.8rem; width: auto; }
  .p-2suc .card-ext { order: 3; width: 27.9rem; margin: 1.2rem auto 0; }
  .p-2suc .card-ext img { width: 24.7rem; height: 21rem; margin: 0 auto; }
  .p-2suc .card-kitchen { order: 4; width: 28.1rem; margin: 4.4rem auto 0; }
  .p-2suc .card-kitchen img { width: 24.9rem; height: 18.6rem; margin: 0 auto; }
  .p-2suc .card-living { order: 5; width: 27.9rem; margin: 6.7rem auto 0; }
  .p-2suc .card-living img { width: 24.7rem; height: 18.6rem; margin: 0 auto; }

  .p-2suc .buy-card img { width: 27.2rem; height: 20.7rem; }
}


/* ========== Page: big-enchilada ========== */
.p-bigench .hero-img img { width: 49.5rem; height: 66.9rem; }
.p-bigench .specs { width: 40rem; padding-top: 12.5rem; margin-left: 2.6rem; }
.p-bigench .specs li { width: auto; }

.p-bigench .combo-card { margin-top: 2rem; padding: 2.3rem 1.4rem 2.6rem; }
.p-bigench .combo-row { display: flex; justify-content: space-between; align-items: center; }
.p-bigench .cr-cabin img { width: 31rem; height: 23.2rem; }
.p-bigench .cr-cottage img { width: 30.8rem; height: 26.8rem; }
.p-bigench .cr-sunroom img { width: 24.1rem; height: 16.7rem; }
.p-bigench .combo-cap { margin-top: 2rem; }

.p-bigench .overview-card { padding: 2.1rem 1.9rem 2.5rem; }
.p-bigench .ov-list { margin-top: 0.8rem; padding-left: 2.4rem; }
.p-bigench .ov-list li { width: auto; }
.p-bigench .includes-box { margin-top: 4.4rem; }
.p-bigench .includes-right img { width: 47.9rem; height: 32rem; }

.p-bigench .cottage-details { margin-top: 6.5rem; background: #F6F9FA; padding: 4.9rem 2rem 3rem; }
.p-bigench .cottage-details h2 { font-size: 1.7rem; font-weight: 700; line-height: 2.1rem; }
.p-bigench .cd-cols { display: flex; gap: 3.9rem; margin-top: 1.4rem; }
.p-bigench .cd-left { width: 47.4rem; }
.p-bigench .cd-right { width: 40.4rem; margin-top: 0.5rem; }
.p-bigench .cd-floorplan { margin-top: 1.4rem; }
.p-bigench .cd-floorplan img { width: 44.5rem; height: 22rem; margin: 0 auto; }
.p-bigench .cd-sketch { margin-top: 3.8rem; width: 40.1rem; margin-left: auto; margin-right: auto; }
.p-bigench .cd-sketch img { width: 36.9rem; height: 32.1rem; margin: 0 auto; }
.p-bigench .cd-photo img { width: 36.4rem; height: 27.3rem; margin: 0 auto; }
.p-bigench .cd-elev { margin-top: 4.5rem; }
.p-bigench .cd-elev img { width: 38.1rem; height: 40.3rem; margin: 0 auto; }

.p-bigench .buy-card img { width: 30.5rem; height: 24.8rem; }
.p-bigench .buy-card h2 { font-size: 1.7rem; line-height: 2.5rem; }

@media (max-width: 767.9px) {
  .p-bigench .intro-wrap { width: 31.8rem; padding: 1.4rem 0.1rem 2rem; }
  .p-bigench .intro-card { margin-top: 0; }
  .p-bigench .hero-img { width: 31.6rem; margin: 1.4rem auto 0; }
  .p-bigench .hero-img img { width: 31.6rem; height: 42.7rem; }
  .p-bigench .specs { width: auto; padding-top: 0; margin: 2rem 0 0 0.9rem; }

  .p-bigench .combo-card { margin-top: 1.6rem; padding: 1.4rem 1.6rem 1.6rem; }
  .p-bigench .combo-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "cottage cottage" "cabin sunroom"; gap: 1rem; align-items: center; justify-items: center; }
  .p-bigench .cr-cottage { grid-area: cottage; }
  .p-bigench .cr-cabin { grid-area: cabin; }
  .p-bigench .cr-sunroom { grid-area: sunroom; }
  .p-bigench .cr-cottage img { width: 19rem; height: 16.5rem; }
  .p-bigench .cr-cabin img { width: 14.6rem; height: 10.9rem; }
  .p-bigench .cr-sunroom img { width: 14.2rem; height: 7.9rem; }
  .p-bigench .combo-cap { margin-top: 1.4rem; font-size: 1.2rem; line-height: 2.1rem; }

  .p-bigench .overview-card { padding: 1.6rem 1.4rem 2rem; }
  .p-bigench .ov-list { margin-top: 0.8rem; padding-left: 1.8rem; }
  .p-bigench .ov-list li { width: auto; }
  .p-bigench .includes-box { margin-top: 2.4rem; display: block; padding: 1.4rem 1.2rem 1.4rem; }
  .p-bigench .includes-left { width: auto; }
  .p-bigench .includes-left li { width: auto; }
  .p-bigench .includes-right { margin: 1.4rem 0 0; width: auto; }
  .p-bigench .includes-right img { width: 28.3rem; height: 18.9rem; margin: 0 auto; }

  .p-bigench .cottage-details { margin-top: 3rem; padding: 1.6rem 1.4rem 2rem; }
  .p-bigench .cd-cols { display: flex; flex-direction: column; gap: 0; margin-top: 0.8rem; }
  .p-bigench .cd-left, .p-bigench .cd-right { display: contents; }
  .p-bigench .cd-left { width: auto; }
  .p-bigench .cd-right { width: auto; margin-top: 0; }
  .p-bigench .cd-intro { order: 1; margin-top: 0; }
  .p-bigench .cd-sketch { order: 2; margin: 2rem auto 0; width: 24.6rem; }
  .p-bigench .cd-floorplan { order: 3; margin-top: 2rem; }
  .p-bigench .cd-elev { order: 4; margin-top: 2rem; }
  .p-bigench .cd-photo { order: 5; margin-top: 2rem; }
  .p-bigench .cd-sketch img { width: 21.4rem; height: 18.6rem; margin: 0 auto; }
  .p-bigench .cd-floorplan img { width: 25.3rem; height: 12.5rem; margin: 0 auto; }
  .p-bigench .cd-elev img { width: 21.9rem; height: 23.2rem; margin: 0 auto; }
  .p-bigench .cd-photo img { width: 24.9rem; height: 18.7rem; margin: 0 auto; }

  .p-bigench .buy-card img { width: 25.5rem; height: 20.7rem; }
}


/* ========== Page: grandfather-cottage ========== */
.p-grandf .intro-card { display: block; }
.p-grandf .hero-img { display: block; width: 83.4rem; margin: 0 auto; }
.p-grandf .hero-img img { width: 83.4rem; height: 38.5rem; }
.p-grandf .intro-lower { display: flex; margin-top: 3rem; }
.p-grandf .floorplan { width: 52.4rem; margin: 0; }
.p-grandf .floorplan img { width: 52.4rem; height: 42.2rem; }
.p-grandf .specs { width: 34.4rem; padding-top: 0; margin-left: 2.7rem; }

.p-grandf .includes-box { width: 72.2rem; margin-left: auto; margin-right: auto; }
.p-grandf .includes-right { width: 31.3rem; }
.p-grandf .includes-right img { width: 31.3rem; height: 23.5rem; }

.p-grandf .buy-card img { width: 30.5rem; height: 14.1rem; }
.p-grandf .buy-card h2 { font-size: 1.7rem; line-height: 2.5rem; }

.p-grandf .story-body h2 { margin-top: 0; }
.p-grandf .story-row { gap: 3.2rem; }
.p-grandf .sr-1 { margin-top: 0.5rem; align-items: center; }
.p-grandf .s-text { flex: 1 1 auto; min-width: 0; }
.p-grandf .card-built { width: 53rem; flex: 0 0 auto; }
.p-grandf .card-built img { width: 48.8rem; height: 29.5rem; }
.p-grandf .s-p1 { margin-top: 0.9rem; }
.p-grandf .s-p2 { margin-top: 2.8rem; }
.p-grandf .sr-2 { margin-top: 3.6rem; align-items: center; }
.p-grandf .card-early { width: 56.8rem; flex: 0 0 auto; }
.p-grandf .card-early img { width: 53.4rem; height: 21.7rem; }
.p-grandf .s-p3 { margin: 0; flex: 1 1 auto; }

@media (max-width: 767.9px) {
  .p-grandf .intro-card { margin-top: 0; display: flex; flex-direction: column; }
  .p-grandf .hero-img { width: 30rem; margin: 1.4rem auto 0; }
  .p-grandf .hero-img img { width: 30rem; height: 13.9rem; }
  .p-grandf .intro-lower { display: contents; }
  .p-grandf .floorplan { order: 2; width: 27.8rem; margin: 1.6rem auto 0; }
  .p-grandf .floorplan img { width: 27.8rem; height: 22.3rem; }
  .p-grandf .specs { order: 3; width: auto; margin: 2rem 0 0 0.8rem; padding-top: 0; }

  .p-grandf .includes-box { width: auto; }
  .p-grandf .includes-left { width: auto; }
  .p-grandf .includes-right { width: auto; margin: 1.4rem 0 0; display: block; }
  .p-grandf .includes-right img { width: 28.3rem; height: 21.3rem; margin: 0 auto; }

  .p-grandf .buy-card img { width: 28rem; height: 12.9rem; }
  .p-grandf .story-body { display: flex; flex-direction: column; }
  .p-grandf .story-row, .p-grandf .s-text { display: contents; }
  .p-grandf .story-body h2 { order: 1; }
  .p-grandf .s-p1 { order: 2; margin-top: 0.8rem; }
  .p-grandf .card-built { order: 3; float: none; margin: 2rem auto 0; width: 26.4rem; }
  .p-grandf .card-built img { width: 24.6rem; height: 14.9rem; margin: 0 auto; }
  .p-grandf .s-p2 { order: 4; margin-top: 2rem; }
  .p-grandf .card-early { order: 5; float: none; margin: 2rem auto 0; width: 28.3rem; }
  .p-grandf .card-early img { width: 26.2rem; height: 10.7rem; margin: 0 auto; }
  .p-grandf .s-p3 { order: 6; margin-top: 2rem; }
}


/* ========== Page: little-house ========== */
.p-little .intro-card { width: 103rem; }
.p-little .intro-top { align-items: flex-start; }
.p-little .hero-imgs { width: 62.2rem; flex-shrink: 0; }
.p-little .hero-fig { text-align: center; }
.p-little .hero-fig img { margin: 0 auto; }
.p-little .hero-fig figcaption { margin-top: 0.8rem; font-size: 1.3rem; line-height: 1.9rem; color: #000; text-align: center; }
.p-little .hf-1424 img { width: 62.2rem; height: 45.9rem; }
.p-little .hf-1014 { margin-top: 3rem; }
.p-little .hf-1014 img { width: 41.4rem; height: 28.4rem; }
.p-little .specs { width: 36.5rem; flex-shrink: 0; margin-left: 1.2rem; padding-top: 26rem; }
.p-little .specs li { width: auto; }

.p-little .fp-row { display: flex; align-items: flex-start; margin-top: 3.9rem; }
.p-little .fp-1014 { margin-top: 3.2rem; }
.p-little .fp-1014 img { width: 19.3rem; height: 14.4rem; }
.p-little .fp-1218 { margin-left: 4.4rem; }
.p-little .fp-1218 img { width: 31.3rem; height: 26.5rem; }
.p-little .fp-1424 { margin-left: 5.3rem; margin-top: 3.1rem; }
.p-little .fp-1424 img { width: 30.7rem; height: 19.2rem; }

.p-little .includes-box { margin-top: 4.4rem; }
.p-little .includes-right { width: 51.4rem; }
.p-little .includes-right img { width: 51.4rem; height: 37.4rem; }

.p-little .bonus-tools { margin-top: 4.4rem; }
.p-little .bonus-tools h2 { font-size: 1.7rem; font-weight: 700; line-height: 2.1rem; }
.p-little .bonus-tools .story-body { margin-top: 0.8rem; }
.p-little .card-solar { width: 37.5rem; margin: 0 0 1.8rem 2rem; }
.p-little .card-solar img { width: 34.3rem; height: 27.1rem; }
.p-little .bonus-list { padding-left: 2.4rem; }
.p-little .bonus-list li { width: auto; }
.p-little .bonus-list li + li { margin-top: 0.6rem; }

.p-little .story-cols { display: flex; justify-content: space-between; gap: 2.5rem; }
.p-little .story-left { width: 51.6rem; }
.p-little .story-introp { margin-top: 1.6rem; }
.p-little .card-interior { margin-top: 3.5rem; width: 42.6rem; }
.p-little .card-interior img { width: 39.4rem; height: 26.9rem; margin: 0 auto; }
.p-little .card-tarpaper { margin-top: 3.9rem; width: 42.2rem; }
.p-little .card-tarpaper img { width: 39rem; height: 27.1rem; margin: 0 auto; }
.p-little .story-right { width: 44.3rem; }
.p-little .card-woods { width: 33.1rem; }
.p-little .card-woods img { width: 29.9rem; height: 41.6rem; margin: 0 auto; }
.p-little .card-construction { margin: 1.9rem auto 0; width: 41.9rem; }
.p-little .card-construction img { width: 38.7rem; height: 30.2rem; margin: 0 auto; }

.p-little .buy-card img { width: 30.4rem; height: 21.1rem; }
.p-little .buy-card h2 { font-size: 1.7rem; line-height: 2.5rem; }

@media (max-width: 767.9px) {
  .p-little .intro-card { width: auto; }
  .p-little .intro-top { display: block; }
  .p-little .hero-imgs { width: auto; }
  .p-little .hf-1424 { width: 24.2rem; margin: 0 auto; }
  .p-little .hf-1424 img { width: 24.2rem; height: 17.8rem; }
  .p-little .hf-1014 { width: 20rem; margin: 1.6rem auto 0; }
  .p-little .hf-1014 img { width: 20rem; height: 13.7rem; }
  .p-little .hero-fig figcaption { font-size: 1.1rem; line-height: 1.7rem; margin-top: 0.5rem; }
  .p-little .specs { width: auto; margin-left: 0.8rem; padding-top: 0; margin-top: 2rem; }

  .p-little .fp-row { flex-direction: column; align-items: center; gap: 1.6rem; margin-top: 1.6rem; }
  .p-little .fp-1014 { margin-top: 0; margin-left: 0; }
  .p-little .fp-1014 img { width: 16rem; height: 11.9rem; margin: 0 auto; }
  .p-little .fp-1218 { margin-left: 0; }
  .p-little .fp-1218 img { width: 25.9rem; height: 22rem; margin: 0 auto; }
  .p-little .fp-1424 { margin-left: 0; margin-top: 0; }
  .p-little .fp-1424 img { width: 25.4rem; height: 15.9rem; margin: 0 auto; }

  .p-little .includes-box { margin-top: 2.4rem; }
  .p-little .includes-right { width: auto; margin: 1.4rem 0 0; }
  .p-little .includes-right img { width: 27.3rem; height: 19.9rem; margin: 0 auto; }

  .p-little .bonus-tools { margin-top: 2.4rem; }
  .p-little .card-solar { float: none; margin: 1.4rem auto 0; width: 27.3rem; }
  .p-little .card-solar img { width: 24.9rem; height: 19.7rem; margin: 0 auto; }
  .p-little .bonus-list { padding-left: 1.8rem; }

  .p-little .story-cols { flex-direction: column; gap: 0; }
  .p-little .story-left, .p-little .story-right { display: contents; }
  .p-little .story-h { order: 1; }
  .p-little .story-introp { order: 2; margin-top: 0.8rem; width: auto; }
  .p-little .card-woods { order: 3; width: 27.9rem; margin: 2rem auto 0; }
  .p-little .card-woods img { width: 21.5rem; height: 29.9rem; margin: 0 auto; }
  .p-little .card-interior { order: 4; width: 27.9rem; margin: 2rem auto 0; }
  .p-little .card-interior img { width: 24.7rem; height: 16.9rem; margin: 0 auto; }
  .p-little .card-construction { order: 5; width: 27.9rem; margin: 2rem auto 0; }
  .p-little .card-construction img { width: 24.7rem; height: 19.3rem; margin: 0 auto; }
  .p-little .card-tarpaper { order: 6; width: 27.9rem; margin: 2rem auto 0; }
  .p-little .card-tarpaper img { width: 24.7rem; height: 17.2rem; margin: 0 auto; }

  .p-little .buy-card img { width: 27.3rem; height: 18.9rem; }
}

/* ========== Page: solar-farmhouse ========== */

/* Intro: hero elevation + exploded diagram (both full width, stacked),
   then a floorplan + specs row */
.p-solarf .sf-hero { display: block; width: 76.8rem; margin: 0 auto; }
.p-solarf .sf-hero img { width: 76.8rem; height: 57.7rem; border: 2px solid #000; }
.p-solarf .sf-exploded { display: block; width: 74.8rem; margin: 6.1rem auto 0; }
.p-solarf .sf-exploded img { width: 74.8rem; height: 59.2rem; }
.p-solarf .sf-plan-row { display: flex; margin-top: 6.8rem; }
.p-solarf .sf-floorplan { display: block; width: 56.5rem; }
.p-solarf .sf-floorplan img { width: 56.5rem; height: 52.4rem; }
.p-solarf .specs { margin-left: 2.9rem; width: 32.8rem; padding-top: 1.8rem; }

/* Overview */
.p-solarf .overview-card { padding: 2.1rem 1.9rem 2.5rem; }
.p-solarf .sf-extras-label { margin-top: 2.5rem; }
.p-solarf .sf-extras { margin-top: 0.8rem; padding-left: 2.4rem; }
.p-solarf .sf-extras li { font-size: 1.5rem; line-height: 2.5rem; }
.p-solarf .sf-plans2 { margin-top: 3.3rem; }
.p-solarf .sf-birdseye { width: 35rem; order: 1; }
.p-solarf .sf-birdseye img { width: 35rem; height: 41.4rem; }
.p-solarf .sf-upperfloor { width: 51.6rem; margin-left: 2.4rem; order: 2; }
.p-solarf .sf-upperfloor img { width: 51.6rem; height: 39rem; }
.p-solarf .sf-construction { margin-top: 4rem; }
.p-solarf .includes-box { margin-top: 4.5rem; }
.p-solarf .includes-right { width: 51.7rem; }
.p-solarf .includes-right img { width: 51.7rem; height: 39.5rem; }

/* Story: float rail (right) + normal flow (left) */
.p-solarf .sf-construction-card img { width: 43.3rem; height: 28.3rem; }
.p-solarf .sf-intro { margin-top: 0.9rem; }
.p-solarf .sf-msg2 { margin-top: 3.6rem; width: 44.1rem; }
.p-solarf .sf-sunroom-card { margin-top: 3.2rem; width: 43.8rem; }
.p-solarf .sf-sunroom-card img { width: 40.6rem; height: 30.5rem; }
.p-solarf .sf-kitchen-card { margin-top: 8.1rem; }
.p-solarf .sf-kitchen-card img { width: 37.3rem; height: 23.3rem; }
.p-solarf .sf-livingroom-card { margin-top: 4.4rem; width: 49.9rem; }
.p-solarf .sf-livingroom-card img { width: 46.7rem; height: 30.9rem; }
.p-solarf .sf-large-card { float: none; clear: both; width: 71.5rem; margin: 3.4rem auto 0; }
.p-solarf .sf-large-card img { width: 68.3rem; height: 45.2rem; }
.p-solarf .sf-outro { clear: both; margin-top: 3.6rem; }

.p-solarf .buy-card img { width: 30.2rem; height: 22.6rem; }

@media (max-width: 767.9px) {
  /* Intro */
  .p-solarf .sf-hero { width: 30rem; margin: 1.4rem auto 0; }
  .p-solarf .sf-hero img { width: 30rem; height: 22.6rem; border-width: 0.2rem; }
  .p-solarf .sf-exploded { width: 30rem; margin: 4.5rem auto 0; }
  .p-solarf .sf-exploded img { width: 30rem; height: 23.7rem; }
  .p-solarf .sf-plan-row { display: flex; flex-direction: column; margin-top: 4.8rem; }
  .p-solarf .sf-floorplan { width: 27.6rem; margin: 0 auto; }
  .p-solarf .sf-floorplan img { width: 27.6rem; height: 25.6rem; }
  .p-solarf .specs { margin: 2rem 0 0; width: auto; padding-top: 0; }

  /* Overview */
  .p-solarf .overview-card { padding: 1.6rem 1.4rem 2rem; }
  .p-solarf .sf-extras-label { margin-top: 2rem; }
  .p-solarf .sf-extras { margin-top: 0.6rem; padding-left: 1.8rem; }
  .p-solarf .sf-extras li { font-size: 1.2rem; line-height: 2.1rem; }
  .p-solarf .sf-plans2 { margin-top: 2.2rem; }
  .p-solarf .sf-birdseye { width: 23.9rem; margin: 0.9rem auto 0; order: 2; }
  .p-solarf .sf-birdseye img { width: 23.9rem; height: 28.3rem; }
  .p-solarf .sf-upperfloor { width: 28.9rem; margin: 0 auto; order: 1; }
  .p-solarf .sf-upperfloor img { width: 28.9rem; height: 21.8rem; }
  .p-solarf .sf-construction { margin-top: 1.6rem; }
  .p-solarf .includes-box { margin-top: 5.4rem; }
  .p-solarf .includes-right { width: auto; margin: 1.4rem 0 0; }
  .p-solarf .includes-right img { width: 28.3rem; height: 21.6rem; margin: 0 auto; }

  /* Story */
  .p-solarf .story h2 { order: 1; }
  .p-solarf .sf-intro { order: 2; margin-top: 0.8rem; }
  .p-solarf .sf-construction-card { order: 3; margin: 5.9rem auto 0; }
  .p-solarf .sf-construction-card img { width: 27.3rem; height: 19.1rem; margin: 0 auto; }
  .p-solarf .sf-sunroom-card { order: 4; margin: 2rem auto 0; width: 29.8rem; }
  .p-solarf .sf-sunroom-card img { width: 26.6rem; height: 20rem; margin: 0 auto; }
  .p-solarf .sf-msg2 { order: 5; margin: 4.4rem 0 0; width: auto; }
  .p-solarf .sf-kitchen-card { order: 6; margin: 2rem auto 0; }
  .p-solarf .sf-kitchen-card img { width: 27.3rem; height: 17.1rem; margin: 0 auto; }
  .p-solarf .sf-livingroom-card { order: 7; margin: 2.6rem auto 0; width: 28rem; }
  .p-solarf .sf-livingroom-card img { width: 25.6rem; height: 16.9rem; margin: 0 auto; }
  .p-solarf .sf-outro { order: 8; margin: 2rem 0 0; }
  .p-solarf .sf-large-card { order: 9; margin: 1.5rem auto 0; width: 28rem; }
  .p-solarf .sf-large-card img { width: 25.6rem; height: 17rem; margin: 0 auto; }

  .p-solarf .complements { margin-top: 9.1rem; }
  .p-solarf .comp-row .comp-card + .comp-card { margin-top: 5.2rem; }
  .p-solarf .buy { margin-top: 11.7rem; }
  .p-solarf .buy-card img { width: 28rem; height: 20.9rem; }
}


/* ========== Page: victorias-cottage ========== */
.p-vict .intro-card { padding: 4.3rem 1.4rem 4.5rem; }
.p-vict .hero-img { display: block; width: 77.5rem; margin: 0 auto; }
.p-vict .hero-img img { width: 77.5rem; height: 47.7rem; }
.p-vict .intro-top { margin-top: 2.9rem; align-items: flex-start; }
.p-vict .floorplan { display: block; width: 39.4rem; margin: 0; }
.p-vict .floorplan img { width: 39.4rem; height: 45.1rem; }
.p-vict .specs { margin-left: 5.1rem; width: 47.7rem; padding-top: 1.7rem; }

.p-vict .loft-compare { display: flex; justify-content: space-between; margin-top: 3.4rem; border-radius: 1rem; box-shadow: 0 0 1rem #E2E2E2; padding: 2.1rem 2.6rem 2.1rem 2.2rem; }
.p-vict .loft-col { display: flex; align-items: flex-start; }
.p-vict .loft-col > a.zoom { flex: none; }
.p-vict .loft-bridge img { width: 22.2rem; height: 32.5rem; }
.p-vict .loft-full img { width: 17rem; height: 31rem; }
.p-vict .loft-text { margin-left: 1.7rem; width: 22.7rem; }
.p-vict .loft-full .loft-text { width: 23rem; }
.p-vict .loft-text h3 { font-size: 1.7rem; font-weight: 700; line-height: 2.1rem; }
.p-vict .loft-text ul { margin-top: 0.6rem; padding-left: 1.8rem; }
.p-vict .loft-text li { font-size: 1.5rem; line-height: 2.1rem; margin-top: 0.4rem; }
.p-vict .loft-text li:first-child { margin-top: 0; }

.p-vict .concrete-row { margin-top: 2.3rem; align-items: flex-start; }
.p-vict .concrete-text { width: 45.8rem; }
.p-vict .concrete-img { margin-left: 1.1rem; }
.p-vict .concrete-img img { width: 42.7rem; height: 31.1rem; }

.p-vict .includes-box { margin-top: 2.2rem; }
.p-vict .includes-right { width: 45.2rem; }
.p-vict .includes-right img { width: 45.2rem; height: 37.2rem; }

.p-vict .card-chicken { width: 45.5rem; padding: 1.7rem 2rem 1.4rem; }
.p-vict .card-chicken img { width: 41.5rem; height: 38.9rem; }
.p-vict .s-p1 { margin-top: 1rem; width: 42rem; }
.p-vict .s-p2 { margin-top: 2.3rem; width: 42rem; }
.p-vict .card-interior { margin-top: 1.7rem; width: 49.7rem; padding: 1.8rem 1.6rem 1.4rem; }
.p-vict .card-interior img { width: 46.5rem; height: 34.9rem; }
.p-vict .card-breezeway { margin-top: 4.5rem; width: 40.5rem; padding: 2rem 2.4rem 1.4rem 2.3rem; }
.p-vict .card-breezeway img { width: 35.7rem; height: 24.4rem; }
.p-vict .card-kitchen { margin-top: 2.5rem; width: 44.6rem; padding: 1.9rem 2rem 1.4rem; }
.p-vict .card-kitchen img { width: 40.7rem; height: 30.5rem; }
.p-vict .card-stair { margin-top: 2rem; width: 38.4rem; padding: 1.9rem 1.6rem 1.4rem; }
.p-vict .card-stair img { width: 35.2rem; height: 46.9rem; }
.p-vict .card-stair p { width: auto; }

.p-vict .buy-card img { width: 29.8rem; height: 18.3rem; }
.p-vict .buy-card h2 { font-size: 1.7rem; line-height: 2.5rem; }

@media (max-width: 767.9px) {
  .p-vict .intro-card { padding: 0; }
  .p-vict .hero-img { width: auto; margin: 0 -1.6rem; }
  .p-vict .hero-img img { width: 100%; height: auto; }
  .p-vict .floorplan { width: 29.3rem; margin: 1.6rem auto 0; }
  .p-vict .floorplan img { width: 29.3rem; height: 33.5rem; }
  .p-vict .specs { margin-left: 0.8rem; width: auto; padding-top: 0; }

  .p-vict .loft-compare { flex-direction: column; margin-top: 1.6rem; padding: 1.4rem 1.3rem; }
  .p-vict .loft-col { align-items: flex-start; }
  .p-vict .loft-full { margin-top: 2rem; }
  .p-vict .loft-bridge img { width: 13.2rem; height: 19.3rem; }
  .p-vict .loft-full img { width: 10.2rem; height: 18.6rem; }
  .p-vict .loft-text, .p-vict .loft-full .loft-text { width: auto; margin-left: 1rem; }
  .p-vict .loft-text h3 { font-size: 1.3rem; line-height: 1.7rem; }
  .p-vict .loft-text li { font-size: 1.2rem; line-height: 1.9rem; }

  .p-vict .concrete-text { width: auto; }
  .p-vict .concrete-img { margin: 1.6rem auto 0; }
  .p-vict .concrete-img img { width: 28.9rem; height: 21.1rem; }

  .p-vict .includes-left { width: auto; }
  .p-vict .includes-right { width: auto; margin: 1.4rem 0 0; align-self: auto; }
  .p-vict .includes-right img { width: 26.5rem; height: 21.8rem; margin: 0 auto; }

  .p-vict .story h2 { order: 1; }
  .p-vict .s-p1 { order: 2; margin-top: 0.8rem; width: auto; }
  .p-vict .s-p2 { order: 3; margin-top: 1.6rem; width: auto; }
  .p-vict .card-chicken { order: 4; }
  .p-vict .card-breezeway { order: 5; }
  .p-vict .card-interior { order: 6; }
  .p-vict .card-stair { order: 7; }
  .p-vict .card-kitchen { order: 8; }

  .p-vict .card-chicken { width: 29.9rem; margin: 2rem auto 0; }
  .p-vict .card-chicken img { width: 25rem; height: 23.5rem; margin: 0 auto; }
  .p-vict .card-breezeway { width: 29.9rem; margin: 2rem auto 0; }
  .p-vict .card-breezeway img { width: 25rem; height: 17.1rem; margin: 0 auto; }
  .p-vict .card-interior { width: 29.9rem; margin: 2rem auto 0; }
  .p-vict .card-interior img { width: 24.9rem; height: 18.7rem; margin: 0 auto; }
  .p-vict .card-stair { width: 29.9rem; margin: 2rem auto 0; }
  .p-vict .card-stair img { width: 18.9rem; height: 25.1rem; margin: 0 auto; }
  .p-vict .card-kitchen { width: 29.9rem; margin: 2rem auto 0; }
  .p-vict .card-kitchen img { width: 25.1rem; height: 18.8rem; margin: 0 auto; }

  .p-vict .buy-card img { width: 28rem; height: 17.2rem; margin: 0 auto; }
  .p-vict .buy-card h2 { font-size: 1.3rem; line-height: 1.7rem; }
}

/* ========== Page: volks-cottage ========== */
.p-volks .hero-img { display: block; width: 76.8rem; margin: 0 auto; }
.p-volks .hero-img img { width: 76.8rem; height: 35.6rem; }
.p-volks .fp-row { display: flex; margin-top: 4.8rem; }
.p-volks .floorplan { width: 56.5rem; margin: 6.9rem 0 0 0.6rem; }
.p-volks .floorplan img { width: 56.5rem; height: 42.9rem; }
.p-volks .specs { width: 33.7rem; padding-top: 0; margin: 0 3.5rem 0 auto; }

.p-volks .overview-card { padding: 2.1rem 1.9rem 2.5rem; }
.p-volks .ov-photo { margin-top: 2.5rem; }
.p-volks .ov-photo img { width: 48.6rem; height: 28.6rem; }
.p-volks .ov-p3 { margin-top: 2.5rem; }
.p-volks .ov-p4 { clear: both; }
.p-volks .includes-box { margin-top: 2.6rem; }
.p-volks .includes-right { width: 35.4rem; }
.p-volks .includes-right img { width: 35.4rem; height: 26.6rem; }

.p-volks .story { background: #F6F9FA; }
.p-volks .story-row { gap: 3.2rem; }
.p-volks .sr-1 { margin-top: 0.5rem; align-items: center; }
.p-volks .s-text { flex: 1 1 auto; min-width: 0; }
.p-volks .card-cbg { width: 53rem; flex: 0 0 auto; }
.p-volks .card-cbg img { width: 48.8rem; height: 29.5rem; }
.p-volks .s-p1 { margin-top: 1.6rem; }
.p-volks .s-p2 { margin-top: 2.8rem; }
.p-volks .s-row2 { display: flex; align-items: center; gap: 3.2rem; margin-top: 3.6rem; }
.p-volks .card-sky { width: 56.8rem; flex: 0 0 auto; }
.p-volks .card-sky img { width: 53.4rem; height: 21.7rem; }
.p-volks .s-notes { flex: 1 1 auto; margin: 0; }
.p-volks .s-footnote { margin-top: 3.3rem; font-size: 1.2rem; font-weight: 700; text-align: center; color: #404040; }

.p-volks .buy-card img { width: 30.5rem; height: 14.1rem; }
.p-volks .buy-card h2 { font-size: 1.7rem; line-height: 2.5rem; }

@media (max-width: 767.9px) {
  .p-volks .intro-card { margin-top: 0; }
  .p-volks .hero-img { width: calc(100% + 3.2rem); margin: 1.4rem -1.6rem 0; }
  .p-volks .hero-img img { width: 100%; height: auto; aspect-ratio: 768 / 356; }
  .p-volks .fp-row { order: 2; display: flex; flex-direction: column; margin-top: 0; }
  .p-volks .floorplan { order: 1; width: 29.7rem; margin: 1.6rem 0 0 -0.95rem; }
  .p-volks .floorplan img { width: 29.7rem; height: 22.6rem; }
  .p-volks .specs { order: 2; width: auto; margin: 2rem 0 0 0.8rem; padding-top: 0; }

  .p-volks .overview-card { padding: 1.6rem 1.4rem 2rem; }
  .p-volks .ov-photo { float: none; margin: 1.4rem auto 0; }
  .p-volks .ov-photo img { width: 27.5rem; height: 16.2rem; margin: 0 auto; }
  .p-volks .ov-p3 { margin-top: 1.6rem; }
  .p-volks .ov-p4 { margin-top: 1.6rem; }
  .p-volks .includes-box { margin-top: 2rem; }
  .p-volks .includes-left h2 { margin-top: 0; }
  .p-volks .includes-right { width: auto; margin: 1.4rem 0 0; }
  .p-volks .includes-right img { width: 27.3rem; height: 20.5rem; margin: 0 auto; }

  .p-volks .story-body { order: initial; }
  .p-volks .story-row, .p-volks .s-text { display: contents; }
  .p-volks .story h2 { order: 1; }
  .p-volks .s-p1 { order: 2; margin-top: 0.8rem; }
  .p-volks .card-cbg { order: 3; float: none; width: auto; margin: 1.4rem auto 0; }
  .p-volks .card-cbg img { width: 27.3rem; height: 16.5rem; margin: 0 auto; }
  .p-volks .s-p2 { order: 4; margin-top: 1.6rem; }
  .p-volks .s-row2 { order: 5; display: flex; flex-direction: column; margin-top: 1.4rem; gap: 0; }
  .p-volks .card-sky { width: auto; margin: 0 auto; }
  .p-volks .card-sky img { width: 27.3rem; height: 11.1rem; margin: 0 auto; }
  .p-volks .s-notes { order: 2; width: auto; margin-top: 1.4rem; }
  .p-volks .s-footnote { order: 6; margin-top: 1.6rem; font-size: 1rem; }

  .p-volks .buy-card img { width: 28rem; height: 12.9rem; }
}


/* ========== Page: sunkit ========== */
.p-sunkit .sk-tag { font-size: 2.6rem; font-weight: 700; line-height: 3.5rem; text-align: center; }
.p-sunkit .sk-hero { display: block; width: 44.2rem; margin: 3.2rem auto 0; }
.p-sunkit .sk-hero img { width: 44.2rem; height: 31rem; }
.p-sunkit .sk-specs { width: auto; margin: 4.1rem 0 0 3.5rem; padding-top: 0; }
.p-sunkit .sk-specs ul { width: 81.2rem; }

.p-sunkit .overview-card { padding: 2.1rem 3.3rem 2.5rem; }
.p-sunkit .sk-ov-row { display: grid; grid-template-columns: 58.7rem 22rem; column-gap: 3.1rem; margin-top: 2.5rem; }
.p-sunkit .sk-ov-p1 { grid-column: 1; grid-row: 1; }
.p-sunkit .sk-ov-p2 { grid-column: 1; grid-row: 2; margin-top: 5rem; }
.p-sunkit .sk-ov-photo { grid-column: 2; grid-row: 1 / span 2; margin-top: 0.3rem; }
.p-sunkit .sk-ov-photo img { width: 22rem; height: 28.6rem; }

.p-sunkit .includes-box { margin-top: 4.4rem; }
.p-sunkit .includes-right { width: 49.6rem; }
.p-sunkit .includes-right img { width: 49.6rem; height: 38.5rem; }

.p-sunkit .cross-wrap { display: flex; justify-content: center; gap: 4.3rem; margin-top: 7.6rem; }
.p-sunkit .cross-box { width: 43.9rem; background: #FAF0DC; border-radius: 1rem; box-shadow: 0 0 1rem #C0C0C0; padding: 1.9rem 0 6.2rem; }
.p-sunkit .cross-box > h3 { font-size: 2rem; font-weight: 700; line-height: 2.4rem; text-align: center; }
.p-sunkit .cross-buy > h3 { font-size: 2.2rem; line-height: 2.7rem; }
.p-sunkit .cross-box .comp-card { margin: 1.9rem auto 0; }

@media (max-width: 767.9px) {
  .p-sunkit .sk-intro { margin-top: 0; }
  .p-sunkit .sk-tag { font-size: 1.5rem; line-height: 2rem; }
  .p-sunkit .sk-hero { width: 26.7rem; margin: 1.6rem auto 0; }
  .p-sunkit .sk-hero img { width: 26.7rem; height: 18.7rem; }
  .p-sunkit .sk-specs { width: auto; margin: 2rem 0 0 0.8rem; padding-top: 0; }
  .p-sunkit .sk-specs ul { width: auto; }

  .p-sunkit .overview-card { padding: 1.6rem 1.4rem 2rem; }
  .p-sunkit .sk-ov-row { display: flex; flex-direction: column; margin-top: 1.5rem; }
  .p-sunkit .sk-ov-p1 { order: 1; }
  .p-sunkit .sk-ov-photo { order: 2; width: 16.7rem; margin: 1.4rem auto; }
  .p-sunkit .sk-ov-photo img { width: 16.7rem; height: 21.7rem; }
  .p-sunkit .sk-ov-p2 { order: 3; margin-top: 1.4rem; }

  .p-sunkit .includes-box { margin-top: 2.4rem; }
  .p-sunkit .includes-left { width: auto; }
  .p-sunkit .includes-right { width: auto; margin: 1.4rem 0 0; }
  .p-sunkit .includes-right img { width: 28.1rem; height: 21.8rem; margin: 0 auto; }

  .p-sunkit .cross-wrap { display: block; margin-top: 3.2rem; }
  .p-sunkit .cross-box { width: 31rem; margin: 0 auto; padding: 1.5rem 0 2.4rem; }
  .p-sunkit .cross-box + .cross-box { margin-top: 5.2rem; }
  .p-sunkit .cross-box > h3 { font-size: 1.6rem; line-height: 2rem; }
}


/* ========== Page: sunroom-greenhouse-skylight-plans ========== */
.p-sunroom .sr-hero { display: block; width: 38rem; margin: 2.3rem auto 0; }
.p-sunroom .sr-hero img { width: 38rem; height: 21.1rem; }
.p-sunroom .sr-row { display: flex; justify-content: space-between; align-items: flex-start; margin-top: 4.6rem; }
.p-sunroom .specs { width: 42.8rem; padding-top: 0; margin-left: 1.7rem; }
.p-sunroom .sr-diagram { display: block; width: 28.6rem; margin-top: 0.6rem; }
.p-sunroom .sr-diagram img { width: 28.6rem; height: 21.2rem; }

.p-sunroom .sr-photo-row { justify-content: center; align-items: center; gap: 2.9rem; margin-top: 2.5rem; }
.p-sunroom .sr-photo { display: block; }
.p-sunroom .sr-photo img { width: 36.3rem; height: 47.7rem; }
.p-sunroom .sr-caption { width: 24.4rem; }

.p-sunroom .cross-sell { display: flex; justify-content: center; gap: 4.9rem; margin-top: 7.6rem; }
.p-sunroom .cross-goes, .p-sunroom .cross-order { width: 43.9rem; margin: 0; }

@media (max-width: 767.9px) {
  .p-sunroom .sr-hero { order: 1; width: 29.3rem; margin: 2rem auto 0; }
  .p-sunroom .sr-hero img { width: 29.3rem; height: 16.3rem; }
  .p-sunroom .sr-row { display: contents; }
  .p-sunroom .sr-diagram { order: 2; width: 21.2rem; margin: 2.4rem auto 0; }
  .p-sunroom .sr-diagram img { width: 21.2rem; height: 15.7rem; }
  .p-sunroom .specs { order: 3; width: auto; margin: 2.6rem 0 0 0.8rem; padding-top: 0; }
  .p-sunroom .specs ul { margin-top: 1.2rem; }
  .p-sunroom .specs li { line-height: 2.6rem; }

  .p-sunroom .sr-photo-row { flex-direction: column; margin-top: 2rem; }
  .p-sunroom .sr-photo { margin: 0 auto; }
  .p-sunroom .sr-photo img { width: 27.5rem; height: 36.1rem; }
  .p-sunroom .sr-caption { width: auto; margin-top: 1rem; }

  .p-sunroom .cross-sell { display: block; margin-top: 3.2rem; }
  .p-sunroom .cross-goes, .p-sunroom .cross-order { width: 31rem; margin: 3.2rem auto 0; }
}


/* ========== Page: thanks ========== */
.p-thanks .thanks-card {
  width: 71.9rem;
  margin: 7.8rem auto 0;
  padding: 2rem 3.8rem 6.7rem;
}
.p-thanks .thanks-card h1 { margin-top: 0; }
.p-thanks .thanks-card p { font-size: 1.7rem; line-height: 2.1rem; text-align: center; margin-top: 2.1rem; }
.p-thanks .thanks-card h1 + p { margin-top: 3.2rem; }
.p-thanks .thanks-card b { font-weight: 700; }
.p-thanks .thanks-card i { font-style: italic; }
.p-thanks .complements { margin-top: 7.6rem; }

@media (max-width: 767.9px) {
  .p-thanks .thanks-card {
    width: 31rem;
    margin: 5rem auto 0;
    padding: 1.5rem 1.75rem 3.8rem;
  }
  .p-thanks .thanks-card p { font-size: 1.3rem; line-height: 1.6rem; margin-top: 1.6rem; }
  .p-thanks .thanks-card h1 + p { margin-top: 2.4rem; }
  .p-thanks .complements { margin-top: 5.8rem; }
}
