/* ============================================================
   GEOMINES ASSISTANCE SARL — GLOBAL STYLESHEET
   ============================================================ */

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

/* ── TOKENS ── */
:root {
  --c-deep:    #1C0F06;
  --c-brown:   #3E2208;
  --c-mid:     #6B3D14;
  --c-warm:    #9A5C28;
  --c-gold:    #C9981A;
  --c-gold-lt: #E8B830;
  --c-sand:    #F2DEB8;
  --c-sand-lt: #FAF3E7;
  --c-cream:   #FFFCF6;
  --c-white:   #FFFFFF;
  --c-navy:    #162030;
  --c-slate:   #3A4D5C;
  --c-muted:   #7A6A58;
  --c-border:  rgba(62,34,8,.12);
  --c-border2: rgba(62,34,8,.06);

  --ff-display: 'Cormorant Garamond', Georgia, serif;
  --ff-body:    'DM Sans', system-ui, sans-serif;

  --shadow-sm: 0 2px 12px rgba(28,15,6,.07);
  --shadow-md: 0 8px 32px rgba(28,15,6,.10);
  --shadow-lg: 0 20px 60px rgba(28,15,6,.14);

  --radius: 0px;
  --transition: .3s cubic-bezier(.25,.46,.45,.94);
}

/* ── RESET & BASE ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: var(--ff-body);
  background: var(--c-cream);
  color: var(--c-deep);
  line-height: 1.6;
  overflow-x: hidden;
}
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4 { font-family:var(--ff-display); font-weight:700; line-height:1.1; }
h1 { font-size: clamp(2.8rem, 6vw, 5.5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
h3 { font-size: clamp(1.3rem, 2.5vw, 1.7rem); }

/* ── TOPBAR ── */
.topbar {
  background: var(--c-deep);
  border-bottom: 2px solid var(--c-gold);
  padding: .5rem 0;
  position: fixed; top: 0; width: 100%; z-index: 901;
}
.topbar-inner {
  max-width: 1280px; margin: 0 auto;
  padding: 0 2rem;
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap;
}
.topbar-items {
  display: flex; align-items: center; gap: 2rem; flex-wrap: wrap;
}
.topbar-item {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .72rem; font-weight: 600;
  letter-spacing: .06em;
  color: rgba(242,222,184,.75);
  text-decoration: none;
  transition: color var(--transition);
  white-space: nowrap;
}
.topbar-item i {
  color: var(--c-gold);
  font-size: .85rem;
  flex-shrink: 0;
}
.topbar-item:hover { color: var(--c-gold); }
.topbar-right {
  display: flex; align-items: center; gap: 1rem;
}
.topbar-wa {
  display: inline-flex; align-items: center; gap: .45rem;
  background: var(--c-gold);
  color: var(--c-deep);
  font-size: .68rem; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase;
  padding: .35rem .9rem;
  text-decoration: none;
  transition: background var(--transition);
}
.topbar-wa:hover { background: var(--c-gold-lt); color: var(--c-deep); }
@media (max-width: 768px) {
  .topbar-items { gap: 1rem; }
  .topbar-item:nth-child(3) { display: none; }
}
@media (max-width: 480px) {
  .topbar-item:nth-child(2) { display: none; }
  .topbar-inner { justify-content: space-between; }
}

