/* Readable editorial typography with explicit light and dark surfaces. */
:root{--ink:#343e38;--brass:#76521c;--brass-light:#e4c58d;--ks-paper:#faf7f0;--ks-ink:#203b31;--ks-muted:#4c5d53;--ks-border:#c6cec5}
body{font-size:17px;line-height:1.7}p{overflow-wrap:break-word}h1,h2,h3{line-height:1.15;text-wrap:balance}h2{font-size:clamp(2rem,4vw,3.5rem)}button,input,select,textarea{font-size:max(1rem,16px)}input,select,textarea{color:#203b31;background:#fffdf8}input::placeholder,textarea::placeholder{color:#5f685f;opacity:1}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #b27619;outline-offset:4px}.eyebrow{font-size:.8rem;letter-spacing:.16em}.hero p.lede{color:#f3f1e9}.hero .eyebrow,.value .eyebrow{color:#f0d8a6}.value,.value p{color:#f3f1e9}.hero .btn-outline{color:#fff;background:#15382c80;border-color:#ecebe1}.hero .btn-outline:hover{background:#fff;color:#173d32}
html.night{--ink:#e5e9e3;--brass:#e5c58d;--ks-paper:#14271f;--ks-ink:#f3f2e9;--ks-muted:#d2ddd2;--ks-border:#65786a}html.night input,html.night select,html.night textarea{background:#20382b;color:#fff}html.night input::placeholder,html.night textarea::placeholder{color:#d0dacd}
.ks-planner{background:var(--ks-paper);color:var(--ks-ink);padding:clamp(48px,7vw,96px) 24px;border-block:1px solid var(--ks-border)}.ks-planner-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}.ks-planner h2{color:var(--ks-ink);margin:12px 0 20px}.ks-planner p{color:var(--ks-muted);max-width:55ch}.ks-planner .ks-label{font:600 .8rem/1.5 var(--sans);letter-spacing:.15em;text-transform:uppercase}.ks-steps{margin:24px 0;padding-left:22px;color:var(--ks-ink)}.ks-steps li{margin:12px 0}.ks-steps a{font-weight:600;text-decoration:underline;text-underline-offset:4px}.ks-brief{border:1px solid var(--ks-border);border-radius:14px;padding:clamp(20px,3vw,32px);background:var(--stone-50)}.ks-brief h3{color:var(--ks-ink);font-size:1.6rem;margin:0 0 8px}.ks-brief label{display:block;color:var(--ks-ink);font-size:.9rem;font-weight:600;margin:16px 0 6px}.ks-brief input,.ks-brief select,.ks-brief textarea{width:100%;padding:12px;border:1px solid var(--ks-border);border-radius:6px;line-height:1.4}.ks-brief textarea{min-height:100px;resize:vertical}.ks-brief-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.ks-brief-actions button,.ks-brief-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border:1px solid var(--ks-border);border-radius:6px;font-size:.9rem;background:var(--ks-paper);color:var(--ks-ink);cursor:pointer;text-decoration:none}.ks-brief-actions a,.ks-brief-actions #ks-quote-brief{background:#173d32;color:#fff;border-color:#173d32;width:100%}.ks-brief #ks-brief-status{font-size:.85rem;min-height:1.5em;margin-top:14px}.ks-brief .ks-private{font-size:.85rem;margin:8px 0 0}
.chat-panel{width:min(450px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 32px));border-radius:14px;background:#f8f7f1;color:#223c30}.chat-head{background:#173d32;color:#fff}.chat-head .who b{font-family:var(--sans);font-size:1rem}.chat-head .who span{color:#edf2eb;font-size:.75rem}.chat-head .dot-live{display:none}.chat-head button{opacity:1;min-width:44px;min-height:44px}.chat-log{background:#f8f7f1;min-height:160px;overscroll-behavior:contain}.chat-log .msg.bot{background:white;color:#24392d;border-color:#c8d1c6;font-size:1rem;line-height:1.6;max-width:96%}.chat-log .msg.me{background:#173d32;color:#fff;font-size:1rem}.chat-foot{background:#f8f7f1;border-top:1px solid #c8d1c6;padding:14px}.ks-chat-topics{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.ks-chat-topics p{width:100%;font-size:.8rem;color:#44594a}.ks-chat-topics button,.ks-browse{font:500 .85rem/1.4 var(--sans);padding:10px 12px;min-height:44px;border:1px solid #9daf9c;border-radius:8px;background:#fff;color:#203d2e;cursor:pointer;text-align:left}.ks-chat-topics button:hover{background:#e6eee2}.ks-chat-form{display:flex;gap:6px}.ks-chat-form input{min-width:0;flex:1;background:white!important;color:#203d2e!important;border:1px solid #8b9e8c;border-radius:6px;padding:10px;font-size:16px}.ks-chat-form input::placeholder{color:#506352!important}.ks-chat-form button{border:0;border-radius:6px;background:#173d32;color:#fff;padding:10px 14px;cursor:pointer}.ks-browse{margin-top:10px;width:100%;text-align:center;background:#e9eee5}.ks-chat-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px}.ks-chat-links a{font-size:.85rem;color:#203d2e;text-decoration:underline;text-underline-offset:3px}.chat-foot .chat-priv{font-size:.75rem;color:#4d5b4e;margin-top:10px}.chat-launch{color:#fff!important;background:#173d32!important}.chat-launch .cl-txt span{color:#f0f3ee!important}
@media(max-width:760px){.ks-planner-inner{grid-template-columns:1fr}.ks-planner{padding-inline:20px}.chat-panel{right:12px;bottom:12px}.chat-log{padding:16px 12px}.chat-foot{padding:12px}body{font-size:16px}.ks-chat-links a{min-height:30px;display:inline-flex;align-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Keep the guide above sticky site navigation and isolate it from estimate-form styles. */
.chat-panel{z-index:10010}.chat-launch{z-index:10009}.chat-log{min-height:0}.ks-chat-form{padding:0;margin:0;border:0;box-shadow:none;border-radius:0;background:transparent}.ks-chat-form input{margin:0;min-height:46px}.ks-chat-form button{min-height:46px}.chat-head{min-height:76px}
.btn.btn-wa{background:#176438;color:#fff;border-color:#176438}.bl-switch{color:#fff}
html.night .chat-panel,html.night .chat-log,html.night .chat-foot{background:#14271f;color:#eef3e9}html.night .chat-log .msg.bot{background:#223d2d;color:#f3f5ee;border-color:#6e856f}html.night .chat-log .msg.me{background:#e6ecdf;color:#1c3929}html.night .ks-chat-topics p,html.night .ks-chat-links a,html.night .chat-foot .chat-priv{color:#e0e9dc}html.night .ks-chat-topics button,html.night .ks-browse{background:#264734;color:#f3f5ee;border-color:#8da08c}html.night .ks-chat-form button{background:#e4c58d;color:#233628}
/* Quiet, solid text surfaces; project photography keeps its own image treatment. */
.stoned{background-image:none!important;background-color:var(--stone-50)}.stoned.alt{background-color:var(--stone-100)}.tiled::before,.tiled::after{display:none}.tiled{background-color:#173d32}.tiled,.tiled p{color:#eef1e8}footer.tiled,footer.tiled a,footer.tiled small,footer.tiled .foot-bottom{color:#e0e7dc}
html.night .btn.btn-dark{background:#e5c58d;color:#21382b;border-color:#e5c58d}html.night .sec-head,html.night .sec-head p{color:#dce4d7}html.night .flag,html.night .hotspot,html.night .map-spot{color:#f4f4ec}html.night .step-detail,html.night .step-detail-body{background:#20382b;color:#e6eee0}html.night .step-detail-body h3,html.night .step-detail-body p,html.night .step-detail-body li{color:#edf2e7}
html.night #projects .job-cta .btn.btn-dark{background:#e5c58d;color:#21382b}html.night p.sec-head{color:#dce4d7!important}#projects .job-cta .btn-dark:hover{background:#e5c58d;color:#21382b}
:root{--text:#343e38}html.night{--text:#e5e9e3}body>header{background:#faf7f0!important;border-bottom:1px solid #cdd3c8}body>header .brand,body>header .brand small,body>header nav a,body>header .nav-links a,body>header .hamb{color:#203b31!important}body>header a.btn{background:#173d32!important;color:#fff!important;border-color:#173d32!important}html.night body>header{background:#14271f!important;border-color:#526655}html.night body>header .brand,html.night body>header .brand small,html.night body>header nav a,html.night body>header .nav-links a,html.night body>header .hamb{color:#f0f3e8!important}html.night body>header a.btn{background:#e5c58d!important;color:#203b31!important}.gen-spot{color:#fff}p.mixup{color:#f0f3e8!important;background:#173d32}[data-ks-page="thanks"] .btn-ghost{color:#203b31;background:#fffdf7;border-color:#6c7c6c}
body>header .menu-btn{color:#203b31!important;min-width:44px;min-height:44px}html.night body>header .menu-btn{color:#f0f3e8!important}
html.night .filters button.on{background:#e5c58d;color:#203b31;border-color:#e5c58d}
.ks-planning-drawer{max-width:1180px;margin:0 auto 48px;border:1px solid var(--ks-border);border-radius:12px;background:var(--ks-paper);color:var(--ks-ink)}.ks-planning-drawer>summary{cursor:pointer;padding:20px 24px;list-style:none;font-weight:600}.ks-planning-drawer>summary span{float:right}.ks-planning-drawer[open]>summary{border-bottom:1px solid var(--ks-border)}.ks-planning-drawer .ks-planner{border:0;padding:32px 24px}.ks-studio-spotlight{padding:clamp(40px,6vw,80px) 24px;max-width:1228px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}.ks-studio-spotlight h2{font-size:clamp(2rem,4vw,3rem);margin:8px 0 20px;color:var(--ks-ink)}.ks-studio-spotlight p{color:var(--ks-muted)}.ks-studio-spotlight .btn{margin:24px 0 10px}.ks-micro{font-size:.88rem}.ks-feature-links{display:grid;gap:12px}.ks-feature-links a{display:flex;justify-content:space-between;gap:15px;padding:22px;border:1px solid var(--ks-border);border-radius:10px;text-decoration:none;color:var(--ks-ink);background:var(--ks-paper)}.ks-feature-links a:hover{border-color:var(--ks-ink)}.ks-guide .reveal{opacity:1!important;transform:none!important}.ks-guide-nav{position:static!important;padding:20px 5%;display:flex;justify-content:space-between;gap:20px}.ks-guide-nav nav{display:flex;align-items:center;gap:20px}.ks-guide-intro{padding:60px 24px;max-width:1180px;margin:auto}.ks-guide-intro p{max-width:65ch;margin:20px 0}.ks-guide-intro nav{display:flex;gap:24px;flex-wrap:wrap}.ks-guide footer{padding:40px 24px;text-align:center;color:#f3f4eb}.ks-guide .brand{display:block}.ks-guide .brand small{display:block;font-size:11px}.ks-guide section{scroll-margin-top:24px}
@media(max-width:760px){.ks-studio-spotlight{grid-template-columns:1fr;padding:40px 20px}.ks-planning-drawer{margin:0 16px 32px}.ks-planning-drawer>summary{font-size:.9rem}.ks-guide-nav{flex-wrap:wrap}.ks-guide-nav nav{gap:16px;width:100%;font-size:14px}.ks-guide-nav .btn{padding:12px}.ks-guide-intro{padding-top:36px}}

/* chat launcher title must stay readable on the dark green button */
.cl-txt b{color:#fff!important;opacity:1!important}

/* phone call bar: readable labels on the gold and bronze buttons */
.callbar a.stone{background:#86652f!important}.callbar a.est{background:#6b4a17!important;color:#fff!important}.callbar a.est span,.callbar a.est svg{color:#fff!important;stroke:currentColor}
@media (max-width:820px){.chat-launch{transition:transform .28s ease,opacity .28s ease}.chat-launch.cl-away{transform:translateX(130%);opacity:0;pointer-events:none}}
@media (prefers-reduced-motion:reduce){.chat-launch{transition:none}}
.ks-skip{position:fixed;left:16px;top:-60px;z-index:9999;background:#173D32;color:#fff;padding:10px 16px;border-radius:10px;font-weight:600;text-decoration:none;transition:top .2s}.ks-skip:focus{top:16px;outline:3px solid #e2c995}
.ks-totop{position:fixed;left:16px;bottom:22px;z-index:60;width:46px;height:46px;border-radius:50%;border:1px solid rgba(23,61,50,.18);background:rgba(251,249,244,.94);color:#173D32;box-shadow:0 8px 22px rgba(12,31,26,.16);display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s;backdrop-filter:blur(6px)}
.ks-totop.on{opacity:1;transform:none;pointer-events:auto}.ks-totop:hover{background:#fff}.ks-totop:focus-visible{outline:3px solid #A8823F;outline-offset:3px}
html.night .ks-totop{background:rgba(20,37,31,.94);color:#f2ece0;border-color:rgba(255,255,255,.14)}
@media (max-width:820px){.ks-totop{bottom:78px;left:12px;width:42px;height:42px}}
@media (prefers-reduced-motion:reduce){.ks-totop{transition:none}}
@media print{.ks-totop{display:none}}
.nav-3d{display:inline-flex;align-items:center;gap:6px;font-weight:600}.nav-3d span{font:700 .6rem/1 var(--sans,system-ui);letter-spacing:.08em;text-transform:uppercase;background:#9a7a45;color:#fff;padding:4px 6px;border-radius:999px}
/* laptop and tablet widths: keep the whole top menu on one line */
@media (min-width:769px) and (max-width:1380px){.nav-links .nav-3d span{display:none}.nav-links .nav-phone{display:none!important}.nav-links a{white-space:nowrap}}
@media (min-width:769px) and (max-width:1180px){.nav-links{gap:2px!important}.nav-links a{padding-left:9px!important;padding-right:9px!important;font-size:.88rem!important}}
@media (min-width:769px) and (max-width:1380px){#site-header .nav-right>.seal{display:none}}
@media (min-width:769px) and (max-width:1100px){#site-header .brand-mark{width:54px!important;height:54px!important;flex:none}#site-header .brand>span:last-child{font-size:1.65rem!important}#site-header .nav-right{gap:8px!important}}
@media (min-width:769px) and (max-width:1100px){header .nav .brand-mark{width:54px!important;height:54px!important;flex:none}header .nav .brand>span:last-child{font-size:1.65rem!important}header .nav-right{gap:8px!important}}
section[id],:target{scroll-margin-top:88px}@media (max-width:768px){section[id],:target{scroll-margin-top:72px}}
