/*====================================================

LUMABRIDGE CONTACT PAGE
PART 2 - HEADER & HERO

====================================================*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap');

:root{

--primary:#073B63;
--primary-dark:#062F4F;
--secondary:#F9A826;
--white:#ffffff;
--black:#222222;
--text:#666666;
--border:#e9e9e9;
--bg:#f8f9fb;
--shadow:0 15px 40px rgba(0,0,0,.08);

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Montserrat',sans-serif;
background:#ffffff;
color:var(--black);
overflow-x:hidden;

}

img{

display:block;
width:100%;

}

a{

text-decoration:none;

}

ul{

list-style:none;

}

.container{

width:92%;
max-width:1280px;
margin:auto;

}

/*==================================
HEADER
==================================*/

.header{

position:sticky;
top:0;
left:0;
width:100%;
background:#fff;
z-index:999;
box-shadow:0 3px 12px rgba(0,0,0,.05);

}

.nav-container{

display:flex;
justify-content:space-between;
align-items:center;
height:90px;

}

.logo img{

width:175px;

}

/*=========================
NAVIGATION
=========================*/

.navbar{

display:flex;

}

.nav-links{

display:flex;
gap:34px;
align-items:center;

}

.nav-links li{

position:relative;

}

.nav-links a{

font-size:13px;
font-weight:700;
color:#222;
transition:.35s;

}

.nav-links a:hover{

color:var(--secondary);

}

.nav-links a.active{

color:var(--secondary);

}

.nav-links a.active::after{

content:"";
position:absolute;
left:0;
bottom:-12px;
width:100%;
height:3px;
background:var(--secondary);

}

/*=========================
PHONE BOX
=========================*/

.header-call{

display:flex;
align-items:center;
gap:15px;
background:var(--secondary);
padding:18px 24px;
color:#fff;

}

.header-call i{

font-size:28px;

}

.header-call small{

display:block;
font-size:11px;
font-weight:500;

}

.header-call h5{

font-size:15px;
margin-top:4px;

}

/*=========================
HAMBURGER
=========================*/

.hamburger{

display:none;
cursor:pointer;
flex-direction:column;
gap:5px;

}

.hamburger span{

width:30px;
height:3px;
background:var(--primary);
transition:.4s;

}

/*=========================
HERO
=========================*/

.contact-hero{

display:grid;
grid-template-columns:50% 3% 47%;
height:370px;
background:#fff;

}

/* LEFT */

.hero-left{

background:var(--primary);
display:flex;
align-items:center;
position:relative;
overflow:hidden;

}

.hero-left::before{

content:"";
position:absolute;
width:450px;
height:450px;
background:rgba(255,255,255,.03);
border-radius:50%;
left:-200px;
bottom:-220px;

}

.hero-content{

padding-left:70px;
position:relative;
z-index:2;

}

.hero-content h1{

font-size:54px;
font-weight:800;
color:#fff;
margin-bottom:22px;

}

.breadcrumb{

display:flex;
align-items:center;
gap:10px;
margin-bottom:20px;

}

.breadcrumb a{

color:#fff;
font-size:14px;

}

.breadcrumb span{

color:#d7d7d7;
font-size:14px;

}

.hero-content p{

font-size:18px;
color:#f5f5f5;
line-height:1.8;
max-width:430px;

}

/*=========================
ORANGE DIVIDER
=========================*/

.hero-divider{

background:var(--secondary);
transform:skewX(-18deg);

}

/*=========================
RIGHT IMAGE
=========================*/

.hero-right{

overflow:hidden;
position:relative;

}

.hero-right img{

width:100%;
height:100%;
object-fit:cover;
transition:.6s;

}

.hero-right:hover img{

transform:scale(1.05);

}

/*=========================
CONTACT SECTION
=========================*/

.contact-section{
  padding:80px 0 70px;
  background:linear-gradient(180deg, #fdfefe 0%, #f5f9fd 100%);
}

.contact-grid{
  display:grid;
  grid-template-columns:0.95fr 1.05fr;
  gap:32px;
  align-items:start;
}

.contact-info,
.contact-form{
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:36px;
}

.contact-info h2,
.contact-form h2{
  font-size:1.8rem;
  color:var(--primary-dark);
  margin-bottom:24px;
}

.info-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-bottom:22px;
}

.icon{
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(249,168,38,.14);
  color:var(--secondary);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:18px;
}

