/* boodikabbani.com — single stylesheet */
:root {
  --bg: #f6f6f6;
  --ink: #353535;
  --muted: #959595;
  --accent: #febcac;
  --max: 1160px;
  --font: "Raleway", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }
body {
  margin: 0; min-height: 100vh; display: flex; flex-direction: column;
  font-family: var(--font); font-weight: 400; font-size: 1.0625rem; line-height: 1.7;
  color: var(--ink);
  background: linear-gradient(115deg, #e9e9e9 0%, var(--bg) 60%);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: #000; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
main { flex: 1; min-width: 0; width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 1.5rem; }

/* Header */
.site-header {
  width: 100%; max-width: var(--max); margin: 0 auto; padding: 1.5rem;
  display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2rem;
}
.brand { font-weight: 800; letter-spacing: .25em; text-transform: uppercase; text-decoration: none; font-size: .9rem; margin-right: auto; }
.site-header ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.5rem; align-items: center; }
.site-header nav a { text-decoration: none; text-transform: uppercase; letter-spacing: .15em; font-size: .8rem; font-weight: 600; padding-bottom: .2rem; border-bottom: 2px solid transparent; }
.site-header nav a:hover, .site-header nav a[aria-current="page"] { border-color: var(--ink); }
.social { gap: .9rem !important; }
.social a { display: block; width: 20px; height: 20px; }
.social svg { width: 100%; height: 100%; }
@media (max-width: 600px) {
  .site-header { justify-content: center; text-align: center; padding: 1.25rem 1rem; }
  .brand { margin: 0; width: 100%; }
  .site-header ul { flex-wrap: wrap; justify-content: center; gap: 1rem; }
  .tagline { letter-spacing: .18em; font-size: .75rem; }
}

/* Footer */
.site-footer { text-align: center; font-size: .75rem; letter-spacing: .1em; color: var(--muted); padding: 2.5rem 1.5rem; }

/* Home */
.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; align-items: center; padding: 1rem 0 2rem; }
.hero picture img { width: 100%; max-height: 80vh; object-fit: cover; box-shadow: 0 20px 50px rgba(0,0,0,.15); }
.hero h1 { margin: 0; font-weight: 800; text-transform: uppercase; line-height: .95; letter-spacing: .04em; font-size: clamp(3rem, 8vw, 6.5rem); }
.hero h1 span { display: block; }
.hero h1 span + span { font-weight: 300; }
.tagline { text-transform: uppercase; letter-spacing: .3em; font-size: .85rem; margin-top: 1.5rem; }
.credit { color: var(--muted); font-size: .8rem; }
@media (max-width: 760px) {
  .hero { grid-template-columns: 1fr; gap: 1.5rem; text-align: center; }
  .hero-text { order: -1; }
}

/* Inner pages */
.page { padding: 1rem 0 3rem; }
.narrow { max-width: 720px; margin: 0 auto; }
.split { margin: 0 0 2rem; font-weight: 800; text-transform: uppercase; line-height: .9; font-size: clamp(3.5rem, 12vw, 7rem); letter-spacing: .02em; }
.split span { display: block; }
.split span + span { padding-left: .6em; font-weight: 300; }
h2 { font-size: .8rem; text-transform: uppercase; letter-spacing: .2em; font-weight: 600; margin: 0 0 .5rem; color: var(--muted); }
.muted { color: var(--muted); text-transform: uppercase; letter-spacing: .15em; font-size: .8rem; }
.button {
  display: inline-block; margin-top: 1rem; padding: .85rem 1.6rem;
  background: var(--ink); color: #fff; text-decoration: none;
  text-transform: uppercase; letter-spacing: .2em; font-size: .75rem; font-weight: 600;
  transition: background .2s;
}
.button:hover { background: #000; color: #fff; }
.contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2rem; }

/* Gallery */
.gallery { list-style: none; padding: 0; margin: 0 0 2rem; columns: 3 260px; column-gap: 1rem; }
.gallery li { break-inside: avoid; margin-bottom: 1rem; }
.gallery a { display: block; overflow: hidden; }
.gallery img { width: 100%; transition: transform .4s ease; }
.gallery a:hover img { transform: scale(1.03); }
.gallery-links { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.gallery-links a { display: block; text-decoration: none; text-transform: uppercase; letter-spacing: .2em; font-weight: 600; font-size: .85rem; }
.gallery-links img { margin-bottom: .75rem; aspect-ratio: 2/3; object-fit: cover; width: 100%; }

/* Lightbox */
.lightbox { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
.lightbox::backdrop { background: rgba(20,20,20,.92); }
.lightbox[open] { display: flex; align-items: center; justify-content: center; }
.lightbox img { max-width: 92vw; max-height: 90vh; width: auto; object-fit: contain; }
.lightbox button { position: absolute; background: none; border: 0; color: #fff; font-size: 3rem; line-height: 1; cursor: pointer; padding: 1rem; font-family: var(--font); }
.lb-close { top: .5rem; right: .75rem; }
.lb-prev { left: .25rem; top: 50%; transform: translateY(-50%); }
.lb-next { right: .25rem; top: 50%; transform: translateY(-50%); }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
