/* Kelowna Carriage Homes — "Carriage Drawing" design system. Managed by build; edit here to restyle every page. */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Lato:wght@400;700&display=swap');
:root{--kch-bg:#F5F3F0;--kch-surface:#FFFFFF;--kch-ink:#333333;--kch-accent:#D97634;--kch-accent-hover:#C2661F;--kch-accent-link:#B85F22;--kch-charcoal:#2C3E50;--kch-charcoal-deep:#22313F;--kch-sage:#8B9B8F;--kch-sage-tint:#E7EBE6;--kch-border:#E3DED6;--kch-border-strong:#D8D2C8;--kch-input-border:#C9C2B7;--kch-muted:#4A5561;--kch-meta:#6B7684;--kch-on-dark:#C6CFD8;--kch-on-dark-muted:#9FAEBB;}
.kch-page{background:var(--kch-bg);color:var(--kch-ink);font-family:Lato,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;}
.kch-page *{box-sizing:border-box;}
.kch-page img{max-width:100%;height:auto;display:block;}
.kch-wrap{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px;}
.kch-section{padding-top:82px;padding-bottom:82px;}
.kch-section--tight{padding-top:56px;padding-bottom:56px;}
.kch-section--flush-b{padding-bottom:20px;}
.kch-page h1,.kch-page h2,.kch-page h3,.kch-page h4{font-family:Montserrat,Helvetica,Arial,sans-serif;color:var(--kch-charcoal);margin:0;}
.kch-eyebrow{font-family:Lato,sans-serif;font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--kch-sage);margin:0 0 14px;}
.kch-h1{font-weight:800;font-size:58px;line-height:1.04;letter-spacing:-1.4px;text-wrap:balance;}
.kch-h2{font-weight:800;font-size:38px;line-height:1.1;letter-spacing:-0.8px;}
.kch-h3{font-weight:700;font-size:21px;line-height:1.25;}
.kch-lead{font-size:20px;line-height:1.6;color:var(--kch-muted);margin:18px 0 0;max-width:34em;}
.kch-prose{font-size:18px;line-height:1.75;color:var(--kch-muted);}
.kch-prose p{margin:0 0 18px;}
.kch-prose a{color:var(--kch-accent-link);}
.kch-prose a:hover{color:var(--kch-accent);}
.kch-note{font-size:13px;line-height:1.55;color:var(--kch-meta);}
.kch-btn{display:inline-block;font-family:Montserrat,sans-serif;font-weight:700;font-size:16px;line-height:1;padding:17px 26px;border-radius:3px;text-decoration:none;transition:background .16s,color .16s,transform .16s;cursor:pointer;}
.kch-btn--primary{background:var(--kch-accent);color:#fff;box-shadow:0 3px 0 rgba(0,0,0,0.14);}
.kch-btn--primary:hover{background:var(--kch-accent-hover);color:#fff;transform:translateY(-1px);}
.kch-btn--ghost{background:transparent;color:var(--kch-charcoal);border:2px solid var(--kch-charcoal);padding:15px 24px;}
.kch-btn--ghost:hover{background:var(--kch-charcoal);color:#fff;}
.kch-btn--ghost-light{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.4);padding:15px 24px;}
.kch-btn--ghost-light:hover{background:#fff;color:var(--kch-charcoal);}
.kch-btnrow{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;align-items:center;}
.kch-header{position:sticky;top:0;z-index:50;background:rgba(245,243,240,0.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--kch-border);}
.kch-header__in{max-width:1200px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;gap:32px;}
.kch-brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.kch-brand__mark{width:34px;height:34px;background:var(--kch-charcoal);flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
.kch-brand__gable{width:15px;height:15px;border-top:4px solid var(--kch-accent);border-right:4px solid var(--kch-accent);transform:rotate(-45deg);margin-bottom:-3px;}
.kch-brand__bar{width:17px;height:3px;background:var(--kch-bg);}
.kch-brand>span:last-child{display:inline-flex;flex-direction:column;justify-content:center;}.kch-brand__name{display:block;font-family:Montserrat,sans-serif;font-weight:800;font-size:16px;letter-spacing:-0.2px;color:var(--kch-charcoal);line-height:1.15;white-space:nowrap;}
.kch-brand__tag{display:block;margin-top:6px;font-family:Lato,sans-serif;font-weight:400;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--kch-sage);white-space:nowrap;}
.kch-nav{display:flex;gap:22px;margin-left:auto;font-family:Montserrat,sans-serif;font-size:14px;font-weight:700;}
.kch-nav a{color:var(--kch-charcoal);text-decoration:none;}
.kch-nav a:hover,.kch-nav a.is-active{color:var(--kch-accent);}
.kch-header__cta{display:flex;align-items:center;gap:16px;}
.kch-header__tel{font-family:Montserrat,sans-serif;font-weight:700;font-size:17px;color:var(--kch-charcoal);text-decoration:none;white-space:nowrap;}
.kch-header__tel:hover{color:var(--kch-accent);}
.kch-header .kch-btn{padding:12px 18px;font-size:13px;}
@media(max-width:1040px){.kch-nav{display:none;}.kch-header__in{gap:16px;}}
.kch-hero{border-bottom:1px solid var(--kch-border);}
.kch-hero__grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;padding-top:70px;padding-bottom:64px;}
.kch-badge{display:inline-flex;align-items:center;gap:9px;background:var(--kch-sage-tint);color:#4A5A4E;font-size:12px;font-weight:700;letter-spacing:0.6px;text-transform:uppercase;padding:8px 13px;margin-bottom:22px;}
.kch-badge__dot{width:7px;height:7px;background:var(--kch-sage);border-radius:50%;}
.kch-hero__asset{position:relative;}
.kch-hero__callout{position:absolute;bottom:-24px;left:-24px;background:var(--kch-charcoal);color:#fff;padding:20px 24px;max-width:262px;box-shadow:0 14px 30px rgba(44,62,80,0.18);}
.kch-hero__callout b{display:block;font-family:Montserrat,sans-serif;font-weight:800;font-size:22px;line-height:1.15;}
.kch-hero__callout span{font-size:14px;color:var(--kch-on-dark);margin-top:4px;display:block;}
.kch-imgph{position:relative;width:100%;background:linear-gradient(135deg,#E7EBE6 0%,#DDD8CE 46%,#CBBBA6 100%);border:1px solid var(--kch-border-strong);display:flex;align-items:center;justify-content:center;text-align:center;font-family:ui-monospace,Menlo,monospace;font-size:12px;color:#6B7684;padding:20px;}
.kch-imgph::after{content:"";position:absolute;inset:10px;border:1px dashed rgba(44,62,80,0.25);}
.kch-imgph--45{aspect-ratio:4/5;}
.kch-imgph--43{aspect-ratio:4/3;}
.kch-imgph--54{aspect-ratio:5/4;}
.kch-imgph--169{aspect-ratio:16/9;}
.kch-trust{display:flex;gap:34px;margin-top:38px;padding-top:26px;border-top:1px solid var(--kch-border);flex-wrap:wrap;}
.kch-trust__n{font-family:Montserrat,sans-serif;font-weight:800;font-size:24px;color:var(--kch-charcoal);}
.kch-trust__l{font-size:12px;letter-spacing:0.6px;text-transform:uppercase;color:var(--kch-meta);font-weight:700;}
.kch-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;}
.kch-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:23px;}
.kch-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.kch-card{background:var(--kch-surface);border:1px solid var(--kch-border);padding:32px 28px;transition:transform .18s,box-shadow .18s;}
.kch-card--lift:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(44,62,80,0.10);}
.kch-card--shadow:hover{box-shadow:0 16px 34px rgba(44,62,80,0.11);}
.kch-card--service{border-top:3px solid var(--kch-sage);display:flex;flex-direction:column;}
.kch-card__num{font-family:Montserrat,sans-serif;font-weight:800;font-size:13px;letter-spacing:1.2px;color:var(--kch-sage);margin-bottom:14px;}
.kch-card h3{margin-bottom:10px;}
.kch-card p{margin:0;font-size:16px;line-height:1.65;color:var(--kch-muted);}
.kch-card__link{margin-top:auto;padding-top:20px;font-family:Montserrat,sans-serif;font-weight:700;font-size:15px;color:var(--kch-accent-link);text-decoration:none;}
.kch-card__link:hover{color:var(--kch-accent);}
.kch-icon{width:46px;height:46px;border:2px solid var(--kch-accent);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.kch-icon i{width:18px;height:18px;border-top:3px solid var(--kch-accent);border-right:3px solid var(--kch-accent);transform:rotate(-45deg);display:block;}
.kch-icon--circle i{width:18px;height:18px;border:3px solid var(--kch-accent);border-radius:50%;transform:none;}
.kch-icon--arch i{width:20px;height:13px;border:3px solid var(--kch-accent);border-bottom:none;transform:none;}
.kch-callout{background:var(--kch-charcoal);color:#fff;position:relative;overflow:hidden;padding:52px 54px;display:grid;grid-template-columns:1.15fr 0.85fr;gap:46px;align-items:center;}
.kch-callout::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--kch-accent);}
.kch-callout h2{color:#fff;}
.kch-callout p{color:var(--kch-on-dark);font-size:17px;line-height:1.65;}
.kch-callout .kch-eyebrow{color:var(--kch-sage);}
.kch-checklist{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin:22px 0 26px;}
.kch-checklist div{font-size:15px;color:#E5EAEF;}
.kch-checklist b{color:var(--kch-accent);font-weight:700;margin-right:8px;}
.kch-panel{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);padding:28px;}
.kch-panel__t{font-family:Montserrat,sans-serif;font-weight:800;font-size:15px;margin-bottom:16px;}
.kch-panel__row{display:flex;justify-content:space-between;gap:16px;font-size:15px;color:#E5EAEF;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.12);}
.kch-panel__row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.kch-panel__row b{color:#fff;}
.kch-shead{margin-bottom:42px;max-width:46em;}
.kch-shead p{font-size:18px;color:#5A6572;margin:12px 0 0;}
.kch-shead--row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;max-width:none;}
.kch-morelink{font-family:Montserrat,sans-serif;font-weight:700;font-size:15px;color:var(--kch-accent-link);text-decoration:none;white-space:nowrap;}
.kch-morelink:hover{color:var(--kch-accent);}
.kch-tile{border:1px solid var(--kch-border-strong);background:#fff;transition:box-shadow .18s;}
.kch-tile:hover{box-shadow:0 16px 34px rgba(44,62,80,0.12);}
.kch-tile__cap{padding:20px 22px;}
.kch-tile__cap b{font-family:Montserrat,sans-serif;font-weight:700;font-size:17px;color:var(--kch-charcoal);display:block;}
.kch-tile__cap span{font-size:14px;color:var(--kch-sage);font-weight:700;margin-top:3px;display:block;}
.kch-nb{display:block;background:#fff;border:1px solid var(--kch-border);padding:24px 24px 22px;color:var(--kch-ink);text-decoration:none;transition:transform .18s,box-shadow .18s;}
.kch-nb:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(44,62,80,0.10);}
.kch-nb b{font-family:Montserrat,sans-serif;font-weight:700;font-size:20px;color:var(--kch-charcoal);display:block;margin-bottom:8px;}
.kch-nb p{font-size:15px;line-height:1.6;color:#5A6572;margin:0 0 14px;}
.kch-nb span{font-family:Montserrat,sans-serif;font-weight:700;font-size:14px;color:var(--kch-accent-link);}
.kch-faq .elementor-accordion .elementor-accordion-item{background:#fff;border:1px solid var(--kch-border);margin-bottom:12px;}
.kch-faq .elementor-accordion .elementor-tab-title{font-family:Montserrat,sans-serif;font-weight:700;font-size:18px;color:var(--kch-charcoal);padding:22px 26px;}
.kch-faq .elementor-accordion .elementor-tab-content{font-size:16px;line-height:1.7;color:#5A6572;padding:0 26px 22px;}
.kch-faq .elementor-accordion .elementor-tab-title.elementor-active{color:var(--kch-accent);}
.kch-aside{background:#fff;border:1px solid var(--kch-border);border-top:4px solid var(--kch-accent);padding:28px;position:sticky;top:104px;}
.kch-aside h3{font-size:20px;margin-bottom:8px;}
.kch-aside p{font-size:15px;line-height:1.6;color:#5A6572;margin:0 0 18px;}
.kch-aside__tel{display:block;margin-top:18px;padding-top:16px;border-top:1px solid var(--kch-border);font-family:Montserrat,sans-serif;font-weight:700;font-size:18px;color:var(--kch-accent-link);text-decoration:none;}
.kch-steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:3px solid var(--kch-border);}
.kch-steps > div{padding:26px 20px;border-right:1px solid var(--kch-border);position:relative;}
.kch-steps > div:last-child{border-right:none;}
.kch-steps > div:first-child::before{content:"";position:absolute;top:-3px;left:0;right:0;height:3px;background:var(--kch-accent);}
.kch-steps__n{font-family:Montserrat,sans-serif;font-weight:800;font-size:13px;letter-spacing:1.1px;color:var(--kch-sage);margin-bottom:10px;}
.kch-steps h3{font-size:18px;margin-bottom:8px;}
.kch-steps p{font-size:15px;line-height:1.6;color:#5A6572;margin:0;}
.kch-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;}
.kch-stats > div{background:#fff;border:1px solid var(--kch-border);padding:22px;}
.kch-stats b{font-family:Montserrat,sans-serif;font-weight:800;font-size:24px;color:var(--kch-charcoal);display:block;}
.kch-stats span{font-size:14px;color:var(--kch-meta);font-weight:700;}
.kch-crumb{font-size:14px;color:#7A8590;padding:24px 0 0;}
.kch-crumb a{color:#7A8590;text-decoration:none;}
.kch-crumb a:hover{color:var(--kch-accent);}
.kch-crumb--dark{color:var(--kch-on-dark-muted);}
.kch-crumb--dark a{color:var(--kch-on-dark-muted);}
.kch-contact{background:var(--kch-charcoal);}
.kch-contact__grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start;}
.kch-contact h2{color:#fff;}
.kch-contact p{color:var(--kch-on-dark);}
.kch-contact__tel{display:inline-flex;align-items:center;gap:12px;background:var(--kch-accent);color:#fff;font-family:Montserrat,sans-serif;font-weight:800;font-size:22px;padding:18px 26px;border-radius:3px;text-decoration:none;}
.kch-contact__tel:hover{background:var(--kch-accent-hover);color:#fff;}
.kch-formcard{background:var(--kch-bg);padding:32px;border-top:4px solid var(--kch-accent);}
.kch-formcard h3{font-size:21px;margin-bottom:6px;}
.kch-formcard .kch-note{margin-bottom:20px;}
.kch-formcard input,.kch-formcard textarea,.kch-formcard select{font-family:Lato,sans-serif;font-size:16px;padding:14px 15px;border:1px solid var(--kch-input-border);background:#fff;border-radius:2px;width:100%;}
.kch-formcard input:focus,.kch-formcard textarea:focus{outline:2px solid var(--kch-accent);border-color:var(--kch-accent);}
.kch-formcard label{font-size:14px;font-weight:700;color:var(--kch-charcoal);display:block;margin-bottom:7px;}
.kch-formcard .grunion-field-wrap{margin-bottom:16px;}
.kch-footer{background:var(--kch-charcoal-deep);color:var(--kch-on-dark);}
.kch-footer__in{max-width:1200px;margin:0 auto;padding:58px 32px 28px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px;}
.kch-footer__name{font-family:Montserrat,sans-serif;font-weight:800;font-size:18px;color:#fff;margin-bottom:12px;}
.kch-footer p{font-size:15px;line-height:1.7;margin:0 0 16px;}
.kch-footer h4{font-family:Montserrat,sans-serif;font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--kch-sage);margin:0 0 14px;}
.kch-footer__col a{display:block;color:var(--kch-on-dark);text-decoration:none;font-size:15px;margin-bottom:10px;}
.kch-footer__col a:hover{color:var(--kch-accent);}
.kch-footer__chips{display:flex;gap:10px;flex-wrap:wrap;}
.kch-footer__chips span{border:1px solid rgba(255,255,255,0.22);padding:7px 11px;font-size:12px;font-weight:700;letter-spacing:0.5px;color:#E5EAEF;}
.kch-footer__bar{border-top:1px solid rgba(255,255,255,0.12);}
.kch-footer__bar div{max-width:1200px;margin:0 auto;padding:18px 32px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#8895A3;flex-wrap:wrap;}
.kch-footer__bar a{color:#8895A3;text-decoration:none;}
.kch-footer__legal{font-size:13px;line-height:1.6;color:#8895A3;margin-top:14px;}
.kch-ph{display:inline;background:transparent;border:0;border-bottom:1px dotted currentColor;color:#B06A2E;font-family:inherit;font-size:inherit;font-style:normal;padding:0 1px;border-radius:0;white-space:normal;}
.kch-footer .kch-ph,.kch-callout .kch-ph,.kch-contact .kch-ph,.kch-hero__callout .kch-ph{color:#E3B48C;border-bottom-color:rgba(227,180,140,.55);}
@media(max-width:1040px){.kch-hero__grid,.kch-callout,.kch-contact__grid{grid-template-columns:1fr;gap:34px;}.kch-grid-3,.kch-grid-2,.kch-grid-4,.kch-stats,.kch-checklist{grid-template-columns:1fr;}.kch-steps{grid-template-columns:1fr;}.kch-steps > div{border-right:none;border-bottom:1px solid var(--kch-border);}.kch-h1{font-size:38px;letter-spacing:-0.8px;}.kch-h2{font-size:27px;}.kch-section{padding-top:56px;padding-bottom:56px;}.kch-hero__callout{position:static;margin-top:16px;max-width:none;}.kch-footer__in{grid-template-columns:1fr 1fr;}.kch-shead--row{flex-direction:column;align-items:flex-start;gap:14px;}.kch-aside{position:static;}}
@media(max-width:560px){.kch-footer__in{grid-template-columns:1fr;}.kch-wrap{padding-left:20px;padding-right:20px;}}
/* FAQ native details */
.kch-faqx details{background:#fff;border:1px solid var(--kch-border);margin-bottom:12px;padding:0 26px;}
.kch-faqx summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:Montserrat,sans-serif;font-weight:700;font-size:18px;color:var(--kch-charcoal);padding:22px 0;}
.kch-faqx summary::-webkit-details-marker{display:none;}
.kch-faqx summary::after{content:'+';font-family:Montserrat,sans-serif;color:var(--kch-accent);font-size:26px;line-height:1;flex:none;transition:transform .2s;}
.kch-faqx details[open] summary::after{transform:rotate(45deg);}
.kch-faqx details > div{font-size:16px;line-height:1.7;color:#5A6572;padding:0 0 22px;}
.kch-faqx details > div a{color:var(--kch-accent-link);}
.kch-faqx details[open] summary{color:var(--kch-accent);}
.kch-two{display:grid;grid-template-columns:0.8fr 1.2fr;gap:56px;align-items:start;}
.kch-side-split{display:grid;grid-template-columns:1.35fr 0.65fr;gap:56px;align-items:start;}
@media(max-width:1040px){.kch-two,.kch-side-split{grid-template-columns:1fr;gap:34px;}}

/* base page ground per design file */
body.page-template-elementor_canvas{background:#F5F3F0;color:#333333;font-family:Lato,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;}
body.page-template-elementor_canvas .elementor-section{background-color:transparent;}

/* Contact Form 7 */
.kch-cf7 label{font-size:14px;font-weight:700;color:var(--kch-charcoal);display:block;}
.kch-cf7 p{margin:0 0 16px;}
.kch-cf7-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.kch-cf7 input[type=text],.kch-cf7 input[type=email],.kch-cf7 input[type=tel],.kch-cf7 textarea{width:100%;font-family:Lato,sans-serif;font-size:16px;padding:13px 14px;border:1px solid var(--kch-input-border);background:#fff;border-radius:2px;margin-top:6px;}
.kch-cf7 input:focus,.kch-cf7 textarea:focus{outline:2px solid var(--kch-accent);border-color:var(--kch-accent);}
.kch-cf7 input[type=submit]{background:var(--kch-accent);color:#fff;font-family:Montserrat,sans-serif;font-weight:800;font-size:16px;border:0;border-radius:3px;padding:16px 24px;cursor:pointer;box-shadow:0 3px 0 rgba(0,0,0,0.14);width:100%;}
.kch-cf7 input[type=submit]:hover{background:var(--kch-accent-hover);}
.kch-cf7 .wpcf7-not-valid-tip{color:#b3261e;font-size:13px;margin-top:4px;}
.kch-cf7 .wpcf7-response-output{border-radius:2px;font-size:14px;margin:12px 0 0;padding:10px 12px;}
.kch-aside .kch-cf7-row{grid-template-columns:1fr;}
@media(max-width:1040px){.kch-cf7-row{grid-template-columns:1fr;}}

/* real hero images */
.kch-imgwrap{position:relative;width:100%;overflow:hidden;border:1px solid var(--kch-border-strong);}
.kch-imgwrap img{display:block;width:100%;height:100%;object-fit:cover;}
.kch-imgwrap--45{aspect-ratio:4/5;}
.kch-imgwrap--43{aspect-ratio:4/3;}
.kch-imgwrap--54{aspect-ratio:5/4;}