/* ── NAVBAR ── */
.navbar {
  background: rgba(255,252,246,.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--c-border);
  padding: .75rem 0;
  position: fixed; top: 38px; width:100%; z-index:900;
  transition: box-shadow var(--transition);
}
.navbar.scrolled { box-shadow: var(--shadow-md); }
.nav-inner {
  max-width: 1280px; margin: 0 auto;
  padding: 0 2rem;
  display: flex; align-items:center; justify-content:space-between;
}
.nav-brand { display:flex; align-items:center; gap:.9rem; }
.nav-brand img { height:44px; width:auto; object-fit:contain; }
.nav-brand-text strong {
  font-family: var(--ff-display);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--c-brown);
  display: block;
  line-height:1;
}
.nav-brand-text span {
  font-family: var(--ff-body);
  font-size: .6rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-warm);
}
.nav-menu { display:flex; align-items:center; gap:.25rem; list-style:none; }
.nav-menu a {
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-mid);
  padding: .55rem 1rem;
  display: block;
  position: relative;
  transition: color var(--transition);
}
.nav-menu a::after {
  content: '';
  position: absolute; bottom:0; left:1rem; right:1rem; height:2px;
  background: var(--c-gold);
  transform: scaleX(0);
  transition: transform var(--transition);
}
.nav-menu a:hover, .nav-menu a.active { color:var(--c-brown); }
.nav-menu a:hover::after, .nav-menu a.active::after { transform:scaleX(1); }
.nav-cta {
  background: var(--c-brown);
  color: var(--c-cream) !important;
  padding: .6rem 1.5rem !important;
  font-size: .78rem !important;
  transition: background var(--transition) !important;
}
.nav-cta::after { display:none !important; }
.nav-cta:hover { background: var(--c-mid) !important; color: #fff !important; }
.nav-toggle {
  display: none;
  flex-direction: column;
  gap:5px; cursor:pointer;
  padding:.4rem;
}
.nav-toggle span {
  width:24px; height:2px;
  background:var(--c-brown);
  transition: var(--transition);
  display:block;
}

/* ── PAGE HEADER ── */
.page-header {
  min-height: 460px;
  display: flex; align-items: flex-end;
  padding: 160px 0 64px;
  position: relative;
  overflow: hidden;
  background: var(--c-brown);
}
.page-header .ph-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:.25;
}
.page-header .ph-overlay {
  position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(28,15,6,.9) 0%, rgba(62,34,8,.7) 100%);
}
.page-header .ph-content { position:relative; z-index:2; }
.page-header .ph-eyebrow {
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:.72rem; font-weight:700; letter-spacing:.25em;
  text-transform:uppercase; color:var(--c-gold);
  margin-bottom:1rem;
}
.page-header .ph-eyebrow::before {
  content:''; width:28px; height:2px; background:var(--c-gold);
}
.page-header h1 { color:#fff; margin-bottom:.75rem; }
.page-header p { color:rgba(255,255,255,.65); font-size:1.05rem; max-width:560px; line-height:1.7; }
.ph-breadcrumb {
  display:flex; align-items:center; gap:.5rem;
  margin-top:1.5rem;
  font-size:.78rem; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase;
}
.ph-breadcrumb a { color:rgba(255,255,255,.5); transition:color var(--transition); }
.ph-breadcrumb a:hover { color:var(--c-gold); }
.ph-breadcrumb span { color:var(--c-gold); }
.ph-breadcrumb i { color:rgba(255,255,255,.3); font-size:.7rem; }

/* ── CONTAINER ── */
.container { max-width:1280px; margin:0 auto; padding:0 2rem; }
.container-sm { max-width:900px; margin:0 auto; padding:0 2rem; }

/* ── SECTION COMMONS ── */
.section { padding: 96px 0; }
.section-sm { padding: 64px 0; }
.section-bg-sand { background: var(--c-sand-lt); }
.section-bg-dark { background: var(--c-brown); }
.section-bg-white { background: var(--c-white); }

.label {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.7rem; font-weight:700; letter-spacing:.25em;
  text-transform:uppercase; color:var(--c-gold);
  margin-bottom:.8rem;
}
.label::before { content:''; width:22px; height:2px; background:var(--c-gold); }
.section-title { color:var(--c-brown); margin-bottom:1rem; }
.section-title-white { color:#fff; }
.divider { width:48px; height:3px; background:var(--c-gold); margin:.75rem 0 1.75rem; }
.divider-center { margin-left:auto; margin-right:auto; }
.lead { font-size:1.05rem; color:var(--c-muted); line-height:1.75; font-weight:400; }

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--ff-body);
  font-size:.82rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  padding:1rem 2.2rem;
  border:none; cursor:pointer;
  transition: all var(--transition);
  text-decoration:none;
}
.btn-primary {
  background:var(--c-brown);
  color:#fff;
}
.btn-primary:hover { background:var(--c-mid); color:#fff; transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-gold {
  background:var(--c-gold);
  color:var(--c-deep);
}
.btn-gold:hover { background:var(--c-gold-lt); color:var(--c-deep); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-outline {
  background:transparent;
  color:var(--c-brown);
  border:2px solid var(--c-brown);
  padding:.9rem 2rem;
}
.btn-outline:hover { background:var(--c-brown); color:#fff; transform:translateY(-2px); }
.btn-outline-white {
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.5);
  padding:.9rem 2rem;
}
.btn-outline-white:hover { background:#fff; color:var(--c-brown); }
.btn-sm { padding:.65rem 1.4rem; font-size:.76rem; }

/* ── CARDS ── */
.card {
  background:#fff;
  border:1px solid var(--c-border);
  border-top:4px solid transparent;
  padding:2rem;
  height:100%;
  transition: border-top-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.card:hover { border-top-color:var(--c-gold); box-shadow:var(--shadow-lg); transform:translateY(-5px); }
.card-icon {
  width:54px; height:54px;
  background:var(--c-sand);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:var(--c-warm);
  margin-bottom:1.25rem;
  transition: background var(--transition), color var(--transition);
}
.card:hover .card-icon { background:var(--c-gold); color:var(--c-deep); }
.card h3 {
  font-family:var(--ff-body);
  font-size:.9rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.07em;
  color:var(--c-brown); margin-bottom:.75rem;
}
.card p { color:var(--c-muted); font-size:.9rem; line-height:1.7; }
.card-list { list-style:none; margin-top:1rem; padding:0; }
.card-list li {
  color:var(--c-muted); font-size:.84rem;
  padding:.32rem 0;
  border-bottom:1px solid var(--c-border2);
  display:flex; align-items:flex-start; gap:.5rem;
}
.card-list li:last-child { border:none; }
.card-list li::before { content:'◆'; color:var(--c-gold); font-size:.5rem; margin-top:5px; flex-shrink:0; }

/* ── STATS ROW ── */
.stats-row {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--c-border);
}
.stat-item {
  padding:2.5rem 2rem;
  border-right:1px solid var(--c-border);
  text-align:center;
}
.stat-item:last-child { border-right:none; }
.stat-num {
  font-family:var(--ff-display);
  font-size:3.2rem; font-weight:700;
  color:var(--c-gold);
  line-height:1;
  display:block;
}
.stat-label {
  font-size:.72rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--c-muted); margin-top:.4rem;
}

/* ── QUOTE ── */
.quote-block {
  background:var(--c-sand);
  border-left:5px solid var(--c-gold);
  padding:2rem 2.5rem;
}
.quote-block p {
  font-family:var(--ff-display);
  font-size:1.3rem; font-style:italic;
  color:var(--c-brown); line-height:1.65;
}
.quote-block cite {
  display:block; margin-top:.9rem;
  font-family:var(--ff-body); font-style:normal;
  font-size:.75rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--c-warm);
}

