/* Vars & base */
:root{
  --color-primary:#B45309; /* leather-ish amber */
  --color-accent:#1C1917;  /* deep stone */
  --color-neutral:#0F172A; /* slate-900 */
  --slate-50:#F8FAFC;
  --slate-100:#F1F5F9;
  --slate-200:#E2E8F0;
  --slate-300:#CBD5E1;
  --slate-600:#475569;
  --slate-700:#334155;
  --slate-900:#0F172A;
}

html{scroll-behavior:smooth;}
body{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans";
  background:var(--slate-50);
  color:var(--slate-900);
}

/* Headings use Poppins */
h1,h2,h3,h4,h5,h6,.font-poppins{
  font-family:"Poppins",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans";
}

/* Skip link */
.skip-link{
  position:absolute;left:-9999px;top:0;
  padding:.5rem .75rem;background:var(--color-neutral);color:#fff;border-radius:.5rem
}
.skip-link:focus{left:.5rem;top:.5rem;z-index:50}

/* Links (nav/footer) */
.nav-link{
  color:var(--slate-700);
  font-size:.875rem;
  font-weight:500;
  padding:.25rem .25rem;
  border-radius:.375rem;
  text-decoration:none;
}
.nav-link:hover{color:var(--slate-900)}
.nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}

.mobile-nav-link{display:block;padding:.5rem .75rem;color:var(--slate-700);border-radius:.5rem;text-decoration:none}
.mobile-nav-link:hover{background:var(--slate-100)}
.mobile-nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}

.footer-link{
  color:#e5eaf1;font-size:.875rem;text-decoration:none;padding:.25rem;border-radius:.375rem;
}
.footer-link:hover{color:#fff}
.footer-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}

/* Buttons */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.75rem 1.25rem;border-radius:.75rem;background:var(--color-primary);color:#fff;font-weight:600;
  border:1px solid rgba(180,83,9,.25);box-shadow:0 1px 2px rgba(0,0,0,.05);text-decoration:none;
}
.btn-primary:hover{background:#92400E}
.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}

