:root{
  --black:#050505;
  --deep:#0b0d0b;
  --forest:#182016;
  --bamboo:#78856b;
  --paper:#ece8de;
  --muted:#aaa396;
  --line:rgba(236,232,222,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--black);
  color:var(--paper);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
.noise{
  position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.loader{
  position:fixed;inset:0;z-index:200;
  display:grid;place-items:center;
  background:#020202;
  transition:opacity 1.15s ease,visibility 1.15s ease;
}
.loader span{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(52px,9vw,126px);
  letter-spacing:.015em;
}
.loader.is-hidden{opacity:0;visibility:hidden}
.site-header{
  position:fixed;top:0;left:0;width:100%;z-index:90;
  display:flex;justify-content:space-between;align-items:center;
  padding:28px clamp(22px,4vw,56px);
  mix-blend-mode:difference;
}
.brand{
  font-family:"Cormorant Garamond",serif;
  font-weight:700;
  font-size:28px;
  letter-spacing:.03em;
}
.menu-button{
  cursor:pointer;
  color:var(--paper);
  background:rgba(5,5,5,.12);
  border:1px solid rgba(236,232,222,.35);
  border-radius:999px;
  padding:10px 17px;
  letter-spacing:.22em;
  font-size:11px;
}
.menu-panel{
  position:fixed;inset:0;z-index:80;
  display:grid;place-items:center;
  background:rgba(5,5,5,.97);
  opacity:0;visibility:hidden;
  transition:opacity .72s ease,visibility .72s ease;
}
.menu-panel.open{opacity:1;visibility:visible}
.menu-panel nav{display:flex;flex-direction:column;gap:18px;text-align:left}
.menu-panel a{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(52px,9vw,118px);
  line-height:.85;
  opacity:.86;
  transition:opacity .35s ease,transform .35s ease;
}
.menu-panel a:hover{opacity:1;transform:translateX(12px)}
.menu-panel span{
  display:inline-block;
  width:54px;
  font-family:Inter,sans-serif;
  color:var(--bamboo);
  font-size:12px;
  letter-spacing:.18em;
  vertical-align:middle;
}
.hero{
  min-height:100svh;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.hero-image{
  position:absolute;inset:-7%;
  background:url("assets/hero.jpg") center/cover no-repeat;
  transform:scale(1.03);
  filter:saturate(.72) contrast(1.05) brightness(.82);
  will-change:transform;
}
.hero-shade{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 42%,rgba(0,0,0,.02),rgba(0,0,0,.48) 65%,rgba(0,0,0,.86) 100%),
    linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.62));
}
.hero-copy{
  position:relative;
  text-align:left;
  width:min(1120px,100%);
  padding:0 24px;
  transform:translateY(-5vh);
}
h1{
  margin:0 0 18px;
  font-family:"Cormorant Garamond",serif;
  font-weight:600;
  font-size:clamp(68px,10vw,126px);
  line-height:.88;
  letter-spacing:.01em;
}
.meta{
  margin:7px 0;
  color:#ddd7ca;
  letter-spacing:.18em;
  font-size:14px;
}
.scroll-mark{
  position:absolute;left:24px;bottom:34px;
  color:rgba(236,232,222,.62);
  letter-spacing:.28em;
  font-size:11px;
}
.section-grid{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(0,2.1fr);
  gap:clamp(38px,8vw,122px);
  padding:118px clamp(24px,8vw,120px);
  border-top:1px solid var(--line);
}
.section-label{
  color:var(--bamboo);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:12px;
  padding-top:8px;
}
.section-body{
  max-width:760px;
}
.section-body p{
  margin:0 0 28px;
  color:#d2cbbb;
  font-family:"Shippori Mincho B1", serif;
  font-weight:400;
  line-height:2.28;
  letter-spacing:.035em;
  font-size:16px;
}
.release-card{
  display:grid;
  grid-template-columns:minmax(220px,320px) 1fr;
  gap:32px;
  align-items:end;
}
.cover-wrap{
  border:1px solid var(--line);
  background:#111;
  overflow:hidden;
}
.cover-wrap img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}
.release-info{
  padding-bottom:10px;
}
.release-kicker{
  color:var(--bamboo);
  text-transform:uppercase;
  letter-spacing:.26em;
  font-size:11px;
}
.release-info h2,.contact h2{
  margin:14px 0 22px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(46px,6vw,90px);
  line-height:.92;
  font-weight:600;
}
.button-row{display:flex;gap:14px;flex-wrap:wrap}
.button{
  border:1px solid rgba(236,232,222,.62);
  border-radius:999px;
  padding:11px 18px;
  font-size:13px;
}
.mix-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
}
.mix-card{
  position:relative;
  min-height:320px;
  overflow:hidden;
  border:1px solid var(--line);
}
.mix-card.room303{
  background:
    linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.75)),
    url("https://i.ytimg.com/vi/BXdeOeX_rUc/hqdefault.jpg") center/cover no-repeat;
}
.mix-card-shade{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.18));
}
.mix-copy{
  position:absolute;left:26px;bottom:22px;z-index:2;
}
.mix-copy small{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:11px;
  margin-bottom:8px;
}
.mix-copy h3{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(34px,5vw,64px);
  font-weight:500;
}
.mix-arrow{
  position:absolute;right:24px;bottom:20px;z-index:2;
  font-size:28px;
}
.gallery{
  padding:118px clamp(24px,8vw,120px);
  border-top:1px solid var(--line);
}
.gallery-grid{
  margin-top:54px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
  align-items:start;
}
figure{
  margin:0;
  overflow:hidden;
  background:#111;
}
figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:saturate(.66) brightness(.82) contrast(1.05);
  transition:transform 1.4s ease,filter 1.4s ease;
}
figure:hover img{transform:scale(1.02);filter:saturate(.86) brightness(.95)}
.contact{
  min-height:58svh;
  display:grid;place-items:center;
  text-align:center;
  padding:110px 24px 70px;
  border-top:1px solid var(--line);
  background:radial-gradient(circle at 50% 20%,rgba(56,70,48,.18),transparent 45%),#050505;
}
.contact-label{
  margin:0;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:11px;
}
.contact h2{font-size:clamp(62px,11vw,150px);margin:8px 0 28px}
.contact-links{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;color:var(--muted)}
.contact-links a{border-bottom:1px solid rgba(236,232,222,.25);padding-bottom:6px}
.copyright{
  margin-top:36px;
  color:#7f7a70;
  font-size:12px;
  letter-spacing:.08em;
}
.reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity 1.05s ease,transform 1.05s ease;
}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){
  .site-header{padding:22px}
  .brand{font-size:26px}
  .hero-copy{transform:translateY(-2vh)}
  h1{font-size:clamp(58px,14vw,88px)}
  .meta{font-size:12px}
  .section-grid{grid-template-columns:1fr;padding:90px 24px}
  .section-body p{font-size:15.5px; line-height:2.22;}
  .release-card{grid-template-columns:1fr}
  .gallery{padding:90px 24px}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-grid figure{margin:0}
  .contact-links{flex-direction:column}
}


