@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&family=Space+Mono:wght@400;700&display=swap');

:root {
  --cyan: #00A5D1;
  --cyan-hover: #00b8e6;
  --tan: #E5DCCB;
  --charcoal: #1A1A1A;
  --silver: #C0C0C0;
  --bg-light: #F9F9F8;
  --bg-dark: #111111;
  --gold: #C9A84C;
  --text-dark: #1A1A1A;
  --text-light: #FFFFFF;
  --text-muted: #6B7280;
  --font-sans: 'Inter', sans-serif;
  --font-headline: 'Outfit', sans-serif;
  --font-serif: 'Cormorant Garamond', serif;
  --font-mono: 'Space Mono', monospace;
  --radius-pill: 9999px;
  --radius-xl: 24px;
  --radius-lg: 16px;
  --radius-md: 8px;
  --ease: cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-sans);color:var(--text-dark);background:var(--bg-light);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:#f1f1f1}
::-webkit-scrollbar-thumb{background:var(--silver);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:var(--cyan)}

/* ── UTILS ── */
.container{max-width:1340px;margin:0 auto;padding:0 2rem}
.section{padding:7rem 0}
.section--dark{background:var(--charcoal);color:var(--text-light)}
.section--tan{background:var(--tan)}
.eyebrow{font-family:var(--font-mono);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--cyan);display:block;margin-bottom:1rem}
.eyebrow--light{color:var(--cyan)}

