/* MUZAY — Locked Final Styles (Museum Gate) */

:root{
  --bg:#050505;
  --fg:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.60);
  --line:rgba(255,255,255,.10);
  --max:1160px;
  --pad:clamp(22px,3vw,44px);
  --radius:18px;
  --shadow:0 22px 90px rgba(0,0,0,.60);
  --serif:"Playfair Display", serif;
  --sans:"Inter", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:radial-gradient(1200px 800px at 50% 10%, rgba(255,255,255,.06), rgba(5,5,5,0)) , var(--bg);
margin:0;height:100%}
body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:radial-gradient(1200px 800px at 50% 10%, rgba(255,255,255,.06), rgba(5,5,5,0)) , var(--bg);

  background:var(--bg);
  color:var(--fg);
  font-family:var(--serif);
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

header{
  padding:24px 0;
  border-bottom:1px solid var(--line);
}
nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  font-family:var(--sans);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:12px;
}
nav .navlinks{display:flex;gap:22px;align-items:center}
nav a{border-bottom:1px solid transparent;padding:10px 0}
nav a[aria-current="page"]{border-bottom:1px solid rgba(255,255,255,.40)}

.mark{
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.mark img{
  width:26px;height:26px;display:block;
  border-radius:7px;
}

.hero-gate{
  min-height:calc(100vh - 74px);
  display:grid;
  place-items:center;
  padding:58px 0;
}
.gate{
  text-align:center;
  width:min(760px,100%);
}
.logo{
  display:flex;
  justify-content:center;
  margin-bottom:22px;
}
.logo img{
  width:min(520px,92vw);
  height:auto;
  display:block;
  filter:drop-shadow(0 24px 80px rgba(0,0,0,.65));
}
.micro{
  font-family:var(--sans);
  color:var(--muted);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:11px;
  margin:10px 0 28px;
}

.cta-row{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 20px;
  border-radius:999px;
  font-family:var(--sans);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:12px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
}
.btn-primary{
  background:#fff;
  color:#000;
  border-color:#fff;
}

.section{
  padding:86px 0;
}
.h1{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:.03em;
}
.kicker{
  font-family:var(--sans);
  letter-spacing:.30em;
  text-transform:uppercase;
  font-size:12px;
  color:var(--muted);
  margin:0 0 14px;
}
.sub{
  font-family:var(--sans);
  color:var(--muted);
  max-width:66ch;
  line-height:1.75;
  margin:16px 0 0;
}

.ruleline{border-top:1px solid var(--line)}

.hero{
  position:relative;
  min-height:62vh;
  display:grid;
  align-items:end;
  padding:118px 0 64px;
}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.72)}
.hero-vignette{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(5,5,5,.96),rgba(5,5,5,.28));
}

.media{
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow);
  background:#000;
}
.media img,.media video{width:100%;display:block}

.caption{
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:12px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.cards{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:900px){.cards{grid-template-columns:1fr}}

.card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.card .label{
  font-family:var(--sans);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:11px;
  color:var(--muted);
  margin-bottom:10px;
}
.card p{
  margin:0;
  font-family:var(--sans);
  color:rgba(255,255,255,.72);
  line-height:1.7;
}

footer{
  border-top:1px solid var(--line);
  padding:54px 0;
  font-family:var(--sans);
  color:var(--muted);
}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}
.footer-links a{border-bottom:1px solid transparent}
.footer-links a:hover{border-bottom:1px solid rgba(255,255,255,.25)}

/* Swipe Rail (manual, no autoplay) */
.rail{
  margin-top:28px;
  display:flex;
  gap:18px;
  overflow-x:auto;
  padding:6px 2px 18px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.rail::-webkit-scrollbar{height:10px}
.rail::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
.rail-item{
  flex:0 0 84%;
  scroll-snap-align:start;
}
@media(min-width:900px){.rail-item{flex-basis:46%}}

/* Contact: no underline */
.email{font-family:var(--sans);letter-spacing:.05em}
.email a{text-decoration:none;border-bottom:1px solid transparent}
.email a:hover{border-bottom:1px solid rgba(255,255,255,.25)}


main{flex:1}


/* Typography Refinement */
.kicker,
nav,
.btn,
.caption{
  font-family:var(--sans);
  font-weight:500;
  letter-spacing:.18em;
}

.sub,
.card p,
footer{
  font-family:var(--sans);
  font-weight:400;
  letter-spacing:0;
  line-height:1.75;
}

body{
  text-rendering:optimizeLegibility;
  font-kerning:normal;
}


/* =========================
   SITE FOOTER (ELEVATED)
   ========================= */
.site-footer{
  border-top:1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.35);
  backdrop-filter: blur(6px);
}
.site-footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 0 32px;
}
.site-footer__left{
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.70);
  white-space:nowrap;
}
.site-footer__nav{
  display:flex;
  gap:22px;
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
}
.site-footer__nav a{
  color:rgba(255,255,255,0.70);
  text-decoration:none;
}
.site-footer__nav a:hover{
  color:rgba(255,255,255,0.95);
}
@media (max-width: 640px){
  .site-footer__inner{
    flex-direction:column;
    align-items:flex-start;
    padding:22px 0 28px;
  }
  .site-footer__nav{
    gap:18px;
  }
}
/* --- Couture Footer + Grid Discipline Overrides (Locked) --- */

html,body{margin:0;background:var(--bg)!important}
body{background:var(--bg)!important;overflow-x:hidden}

/* Headings */
.h2{font-size:34px;letter-spacing:.06em;margin:10px 0 0}

/* Process grids */
.media-grid{
  display:grid;
  gap:18px;
  margin-top:18px;
}
.media-grid--videos{
  grid-template-columns:repeat(2, minmax(0,1fr));
}
.media-grid--stills{
  grid-template-columns:repeat(3, minmax(0,1fr));
}

.card{margin:0}
.card .caption{margin-top:10px}

@media (max-width: 780px){
  .media-grid--videos{grid-template-columns:1fr}
  .media-grid--stills{grid-template-columns:1fr}
}

/* Footer */
.footer{
  margin-top:auto;
  border-top:1px solid rgba(255,255,255,.10);
  padding:54px 0 34px;
  background:var(--bg);
}
.footer__inner{display:flex;flex-direction:column;gap:26px}
.footer__top{display:flex;flex-direction:column;gap:22px}
.footer__brand{display:flex;flex-direction:column;gap:6px}
.footer__mark{
  font-family:var(--sans);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:12px;
  color:rgba(255,255,255,.84);
}
.footer__meta{
  font-family:var(--sans);
  font-size:12px;
  color:rgba(255,255,255,.56);
  letter-spacing:.12em;
}

.footer__cols{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
  padding-top:12px;
}
.footer__col{display:flex;flex-direction:column;gap:10px}
.footer__label{
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.48);
}
.footer a{
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(255,255,255,.72);
  text-decoration:none;
  padding:8px 0;
}
.footer a:hover{color:rgba(255,255,255,.92)}

.footer__bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer__note{
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.12em;
  color:rgba(255,255,255,.52);
}
.footer__copy{
  font-family:var(--sans);
  font-size:12px;
  color:rgba(255,255,255,.48);
  letter-spacing:.10em;
}

@media (max-width: 780px){
  .footer__cols{grid-template-columns:1fr}
  .footer__bottom{align-items:flex-start}
}
