/* Aegean Blue: one header control set for the whole site (owner's choice, 2026-10-16).
   Menu: three thin bars and the word MENU. Inquire: a clay rectangle with 2px corners.
   The navigation drawer: dark volcanic stone, as on the homepage.
   Loaded on every page by the abh-global-shell mu-plugin. It restyles the controls each page
   already has (homepage and guide .abh-lux-shell, rooms .abh-rooms-shell, contact
   .contact-shell) and styles the shared header + drawer that rooms, the houses and privacy
   carry (markup from scripts/lib/global-shell.cjs, behaviour in abh-global-shell.js).
   Colours of the header itself (light over photographs, dark on paper) stay with each page. */

:root {
  --abh-gs-clay: #986b55;
  --abh-gs-clay-deep: #855a46;
  --abh-gs-ivory: #faf7f1;
  --abh-gs-stone: rgb(24, 20, 16);
  --abh-gs-volcanic: url("../character/textures/volcanic-1024.webp");
  --abh-gs-sans: Inter, "Helvetica Neue", Arial, sans-serif;
  --abh-gs-serif: "Playfair Display", Georgia, serif;
}

/* ---------- Menu ---------- */
html body :is(.abh-lux-shell__menu, .contact-menu-toggle) {
  display: inline-flex !important;
  align-items: center;
  gap: 12px !important;
  min-height: 44px;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit;
  font: 500 11px/1 var(--abh-gs-sans) !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  cursor: pointer;
}
html body :is(.abh-lux-shell__bars, .contact-menu-bars) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  width: 20px !important;
  height: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  gap: 0 !important;
}
html body :is(.abh-lux-shell__bars span, .contact-menu-bars i) {
  display: block;
  width: 100% !important;
  height: 1.4px !important;
  border-radius: 0;
}
html body .abh-gs-menu .abh-lux-shell__bars span { background: currentColor; }
html body .abh-gs-menu[aria-expanded="true"] .abh-lux-shell__bars span:nth-child(1) { transform: translateY(5.3px) rotate(45deg); }
html body .abh-gs-menu[aria-expanded="true"] .abh-lux-shell__bars span:nth-child(2) { opacity: 0; }
html body .abh-gs-menu[aria-expanded="true"] .abh-lux-shell__bars span:nth-child(3) { transform: translateY(-5.3px) rotate(-45deg); }
html body .abh-gs-menu .abh-lux-shell__bars span { transition: transform .3s ease, opacity .3s ease; }

/* ---------- Inquire ---------- */
html body :is(.abh-lux-shell__cta, .abh-rooms-shell__cta, .contact-shell .header-cta, .abh-gs-cta) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: var(--abh-gs-clay) !important;
  box-shadow: none !important;
  color: var(--abh-gs-ivory) !important;
  font: 500 11px/1 var(--abh-gs-sans) !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background-color .22s ease !important;
}
html body :is(.abh-lux-shell__cta, .abh-rooms-shell__cta, .contact-shell .header-cta, .abh-gs-cta):is(:hover, :focus-visible) {
  background: var(--abh-gs-clay-deep) !important;
  color: var(--abh-gs-ivory) !important;
}

@media (max-width: 720px) {
  html body :is(.abh-lux-shell__menu-label, .contact-menu-toggle > span:last-child, .abh-gs-menu__label) { display: none !important; }
  html body :is(.abh-lux-shell__cta, .abh-rooms-shell__cta, .contact-shell .header-cta, .abh-gs-cta) {
    min-height: 40px;
    padding: 0 14px !important;
    font-size: 10px !important;
    letter-spacing: .18em !important;
  }
}

