/* Mobile layout: this file is intentionally loaded after all desktop styles. */
@media (max-width: 800px) {
  html, body { width: 100%; overflow-x: hidden; }
  .ku-header { height: 64px; min-height: 64px; padding: 0 16px; gap: 10px; position: relative; }
  .ku-header .ku-logo { min-width: 0 !important; flex: 1; gap: 5px; font-size: 18px !important; letter-spacing: -1px; }
  .ku-header .ku-logo strong { font-size: 31px; }
  .ku-header .ku-logo small { margin-top: 3px; font-size: 7px; }
  .ku-menu-toggle { width: 38px; height: 38px; display: grid; align-content: center; gap: 5px; padding: 0 8px; border: 1px solid #d6d4d0; border-radius: 5px; background: #fff; }
  .ku-menu-toggle i { display: block; width: 100%; height: 1px; background: #101214; }
  .ku-header .ku-phone { display: none !important; }
  .ku-header .ku-call { padding: 10px 11px !important; border-radius: 5px; font-size: 9px; }
  .ku-header nav { display: none !important; }
  .ku-header.ku-menu-open nav { position: absolute; top: 100%; right: 0; left: 0; z-index: 50; display: grid !important; gap: 0 !important; padding: 8px 16px 16px; border-top: 1px solid #ece9e3; border-bottom: 1px solid #e2dfd9; background: #fff; box-shadow: 0 10px 18px rgba(0,0,0,.07); }
  .ku-header.ku-menu-open nav a { padding: 12px 2px; border-bottom: 1px solid #f0eeeb; font-size: 14px; }

  .ku-section { padding: 34px 20px; }
  .ku-section h2 { margin-bottom: 18px; font-size: 33px; letter-spacing: -2px; }
  .ku-section-head { display: block; width: 100%; min-width: 0; }
  .ku-section-head > * { min-width: 0; max-width: 100%; }
  .ku-section-head p { margin: 0 0 16px; max-width: 100%; font-size: 12px; }
  .ku-more { display: inline-flex; align-items: center; white-space: normal; font-size: 12px; }
  .ku-more b { margin-right: 9px; padding: 5px 9px; font-size: 21px; }
  .ku-buy-scenarios .ku-section-head h2 { width: 100%; max-width: 100%; font-size: clamp(28px, 8.5vw, 36px); overflow-wrap: anywhere; }
  .ku-buy-scenarios .ku-section-head .ku-more { margin-top: 2px; }
  .ku-hero-actions, .ku-home-v2__actions { flex-wrap: wrap; }
  .ku-button { min-height: 48px; height: auto; padding: 12px 20px; font-size: 14px; }
  .ku-script { margin: 20px 0; font-size: 22px; }

  .ku-home-v2__copy, .ku-repair-v2__copy, .ku-realty-hero__copy, .ku-buy-hero > div:first-child, .ku-projects-hero > div:first-child, .ku-blog-hero > div:first-child { padding-right: 20px; padding-left: 20px; }
  /* The handwritten tagline belongs below the actions on narrow screens. */
  .ku-home-v2__script { position: static; left: auto; top: auto; margin: 28px 0 0 10px; transform: none; font-size: 23px; }
  .ku-home-v2 h1, .ku-repair-v2 h1, .ku-realty-hero h1, .ku-buy-hero h1, .ku-projects-hero h1, .ku-blog-hero h1 { font-size: clamp(39px, 11vw, 50px); letter-spacing: -.065em; }
  .ku-home-v2__copy > p:not(.ku-eyebrow), .ku-repair-v2__copy > p:not(.ku-eyebrow), .ku-realty-hero__copy > p:not(.ku-eyebrow), .ku-buy-hero p:not(.ku-eyebrow) { font-size: 16px; }
  .ku-home-v2__image, .ku-repair-v2__image, .ku-realty-hero__image, .ku-buy-hero__image, .ku-projects-hero__image, .ku-blog-hero__image { height: 280px; }
  .ku-home-v2__form-wrap { padding: 20px; }
  .ku-home-form, .ku-calculator { grid-template-columns: 1fr !important; }
  .ku-repair-v2__guarantee { right: 16px; bottom: 16px; max-width: 190px; }

  .ku-strip { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px 0; padding: 22px 20px; }
  .ku-strip-item { min-height: 48px; padding-left: 38px; font-size: 11px; }
  .ku-strip-item:before { left: 3px; font-size: 26px; }
  .ku-strip-item b { font-size: 13px; }
  .ku-strip-item:nth-child(even) { border-right: 0; }
  .ku-home-features .ku-strip-item { gap: 7px; padding-left: 0; }
  .ku-home-features .ku-strip-item svg { width: 25px; height: 25px; flex-basis: 25px; }

  .ku-cards--three, .ku-cards--four, .ku-realty-cards, .ku-projects-list, .ku-blog-list { grid-template-columns: 1fr !important; }
  .ku-card img { height: 220px; }
  .ku-home-projects__grid { gap: 14px; }
  .ku-home-project { min-height: 280px; }
  .ku-process { grid-template-columns: 1fr !important; gap: 16px; }
  .ku-step { min-height: 78px; padding-left: 46px; border-right: 0; border-bottom: 1px solid #ddd; }
  .ku-step:last-child { border-bottom: 0; }
  .ku-step b { margin-top: 4px; }
  .ku-banner, .ku-projects-cta { grid-template-columns: 1fr; }
  .ku-banner-copy, .ku-banner-cta { padding: 28px 20px; }
  .ku-banner h2 { font-size: 28px; }

  .ku-realty-section { padding-right: 20px; padding-left: 20px; }
  .ku-realty-cta { margin: 20px; }
  .ku-realty-cta > div { padding: 28px 20px; }
  .ku-buy-features { gap: 18px 12px; padding: 22px 20px; }
  .ku-buy-features article { gap: 8px; }
  .ku-buy-features span { width: 48px; height: 48px; font-size: 22px; }
  .ku-buy-features b { font-size: 14px; }
  .ku-project-filters { display: flex; width: calc(100vw - 40px); overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .ku-project-filters button { flex: 0 0 auto; }
  .ku-contact { padding: 28px 20px; }
  .ku-contact__map img { min-height: 300px; }
  .ku-contact-visit { padding: 20px; }
  .ku-contact-visit > img { min-height: 240px; }
  .ku-benefits { grid-template-columns: 1fr !important; }
  .ku-benefits li { min-height: 0; padding:17px 0; border-right:0; border-bottom:1px solid #e7e4de; display:grid; grid-template-columns:40px 1fr; column-gap:12px; }
  .ku-benefits li:last-child { border-bottom:0; }
  .ku-benefits .ku-icon { grid-row:1 / span 2; width:31px; height:31px; margin:0; }
  .ku-benefits h3 { margin:0 0 3px; }.ku-benefits p { grid-column:2; }
  .ku-materials { display:block; padding-top:38px; padding-bottom:38px; }
  .ku-materials__intro { padding:0; }.ku-materials__intro p { font-size:12px; }.ku-materials__brands { margin-top:23px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:15px 12px; }.ku-materials figure, .ku-materials figure>img { min-height:235px; margin-top:22px; }
  .ku-materials figcaption { right:12px; bottom:12px; max-width:180px; padding:16px; font-size:13px; }
  .ku-reviews__grid { grid-template-columns:1fr; }.ku-review { min-height:0; }
  .ku-consultation { display:grid; grid-template-columns:1fr; margin:0 20px 40px; }.ku-consultation__media { min-height:245px; }.ku-consultation__media>div { left:20px; bottom:20px; right:20px; }.ku-consultation h2 { font-size:27px; }.ku-consultation__panel { padding:24px 20px; }
  .ku-faq { padding-top:40px; padding-bottom:44px; }.ku-faq__grid { grid-template-columns:1fr; gap:10px; }
  .ku-office { grid-template-columns:1fr; }.ku-office__copy { padding:38px 20px; }.ku-office>img { min-height:280px; }

  .ku-footer { padding: 36px 20px 22px; }
  .ku-footer-grid { grid-template-columns: 1fr !important; gap: 22px; }
  .ku-footer-grid > div:not(:first-child) { padding-left: 0; border-left: 0; border-top: 1px solid #4d5150; padding-top: 20px; }
  .ku-footer h3 { font-size: 17px; }
  .ku-footer a { font-size: 14px; }
  .ku-footer-bottom { margin-top: 22px; font-size: 11px; }
  .ku-subscribe input { min-width: 0; height: 50px; }
}

@media (min-width: 801px) { .ku-menu-toggle { display: none; } }

@media (min-width: 801px) and (max-width: 1199px) {
  .ku-benefits { grid-template-columns:repeat(3,1fr); }
  .ku-benefits li:nth-child(3) { border-right:0; }.ku-benefits li:nth-child(-n+3) { border-bottom:1px solid #e7e4de; }
  .ku-consultation { margin-right:28px; margin-left:28px; }
}
