/* ========================================
   DÉBARRAS CUISINE — Main Stylesheet
   Fonts: Inter (headings/logo) · Instrument Sans (body/nav)
   Accent: #28A745 · Ink: #1A1A1A
   ======================================== */

:root {
  --accent:      #28A745;
  --accent-dark: #1F8F3B;
  --accent-soft: rgba(40,167,69,0.10);
  --ink:         #1A1A1A;
  --gray:        #F5F5F5;
  --border:      #E7E7E7;
  --muted:       #6E6E6E;
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color: var(--ink);
  background: #fff;
  overflow-x: hidden;
}
h1, h2, h3 { font-family: 'Inter', sans-serif; font-weight: 700; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
button { font-family: inherit; cursor: pointer; }
::selection { background: var(--accent); color: #fff; }
input:focus, textarea:focus { border-color: var(--accent) !important; outline: none; }

/* ── Containers ── */
.container    { max-width: 1200px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 40px); }
.container-sm { max-width: 1100px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 40px); }

/* ══════════════════════════════
   NAV
   ══════════════════════════════ */
.site-nav {
  position: sticky;
  top: 0;
  z-index: 60;
  background: #fff;
  border-bottom: 1px solid var(--border);
}
.nav-inner {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

/* Logo */
.nav-logo {
  display: flex;
  flex-direction: column;
  line-height: 1;
  font-family: 'Inter', sans-serif;
}
.nav-logo-top  { font-weight: 800; font-size: 15px; letter-spacing: .05em; color: var(--ink); }
.nav-logo-bot  { font-weight: 800; font-size: 15px; letter-spacing: .05em; color: var(--accent); }

/* Desktop links */
.nav-links {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 38px;
}
.nav-link {
  font: 600 15px 'Instrument Sans', sans-serif;
  color: var(--ink);
  white-space: nowrap;
  transition: color .15s;
}
.nav-link:hover, .nav-link.active { color: var(--accent); }

/* Desktop WhatsApp CTA */
.nav-wa {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: var(--accent);
  color: #fff;
  padding: 11px 18px;
  border-radius: 8px;
  font: 700 14px 'Instrument Sans', sans-serif;
  white-space: nowrap;
  transition: background .15s;
}
.nav-wa:hover { background: var(--accent-dark); }

/* Hamburger */
.nav-hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background: none;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--ink);
  padding: 0;
}
.nav-hamburger-open  { display: none; }
.nav-hamburger-close { display: block; }
.nav-hamburger[aria-expanded="false"] .nav-hamburger-close { display: none; }
.nav-hamburger[aria-expanded="false"] .nav-hamburger-open  { display: block; }
.nav-hamburger[aria-expanded="true"]  .nav-hamburger-open  { display: none; }
.nav-hamburger[aria-expanded="true"]  .nav-hamburger-close { display: block; }

/* Mobile dropdown */
.nav-mobile {
  display: none;
  border-top: 1px solid var(--border);
  padding: 10px 18px 20px;
  flex-direction: column;
  gap: 4px;
}
.nav-mobile.open { display: flex; }
.nav-mobile-link {
  display: block;
  padding: 14px 4px;
  font: 600 16px 'Instrument Sans', sans-serif;
  color: var(--ink);
  border-bottom: 1px solid var(--border);
}
.nav-mobile-wa {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: var(--accent);
  color: #fff;
  padding: 14px 18px;
  border-radius: 8px;
  font: 700 15px 'Instrument Sans', sans-serif;
}

@media (max-width: 860px) {
  .nav-links, .nav-wa { display: none; }
  .nav-hamburger { display: inline-flex; }
}

/* ══════════════════════════════
   HERO
   ══════════════════════════════ */
