/* Pillows & Postcards: guide pages + shared footer. Same tokens and components as the map app. */
:root{
  --ground:#FFFFFF; --panel:#FFFFFF; --ocean:#EEEDEA; --land:#FFFFFF; --border-land:#D9D5CF; --grat:rgba(20,20,20,.06);
  --ink:#0B0B0B; --muted:#5E5A55; --line:#E5E2DD; --chip:#F4F3F0; --focus:#0B0B0B;
  --r-na:#2F4A68; --r-csa:#3F6A4E; --r-eu:#5B4677; --r-mea:#9A6A2F; --r-apac:#8B2E3B;
  --soon:#77736D; --soonfill:rgba(180,176,170,.45); --been:#1F6B5C; --want:#A2572B;
  --shadow:0 22px 44px -26px rgba(0,0,0,.3);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ground:#0B0B0B; --panel:#121212; --ocean:#1A1A19; --land:#262624; --border-land:#1A1A19; --grat:rgba(255,255,255,.05);
    --ink:#F2F0EC; --muted:#A39F98; --line:#2A2927; --chip:#1C1C1B; --focus:#F2F0EC;
    --r-na:#8AA7C6; --r-csa:#93B79C; --r-eu:#ADA0C9; --r-mea:#D6A86A; --r-apac:#D4848F;
    --soon:#A39F98; --soonfill:rgba(225,222,216,.38); --been:#6CC7B0; --want:#EBA06F; --shadow:0 22px 44px -22px rgba(0,0,0,.65);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ground:#0B0B0B; --panel:#121212; --ocean:#1A1A19; --land:#262624; --border-land:#1A1A19; --grat:rgba(255,255,255,.05);
  --ink:#F2F0EC; --muted:#A39F98; --line:#2A2927; --chip:#1C1C1B; --focus:#F2F0EC;
  --r-na:#8AA7C6; --r-csa:#93B79C; --r-eu:#ADA0C9; --r-mea:#D6A86A; --r-apac:#D4848F;
  --soon:#A39F98; --soonfill:rgba(225,222,216,.38); --been:#6CC7B0; --want:#EBA06F; --shadow:0 22px 44px -22px rgba(0,0,0,.65);
}

/* ---------- base ---------- */
.gx{margin:0;background:var(--ground);color:var(--ink);font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.5;-webkit-text-size-adjust:100%}
.gx *{box-sizing:border-box}
.gx a{color:inherit}
.gx :focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.gx .skip{position:absolute;left:-9999px}
.gx .skip:focus{left:16px;top:8px;background:var(--panel);padding:6px 10px;border-radius:3px;z-index:9}
[hidden]{display:none!important}

/* ---------- header: same as the map ---------- */
.gx .apphead{border-bottom:1px solid var(--line);background:var(--ground)}
.gx .apphead .in{max-width:1120px;margin:0 auto;padding:12px 16px 10px;display:grid;gap:8px}
.gx .hrow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gx .brand{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:26px;letter-spacing:.02em;text-decoration:none;line-height:1.1}
.gx .hbtns{display:inline-flex;align-items:center;gap:8px;flex:none}
.gx .acctbtn{flex:none;font:inherit;font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:2px;border:0;background:var(--ink);color:var(--panel)!important;cursor:pointer;white-space:nowrap;text-decoration:none}
.gx .themesw{position:relative;width:60px;height:32px;border-radius:2px;border:1px solid var(--line);background:var(--chip);cursor:pointer;padding:0;flex:none}
.gx .themesw .ico{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:16px;display:grid;place-items:center;color:var(--muted);z-index:1;transition:color .25s}
.gx .themesw .ico svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gx .themesw .sun{left:8px}
.gx .themesw .moon{right:8px}
.gx .themesw .knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--panel);box-shadow:0 1px 4px rgba(0,0,0,.25);transition:transform .28s cubic-bezier(.3,.7,.3,1)}
.gx .themesw[aria-checked="true"] .knob{transform:translateX(28px)}
.gx .themesw[aria-checked="false"] .sun,.gx .themesw[aria-checked="true"] .moon{color:var(--ink)}
@media (prefers-reduced-motion: reduce){ .gx .themesw .knob{transition:none}}
.gx .navchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
.gx .navchips::-webkit-scrollbar{display:none}
.gx .chip{flex:none;display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:12px;font-weight:500;padding:4px 10px;border-radius:2px;border:1px solid var(--line);background:var(--chip);color:var(--ink);text-decoration:none;white-space:nowrap}
.gx .chip:hover{border-color:var(--ink)}
.gx .chip[aria-current="page"]{background:var(--ink);color:var(--panel);border-color:var(--ink)}
.gx .chip .dot{width:8px;height:8px}
@media (max-width:640px){ .gx .brand{font-size:20px} .gx .acctbtn{font-size:12px;padding:6px 11px} }

