/* Inter is the standard sans face and Lusitana is the editorial serif face. Their files are
   declared here because all four new-theme headers load home.css; keeping the declarations shared
   makes Figma width comparisons consistent across every channel. */
@font-face{font-family:Inter;src:url("/static/fonts/Inter-Thin-11.otf") format("opentype");font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("/static/fonts/Inter-Regular-9.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("/static/fonts/Inter-Medium-8.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("/static/fonts/Inter-SemiBold-10.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("/static/fonts/Inter-Bold-4.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Lusitana;src:url("/static/fonts/Lusitana-Regular.ttf?v=2026080701") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lusitana;src:url("/static/fonts/Lusitana-Bold.ttf?v=2026080701") format("truetype");font-weight:700;font-style:normal;font-display:swap}
:root{--kw-ink:#19007c;--kw-deep:#2c264b;--kw-soft:#f7f8fe;--kw-line:#d9d5eb;--kw-lilac:#dfd6f1;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.kw26-page{margin:0;background:#fff;color:var(--kw-ink);font-family:Inter;font-size:16px;line-height:1.6}
.kw26-page a{color:inherit}
/* Figma puts the logo at x=109 and ends the search pill at x=1321, so the two side insets are
   not equal (109 / 119). The nav items sit 61px apart in every frame that uses this header. */
.kw26-header{height:101px;padding:0 max(8.26vw,30px) 0 max(7.57vw,30px);display:flex;align-items:center;justify-content:space-between;border-bottom:0;background:#f6f6ff;position:relative;z-index:30}
/* The Figma stroke on the header rectangle is a horizontal gradient, not a flat line. */
.kw26-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#e7e4ee 0%,#957de2 50%,rgba(231,228,238,.6) 100%)}
.kw26-brand img{display:block;width:226px;max-width:16vw;height:auto}
.kw26-nav{display:flex;align-items:center;gap:61px;font-size:20px}
.kw26-nav>a,.kw26-explore-button{text-decoration:none;background:none;border:0;color:var(--kw-ink);font:inherit;padding:10px 0;cursor:pointer;white-space:nowrap}
.kw26-explore{position:relative}
.kw26-explore-button span{font-size:18px;margin-left:4px}
.kw26-explore-menu{position:absolute;left:-20px;top:48px;min-width:180px;padding:10px;background:#fff;border:1px solid var(--kw-line);box-shadow:0 16px 35px rgba(25,0,124,.14);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s;border-radius:12px}
.kw26-explore.is-open .kw26-explore-menu{opacity:1;visibility:visible;transform:none}
.kw26-explore-menu a{display:block;padding:9px 12px;text-decoration:none;border-radius:8px}
.kw26-explore-menu a:hover,.kw26-explore-menu a:focus-visible{background:#f3efff;font-weight:700;outline:0}
.kw26-search{width:157px;height:38px;border:1.5px solid var(--kw-ink);border-radius:22px;display:flex;align-items:center;padding:0 14px}
/* font-family is explicit because an <input> does not inherit the page font: with no declaration
   here the field fell back to the UA default (13.3px Arial), which breaks the theme's Inter-only
   rule and made the header search read visibly smaller than the rest of the row. */
.kw26-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--kw-ink);font-family:Inter;font-size:16px}
.kw26-search input::placeholder{color:#8c81bb}
.kw26-page input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:16px;height:16px;flex:0 0 16px;margin:0 6px 0 8px;cursor:pointer;opacity:1;background:linear-gradient(45deg,transparent 43%,#19001C 43%,#19001C 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,#19001C 43%,#19001C 57%,transparent 57%)}
.kw26-search button{width:17px;height:17px;border:2px solid var(--kw-ink);border-radius:50%;background:none;position:relative;cursor:pointer}
.kw26-search button:after{content:"";position:absolute;width:7px;height:2px;background:var(--kw-ink);right:-5px;bottom:-3px;transform:rotate(45deg)}
.kw26-menu-toggle{display:none;background:none;border:0;padding:6px}
.kw26-menu-toggle span{display:block;width:25px;height:2px;background:var(--kw-ink);margin:5px}
.kw26-hero{height:804px;position:relative;overflow:hidden;background:radial-gradient(circle at 80% 40%,rgba(245,181,211,.33),transparent 27%),radial-gradient(circle at 45% 82%,rgba(133,102,250,.32),transparent 35%),linear-gradient(135deg,#fbfbff 0%,#f5efff 50%,#ebe8ff 100%)}
.kw26-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(153deg,transparent 0 48%,rgba(230,216,250,.75) 48.2% 70%,rgba(173,137,255,.38) 70.2% 100%);clip-path:polygon(0 28%,100% 100%,0 100%)}
.kw26-hero:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-16%;height:42%;border:2px solid rgba(255,255,255,.9);border-radius:50%;transform:rotate(8deg)}
.kw26-hero-inner{position:relative;z-index:3;height:100%;max-width:1230px;margin:auto;padding:165px 8px 70px}
.kw26-hero h1{font-size:clamp(58px,6.65vw,96px);line-height:1.12;letter-spacing:-3px;margin:0;font-weight:650}
.kw26-hero-kicker{position:absolute;top:280px;right:5px;width:415px;font-size:24px;line-height:1.65;margin:0}
.kw26-hero-copy{position:absolute;left:8px;bottom:112px;max-width:1225px;font-size:24px;line-height:1.55;margin:0}
.kw26-globe{position:absolute;right:-1%;top:155px;width:520px;height:520px;border-radius:50%;opacity:.35;background-image:radial-gradient(circle,rgba(112,57,224,.7) 1.3px,transparent 1.5px);background-size:8px 8px;mask-image:radial-gradient(circle,#000 0 66%,transparent 70%)}
.kw26-orbit{position:absolute;border:1.5px solid rgba(121,72,226,.45);border-radius:50%;z-index:2}
.kw26-orbit-a{width:770px;height:260px;right:-30px;top:100px;transform:rotate(-12deg)}
.kw26-orbit-b{width:1040px;height:390px;right:-170px;top:270px;transform:rotate(-22deg)}
.kw26-solutions{max-width:1200px;margin:0 auto;padding:58px 0 42px}
.kw26-solution{padding:0 0 94px;margin-bottom:84px;border-bottom:1px solid var(--kw-line)}
.kw26-solution:last-child{border-bottom:0;margin-bottom:0;padding-bottom:54px}
.kw26-solution>h2{font-size:64px;line-height:1.15;margin:0 0 68px 72px;font-weight:650;letter-spacing:-1px}
.kw26-solution-grid{display:grid;grid-template-columns:612px 1fr;gap:105px;align-items:start}
.kw26-visual{display:block;width:612px;height:400px;overflow:hidden;background:#fafaff;box-shadow:0 4px 7px rgba(0,0,0,.18)}
.kw26-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.kw26-visual:hover img{transform:scale(1.045)}
.kw26-solution-copy{padding-top:2px;max-width:405px}
.kw26-solution-copy h3{font-size:38px;line-height:1.18;font-weight:400;margin:0 0 47px;letter-spacing:.2px}
.kw26-solution-copy p{font-size:16px;line-height:2.5;margin:0 0 30px}
.kw26-button{display:flex;align-items:center;justify-content:center;width:146px;height:38px;border:1.5px solid var(--kw-ink);border-radius:23px;background:var(--kw-lilac);text-decoration:none;font-size:16px;transition:.2s}
.kw26-button span{margin-left:9px}
.kw26-button:hover{background:var(--kw-ink);color:#fff;transform:translateY(-2px)}
.kw26-solution-reverse>h2{margin-left:485px}
.kw26-solution-reverse .kw26-visual{grid-column:2;grid-row:1}
.kw26-solution-reverse .kw26-solution-copy{grid-column:1;grid-row:1}
.kw26-why{min-height:1220px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 12% 12%,#fff 0 29%,transparent 50%),radial-gradient(ellipse at 78% 80%,rgba(57,84,217,.74),transparent 42%),radial-gradient(ellipse at 58% 34%,rgba(234,143,239,.63),transparent 35%),linear-gradient(125deg,#fff 10%,#f9e9ff 48%,#8c8ced 100%)}
.kw26-why:before{content:"";position:absolute;width:1260px;height:520px;left:140px;top:290px;border:110px solid rgba(255,255,255,.28);border-left-color:transparent;border-radius:50%;transform:rotate(42deg);filter:blur(20px)}
.kw26-why-inner{position:relative;z-index:2;max-width:1200px;margin:auto;padding:100px 0}
.kw26-why h2{text-align:center;margin:0 0 105px;font-size:64px;line-height:1;font-weight:700}
.kw26-why h2 em{font-weight:700}
.kw26-reasons{display:grid;grid-template-columns:1fr 1fr;column-gap:220px;row-gap:0}
.kw26-reasons article{position:relative;min-height:318px;padding:0 0 100px;border-bottom:0}
.kw26-reasons article:after{content:"";position:absolute;left:0;right:0;bottom:60px;height:1px;background:rgba(25,0,124,.22)}
.kw26-reasons article:nth-child(even){transform:translateY(108px)}
.kw26-reasons h3{font-size:34px;line-height:1.25;font-weight:400;margin:0 0 50px}
.kw26-reasons p{font-size:16px;line-height:2.45;margin:0;max-width:490px}
.kw26-intelligence{padding:100px 0 0;background:#fff}
.kw26-intelligence h2{text-align:center;font-size:64px;line-height:1.1;margin:0 0 82px;font-weight:700}
.kw26-stats{min-height:280px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;text-align:center;padding:30px 8vw 48px;position:relative;overflow:hidden;background:linear-gradient(180deg,#f8f9ff,#f5f6ff)}
.kw26-stats:before{content:"";position:absolute;width:360px;height:240px;border-radius:50%;left:1%;top:20px;background:rgba(133,153,255,.18);box-shadow:220px 150px 0 -90px rgba(255,161,113,.28)}
.kw26-stats:after{content:"";position:absolute;left:28%;right:-5%;bottom:15px;height:110px;border-top:4px solid rgba(86,74,255,.22);border-radius:50%;transform:rotate(5deg);box-shadow:0 12px 0 -9px rgba(255,127,71,.3)}
.kw26-stats article{position:relative;z-index:2;display:flex;flex-direction:column;gap:42px}
.kw26-stats strong{font-size:64px;line-height:1;font-weight:700}
.kw26-stats span{font-size:24px}
.kw26-brands{padding:66px 0 0;text-align:center;background:#fff}
.kw26-brands h2{font-size:32px;font-weight:400;margin:0 0 62px}
.kw26-brand-rail{height:152px;background:var(--kw-soft);display:flex;align-items:center;justify-content:space-around;padding:0 6vw;gap:35px;overflow:hidden}
.kw26-brand-rail span{font-size:25px;font-weight:700;white-space:nowrap;letter-spacing:-1px}
.kw26-brand-rail span:nth-child(2){font-weight:300;font-style:italic}
.kw26-brand-rail span:nth-child(3){font-style:italic}
.kw26-brand-rail .kw26-economist{font-family:Lusitana;font-size:14px;line-height:1}
.kw26-cta{max-width:1200px;margin:0 auto;min-height:660px;padding:165px 0 120px;display:grid;grid-template-columns:1fr 500px;gap:120px;align-items:start}
.kw26-cta>div>p,.kw26-cta>p{font-size:24px;line-height:1.7;margin:0}
.kw26-cta>p{font-size:20px;line-height:2;max-width:500px}
.kw26-cta a{display:flex;width:480px;height:96px;align-items:center;justify-content:center;margin-top:42px;background:var(--kw-lilac);border:3px solid var(--kw-ink);border-radius:22px;text-decoration:none;font-size:40px;font-weight:700;transition:.25s}
.kw26-cta a:hover{background:var(--kw-ink);color:#fff;transform:translateY(-4px)}
.kw26-footer{min-height:500px;background:var(--kw-deep);color:#fff;padding:86px max(7.8vw,30px);display:grid;grid-template-columns:290px 1fr 260px;gap:95px;align-items:start}
.kw26-footer-mark{display:block;width:174px;height:54px;overflow:hidden}
.kw26-footer-mark img{width:174px;height:54px;max-width:none;filter:none;object-fit:contain;object-position:left}
.kw26-legal{display:flex;flex-direction:column;gap:14px;max-width:470px}
.kw26-legal a{text-decoration:none;font-size:10px;line-height:26px;text-transform:uppercase}
.kw26-legal a:hover{text-decoration:underline}
.kw26-social p{font-size:10px;margin:0 0 35px}
.kw26-social>div{display:flex;gap:28px;align-items:center}
.kw26-social a{width:21px;height:21px;flex:0 0 21px;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}
@media(prefers-reduced-motion:no-preference){.kw26-social a img{transition:transform .2s ease}.kw26-social a:hover img,.kw26-social a:focus-visible img{transform:scale(1.2)}.kw26-mail{transition:background-size .2s ease}.kw26-mail:hover,.kw26-mail:focus-visible{background-size:31.2px 31.2px}}
.kw26-social img{max-width:20px;max-height:20px;filter:brightness(0) invert(1)}
.kw26-mail{border:1px solid #fff;font-size:12px}
@media(max-width:1100px){
 .kw26-header{padding:0 28px}.kw26-nav{gap:24px;font-size:16px}.kw26-brand img{max-width:none;width:180px}
 .kw26-hero-inner,.kw26-solutions,.kw26-why-inner,.kw26-cta{max-width:calc(100% - 56px)}
 .kw26-solution-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:55px}.kw26-visual{width:100%}
 .kw26-reasons{column-gap:90px}.kw26-cta{grid-template-columns:1fr 1fr;gap:55px}.kw26-cta a{width:100%}
}
@media(max-width:760px){
 .kw26-header{height:72px;padding:0 20px}.kw26-brand img{width:145px}.kw26-menu-toggle{display:block;z-index:2}
 .kw26-nav{display:none;position:absolute;left:0;right:0;top:72px;padding:22px;background:#fafaff;border-bottom:1px solid var(--kw-line);flex-direction:column;align-items:stretch;gap:5px}.kw26-nav.is-open{display:flex}
 .kw26-nav>a,.kw26-explore-button{display:block;text-align:left;width:100%;padding:10px}.kw26-explore-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;border:0;padding:0 18px}.kw26-explore.is-open .kw26-explore-menu{display:block}.kw26-search{width:100%;margin-top:8px}
 .kw26-hero{height:720px}.kw26-hero-inner{padding-top:100px;max-width:calc(100% - 40px)}.kw26-hero h1{font-size:52px;line-height:1.08;letter-spacing:-2px}.kw26-hero-kicker{position:static;margin-top:55px;width:auto;font-size:17px;line-height:1.7}.kw26-hero-copy{left:20px;right:20px;bottom:65px;font-size:17px}.kw26-globe{width:430px;height:430px;right:-180px;top:180px}
 .kw26-solutions{padding:50px 0;max-width:calc(100% - 40px)}.kw26-solution{margin-bottom:56px;padding-bottom:56px}.kw26-solution>h2,.kw26-solution-reverse>h2{font-size:44px;margin:0 0 32px}.kw26-solution-grid{display:flex;flex-direction:column;gap:32px}.kw26-solution-reverse .kw26-visual,.kw26-solution-reverse .kw26-solution-copy{grid-column:auto;grid-row:auto}.kw26-visual{height:auto;aspect-ratio:1.5}.kw26-solution-copy{max-width:none}.kw26-solution-copy h3{font-size:32px;margin-bottom:24px}.kw26-solution-copy p{line-height:2;margin-bottom:24px}
 .kw26-why{min-height:0}.kw26-why-inner{padding:70px 0;max-width:calc(100% - 40px)}.kw26-why h2{font-size:44px;margin-bottom:60px}.kw26-reasons{grid-template-columns:1fr;gap:0}.kw26-reasons article,.kw26-reasons article:nth-child(even){transform:none;min-height:0;padding:0 0 56px;margin-bottom:32px}.kw26-reasons article:after{bottom:20px}.kw26-reasons h3{font-size:27px;margin-bottom:20px}.kw26-reasons p{line-height:1.9}
 .kw26-intelligence{padding-top:70px}.kw26-intelligence h2{font-size:43px;padding:0 20px;margin-bottom:50px}.kw26-stats{grid-template-columns:1fr 1fr;gap:48px 10px;padding:55px 15px}.kw26-stats article{gap:18px}.kw26-stats strong{font-size:43px}.kw26-stats span{font-size:16px}
 .kw26-brands h2{font-size:25px;padding:0 20px}.kw26-brand-rail{height:auto;min-height:150px;flex-wrap:wrap;padding:30px 20px}.kw26-brand-rail span{font-size:20px}
 .kw26-cta{max-width:calc(100% - 40px);min-height:0;padding:80px 0;grid-template-columns:1fr;gap:48px}.kw26-cta a{font-size:30px}.kw26-cta>p{font-size:18px}
 .kw26-footer{grid-template-columns:1fr;padding:65px 35px;gap:45px}.kw26-footer-mark,.kw26-footer-mark img{width:150px;height:auto}.kw26-social>div{gap:22px}
}

/* Figma assets, interaction states and CMS image fallbacks */
.kw26-page img{max-width:100%}
/* Figma 24:80 exposes the unobstructed 1440x499 source; the 804px hero stretches it vertically exactly like the main frame. */
.kw26-hero{background:#f4f0ff url("../images/background-hero.svg?v=2026080701") center/100% 100% no-repeat}
.kw26-hero:before,.kw26-hero:after,.kw26-why:before,.kw26-stats:before,.kw26-stats:after{content:none}
.kw26-globe,.kw26-orbit{display:none}
.kw26-why{background:#eee9ff url("../images/background-why.svg") center/cover no-repeat}
.kw26-stats{background:#f5f6ff url("../images/background-stats.svg") center/cover no-repeat}
.kw26-hero h1,.kw26-hero-kicker,.kw26-hero-copy{white-space:pre-line}
.kw26-search button{width:22px;height:22px;flex:0 0 22px;border:0;border-radius:0;background:url("../images/icon-search.svg") center/contain no-repeat}
.kw26-search button:after{content:none}
.kw26-explore-button span{display:inline-block;width:16px;height:16px;margin-left:6px;font-size:0;vertical-align:-3px;background:url("../images/icon-chevron-down.svg") center/16px no-repeat;transition:transform .2s}
.kw26-explore.is-open .kw26-explore-button{font-weight:700}
.kw26-explore.is-open .kw26-explore-button span{transform:none}
.kw26-button span,.kf26-section>header>a span{display:inline-block;width:18px;height:18px;margin-left:8px;font-size:0;background:url("../images/icon-arrow-up-right.svg") center/contain no-repeat;transition:filter .2s ease}
.kw26-button:hover span{filter:brightness(0) invert(1)}
.kw26-mail{width:26px!important;height:26px!important;flex:0 0 26px;border:0;font-size:0;background:url("../images/footer/footer-icon-email.svg") center/26px 26px no-repeat}
.kw26-brand-item{min-width:90px;max-width:150px;min-height:55px;display:flex;align-items:center;justify-content:center;color:var(--kw-ink);font-size:25px;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;transition:transform .2s ease,opacity .2s ease}
.kw26-brand-item:hover{transform:translateY(-3px);opacity:.72}
.kw26-brand-item img{display:block;max-width:120px;max-height:58px;object-fit:contain}
.kw26-visual{position:relative;isolation:isolate;z-index:1;transition:width .45s ease,height .45s ease,box-shadow .45s ease}
.kw26-visual img{transition:transform .55s ease,opacity .35s ease}
/* 30:125 / 30:137: K-Flow and K-Insight use the lower-left corner; only K-Ranking uses lower-right. */
.kw26-feature-overlay{position:absolute;left:0;right:auto;bottom:0;z-index:2;width:205px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:18px 22px 20px;color:var(--kw-ink);background:transparent;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}
.kw26-solution-ranking .kw26-feature-overlay{left:auto;right:0}
.kw26-feature-overlay>strong{color:rgba(25,0,124,.56);font-size:10px;line-height:1.35;font-weight:400}
.kw26-feature-list{display:grid;gap:1px}
.kw26-feature-list b{font-size:10px;line-height:1.42;font-weight:600;letter-spacing:-.01em}
.kw26-visual:hover,.kw26-visual:focus-visible{z-index:12;box-shadow:0 22px 55px rgba(25,0,124,.24);outline:0}
.kw26-visual:hover img,.kw26-visual:focus-visible img{opacity:.48;transform:scale(1.045)}
.kw26-visual:hover .kw26-feature-overlay,.kw26-visual:focus-visible .kw26-feature-overlay{opacity:1;visibility:visible}
.kw26-nav a:focus-visible,.kw26-button:focus-visible,.kw26-cta a:focus-visible{outline:2px solid var(--kw-ink);outline-offset:4px}
@media(min-width:761px){
 .kw26-explore{height:48px;display:flex;align-items:center}
 .kw26-explore-button{position:relative;display:flex;width:90px;height:48px;align-items:center;justify-content:center;gap:5px;padding:0;text-align:center;line-height:1}
 .kw26-explore-button span{position:static;display:block;width:16px;height:16px;flex:0 0 16px;margin:0;vertical-align:0;background-size:16px}
 /* Figma 24:80: the panel hangs off the bottom of the 101px header (y=103), not off the 48px trigger.
    2026-08-11: briefly retuned to the revised board 661:2 (panel 125 wide at y=103, dividers 111),
    then reverted at the client's request. The panel stays 132 wide at y=95 with 8/7 divider insets,
    i.e. the original 24:80 implementation. If the revised board is picked up later, the four numbers
    to change are width/min-width 132 -> 125, top 74.5 -> 82.5, left offset -10px -> -6.5px, and the
    divider inset left 8px -> 7px. */
 .kw26-explore-menu{left:calc(50% - 10px);top:74.5px;width:132px;min-width:132px;height:145px;padding:0;background:var(--kw-lilac);border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;transform:translate(-50%,-6px)}
 .kw26-explore.is-open .kw26-explore-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
 .kw26-explore-menu a{position:relative;height:48.333px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:0;font-size:13px;line-height:48px;text-align:center}
 .kw26-explore-menu a+a:before{content:"";position:absolute;left:8px;right:7px;top:0;height:1px;background:rgba(25,0,124,.2)}
 .kw26-explore-menu a:hover,.kw26-explore-menu a:focus-visible{background:rgba(255,255,255,.42);outline:0}
}
@media(min-width:1201px){
 .kw26-visual:hover,.kw26-visual:focus-visible{width:837px;height:596px}
 .kw26-solution-reverse .kw26-visual{justify-self:end}
}
@media(max-width:760px){
 .kw26-hero{background-position:64% center}
 .kw26-brand-item{font-size:20px;min-width:70px;min-height:42px}
 .kw26-brand-item img{max-width:95px;max-height:44px}
 .kw26-footer-mark,.kw26-footer-mark img{width:150px;height:auto}
 .kw26-visual:hover,.kw26-visual:focus-visible{width:100%;height:auto}
 .kw26-feature-overlay{display:none!important}
}

/* Reversed solution block: the visual sits in column 2, so desktop enlargement grows leftward. */
.kw26-solution-reverse .kw26-solution-grid{grid-template-columns:1fr 612px}
@media(max-width:1100px) and (min-width:761px){.kw26-solution-reverse .kw26-solution-grid{grid-template-columns:minmax(300px,1fr) minmax(0,1.45fr)}}

/* Unconfigured CMS image marker for the shared new-theme pages */
.kw26-admin-image{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:#d9d9d9;color:#000;font:400 16px/1.4 Inter}
.kw26-frontend-image{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:#ecebf5;border:1px dashed #8f88b8;color:#4f4878;font:400 16px/1.4 Inter;box-sizing:border-box}
.kw26-visual .kw26-admin-image{position:absolute;inset:0;width:auto;height:auto}
.kw26-brand-item .kw26-admin-image{width:120px;height:55px;font-size:12px}
.kw26-social .kw26-admin-image{width:21px;height:21px;font-size:0}

/* Navigation guide: brand endorsement banner scrolls continuously */
.kw26-brand-rail{flex-wrap:nowrap!important;overflow:hidden;justify-content:flex-start!important;gap:0!important}
.kw26-brand-track{display:flex;align-items:center;gap:56px;flex:0 0 auto;padding-right:56px;animation:kw26-brand-marquee 34s linear infinite}
.kw26-brand-rail:hover .kw26-brand-track,.kw26-brand-rail:focus-within .kw26-brand-track{animation-play-state:paused}
@keyframes kw26-brand-marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* Navigation guide: cards and buttons lift slightly on hover to show they are clickable */
.kw26-button,.kw26-cta a{transition:transform .2s ease,background .25s ease,color .25s ease}
.kw26-button:hover,.kw26-cta a:hover{transform:translateY(-2px) scale(1.02)}
@media(max-width:760px){.kw26-brand-track{gap:34px;padding-right:34px}}
/* Statistic values stay visually subordinate to the 64px/43px section title. */
.kw26-stats strong{font-size:52px}
@media(max-width:760px){.kw26-stats strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){
 .kw26-brand-track{animation:none}.kw26-brand-rail{overflow-x:auto}
 .kw26-visual,.kw26-visual img,.kw26-feature-overlay,.kw26-button,.kw26-button span,.kf26-section>header>a span,.kw26-cta a{transition:none}
 .kw26-visual:hover img,.kw26-visual:focus-visible img{transform:none}
}
/* Editorial typography: interface labels stay Inter; sentence-style headlines use Lusitana. */
.kw26-hero h1{font-family:Lusitana;font-weight:700}
.kw26-solution-copy h3,.kw26-reasons h3{font-family:Lusitana}
/* Global card typography scale (2026-08-07). Supersedes the per-card sizes derived from Figma:
   large card  = 32px title / 16px intro / 12px meta
   medium card = 24px title / 12px intro / 12px meta
   small card  = 16px title / 12px meta
   Declared here because all four new-theme headers load home.css, so the three channels and the
   homepage share one scale. Only the <=760px phone breakpoint steps the titles down: at
   761-1100px K-Flow already scales its 996 grid with a transform and 1101-1439px is handled by the
   root zoom in home.js, so shrinking the type there too would shrink it twice. */
:root{
 --kw-card-lg-title:32px;--kw-card-lg-title-lh:1.5;
 --kw-card-md-title:24px;--kw-card-md-title-lh:1.5;
 --kw-card-sm-title:16px;--kw-card-sm-title-lh:1.5;
 --kw-card-lg-text:16px;--kw-card-lg-text-lh:1.5;
 --kw-card-md-text:12px;--kw-card-md-text-lh:20px;
 --kw-card-meta:12px;--kw-card-meta-lh:15px;
}
@media(max-width:760px){
 :root{
  --kw-card-lg-title:24px;
  --kw-card-md-title:20px;
  --kw-card-sm-title:16px;
  --kw-card-lg-text:15px;
 }
}
/* ==========================================================================
   Homepage type scale (2026-08-07). Sizes and line-height multipliers come from the agreed spec;
   only the desktop values were given, so the two breakpoints below step them down proportionally.
   1101-1439px needs no step: home.js zooms the whole 1440 design there.
   ========================================================================== */
:root{
 --kw-nav-size:20px;
 /* 16, not the 13 this token started on. Figma gives 16px Inter for the header search text in both
    header boards (661:22 and 670:99), and the three channel navs already use 400 16px/19px Inter,
    so 13 left the generic header as the only search field out of step. This overrides the earlier
    spec table row "页头 Search 13/13/13"; that row has been updated to 16 to match. */
 --kw-search-size:16px;
 --kw-hero-title:96px;--kw-hero-title-lh:1.2;
 --kw-hero-sub:24px;--kw-hero-sub-lh:1.6;
 --kw-sec-title:60px;--kw-sec-title-lh:1.15;
 --kw-sec-sub:40px;--kw-sec-sub-lh:1.2;
 --kw-sec-body:16px;--kw-sec-body-lh:2;
 --kw-why-title:64px;
 --kw-why-item:36px;
 --kw-stat-title:64px;
 --kw-stat-number:56px;
 --kw-stat-label:24px;
 --kw-brands-title:32px;
 --kw-brand-name:24px;
 --kw-cta-button:40px;
 --kw-cta-note:20px;--kw-cta-note-lh:2;
}
@media(max-width:1100px){
 :root{
  --kw-nav-size:16px;
  --kw-hero-title:64px;--kw-hero-sub:20px;
  --kw-sec-title:44px;--kw-sec-sub:32px;
  --kw-why-title:48px;--kw-why-item:28px;
  --kw-stat-title:48px;--kw-stat-number:44px;--kw-stat-label:20px;
  --kw-brands-title:28px;--kw-brand-name:22px;
  --kw-cta-button:32px;--kw-cta-note:18px;--kw-cta-note-lh:1.9;
 }
}
@media(max-width:760px){
 :root{
  --kw-hero-title:40px;--kw-hero-sub:17px;
  --kw-sec-title:32px;--kw-sec-sub:26px;
  --kw-sec-body:15px;--kw-sec-body-lh:1.9;
  --kw-why-title:34px;--kw-why-item:24px;
  --kw-stat-title:34px;--kw-stat-number:34px;--kw-stat-label:17px;
  --kw-brands-title:22px;--kw-brand-name:18px;
  --kw-cta-button:24px;--kw-cta-note:16px;
 }
}
/* Header */
.kw26-nav{font-size:var(--kw-nav-size)}
.kw26-search input{font-size:var(--kw-search-size)}
/* Screen 1: hero */
.kw26-hero h1{font-size:var(--kw-hero-title);line-height:var(--kw-hero-title-lh)}
.kw26-hero-kicker,.kw26-hero-copy{font-size:var(--kw-hero-sub);line-height:var(--kw-hero-sub-lh)}
/* Screens 2-4: the three solution blocks */
.kw26-solution>h2,.kw26-solution-reverse>h2{font-size:var(--kw-sec-title);line-height:var(--kw-sec-title-lh)}
.kw26-solution-copy h3{font-size:var(--kw-sec-sub);line-height:var(--kw-sec-sub-lh)}
.kw26-solution-copy p{font-size:var(--kw-sec-body);line-height:var(--kw-sec-body-lh)}
/* Screen 5: Why KnowWell */
.kw26-why h2{font-size:var(--kw-why-title)}
.kw26-reasons h3{font-size:var(--kw-why-item)}
.kw26-reasons p{font-size:var(--kw-sec-body);line-height:var(--kw-sec-body-lh)}
/* Screen 6: stats, brands, CTA */
.kw26-intelligence h2{font-size:var(--kw-stat-title)}
.kw26-stats strong{font-size:var(--kw-stat-number)}
.kw26-stats span{font-size:var(--kw-stat-label)}
.kw26-brands h2{font-size:var(--kw-brands-title)}
.kw26-brand-rail span{font-size:var(--kw-brand-name)}
.kw26-brand-rail .kw26-economist{font-size:14px}
.kw26-cta a{font-size:var(--kw-cta-button)}
.kw26-cta>p{font-size:var(--kw-cta-note);line-height:var(--kw-cta-note-lh)}
/* ==========================================================================
   Article body typography (2026-08-07). The three detail pages render CMS rich text that the
   editor saved with inline font-family / font-size (measured: `font-family:Lato; font-size:12px`
   on <p> with 16px <span> children on K-Flow and K-Ranking, Calibri on K-Insight). Inline styles
   beat the stylesheet, so the bodies were rendering in a system fallback rather than Inter, and at
   12px instead of the specified 16. Neither Lato nor Calibri is declared in this theme, so this
   also broke the Inter/Lusitana rule. Forced here because only !important outranks inline styles.
   Heading levels keep their own scale: h1/h2 24, h3 20, h4-h6 18, body 16 at 1.875x.
   ========================================================================== */
.kf26-article-content,.krd26-content,.kid26-content,
.kf26-article-content :where(p,span,div,li,td,th,em,strong,b,i,u,a,blockquote,figcaption,small),
.krd26-content :where(p,span,div,li,td,th,em,strong,b,i,u,a,blockquote,figcaption,small),
.kid26-content :where(p,span,div,li,td,th,em,strong,b,i,u,a,blockquote,figcaption,small){font-family:Inter!important;font-size:16px!important;line-height:1.875!important}
.kf26-article-content :where(h1,h2),.krd26-content :where(h1,h2),.kid26-content :where(h1,h2){font-size:24px!important;line-height:1.25!important}
.kf26-article-content h3,.krd26-content h3,.kid26-content h3{font-size:20px!important;line-height:1.3!important}
.kf26-article-content :where(h4,h5,h6),.krd26-content :where(h4,h5,h6),.kid26-content :where(h4,h5,h6){font-size:18px!important;line-height:1.4!important}
/* Editor content often wraps a heading's text in span/strong; those must follow the heading, not
   the body rule above. */
.kf26-article-content :where(h1,h2,h3,h4,h5,h6) *,.krd26-content :where(h1,h2,h3,h4,h5,h6) *,.kid26-content :where(h1,h2,h3,h4,h5,h6) *{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important}
@media(max-width:760px){
 .kf26-article-content,.krd26-content,.kid26-content,
 .kf26-article-content :where(p,span,div,li,td,th,em,strong,b,i,u,a,blockquote,figcaption,small),
 .krd26-content :where(p,span,div,li,td,th,em,strong,b,i,u,a,blockquote,figcaption,small),
 .kid26-content :where(p,span,div,li,td,th,em,strong,b,i,u,a,blockquote,figcaption,small){font-size:15px!important}
 .kf26-article-content :where(h1,h2),.krd26-content :where(h1,h2),.kid26-content :where(h1,h2){font-size:22px!important}
 .kf26-article-content h3,.krd26-content h3,.kid26-content h3{font-size:18px!important}
}
/* ==========================================================================
   Why block lead paragraph (2026-08-14). The client copy deck replaced the hard-coded
   "Why KnowWell ?" heading with a headline plus a one-sentence lead, so the 105px gap that used
   to sit under the h2 moves below the new paragraph instead. Sizes follow the existing hero-sub
   token so the lead matches the other full-width sentences on the page.
   ========================================================================== */
.kw26-why h2{margin-bottom:28px}
.kw26-why-copy{max-width:900px;margin:0 auto 105px;text-align:center;font-size:var(--kw-hero-sub);line-height:var(--kw-hero-sub-lh)}
@media(max-width:760px){
 .kw26-why h2{margin-bottom:18px}
 .kw26-why-copy{margin-bottom:60px}
}

/* ==========================================================================
   2026-09-07：补上页脚在 761-1100px 缺失的那一档，修掉 761-880px 的横向溢出

   问题：上面第 100 行的桌面栅格是
     .kw26-footer-grid-template-columns:290px 1fr 260px; gap:95px; padding:86px max(7.8vw,30px)
   刚性宽度 = 290 + 260 + 两道 gap 190 = 740px，而单列改写
   -grid-template-columns:1fr- 只写在 ≤760 块里（第 128 行，另在第 187 行重复了一次）。
   也就是说 761-1100px 这一整段页脚没有任何平板处理：栅格还是三列固定，
   logo 也还是 174px（150px 的收窄同样只写在 ≤760）。
   761px 时左右内边距各 7.8vw≈58px，可用宽度只剩约 630px，装不下 740px 的刚性宽度，
   第三列（.kw26-social）被挤出视口，整页出现横向滚动。

   实测溢出区间 761-880px（900px 起自然消失），最严重在 761px：scrollWidth 873、溢出 112px。
   三条独立 CSS 链路（K-Flow / K-Ranking / K-Insight）在每个宽度上溢出量完全相同，
   且 .kw26-social 的右边界与 scrollWidth 逐行相等，已确证溢出源就在这里。
   这些页面 body 没有 overflow-x:hidden 兜底，只有首页 home2026.css 有——那是藏住而不是修好。

   修法参考客户《Brand Page修改》素材包的页脚梯度（它的 .footer-inner 在 ≤1060 用
   -150px 1fr auto- + gap 40）：第一列收到 150px 与 logo 对齐，第三列从固定 260px 改成 auto
   让它按内容收缩，gap 从 95 降到 40。改完刚性宽度约 452px，761px 下中间列还能分到约 178px。

   为什么带 min-width:761px：本块追加在文件末尾，若不限下界，会连 ≤760 的单列栅格一起覆盖，
   手机端页脚就变回三列了。这个写法与上面第 194 行的 .kw26-solution-reverse 一致。
   >1100px 完全不受影响，桌面三列 290/1fr/260 + gap 95 保持原样。
   ========================================================================== */
@media(max-width:1100px) and (min-width:761px){
 .kw26-footer{grid-template-columns:150px minmax(0,1fr) auto;gap:40px}
 .kw26-footer-mark,.kw26-footer-mark img{width:150px;height:auto}
 /* 第 108 行给了 .kw26-social-min-width:250px，会把 auto 列顶到 250px；
    这一档放开，让它收缩到图标行自身的 min-content（约 222px）。 */
 .kw26-social{min-width:0}
}