.hero {
  position: relative;
  min-height: clamp(440px, 72vh, 640px);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(12,12,12,0.86) 0%,
    rgba(12,12,12,0.62) 55%,
    rgba(12,12,12,0.40) 100%
  );
  pointer-events: none;
}
.hero-content {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: clamp(56px,8vw,96px) clamp(20px,5vw,40px);
}
.hero-label {
  display: inline-block;
  font: 700 12px 'Instrument Sans', sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 18px;
}
.hero h1 {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: clamp(34px, 6vw, 60px);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: #fff;
  max-width: 14ch;
  margin: 0 0 16px;
}
.hero-subtitle {
  margin: 0 0 30px;
  font: 400 clamp(16px,2.2vw,21px)/1.5 'Instrument Sans', sans-serif;
  color: rgba(255,255,255,0.82);
  max-width: 34ch;
}
.btn-hero {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,0.04);
  color: #fff;
  border: 1.6px solid #fff;
  padding: 15px 30px;
  border-radius: 8px;
  font: 700 16px 'Instrument Sans', sans-serif;
  transition: background .18s, color .18s;
}
.btn-hero:hover { background: #fff; color: var(--ink); }

/* ══════════════════════════════
   USP BAR
   ══════════════════════════════ */
.usp-bar { background: #fff; border-bottom: 1px solid var(--border); }
.usp-bar .container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.usp-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 26px clamp(20px,3vw,32px);
  border-right: 1px solid var(--border);
}
.usp-item:last-child { border-right: none; }
.usp-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--accent-soft);
  color: var(--accent);
  font: 800 16px 'Instrument Sans', sans-serif;
}
.usp-title { font: 700 16px 'Instrument Sans', sans-serif; color: var(--ink); }
.usp-sub   { font: 400 13px 'Instrument Sans', sans-serif; color: var(--muted); margin-top: 2px; }

/* ══════════════════════════════
   SHARED: SECTION LABELS
   ══════════════════════════════ */
.section-label {
  display: inline-block;
  font: 700 12px 'Instrument Sans', sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 14px;
}

/* ══════════════════════════════
   PRICING
   ══════════════════════════════ */
.pricing-section {
  background: var(--gray);
  padding: clamp(56px,7vw,100px) clamp(20px,5vw,40px);
}
.pricing-header { text-align: center; max-width: 36ch; margin: 0 auto 14px; }
.pricing-header h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: clamp(26px,3.6vw,40px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0;
}
.pricing-subtitle {
  text-align: center;
  max-width: 60ch;
  margin: 14px auto 48px;
  font: 400 16px/1.5 'Instrument Sans', sans-serif;
  color: var(--muted);
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 24px;
  align-items: start;
}