/* ---------- The drawer: dark volcanic stone everywhere ---------- */
html body :is(.abh-lux-drawer__panel, .contact-drawer-panel) {
  background:
    linear-gradient(180deg, rgba(24, 20, 16, .80), rgba(24, 20, 16, .90)),
    var(--abh-gs-volcanic) center / 640px repeat,
    var(--abh-gs-stone) !important;
  border-right: 1px solid rgba(255, 250, 243, .08) !important;
  color: #fffaf3 !important;
}
html body :is(.abh-lux-drawer__close, .contact-drawer-close) {
  color: #fffaf3 !important;
  border: 1px solid rgba(255, 250, 243, .22) !important;
  border-radius: 2px !important;
  background: transparent !important;
  font: 500 10.5px/1 var(--abh-gs-sans) !important;
  letter-spacing: .24em !important;
  text-transform: uppercase;
}
html body :is(.abh-lux-drawer__close, .contact-drawer-close):hover {
  color: var(--abh-gs-stone) !important;
  background: #fffaf3 !important;
}
html body :is(.abh-lux-drawer__group-title, .contact-drawer .contact-nav-label) {
  font: 500 10.5px/1.4 var(--abh-gs-sans) !important;
  letter-spacing: .24em !important;
  text-transform: uppercase;
  color: rgba(255, 250, 243, .52) !important;
}
html body :is(.abh-lux-drawer__list a, .contact-drawer a) { color: rgba(255, 250, 243, .92) !important; }
html body :is(.abh-lux-drawer__list--main li + li, .contact-drawer li + li) { border-top: 1px solid rgba(255, 250, 243, .1) !important; }
html body :is(.abh-lux-drawer__list a, .contact-drawer a):is(:hover, :focus-visible, [aria-current="page"]) { color: #d9a58c !important; }

/* ---------- The shared header + drawer markup (rooms, houses, privacy) ---------- */
.abh-gs-drawer[hidden] { display: none; }
.abh-gs-drawer { position: fixed; inset: 0; z-index: 1000; font-family: var(--abh-gs-sans); }
.abh-gs-drawer .abh-lux-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 15, 15, .55);
  animation: abhGsFade .28s ease;
}
.abh-gs-drawer .abh-lux-drawer__panel {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
  width: min(360px, 86vw);
  padding: 36px 34px 40px;
  overflow-y: auto;
  overscroll-behavior: contain;
  box-shadow: 18px 0 40px rgba(31, 31, 31, .18);
  animation: abhGsSlide .32s cubic-bezier(.2, .7, .2, 1);
}
.abh-gs-drawer .abh-lux-drawer__close {
  position: absolute;
  top: 18px;
  right: 18px;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 12px;
  cursor: pointer;
}
.abh-gs-drawer .abh-lux-drawer__nav { margin-top: 56px; }
.abh-gs-drawer .abh-lux-drawer__group-title { margin: 0 0 12px; }
.abh-gs-drawer .abh-lux-drawer__list { margin: 0 0 32px; padding: 0; list-style: none; }
.abh-gs-drawer .abh-lux-drawer__list li { margin: 0; padding: 0; }
.abh-gs-drawer .abh-lux-drawer__list a {
  display: block;
  padding: 10px 0;
  font: 400 24px/1.35 var(--abh-gs-serif) !important;
  text-decoration: none;
  transition: color .25s ease;
}
.abh-gs-drawer .abh-lux-drawer__list--sub a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 5px 0;
  font: 400 14.5px/1.4 var(--abh-gs-sans) !important;
  letter-spacing: .02em;
}
.abh-gs-drawer :focus-visible { outline: 2px solid #d9a58c; outline-offset: 4px; }
html.abh-gs-open, html.abh-gs-open body { overflow: hidden !important; }
@keyframes abhGsFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes abhGsSlide { from { transform: translateX(-100%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) {
  .abh-gs-drawer .abh-lux-drawer__backdrop, .abh-gs-drawer .abh-lux-drawer__panel { animation: none; }
}

/* the shared header on rooms and the houses: Menu where the back link was */
body.abh-rooms-page .abh-rooms-shell .abh-gs-menu { justify-self: start; color: inherit; }
/* rooms and houses: the controls on the same 1280px line as the other pages */
@media (min-width: 721px) {
  body.abh-rooms-page .abh-rooms-shell { padding-inline: max(24px, calc((100% - 1280px) / 2 + 32px)) !important; }
}
@media (max-width: 720px) {
  /* the brand centres in the room left between Menu and the (longer Greek) Inquire */
  body.abh-rooms-page .abh-rooms-shell { grid-template-columns: auto minmax(0, 1fr) auto !important; column-gap: 12px; }
  body.abh-rooms-page .abh-rooms-shell .abh-rooms-shell__brand { justify-self: center; font-size: 20px !important; }
}

/* ---------- Newsletter (abh-newsletter.php, Codex): in the site's voice ----------
   It is placed just before the footer, so it sits on the same sand as the footer: no band of
   its own. Cormorant title, Inter text, a ruled email line with the clay button beside it.
   Wording, consent and form behaviour are untouched. */
html body #newsletter.abh-newsletter {
  background: transparent !important;
  border: 0 !important;
  color: #1f1f1f !important;
  padding: clamp(72px, 7vw, 104px) 0 clamp(40px, 4vw, 56px) !important;
}
html body #newsletter.abh-newsletter .abh-newsletter-inner {
  width: min(100% - 2 * clamp(24px, 6vw, 88px), 1180px);
  max-width: none !important;
  margin: 0 auto;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important;
  gap: clamp(40px, 7vw, 120px) !important;
  align-items: end !important;
  padding-bottom: clamp(48px, 5vw, 64px);
  border-bottom: 1px solid rgba(31, 31, 31, .14);
}
html body #newsletter.abh-newsletter .abh-newsletter-kicker {
  margin: 0 0 20px !important;
  font: 500 10.5px/1.5 var(--abh-gs-sans) !important;
  letter-spacing: .22em !important;
  text-transform: uppercase;
  color: var(--abh-gs-clay) !important;
}
html body #newsletter.abh-newsletter h2 {
  max-width: 11em !important;
  margin: 0 !important;
  font: 300 clamp(40px, 4.2vw, 62px)/1.04 "Cormorant Garamond", "Noto Serif Display", Georgia, serif !important;
  letter-spacing: -.015em !important;
  color: #1f1f1f !important;
}
html body #newsletter.abh-newsletter .mc4wp-form { font: 400 14px/1.7 var(--abh-gs-sans) !important; color: #4a443d !important; }
html body #newsletter.abh-newsletter .abh-newsletter-signup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 18px;
  align-items: end;
}
html body #newsletter.abh-newsletter .abh-newsletter-signup > p { grid-column: 1 / -1; margin: 0 0 18px !important; }
html body #newsletter.abh-newsletter .abh-newsletter-signup > p:first-child {
  margin-bottom: 28px !important;
  font: 400 clamp(18px, 1.4vw, 21px)/1.5 "Cormorant Garamond", "Noto Serif Display", Georgia, serif !important;
  color: #3a352f !important;
}
html body #newsletter.abh-newsletter .abh-newsletter-signup > p.input_wrapper { grid-column: 1; grid-row: 2; margin-bottom: 0 !important; }
html body #newsletter.abh-newsletter .abh-newsletter-signup > button[type=submit] { grid-column: 2; grid-row: 2; }
html body #newsletter.abh-newsletter .abh-newsletter-signup > p:nth-of-type(3) { grid-row: 3; margin-top: 22px !important; font-size: 13.5px !important; }
html body #newsletter.abh-newsletter .abh-newsletter-signup > p:nth-of-type(4) { grid-row: 4; margin-bottom: 0 !important; font-size: 12.5px !important; color: #7a736a !important; }
html body #newsletter.abh-newsletter .mc4wp-form p.input_wrapper label {
  margin: 0 !important;
  font: 500 10px/1.4 var(--abh-gs-sans) !important;
  letter-spacing: .2em !important;
  text-transform: uppercase;
  color: #7a736a !important;
}
html body #newsletter.abh-newsletter .mc4wp-form input[type=email] {
  min-height: 46px !important;
  margin: 8px 0 0 !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(31, 31, 31, .32) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #1f1f1f !important;
  font: 400 16px/1.4 var(--abh-gs-sans) !important;
  box-shadow: none !important;
}
html body #newsletter.abh-newsletter .mc4wp-form input[type=email]:focus { border-bottom-color: var(--abh-gs-clay) !important; outline: none; }
html body #newsletter.abh-newsletter .mc4wp-form input[type=checkbox] { accent-color: var(--abh-gs-clay) !important; margin: 4px 10px 0 0 !important; }
html body #newsletter.abh-newsletter .mc4wp-form p:nth-of-type(3) label { display: flex !important; align-items: flex-start; margin: 0 !important; font: inherit !important; }
html body #newsletter.abh-newsletter .mc4wp-form button[type=submit] {
  min-height: 46px !important;
  padding: 0 26px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: var(--abh-gs-clay) !important;
  color: var(--abh-gs-ivory) !important;
  font: 500 11px/1 var(--abh-gs-sans) !important;
  letter-spacing: .22em !important;
  text-transform: uppercase;
  transition: background-color .22s ease;
}
html body #newsletter.abh-newsletter .mc4wp-form button[type=submit]:is(:hover, :focus-visible) { background: var(--abh-gs-clay-deep) !important; }
html body #newsletter.abh-newsletter .mc4wp-form a { color: inherit !important; text-decoration-color: rgba(31, 31, 31, .35) !important; }
html body #newsletter.abh-newsletter input:focus-visible, html body #newsletter.abh-newsletter button:focus-visible, html body #newsletter.abh-newsletter a:focus-visible { outline: 2px solid var(--abh-gs-clay) !important; }
/* the copy sits in language spans: they take their paragraph's voice */
html body #newsletter.abh-newsletter .mc4wp-form :is(p, label, button) > span { font: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; color: inherit !important; }
@media (max-width: 760px) {
  html body #newsletter.abh-newsletter { padding: 56px 0 32px !important; }
  html body #newsletter.abh-newsletter .abh-newsletter-inner { grid-template-columns: 1fr !important; gap: 24px !important; }
  html body #newsletter.abh-newsletter h2 { font-size: 38px !important; }
  html body #newsletter.abh-newsletter .abh-newsletter-signup { grid-template-columns: 1fr; }
  html body #newsletter.abh-newsletter .abh-newsletter-signup > button[type=submit] { grid-column: 1; grid-row: 5; justify-self: start; margin-top: 22px; }
}

