

:root{
  --cg-lime:#fdfaf4;
  --cg-bougain:#b4365f;
  --cg-teal:#1f6f72;
  --cg-shutter:#edb850;
  --cg-ink:#241c1f;
  --cg-rule:rgba(36,28,31,.16);
  --cg-gutter:20px;
  --cg-wide:1100px;
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--cg-lime);
  color:var(--cg-ink);
  font-family:"Rubik",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:300;
  font-size:16px;
  line-height:1.65;
  overflow-x:hidden;
}

h1,h2,h3{
  font-family:"Marcellus",Georgia,"Times New Roman",serif;
  font-weight:400;
  line-height:1.18;
  margin:0 0 .6em;
  letter-spacing:.01em;
}

p{margin:0 0 1.05em;}
ul{margin:0;padding:0;}

a{color:var(--cg-teal);text-decoration:underline;text-underline-offset:3px;}
a:hover{color:var(--cg-bougain);}

:focus-visible{
  outline:3px solid var(--cg-bougain);
  outline-offset:3px;
}

img,svg{max-width:100%;}

.cg-skip{
  position:absolute;
  left:-9999px;
  top:0;
  background:var(--cg-teal);
  color:var(--cg-lime);
  padding:12px 18px;
  z-index:120;
  text-decoration:none;
}
.cg-skip:focus{left:8px;top:8px;color:var(--cg-lime);}

.cg-press{
  display:inline-block;
  font-family:"Rubik",sans-serif;
  font-size:.86rem;
  font-weight:500;
  letter-spacing:.09em;
  text-transform:uppercase;
  padding:13px 22px;
  border-radius:2px;
  cursor:pointer;
  text-decoration:none;
  line-height:1.3;
  text-align:center;
}
.cg-press--solid{
  background:var(--cg-bougain);
  color:var(--cg-lime);
  border:2px solid var(--cg-bougain);
}
.cg-press--solid:hover{background:#96264b;border-color:#96264b;color:var(--cg-lime);}
.cg-press--ghost{
  background:transparent;
  color:var(--cg-ink);
  border:2px solid var(--cg-rule);
}
.cg-press--ghost:hover{border-color:var(--cg-teal);color:var(--cg-teal);}

.cg-linkish{
  background:none;
  border:0;
  padding:0;
  font:inherit;
  color:var(--cg-teal);
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.cg-linkish:hover{color:var(--cg-bougain);}

.cg-gate{
  position:fixed;
  inset:0;
  z-index:100;
  background:
    linear-gradient(160deg,rgba(31,111,114,.95),rgba(36,28,31,.96));
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:24px var(--cg-gutter) 230px;
  overflow-y:auto;
}
.cg-gate[hidden]{display:none;}

.cg-gate__sheet{
  background:var(--cg-lime);
  border-top:7px solid var(--cg-shutter);
  max-width:460px;
  width:100%;
  margin-top:8vh;
  padding:30px 24px 32px;
  text-align:center;
}
.cg-gate__mark{
  font-family:"Marcellus",serif;
  font-size:1.05rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cg-teal);
  margin-bottom:1.1em;
}
.cg-gate__title{font-size:1.7rem;}
.cg-gate__copy{font-size:.95rem;}
.cg-gate__row{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:20px;
}
.cg-gate__deny{
  margin-top:18px;
  border-top:2px solid var(--cg-bougain);
  padding-top:16px;
  font-size:.95rem;
}
.cg-gate__deny p{margin-bottom:.5em;}

.cg-top{
  background:var(--cg-lime);
  border-bottom:1px solid var(--cg-rule);
  position:relative;
  z-index:40;
}
.cg-top__inner{
  max-width:var(--cg-wide);
  margin:0 auto;
  padding:18px var(--cg-gutter) 14px;
  text-align:center;
}

.cg-mark{
  display:inline-block;
  text-decoration:none;
  color:var(--cg-ink);
}
.cg-mark__line1{
  display:block;
  font-family:"Marcellus",serif;
  font-size:1.5rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.cg-mark__line2{
  display:block;
  font-size:.64rem;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--cg-teal);
  margin-top:5px;
}
.cg-mark:hover .cg-mark__line1{color:var(--cg-bougain);}

.cg-burger{
  margin:14px auto 0;
  display:flex;
  align-items:center;
  gap:9px;
  background:none;
  border:2px solid var(--cg-rule);
  border-radius:2px;
  padding:7px 14px;
  font:inherit;
  font-size:.74rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cg-ink);
  cursor:pointer;
}
.cg-burger__bar{
  width:18px;
  height:9px;
  border-top:2px solid var(--cg-bougain);
  border-bottom:2px solid var(--cg-bougain);
  display:block;
}
.cg-burger[aria-expanded="true"]{border-color:var(--cg-bougain);}

