/* Stiltz of Florida desktop system v11. Shared responsive header/footer refinements. */
@media (min-width: 901px) {
  :root {
    --ds-canvas:#e8eee9; --ds-shell:#f6f7f2; --ds-paper:#fbfcf9;
    --ds-sage:#dfeadb; --ds-blue:#dcebf0; --ds-warm:#f3ddc5;
    --ds-ink:#383d3f; --ds-green:#9ab600; --ds-line:rgba(65,89,82,.22);
    --ds-shadow:0 18px 46px rgba(31,47,41,.10);
  }
  html,body { background:var(--ds-canvas)!important; }
  body { margin:0!important; color:var(--ds-ink)!important; }

  /* Use the desktop instead of parking the site in a skinny center column. */
  .site-header,main,.site-footer {
    width:min(calc(100% - 72px),2100px)!important;
    max-width:2100px!important; box-sizing:border-box!important;
  }
  .site-header {
    min-height:82px!important; margin:0 auto!important; padding:14px 28px!important;
    border:1px solid var(--ds-line)!important; border-radius:24px!important;
    background:rgba(251,252,249,.97)!important; box-shadow:0 10px 26px rgba(31,47,41,.08)!important;
  }
  .site-header .brand-logo { width:auto!important; max-width:138px!important; max-height:54px!important; }
  .desktop-nav details>div { border-radius:18px!important; box-shadow:var(--ds-shadow)!important; }

  /* One continuous page card; every section belongs to the same layout. */
  main {
    display:flex!important; flex-direction:column!important; gap:18px!important;
    margin:18px auto 26px!important; padding:22px!important; overflow:clip!important;
    border:1px solid var(--ds-line)!important; border-radius:38px!important;
    background:var(--ds-shell)!important; box-shadow:0 24px 60px rgba(31,47,41,.11)!important;
  }
  main>section {
    width:100%!important; max-width:none!important; min-height:0!important;
    margin:0!important; box-sizing:border-box!important; border-radius:28px!important;
  }
  main :is(h1,h2,h3,p,blockquote) { max-width:none; }
  main h1 { font-size:clamp(48px,4.3vw,76px)!important; line-height:.97!important; }
  main h2 { font-size:clamp(34px,3vw,52px)!important; line-height:1.02!important; }
  main p { line-height:1.58!important; }
  main figure { margin:0!important; overflow:hidden!important; border-radius:22px!important; }
  main img { display:block!important; max-width:100%!important; border-radius:18px!important; }
  main :is(video,iframe) { display:block!important; max-width:100%!important; border-radius:20px!important; }
  main :is(article,[class*="-card"]) { box-sizing:border-box!important; border-radius:22px!important; }

  /* Shared section rhythm and deliberate color rotation. */
  .about-origin,.about-principles,.about-team-link,.coastal-intro,.coastal-reasons,
  .coastal-detail,.coastal-note,.installation-assurance,.installation-prep,
  .installation-financing,.costs-principle,.costs-factors,.costs-scope,.costs-finance,
  .finance-video,.finance-details,.faq-finder,.faq-list,.faq-note,.compare-model-grid,
  .compare-specification-sheet,.factory-brochures-list,.factory-brochures-disclaimer,
  .curated-models,.testimonial-stories,.video-library-grid-section,.news-list,
  .team-directory,.contact-page-request,.contact-page-map {
    padding:clamp(34px,3vw,54px)!important; border:1px solid var(--ds-line)!important;
  }
  .about-origin,.about-team-link,.coastal-reasons,.installation-assurance,
  .costs-principle,.faq-finder,.compare-specification-sheet { background:var(--ds-sage)!important; }
  .about-principles,.coastal-detail,.finance-video,.faq-list,.factory-brochures-list,
  .curated-models,.testimonial-stories,.video-library-grid-section,.news-list,
  .team-directory,.contact-page-request { background:var(--ds-paper)!important; }
  .about-credentials,.coastal-intro,.coastal-note,.finance-details,.faq-note,
  .factory-brochures-disclaimer,.contact-page-map { background:var(--ds-blue)!important; }

  /* All major photo heroes share one geometry and show the whole lift. */
  .brand-hero,.about-hero,.coastal-hero,.variant-hero,.alta-hero,.duo-classic-hero {
    display:grid!important; grid-template-columns:minmax(420px,.9fr) minmax(540px,1.1fr)!important;
    gap:22px!important; height:clamp(520px,45vw,680px)!important; min-height:520px!important;
    padding:22px!important; overflow:hidden!important; border:1px solid var(--ds-line)!important;
    background:var(--ds-sage)!important; box-shadow:none!important;
  }
  .brand-hero>div,.about-hero>div,.coastal-hero>div,.variant-hero>div,
  .alta-hero>div,.duo-classic-hero>div {
    display:flex!important; flex-direction:column!important; justify-content:center!important;
    min-width:0!important; padding:clamp(28px,3.2vw,58px)!important;
    box-sizing:border-box!important; border-radius:24px!important; background:var(--ds-paper)!important;
    color:var(--ds-ink)!important;
  }
  .brand-hero>div :is(h1,h2,h3,p,.eyebrow),.about-hero>div :is(h1,h2,h3,p,.eyebrow),
  .coastal-hero>div :is(h1,h2,h3,p,.eyebrow),.variant-hero>div :is(h1,h2,h3,p,.eyebrow),
  .alta-hero>div :is(h1,h2,h3,p,.eyebrow),.duo-classic-hero>div :is(h1,h2,h3,p,.eyebrow) {
    color:var(--ds-ink)!important;
  }
  .brand-hero figure,.about-hero figure,.variant-hero figure,.duo-classic-hero figure {
    display:flex!important; width:100%!important; height:100%!important; align-items:center!important;
    justify-content:center!important; padding:12px!important; box-sizing:border-box!important;
    background:var(--ds-blue)!important;
  }
  .brand-hero figure>img,.about-hero figure>img,.variant-hero figure>img,
  .duo-classic-hero figure>img,.coastal-hero>img,.alta-hero>img {
    width:100%!important; height:100%!important; min-height:0!important; max-height:100%!important;
    margin:0!important; padding:0!important; object-fit:contain!important; object-position:center!important;
    border-radius:20px!important; background:transparent!important;
  }
  .coastal-hero>img,.alta-hero>img { align-self:stretch!important; justify-self:stretch!important; }
  .about-hero figure>img {
    width:min(100%,520px)!important; object-fit:cover!important; object-position:center 18%!important;
  }
  .about-hero figcaption { border-radius:16px!important; }
  .duo-alta-hero-heading {
    margin:8px 0 12px!important; font-size:clamp(28px,2.2vw,42px)!important;
    line-height:1.02!important; color:var(--ds-ink)!important;
  }
  .duo-alta-hero-copy { margin:0 0 22px!important; font-size:clamp(16px,1.05vw,20px)!important; }

  /* Text-led heroes are compact and connected to what follows. */
  .compare-page-intro,.factory-brochures-hero,.curated-gallery-intro,.testimonials-hero,
  .video-library-lead,.news-hero,.installation-hero,.costs-hero,.faq-page-hero,.team-hero,
  .installation-page__intro,.finance-hero,.contact-page-hero {
    min-height:0!important; padding:clamp(40px,4vw,68px)!important;
    border:1px solid var(--ds-line)!important; background:var(--ds-sage)!important;
  }
  .testimonials-hero {
    display:grid!important; grid-template-columns:1.15fr .85fr!important;
    gap:40px!important; align-items:end!important;
  }
  .testimonials-hero>p { margin:0!important; font-size:clamp(18px,1.25vw,23px)!important; }
  .testimonials-intro {
    display:grid!important; grid-template-columns:.75fr 1.25fr!important; gap:30px!important;
    padding:34px 46px!important; border:1px solid var(--ds-line)!important; background:var(--ds-blue)!important;
  }
  .testimonials-intro h2 { margin:0!important; font-size:clamp(34px,2.7vw,48px)!important; }

  /* About and team. */
  .about-team-link { display:grid!important; grid-template-columns:1.25fr .75fr!important; gap:18px!important; }
  .about-team-link>div,.about-team-link>aside {
    min-height:0!important; padding:36px!important; border-radius:22px!important;
  }
  .about-team-link>div { background:var(--ds-paper)!important; }
  .about-team-link>aside { background:var(--ds-ink)!important; color:#fff!important; }
  .about-team-link>aside :is(p,span,a,svg) { color:#fff!important; stroke:currentColor!important; }
  .team-feature { overflow:hidden!important; border:1px solid var(--ds-line)!important; }
  .team-group { padding:28px 0 0!important; background:transparent!important; }
  .team-grid { gap:clamp(24px,2.6vw,44px)!important; align-items:start!important; }
  .team-card {
    overflow:visible!important; border:0!important; border-radius:0!important;
    background:transparent!important; box-shadow:none!important;
  }
  .team-portrait {
    aspect-ratio:1/1!important; padding:0!important; overflow:hidden!important;
    border:0!important; border-radius:50%!important; background:var(--ds-sage)!important;
    box-shadow:0 14px 30px rgba(31,47,41,.12)!important;
  }
  .team-portrait img {
    width:100%!important; height:100%!important; object-fit:cover!important;
    object-position:center top!important; border-radius:50%!important;
  }
  .team-card-caption { padding:16px 4px 0!important; text-align:center!important; }

  /* Model copy and facts. */
  .variant-intro,.alta-intro,.duo-classic-intro,.variant-callout,.alta-story,
  .duo-classic-install,.duo-classic-specs {
    padding:clamp(36px,3vw,54px)!important; border:1px solid var(--ds-line)!important;
    background:var(--ds-paper)!important;
  }
  .variant-facts,.alta-features,.duo-classic-feature-grid {
    display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:18px!important;
  }
  .variant-facts>*,.alta-features>*,.duo-classic-feature-grid>* {
    min-height:190px!important; padding:30px!important; border:1px solid var(--ds-line)!important;
    border-radius:22px!important; background:var(--ds-sage)!important;
  }
  .variant-facts>:nth-child(3n+2),.alta-features>:nth-child(3n+2),
  .duo-classic-feature-grid>:nth-child(3n+2) { background:var(--ds-ink)!important; color:#fff!important; }
  .variant-facts>:nth-child(3n+2) :is(h3,p,svg),.alta-features>:nth-child(3n+2) :is(h3,p,svg),
  .duo-classic-feature-grid>:nth-child(3n+2) :is(h3,p,svg) { color:#fff!important; stroke:currentColor!important; }
  .variant-facts>:nth-child(3n+3),.alta-features>:nth-child(3n+3),
  .duo-classic-feature-grid>:nth-child(3n+3) { background:var(--ds-warm)!important; }

  /* Model galleries: one box, equal media, no amputated elevators. */
  .variant-media,.alta-gallery,.duo-classic-media,.trio-full-door-option,
  .three-story-detail-gallery,.three-story-brochure,.three-story-enclosure {
    display:grid!important; grid-template-columns:minmax(280px,.52fr) minmax(0,1.48fr)!important;
    gap:28px!important; padding:clamp(34px,3vw,54px)!important; overflow:hidden!important;
    border:1px solid var(--ds-line)!important; background:var(--ds-blue)!important;
    color:var(--ds-ink)!important;
  }
  .variant-media>div:first-child :is(h2,p,.eyebrow),.alta-gallery>div:first-child :is(h2,p,.eyebrow),
  .duo-classic-media>div:first-child :is(h2,p,.eyebrow),.trio-full-door-option>div:first-child :is(h2,p,.eyebrow),
  .three-story-detail-gallery>div:first-child :is(h2,p,.eyebrow),.three-story-brochure>div:first-child :is(h2,p,.eyebrow),
  .three-story-enclosure>div:first-child :is(h2,p,.eyebrow) { color:var(--ds-ink)!important; }
  .variant-media>div:first-child,.alta-gallery>div:first-child,.duo-classic-media>div:first-child,
  .trio-full-door-option>div:first-child,.three-story-detail-gallery>div:first-child,
  .three-story-brochure>div:first-child,.three-story-enclosure>div:first-child {
    align-self:center!important; padding:8px!important;
  }
  .variant-media>div:last-child,.duo-classic-media>div:last-child,
  .three-story-detail-gallery>div:last-child,.three-story-brochure-gallery,
  .three-story-enclosure-gallery {
    display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important; align-items:stretch!important;
  }
  .duo-classic-media>div:last-child { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
  .three-story-brochure-gallery,.three-story-enclosure-gallery { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .variant-media figure,.duo-classic-media figure,.three-story-detail-gallery figure,
  .three-story-brochure-gallery figure,.three-story-enclosure-gallery figure {
    display:flex!important; width:100%!important; height:390px!important; min-height:0!important;
    padding:10px!important; align-items:center!important; justify-content:center!important;
    box-sizing:border-box!important; border:1px solid var(--ds-line)!important; background:var(--ds-paper)!important;
  }
  .duo-classic-media figure { height:350px!important; }
  .variant-media figure:nth-child(2),.duo-classic-media figure:nth-child(2),
  .duo-classic-media figure:nth-child(4) { background:var(--ds-sage)!important; }
  .variant-media figure:nth-child(3),.duo-classic-media figure:nth-child(3) { background:var(--ds-warm)!important; }
  .variant-media figure img,.duo-classic-media figure img,.three-story-detail-gallery figure img,
  .three-story-brochure-gallery figure img,.three-story-enclosure-gallery figure img {
    width:100%!important; height:100%!important; min-height:0!important;
    object-fit:contain!important; object-position:center!important; border-radius:16px!important;
  }
  .alta-gallery .model-photo-carousel,.trio-full-door-option .model-photo-carousel { min-width:0!important; }
  .alta-gallery .model-photo-carousel figure,.trio-full-door-option .model-photo-carousel figure {
    display:flex!important; height:620px!important; padding:10px!important; align-items:center!important;
    justify-content:center!important; border:1px solid var(--ds-line)!important; background:var(--ds-paper)!important;
  }
  .alta-gallery .model-photo-carousel img,.trio-full-door-option .model-photo-carousel img {
    width:100%!important; height:100%!important; object-fit:contain!important;
    object-position:center!important; border-radius:16px!important;
  }
  .duo-alta-photo-grid {
    display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:16px!important;
  }
  .duo-alta-photo-grid figure {
    display:flex!important; height:360px!important; padding:10px!important; align-items:center!important;
    justify-content:center!important; border:1px solid var(--ds-line)!important; background:var(--ds-paper)!important;
  }
  .duo-alta-photo-grid figure:nth-child(3n+2) { background:var(--ds-sage)!important; }
  .duo-alta-photo-grid figure:nth-child(3n+3) { background:var(--ds-warm)!important; }
  .duo-alta-photo-grid img {
    width:100%!important; height:100%!important; object-fit:contain!important;
    object-position:center!important; border-radius:16px!important;
  }

  /* Florida install cards and photo carousels. */
  .curated-models { display:flex!important; flex-direction:column!important; gap:18px!important; }
  .curated-model-card {
    display:grid!important; grid-template-columns:minmax(300px,.45fr) minmax(0,1.55fr)!important;
    gap:24px!important; padding:28px!important; overflow:hidden!important;
    border:1px solid var(--ds-line)!important; background:var(--ds-sage)!important;
  }
  .curated-model-card:nth-child(even) { background:var(--ds-blue)!important; }
  .curated-model-card,.curated-model-card :is(h2,p,a,.eyebrow) { color:var(--ds-ink)!important; }
  .curated-model-copy { align-self:center!important; padding:16px!important; }
  .curated-model-images { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important; }
  .curated-model-images figure {
    display:flex!important; height:430px!important; padding:10px!important;
    align-items:center!important; justify-content:center!important;
    border:1px solid var(--ds-line)!important; background:var(--ds-paper)!important;
  }
  .curated-model-images img {
    width:100%!important; height:100%!important; object-fit:contain!important;
    object-position:center!important; border-radius:16px!important;
  }
  .installation-page__gallery {
    display:grid!important; grid-template-columns:minmax(290px,.42fr) minmax(0,1.58fr)!important;
    gap:30px!important; align-items:center!important; padding:clamp(34px,3vw,54px)!important;
    border:1px solid var(--ds-line)!important; background:var(--ds-blue)!important;
  }
  .installation-carousel { min-width:0!important; }
  .installation-carousel figure {
    display:flex!important; width:100%!important; height:min(68vh,760px)!important;
    min-height:560px!important; padding:10px!important; align-items:center!important;
    justify-content:center!important; box-sizing:border-box!important;
    border:1px solid var(--ds-line)!important; border-radius:24px!important; background:var(--ds-paper)!important;
  }
  .installation-carousel figure img {
    width:100%!important; height:100%!important; min-height:0!important;
    object-fit:contain!important; object-position:center!important; border-radius:18px!important;
  }
  .installation-carousel__controls { justify-content:center!important; margin-top:16px!important; }

  /* Finishes: readable hierarchy and visible text. */
  .installation-page--finishes .installation-page__intro,
  .installation-page--custom-colors .installation-page__intro { background:var(--ds-sage)!important; }
  .installation-page--finishes .installation-page__intro>div,
  .installation-page--custom-colors .installation-page__intro>div { max-width:1100px!important; }
  .installation-page--finishes .installation-page__intro h1,
  .installation-page--custom-colors .installation-page__intro h1 {
    color:var(--ds-ink)!important; font-size:clamp(46px,4vw,70px)!important;
  }
  .installation-page--finishes .installation-page__intro :is(p,.eyebrow),
  .installation-page--custom-colors .installation-page__intro :is(p,.eyebrow) { color:var(--ds-ink)!important; }

  /* Compare reads as a connected block: 2, context, 2, then 3. */
  .compare-model-grid {
    display:grid!important; grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:18px!important; background:var(--ds-paper)!important;
  }
  .compare-model-card {
    grid-column:span 3!important; overflow:hidden!important;
    border:1px solid var(--ds-line)!important; background:var(--ds-sage)!important;
  }
  .compare-model-card:nth-of-type(even) { background:var(--ds-blue)!important; }
  .compare-model-card:nth-of-type(n+5) { grid-column:span 2!important; }
  .compare-model-card figure {
    height:390px!important; padding:10px!important; box-sizing:border-box!important; background:var(--ds-paper)!important;
  }
  .compare-model-card figure img {
    width:100%!important; height:100%!important; object-fit:contain!important;
    object-position:center!important; border-radius:16px!important;
  }
  .compare-model-content { padding:28px!important; }
  .compare-model-grid>.compare-specification-sheet {
    grid-column:1/-1!important; margin:0!important; border-radius:22px!important; background:var(--ds-warm)!important;
  }

  /* Calls to action and footer stop taking over the entire page. */
  .variant-next,.alta-next,.duo-classic-next,.cta-section,.curated-gallery-cta,
  .testimonials-cta,.video-library-note,.team-contact-band,.installation-close,
  .costs-close,.faq-page-cta,.coastal-cta,.finance-call,.about-cta {
    min-height:0!important; padding:clamp(34px,3vw,54px)!important; overflow:hidden!important;
    border:1px solid var(--ds-line)!important; background:var(--ds-warm)!important;
  }
  .variant-next,.alta-next,.duo-classic-next {
    display:grid!important; grid-template-columns:1.25fr .75fr!important; gap:20px!important;
  }
  .variant-next>div,.alta-next>div,.duo-classic-next>div { min-height:0!important; padding:0!important; }
  .variant-next aside,.alta-next>div:last-child,.duo-classic-next aside {
    min-height:0!important; padding:28px!important; border-radius:20px!important;
    background:var(--ds-ink)!important; color:#fff!important;
  }
  .variant-next aside :is(p,a,svg),.alta-next>div:last-child :is(p,a,svg),
  .duo-classic-next aside :is(p,a,svg) { color:#fff!important; stroke:currentColor!important; }
  .site-footer {
    display:grid!important; grid-template-columns:1.05fr 1.25fr .8fr!important;
    gap:24px 40px!important; min-height:0!important; margin:0 auto 20px!important;
    padding:32px 42px 22px!important; border-radius:28px!important;
  }
  .site-footer>div,.site-footer>nav { min-height:0!important; margin:0!important; }
  .site-footer .brand-logo { width:auto!important; max-width:128px!important; height:auto!important; }
  .site-footer small { grid-column:1/-1!important; margin:0!important; padding-top:12px!important; }

  /* Homepage and remaining content families use the same large shell. */
  .brand-home>section { padding:clamp(38px,3.2vw,58px)!important; border:1px solid var(--ds-line)!important; }
  .brand-home .brand-hero { padding:22px!important; }
  .brand-models,.brand-real-homes { background:var(--ds-paper)!important; }
  .brand-financing,.brand-process { background:var(--ds-sage)!important; }
  .instagram-feed { background:var(--ds-blue)!important; }
  .brand-contact-band { height:390px!important; padding:0!important; overflow:hidden!important; }
  .brand-contact-band img {
    width:100%!important; height:100%!important; object-fit:contain!important; object-position:center!important;
  }
  .gh-hero,.gh-meaning,.gh-quote,.article-hero,.article-body {
    padding:clamp(38px,3.2vw,58px)!important; border:1px solid var(--ds-line)!important; background:var(--ds-paper)!important;
  }
  .gh-meaning { background:var(--ds-sage)!important; }
}

/* Mobile header must remain a solid, correctly stacked bar while scrolling.
   Keep the identity fully visible; don't let page content ghost through it. */
@media (max-width:900px) {
  header.site-header {
    position:sticky!important; top:0!important; z-index:100!important;
    height:72px!important; min-height:72px!important; box-sizing:border-box!important;
    overflow:visible!important;
    opacity:1!important; background:#fff!important; backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important; isolation:isolate!important;
    border-bottom:1px solid rgba(65,89,82,.24)!important;
    box-shadow:0 5px 16px rgba(31,47,41,.08)!important;
  }
  header.site-header .brand-logo {
    display:block!important; width:104px!important; max-width:104px!important;
    height:65px!important; max-height:65px!important; object-fit:contain!important;
    object-position:left center!important;
  }
}

/* Remove the extra color tile behind the closing photo: the CTA remains one
   dark rounded card and the complete image sits directly in its right column. */
@media (max-width:900px) {
  .brand-home .brand-contact-band {
    overflow:hidden!important; border-radius:24px!important;
    padding:0!important; gap:0!important;
  }
  .brand-home .brand-contact-band>img {
    display:block!important; width:100%!important; height:auto!important;
    min-height:0!important; max-height:none!important; padding:0!important;
    box-sizing:border-box!important; object-fit:contain!important;
    object-position:center!important; background:transparent!important;
    border-radius:18px!important;
  }
}

@media (min-width:901px) and (max-width:1220px) {
  .site-header,main,.site-footer { width:calc(100% - 36px)!important; }
  .brand-hero,.about-hero,.coastal-hero,.variant-hero,.alta-hero,.duo-classic-hero {
    grid-template-columns:minmax(330px,.9fr) minmax(390px,1.1fr)!important;
  }
  .variant-media,.alta-gallery,.duo-classic-media,.trio-full-door-option,
  .three-story-detail-gallery,.three-story-brochure,.three-story-enclosure,
  .installation-page__gallery,.curated-model-card {
    grid-template-columns:minmax(240px,.6fr) minmax(0,1.4fr)!important;
  }
  .duo-classic-media>div:last-child,.duo-alta-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

/* Homepage bookends: keep the full photographs visible inside intentional,
   rounded media frames. This prevents the hero lift and closing room scene
   from reading as accidentally cropped at wide desktop aspect ratios. */
@media (min-width:901px) {
  .brand-home .brand-hero>figure {
    padding:18px!important; background:var(--ds-blue)!important;
    border-radius:24px!important;
  }
  .brand-home .brand-hero>figure>img {
    width:auto!important; max-width:100%!important; height:100%!important;
    max-height:100%!important; object-fit:contain!important; object-position:center!important;
    clip-path:none!important; border-radius:18px!important;
  }
  .brand-home .brand-contact-band {
    display:grid!important; grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr)!important;
    height:auto!important; min-height:360px!important; padding:14px!important;
    gap:14px!important; align-items:stretch!important; background:var(--ds-ink)!important;
  }
  .brand-home .brand-contact-band>div {
    min-width:0!important; padding:clamp(28px,3vw,48px)!important;
    border-radius:20px!important;
  }
  .brand-home .brand-contact-band>img {
    align-self:stretch!important; justify-self:stretch!important;
    width:100%!important; height:100%!important; min-height:0!important;
    padding:14px!important; box-sizing:border-box!important;
    object-fit:contain!important; object-position:center!important;
    clip-path:none!important; border-radius:20px!important; background:var(--ds-blue)!important;
  }
}

/* Some mobile browsers can request a desktop-width layout viewport. In that
   mode max-width breakpoints never run even though the device is a phone.
   Keep the shared chrome genuinely mobile on touch-first devices too. */
@media (hover:none) and (pointer:coarse) {
  header.site-header {
    position:sticky!important; top:0!important; z-index:100!important;
    display:flex!important; width:calc(100% - 28px)!important; max-width:none!important;
    height:74px!important; min-height:74px!important; margin:12px auto 0!important;
    padding:0 18px!important; box-sizing:border-box!important; overflow:visible!important;
    border:1px solid rgba(65,89,82,.22)!important; border-radius:22px!important;
    background:#fbfcf9!important; opacity:1!important; backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important; box-shadow:0 8px 22px rgba(31,47,41,.09)!important;
  }
  header.site-header>a { display:flex!important; align-items:center!important; flex:0 0 auto!important; height:100%!important; }
  header.site-header .brand-logo {
    display:block!important; width:104px!important; max-width:104px!important;
    height:65px!important; max-height:65px!important; object-fit:contain!important;
    object-position:left center!important; border-radius:0!important;
  }
  header.site-header .desktop-nav,header.site-header .head-act { display:none!important; }
  header.site-header .home-menu {
    display:grid!important; place-items:center!important; flex:0 0 44px!important;
    width:44px!important; height:44px!important; margin-left:auto!important;
    padding:0!important; border:1px solid rgba(65,89,82,.35)!important;
    border-radius:50%!important; background:#fff!important; color:#383d3f!important;
  }
  header.site-header+.home-mobile-nav {
    position:fixed!important; top:86px!important; left:14px!important; right:14px!important;
    z-index:101!important; max-height:calc(100dvh - 100px)!important;
    overflow:auto!important; border-radius:0 0 22px 22px!important;
    background:#fff!important; padding:12px 22px 24px!important;
    box-shadow:0 16px 35px rgba(28,37,25,.12)!important;
  }
  header.site-header+.home-mobile-nav:not([hidden]) { display:grid!important; }
  .home-mobile-nav details {
    display:block!important; border-bottom:1px solid rgba(65,89,82,.18)!important;
    border-radius:14px!important; padding:2px 10px!important;
  }
  .home-mobile-nav summary {
    display:flex!important; align-items:center!important; justify-content:space-between!important;
    min-height:48px!important; padding:12px 4px!important; color:#383d3f!important;
    cursor:pointer!important; font-size:16px!important; font-weight:700!important;
    list-style:none!important;
  }
  .home-mobile-nav summary::-webkit-details-marker { display:none!important; }
  .home-mobile-nav details>div {
    display:grid!important; gap:2px!important; padding:0 0 12px!important;
  }
  .home-mobile-nav details>div a {
    display:block!important; min-height:44px!important; padding:12px 8px!important;
    border-radius:10px!important; color:#383d3f!important; font-size:15px!important;
    font-weight:500!important; text-decoration:none!important;
  }
  .home-mobile-nav .mobile-nav-cta {
    display:block!important; margin-top:14px!important; padding:15px 18px!important;
    border-radius:16px!important; background:#383d3f!important; color:#fff!important;
    text-align:center!important; font-size:15px!important; font-weight:700!important;
  }

  /* One closing CTA card: copy and photo share its surface, with no extra
     blue inset tile around the image. */
  .brand-home .brand-contact-band {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    width:100%!important; height:auto!important; min-height:0!important;
    gap:0!important; padding:0!important; overflow:hidden!important;
    border:0!important; border-radius:24px!important; background:#383d3f!important;
  }
  .brand-home .brand-contact-band>div {
    min-width:0!important; padding:30px 26px!important; border-radius:0!important;
  }
  .brand-home .brand-contact-band>img {
    display:block!important; align-self:auto!important; justify-self:stretch!important;
    width:100%!important; height:auto!important; min-height:0!important; max-height:none!important;
    margin:0!important; padding:0!important; box-sizing:border-box!important;
    object-fit:contain!important; object-position:center!important; clip-path:none!important;
    border-radius:0 0 24px 24px!important; background:transparent!important;
  }
}

/* Canonical sitewide image rule. Keep both the photo and its frame rounded;
   constrain photographs to their frame while preserving natural proportions. */
main figure,
main picture,
main .model-photo-carousel figure,
main .installation-carousel figure,
main .curated-gallery figure,
main .real-homes-gallery figure,
main .duo-alta-photo-grid figure,
main .three-story-enclosure-gallery figure,
main .duo-classic-media figure,
main .variant-media figure {
  overflow: hidden !important;
  border-radius: 24px !important;
  clip-path: inset(0 round 24px) !important;
}

main img,
main picture img,
main figure img,
main .gallery img,
main [class*="gallery"] img,
main [class*="carousel"] img {
  border-radius: 18px !important;
}

main figure img,
main .brand-model > img,
main .alta-hero > img,
main .variant-hero figure img,
main .variant-media figure img,
main .duo-classic-media figure img,
main .three-story-enclosure-gallery figure img,
main .installation-carousel figure img {
  display: block !important;
  max-width: 100% !important;
  border-radius: 18px !important;
}

/* Portraits keep their intended circular crop. */
main .team-portrait img,
main .about-hero img {
  border-radius: 50% !important;
}
main .team-portrait {
  overflow: hidden !important;
  border-radius: 50% !important;
  clip-path: circle(50% at 50% 50%) !important;
}

/* Desktop mode on touch devices must not leave a strip of canvas above the
   header or squeeze the header contents outside their own background. */
@media (hover:none) and (pointer:coarse) {
  html, body { scroll-padding-top: 80px !important; }
  header.site-header {
    top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(65,89,82,.24) !important;
    border-radius: 22px !important;
    background: #fbfcf9 !important;
    box-shadow: 0 8px 22px rgba(31,47,41,.10) !important;
  }
  header.site-header > a {
    height: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  header.site-header .brand-logo {
    width: 112px !important;
    max-width: 112px !important;
    height: 68px !important;
    max-height: 68px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
}

/* Duo Vista and the other standard variant pages had a later legacy rule
   limiting the hero to 420px. Give the lift a real hero-sized frame. */
@media (min-width: 901px) {
  main.variant-page .variant-hero {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    height: clamp(590px, 48vw, 760px) !important;
    min-height: 590px !important;
    margin: 0 !important;
    grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr) !important;
    gap: 22px !important;
    padding: 22px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 30px !important;
  }
  main.variant-page .variant-hero > figure {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    background: var(--ds-blue, #dcebf0) !important;
  }
  main.variant-page .variant-hero > figure > img {
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 18px !important;
  }
}

@media (max-width: 900px) {
  main.variant-page .variant-hero > figure {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 5 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 24px !important;
  }
  main.variant-page .variant-hero > figure > img {
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    border-radius: 18px !important;
  }
}
