
/* ADIDOGROUP TYPOGRAPHY SYSTEM / v1
   Single source of truth for type roles across retail, service pages and Commerce Desk.
   Body: Inter — functional clarity. Display: Manrope — distinctive yet restrained.
   Optical sizes and natural word spacing; no universal heavy heading rule.
*/
:root{
  --kw-type-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --kw-type-display:"Manrope","Inter",system-ui,sans-serif;
  --kw-type-ink:#17263a;
  --kw-type-muted:#5f7184;
  --kw-type-micro:clamp(.7rem,.72vw,.75rem);
  --kw-type-label:clamp(.75rem,.8vw,.8125rem);
  --kw-type-small:clamp(.8125rem,.92vw,.875rem);
  --kw-type-body-size:clamp(.875rem,1.05vw,1rem);
  --kw-type-card:clamp(1.02rem,1.25vw,1.2rem);
  --kw-type-section:clamp(1.48rem,2.2vw,2.25rem);
  --kw-type-page:clamp(2rem,3.35vw,3.3rem);
  --kw-type-hero:clamp(2.5rem,5vw,4.35rem);
}
/* Keep word spacing natural. Hand-adjust tracking only for short displays/labels. */
html{font-size:16px;text-size-adjust:100%;-webkit-text-size-adjust:100%;}
body{font-family:var(--kw-type-body);font-optical-sizing:auto;font-synthesis:none;
 font-feature-settings:"kern" 1,"liga" 1;letter-spacing:normal;word-spacing:normal;
 text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
body :where(p,li,dd){letter-spacing:normal;word-spacing:normal;overflow-wrap:break-word;}
body :where(button,input,textarea,select){font-family:var(--kw-type-body);letter-spacing:normal;}
body :where(h1,h2,h3,h4,h5,h6){font-family:var(--kw-type-display);font-optical-sizing:auto;
 text-wrap:balance;word-spacing:normal;letter-spacing:-.035em;font-weight:700;}
body :where(p,li){line-height:1.6;}
body :where(input,textarea,select){line-height:1.5;}
body :where(button,a){text-underline-offset:3px;}
body :where(:focus-visible){outline-offset:3px}
/* WORDMARK: compact in the mobile bar; premium, not oversized */
.kws-retail-header .kws-brand{font-family:var(--kw-type-display)!important;
 font-weight:800!important;letter-spacing:-.075em!important;
 font-size:clamp(1.35rem,2.2vw,1.85rem)!important;line-height:1.04!important;}
.kws-retail-header .kws-account-button span{font-size:.78rem!important;letter-spacing:-.01em;font-weight:550!important;}
.kws-shop-drawer>a,.kws-shop-drawer>button{font-size:.88rem!important;font-weight:600!important;letter-spacing:-.012em;}
.kws-retail-header .kws-search-field input{font-size:.9rem!important;letter-spacing:-.012em;}
.kws-delivery-strip a{font-size:.85rem!important;font-weight:500;letter-spacing:-.005em;}
/* HERO: Manrope has deliberate tighter letter spacing and a clear lead. */
.kw-hcopy h1,.kw-service-content h1{
 font-family:var(--kw-type-display)!important;font-size:var(--kw-type-hero)!important;
 line-height:1.075!important;letter-spacing:-.057em!important;font-weight:800!important;
 text-wrap:balance;
}
.kw-hcopy h1 em,.kw-service-content h1 em{font:inherit!important;letter-spacing:inherit!important;}
.kw-hcopy>p,.kw-service-content>p{font-family:var(--kw-type-body);
 font-size:clamp(.95rem,1.18vw,1.075rem)!important;font-weight:400!important;
 line-height:1.66!important;letter-spacing:-.006em!important;max-width:39ch;}
.kw-overline,.kw-editorial-eyebrow,.page-hero .eyebrow,
.kw-service-content .eyebrow{
 font-size:var(--kw-type-label)!important;letter-spacing:.095em!important;
 line-height:1.35!important;font-weight:750!important;text-transform:uppercase;}
.kw-main-link,.kw-btn,.kh-shop-cta{font-family:var(--kw-type-body)!important;
 font-size:clamp(.8125rem,1vw,.92rem)!important;font-weight:700!important;
 letter-spacing:-.01em!important;line-height:1.25!important;}
/* Editorial and service page hierarchy */
.page-hero h1,.kw-about-hero h1{font-family:var(--kw-type-display)!important;
 font-size:var(--kw-type-page)!important;font-weight:800!important;letter-spacing:-.055em!important;
 line-height:1.11!important;max-width:20ch;}
.page-hero p,.kw-about-hero p:not(.kw-editorial-eyebrow){
 font-family:var(--kw-type-body)!important;font-size:clamp(.94rem,1.18vw,1.09rem)!important;
 line-height:1.68!important;max-width:59ch;letter-spacing:-.006em;}
.section-heading h2,.kw-section-head h2,.kw-section-heading h2,
.kw-service-subsection h2,.center-cta h2,.service-detail-grid h2,
.kw-related h2,.kg-section-heading h2{
 font-family:var(--kw-type-display)!important;font-size:var(--kw-type-section)!important;
 font-weight:750!important;letter-spacing:-.047em!important;line-height:1.19!important;
 text-wrap:balance;}
.kg-section-heading{margin-bottom:clamp(14px,1.4vw,20px)}
.kg-category-label{font-family:var(--kw-type-body)!important;
 font-size:clamp(.91rem,1.12vw,1.08rem)!important;
 line-height:1.36!important;font-weight:550!important;letter-spacing:-.018em!important;margin-top:8px;}
.kw-digital-tile h3,.kw-service-tile h3,.kw-repair-steps h3,
.feature-card h3,.detail-panel h3,.kw-digital-cards h3{
 font-family:var(--kw-type-display)!important;font-size:clamp(1.06rem,1.43vw,1.31rem)!important;
 line-height:1.34!important;letter-spacing:-.033em!important;font-weight:700!important;}
.kw-digital-tile p,.kw-repair-steps p,.kw-section-head p,.feature-card p,
.kw-service-tile p,.service-detail-grid p,.detail-panel li,
.section-heading p,.contact-layout p{
 font-family:var(--kw-type-body)!important;font-size:var(--kw-type-body-size)!important;
 line-height:1.68!important;letter-spacing:normal!important;}
.kw-service-navigation a,.kh-category-pill{
 font-family:var(--kw-type-body)!important;font-size:.83rem!important;
 line-height:1.28!important;font-weight:650!important;letter-spacing:-.012em!important;}
.contact-form label{font-size:.86rem!important;line-height:1.4!important;font-weight:650!important;}
.contact-form input,.contact-form select,.contact-form textarea{
 font-size:.925rem!important;line-height:1.5!important;font-weight:400!important;}
.contact-form-note,.contact-note p{font-size:.82rem!important;line-height:1.58!important;}
/* SHOP: precision and ease of scanning; badges never compete with prices. */
.kws-filter-pill,.kws-filter-dropdown>summary{
 font-family:var(--kw-type-body)!important;font-size:.82rem!important;
 font-weight:600!important;line-height:1.25!important;letter-spacing:-.007em!important;}
.kws-results-intro{font-size:.84rem!important;line-height:1.56!important;
 letter-spacing:normal!important;color:var(--kw-type-muted)!important;}
.kws-results-meta .catalogue-counter{font-size:.76rem!important;line-height:1.4!important;}
.kws-product-card .kws-item-name{font-family:var(--kw-type-display)!important;
 font-size:clamp(1rem,1.4vw,1.23rem)!important;line-height:1.35!important;
 font-weight:700!important;letter-spacing:-.027em!important;text-wrap:pretty;}
.kws-product-card .kws-item-sub,.kws-product-card .kws-item-condition{
 font-family:var(--kw-type-body)!important;font-size:clamp(.76rem,.86vw,.85rem)!important;
 font-weight:450!important;line-height:1.52!important;letter-spacing:normal!important;}
.kws-product-card .kws-item-choices,.kws-product-card .kws-item-stock{
 font-size:.77rem!important;line-height:1.5!important;letter-spacing:normal!important;}
.kws-product-card .kws-item-price{font-family:var(--kw-type-display)!important;
 font-size:clamp(1.16rem,1.67vw,1.45rem)!important;line-height:1.23!important;
 letter-spacing:-.045em!important;font-weight:800!important;font-variant-numeric:tabular-nums;}
.kws-product-card .kws-item-status{font-size:.76rem!important;line-height:1.45!important;font-weight:650!important;}
.kws-product-card .kws-item-badge{font-family:var(--kw-type-body);
 font-size:.68rem!important;font-weight:700!important;line-height:1.24!important;
 letter-spacing:.015em!important;}
/* Product detail: buying confidence, minimal jargon and prominent price. */
.kw-product-info h1{font-family:var(--kw-type-display)!important;
 font-size:clamp(1.85rem,3.2vw,3rem)!important;font-weight:800!important;
 line-height:1.16!important;letter-spacing:-.051em!important;}
.kw-product-info .kw-desc,.kw-product-details p,.kw-product-details li{
 font-size:.95rem!important;line-height:1.68!important;letter-spacing:normal!important;}
.kw-product-info .kw-price strong{font-family:var(--kw-type-display)!important;
 font-size:clamp(1.5rem,2.25vw,2rem)!important;line-height:1.18!important;
 font-variant-numeric:tabular-nums;letter-spacing:-.047em!important;font-weight:800!important;}
.kw-product-info .kw-price small,.kw-product-info .kw-stock{font-size:.82rem!important;line-height:1.5!important;}
.kw-detail-tabs button,.kw-quantity label,.kw-crumbs{font-size:.83rem!important;line-height:1.45!important;font-weight:600;}
.kw-product-details h2{font-size:clamp(1.35rem,1.8vw,1.75rem)!important;letter-spacing:-.04em!important;}
.kw-card-content h3{font-family:var(--kw-type-display)!important;font-size:1rem!important;font-weight:700!important;line-height:1.35!important;}
.kw-card-content p,.kw-card-content small,.kw-card-link{font-size:.8rem!important;line-height:1.46!important;}
.kw-card-content strong{font-family:var(--kw-type-display);font-size:1.05rem!important;
 font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.027em;}
/* ADMIN: very different information density but consistent identity */
body.kw-preview-page,body:has(#login-panel){font-family:var(--kw-type-body)!important;
 font-size:.91rem;letter-spacing:normal;line-height:1.55;}
.kw-preview-page .kw-desk-brand-name,.kw-secure-dashboard .kw-desk-brand-name{
 font-family:var(--kw-type-display)!important;font-weight:800!important;font-size:1.18rem!important;
 line-height:1.15!important;letter-spacing:-.06em!important;}
.kw-desk-nav-title{font-size:.71rem!important;line-height:1.35!important;
 letter-spacing:.1em!important;font-weight:750!important;}
.kw-desk-nav button{font-family:var(--kw-type-body)!important;
 font-size:.82rem!important;line-height:1.38!important;
 font-weight:600!important;letter-spacing:-.008em!important;}
.kw-desk-top-title{font-family:var(--kw-type-body)!important;font-weight:700!important;font-size:.84rem!important;}
.kw-desk-top-title small{font-size:.77rem!important;font-weight:450!important;}
.kw-desk-page-head .eyebrow{font-size:.72rem!important;letter-spacing:.11em!important;
 font-weight:750!important;line-height:1.35!important;}
.kw-desk-page-head h1{font-family:var(--kw-type-display)!important;
 font-size:clamp(1.65rem,2.3vw,2.2rem)!important;
 font-weight:800!important;letter-spacing:-.045em!important;line-height:1.16!important;}
.kw-desk-page-head p{font-size:.85rem!important;line-height:1.58!important;
 color:#627487!important;max-width:75ch;}
.kw-desk-stat-title{font-size:.78rem!important;font-weight:650!important;letter-spacing:-.01em!important;line-height:1.35!important;}
.kw-desk-stat-number{font-family:var(--kw-type-display)!important;
 font-size:clamp(1.6rem,2.17vw,2.1rem)!important;
 font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
 font-weight:800!important;letter-spacing:-.05em!important;line-height:1.15!important;}
.kw-desk-stat-foot{font-size:.76rem!important;line-height:1.48!important;letter-spacing:normal!important;}
.kw-desk-block-header h2{font-family:var(--kw-type-display)!important;
 font-size:1.06rem!important;line-height:1.32!important;font-weight:750!important;
 letter-spacing:-.025em!important;}
.kw-desk-block-header p{font-size:.79rem!important;line-height:1.53!important;letter-spacing:normal!important;}
.kw-desk-table th{font-size:.75rem!important;line-height:1.4!important;font-weight:700!important;letter-spacing:.015em!important;}
.kw-desk-table td{font-size:.78rem!important;line-height:1.5!important;letter-spacing:normal!important;}
.kw-desk-table td strong{font-weight:700!important;}
.kw-desk-badge{font-size:.68rem!important;line-height:1.3!important;
 letter-spacing:.005em!important;font-weight:700!important;}
.kw-desk-action b{font-size:.82rem!important;line-height:1.38!important;font-weight:700!important;}
.kw-desk-action p{font-size:.75rem!important;line-height:1.56!important;}
.kw-desk-action a,.kw-desk-action button,.kw-desk-block-header button,.kw-desk-block-header a{
 font-size:.76rem!important;line-height:1.4!important;font-weight:700!important;}
.kw-desk-btn{font-family:var(--kw-type-body)!important;font-size:.81rem!important;
 font-weight:680!important;line-height:1.25!important;letter-spacing:-.01em!important;}
.kw-desk-empty{font-size:.86rem!important;line-height:1.7!important;}
.kw-desk-empty b{font-family:var(--kw-type-display)!important;font-size:.95rem!important;line-height:1.4!important;font-weight:750!important;}
.kw-desk-chart-legend,.kw-desk-chart-note{font-size:.77rem!important;line-height:1.4!important;}
.kw-desk-search input,.kw-desk-filter,.kw-desk-select{font-size:.82rem!important;line-height:1.45!important;}
.kw-desk-setting b{font-size:.88rem!important;font-weight:700!important;line-height:1.36!important;}
.kw-desk-setting small{font-size:.77rem!important;line-height:1.52!important;}
.kw-desk-pipeline-step small{font-size:.74rem!important;line-height:1.34!important;font-weight:600!important;}
.kw-desk-pipeline-step strong{font-family:var(--kw-type-display)!important;font-variant-numeric:tabular-nums;font-weight:800!important;}
.kw-ops-dialog{font-family:var(--kw-type-body)!important;font-size:.85rem!important;line-height:1.56!important;}
.kw-ops-dialog-head h2{font-family:var(--kw-type-display)!important;font-size:1.45rem!important;
 letter-spacing:-.04em!important;line-height:1.18!important;font-weight:800!important;}
.kw-ops-info small,.kw-ops-form label{font-size:.76rem!important;line-height:1.4!important;}
.kw-ops-info strong{font-size:.85rem!important;line-height:1.42!important;}
.kw-ops-form input{font-family:var(--kw-type-body)!important;font-size:.87rem!important;line-height:1.5!important;}
.kw-ops-notes p,.kw-ops-notes li{font-size:.84rem!important;line-height:1.62!important;}
/* Secure inventory editor and login use the same typographic rules. */
.login-art h1{font-family:var(--kw-type-display)!important;
 font-size:clamp(2rem,3.5vw,3.3rem)!important;
 line-height:1.11!important;letter-spacing:-.052em!important;font-weight:800!important;}
.login-art p,.login-form-wrap .sub{font-size:.95rem!important;line-height:1.65!important;}
.login-form-wrap h2{font-family:var(--kw-type-display)!important;
 font-size:clamp(1.5rem,2.1vw,1.95rem)!important;letter-spacing:-.042em!important;font-weight:800!important;}
.login-form-wrap label,.editor-fields label{font-size:.83rem!important;line-height:1.43!important;font-weight:650!important;}
.login-form-wrap input,.editor-fields input,.editor-fields textarea,.editor-fields select{font-size:.91rem!important;line-height:1.5!important;}
.kw-secure-dashboard .heading h1{font-size:clamp(1.65rem,2.4vw,2.2rem)!important;
 font-family:var(--kw-type-display)!important;letter-spacing:-.045em!important;line-height:1.15!important;}
.kw-secure-dashboard .list-top h2,.kw-secure-dashboard .editor-top h2{
 font-size:1.17rem!important;font-weight:750!important;line-height:1.35!important;letter-spacing:-.03em!important;}
.kw-secure-dashboard .summary strong{font-family:var(--kw-type-display)!important;
 font-size:1.9rem!important;font-weight:800!important;font-variant-numeric:tabular-nums;}
.kw-secure-dashboard .summary>span{font-size:.73rem!important;letter-spacing:.085em!important;}
.kw-secure-dashboard .summary small,.kw-secure-dashboard .list-top p,
.kw-secure-dashboard .editor-top p,.kw-secure-dashboard .heading p{font-size:.83rem!important;line-height:1.57!important;}
.kw-secure-dashboard .button{font-size:.81rem!important;font-weight:680!important;letter-spacing:-.006em!important;}
@media(max-width:760px){
 :root{--kw-type-hero:clamp(2.08rem,7.4vw,3.06rem);--kw-type-section:clamp(1.34rem,5vw,1.75rem);
 --kw-type-page:clamp(1.95rem,6.6vw,2.65rem);}
 .kw-hcopy h1,.kw-service-content h1{font-size:var(--kw-type-hero)!important;line-height:1.09!important;}
 .kw-hcopy>p,.kw-service-content>p{font-size:.88rem!important;line-height:1.58!important;max-width:38ch;}
 .kw-overline,.kw-editorial-eyebrow{font-size:.73rem!important;}
 .kws-retail-header .kws-brand{font-size:clamp(1.25rem,5.5vw,1.46rem)!important;}
 .kws-product-card .kws-item-name{font-size:clamp(.9rem,3.85vw,1.07rem)!important;
  line-height:1.33!important;letter-spacing:-.022em!important;}
 .kws-product-card .kws-item-sub,.kws-product-card .kws-item-condition{
  font-size:.74rem!important;line-height:1.45!important;}
 .kws-product-card .kws-item-choices,.kws-product-card .kws-item-stock{font-size:.73rem!important;line-height:1.44!important;}
 .kws-product-card .kws-item-price{font-size:clamp(1.08rem,4.55vw,1.24rem)!important;}
 .kws-product-card .kws-item-status{font-size:.73rem!important;line-height:1.4!important;}
 .kws-filter-pill,.kws-filter-dropdown>summary{font-size:.78rem!important;}
 .kg-category-label{font-size:.96rem!important;line-height:1.38!important;font-weight:530!important;}
 .kw-desk-page-head h1{font-size:clamp(1.6rem,6vw,1.95rem)!important;}
 .kw-desk-stat-number{font-size:clamp(1.43rem,5.2vw,1.85rem)!important;}
 .kw-desk-table td,.kw-desk-table th{font-size:.78rem!important;}
 .kw-desk-nav button{font-size:.82rem!important;}
}
@media(max-width:365px){
 .kws-retail-header .kws-brand{font-size:1.22rem!important}
 .kws-product-card .kws-item-name{font-size:.9rem!important}
 .kws-product-card .kws-item-sub{font-size:.72rem!important}
 .kw-desk-stat-number{font-size:1.48rem!important}
}