/* ── TYPOGRAPHY ── */
.h1{font-family:var(--font-headline);font-size:clamp(3rem,8vw,6.5rem);font-weight:900;line-height:.95;letter-spacing:-.03em;text-transform:uppercase}
.h2{font-family:var(--font-headline);font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;text-transform:uppercase}
.h3{font-family:var(--font-headline);font-size:clamp(1.4rem,3vw,2rem);font-weight:700;line-height:1.15}
.serif-italic{font-family:var(--font-serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.5rem;border-radius:var(--radius-pill);font-weight:600;font-size:1rem;transition:all .3s var(--ease);white-space:nowrap}
.btn--primary{background:var(--cyan);color:#000}
.btn--primary:hover{background:var(--tan)}
.btn--dark{background:var(--charcoal);color:#fff;font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;padding:.85rem 1.75rem;border-radius:var(--radius-xl)}
.btn--dark:hover{background:var(--tan);color:#000}
.btn--outline{border:2px solid var(--silver);color:var(--cyan);font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;padding:.85rem 1.75rem;border-radius:var(--radius-xl);background:transparent}
.btn--outline:hover{border-color:var(--cyan);color:var(--cyan-hover)}
.btn--gold{background:var(--gold);color:#fff}
.btn--gold:hover{background:#b8962e}

/* ── NAVBAR ── */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 2rem;transition:all .3s var(--ease)}
.navbar.scrolled,
.navbar.mobile-menu-open,
.navbar:has(.mobile-active) {
  background: var(--charcoal) !important;
  box-shadow: 0 2px 20px rgba(0,0,0,.3);
}
.navbar__inner{max-width:1340px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:100px;transition:height 0.3s var(--ease)}
.navbar.scrolled .navbar__inner{height:85px}
.navbar__logo{display:flex;align-items:center;gap:0.75rem;transition:all 0.3s var(--ease)}
.navbar__logo img{height:65px;width:65px;aspect-ratio:1/1;border-radius:50%;object-fit:cover;display:block;transition:all 0.3s var(--ease);background:#fff;border:1px solid rgba(255,255,255,0.15);box-shadow:0 2px 8px rgba(0,0,0,0.15)}
.navbar.scrolled .navbar__logo img{height:50px;width:50px}
.navbar__logo-text{font-family:var(--font-headline);font-weight:900;font-size:1.15rem;letter-spacing:.05em;text-transform:uppercase;color:#fff;line-height:1.1}
.navbar__logo-text span{color:var(--cyan);display:block;font-size:.7rem;letter-spacing:.2em;font-family:var(--font-mono);font-weight:400}
.navbar__links{display:flex;gap:2rem;align-items:center}
@media(max-width: 1250px) {
  .navbar__links{gap:1rem}
  .navbar__link{font-size:.8rem}
}
.navbar__link{color:rgba(255,255,255,.75);font-size:.9rem;font-weight:500;transition:.2s;position:relative}
.navbar__link:hover{color:#fff}
.navbar__link.active{color:#fff}
.navbar__link.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--cyan);border-radius:2px}
.hamburger{display:none;flex-direction:column;gap:5px;padding:.5rem;background:transparent;border:none;cursor:pointer}
.hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s}
@media(max-width:900px){
  .navbar__links,.navbar__cta{display:none}
  .hamburger{display:flex}
  .navbar__logo img{height:55px;width:55px}
  .navbar.scrolled .navbar__logo img{height:45px;width:45px}
  .navbar__inner{height:80px}
  .navbar.scrolled .navbar__inner{height:70px}
}

/* ── HERO ── */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,26,26,.85) 0%,rgba(0,0,0,.6) 100%);z-index:1}
.hero__content{position:relative;z-index:2;text-align:center;color:#fff;max-width:900px;padding:0 2rem}
.hero__title{margin-bottom:1.5rem}
.hero__sub{font-size:clamp(1rem,2vw,1.2rem);line-height:1.7;max-width:640px;margin:0 auto 2.5rem;opacity:.85}
.hero__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.5);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;animation:bounce 2s infinite}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* ── SCRIPTURE ── */
.scripture{position:relative;padding:8rem 2rem;text-align:center;overflow:hidden}
.scripture__bg{position:absolute;inset:0;z-index:0}
.scripture__bg img{width:100%;height:100%;object-fit:cover}
.scripture__overlay{position:absolute;inset:0;background:rgba(10,10,10,.82);z-index:1}
.scripture__content{position:relative;z-index:2;max-width:820px;margin:0 auto;color:#fff}
.scripture__verse{font-family:var(--font-serif);font-size:clamp(1.6rem,3.5vw,2.8rem);font-style:italic;line-height:1.4;margin:1.5rem 0;font-weight:400}
.scripture__ref{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.15em;color:var(--cyan);text-transform:uppercase}
.scripture__divider{width:60px;height:3px;background:var(--gold);margin:2rem auto}

/* ── ABOUT ── */
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about__img-wrap{position:relative;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:4/5}
.about__img-wrap img{width:100%;height:100%;object-fit:cover}
.about__img-accent{position:absolute;bottom:2rem;right:-1.5rem;background:var(--cyan);color:#000;padding:1.5rem 2rem;border-radius:var(--radius-lg);font-family:var(--font-headline);font-weight:900;font-size:2.5rem;line-height:1}
.about__img-accent small{display:block;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;font-weight:400;margin-top:.25rem}
.about__body{display:flex;flex-direction:column;gap:1.5rem}
.about__text{font-size:1.05rem;line-height:1.75;color:var(--text-muted)}
.about__list{display:flex;flex-direction:column;gap:.75rem}
.about__list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;color:var(--text-muted)}
.about__list li::before{content:'✦';color:var(--cyan);flex-shrink:0;margin-top:.1rem}

@media(max-width:900px){
  .about__grid{grid-template-columns:1fr}
  .about__img-accent{right:1rem}
}

/* ── MINISTRIES ── */
.ministry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.ministry-card{position:relative;height:420px;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:32px;border:1px solid rgba(0,0,0,.07);transition:transform 0.4s var(--ease),box-shadow 0.4s var(--ease),border-color 0.4s var(--ease);box-sizing:border-box}
.ministry-card__bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.4s var(--ease);z-index:0}
.ministry-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0.3) 100%);z-index:1}
.ministry-card__content{position:relative;z-index:2;color:#fff}
.ministry-card__title{font-family:var(--font-headline);font-weight:800;font-size:1.6rem;color:#fff;margin-bottom:0.5rem;text-shadow:0 2px 4px rgba(0,0,0,0.5)}
.ministry-card__time{font-family:var(--font-mono);font-size:0.85rem;color:#D4AF37 !important;letter-spacing:0.08em;margin-bottom:0.75rem;display:block;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,0.5)}
.ministry-card__desc{font-size:0.92rem;color:rgba(255,255,255,0.85);line-height:1.6;text-shadow:0 1px 3px rgba(0,0,0,0.5)}
.ministry-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(212,175,55,0.15);border-color:#D4AF37}
.ministry-card:hover .ministry-card__bg{transform:scale(1.08)}
@media(max-width:768px){
  .ministry-grid{grid-template-columns:1fr}
}

/* ── SERMONS ── */
.sermons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem}
.sermon-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);overflow:hidden;transition:.3s var(--ease)}
.sermon-card:hover{transform:translateY(-4px);border-color:var(--cyan)}
.sermon-card__video{aspect-ratio:16/9;width:100%;background:#000}
.sermon-card__video iframe{width:100%;height:100%;border:0}
.sermon-card__body{padding:1.5rem}
.sermon-card__tag{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--cyan);text-transform:uppercase;margin-bottom:.5rem;display:block}
.sermon-card__title{font-family:var(--font-headline);font-weight:700;font-size:1.2rem;color:#fff;margin-bottom:.5rem}
.sermon-card__date{font-size:.85rem;color:rgba(255,255,255,.4)}

/* ── GALLERY ── */
.gallery-filters{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:2.5rem}
.gallery-filter{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;padding:.5rem 1.25rem;border-radius:var(--radius-pill);border:1px solid var(--silver);background:transparent;color:var(--text-dark);transition:.2s;cursor:pointer}
.gallery-filter.active,.gallery-filter:hover{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

@media(max-width: 1200px) {
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media(max-width: 900px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width: 600px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}

.gallery-item {
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease;
  cursor: pointer;
}

.gallery-item.hide {
  display: none !important;
}

.gallery-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0, 165, 209, 0.15);
  border-color: var(--cyan);
}

.gallery-item__media-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  background: #f3f3f2;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.gallery-item img,
.gallery-item video {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 0;
  display: block;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.gallery-item img.loaded,
.gallery-item video.loaded {
  opacity: 1;
}

.gallery-item:hover img,
.gallery-item:hover video {
  transform: scale(1.05);
}

.gallery-item__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  pointer-events: none;
  z-index: 2;
}

.gallery-item:hover .gallery-item__overlay {
  background: rgba(10, 10, 10, 0.4);
}

.gallery-item__overlay::after {
  content: '🔍';
  color: #fff;
  font-size: 1.8rem;
  opacity: 0;
  transform: scale(0.7);
  transition: all 0.3s ease;
}

.gallery-item:hover .gallery-item__overlay::after {
  opacity: 1;
  transform: scale(1);
}

.gallery-item__info {
  padding: 1.25rem;
  background: #ffffff;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.gallery-item__tag {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--cyan);
}

.gallery-item__title {
  font-family: var(--font-headline);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.3;
}

/* ── LIGHTBOX ── */
.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 10, 0.96);
  backdrop-filter: blur(8px);
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lightbox.active {
  display: flex;
  opacity: 1;
}