/* Pricing cards */
.card-pricing {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.card-pricing.featured {
  position: relative;
  border: 2px solid var(--accent);
  box-shadow: 0 16px 40px -18px rgba(40,167,69,0.45);
}
.card-pricing.dark {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}
.card-photo {
  position: relative;
  aspect-ratio: 16/10;
  background: repeating-linear-gradient(135deg, #ededed 0 14px, #f6f6f6 14px 28px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-photo.green-stripes {
  background: repeating-linear-gradient(135deg, #e6f3ea 0 14px, #f1f9f4 14px 28px);
}
.card-photo.dark-stripes {
  background: repeating-linear-gradient(135deg, #222 0 14px, #2b2b2b 14px 28px);
}
.card-photo-placeholder {
  font: 600 11px ui-monospace, monospace;
  letter-spacing: .14em;
  color: #a3a3a3;
  text-transform: uppercase;
}
.card-photo.green-stripes .card-photo-placeholder { color: #7fae90; }
.card-photo.dark-stripes  .card-photo-placeholder { color: #6f6f6f; }
.card-badge {
  position: absolute;
  top: 16px; right: 16px;
  z-index: 2;
  background: var(--accent);
  color: #fff;
  font: 700 11px 'Instrument Sans', sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
}
.card-body {
  padding: 28px 24px 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card-tier {
  font: 700 12px 'Instrument Sans', sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
}
.card-pricing.featured .card-tier,
.card-pricing.dark     .card-tier { color: var(--accent); }
.card-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 10px 0 2px;
}
.card-price-num {
  font: 800 40px 'Instrument Sans', sans-serif;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.card-pricing.dark .card-price-num { color: #fff; }
.card-price-cur {
  font: 700 16px 'Instrument Sans', sans-serif;
  color: var(--muted);
}
.card-pricing.dark .card-price-cur { color: rgba(255,255,255,0.6); }
.card-price-sub {
  font: 400 13px 'Instrument Sans', sans-serif;
  color: var(--muted);
  margin-bottom: 20px;
}
.card-pricing.dark .card-price-sub { color: rgba(255,255,255,0.55); }
.card-desc {
  margin: 0 0 16px;
  font: 400 14.5px/1.55 'Instrument Sans', sans-serif;
  color: var(--muted);
}
.card-pricing.dark .card-desc { color: rgba(255,255,255,0.7); }
.card-tagline {
  margin: 0 0 24px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  font: 600 14.5px/1.45 'Instrument Sans', sans-serif;
  color: var(--ink);
}
.card-pricing.dark .card-tagline {
  border-top-color: rgba(255,255,255,0.12);
  color: #fff;
}

/* Buttons */
.btn-primary {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 14px;
  border-radius: 8px;
  font: 700 15px 'Instrument Sans', sans-serif;
  transition: background .15s, color .15s;
  text-align: center;
  width: 100%;
}
.btn-primary:hover { background: var(--accent-dark); }
.card-pricing.dark .btn-primary:hover { background: #fff; color: var(--ink); }

/* ══════════════════════════════
   CONTACT
   ══════════════════════════════ */
.contact-section {
  background: #fff;
  padding: clamp(56px,7vw,100px) clamp(20px,5vw,40px);
}
.contact-header { text-align: center; margin-bottom: 48px; }
.contact-header h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: clamp(26px,3.6vw,40px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0;
}
.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 28px;
  align-items: start;
}

/* Form card */
.form-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: clamp(24px,3vw,36px);
}
.form-stack { display: flex; flex-direction: column; gap: 18px; }
.form-group { display: flex; flex-direction: column; gap: 7px; }
.form-label { font: 600 13px 'Instrument Sans', sans-serif; color: var(--ink); }
.form-input, .form-textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font: 400 15px 'Instrument Sans', sans-serif;
  color: var(--ink);
  background: #fff;
  transition: border-color .15s;
}
.form-textarea { resize: vertical; min-height: 120px; }
.form-error {
  display: inline-block;
  margin-bottom: 12px;
  padding: 10px 14px;
  background: #fff3f3;
  border: 1px solid #f5c0c0;
  border-radius: 8px;
  font: 500 14px 'Instrument Sans', sans-serif;
  color: #c0392b;
}

/* Upload zone */
.upload-label {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 14px;
  border: 1.5px dashed var(--border);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.upload-label:hover { border-color: var(--accent); background: var(--accent-soft); }
.upload-icon  { display: inline-flex; color: var(--accent); }
.upload-text  { font: 500 14px 'Instrument Sans', sans-serif; color: var(--muted); }

/* Thumbnails row */
.thumbnails {
  display: none;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}
.thumbnails.visible { display: flex; }
.thumbnail-item { width: 80px; }
.thumbnail-preview {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--gray);
}
.thumbnail-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.thumbnail-remove {
  position: absolute;
  top: 4px; right: 4px;
  width: 21px; height: 21px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(26,26,26,0.85);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background .15s;
}
.thumbnail-remove:hover { background: #000; }
.thumbnail-progress {
  margin-top: 6px;
  height: 4px;
  border-radius: 999px;
  background: var(--border);
  overflow: hidden;
}
.thumbnail-progress-bar {
  height: 100%;
  background: #28A745;
  border-radius: 999px;
  width: 0%;
  transition: width .12s linear;
}

/* Submit */
.form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 15px;
  border-radius: 8px;
  font: 700 16px 'Instrument Sans', sans-serif;
  cursor: pointer;
  transition: background .15s;
  width: 100%;
}
.form-submit:hover { background: var(--accent-dark); }

/* Success state */
.form-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 40px 12px;
}
.success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--accent-soft);
  color: var(--accent);
  margin-bottom: 20px;
}
.form-success h3 {
  font: 800 22px 'Inter', sans-serif;
  color: var(--ink);
  margin: 0 0 8px;
}
.form-success p {
  font: 400 15px/1.5 'Instrument Sans', sans-serif;
  color: var(--muted);
  max-width: 32ch;
  margin: 0 0 24px;
}
.btn-ghost {
  background: none;
  border: 1px solid var(--border);
  padding: 12px 22px;
  border-radius: 8px;
  font: 600 14px 'Instrument Sans', sans-serif;
  color: var(--ink);
  cursor: pointer;
  display: inline-block;
  transition: border-color .15s;
}
.btn-ghost:hover { border-color: var(--ink); }

/* Info card */
.info-card {
  background: var(--gray);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: clamp(24px,3vw,36px);
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.info-item { display: flex; gap: 15px; align-items: flex-start; }
.info-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--border);
  color: var(--accent);
}
.info-label { font: 600 13px 'Instrument Sans', sans-serif; color: var(--muted); margin-bottom: 3px; }
.info-value {
  display: block;
  font: 700 16px 'Instrument Sans', sans-serif;
  color: var(--ink);
  word-break: break-all;
  transition: color .15s;
}
.info-value:hover { color: var(--accent); }
.info-value-plain { font: 700 16px 'Instrument Sans', sans-serif; color: var(--ink); }
.btn-wa {
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--accent);
  color: #fff;
  padding: 15px;
  border-radius: 8px;
  font: 700 15px 'Instrument Sans', sans-serif;
  transition: background .15s;
  text-decoration: none;
}
.btn-wa:hover { background: var(--accent-dark); }

/* ══════════════════════════════
   PAGE HERO (Réalisations / Zones)
   ══════════════════════════════ */
.page-hero {
  background: var(--gray);
  border-bottom: 1px solid var(--border);
  padding: clamp(48px,6vw,84px) clamp(20px,5vw,40px);
  text-align: center;
}
.page-hero h1 {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: clamp(32px,5vw,52px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 14px;
}
.page-hero p {
  margin: 0 auto;
  max-width: 46ch;
  font: 400 clamp(16px,2vw,19px)/1.5 'Instrument Sans', sans-serif;
  color: var(--muted);
}

/* ══════════════════════════════
   GALLERY (Nos réalisations)
   ══════════════════════════════ */
.gallery-section {
  background: #fff;
  padding: clamp(48px,6vw,90px) clamp(20px,5vw,40px);
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 28px;
}
.gallery-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.gallery-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--border);
}
.gallery-photo {
  position: relative;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: repeating-linear-gradient(135deg, #e6e6e6 0 13px, #f0f0f0 13px 26px);
}
.gallery-photo.after {
  background: repeating-linear-gradient(135deg, #e6f3ea 0 13px, #f1f9f4 13px 26px);
}
.gallery-photo-placeholder {
  font: 600 10px ui-monospace, monospace;
  letter-spacing: .12em;
  color: #a8a8a8;
  text-transform: uppercase;
}
.gallery-photo.after .gallery-photo-placeholder { color: #86b596; }
.gallery-badge {
  position: absolute;
  top: 10px; left: 10px;
  font: 700 10px 'Instrument Sans', sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 5px;
  color: #fff;
}
.gallery-badge.avant { background: var(--ink); }
.gallery-badge.apres { background: var(--accent); }
.gallery-info { padding: 18px 20px; }
.gallery-info h3 {
  font: 700 17px 'Instrument Sans', sans-serif;
  color: var(--ink);
  margin: 0 0 3px;
}
.gallery-city { font: 400 14px 'Instrument Sans', sans-serif; color: var(--muted); }

/* Add-project placeholder */
.gallery-add {
  border: 1.5px dashed var(--border);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  gap: 12px;
  text-align: center;
  padding: 24px;
}
.gallery-add-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--gray);
  color: var(--accent);
}
.gallery-add-title { font: 600 14px 'Instrument Sans', sans-serif; color: var(--ink); }
.gallery-add-sub   { font: 400 12px ui-monospace, monospace; color: #a8a8a8; }

/* ══════════════════════════════
   ZONES D'INTERVENTION
   ══════════════════════════════ */
.zones-section {
  background: #fff;
  padding: clamp(48px,6vw,90px) clamp(20px,5vw,40px);
}
.zones-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 24px;
}
.zone-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: clamp(24px,2.6vw,32px);
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.zone-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.zone-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px; height: 42px;
  border-radius: 10px;
  background: var(--accent-soft);
  color: var(--accent);
  flex-shrink: 0;
}
.zone-card h2 {
  font: 800 22px 'Inter', sans-serif;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin: 0;
}
.zone-cities {
  font: 600 14px/1.5 'Instrument Sans', sans-serif;
  color: var(--accent);
  margin: 0 0 16px;
}
.zone-text {
  font: 400 14.5px/1.6 'Instrument Sans', sans-serif;
  color: var(--muted);
  margin: 0;
}

