/* Contact page — hero, channels, form+sidebar, process, FAQ, CTA. */
.ct-page{background:#fff}

/* ── Hero ─────────────────────────────────────────────────── */
.ct-hero{padding:3.5rem 0 2.5rem;background:linear-gradient(135deg,#f8faf7 0%,#fff 50%,#f5faf3 100%)}
.ct-hero-copy{max-width:620px}
.ct-hero-copy h1{margin:0 0 .8rem;color:var(--bm-green);font-size:clamp(2rem,3.6vw,3rem);font-weight:800;line-height:1.15}
.ct-hero-copy h1 span{color:var(--bm-red)}
.ct-hero-copy>p{margin:0;color:#5c6863;font-size:1.08rem;line-height:1.65}

/* ── Form section ─────────────────────────────────────────── */
.ct-form-section{background:#fff}
.ct-form-card{height:100%;padding:2rem;border:1px solid var(--bm-line);border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(20,50,36,.06)}
.ct-form-card h2{margin:0 0 .4rem;color:var(--bm-green);font-size:1.55rem;font-weight:800}
.ct-form-lead{margin:0 0 1.5rem;color:#6b7770;font-size:.95rem;line-height:1.55}
.ct-form-card label{display:block;margin-bottom:.35rem;color:#2a3a32;font-size:.9rem;font-weight:600}
.ct-req{color:var(--bm-red)}
.ct-form-card input:not([type=checkbox]),.ct-form-card textarea{display:block;width:100%;padding:.7rem .85rem;border:1px solid #dde3df;border-radius:8px;color:#2a3a32;background:#fff;font:inherit;font-size:.95rem;line-height:1.5;transition:border-color .2s,box-shadow .2s}
.ct-form-card input:not([type=checkbox]){min-height:46px}
.ct-form-card textarea{resize:vertical;min-height:110px}
.ct-form-card input:not([type=checkbox]):focus,.ct-form-card textarea:focus{outline:0;border-color:var(--bm-green);box-shadow:0 0 0 .2rem rgba(0,106,78,.1)}
.ct-form-card [aria-invalid=true]{border-color:var(--bm-red)!important}
.ct-error{display:block;margin-top:.25rem;color:var(--bm-red);font-size:.82rem}
.ct-consent label{display:flex;align-items:flex-start;gap:.5rem;color:#68737d;font-size:.88rem;font-weight:400}
.ct-consent input{margin-top:.25rem;accent-color:var(--bm-green)}
.ct-submit{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;padding:.8rem 1rem;border:0;border-radius:8px;color:#fff;background:var(--bm-red);font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s}
.ct-submit:hover{background:#c41920;transform:translateY(-1px)}
.ct-submit i{font-size:1.3rem}

/* ── Sidebar ──────────────────────────────────────────────── */
.ct-sidebar{display:flex;flex-direction:column;gap:1.25rem;height:100%}
.ct-sidebar-map{border-radius:14px;overflow:hidden;border:1px solid var(--bm-line)}
.ct-sidebar-cta{padding:1.8rem 1.5rem;border-radius:14px;background:#e8f5e9;text-align:center}
.ct-sidebar-cta-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto .8rem;border-radius:50%;background:var(--bm-green);color:#fff;font-size:1.6rem}
.ct-sidebar-cta h3{margin:0 0 .3rem;color:var(--bm-green);font-size:1.1rem;font-weight:800}
.ct-sidebar-cta>p{margin:0 0 1rem;color:#5c6863;font-size:.9rem;line-height:1.5}
.ct-sidebar-cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid var(--bm-green);border-radius:10px;background:#fff;color:var(--bm-green);font-size:1.15rem;font-weight:800;text-decoration:none;transition:background .15s,color .15s}
.ct-sidebar-cta-btn:hover{background:var(--bm-green);color:#fff}

/* ── Process ──────────────────────────────────────────────── */
.ct-process{background:#fafcf9}
.ct-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2rem}
.ct-step{position:relative;text-align:center;padding:1.5rem 1rem}
.ct-step:not(:last-child)::after{content:"";position:absolute;top:32px;left:calc(50% + 32px);width:calc(100% - 64px);border-top:2px dashed #c8dcc5}
.ct-step-num{display:grid;place-items:center;position:relative;z-index:1;width:52px;height:52px;margin:0 auto .9rem;border-radius:50%;background:var(--bm-green);color:#fff;font-size:1.1rem;font-weight:800}
.ct-step h3{margin:0 0 .4rem;color:var(--bm-green);font-size:1rem;font-weight:800}
.ct-step p{margin:0 auto;max-width:200px;color:#6b7770;font-size:.88rem;line-height:1.5}

/* ── FAQ ──────────────────────────────────────────────────── */
.ct-faq{background:#fff}
.ct-faq-list{max-width:760px;margin:1.5rem auto 0;border:1px solid var(--bm-line);border-radius:12px;overflow:hidden}
.ct-faq details+details{border-top:1px solid var(--bm-line)}
.ct-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.15rem;color:#2a3a32;font-size:.95rem;font-weight:650;cursor:pointer;list-style:none}
.ct-faq summary::-webkit-details-marker{display:none}
.ct-faq summary i{color:var(--bm-green);font-size:.85rem;transition:transform .25s}
.ct-faq details[open] summary i{transform:rotate(180deg)}
.ct-faq details[open] summary{color:var(--bm-green)}
.ct-faq details p{margin:0;padding:0 1.15rem 1rem;color:#5c6863;font-size:.92rem;line-height:1.65}

/* ── CTA banner ───────────────────────────────────────────── */
.ct-cta{padding:3rem 0;background:var(--bm-green-deep)}
.ct-cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.ct-cta h2{margin:0 0 .25rem;color:#fff;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:800}
.ct-cta p{margin:0;color:rgba(255,255,255,.8);font-size:.95rem}

/* ── Responsive ───────────────────────────────────────────── */
@media(max-width:991.98px){
    .ct-process-grid{grid-template-columns:repeat(2,1fr);row-gap:2rem}
    .ct-step:not(:last-child)::after{display:none}
}
@media(max-width:575.98px){
    .ct-hero{padding:2.5rem 0 1.5rem}
    .ct-hero-copy h1{font-size:2rem}
    .ct-hero-copy>p{font-size:.98rem}
    .ct-form-card{padding:1.4rem 1rem}
    .ct-form-card h2{font-size:1.35rem}
    .ct-process-grid{grid-template-columns:1fr}
    .ct-cta-inner{flex-direction:column;text-align:center}
}
