*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg-main:#121212;--bg-section:#1F1F1F;--bg-elevated:#2A2A2A;
  --text-primary:#FFFFFF;--text-secondary:#CFCFCF;--text-muted:#9A9A9A;
  --accent-primary:#7C5CFF;--accent-hover:#6A4AE3;--accent-glow:rgba(124,92,255,.4);
  --border-subtle:#2E2E2E;
}
body{font-family:'Poppins',sans-serif;line-height:1.6;color:var(--text-secondary);background:var(--bg-main)}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;margin-bottom:1rem;color:var(--text-primary)}
h1{font-size:3.1rem;line-height:1.15}
h2{font-size:2.2rem;text-align:center;margin-bottom:2rem}
h3{font-size:1.55rem;color:var(--accent-primary)}
p{margin-bottom:1rem}
a{color:var(--accent-primary);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:90%;max-width:1200px;margin:0 auto;padding:0 20px}
.small-text{color:var(--text-muted);font-size:.95rem}
.btn{display:inline-block;padding:14px 28px;background:var(--accent-primary);color:#fff;border:none;border-radius:10px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .25s ease}
.btn:hover{background:var(--accent-hover);box-shadow:0 0 18px var(--accent-glow);transform:translateY(-2px);text-decoration:none}
.btn-secondary{background:transparent;border:2px solid var(--accent-primary);color:var(--accent-primary)}
.btn-secondary:hover{background:var(--accent-primary);color:#fff}
section{padding:90px 0}

/* Header */
header{background:var(--bg-section);box-shadow:0 5px 15px rgba(0,0,0,.2);position:fixed;width:100%;top:0;z-index:1000;border-bottom:1px solid var(--border-subtle)}
nav{display:flex;justify-content:space-between;align-items:center;padding:18px 0}
.logo{font-family:'Montserrat',sans-serif;font-size:1.7rem;font-weight:800;color:var(--accent-primary);text-decoration:none}
.logo span{color:#fff}
.nav-links{display:flex;list-style:none}
.nav-links li{margin-left:22px}
.nav-links a{color:var(--text-secondary);font-weight:500;text-decoration:none}
.nav-links a.active,.nav-links a:hover{color:var(--accent-primary)}
.mobile-menu-btn{display:none;font-size:1.5rem;background:none;border:none;cursor:pointer;color:var(--accent-primary)}
.page-hero{padding:150px 0 70px;margin-top:78px;text-align:center;background:linear-gradient(rgba(18,18,18,.92),rgba(18,18,18,.92)),url('https://res.cloudinary.com/dqdy1nxcn/image/upload/v1767446017/AY4A7504_bhi0xc.jpg');background-size:cover;background-position:center}
.page-hero h1{color:#fff;font-size:3.2rem}
.page-hero p{max-width:820px;margin:0 auto 1.2rem}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:10px}

/* Cards / grids */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;align-items:start}
.card{background:var(--bg-section);border:1px solid var(--border-subtle);border-radius:15px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.card-pad{padding:50px}
.media {
  height: auto; /* Let content determine height */
  min-height: 260px; /* Minimum height */
  overflow: hidden;
}

.media img {
  width: 100%;
  height: auto; /* Natural aspect ratio */
  display: block;
  transition: transform .5s;
}
.card:hover .media img{transform:scale(1.0)}
.features{list-style:none;margin:14px 0 0}
.features li{margin-bottom:10px;padding-left:22px;position:relative}
.features li:before{content:"✓";position:absolute;left:0;color:var(--accent-primary);font-weight:800}/* Horizontal card layout with wider image and right-aligned content */
.grid-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 34px;
  align-items: start;
}

.card {
  background: var(--bg-section);
  border: 1px solid var(--border-subtle);
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
  display: flex;
  min-height: 350px; /* Slightly taller for better proportions */
}

.card-pad {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  text-align: right; /* Align all text to the right */
  align-items: flex-end; /* Align children to the right */
}

.media {
  width: 450px; /* 300px + 50% = 450px */
  flex-shrink: 0; /* Keep fixed width */
  overflow: hidden;
  display: flex;
  align-items: stretch;
}

.media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s;
}

.card:hover .media img {
  transform: scale(1.04);
}

.features {
  list-style: none;
  margin: 20px 0 30px;
  flex-grow: 1;
  text-align: right;
  width: 100%;
  max-width: 500px; /* Limit text width for better readability */
}

.features li {
  margin-bottom: 12px;
  padding-left: 0; /* Remove left padding */
  padding-right: 28px; /* Add right padding instead */
  position: relative;
  text-align: right;
}

.features li:before {
  content: "✓";
  position: absolute;
  right: 0; /* Checkmark on the right side */
  left: auto;
  color: var(--accent-primary);
  font-weight: 800;
}

/* Align button to the right */
.card-pad .btn {
  align-self: flex-end; /* Button aligned to right */
  margin-left: auto;
}

/* Ensure headings are also right-aligned */
.card-pad h3,
.card-pad p {
  text-align: right;
  width: 100%;
  max-width: 500px;
}

/* Responsive */
@media (max-width: 1100px) {
  .media {
    width: 400px; /* Slightly smaller on medium screens */
  }
}

@media (max-width: 900px) {
  .media {
    width: 350px;
  }
}

@media (max-width: 768px) {
  .card {
    flex-direction: column;
    min-height: auto;
  }
  
  .media {
    width: 100%;
    height: 300px; /* Taller on mobile */
  }
  
  .card-pad {
    text-align: left; /* Left align on mobile */
    align-items: flex-start;
    padding: 30px;
  }
  
  .features {
    text-align: left;
  }
  
  .features li {
    padding-right: 0;
    padding-left: 28px; /* Checkmark back on left for mobile */
    text-align: left;
  }
  
  .features li:before {
    right: auto;
    left: 0; /* Checkmark on left for mobile */
  }
  
  .card-pad h3,
  .card-pad p {
    text-align: left;
  }
  
  .card-pad .btn {
    align-self: stretch; /* Full width button on mobile */
    text-align: center;
  }
}

/* Portfolio masonry */
.masonry-grid{column-count:3;column-gap:22px}
.masonry-item{break-inside:avoid;margin-bottom:22px;border-radius:12px;overflow:hidden;position:relative;background:var(--bg-section);border:1px solid var(--border-subtle);transition:all .3s;cursor:pointer}
.masonry-item:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(0,0,0,.3);border-color:var(--accent-primary)}
.masonry-item img{width:100%;height:auto;display:block;transition:transform .5s}
.masonry-item:hover img{transform:scale(1.04)}