/* ══════════════════════════════
   CTA DARK BAND
   ══════════════════════════════ */
.cta-dark {
  background: var(--ink);
  padding: clamp(48px,6vw,80px) clamp(20px,5vw,40px);
  text-align: center;
}
.cta-dark h2 {
  font: 800 clamp(24px,3.4vw,36px)/1.15 'Inter', sans-serif;
  color: #fff;
  letter-spacing: -0.02em;
  margin: 0 0 24px;
}
.btn-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 16px 32px;
  border-radius: 8px;
  font: 700 16px 'Instrument Sans', sans-serif;
  cursor: pointer;
  transition: background .15s;
  text-decoration: none;
}
.btn-cta:hover { background: var(--accent-dark); }

/* ══════════════════════════════
   FOOTER
   ══════════════════════════════ */
.footer {
  background: var(--ink);
  color: #fff;
  padding: clamp(40px,5vw,64px) clamp(20px,5vw,40px) 32px;
}
.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 32px 48px;
  justify-content: space-between;
  align-items: flex-start;
}
.footer-logo     { display: flex; flex-direction: column; line-height: 1.05; font-family: 'Inter', sans-serif; }
.footer-logo-top { font-weight: 800; font-size: 18px; letter-spacing: .05em; color: #fff; }
.footer-logo-bot { font-weight: 800; font-size: 18px; letter-spacing: .05em; color: var(--accent); }
.footer-tagline {
  margin: 14px 0 0;
  font: 400 14px/1.6 'Instrument Sans', sans-serif;
  color: rgba(255,255,255,0.6);
  max-width: 30ch;
}
.footer-nav, .footer-contact { display: flex; flex-direction: column; gap: 12px; }
.footer-col-label {
  font: 700 12px 'Instrument Sans', sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 2px;
}
.footer-link {
  font: 500 15px 'Instrument Sans', sans-serif;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  transition: color .15s;
}
.footer-link:hover { color: var(--accent); }
.footer-location { font: 500 15px 'Instrument Sans', sans-serif; color: rgba(255,255,255,0.6); }
.footer-bottom {
  max-width: 1200px;
  margin: 36px auto 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.12);
  font: 400 13px 'Instrument Sans', sans-serif;
  color: rgba(255,255,255,0.5);
}

/* ══════════════════════════════
   RESPONSIVE ADJUSTMENTS
   ══════════════════════════════ */
@media (max-width: 600px) {
  .usp-item { border-right: none; border-bottom: 1px solid var(--border); }
  .usp-item:last-child { border-bottom: none; }
  .zones-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr; }
}