.cg-nav{display:none;}
.cg-nav.is-open{display:block;}
.cg-nav__row{
  list-style:none;
  margin:14px 0 2px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.cg-nav__row a{
  display:block;
  padding:11px 6px;
  text-decoration:none;
  color:var(--cg-ink);
  font-size:.8rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  border-bottom:1px solid var(--cg-rule);
}
.cg-nav__row a:hover{color:var(--cg-bougain);}

.cg-hero,.cg-stay,.cg-eat,.cg-casino,.cg-around,.cg-find{
  max-width:var(--cg-wide);
  margin:0 auto;
  padding:46px var(--cg-gutter);
}

.cg-section-h{
  font-size:1.9rem;
  padding-bottom:12px;
  border-bottom:2px solid var(--cg-shutter);
  margin-bottom:28px;
}

.cg-eyebrow{
  font-size:.68rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--cg-bougain);
  margin-bottom:1.3em;
}

.cg-hero{padding-top:34px;}
.cg-hero__band{
  border-left:6px solid var(--cg-teal);
  padding-left:20px;
}
.cg-hero__h{font-size:2.05rem;margin-bottom:.7em;}
.cg-hero__lede{font-size:1.02rem;max-width:62ch;}

.cg-editorial{display:block;}

.cg-pull{
  margin:0;
  font-family:"Marcellus",serif;
  font-size:1.35rem;
  line-height:1.4;
  color:var(--cg-teal);
  border-top:3px solid var(--cg-bougain);
  padding-top:18px;
}
.cg-pull p{margin:0;}
.cg-pull__by{
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cg-ink);
  opacity:.68;
  margin-top:12px;
  margin-bottom:34px;
}

.cg-entry{margin-bottom:28px;}
.cg-entry__h{
  font-size:1.3rem;
  margin-bottom:.35em;
}
.cg-entry__h::after{
  content:"";
  display:block;
  width:34px;
  height:3px;
  background:var(--cg-shutter);
  margin-top:9px;
}
.cg-entry p{margin-bottom:.6em;}

.cg-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.cg-tags span{
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  border:1px solid var(--cg-teal);
  color:var(--cg-teal);
  padding:4px 9px;
  border-radius:1px;
}

.cg-venues{display:block;}
.cg-venue{
  padding:18px 0;
  border-top:1px solid var(--cg-rule);
}
.cg-venue:first-child{border-top:0;padding-top:0;}
.cg-venue__h{
  font-size:1.25rem;
  color:var(--cg-bougain);
  margin-bottom:.35em;
}
.cg-venue p{margin-bottom:0;}

.cg-casino{padding-top:16px;}
.cg-inset{
  border:5px solid var(--cg-bougain);
  background:var(--cg-lime);
  padding:26px 20px 24px;
  position:relative;
}
.cg-inset::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-11px;
  height:5px;
  background:repeating-linear-gradient(90deg,var(--cg-shutter) 0 14px,transparent 14px 26px);
}
.cg-inset__age{
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.26em;
  color:var(--cg-bougain);
  margin-bottom:.8em;
}
.cg-inset__h{
  font-size:1.75rem;
  margin-bottom:.7em;
}
.cg-inset p:last-child{margin-bottom:0;}

.cg-facts{list-style:none;}
.cg-facts li{
  position:relative;
  padding:0 0 16px 22px;
  margin-bottom:14px;
  border-bottom:1px dotted var(--cg-rule);
}
.cg-facts li:last-child{border-bottom:0;}
.cg-facts li::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  width:10px;
  height:10px;
  background:var(--cg-shutter);
  transform:rotate(45deg);
}
.cg-facts strong{font-weight:500;color:var(--cg-teal);}

.cg-find__split{display:block;}

.cg-find__card{
  border-top:4px solid var(--cg-teal);
  padding-top:18px;
  margin-bottom:34px;
}
.cg-address{
  font-style:normal;
  font-family:"Marcellus",serif;
  font-size:1.08rem;
  line-height:1.8;
  margin-bottom:1em;
}
.cg-contact-line{margin-bottom:.4em;}
.cg-contact-note{
  font-size:.9rem;
  opacity:.82;
  margin-top:1em;
}

