/* =========================================
HERO
========================================= */

.page-hero{

min-height:100vh;

position:relative;

display:flex;
align-items:center;
justify-content:center;

text-align:center;

overflow:hidden;

padding:
170px 20px
120px;

background:
linear-gradient(
rgba(0,0,0,0.72),
rgba(0,0,0,0.92)
),
url('../images/contact2.jpeg') center/cover no-repeat;
}

.hero-overlay{

position:absolute;
inset:0;

background:
linear-gradient(
to bottom,
rgba(0,0,0,0.45),
rgba(0,0,0,0.88)
);
}

.hero-content{

position:relative;
z-index:2;

max-width:950px;

margin:auto;
}

.hero-tag{

display:inline-block;

margin-bottom:25px;

font-size:13px;

font-weight:600;

letter-spacing:3px;

text-transform:uppercase;

color:var(--gold);
}

.hero-content h1{
margin-bottom:30px;
}

.hero-content p{

max-width:760px;

margin:auto;

margin-bottom:45px;
}

/* =========================================
INTRO
========================================= */

.contact-intro{
padding-top:120px;
padding-bottom:20px;
}

/* =========================================
CONTACT INFO
========================================= */

.contact-info-section{
padding-top:40px;
}

.contact-grid{

display:grid;

/* BETTER FLEXIBLE COLUMNS */
grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:30px;

align-items:stretch;
}

.info-card{

padding:50px 40px;

text-align:center;

min-height:260px;

display:flex;

flex-direction:column;

justify-content:flex-start;
}

.info-card i{

font-size:42px;

color:var(--gold);

margin-bottom:25px;
}

.info-card h3{
margin-bottom:15px;
}

.info-card p{

margin-bottom:25px;

text-align:center;

/* PREVENT TEXT CUTTING */
word-break:break-word;

overflow-wrap:break-word;

font-size:15px;
}

.info-card a{

color:var(--gold);

text-decoration:none;

font-weight:600;
}

/* =========================================
FORM SECTION
========================================= */

.contact-form-section{
background:#0f0f0f;
}

.form-wrapper{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;
}

.form-text span{

display:inline-block;

margin-bottom:20px;

font-size:13px;

font-weight:600;

letter-spacing:3px;

text-transform:uppercase;

color:var(--gold);
}

.form-text h2{
margin-bottom:25px;
}

.form-text p{
margin-bottom:40px;
}

.contact-points{

display:flex;

flex-direction:column;

gap:18px;
}

.contact-points div{

display:flex;

align-items:center;

gap:12px;
}

.contact-points i{
color:var(--gold);
}

.contact-form{

padding:45px;

display:flex;

flex-direction:column;

gap:22px;
}

.contact-form input,
.contact-form textarea{

width:100%;

background:#0b0b0b;

border:1px solid rgba(255,255,255,0.08);

padding:18px;

border-radius:8px;

color:white;

outline:none;

transition:0.4s;
}

.contact-form input:focus,
.contact-form textarea:focus{

border-color:var(--gold);

box-shadow:
0 0 20px rgba(212,175,55,0.15);
}

.contact-form textarea{

min-height:180px;

resize:none;
}

.contact-form .btn{
width:100%;
}

/* =========================================
CASTING
========================================= */

.casting-section{
background:#111;
}

.casting-intro{

padding:60px;

text-align:center;

max-width:900px;

margin:auto;
}

.casting-intro span{

display:inline-block;

margin-bottom:20px;

font-size:13px;

font-weight:600;

letter-spacing:3px;

text-transform:uppercase;

color:var(--gold);
}

.casting-intro h2{
margin-bottom:25px;
}

.casting-intro p{

max-width:700px;

margin:auto;

margin-bottom:35px;
}

.explore-btn{

padding:16px 34px;

background:var(--gold);

border:none;

border-radius:6px;

font-size:14px;

font-weight:700;

cursor:pointer;

transition:0.4s;
}

.explore-btn:hover{
transform:translateY(-4px);
}

.casting-form-wrapper{

max-height:0;

overflow:hidden;

transition:1s ease;

margin-top:30px;
}

.casting-form-wrapper.active{
max-height:1200px;
}

.casting-form{

padding:50px;

display:flex;

flex-direction:column;

gap:22px;

max-width:850px;

margin:auto;
}

.casting-form input,
.casting-form textarea,
.casting-form select{

width:100%;

padding:18px;

background:#0b0b0b;

border:1px solid rgba(255,255,255,0.08);

border-radius:8px;

color:white;

outline:none;

transition:0.4s;
}

.casting-form input:focus,
.casting-form textarea:focus,
.casting-form select:focus{

border-color:var(--gold);

box-shadow:
0 0 20px rgba(212,175,55,0.15);
}

.casting-form textarea{

min-height:180px;

resize:none;
}

/* =========================================
MAP
========================================= */

.map-section{
text-align:center;
}

.map-box{

margin-top:50px;

border-radius:18px;

overflow:hidden;
}

.map-box iframe{

width:100%;

height:550px;

border:none;

filter:grayscale(100%);
}

/* =========================================
FINAL CTA
========================================= */

.final-cta{

background:
linear-gradient(
rgba(0,0,0,0.82),
rgba(0,0,0,0.92)
),
url('../images/cta-bg.jpg') center/cover;

text-align:center;
}

.cta-box{

max-width:850px;

margin:auto;
}

.cta-box p{

margin-top:20px;

margin-bottom:40px;
}

/* =========================================
FOOTER
========================================= */

footer{

padding:30px;

text-align:center;

background:black;

border-top:1px solid rgba(255,255,255,0.05);
}

/* =========================================
RESPONSIVE
========================================= */

@media(max-width:1100px){

.contact-grid{
grid-template-columns:repeat(2,1fr);
}

.form-wrapper{
grid-template-columns:1fr;
}

}

@media(max-width:768px){

.page-hero{

padding:
150px 20px
100px;
}

.hero-buttons{

flex-direction:column;

align-items:center;
}

.contact-grid{
grid-template-columns:1fr;
}

.contact-form{
padding:35px 25px;
}

.map-box iframe{
height:420px;
}

}

@media(max-width:480px){

.hero-content h1{
font-size:34px;
}

.hero-content p{
font-size:15px;
}

.info-card{
padding:40px 25px;
}

}