/* Homepage only. Existing shared components and all desktop layouts stay intact. */
@media (max-width: 991.98px) {
  .ft-home-mobile { background:#f6f8f4; color:#183f2f; }
  .ft-home-mobile .container { max-width:680px; padding-left:20px; padding-right:20px; }
  .ft-home-mobile h2, .ft-home-mobile h3 { color:#183f2f; }
  .ft-home-mobile h2 { font-family:'Bricolage Grotesque','Open Sans',sans-serif; font-size:30px; font-weight:700; line-height:1.1; letter-spacing:-.8px; }
  .ft-home-mobile .hm-eyebrow { margin:0 0 10px; font-size:11px; font-weight:700; line-height:1.5; letter-spacing:1.3px; text-transform:uppercase; }
  .ft-home-mobile .hero-home { min-height:0; padding:0 0 24px; overflow:hidden; text-align:left; background:#f6f8f4; }
  .ft-home-mobile .hero-home::before { content:''; inset:0 0 auto; height:310px; background:linear-gradient(90deg,rgba(12,35,25,.82),rgba(12,35,25,.46) 65%,rgba(12,35,25,.22)),url('../img/home-cottage-20260909.jpg') center 46%/cover; transform:none; filter:none; }
  .ft-home-mobile .hero-home::after { content:none; }
  .ft-home-mobile .hero-intro { display:block; padding:22px 0 24px; }
  .ft-home-mobile .hero-intro .hm-eyebrow { color:#e3efdc; }
  .ft-home-mobile .hero-home h1 { font-family:'Bricolage Grotesque','Open Sans',sans-serif; font-size:34px; font-weight:700; line-height:1.06; letter-spacing:-1.1px; color:white; text-shadow:none; margin:0; }
  .ft-home-mobile .hero-home .hero-subtitle { color:#f0f3eb; font-size:14px; line-height:1.55; max-width:320px; margin-top:12px!important; text-shadow:none; }
  .ft-home-mobile .hero-mascot { display:none; }
  .ft-home-mobile .hero-home .col-lg-5 { margin-top:0!important; }
  .ft-home-mobile .quote-widget { padding:16px; border:1px solid #dfe7dc; border-radius:18px; box-shadow:0 8px 24px rgba(21,59,39,.08); }
  .ft-home-mobile .qw-title { color:#183f2f; }
  .ft-home-mobile .qw-form .form-control { font-size:16px; border-color:#cdd8c7; background:#fbfcfa; }
  .ft-home-mobile .qw-chips { gap:5px; margin:10px 0; }
  .ft-home-mobile .qw-chip { min-height:44px; padding:5px 2px; font-size:12px; }
  .ft-home-mobile .qw-chip-on { background:#e7efdf; color:#244d33; border-color:#5f8850; }
  .ft-home-mobile .qw-submit { background:#194f35; border-color:#194f35; color:white; min-height:48px; border-radius:10px; box-shadow:none; font-size:14px; }
  .ft-home-mobile .qw-submit:hover { background:#123e29; transform:none; }
  .ft-home-mobile .qw-cards-foot { padding-top:12px; }
  .ft-home-mobile .hm-trust { margin-top:16px!important; }
  .ft-home-mobile .hero-home .hero-stats { gap:0; }
  .ft-home-mobile .hero-home .hero-stats > div { background:none; border:0; border-radius:0; padding:0 6px; font-size:11px; font-weight:400; color:#596c59; }
  .ft-home-mobile .hero-home .hero-stats > div + div { border-left:1px solid #d9e2d4; }
  .ft-home-mobile .hero-home .hero-stats strong { display:block; margin-bottom:3px; color:#264d33; font-size:12px; font-weight:700; }
  .ft-home-mobile .hm-how { padding:26px 0 34px; }
  .ft-home-mobile .hm-section-heading { margin-bottom:20px; }
  .ft-home-mobile .hm-section-heading .hm-eyebrow { color:#627453; }
  .ft-home-mobile .hm-delivery-photo { width:100%; aspect-ratio:3/2; border-radius:16px; background:url('../img/home-delivery-20260909.jpg') center/cover; }
  .ft-home-mobile .hm-steps { list-style:none; padding:0; margin:10px 0 8px; }
  .ft-home-mobile .hm-steps li { display:flex; gap:14px; padding:16px 0; border-bottom:1px solid #dfe7d9; }
  .ft-home-mobile .hm-step-number { font-family:'Bricolage Grotesque','Open Sans',sans-serif; font-size:20px; color:#6d8858; line-height:1.3; }
  .ft-home-mobile .hm-steps h3 { font-size:15px; font-weight:700; line-height:1.4; margin:0 0 4px; }
  .ft-home-mobile .hm-steps p { font-size:14px; color:#566653; line-height:1.55; margin:0; }
  .ft-home-mobile .hm-text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:#245a35; font-size:14px; font-weight:700; text-underline-offset:4px; }
  .ft-home-mobile .price-alerts-section { background:transparent; border:0; padding:0 0 36px; }
  .ft-home-mobile .price-alerts-section>.container { overflow:hidden; }
  .ft-home-mobile .hm-alert-photo { height:190px; background:url('../img/home-warm-room-20260909.jpg') center 52%/cover; border-radius:16px 16px 0 0; }
  .ft-home-mobile .price-alerts-panel { display:block; background:#183f2f; border-radius:0 0 16px 16px; padding:22px 20px; max-width:none; text-align:left; }
  .ft-home-mobile .price-alerts-intro { text-align:left; margin-bottom:20px; }
  .ft-home-mobile .price-alerts-intro h2 { font-size:27px; color:white; margin-bottom:8px; }
  .ft-home-mobile .price-alerts-intro p { font-size:14px; line-height:1.5; color:#d0ddc7; }
  .ft-home-mobile .price-alerts-fields { grid-template-columns:minmax(0,1fr); max-width:none; gap:10px; }
  .ft-home-mobile .price-alerts-fields .form-control { min-height:48px; font-size:16px; border-radius:9px; }
  .ft-home-mobile .price-alerts-submit { grid-column:auto; min-height:48px; font-size:14px; font-weight:700; border-radius:9px; }
  .ft-home-mobile .price-alerts-note { margin-top:13px; font-size:12px; line-height:1.6; color:#d0ddc7; text-align:left; }
  .ft-home-mobile .hm-market { padding:0 0 30px; }
  .ft-home-mobile .ft-block { margin-bottom:28px; }
  .ft-home-mobile .ft-block-head { flex-wrap:wrap; gap:8px; margin-bottom:14px; }
  .ft-home-mobile h2.ft-block-title { font-size:26px; margin:0; line-height:1.12; }
  .ft-home-mobile .ft-block-delta { font-size:12px; }
  .ft-home-mobile .ft-brief-card { padding:18px; border-color:#dfe7d9; border-radius:16px; }
  .ft-home-mobile .ft-spark { margin:0 0 16px; height:90px; }
  .ft-home-mobile .ft-spark svg { display:block; max-width:100%; }
  .ft-home-mobile .ft-brief-avg { font-size:13px; line-height:1.6; margin-bottom:14px; color:#455c43; }
  .ft-home-mobile .ft-brief-text { font-size:14px; line-height:1.65; max-height:180px; color:#4d5e49; }
  .ft-home-mobile .ft-brief-text.open { max-height:none; }
  .ft-home-mobile .ft-brief-more { min-height:44px; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
  .ft-home-mobile .ft-brief-caption { font-size:12px; color:#5d6d55; }
  .ft-home-mobile .ft-brief-caption a { color:#315e3a; }
  .ft-home-mobile .ft-block-link { display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:#315e3a; }
  .ft-home-mobile .hm-guide { display:block; padding:20px; text-decoration:none; color:inherit; }
  .ft-home-mobile .ft-teaser-tag { font-size:11px; }
  .ft-home-mobile .ft-teaser-title { font-family:'Bricolage Grotesque','Open Sans',sans-serif; font-size:23px; line-height:1.15; margin:10px 0; }
  .ft-home-mobile .ft-teaser-sub { font-size:14px; line-height:1.6; color:#566653; margin-bottom:6px; }
  .ft-home-mobile .hm-guide .hm-text-link { text-decoration:underline; }
  .ft-home-mobile .ft-call-card { display:grid; grid-template-columns:40px minmax(0,1fr); gap:8px 12px; padding:18px; }
  .ft-home-mobile .ft-call-card .ft-call-sub { font-size:13px; line-height:1.5; color:#586951; }
  .ft-home-mobile .ft-call-card .ft-call-num { grid-column:2; margin:0; font-size:19px; color:#245a35; }
  .ft-home-mobile .hm-supplier-cta { background:#e9f0e3!important; padding:26px 0!important; }
  .ft-home-mobile .hm-supplier-cta::before { content:none; }
  .ft-home-mobile .hm-supplier-cta .container { color:#183f2f!important; }
  .ft-home-mobile .hm-supplier-cta h5 { font-size:19px; }
  .ft-home-mobile .hm-supplier-cta p { font-size:14px!important; line-height:1.6; opacity:1!important; color:#4b6345; }
  .ft-home-mobile .hm-supplier-cta .btn { background:#194f35; color:white; border-color:#194f35; min-height:44px; }
  .ft-home-mobile [data-aos], .ft-home-mobile~.footer-ft [data-aos] { opacity:1!important; transform:none!important; transition:none!important; }
  .ft-home-mobile a:focus-visible, .ft-home-mobile button:focus-visible, .ft-home-mobile input:focus-visible { outline:3px solid #6c903c; outline-offset:3px; }
  .ft-home-mobile~.footer-ft { background:#f6f8f4; color:#566653; }
  .ft-home-mobile~.footer-ft a { color:#315b3b; }
  .ft-home-mobile~.footer-ft h6 { color:#183f2f; }
}
@media (min-width:600px) and (max-width:991.98px) {
  .ft-home-mobile .hero-home::before { height:340px; background-position:center 46%; }
  .ft-home-mobile .hero-intro { padding-top:32px; }
  .ft-home-mobile .hero-home h1 { font-size:44px; }
  .ft-home-mobile .hero-home .hero-subtitle { max-width:400px; font-size:16px; }
  .ft-home-mobile .hm-alert-photo { height:260px; }
  .ft-home-mobile .price-alerts-panel { padding:28px; }
  .ft-home-mobile .price-alerts-fields { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
  .ft-home-mobile .price-alerts-submit { grid-column:1/-1; }
  .ft-home-mobile .hm-delivery-photo { max-height:360px; }
}
@media (max-width:374px) {
  .ft-home-mobile .container { padding-left:16px; padding-right:16px; }
  .ft-home-mobile .hero-intro { padding-top:18px; padding-bottom:18px; }
  .ft-home-mobile .hero-home h1 { font-size:32px; }
  .ft-home-mobile .hero-intro .hm-eyebrow { margin-bottom:8px; }
  .ft-home-mobile .hero-home .hero-subtitle { margin-top:10px!important; }
}