/* ── RUNNING BAND ── */
.band {
  background:var(--c-deep);
  padding:1.1rem 0;
  overflow:hidden;
}
.band-track {
  display:flex; gap:3rem; align-items:center;
  animation:marquee 26s linear infinite;
  white-space:nowrap;
}
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.band-item {
  font-size:.72rem; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(242,222,184,.7);
  display:inline-flex; align-items:center; gap:.65rem;
  flex-shrink:0;
}
.band-item i { color:var(--c-gold); font-size:.9rem; }

/* ── FOOTER ── */
.footer {
  background:var(--c-deep);
  padding:64px 0 0;
}
.footer-grid {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:3rem;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.footer-logo-img { height:52px; filter:brightness(0) invert(1); opacity:.8; margin-bottom:1rem; }
.footer-brand-name {
  font-family:var(--ff-display);
  font-size:1.4rem; color:#fff; font-weight:700;
  margin-bottom:.25rem;
}
.footer-brand-sub {
  font-size:.65rem; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--c-gold);
}
.footer-about { color:rgba(255,255,255,.45); font-size:.88rem; line-height:1.7; margin-top:1rem; }
.footer-col h5 {
  font-family:var(--ff-body);
  font-size:.72rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--c-gold); margin-bottom:1.25rem;
}
.footer-links { list-style:none; }
.footer-links li { margin-bottom:.6rem; }
.footer-links a {
  color:rgba(255,255,255,.45);
  font-size:.88rem; font-weight:500;
  transition:color var(--transition);
  display:inline-flex; align-items:center; gap:.4rem;
}
.footer-links a:hover { color:var(--c-gold); }
.footer-links a i { font-size:.7rem; }
.footer-contact-item {
  display:flex; align-items:flex-start; gap:.75rem;
  margin-bottom:.9rem;
}
.footer-contact-item i { color:var(--c-gold); margin-top:3px; flex-shrink:0; }
.footer-contact-item span { color:rgba(255,255,255,.45); font-size:.86rem; line-height:1.5; }
.footer-bottom {
  padding:1.5rem 0;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem;
}
.footer-bottom p { color:rgba(255,255,255,.25); font-size:.78rem; }
.footer-social { display:flex; gap:.75rem; }
.footer-social a {
  width:36px; height:36px;
  background:rgba(255,255,255,.06);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.4);
  font-size:.95rem;
  transition: background var(--transition), color var(--transition);
}
.footer-social a:hover { background:var(--c-gold); color:var(--c-deep); }

