/*
Theme Name: Key Haven Construction
Theme URI: https://keyhavenconstruction.com/
Author: Key Haven
Description: An elegant residential and commercial construction WordPress theme for Key Haven Construction, sister company to Key Haven Property Group.
Version: 8.0.0
Text Domain: keyhaven-construction
*/

:root {
  --kh-green:#142720;
  --kh-green-2:#1d352d;
  --kh-green-3:#29483e;
  --kh-sage:#7fa99e;
  --kh-sage-2:#a8c2ba;
  --kh-cream:#f4f0e6;
  --kh-ivory:#fbfaf6;
  --kh-stone:#d9d1c3;
  --kh-ink:#18211e;
  --kh-muted:#6e7773;
  --kh-line:rgba(24,33,30,.13);
  --kh-light-line:rgba(255,255,255,.14);
  --kh-white:#fff;
  --kh-serif:"Cormorant Garamond",Georgia,serif;
  --kh-sans:"Montserrat",Arial,sans-serif;
  --kh-script:"Allura",cursive;
  --kh-shadow:0 30px 90px rgba(20,39,32,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--kh-ivory);color:var(--kh-ink);font-family:var(--kh-sans);line-height:1.65;-webkit-font-smoothing:antialiased}body.admin-bar .kh-site-header{top:32px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}::selection{background:var(--kh-sage-2);color:var(--kh-green)}
