@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Inter:wght@300;400;500&display=swap');

:root{
  --black:#000;
  --gold:#d6a44a;
  --gold-soft:#edc77a;
  --muted:#8c8c8c;
  --gap:clamp(56px,8vw,124px);
  --edge:clamp(18px,4vw,64px);
}
*{box-sizing:border-box}
html{background:var(--black);scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--gold);font-family:Inter,Arial,sans-serif;font-weight:300;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}

.intro{position:fixed;inset:0;z-index:999;background:#000;display:grid;place-items:center;transition:opacity .9s ease,visibility .9s ease}
.intro.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.intro-logo,.brand{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;text-transform:lowercase;color:var(--gold);text-shadow:0 1px 0 #000,1px 0 0 #000,-1px 0 0 #000,0 -1px 0 #000;letter-spacing:-.035em}
.intro-logo{font-size:clamp(60px,12vw,150px);opacity:0;animation:introLogo 2.2s ease forwards}
@keyframes introLogo{0%{opacity:0;transform:scale(.97)}30%,72%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.015)}}

.site-header{position:sticky;top:0;z-index:50;height:88px;padding:0 var(--edge);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#000 72%,rgba(0,0,0,.88));backdrop-filter:blur(8px)}
.brand{font-size:clamp(34px,4vw,54px);line-height:1}
.nav{display:flex;gap:clamp(22px,3vw,48px);align-items:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(18px,1.5vw,24px)}
.nav a{position:relative;padding:8px 0}
.nav a:after{content:'';position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--gold);transition:right .25s ease}
.nav a:hover:after,.nav a[aria-current='page']:after{right:0}
.menu-toggle{display:none;color:var(--gold);background:none;border:0;font-size:28px;cursor:pointer}

.home-hero{min-height:calc(100svh - 88px);padding:0 var(--edge) var(--gap);display:flex;align-items:center}
.home-hero img{width:100%;height:calc(100svh - 136px);object-fit:cover;object-position:center 44%}

.gallery{padding:0 var(--edge) var(--gap)}
.gallery-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(34px,4vw,54px);margin:clamp(30px,6vw,90px) 0 var(--gap);line-height:.95;text-transform:lowercase}
.gallery-item{min-height:80svh;display:flex;justify-content:center;align-items:center;margin-bottom:var(--gap)}
.gallery-item:last-child{margin-bottom:0}
.gallery-item img{max-width:100%;max-height:88svh;width:auto;height:auto;object-fit:contain;cursor:zoom-in;opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}
.gallery-item img.is-visible{opacity:1;transform:none}
.gallery-item.landscape img{width:100%;max-height:none;aspect-ratio:16/10;object-fit:cover}
.gallery-item.portrait img{max-width:min(68vw,820px)}
/* ---------- Desktop horizontal gallery ---------- */

@media (min-width: 761px){

.horizontal-gallery{
    display:flex;
    align-items:center;
    overflow-x:auto;
    overflow-y:hidden;
    height:100vh;
    padding:0 8vw;
    gap:6rem;
    scroll-snap-type:x proximity;
}

.horizontal-gallery .gallery-title{
    flex:0 0 auto;
    margin:0;
}

.horizontal-gallery .gallery-item{
    flex:0 0 auto;
    margin:0;
    min-height:auto;
    scroll-snap-align:center;
}

.horizontal-gallery .gallery-item img{
    height:78vh;
    width:auto;
    max-width:none;
    object-fit:contain;
}
}
.category-grid{padding:0 var(--edge) var(--gap);display:grid;gap:var(--gap)}
.category-card{position:relative;display:block;overflow:hidden}
.category-card img{width:100%;height:78svh;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.category-card:hover img{transform:scale(1.018);filter:brightness(.82)}
.category-card span{position:absolute;left:clamp(18px,3vw,44px);bottom:clamp(18px,3vw,40px);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(42px,7vw,94px);text-transform:lowercase;text-shadow:0 2px 12px rgba(0,0,0,.75)}

.about{min-height:calc(100svh - 88px);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,8vw,140px);align-items:center;padding:clamp(42px,7vw,110px) var(--edge)}
.about img{width:100%;max-height:76svh;object-fit:cover}
.about-copy{max-width:620px}
.about h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(34px,4vw,54px);font-weight:500;line-height:.9;margin:0 0 36px;text-transform:lowercase}
.about p{font-size:clamp(18px,1.5vw,24px);line-height:1.7;color:#d7d7d7;margin:0 0 24px}
.about-links{display:flex;gap:28px;margin-top:36px;font-family:'Cormorant Garamond',Georgia,serif;font-size:22px}
.about-links a{border-bottom:1px solid var(--gold)}

.site-footer{padding:32px var(--edge) 42px;display:flex;justify-content:space-between;gap:22px;align-items:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:18px}
.site-footer .links{display:flex;gap:28px}

.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.97);display:none;align-items:center;justify-content:center;padding:28px}
.lightbox.is-open{display:flex}
.lightbox img{max-width:94vw;max-height:92svh;object-fit:contain}
.lightbox button{position:absolute;background:none;border:0;color:var(--gold);cursor:pointer;font-size:38px;padding:16px}
.lightbox-close{top:8px;right:14px}
.lightbox-prev{left:8px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:8px;top:50%;transform:translateY(-50%)}