/* ---------- Mobile and tablet polish (QA 2026-10-17) ---------- */
/* the theme forces its own font on text outside <main>: the newsletter's small print and the
   footer keep Inter on every page (the newsletter's opening line stays in Cormorant) */
html body #newsletter.abh-newsletter .mc4wp-form :is(label, button, a),
html body #newsletter.abh-newsletter .abh-newsletter-signup > p:not(:first-child),
html body #newsletter.abh-newsletter .abh-newsletter-signup > p:not(:first-child) span {
  font-family: var(--abh-gs-sans) !important;
}
html body .abh-step7-creator-footer :is(p, span, time, strong, address, a, li) {
  font-family: var(--abh-gs-sans) !important;
}
/* house pages on phones: each detail's title on its own line, the note below it */
@media (max-width: 760px) {
  body.abh-house-page .house-details li { grid-template-columns: 24px minmax(0, 1fr) !important; row-gap: 4px; }
  body.abh-house-page .house-details li > span { grid-column: 2; }
}
/* rooms, at a glance, on portrait tablets: the pair across the width, the table below it */
@media (min-width: 761px) and (max-width: 1100px) {
  body.abh-rooms-page .rc-close:has(.rc-pairs) { grid-template-columns: minmax(0, 1fr) !important; row-gap: 56px; }
  body.abh-rooms-page .rc-close:has(.rc-pairs) .rc-pairs { max-width: 680px; }
}
/* house pages on tablets: the detail titles (OCCUPANCY, ΦΙΛΟΞΕΝΙΑ) fit on one line */
@media (min-width: 761px) and (max-width: 1100px) {
  body.abh-house-page .house-details li { grid-template-columns: 26px 128px minmax(0, 1fr) !important; }
}