.kh-container{width:min(1240px,calc(100% - 48px));margin:0 auto}.kh-section{padding:118px 0}.kh-kicker{display:inline-flex;align-items:center;gap:12px;color:var(--kh-green-3);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.kh-kicker:before{content:"";width:34px;height:1px;background:currentColor;opacity:.65}.kh-kicker--light{color:#c6d9d2}.kh-title{margin:18px 0 24px;font-family:var(--kh-serif);font-size:clamp(50px,6vw,82px);font-weight:500;letter-spacing:-.045em;line-height:.93}.kh-title--small{font-size:clamp(42px,4.9vw,66px)}.kh-copy{max-width:720px;color:var(--kh-muted);font-size:15px;line-height:1.9}.kh-copy--light{color:#b7c7c1}.kh-eyebrow{font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--kh-muted)}.kh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:1px solid var(--kh-green);border-radius:999px;background:var(--kh-green);color:#fff;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:.25s ease}.kh-btn:hover{transform:translateY(-2px);background:var(--kh-green-3);border-color:var(--kh-green-3);box-shadow:0 12px 35px rgba(20,39,32,.2)}.kh-btn--ghost{background:transparent;color:var(--kh-green);border-color:rgba(20,39,32,.25)}.kh-btn--ghost:hover{background:#fff;color:var(--kh-green)}.kh-btn--cream{background:var(--kh-cream);border-color:var(--kh-cream);color:var(--kh-green)}.kh-btn--cream:hover{background:#fff;border-color:#fff;color:var(--kh-green)}.kh-text-link{display:inline-block;color:var(--kh-green-3);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.kh-text-link--large{font-size:11px}

/* Dark top strip + dark navigation, intentionally matching the footer brand treatment */
.kh-topbar{background:var(--kh-green);color:#c8d7d2;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px;letter-spacing:.07em}.kh-topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}.kh-topbar-left,.kh-topbar-right{display:flex;align-items:center;gap:24px}.kh-topbar-label{color:#90a79f;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.kh-topbar a:hover{color:#fff}
.kh-site-header{position:sticky;top:0;z-index:60;background:rgba(20,39,32,.98);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}.kh-nav{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px}.kh-brand{display:block}.kh-nav-links{display:flex;align-items:center;gap:28px;color:#d6e0dc;font-size:10px;font-weight:700;letter-spacing:.085em;text-transform:uppercase}.kh-nav-links>a:not(.kh-btn){padding:41px 0}.kh-nav-links>a:not(.kh-btn):hover{color:#fff}.kh-btn--header{background:var(--kh-cream);border-color:var(--kh-cream);color:var(--kh-green);min-height:46px;padding:0 21px}.kh-btn--header:hover{background:#fff;border-color:#fff;color:var(--kh-green)}.kh-menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:27px;cursor:pointer}
.kh-brand-lockup{display:flex;align-items:center;gap:12px;color:#fff}.kh-logo-mark{display:block;position:relative;width:59px;height:45px;overflow:hidden;flex:0 0 59px}.kh-logo-mark img{position:absolute;width:91px;max-width:none;left:-16.5px;top:-1px;filter:brightness(0) invert(1);opacity:.95}.kh-brand-words{display:flex;flex-direction:column;line-height:1}.kh-brand-main{font-size:19px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;white-space:nowrap}.kh-brand-script{display:flex;align-items:center;gap:7px;margin-top:3px;color:#dce8e3;font-family:var(--kh-script);font-size:22px;letter-spacing:.02em;white-space:nowrap}.kh-brand-script i{display:block;width:20px;height:1px;background:#a8bdb6}.kh-brand-lockup--footer{transform:scale(1.22);transform-origin:left center}.kh-brand-lockup--feature{color:var(--kh-green);justify-content:center}.kh-brand-lockup--feature .kh-logo-mark img{filter:none;opacity:.95}.kh-brand-lockup--feature .kh-brand-script{color:var(--kh-green-3)}.kh-brand-lockup--feature .kh-brand-script i{background:var(--kh-sage)}

.kh-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fbfaf6 0%,#f4f0e6 100%)}.kh-hero:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--kh-line)}.kh-hero-grid{min-height:740px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:84px;padding:92px 0 108px}.kh-hero h1{margin:18px 0 28px;font-family:var(--kh-serif);font-size:clamp(58px,6.2vw,86px);font-weight:500;letter-spacing:-.06em;line-height:.84}.kh-hero h1 em{color:var(--kh-green-3);font-weight:500}.kh-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.kh-hero-note{display:flex;align-items:center;gap:12px;margin-top:29px;color:#727c78;font-size:10px;letter-spacing:.05em}.kh-hero-note:before{content:"";width:42px;height:1px;background:var(--kh-sage)}.kh-hero-visual{min-width:0}.kh-architecture-card,.kh-hero-photo{position:relative;min-height:535px;border-radius:2px;background:var(--kh-green);overflow:hidden;box-shadow:var(--kh-shadow)}.kh-architecture-card:before{content:"";position:absolute;inset:28px;border:1px solid rgba(255,255,255,.15)}.kh-architecture-card:after{content:"";position:absolute;left:14%;bottom:16%;width:72%;height:1px;background:rgba(255,255,255,.5)}.kh-arch-line{position:absolute;bottom:16%;border:1px solid rgba(255,255,255,.42);border-bottom:0}.kh-arch-line--one{left:20%;width:20%;height:38%}.kh-arch-line--two{left:39%;width:23%;height:64%}.kh-arch-line--three{left:61%;width:18%;height:47%}.kh-arch-line--four{left:53%;width:12%;height:26%;background:var(--kh-green)}.kh-architecture-monogram{position:absolute;right:9%;top:7%;font-family:var(--kh-serif);font-size:84px;color:rgba(255,255,255,.08);letter-spacing:-.08em}.kh-architecture-label{position:absolute;left:10%;right:10%;bottom:7%;display:flex;align-items:center;justify-content:center;gap:13px;color:#c4d2cd;font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.kh-architecture-label i{width:34px;height:1px;background:rgba(255,255,255,.4)}.kh-hero-photo{background-size:cover;background-position:center}.kh-hero-photo-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,39,32,.35),transparent 55%)}
.kh-intro-strip{background:#fff;border-bottom:1px solid var(--kh-line)}.kh-intro-strip-grid{display:grid;grid-template-columns:repeat(3,1fr)}.kh-intro-strip-grid>div{position:relative;min-height:140px;padding:32px 36px;border-right:1px solid var(--kh-line);display:flex;flex-direction:column;justify-content:center}.kh-intro-strip-grid>div:last-child{border-right:0}.kh-intro-strip span{position:absolute;right:26px;top:23px;color:rgba(20,39,32,.15);font-family:var(--kh-serif);font-size:42px}.kh-intro-strip strong{font-family:var(--kh-serif);font-size:29px;font-weight:600;line-height:1}.kh-intro-strip small{margin-top:7px;color:var(--kh-muted);font-size:11px}
.kh-build{background:var(--kh-ivory)}.kh-editorial-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:start}.kh-editorial-copy{padding-top:42px}.kh-editorial-copy .kh-copy+.kh-copy{margin-top:20px}.kh-build-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:65px}.kh-build-card{position:relative;min-height:460px;padding:44px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:.28s ease}.kh-build-card:after{content:"";position:absolute;width:360px;height:360px;border:1px solid currentColor;border-radius:50%;right:-180px;top:-160px;opacity:.1}.kh-build-card:hover{transform:translateY(-5px);box-shadow:var(--kh-shadow)}.kh-build-card--dark{background:var(--kh-green);color:#fff}.kh-build-card--cream{background:var(--kh-cream);color:var(--kh-green);border:1px solid rgba(20,39,32,.08)}.kh-card-number{font-family:var(--kh-serif);font-size:56px;opacity:.22}.kh-build-card h3{max-width:540px;margin:14px 0 25px;font-family:var(--kh-serif);font-size:clamp(35px,4vw,52px);font-weight:500;line-height:.98}.kh-build-card--dark .kh-eyebrow{color:#a7bcb4}.kh-build-card--dark .kh-text-link{color:#d8e4df}
.kh-work{background:#fff}.kh-section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:52px}.kh-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.kh-project-card{min-width:0}.kh-project-media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#e8e3da}.kh-project-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.kh-project-card:hover .kh-project-media img{transform:scale(1.025)}.kh-project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,39,32,.16),transparent 50%)}.kh-project-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#e6e0d5,#f6f3eb);color:#9b968c;font-family:var(--kh-serif);font-size:32px}.kh-project-media--demo{background:linear-gradient(135deg,var(--kh-green),var(--kh-green-3))}.kh-project-media--demo .kh-project-placeholder{background:transparent;color:#d8e3df}.kh-project-media--alt{background:linear-gradient(145deg,#d8d0c2,#f1ede4)}.kh-project-media--alt .kh-project-placeholder{color:#777267}.kh-project-media--line{background:var(--kh-green)}.kh-project-media--line:before,.kh-project-media--line:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.17);z-index:2}.kh-project-media--line:before{inset:28px}.kh-project-media--line:after{inset:65px}.kh-project-meta{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:19px 0 0}.kh-project-meta h3{margin:4px 0 0;font-family:var(--kh-serif);font-size:25px;font-weight:600;line-height:1.06}.kh-project-arrow{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid var(--kh-line);border-radius:50%;font-size:15px;transition:.2s}.kh-project-arrow:hover{background:var(--kh-green);color:#fff;border-color:var(--kh-green)}
.kh-process{position:relative;overflow:hidden;background:var(--kh-green);color:#fff}.kh-process:after{content:"KH";position:absolute;right:-3vw;bottom:-17vw;color:rgba(255,255,255,.025);font-family:var(--kh-serif);font-size:42vw;line-height:.7;letter-spacing:-.12em}.kh-process-grid{position:relative;z-index:2;display:grid;grid-template-columns:.82fr 1.18fr;gap:100px}.kh-process .kh-title{color:#fff}.kh-process .kh-btn{margin-top:23px}.kh-process-list{border-top:1px solid var(--kh-light-line)}.kh-process-list>div{display:grid;grid-template-columns:62px 190px 1fr;gap:20px;align-items:start;padding:28px 0;border-bottom:1px solid var(--kh-light-line)}.kh-process-list span{color:#739087;font-family:var(--kh-serif);font-size:30px}.kh-process-list h3{margin:2px 0 0;font-family:var(--kh-serif);font-size:28px;font-weight:600}.kh-process-list p{margin:4px 0 0;color:#9eb2aa;font-size:12px;line-height:1.75}
.kh-about-band{background:var(--kh-cream)}.kh-about-band-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}.kh-about-brand-card{min-height:470px;background:#fff;border:1px solid rgba(20,39,32,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px;box-shadow:0 24px 70px rgba(20,39,32,.07)}.kh-about-brand-card>span:last-child{margin-top:28px;color:#8a948f;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.kh-area-note{padding-top:22px;color:var(--kh-muted);font-size:12px}
.kh-inquiry{background:#fbfaf6}.kh-contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start}.kh-contact-card{background:#fff;border:1px solid var(--kh-line);padding:42px;box-shadow:0 25px 80px rgba(20,39,32,.07)}.kh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.kh-field{display:flex;flex-direction:column;gap:7px}.kh-field--full{grid-column:1/-1}.kh-field label{color:#5d6964;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.kh-field input,.kh-field select,.kh-field textarea{width:100%;border:1px solid #d8dedb;border-radius:0;background:#fbfcfb;padding:14px;color:var(--kh-ink);outline:0}.kh-field textarea{min-height:145px;resize:vertical}.kh-field input:focus,.kh-field select:focus,.kh-field textarea:focus{border-color:var(--kh-sage);box-shadow:0 0 0 3px rgba(127,169,158,.1)}.kh-field--hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.kh-form-submit{width:100%;margin-top:22px}.kh-form-note{margin:11px 0 0;color:#8a938f;font-size:10px}.kh-alert{margin-bottom:20px;padding:13px 15px;font-size:12px}.kh-alert--success{background:#e9f2ee;color:#345a4d}.kh-alert--error{background:#f6e7e4;color:#82483f}.kh-contact-side-note{display:flex;align-items:center;gap:12px;margin-top:32px;color:#7a8580;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.kh-contact-side-note i{width:30px;height:1px;background:var(--kh-sage)}.kh-contact-details{margin-top:34px;padding-top:25px;border-top:1px solid var(--kh-line);color:var(--kh-muted);font-size:13px}.kh-contact-details strong{color:var(--kh-ink);font-family:var(--kh-serif);font-size:20px;font-weight:600}
.kh-page-hero{position:relative;overflow:hidden;padding:118px 0 104px;background:var(--kh-green);color:#fff}.kh-page-hero:after{content:"";position:absolute;right:-180px;top:-220px;width:650px;height:650px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.022),0 0 0 180px rgba(255,255,255,.014)}.kh-page-hero .kh-title{position:relative;z-index:2;max-width:920px}.kh-page-hero .kh-copy{position:relative;z-index:2;max-width:760px}.kh-page-hero .kh-btn{position:relative;z-index:2;margin-top:22px}.kh-page-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:50px}.kh-page-number{text-align:right;color:rgba(255,255,255,.07);font-family:var(--kh-serif);font-size:260px;line-height:.65}.kh-page-list{margin-top:38px;border-top:1px solid var(--kh-line)}.kh-page-list>div{display:grid;grid-template-columns:45px 180px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid var(--kh-line);align-items:start}.kh-page-list span{font-family:var(--kh-serif);font-size:25px;color:var(--kh-sage)}.kh-page-list strong{font-family:var(--kh-serif);font-size:21px;font-weight:600}.kh-page-list small{color:var(--kh-muted);font-size:12px}.kh-cta-band{background:var(--kh-green);color:#fff;text-align:center}.kh-cta-band .kh-title{max-width:800px;margin-left:auto;margin-right:auto}.kh-work-archive{background:#fff}.kh-about-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.kh-about-page-grid>div:first-child{min-height:480px;background:var(--kh-cream);display:flex;align-items:center;justify-content:center;padding:45px}.kh-values-band{background:#fff;border-top:1px solid var(--kh-line)}.kh-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.kh-values-grid>div{padding:12px 45px 20px;border-right:1px solid var(--kh-line)}.kh-values-grid>div:first-child{padding-left:0}.kh-values-grid>div:last-child{border-right:0}.kh-values-grid span{color:var(--kh-sage);font-family:var(--kh-serif);font-size:34px}.kh-values-grid strong{display:block;margin:20px 0 8px;font-family:var(--kh-serif);font-size:27px}.kh-values-grid p{color:var(--kh-muted);font-size:12px}
.kh-project-single-hero{position:relative;background:var(--kh-green);color:#fff}.kh-project-single-image{position:relative;height:min(70vh,760px);overflow:hidden}.kh-project-single-image img{width:100%;height:100%;object-fit:cover}.kh-project-single-image>span{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,39,32,.74),rgba(20,39,32,.05) 60%)}.kh-project-single-head{position:relative;padding:88px 0 78px}.kh-project-single-image+.kh-project-single-head{position:absolute;left:0;right:0;bottom:0;z-index:2}.kh-project-single-head .kh-title{max-width:900px}.kh-project-content{max-width:850px}.kh-project-content h2,.kh-project-content h3{font-family:var(--kh-serif);font-weight:600}.kh-project-content h2{font-size:48px}.kh-project-content h3{font-size:32px}.kh-project-content p,.kh-project-content li{color:var(--kh-muted)}.kh-page-content{max-width:900px}
.kh-site-footer{background:var(--kh-green);color:#d9e4e0;padding:76px 0 24px}.kh-footer-brand-row{display:flex;align-items:center;justify-content:space-between;gap:70px;padding-bottom:62px;border-bottom:1px solid var(--kh-light-line)}.kh-footer-brand-row p{max-width:500px;margin:0;color:#8ea69d;font-size:12px;line-height:1.9}.kh-footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:54px 0 42px}.kh-footer-col h4{margin:0 0 17px;color:#fff;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.kh-footer-col a,.kh-footer-static{display:block;margin:9px 0;color:#9eb2aa;font-size:12px}.kh-footer-col a:hover{color:#fff}.kh-footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:20px;border-top:1px solid var(--kh-light-line);color:#789188;font-size:9px;letter-spacing:.03em}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}[data-reveal].is-visible{opacity:1;transform:none}

@media(max-width:1060px){.kh-nav-links{gap:18px}.kh-hero-grid{gap:52px}.kh-process-grid{gap:60px}.kh-process-list>div{grid-template-columns:50px 150px 1fr}.kh-brand-main{font-size:16px}.kh-brand-script{font-size:19px}.kh-logo-mark{width:52px;flex-basis:52px}.kh-logo-mark img{width:82px;left:-15px}}
@media(max-width:860px){body.admin-bar .kh-site-header{top:46px}.kh-topbar{display:none}.kh-nav{min-height:88px}.kh-menu-toggle{display:block}.kh-nav-links{display:none;position:absolute;left:0;right:0;top:88px;padding:20px 24px 25px;background:var(--kh-green);border-top:1px solid var(--kh-light-line);border-bottom:1px solid var(--kh-light-line);flex-direction:column;align-items:stretch;gap:0}.kh-nav-links.is-open{display:flex}.kh-nav-links>a:not(.kh-btn){padding:13px 0}.kh-nav-links .kh-btn{margin-top:12px}.kh-hero-grid,.kh-editorial-grid,.kh-process-grid,.kh-about-band-grid,.kh-contact-grid,.kh-page-hero-grid,.kh-about-page-grid{grid-template-columns:1fr}.kh-hero-grid{min-height:auto;padding:80px 0 90px}.kh-page-number{display:none}.kh-intro-strip-grid{grid-template-columns:1fr}.kh-intro-strip-grid>div{border-right:0;border-bottom:1px solid var(--kh-line)}.kh-build-cards{grid-template-columns:1fr}.kh-project-grid{grid-template-columns:1fr 1fr}.kh-process-list{margin-top:15px}.kh-footer-brand-row{align-items:flex-start;flex-direction:column}.kh-footer-grid{grid-template-columns:1fr 1fr}.kh-values-grid{grid-template-columns:1fr}.kh-values-grid>div,.kh-values-grid>div:first-child{padding:25px 0;border-right:0;border-bottom:1px solid var(--kh-line)}.kh-values-grid>div:last-child{border-bottom:0}.kh-section-heading{align-items:start;flex-direction:column}.kh-page-list>div{grid-template-columns:45px 1fr}.kh-page-list small{grid-column:2}.kh-project-single-image+.kh-project-single-head{position:relative}}
@media(max-width:620px){.kh-container{width:min(100% - 30px,1240px)}.kh-section{padding:82px 0}.kh-nav{min-height:82px}.kh-nav-links{top:82px}.kh-brand-lockup{gap:8px}.kh-logo-mark{width:44px;height:36px;flex-basis:44px}.kh-logo-mark img{width:69px;left:-12.5px;top:-1px}.kh-brand-main{font-size:13px;letter-spacing:.2em}.kh-brand-script{font-size:16px;gap:4px}.kh-brand-script i{width:12px}.kh-hero h1{font-size:clamp(56px,18vw,82px)}.kh-architecture-card,.kh-hero-photo{min-height:430px}.kh-build-card{min-height:390px;padding:30px}.kh-project-grid{grid-template-columns:1fr}.kh-process-list>div{grid-template-columns:42px 1fr;gap:12px}.kh-process-list p{grid-column:2}.kh-contact-card{padding:26px 19px}.kh-form-grid{grid-template-columns:1fr}.kh-field--full{grid-column:auto}.kh-footer-grid{grid-template-columns:1fr}.kh-footer-bottom{flex-direction:column}.kh-brand-lockup--footer{transform:none}.kh-page-hero{padding:85px 0 72px}.kh-about-brand-card,.kh-about-page-grid>div:first-child{min-height:360px}.kh-about-page-grid{gap:55px}}


/* v4 — services-led construction site */
.kh-photo-caption{position:absolute;left:32px;bottom:27px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;z-index:2}
.kh-architecture-card--v4 .kh-architecture-label{gap:10px}.kh-architecture-card--v4 .kh-architecture-label i{width:23px}
.kh-service-ribbon{background:var(--kh-green);border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.08)}
.kh-service-ribbon-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.kh-service-ribbon a{position:relative;display:flex;align-items:center;justify-content:center;min-height:76px;padding:18px 14px;color:#b9cbc4;border-right:1px solid rgba(255,255,255,.09);font-size:9px;font-weight:700;letter-spacing:.13em;text-align:center;text-transform:uppercase;transition:.25s ease}
.kh-service-ribbon a:first-child{border-left:1px solid rgba(255,255,255,.09)}.kh-service-ribbon a:hover{background:rgba(255,255,255,.055);color:#fff}
.kh-introduction{background:var(--kh-cream)}.kh-introduction .kh-editorial-copy .kh-text-link{margin-top:20px}
.kh-services-home{background:var(--kh-ivory)}
.kh-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--kh-line);border-left:1px solid var(--kh-line)}
.kh-service-card{position:relative;min-height:320px;padding:38px 34px 34px;background:#fff;border-right:1px solid var(--kh-line);border-bottom:1px solid var(--kh-line);display:flex;flex-direction:column;transition:.28s ease;overflow:hidden}
.kh-service-card:after{content:"";position:absolute;right:-80px;bottom:-120px;width:230px;height:230px;border:1px solid rgba(20,39,32,.08);border-radius:50%;transition:.35s ease}.kh-service-card:hover{transform:translateY(-4px);box-shadow:0 24px 65px rgba(20,39,32,.08);z-index:2}.kh-service-card:hover:after{transform:scale(1.08)}
.kh-service-card>span{color:var(--kh-sage);font-family:var(--kh-serif);font-size:35px;line-height:1}.kh-service-card h3{margin:54px 0 12px;font-family:var(--kh-serif);font-size:34px;font-weight:600;line-height:1}.kh-service-card p{margin:0;color:var(--kh-muted);font-size:12px;line-height:1.85}.kh-service-card i{margin-top:auto;padding-top:28px;color:var(--kh-green-3);font-style:normal;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.kh-service-card--dark{background:var(--kh-green);color:#fff}.kh-service-card--dark>span{color:#76958a}.kh-service-card--dark p{color:#9eb2aa}.kh-service-card--dark i{color:#d9e5e0}.kh-service-card--dark:after{border-color:rgba(255,255,255,.08)}
.kh-service-card--sage{background:#dfe9e5}.kh-service-card--sage p{color:#52655e}
.kh-process-list--six>div{grid-template-columns:58px 170px 1fr;padding:22px 0}.kh-process-list--six h3{font-size:25px}.kh-process-list--six p{font-size:11px}
.kh-service-detail-section{background:#fff}.kh-service-detail-list{border-top:1px solid var(--kh-line)}
.kh-service-detail{scroll-margin-top:160px;display:grid;grid-template-columns:90px .95fr 1.05fr;gap:54px;align-items:start;padding:58px 0;border-bottom:1px solid var(--kh-line)}
.kh-service-detail-number{color:#c7d8d2;font-family:var(--kh-serif);font-size:56px;line-height:.8}.kh-service-detail h2{max-width:560px;margin:12px 0 0;font-family:var(--kh-serif);font-size:clamp(38px,4.2vw,58px);font-weight:500;letter-spacing:-.035em;line-height:.98}.kh-service-detail>p{margin:9px 0 0;color:var(--kh-muted);font-size:13px;line-height:1.95}
.kh-service-sectors{background:var(--kh-cream);padding-top:0}.kh-sector-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.kh-sector-card{min-height:330px;padding:48px;background:#fff;border:1px solid rgba(20,39,32,.08)}.kh-sector-card h3{max-width:520px;margin:18px 0 14px;font-family:var(--kh-serif);font-size:clamp(34px,4vw,50px);font-weight:500;line-height:1}.kh-sector-card p{max-width:520px;color:var(--kh-muted);font-size:12px;line-height:1.85}.kh-sector-card--dark{background:var(--kh-green);color:#fff}.kh-sector-card--dark .kh-eyebrow{color:#a8beb6}.kh-sector-card--dark p{color:#9eb2aa}
.kh-process-page-section{background:#fff}.kh-process-page-list{border-top:1px solid var(--kh-line)}.kh-process-page-list article{display:grid;grid-template-columns:110px .85fr 1.15fr;gap:55px;align-items:start;padding:60px 0;border-bottom:1px solid var(--kh-line)}.kh-process-page-list article>span{color:#c3d5cf;font-family:var(--kh-serif);font-size:64px;line-height:.8}.kh-process-page-list h2{margin:8px 0 0;font-family:var(--kh-serif);font-size:clamp(38px,4vw,56px);font-weight:500;line-height:.95}.kh-process-page-list article>p{margin:3px 0 0;color:var(--kh-muted);font-size:13px;line-height:1.95}
.kh-process-principles{background:var(--kh-cream)}.kh-principle-grid{border-top:1px solid rgba(20,39,32,.15)}.kh-principle-grid>div{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:25px 0;border-bottom:1px solid rgba(20,39,32,.15)}.kh-principle-grid strong{font-family:var(--kh-serif);font-size:25px;font-weight:600}.kh-principle-grid p{margin:4px 0 0;color:var(--kh-muted);font-size:12px;line-height:1.8}
.kh-page-hero--services,.kh-page-hero--process-page{background:linear-gradient(135deg,var(--kh-green) 0%,#1e382f 100%)}

@media(max-width:1120px){.kh-nav-links{gap:16px}.kh-nav-links>a:not(.kh-btn){font-size:9px}.kh-service-ribbon-grid{grid-template-columns:repeat(3,1fr)}.kh-service-ribbon a:nth-child(3n){border-right:1px solid rgba(255,255,255,.09)}.kh-service-grid{grid-template-columns:repeat(2,1fr)}.kh-process-list--six>div{grid-template-columns:48px 150px 1fr}}
@media(max-width:860px){.kh-service-detail,.kh-process-page-list article{grid-template-columns:70px 1fr;gap:24px}.kh-service-detail>p,.kh-process-page-list article>p{grid-column:2}.kh-sector-grid{grid-template-columns:1fr}.kh-process-list--six>div{grid-template-columns:48px 1fr}.kh-process-list--six p{grid-column:2}}
@media(max-width:620px){.kh-service-ribbon-grid{grid-template-columns:repeat(2,1fr)}.kh-service-ribbon a{min-height:65px}.kh-service-grid{grid-template-columns:1fr}.kh-service-card{min-height:285px;padding:30px 26px}.kh-service-card h3{margin-top:40px}.kh-service-detail,.kh-process-page-list article{grid-template-columns:48px 1fr;gap:17px;padding:42px 0}.kh-service-detail-number,.kh-process-page-list article>span{font-size:42px}.kh-service-detail>p,.kh-process-page-list article>p{grid-column:1/-1;padding-left:65px}.kh-sector-card{min-height:auto;padding:35px 28px}.kh-principle-grid>div{grid-template-columns:1fr;gap:5px}.kh-contact-side-note{flex-wrap:wrap}}


/* v6 homepage refinements */
.kh-hero--v6 .kh-hero-grid{min-height:700px;padding-top:76px;padding-bottom:88px}
.kh-hero-photo--featured{min-height:535px;background-size:cover;background-position:center 52%;border-radius:4px;box-shadow:0 34px 90px rgba(20,39,32,.18)}
.kh-hero-photo--featured:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(10,23,19,.10),transparent 45%,rgba(10,23,19,.05));z-index:1;pointer-events:none}
.kh-hero-photo--featured .kh-hero-photo-shade{z-index:2;background:linear-gradient(to top,rgba(8,20,16,.28),transparent 45%)}
.kh-hero-photo-frame{position:absolute;inset:18px;border:1px solid rgba(255,255,255,.28);z-index:3;pointer-events:none}
.kh-inquiry--home-top{background:var(--kh-cream);border-top:1px solid var(--kh-line);border-bottom:1px solid var(--kh-line);padding-top:96px;padding-bottom:104px}
.kh-inquiry--home-top .kh-contact-card{box-shadow:0 28px 85px rgba(20,39,32,.08)}
.kh-home-work-cta{background:var(--kh-green);color:#fff;padding:72px 0}
.kh-home-work-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.kh-home-work-cta h2{margin:12px 0 0;font-family:var(--kh-serif);font-size:clamp(38px,4vw,58px);font-weight:500;letter-spacing:-.04em;line-height:1}
.kh-sister-company{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;margin-top:34px;padding:24px 0;border-bottom:1px solid var(--kh-light-line);color:#d9e4e0}
.kh-sister-company span{color:#789188;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.kh-sister-company strong{font-family:var(--kh-serif);font-size:24px;font-weight:500;letter-spacing:.01em}
.kh-sister-company small{color:#9eb2aa;font-size:11px;letter-spacing:.04em}
.kh-sister-company:hover strong,.kh-sister-company:hover small{color:#fff}
@media(max-width:900px){.kh-sister-company{grid-template-columns:1fr}.kh-home-work-cta-inner{align-items:flex-start;flex-direction:column}.kh-hero--v6 .kh-hero-grid{padding-top:58px}}
@media(max-width:620px){.kh-hero-photo--featured{min-height:390px}.kh-hero-photo-frame{inset:12px}.kh-inquiry--home-top{padding-top:76px;padding-bottom:82px}.kh-home-work-cta{padding:58px 0}}


/* =========================================================
   v7 — OUR WORK CURATED PORTFOLIO
   ========================================================= */
.kh-page-hero--work-v7{background:linear-gradient(135deg,var(--kh-green) 0%,#1b332b 100%);padding:110px 0 100px;overflow:hidden;position:relative}
.kh-page-hero--work-v7:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-180px;top:-220px}
.kh-work-hero-inner{position:relative;z-index:2;text-align:center;max-width:940px}
.kh-page-hero--work-v7 .kh-kicker:before{display:none}.kh-page-hero--work-v7 .kh-title{color:#fff;font-size:clamp(58px,7.4vw,104px);margin-top:22px}.kh-page-hero--work-v7 .kh-title em{color:#b8cdc5;font-weight:500}.kh-page-hero--work-v7 .kh-copy{margin:0 auto;max-width:700px}
.kh-work-gallery-section{background:#f7f4ed;padding:92px 0 112px}
.kh-work-gallery-intro{display:grid;grid-template-columns:.65fr 1.1fr 1fr;gap:42px;align-items:end;margin-bottom:48px;padding-bottom:30px;border-bottom:1px solid var(--kh-line)}
.kh-work-gallery-intro h2{margin:0;font-family:var(--kh-serif);font-size:clamp(42px,5vw,66px);font-weight:500;letter-spacing:-.045em;line-height:.95}.kh-work-gallery-intro p{margin:0;color:var(--kh-muted);font-size:13px;line-height:1.9}
.kh-work-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;grid-auto-rows:68px;gap:18px}
.kh-work-item{position:relative;overflow:hidden;background:#d9d3c8;min-width:0;min-height:360px}.kh-work-item--feature{grid-column:span 8;grid-row:span 8}.kh-work-item--wide{grid-column:span 4;grid-row:span 8}.kh-work-item--landscape{grid-column:span 6;grid-row:span 6}.kh-work-item--portrait{grid-column:span 4;grid-row:span 7}.kh-work-item:nth-child(6){grid-column:span 8;grid-row:span 7}.kh-work-item:nth-child(7){grid-column:span 4;grid-row:span 7}.kh-work-item:nth-child(8),.kh-work-item:nth-child(9){grid-column:span 6;grid-row:span 6}
.kh-work-item-media{position:absolute;inset:0}.kh-work-item-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease}.kh-work-item-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,22,17,.72),rgba(8,22,17,.08) 52%,transparent 75%);transition:opacity .35s ease}.kh-work-item:hover img{transform:scale(1.035)}.kh-work-item:hover .kh-work-item-shade{opacity:.9}
.kh-work-item-caption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:28px 30px;color:#fff}.kh-work-item-caption span{display:block;margin-bottom:7px;color:#c9dad4;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.kh-work-item-caption h3{margin:0;font-family:var(--kh-serif);font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-.035em;line-height:.95}
.kh-work-footer-cta{background:var(--kh-green);color:#fff;padding:85px 0}.kh-work-footer-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.kh-work-footer-cta h2{margin:12px 0 0;font-family:var(--kh-serif);font-size:clamp(44px,5vw,68px);font-weight:500;letter-spacing:-.045em;line-height:.95}
@media(max-width:980px){.kh-work-gallery-intro{grid-template-columns:1fr}.kh-work-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}.kh-work-item,.kh-work-item--feature,.kh-work-item--wide,.kh-work-item--landscape,.kh-work-item--portrait,.kh-work-item:nth-child(6),.kh-work-item:nth-child(7),.kh-work-item:nth-child(8),.kh-work-item:nth-child(9){grid-column:auto;grid-row:auto;min-height:460px}.kh-work-item:nth-child(3n+1){grid-column:1/-1;min-height:560px}.kh-work-footer-cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.kh-page-hero--work-v7{padding:76px 0 70px}.kh-work-gallery-section{padding:54px 0 72px}.kh-work-gallery{display:block}.kh-work-item,.kh-work-item--feature,.kh-work-item--wide,.kh-work-item--landscape,.kh-work-item--portrait,.kh-work-item:nth-child(n){min-height:0;aspect-ratio:4/5;margin-bottom:14px}.kh-work-item:nth-child(3n+1){aspect-ratio:4/3}.kh-work-item-caption{padding:22px}.kh-work-footer-cta{padding:64px 0}}