/* ── REVEAL ANIMATION ── */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease; }
.reveal.delay-1 { transition-delay:.1s; }
.reveal.delay-2 { transition-delay:.2s; }
.reveal.delay-3 { transition-delay:.3s; }
.reveal.delay-4 { transition-delay:.4s; }
.reveal.in { opacity:1; transform:none; }

/* ── GALLERY ── */
.gal-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:220px;
  gap:8px;
}
.gal-item { overflow:hidden; position:relative; cursor:pointer; }
.gal-item.tall { grid-row:span 2; }
.gal-item.wide { grid-column:span 2; }
.gal-item img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.gal-item:hover img { transform:scale(1.07); }
.gal-overlay {
  position:absolute; inset:0;
  background:rgba(28,15,6,0);
  transition:background var(--transition);
  display:flex; align-items:center; justify-content:center;
}
.gal-overlay span {
  background:var(--c-gold); color:var(--c-deep);
  width:46px; height:46px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem;
  opacity:0; transform:scale(.5);
  transition:opacity var(--transition), transform var(--transition);
}
.gal-item:hover .gal-overlay { background:rgba(28,15,6,.5); }
.gal-item:hover .gal-overlay span { opacity:1; transform:scale(1); }
.gal-caption {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top, rgba(28,15,6,.8) 0%, transparent 100%);
  padding:1.5rem 1rem .75rem;
  color:#fff; font-size:.78rem; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase;
  opacity:0; transform:translateY(8px);
  transition:opacity var(--transition), transform var(--transition);
}
.gal-item:hover .gal-caption { opacity:1; transform:none; }

/* ── LIGHTBOX ── */
.lightbox {
  display:none; position:fixed; inset:0;
  background:rgba(15,8,3,.97); z-index:9999;
  align-items:center; justify-content:center;
}
.lightbox.open { display:flex; }
.lb-img { max-width:90vw; max-height:86vh; object-fit:contain; }
.lb-close {
  position:absolute; top:1.5rem; right:2rem;
  color:#fff; font-size:2.2rem; cursor:pointer;
  line-height:1; transition:color var(--transition);
}
.lb-close:hover { color:var(--c-gold); }
.lb-prev, .lb-next {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,.08);
  color:#fff; font-size:1.5rem;
  width:50px; height:50px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background var(--transition);
}
.lb-prev { left:1rem; }
.lb-next { right:1rem; }
.lb-prev:hover, .lb-next:hover { background:var(--c-gold); color:var(--c-deep); }
.lb-counter {
  position:absolute; bottom:1.5rem; left:50%;
  transform:translateX(-50%);
  color:rgba(255,255,255,.5); font-size:.8rem;
  font-weight:600; letter-spacing:.12em;
}

/* ── CONTACT ── */
.contact-info-item {
  display:flex; align-items:flex-start; gap:1.2rem;
  padding:1.4rem 0;
  border-bottom:1px solid var(--c-border2);
}
.contact-info-item:last-child { border:none; }
.c-ico {
  width:48px; height:48px; min-width:48px;
  background:var(--c-sand);
  display:flex; align-items:center; justify-content:center;
  font-size:1.15rem; color:var(--c-warm);
  flex-shrink:0;
  transition:background var(--transition), color var(--transition);
}
.contact-info-item:hover .c-ico { background:var(--c-gold); color:var(--c-deep); }
.c-lbl { font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--c-muted); }
.c-val { font-size:1rem; font-weight:600; color:var(--c-brown); margin-top:.15rem; }
.c-val a { color:var(--c-brown); transition:color var(--transition); }
.c-val a:hover { color:var(--c-gold); }

/* ── TIMELINE ── */
.timeline { position:relative; padding-left:2.5rem; }
.timeline::before {
  content:''; position:absolute;
  left:.6rem; top:0; bottom:0;
  width:2px; background:var(--c-border);
}
.tl-item { position:relative; margin-bottom:2.5rem; }
.tl-dot {
  position:absolute; left:-2.5rem; top:.2rem;
  width:14px; height:14px;
  background:var(--c-gold);
  border:3px solid var(--c-cream);
  box-shadow:0 0 0 2px var(--c-gold);
  border-radius:50%;
}
.tl-year {
  font-size:.72rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--c-gold); margin-bottom:.35rem;
}
.tl-item h4 {
  font-family:var(--ff-body);
  font-size:.95rem; font-weight:700;
  color:var(--c-brown); margin-bottom:.4rem;
}
.tl-item p { color:var(--c-muted); font-size:.88rem; line-height:1.6; }