/* ---------- The menu: full-screen volcanic stone, lit where the pointer is (2026-10-21) ----------
   After the owner's reference (miloscove.com): the stone fills the screen, a dark veil covers it
   and a soft circle of light follows the pointer (abh-global-shell.js sets --abh-mx/--abh-my).
   The main pages stand centred in spaced capitals; the current page and the hovered one turn
   ivory with a clay bar drawn through them. Same markup and links on every page: homepage and
   guide .abh-lux-drawer, contact .contact-drawer, rooms/houses/about/privacy .abh-gs-drawer. */
html:root body :is(.abh-lux-drawer, .contact-drawer) { position: fixed !important; inset: 0 !important; z-index: 100000 !important; }
html:root body :is(.abh-lux-drawer__backdrop, .contact-drawer-backdrop) { display: none !important; }
html:root body :is(.abh-lux-drawer__panel, .contact-drawer-panel) {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  margin: 0 !important;
  padding: clamp(96px, 13vh, 132px) 24px clamp(48px, 8vh, 80px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  background: url("https://aegeanbluehouses.com/abh-homepage-staging/assets/character/textures/tuff-charcoal-1024.webp") center / 980px repeat, #1b1916 !important;
  color: #faf7f1 !important;
  animation: abhMenuFade .6s ease both !important;
}
/* the veil: clear around the pointer, black at two thirds of the screen's height away */
html:root body :is(.abh-lux-drawer__panel, .contact-drawer-panel)::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle at var(--abh-mx, 50%) var(--abh-my, 46%), rgba(9, 8, 7, 0) 20px, rgba(9, 8, 7, .62) 34vh, #090807 67vh);
}
html:root body :is(.abh-lux-drawer__nav, .contact-drawer nav) {
  position: relative;
  z-index: 1;
  width: min(960px, 100%);
  margin: auto 0 !important;
  padding: 0 !important;
  text-align: center;
}
/* "Main pages" stays for screen readers; "On this page" is a small caption */
html:root body :is(.abh-lux-drawer__nav, .contact-drawer nav) > :is(.abh-lux-drawer__group-title, .contact-nav-label):first-child {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; margin: 0 !important;
}
html:root body :is(.abh-lux-drawer__group-title, .contact-drawer .contact-nav-label) {
  margin: clamp(40px, 6vh, 64px) 0 14px !important;
  font: 500 10px/1.4 Inter, "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: .3em !important;
  text-transform: uppercase;
  color: rgba(250, 247, 241, .4) !important;
}
html:root body :is(.abh-lux-drawer__list, .contact-drawer nav ul) { margin: 0 !important; padding: 0 !important; list-style: none !important; }
html:root body :is(.abh-lux-drawer__list, .contact-drawer nav ul) li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
html:root body :is(.abh-lux-drawer__list--main, .contact-drawer nav > ul:first-of-type) li + li { margin-top: clamp(6px, 1.6vh, 16px) !important; }
html:root body :is(.abh-lux-drawer__list--main, .contact-drawer nav > ul:first-of-type) a {
  position: relative;
  display: inline-block !important;
  padding: 4px 22px !important;
  font: 400 clamp(26px, 2.5vw, 36px)/1.25 "Cormorant Garamond", "Noto Serif Display", Georgia, serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: rgba(250, 247, 241, .42) !important;
  transition: color .4s ease !important;
}
/* the clay bar through the word */
html:root body :is(.abh-lux-drawer__list, .contact-drawer nav ul) a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 6px;
  margin-top: -4px;
  background: #986b55;
  opacity: .7;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .8s cubic-bezier(.16, 1, .3, 1);
  pointer-events: none;
}
html:root body :is(.abh-lux-drawer__list, .contact-drawer nav ul) a > * { position: relative; z-index: 1; }
html:root body :is(.abh-lux-drawer__list, .contact-drawer nav ul) a:is(:hover, :focus-visible, [aria-current="page"]) { color: #faf7f1 !important; }
html:root body :is(.abh-lux-drawer__list, .contact-drawer nav ul) a:is(:hover, :focus-visible, [aria-current="page"])::after { transform: scaleX(1); }
html:root body :is(.abh-lux-drawer__list, .contact-drawer nav ul) a:focus-visible { outline: 0 !important; }
/* places on this page: one quiet line of small capitals */
html:root body :is(.abh-lux-drawer__list--sub, .contact-drawer .contact-nav-local) {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 30px;
}
html:root body :is(.abh-lux-drawer__list--sub, .contact-drawer .contact-nav-local) a {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  min-height: 44px;
  padding: 0 4px !important;
  font: 500 11px/1.3 Inter, "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: rgba(250, 247, 241, .5) !important;
  transition: color .3s ease !important;
}
html:root body :is(.abh-lux-drawer__list--sub, .contact-drawer .contact-nav-local) a::after { height: 2px; margin-top: -1px; }
/* the language link (About) */
html:root body .about-drawer-language { margin-top: clamp(36px, 5vh, 56px) !important; }
html:root body .about-drawer-language a { color: rgba(250, 247, 241, .6) !important; font: 500 11px/1 Inter, Arial, sans-serif !important; letter-spacing: .22em !important; text-transform: uppercase; }
html:root body .about-drawer-language a:hover { color: #faf7f1 !important; }

/* Close: an ivory circle with a thin cross, where the Menu button sits */
html:root body :is(.abh-lux-drawer__close, .contact-drawer-close) {
  position: fixed !important;
  z-index: 2 !important;
  top: 22px !important;
  left: max(18px, calc((100% - 1280px) / 2 + 18px)) !important;
  right: auto !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #faf7f1 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
  cursor: pointer;
  transition: background-color .25s ease !important;
}
html:root body :is(.abh-lux-drawer__close, .contact-drawer-close) > * { display: none !important; }
html:root body :is(.abh-lux-drawer__close, .contact-drawer-close)::before,
html:root body :is(.abh-lux-drawer__close, .contact-drawer-close)::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 1.5px;
  background: #1b1916;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background-color .25s ease;
}
html:root body :is(.abh-lux-drawer__close, .contact-drawer-close)::after { transform: translate(-50%, -50%) rotate(-45deg); }
html:root body :is(.abh-lux-drawer__close, .contact-drawer-close):is(:hover, :focus-visible) { background: #986b55 !important; }
html:root body :is(.abh-lux-drawer__close, .contact-drawer-close):is(:hover, :focus-visible)::before,
html:root body :is(.abh-lux-drawer__close, .contact-drawer-close):is(:hover, :focus-visible)::after { background: #faf7f1; }
html:root body :is(.abh-lux-drawer__close, .contact-drawer-close):focus-visible { outline: 2px solid #faf7f1 !important; outline-offset: 4px; }

/* the words rise in, one after another */
html:root body :is(.abh-lux-drawer__list--main, .contact-drawer nav > ul:first-of-type) li { animation: abhMenuRise .9s cubic-bezier(.16, 1, .3, 1) both; }
html:root body :is(.abh-lux-drawer__list--main, .contact-drawer nav > ul:first-of-type) li:nth-child(2) { animation-delay: .06s; }
html:root body :is(.abh-lux-drawer__list--main, .contact-drawer nav > ul:first-of-type) li:nth-child(3) { animation-delay: .12s; }
html:root body :is(.abh-lux-drawer__list--main, .contact-drawer nav > ul:first-of-type) li:nth-child(4) { animation-delay: .18s; }
html:root body :is(.abh-lux-drawer__list--main, .contact-drawer nav > ul:first-of-type) li:nth-child(5) { animation-delay: .24s; }
html:root body :is(.abh-lux-drawer__list--main, .contact-drawer nav > ul:first-of-type) li:nth-child(n+6) { animation-delay: .3s; }
@keyframes abhMenuFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes abhMenuRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

@media (max-width: 720px) {
  html:root body :is(.abh-lux-drawer__panel, .contact-drawer-panel) { padding: 96px 20px 48px !important; background-size: 640px, auto !important; }
  html:root body :is(.abh-lux-drawer__close, .contact-drawer-close) { top: 16px !important; left: 16px !important; width: 50px !important; height: 50px !important; }
  html:root body :is(.abh-lux-drawer__close, .contact-drawer-close)::before,
  html:root body :is(.abh-lux-drawer__close, .contact-drawer-close)::after { width: 20px; }
  html:root body :is(.abh-lux-drawer__list--main, .contact-drawer nav > ul:first-of-type) a { font-size: 23px !important; letter-spacing: .1em !important; padding: 4px 12px !important; }
  html:root body :is(.abh-lux-drawer__list--sub, .contact-drawer .contact-nav-local) { flex-direction: column; align-items: center; gap: 0; }
}
/* no pointer to follow (phones, tablets): a still light, a little dimmer so the words read */
@media (pointer: coarse), (prefers-reduced-motion: reduce) {
  html:root body :is(.abh-lux-drawer__panel, .contact-drawer-panel)::before {
    background: radial-gradient(ellipse 90% 60% at 50% 44%, rgba(9, 8, 7, .34), rgba(9, 8, 7, .7) 70%, #090807);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:root body :is(.abh-lux-drawer__panel, .contact-drawer-panel),
  html:root body :is(.abh-lux-drawer__list--main, .contact-drawer nav > ul:first-of-type) li { animation: none !important; }
  html:root body :is(.abh-lux-drawer__list, .contact-drawer nav ul) a::after { transition: none; }
}


/* ---------- Our Rooms + house pages: scroll choreography (rooms-scenes.js), as on the homepage:
   pictures, then objects, then words; only active under html.nx-motion .abh-rooms-page ---------- */
/* pictures: a warm stone panel lies over the photograph and draws away to one side; the
   photograph is painted underneath beforehand (never hidden), so it appears without a hitch */
.nx-motion .abh-rooms-page [data-nx-r=media]:not(img,video,canvas){isolation:isolate}
.nx-motion .abh-rooms-page [data-nx-r=media]:not(img,video,canvas)::after{content:'';position:absolute;inset:0;z-index:20;background:#d6ccbb;transform:scaleX(1);transform-origin:right center;pointer-events:none;will-change:transform}
.nx-motion .abh-rooms-page [data-nx-r=media].is-in:not(img,video,canvas)::after{animation:nxRoomsSweep 1s cubic-bezier(.16,1,.3,1) var(--nx-d,0s) both}
.nx-motion .abh-rooms-page [data-nx-r=media].nx-done:not(img,video,canvas)::after{display:none}
@keyframes nxRoomsSweep{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.nx-motion .abh-rooms-page :is(img,video,canvas)[data-nx-r=media]{opacity:0}
.nx-motion .abh-rooms-page :is(img,video,canvas)[data-nx-r=media].is-in{opacity:1;transition:opacity 1s ease var(--nx-d,0s)}

/* objects: set down quietly */
.nx-motion .abh-rooms-page [data-nx-r=object]{opacity:0;translate:0 18px;transition:opacity 1s ease,translate 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--nx-d,0s)}
.nx-motion .abh-rooms-page [data-nx-r=object].is-in{opacity:1;translate:0 0}
/* words: line by line */
.nx-motion .abh-rooms-page [data-nx-r=text]{opacity:0;translate:0 28px;transition:opacity .8s ease,translate 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--nx-d,0s)}
.nx-motion .abh-rooms-page [data-nx-r=text].is-in{opacity:1;translate:0 0}
/* leaving: rooms-scenes.js eases each section up and quietens it while the next one arrives */
@media(max-width:700px){
 .nx-motion .abh-rooms-page [data-nx-r=text]{translate:0 18px}
}
/* hidden states are set at once (no fading out on load); only the arrival is animated */
.nx-motion .abh-rooms-page [data-nx-r]:not(.is-in),.nx-motion .abh-rooms-page [data-nx-r]:not(.is-in) *{transition:none!important}
/* reduced motion: nothing hidden, nothing moves (scenes.js also stays off) */
@media(prefers-reduced-motion:reduce){.nx-motion .abh-rooms-page [data-nx-r],.nx-motion .abh-rooms-page [data-nx-r] *,.nx-motion .abh-rooms-page .nx-scene>*{opacity:1!important;translate:none!important;scale:none!important;clip-path:none!important;transform:none!important;animation:none!important;transition:none!important}.nx-motion .abh-rooms-page [data-nx-r]::after{display:none}}
/* first screen at start: shown as it is */
.nx-motion .abh-rooms-page .nx-instant,.nx-motion .abh-rooms-page .nx-instant *,.nx-motion .abh-rooms-page .nx-instant::after,.nx-motion .abh-rooms-page .nx-instant>*{transition:none!important;animation:none!important}
.nx-motion .abh-rooms-page .nx-instant[data-nx-r=media]::after{display:none}

/* Circular header controls: paper, clay and volcanic ink carry through to the menu. */
:root{--abh-control-size:80px;--abh-control-ink:#1b1916;--abh-control-paper:#faf7f1;--abh-control-clay:#986b55}
/* The wordmark shares the paper colour above the homepage film, then returns to ink on scroll. */
html body:is(.page-id-662,.page-id-2341) .abh-lux-shell:not(.is-scrolled) .abh-lux-shell__brand{color:var(--abh-control-paper)!important}
html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle){
 position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;
 box-sizing:border-box!important;width:var(--abh-control-size)!important;height:var(--abh-control-size)!important;min-width:var(--abh-control-size)!important;min-height:var(--abh-control-size)!important;
 padding:0!important;gap:0!important;border:0!important;border-radius:50%!important;background:var(--abh-control-paper)!important;color:var(--abh-control-ink)!important;
 box-shadow:none!important;transition:background-color .3s,color .3s!important;
}
html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)>*{display:none!important}
html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::before,
html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::after{content:'';position:absolute;top:50%;left:50%;width:30px;height:1.5px;background:currentColor;transform:translate(-50%,-5px);transition:transform .45s cubic-bezier(.22,1,.36,1),background-color .3s;pointer-events:none}
html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::after{transform:translate(-50%,5px)}
html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle):is(:hover,:focus-visible){background:var(--abh-control-clay)!important;color:var(--abh-control-paper)!important}
html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)[aria-expanded=true]::before{transform:translate(-50%,-50%) rotate(45deg)}
html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)[aria-expanded=true]::after{transform:translate(-50%,-50%) rotate(-45deg)}
html:root:root body :is(.abh-lux-shell.is-scrolled,.contact-shell.is-scrolled) :is(.abh-lux-shell__menu,.contact-menu-toggle){background:var(--abh-control-ink)!important;color:var(--abh-control-paper)!important}
html:root:root body :is(.abh-lux-shell.is-scrolled,.contact-shell.is-scrolled) :is(.abh-lux-shell__menu,.contact-menu-toggle):hover{background:var(--abh-control-clay)!important}
html:root:root body :is(.abh-lux-shell__cta,.abh-rooms-shell__cta,.contact-shell .header-cta,.abh-gs-cta){
 display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;box-sizing:border-box!important;
 width:var(--abh-control-size)!important;height:var(--abh-control-size)!important;min-width:var(--abh-control-size)!important;min-height:var(--abh-control-size)!important;
 padding:0 6px!important;border:0!important;border-radius:50%!important;background:var(--abh-control-clay)!important;color:var(--abh-control-paper)!important;
 font:600 13px/1.25 var(--abh-gs-sans)!important;letter-spacing:.06em!important;white-space:normal!important;text-align:center!important;text-transform:uppercase!important;box-shadow:none!important;
 transition:background-color .4s!important;
}
html:root:root body :is(.abh-lux-shell__cta,.abh-rooms-shell__cta,.contact-shell .header-cta,.abh-gs-cta):is(:hover,:focus-visible){background:var(--abh-control-ink)!important;color:var(--abh-control-paper)!important}
.abh-control-label{display:block!important;font:inherit!important;letter-spacing:inherit!important;line-height:inherit!important;white-space:pre-line!important;pointer-events:none}
html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle,.abh-lux-shell__cta,.abh-rooms-shell__cta,.contact-shell .header-cta,.abh-gs-cta):focus-visible{outline:2px solid var(--abh-control-clay)!important;outline-offset:5px}
/* Closing the board uses the same circle, at the exact position of the Menu control. */
html:root:root body :is(.abh-lux-drawer__close,.contact-drawer-close){top:var(--abh-menu-top,22px)!important;left:var(--abh-menu-left,24px)!important;width:var(--abh-menu-size,var(--abh-control-size))!important;height:var(--abh-menu-size,var(--abh-control-size))!important;background:var(--abh-control-paper)!important}
html:root:root body :is(.abh-lux-drawer__close,.contact-drawer-close):is(:hover,:focus-visible){background:var(--abh-control-clay)!important}
/* The cursor is event driven: only transform is written when the pointer moves. */
.abh-control-cursor{position:fixed;top:0;left:0;z-index:2147483000;width:var(--abh-cursor-size,var(--abh-control-size));height:var(--abh-cursor-size,var(--abh-control-size));margin:0;pointer-events:none;border-radius:50%;overflow:hidden;display:none;align-items:center;justify-content:center;contain:layout style paint;opacity:0;transition:opacity .15s;will-change:transform}
.abh-control-cursor::before{content:'';position:absolute;top:50%;left:50%;width:15px;height:15px;border:0 solid transparent;box-sizing:border-box;border-radius:50%;background:var(--abh-control-clay);transform:translate(-50%,-50%) scale(1);transition:transform .9s cubic-bezier(.22,1,.36,1),background-color .15s,border-color .15s}
.abh-control-cursor__label{position:relative;z-index:1;padding:6px;font:600 13px/1.25 var(--abh-gs-sans);letter-spacing:.06em;text-transform:uppercase;text-align:center;white-space:pre-line;color:var(--abh-control-paper);opacity:0;transition:opacity .25s .15s}
.abh-control-cursor.is-visible{opacity:1}
.abh-control-cursor.is-inquire::before{transform:translate(-50%,-50%) scale(11)}
.abh-control-cursor.is-inquire .abh-control-cursor__label{opacity:1}
.abh-control-cursor.is-link::before{background:transparent;border:1.5px solid var(--abh-control-clay);transform:translate(-50%,-50%) scale(1.7)}
.abh-control-cursor.is-on-menu.is-link::before{border-color:var(--abh-control-paper)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html.abh-control-pointer .abh-control-cursor{display:flex}
 html.abh-control-active body :is(.abh-lux-shell__menu,.contact-menu-toggle,.abh-lux-shell__cta,.abh-rooms-shell__cta,.contact-shell .header-cta,.abh-gs-cta,.abh-lux-drawer__close,.contact-drawer-close){cursor:none!important}
 html.abh-control-active .abh-cursor{opacity:0!important}
}
@media(max-width:1100px),(max-height:800px){:root{--abh-control-size:60px}html:root:root body :is(.abh-lux-shell__cta,.abh-rooms-shell__cta,.contact-shell .header-cta,.abh-gs-cta),.abh-control-cursor__label{font-size:10px!important}}
@media(max-width:720px){
 :root{--abh-control-size:48px}
 html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::before,
 html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::after{width:23px}
 html:root:root body :is(.abh-lux-shell__cta,.abh-rooms-shell__cta,.contact-shell .header-cta,.abh-gs-cta){font-size:8px!important;letter-spacing:.025em!important;padding:0 3px!important}
}
@media(prefers-reduced-motion:reduce){
 html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle,.abh-lux-shell__cta,.abh-rooms-shell__cta,.contact-shell .header-cta,.abh-gs-cta),
 html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::before,html:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::after{transition:none!important}
 .abh-control-cursor{display:none!important}
}

