/* =========================================

CONTACT HERO

========================================= */

.contact-hero{

padding:120px 0;

background:

radial-gradient(
circle at top right,
rgba(0,245,255,.12),
transparent 30%
),

linear-gradient(
180deg,
#07153D,
#020617
);

overflow:hidden;

}

.contact-hero-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

min-height:80vh;

}

.contact-content{

color:white;

}

.contact-content h1{

font-size:4.5rem;

line-height:1.1;

margin:25px 0;

background:

linear-gradient(
90deg,
#ffffff,
#00F5FF
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

}

.contact-content p{

font-size:1.15rem;

line-height:1.9;

color:#d1d5db;

max-width:700px;

margin-bottom:35px;

}

.contact-visual{

display:flex;

justify-content:center;

align-items:center;

}

/* =========================================

CONTACT INFORMATION

========================================= */

.contact-information{

padding:120px 0;

background:#ffffff;

}

.contact-info-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

margin-top:60px;

}

.info-card{

padding:35px;

border-radius:28px;

text-align:center;

background:

linear-gradient(
180deg,
#ffffff,
#eef5ff
);

box-shadow:
0 15px 40px rgba(0,0,0,.08);

transition:.4s;

}

.info-card:hover{

transform:
translateY(-10px);

}

.info-icon{

font-size:55px;

margin-bottom:20px;

}

.info-card h3{

font-size:24px;

margin-bottom:15px;

color:#07153D;

}

.info-card p{

line-height:1.8;

color:#6B7280;

}

/* =========================================

CONTACT FORM

========================================= */

.contact-form-section{

padding:120px 0;

background:
linear-gradient(
180deg,
#f8fafc,
#ffffff
);

}

.contact-form-wrapper{

max-width:1000px;

margin:auto;

padding:50px;

border-radius:30px;

background:white;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

}

.contact-form{

display:flex;

flex-direction:column;

gap:25px;

}

.form-row{

display:grid;

grid-template-columns:1fr 1fr;

gap:20px;

}

.contact-form input,
.contact-form select,
.contact-form textarea{

width:100%;

padding:18px 20px;

border-radius:16px;

border:
1px solid rgba(0,0,0,.10);

font-size:1rem;

outline:none;

}

.contact-form textarea{

resize:none;

}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{

border-color:#00F5FF;

}

/* =========================================

SUPPORT CHANNELS

========================================= */

.support-channels{

padding:120px 0;

background:#ffffff;

}

.support-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

margin-top:60px;

}

.support-card{

padding:35px;

border-radius:28px;

text-align:center;

background:

linear-gradient(
180deg,
#ffffff,
#eef5ff
);

box-shadow:
0 15px 40px rgba(0,0,0,.08);

transition:.4s;

}

.support-card:hover{

transform:
translateY(-10px);

}

.support-icon{

font-size:55px;

margin-bottom:20px;

}

.support-card h3{

font-size:24px;

margin-bottom:15px;

color:#07153D;

}

.support-card p{

line-height:1.8;

color:#6B7280;

}


/* =========================================

SCHOOL PARTNERSHIP

========================================= */

.school-partnership-contact{

padding:120px 0;

background:
linear-gradient(
135deg,
#07153D,
#0B1F5B
);

}

.partnership-contact-box{

max-width:1000px;

margin:auto;

padding:60px;

border-radius:30px;

text-align:center;

background:
rgba(255,255,255,.06);

border:
1px solid rgba(255,255,255,.08);

color:white;

}

.partnership-contact-box h2{

font-size:3rem;

margin-bottom:25px;

}

.partnership-contact-box p{

font-size:1.1rem;

line-height:2;

color:#d1d5db;

max-width:850px;

margin:auto;

margin-bottom:40px;

}

.partnership-points{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

margin-top:30px;

}

.point{

padding:20px;

border-radius:16px;

background:
rgba(255,255,255,.08);

font-weight:600;

}

/* =========================================

OFFICE INFORMATION

========================================= */

.office-information{

padding:120px 0;

background:#ffffff;

}

.office-layout{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}

.office-content .section-heading{

text-align:left;

margin-bottom:30px;

}

