@font-face{
  font-family:"Mona Sans";
  src:url("fonts/mona-sans.woff2") format("woff2-variations");
  font-weight:200 900;font-style:normal;font-display:swap;
}
@font-face{font-family:"Fira Mono";src:url("fonts/fira-mono-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Fira Mono";src:url("fonts/fira-mono-700.woff2") format("woff2");font-weight:700;font-display:swap}
:root{
  --bg:#1d1d23;
  --ink:#f7f2ea;
  --muted:#aaa49b;
  --line:rgba(247,242,234,.13);
  --panel:#28282e;
  --gutter:clamp(20px,4.6vw,60px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"Mona Sans","Gill Sans MT Pro","Gill Sans",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img,video{display:block;width:100%;max-width:100%}
.container{max-width:1326px;margin:0 auto;padding-inline:var(--gutter)}
.nav{
  position:fixed;
  inset:0 0 auto;
  z-index:50;
  height:49px;
  color:#fff;
  background:transparent;
  border-bottom:1px solid transparent;
  text-shadow:0 1px 18px rgba(0,0,0,.42);
  transition:background .42s var(--ease),border-color .42s var(--ease),text-shadow .42s var(--ease);
}
.nav.is-solid{background:rgba(29,29,35,.96);border-bottom-color:var(--line);text-shadow:none}
.nav .container{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.nav-left,.nav-right{
  display:flex;
  align-items:center;
  gap:22px;
  font-family:"Fira Mono","SFMono-Regular","Courier New",monospace;
  font-size:11px;
  line-height:1;
  letter-spacing:.16em;
  font-weight:700;
  text-transform:uppercase;
  white-space:nowrap;
}
.brand{display:flex;align-items:center;justify-content:center;width:122px;height:42px}
.brand img{width:122px;height:auto;display:block}
.nav-right{justify-self:end;gap:22px}
.sun{width:19px;height:19px;border:1.5px solid currentColor;border-radius:50%;position:relative}
.sun:before,.sun:after{content:"";position:absolute;inset:-6px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.sun:after{transform:rotate(90deg)}
.search{width:19px;height:19px;border:2px solid currentColor;border-radius:50%;position:relative}
.search:after{content:"";position:absolute;width:8px;height:2px;background:currentColor;right:-6px;bottom:-4px;transform:rotate(45deg)}
.nav-toggle{display:none}
.nav-menu{display:none}
@media(max-width:960px){
  .nav-right .sun{display:none}
  .nav-toggle{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:30px;height:30px;padding:0;background:none;border:0;color:inherit;cursor:pointer;
  }
  .nav-toggle span{display:block;width:22px;height:1.6px;background:currentColor;transition:transform .35s var(--ease),opacity .25s var(--ease)}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}
  .nav-menu{
    display:flex;flex-direction:column;justify-content:center;gap:2px;
    position:fixed;inset:0;z-index:40;padding:84px var(--gutter) 40px;
    background:rgba(20,20,25,.99);
    opacity:0;visibility:hidden;overflow-y:auto;transition:opacity .42s var(--ease),visibility .42s var(--ease);
  }
  .nav-menu.open{opacity:1;visibility:visible}
  .nav-menu a{
    font-size:clamp(32px,9vw,56px);line-height:1.05;letter-spacing:-.045em;font-weight:500;
    color:var(--ink);padding:6px 0;
  }
  .nav-menu .nav-menu-meta{margin-top:30px;display:grid;gap:10px}
  .nav-menu .nav-menu-meta a{
    font-family:"Fira Mono","SFMono-Regular","Courier New",monospace;
    font-size:12px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#aaa49b;padding:0;
  }
  body.menu-open{overflow:hidden}
}
.hero{
  position:relative;
  min-height:82dvh;
  display:grid;
  align-items:end;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero-media{position:absolute;inset:0;background:var(--panel)}
.hero-media img,.hero-media video{
  height:100%;
  object-fit:cover;
  filter:saturate(.62) contrast(1.08) brightness(.58) sepia(.08);
}
.hero-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(29,29,35,.08),rgba(29,29,35,.32) 48%,rgba(29,29,35,.86));
  pointer-events:none;
}
.hero-copy{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:24px;
  align-items:end;
  padding-top:104px;
  padding-bottom:clamp(34px,4.4vw,58px);
}
.eyebrow{
  grid-column:1/13;
  font-family:"Fira Mono","SFMono-Regular","Courier New",monospace;
  font-size:11px;
  letter-spacing:.16em;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  color:#e6dfd4;
}
.hero h1{
  grid-column:1/8;
  margin:0;
  font-size:clamp(58px,9.6vw,142px);
  line-height:.82;
  letter-spacing:-.078em;
  font-weight:500;
  max-width:820px;
}
.hero-lede{
  grid-column:8/13;
  margin:0 0 8px;
  color:#ddd8cf;
  font-size:clamp(18px,1.65vw,25px);
  line-height:1.28;
  max-width:410px;
}
.stats{
  grid-column:1/13;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:clamp(24px,3vw,42px);
  border:1px solid rgba(247,242,234,.18);
  background:rgba(247,242,234,.16);
}
.stat{min-height:84px;padding:16px 18px;background:rgba(29,29,35,.56);display:grid;align-content:space-between;gap:14px}
.stat strong{font-size:clamp(26px,3.2vw,46px);line-height:.86;letter-spacing:-.052em;font-weight:500}
.stat span{font-family:"Fira Mono","SFMono-Regular","Courier New",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#c7c0b7}
section{border-top:1px solid var(--line)}
.story,.deal,.gallery,.close{padding-top:56px;padding-bottom:56px}
.split{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}
.split h2,.gallery h2,.close h2{
  grid-column:1/6;
  margin:0;
  font-size:clamp(52px,6.9vw,96px);
  line-height:.86;
  letter-spacing:-.075em;
  font-weight:500;
}
.copy{grid-column:7/12;color:#ddd8cf;font-size:17px;line-height:1.58}
.copy p{margin:0}.copy p+p{margin-top:16px}
.fact-grid{grid-column:1/13;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.fact{border-top:1px solid var(--line);padding-top:16px;min-height:160px;display:grid;align-content:space-between;gap:24px}
.fact b{font-size:clamp(28px,4vw,58px);line-height:.9;letter-spacing:-.06em;font-weight:500}
.fact span{color:var(--muted);font-size:14px;line-height:1.42}
.gallery-head{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end;margin-bottom:36px}
.gallery h2{grid-column:1/6}
.gallery-head p{grid-column:7/11;margin:0;color:#ddd8cf;font-size:17px;line-height:1.55}
.gallery-slider{position:relative;display:grid;gap:16px}
.slide-stage{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  background:var(--panel);
  border:1px solid rgba(247,242,234,.13);
}
.slide-stage img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.015);
  filter:saturate(.68) contrast(1.05) brightness(.82) sepia(.04);
  transition:opacity .55s var(--ease),transform .9s var(--ease);
}
.slide-stage img.is-active{opacity:1;transform:scale(1)}
.slide-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(29,29,35,.34));pointer-events:none}
.slider-bar{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
}
.slider-count{
  font-family:"Fira Mono","SFMono-Regular","Courier New",monospace;
  font-size:11px;
  letter-spacing:.14em;
  color:#aaa49b;
}
.slider-thumbs{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(74px,1fr));
  gap:8px;
}
.slider-thumb{
  appearance:none;
  border:1px solid rgba(247,242,234,.16);
  padding:0;
  margin:0;
  height:62px;
  background:var(--panel);
  cursor:pointer;
  opacity:.52;
  transition:opacity .3s var(--ease),border-color .3s var(--ease);
}
.slider-thumb img{height:100%;object-fit:cover;filter:saturate(.62) brightness(.72)}
.slider-thumb.is-active{opacity:1;border-color:rgba(247,242,234,.74)}
.slider-controls{display:flex;gap:8px}
.slider-control{
  appearance:none;
  width:42px;
  height:42px;
  border:1px solid rgba(247,242,234,.42);
  border-radius:50%;
  background:transparent;
  color:var(--ink);
  font-family:"Fira Mono","SFMono-Regular","Courier New",monospace;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.slider-control:hover{border-color:rgba(247,242,234,.82);background:rgba(247,242,234,.06)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:var(--panel);aspect-ratio:4/3}
.gallery-grid figure.wide{grid-column:span 2}
.gallery-grid img{height:100%;object-fit:cover;filter:saturate(.68) contrast(1.05) brightness(.82) sepia(.04)}
.gallery-grid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(29,29,35,.3));pointer-events:none}
.close .copy{display:grid;gap:20px}
.cta{
  display:inline-flex;
  width:max-content;
  align-items:center;
  border:1px solid rgba(247,242,234,.72);
  border-radius:3px;
  padding:13px 16px 12px;
  font-family:"Fira Mono","SFMono-Regular","Courier New",monospace;
  font-size:11px;
  line-height:1;
  letter-spacing:.16em;
  font-weight:700;
  text-transform:uppercase;
}
.footline{
  border-top:1px solid var(--line);
  padding-top:20px;
  padding-bottom:24px;
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  font-family:"Fira Mono","SFMono-Regular","Courier New",monospace;
  font-size:11px;
  letter-spacing:.14em;
  font-weight:700;
  text-transform:uppercase;
  color:#aaa49b;
}
.faq{padding-top:56px;padding-bottom:56px}
.faq-head{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end;margin-bottom:36px}
.faq-head h2{grid-column:1/6;margin:0;font-size:clamp(52px,6.9vw,96px);line-height:.86;letter-spacing:-.075em;font-weight:500}
.faq-head p{grid-column:7/11;margin:0;color:#ddd8cf;font-size:17px;line-height:1.55}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:baseline;
  padding:24px 0;font-size:clamp(20px,2.2vw,28px);line-height:1.12;letter-spacing:-.03em;font-weight:500;
  transition:color .4s var(--ease);
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:#fff}
.faq-item summary:after{content:"+";font-family:"Fira Mono",monospace;font-size:24px;line-height:1;color:#aaa49b;transition:transform .4s var(--ease),color .4s var(--ease)}
.faq-item[open] summary:after{transform:rotate(45deg);color:var(--ink)}
.faq-item .faq-a{margin:0;padding:0 22% 26px 0;color:#cfc8bf;font-size:16px;line-height:1.55;max-width:760px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
@media(max-width:960px){
  .faq-head{grid-template-columns:1fr}
  .faq-head h2,.faq-head p{grid-column:auto}
  .faq-item .faq-a{padding-right:0}
  .nav .container{grid-template-columns:1fr auto}
  .nav-left{display:none}
  .brand{justify-self:start}
  .hero-copy,.split,.gallery-head{grid-template-columns:1fr}
  .eyebrow,.hero h1,.hero-lede,.stats,.split h2,.copy,.fact-grid,.gallery h2,.gallery-head p{grid-column:auto}
  .stats,.fact-grid{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .slider-bar{grid-template-columns:1fr auto}
  .slider-count{grid-column:1/2}
  .slider-thumbs{grid-column:1/3;grid-row:2;grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .nav-right{gap:16px}
  .hero{min-height:76dvh}
  .hero h1{font-size:clamp(46px,14vw,68px);line-height:.9;letter-spacing:-.056em}
  .hero-lede{font-size:18px}
  .stats,.fact-grid,.gallery-grid{grid-template-columns:1fr}
  .gallery-grid figure.wide{grid-column:auto}
  .slide-stage{aspect-ratio:4/3}
  .slider-thumb{height:54px}
  .story,.deal,.gallery,.close{padding-top:44px;padding-bottom:44px}
}
