/* CONTACT & BUSINESS ENQUIRY PAGE — page-specific styles only. Shared tokens live in style.css */

/* Base lead paragraph style (about.css defines this too, but contact.html doesn't load about.css) */
.ab-lead{
  color:var(--gray);
  max-width:600px;
  font-size:17px;
  line-height:1.7;
  margin-bottom:55px;
}

/* ============ HERO ============ */
.cn-hero{
  position:relative;
  min-height:56vh;
  display:flex;
  align-items:center;
  padding:140px 8vw 80px;
  background:
    radial-gradient(circle at 85% 15%, rgba(251,191,36,0.16), transparent 45%),
    linear-gradient(120deg, rgba(11,31,58,0.92), rgba(37,99,235,0.76)),
    url('https://images.unsplash.com/photo-1521791136064-7986c2920216?q=80&w=1600&auto=format&fit=crop')
    center/cover no-repeat;
  overflow:hidden;
}
.cn-hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,31,58,0.1), rgba(11,31,58,0.58));
}
.cn-hero-content{position:relative; z-index:2; max-width:760px;}
.cn-hero-content .eyebrow{
  color:var(--accent);
  background:rgba(251,191,36,0.12);
  border:1px solid rgba(251,191,36,0.35);
  padding:8px 18px 8px 14px;
  border-radius:50px;
  display:inline-flex;
  width:fit-content;
}
.cn-hero-content .eyebrow::before{ display:none; }
.cn-hero-content h1{
  font-family:var(--font-display);
  font-size:clamp(32px,4.5vw,50px);
  color:var(--white);
  line-height:1.15;
  margin:16px 0 18px;
  text-shadow:0 4px 24px rgba(0,0,0,.25);
}
.cn-hero-content p{
  color:rgba(255,255,255,0.85);
  font-size:16.5px;
  max-width:600px;
  line-height:1.7;
  margin-bottom:32px;
}
.cn-hero-actions{ display:flex; gap:16px; flex-wrap:wrap; }

/* =========================================
   MOBILE CONTACT HERO SPACING
========================================= */

@media (max-width: 899px) {

  .cn-hero {
    padding: 150px 6vw 70px;
  }

}

/* ============ 4 CONTACT OPTION CARDS ============ */
.cn-options{
  background:var(--white);
  padding:90px 8vw;
  text-align:center;
}
.cn-options .eyebrow{ display:flex; justify-content:center; margin-bottom:14px; }
.cn-options h2{
  font-family:var(--font-display);
  font-size:clamp(30px,4vw,42px);
  color:var(--primary);
  margin-bottom:12px;
}
.cn-options .ab-lead{ margin:0 auto 55px; text-align:center; }

.cn-options-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
}
@media(min-width:700px){ .cn-options-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1150px){ .cn-options-grid{ grid-template-columns:repeat(4,1fr); } }

.cn-option-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:20px;
  padding:38px 28px;
  text-align:left;
  position:relative;
  overflow:hidden;
  transition:.35s;
}
.cn-option-card::before{
  content:"";
  position:absolute; top:0; left:0;
  width:100%; height:5px;
  background:linear-gradient(90deg,var(--secondary),var(--accent));
  transform:scaleX(0); transform-origin:left; transition:.35s;
}
.cn-option-card:hover{
  transform:translateY(-10px);
  border-color:var(--accent);
  box-shadow:0 20px 45px rgba(11,31,58,.12);
}
.cn-option-card:hover::before{ transform:scaleX(1); }

.cn-option-icon{
  width:62px; height:62px;
  border-radius:16px;
  background:rgba(251,191,36,0.15);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:22px;
  transition:.3s;
}
.cn-option-icon i{ font-size:25px; color:var(--secondary); }
.cn-option-card:hover .cn-option-icon{ background:var(--accent); }
.cn-option-card:hover .cn-option-icon i{ color:var(--primary); }

.cn-option-card h3{ font-size:19px; color:var(--primary); margin-bottom:10px; }
.cn-option-card p{ font-size:14px; color:var(--gray); line-height:1.7; margin-bottom:20px; }

.cn-option-btn{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13.5px; font-weight:700; color:var(--secondary);
  text-decoration:none;
}
.cn-option-btn i{ font-size:11px; transition:.25s; }
.cn-option-card:hover .cn-option-btn i{ transform:translateX(5px); }

/* ============ OFFICE INFO + MAP ============ */
.cn-office{ background:#F8FAFC; padding:100px 8vw; }
.cn-office-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
  align-items:stretch;
}
@media(min-width:900px){ .cn-office-grid{ grid-template-columns:1fr 1fr; } }

.cn-office-info h2{
  font-family:var(--font-display);
  font-size:clamp(28px,3.5vw,38px);
  color:var(--primary);
  margin:14px 0 10px;
}