/* ── TEAM CARD ── */
.team-card { background:#fff; border:1px solid var(--c-border); overflow:hidden; }
.team-img { height:300px; overflow:hidden; }
.team-img img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .5s ease; }
.team-card:hover .team-img img { transform:scale(1.05); }
.team-info { padding:1.5rem; }
.team-info h3 { font-family:var(--ff-display); font-size:1.4rem; color:var(--c-brown); margin-bottom:.25rem; }
.team-info .role { font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--c-gold); margin-bottom:.75rem; }
.team-info p { color:var(--c-muted); font-size:.88rem; line-height:1.6; }

/* ── PROCESS STEPS ── */
.process-step {
  display:flex; gap:1.5rem;
  padding:1.75rem 0;
  border-bottom:1px solid var(--c-border2);
}
.process-step:last-child { border:none; }
.step-num {
  font-family:var(--ff-display);
  font-size:3.5rem; font-weight:700;
  color:rgba(201,152,26,.2); line-height:1;
  min-width:60px; flex-shrink:0;
  transition:color var(--transition);
}
.process-step:hover .step-num { color:var(--c-gold); }
.step-content h4 {
  font-family:var(--ff-body);
  font-size:.9rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.09em;
  color:var(--c-brown); margin-bottom:.4rem;
}
.step-content p { color:var(--c-muted); font-size:.88rem; line-height:1.6; }

/* ── PARTNER BADGE ── */
.partner-wrap {
  background:#fff;
  border:2px solid var(--c-gold);
  padding:1.5rem 2rem;
  display:inline-flex; align-items:center; gap:1.25rem;
}
.partner-wrap i { font-size:2rem; color:var(--c-gold); }
.partner-wrap .ptxt span { font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--c-muted); display:block; }
.partner-wrap .ptxt strong { font-size:1rem; color:var(--c-brown); display:block; margin-top:.2rem; }

/* ── FORM ── */
.form-field { margin-bottom:1.25rem; }
.form-field label {
  display:block; font-size:.72rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--c-warm); margin-bottom:.5rem;
}
.form-field input,
.form-field textarea,
.form-field select {
  width:100%; padding:.85rem 1rem;
  border:1px solid var(--c-border);
  background:#fff;
  font-family:var(--ff-body); font-size:.92rem;
  color:var(--c-deep);
  outline:none;
  transition:border-color var(--transition), box-shadow var(--transition);
  appearance:none;
}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus {
  border-color:var(--c-gold);
  box-shadow:0 0 0 3px rgba(201,152,26,.12);
}
.form-field textarea { resize:vertical; min-height:130px; }

/* ── RESPONSIVE ── */
@media (max-width:1100px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
  .stats-row { grid-template-columns:repeat(2,1fr); }
  .stats-row .stat-item:nth-child(2) { border-right:none; }
  .stats-row .stat-item:nth-child(3) { border-top:1px solid var(--c-border); }
  .stats-row .stat-item:nth-child(4) { border-top:1px solid var(--c-border); border-right:none; }
}
@media (max-width:900px) {
  .gal-grid { grid-template-columns:repeat(2,1fr); }
  .gal-item.wide { grid-column:span 1; }
  .gal-item.tall { grid-row:span 1; }
  .nav-menu { display:none; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:rgba(255,252,246,.98); padding:1rem; border-bottom:2px solid var(--c-gold); box-shadow:var(--shadow-md); }
  .nav-menu.open { display:flex; }
  .nav-menu a { padding:.75rem 1.25rem; }
  .nav-toggle { display:flex; }
}
@media (max-width:600px) {
  .container { padding:0 1.25rem; }
  .gal-grid { grid-template-columns:1fr 1fr; grid-auto-rows:160px; }
  .footer-grid { grid-template-columns:1fr; }
  .stats-row { grid-template-columns:1fr 1fr; }
  .page-header { padding:140px 0 48px; min-height:360px; }
  h1 { font-size:2.4rem; }
  h2 { font-size:1.8rem; }
}
