/* Corporate typography shared with cubelab-orbit; locally hosted variable font. */
@font-face { font-family: Hanken; src: url('../fonts/hanken.ttf') format('truetype'); font-weight: 100 900; font-style: normal; font-display: swap; }
:root { --cl-font: Hanken, Arial, sans-serif; }
body { font-family: var(--cl-font) !important; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body :is(h1,h2,h3,h4,h5,h6,p,a,li,label,input,button,select,textarea,table,small,blockquote) { font-family: var(--cl-font) !important; }
body :is(h1,h2,h3,h4,h5,h6) { font-weight: 500; }
body :is(h1,h2) { letter-spacing: -.045em; }
body :is(h3,h4,h5,h6) { letter-spacing: -.025em; }
/* Compact product labels preserve the shop's existing type scale. */
body .woocommerce :is(.woocommerce-loop-product__title,.woocommerce-loop-category__title) { letter-spacing: -.015em; }
body :is(button,.button,input[type="submit"]) { font-weight: 600; }

.cl-home-intro { max-width: 1176px; width: calc(100% - 64px); margin: 56px auto 0; text-align: center; }
body .cl-home-intro h1 { font-size: clamp(25px,3vw,34px) !important; font-weight: 500; line-height: 1.2; margin: 0 0 16px; }
.cl-home-intro p { max-width: 1080px; margin: 0 auto; font-size: 16px; line-height: 1.7; color: #52696e; }
@media(max-width:700px) { .cl-home-intro { width: calc(100% - 40px); margin-top: 36px; } }

/* Airier copy rhythm across the hero slides. */
body .hp-slider .header-banner-text { max-width: 510px; padding-right: 28px; }
body .hp-slider .header-banner-text h3 { margin: 0 0 18px !important; line-height: 1.5; }
body .hp-slider .header-banner-text h2 { margin: 0 0 24px !important; line-height: 1.12; }
body .hp-slider .header-banner-text p.name { margin: 0 !important; line-height: 1.7 !important; }
body .hp-slider .header-banner-text > a.button { margin-top: 36px !important; }
@media (max-width: 700px) {
 body .hp-slider .header-banner-text { padding-right: 0; }
 body .hp-slider .header-banner-text h3 { margin-bottom: 12px !important; }
 body .hp-slider .header-banner-text h2 { margin-bottom: 18px !important; }
 body .hp-slider .header-banner-text > a.button { margin-top: 26px !important; }
}
