:root{
  --rf-black:#101216;
  --rf-gold:#ddcdb0;
  --rf-white:#fff;

  --container:1200px;
  --pad:16px;

  --nav-h:90px;
  --logo-h:80px;
}

@font-face{
  font-family:"Inter";
  src:url("/assets/fonts/inter-400.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("/assets/fonts/inter-600.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

*,*::before,*::after{box-sizing:border-box}
html,body{
  height:100%;
  background:var(--rf-white);
  overflow-x:hidden;
}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.5;
  color:#111;
}
img{max-width:100%;display:block}
ul{margin:0;padding:0;list-style:none}
a{color:var(--rf-gold);text-decoration:none}
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--pad)}

.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px;z-index:9999}
.skip-link:focus{top:0}
:focus-visible{outline:2px solid rgba(221,205,176,.55);outline-offset:2px;border-radius:12px}

.btn{
  --btn-radius:14px;
  --btn-pad-y:12px;
  --btn-pad-x:20px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  padding:var(--btn-pad-y) var(--btn-pad-x);
  border-radius:var(--btn-radius);

  font-weight:600;
  font-size:.95rem;
  line-height:1;

  border:1px solid transparent;
  cursor:pointer;
  white-space:nowrap;

  transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease,opacity .12s ease;
}
a.btn:hover{opacity:1}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

.btn-primary{background:var(--rf-gold);color:var(--rf-black);border-color:var(--rf-gold)}
.btn-primary:hover{background:#d6c4a3}
.btn-outline{background:transparent;color:var(--rf-black);border-color:var(--rf-black)}
.btn-outline:hover{background:rgba(16,18,22,.06)}

@media (max-width:640px){
  .btn{--btn-pad-y:11px;--btn-pad-x:16px;--btn-radius:12px}
}

header.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:2000 !important;
  background:var(--rf-black);
  min-height:var(--nav-h);
}

.site-header,.site-header a,.site-header button{font-weight:500}

.nav{
  max-width:var(--container);
  margin-inline:auto;
  padding:0 var(--pad);
  height:var(--nav-h);
  display:flex;
  align-items:center;
  gap:18px;
}

.brand{display:flex;align-items:center;height:100%;flex:0 0 auto}
.brand img{height:var(--logo-h);width:auto;max-width:280px;object-fit:contain}

.nav-desktop{
  margin-left:auto;
  display:none;
  align-items:center;
  gap:18px;
  flex:1;
  min-width:0;
}
.nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  flex:1;
  min-width:0;
}
.nav-links>li{flex:0 0 auto}

.nav-links a{
  position:relative;
  padding:10px 6px;
  line-height:1;
  color:var(--rf-gold);
  opacity:.92;
  transition:opacity 160ms ease,transform 160ms ease;
}
.nav-links a:hover{opacity:1;transform:translateY(-1px)}
.nav-links a::after{
  content:"";
  position:absolute;
  left:6px;right:6px;
  bottom:-6px;
  height:2px;
  background:var(--rf-gold);
  border-radius:2px;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform 180ms ease;
}
.nav-links a.is-active::after,
.nav-two-line.is-active::after{transform:scaleX(1)}

.nav-two-line{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  padding:8px 6px;
  line-height:1.1;
  text-align:center;
}
.nav-two-line span{opacity:.92}

.nav-cta{
  position:relative;
  flex:0 0 auto;
  white-space:nowrap;
  overflow:hidden;
}
.nav-cta::before,.nav-cta::after{content:none !important}
.nav-cta:hover{opacity:1}

.nav-mobile{margin-left:auto;display:flex;align-items:center;gap:10px}

.icon-btn{
  appearance:none;
  background:transparent;
  border:0;
  padding:12px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--rf-gold);
}
.icon-btn:hover{background:rgba(221,205,176,.08)}

.hamburger{
  width:24px;height:16px;
  background:
    linear-gradient(var(--rf-gold),var(--rf-gold)) 0 0/100% 2px no-repeat,
    linear-gradient(var(--rf-gold),var(--rf-gold)) 0 7px/100% 2px no-repeat,
    linear-gradient(var(--rf-gold),var(--rf-gold)) 0 14px/100% 2px no-repeat;
}

.mobile-menu{
  position:fixed;
  top:var(--nav-h);
  left:0;right:0;
  background:var(--rf-black);
  border-top:1px solid rgba(221,205,176,.18);
  z-index:1100;

  visibility:hidden;
  opacity:0;
  transform:translateY(-6px);
  pointer-events:none;

  transition:opacity 160ms ease,transform 160ms ease,visibility 0s linear 160ms;
  contain:layout paint;
  will-change:transform,opacity;
}
.mobile-menu.is-open{
  visibility:visible;
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
  transition:opacity 160ms ease,transform 160ms ease,visibility 0s;
}
.mobile-menu ul{padding:10px 12px 14px}
.mobile-menu a{
  color:var(--rf-gold);
  padding:14px 12px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.mobile-menu a:hover{background:rgba(221,205,176,.08);opacity:1}

@media (min-width:1200px){
  .nav-desktop{display:flex}
  .nav-mobile,.mobile-menu{display:none}
  :root{--nav-h:96px;--logo-h:84px}
}

.site-footer{
  background:var(--rf-black);
  color:var(--rf-white);
  margin-top:96px;
}
.site-footer a{color:rgba(221,205,176,.85)}
.site-footer a:hover{color:var(--rf-gold);opacity:1}

.footer-grid{
  max-width:var(--container);
  margin-inline:auto;
  padding:56px var(--pad) 48px;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:48px;
}

.site-footer .footer-brand img{
  width:auto;
  height:70px;
  max-width:180px;
  object-fit:contain;
  display:block;
}

.footer-location{
  font-size:.95rem;
  color:rgba(221,205,176,.85);
  margin-top:10px;
}

.footer-title{
  font-size:.95rem;
  font-weight:600;
  margin:0 0 14px;
  color:var(--rf-gold);
}

.footer-col ul{display:flex;flex-direction:column;gap:10px}

.footer-bottom{
  border-top:1px solid rgba(221,205,176,.15);
}
.footer-bottom .container{padding:18px var(--pad)}
.footer-bottom p{
  margin:0;
  font-size:.85rem;
  color:rgba(221,205,176,.7);
}

@media (max-width:768px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:32px;
    padding:44px var(--pad);
  }
}