:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:#152d31;background:#fff}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}.wrap{max-width:1190px;margin:auto;padding:0 26px}header{border-bottom:1px solid #e5eeee;background:#fff}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{font-weight:900;font-size:23px;letter-spacing:2px}.brand img{max-width:200px;max-height:65px;object-fit:contain}.nav nav{display:flex;gap:30px;font-weight:600;font-size:13px}.nav nav a:hover{color:#008c89}.hero{background:#eaf4f2}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:490px;align-items:center;gap:50px}.hero h1{font-size:clamp(38px,5vw,66px);line-height:1.06;letter-spacing:-2px;max-width:570px;margin:22px 0}.hero p{font-size:17px;line-height:1.8;max-width:500px;color:#536d6d}.hero small,main small{font-size:11px;font-weight:800;letter-spacing:2px;color:#008783}.btn{display:inline-block;background:#087b78;color:#fff;padding:15px 23px;margin-top:20px;font-size:13px;font-weight:800}.btn.alt{background:#153f41}.hero-img{min-height:360px;display:grid;place-items:center}.hero-img img{width:100%;max-height:420px;object-fit:contain}.hero-text{font-weight:900;font-size:clamp(50px,7vw,105px);line-height:.9;letter-spacing:-5px;color:#167f7c;transform:rotate(-6deg)}.section{padding-top:80px;padding-bottom:80px}.section h1,.section h2{font-weight:800;letter-spacing:-1px}.section h1{font-size:44px}.section h2{font-size:36px;margin:12px 0 28px}.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cats a{background:#f1f5f5;padding:29px 22px;font-size:17px;font-weight:800;display:flex;justify-content:space-between;align-items:center}.cats span{color:#0c928d}.tint{background:#f6f8f8}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:white;border:1px solid #e8eeee}.photo{aspect-ratio:4/3;background:#f4f7f7;padding:15px;display:grid;place-items:center}.photo img{width:100%;height:100%;object-fit:contain}.card-body{padding:20px}.card-body h3{font-size:18px;line-height:1.4;min-height:50px}.card-body span{color:#007c78;font-weight:800;font-size:12px}.about{display:grid;grid-template-columns:1fr 1fr;gap:60px}.about p,.content p{line-height:1.9;color:#587174}.listing{display:grid;grid-template-columns:235px minmax(0,1fr);gap:35px;margin-top:40px}.listing aside{display:flex;flex-direction:column;gap:16px}.listing aside a{font-size:13px}.listing aside a:hover{color:#008783}.search{display:flex;gap:8px}.search input{flex:1;padding:12px;border:1px solid #d9e4e5}.search button{padding:12px 20px;border:0;background:#0b7774;color:white}.detail{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:35px}.large-photo{height:470px;background:#f5f8f8;padding:20px;display:grid;place-items:center}.large-photo img{max-width:100%;max-height:100%;object-fit:contain}.thumbs{display:flex;gap:10px;overflow-x:auto;margin-top:12px}.thumbs button{flex:0 0 86px;width:86px;height:78px;border:0;background:#f5f8f8;padding:5px}.thumbs button.active{box-shadow:inset 0 -3px 0 #0a8581}.thumbs img{width:100%;height:100%;object-fit:contain}.detail h1{font-size:35px;line-height:1.2}.description{white-space:pre-line;line-height:1.8;color:#52696e;font-size:14px}.detail dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail dt,.detail dd{margin:0;border-bottom:1px solid #e4ebeb;padding:9px;font-size:13px}.detail dt{font-weight:800}.content{max-width:850px;min-height:65vh}.content p{white-space:pre-line}footer{background:#102d32;color:#d7e6e7}.foot{display:flex;align-items:center;justify-content:space-between;min-height:130px;gap:20px}.foot a{font-size:12px}@media(max-width:800px){.hero-grid,.detail,.about,.listing{grid-template-columns:1fr}.hero-grid{padding-top:55px;padding-bottom:55px}.cats,.cards{grid-template-columns:repeat(2,1fr)}.nav{flex-wrap:wrap;padding-top:15px;padding-bottom:15px}.nav nav{gap:14px;flex-wrap:wrap}.section{padding-top:48px;padding-bottom:48px}}@media(max-width:520px){.cats,.cards{grid-template-columns:1fr}.hero h1{letter-spacing:-1px}.large-photo{height:330px}}