/* Lightbox */
.lightbox-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);z-index:2000;justify-content:center;align-items:center;opacity:0;transition:opacity .3s;padding:20px}
.lightbox-modal.active{display:flex;opacity:1}
.lightbox-content{position:relative;max-width:95%;max-height:90%}
.lightbox-img{max-width:100%;max-height:82vh;border-radius:10px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.lightbox-close{position:absolute;top:-55px;right:0;background:none;border:none;color:#fff;font-size:2.3rem;cursor:pointer}
.lightbox-close:hover{color:var(--accent-primary)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(124,92,255,.2);border:none;color:#fff;font-size:1.8rem;width:56px;height:56px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;backdrop-filter:blur(5px)}
.lightbox-nav:hover{background:var(--accent-primary);transform:translateY(-50%) scale(1.06)}
.lightbox-prev{left:18px}.lightbox-next{right:18px}

/* Forms */
.form-wrap{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:38px}
.form-group{margin-bottom:18px}
.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)}
.form-group input,.form-group select{width:100%;padding:12px 14px;background:var(--bg-section);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary)}
.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary)}
.quote-box{background:var(--bg-section);border:1px solid var(--border-subtle);border-radius:15px;padding:26px}
.quote-box iframe{width:100%;height:1100px;border:0;border-radius:12px}

/* FAQ */
.faq-grid{max-width:900px;margin:0 auto;display:grid;gap:14px}
.faq-item{background:var(--bg-section);border:1px solid var(--border-subtle);border-radius:14px;padding:18px 18px 8px}
.faq-item h3{color:var(--text-primary);font-size:1.2rem;margin-bottom:8px}

/* Footer */
footer{background:var(--bg-section);padding:75px 0 30px;border-top:1px solid var(--border-subtle)}
.footer-content{display:flex;justify-content:space-between;flex-wrap:wrap;gap:36px;margin-bottom:36px}
.footer-column{flex:1;min-width:240px}
.footer-column h3{color:var(--text-primary);margin-bottom:22px;font-size:1.35rem}
.footer-links{list-style:none}
.footer-links li{margin-bottom:10px}
.footer-links a{color:var(--text-secondary);text-decoration:none}
.footer-links a:hover{color:var(--accent-primary);text-decoration:none}
.social-icons{display:flex;gap:12px;margin-top:18px}
.social-icons a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--bg-elevated);border-radius:50%;color:var(--text-secondary);text-decoration:none;transition:all .3s;font-size:1.1rem}
.social-icons a:hover{background:var(--accent-primary);color:#fff;transform:translateY(-4px)}
.copyright{text-align:center;padding-top:26px;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.9rem}

/* Booking Section */
.booking-section {
  padding: 90px 0;
}

.form-wrap {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
  padding: 38px;
  max-width: 800px;
  margin: 0 auto;
}

.form-wrap h3 {
  text-align: center;
  margin-bottom: 32px;
  color: var(--text-primary);
  font-size: 1.8rem;
}

.form-group {
  margin-bottom: 22px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: var(--text-primary);
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 14px 16px;
  background: var(--bg-section);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  color: var(--text-secondary);
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.1);
}

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

.hidden {
  display: none;
}

/* Success Message */
.success-message {
  display: none;
  text-align: center;
  padding: 40px 20px;
}

.success-message i {
  font-size: 4rem;
  color: var(--accent-primary);
  margin-bottom: 20px;
}

.success-message h3 {
  color: var(--text-primary);
  margin-bottom: 15px;
  font-size: 2rem;
}

.success-message p {
  color: var(--text-secondary);
  margin-bottom: 10px;
  font-size: 1.1rem;
}

/* Responsive */
@media (max-width: 768px) {
  .booking-section {
    padding: 60px 0;
  }
  
  .form-wrap {
    padding: 28px 22px;
  }
  
  .form-wrap h3 {
    font-size: 1.6rem;
    margin-bottom: 24px;
  }
  
  .form-group {
    margin-bottom: 18px;
  }
  
  .form-group input,
  .form-group select,
  .form-group textarea {
    padding: 12px 14px;
  }
}
/* Responsive */
@media (max-width:1100px){
  .grid-2{grid-template-columns:1fr}
  .masonry-grid{column-count:2}
}
@media (max-width:768px){
  .mobile-menu-btn{display:block}
  .nav-links{position:fixed;top:78px;left:0;width:100%;background:var(--bg-elevated);flex-direction:column;align-items:center;padding:18px 0;box-shadow:0 10px 15px rgba(0,0,0,.3);transform:translateY(-110%);opacity:0;transition:all .3s;z-index:999;border-top:1px solid var(--border-subtle)}
  .nav-links.active{transform:translateY(0);opacity:1}
  .nav-links li{margin:14px 0}
  .page-hero h1{font-size:2.4rem}
  .masonry-grid{column-count:1}
}