/* ---------- layout ---------- */
.gx main.wrap{max-width:1120px;margin:0 auto;padding:16px 16px 48px}
.gx .crumbs{font-size:12px;color:var(--muted);margin:0 0 12px}
.gx .crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.gx .crumbs li+li::before{content:"›";margin-right:4px}
.gx .crumbs a{text-decoration:none}
.gx .crumbs a:hover{text-decoration:underline}
.gx .panel{background:var(--panel);border:1px solid var(--line);border-radius:3px}
.gx .eyebrow{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.gx .eyebrow a{text-decoration:none}
.gx .eyebrow a:hover{text-decoration:underline}
.gx .dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.gx .dot.ring{background:var(--soonfill)!important;border:2px solid var(--soon)}
.gx .dot.ring.dash{background:transparent!important;border-style:dashed;border-width:1.8px;width:10px;height:10px}
.gx h1{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:clamp(26px,3.6vw,36px);line-height:1.15;margin:4px 0 6px;text-wrap:balance}
.gx h2{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:21px;line-height:1.25;margin:0;text-wrap:balance}
.gx .intro{display:grid;gap:4px;margin:4px 0 16px;max-width:720px}
.gx .intro p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.gx .section{margin-top:28px;display:grid;gap:10px}
.gx .section > .hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gx .muted{color:var(--muted)}
.gx .small{font-size:12.5px}
.gx .textlink{font-size:13px;font-weight:500;color:var(--muted)!important;text-decoration:underline;text-underline-offset:3px}
.gx .textlink:hover{color:var(--ink)!important}

/* ---------- property page: the map card, full size, beside a locator map ---------- */
.gx .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:900px){ .gx .hero{grid-template-columns:1fr} .gx .locator{order:-1} }
.gx .pcard{background:var(--panel);border:1px solid var(--line);border-radius:3px;box-shadow:var(--shadow);padding:18px 18px 16px;display:grid;gap:10px}
.gx .pcard h1{margin:0}
.gx .pcard .place{color:var(--muted);font-size:13.5px;margin:0}
.gx .pcard .blurb{margin:0;font-size:15px;line-height:1.55}
.gx .ptags{display:grid;gap:7px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.gx .trow{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.gx .tlab{font-size:12.5px;font-weight:600;margin-right:2px}
.gx .tag{font-size:12.5px;font-weight:500;color:var(--ink);background:var(--chip);border-radius:2px;padding:3px 10px;line-height:1.3;text-decoration:none}
.gx a.tag:hover{text-decoration:underline;text-underline-offset:3px}
.gx .tag.plain{background:none;padding:3px 0}
.gx .links{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.gx .perksbtn{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:14px;font-weight:600;border:0;border-radius:2px;padding:9px 16px;background:var(--ink);color:var(--panel)!important;cursor:pointer;text-decoration:none;white-space:nowrap}
.gx .perksbtn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.gx .perksbtn[disabled]{opacity:.5;cursor:not-allowed}
.gx .offl{font-size:14px;font-weight:500;color:var(--muted)!important;text-decoration:underline;text-underline-offset:3px;padding:6px 2px}
.gx .offl:hover{color:var(--ink)!important}
.gx .perkline{font-size:12.5px;line-height:1.45;background:var(--chip);border:1px solid var(--line);border-radius:3px;padding:8px 11px}
.gx .perkline b{font-weight:600}
.gx .mark{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.gx .mark button{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12.5px;font-weight:600;border-radius:2px;padding:6px 12px;border:1.5px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.gx .mark button .ic{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.gx .mark button.b[aria-pressed="true"]{background:var(--been);border-color:var(--been);color:var(--panel)}
.gx .mark button.w[aria-pressed="true"],.gx .mark button.n[aria-pressed="true"]{background:var(--want);border-color:var(--want);color:var(--panel)}
.gx .mark button[aria-pressed="true"] .ic{fill:currentColor;fill-opacity:.25}
.gx .status{font-size:10.5px;letter-spacing:.12em;color:var(--want)}

.gx .locator{position:relative;background:var(--ocean);border:1px solid var(--line);border-radius:3px;overflow:hidden;aspect-ratio:4/3;min-height:240px}
.gx .locator svg{display:block;width:100%;height:100%}
.gx .locator .land{fill:var(--land);stroke:var(--border-land);stroke-width:.5}
.gx .locator .grat{fill:none;stroke:var(--grat);stroke-width:.6}
.gx .locator .pin{stroke:var(--panel);stroke-width:1.2}
.gx .locator .pin.hollow{fill:var(--soonfill)!important;stroke:var(--soon);stroke-width:1.6}
.gx .locator .halo{fill:none;stroke:var(--ink);stroke-width:1.6}
.gx .locator .lbl{font:600 12px "Manrope",system-ui,sans-serif;fill:var(--ink);paint-order:stroke;stroke:var(--ocean);stroke-width:3.5px}
.gx .locator .open{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:2px;background:var(--panel);border:1px solid var(--line);text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.gx .locator .open svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}

/* ---------- lists: same rows as the map's side panel ---------- */
.gx .plist{padding:4px 8px 8px}
.gx .plist.cols{columns:2 340px;column-gap:8px}
.gx .group{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:12px 8px 4px;display:flex;justify-content:space-between;break-after:avoid}
.gx .group a{text-decoration:none}
.gx .group a:hover{text-decoration:underline}
.gx .item{display:grid;grid-template-columns:10px 1fr;gap:10px;align-items:center;border-radius:3px;padding:8px;text-decoration:none;break-inside:avoid}
.gx .item:hover{background:var(--chip)}
.gx .item .nm{display:block;font-weight:500;line-height:1.25}
.gx .item .sub{display:block;font-size:12px;color:var(--muted)}
.gx .item .why{display:block;font-size:12.5px;line-height:1.45;margin-top:3px;opacity:.9}
.gx .item .dot{align-self:start;margin-top:5px}

.gx .colls{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.gx .coll{display:grid;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:12px 14px;text-decoration:none}
.gx .coll:hover{border-color:var(--ink)}
.gx .coll .nm{font-family:"Bodoni Moda",Georgia,serif;font-size:18px}
.gx .coll .sub{font-size:12.5px;color:var(--muted);line-height:1.45}
.gx .coll .ct{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ---------- quick answers ---------- */
.gx .qa{padding:4px 16px}
.gx .qa details{border-bottom:1px solid var(--line);padding:10px 0}
.gx .qa details:last-child{border-bottom:0}
.gx .qa summary{font-weight:500;cursor:pointer;font-size:14px}
.gx .qa details p{margin:6px 0 2px;color:var(--muted);font-size:13.5px}
.gx .note{font-size:12.5px;color:var(--muted);margin:0}

/* ---------- perks page ---------- */
.gx .perkhero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:900px){ .gx .perkhero{grid-template-columns:1fr} }
.gx .perklist{margin:0;padding-left:18px;display:grid;gap:3px;font-size:14.5px}
.gx .steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:10px}
.gx .steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font-size:14px}
.gx .steps li::before{content:counter(s);width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--panel);display:grid;place-items:center;font-weight:600;font-size:13px}
.gx .bform{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:18px;box-shadow:var(--shadow)}
.gx .bform h2{grid-column:1/-1;margin-bottom:4px}
.gx .bform label{display:grid;gap:4px;font-size:11.5px;color:var(--muted)}
.gx .bform .full{grid-column:1/-1}
.gx .bform input,.gx .bform select,.gx .bform textarea{font:inherit;font-size:13.5px;padding:8px 10px;border-radius:3px;border:1px solid var(--line);background:var(--ground);color:var(--ink);min-width:0;width:100%}
.gx .bform textarea{resize:vertical}
.gx .bform .perksbtn{grid-column:1/-1;justify-content:center;border-radius:3px;padding:11px}
.gx .bform .msg{grid-column:1/-1;margin:0;font-size:13px}
.gx .bform .msg:empty{display:none}
.gx .bform .fine{grid-column:1/-1;margin:0;font-size:12px;color:var(--muted)}
.gx .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:520px){ .gx .bform{grid-template-columns:1fr} }
.gx .prose{max-width:68ch;padding:18px 20px}
.gx .prose h2{margin:18px 0 6px}
.gx .prose p,.gx .prose li{font-size:14.5px;line-height:1.6}

/* ---------- shared footer (guide pages and simple pages) ---------- */
.sitefoot{background:var(--panel);border-top:1px solid var(--line);color:var(--ink);font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif}
.sitefoot .in{max-width:1120px;margin:0 auto;padding:28px 16px calc(20px + env(safe-area-inset-bottom,0px));display:grid;gap:24px}
.sitefoot .ftop{display:grid;gap:6px;max-width:46ch}
.sitefoot .fbrand{display:inline-flex;align-items:center;gap:8px;font-family:"Bodoni Moda",Georgia,serif;font-size:19px;text-decoration:none;color:inherit}
.sitefoot .fbrand .logo{width:22px;height:22px;flex:none}
.sitefoot .logo .lg{fill:var(--ink)} .sitefoot .logo .ll{fill:none;stroke:var(--panel);stroke-width:2.6}
.sitefoot .ftop p{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}
.sitefoot .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sitefoot h2{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-family:inherit}
.sitefoot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sitefoot a{color:inherit;font-size:13px;text-decoration:none}
.sitefoot a:hover{text-decoration:underline;text-underline-offset:3px}
.sitefoot a:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}
.sitefoot .legal{padding-top:14px;border-top:1px solid var(--line);display:grid;gap:2px}
.sitefoot .legal p{margin:0;font-size:11.5px;line-height:1.55;color:var(--muted)}
@media (max-width:720px){ .sitefoot .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px} }
body.hotelpage .sitefoot .in{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
@media (min-width:900px){ body.hotelpage .sitefoot .in{padding-bottom:20px} }

/* ---------- guide section under the map ---------- */
.guide.gx{border-top:1px solid var(--line)}
.gx .gin{max-width:1120px;margin:0 auto;padding:22px 16px 36px}
.gx .gcols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;align-items:start}
.gx .gside{display:grid;gap:16px}
.gx .panel > h2,.gx .panel > .hd{padding:14px 16px 0}
@media (max-width:900px){ .gx .gcols{grid-template-columns:1fr} }
/* map header link to the guide below */
.guidelink{font-size:12px;font-weight:600;color:var(--ink);text-decoration:none;border:1px solid var(--line);background:var(--chip);border-radius:2px;padding:3px 10px;white-space:nowrap}
.guidelink:hover{border-color:var(--ink)}
.h1brand{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:22px;letter-spacing:.02em;margin:0;line-height:1.2}
.h1brand a{color:inherit;text-decoration:none}
@media (min-width:900px){ .h1brand{font-size:26px} }
@media (max-width:899px){ .h1brand{font-size:19px} }
.gx .bform > h2{padding:0}

/* ---------- hotel pages ---------- */
.gx .pcard{position:relative}
.gx .gshare{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:12px;font-weight:600;padding:5px 10px;border-radius:2px;border:1px solid var(--line);background:var(--chip);color:var(--ink);cursor:pointer}
.gx .gshare svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gx .pcard .eyebrow{padding-right:90px}
.gx .explore{display:flex;justify-content:center;align-items:center;font-size:14px;font-weight:600;text-decoration:none;padding:11px 16px;border-radius:3px;border:1px solid var(--line);background:var(--panel)}
.gx .explore:hover{border-color:var(--ink)}
.stickybook{display:none}
/* Phones: the hotel sits right under the map (no floating card, no long list), with a booking bar that stays in reach */
@media (max-width:899px){
  body.hotelpage #card, body.hotelpage aside, body.hotelpage #tomap, body.hotelpage .showmap{display:none!important}
  body.hotelpage .mapwrap{height:clamp(220px,62vw,38vh)}
  body.hotelpage .guide.gx{border-top:0}
  body.hotelpage .gx .gin{padding:12px 16px 110px}
  body.hotelpage .gx .crumbs{display:none}
  body.hotelpage .gx .pcard{box-shadow:none;padding:16px}
  body.hotelpage .gx .pcard h1{font-size:26px}
  body.hotelpage .gx .gcols{gap:12px}
  body.hotelpage .gx .gside{gap:12px}
  .stickybook{display:flex;position:fixed;z-index:12;left:0;right:0;bottom:0;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.08)}
  .stickybook .sbtext{display:grid;font-size:12px;line-height:1.35;min-width:0}
  .stickybook .sbtext b{font-size:13px}
  .stickybook .sbtext span{color:var(--muted)}
  .stickybook .perksbtn{flex:none;padding:10px 14px;font-size:14px}
}
@media (max-width:899px){
  body.hotelpage .guidelink{display:none!important}
  body.hotelpage .gx .pcard .eyebrow{padding-right:84px}
  body.hotelpage .gx .mark{gap:6px}
  body.hotelpage .gx .mark button{font-size:12px;padding:6px 10px}
  .stickybook{transition:transform .25s ease}
  .stickybook.away{transform:translateY(110%)}
}
@media (prefers-reduced-motion: reduce){ .stickybook{transition:none} }
@media (max-width:899px){ body.hotelpage .gx .mark{flex-wrap:nowrap} body.hotelpage .gx .mark button{flex:1 1 0;justify-content:center;white-space:nowrap;min-width:0} }
.gx .brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.gx .brand .logo{width:26px;height:26px;flex:none}
.gx .logo .lg{fill:var(--ink)} .gx .logo .ll{fill:none;stroke:var(--ground);stroke-width:2.6} .gx .logo .ld{fill:var(--r-mea)}
@media (max-width:640px){ .gx .brand .logo{width:22px;height:22px} .gx .brand{gap:7px} }
.sitefoot .soon{font-size:13px;color:var(--muted)}
.sitefoot .soon em{display:inline-block;white-space:nowrap;font-style:normal;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;margin-left:4px;padding:1px 6px;border-radius:2px;background:var(--chip)}