/* Karee Fitness v03 — calm, editorial product detail */
.kf-product-page{background:#fff;color:#172f31}.kf-product-page .wrap{max-width:1240px}.kf-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#819092;font-size:12px;padding:26px 0 22px}.kf-breadcrumb a:hover{color:#007e7a}.kf-breadcrumb [aria-current]{color:#3d5557}.kf-product-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4.4vw,70px);align-items:start;padding:8px 0 72px}.kf-gallery{min-width:0;max-width:100%}.kf-gallery-stage{position:relative;width:100%;aspect-ratio:1/1;max-height:650px;min-height:0;background:#f6f8f8;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.kf-gallery-stage>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;min-width:0;min-height:0}.kf-expand{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:8px;border:1px solid #e3e9e9;background:#fff;color:#2b4749;padding:10px 14px;font:600 12px inherit;cursor:pointer;box-shadow:0 3px 15px #173c4012}.kf-expand:hover{border-color:#0a817c}.kf-thumb-rail{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scroll-snap-type:x proximity;padding:14px 0 6px;max-width:100%;position:relative;z-index:0}.kf-thumb{flex:0 0 90px;width:90px;height:90px;min-width:0;border:1px solid transparent;background:#f6f8f8;padding:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;overflow:hidden;transition:border-color .2s}.kf-thumb:hover{border-color:#b2c8c7}.kf-thumb.active{border-color:#087c78}.kf-thumb img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block}.kf-gallery-count{margin:6px 0 0;color:#879597;font-size:11px}.kf-product-intro{padding:22px 0}.kf-overline,.kf-section-heading>span{display:block;color:#07817d;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.kf-product-intro h1{font-size:clamp(30px,3.1vw,48px);line-height:1.18;letter-spacing:-1.2px;margin:17px 0 18px;font-weight:800;overflow-wrap:anywhere}.kf-sku{font-size:13px;color:#8a9698}.kf-summary{font-size:16px;line-height:1.9;color:#597074;white-space:pre-line;margin:24px 0}.kf-intro-divider{border-top:1px solid #e4ebea;margin:28px 0}.kf-intro-facts{display:grid;gap:20px}.kf-intro-facts div{display:grid;gap:7px}.kf-intro-facts span{font-size:10px;letter-spacing:1.3px;color:#8a9999;font-weight:800}.kf-intro-facts strong{font-size:14px;font-weight:600;color:#284448}.kf-outline-link{display:inline-flex;gap:20px;align-items:center;color:#087d79;border-bottom:1px solid #087d79;padding:12px 0;margin-top:28px;font-size:13px;font-weight:800}.kf-page-sections{border-top:1px solid #e6eceb}.kf-section-nav{display:flex;flex-wrap:wrap;gap:30px;border-bottom:1px solid #e6eceb;padding:18px 0;position:relative;background:white}.kf-section-nav a{font-size:13px;font-weight:700;color:#52696c}.kf-section-nav a:hover{color:#07817d}.kf-section{padding:72px 0;border-bottom:1px solid #e6eceb;scroll-margin-top:30px}.kf-section-heading{margin-bottom:28px;max-width:730px}.kf-section-heading h2{font-size:clamp(27px,3vw,38px);letter-spacing:-.7px;line-height:1.2;margin:13px 0}.kf-section-heading p{font-size:15px;line-height:1.8;color:#738587}.kf-long-description{max-width:840px;font-size:15px;line-height:2;color:#4d6467;white-space:pre-line;overflow-wrap:anywhere}.kf-long-description p{margin:0 0 19px}.kf-description-pending{font-size:14px;line-height:1.9;color:#708184}.kf-spec-table{max-width:920px;border-top:1px solid #e6eceb}.kf-spec-row{display:grid;grid-template-columns:minmax(140px,30%) minmax(0,1fr);border-bottom:1px solid #e6eceb;font-size:14px;line-height:1.7}.kf-spec-label{background:#f7f9f9;font-weight:700;padding:17px 22px;color:#355154}.kf-spec-value{padding:17px 22px;white-space:pre-line;overflow-wrap:anywhere;color:#587073}.kf-related{padding:76px 0 90px}.kf-related .cards{grid-template-columns:repeat(4,minmax(0,1fr))}.kf-related .card-body h3{font-size:15px}.kf-image-dialog{border:0;box-shadow:0 25px 100px #102f3555;background:#fff;padding:38px;max-width:min(94vw,1100px);max-height:94vh}.kf-image-dialog::backdrop{background:#0e252ac9}.kf-image-dialog img{display:block;max-width:100%;max-height:calc(90vh - 76px);object-fit:contain}.kf-dialog-close{position:absolute;right:5px;top:5px;background:white;border:0;font-size:30px;line-height:1;cursor:pointer;width:34px;height:34px;color:#28494b}
@media(max-width:850px){.kf-product-hero{grid-template-columns:1fr;gap:22px;padding-bottom:46px}.kf-product-intro{padding:6px 0}.kf-gallery-stage{max-height:610px}.kf-related .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-section{padding:52px 0}}
@media(max-width:520px){.kf-breadcrumb{padding:18px 0;font-size:11px}.kf-gallery-stage{aspect-ratio:1/1;padding:10px}.kf-thumb-rail{gap:8px;padding-top:10px}.kf-thumb{flex-basis:70px;width:70px;height:70px}.kf-product-intro h1{font-size:30px}.kf-summary{font-size:14px}.kf-section-nav{gap:16px}.kf-section-nav a{font-size:12px}.kf-section{padding:42px 0}.kf-spec-row{grid-template-columns:minmax(100px,36%) minmax(0,1fr);font-size:12px}.kf-spec-label,.kf-spec-value{padding:13px}.kf-related{padding:48px 0}.kf-related .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kf-related .card-body{padding:11px}.kf-related .card-body h3{font-size:12px;min-height:0}.kf-related .card-body small{font-size:9px}}

/* v04 clean slideshow, social links and responsive navigation */
.hero{position:relative;overflow:hidden}.hero-slides{position:relative}.hero-slide{display:none}.hero-slide.is-active{display:block}.hero-dots{display:flex;gap:10px;justify-content:center;align-items:center;position:absolute;bottom:18px;left:0;right:0}.hero-dots button{width:10px;height:10px;border:0;border-radius:100%;background:#aec8c4;cursor:pointer;padding:0}.hero-dots button[aria-current="true"]{width:25px;border-radius:10px;background:#087b78}.hero-slide .hero-img img{object-fit:contain}.foot{flex-wrap:wrap;padding-top:22px;padding-bottom:22px}.foot p{font-size:12px;color:#a6c3c1}.foot-social,.foot-links{display:flex;gap:17px;flex-wrap:wrap}.foot-social a,.foot-links a{font-size:13px;color:#d7e6e7}.foot-social a:hover,.foot-links a:hover{color:#7bdbce}
@media(max-width:800px){.hero-dots{bottom:9px}.hero-grid{padding-bottom:70px}.foot{justify-content:flex-start}.nav nav{gap:17px}}
@media(max-width:520px){.nav{min-height:68px}.nav nav{width:100%;justify-content:space-between}.nav nav a{font-size:12px}.hero-grid{gap:12px}.hero-img{min-height:210px}.hero-img img{max-height:280px}}
.news-item{padding:20px 0;border-bottom:1px solid #e5eeee}.news-item img{width:100%;max-height:270px;object-fit:contain;background:#f5f8f8}.news-cover{width:100%;max-height:520px;object-fit:contain;background:#f5f8f8}

/* V05 refined product typography and community */
.kf-product-intro h1{font-size:clamp(26px,2.3vw,34px);line-height:1.3;letter-spacing:-.55px;font-weight:750}
.kf-community-teaser{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:48px;border-top:1px solid #e5eeee}
.kf-community-teaser img{width:100%;height:200px;object-fit:cover;border-radius:4px}
.kf-community-teaser p,.kf-community-lead{max-width:720px;line-height:1.8;color:#657d7f}
.kf-community h1{font-size:clamp(32px,4vw,52px);line-height:1.15;letter-spacing:-1px}
.kf-community-person{display:grid;grid-template-columns:minmax(180px,310px) minmax(0,1fr);gap:clamp(24px,5vw,75px);align-items:center;padding:56px 0;border-bottom:1px solid #e4ebea}
.kf-community-person img{width:100%;height:auto;max-height:430px;object-fit:cover;background:#f4f7f7}
.kf-community-person small{font-size:11px;letter-spacing:1.6px;color:#16837e}
.kf-community-person h2{font-size:clamp(25px,3vw,36px);margin:12px 0}
.kf-community-person p{line-height:1.9;color:#5d7477}
.kf-community-person a{color:#087d79;text-decoration:underline;text-underline-offset:5px}
.foot-contact{margin-top:12px;font-size:12px;line-height:1.5;color:#b7cece}.foot-contact p{margin:4px 0}
@media(max-width:700px){.kf-community-person,.kf-community-teaser{grid-template-columns:1fr}.kf-community-person img{max-width:300px}.kf-product-intro h1{font-size:25px}}

/* v06 full-width image carousel: the complete hero is a single slide */
.hero{background:#eaf4f2;position:relative;isolation:isolate}
.hero .hero-slides{width:100%}
.hero .hero-slide.kf-banner-slide{position:relative;width:100%;min-height:clamp(370px,35vw,620px);overflow:hidden;background:#eaf4f2}
.hero .kf-banner-image{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.hero .kf-banner-slide.with-banner-text.has-banner-image:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(12,40,42,.78) 0%,rgba(12,40,42,.46) 37%,transparent 78%);pointer-events:none}
.hero .kf-banner-content{position:relative;z-index:2;min-height:inherit;display:flex;align-items:center;padding-top:72px;padding-bottom:86px}
.hero .kf-banner-copy{max-width:640px}
.hero .has-banner-image .kf-banner-copy h1{color:#fff}
.hero .has-banner-image .kf-banner-copy p{color:#eef9f8}
.hero .has-banner-image .kf-banner-copy small{color:#b2ece4}
.hero .kf-banner-copy h1{font-size:clamp(35px,4.8vw,66px);line-height:1.12;overflow-wrap:anywhere}
.hero .kf-banner-slide.image-only .kf-banner-content{display:none}
.hero .hero-dots{z-index:5;bottom:22px}
.hero .hero-dots button{background:#d5e8e5;border:1px solid rgba(0,0,0,.06)}
.hero .hero-dots button[aria-current=true]{background:#087b78}
@media(max-width:700px){
 .hero .hero-slide.kf-banner-slide{min-height:clamp(280px,82vw,470px)}
 .hero .kf-banner-content{padding-top:44px;padding-bottom:65px;align-items:center}
 .hero .kf-banner-copy h1{font-size:clamp(28px,8vw,42px);margin:12px 0}
 .hero .kf-banner-copy p{font-size:14px;line-height:1.6}
 .hero .kf-banner-slide.with-banner-text.has-banner-image:before{background:linear-gradient(90deg,rgba(12,40,42,.79),rgba(12,40,42,.3))}
 .hero .hero-dots{bottom:13px}
}

/* v06 5-item navigation */
.nav nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:clamp(10px,2vw,26px)}
@media(max-width:700px){.nav{flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:10px}.nav nav{width:100%;justify-content:flex-start;gap:14px}.nav nav a{font-size:12px}}

/* V07 editable full-bleed banner: text overlay, alignment, color, mobile artwork */
.hero .kf-banner-picture{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:0}
.hero .kf-banner-slide.with-banner-text.has-banner-image::before{background:rgba(9,31,33,var(--banner-shade,.35))}
.hero .kf-banner-content{width:100%;justify-content:flex-start;box-sizing:border-box}
.hero .kf-banner-content.align-center{justify-content:center}
.hero .kf-banner-content.align-right{justify-content:flex-end}
.hero .kf-banner-content.valign-top{align-items:flex-start}
.hero .kf-banner-content.valign-center{align-items:center}
.hero .kf-banner-content.valign-bottom{align-items:flex-end}
.hero .kf-banner-content.align-center .kf-banner-copy{text-align:center}
.hero .kf-banner-content.align-right .kf-banner-copy{text-align:right}
.hero .kf-banner-copy{width:min(100%,640px);color:var(--banner-text,#fff)}
.hero .kf-banner-copy h1,.hero .has-banner-image .kf-banner-copy h1{font-size:clamp(28px,4.5vw,var(--banner-title-size,56px));color:inherit;line-height:1.14}
.hero .kf-banner-copy p,.hero .has-banner-image .kf-banner-copy p{color:inherit;opacity:.95}
.hero .kf-banner-copy small,.hero .has-banner-image .kf-banner-copy small{color:inherit;opacity:.85}
.hero .kf-banner-slide.image-only .kf-banner-content{display:none}
@media(max-width:700px){
 .hero .kf-banner-copy h1,.hero .has-banner-image .kf-banner-copy h1{font-size:clamp(26px,7.5vw,40px)}
 .hero .kf-banner-content{padding-left:20px;padding-right:20px}
 .hero .kf-banner-copy{max-width:100%}
}

.hero .kf-banner-slide.no-banner-image .kf-banner-copy{color:#143c3e}

/* V07.1: preserve sharp source pixels and stable banner dimensions.
   Do not apply CSS blur or upscaling transforms to banner artwork. */
.hero .kf-banner-image{image-rendering:auto;filter:none;transform:none}
.hero .kf-banner-picture{overflow:hidden}

/* V08 OEM / ODM customization */
.kf-oem{background:#123d45;color:#fff}
.kf-oem .wrap>small,.kf-oem-page>small{letter-spacing:.16em;font-weight:800;color:#8ed9d4}
.kf-oem h2{font-size:clamp(34px,4.5vw,62px);max-width:780px;line-height:1.02;margin:12px 0 18px}
.kf-oem-lead{max-width:800px;font-size:18px;line-height:1.75;color:#d8e8e9}
.kf-oem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:34px 0}
.kf-oem-grid article{padding:24px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);border-radius:8px}
.kf-oem-grid article>span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#0e7777;font-weight:900}
.kf-oem-grid h3{margin:16px 0 8px}.kf-oem-grid p{color:#d8e8e9;line-height:1.6}
.kf-oem-actions{display:flex;gap:12px;flex-wrap:wrap}.kf-oem .btn.alt{border-color:#fff;color:#fff}
.kf-oem-page h1{font-size:clamp(38px,5vw,68px);max-width:900px;line-height:1.03}
.kf-oem-page-lead{max-width:820px;font-size:19px;line-height:1.75;color:#627980}
.kf-oem-page .kf-oem-grid article{background:#f4f9f9;border-color:#dce8e9;color:#163740}.kf-oem-page .kf-oem-grid p{color:#627980}
.kf-oem-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:26px 0 38px}.kf-oem-steps div{padding:20px;border-top:2px solid #0e7d7d}.kf-oem-steps b{display:block;color:#0e7d7d;font-size:13px;margin-bottom:10px}.kf-oem-steps span{font-weight:750}
@media(max-width:900px){.kf-oem-grid{grid-template-columns:repeat(2,1fr)}.kf-oem-steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.kf-oem-grid,.kf-oem-steps{grid-template-columns:1fr}.kf-oem h2{font-size:36px}}

/* V08.1 homepage rhythm */
.kf-oem{padding:64px 0}
.kf-oem h2{font-size:clamp(32px,3.6vw,50px);max-width:760px;margin:10px 0 14px;line-height:1.04}
.kf-oem-lead{font-size:16px;line-height:1.65;max-width:760px;margin-bottom:0}
.kf-oem-grid{gap:12px;margin:26px 0 24px}
.kf-oem-grid article{padding:18px 20px;min-height:0}
.kf-oem-grid article>span{width:24px;height:24px;font-size:13px}
.kf-oem-grid h3{margin:12px 0 6px;font-size:17px}
.kf-oem-grid p{font-size:14px;line-height:1.5;margin:0}
.kf-oem-actions{margin-top:4px}
.kf-home-about{padding-top:62px;padding-bottom:62px;align-items:start}
.kf-home-about small{letter-spacing:.14em;font-weight:800;color:#0e7d7d}
.kf-home-about h2{font-size:clamp(28px,3vw,42px);line-height:1.08;margin:10px 0 0;max-width:610px}
.kf-home-about>div:last-child{padding-top:25px}
.kf-home-about p{font-size:16px;line-height:1.7;max-width:600px;color:#526d74}
@media(max-width:900px){.kf-oem{padding:52px 0}.kf-oem-grid{grid-template-columns:repeat(2,1fr)}.kf-home-about{padding-top:48px;padding-bottom:48px}}
@media(max-width:560px){.kf-oem{padding:44px 0}.kf-oem h2{font-size:34px}.kf-oem-grid{grid-template-columns:1fr;margin:22px 0}.kf-oem-grid article{padding:16px 18px}.kf-home-about{padding-top:42px;padding-bottom:42px}}

/* V09 responsive homepage sections */
.kf-home-news{padding-top:64px;padding-bottom:64px}
.kf-home-contact{background:#0d8b86;color:#fff;padding:64px 0}
.kf-home-contact h2{font-size:clamp(30px,4vw,50px);max-width:760px;margin:8px 0 12px}.kf-home-contact p{font-size:17px;max-width:700px}.kf-home-contact .btn{margin-top:12px;background:#fff;color:#123f46}
.kf-custom-section{padding-top:58px;padding-bottom:58px}.kf-custom-section h2{font-size:clamp(28px,3.5vw,44px)}
@media(max-width:700px){
 .hero,.hero-slides,.hero-slide{min-height:390px}
 .kf-banner-image{width:100%;height:100%;object-fit:cover}
 .kf-banner-content{padding-top:44px;padding-bottom:44px}
 .kf-banner-copy h1{font-size:clamp(32px,10vw,46px)!important}
 .kf-home-contact,.kf-home-news,.kf-custom-section{padding-top:46px;padding-bottom:46px}
}

.social-icon-link{display:inline-flex!important;align-items:center;gap:7px}.social-icon-link svg,.contact-item svg{width:19px;height:19px;flex:0 0 19px}.contact-item{display:flex;align-items:flex-start;gap:10px}.foot-social .social-icon-link span{font-size:13px}

/* V11 arbitrary Specifications table */
.kf-spec-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #dce6e8;border-radius:8px}
.kf-spec-grid{width:100%;border-collapse:collapse;min-width:max-content;background:#fff}
.kf-spec-grid th,.kf-spec-grid td{padding:14px 16px;border-right:1px solid #e5ecee;border-bottom:1px solid #e5ecee;text-align:left;vertical-align:top;min-width:130px}
.kf-spec-grid th{background:#f1f7f7;color:#173c43;font-weight:750}.kf-spec-grid tr:last-child td{border-bottom:0}.kf-spec-grid th:last-child,.kf-spec-grid td:last-child{border-right:0}

/* V11RE preserve manual line breaks in Specifications */
.kf-spec-grid th,.kf-spec-grid td{white-space:pre-wrap;overflow-wrap:anywhere}

/* R4.1: square product assets => square product cards, zero additional padding.
   Product cards only; do not change news/editorial cards or Banner artwork. */
a.card[href^="/products/"] .photo{
  aspect-ratio:1 / 1;
  width:100%;
  padding:0;
  margin:0;
  display:block;
  overflow:hidden;
  background:#fff;
}
a.card[href^="/products/"] .photo img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
}
/* The full-sized product detail is also a square artwork on a square stage. */
.kf-product-page .kf-gallery-stage{
  aspect-ratio:1 / 1;
  padding:0;
  max-height:none;
}
.kf-product-page .kf-gallery-stage>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}
.kf-product-page .kf-thumb{padding:0}
.kf-product-page .kf-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}

/* FINAL-R5: lean editable homepage sections + rendering performance */
.kf-config-section{
  background:var(--sec-bg,#fff)!important;
  color:var(--sec-text,#152d31)!important;
  font-family:var(--sec-font,Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif)!important;
  padding-top:var(--sec-pad,64px)!important;
  padding-bottom:var(--sec-pad,64px)!important;
  min-height:var(--sec-min,0)!important;
}
.kf-config-section h1,.kf-config-section h2{font-size:var(--sec-heading,36px)!important;color:inherit!important;line-height:1.12}
.kf-config-section p{font-size:var(--sec-body,16px);color:inherit!important;opacity:.78}
.kf-config-section small{color:inherit!important;opacity:.72}
main>.kf-config-section:not(.hero){content-visibility:auto;contain-intrinsic-size:auto 680px}
.hero.kf-config-section{padding:0!important}
.hero.kf-config-section .hero-slide{min-height:var(--sec-min,0)}
.kf-home-products .card,.kf-home-categories .cats a{font-family:inherit}
.kf-section-intro{max-width:760px;margin:-10px 0 30px;line-height:1.75}
.kf-community-teaser{display:block!important;border-top:0!important}
.kf-community-teaser-inner{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:48px}
.kf-community-teaser-inner img{width:100%;aspect-ratio:1/1;height:auto!important;object-fit:cover;border-radius:4px}
.kf-image-text-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:clamp(30px,6vw,80px);align-items:center}
.kf-image-text-inner p,.kf-simple-text p{max-width:760px;line-height:1.8;white-space:pre-line}
.kf-image-text-inner img{width:100%;aspect-ratio:1/1;object-fit:contain;display:block}
@media(max-width:800px){
 .kf-config-section{padding-top:min(var(--sec-pad,48px),64px)!important;padding-bottom:min(var(--sec-pad,48px),64px)!important}
 .kf-community-teaser-inner,.kf-image-text-inner{grid-template-columns:1fr}
 .kf-community-teaser-inner img{max-width:320px}
}


/* R5.2 banner geometry: preserve the full 2006x784 / 1920x750 artwork on desktop.
   No fixed low banner crop; section follows the artwork ratio. */
@media (min-width:701px){
  .hero .hero-slide.kf-banner-slide{
    min-height:var(--sec-min,0px)!important;
    aspect-ratio:2.56 / 1;
  }
  .hero .kf-banner-picture{
    display:flex;
    align-items:center;
    justify-content:center;
    background:inherit;
  }
  .hero .kf-banner-image{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center;
  }
}
@media (max-width:700px){
  .hero .hero-slide.kf-banner-slide{min-height:max(320px,var(--sec-min,0px))!important}
  .hero .kf-banner-image{object-fit:contain!important;background:inherit}
}


/* R5.3 product detail images: preserve every source image's natural aspect ratio.
   No square crop and no artificial height cap for long detail images. */



/* R5.7: detail content images always render from the uploaded original at natural aspect ratio. */




/* FINAL-R5.18 — product-detail layout + speed closeout */
.kf-product-page .wrap{max-width:1180px}
.kf-product-hero{
  grid-template-columns:minmax(0,1.04fr) minmax(340px,.86fr);
  gap:clamp(38px,5vw,68px);
  padding:4px 0 58px;
}
.kf-product-intro{padding:18px 0 0;max-width:470px}
.kf-product-intro h1{margin:14px 0 14px;font-size:clamp(28px,2.6vw,38px);line-height:1.22}
.kf-summary{margin:18px 0 22px;line-height:1.75}
.kf-intro-divider{margin:22px 0}
.kf-intro-facts{gap:15px}
.kf-product-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.kf-product-actions .btn{margin:0;padding:14px 20px}
.kf-product-secondary{display:inline-flex;align-items:center;min-height:43px;padding:0 17px;border:1px solid #bfd0cf;color:#214b4d;font-size:13px;font-weight:800}
.kf-product-secondary:hover{border-color:#087d79;color:#087d79}
.kf-outline-link{margin-top:20px}
.kf-page-sections{max-width:1040px;margin:0 auto}
.kf-section-nav{gap:26px;padding:15px 0}
.kf-section{padding:54px 0;content-visibility:auto;contain-intrinsic-size:600px}
.kf-section-heading{margin-bottom:20px}
.kf-section-heading h2{font-size:clamp(25px,2.5vw,34px);margin:9px 0}
.kf-long-description{max-width:900px;font-size:15px;line-height:1.86;color:#455f62}
.kf-long-description p{margin:0 0 14px}
.kf-spec-scroll{max-width:100%;border-color:#e2eaea;border-radius:4px}
.kf-spec-grid th,.kf-spec-grid td{padding:13px 17px;line-height:1.55}
.kf-spec-grid th{background:#edf5f4}



.kf-deferred-frame{min-height:min(68vw,680px);display:flex!important;align-items:center;justify-content:center}
.kf-deferred-frame.is-loaded{min-height:0}
.kf-deferred-detail:not([src]){visibility:hidden}
.kf-product-oem{
  margin:58px 0 12px;
  padding:38px 42px;
  background:#103f40;
  color:#fff;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:34px;
}
.kf-product-oem span{display:block;font-size:10px;font-weight:800;letter-spacing:1.8px;color:#91d1ce}
.kf-product-oem h2{margin:9px 0 10px;font-size:clamp(25px,2.7vw,36px);line-height:1.15}
.kf-product-oem p{margin:0;max-width:660px;line-height:1.7;color:#d8e7e6}
.kf-product-oem-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:190px}
.kf-product-oem-actions .btn{margin:0;text-align:center;background:#fff;color:#123f40}
.kf-oem-text-link{text-align:center;font-size:12px;font-weight:800;color:#d8eeee}
.kf-related{padding:54px 0 72px;content-visibility:auto;contain-intrinsic-size:500px}
.kf-related .photo{background:#fff}

@media(max-width:850px){
 .kf-product-hero{grid-template-columns:1fr;gap:24px;padding-bottom:38px}
 .kf-product-intro{max-width:none}
 .kf-page-sections{max-width:none}
 .kf-product-oem{grid-template-columns:1fr;padding:30px 26px;margin-top:44px}
 .kf-product-oem-actions{align-items:flex-start;min-width:0}
 .kf-oem-text-link{text-align:left}
 .kf-deferred-frame{min-height:72vw}
}
@media(max-width:520px){
 .kf-section{padding:38px 0}
 .kf-product-actions{align-items:stretch}
 .kf-product-actions .btn,.kf-product-secondary{justify-content:center;text-align:center}
 .kf-product-oem{padding:25px 20px}
 .kf-deferred-frame{min-height:78vw}
}

/* FINAL-R5.19 — product hero action polish */
.kf-product-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  width:min(100%,430px);
  margin-top:24px;
}
.kf-product-actions .btn,
.kf-product-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin:0;
  padding:0 18px;
  border-radius:3px;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.05px;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.kf-product-actions .btn{
  background:#087f7b;
  border:1px solid #087f7b;
  color:#fff;
  box-shadow:0 6px 18px rgba(8,127,123,.12);
}
.kf-product-actions .btn:hover{
  background:#076f6c;
  border-color:#076f6c;
  transform:translateY(-1px);
}
.kf-product-secondary{
  background:#fff;
  border:1px solid #c4d3d2;
  color:#234a4c;
}
.kf-product-secondary:hover{
  background:#f4f8f7;
  border-color:#789f9d;
  color:#087f7b;
  transform:translateY(-1px);
}
.kf-outline-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:auto;
  margin-top:18px;
  padding:5px 0;
  border:0;
  color:#607779;
  font-size:12px;
  font-weight:700;
  letter-spacing:.1px;
}
.kf-outline-link span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border:1px solid #d5e1e0;
  border-radius:50%;
  color:#087f7b;
  font-size:13px;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.kf-outline-link:hover{color:#087f7b}
.kf-outline-link:hover span{
  transform:translateY(2px);
  border-color:#9bbab8;
  background:#f3f8f7;
}
@media(max-width:520px){
  .kf-product-actions{grid-template-columns:1fr;width:100%}
  .kf-product-actions .btn,.kf-product-secondary{width:100%}
}

/* R5.20 — product gallery thumbnail carousel */
.kf-thumb-carousel{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:10px;align-items:center;margin-top:12px}
.kf-thumb-carousel .kf-thumb-rail{margin-top:0;padding:2px 0 6px;scrollbar-width:none}
.kf-thumb-carousel .kf-thumb-rail::-webkit-scrollbar{display:none}
.kf-thumb-nav{width:38px;height:72px;border:1px solid #dce7e6;background:#fff;color:#315456;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.18s ease}
.kf-thumb-nav:hover{border-color:#0a817c;color:#087d79;background:#f6fbfa}
@media(max-width:720px){.kf-thumb-carousel{grid-template-columns:minmax(0,1fr);gap:0}.kf-thumb-nav{display:none}.kf-thumb-carousel .kf-thumb-rail{padding-inline:0}}

/* R5.22 — compact frameless product-gallery navigation */
.kf-thumb-carousel{
  grid-template-columns:28px minmax(0,1fr) 28px;
  gap:6px;
}
.kf-thumb-nav{
  width:28px;
  height:36px;
  min-width:28px;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0;
  color:#315456;
  font-size:24px;
  line-height:1;
  border-radius:0;
  opacity:.82;
}
.kf-thumb-nav:hover{
  border:0 !important;
  background:transparent !important;
  color:#087d79;
  opacity:1;
  transform:scale(1.06);
}
.kf-thumb-nav:focus-visible{
  outline:2px solid #0a817c;
  outline-offset:3px;
  border-radius:999px;
}
@media(max-width:720px){
  .kf-thumb-carousel{grid-template-columns:minmax(0,1fr);gap:0}
  .kf-thumb-nav{display:none}
}


/* R5.24 — Product Overview rich list formatting */
.kf-rich-description{white-space:normal}.kf-long-description ul,.kf-long-description ol{margin:6px 0 20px;padding-left:26px}.kf-long-description li{margin:0 0 14px;padding-left:3px;line-height:1.75}.kf-long-description li::marker{color:#173f41}.kf-long-description strong{font-weight:800;color:#20383b}.kf-long-description em{font-style:italic}.kf-long-description p+ul,.kf-long-description p+ol{margin-top:4px}@media(max-width:520px){.kf-long-description ul,.kf-long-description ol{padding-left:21px}.kf-long-description li{margin-bottom:11px}}

/* R5.29: compact product-list search aligned with product count */
.kf-listing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;min-width:0}
.kf-product-count{margin:0;font-size:15px;font-weight:600;color:#243e40}
.kf-listing-search{width:min(100%,300px);flex:0 1 300px;display:flex;align-items:stretch;gap:0;border:1px solid #d9e4e5;border-radius:5px;background:#fff;overflow:hidden}
.kf-listing-search:focus-within{border-color:#087b78;box-shadow:0 0 0 2px #087b781a}
.kf-listing-search input[type=search]{min-width:0;width:100%;flex:1;border:0;outline:0;padding:10px 12px;font:inherit;font-size:13px;background:transparent}
.kf-listing-search button{display:grid;place-items:center;flex:0 0 42px;padding:0;border:0;background:transparent;color:#087b78;cursor:pointer}
.kf-listing-search button:hover{background:#eff7f6}
@media(max-width:600px){.kf-listing-toolbar{flex-direction:column;align-items:stretch;gap:12px}.kf-listing-search{flex:0 0 auto;width:100%}}

/* R5.30: one predictable detail-image width; preserves the original aspect ratio. */
.kf-detail-image-list{display:block;width:100%;max-width:1000px;margin:0 auto}
.kf-detail-image-list figure{display:block;width:100%;height:auto;margin:0 0 18px;background:transparent;overflow:visible}
.kf-detail-image-list figure img{display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain;aspect-ratio:auto;margin:0 auto}
.kf-detail-image-list .kf-deferred-frame{width:100%;}
.kf-detail-image-list .kf-deferred-frame.is-loaded{min-height:0}

/* R5.31: product search aligns with a single product card on desktop. */
@media(min-width:601px){.kf-listing-search{width:min(100%,270px);flex:0 1 270px}}
/* R5.31: visible feedback for a delayed or failed detail image. */
.kf-detail-image-list .kf-deferred-frame{position:relative}
.kf-detail-image-list .kf-deferred-frame.is-slow,.kf-detail-image-list .kf-deferred-frame.is-error{min-height:120px}
.kf-image-retry{display:block;margin:24px auto;padding:11px 18px;border:1px solid #cadbd9;border-radius:5px;color:#246a66;background:#fff;font:600 13px inherit;cursor:pointer}
.kf-image-retry:hover{background:#edf7f6}

/* R5.38: compact, mobile-friendly contact methods and optional QR codes. */
.kf-contacts{display:flex;flex-direction:column;gap:32px;margin:24px 0 5px}
.kf-contacts section h2{font-size:19px;margin:0 0 14px;color:#224649}
.kf-contact-direct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}
.kf-contact-method{display:flex;gap:11px;align-items:center;min-width:0;padding:15px;border:1px solid #dfe9ea;border-radius:8px;background:#fff}
.kf-contact-method svg,.kf-contact-qr-name svg{width:22px!important;height:22px!important;flex:0 0 22px!important;color:#168c87}
.kf-contact-method-text{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:13px}
.kf-contact-method-text strong{font-size:14px;color:#25484b}
.kf-contact-method-text span{overflow-wrap:anywhere;color:#567275}
.kf-contact-qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,280px));justify-content:start;gap:16px}
.kf-contact-qr-card{border:1px solid #dfe9ea;border-radius:10px;padding:18px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:11px}
.kf-contact-qr-name{display:flex;align-items:center;gap:8px;font-size:15px;color:#24494c}
.kf-contact-qr-image{display:flex;align-items:center;justify-content:center;border:1px solid #e7eded;border-radius:7px;padding:7px;background:#fff}
.kf-contact-qr-image img{width:144px;height:144px;object-fit:contain;display:block}
.kf-contact-qr-bottom{font-size:12px;text-align:center;overflow-wrap:anywhere}
.kf-contact-qr-bottom a{color:#157e7a;text-decoration:underline}
.kf-brand-whatsapp{color:#25d366!important}.kf-brand-wechat{color:#07c160!important}.kf-brand-telegram{color:#229ed9!important}
@media(max-width:600px){.kf-contacts{gap:24px}.kf-contact-direct-grid{grid-template-columns:1fr}.kf-contact-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kf-contact-qr-card{padding:12px 7px}.kf-contact-qr-image img{width:min(35vw,130px);height:min(35vw,130px)}}
/* Keep short spec values compact; long text is readable on demand. */
.kf-spec-grid th,.kf-spec-grid td{min-width:130px;max-width:360px;vertical-align:middle;overflow-wrap:break-word;word-break:normal}
.kf-spec-cell-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word}
.kf-spec-grid .is-expanded .kf-spec-cell-text{-webkit-line-clamp:unset;line-clamp:unset;display:block}
.kf-spec-expand{font-size:11px;margin:5px 0 0;padding:3px 7px;color:#087f7b;border:0;background:#eff8f7;border-radius:4px;cursor:pointer}
.kf-contact-copy{margin-left:8px;padding:2px 7px;font-size:11px;border:1px solid #c5ddda;border-radius:4px;background:#f5faf9;color:#16817d;cursor:pointer}

/* R5.39 OEM homepage visual trial. Scope to homepage section only. */
section.kf-oem{background:var(--sec-bg,#0D3036)!important;color:var(--sec-text,#fff)!important}
section.kf-oem .wrap>small,section.kf-oem .kf-oem-grid article>span{color:#A9E4B5!important}
section.kf-oem .kf-oem-lead,section.kf-oem .kf-oem-grid p{color:#D0E0E1!important}
section.kf-oem .kf-oem-grid article>span{background:rgba(169,228,181,.14)}
section.kf-oem .btn:not(.alt){background:#A9E4B5;color:#103735;border-color:#A9E4B5}
section.kf-oem .btn.alt{background:transparent;color:#fff;border-color:#849fa2}


/* R5.39.1 sticky public-site header; no changes to admin UI */
/* Header stays in the document flow: no fixed-position spacer or content jump. */
body > header {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 500;
  background: #fff;
  transition: box-shadow .2s ease;
}
body > header.is-compact {
  box-shadow: 0 5px 18px rgba(14, 55, 59, .11);
}
body > header .nav {
  transition: min-height .2s ease, padding-top .2s ease, padding-bottom .2s ease;
}
body > header .brand img {
  transition: max-width .2s ease, max-height .2s ease;
}
@media (min-width: 701px) {
  body > header.is-compact .nav { min-height: 64px; }
  body > header.is-compact .brand img { max-width: 170px; max-height: 48px; }
}
@media (max-width: 700px) {
  body > header .nav nav {
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  body > header .nav nav::-webkit-scrollbar { display: none; }
  body > header .nav nav a { flex-shrink: 0; }
  body > header.is-compact .nav {
    min-height: 0;
    padding-top: 7px;
    padding-bottom: 7px;
    gap: 6px;
  }
  body > header.is-compact .brand img { max-width: 170px; max-height: 42px; }
}
/* In-page navigation must not place section headings behind the sticky header. */
html { scroll-padding-top: 110px; }
@media (max-width: 700px) { html { scroll-padding-top: 132px; } }
@media (prefers-reduced-motion: reduce) {
  body > header, body > header .nav, body > header .brand img { transition: none; }
}


/* R5.41 phase 1: live category counts, sticky desktop category navigation, mobile scroll. */
.kf-products-page .listing{align-items:start}
.kf-listing-results{min-width:0}
.kf-listing-categories{position:sticky;top:var(--kf-listing-header-offset,96px);align-self:start;min-width:0;max-height:calc(100vh - var(--kf-listing-header-offset,96px) - 16px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:8px}
.kf-listing-categories>b{display:block;font-size:15px;margin-bottom:12px}
.kf-category-links{display:flex;flex-direction:column;gap:5px}
.kf-listing-categories .kf-category-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:10px 11px;border-radius:5px;color:#40585a;font-size:13px;line-height:1.35}
.kf-listing-categories .kf-category-link:hover{background:#eef6f5;color:#087d79}
.kf-listing-categories .kf-category-link.is-active{background:#e9f6f4;color:#087d79;font-weight:800}
.kf-category-name{min-width:0;overflow-wrap:anywhere}
.kf-category-count{flex-shrink:0;padding:2px 7px;border-radius:20px;background:#f1f5f5;color:#567275;font-size:11px;font-variant-numeric:tabular-nums}
.kf-category-link.is-active .kf-category-count{background:#d4ebe7;color:#087d79}
.kf-listing-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:30px;flex-wrap:wrap}
.kf-listing-pagination:empty{display:none}
.kf-listing-pagination a{display:inline-flex;align-items:center;justify-content:center;padding:12px 26px;border:1px solid #087d79;border-radius:5px;font-size:13px;font-weight:800;color:#087d79;min-height:44px}
.kf-listing-pagination a:hover{background:#edf8f6}
.kf-listing-pagination .kf-show-more{background:#087d79;color:#fff}
.kf-listing-pagination .kf-show-more:hover{background:#076663}
.kf-listing-pagination [aria-disabled=true]{opacity:.7;cursor:progress}
.kf-listing-feedback{margin:14px 0 0;text-align:center;color:#61777a;font-size:13px}
.kf-listing-feedback[hidden]{display:none}
.kf-no-results{grid-column:1 / -1;margin:20px 0;color:#607879;font-size:14px}
@media(max-width:800px){
 .kf-products-page .listing{gap:16px}
 .kf-listing-categories{z-index:50;overflow:visible;max-height:none;background:rgba(255,255,255,.98);padding:10px 0 12px;border-bottom:1px solid #e8eeee}
 .kf-listing-categories>b{font-size:13px;margin:0 0 9px}
 .kf-category-links{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:0 0 4px}
 .kf-listing-categories .kf-category-link{flex:0 0 auto;max-width:min(68vw,290px);white-space:nowrap;border:1px solid #dce9e8;padding:8px 12px}
 .kf-category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .kf-listing-categories .kf-category-link.is-active{border-color:#abd7d2}
}

/* R5.42: trainer-owned social profiles and click-to-load YouTube, no iframe on initial render. */
.kf-person-socials{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0}
.kf-community-person .kf-person-social{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#087976;background:#f1f7f6;border:1px solid #d4e7e4;border-radius:9px;padding:8px 12px;font-weight:650;font-size:13px;line-height:1.25}
.kf-person-social svg{height:19px;width:19px;flex:none}.kf-person-social:hover{background:#e1f1ee}
.kf-person-videos{margin-top:26px}.kf-person-videos h3{font-size:19px;color:#25474a;margin:0 0 15px}
.kf-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kf-youtube-lite,.kf-video-frame{width:100%;aspect-ratio:16/9;border:0;border-radius:12px;overflow:hidden;background:#17373b}
.kf-youtube-lite{position:relative;padding:0;cursor:pointer;display:block;color:#fff;box-shadow:0 3px 13px #152c3216}
.kf-youtube-lite img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.85)}
.kf-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:13px;background:#d9252b;padding:12px 20px;font-size:19px;line-height:1;box-shadow:0 1px 12px #0004}
.kf-video-caption{position:absolute;left:12px;bottom:10px;color:#fff;font-size:13px;text-shadow:0 1px 5px #000}
.kf-youtube-lite:hover .kf-video-play,.kf-youtube-lite:focus-visible .kf-video-play{background:#ba1117}
.kf-youtube-lite:focus-visible{outline:3px solid #24a39c;outline-offset:3px}
.kf-video-frame{display:block}
@media(max-width:650px){.kf-video-grid{grid-template-columns:1fr}.kf-person-socials{gap:8px}}


/* R5.43: trainer portrait is more prominent without changing original image or loading strategy. */
@media(min-width:901px){.kf-community-person{grid-template-columns:minmax(345px,460px) minmax(0,1fr);gap:clamp(32px,5vw,75px);align-items:start}.kf-community-person>img{height:auto;max-height:580px;object-fit:contain;object-position:center top;align-self:start}}
@media(min-width:701px) and (max-width:900px){.kf-community-person{grid-template-columns:minmax(235px,37%) minmax(0,1fr);align-items:start}.kf-community-person>img{max-height:510px;object-fit:contain}}

/* R5.43 banner image fit reflects the saved cover/contain option, including mobile pictures. */
.hero .kf-banner-image[style*="object-fit:cover"]{object-fit:cover!important}
.hero .kf-banner-image[style*="object-fit:contain"]{object-fit:contain!important}


/* R5.44: move the default left-aligned hero text group gently inwards/downwards.
   Retain user-selected center/right/top/bottom positions, unchanged on phones. */
@media(min-width:901px){
  .hero .kf-banner-content.align-left.valign-center .kf-banner-copy{
    transform:translate3d(clamp(16px,2.2vw,44px),clamp(14px,1.6vw,32px),0);
  }
  .hero .kf-banner-copy{max-width:540px}
}
.hero .kf-banner-copy h1{margin:14px 0 10px;letter-spacing:-.035em}
.hero .kf-banner-copy .btn{
  display:inline-flex!important;align-items:center;justify-content:center;
  flex:0 0 auto!important;width:auto!important;max-width:100%!important;
  margin-top:11px;padding:13px 22px;white-space:normal;
}
@media(max-width:900px){
  .hero .kf-banner-content.align-left.valign-center .kf-banner-copy{transform:none}
  .hero .kf-banner-copy h1{margin:10px 0 9px}
  .hero .kf-banner-copy .btn{margin-top:9px}
}
/* Trainer photo block matches the content column height. The focal point is
   biased to the top so the subject's face remains visible in a tall crop. */
@media(min-width:901px){
  .kf-community-person{grid-template-columns:minmax(340px,35%) minmax(0,1fr);align-items:stretch}
  .kf-community-photo{position:relative;min-width:0;min-height:100%;overflow:hidden;border-radius:9px;background:#f4f7f7}
  .kf-community-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 35%;display:block}
}
@media(max-width:900px){
  .kf-community-photo{width:100%;max-width:460px;background:#f4f7f7;border-radius:9px;overflow:hidden}
  .kf-community-photo img{width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;display:block}
}


/* R5.46 nine-grid Banner text positioning. Existing banners without grid settings
   retain their R5.44 layout until their position is explicitly changed. */
.hero .kf-banner-slide .kf-banner-content.kf-nine-grid{
  position:absolute;inset:0;width:min(100%,1240px);height:auto;min-height:0;
  box-sizing:border-box;margin-inline:auto;display:flex;
  padding:clamp(60px,6vw,82px) clamp(65px,6vw,94px) clamp(74px,6.5vw,100px);
}
.hero .kf-banner-slide .kf-banner-content.kf-nine-grid .kf-banner-copy{
  transform:translate3d(var(--banner-offset-x,0px),var(--banner-offset-y,0px),0);
  min-width:0;max-width:min(100%,540px);
}
@media(max-width:700px){
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid{
    padding:clamp(36px,7vw,52px) 26px clamp(59px,13vw,72px);
  }
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid.mobile-align-left{justify-content:flex-start}
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid.mobile-align-center{justify-content:center}
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid.mobile-align-right{justify-content:flex-end}
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid.mobile-valign-top{align-items:flex-start}
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid.mobile-valign-center{align-items:center}
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid.mobile-valign-bottom{align-items:flex-end}
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid.mobile-align-left .kf-banner-copy{text-align:left}
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid.mobile-align-center .kf-banner-copy{text-align:center}
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid.mobile-align-right .kf-banner-copy{text-align:right}
  .hero .kf-banner-slide .kf-banner-content.kf-nine-grid .kf-banner-copy{
    transform:translate3d(var(--banner-mobile-offset-x,0px),var(--banner-mobile-offset-y,0px),0);
    max-width:min(100%,540px);
  }
}
