/* Focused control and phone-layout refinements; approved brand colors are unchanged. */
:root { --control-radius: 10px; }
.button, button, .expand-icon { border-radius: var(--control-radius); }
.pricing-inner .pricing-estimate { margin-top: 20px; min-height: 48px; font-size: 13px; }
.rental-jumps { display: none; }

@media (max-width: 640px) {
  .container { width: calc(100% - 40px); }
  .home-page main h2 { font-size: clamp(30px,8.6vw,36px); line-height: 1.15; letter-spacing: -.04em; }
  .home-page .photo-hero { min-height: 610px; }
  .home-page .photo-hero > img { height: 500px; }
  .home-page .photo-hero .hero-content { padding-top: 285px; padding-bottom: 48px; }
  .home-page .photo-hero .hero-content > p:not(.eyebrow) { font-size: 15px; line-height: 1.6; margin-top: 18px; }
  .home-page .photo-hero .hero-buttons { gap: 16px; }
  .home-page .photo-hero .hero-buttons .button { min-height: 50px; font-size: 13px; }
  .home-page .photo-hero .hero-link { font-size: 12px; }
  .intro-strip .container { min-height: 68px; padding-block: 14px; font-size: 10px; gap: 9px 12px; }
  .home-page .section { padding-block: 52px; }
  .home-page .collection { padding-top: 44px; padding-bottom: 28px; }
  .section-heading { margin-bottom: 28px; }
  .section-heading .eyebrow { margin-bottom: 12px; }
  .section-heading > div:last-child, .section-heading > p { margin-top: 18px; }
  .home-page .section-heading p { font-size: 15px; line-height: 1.65; }
  .home-page .collection .floor-cards { display: grid; grid-template-columns: 1fr; gap: 22px; }
  .home-page .collection .floor-card {
    display: grid;
    grid-template-columns: 124px minmax(0,1fr);
    grid-template-rows: auto 1fr;
    gap: 0 18px;
    margin: 0;
    padding: 0 0 24px;
    border-bottom: 1px solid var(--rule);
    align-items: start;
  }
  .home-page .collection .card-image { grid-row: 1 / 3; height: 175px; }
  .home-page .collection .image-tag { display: none; }
  .home-page .collection .wood-preview-board { width: 94px; max-width: 78%; box-shadow: 4px 4px 0 rgba(110,86,59,.12); }
  .home-page .collection .wood-preview-label { inset: 10px 8px auto 10px; font-size: 8px; letter-spacing: .02em; }
  .home-page .collection .preview-label-detail { display: none; }
  .home-page .collection .card-title { grid-column: 2; padding: 5px 0 0; margin: 0; gap: 8px; border-bottom: 0; }
  .home-page .collection .card-title h3 { font-size: 20px; line-height: 1.18; letter-spacing: -.035em; }
  .home-page .collection .card-title > span { font-size: 20px; line-height: 1; }
  .home-page .collection .floor-card > p { grid-column: 2; font-size: 14px; line-height: 1.6; margin: 10px 0 0; max-width: none; }
  .home-page .collection > .image-note { margin: 18px 0 0; font-size: 11px; line-height: 1.65; }
  .home-gallery { padding-top: 24px; padding-bottom: 48px; margin-bottom: 0; border-bottom: 0; }
  .home-gallery .section-heading p { font-size: 15px; }
  .home-gallery-grid { gap: 28px 18px; }
  .home-gallery .gallery-img { height: clamp(145px,42vw,175px); }
  .home-gallery .gallery-title { font-size: 15px; line-height: 1.45; }
  .home-gallery .photo-credit { font-size: 11px; line-height: 1.45; }
  .home-page .wrap-feature { gap: 24px; padding-bottom: 52px; }
  .home-page .wrap-image { width: 100%; height: 275px; }
  .home-page .wrap-image .wood-preview-board { width: 190px; }
  .home-page .wrap-copy { padding: 26px 24px; }
  .home-page .wrap-copy p:not(.eyebrow):not(.image-note) { font-size: 15px; line-height: 1.7; margin-top: 18px; }
  .home-page .planner-feature, .home-page .pricing-band { padding-block: 46px; }
  .home-page .planner-inner p:not(.eyebrow), .home-page .pricing-inner p { font-size: 15px; line-height: 1.7; }
  .pricing-inner .pricing-estimate { width: 100%; }
  .home-page .planner-inner > div:last-child { margin-top: 22px; }
  .home-page .planner-inner .button { width: 100%; font-size: 12px; }
  .home-page .home-sizes > div:last-child { margin-top: 22px; }
  .home-page .home-sizes > div:last-child > p { font-size: 15px; line-height: 1.7; }
  .home-page .home-sizes .text-link { display: table; margin: 18px 0 0; }
  .home-page .instagram-feature { padding-block: 48px; gap: 24px; }
  .home-page .instagram-feature p:not(.eyebrow) { font-size: 15px; line-height: 1.7; }
  .home-page .instagram-handle { font-size: clamp(20px,6.2vw,26px); }
  .home-page .service-area .section-heading > p { font-size: 15px; line-height: 1.7; }
  .home-page .final-cta { padding-block: 52px; }
  .home-page .final-cta .button { font-size: 12px; min-height: 48px; }
  #mobile-inquiry-link { inset-inline: 20px; bottom: max(12px,env(safe-area-inset-bottom)); width: calc(100% - 40px); max-width: 320px; margin-inline: auto; min-height: 48px; padding: 13px 20px; font-size: 13px; box-shadow: 0 5px 20px rgba(36,31,29,.18); }
  .page-heading { padding-top: 44px; padding-bottom: 28px; }
  .page-heading h1 { font-size: clamp(32px,9vw,42px); line-height: 1.12; }
  .page-heading .lead { font-size: 15px; line-height: 1.7; }
  .rental-jumps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-bottom: 36px; }
  .rental-jumps a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 8px; border: 1px solid var(--rose); border-radius: var(--control-radius); color: var(--ink); font-size: 12px; font-weight: 600; text-align: center; }
  .rental-jumps a:hover { background: var(--rose-soft); }
  .rental-story, .rental-story.reverse { gap: 24px; padding: 0 0 40px; margin-bottom: 32px; border-bottom: 1px solid var(--rule); scroll-margin-top: 96px; }
  .rental-copy { width: 100%; }
  .rental-copy .eyebrow { margin-bottom: 12px; }
  .rental-copy h2 { font-size: 34px; line-height: 1.15; }
  .rental-copy > p:not(.eyebrow):not(.fit-label):not(.fit) { margin-top: 16px; font-size: 15px; line-height: 1.7; }
  .rental-copy .fit-label { margin-top: 24px !important; font-size: 10px !important; }
  .rental-copy .fit { margin-top: 8px !important; font-size: 13px !important; line-height: 1.6; }
  .rental-actions { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
  .rental-actions .button { width: 100%; margin: 0; min-height: 48px; font-size: 13px; }
  .rental-actions .text-link { align-self: flex-start; margin: 0; min-height: 44px; font-size: 13px; }
  .quote-layout { display: flex; flex-direction: column; gap: 32px; }
  .quote-main { order: 1; width: 100%; }
  .quote-aside { order: 2; width: 100%; }
}

@media (max-width: 360px) {
  .home-page .collection .floor-card { grid-template-columns: 100px minmax(0,1fr); column-gap: 16px; }
  .home-page .collection .card-image { height: 150px; }
  .home-page .collection .wood-preview-board { width: 78px; }
  .home-page .collection .card-title h3 { font-size: 18px; }
  .home-page .collection .floor-card > p { font-size: 14px; }
  .home-page .photo-hero .hero-content { padding-top: 270px; }
}
