:root{--ink:#22221f;--accent:#866b19;--paper:#f7f8f8;--line:#dce1e2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;background:var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 5%;background:#fff;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:30px;font-weight:bold;white-space:nowrap;letter-spacing:-1px}.brand span{color:var(--accent)}.brand em{font-family:Arial,sans-serif;font-size:13px;letter-spacing:3px;font-style:normal;margin-left:7px}nav{display:flex;gap:30px;font-size:14px}nav a:hover,.text-link:hover{color:var(--accent)}.header-phone{font-weight:bold;font-size:17px}.hero{display:grid;grid-template-columns:46% 54%;min-height:650px;background:#fff}.hero-copy{padding:80px 11% 35px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold;margin:0 0 20px;color:var(--accent)}h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,76px);line-height:1.1;letter-spacing:-2px;font-weight:normal;margin:25px 0}h1 i{color:var(--accent);font-weight:normal}.lead{font-size:20px;line-height:1.6;max-width:420px;margin:25px 0 30px}.button{display:inline-block;padding:16px 24px;background:var(--ink);color:white;font-size:15px;font-weight:bold;border-radius:3px}.button:hover{background:var(--accent)}.text-link{display:block;font-size:14px;margin-top:18px;text-decoration:underline;text-underline-offset:5px}.hero-note{border-top:1px solid var(--line);margin-top:50px;padding-top:20px;font-size:12px;letter-spacing:1px}.hero-note span{display:block;color:#67787c;font-size:11px}.hero-photo{position:relative;min-height:550px}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:60% center}.photo-label{position:absolute;bottom:24px;left:24px;background:#fff;padding:15px 20px;font-size:10px;letter-spacing:1.6px}.photo-label span{display:block;font-size:14px;letter-spacing:0;margin-top:5px}.section{padding:90px 6%}.section-head{margin-bottom:35px}h2{font-family:Georgia,serif;font-size:clamp(30px,3.4vw,46px);font-weight:normal;line-height:1.2;margin:10px 0}h3{font-size:21px;margin:15px 0 8px;line-height:1.4}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.service-grid article{border-top:1px solid #aebbc0;padding-top:20px}.number{font-family:Georgia,serif;font-size:27px;color:var(--accent)}.service-grid p{color:#64645d;font-size:16px}.scope{padding:22px 26px;background:#eeede8;font-size:14px;margin-top:35px}.scope strong{display:block;margin-bottom:5px}.projects{background:white}.split{display:flex;align-items:end;justify-content:space-between;gap:30px}.split>p{font-size:14px;color:#64645d}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:35px}.filter{background:transparent;border:1px solid var(--line);padding:9px 20px;border-radius:3px;font-size:14px;color:var(--ink)}.filter.active{color:white;background:var(--ink);border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 25px}.project{padding:0;border:0;text-align:left;background:transparent;color:var(--ink)}.project[hidden]{display:none}.photo{position:relative;overflow:hidden;aspect-ratio:4/3;background:#eeede8}.photo img{height:100%;width:100%;object-fit:cover;transition:transform .35s}.project:hover img{transform:scale(1.035)}.photo>span{position:absolute;bottom:12px;right:12px;background:#fff;padding:3px 9px;font-size:12px}.caption{padding:16px 0}.caption>span:first-child{text-transform:uppercase;font-size:11px;letter-spacing:1.7px;color:var(--accent)}.caption h3{font-family:Georgia,serif;font-weight:normal;font-size:23px;margin:5px 0 10px}.view{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:3px}.contact{background:var(--ink);color:white;padding:80px 6%;display:grid;grid-template-columns:1.2fr 1fr;gap:12%}.contact .eyebrow{color:#D4AF37}.contact p:not(.eyebrow){max-width:590px;color:#e1dfd6}.contact-person{display:flex;flex-direction:column;justify-content:center;align-items:start}.contact-person p{margin-bottom:5px}.contact-person>a:not(.button){font-size:clamp(26px,3vw,42px);white-space:nowrap}.contact-person>span{font-size:14px;color:#d6d2c3;margin:12px 0 25px}.light{background:white;color:var(--ink)}footer{display:flex;justify-content:space-between;align-items:center;padding:30px 6%;gap:20px;background:#fff}footer p,footer>span{font-size:12px;color:#64645d}dialog{padding:22px;border:0;width:min(1100px,95vw);max-height:95vh;color:var(--ink);border-radius:5px}dialog::backdrop{background:#071216dc}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head h2{font-size:25px}.dialog-head .eyebrow{margin:0}#close{border:0;background:#edf0f1;width:44px;height:44px;flex-shrink:0}.viewer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;background:#f2f4f4}.viewer img{max-width:calc(100% - 105px);height:56vh;object-fit:contain}.viewer button{border:0;background:white;color:var(--ink);font-size:35px;width:42px;height:55px}#counter{text-align:center;margin:5px;font-size:14px}#thumbnails{display:flex;gap:8px;overflow:auto;padding:8px}#thumbnails button{padding:2px;border:2px solid transparent;background:white;flex-shrink:0}#thumbnails button[aria-pressed=true]{border-color:var(--accent)}#thumbnails img{width:70px;height:55px;object-fit:cover}a:focus-visible,button:focus-visible{outline:3px solid #cc7e40;outline-offset:4px}@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;min-height:560px}.hero-copy{padding:50px 9% 30px}.hero-photo{min-height:500px}.service-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.contact{gap:5%}nav{gap:15px}.hero-note{margin-top:30px}}@media(max-width:600px){header{padding:15px 5%;gap:10px;flex-wrap:wrap}.brand{font-size:26px}.header-phone{font-size:15px}nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}.hero{display:flex;flex-direction:column}.hero-copy{padding:35px 6%}.hero h1{font-size:49px}.lead{font-size:18px}.hero-note{display:none}.hero-photo{min-height:340px}.photo-label{bottom:15px;left:15px}.section{padding:55px 6%}.service-grid{gap:15px}.service-grid h3{font-size:20px}.service-grid p{font-size:14px}.scope{padding:18px}.split{display:block}.project-grid{grid-template-columns:1fr;gap:20px}.filters{gap:7px}.filter{padding:8px 12px}.contact{grid-template-columns:1fr;padding:50px 6%;gap:30px}.contact-person>a:not(.button){font-size:35px}footer{flex-wrap:wrap;gap:8px}footer p{width:100%;margin:0}dialog{padding:14px}.dialog-head h2{font-size:20px}.viewer{gap:3px}.viewer img{max-width:calc(100% - 70px);height:48vh}.viewer button{width:30px}.hero-copy .button{padding:15px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* K&K brand colours */
header{background:#22221f;color:#fff;border-bottom:1px solid #474432}.brand span,.brand em{color:#D4AF37}.hero{background:#22221f;color:#fff}.hero-copy{padding-top:24px;padding-bottom:45px}.official-logo{display:block;width:230px;height:230px;object-fit:contain;margin:-12px 0 12px -35px}.hero .eyebrow{color:#D4AF37}.hero h1{font-size:clamp(40px,4.2vw,62px);margin:18px 0}.hero h1 i{color:#D4AF37}.hero .lead{font-size:18px;margin:20px 0 25px}.hero .button,.contact .button{background:#D4AF37;color:#22221f}.hero .button:hover,.contact .button:hover{background:#e5c660}.hero .text-link:hover,header nav a:hover{color:#D4AF37}.photo-label{color:#22221f}.contact{background:#22221f}.contact-person>a:not(.button){color:#D4AF37}footer{background:#22221f;color:#fff;border-top:1px solid #474432}footer p,footer>span{color:#d6d2c3}@media(max-width:600px){.official-logo{width:210px;height:210px;margin:-20px auto 12px}.hero-copy{padding-top:20px}.hero h1{font-size:44px}.hero .eyebrow{text-align:center}}

.contact-person>a.contact-email{font-size:20px;white-space:normal;overflow-wrap:anywhere;margin-top:10px}.stats-link{font-size:14px;text-decoration:underline}
