/* =========================================================
   V Bright Design Services — Dark / Green design system
   Inspired by vbright.html (Inter + #7dc10e on #0a0a0a)
   ========================================================= */

:root {
  --bg:        #0a0a0a;
  --bg-2:      #0d0d0d;
  --bg-3:      #111;
  --bg-4:      #161616;
  --line:      #1e1e1e;
  --line-2:    #2a2a2a;
  --text:      #ffffff;
  --text-soft: #cccccc;
  --muted:     #888888;
  --green:     #7dc10e;
  --green-2:   #8ed012;
  --red:       #ef4444;
  --radius:    10px;
  --radius-lg: 14px;
  --container: 1536px;
  --pad-x:     clamp(16px, 3vw, 40px);
  --shadow:    0 24px 60px -20px rgba(0,0,0,0.6);
  --shadow-glow: 0 0 24px rgba(125,193,14,0.25);
}

* { margin:0; padding:0; box-sizing:border-box; }
html, body { overflow-x:hidden; max-width:100%; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg);
  color:var(--text);
  font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img, svg, video, iframe { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { font-family:inherit; }

.container, .navbar-inner, .top-bar-inner, .footer-inner {
  max-width:var(--container);
  margin:0 auto;
  padding-left:var(--pad-x);
  padding-right:var(--pad-x);
}

/* ============ TOP BAR ============ */
.top-bar { background:var(--bg-2); border-bottom:1px solid #1a1a1a; padding:8px 0; font-size:13px; }
.top-bar-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; }
.top-bar-group { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.top-link { display:inline-flex; align-items:center; gap:7px; color:var(--text-soft); font-size:13px; transition:color .2s; }
.top-link svg { color:var(--green); }
.top-link:hover { color:var(--green); }

/* ============ NAVBAR ============ */
.navbar {
  background:var(--bg-3);
  border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:100;
}
.navbar-inner { display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:10px; padding:10px 0; }
.brand-logo { height:54px; width:auto; object-fit:contain; }
.nav-desktop { display:flex; align-items:center; }
.nav-link {
  color:var(--text-soft); font-weight:600; font-size:13px; letter-spacing:.4px;
  padding:28px 14px; display:inline-block; position:relative;
  transition:color .2s;
}
.nav-link:hover { color:var(--green); }
.nav-link.active { color:var(--green); }
.nav-link.active::after {
  content:''; position:absolute; bottom:0; left:14px; right:14px;
  height:3px; background:var(--green); border-radius:3px 3px 0 0;
}
.btn-quote {
  background:var(--green); color:#000 !important; font-weight:800;
  padding:11px 18px !important; border-radius:6px;
  display:inline-flex; align-items:center; gap:8px;
  margin-left:14px; font-size:13px; white-space:nowrap;
  transition:background .2s;
}
.btn-quote:hover { background:var(--green-2); }
.btn-quote.active::after { display:none; }

.hamburger {
  display:none; background:none; border:1px solid #333; border-radius:6px;
  padding:8px; cursor:pointer; color:var(--text-soft);
}

.mobile-menu { display:none; background:var(--bg-3); border-top:1px solid var(--line); }
.mobile-menu.open { display:block; }
.mobile-nav-link {
  display:block; padding:14px 20px; color:var(--text-soft);
  font-size:14px; font-weight:600; border-bottom:1px solid #1a1a1a;
  letter-spacing:.4px;
}
.mobile-nav-link:hover, .mobile-nav-link.active { color:var(--green); background:#0c0c0c; }
.mobile-cta { color:#000 !important; background:var(--green); font-weight:800; text-align:center; }
.mobile-cta:hover { background:var(--green-2); color:#000 !important; }

@media (max-width: 1100px) {
  .nav-desktop { display:none; }
  .hamburger { display:inline-flex; }
}
@media (max-width: 640px) {
  .top-bar-group:last-child { display:none; }
  .brand-logo { height:42px; }
  .nav-link { padding:18px 12px; }
}

/* ============ BUTTONS ============ */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:13px 24px; border-radius:6px; font-weight:700; font-size:14px;
  border:1.5px solid transparent; cursor:pointer; transition:all .2s;
  text-decoration:none;
}
.btn-primary { background:var(--green); color:#000; }
.btn-primary:hover { background:var(--green-2); transform:translateY(-1px); }
.btn-outline { background:transparent; color:var(--text); border-color:#444; }
.btn-outline:hover { border-color:var(--green); color:var(--green); }
.arrow-circle {
  width:26px; height:26px; border-radius:50%; border:1.5px solid currentColor;
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
}

/* ============ HERO ============ */
.hero { position:relative; min-height:auto; display:flex; align-items:center; isolation:isolate; overflow:hidden; }
.hero-video-wrap { position:absolute; inset:0; overflow:hidden; z-index:0; background:#0a0a0a; }
.hero-video-wrap video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.hero-video-overlay {
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(90deg, rgba(10,10,10,0.92) 0%, rgba(10,10,10,0.55) 35%, rgba(10,10,10,0.1) 70%, rgba(10,10,10,0.05) 100%),
    linear-gradient(180deg, rgba(10,10,10,0.15) 0%, rgba(10,10,10,0.05) 50%, rgba(10,10,10,0.5) 100%);
}
.hero-content { position:relative; z-index:2; width:100%; padding:clamp(24px,3.2vw,40px) var(--pad-x); max-width:var(--container); margin:0 auto; }
.hero-content .inner { max-width:620px; }
.hero h1 {
  font-size:clamp(26px, 3.4vw, 40px);
  font-weight:800; line-height:1.12; margin-bottom:14px;
}
.hero h1 .accent { color:var(--green); text-shadow:0 0 22px rgba(125,193,14,.35); }
.hero p.lead { color:#bdbdbd; font-size:14px; line-height:1.6; max-width:520px; margin-bottom:18px; }

.feature-row { display:flex; flex-wrap:wrap; gap:12px 18px; margin-bottom:18px; }
.feature-item { display:flex; align-items:center; gap:12px; }
.feature-icon { width:36px; height:36px; border:1.5px solid #444; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.feature-text { font-weight:800; font-size:12px; letter-spacing:1px; color:#fff; line-height:1.25; }
.hero-cta { display:flex; flex-wrap:wrap; gap:14px; }

@media (max-width: 768px) {
  .hero { min-height:auto; }
  .hero-video-overlay { background: linear-gradient(180deg, rgba(10,10,10,0.65) 0%, rgba(10,10,10,0.45) 50%, rgba(10,10,10,0.85) 100%); }
}

/* ============ GLOW DIVIDER ============ */
.glow-divider { height:1px; background:linear-gradient(90deg, transparent, rgba(125,193,14,.45), transparent); margin:0; }

/* ============ SECTIONS ============ */
.section { padding:28px 0; }
.section-soft { background:#080808; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-head { text-align:center; max-width:760px; margin:0 auto 44px; }
.section-eyebrow {
  display:inline-block; color:var(--green); font-weight:800; font-size:13px;
  letter-spacing:2px; margin-bottom:14px; text-transform:uppercase;
}
.section-head h2 { font-size:clamp(26px,3vw,38px); font-weight:800; line-height:1.2; margin-bottom:14px; }
.section-head p { color:var(--text-soft); font-size:15px; }

/* ============ SERVICES PANEL ============ */
.services-panel { background:var(--bg-3); border:1px solid #222; border-radius:14px; overflow:hidden; }
.services-grid { display:grid; grid-template-columns:1fr 1fr; }
.services-side { padding:22px 24px; }
.services-side + .services-side { border-left:1px solid #222; }
.services-side .head { display:flex; align-items:center; gap:10px; margin-bottom:16px; justify-content:center; }
.services-side .head svg { color:var(--green); }
.service-section-title { color:var(--green); font-weight:800; font-size:14px; letter-spacing:1.4px; }
.service-icons { display:grid; grid-template-columns:repeat(6, 1fr); gap:14px 8px; margin-bottom:16px; }
.service-icon-box { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; padding:8px; border-radius:8px; transition:all .25s; cursor:default; }
.service-icon-box svg { width:34px; height:34px; color:#cfcfcf; transition:color .25s; }
.service-icon-box span { font-size:11.5px; color:#d8d8d8; line-height:1.3; }
.service-icon-box:hover { transform:translateY(-3px); }
.service-icon-box:hover svg { color:var(--green); }
.output-row { border-top:1px solid var(--line); padding-top:12px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:center; }
.output-label { color:var(--green); font-weight:700; font-size:13px; letter-spacing:.6px; }
.output-formats { color:var(--text-soft); font-size:13px; }

@media (max-width: 1024px) {
  .services-grid { grid-template-columns:1fr; }
  .services-side + .services-side { border-left:none; border-top:1px solid #222; }
}
@media (max-width: 900px) {
  .service-icons { grid-template-columns:repeat(3, 1fr); }
}
@media (max-width: 520px) {
  .service-icons { grid-template-columns:repeat(2, 1fr); }
  .services-side { padding:20px 16px; }
}

/* ============ ABOUT / CARDS ============ */
.about-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; }
.about-visual { border-radius:14px; overflow:hidden; border:1px solid var(--line); background:#111; box-shadow:var(--shadow); }
.about-visual img { width:100%; height:auto; display:block; }
.about-content h2 { font-size:clamp(24px,2.6vw,34px); font-weight:800; line-height:1.2; margin-bottom:16px; }
.about-content p { color:var(--text-soft); margin-bottom:14px; }
.checklist { margin:18px 0 28px; display:grid; grid-template-columns:1fr 1fr; gap:10px 22px; }
.checklist li { display:flex; align-items:flex-start; gap:10px; color:var(--text-soft); font-size:14px; }
.checklist .check { color:var(--green); font-weight:800; flex-shrink:0; }
@media (max-width: 900px) {
  .about-grid { grid-template-columns:1fr; gap:32px; }
  .checklist { grid-template-columns:1fr; }
}

/* ============ ACHIEVEMENTS STATS ============ */
.stats-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; }
.stat-card {
  background:var(--bg-3); border:1px solid var(--line); border-radius:12px;
  padding:28px 22px; text-align:center; transition:all .25s;
}
.stat-card:hover { border-color:var(--green); transform:translateY(-4px); box-shadow:var(--shadow-glow); }
.stat-card .num { font-size:32px; font-weight:900; color:var(--green); margin-bottom:6px; line-height:1; }
.stat-card .label { font-weight:700; font-size:14px; margin-bottom:6px; }
.stat-card .desc { color:var(--muted); font-size:13px; line-height:1.5; }
@media (max-width: 900px) { .stats-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 480px) { .stats-grid { grid-template-columns:1fr; } }

/* ============ SHOWCASE MARQUEE ============ */
.marquee-wrap { padding:48px 0; background:var(--bg); overflow:hidden; }
.marquee-wrap.dark { background:#070707; }
.marquee { overflow:hidden; padding:24px 0; mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-track { display:flex; gap:20px; width:max-content; animation:marquee 40s linear infinite; }
.marquee-track.reverse { animation-direction:reverse; }
.marquee:hover .marquee-track { animation-play-state:paused; }
.marquee-card {
  flex:0 0 260px; height:260px;
  background:#fff; border-radius:12px; overflow:hidden; position:relative;
  border:1px solid var(--line); cursor:pointer;
  transition:transform .3s, box-shadow .3s;
}
.marquee-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px -10px rgba(125,193,14,.25); }
.marquee-card img { width:100%; height:100%; object-fit:contain; background:#f6f6f6; }
.marquee-card .label {
  position:absolute; left:10px; bottom:10px;
  background:rgba(0,0,0,.78); color:#fff; padding:8px 12px; border-radius:8px;
  font-size:12px; font-weight:700; line-height:1.3;
}
.marquee-card .label small { display:block; color:var(--green); font-weight:800; font-size:10px; letter-spacing:1px; margin-bottom:2px; }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (max-width:640px){ .marquee-card{flex-basis:200px;height:200px;} }

/* ============ UPLOAD / QUOTE SECTION ============ */
.upload-section { background:#0f0f0f; border:1px solid var(--line); border-radius:14px; padding:32px; }
.upload-grid { display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center; }
.upload-box {
  border:1.5px dashed #333; border-radius:12px; padding:28px 24px; min-width:200px; text-align:center;
}
.upload-box svg { margin:0 auto 10px; }
.upload-box .title { font-weight:800; font-size:15px; color:#fff; margin-bottom:6px; }
.upload-box .title span { color:var(--green); }
.upload-box p { font-size:12px; color:#777; line-height:1.5; }
.input-field {
  background:#1a1a1a; border:1px solid var(--line-2); border-radius:8px;
  padding:13px 16px; color:#fff; width:100%; font-size:14px; outline:none;
  font-family:inherit;
}
.input-field:focus { border-color:var(--green); }
.input-field::placeholder { color:#666; }
.upload-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.upload-fields > .full { grid-column:1 / -1; }
.btn-submit {
  background:var(--green); color:#000; font-weight:800; padding:16px 26px;
  border-radius:8px; display:inline-flex; align-items:center; justify-content:center;
  gap:10px; font-size:15px; border:none; cursor:pointer; transition:background .2s; min-width:200px;
}
.btn-submit:hover { background:var(--green-2); }
.secure-badge { color:#777; font-size:12px; text-align:center; margin-top:10px; display:flex; align-items:center; justify-content:center; gap:6px; }
@media (max-width: 1000px) {
  .upload-grid { grid-template-columns:1fr; }
  .upload-box { min-width:0; }
}

/* ============ TESTIMONIALS ============ */
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.testimonial {
  background:var(--bg-3); border:1px solid var(--line); border-radius:12px; padding:26px;
  transition:all .25s;
}
.testimonial:hover { border-color:var(--green); transform:translateY(-4px); }
.testimonial .stars { color:#f5b50a; margin-bottom:12px; letter-spacing:2px; font-size:15px; }
.testimonial blockquote { color:var(--text-soft); font-style:italic; margin-bottom:14px; font-size:14px; line-height:1.7; }
.testimonial cite { color:#fff; font-weight:700; font-size:14px; font-style:normal; }
.testimonial cite small { display:block; color:var(--green); font-weight:600; font-size:12px; margin-top:2px; letter-spacing:.6px; }
@media (max-width: 900px) { .testimonial-grid { grid-template-columns:1fr; } }

/* ============ CTA BANNER ============ */
.cta-banner {
  background:linear-gradient(135deg, #111 0%, #0d1b03 100%);
  border:1px solid var(--line); border-radius:14px; padding:42px 36px;
  display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
  position:relative; overflow:hidden;
}
.cta-banner::before {
  content:''; position:absolute; right:-60px; top:-60px; width:240px; height:240px;
  background:radial-gradient(circle, rgba(125,193,14,.25), transparent 70%); pointer-events:none;
}
.cta-banner h3 { font-size:clamp(20px,2.2vw,28px); font-weight:800; margin-bottom:8px; }
.cta-banner p { color:var(--text-soft); }

/* ============ PAGE HERO (inner pages) ============ */
.page-hero {
  background:linear-gradient(180deg, #0c0c0c, var(--bg));
  padding:64px 0 48px; border-bottom:1px solid var(--line); position:relative;
}
.page-hero::after {
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(125,193,14,.45), transparent);
}
.page-hero h1 { font-size:clamp(28px,4vw,42px); font-weight:800; margin-bottom:10px; }
.page-hero .crumbs { color:var(--muted); font-size:14px; }
.page-hero .crumbs a { color:var(--text-soft); }
.page-hero .crumbs a:hover { color:var(--green); }

/* ============ PROSE ============ */
.prose { max-width:880px; margin:0 auto; }
.prose h2 { font-size:22px; font-weight:800; color:#fff; margin:30px 0 14px; }
.prose h3 { font-size:18px; font-weight:700; color:var(--green); margin:24px 0 10px; }
.prose p { color:var(--text-soft); margin-bottom:14px; }
.prose ul { margin:8px 0 18px; padding-left:0; }
.prose ul li { color:var(--text-soft); padding:6px 0 6px 24px; position:relative; }
.prose ul li::before { content:'✓'; color:var(--green); position:absolute; left:0; font-weight:800; }
.prose strong { color:#fff; }

/* ============ FORM CARD ============ */
.form-card {
  background:var(--bg-3); border:1px solid var(--line); border-radius:14px;
  padding:36px; max-width:680px; margin:0 auto;
}
.form-row { margin-bottom:16px; }
.form-row label { display:block; color:#fff; font-weight:600; font-size:14px; margin-bottom:8px; }
.form-row .req { color:var(--green); }
.form-row input, .form-row textarea {
  width:100%; background:#1a1a1a; border:1px solid var(--line-2); border-radius:8px;
  padding:12px 14px; color:#fff; font-size:14px; outline:none; font-family:inherit;
}
.form-row textarea { min-height:120px; resize:vertical; }
.form-row input:focus, .form-row textarea:focus { border-color:var(--green); }
.file-drop {
  display:block; cursor:pointer; padding:24px; text-align:center;
  border:1.5px dashed #333; border-radius:10px; background:#0f0f0f; transition:all .2s;
}
.file-drop:hover { border-color:var(--green); background:#101a02; }
.file-drop strong { display:block; color:var(--green); font-size:14px; margin-bottom:4px; }
.file-drop p { color:#777; font-size:12px; }
#enq-file-preview img, #popup-file-preview img, #ct-file-preview img {
  max-width:200px; max-height:160px; margin-top:10px; border-radius:8px; border:1px solid var(--line);
}
.alert { padding:14px 16px; border-radius:8px; margin-bottom:18px; font-size:14px; font-weight:600; }
.alert-success { background:rgba(125,193,14,.12); color:var(--green); border:1px solid rgba(125,193,14,.4); }
.alert-error { background:rgba(239,68,68,.12); color:#fca5a5; border:1px solid rgba(239,68,68,.4); }

/* ============ CONTACT CARDS ============ */
.contact-info { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:40px; }
.contact-card { background:var(--bg-3); border:1px solid var(--line); border-radius:12px; padding:26px; text-align:center; transition:all .25s; }
.contact-card:hover { border-color:var(--green); transform:translateY(-4px); }
.contact-card .icon { width:54px; height:54px; border-radius:50%; background:rgba(125,193,14,.12); color:var(--green); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.contact-card .icon svg { width:24px; height:24px; }
.contact-card h4 { font-weight:800; margin-bottom:8px; }
.contact-card a { color:var(--text-soft); font-size:14px; }
.contact-card a:hover { color:var(--green); }
@media (max-width:760px){ .contact-info{grid-template-columns:1fr;} }

/* ============ GALLERY ============ */
.gallery-tabs { display:flex; justify-content:center; gap:10px; margin-bottom:32px; flex-wrap:wrap; }
.gallery-tab {
  background:transparent; border:1.5px solid #333; color:var(--text-soft);
  padding:10px 22px; border-radius:40px; font-weight:700; cursor:pointer;
  font-size:13px; letter-spacing:.8px; transition:all .2s;
}
.gallery-tab:hover { border-color:var(--green); color:var(--green); }
.gallery-tab.active { background:var(--green); border-color:var(--green); color:#000; }
.gallery-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:20px;
}
.gallery-item {
  position:relative; background:#fff; border:1px solid var(--line); border-radius:12px;
  overflow:hidden; cursor:pointer; aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center;
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.gallery-item:hover { transform:translateY(-4px); box-shadow:0 18px 40px -10px rgba(125,193,14,.25); border-color:var(--green); }
.gallery-item img { width:100%; height:100%; object-fit:contain; background:#f7f7f7; transition:transform .4s; }
.gallery-item:hover img { transform:scale(1.04); }

/* ============ LIGHTBOX ============ */
.image-modal {
  display:none; position:fixed; inset:0; background:rgba(0,0,0,.94); z-index:200;
  align-items:center; justify-content:center; padding:30px;
}
.image-modal.open { display:flex; }
.image-modal img { max-width:90vw; max-height:80vh; object-fit:contain; border-radius:8px; }
.image-modal .modal-close {
  position:absolute; top:20px; right:24px; background:none; border:0; color:#fff;
  font-size:36px; cursor:pointer; line-height:1;
}
.image-modal .modal-caption { position:absolute; bottom:24px; left:0; right:0; color:#fff; text-align:center; font-size:14px; }

/* ============ FLOATING ENQUIRY ============ */
.enquiry-fab {
  position:fixed; right:18px; bottom:18px; z-index:90;
  background:var(--green); color:#000; border:0; border-radius:50px;
  padding:14px 20px; font-weight:800; cursor:pointer;
  box-shadow:0 12px 30px -8px rgba(125,193,14,.6);
  display:inline-flex; align-items:center; gap:8px; font-size:14px;
  transition:transform .2s, background .2s;
}
.enquiry-fab:hover { transform:translateY(-2px); background:var(--green-2); }
.enquiry-fab .wave { font-size:18px; }

/* ============ ENQUIRY MODAL ============ */
.modal-overlay {
  display:none; position:fixed; inset:0; background:rgba(0,0,0,.78); z-index:150;
  align-items:flex-start; justify-content:center; padding:40px 16px; overflow-y:auto;
}
.modal-overlay.open { display:flex; }
.modal {
  background:#0f0f0f; border:1px solid var(--line); border-radius:14px;
  width:100%; max-width:560px; overflow:hidden;
}
.modal-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 22px; border-bottom:1px solid var(--line); background:#0c0c0c;
}
.modal-head h3 { font-size:16px; font-weight:800; }
.modal-head h3 small { display:block; color:var(--muted); font-size:12px; font-weight:500; margin-top:2px; }
.modal-close { background:none; border:0; color:var(--text-soft); cursor:pointer; padding:6px; }
.modal-close:hover { color:var(--green); }
.modal-body { padding:22px; }

/* ============ FOOTER ============ */
.site-footer { background:#070707; border-top:1px solid var(--line); padding:56px 0 0; margin-top:64px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:36px; padding-bottom:36px; border-bottom:1px solid var(--line); }
.footer-logo { height:56px; }
.footer-tagline { font-size:14px; color:var(--text-soft); margin-top:14px; line-height:1.7; }
.site-footer h5 { font-size:13px; font-weight:800; letter-spacing:1.5px; margin-bottom:16px; color:var(--green); text-transform:uppercase; }
.site-footer ul li { margin-bottom:10px; }
.site-footer ul li a { font-size:14px; color:var(--text-soft); transition:color .2s; }
.site-footer ul li a:hover { color:var(--green); }
.footer-contact { font-size:14px; line-height:1.9; color:var(--text-soft); }
.footer-contact a { color:var(--text-soft); }
.footer-contact a:hover { color:var(--green); }
.footer-bottom {
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:22px 0; font-size:13px; color:var(--muted);
}
@media (max-width: 900px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px) {
  .footer-grid { grid-template-columns:1fr; }
}

/* ============ REVEAL ANIMATIONS ============ */
.reveal, .reveal-delay-1, .reveal-delay-2, .reveal-delay-3, .reveal-zoom { will-change:opacity, transform; }