.lightbox__content {
  position: relative;
  width: 90vw;
  height: 85vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.lightbox__content img,
.lightbox__content video {
  max-width: 100%;
  max-height: 75vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8);
  opacity: 0;
  transform: scale(0.97);
  transition: opacity 0.3s ease, transform 0.3s ease;
  display: none;
}

.lightbox__content img.show,
.lightbox__content video.show {
  opacity: 1;
  transform: scale(1);
}

.lightbox__close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  color: #fff;
  font-size: 2.2rem;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  border: none;
  cursor: pointer;
  z-index: 2002;
  transition: all 0.2s ease;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.lightbox__close:hover {
  color: #000;
  background: #fff;
  transform: rotate(90deg);
}

.lightbox__prev,
.lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 2rem;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  border: none;
  cursor: pointer;
  z-index: 2001;
  transition: all 0.2s ease;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  user-select: none;
}

.lightbox__prev:hover,
.lightbox__next:hover {
  color: #000;
  background: #fff;
}

.lightbox__prev {
  left: 2rem;
}

.lightbox__next {
  right: 2rem;
}

.lightbox__caption {
  color: #fff;
  margin-top: 1.5rem;
  font-family: var(--font-headline);
  font-weight: 600;
  font-size: 1.1rem;
  text-align: center;
  letter-spacing: 0.02em;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

@media (max-width: 768px) {
  .lightbox__prev,
  .lightbox__next {
    width: 44px;
    height: 44px;
    font-size: 1.5rem;
    background: rgba(0, 0, 0, 0.5);
  }
  .lightbox__prev { left: 0.5rem; }
  .lightbox__next { right: 0.5rem; }
  .lightbox__close { top: 1rem; right: 1rem; width: 40px; height: 40px; font-size: 1.8rem; background: rgba(0, 0, 0, 0.5); }
  .lightbox__caption { font-size: 0.95rem; margin-top: 1rem; padding: 0 1rem; }
}

/* Prevent page scroll shift when lightbox opens */
body.lightbox-open {
  overflow: hidden;
  padding-right: var(--scrollbar-width, 0px);
}

.lightbox::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  width: 40px;
  height: 40px;
  border: 3px solid rgba(255, 255, 255, 0.2);
  border-top-color: var(--cyan);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 1999;
}

