*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f4f1;color:#111;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto;filter:grayscale(1)}header{position:sticky;top:0;z-index:20;background:rgba(244,244,241,.96);border-bottom:1px solid #c9c9c4}.nav{max-width:1240px;margin:auto;padding:18px 28px;display:flex;align-items:center;gap:24px}.brand{font-size:26px;font-weight:900;letter-spacing:.18em;margin-right:auto}.links{display:flex;gap:20px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.08em}.button{display:inline-block;background:#111;color:#fff;padding:15px 20px;font-size:12px;font-weight:800;letter-spacing:.08em;border:1px solid #111}.button.light{background:transparent;color:#111}.hero{max-width:1240px;margin:auto;padding:72px 28px 34px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px}.hero h1{font-size:clamp(48px,8vw,112px);line-height:.88;letter-spacing:-.065em;margin:0;max-width:1100px}.lead{font-size:clamp(18px,2.2vw,28px);line-height:1.35;max-width:780px;margin:28px 0}.actions{display:flex;gap:10px;flex-wrap:wrap}.heroimg{max-width:1240px;margin:0 auto;padding:0 28px}.heroimg img{width:100%;height:auto;max-height:680px;object-fit:contain;object-position:center;background:#111}.strip{border-top:1px solid #bbb;border-bottom:1px solid #bbb;margin-top:38px}.stripin{max-width:1240px;margin:auto;padding:18px 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.section{max-width:1240px;margin:auto;padding:90px 28px}.section h2{font-size:clamp(36px,5vw,72px);line-height:.95;letter-spacing:-.045em;margin:0 0 28px}.section p{font-size:18px;line-height:1.6;max-width:760px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border-top:2px solid #111;padding:22px 0 30px}.card h3{font-size:25px;margin:0 0 12px}.card p{font-size:15px;margin:0}.media{width:100%;height:auto;max-height:560px;object-fit:contain;object-position:center;background:#111}.dark{background:#111;color:#fff}.dark .section{padding-top:80px;padding-bottom:80px}.quote{font-size:clamp(36px,6vw,82px);font-weight:900;line-height:.95;letter-spacing:-.045em;max-width:1000px}.form{max-width:820px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}input,select,textarea{width:100%;padding:15px;border:1px solid #aaa;background:#fff;font:inherit}textarea{min-height:150px}footer{border-top:1px solid #bbb}.foot{max-width:1240px;margin:auto;padding:35px 28px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.mobile{display:none}
@media(max-width:780px){.nav{padding:15px 18px;flex-wrap:wrap}.brand{font-size:22px}.links{width:100%;overflow:auto;padding-top:10px;gap:16px}.links .button{display:none}.hero{padding:48px 18px 24px}.hero h1{font-size:clamp(45px,16vw,72px)}.heroimg{padding:0 18px}.heroimg img{height:auto;min-height:0;max-height:none}.stripin{grid-template-columns:1fr 1fr;padding:16px 18px}.section{padding:62px 18px}.grid2,.grid3,.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.media{min-height:0;max-height:none}.foot{padding:28px 18px;flex-direction:column}.lead{font-size:19px}}
.geargrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gear{border-top:1px solid #111;padding-top:10px}.gear img{aspect-ratio:4/3;object-fit:cover;filter:grayscale(1);background:#111}.gear b,.gear span{display:block}.gear b{font-size:13px;letter-spacing:.06em;margin-top:10px}.gear span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:4px;color:#666}@media(max-width:780px){.geargrid{grid-template-columns:repeat(2,1fr)}}

html,body{width:100%;max-width:100%;overflow-x:hidden!important}
*,*:before,*:after{box-sizing:border-box}
img,video,iframe,svg{max-width:100%!important}
@media(max-width:768px){
 body{margin:0!important}
 header,nav,main,footer,section{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
 section{padding-left:16px!important;padding-right:16px!important}
 section>*,main>*,header>*,footer>*{min-width:0!important;max-width:100%!important}
 [class*="container"],[class*="wrapper"],[class*="inner"],[class*="content"],[class*="hero"],[class*="grid"],[class*="split"],[class*="row"],[class*="card"]{
   width:100%!important;max-width:100%!important;min-width:0!important;
 }
 h1,h2,h3,h4,p,li,a,span,button,label{max-width:100%!important;overflow-wrap:anywhere!important}
 h1{font-size:clamp(1.65rem,7.8vw,2.7rem)!important;line-height:1!important;letter-spacing:-.035em!important}
 h2{font-size:clamp(1.35rem,6.4vw,2.05rem)!important;line-height:1.04!important;letter-spacing:-.02em!important}
 h3{font-size:clamp(1.05rem,4.8vw,1.4rem)!important;line-height:1.12!important}
 nav ul,.nav,.nav-links,[class*="nav-links"]{max-width:100%!important;min-width:0!important}
 .buttons,.actions,.cta,[class*="buttons"],[class*="actions"]{display:flex!important;flex-wrap:wrap!important;max-width:100%!important}
 button,.btn,a[class*="btn"],a[class*="button"]{white-space:normal!important;max-width:100%!important}
 .showreel-section video{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;background:#000}
}
@media(max-width:390px){
 section{padding-left:13px!important;padding-right:13px!important}
 h1{font-size:clamp(1.48rem,7.5vw,2.2rem)!important}
 h2{font-size:clamp(1.25rem,6.1vw,1.8rem)!important}
}

.heroimg img,.media{filter:grayscale(100%) contrast(1.10) brightness(.91);image-rendering:auto;}
.heroimg{overflow:hidden;}
.heroimg img{object-position:center 38%;}
.media{object-position:center center;}
@media(max-width:768px){.heroimg img{object-position:center center;}}

:root{--kiv-gold:#B79A63;}
/* Gold is deliberately limited to text accents and selected CTA buttons. */
.eyebrow,.kicker,.label,[class*="eyebrow"],[class*="kicker"]{color:var(--kiv-gold)!important;}
.card p:last-child a,.card p:last-child a b{color:var(--kiv-gold)!important;}
.actions .button:first-child,.links .button{border-color:var(--kiv-gold)!important;color:var(--kiv-gold)!important;background:#111!important;}
.actions .button:first-child:hover,.links .button:hover{background:var(--kiv-gold)!important;color:#111!important;}
.dark .button{border-color:var(--kiv-gold)!important;color:var(--kiv-gold)!important;}
.dark .button:hover{background:var(--kiv-gold)!important;color:#111!important;}

:root{--kiv-gold:#B79A63}
@media (hover:hover){a[href*="quote"],a[href*="quote.html"]{transition:color .22s ease,border-color .22s ease,background-color .22s ease,transform .22s ease}a[href*="quote"]:hover,a[href*="quote.html"]:hover{border-color:var(--kiv-gold)!important}}
main a[href*="quote"],main a[href*="quote.html"]{font-weight:inherit}
footer a[href*="quote"],footer a[href*="quote.html"]{text-decoration-color:var(--kiv-gold)}
@media(max-width:768px){a[href*="quote"],a[href*="quote.html"]{min-height:44px}}

@media (prefers-reduced-motion:no-preference){
 body{scroll-behavior:smooth}
 main section{animation:kivReveal .72s cubic-bezier(.2,.65,.3,1) both;animation-timeline:view();animation-range:entry 8% cover 24%}
 @keyframes kivReveal{from{opacity:.72;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
 @media(hover:hover) and (pointer:fine){
  main img{transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .45s ease}
  main a:hover img,main figure:hover img,main picture:hover img{transform:scale(1.018)}
  a[href*="quote"]{transition:transform .22s ease,color .22s ease,border-color .22s ease,background-color .22s ease}
  a[href*="quote"]:hover{transform:translateY(-1px)}
 }
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

@media (prefers-reduced-motion:no-preference){
 main img{will-change:transform;transform-origin:center center;backface-visibility:hidden;animation:kivFluidA 11s cubic-bezier(.45,.05,.55,.95) infinite alternate;transition:transform 1.1s cubic-bezier(.2,.7,.25,1),filter .65s ease}
 main section:nth-of-type(2n) img{animation-name:kivFluidB;animation-duration:13s}
 main section:nth-of-type(3n) img{animation-name:kivFluidC;animation-duration:15s}
 main section:nth-of-type(4n) img{animation-name:kivFluidD;animation-duration:12s}
 @keyframes kivFluidA{0%{transform:scale(1.025) translate3d(-.8%,.35%,0)}50%{transform:scale(1.055) translate3d(.35%,-.55%,0)}100%{transform:scale(1.035) translate3d(.85%,.3%,0)}}
 @keyframes kivFluidB{0%{transform:scale(1.04) translate3d(.75%,-.2%,0)}50%{transform:scale(1.065) translate3d(-.35%,.55%,0)}100%{transform:scale(1.03) translate3d(-.85%,-.25%,0)}}
 @keyframes kivFluidC{0%{transform:scale(1.03) translate3d(-.4%,-.55%,0)}50%{transform:scale(1.06) translate3d(.7%,.25%,0)}100%{transform:scale(1.04) translate3d(-.15%,.65%,0)}}
 @keyframes kivFluidD{0%{transform:scale(1.035) translate3d(.45%,.55%,0)}50%{transform:scale(1.07) translate3d(-.7%,-.25%,0)}100%{transform:scale(1.035) translate3d(.55%,-.6%,0)}}
 @media(hover:hover) and (pointer:fine){
   main img:hover,main a:hover img,main figure:hover img,main picture:hover img{animation-play-state:paused;transform:scale(1.075) translate3d(0,-.35%,0)!important}
 }
}
@media(max-width:768px) and (prefers-reduced-motion:no-preference){
 main img{animation-duration:15s}
 main section:nth-of-type(2n) img{animation-duration:17s}
 main section:nth-of-type(3n) img{animation-duration:19s}
 main section:nth-of-type(4n) img{animation-duration:16s}
}
@media(prefers-reduced-motion:reduce){main img{animation:none!important;transform:none!important}}
/* KIV 2026 visual QA pass: controlled reading measure, consistent rhythm and intentional media crops. */
:root{--kiv-copy:720px;--kiv-section-space:clamp(68px,8vw,104px)}
.section{padding-top:var(--kiv-section-space);padding-bottom:var(--kiv-section-space)}
.section>p,.card p,.lead{max-width:var(--kiv-copy)}
.section p{line-height:1.62}
.card{padding-top:20px;padding-bottom:34px}
.card h3{line-height:1.08}
.grid2,.grid3{align-items:start}
.media{aspect-ratio:16/10;object-fit:cover;object-position:center}
.process-media{object-position:center}
.heroimg img{image-rendering:auto}
@media(max-width:780px){
 :root{--kiv-section-space:clamp(54px,14vw,72px)}
 .section p{line-height:1.58}
 .media{aspect-ratio:4/3;object-fit:cover}
 .grid2,.grid3{gap:28px}
 .card{padding-bottom:24px}
}

/* Homepage hero line-fit refinement */
@media(min-width:781px){
 body.home .hero h1,.home .hero h1{font-size:clamp(46px,7.15vw,98px);line-height:.91;letter-spacing:-.058em;max-width:1180px}
}

/* Explicit homepage hero final-line lock */
.hero-final-line{display:inline-block;white-space:nowrap}
@media(max-width:780px){.hero-final-line{white-space:normal;display:inline}}

/* Root-cause hero wrap fix: override legacy global span wrapping */
@media(min-width:781px){
 body.home .hero h1{font-size:clamp(44px,6.7vw,92px)!important;max-width:1200px!important;line-height:.92!important}
 body.home .hero h1 .hero-final-line{display:inline-block!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;max-width:none!important}
}


/* KIV sparse punk doodles */
.section{position:relative;isolation:isolate;overflow:hidden}
.section::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E")}
.section:nth-of-type(4n+1)::before{content:"";position:absolute;z-index:-1;right:clamp(18px,3.8vw,62px);top:clamp(22px,4vw,58px);width:108px;height:108px;opacity:.145;transform:rotate(-8deg);pointer-events:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23111111' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M58 7 27 52h23L39 92l35-51H52z'/%3E%3Cpath d='M17 20l7 5M12 34l9 1M78 73l8 5' stroke='%23B79A63'/%3E%3C/g%3E%3C/svg%3E")}
.section:nth-of-type(4n+2)::before{content:"";position:absolute;z-index:-1;left:clamp(16px,3vw,48px);bottom:clamp(20px,4vw,60px);width:124px;height:94px;opacity:.13;transform:rotate(6deg);pointer-events:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 90'%3E%3Cg fill='none' stroke='%23111111' stroke-width='4.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 18v45c0 9-17 11-17 1 0-8 14-11 17-5M24 18l35-7v43c0 9-17 11-17 1 0-8 14-11 17-5'/%3E%3Cpath d='M74 55c8-13 24-8 24 4 0 12-24 24-24 24S50 71 50 59c0-12 16-17 24-4z' stroke='%23B79A63'/%3E%3C/g%3E%3C/svg%3E")}
.section:nth-of-type(4n+3)::before{content:"";position:absolute;z-index:-1;right:clamp(18px,4vw,66px);bottom:clamp(18px,4vw,56px);width:136px;height:88px;opacity:.13;transform:rotate(-4deg);pointer-events:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 84'%3E%3Cg fill='none' stroke='%23111111' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 45h12l7-22 9 44 10-32 8 19 8-11 9 7 10-29 10 43 8-19h15'/%3E%3Cpath d='m96 12 5 10 11 4-11 5-5 10-5-10-11-5 11-4z' stroke='%23B79A63'/%3E%3C/g%3E%3C/svg%3E")}
.section:nth-of-type(4n)::before{content:"";position:absolute;z-index:-1;left:clamp(18px,3.5vw,54px);top:clamp(24px,4vw,62px);width:122px;height:96px;opacity:.125;transform:rotate(5deg);pointer-events:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 90'%3E%3Cg fill='none' stroke='%23111111' stroke-width='4.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 64 9-38 24 20 16-34 17 35 25-21 2 39z'/%3E%3Cpath d='M17 68c25 5 58 4 87 0M39 75l8 7M80 75l-7 7'/%3E%3C/g%3E%3C/svg%3E")}
@media(max-width:780px){.section::after{opacity:.014}.section:nth-of-type(n)::before{width:80px;height:80px;opacity:.085}}

/* KIV wordmark presence */
header .nav{min-height:82px;align-items:center}
.brand{position:relative;display:inline-flex;align-items:center;font-size:clamp(34px,3.15vw,48px)!important;font-weight:900!important;line-height:.82!important;letter-spacing:-.075em!important;color:#111!important;text-decoration:none!important;padding:4px 30px 6px 0}
.brand::after{content:"";position:absolute;right:0;top:50%;width:18px;height:18px;transform:translateY(-52%) rotate(45deg);border:2px solid #B79A63;opacity:.9}
.brand::before{content:"";position:absolute;right:7px;top:50%;width:4px;height:4px;transform:translateY(-50%) rotate(45deg);background:#B79A63}
@media(max-width:780px){header .nav{min-height:68px}.brand{font-size:31px!important;padding-right:24px}.brand::after{width:14px;height:14px;right:1px}.brand::before{right:6px;width:3px;height:3px}}

/* KIV sticky header */
header{position:sticky!important;top:0;z-index:1000}

/* KIV fixed header correction */
header{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:10000!important;overflow:visible!important}
body{padding-top:119px!important}
@media(max-width:780px){body{padding-top:99px!important}header{overflow:visible!important}}

/* KIV spark wordmark accent */
.brand{padding-right:34px!important}
.brand::after{content:"✦"!important;position:absolute!important;right:1px!important;top:50%!important;width:auto!important;height:auto!important;border:0!important;background:none!important;transform:translateY(-53%) rotate(-8deg)!important;color:#B79A63!important;font:400 24px/1 Georgia,serif!important;opacity:.92!important}
.brand::before{content:""!important;position:absolute!important;right:20px!important;top:30%!important;width:4px!important;height:4px!important;border-radius:50%!important;background:#B79A63!important;transform:none!important;opacity:.62!important}
@media(max-width:780px){.brand{padding-right:28px!important}.brand::after{font-size:20px!important;right:0!important}.brand::before{right:17px!important;width:3px!important;height:3px!important}}
