@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&display=swap');


*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Playfair Display', serif;
background-color:#49BEB7;
margin: 0 auto;
color:#085F63;
line-height:1.6;
text-align: center;
max-width: 2500px;
}

/* NAVIGATION */

nav {
  background-color: #085F63;
  width: 100%;
  padding: 10px 0;
  font-family: 'Playfair Display', serif;
  box-shadow: 0 2px 3px rgba(0,0,0,0.1);
  position: relative;
  z-index: 10;
}

/* Container */
.nav-container {
  display: flex;
  justify-content: space-between; /* pushes logo left and links right */
  align-items: center;
  max-width:3000px;
  margin: 0 auto;
  padding: 0 60px;
}

.logo {
  height: 200px;
  overflow: hidden;
}

.logo img {
  height: 210px;
  width: auto;
}

/* Navigation Links */
.nav-links {
  display: flex;
  gap: 50px;
}

/* Link Style */
.nav-links a {
  color: white;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.3rem;
  position: relative;
  padding: 10px 0;
  transition: all 0.3s ease;
}

/* Underline Animation */
.nav-links a::after {
  content: '';
  position: absolute;
  width: 0%;
  height: 3px;
  bottom: 0;
  left: 0;
  background-color: #49BEB7;
  transition: width 0.3s ease;
}

.nav-links a:hover::after {
  width: 100%;
}

/* Hover color */
.nav-links a:hover {
  color: #49BEB7;
}


/* Responsive: Large screens */
@media screen and (max-width: 1400px) {
  .logo img {
    height: 150px;
  }
  .nav-links {
    gap: 70px;
  }
}

/* Responsive: Medium screens / tablets */
@media screen and (max-width: 992px) {
  .logo img {
    height: 120px;
  }
  .nav-links {
    gap: 60px;
  }
}

/* Responsive: Small screens / mobile */
@media screen and (max-width:768px){

.nav-container{
flex-direction:column;
align-items:center;
}

.cards{
justify-items:center;
}

.card{
text-align:center;
}

.footer-social{
text-align:center;
align-items:center;
}

.footer-social .social-icons{
display:flex;
flex-direction:column;
align-items:center;
}

.footer-container{
grid-template-columns:1fr;
text-align:center;
gap:30px;
}

.footer-column p{
justify-content:center;
}

.footer-social{
align-items:center;
}

section{
padding:60px 8%;
}

.hero{
height:420px;
}

.logo{
position:static;
margin-bottom:10px;
}

.logo img{
height:110px;
}

.quote-buttons{
flex-direction:column;
align-items:center;
gap:12px;
}

.btn{
width:260px;
text-align:center;
}

.cards{
grid-template-columns:1fr;
gap:20px;
}

/* navigation links centered under logo */

.nav-links{
display:flex;
flex-direction:row;
justify-content:center;
flex-wrap:wrap;
gap:25px;
margin-top:10px;
}

.nav-links a{
font-size:1.1rem;
padding:8px 0;
}

}


/* HERO */

.hero{
position:relative;
height:100vh;
background-color:#F5E1DA;
overflow:hidden;
}

/* SLIDER CONTAINER */

.hero-slider{
position:relative;
height:100%;
width:90%;
margin:auto;

border:6px solid #085F63;
border-radius:10px;

box-shadow:0 20px 40px rgba(0,0,0,0.15);
overflow:hidden;
}

/* SLIDES */

.slide{
position:absolute;
width:100%;
height:100%;
opacity:0;
transition:opacity 2s ease-in-out;
}

.slide.active{
opacity:1;
}

.slide img{
width:100%;
height:100%;
object-fit:cover;
}

/* HERO TEXT OVERLAY */

.hero-text{
position:absolute;
top:0;
left:0;
height:100%;
width:45%;

display:flex;
flex-direction:column;
justify-content:flex-start;   /* pushes text to top */

padding:60px;

color:white;
text-align:left;

background:linear-gradient(
to right,
rgba(8,95,99,0.92) 0%,
rgba(8,95,99,0.75) 45%,
rgba(8,95,99,0.35) 75%,
rgba(8,95,99,0) 100%
);
}

/* TEXT STYLING */

.hero-text h1{
font-size:3rem;
margin-bottom:15px;
}

.hero-text p{
font-size:1.2rem;
max-width:420px;
}


/* SECTIONS */

section{
padding:70px 10%;
text-align: center;
}

.section-light{
background:#F1F1F1;
}