/* v2 adjustments */
.mix-card{
  aspect-ratio: 16 / 9;
  min-height: unset;
  width: 100%;
}
.gallery-grid figure:nth-child(5){grid-column:1/5;height:360px;margin-top:-10px}
.gallery-grid figure:nth-child(6){grid-column:6/13;height:520px}
@media(max-width:900px){
  .mix-card{aspect-ratio:16/9}
}

@media(max-width:900px){
  .hero-image{background-position:38% center;}
}


/* v11 release section refinement */
.release-info{
  padding-bottom:10px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.release-lead{
  margin:0 0 8px;
  color:#d8d2c6;
  font-family:"Cormorant Garamond", serif;
  font-size:24px;
  letter-spacing:.08em;
}
.release-note{
  margin:0 0 22px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
}
.button-stack{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-start;
}
.button.primary{
  background:rgba(236,232,222,.08);
  border-color:rgba(236,232,222,.62);
}
.button.secondary{
  border-color:rgba(236,232,222,.24);
  color:#d8d2c6;
}
@media(max-width:900px){
  .release-info h2{margin-bottom:10px}
  .release-lead{font-size:22px}
  .button-stack{width:100%}
  .button-stack .button{
    width:100%;
    text-align:center;
  }
}


/* v12 refinements */
.button.primary{
  background:transparent;
  border-color:rgba(236,232,222,.42);
  color:var(--paper);
}
.button.secondary{
  border-color:rgba(236,232,222,.42);
  color:var(--paper);
}
.mix-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
}
.mix-card{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border:1px solid var(--line);
  display:block;
}
.mix-card.room303{
  background:
    linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.22)),
    url("https://i.ytimg.com/vi/BXdeOeX_rUc/maxresdefault.jpg") center/cover no-repeat;
}
.mix-card-shade,.mix-copy,.mix-arrow{display:none !important;}
.mix-meta small{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:11px;
  margin-bottom:8px;
}
.mix-meta-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.mix-meta h3{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(34px,5vw,64px);
  font-weight:500;
}
.mix-arrow-out{
  font-size:28px;
  line-height:1;
}
@media(max-width:900px){
  .mix-meta h3{font-size:clamp(30px,9vw,48px);}
}


/* v13 release copy refinements */
.release-lead-sans{
  font-family:Inter, system-ui, sans-serif;
  font-size:14px;
  font-weight:400;
  letter-spacing:.24em;
  color:#d8d2c6;
}
