:root{--km-line:#d5d8d1;--km-gutter:clamp(1.25rem,4vw,3rem)}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{overflow-wrap:break-word}
.wp-site-blocks{padding-top:0;padding-bottom:0}
.wp-site-blocks>*,.km-main>*{margin-block-start:0}
.wp-block-template-part{margin:0}
:where(.wp-block-group,.wp-block-column){min-width:0}
:where(h1,h2,h3,h4,h5,h6){text-wrap:balance}
:where(p){text-wrap:pretty}
a{text-underline-offset:.22em;text-decoration-thickness:1px}
.km-section{padding-block:var(--wp--preset--spacing--80)}
.km-header{min-height:104px;gap:2rem;border-bottom:1px solid var(--km-line)}
.km-brand-wrap{flex-shrink:0;max-width:240px}
.km-brand{letter-spacing:-.04em;max-width:220px}
.km-brand:before{content:"";display:inline-block;width:12px;height:12px;background:var(--wp--preset--color--sun);border-radius:50%;margin-right:10px;vertical-align:middle}
.km-header-actions{gap:1.8rem}
.km-header .wp-block-buttons{flex-shrink:0}
.km-header .wp-element-button{padding:.85rem 1.15rem;font-size:.875rem;white-space:nowrap}
.km-navigation{gap:1.5rem;color:var(--wp--preset--color--graphite)}
.km-navigation .wp-block-navigation-item__content{padding-block:12px;text-decoration:none}
.km-navigation .wp-block-navigation-item__content:hover{text-decoration:underline;text-underline-offset:6px}
.km-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.12em;line-height:1.6;text-transform:uppercase}
.km-caption{font-size:.875rem;line-height:1.5}
.km-lead{font-size:var(--wp--preset--font-size--lead);line-height:1.6}
.km-hero{padding-top:clamp(2.5rem,5vw,5rem);padding-bottom:3rem}
.km-hero-grid{align-items:flex-end!important;gap:3rem!important;margin-top:1.8rem;margin-bottom:3.5rem}
.km-hero-grid>.wp-block-column:first-child{flex-basis:65%!important}
.km-hero-grid>.wp-block-column:last-child{flex-basis:35%!important;padding-bottom:.6rem}
.km-display{font-size:var(--wp--preset--font-size--display);line-height:1.015;letter-spacing:-.06em;margin:0;max-width:12ch}
.km-hero-image{margin:0;max-width:none!important}
.km-hero-image img{width:100%;height:auto;aspect-ratio:2.4;object-fit:cover;object-position:50% 54%;display:block}
.km-trust{padding:1.4rem var(--km-gutter);background:var(--wp--preset--color--graphite);color:var(--wp--preset--color--white)}
.km-trust p{margin:0;font-size:.875rem}
.km-trust-primary:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--wp--preset--color--sun);margin-right:12px;vertical-align:middle}
.km-services{margin-top:3.5rem!important;gap:2.5rem!important}
.km-service{border-top:1px solid var(--wp--preset--color--graphite);padding-top:1.35rem;height:100%;display:flex;flex-direction:column;align-items:stretch}
.km-service>*{margin-inline:0!important;width:100%}
.km-service h3{max-width:20ch;margin-top:2.25rem}
.km-service p:not(.km-number):not(.km-text-link){font-size:1rem}
.km-number{font-size:.875rem;font-weight:600;color:var(--wp--preset--color--accent)}
.km-text-link{margin-top:auto;padding-top:1.4rem;font-size:.95rem;font-weight:600}
.km-text-link a{display:flex;justify-content:space-between;color:var(--wp--preset--color--graphite);text-decoration:none;border-bottom:1px solid var(--km-line);padding-block:.65rem}
.km-text-link a:hover{color:var(--wp--preset--color--accent);border-color:currentColor}
.km-more-services{border-top:1px solid var(--km-line);padding-top:2rem;margin-top:4rem!important}
.km-more-services h3{font-size:1.25rem}
.km-more-services p{font-size:.95rem;line-height:1.9}
.km-projects{border-top:1px solid var(--km-line)}
.km-reference-grid{gap:4rem!important;margin-top:3rem!important;align-items:flex-start!important}
.km-reference-grid>.wp-block-column:first-child{flex-basis:60%!important}
.km-reference-grid>.wp-block-column:last-child{flex-basis:40%!important;padding-top:7rem}
.km-project-image{overflow:hidden}
.km-project-image img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover;display:block}
.km-project-portrait img{aspect-ratio:.9;object-position:50% 55%}
.km-reference-grid h3{font-size:clamp(1.4rem,2vw,1.8rem)}
.km-dark{background:var(--wp--preset--color--graphite);color:var(--wp--preset--color--warm-white);padding-inline:var(--km-gutter)}
.km-dark :where(h1,h2,h3,h4,h5,h6){color:inherit}
.km-about-grid{gap:5rem!important;align-items:center!important}
.km-about-grid>.wp-block-column:first-child{flex-basis:60%!important}
.km-about-grid>.wp-block-column:last-child{flex-basis:40%!important}
.km-anniversary-wrap{border-left:1px solid #626a63;padding-left:3rem}
.km-anniversary{font-family:var(--wp--preset--font-family--jakarta);font-size:clamp(7rem,15vw,13rem);line-height:1;letter-spacing:-.08em;font-weight:600;color:var(--wp--preset--color--sun);margin:0}
.km-anniversary-label{font-size:1rem;line-height:1.6}
.is-style-outline>.wp-block-button__link{background:transparent!important;color:var(--wp--preset--color--graphite)!important;border:1px solid currentColor}
.is-style-outline>.wp-block-button__link:hover{background:var(--wp--preset--color--graphite)!important;color:var(--wp--preset--color--warm-white)!important}
.km-dark .is-style-outline>.wp-block-button__link{color:var(--wp--preset--color--warm-white)!important}
.km-dark .is-style-outline>.wp-block-button__link:hover{background:var(--wp--preset--color--warm-white)!important;color:var(--wp--preset--color--graphite)!important}
.km-process{margin-top:3.5rem!important;gap:3rem!important}
.km-step{border-top:1px solid var(--km-line);padding-top:1.25rem}
.km-step h3{font-size:1.5rem}
.km-step p:not(.km-number){font-size:1rem}
.km-jobs{border-top:1px solid var(--km-line)}
.km-jobs-grid{gap:4rem!important;align-items:center!important}
.km-contact{background:#e8e5de;padding-inline:var(--km-gutter)}
.km-contact-grid{align-items:center!important;gap:4rem!important}
.km-contact-title{font-size:clamp(3.5rem,7vw,6.5rem);line-height:1.04;letter-spacing:-.055em}
.km-phone{font-family:var(--wp--preset--font-family--jakarta);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600;letter-spacing:-.04em}
.km-phone a{color:var(--wp--preset--color--graphite);text-decoration:none}
.km-footer{padding:4.5rem var(--km-gutter) 1.5rem;background:var(--wp--preset--color--graphite);color:var(--wp--preset--color--warm-white)}
.km-footer :where(h3,h4,a){color:inherit}
.km-footer h3{font-size:1.5rem}
.km-footer h4{font-size:.875rem;margin-bottom:1.5rem}
.km-footer :where(p,.wp-block-navigation){font-size:.875rem;line-height:1.8}
.km-footer-grid{gap:3rem!important}
.km-footer-grid>.wp-block-column:first-child{flex-basis:32%!important}
.km-footer-intro{max-width:24ch}
.km-footer-nav{gap:.5rem}
.km-footer-bottom{border-top:1px solid #626a63;margin-top:3rem!important;padding-top:1.5rem}
.km-footer-bottom p{margin:0;font-size:.75rem}
.km-page{min-height:50vh}
.km-page>.wp-block-post-title{margin-bottom:3rem}
.km-page .wp-block-post-content{margin-top:2rem}
.km-post-summary{padding-block:2.5rem;border-bottom:1px solid var(--km-line)}
.km-post-summary h2{font-size:2rem}
.km-contact-card{padding:clamp(1.5rem,4vw,3rem);background:#e8e5de}
@media(min-width:782px) and (max-width:1199px){.km-header-actions>.wp-block-buttons{display:none}.km-navigation{gap:1rem}.km-hero-grid{gap:2rem!important}.km-display{font-size:clamp(3.5rem,6.5vw,5rem)}}
@media(max-width:781px){
.km-header{min-height:84px;gap:1rem}.km-header-actions>.wp-block-buttons{display:none}
.km-brand{font-size:1.1rem!important;max-width:210px}.km-navigation{font-size:1.2rem}
.km-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
.km-navigation .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}
.km-navigation .wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--warm-white)!important;color:var(--wp--preset--color--graphite)!important;padding:2rem}
.km-navigation .wp-block-navigation__responsive-container-content{align-items:flex-start!important;padding-top:3rem!important}
.km-navigation .wp-block-navigation__container{align-items:flex-start!important;gap:1rem!important}
.km-navigation .wp-block-navigation__responsive-container-open,.km-navigation .wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.km-hero-grid,.km-about-grid,.km-reference-grid,.km-contact-grid,.km-jobs-grid{gap:2rem!important}
.km-display{font-size:clamp(2.65rem,8.6vw,4.75rem)}
.km-hero-grid{margin-bottom:2rem}.km-hero-image img{aspect-ratio:1.25}
.km-trust>div{gap:.5rem}.km-trust p{font-size:.8rem}
.km-services{gap:2.5rem!important}.km-service h3{margin-top:1rem}
.km-text-link{padding-top:.5rem}.km-more-services{margin-top:3rem!important}
.km-reference-grid>.wp-block-column:last-child{padding-top:1rem}.km-project-portrait img{aspect-ratio:1.2}
.km-anniversary-wrap{border-left:0;border-top:1px solid #626a63;padding-left:0;padding-top:2rem}
.km-anniversary{font-size:8rem}.km-process{gap:2rem!important}
.km-footer-grid{gap:2rem!important}.km-footer h4{margin-bottom:.75rem}
.km-footer-bottom{gap:.75rem}.km-contact-title{font-size:3.6rem}
.km-hero .wp-block-button,.km-contact .wp-block-button{width:100%}
.km-hero .wp-block-button__link,.km-contact .wp-block-button__link{display:block;text-align:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.km-footer a:hover{color:var(--wp--preset--color--warm-white);text-decoration:underline}