.section-cream{
background:#F5E1DA;
}

.section-light p{
margin: 0 auto;
font-size:1.1rem;
max-width:750px;
}

/* ABOUT PAGE BULLET LIST */

.about-list{
max-width:700px;
margin:30px auto;
text-align:left;
list-style:none;
padding:0;
}

.about-list li{
display:flex;
align-items:flex-start;
gap:12px;
margin-bottom:16px;
font-size:1.05rem;
line-height:1.6;
}

.about-list i{
color:#49BEB7;
font-size:1.2rem;
margin-top:3px;
}

h2{
font-size:2rem;
margin-bottom:20px;
}

p{
max-width:900px;
}

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
margin-top:30px;
}

.card{
background:white;
padding:30px;
border-radius:8px;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
}

.card h3{
margin-bottom:10px;
}

.card:hover{
transform:translateY(-5px);
transition:.2s;
}

.card i{
color:#49BEB7;
margin-right:6px;
}

.profile-photo{
width:200px;
height:200px;
border-radius:50%;
object-fit:cover;
margin:25px 0;
border:4px solid white;
box-shadow:0 6px 14px rgba(0,0,0,0.15);
}

/* Insurance Section Icons */

.insurance-card{
text-align:center;
padding-top:35px;
}

.insurance-icon{
font-size:40px;
color:#49BEB7;
margin-bottom:15px;
}

.insurance-card h3{
margin-bottom:10px;
}

.insurance-card:hover{
transform: translateY(-6px);
box-shadow:0 10px 20px rgba(0,0,0,0.12);
transition:.25s;
}

/* QUOTE BUTTONS */

.quote-buttons{
margin-top:30px;
display:flex;
gap:20px;
flex-wrap:wrap;
}

.btn{
background:#49BEB7;
color:white;
padding:14px 26px;
text-decoration:none;
font-weight:600;
border-radius:4px;
}

.btn:hover{
background:#085F63;
}

/* QUOTE SECTION */

.quote-section{
padding:80px 10%;
}

.quote-subtext{
max-width:650px;
margin:0 auto 30px auto;
font-size:1.1rem;
}

/* quote buttons */

.quote-btn{
display:flex;
align-items:center;
gap:10px;
font-size:1.05rem;
}

.quote-btn i{
font-size:1.2rem;
}

/* SERVICES PAGE */

/* SERVICE PAGE SECTIONS */

.service-section{
padding:80px 10%;
}

.section-white{
background:white;
}

.service-container{
display:flex;
align-items:center;
gap:60px;
max-width:1100px;
margin:auto;
}

.service-container.reverse{
flex-direction:row-reverse;
}

.service-image img{
width:100%;
max-width:450px;
border-radius:8px;
box-shadow:0 6px 16px rgba(0,0,0,0.12);
}

.service-text{
text-align:left;
max-width:520px;
}

.service-text h2{
margin-bottom:15px;
}

.service-text p{
line-height:1.7;
}

/* Service Page Quote Button */

.service-btn{
display:inline-block;
margin-top:20px;
background:#49BEB7;
color:white;
padding:12px 26px;
text-decoration:none;
font-weight:600;
border-radius:4px;
transition:.2s;
}

.service-btn:hover{
background:#085F63;
}

/* INSPECTIONS SECTION */

/* INSPECTIONS SECTION */

.inspection-container{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
max-width:700px;
margin:40px auto 0 auto;
gap:25px;
}

.inspection-logo img{
max-width:260px;
height:auto;
}

.inspection-text p{
margin-bottom:16px;
line-height:1.7;
}

.inspection-btn{
display:inline-block;
margin-top:10px;
background:#49BEB7;
color:white;
padding:14px 28px;
text-decoration:none;
font-weight:600;
border-radius:4px;
transition:.2s;
}

.inspection-btn:hover{
background:#085F63;
}

.inspection-logo{
display:flex;
align-items:center;
justify-content:center;
}

.inspection-logo img{
max-width:260px;
height:auto;
display:block;
}

/* INSPECTION FEATURE CARD */

.inspections-section{
padding:80px 10%;
}

.inspection-card{
background:white;
padding:50px 40px;
border-radius:10px;
box-shadow:0 8px 24px rgba(0,0,0,0.08);
max-width:750px;
margin:40px auto 0 auto;
}

.inspection-container{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
gap:25px;
}

.inspection-logo img{
max-width:220px;
height:auto;
}

