/* =============================================
   ABOUT PAGE CSS
   ============================================= */
.abt-main-grid {
  display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:start;
}
.abt-imgs { position:relative; }
.abt-img-top { width:100%; height:340px; object-fit:cover; border-radius:var(--radius-lg); margin-bottom:16px; box-shadow:var(--shadow); }
.abt-img-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.abt-img-row img { height:200px; object-fit:cover; border-radius:var(--radius); }
.abt-license-box {
  position:absolute; top:20px; right:-20px;
  background:var(--gold); border-radius:var(--radius);
  padding:16px 22px; display:flex; align-items:center; gap:14px;
  box-shadow:0 8px 24px rgba(232,184,75,0.4);
}
.abt-license-box i { font-size:1.6rem; color:var(--black); }
.abl-lbl { display:block; font-family:var(--font-ui); font-size:0.65rem; letter-spacing:2px; text-transform:uppercase; color:rgba(0,0,0,0.6); font-weight:700; }
.abl-num { display:block; font-family:var(--font-display); font-size:1.4rem; color:var(--black); letter-spacing:1px; }
.abt-text p { color:var(--white-dim); margin-top:20px; font-size:0.97rem; line-height:1.8; }
.abt-highlights { display:flex; flex-direction:column; gap:12px; margin-top:28px; }
.abt-hl { display:flex; align-items:center; gap:12px; font-family:var(--font-ui); font-size:0.92rem; font-weight:500; color:var(--white-dim); }
.abt-hl i { color:var(--teal); font-size:0.9rem; flex-shrink:0; }

/* Timeline */
.timeline { position:relative; max-width:900px; margin:0 auto; }
.timeline::before { content:''; position:absolute; left:50%; top:0; bottom:0; width:1px; background:var(--border); transform:translateX(-50%); }
.tl-item {
  display:grid; grid-template-columns:1fr 60px 1fr;
  gap:0; align-items:center; margin-bottom:36px; position:relative;
}
.tl-item:nth-child(even) .tl-year { order:2; }
.tl-item:nth-child(even) .tl-card { order:3; }
.tl-item:nth-child(even) .tl-dot { order:1; }
.tl-dot {
  width:14px; height:14px; border-radius:50%;
  background:var(--teal); border:3px solid var(--black);
  box-shadow:0 0 0 3px var(--teal-glow); margin:0 auto; z-index:1;
}
.tl-year {
  font-family:var(--font-display); font-size:1.8rem;
  color:var(--teal); text-align:center; letter-spacing:1px;
}
.tl-card { padding:22px 28px; }
.tl-card h3 { font-family:var(--font-ui); font-size:1rem; font-weight:700; color:var(--white); margin-bottom:8px; }
.tl-card p  { font-size:0.85rem; color:var(--white-dim); line-height:1.65; }

/* Values */
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.val-card { padding:36px 26px; transition:all var(--transition); }
.val-card:hover { transform:translateY(-6px); border-color:var(--teal); }
.val-icon { width:56px; height:56px; border-radius:var(--radius); background:rgba(24,197,178,0.1); border:1px solid rgba(24,197,178,0.2); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.val-icon i { font-size:1.4rem; color:var(--teal); }
.val-card h3 { font-family:var(--font-ui); font-size:1.1rem; font-weight:700; color:var(--white); margin-bottom:12px; }
.val-card p  { font-size:0.87rem; color:var(--white-dim); line-height:1.7; }

/* About Stats banner */
.abt-stats-section { position:relative; padding:80px 0; }
.abt-stats-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(0.2); }
.abt-stats-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(5,16,14,0.8),rgba(14,122,108,0.3)); }
.abt-stats-inner { position:relative; z-index:2; display:flex; justify-content:center; gap:0; flex-wrap:wrap; }
.abt-stat { text-align:center; padding:30px 60px; border-right:1px solid rgba(24,197,178,0.2); }
.abt-stat:last-child { border-right:none; }
.as-num { font-family:var(--font-display); font-size:3.5rem; color:var(--teal); line-height:1; text-shadow:0 0 30px rgba(24,197,178,0.4); }
.as-plus { font-family:var(--font-display); font-size:2.5rem; color:var(--teal); }
.as-lbl  { display:block; font-family:var(--font-ui); font-size:0.75rem; letter-spacing:2px; text-transform:uppercase; color:var(--white-dim); font-weight:600; margin-top:8px; }

@media(max-width:1100px) { .abt-main-grid{grid-template-columns:1fr;gap:60px} .values-grid{grid-template-columns:repeat(2,1fr)} .timeline::before{left:30px} .tl-item{grid-template-columns:60px 1fr} .tl-year{display:none} }
@media(max-width:768px) { .abt-img-row img{height:140px} .abt-license-box{right:0;top:10px} .values-grid{grid-template-columns:1fr} .abt-stat{padding:24px 32px} }

/* =============================================
   SERVICES PAGE CSS
   ============================================= */
