/* Kinopuls content only: header and footer belong to the shared site chrome. */
/* Cinema scenes are original vector drawings, never measurement charts. */
.kp-main [data-kp-backdrop]{position:relative;isolation:isolate;overflow:hidden;padding-bottom:28px}
.kp-main [data-kp-backdrop]>:not(.kp-scene){position:relative;z-index:1}
.kp-main .kp-scene{--scene-progress:.5;pointer-events:none;position:absolute;right:-7%;top:-45px;width:min(65%,660px);opacity:.16;z-index:0}
.kp-main .kp-scene svg{display:block;width:100%;height:auto;overflow:visible}
.kp-main .kp-scene-hero{position:relative;right:auto;top:auto;width:100%;opacity:1;align-self:center;overflow:hidden;padding:10px 0}
.kp-scene .scene-rotor{transform-origin:320px 280px;transform:rotate(calc(var(--scene-progress)*95deg))}
.kp-scene-lens .scene-rotor{transform:rotate(calc(var(--scene-progress)*-65deg)) scale(calc(.84 + var(--scene-progress)*.16))}
.kp-scene .scene-frame{transform-origin:320px 280px}
.kp-scene .scene-frame-0{transform:translateX(calc(var(--scene-progress)*-50px)) rotate(calc(-14deg*var(--scene-progress)))}
.kp-scene .scene-frame-1{transform:translateY(calc(var(--scene-progress)*-22px)) rotate(calc(5deg*var(--scene-progress)))}
.kp-scene .scene-frame-2{transform:translateX(calc(var(--scene-progress)*22px)) rotate(calc(12deg*var(--scene-progress)))}
.kp-scene .scene-clap{transform-origin:100px 204px;transform:rotate(calc(-26deg + var(--scene-progress)*26deg))}
.kp-scene .scene-board{transform:translateY(calc(12px - var(--scene-progress)*12px))}
.kp-scene .scene-ticket{transform-origin:320px 280px;transform:translateX(calc(50px - var(--scene-progress)*100px)) rotate(calc(-10deg + var(--scene-progress)*20deg))}
.kp-scene .scene-beam{transform-origin:352px 290px;transform:scaleX(calc(.25 + var(--scene-progress)*.75));opacity:calc(.25 + var(--scene-progress)*.75)}
.kp-scene .scene-small-reel{transform-origin:150px 165px;transform:rotate(calc(var(--scene-progress)*120deg))}
.kp-main .kp-editorial-panel .kp-scene{opacity:.15;mix-blend-mode:multiply}
@media(max-width:700px){.kp-main [data-kp-backdrop]{padding-bottom:155px}.kp-main [data-kp-backdrop]>.kp-scene{width:280px;right:-30px;top:auto;bottom:-60px;opacity:.3}.kp-main .kp-scene-hero{max-width:530px;margin:10px auto 0}}
@media(prefers-reduced-motion:reduce){.kp-scene :is(.scene-rotor,.scene-frame,.scene-clap,.scene-board,.scene-ticket,.scene-beam,.scene-small-reel){transform:none!important}.kp-scene .scene-beam{opacity:.5}}
.kp-page .kp-main .kp-nav{margin-bottom:24px}
.kp-page .kp-main .kp-hero{min-height:0;align-items:start;padding-top:8px}
.kp-page .kp-main .kp-hero .eyebrow{margin:0 0 14px}
.kp-page .kp-main .kp-hero h1{margin:0 0 20px}
.kp-page .kp-main .kp-hero .lead{margin:0 0 20px}
.kp-page .kp-main .kp-hero-detail{margin-top:26px}
@media(max-width:700px){
 .kp-page .kp-main.subpage-main{padding-top:18px}
 .kp-page .kp-main .kp-nav{margin-bottom:18px;gap:18px;font-size:13px}
 .kp-page .kp-main .kp-hero h1{font-size:28px;line-height:1.24;margin-bottom:16px}
 .kp-page .kp-main .kp-hero h1 br{display:none}
 .kp-page .kp-main .kp-hero h1 br::after{content:" "}
 .kp-page .kp-main .kp-hero .lead{font-size:17px;line-height:1.45;margin-bottom:18px}
 .kp-page .kp-main .kp-hero .eyebrow{font-size:10px;margin-bottom:12px}
 .kp-page .kp-main .kp-hero .cta{padding:12px 20px}
 .kp-page .kp-main .kp-cinema-art{max-width:520px;width:100%;margin:16px auto 0}
}
@media(prefers-reduced-motion:reduce){.kp-art-strip{transform:none!important}}
.kp-main .kp-cinema-art{color:#61575d;min-width:0;overflow:hidden;--art-progress:0}
.kp-cinema-art svg{display:block;width:100%;height:auto}
.kp-art-strip{transform-origin:300px 300px;transform:translateY(calc(var(--art-progress)*-28px)) rotate(calc(-9deg + var(--art-progress)*14deg))}
.kp-art-agency .kp-art-strip{transform:translateY(calc(var(--art-progress)*22px)) rotate(calc(8deg - var(--art-progress)*12deg))}
.kp-main .kp-editorial-panel{background:#e6ded3;padding:40px;color:#171518}
.kp-main .kp-editorial-panel :is(h2,p){color:#171518}
.kp-main .kp-motion-stage{height:470px;position:relative;perspective:1100px;--stage-progress:0;pointer-events:none}
.kp-main .kp-motion-frame{position:absolute;width:78%;height:235px;padding:26px;border:1px solid #61575d;background:#111113;transform-origin:50% 70%;will-change:transform}
.kp-motion-frame>span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#c4b7bf}
.kp-motion-frame>b{display:block;font-family:Unbounded,Arial,sans-serif;font-size:clamp(26px,3vw,40px);margin:22px 0;color:#eeeae4}
.kp-motion-frame>i{display:block;width:65%;height:1px;background:#84777f;margin-top:40px}
.kp-main .kp-frame-back{left:3%;top:18px;transform:translateY(calc(var(--stage-progress)*-36px)) rotate(-12deg);background:#191619}
.kp-main .kp-frame-middle{left:13%;top:108px;transform:translateY(calc(var(--stage-progress)*-15px)) rotate(5deg)}
.kp-main .kp-frame-front{left:19%;top:203px;background:#e6ded3;transform:translateY(calc(var(--stage-progress)*20px)) rotate(-3deg)}
.kp-main .kp-frame-front :is(span,b){color:#191619}
.kp-main .kp-stage-caption{position:absolute;bottom:-10px;left:10%;font-size:11px;letter-spacing:.08em;color:#bdb3bc}
.kp-wave{display:flex;align-items:center;gap:9px;height:48px}
.kp-wave i{display:block;width:8%;height:8px;background:#ad315c;transform:scaleY(calc(1 + var(--stage-progress)*2));transform-origin:center}
.kp-wave i:nth-child(2n){height:15px}
.kp-wave i:nth-child(3n){height:23px}
.kp-wave i:nth-child(5){height:32px}
.kp-main .kp-reveal{opacity:0;transform:translateY(35px);transition:opacity .75s ease,transform .9s cubic-bezier(.2,.75,.2,1)}
.kp-main .kp-reveal.kp-in-view{opacity:1;transform:translateY(0)}
.kp-main .kp-reveal .kp-steps>li{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
.kp-main .kp-in-view .kp-steps>li{opacity:1;transform:translateY(0)}
.kp-main .kp-steps>li:nth-child(2){transition-delay:.09s}
.kp-main .kp-steps>li:nth-child(3){transition-delay:.18s}
.kp-main .kp-steps>li:nth-child(4){transition-delay:.27s}
.kp-main [data-kp-sequence] .kp-map-lines path{stroke-dasharray:1400;stroke-dashoffset:calc(1400 * (1 - var(--line-progress,1)))}
.kp-main .kp-reveal .kp-map-word{opacity:.45;transition:opacity .5s ease}
.kp-main .kp-reveal .kp-map-word.kp-map-active{opacity:1}
.kp-main .cta{transition:background-color .2s ease}
.kp-main .cta:hover{background-color:#c31d5b}
.kp-main .kp-nav a{position:relative;text-decoration:none;padding-bottom:7px}
.kp-main .kp-nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.kp-main .kp-nav a:hover::after,.kp-main .kp-nav a[aria-current]::after{transform:scaleX(1)}
@media(max-width:900px){.kp-main .kp-motion-stage{width:min(100%,530px);margin:40px auto 15px}}
@media(max-width:500px){.kp-main .kp-motion-stage{height:340px}.kp-main .kp-motion-frame{height:165px;padding:20px}.kp-main .kp-frame-middle{top:78px}.kp-main .kp-frame-front{top:148px}.kp-motion-frame>b{font-size:25px;margin:16px 0}.kp-wave{height:32px}.kp-main .kp-stage-caption{bottom:0;font-size:10px}}
@media(prefers-reduced-motion:reduce){.kp-main .kp-reveal,.kp-main .kp-reveal .kp-steps>li{opacity:1;transform:none;transition:none}.kp-main .kp-motion-frame{will-change:auto}.kp-main .kp-map-word{opacity:1}.kp-main [data-kp-sequence] .kp-map-lines path{stroke-dashoffset:0}.kp-main .kp-nav a::after{transition:none}}
.kp-main .kp-hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:610px;isolation:isolate}
.kp-main .kp-hero-copy{position:relative;z-index:2}
.kp-main .kp-hero h1{font-size:clamp(30px,3.3vw,44px);line-height:1.22;max-width:700px}
.kp-main .kp-hero .lead{font-size:22px;max-width:510px}
.kp-main .kp-hero-detail{max-width:475px;font-size:17px;margin-bottom:30px}
.kp-main .kp-hero-art{margin:0 -80px 0 -130px;position:relative;z-index:0;pointer-events:none}
.kp-main .kp-hero-art img{display:block;width:100%;height:auto;min-height:480px;object-fit:cover}
.kp-main .kp-discipline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;border-top:1px solid #38383b;border-bottom:1px solid #38383b;padding:22px 0;margin-top:35px;color:#bdb8c0;font-size:14px}
.kp-main .kp-expertise,.kp-main .kp-origin{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.kp-main .kp-expertise{border-top:0}
.kp-main .kp-expertise p:first-child,.kp-main .kp-origin p:first-child{margin-top:0}
.kp-main .kp-method{background:#e6ded3;color:#171518;padding:42px 38px;margin-left:-38px;margin-right:-38px;border:0}
.kp-main .kp-method :is(h2,p,strong){color:#171518}
.kp-main .kp-method .eyebrow{color:#872143}
.kp-main .kp-method-map{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:24px 0 0}
.kp-map-word{position:relative;z-index:1}
.kp-map-word>span{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#872143}
.kp-map-word>strong{display:block;font-family:Unbounded,Arial,sans-serif;font-size:clamp(17px,2vw,26px);margin-top:14px}
.kp-main .kp-map-word p{font-size:15px;line-height:1.5}
.kp-map-lines{position:relative;grid-column:1/-1;display:block;width:100%;height:210px;margin-top:28px;overflow:hidden;color:#ad315c;fill:#ad315c}
.kp-main .kp-method-summary{border-top:1px solid #afa4a0;padding-top:22px;font-size:19px;max-width:none}
.kp-main .kp-service-links{display:flex;flex-wrap:wrap;gap:35px;margin-top:20px}
.kp-main section.kp-origin{position:relative;display:block;min-height:690px;padding:75px 0;overflow:hidden;isolation:isolate}
.kp-main .kp-origin-copy{position:relative;z-index:1;width:52%;max-width:570px;text-align:left}
.kp-main .kp-origin-copy h2{font-size:clamp(30px,3.7vw,46px);line-height:1.25;margin-bottom:28px}
.kp-main .kp-origin-copy p{margin:0 0 24px;max-width:510px}
.kp-main .kp-origin-copy .eyebrow{margin-bottom:22px}
.kp-main .kp-origin-copy .kp-text-link{margin-top:12px;text-align:left}
.kp-main .kp-origin-art{position:absolute;left:57%;right:0;top:20px;bottom:0;overflow:hidden;pointer-events:none}
.kp-main .kp-origin-art img{display:block;position:relative;width:100%;height:auto;max-width:100%;left:0;top:0;transform:none}
.kp-main .kp-text-link{display:inline-block;margin-top:16px}
.kp-main .kp-principles details{margin-top:35px;color:#aaa7b0}
.kp-main .kp-principles summary{cursor:pointer;font-size:16px}
.kp-main .kp-principles details p{font-size:15px}
.kp-main .kp-contact h2{font-size:clamp(32px,5vw,60px)}
.kp-main .kp-contact p{max-width:600px}
@media(max-width:900px){.kp-main .kp-hero{grid-template-columns:1fr;min-height:0}.kp-main .kp-hero-art{margin:0 -20px;max-width:760px}.kp-main .kp-hero-art img{min-height:0}.kp-main .kp-hero .lead,.kp-main .kp-hero-detail{max-width:650px}.kp-main .kp-expertise,.kp-main .kp-origin{grid-template-columns:1fr;gap:20px}.kp-main .kp-method-map{grid-template-columns:1fr 1fr;gap:30px}.kp-main .kp-method{margin-left:0;margin-right:0;padding:30px 24px}.kp-main .kp-discipline{justify-content:flex-start}}
@media(min-width:901px){.kp-main .kp-nav{margin-bottom:25px}}
@media(max-width:500px){.kp-main .kp-hero h1{font-size:35px}.kp-main .kp-hero .lead{font-size:20px}.kp-main .kp-discipline{gap:12px;font-size:12px}.kp-main .kp-method-map{gap:22px 12px}.kp-main .kp-map-word>strong{font-size:17px}.kp-main .kp-map-word p{font-size:13px}.kp-main .kp-method{padding:25px 18px}}
.kp-page .kp-main{max-width:1160px;margin:0 auto;padding:40px 40px 96px;text-align:left;color:#eeeae4;font-family:Arial,sans-serif}
.kp-main :is(h1,h2,h3,p,li,dd,dt,strong,a){background:transparent;text-align:left}
.kp-main a{color:#f5a4c1;text-underline-offset:5px}
.kp-main .kp-nav{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:72px;font-size:14px}
.kp-main .eyebrow{color:#f5a4c1;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.kp-main h1{font-family:Unbounded,Arial,sans-serif;font-size:clamp(32px,4.5vw,60px);font-weight:600;line-height:1.2;letter-spacing:-.04em;margin:24px 0;max-width:1080px}
.kp-main .lead{font-size:clamp(20px,2.2vw,26px);max-width:810px;line-height:1.5;margin:28px 0}
.kp-main p,.kp-main li,.kp-main dd{font-size:18px;line-height:1.65;color:#ceccd1}
.kp-main .intro{max-width:760px;margin:32px 0}
.kp-main section{border-top:1px solid #38383b;margin-top:80px;padding-top:38px}
.kp-main h2{font-family:Unbounded,Arial,sans-serif;font-size:clamp(24px,3vw,34px);font-weight:500;line-height:1.35;letter-spacing:-.03em;margin:0 0 32px;color:#f2eee8}
.kp-main h3{font-size:23px;line-height:1.35;margin:0 0 12px;color:#f2eee8}
.kp-main section>p{max-width:900px}
.kp-main .kp-steps{list-style:none;counter-reset:step;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.kp-main .kp-steps>li{counter-increment:step;display:grid;grid-template-columns:56px 1fr;gap:18px;padding:28px 0 32px;border-top:1px solid #38383b;margin:0;min-width:0}
.kp-main .kp-steps>li::before{content:counter(step,decimal-leading-zero);font-family:Unbounded,Arial,sans-serif;font-size:32px;line-height:1.2;color:#f5a4c1}
.kp-main .kp-steps p{margin:0;font-size:17px}
.kp-main dl{display:grid;grid-template-columns:210px 1fr;gap:24px 36px}
.kp-main dt{font-size:20px;font-weight:700;color:#f5a4c1}
.kp-main dd{margin:0}
.kp-main .note{font-size:14px;line-height:1.6;color:#aaa7b0}
.kp-main .table-scroll,.kp-main .kp-table-wrap{overflow:auto}
.kp-main table{border-collapse:collapse;width:100%;min-width:530px;font-variant-numeric:tabular-nums}
.kp-main th,.kp-main td{padding:18px 14px;border-bottom:1px solid #39393c;text-align:left;vertical-align:top;line-height:1.5}
.kp-main th{color:#f5a4c1}
.kp-main caption{text-align:left;color:#aaa7b0;margin:0 0 18px;font-size:14px}
.kp-main .cta{display:inline-flex;align-items:center;gap:24px;background:#e9256e;color:white;padding:17px 24px;text-decoration:none;font-size:17px;font-weight:700;border-radius:4px}
.kp-main .cta::after{content:"↗";font-size:24px}
.kp-main a:focus-visible{outline:3px solid #f5a4c1;outline-offset:5px}
.kp-main .kp-comparison{margin:36px 0;padding:32px 0}
.kp-comparison figcaption{font-size:18px;color:#eeeae4;margin-bottom:28px}
.kp-bar-row{display:grid;grid-template-columns:90px 1fr 95px;align-items:center;gap:20px;margin:20px 0;font-variant-numeric:tabular-nums}
.kp-bar-row strong{font-size:25px!important;color:#eeeae4}
.kp-bar{height:34px;background:#e9256e}
.kp-bar-tg{width:10.43%;background:#f5a4c1}
.kp-main #contact{padding:48px 0 0}
.kp-main #contact>.cta{margin-top:30px}
@media(max-width:900px){.kp-main section.kp-origin{min-height:0;padding:38px 0 0}.kp-main .kp-origin-copy{width:100%;max-width:650px}.kp-main .kp-origin-copy h2{font-size:clamp(28px,5vw,40px)}.kp-main .kp-origin-art{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:auto;margin:30px auto 0;max-width:580px}.kp-main .kp-origin-art img{width:100%;left:0;top:0;transform:none}}
@media(max-width:700px){.kp-page .kp-main{padding:28px 22px 60px}.kp-main .kp-nav{margin-bottom:44px;gap:18px}.kp-main h1{font-size:32px;letter-spacing:-.04em}.kp-main section{margin-top:52px;padding-top:28px}.kp-main .kp-steps{grid-template-columns:1fr}.kp-main .kp-steps>li{grid-template-columns:44px 1fr;gap:14px}.kp-main .kp-steps>li::before{font-size:26px}.kp-main dl{grid-template-columns:1fr;gap:12px}.kp-main dd{margin-bottom:18px}.kp-bar-row{grid-template-columns:72px 1fr 82px;gap:12px}.kp-bar-row strong{font-size:21px!important}.kp-main p,.kp-main dd{font-size:17px}}
