
:root{
  --gf-ink:#171226;
  --gf-paper:#fffaf1;
  --gf-soft:#f0e7dc;
  --gf-mute:#6a6178;
  --gf-art:#e8368f;
  --gf-capsule:#f2960b;
  --gf-casino:#4e3cff;
  --gf-ice:#00b0cd;
  --gf-tone:#4e3cff;
  --gf-tint:#efeaff;
}
.gf-t-art{--gf-tone:var(--gf-art);--gf-tint:#ffeaf4}
.gf-t-capsule{--gf-tone:var(--gf-capsule);--gf-tint:#fff0d9}
.gf-t-casino{--gf-tone:var(--gf-casino);--gf-tint:#eae7ff}
.gf-t-ice{--gf-tone:var(--gf-ice);--gf-tint:#dcf6fb}
.gf-t-home{--gf-tone:#171226;--gf-tint:#f6efe4}
.gf-t-doc{--gf-tone:#171226;--gf-tint:#f6efe4}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.gf-body{
  margin:0;background:var(--gf-paper);color:var(--gf-ink);
  font-family:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:clamp(16px,.55vw + 14.4px,18px);line-height:1.62;
}
a{color:inherit}
img{max-width:100%}
h1,h2,h3{font-family:"Anybody","Onest",sans-serif;font-weight:800;letter-spacing:-.02em;line-height:.95;margin:0}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}

/* ---------- masthead ---------- */
.gf-mast{background:var(--gf-tint);border-bottom:3px solid var(--gf-ink)}
.gf-mast__in{max-width:1500px;margin:0 auto;padding:clamp(30px,5vw,68px) clamp(18px,4vw,56px) clamp(24px,3.4vw,44px)}
.gf-mast__word{
  display:block;text-decoration:none;font-family:"Anybody",sans-serif;font-weight:800;
  font-size:clamp(42px,9.6vw,148px);line-height:.86;letter-spacing:-.045em;color:var(--gf-ink);
}
.gf-t-home .gf-mast__word,.gf-t-doc .gf-mast__word{color:var(--gf-ink)}
.gf-mast .gf-mast__word::first-letter{color:var(--gf-tone)}
.gf-mast__line{
  margin:clamp(14px,1.7vw,22px) 0 0;max-width:44ch;font-size:clamp(15px,.5vw + 13.6px,19px);
  color:var(--gf-mute);font-weight:500;
}

/* classic desktop nav */
.gf-nav{display:none;border-top:3px solid var(--gf-ink);background:var(--gf-ink);color:var(--gf-paper)}
.gf-nav__in{
  max-width:1500px;margin:0 auto;padding:0 clamp(18px,4vw,56px);
  display:flex;align-items:stretch;flex-wrap:wrap;gap:0;
}
.gf-nav__cat{
  display:flex;align-items:center;text-decoration:none;color:var(--gf-paper);
  font-family:"Anybody",sans-serif;font-weight:800;letter-spacing:-.02em;
  font-size:clamp(16px,1.35vw,22px);line-height:1.1;
  padding:18px 0;margin-right:clamp(22px,3.2vw,48px);
  border-bottom:3px solid transparent;transition:color .15s,border-color .15s;
}
.gf-nav__cat:hover,.gf-nav__cat[aria-current="page"]{color:var(--gf-tone);border-bottom-color:var(--gf-tone)}
.gf-nav__meta{
  margin-left:auto;display:flex;align-items:center;gap:clamp(14px,2vw,28px);
  font-size:14px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#a99fbb;
}
.gf-nav__meta a{text-decoration:none;border-bottom:1px solid transparent;padding:18px 0 15px;transition:color .15s,border-color .15s}
.gf-nav__meta a:hover,.gf-nav__meta a[aria-current="page"]{color:#fff;border-bottom-color:#fff}

/* expanding index — mobile */
.gf-index{border-top:3px solid var(--gf-ink)}
.gf-index__bar{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:clamp(10px,2vw,26px);
  background:var(--gf-ink);color:var(--gf-paper);
  padding:clamp(14px,1.7vw,20px) clamp(18px,4vw,56px);
}
.gf-index__bar::-webkit-details-marker{display:none}
.gf-index__label{
  font-family:"Anybody",sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(20px,2.6vw,34px);letter-spacing:.02em;
}
.gf-index__hint{color:#a99fbb;font-size:14px;flex:1;letter-spacing:.06em;text-transform:uppercase}
.gf-index__mark{width:26px;height:26px;border:3px solid var(--gf-paper);border-radius:50%;position:relative;flex:none}
.gf-index__mark::before,.gf-index__mark::after{
  content:"";position:absolute;background:var(--gf-paper);left:50%;top:50%;transform:translate(-50%,-50%)}
.gf-index__mark::before{width:11px;height:3px}
.gf-index__mark::after{width:3px;height:11px}
.gf-index[open] .gf-index__mark::after{display:none}
.gf-index__panel{background:var(--gf-ink);padding:0 clamp(18px,4vw,56px) clamp(22px,3vw,40px)}
.gf-index__row{
  display:block;text-decoration:none;color:var(--gf-paper);
  padding:clamp(16px,2vw,26px) 0;border-top:1px solid #3a3050;
}
.gf-index__row:hover .gf-index__name,.gf-index__row[aria-current] .gf-index__name{color:var(--gf-tone)}
.gf-index__name{
  display:block;font-family:"Anybody",sans-serif;font-weight:800;letter-spacing:-.02em;
  font-size:clamp(28px,5vw,60px);line-height:1;transition:color .15s;
}
.gf-index__note{display:block;margin-top:8px;max-width:56ch;color:#b4abc4;font-size:15px}
.gf-index__minor{margin:22px 0 0;color:#b4abc4;font-size:14px;display:flex;flex-wrap:wrap;gap:6px 22px}
.gf-index__minor a{text-decoration:none;border-bottom:1px solid #5a4f75;padding-bottom:2px}
.gf-index__minor a:hover{color:#fff;border-color:#fff}

@media (min-width:861px){
  .gf-nav{display:block}
  .gf-index{display:none}
}

/* ---------- side hero image ---------- */
.gf-side{margin:0;max-width:min(100%,320px);justify-self:end}
.gf-side img{display:block;width:100%;height:auto;border:3px solid var(--gf-ink)}

/* ---------- home ---------- */
.gf-main{display:block}
.gf-say{max-width:1620px;margin:0 auto;padding:clamp(46px,6vw,96px) clamp(18px,4vw,56px);
  display:grid;grid-template-columns:minmax(0,.32fr) minmax(0,1fr) minmax(0,.38fr);gap:clamp(18px,3vw,48px);align-items:start}
.gf-say__label{margin:0;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:var(--gf-mute)}
.gf-say__label::after{content:"";display:block;width:100%;height:6px;background:var(--gf-ink);margin-top:14px}
.gf-say__big{
  font-family:"Anybody",sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1.14;
  font-size:clamp(22px,2.7vw,38px);max-width:38ch;text-wrap:pretty;
}
@media (max-width:980px){
  .gf-say{grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:clamp(18px,3vw,40px)}
  .gf-say .gf-side{grid-column:1 / -1;justify-self:start;max-width:260px}
}
@media (max-width:760px){.gf-say{grid-template-columns:1fr}.gf-say__big{max-width:none}}

.gf-contents{border-top:3px solid var(--gf-ink)}
.gf-contents__h{
  max-width:1620px;margin:0 auto;padding:clamp(24px,3vw,40px) clamp(18px,4vw,56px) 0;
  font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:var(--gf-mute);
}
.gf-row{
  display:block;text-decoration:none;max-width:1620px;margin:0 auto;
  padding:clamp(26px,3.4vw,48px) clamp(18px,4vw,56px);
  border-bottom:1px solid var(--gf-soft);position:relative;
}
.gf-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--gf-tone);transition:width .18s}
.gf-row:hover::before{width:clamp(8px,1.4vw,18px)}
.gf-row:hover{background:var(--gf-tint)}
.gf-row__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}
.gf-row__name{
  font-family:"Anybody",sans-serif;font-weight:800;letter-spacing:-.03em;line-height:.92;
  font-size:clamp(34px,6.6vw,86px);color:var(--gf-tone);
}
.gf-row__go{font-size:13px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--gf-ink);white-space:nowrap}
.gf-row__blurb{display:block;margin-top:12px;max-width:58ch;color:var(--gf-ink)}
.gf-row__list{display:block;margin-top:14px;color:var(--gf-mute);font-size:15px}
.gf-sep{color:var(--gf-tone);font-weight:700}

.gf-band{
  background:var(--gf-ink);color:var(--gf-paper);
}
.gf-band>*{max-width:1620px;margin-left:auto;margin-right:auto;padding-left:clamp(18px,4vw,56px);padding-right:clamp(18px,4vw,56px)}
.gf-band__h{padding-top:clamp(40px,5vw,80px);font-size:clamp(26px,3.4vw,48px);max-width:16ch}
.gf-band__text{padding-top:clamp(18px,2vw,28px);padding-bottom:clamp(44px,5vw,84px);columns:2;column-gap:clamp(28px,4vw,64px);color:#ded7ea}
.gf-band__text p{break-inside:avoid}
@media (max-width:820px){.gf-band__text{columns:1}}

/* ---------- category lede ---------- */
.gf-lede{
  max-width:1620px;margin:0 auto;padding:clamp(40px,5.4vw,88px) clamp(18px,4vw,56px);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(22px,3.4vw,60px);align-items:start;
}
.gf-lede--shot{grid-template-columns:minmax(0,.9fr) minmax(0,1.05fr) minmax(140px,.36fr)}
.gf-lede__h{font-size:clamp(40px,8.4vw,112px);color:var(--gf-tone);letter-spacing:-.04em}
.gf-lede__text{font-size:clamp(16px,.6vw + 14px,19px)}
.gf-lede--doc{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
@media (max-width:980px){
  .gf-lede--shot{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
  .gf-lede--shot .gf-side{grid-column:1 / -1;justify-self:start;max-width:260px}
}
@media (max-width:860px){.gf-lede{grid-template-columns:1fr}}

/* ---------- hotel entry: alternating full-width spreads ---------- */
.gf-spreads{border-top:3px solid var(--gf-ink)}
.gf-spread{
  padding:clamp(40px,6vw,110px) clamp(18px,4vw,56px);
  border-bottom:1px solid var(--gf-soft);
}
.gf-spread>*{max-width:1620px;margin:0 auto}
.gf-spread__name{
  font-size:clamp(34px,7.4vw,104px);letter-spacing:-.045em;line-height:.9;text-wrap:balance;
}
.gf-spread__where{
  margin:clamp(12px,1.4vw,18px) 0 0;font-size:13px;font-weight:700;text-transform:uppercase;
  letter-spacing:.2em;color:var(--gf-tone);
}
.gf-spread__text{
  margin-top:clamp(22px,2.6vw,40px);max-width:min(62ch,1620px);
  font-size:clamp(16px,.55vw + 14.4px,19px);
}
.gf-spread:nth-of-type(odd){background:var(--gf-paper)}
.gf-spread:nth-of-type(even){background:var(--gf-tint)}
/* mirror: even entries hang right, odd entries hang left */
.gf-spread:nth-of-type(even) .gf-spread__title{text-align:right}
.gf-spread:nth-of-type(even) .gf-spread__text{margin-left:auto;margin-right:0}
@media (max-width:760px){
  .gf-spread:nth-of-type(even) .gf-spread__title{text-align:left}
  .gf-spread:nth-of-type(even) .gf-spread__text{margin-right:auto}
}

/* ---------- documents ---------- */
.gf-doc{max-width:1620px;margin:0 auto;padding:0 clamp(18px,4vw,56px) clamp(40px,5vw,80px)}
.gf-doc__sec{border-top:1px solid var(--gf-soft);padding:clamp(22px,2.6vw,38px) 0;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(16px,3vw,52px)}
.gf-doc__sec h2{font-size:clamp(20px,2vw,30px);letter-spacing:-.02em}
.gf-doc__sec h2::after{content:"";display:block;width:44px;height:6px;background:var(--gf-tone);margin-top:12px}
@media (max-width:760px){.gf-doc__sec{grid-template-columns:1fr}}

/* ---------- footer: one wide band, statement first ---------- */
.gf-close{background:var(--gf-tone);color:#fff;border-top:3px solid var(--gf-ink)}
.gf-t-home .gf-close,.gf-t-doc .gf-close{background:var(--gf-ink)}
.gf-close__say{
  max-width:1620px;margin:0 auto;padding:clamp(44px,6vw,96px) clamp(18px,4vw,56px) clamp(20px,2.4vw,34px);
}
.gf-close__say p{
  font-family:"Anybody",sans-serif;font-weight:800;letter-spacing:-.03em;line-height:.98;
  font-size:clamp(28px,5.4vw,72px);max-width:20ch;
}
.gf-close__set{
  max-width:1620px;margin:0 auto;padding:0 clamp(18px,4vw,56px) clamp(40px,5vw,72px);
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(14px,2.4vw,44px);align-items:end;
}
.gf-close__cats{grid-column:1 / -1;font-family:"Anybody",sans-serif;font-weight:600;font-size:clamp(15px,1.5vw,21px);
  border-top:1px solid rgba(255,255,255,.4);padding-top:clamp(16px,2vw,26px)}
.gf-close__cats a{text-decoration:none;border-bottom:2px solid rgba(255,255,255,.45)}
.gf-close__cats a:hover{border-color:#fff}
.gf-close__colophon{font-size:14.5px;color:rgba(255,255,255,.82);max-width:62ch}
.gf-close__legal{font-size:13px;color:rgba(255,255,255,.72);text-align:right}
.gf-close__legal a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.gf-close__legal a:hover{color:#fff}
@media (max-width:760px){
  .gf-close__set{grid-template-columns:1fr}
  .gf-close__legal{text-align:left}
}
:focus-visible{outline:3px solid var(--gf-tone);outline-offset:3px}
.gf-index__bar:focus-visible{outline-offset:-6px;outline-color:var(--gf-paper)}