/* ---------- header menu on map pages ---------- */
.navmenu{position:relative}
.menubtn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:2px;border:1px solid var(--line);background:var(--chip);color:var(--ink);cursor:pointer;white-space:nowrap}
.menubtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.menubtn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.menupop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:3px;box-shadow:var(--shadow);padding:6px;display:grid}
.menupop a{font-size:14px;color:var(--ink);text-decoration:none;padding:9px 12px;border-radius:3px}
.menupop a:hover,.menupop a:focus-visible{background:var(--chip);outline:none}
@media (max-width:520px){ .menubtn{width:32px;height:32px;padding:0;justify-content:center;border-radius:50%} .menubtn .t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} }
/* ---------- list sections fold away under the map ---------- */
.gx details.browse{margin-top:4px}
.gx details.browse > summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:13.5px;font-weight:600;padding:9px 14px;border-radius:2px;border:1px solid var(--line);background:var(--panel);list-style:none;margin-bottom:10px}
.gx details.browse > summary::-webkit-details-marker{display:none}
.gx details.browse > summary::after{content:"▾";font-size:11px;color:var(--muted)}
.gx details.browse[open] > summary::after{content:"▴"}
/* ---------- perks page jump ---------- */
.gx .jump{margin:10px 0 0}
@media (min-width:901px){ .gx .jump{display:none} }
/* ---------- hotel pages (desktop): the map leaves room for the details to peek in ---------- */
@media (min-width:900px){ body.hotelpage .app{height:calc(100vh - 120px);height:calc(100dvh - 120px)} }
body.hotelpage .guidelink{display:none!important}
@media (max-width:899px){ body.hotelpage header .tabs{display:none!important} }