.office-content p{

line-height:1.9;

font-size:1.05rem;

color:#6B7280;

margin-bottom:25px;

}

.office-list{

list-style:none;

padding:0;

}

.office-list li{

padding:15px 0;

font-size:1.05rem;

border-bottom:
1px solid rgba(0,0,0,.08);

color:#07153D;

}

.office-image .image-placeholder{

background:

linear-gradient(
180deg,
#ffffff,
#eef5ff
);

color:#07153D;

border:
1px solid rgba(0,0,0,.08);

}

/* =========================================

FAQ

========================================= */

.contact-faq{

padding:120px 0;

background:
linear-gradient(
180deg,
#f8fafc,
#ffffff
);

}

.faq-list{

max-width:950px;

margin:auto;

margin-top:60px;

}

.faq-item{

padding:35px;

margin-bottom:20px;

border-radius:24px;

background:white;

box-shadow:
0 10px 30px rgba(0,0,0,.08);

}

.faq-item h3{

font-size:22px;

margin-bottom:15px;

color:#07153D;

}

.faq-item p{

line-height:1.9;

color:#6B7280;

}

/* =========================================

MAP SECTION

========================================= */

.contact-map{

padding:120px 0;

background:#ffffff;

}

.map-placeholder{

height:450px;

border-radius:30px;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

background:

linear-gradient(
180deg,
#ffffff,
#eef5ff
);

border:
2px dashed rgba(0,245,255,.25);

}

.map-placeholder h3{

font-size:2rem;

margin:20px 0 10px;

color:#07153D;

}

.map-placeholder p{

color:#6B7280;

}

.map-placeholder div{

font-size:60px;

}


/* =========================================

FINAL CTA

========================================= */

.contact-cta{

padding:140px 0;

text-align:center;

background:

linear-gradient(
135deg,
#07153D,
#0B1F5B
);

}

.contact-cta h2{

font-size:4rem;

color:white;

margin-bottom:25px;

max-width:900px;

margin-left:auto;

margin-right:auto;

}

.contact-cta p{

font-size:1.15rem;

line-height:1.9;

color:#d1d5db;

max-width:850px;

margin:auto;

margin-bottom:40px;

}

/* =========================================

PAGE POLISH

========================================= */

.contact-page .section-heading span{

display:inline-block;

margin-bottom:12px;

font-weight:600;

color:#00AEEF;

text-transform:uppercase;

letter-spacing:1px;

}

.contact-page .section-heading.left{

text-align:left;

}

/* =========================================

COMMON IMAGE PLACEHOLDER

========================================= */

.contact-page .image-placeholder{

min-height:400px;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

padding:40px;

border-radius:30px;

font-weight:600;

font-size:1.2rem;

}

.contact-page .image-placeholder h3{

margin-top:20px;

margin-bottom:10px;

font-size:1.8rem;

}

.contact-page .image-placeholder p{

font-size:1rem;

opacity:.8;

}

/* =========================================

BUTTON SPACING FIX

========================================= */

.contact-cta .hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

/* =========================================

RESPONSIVE

========================================= */

@media(max-width:1200px){

.contact-info-grid,
.support-grid{

grid-template-columns:repeat(2,1fr);

}

.office-layout{

grid-template-columns:1fr;

gap:60px;

}

}

@media(max-width:768px){

.contact-hero-grid{

grid-template-columns:1fr;

gap:50px;

}

.contact-content h1{

font-size:3rem;

}

.contact-info-grid,
.support-grid{

grid-template-columns:1fr;

}

.form-row{

grid-template-columns:1fr;

}

.partnership-points{

grid-template-columns:1fr;

}

.partnership-contact-box{

padding:40px 25px;

}

.partnership-contact-box h2{

font-size:2.3rem;

}

.contact-cta h2{

font-size:2.5rem;

}

.map-placeholder{

height:320px;

}

}

@media(max-width:480px){

.contact-content h1{

font-size:2.2rem;

}

.contact-cta h2{

font-size:2rem;

}

.partnership-contact-box h2{

font-size:1.9rem;

}

.contact-form-wrapper{

padding:25px;

}

.map-placeholder{

height:260px;

}

}