.cg-form{
  background:rgba(31,111,114,.06);
  border:1px solid var(--cg-rule);
  padding:22px 18px;
}
.cg-form__h{font-size:1.2rem;}
.cg-field{display:block;margin-bottom:16px;}
.cg-field label{
  display:block;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.cg-field input,
.cg-field textarea{
  width:100%;
  max-width:100%;
  font:inherit;
  font-size:1rem;
  padding:11px 12px;
  border:1px solid var(--cg-rule);
  border-radius:2px;
  background:var(--cg-lime);
  color:var(--cg-ink);
}
.cg-field textarea{resize:vertical;}
.cg-field input:focus,
.cg-field textarea:focus{border-color:var(--cg-teal);}
.cg-form__note{
  font-size:.88rem;
  color:var(--cg-teal);
  margin:0;
  min-height:1.2em;
}

.cg-foot{
  background:var(--cg-teal);
  color:var(--cg-lime);
  margin-top:30px;
}
.cg-foot__inner{
  max-width:var(--cg-wide);
  margin:0 auto;
  padding:36px var(--cg-gutter) 120px;
  text-align:center;
}
.cg-foot__mark{
  font-family:"Marcellus",serif;
  font-size:1.25rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:.6em;
}
.cg-foot__tag{
  max-width:46ch;
  margin:0 auto 1.3em;
  opacity:.9;
}
.cg-foot__note{
  font-size:.9rem;
  border-top:1px solid rgba(253,250,244,.3);
  border-bottom:1px solid rgba(253,250,244,.3);
  padding:12px 0;
  max-width:46ch;
  margin:0 auto 1.3em;
}
.cg-foot__legal{font-size:.82rem;opacity:.85;}
.cg-foot .cg-linkish{color:var(--cg-shutter);}
.cg-foot .cg-linkish:hover{color:var(--cg-lime);}

.cg-cookiebar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:90;
  background:var(--cg-ink);
  color:var(--cg-lime);
  border-top:4px solid var(--cg-shutter);
  padding:16px var(--cg-gutter);
}
.cg-cookiebar[hidden]{display:none;}
.cg-cookiebar__text{
  font-size:.88rem;
  margin:0 0 12px;
}
.cg-cookiebar__row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.cg-cookiebar .cg-press--ghost{
  color:var(--cg-lime);
  border-color:rgba(253,250,244,.45);
}
.cg-cookiebar .cg-press--ghost:hover{
  color:var(--cg-shutter);
  border-color:var(--cg-shutter);
}

.cg-notice{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px var(--cg-gutter);
  text-align:center;
}
.cg-notice__box{
  max-width:540px;
  border-top:7px solid var(--cg-shutter);
  border-bottom:1px solid var(--cg-rule);
  padding:30px 20px 34px;
}
.cg-notice__mark{
  font-family:"Marcellus",serif;
  font-size:1rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--cg-teal);
  margin-bottom:1.4em;
}
.cg-notice__h{font-size:1.75rem;}
.cg-notice__sub{margin-bottom:0;}

@media (min-width:600px){
  .cg-gate__row{flex-direction:row;justify-content:center;}
  .cg-hero__h{font-size:2.5rem;}
  .cg-section-h{font-size:2.2rem;}
  .cg-inset{padding:34px 32px 30px;}
  .cg-cookiebar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
  }
  .cg-cookiebar__text{margin:0;flex:1 1 320px;}
  .cg-cookiebar__row{flex:0 0 auto;}
  .cg-foot__inner{padding-bottom:110px;}
}

@media (min-width:880px){
  body{font-size:17px;}

  .cg-burger{display:none;}
  .cg-nav{display:block;}
  .cg-nav__row{
    flex-direction:row;
    justify-content:center;
    gap:28px;
    margin:16px 0 0;
  }
  .cg-nav__row a{
    border-bottom:2px solid transparent;
    padding:4px 2px;
  }
  .cg-nav__row a:hover{border-bottom-color:var(--cg-bougain);}

  .cg-mark__line1{font-size:2rem;}

  .cg-hero,.cg-stay,.cg-eat,.cg-casino,.cg-around,.cg-find{padding:60px var(--cg-gutter);}
  .cg-hero__h{font-size:2.9rem;max-width:20ch;}
  .cg-hero__band{border-left-width:8px;padding-left:30px;}

  .cg-editorial{
    display:grid;
    grid-template-columns:5fr 7fr;
    gap:48px;
    align-items:start;
  }
  .cg-pull{font-size:1.55rem;position:sticky;top:28px;}
  .cg-pull__by{margin-bottom:0;}

  .cg-venues{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 44px;
  }
  .cg-venue{border-top:1px solid var(--cg-rule);padding-top:20px;}
  .cg-venue:nth-child(2){border-top:1px solid var(--cg-rule);padding-top:20px;}
  .cg-venue:first-child,.cg-venue:nth-child(2){border-top:0;padding-top:0;}

  .cg-inset{padding:44px 48px 40px;}
  .cg-inset__h{font-size:2.1rem;}
  .cg-inset p{max-width:72ch;}

  .cg-find__split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:44px;
    align-items:start;
  }
  .cg-find__card{margin-bottom:0;}
  .cg-form{padding:28px 26px;}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important;}
}
