:root{
  --void:#101114; --coal:#181a1e; --slate:#242730; --line:#2f333a;
  --gold:#d9b53f; --gold-lt:#f0d580; --gold-dp:#9a7d1c;
  --paper:#f7f6f3; --bone:#e6e4df; --ash:#bcc2c9; --dim:#949aa2;
  --d:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--void);color:var(--bone);font-family:'Jost',sans-serif;font-weight:500;font-size:19px;line-height:1.72;letter-spacing:.005em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--gold);color:var(--void)}

.grain{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.022;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.prog{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold-dp),var(--gold-lt));z-index:9999;transition:width .1s linear}

.nav{position:fixed;top:0;left:0;right:0;z-index:900;padding:26px 0;transition:all .45s var(--d);border-bottom:1px solid transparent}
.nav.on{background:rgba(10,10,11,.86);backdrop-filter:blur(16px);padding:16px 0;border-bottom-color:var(--line)}
.nav-in{max-width:1280px;margin:0 auto;padding:0 40px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.mark{font-size:15px;letter-spacing:.34em;color:var(--paper);font-weight:400}
.mark i{color:var(--gold);font-style:normal}
.links{display:flex;gap:38px;align-items:center}
.links a{font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);position:relative;padding:4px 0;transition:color .3s}
.links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .4s var(--d)}
.links a:hover{color:var(--paper)}
.links a:hover::after{width:100%}
.links a.on{color:var(--gold)}
.links a.on::after{width:100%}

.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
.eyebrow{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:'';width:32px;height:1px;background:var(--gold);opacity:.6}
.dsp{font-family:'Bodoni Moda',serif;font-weight:400;letter-spacing:-.02em;line-height:1.02;color:var(--paper)}

.rv{opacity:0;transform:translateY(38px);transition:opacity 1s var(--d),transform 1s var(--d)}
.rv.in{opacity:1;transform:none}

.foot{border-top:1px solid var(--line);background:var(--coal);padding:70px 0 34px}
.foot-g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;margin-bottom:56px}
.foot h4{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:400}
.foot p,.foot li{font-size:17px;color:var(--ash);list-style:none}
.foot li{margin-bottom:10px}
.foot li a{transition:color .3s}
.foot li a:hover{color:var(--gold)}
.foot-b{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}

.btn{display:inline-flex;align-items:center;gap:12px;padding:19px 42px;font-size:14px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);background:transparent;cursor:pointer;font-family:inherit;position:relative;overflow:hidden;transition:color .45s var(--d)}
.btn span{position:relative;z-index:2}
.btn::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateY(101%);transition:transform .5s var(--d)}
.btn:hover{color:var(--void)}
.btn:hover::before{transform:translateY(0)}
.btn.fill{background:var(--gold);color:var(--void)}
.btn.fill::before{background:var(--gold-lt)}
.btn.mute{border-color:var(--line);color:var(--dim);cursor:default}
.btn.mute:hover{color:var(--dim)}
.btn.mute::before{display:none}

@media(max-width:900px){
  .nav-in,.wrap{padding:0 22px}
  .links{gap:20px}
  .links a{font-size:12px;letter-spacing:.1em}
  .foot-g{grid-template-columns:1fr;gap:36px}
}

.lead{font-size:clamp(19px,1.8vw,22px);color:var(--bone);font-weight:500;line-height:1.75}

.plate{background:#f7f6f3;border:1px solid #e2e0da;padding:26px 30px;display:inline-block}
.tel{color:var(--gold);font-weight:500;cursor:default}
