:root{
  --ink:#0c0a09;--soot:#15110f;--soot2:#1d1714;--line:rgba(201,164,92,.28);
  --rose:#c3192a;--deep:#7e0d15;--gold:#c9a45c;--gold2:#e2c487;--cream:#f3ece0;--mute:#b9ab98;
  --display:"Bodoni Moda",Didot,"Bodoni 72",Georgia,serif;
  --body:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --script:"Pinyon Script","Snell Roundhand",cursive;
  --gut:clamp(16px,4.5vw,64px);--max:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--body);font-size:17px;line-height:1.6;font-weight:400;overflow-x:hidden}
img,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.05;margin:0;letter-spacing:-.01em}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--ink);padding:10px 16px;z-index:100;text-decoration:none}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.eyebrow{font-family:var(--body);text-transform:uppercase;letter-spacing:.26em;font-size:12px;font-weight:500;color:var(--gold)}
.it{font-style:italic}
.gold{color:var(--gold)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:0 26px;border:1px solid var(--gold);color:var(--cream);text-decoration:none;font-family:var(--body);font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;background:transparent;cursor:pointer;transition:background-color .25s,color .25s}
.btn:hover{background:var(--gold);color:var(--ink)}
.btn.solid{background:var(--rose);border-color:var(--rose);color:#fff}
.btn.solid:hover{background:#d92335;border-color:#d92335;color:#fff}
.textlink{color:var(--gold2);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;display:inline-block;min-height:44px;line-height:44px}
.textlink:hover{border-color:var(--gold2)}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;height:72px;transition:background-color .35s}
.hdr::before{content:"";position:absolute;inset:0 0 -40px 0;background:linear-gradient(rgba(12,10,9,.78),rgba(12,10,9,0));pointer-events:none;transition:opacity .35s}
.hdr.solid{background:rgba(12,10,9,.97)}
.hdr.solid::before{opacity:0}
.hdr .in{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1400px;margin:0 auto;padding:0 var(--gut)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
.brand svg{width:26px;height:26px;fill:var(--gold);flex:none}
.brand .wm{display:flex;flex-direction:column;line-height:1}
.brand .wm b{font-family:var(--script);font-weight:400;font-size:27px;color:var(--cream);letter-spacing:0}
.brand .wm small{font-size:8.5px;letter-spacing:.42em;color:var(--gold);margin-top:2px;padding-left:3px}
.nav{display:flex;align-items:center;gap:4px}
.nav a{text-decoration:none;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;padding:0 12px;min-height:44px;display:inline-flex;align-items:center;color:var(--cream)}
.nav a:hover,.nav a[aria-current=page]{color:var(--gold2)}
.hdr .cta{min-height:42px;padding:0 18px;font-size:12px}
.menu-btn{display:none;width:44px;height:44px;border:0;background:none;color:var(--cream);cursor:pointer;padding:10px}
.menu-btn span{display:block;height:1.5px;background:currentColor;margin:5px 0;transition:transform .3s,opacity .3s}
.menu-open .menu-btn span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){opacity:0}
.menu-open .menu-btn span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.drawer{position:fixed;inset:72px 0 0 0;background:var(--ink);z-index:49;display:none;flex-direction:column;padding:28px var(--gut) 40px;overflow:auto}
.menu-open .drawer{display:flex}
.drawer a{font-family:var(--display);font-size:34px;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
.drawer a small{font-family:var(--body);font-size:12px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
.drawer .meta{margin-top:auto;padding-top:28px;color:var(--mute);font-size:15px}
.menu-open .hdr{background:var(--ink)}
@media (max-width:860px){
  .nav{display:none}
  .menu-btn{display:block}
  .hdr .cta{padding:0 14px;letter-spacing:.16em}
  .brand .wm b{font-size:24px}
}

/* footer */
.ftr{border-top:1px solid var(--line);margin-top:0;padding:56px 0 34px;background:var(--ink)}
.ftr .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.ftr h2{font-family:var(--script);font-size:46px;color:var(--cream);line-height:1}
.ftr p,.ftr li{color:var(--mute);font-size:15px}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li a{text-decoration:none;display:inline-block;min-height:40px;line-height:40px}
.ftr li a:hover{color:var(--gold2)}
.ftr .credit{margin-top:40px;padding-top:20px;border-top:1px solid rgba(201,164,92,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:#8f826f}
@media (max-width:760px){.ftr .grid{grid-template-columns:1fr 1fr}.ftr .grid>div:first-child{grid-column:1/-1}}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}

/* page hero (inner pages) */
.phero{padding:150px 0 56px;position:relative}
.phero h1{font-size:clamp(46px,9vw,108px)}
.phero p.lede{max-width:560px;color:var(--mute);font-size:18px;margin-top:20px}
.phero .eyebrow{display:block;margin-bottom:18px}

/* hero-safe video */
.vbox{position:relative;overflow:hidden;background:var(--soot)}
.vbox img,.vbox video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vbox video{opacity:0;transition:opacity .6s}
.vbox.playing video{opacity:1}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  *{scroll-behavior:auto!important}
}
