/* Kingdom studio: bold type, restrained cards and clear actions.
   Existing section surfaces, hero imagery and scrolling behaviour stay in place. */
body.kf-site{--ks-radius:14px;--ks-ease:cubic-bezier(.22,1,.36,1)}
/* One heading voice across the reading sections and inner-page heroes. */
body.kf-site main :is(.kf-heading h2,.kf-statement h2,.ku-section-heading h2,.ki-section-head h2,.ks-heading h2,.kk-reference-preview h2,.kk-closing h2,.kc-hero h1,.kf-intro h1,.ka-intro h1,.ku-hero-copy h1){font-family:Outfit,Manrope,sans-serif;font-weight:700;letter-spacing:-.045em;line-height:1.06}
body.kf-site main :is(.kf-heading h2,.kf-statement h2,.ku-section-heading h2,.ki-section-head h2,.ks-heading h2,.kk-reference-preview h2,.kk-closing h2,.kc-hero h1,.kf-intro h1,.ka-intro h1,.ku-hero-copy h1) em,
body.kf-site main .kk-reference-preview h2>span{font:inherit;font-style:normal;color:inherit;letter-spacing:inherit}
body.kf-site main :is(.kf-heading h2,.ki-section-head h2,.ku-section-heading h2,.kk-reference-preview h2) :is(em,span){text-decoration:none}
body.kf-site main .kf-heading{max-width:840px}
body.kf-site main .kf-heading>p:last-child:not(.kf-label){max-width:650px;line-height:1.8}
body.kf-site main :is(.kf-label,.ks-eyebrow){font-weight:750;letter-spacing:.12em}
body.kf-site main :is(.kf-label,.ks-eyebrow)::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:9px;vertical-align:2px}
body.kf-site main :is(.kk-technologies,.kf-project-body,.kk-next-screen) .kf-label::before{content:none}
/* Tactile buttons. WhatsApp retains its existing green treatment. */
body.kf-site :is(a.ko-button,button.ko-button,a.ks-button,a.kqcs-button,a.kk-preview-link){border-radius:999px;min-height:48px;padding:14px 23px;font-weight:750;line-height:1.4;transition:background .2s,color .2s,box-shadow .2s;box-shadow:none}
body.kf-site a.kf-secondary{border-radius:999px;min-height:48px;padding:14px 23px;border-width:1px;font-weight:700;line-height:1.4}
body.kf-site :is(a.ko-button,button.ko-button,a.ks-button,a.kqcs-button,a.kk-preview-link,a.kf-secondary):focus-visible{outline:3px solid var(--kf-red);outline-offset:4px}
body.kf-site .ko-header a.ko-button{min-height:42px;padding:11px 19px;white-space:nowrap}
/* Cards use one edge treatment; preview image windows keep their existing dimensions. */
body.kf-site main :is(.kf-project,.kf-small-panels article,.kf-next-grid>a,.kk-closing-card,.ks-price-card,.kt-fit>article,.ka-promises>article,.kqcs-side-card,.kqcs-preview){border-radius:var(--ks-radius)}
body.kf-site main .kf-project{border-color:var(--kk-line);transition:border-color .25s,box-shadow .25s,transform .25s var(--ks-ease)}
body.kf-site main .kf-project:hover{transform:translateY(-2px);border-color:var(--kk-muted);box-shadow:none}
body.kf-site main .kf-project-body h3{font-weight:700;letter-spacing:-.035em}
body.kf-site main .kf-project h3 b{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--kk-line);border-radius:50%;font-size:16px;color:var(--kk-ink);transition:background .2s,color .2s}
body.kf-site main .kf-project:hover h3 b{background:var(--kf-red);border-color:var(--kf-red);color:#fff}
body.kf-site main .kk-next-screen strong em{font:inherit;font-style:normal;color:var(--kk-ink)}
body.kf-site main .kf-project small{font-size:11px;line-height:1.7}
/* Three prices remain one composed panel, with a deliberate featured option. */
body.kf-site main.kf-home .kk-reference-prices .kf-price-strip{border-radius:20px;overflow:hidden}
body.kf-site main.kf-home .kk-reference-prices .kf-price-strip article{padding:32px}
body.kf-site main.kf-home .kk-reference-prices .kf-price-strip article:nth-child(2){background:#29292c;border-top:1px solid #ffffff26;padding-top:31px}
body.kf-site main.kf-home .kk-reference-prices .kf-price-strip strong{font-weight:700;letter-spacing:-.045em}
/* The free-preview offer becomes a clear decision card rather than a grey utility panel. */
body.kf-site main .kk-preview-choice{--kk-ink:#fff;--kk-muted:#d1d1d4;--kk-bg:#171719;--kk-card:#171719;--kk-line:#ffffff2b;background:#171719;color:#fff;border:1px solid #ffffff2b;border-top:3px solid var(--kf-red);border-radius:20px;padding:34px}
body.kf-site main .kk-preview-choice .kk-preview-price strong{font-weight:750;font-size:clamp(48px,5vw,66px);color:#fff}
body.kf-site main .kk-preview-choice .kf-label{color:#ff647b}
body.kf-site main .kk-preview-choice .kk-preview-link{background:var(--kf-red);border-color:var(--kf-red);color:#fff}
body.kf-site main .kk-preview-choice .kk-preview-link:hover{background:#ca1635;border-color:#ca1635}
body.kf-site main .kk-preview-choice .kk-preview-package{color:#fff}
body.kf-site main .kk-preview-choice :is(.kk-preview-credit,small){color:#d1d1d4}
body.kf-site main .kk-preview-steps li::before{font-weight:750;border-color:var(--kk-ink);width:25px;height:25px}
/* Case-study geometry remains intact; the offer follows the same Kingdom card system. */
body.kf-site main.kqcs-project .kqcs-offer{background:#171719;border:1px solid #ffffff20;border-top:3px solid var(--kf-red);border-radius:18px}
body.kf-site main.kqcs-project .kqcs-offer .kqcs-eyebrow{color:#ff647b}
body.kf-site main.kqcs-project .kqcs-offer .kqcs-button{background:var(--kf-red);color:#fff;border-color:var(--kf-red)}
body.kf-site main.kqcs-project .kqcs-offer strong{font-weight:750}
body.kf-site main.kqcs-project .kqcs-story h2{font-weight:700}
/* FAQ rows remain spacious and legible. */
body.kf-site main .kf-faq-list details{border-radius:12px}
body.kf-site main .kf-faq-list summary{font-family:Outfit,Manrope,sans-serif;font-weight:600;letter-spacing:-.02em}
body.kf-site main .kf-faq-list summary>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid var(--kk-line);border-radius:50%;font-size:18px}
body.kf-site main .kf-faq-list details[open] summary>span{background:var(--kf-red);border-color:var(--kf-red);color:#fff}
@media(max-width:760px){
 body.kf-site main .kk-preview-choice{padding:27px}
 body.kf-site main.kf-home .kk-reference-prices .kf-price-strip article{padding:27px}
 body.kf-site main.kf-home .kk-reference-prices .kf-price-strip article:nth-child(2){padding-top:24px}
 body.kf-site main :is(.kf-heading h2,.ku-section-heading h2,.ki-section-head h2){letter-spacing:-.035em}
 body.kf-site main :is(.kf-heading h2,.ki-section-head h2,.ku-section-heading h2,.kk-reference-preview h2) :is(em,span){text-decoration-thickness:2px}
 body.kf-site .kf-actions{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){body.kf-site main .kf-project:hover{transform:none}body.kf-site :is(.ko-button,.kf-secondary,.kf-project){transition:none}}
/* Resolve the previous serif hero overrides and shared offer-link specificity. */
body.kf-site main:not(.kf-home) :is(.ka-intro,.ku-hero-copy,.kf-intro,.kc-hero) h1{font-weight:700!important}
body.kf-site main:not(.kf-home) :is(.ka-intro,.ku-hero-copy,.kf-intro,.kc-hero) h1 em{font-family:Outfit,Manrope,sans-serif!important;font-weight:700!important;font-style:normal!important;letter-spacing:inherit!important;line-height:inherit!important}
body.kf-site main .kk-preview-choice .kk-preview-link{border-radius:999px;min-height:48px;padding:14px 23px;background:var(--kf-red);border-color:var(--kf-red);color:#fff;font-weight:750}
body.kf-site main .kk-reference-preview .kk-preview-choice{border:1px solid #ffffff2b;border-top:3px solid var(--kf-red);box-shadow:none;animation:none}

/* Homepage hero accent uses the same bold sans-serif as the opening line. */
body.kf-site .kk-hero h1 em{font-family:inherit;font-style:normal;font-weight:inherit;font-size:1em;line-height:inherit;letter-spacing:inherit;}

/* Supplied project brands. Keep their marks intact and their display sizes balanced. */
body.kf-site .kw-client-brands .kf-wrap>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;align-items:center;}
body.kf-site .kw-client-brands a.kw-client-brand{display:flex;align-items:center;justify-content:center;gap:8px;min-height:94px;padding:10px 0;color:#fff;opacity:.85;text-decoration:none;transition:opacity .2s;}
body.kf-site .kw-client-brands a.kw-client-brand:hover{opacity:1;}
body.kf-site .kw-client-brands a.kw-client-brand:focus-visible{outline:2px solid #ed1940;outline-offset:4px;border-radius:5px;opacity:1;}
body.kf-site .kw-client-brands .kw-client-brand>img{display:block;max-width:100%;object-fit:contain;filter:none;}
body.kf-site .kw-client-brands .kw-brand-robell>img{width:165px;height:69px;}
body.kf-site .kw-client-brands .kw-brand-five-rise>img{width:118px;height:81px;filter:brightness(0) invert(1);}
body.kf-site .kw-client-brands .kw-brand-proovium>img.kw-client-symbol{width:44px;height:48px;object-fit:cover;}
body.kf-site .kw-client-brands .kw-brand-continuity>img.kw-client-symbol{width:34px;height:34px;}
body.kf-site .kw-client-brands .kw-client-brand .kw-client-wordmark{display:inline;font:700 26px/1.1 Outfit,Manrope,sans-serif;letter-spacing:-.045em;color:#fff;}
body.kf-site .kw-client-brands .kw-brand-continuity .kw-client-type{display:block;color:#fff;}
body.kf-site .kw-client-brands .kw-client-type b{display:block;font:700 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;}
body.kf-site .kw-client-brands .kw-client-type small{display:block;font:500 7px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;color:#bfc3cd;}
body.kf-site .kw-client-brands .kw-brand-reheat .kw-client-wordmark{font-family:Manrope,Outfit,sans-serif;font-weight:800;font-size:30px;}
body.kf-site .kw-client-brands .kw-brand-reheat .kw-reheat-r{font:800 28px/1 Manrope,sans-serif;letter-spacing:-.07em;color:#ff794d;margin-right:4px;}
body.kf-site .kw-client-brands .kw-brand-reheat .kw-reheat-dot{display:inline;font:inherit;letter-spacing:inherit;color:#ff794d;}
@media(max-width:900px){body.kf-site .kw-client-brands .kf-wrap>div{gap:20px 28px;grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){body.kf-site .kw-client-brands .kf-wrap>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}body.kf-site .kw-client-brands a.kw-client-brand{min-height:90px;}body.kf-site .kw-client-brands .kw-brand-robell>img{width:145px;height:60px;}body.kf-site .kw-client-brands .kw-client-brand .kw-client-wordmark{font-size:23px;}body.kf-site .kw-client-brands .kw-brand-continuity .kw-client-type b{font-size:10px;}}
@media(prefers-reduced-motion:reduce){body.kf-site .kw-client-brands a.kw-client-brand{transition:none;}}

/* SignalDrop joins the project strip; its supplied wordmark is white on charcoal. */
body.kf-site .kw-client-brands .kf-wrap>div{grid-template-columns:repeat(6,minmax(0,1fr));}
body.kf-site .kw-client-brands .kw-brand-signaldrop>img{width:175px;height:65px;filter:brightness(0) invert(1);}
body.kf-site .kw-project-gallery{margin:0 0 44px;}
body.kf-site .kw-project-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;}
body.kf-site .kw-project-gallery-item{margin:0;border:1px solid #dddddf;border-radius:12px;overflow:hidden;background:#fff;}
body.kf-site .kw-project-gallery-item>div{height:340px;overflow:auto;background:#f7f7f8;}
body.kf-site .kw-project-gallery-item img{display:block;width:100%;height:auto;}
body.kf-site .kw-gallery-art>div{height:280px;display:flex;align-items:center;overflow:hidden;}
body.kf-site .kw-gallery-art img{height:100%;object-fit:contain;}
body.kf-site .kw-project-gallery-item figcaption{padding:12px 14px;font-size:11px;line-height:1.6;color:#62626a;border-top:1px solid #eee;}
body.kf-site .kw-project-gallery-item>div:focus-visible{outline:3px solid #ed1940;outline-offset:-3px;}
@media(max-width:1100px){body.kf-site .kw-client-brands .kf-wrap>div{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){body.kf-site .kw-client-brands .kf-wrap>div{grid-template-columns:repeat(2,minmax(0,1fr));}body.kf-site .kw-project-gallery-grid{grid-template-columns:1fr;}body.kf-site .kw-project-gallery-item>div{height:360px;}body.kf-site .kw-gallery-art>div{height:300px;}}

/* Monochrome project logos, without the grid constraining the moving conveyor. */
body.kf-site .kw-client-brands .kf-wrap>div.kk-continuous-marquee{display:block;}
body.kf-site .kw-client-brands .kk-marquee-track{display:flex;width:max-content;}
body.kf-site .kw-client-brands .kk-marquee-set{display:flex;align-items:center;gap:60px;flex:none;}
body.kf-site .kw-client-brands .kk-marquee-set>a.kw-client-brand{display:flex;flex-direction:row;flex:0 0 175px;width:175px;min-width:175px;gap:9px;}
body.kf-site .kw-client-brands a.kw-client-brand{opacity:1;}
body.kf-site .kw-client-brands .kw-client-brand>img{filter:brightness(0) invert(1)!important;}
body.kf-site .kw-client-brands .kw-brand-continuity>img{filter:none!important;}
body.kf-site .kw-client-brands .kw-client-brand :is(.kw-reheat-r,.kw-reheat-dot,.kw-client-wordmark,.kw-client-type,.kw-client-type b,.kw-client-type small){color:#fff;}
body.kf-site .kw-client-brands .kw-client-brand .kw-reheat-r{display:inline;}
body.kf-site .kw-client-brands .kw-brand-reheat .kw-client-wordmark{white-space:nowrap;}
body.kf-site .kw-project-comparison{margin-bottom:30px;}
body.kf-site .kw-project-comparison .kk-compare-viewport{height:380px;}
body.kf-site .kw-project-comparison .kk-compare-layer img{animation:none!important;transform:none!important;}
body.kf-site .kw-project-comparison .kk-compare-project strong{font:650 12px/1.4 Outfit,sans-serif;color:#fff;}
body.kf-site main.kf-home .kw-estil-feature{border-top:0;}
body.kf-site .kw-estil-feature .kwb-build-details{margin-top:27px;}
body.kf-site main.kf-home .kw-estil-feature .kw-estil-notice{font-size:12px;line-height:1.7;border-left:2px solid #ed1940;padding-left:15px;margin-bottom:24px;color:#c7c7cf;}
body.kf-site [data-kw-auto-preview]{overscroll-behavior:contain;scroll-behavior:auto;}
body.kf-site .kw-gallery-page>div[data-kw-auto-preview]{overflow:auto;}
@media(max-width:640px){body.kf-site .kw-client-brands .kk-marquee-set{gap:28px;}body.kf-site .kw-client-brands .kk-marquee-set>a.kw-client-brand{flex-basis:155px;width:155px;min-width:155px;}body.kf-site .kw-project-comparison .kk-compare-viewport{height:300px;}}

/* Preserve screenshot detail: natural dimensions, no CSS upscaling or image filters. */
body.kf-site main.kqcs-project .kqcs-preview-scroll>img{display:block;width:auto;max-width:100%;height:auto;margin-inline:auto;filter:none;image-rendering:auto;}
body.kf-site .kw-gallery-page>div>img{display:block;width:auto;max-width:100%;height:auto;margin-inline:auto;filter:none;image-rendering:auto;}
body.kf-site .kw-project-gallery-item figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;}
body.kf-site .kw-project-gallery-item figcaption a{font-size:10px;color:#b51b35;text-decoration:underline;text-underline-offset:3px;}

/* Finishing pass: shared rhythm and quieter supporting components. */
body.kf-site main :is(.kf-heading,.ki-section-head,.ku-section-heading){margin-bottom:40px;}
body.kf-site main :is(.kf-heading,.ki-section-head,.ku-section-heading) h2{text-wrap:balance;}
body.kf-site main :is(.kf-heading,.ki-section-head,.ku-section-heading)>p:last-child:not(.kf-label){max-width:62ch;line-height:1.75;}
body.kf-site main :is(.kf-project,.kf-next-grid>a,.kf-small-panels article,.ka-promises>article,.kt-fit>article){box-shadow:none;}
body.kf-site main .kf-project-body{padding:24px;}
body.kf-site main .kf-project-body h3{line-height:1.2;}
body.kf-site main .kf-project-body p{line-height:1.7;}
body.kf-site main .kf-next-grid>a{padding:28px;}
body.kf-site main .kf-next-grid h3{font-size:clamp(23px,2.2vw,28px);line-height:1.2;letter-spacing:-.025em;}
body.kf-site main .kf-next-grid p{line-height:1.75;}
body.kf-site main .kf-faq-list{gap:0;}
body.kf-site main .kf-faq-list details{background:transparent;border:0;border-bottom:1px solid var(--kk-line);border-radius:0;}
body.kf-site main .kf-faq-list details:first-child{border-top:1px solid var(--kk-line);}
body.kf-site main .kf-faq-list summary{padding:24px 0;font-size:20px;align-items:center;}
body.kf-site main .kf-faq-list details>p{padding:0 48px 24px 0;max-width:75ch;line-height:1.8;}
body.kf-site main .kf-faq-list summary>span{flex-shrink:0;}
body.kf-site main.kqcs-project .kqcs-story{overflow-wrap:break-word;}
body.kf-site main.kqcs-project .kqcs-story h2{line-height:1.15;letter-spacing:-.025em;text-wrap:balance;}
body.kf-site main.kqcs-project .kqcs-story p{line-height:1.8;}
body.kf-site .kw-project-gallery-grid{gap:24px;}
body.kf-site .kw-project-gallery-item figcaption{padding:15px 18px;}
body.kf-site main .kw-gallery-art{box-shadow:none;}
@media(max-width:760px){
 body.kf-site main :is(.kf-heading,.ki-section-head,.ku-section-heading){margin-bottom:28px;}
 body.kf-site main .kf-project-body{padding:20px;}
 body.kf-site main .kf-next-grid>a{padding:24px;}
 body.kf-site main .kf-faq-list summary{font-size:18px;padding:21px 0;gap:18px;}
 body.kf-site main .kf-faq-list details>p{padding-right:0;font-size:14px;}
}
@media(prefers-reduced-motion:reduce){body.kf-site main .kf-project:hover{transform:none;}}

/* Project conveyor: two balanced rows, with a studio index instead of browser chrome. */
body.kf-site .krg-browser{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f3f3f4;border-bottom:1px solid #dedee1;padding:12px 16px;}
body.kf-site .krg-browser small{font:600 8px/1.4 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#62626a;}
body.kf-site .krg-browser span{margin-left:auto;color:#62626a;}
body.kf-site .krg-project{border-radius:10px;border-color:#dedee1;box-shadow:none;}
body.kf-site .krg-caption{padding:18px;}
body.kf-site .krg-caption strong{letter-spacing:-.025em;}
body.kf-site .krg-track{animation-play-state:running;}
/* Sector photography, as two constant-speed and oppositely moving rows. */
body.kf-site main.kf-home .kf-sector-grid.kw-sector-marquees{display:block;}
body.kf-site .kw-sector-marquee+.kw-sector-marquee{margin-top:16px;}
body.kf-site .kw-sector-marquee .kk-marquee-set{gap:18px;padding-right:18px;}
body.kf-site .kw-sector-row-1 .kk-marquee-track{animation-direction:reverse;}
body.kf-site main.kf-home .kw-sector-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;flex:0 0 345px;width:345px;min-height:230px;padding:22px;box-sizing:border-box;background:#171719;color:#fff;border:1px solid #ffffff20;border-radius:14px;overflow:hidden;}
body.kf-site main.kf-home .kw-sector-card .kk-sector-image{display:block;position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;margin:0;max-width:none;}
body.kf-site main.kf-home .kw-sector-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#08090b15,#08090be8);pointer-events:none;}
body.kf-site main.kf-home .kw-sector-card h3{font-size:21px;line-height:1.2;margin:0 0 9px;color:#fff;}
body.kf-site main.kf-home .kw-sector-card p{font-size:12px;line-height:1.6;margin:0 0 17px;color:#efeff1;}
body.kf-site main.kf-home .kw-sector-card>span{align-self:flex-start;background:#ed1940;color:#fff;font-size:11px;font-weight:700;padding:9px 12px;border-radius:7px;}
body.kf-site .kw-sector-card:focus-visible{outline:3px solid #ed1940;outline-offset:-4px;}
/* Existing Birmingham artwork, subdued behind the proof section. */
body.kf-site main.kf-home section.kw-birmingham-proof{position:relative;isolation:isolate;background:#171719;overflow:hidden;}
body.kf-site main.kf-home section.kw-birmingham-proof:before{content:"";position:absolute;inset:0;z-index:-1;background:url('img/studio/birmingham-skyline.webp') center bottom/110% auto no-repeat;opacity:.16;pointer-events:none;}
body.kf-site main.kf-home section.kw-birmingham-proof .kf-review-layout{position:relative;z-index:1;}
@media(max-width:640px){body.kf-site main.kf-home .kw-sector-card{flex-basis:285px;width:285px;min-height:220px;padding:20px;}body.kf-site .kw-sector-marquee .kk-marquee-set{gap:12px;padding-right:12px;}body.kf-site main.kf-home section.kw-birmingham-proof:before{background-size:auto 70%;opacity:.12;}}
@media(prefers-reduced-motion:reduce){body.kf-site .kw-sector-marquee .kk-marquee-track,body.kf-site .krg-track{animation:none;transform:none;}body.kf-site .kw-sector-marquee{overflow-x:auto;}}

body.kf-site .krg-rail{overflow:hidden;scroll-snap-type:none;}
body.kf-site .krg-track{animation-name:krg-drift;animation-timing-function:linear;animation-iteration-count:infinite;}
body.kf-site .krg-set[aria-hidden]{display:flex;}
@media(prefers-reduced-motion:reduce){body.kf-site .krg-track{animation:none;}body.kf-site .krg-rail{overflow-x:auto;}body.kf-site .krg-set[aria-hidden],body.kf-site .kw-sector-marquee .kk-marquee-set[aria-hidden]{display:none;}}

/* Keep sector copy white despite the enclosing light-section text rules. */
body.kf-site main.kf-home .kf-sector-grid.kw-sector-marquees .kw-sector-card :is(h3,p){color:#fff!important;opacity:1;text-shadow:0 1px 8px #0007;}
/* Compensate for the artwork's transparent lower edge. */
body.kf-site main.kf-home section.kw-birmingham-proof:before{background-position:center calc(100% + 3vw);}