.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.75rem 1.25rem;border-radius:.75rem;color:#fff;font-weight:600;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);
  box-shadow:0 1px 2px rgba(0,0,0,.05);text-decoration:none;
}
.btn-secondary:hover{background:rgba(255,255,255,.2)}
.btn-secondary:focus-visible{outline:2px solid #fff;outline-offset:2px}

.btn-accent{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.75rem 1.25rem;border-radius:.75rem;font-weight:700;
  background:#F59E0B;color:#0F172A;
  box-shadow:0 1px 2px rgba(0,0,0,.05);text-decoration:none;
}
.btn-accent:hover{background:#FBBF24}
.btn-accent:focus-visible{outline:2px solid #F59E0B;outline-offset:2px}

/* Section title */
.section-title{
  font-weight:600;font-size:clamp(1.5rem,1.2rem + 1vw,1.875rem);color:var(--slate-900);margin:0 0 .5rem 0;
}

/* Cards */
.card{
  background:#fff;border:1px solid var(--slate-200);
  border-radius:1rem;padding:1.25rem;box-shadow:0 1px 2px rgba(0,0,0,.05);
}
.card-title{font-weight:600;font-size:1.125rem;color:var(--slate-900);margin:0 0 .25rem}
.card-text{color:#64748b}
.card-link{display:inline-block;margin-top:1rem;color:#92400E;text-decoration:none;font-weight:600}
.card-link:hover{color:#78350F}

/* Icon badge */
.icon-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.25rem;height:2.25rem;margin-bottom:1rem;border-radius:.75rem;
  background:linear-gradient(135deg,#F59E0B,#1C1917);color:#fff;font-weight:700;
}

/* Team cards */
.team-card{background:#fff;border:1px solid var(--slate-200);border-radius:1rem;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.team-photo{width:100%;height:10rem;object-fit:cover;border-radius:.75rem;margin-bottom:.75rem;background:#f1f5f9}

/* Forms (left for future use) */
.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--slate-700);margin-bottom:.25rem}
.form-input{width:100%;padding:.5rem .75rem;border-radius:.75rem;background:#fff;border:1px solid var(--slate-300);box-shadow:inset 0 1px 0 rgba(0,0,0,.02)}
.form-input:focus{outline:2px solid var(--color-primary);outline-offset:2px}

/* Tiny utilities */
.check-dot{display:inline-block;width:.75rem;height:.75rem;border-radius:9999px;background:linear-gradient(135deg,#F59E0B,#1C1917);margin-top:.4rem}

/* Promo slider */
.promo-slider{position:relative}
.promo-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;transition:transform .6s ease}
.promo-slide{min-height:16rem;display:grid;place-items:center;position:relative}
.promo-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.promo-inner{position:relative;text-align:center;color:#fff;padding:3.5rem 1.25rem}
.promo-title{font-family:"Poppins";font-weight:700;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.25rem)}
.promo-sub{margin-top:.5rem;opacity:.9}
.promo-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);border:none;border-radius:.75rem;width:2.25rem;height:2.25rem;font-size:1.25rem;font-weight:700;line-height:1}
.promo-nav:hover{background:#fff}
.promo-nav.prev{left:.75rem}
.promo-nav.next{right:.75rem}
.promo-dots{position:absolute;inset-inline:0;bottom:.75rem;display:flex;gap:.4rem;justify-content:center}
.promo-dots button{width:.5rem;height:.5rem;border-radius:9999px;background:rgba(255,255,255,.6);border:none}
.promo-dots button[aria-current="true"]{background:#fff}

/* Gallery (grid + thumbs) */
.gallery-thumb{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:1rem;border:1px solid var(--slate-200);transition:transform .25s ease, box-shadow .25s ease}
.gallery-thumb:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,.08)}

.gallery-grid{
  display:grid;gap:1rem;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(min-width:640px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.g-item{position:relative;background:#fff;border:1px solid var(--slate-200);border-radius:1rem;overflow:hidden}
.g-item img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;display:block;transition:transform .3s ease}
.g-item:hover img{transform:scale(1.02)}
.g-item figcaption{position:absolute;inset-inline:0;bottom:0;background:linear-gradient(to top, rgba(0,0,0,.6), transparent);color:#fff;font-size:.875rem;padding:.5rem .75rem}

/* Filter chips */
.filter-chip{padding:.35rem .75rem;border-radius:9999px;border:1px solid var(--slate-300);background:#fff;font-size:.875rem}
.filter-chip:hover{background:var(--slate-100)}
.filter-chip.is-active{background:#F59E0B;color:#111827;border-color:#F59E0B}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;padding:1rem;z-index:70}
.lightbox img{max-width:min(90vw,1200px);max-height:70vh;border-radius:1rem;object-fit:contain;box-shadow:0 10px 30px rgba(0,0,0,.4);opacity:0;transform:scale(.98);transition:opacity .25s ease, transform .25s ease}
.lightbox.show img{opacity:1;transform:scale(1)}
.lightbox.hidden{display:none}
.lightbox-close{grid-column:3;grid-row:1;align-self:start;justify-self:end;background:#fff;border:none;border-radius:.75rem;width:2.25rem;height:2.25rem;font-size:1.25rem;font-weight:700}
.lightbox-nav{background:#fff;border:none;border-radius:.75rem;width:2.25rem;height:2.25rem;font-size:1.25rem;font-weight:700}
.lightbox-nav.prev{grid-column:1}
.lightbox-nav.next{grid-column:3}
.lightbox-cap{color:#fff;font-size:.95rem;margin-top:.5rem;grid-column:2}

/* Helper for invalid inputs (kept from original) */
.ring-rose-400{outline:2px solid #fb7185 !important;outline-offset:2px !important}
.border-rose-400{border-color:#fb7185 !important}