.inspection-text p{
margin-bottom:16px;
line-height:1.7;
}

.inspection-btn{
display:block;
margin:25px auto 0 auto;
width:fit-content;
background:#49BEB7;
color:white;
padding:14px 28px;
text-decoration:none;
font-weight:600;
border-radius:4px;
transition:.2s;
}

.inspection-btn:hover{
background:#085F63;
transform:translateY(-2px);
}

/* INSPECTION SERVICE LIST */

.inspection-services{
list-style:none;
padding:0;
margin:20px auto;
display:inline-block;
text-align:left;
}

.inspection-services li{
margin-bottom:10px;
font-weight:500;
position:relative;
padding-left:28px;
}

.inspection-services li::before{
content:"✓";
position:absolute;
left:0;
color:#49BEB7;
font-weight:bold;
}

/* Mobile */

@media screen and (max-width:768px){

.inspection-container{
flex-direction:column;
text-align:center;
}

.inspection-text{
text-align:center;
}

}

/* CONTACT FORM */

/* CONTACT FORM */

.contact-form{
max-width:700px;
margin:0 auto;
display:flex;
flex-direction:column;
gap:18px;
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:14px;
border:1px solid #ddd;
border-radius:6px;
font-family:'Playfair Display', serif;
font-size:15px;
transition:all .2s ease;
}

.contact-form textarea{
resize:vertical;
min-height:120px;
}

.contact-form input:focus,
.contact-form textarea:focus{
outline:none;
border-color:#49BEB7;
box-shadow:0 0 0 2px rgba(73,190,183,0.2);
}

.contact-form button{
background:#49BEB7;
color:white;
padding:14px;
border:none;
border-radius:6px;
font-weight:600;
font-size:16px;
cursor:pointer;
transition:.2s;
}

.contact-form button:hover{
background:#085F63;
}

/* CONTACT PAGE */

.contact-info{
margin-top:25px;
}

.contact-info p{
margin-bottom:12px;
font-size:1rem;
}

.contact-info i{
color:#49BEB7;
margin-right:8px;
}

.mortgagee-note{
margin-top:35px;
max-width:750px;
margin-left:auto;
margin-right:auto;
}

.mortgagee-note h3{
margin-bottom:10px;
}

.form-intro{
max-width:700px;
margin:0 auto 25px auto;
line-height:1.7;
}

.quote-buttons {
    display: flex;
    justify-content: center;
    gap: 15px; /* space between buttons */
    flex-wrap: wrap; /* prevents breaking on small screens */
}

button:hover{
background:#085F63;
}

/* Footer Background */
footer {
  background: #085F63;
  color: white;
  margin-top: 10px;
}

/* Grid Layout */
.footer-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 40px;
  padding: 60px 10%;
}

/* Headings */
.footer-column h4 {
  margin-bottom: 18px;
  letter-spacing: 1px;
  font-weight: 600;
}

/* Contact Info */
/* Contact Info - Use flex and adjust location icon */
.footer-column p {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  text-align: left;
}

.footer-column p i {
  color: #49BEB7;
  font-size: 16px;
  width: 22px;        /* keeps all icons same width */
  flex-shrink: 0;
  margin-top: 3px;    /* slight adjustment for vertical alignment */
}

.footer-column p span{
  display: block;
  line-height: 1.5;
}

/* Optional tweak for location icon */
.footer-column p i.fa-location-dot {
  top: 2px;  /* visually center location icon with text */
  
}

/* Quick Links */
.footer-links {
  list-style: none;
  padding: 0;
}

.footer-links li {
  margin-bottom: 10px;
}

.footer-links a {
  color: #F1F1F1;
  text-decoration: none;
  font-size: 20px;
  position: relative;
  transition: .3s;
}

.footer-links a:hover {
  color: #49BEB7;
  padding-left: 6px;
}

.footer-links a::before {
  content: "›";
  margin-right: 8px;
  color: #49BEB7;
  font-weight: bold;
}


/* Social Icons */
.footer-social {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.social-icons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 10px;
  align-items: center;
}

.social-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: #49BEB7;
  color: white;           /* icon color */
  font-size: 18px;
  border-radius: 50%;
  text-decoration: none;
  transition: .2s;
}

.social-icons a i {
  color: inherit;        /* inherit white from parent */
}

.social-icons a:hover {
  background: white;
  color: #085F63;
  transform: scale(1.1);
}

/* Bottom Copyright Bar */
.footer-bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 14px;
  
}