.svc-hero-feature {
  display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; margin-bottom:72px;
}
.svc-hero-img { height:440px; border-radius:var(--radius-lg); overflow:hidden; }
.svc-hero-img img { width:100%; height:100%; object-fit:cover; }
.svc-hero-text .eyebrow { margin-bottom:10px; display:block; }
.svc-hero-text p { color:var(--white-dim); margin:20px 0 30px; font-size:0.97rem; line-height:1.8; }
.svc-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.svc-full-card {
  background:var(--dark); border:1px solid var(--border);
  border-radius:var(--radius-lg); overflow:hidden;
  transition:all var(--transition);
}
.svc-full-card:hover { border-color:rgba(24,197,178,0.35); transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,0.5),var(--shadow-teal); }
.svc-card-img { height:200px; overflow:hidden; }
.svc-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s; }
.svc-full-card:hover .svc-card-img img { transform:scale(1.07); }
.svc-card-body { padding:26px 26px 28px; }
.svc-card-num { font-family:var(--font-display); font-size:3rem; color:rgba(24,197,178,0.08); line-height:1; margin-bottom:6px; transition:color var(--transition); }
.svc-full-card:hover .svc-card-num { color:rgba(24,197,178,0.14); }
.svc-card-icon { width:44px; height:44px; border-radius:10px; background:rgba(24,197,178,0.1); border:1px solid rgba(24,197,178,0.2); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.svc-card-icon i { font-size:1.1rem; color:var(--teal); }
.svc-card-body h3 { font-family:var(--font-ui); font-size:1.1rem; font-weight:700; color:var(--white); margin-bottom:10px; }
.svc-card-body p  { font-size:0.86rem; color:var(--white-dim); line-height:1.65; margin-bottom:18px; }
.svc-card-line { height:2px; background:linear-gradient(to right,var(--teal),transparent); width:36px; border-radius:2px; transition:width var(--transition); }
.svc-full-card:hover .svc-card-line { width:100%; }

.svc-process { margin-top:100px; }
.svc-process .section-head { margin-bottom:56px; }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
.process-steps::before { content:''; position:absolute; top:36px; left:12%; right:12%; height:1px; background:linear-gradient(to right,transparent,var(--teal),transparent); }
.proc-step { text-align:center; padding:0 20px; }
.proc-circle { width:72px; height:72px; border-radius:50%; background:rgba(24,197,178,0.08); border:2px solid var(--teal); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; transition:all var(--transition); }
.proc-circle:hover { background:var(--teal); }
.proc-circle i { font-size:1.6rem; color:var(--teal); transition:color var(--transition); }
.proc-circle:hover i { color:var(--black); }
.proc-step h3 { font-family:var(--font-ui); font-size:0.95rem; font-weight:700; color:var(--white); margin-bottom:8px; }
.proc-step p  { font-size:0.82rem; color:var(--white-dim); line-height:1.6; }

@media(max-width:1100px) { .svc-cards-grid{grid-template-columns:repeat(2,1fr)} .svc-hero-feature{grid-template-columns:1fr} .process-steps{grid-template-columns:repeat(2,1fr);gap:36px} .process-steps::before{display:none} }
@media(max-width:768px)  { .svc-cards-grid{grid-template-columns:1fr} }

/* =============================================
   GALLERY PAGE CSS
   ============================================= */
.gallery-filter { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:48px; }
.filter-btn {
  font-family:var(--font-ui); font-size:0.82rem; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase;
  padding:10px 24px; border-radius:8px;
  border:1px solid var(--border); color:var(--white-dim);
  background:transparent; cursor:pointer; transition:all var(--transition);
}
.filter-btn:hover,.filter-btn.active { background:var(--teal); border-color:var(--teal); color:var(--black); }
.gallery-masonry {
  columns:3; column-gap:20px;
}
.gal-item {
  break-inside:avoid; margin-bottom:20px;
  border-radius:var(--radius); overflow:hidden;
  position:relative; cursor:pointer;
  border:1px solid var(--border);
  transition:all var(--transition);
}
.gal-item:hover { transform:scale(1.02); border-color:rgba(24,197,178,0.35); box-shadow:0 12px 40px rgba(0,0,0,0.5); }
.gal-item img { width:100%; height:auto; display:block; transition:transform 0.6s; }
.gal-item:hover img { transform:scale(1.06); }
.gal-item-overlay {
  position:absolute; inset:0;
  background:rgba(5,16,14,0.7); opacity:0;
  display:flex; align-items:center; justify-content:center;
  transition:opacity 0.3s;
}
.gal-item:hover .gal-item-overlay { opacity:1; }
.gal-item-overlay i { font-size:2rem; color:var(--white); }
.gal-item-label {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top,rgba(5,16,14,0.9),transparent);
  padding:20px 16px 14px;
  font-family:var(--font-ui); font-size:0.82rem; font-weight:600;
  color:var(--white-dim); letter-spacing:1px; text-transform:uppercase;
  transform:translateY(100%); transition:transform 0.3s;
}
.gal-item:hover .gal-item-label { transform:none; }