@media (max-width:760px){
  :root{--gap:48px;--edge:14px}
  .site-header{height:72px}
  .brand{font-size:38px}
  .menu-toggle{display:block}
  .nav{position:fixed;top:72px;left:0;right:0;background:#000;display:none;flex-direction:column;align-items:flex-start;padding:28px var(--edge) 36px;border-top:1px solid #1b1b1b;font-size:30px;gap:10px}
  .nav.is-open{display:flex}
  .home-hero{min-height:auto;padding-top:6px}
  .home-hero img{height:72svh;object-position:center}
  .category-card img{height:68svh}

  .gallery-title{margin-top:28px}
  .gallery-item{min-height:auto;margin-bottom:48px}
  .gallery-item.portrait img{max-width:100%;width:100%}
  .gallery-item.landscape img{aspect-ratio:auto;height:auto;object-fit:contain}
  .about{grid-template-columns:1fr;padding-top:30px}
  .about img{max-height:none}
  .site-footer{flex-direction:column;align-items:flex-start}
  .lightbox-prev,.lightbox-next{display:none}
}
/* Homepage category titles */
.category-card span {
  position: absolute !important;
  top: 58% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;

  width: 100%;
  margin: 0 !important;
  padding: 0 20px;

  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(34px, 4vw, 54px) !important;
  font-weight: 600;
  line-height: 1;
  color: var(--gold);
  text-align: center;
  text-transform: lowercase;

  -webkit-text-stroke: 1px #000;
  paint-order: stroke fill;
  text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000;
}

@media (max-width:760px) {
  .category-card span {
    top: 76% !important;
    font-size: 38px !important;

}.horizontal-gallery{
    display:block;
}.home-hero{
    position:relative;
}
}.menu-title{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:600;
  text-transform:lowercase;
  color:var(--gold);
  font-size:38px;
  line-height:1;
  letter-spacing:-.035em;

  -webkit-text-stroke:1px #000;
  paint-order:stroke fill;
  text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000;
}.home-hero{
    position: relative;

    text-transform:lowercase;
}/* Hero caption — desktop */
.home-hero{
  position:relative;
}

.hero-caption{
  position:absolute !important;
  top:67% !important;
  left:50% !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;

  z-index:5;
  width:90%;
  padding:0 20px;
  text-align:center;
  pointer-events:none;

  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:24px !important;
  font-weight:500;
  line-height:1.1;
  color:var(--gold);
  text-transform:lowercase;

  -webkit-text-stroke:1px #000;
  paint-order:stroke fill;
  text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000;
}

/* Hero caption — phone */
@media (max-width:760px){
  .hero-caption{
    top:72% !important;
    font-size:18px !important;

    -webkit-text-stroke:1px #000;
    text-shadow:
      -1px -1px 0 #000,
       1px -1px 0 #000,
      -1px  1px 0 #000,
       1px  1px 0 #000;
  }
}