/* ---------- hotel pages: back to the map ---------- */
.gx .apphead .in{grid-template-columns:auto}
.gx .backmap{justify-self:start;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--panel);background:var(--ink);text-decoration:none;padding:7px 14px 7px 10px;border-radius:2px}
.gx .backmap svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gx .backmap:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.gx .navchips.withback{display:none}
body.hotel main.wrap{padding-top:14px}
@media (max-width:899px){ body.hotel main.wrap{padding-bottom:96px} body.hotel .sitefoot .in{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))} }
.gx .acctbtn{display:inline-flex;align-items:center;gap:6px}
.gx .acctbtn .uic{display:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
@media (max-width:520px){
  .gx .acctbtn{width:32px;height:32px;padding:0;justify-content:center;border-radius:50%}
  .gx .acctbtn .t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .gx .acctbtn .uic{display:block}
  .gx .themesw{width:52px;height:28px} .gx .themesw .knob{width:20px;height:20px} .gx .themesw[aria-checked="true"] .knob{transform:translateX(24px)} .gx .themesw .sun{left:6px} .gx .themesw .moon{right:6px}
}

/* ---------- about page ---------- */
.gx .aboutpage,.gx .guidepage{display:grid;gap:16px}
.gx .ahero,.gx .ghero{display:grid;gap:8px;max-width:760px;padding:8px 0 4px}
.gx .ahero h1,.gx .ghero h1{margin:0;font-size:clamp(30px,4.6vw,46px)}
.gx .ahero p,.gx .ghero p{margin:0;font-size:16.5px;line-height:1.6;color:var(--muted)}
.gx .astats{display:flex;flex-wrap:wrap;gap:28px;margin-top:8px}
.gx .astats div{display:grid}
.gx .astats b{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:34px;line-height:1.1}
.gx .astats span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.gx .acols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:820px){ .gx .acols{grid-template-columns:1fr} }
.gx .acard{padding:20px 22px;display:grid;gap:10px;align-content:start}
.gx .acard h2{margin:0}
.gx .acard p{margin:0;font-size:14.5px;line-height:1.6}
.gx .alist{margin:0;padding-left:18px;display:grid;gap:8px;font-size:14.5px;line-height:1.5}
.gx .acta{grid-template-columns:1fr auto;align-items:center;background:var(--chip)}
.gx .acta .links{justify-content:flex-end}
@media (max-width:640px){ .gx .acta{grid-template-columns:1fr} .gx .acta .links{justify-content:flex-start} }