/* Lightbox */
.lightbox {
  position:fixed; inset:0; z-index:9999;
  background:rgba(5,16,14,0.96); backdrop-filter:blur(10px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity 0.3s;
}
.lightbox.open { opacity:1; pointer-events:all; }
.lightbox-img { max-width:90vw; max-height:85vh; border-radius:var(--radius); box-shadow:var(--shadow); }
.lb-close { position:absolute; top:24px; right:24px; font-size:2rem; color:var(--white); cursor:pointer; }
.lb-caption { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); font-family:var(--font-ui); font-size:0.9rem; color:var(--white-dim); letter-spacing:1px; text-transform:uppercase; }

@media(max-width:768px) { .gallery-masonry{columns:2} }
@media(max-width:480px) { .gallery-masonry{columns:1} }

/* =============================================
   CONTACT PAGE CSS
   ============================================= */
.contact-main-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:60px; align-items:start; }
.contact-info-col { display:flex; flex-direction:column; gap:18px; }
.cinfo-card {
  display:flex; align-items:center; gap:20px;
  background:rgba(24,197,178,0.04); border:1px solid var(--border);
  border-radius:var(--radius); padding:22px 26px;
  transition:all var(--transition);
}
.cinfo-card:hover { border-color:rgba(24,197,178,0.3); background:rgba(24,197,178,0.08); transform:translateX(6px); }
.cinfo-icon { width:48px; height:48px; border-radius:50%; background:rgba(24,197,178,0.1); border:1px solid rgba(24,197,178,0.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cinfo-icon i { font-size:1rem; color:var(--teal); }
.cinfo-lbl { display:block; font-family:var(--font-ui); font-size:0.7rem; letter-spacing:2.5px; text-transform:uppercase; color:var(--teal); font-weight:700; margin-bottom:4px; }
.cinfo-val { font-family:var(--font-ui); font-size:0.95rem; font-weight:600; color:var(--white); word-break:break-all; transition:color 0.2s; }
a.cinfo-val:hover { color:var(--teal); }
.contact-hours {
  background:rgba(232,184,75,0.05); border:1px solid var(--border-gold);
  border-radius:var(--radius); padding:26px;
}
.contact-hours h4 { font-family:var(--font-ui); font-size:0.92rem; font-weight:700; color:var(--gold); margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.contact-hours p { font-size:0.87rem; color:var(--white-dim); margin-bottom:5px; }
.contact-map-preview {
  margin-top:4px; border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--border); position:relative; height:180px;
  background:var(--dark3); display:flex; align-items:center; justify-content:center;
}
.contact-map-preview p { font-family:var(--font-ui); font-size:0.85rem; color:var(--teal); text-align:center; padding:20px; }

.contact-form-panel { background:rgba(24,197,178,0.03); border:1px solid var(--border); border-radius:var(--radius-lg); padding:46px 42px; }
.contact-form-panel h3 { font-family:var(--font-display); font-size:1.8rem; letter-spacing:2px; text-transform:uppercase; color:var(--white); margin-bottom:8px; }
.contact-form-panel p { font-size:0.9rem; color:var(--white-dim); margin-bottom:32px; }
.cf { display:flex; flex-direction:column; gap:22px; }
.cf-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cf-group { display:flex; flex-direction:column; gap:8px; }
.cf-group label { font-family:var(--font-ui); font-size:0.72rem; letter-spacing:2.5px; text-transform:uppercase; color:var(--teal); font-weight:700; }
.cf-group input,.cf-group select,.cf-group textarea {
  background:rgba(24,197,178,0.04); border:1px solid var(--border);
  border-radius:10px; padding:14px 18px;
  font-family:var(--font-body); font-size:0.95rem; color:var(--white);
  outline:none; transition:all var(--transition); resize:vertical;
  -webkit-appearance:none;
}
.cf-group select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2318c5b2' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center;
  background-size:12px; background-color:rgba(24,197,178,0.04); padding-right:42px;
}
.cf-group select option { background:var(--dark2); color:var(--white); }
.cf-group input::placeholder,.cf-group textarea::placeholder { color:var(--grey); }
.cf-group input:focus,.cf-group select:focus,.cf-group textarea:focus {
  border-color:var(--teal); background:rgba(24,197,178,0.07);
  box-shadow:0 0 0 3px rgba(24,197,178,0.1);
}
.cf-success {
  display:flex; align-items:center; gap:14px;
  background:rgba(24,197,178,0.1); border:1px solid rgba(24,197,178,0.3);
  border-radius:10px; padding:18px 22px;
  font-family:var(--font-ui); font-weight:600; color:var(--teal); font-size:1rem;
}
.cf-success i { font-size:1.4rem; }

@media(max-width:1100px) { .contact-main-grid{grid-template-columns:1fr} .contact-form-panel{padding:32px 26px} .cf-row{grid-template-columns:1fr} }
