@font-face{font-family:Outfit;src:url(../fonts/outfit.ttf) format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"DM Sans";src:url(../fonts/dm-sans.ttf) format("truetype");font-weight:100 900;font-display:swap}
.kcb{--kcb-ink:#18211c;--kcb-muted:#4a534d;--kcb-accent:#3d6dad;--kcb-accent-hover:#2e5888;--kcb-line:#e7e9e2;--kcb-sky:#eef4fb;--kcb-reed:#eaeedc;color:var(--kcb-ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.55;max-width:1200px;margin:auto;padding:40px 16px}
.kcb h1,.kcb h2,.kcb h3{font-family:Outfit,system-ui,sans-serif;color:var(--kcb-ink);letter-spacing:-.02em}
.kcb h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:300;line-height:1.08;margin:16px 0 24px}.kcb h2{font-size:1.65rem}.kcb h3{font-size:1.2rem}
.kcb-header{margin-bottom:40px;max-width:800px}.kcb-header p{font-size:1.125rem;color:var(--kcb-muted)}.kcb-eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em}
.kcb-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.kcb-card{background:#fff;border:1px solid var(--kcb-line);border-radius:24px;padding:32px;min-width:0}.kcb-section{margin-top:24px}
.kcb label{display:block;margin-bottom:20px;font-weight:500}.kcb input:not([type=checkbox],[type=radio],[type=hidden]),.kcb textarea{display:block;width:100%;min-height:48px;border:1px solid #bcc7c1;border-radius:10px;padding:12px;font:inherit;color:inherit;background:#fff;margin-top:8px;box-sizing:border-box}.kcb textarea{min-height:100px}
.kcb-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kcb fieldset{border:0;padding:0;margin:16px 0}.kcb legend{font-weight:600;margin-bottom:12px}.kcb .kcb-check{display:flex;align-items:flex-start;gap:12px;font-weight:400;min-height:44px}.kcb-check input{width:20px;height:20px;flex:none;margin-top:4px}
.kcb-button,.kcb button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;border-radius:12px;background:var(--kcb-accent);color:#fff;border:0;text-decoration:none;font:600 16px/1 "DM Sans",system-ui,sans-serif;cursor:pointer}.kcb-button:hover,.kcb button:hover{background:var(--kcb-accent-hover);color:#fff}.kcb :focus-visible{outline:3px solid var(--kcb-accent);outline-offset:3px}.kcb button:disabled{opacity:.5;cursor:not-allowed}
.kcb-notice{background:var(--kcb-sky);border-radius:12px;padding:16px}.kcb-muted{color:var(--kcb-muted);font-size:.9rem}.kcb-steps{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.kcb-steps span{padding:10px 14px;border-radius:10px;background:#f7f6f1}.kcb-steps [aria-current]{background:var(--kcb-reed);font-weight:600}
.kcb-price-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0}.kcb-price-list dd{margin:0;white-space:nowrap}.kcb-total{border-top:1px solid var(--kcb-line);margin-top:12px;font-weight:600;font-size:1.2rem}.kcb-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.kcb-calendar-nav button{padding:10px 14px;min-width:44px}.kcb-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:20px}.kcb-calendar-grid>*{text-align:center;min-width:0}.kcb-calendar-grid button{padding:8px 0;border-radius:8px;background:#f7f6f1;color:var(--kcb-ink);font-weight:400;min-height:44px}.kcb-calendar-grid .kcb-occupied{background:#e7e9e2;text-decoration:line-through}.kcb-calendar-grid .kcb-selected{background:var(--kcb-accent);color:#fff}.kcb-calendar-grid .kcb-in-range{background:var(--kcb-sky)}.kcb-confirmation{max-width:720px;margin:auto}.kcb details{margin:20px 0}.kcb summary{cursor:pointer;min-height:44px}
@media(max-width:700px){.kcb{padding:24px 8px}.kcb-grid{grid-template-columns:1fr}.kcb-card{padding:20px}.kcb-fields{grid-template-columns:1fr}.kcb-header{margin-bottom:24px}.kcb-steps{gap:6px;font-size:.85rem}.kcb-steps span{padding:8px}.kcb-button{width:100%;box-sizing:border-box}}

/* Builder owns the page container and primary heading. */
.kcb.kcb-builder{max-width:none;margin:0;padding:0}.kcb-widget .kcb-fields{grid-template-columns:1fr}.kcb-widget .kcb-card{padding:24px}.kcb-widget form>label:last-of-type{margin-bottom:16px}
