/* Nor Hotel Casino Resort — shared styles */
:root{
  --ink:#15241d;
  --emerald:#0f3d2e;
  --emerald-deep:#0a2a20;
  --gold:#b9933f;
  --gold-soft:#d8c08a;
  --cream:#f6f1e6;
  --paper:#fbf9f3;
  --line:rgba(15,61,46,.14);
  --maxw:1080px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Mulish',system-ui,sans-serif;
  font-weight:400;
  color:var(--ink);
  background:var(--paper);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:600;
  line-height:1.12;
  color:var(--emerald);
  margin:0 0 .4em;
}
h1{font-size:clamp(2.6rem,6vw,4.4rem);letter-spacing:.5px}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-top:1.4em}
h3{font-size:1.35rem;margin-top:1.2em}
p{margin:0 0 1.1em}
a{color:var(--emerald);text-decoration:none}
a:hover{color:var(--gold)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---------- Header ---------- */
.site-head{
  position:sticky;top:0;z-index:50;
  background:rgba(251,249,243,.92);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--line);
}
.site-head .bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;max-width:var(--maxw);margin:0 auto;gap:18px;
}
.brand{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;font-weight:600;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--emerald);white-space:nowrap;
}
.brand .sep{color:var(--gold);margin:0 .15em}
.nav{display:flex;gap:26px;flex-wrap:wrap}
.nav a{
  font-size:.82rem;letter-spacing:1.4px;text-transform:uppercase;
  font-weight:600;color:var(--ink);
}
.nav a:hover{color:var(--gold)}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(120% 120% at 80% -10%,rgba(185,147,63,.22),transparent 55%),
    linear-gradient(160deg,var(--emerald) 0%,var(--emerald-deep) 100%);
  color:var(--cream);
  padding:clamp(70px,12vw,140px) 0 clamp(60px,9vw,110px);
}
.hero::before{
  content:"";position:absolute;inset:0;opacity:.10;
  background-image:repeating-linear-gradient(45deg,var(--gold-soft) 0 1px,transparent 1px 22px);
  pointer-events:none;
}
.hero .wrap{position:relative}
.hero h1{color:var(--cream);max-width:14ch}
.hero h1 .accent{color:var(--gold-soft)}
.hero p{
  max-width:60ch;font-size:1.12rem;color:rgba(246,241,230,.86);
  margin-top:.6em;
}
.rule{width:64px;height:2px;background:var(--gold);margin:22px 0 0}
.kicker{
  display:inline-block;margin-top:26px;font-size:.78rem;letter-spacing:2px;
  text-transform:uppercase;color:var(--gold-soft);
}

/* fade-up */
.fade{opacity:0;transform:translateY(16px);animation:up .8s ease forwards}
.fade.d1{animation-delay:.12s}.fade.d2{animation-delay:.24s}.fade.d3{animation-delay:.36s}
@keyframes up{to{opacity:1;transform:none}}

/* ---------- Sections ---------- */
.section{padding:clamp(48px,7vw,86px) 0}
.section.alt{background:var(--cream)}
.lede{font-size:1.18rem;max-width:62ch}
.grid{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:30px}
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:4px;
  padding:30px 28px;position:relative;
}
.card::before{
  content:"";position:absolute;left:0;top:0;width:38px;height:2px;background:var(--gold);
}
.card h3{margin-top:.2em}
.diamond{color:var(--gold);font-size:.8rem;letter-spacing:6px;display:block;margin-bottom:8px}

/* page header (inner pages) */
.page-head{
  background:linear-gradient(160deg,var(--emerald),var(--emerald-deep));
  color:var(--cream);padding:clamp(54px,8vw,90px) 0 clamp(40px,6vw,64px);
}
.page-head h1{color:var(--cream);font-size:clamp(2.2rem,5vw,3.4rem)}
.page-head p{color:rgba(246,241,230,.85);max-width:60ch;margin-top:.5em}

.prose{max-width:74ch}
.prose h2{color:var(--emerald)}
.prose ul{padding-left:1.15em}
.prose li{margin-bottom:.5em}
.note{
  border-left:3px solid var(--gold);background:var(--cream);
  padding:16px 22px;margin:26px 0;border-radius:0 4px 4px 0;font-size:.97rem;
}

/* contact */
.contact-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:24px}
.contact-grid .card{padding:24px}

/* ---------- Footer ---------- */
.site-foot{
  background:var(--emerald-deep);color:rgba(246,241,230,.8);
  padding:54px 0 30px;margin-top:0;
}
.site-foot .brand{color:var(--cream);display:block;margin-bottom:14px}
.foot-cols{display:grid;gap:30px;grid-template-columns:1.4fr 1fr 1fr}
.foot-cols a{color:rgba(246,241,230,.78)}
.foot-cols a:hover{color:var(--gold-soft)}
.foot-cols h4{
  font-family:'Mulish',sans-serif;font-size:.78rem;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--gold-soft);margin:0 0 14px;
}
.foot-cols ul{list-style:none;padding:0;margin:0;line-height:2}
.foot-bottom{
  border-top:1px solid rgba(246,241,230,.16);margin-top:34px;padding-top:20px;
  font-size:.82rem;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
@media(max-width:720px){
  .foot-cols{grid-template-columns:1fr 1fr}
  .nav{gap:18px}
}
