
:root{--keysha-bg:#f7f6f3;--keysha-neutral:#e6e3de;--keysha-muted:#bfbbae;--keysha-brown:#735a44;--keysha-black:#0b0b0b}
html{scroll-behavior:smooth}body{background:var(--keysha-bg);color:var(--keysha-black);font-family:"Instrument Sans",sans-serif}
.keysha-page{overflow:hidden}.keysha-header{border-bottom:1px solid var(--keysha-black)}
.keysha-wordmark,.keysha-heading,.keysha-scroll-text{font-family:"Instrument Sans",sans-serif!important;letter-spacing:-.045em}
.keysha-wordmark{line-height:.82;font-size:clamp(1.8rem,3vw,3.8rem)}
.keysha-editorial{font-family:"Newsreader",serif!important}
.keysha-nav a{color:var(--keysha-black)!important;text-decoration:none!important;font-size:12px;letter-spacing:.04em}.keysha-nav a:hover{opacity:.55}
.keysha-scroll-section{position:relative;min-height:92vh;border-bottom:1px solid var(--keysha-black);overflow:hidden}
.keysha-scroll-text,.keysha-scroll-image{will-change:transform,opacity;transition:opacity .45s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.keysha-scroll-image{overflow:hidden}.keysha-scroll-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.keysha-scroll-section.is-in-view .keysha-scroll-image img{transform:scale(1)}
.keysha-statement{font-size:clamp(3.6rem,8vw,9.5rem);line-height:.88;letter-spacing:-.06em;margin:0}
.keysha-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.keysha-service-row{border-top:1px solid var(--keysha-black);transition:padding-left .3s ease,background .3s ease}.keysha-service-row:last-child{border-bottom:1px solid var(--keysha-black)}.keysha-service-row:hover{padding-left:14px;background:var(--keysha-neutral)}
.keysha-project-image img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.keysha-project-image:hover img{transform:scale(1.025)}
@media(min-width:768px){.keysha-scroll-section:not(.is-in-view) .keysha-scroll-text{opacity:.18;transform:translateY(55px)}.keysha-scroll-section:not(.is-in-view) .keysha-scroll-image{opacity:.2;transform:translateY(85px) scale(.985)}.keysha-scroll-section:not(.is-in-view) .keysha-scroll-image img{transform:scale(1.07)}}
@media(max-width:767px){.keysha-scroll-section{min-height:auto}.keysha-statement{font-size:clamp(3.2rem,17vw,5.5rem)}.keysha-scroll-image{min-height:55vh}}
