/* Final body-copy floor: loaded after page CSS so support text stays at 16px+ */
html[class*="kw-page--"] [class$="-body"],
html[class*="kw-page--"] [class*="-body "],
html[class*="kw-page--"] [class$="-sub"],
html[class*="kw-page--"] [class*="-sub "],
html[class*="kw-page--"] [class$="-desc"],
html[class*="kw-page--"] [class*="-desc "],
html[class*="kw-page--"] [class$="-note"],
html[class*="kw-page--"] [class*="-note "],
html[class*="kw-page--"] .body-text,
html[class*="kw-page--"] .u-meta-note,
html[class*="kw-page--"] .u-policy-note{
  font-size: 16px;
  line-height: 1.75;
}

html[class*="kw-page--"] .footer-tagline,
html[class*="kw-page--"] .footer-links a,
html[class*="kw-page--"] .footer-contact-item,
html[class*="kw-page--"] .footer-contact-item a{
  font-size: 16px;
  line-height: 1.65;
  color: rgba(244,240,232,0.82);
}

html[class*="kw-page--"] .footer-heading{
  font-size: 12px;
  color: rgba(226,205,156,0.92);
  letter-spacing: 0.16em;
}

html[class*="kw-page--"] .footer-links a:hover,
html[class*="kw-page--"] .footer-contact-item a:hover,
html[class*="kw-page--"] .footer-bottom-links a:hover,
html[class*="kw-page--"] .footer-bottom a:hover{
  color: rgba(250,248,244,1);
}

html.kw-page--home .hero-sub,
html.kw-page--home .step-body,
html.kw-page--home .bespoke-body,
html.kw-page--home .sustain-body,
html.kw-page--bespoke .pricing-intro,
html.kw-page--bespoke .care-note,
html.kw-page--bespoke .faq-a,
html.kw-page--bespoke .cta-alt,
html.kw-page--bespoke .factor-list li,
html.kw-page--bespoke .personal-text,
html.kw-page--bespoke .step-body,
html.kw-page--bespoke .pricing-desc,
html.kw-page--bespoke .leadtime-body,
html.kw-page--bespoke .timeline-desc,
html.kw-page--bespoke .commission-detail,
html.kw-page--contact .hero-sub,
html.kw-page--contact .step-label,
html.kw-page--contact .step-note,
html.kw-page--contact .field-hint,
html.kw-page--contact .form-note,
html.kw-page--studio .hero-sub,
html.kw-page--studio .origin-body,
html.kw-page--studio .workshop-intro,
html.kw-page--studio .workshop-item-body,
html.kw-page--studio .materials-body,
html.kw-page--studio .wood-entry-desc,
html.kw-page--studio .philosophy-col-body,
html.kw-page--studio .sustain-body,
html.kw-page--studio .sustain-fact-body,
html.kw-page--studio .close-detail,
html.kw-page--studio .close-contact a,
html.kw-page--care-guide .hero-sub,
html.kw-page--care-guide .finish-sub,
html.kw-page--care-guide .finish-prop-body,
html.kw-page--care-guide .rule-body,
html.kw-page--care-guide .cleaning-step-body,
html.kw-page--care-guide .cleaning-note,
html.kw-page--care-guide .product-callout-body,
html.kw-page--care-guide .product-list-desc,
html.kw-page--care-guide .maintenance-body,
html.kw-page--care-guide .maintenance-callout-text,
html.kw-page--care-guide .callout-box-body,
html.kw-page--care-guide .contact-close-body,
html.kw-page--care-guide .contact-link-item,
html.kw-page--privacy-policy .hero-sub,
html.kw-page--privacy-policy .pp-body,
html.kw-page--privacy-policy .pp-highlight,
html.kw-page--privacy-policy .sidebar-links a,
html.kw-page--terms-and-conditions .hero-sub,
html.kw-page--terms-and-conditions .tc-body,
html.kw-page--terms-and-conditions .tc-highlight,
html.kw-page--terms-and-conditions .tc-warning,
html.kw-page--terms-and-conditions .sidebar-links a,
html.kw-page--delivery .hero-sub,
html.kw-page--delivery .summary-band-text,
html.kw-page--delivery .delivery-type-body,
html.kw-page--delivery .delivery-detail-item,
html.kw-page--delivery .damaged-step-body,
html.kw-page--delivery .damaged-warning,
html.kw-page--delivery .international-body,
html.kw-page--delivery .contact-close-body,
html.kw-page--delivery .contact-link-item,
html.kw-page--finishes .hero-sub,
html.kw-page--finishes .intro-text,
html.kw-page--finishes .finish-body,
html.kw-page--finishes .durability-note,
html.kw-page--local-seo .hero-sub,
html.kw-page--local-seo .intro-body,
html.kw-page--local-seo .detail-body,
html.kw-page--local-seo .cta-body,
html.kw-page--product-template .bespoke-callout-text,
html.kw-page--product-template .features-note,
html.kw-page--product-template .feature-body,
html.kw-page--product-template .spec-section-body,
html.kw-page--product-template .spec-custom-note,
html.kw-page--product-template .bespoke-sub,
html.kw-page--product-template .bespoke-option-text,
html.kw-page--product-template .pricing-intro,
html.kw-page--product-template .pricing-base-desc,
html.kw-page--product-template .affects-list li,
html.kw-page--product-template .final-cta-body,
html.kw-page--product-template .final-contact-note,
html.kw-page--product-template .seo-text p,
html.kw-page--product-page .price-note,
html.kw-page--product-page .cta-reassurance,
html.kw-page--product-page .bespoke-callout-text,
html.kw-page--product-page .features-note,
html.kw-page--product-page .feature-body,
html.kw-page--product-page .spec-section-body,
html.kw-page--product-page .spec-custom-note,
html.kw-page--product-page .bespoke-sub,
html.kw-page--product-page .bespoke-option-text,
html.kw-page--product-page .pricing-intro,
html.kw-page--product-page .pricing-base-desc,
html.kw-page--product-page .affects-list li,
html.kw-page--product-page .final-cta-body,
html.kw-page--product-page .final-contact-note,
html.kw-page--product-page .seo-text p,
html.kw-page--product-page .care-banner p,
html.kw-page--not-found .subtext,
html.kw-page--not-found .link-list a{
  font-size: 16px;
  line-height: 1.75;
}