/* ---------- guides ---------- */
.gx .gjump{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.gx .gjump .chip .muted{font-size:11px}
.gx .gsec{display:grid;gap:12px;margin-top:10px;scroll-margin-top:16px}
.gx .gsec > .hd{display:flex;align-items:baseline;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px}
.gx .gentries{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.gx .gentry{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:16px 18px;display:grid;gap:7px;align-content:start}
.gx .gentry h3{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:19px;line-height:1.25;margin:0}
.gx .gentry h3 a{text-decoration:none}.gx .gentry h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.gx .gentry p{margin:0;font-size:14px;line-height:1.55}
.gx .gmeta{display:grid;gap:2px;font-size:12.5px;color:var(--muted)}
.gx .gmeta b{color:var(--ink);font-weight:600}
.gx .gact{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px;padding-top:9px;border-top:1px solid var(--line)}
.gx .gact a{font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.gx .gcompact{list-style:none;margin:0;padding:0;columns:3 230px;column-gap:24px}
.gx .gcompact li{break-inside:avoid;padding:4px 0;font-size:14px}
.gx .gcompact a{text-decoration:none}.gx .gcompact a:hover{text-decoration:underline}
.gx .gidx .coll .nm{font-size:22px}
/* ---------- booking request sent ---------- */
.gx .pdone{grid-column:1/-1;display:grid;gap:8px;justify-items:center;text-align:center;padding:18px 6px}
.gx .pdone h2{margin:0}
.gx .pdone p{margin:0;max-width:40ch;font-size:14px}
.gx .pdone .pdonenote{font-size:12.5px;color:var(--muted)}
.gx .pcheck{width:52px;height:52px;border-radius:50%;background:var(--been);display:grid;place-items:center}
.gx .pcheck svg{width:26px;height:26px;fill:none;stroke:var(--panel);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.gx .perkhero h2.perkbrand{font-size:15px;margin:14px 0 4px;font-family:"Manrope",system-ui,sans-serif;font-weight:600;letter-spacing:.02em}

/* ---------- UI/UX pass, October 2026 ---------- */
@media (max-width:520px){
  .gx .astats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .gx .astats b{font-size:28px}
  .gx .astats span{font-size:10.5px;letter-spacing:.06em}
  /* main nav wraps instead of hiding chips off the right edge */
  .gx .navchips{flex-wrap:wrap;overflow:visible;margin:0;padding:0}
}

.gx .lic{width:14px;height:14px;fill:var(--muted);flex:none;display:inline-block;vertical-align:-2px}

/* ===== Maison theme (Oct 2026): warm ivory, charcoal and brass; editorial serif with a quiet geometric sans ===== */
:root{--brass:#0B0B0B}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--brass:#F2F0EC} }
:root[data-theme="dark"]{--brass:#F2F0EC}
.gx .logo,.sitefoot .logo{display:none!important}
.gx .brand,.h1brand{font-weight:600!important;font-size:20px!important;letter-spacing:.2em!important;text-transform:uppercase}
.sitefoot .fbrand{font-weight:600;font-size:17px;letter-spacing:.2em;text-transform:uppercase}
.gx h1{font-weight:500;font-size:clamp(32px,4.4vw,46px);line-height:1.08;letter-spacing:.003em}
.gx h2{font-weight:500;font-size:26px;line-height:1.15}
.gx .eyebrow,.gx .group{color:var(--brass)!important;letter-spacing:.2em!important;font-weight:500;font-size:10.5px}
.sitefoot h2{color:var(--brass)!important;letter-spacing:.2em!important;font-weight:500}
.gx .chip,.gx .navchips .chip{border-radius:2px!important;background:transparent;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:6px 11px}
.gx .chip[aria-current="page"],.gx .chip[aria-pressed="true"]{background:var(--ink);color:var(--panel);border-color:var(--ink)}
.gx .perksbtn,.gx .acctbtn,.gx .backmap,.gx .explore,.gx details.browse > summary,.stickybook a,.gx .locator .open,.menubtn{border-radius:2px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:500!important;font-size:11px!important}
.gx .perksbtn,.gx .explore{padding:12px 18px!important}
.gx .themesw{border-radius:2px!important}
.gx .themesw .knob{border-radius:1px!important;box-shadow:none!important;border:1px solid var(--line)}
.gx .panel,.gx .pcard,.gx .coll,.gx .gentry,.gx .locator,.gx .acard,.menupop{border-radius:3px!important}
.gx .pcard{box-shadow:none!important}
.gx .coll .nm{font-size:23px!important;font-weight:500;line-height:1.15}
.gx .coll .ct{color:var(--brass);letter-spacing:.18em;font-size:10px}
.gx .tag{border-radius:2px!important;background:transparent!important;border:1px solid var(--line);font-size:11.5px;letter-spacing:.03em}
.gx .perkline{border-radius:0!important;background:transparent!important;border:0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;padding:10px 0!important}
.gx .mark button,.gx .gshare,.guidelink{border-radius:2px!important}
.gx .bform input,.gx .bform select,.gx .bform textarea{border-radius:2px!important;background:var(--panel)}
.gx .astats b{font-size:44px;font-weight:500}
.gx .item{border-radius:0!important}
.gx .steps li::before{border-radius:50%;font-weight:500}
.sitefoot h2{font-family:"Manrope",system-ui,sans-serif!important;font-size:10.5px!important;line-height:1.4!important}
/* editorial pages: fewer boxes, more air */
.gx .panel,.gx .gentry,.gx .acard{background:transparent!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;padding-left:0!important;padding-right:0!important}
.gx .coll{background:transparent!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;padding:16px 0 18px!important}
.gx .coll:hover .nm{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.gx .pcard{background:transparent!important;border:0!important;padding:4px 0 0!important}
.gx .pcard h1{font-size:clamp(38px,5vw,54px)}

/* Shared refinements for the luxury theme */
.gx .brand,.h1brand,.gx h1,.gx h2,.gx .coll .nm,.sitefoot .fbrand,.gx .astats b{font-weight:400!important}
.gx .brand,.h1brand{font-size:18px!important}
.gx h1{font-size:clamp(30px,4vw,42px)} .gx .pcard h1{font-size:clamp(34px,4.6vw,48px)} .gx h2{font-size:23px} .gx .coll .nm{font-size:21px!important} .gx .astats b{font-size:40px}
.gx .perksbtn,.gx .acctbtn,.gx .backmap,.stickybook a,.gx .bform .perksbtn{background:var(--brass)!important;color:var(--panel)!important;border-color:var(--brass)!important}
.gx .chip[aria-current="page"]{background:var(--brass);border-color:var(--brass);color:var(--panel)}
@media (max-width:520px){ .gx .brand,.h1brand{font-size:14.5px!important;letter-spacing:.14em!important} }

/* Black tie (direction A) */
.gx .brand,.h1brand{letter-spacing:.24em!important;font-size:17px!important}
@media (max-width:520px){ .gx .brand,.h1brand{font-size:14px!important;letter-spacing:.16em!important} }

/* Wordmark: Pillows & Postcards / The Global Hotel Atlas */
.wm{display:grid;gap:5px;line-height:1;min-width:0}
.wn{font-family:"Bodoni Moda",Didot,"Bodoni 72",Georgia,serif;font-weight:400;font-style:normal;text-transform:none;letter-spacing:.005em;font-size:25px;white-space:nowrap}
.wn i{font-style:italic;padding:0 .05em}
.wt{font-family:"Manrope",system-ui,sans-serif;font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
@media (max-width:899px){ .wn{font-size:21px} .wt{font-size:8px;letter-spacing:.24em} }
@media (max-width:380px){ .wn{font-size:18.5px} .wt{font-size:7.5px;letter-spacing:.17em} }
.sitefoot .fbrand .wn{font-size:22px}
.gx .brand{display:flex;align-items:center;text-decoration:none;color:inherit}
.gx .ldot{width:6px;height:6px;border-radius:50%;background:var(--muted);display:inline-block;flex:none;vertical-align:middle}
@media (max-width:520px){ .wt{white-space:normal;max-width:210px;line-height:1.5;letter-spacing:.2em} }