/* Menu control, refined (owner, 2026-10-23): the filled 80px disc read as an app button. In the site's
   quiet editorial voice it becomes a hairline ring, ink on paper and ivory over the homepage film,
   with two fine lines of unequal length that even out on hover and cross to a close mark when the
   board is open. No custom cursor on it, no fill, no shadow. Inquire is unchanged. */
:root{--abh-menu-ring:56px}
html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle){
 width:var(--abh-menu-ring)!important;height:var(--abh-menu-ring)!important;min-width:var(--abh-menu-ring)!important;min-height:var(--abh-menu-ring)!important;
 background:transparent!important;color:#24211d!important;
 box-shadow:inset 0 0 0 1px rgba(36,33,29,.34)!important;
 transition:box-shadow .35s cubic-bezier(.16,1,.3,1),color .35s cubic-bezier(.16,1,.3,1),background-color .35s ease!important;
 cursor:pointer!important;
}
html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::before,
html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::after{
 width:22px;height:1px;left:calc(50% - 11px);transform-origin:left center;
 transition:transform .5s cubic-bezier(.16,1,.3,1),width .5s cubic-bezier(.16,1,.3,1),left .5s cubic-bezier(.16,1,.3,1),background-color .35s ease;
}
html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::before{transform:translateY(-4px)}
html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::after{width:13px;transform:translateY(4px)}
/* hover / focus: the ring closes to clay and the short line reaches its full length */
html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle):is(:hover,:focus-visible){
 background:transparent!important;color:#986b55!important;box-shadow:inset 0 0 0 1px #986b55!important;
}
html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle):is(:hover,:focus-visible)::after{width:22px}
/* open: a fine close mark */
html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)[aria-expanded=true]::before,
html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)[aria-expanded=true]::after{width:22px;left:50%;transform-origin:center;transform:translate(-50%,-50%) rotate(45deg)}
html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)[aria-expanded=true]::after{transform:translate(-50%,-50%) rotate(-45deg)}
/* scrolled headers keep the same ring (no dark disc) */
html:root:root:root body :is(.abh-lux-shell.is-scrolled,.contact-shell.is-scrolled) :is(.abh-lux-shell__menu,.contact-menu-toggle){background:transparent!important;color:#24211d!important}
html:root:root:root body :is(.abh-lux-shell.is-scrolled,.contact-shell.is-scrolled) :is(.abh-lux-shell__menu,.contact-menu-toggle):hover{background:transparent!important;color:#986b55!important}
/* over the homepage film: ivory */
html:root:root:root body:is(.page-id-662,.page-id-2341) .abh-lux-shell:not(.is-scrolled) .abh-lux-shell__menu{color:#faf7f1!important;box-shadow:inset 0 0 0 1px rgba(250,247,241,.55)!important}
html:root:root:root body:is(.page-id-662,.page-id-2341) .abh-lux-shell:not(.is-scrolled) .abh-lux-shell__menu:is(:hover,:focus-visible){color:#faf7f1!important;background:rgba(250,247,241,.12)!important;box-shadow:inset 0 0 0 1px #faf7f1!important}
/* the drawer's close mark sits in the same place, as the same quiet ring on the dark stone */
html:root:root:root body :is(.abh-lux-drawer__close,.contact-drawer-close){background:transparent!important;color:#faf7f1!important;box-shadow:inset 0 0 0 1px rgba(250,247,241,.5)!important}
html:root:root:root body :is(.abh-lux-drawer__close,.contact-drawer-close):is(:hover,:focus-visible){background:rgba(250,247,241,.1)!important;box-shadow:inset 0 0 0 1px #faf7f1!important}
/* the growing cursor belongs to Inquire only */
.abh-control-cursor.is-link{opacity:0!important}
html.abh-control-active body :is(.abh-lux-shell__menu,.contact-menu-toggle,.abh-lux-drawer__close,.contact-drawer-close){cursor:pointer!important}
@media(max-width:720px){
 :root{--abh-menu-ring:44px}
 html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::before{width:18px;left:calc(50% - 9px)}
 html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::after{width:11px;left:calc(50% - 9px)}
 html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)[aria-expanded=true]::before,
 html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)[aria-expanded=true]::after{width:18px;left:50%}
}
@media(prefers-reduced-motion:reduce){
 html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle),
 html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::before,
 html:root:root:root body :is(.abh-lux-shell__menu,.contact-menu-toggle)::after{transition:none!important}
}
/* ESPA banner beside Inquire, inside the fixed header (espa-header.js) */
html body .abh-espa-compliance.abh-espa-in-header{position:absolute!important;top:var(--abh-espa-top,50%)!important;right:var(--abh-espa-right,120px)!important;left:auto!important;bottom:auto!important;margin:0!important;z-index:2;transform:translateY(-50%) scale(var(--abh-espa-scale,.8));transform-origin:right center;box-shadow:0 1px 0 rgba(36,33,29,.06)}
/* Inquire sits inside every header bar (owner, 2026-10-24): the 80px disc hung below the 78–86px
   headers once they turned to paper on scroll. 64px on desktop, centred with the Menu ring. */
@media(min-width:1101px) and (min-height:801px){:root{--abh-control-size:64px}}
@media(min-width:721px){html:root:root:root body :is(.abh-lux-shell__cta,.abh-rooms-shell__cta,.contact-shell .header-cta,.abh-gs-cta){font-size:11px!important;letter-spacing:.08em!important}}