html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .hamburger{
  display: none;
  appearance: none;
  border: none;
  background: none;
  padding: 0;
}

@media (max-width: 980px){
  body.nav-open{
    overflow: hidden;
  }

  body.nav-open main,
  body.nav-open footer{
    visibility: hidden;
    pointer-events: none;
    user-select: none;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) nav{
    padding: 0 24px;
    height: 84px;
    background: var(--warm-white);
    backdrop-filter: none;
    z-index: 130;
    border-bottom: 1px solid var(--light-rule);
    isolation: isolate;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .nav-logo{
    font-size: clamp(18px, 3.2vw, 24px);
    max-width: calc(100% - 92px);
    line-height: 1.1;
    position: relative;
    z-index: 131;
    color: var(--ink);
    opacity: 1;
    visibility: visible;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .hamburger{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
    border: 1px solid rgba(134,107,42,0.7);
    background: var(--warm-white);
    position: relative;
    z-index: 131;
    flex-shrink: 0;
    cursor: pointer;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .hamburger span{
    display: block;
    width: 28px;
    height: 1.5px;
    background: var(--ink);
    position: absolute;
    left: 50%;
    margin-left: -14px;
    transform-origin: center;
    transition: transform 0.3s, opacity 0.3s;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .hamburger span:nth-child(1){
    top: 16px;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .hamburger span:nth-child(2){
    top: 50%;
    transform: translateY(-50%);
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .hamburger span:nth-child(3){
    bottom: 16px;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .hamburger.open span:nth-child(1){
    transform: rotate(45deg);
    top: 50%;
    margin-top: -0.75px;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .hamburger.open span:nth-child(2){
    opacity: 0;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .hamburger.open span:nth-child(3){
    transform: rotate(-45deg);
    top: 50%;
    bottom: auto;
    margin-top: -0.75px;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .nav-links{
    display: none;
    position: fixed;
    top: 84px;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 24px 24px 40px;
    background: var(--warm-white);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    z-index: 120;
    overflow-y: auto;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .nav-links.open{
    display: flex;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .nav-links li{
    width: 100%;
    border-bottom: 1px solid var(--light-rule);
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .nav-links li:first-child{
    border-top: 1px solid var(--light-rule);
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .nav-links a{
    display: block;
    width: 100%;
    padding: 18px 0;
    font-size: 18px;
    letter-spacing: 0.1em;
    opacity: 0.88;
  }

  html:is(.kw-page--home, .kw-page--bespoke, .kw-page--contact, .kw-page--studio, .kw-page--care-guide, .kw-page--privacy-policy, .kw-page--terms-and-conditions, .kw-page--finishes, .kw-page--delivery, .kw-page--local-seo, .kw-page--product-template, .kw-page--product-page, .kw-page--journal) .nav-cta{
    display: none;
  }
}