.lightbox.lightbox-loading::after {
  opacity: 1;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ── LEADERSHIP ── */
.leadership-intro{text-align:center;max-width:640px;margin:0 auto 4rem}
.leadership-group-photo{border-radius:var(--radius-xl);overflow:hidden;margin-bottom:4rem;max-height:500px}
.leadership-group-photo img{width:100%;height:100%;object-fit:cover}
.leadership-roles{display:flex;flex-direction:column;gap:3rem}
.leadership-role__title{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);padding-bottom:1rem;margin-bottom:2rem;border-bottom:1px solid rgba(0,0,0,.08)}
.leadership-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}
.leader-card{text-align:center}
.leader-card__photo{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 1rem;border:3px solid var(--tan);background:var(--tan)}
.leader-card__photo img{width:100%;height:100%;object-fit:cover}
.leader-card__name{font-family:var(--font-headline);font-weight:700;font-size:1rem;margin-bottom:.25rem}
.leader-card__role{font-family:var(--font-mono);font-size:.72rem;color:var(--cyan);text-transform:uppercase;letter-spacing:.08em}

/* ── HISTORY TIMELINE ── */
.timeline{position:relative;padding-left:3rem}
.timeline::before{content:'';position:absolute;left:1rem;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--cyan),var(--gold))}
.timeline-item{position:relative;margin-bottom:3rem;padding-left:2rem}
.timeline-item::before{content:'';position:absolute;left:-2.1rem;top:.4rem;width:14px;height:14px;border-radius:50%;background:var(--cyan);border:3px solid #fff;box-shadow:0 0 0 3px var(--cyan)}
.timeline-item__year{font-family:var(--font-mono);font-size:.8rem;color:var(--cyan);letter-spacing:.1em;margin-bottom:.5rem;display:block}
.timeline-item__title{font-family:var(--font-headline);font-weight:700;font-size:1.3rem;margin-bottom:.5rem}
.timeline-item__desc{font-size:.95rem;color:var(--text-muted);line-height:1.65}

/* ── BLOG ── */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.blog-card{background:#fff;border-radius:var(--radius-xl);overflow:hidden;border:1px solid rgba(0,0,0,.06);transition:.3s var(--ease)}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(0,0,0,.07)}
.blog-card__img{aspect-ratio:16/9;overflow:hidden}
.blog-card__img img{width:100%;height:100%;object-fit:cover;transition:.5s var(--ease)}
.blog-card:hover .blog-card__img img{transform:scale(1.05)}
.blog-card__body{padding:1.75rem}
.blog-card__cat{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--cyan);text-transform:uppercase;margin-bottom:.5rem;display:block}
.blog-card__title{font-family:var(--font-headline);font-weight:700;font-size:1.2rem;margin-bottom:.75rem;line-height:1.3}
.blog-card__excerpt{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin-bottom:1.25rem}
.blog-card__meta{font-size:.8rem;color:var(--silver);font-family:var(--font-mono)}

/* ── VISIT ── */
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.visit-map{border-radius:var(--radius-xl);overflow:hidden;height:420px;background:#e5e5e5}
.visit-map iframe{width:100%;height:100%;border:0}
.visit-info{display:flex;flex-direction:column;gap:2rem}
.visit-address{font-size:1.05rem;line-height:1.7;color:var(--text-muted)}
.visit-times{display:flex;flex-direction:column;gap:1rem}
.visit-time-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.06)}
.visit-time-item__name{font-weight:600;font-size:.95rem}
.visit-time-item__time{font-family:var(--font-mono);font-size:.8rem;color:var(--cyan)}
@media(max-width:800px){.visit-grid{grid-template-columns:1fr}}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:2rem}
.contact-item{display:flex;align-items:flex-start;gap:1rem}
.contact-item__icon{width:44px;height:44px;border-radius:var(--radius-md);background:rgba(0,165,209,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--cyan);font-size:1.2rem}
.contact-item__label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--silver);text-transform:uppercase;margin-bottom:.25rem;display:block}
.contact-item__value{font-weight:600;color:var(--text-light)}
.contact-form{display:flex;flex-direction:column;gap:1.25rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-group{display:flex;flex-direction:column;gap:.5rem}
.form-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.form-input,.form-textarea{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:1rem 1.25rem;color:#fff;font-family:var(--font-sans);font-size:1rem;transition:.2s;outline:none;width:100%}
.form-input:focus,.form-textarea:focus{border-color:var(--cyan);background:rgba(0,165,209,.08)}
.form-textarea{resize:vertical;min-height:130px}
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}

/* ── FOOTER ── */
.footer{background:#0a0a0a;padding:5rem 2rem 2rem;color:rgba(255,255,255,.6)}
.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem}
.footer__brand-name{font-family:var(--font-headline);font-weight:900;font-size:1.3rem;text-transform:uppercase;color:#fff;margin-bottom:.25rem}
.footer__brand-tagline{font-size:.85rem;line-height:1.6;margin-top:.75rem;max-width:280px}
.footer__col-title{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#fff;margin-bottom:1.25rem}
.footer__links{display:flex;flex-direction:column;gap:.65rem}
.footer__link{font-size:.9rem;transition:.2s}
.footer__link:hover{color:#fff}
.footer__bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:1.75rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:gap}
.footer__copy{font-size:.82rem}
.footer__social{display:flex;gap:1rem}
.footer__social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:.2s;font-size:.9rem}
.footer__social a:hover{background:var(--cyan);border-color:var(--cyan);color:#000}
@media(max-width:900px){
  .footer__top{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .footer__top{grid-template-columns:1fr}
}

/* ── TICKER ── */
.ticker-wrap{background:var(--cyan);padding:.85rem 0;overflow:hidden}
.ticker-track{display:flex;animation:ticker 30s linear infinite;width:max-content}
.ticker-item{display:flex;align-items:center;gap:.75rem;padding:0 3rem;white-space:nowrap;font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.08em;color:#000;text-transform:uppercase}
.ticker-dot{width:5px;height:5px;background:#000;border-radius:50%;opacity:.4}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── SECTION HEADER ── */
.section-header{text-align:center;max-width:720px;margin:0 auto 4rem}
.section-header--left{text-align:left;margin-left:0}
.section-header p{font-size:1.05rem;line-height:1.7;color:var(--text-muted);margin-top:1rem}

/* ── ANIMATE ON SCROLL ── */
.anim{opacity:0;transform:translateY(28px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.anim.in{opacity:1;transform:none}
.anim-delay-1{transition-delay:.1s}
.anim-delay-2{transition-delay:.2s}
.anim-delay-3{transition-delay:.3s}
