/* Contact page — synced with site design system. */

/* ── Hero ──────────────────────────────────────────────── */
.ct-hero{background:var(--bv-primary)}
.ct-hero .breadcrumb{margin:0;padding-top:1.2rem}.ct-hero .breadcrumb a,.ct-hero .breadcrumb,.ct-hero .breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.6)}.ct-hero .breadcrumb .active{color:rgba(255,255,255,.9)}.ct-hero .breadcrumb a:hover{color:#fff}
.ct-hero-bg{position:relative;min-height:400px;background-size:cover;background-position:center right}
.ct-hero-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bv-primary) 0%,var(--bv-primary) 35%,rgba(0,121,193,.7) 55%,rgba(0,121,193,.2) 70%,transparent 85%);z-index:1}
.ct-hero-bg .container{position:relative;z-index:2}
.ct-hero-copy{max-width:500px;padding:2rem 0 3.5rem;color:#fff}
.ct-hero-label{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.15);border-radius:var(--bv-radius);padding:.4rem .9rem;margin-bottom:.85rem}
.ct-hero-copy h1{margin:0 0 1rem;color:#fff;font-size:clamp(2rem,3.5vw,3rem);font-weight:800;line-height:1.12;letter-spacing:-.04em}
.ct-hero-copy h1 span{color:#ffd666}
.ct-hero-copy>p{max-width:420px;margin:0;color:rgba(255,255,255,.85);font-size:1rem;line-height:1.7}

/* ── Contact channels strip ───────────────────────────── */
.ct-channels{background:var(--bv-primary);padding:0;position:relative;z-index:3}
.ct-channels-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.15)}
.ct-channel-item{display:flex;align-items:center;gap:.9rem;padding:1.3rem 1rem;color:#fff;border-right:1px solid rgba(255,255,255,.12)}
.ct-channel-item:last-child{border-right:0}
.ct-channel-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.15);font-size:1.15rem;flex-shrink:0}
.ct-channel-item small{display:block;font-size:.75rem;color:rgba(255,255,255,.65);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.1rem}
.ct-channel-item strong{display:block;font-size:.9rem;font-weight:700;line-height:1.35}
.ct-channel-item strong a{color:#fff;text-decoration:none}
.ct-channel-item strong a:hover{text-decoration:underline}

/* ── Form section ─────────────────────────────────────── */
.ct-form-section{background:#fff}
.ct-form-card{padding:2rem 2.2rem;border:1px solid var(--bv-line);border-radius:var(--bv-radius);background:#fff;box-shadow:0 8px 28px rgba(0,87,166,.06)}
.ct-form-header{margin-bottom:1.5rem}
.ct-form-header .section-label{margin-bottom:.3rem}
.ct-form-header h2{margin:0 0 .5rem;color:var(--bv-primary);font-size:clamp(1.4rem,2.2vw,1.8rem);font-weight:800;letter-spacing:-.03em}
.ct-form-header p{margin:0;color:var(--bv-muted);font-size:.92rem;line-height:1.6}
.ct-form-card label{display:block;margin-bottom:.35rem;color:var(--bv-ink);font-size:.88rem;font-weight:600}
.ct-form-card label span{color:var(--bv-primary)}
.ct-form-card input:not([type=checkbox]),.ct-form-card textarea{display:block;width:100%;padding:.7rem .85rem;border:1px solid var(--bv-line);border-radius:var(--bv-radius);color:var(--bv-ink);background:#fff;font:inherit;line-height:1.45;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(--bv-primary);box-shadow:0 0 0 .2rem rgba(0,121,193,.1)}
.ct-form-card [aria-invalid=true]{border-color:#dc3545!important}
.ct-error{display:block;margin-top:.2rem;color:#dc3545;font-size:.82rem}
.ct-consent label{display:flex;align-items:flex-start;gap:.5rem;color:var(--bv-muted);font-size:.88rem;font-weight:400}
.ct-consent input{margin-top:.25rem;accent-color:var(--bv-primary)}

/* ── Sidebar ──────────────────────────────────────────── */
.ct-sidebar{display:flex;flex-direction:column;gap:1.2rem;height:100%}
.ct-sidebar-map{border-radius:var(--bv-radius);overflow:hidden;border:1px solid var(--bv-line)}
.ct-sidebar-cta{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem;border-radius:var(--bv-radius);background:var(--bv-blue-bg);border:1px solid var(--bv-line)}
.ct-sidebar-cta-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:1rem;border-radius:50%;background:var(--bv-primary);color:#fff;font-size:1.5rem}
.ct-sidebar-cta h3{margin:0 0 .4rem;color:var(--bv-ink);font-size:1.1rem;font-weight:800}
.ct-sidebar-cta p{margin:0 0 1.2rem;color:var(--bv-muted);font-size:.88rem;line-height:1.55}

/* ── Process ──────────────────────────────────────────── */
.ct-process{background:var(--bv-blue-bg)}
.ct-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:step}
.ct-step{position:relative;text-align:center;padding:1.5rem 1rem;border-radius:var(--bv-radius);background:#fff;border:1px solid var(--bv-line);transition:box-shadow .2s}
.ct-step:hover{box-shadow:0 8px 24px rgba(0,87,166,.08)}
.ct-step-num{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 1rem;border-radius:50%;background:var(--bv-primary);color:#fff;font-size:1.1rem;font-weight:800}
.ct-step h3{margin:0 0 .4rem;color:var(--bv-ink);font-size:.95rem;font-weight:800}
.ct-step p{margin:0;color:var(--bv-muted);font-size:.84rem;line-height:1.55}

/* ── FAQ ──────────────────────────────────────────────── */
.ct-faq{background:#fff}
.ct-faq-list{max-width:720px;margin:0 auto;border:1px solid var(--bv-line);border-radius:var(--bv-radius);overflow:hidden}
.ct-faq-list details+details{border-top:1px solid var(--bv-line)}
.ct-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;color:var(--bv-ink);cursor:pointer;list-style:none;font-weight:600;font-size:.95rem;transition:background .15s}
.ct-faq-list summary::-webkit-details-marker{display:none}
.ct-faq-list summary:hover{background:var(--bv-blue-bg)}
.ct-faq-list summary i{color:var(--bv-muted);transition:transform .2s;flex-shrink:0}
.ct-faq-list details[open] summary i{transform:rotate(180deg)}
.ct-faq-list details[open] summary{color:var(--bv-primary);background:var(--bv-blue-bg)}
.ct-faq-list details p{margin:0;padding:0 1.1rem 1rem;color:var(--bv-muted);font-size:.9rem;line-height:1.65}

/* ── Responsive ───────────────────────────────────────── */
@media(max-width:991.98px){
    .ct-hero-bg{min-height:auto}
    .ct-hero-bg::before{background:linear-gradient(0deg,var(--bv-primary) 0%,rgba(0,121,193,.85) 40%,rgba(0,121,193,.5) 100%)}
    .ct-hero-copy{padding:1.5rem 0 2.5rem}
    .ct-channels-grid{grid-template-columns:repeat(2,1fr)}
    .ct-channel-item:nth-child(2){border-right:0}
    .ct-channel-item:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
    .ct-process-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:575.98px){
    .ct-channels-grid{grid-template-columns:1fr}
    .ct-channel-item{border-right:0!important;border-top:1px solid rgba(255,255,255,.12)}
    .ct-channel-item:first-child{border-top:0}
    .ct-form-card{padding:1.4rem 1.1rem}
    .ct-process-grid{grid-template-columns:1fr 1fr}
    .ct-sidebar-map iframe{height:180px}
}
