
/* KEELBLOOM 1.4: demonstration gallery, trust, contact — responsive */
.kb-showcase{padding:76px 0;background:#f8faf5}
.kb-showcase .kb-section-lead{max-width:750px;color:#42635d;font-size:18px;line-height:1.7}
.kb-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.kb-sample-card{display:flex;flex-direction:column;gap:12px;min-height:245px;padding:28px;background:#fff;border:1px solid #d6e5dd;border-radius:18px;box-shadow:0 8px 24px rgba(17,56,43,.04);text-decoration:none!important;color:#153f34!important;transition:transform .18s ease,box-shadow .18s ease}
.kb-sample-card:hover,.kb-sample-card:focus-visible{transform:translateY(-3px);box-shadow:0 15px 32px rgba(17,56,43,.11)}
.kb-sample-card strong{font-size:24px;line-height:1.22}
.kb-sample-card small{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#00757b;font-weight:800}
.kb-sample-card p{font-size:16px;line-height:1.6;margin:0;max-width:55ch;flex:1}
.kb-sample-card .kb-sample-link{font-weight:700;color:#00757b}
.kb-assurance{background:#195641;padding:60px 0;color:#fff}
.kb-assurance h2{color:#fff}
.kb-assurance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.kb-assurance-grid>div{border:1px solid rgba(255,255,255,.24);border-radius:12px;padding:22px}
.kb-assurance-grid strong{display:block;font-size:18px;margin-bottom:12px}
.kb-assurance-grid p{margin:0;color:#f3f8f4;line-height:1.6}
.kb-assurance-note{font-size:13px;margin-top:23px;color:#e8f3ed}
.kb-contact-zone{background:#f1f7f1;padding:76px 0}
.kb-contact-layout{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:42px;align-items:start}
.kb-contact-zone h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,52px);font-weight:400}
.kb-contact-zone a{color:#00757b}
.kb-contact-form-box{background:white;border:1px solid #d9e8de;padding:28px;border-radius:15px;box-shadow:0 10px 35px rgba(13,44,30,.05)}
.kb-contact-form-box form{display:grid;gap:14px}
.kb-contact-form-box form>label{display:grid;gap:7px;font-weight:650;font-size:14px}
.kb-contact-form-box input:not([type=checkbox]),.kb-contact-form-box textarea{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #a3b8ad;border-radius:7px;font:inherit;color:#163c34}
.kb-contact-form-box :is(input,textarea):focus-visible{outline:3px solid rgba(0,117,123,.18);outline-offset:1px}
.kb-contact-form-box .kb-contact-consent{display:flex;flex-direction:row;gap:10px;align-items:flex-start;font-weight:400}
.kb-contact-consent input{margin-top:5px}
.kb-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.kb-contact-status{padding:12px;border:1px solid #91ccbd;background:#e2f5ec;border-radius:8px}

/* À propos / About us */
.kb-about{padding:90px 0 78px;background:linear-gradient(138deg,#f7faf6 0%,#eef6f0 55%,#f7faf6 100%);scroll-margin-top:92px}
.kb-about-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:clamp(28px,6vw,95px);align-items:start}
.kb-about .eyebrow{color:#00757b;letter-spacing:.12em;font-weight:750}
.kb-about h2{font-family:Georgia,serif;font-size:clamp(36px,4.3vw,62px);line-height:1.13;color:#195641;font-weight:400;letter-spacing:-.025em;max-width:12ch}
.kb-about h2 em{font-weight:400;color:#00757b}
.kb-about-signature{max-width:390px;padding-left:16px;border-left:3px solid #f1d35a;font-size:14px;line-height:1.6;color:#507369}
.kb-about-story p{font-size:17px;line-height:1.85;color:#264a42;margin:0 0 16px}
.kb-about-story strong{color:#164d3b}
.kb-about-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:42px}
.kb-about-values>div{background:#fff;border:1px solid #dae9df;border-radius:12px;padding:24px;min-width:0}
.kb-about-values span{font-size:13px;color:#00757b;font-weight:800;letter-spacing:.12em}
.kb-about-values h3{font-family:Georgia,serif;font-weight:400;line-height:1.2;font-size:23px;color:#195641;margin:16px 0 9px}
.kb-about-values p{font-size:15px;color:#47635b;line-height:1.65;margin:0}
.kb-about-direction{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:27px}
.kb-about-direction>div{padding:31px 33px;border-top:3px solid #00757b;background:#fff;border-radius:0 0 12px 12px}
.kb-about-direction h3{font-family:Georgia,serif;font-size:clamp(23px,2.3vw,32px);font-weight:400;line-height:1.3;color:#195641;margin:10px 0}
.kb-about-direction p:not(.eyebrow){line-height:1.75;font-size:16px;color:#36574f}
.kb-about-cta{margin-top:27px;background:#195641;color:#fff;border-radius:12px;padding:26px 32px;display:flex;gap:20px;align-items:center;justify-content:space-between}
.kb-about-cta strong{display:block;font-family:Georgia,serif;font-size:24px;line-height:1.3;font-weight:400;color:#fff}
.kb-about-cta span{display:block;margin-top:4px;color:#dcece5}
.kb-about-cta .button{flex-shrink:0;white-space:normal}
@media(max-width:1000px){.kb-about-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.kb-about{padding:54px 0}.kb-about-top,.kb-about-direction{grid-template-columns:1fr}.kb-about h2{max-width:none}.kb-about-story{margin-top:24px}.kb-about-cta{align-items:stretch;flex-direction:column}.kb-about-cta .button{align-self:flex-start}}
@media(max-width:480px){.kb-about-values{grid-template-columns:1fr;gap:12px}.kb-about-values>div,.kb-about-direction>div{padding:21px}.kb-about-direction{gap:14px}.kb-about-cta{padding:23px}}

@media(max-width:850px){.kb-contact-layout{grid-template-columns:1fr;gap:20px}.kb-assurance-grid{grid-template-columns:1fr}.kb-showcase-grid{grid-template-columns:1fr}.kb-sample-card{min-height:200px}}
@media(max-width:480px){.kb-showcase,.kb-contact-zone{padding:45px 0}.kb-contact-form-box{padding:19px}.kb-sample-card{padding:20px}}
