/* ==========================================
CONTACT PAGE
========================================== */

.contact-page{
padding:100px 30px 40px;
overflow:hidden;
}

.contact-shell{
max-width:1650px;
margin:auto;

display:grid;

grid-template-columns:
1.15fr 1fr;

gap:34px;

align-items:start;
}

/* =========================
GLASS CARD
========================= */

.contact-left,
.contact-right{

background:
rgba(255,255,255,.82);

backdrop-filter:
blur(18px);

padding:42px;

border-radius:32px;

position:relative;

overflow:hidden;

box-shadow:
0 22px 55px rgba(0,0,0,.08),
0 6px 16px rgba(0,0,0,.05);

animation:
floating 5s ease-in-out infinite;

transition:.35s;

}

.contact-left:hover,
.contact-right:hover{

transform:
translateY(-6px);

}

/* =========================
SHINE EFFECT
========================= */

.contact-left::after,
.contact-right::after{

content:"";

position:absolute;

top:-160%;

left:-150%;

width:110px;

height:400%;

background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.5),
transparent
);

transform:
rotate(28deg);

animation:
shineMove 8s linear infinite;

pointer-events:none;

}

@keyframes shineMove{

0%{
left:-150%;
}

100%{
left:180%;
}

}

/* =========================
FLOAT
========================= */

@keyframes floating{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

100%{
transform:translateY(0);
}

}

/* =========================
LEFT SIDE
========================= */

.contact-left h1{

font-size:36px;

font-weight:800;

line-height:1.15;

text-align:center;

margin-bottom:34px;

}

.contact-sub{

font-size:18px;

text-align:center;

}

.contact-points{

list-style:none;

padding:0;

margin:0;

}

/* POINT CARDS */

.contact-points{

display:grid;

gap:18px;

margin-top:30px;

}

.point{

display:grid;

grid-template-columns:
52px 1fr;

gap:18px;

align-items:start;

padding:22px;

background:
rgba(255,255,255,.7);

border-radius:20px;

box-shadow:
0 10px 25px rgba(0,0,0,.05);

transition:.35s;

position:relative;

overflow:hidden;

}

.point::after{

content:"";

position:absolute;

top:-150%;

left:-150%;

width:80px;

height:350%;

background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.45),
transparent
);

transform:
rotate(30deg);

animation:
shineMove 8s linear infinite;

}

.point:hover{

transform:
translateY(-5px);

box-shadow:
0 18px 45px rgba(0,0,0,.08);

}

.point span{

width:52px;

height:52px;

display:flex;

align-items:center;

justify-content:center;

background:#000;

color:#fff;

border-radius:50%;

font-size:18px;

font-weight:700;

}

.point h3{

font-size:20px;

font-weight:800;

margin-bottom:8px;

}

.point p{

margin:0;

font-size:15px;

line-height:1.8;

color:#555;

}


/* BOTTOM NOTE */

.contact-note{

margin-top:30px;

padding:28px;

border-radius:22px;

text-align:center;

background:
rgba(255,255,255,.75);

box-shadow:
0 12px 35px rgba(0,0,0,.05);

position:relative;

overflow:hidden;

}

.contact-note::after{

content:"";

position:absolute;

top:-150%;

left:-150%;

width:80px;

height:350%;

background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.45),
transparent
);

transform:
rotate(30deg);

animation:
shineMove 9s linear infinite;

}

.contact-note h3{

font-size:24px;

font-weight:800;

margin-bottom:10px;

}

.contact-note p{

font-size:16px;

line-height:1.8;

margin:0;

color:#666;

}
/* =========================
BOTTOM INFO
========================= */

.contact-note{

margin-top:28px;

padding-top:22px;

border-top:
1px solid rgba(0,0,0,.08);

}

.contact-note h3{

font-size:22px;

margin-bottom:10px;

}

.contact-note p{

font-size:16px;

line-height:1.8;

color:#666;

}

/* =========================
RIGHT
========================= */

.contact-form-box{

width:100%;

}

/* REMOVE FORM STYLING */

.contact-form-box .form-container{

margin:0 !important;

padding:0 !important;

background:none !important;

box-shadow:none !important;

backdrop-filter:none !important;

max-width:none !important;

}

/* FORM TITLE */

.contact-form-box h2{

font-size:42px !important;

font-weight:800;

margin-bottom:26px;

text-align:center;

}

/* INPUT */

.contact-form-box input,
.contact-form-box textarea{

width:100%;

padding:16px;

margin-bottom:14px;

border:none;

border-radius:14px;

background:#f6f6f6;

font-size:16px;

box-sizing:border-box;

}

.contact-form-box textarea{

min-height:180px;

resize:vertical;

}

/* BUTTON */

.contact-form-box button{

width:100%;

height:58px;

background:#000;

color:#fff;

border:none;

border-radius:14px;

font-size:18px;

font-weight:700;

transition:.3s;

}

.contact-form-box button:hover{

transform:
translateY(-2px);

box-shadow:
0 14px 35px rgba(0,0,0,.14);

}

/* =========================
RESPONSIVE
========================= */

@media(max-width:1100px){

.contact-shell{

grid-template-columns:
1fr;

}

}

@media(max-width:768px){

.contact-page{

padding:40px 18px;

}

.contact-left,
.contact-right{

padding:28px;

border-radius:24px;

}

.contact-left h1{

font-size:32px;

}

.contact-form-box h2{

font-size:34px !important;

}

.contact-points strong{

font-size:18px;

}

.contact-points p{

font-size:15px;

}

.contact-form-box input,
.contact-form-box textarea{

padding:14px;

font-size:15px;

}

}

/* ==========================
WHAT HAPPENS NEXT
========================== */

.contact-next{

margin-top:20px; /* increased top spacing */

margin-bottom:0px;

padding:20px;

background:#fff;

border-radius:28px;

position:relative;

overflow:hidden;

box-shadow:
0 20px 45px rgba(0,0,0,.08),
0 6px 16px rgba(0,0,0,.04);

animation:
floating 5s ease-in-out infinite;

}

.contact-next::after{

content:"";

position:absolute;

top:-170%;

left:-140%;

width:110px;

height:420%;

background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.55),
transparent
);

transform:
rotate(28deg);

animation:
shineMove 9s linear infinite;

}

.contact-next h3{

font-size:28px;

font-weight:800;

text-align:center;

margin-bottom:34px;

margin-top:8px; /* extra heading space */

}

/* 3 columns */

.next-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:18px;

}

.next-item{

padding:22px;

border-radius:18px;

background:#f7f7f7;

text-align:center;

display:flex;

flex-direction:column;

align-items:center;

justify-content:flex-start;

transition:.3s;

min-height:220px;

}

.next-item:hover{

transform:
translateY(-6px);

background:#fff;

box-shadow:
0 12px 28px rgba(0,0,0,.08);

}

.next-item span{

width:50px;

height:50px;

display:flex;

align-items:center;

justify-content:center;

background:#000;

color:#fff;

border-radius:50%;

font-size:20px;

font-weight:800;

margin-bottom:16px;

}

.next-item strong{

display:block;

font-size:18px;

margin-bottom:10px;

line-height:1.4;

}

.next-item p{

margin:0;

font-size:15px;

line-height:1.75;

color:#555;

}

/* MOBILE */

@media(max-width:900px){

.next-grid{

grid-template-columns:
1fr;

}

.next-item{

min-height:auto;

}

}

@media(max-width:768px){

.contact-next{

padding:24px;

margin-top:35px;

}

.contact-next h3{

font-size:24px;

margin-bottom:24px;

}

}

