.ct-page,.ct-page *{margin:0;padding:0;box-sizing:border-box}
.ct-page{font-family:'Plus Jakarta Sans',sans-serif;color:#0f172a}
body.bdh-contact{background:#f5f7ff}
body.bdh-contact::before{
content:'';
position:fixed;
inset:0;
background:radial-gradient(circle at top,#dbe4ff 0%,#f5f7ff 60%);
z-index:-1
}
.ct-hero{
padding:130px 20px 100px;
text-align:center;
background:linear-gradient(135deg,#6d5dfc 0%,#4f46e5 50%,#312e81 100%);
position:relative;
overflow:hidden
}
.ct-hero::before{
content:'';
position:absolute;
width:700px;
height:700px;
border-radius:50%;
background:rgba(255,255,255,.05);
top:-340px;
left:-140px
}
.ct-hero-content{
max-width:1000px;
margin:auto;
position:relative;
z-index:2
}
.ct-hero h1{
font-size:56px;
color:#fff;
margin-bottom:20px;
line-height:1.08
}
.ct-hero p{
font-size:16px;
line-height:1.9;
color:rgba(255,255,255,.82);
max-width:820px;
margin:auto
}
.ct-section{
padding:95px 20px
}
.ct-container{
max-width:1320px;
margin:auto
}
.ct-section-title{
text-align:center;
margin-bottom:55px
}
.ct-section-title h2{
font-size:38px;
margin-bottom:14px
}
.ct-section-title p{
font-size:15px;
color:#64748b
}
.ct-contact-grid{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:34px;
align-items:start
}
.ct-contact-form,
.ct-contact-info{
background:#fff;
padding:40px 34px;
border-radius:30px;
border:1px solid #e5e7ff;
box-shadow:0 12px 35px rgba(79,70,229,.06)
}
.ct-contact-form h3,
.ct-contact-info h3{
font-size:28px;
margin-bottom:12px
}
.ct-contact-form p,
.ct-contact-info p{
color:#64748b;
line-height:1.8;
margin-bottom:28px
}
.ct-form-group{
margin-bottom:20px
}
.ct-form-group label{
display:block;
margin-bottom:10px;
font-weight:700;
color:#334155
}
.ct-form-group input,
.ct-form-group textarea{
width:100%;
padding:18px 18px;
border-radius:16px;
border:1px solid #dbe4ff;
background:#fff;
font-size:15px;
outline:none;
transition:.3s
}
.ct-form-group input:focus,
.ct-form-group textarea:focus{
border-color:#6d5dfc;
box-shadow:0 0 0 4px rgba(109,93,252,.08)
}
.ct-form-group textarea{
height:170px;
resize:none
}
.ct-submit-btn{
width:100%;
padding:18px;
border:none;
border-radius:18px;
background:linear-gradient(135deg,#6d5dfc,#4f46e5);
color:#fff;
font-size:16px;
font-weight:700;
cursor:pointer;
box-shadow:0 12px 28px rgba(79,70,229,.18)
}
.ct-info-card{
display:flex;
gap:18px;
align-items:flex-start;
padding:22px;
border:1px solid #edf1ff;
border-radius:22px;
margin-bottom:18px;
transition:.3s;
background:#fff
}
.ct-info-card:hover{
border-color:#bfcaff;
box-shadow:0 12px 28px rgba(79,70,229,.08)
}
.ct-info-icon{
width:64px;
height:64px;
border-radius:18px;
background:linear-gradient(135deg,#ede9fe,#ddd6fe);
display:flex;
align-items:center;
justify-content:center;
color:#6d5dfc;
font-size:26px;
flex-shrink:0
}
.ct-info-card h4{
font-size:19px;
margin-bottom:8px
}
.ct-info-card p,
.ct-info-card a{
margin:0;
color:#64748b;
text-decoration:none;
line-height:1.8
}
.ct-support-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:24px
}
.ct-support-card{
background:#fff;
padding:34px 28px;
border-radius:28px;
border:1px solid #e5e7ff;
transition:.3s;
box-shadow:0 10px 28px rgba(79,70,229,.05)
}
.ct-support-card:hover{
border-color:#bfcaff;
box-shadow:0 16px 35px rgba(79,70,229,.1)
}
.ct-support-card i{
width:72px;
height:72px;
border-radius:22px;
background:#eef2ff;
display:flex;
align-items:center;
justify-content:center;
font-size:30px;
color:#6d5dfc;
margin-bottom:22px
}
.ct-support-card h3{
font-size:21px;
margin-bottom:12px
}
.ct-support-card p{
color:#64748b;
line-height:1.8
}
.ct-map-box{
margin-top:32px;
border-radius:28px;
overflow:hidden;
border:1px solid #dbe4ff;
height:420px;
box-shadow:0 12px 35px rgba(79,70,229,.08)
}
.ct-map-box iframe{
width:100%;
height:100%;
border:0
}
@media(max-width:992px){
.ct-contact-grid{
grid-template-columns:1fr
}
.ct-hero h1{
font-size:54px
}
}
@media(max-width:768px){
.ct-page{
overflow-x:hidden
}
.ct-container{
width:100%
}
.ct-contact-grid,
.ct-support-grid{
width:100%
}
.ct-map-box{
height:320px;
border-radius:22px
}
.ct-info-icon{
width:56px;
height:56px;
font-size:22px
}
.ct-info-card h4{
font-size:18px
}
.ct-support-card i{
width:64px;
height:64px;
font-size:26px
}
.ct-hero{
padding:100px 18px 75px
}
.ct-hero h1{
font-size:42px;
line-height:1.15
}
.ct-hero p{
font-size:15px
}
.ct-section{
padding:70px 16px
}
.ct-section-title h2{
font-size:34px
}
.ct-contact-form,
.ct-contact-info,
.ct-support-card{
padding:28px 22px
}
.ct-contact-form h3,
.ct-contact-info h3{
font-size:28px
}
.ct-info-card{
flex-direction:column
}
}

/* map: keep the "Open in Google Maps" bar visible under the map */
.ct-map-box{display:flex;flex-direction:column}
.ct-map-box iframe{flex:1;min-height:0}
/* form notices */
.ct-notice{padding:16px 18px;border-radius:16px;margin-bottom:22px;font-weight:600;line-height:1.7}
.ct-notice.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.ct-notice.err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.ct-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