.cn-info-row{
  display:flex; align-items:flex-start; gap:16px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px 20px;
  margin-bottom:14px;
  transition:.3s;
}
.cn-info-row:hover{ border-color:var(--accent); box-shadow:0 12px 26px rgba(11,31,58,.08); }
.cn-info-icon{
  width:42px; height:42px; flex-shrink:0;
  border-radius:50%;
  background:linear-gradient(135deg, var(--secondary), var(--accent));
  color:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-size:16px;
}
.cn-info-row strong{
  display:block; font-size:12px; color:var(--gray);
  text-transform:uppercase; letter-spacing:.05em; margin-bottom:4px;
}
.cn-info-row span, .cn-info-row a{ font-size:14.5px; color:var(--primary); font-weight:600; text-decoration:none; }
.cn-info-row span{ font-weight:400; color:var(--ink); }

.cn-social{ display:flex; gap:12px; margin-top:26px; }
.cn-social a{
  width:44px; height:44px; border-radius:50%;
  background:var(--primary); color:var(--accent);
  display:flex; align-items:center; justify-content:center;
  font-size:16px; text-decoration:none; transition:.3s;
}
.cn-social a:hover{ background:var(--accent); color:var(--primary); transform:translateY(-4px); }

.cn-map{
  border-radius:20px;
  overflow:hidden;
  min-height:340px;
  border:1px solid var(--line);
  box-shadow:0 14px 34px rgba(11,31,58,.08);
}

/* ============ TABBED ENQUIRY FORMS ============ */
.cn-forms{ background:var(--white); padding:100px 8vw; text-align:center; }
.cn-forms .eyebrow{ display:flex; justify-content:center; margin-bottom:14px; }
.cn-forms h2{
  font-family:var(--font-display);
  font-size:clamp(30px,4vw,42px);
  color:var(--primary);
  margin-bottom:12px;
}
.cn-forms .ab-lead{ margin:0 auto 45px; text-align:center; }

.cn-tab-row{
  display:inline-flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  background:#F1F5F9;
  padding:8px;
  border-radius:50px;
  margin-bottom:45px;
}
.cn-tab-btn{
  border:none;
  background:transparent;
  color:var(--gray);
  padding:13px 26px;
  border-radius:50px;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  transition:.25s;
  display:inline-flex;
  align-items:center;
  gap:9px;
}
.cn-tab-btn i{ font-size:14px; }
.cn-tab-btn.active{
  background:var(--primary);
  color:var(--white);
  box-shadow:0 8px 20px rgba(11,31,58,.2);
}
.cn-tab-btn.active i{ color:var(--accent); }
.cn-tab-btn:hover:not(.active){ color:var(--primary); }

.cn-form-panel-wrap{
  max-width:760px;
  margin:0 auto;
  text-align:left;
  background:#F8FAFC;
  border:1px solid var(--line);
  border-radius:22px;
  padding:44px 40px;
}
.cn-form-panel{ display:none; }
.cn-form-panel.active{ display:block; animation:cnFadeIn .4s ease; }
@keyframes cnFadeIn{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }

.cn-checkbox-row, .cn-radio-row{
  display:flex; flex-wrap:wrap; gap:14px 22px;
  margin-top:4px;
}
.cn-checkbox, .cn-radio{
  display:flex; align-items:center; gap:8px;
  font-size:14px; color:var(--ink); font-weight:500;
  cursor:pointer;
}
.cn-checkbox input, .cn-radio input{ accent-color:var(--secondary); width:16px; height:16px; }

/* ============ FAQ ============ */
.cn-faq{ background:#F8FAFC; padding:100px 8vw; }
.cn-faq .eyebrow{ display:flex; justify-content:center; margin-bottom:14px; }
.cn-faq h2{
  font-family:var(--font-display);
  font-size:clamp(30px,4vw,42px);
  color:var(--primary);
  text-align:center;
  margin-bottom:50px;
}
.cn-faq-list{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.cn-faq-item{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  transition:.3s;
}
.cn-faq-item:hover{ border-color:var(--accent); }
.cn-faq-q{
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  background:none; border:none; cursor:pointer;
  padding:22px 26px;
  font-size:15.5px; font-weight:600; color:var(--primary);
  text-align:left;
}
.cn-faq-q i{
  color:var(--secondary);
  transition:.3s;
  flex-shrink:0;
  margin-left:16px;
}
.cn-faq-item.open .cn-faq-q i{ transform:rotate(45deg); color:var(--accent); }
.cn-faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease, padding .35s ease;
  padding:0 26px;
}
.cn-faq-item.open .cn-faq-a{ max-height:200px; padding:0 26px 22px; }
.cn-faq-a p{ color:var(--gray); font-size:14.5px; line-height:1.7; }

/* Floating WhatsApp + Call buttons are now shared site-wide in style.css */

@media(max-width:600px){
  .cn-form-panel-wrap{ padding:30px 22px; }
  .cn-option-card{ padding:28px 22px; }
  .cn-info-row{ padding:16px 18px; }
  .cn-tab-btn{ padding:11px 18px; font-size:13px; }
  .cn-hero-content h1{ font-size:clamp(26px,7vw,36px); }
}

/* ACTIVE NAV STATE */
nav a.active{ color:var(--brass); }