.info-item h4{
  margin-bottom:6px;
  font-size:16px;
  color:var(--primary-dark);
}

.info-item p{
  color:var(--text);
  line-height:1.7;
  font-size:15px;
}

.social-links{
  margin-top:28px;
}

.social-links h4{
  margin-bottom:14px;
  color:var(--primary-dark);
}

.social-links a{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--bg);
  color:var(--primary);
  margin-right:10px;
  transition:.25s;
}

.social-links a:hover{
  background:var(--secondary);
  color:#fff;
  transform:translateY(-2px);
}

.contact-form form{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.input-box{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.input-box label{
  font-size:14px;
  font-weight:600;
  color:var(--primary-dark);
}

.input-box input,
.input-box textarea{
  width:100%;
  border:1px solid #dfe5ee;
  border-radius:12px;
  padding:14px 16px;
  font-size:15px;
  color:var(--black);
  background:#fbfcff;
  outline:none;
  transition:.2s;
}

.input-box input:focus,
.input-box textarea:focus{
  border-color:var(--secondary);
  box-shadow:0 0 0 3px rgba(249,168,38,.12);
}

.input-box textarea{
  min-height:150px;
  resize:vertical;
}

.contact-form button{
  border:none;
  align-self:flex-start;
  background:var(--secondary);
  color:#fff;
  padding:14px 24px;
  border-radius:999px;
  font-weight:700;
  cursor:pointer;
  transition:.25s;
}

.contact-form button:hover{
  transform:translateY(-2px);
  background:#e3950b;
}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1100px){

.nav-links{

gap:22px;

}

.hero-content h1{

font-size:45px;

}

}

@media(max-width:900px){

.contact-grid{
  grid-template-columns:1fr;
}

.contact-info,
.contact-form{
  padding:28px;
}

.form-row{
  grid-template-columns:1fr;
}

.header-call{

display:none;

}

.hamburger{

display:flex;

}

.navbar{

position:absolute;
left:-100%;
top:90px;
width:100%;
background:#fff;
padding:35px;
transition:.45s;
box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.navbar.active{

left:0;

}

.nav-links{

flex-direction:column;
align-items:flex-start;
gap:24px;

}

.contact-hero{

grid-template-columns:1fr;
height:auto;

}

.hero-divider{

display:none;

}

.hero-right{

height:320px;

}

.hero-content{

padding:60px 35px;

}

.hero-content h1{

font-size:40px;

}

.hero-content p{

font-size:16px;

}

}

@media(max-width:600px){

.contact-section{
  padding:60px 0 50px;
}

.contact-info,
.contact-form{
  padding:24px;
  border-radius:18px;
}

.contact-info h2,
.contact-form h2{
  font-size:1.5rem;
}

.contact-form button{
  width:100%;
  align-self:stretch;
}

.logo img{

width:145px;

}

.hero-content{

padding:45px 25px;

}

.hero-content h1{

font-size:32px;

}

.hero-content p{

font-size:15px;

}

.hero-right{

height:230px;

}

}

/*====================================================

LUMABRIDGE CONTACT PAGE
PART 4 - CTA, FOOTER & FINAL RESPONSIVE

====================================================*/

/*==================================
CALL TO ACTION
==================================*/

.contact-cta{

    background:#F9A826;
    padding:45px 0;

}

.cta-content{

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    flex-wrap:wrap;

}

.cta-content h3{

    color:#fff;
    font-size:36px;
    font-weight:700;

}

.cta-btn{

    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-width:240px;
    height:60px;
    background:#073B63;
    color:#fff;
    font-weight:700;
    border-radius:5px;
    transition:.35s;

}

.cta-btn:hover{

    background:#052A46;
    transform:translateY(-4px);

}

/*==================================
FOOTER
==================================*/

.lumabridge-footer{
    background:#061d33;
    color:#fff;
}

.footer-main{
    padding:70px 0 42px;
    background:linear-gradient(135deg, #07365a 0%, #052b45 100%);
}

.footer-container{
    width:min(92%, 1280px);
    margin:0 auto;
    display:grid;
    grid-template-columns:1.2fr .9fr .8fr 1fr;
    gap:32px;
    align-items:start;
}

.footer-block{
    position:relative;
}

.footer-brand .footer-logo{
    display:inline-block;
    margin-bottom:16px;
}

.footer-logo img{
    width:170px;
    max-width:100%;
}

/* circular small logo used in footers */
.logo-mark{
  width:84px;
  height:84px;
  border-radius:50%;
  object-fit:cover;
  display:block;
}

/* small circular container for footer logos */
.center-logo-circle-sm{
  width:84px;
  height:84px;
  border-radius:50%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.center-logo-circle-sm img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.footer-brand p{
    font-size:14px;
    line-height:1.8;
    color:rgba(255,255,255,.8);
    max-width:260px;
}

.footer-block h4{
    margin:0 0 16px;
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:#fff;
}

.footer-links-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
}

.footer-links ul{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin-bottom:10px;
}

.footer-links a{
    color:rgba(255,255,255,.84);
    font-size:13px;
    transition:.25s ease;
}

.footer-links a:hover{
    color:#F9A826;
    padding-left:6px;
}

.social-icons{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.social-icons a{
    width:40px;
    height:40px;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    transition:.25s ease;
}

.social-icons a:hover{
    background:#F9A826;
    transform:translateY(-3px);
}

.social-icons svg{
    width:18px;
    height:18px;
}

.footer-newsletter p{
    font-size:13px;
    line-height:1.75;
    color:rgba(255,255,255,.8);
    margin:0 0 14px;
    max-width:260px;
}

.newsletter-form{
    display:flex;
    align-items:center;
    width:100%;
    max-width:290px;
    background:#fff;
    border-radius:999px;
    overflow:hidden;
    box-shadow:0 10px 20px rgba(0,0,0,.12);
}

.newsletter-form input{
    flex:1;
    border:none;
    outline:none;
    padding:12px 14px;
    font-size:13px;
    color:#222;
}

.newsletter-form input::placeholder{
    color:#9aa4b2;
}

.newsletter-form button{
    width:46px;
    height:46px;
    border:none;
    background:#F9A826;
    color:#fff;
    cursor:pointer;
    display:flex;
    justify-content:center;
    align-items:center;
    transition:.25s ease;
}

.newsletter-form button:hover{
    background:#e3950b;
}

.newsletter-form button svg{
    width:16px;
    height:16px;
}

.footer-bottom{
    background:#041728;
    border-top:1px solid rgba(255,255,255,.08);
    padding:14px 0;
}

.footer-bottom-container{
    width:min(92%, 1280px);
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.footer-bottom p{
    color:rgba(255,255,255,.72);
    font-size:12px;
    margin:0;
}

.footer-bottom span{
    color:#F9A826;
    font-size:12px;
    font-weight:600;
}

/*==================================
ANIMATIONS
==================================*/

.contact-info,
.contact-form{

    animation:fadeUp .9s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;
        transform:translateY(60px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}

.cta-content{

    animation:fadeIn 1s ease;

}

@keyframes fadeIn{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

/*==================================
RESPONSIVE
==================================*/

@media(max-width:1200px){

.footer-container{
    grid-template-columns:1fr 1fr;
    gap:28px;
}

}

@media(max-width:992px){

.cta-content{

flex-direction:column;
text-align:center;

}

.cta-content h3{

font-size:30px;

}

}

@media(max-width:768px){

.footer-main{
    padding:50px 0 34px;
}

.footer-container{
    grid-template-columns:1fr;
    gap:28px;
}

.footer-logo img{
    width:170px;
}

.footer-links-grid{
    grid-template-columns:1fr 1fr;
}

.newsletter-form{
    max-width:100%;
}

.footer-bottom-container{
    flex-direction:column;
    text-align:center;
}

}

@media(max-width:480px){

.contact-cta{

padding:35px 0;

}

.cta-content h3{

font-size:24px;

}

.cta-btn{

width:100%;
min-width:100%;

}

.footer-column h4{

font-size:20px;

}

.footer-logo p{

font-size:14px;

}

.footer-bottom p{

font-size:13px;

}

}


/*=============================
REVEAL ANIMATION
=============================*/

.hidden{

opacity:0;
transform:translateY(50px);
transition:.8s ease;

}

.show{

opacity:1;
transform:translateY(0);

}

/*=============================
HAMBURGER ANIMATION
=============================*/

.hamburger.active span:nth-child(1){

transform:rotate(45deg) translateY(11px);

}

.hamburger.active span:nth-child(2){

opacity:0;

}

.hamburger.active span:nth-child(3){

transform:rotate(-45deg) translateY(-11px);

}