
:root{
  /* Master design-system aliases. Legacy tokens below remain available while
     page-specific styles are migrated incrementally. */
  --font-serif:'Fraunces',serif;
  --font-sans:'Inter',sans-serif;

  --green:#2B3A2E;
  --green-deep:#1C2620;
  --brass:#A8823C;
  --brass-light:#C9A969;
  --brass-text:#806225;
  --linen:#EDE7D8;
  --linen-soft:#F5F1E6;
  --ink:#1B1B16;
  --ink-soft:#4A4A3F;

  --colour-green:var(--green);
  --colour-green-deep:var(--green-deep);
  --colour-brass:var(--brass);
  --colour-brass-light:var(--brass-light);
  --colour-brass-text:var(--brass-text);
  --colour-linen:var(--linen);
  --colour-linen-soft:var(--linen-soft);
  --colour-ink:var(--ink);
  --colour-ink-soft:var(--ink-soft);

  --type-hero:clamp(3rem,6.5vw,6.5rem);
  --type-section:clamp(2.35rem,4.5vw,4.6rem);
  --type-editorial:clamp(1.8rem,3vw,3rem);
  --type-card:clamp(1.15rem,1.8vw,1.5rem);
  --type-body-lead:clamp(1rem,1.2vw,1.125rem);
  --type-body:1rem;
  --type-caption:.875rem;
  --type-eyebrow:.65rem;
  --type-action:.7rem;

  --line-display:.98;
  --line-heading:1.08;
  --line-subheading:1.2;
  --line-body:1.8;

  --tracking-display:-.025em;
  --tracking-eyebrow:.24em;
  --tracking-action:.14em;

  --gutter:clamp(1.4rem,5vw,5rem);
  --section-space:clamp(5.5rem,9vw,9rem);
  --section-space-compact:clamp(3.5rem,6vw,6rem);
  --content-max:86rem;
  --text-max:62ch;

  /* Approved spacing variants: preserve original geometry, not a new layout.
     Master defaults above remain available; these named variants retain the
     distinct editorial compositions. Mobile values stay in existing queries. */
  --gutter-home:4vw;
  --gutter-standard:max(5vw,40px);
  --gutter-editorial:max(6vw,48px);
  --gutter-accommodation:clamp(1.5rem,5vw,4.5rem);
  --gutter-mobile:6vw;
  --gutter-editorial-mobile:max(6vw,24px);
  --section-space-accommodation:clamp(3.5rem,7vw,7rem);
  --section-space-editorial:clamp(6rem,10vw,10rem);
  --section-space-regional:clamp(4rem,7vw,6.5rem);
  --section-space-support:clamp(3rem,5vw,4.5rem);
  --section-space-home:7.5rem;
  --section-space-mobile:3.4rem;
  --content-accommodation:1320px;
  --content-editorial:1380px;
  --content-standard:1180px;
  --content-wide:1480px;
  --content-showcase:1600px;
  --content-book:1040px;
  --text-max-social:52ch;
  --text-max-hero:57ch;
  --text-max-reading:44rem;
  --text-max-intro:38rem;

  /* Shared editorial-image treatment. Apply only to selected photography on
     linen/light surfaces; dark, full-bleed and functional media stay unframed. */
  --media-frame-inner:var(--colour-brass);
  --media-frame-outer:rgba(168,130,60,.72);
  --media-frame-width:1px;
  --media-frame-gap:6px;

  --blue-room:#2a3a4a;
  --yellow-room:#6a5a2a;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
::selection{background:var(--brass);color:#fff;}
body{color:var(--ink);font-family:'Inter',sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden;margin:0;}
img{display:block;width:100%;object-fit:cover;}
a{color:inherit;text-decoration:none;}

/* Opt-in master media roles. Existing page selectors remain available while
   pages migrate to these shared roles. */
.media-frame--light{
  border:var(--media-frame-width) solid var(--media-frame-inner);
  outline:var(--media-frame-width) solid var(--media-frame-outer);
  outline-offset:var(--media-frame-gap);
}
.media-frame--light.media-frame--shell{
  padding:var(--media-frame-gap);
  border-color:var(--media-frame-outer);
  background:transparent !important;
  outline:0;
}
.media-frame--light.media-frame--shell > img{
  border:var(--media-frame-width) solid var(--media-frame-inner);
  outline:0;
}
.media-unframed{
  border:0;
  outline:0;
}

/* Shared type roles. These are opt-in until each page is normalized, keeping
   the existing page-scoped selectors and approved layouts intact. */
.type-hero,
.type-section,
.type-editorial,
.type-card{
  margin:0;
  color:var(--colour-green-deep);
  font-family:var(--font-serif);
  font-style:normal;
  font-weight:400;
}
.type-hero{
  font-size:var(--type-hero);
  line-height:var(--line-display);
  letter-spacing:var(--tracking-display);
}
.type-section{
  font-size:var(--type-section);
  line-height:var(--line-heading);
  letter-spacing:var(--tracking-display);
}
.type-editorial{
  font-size:var(--type-editorial);
  line-height:var(--line-heading);
  letter-spacing:var(--tracking-display);
}
.type-card{
  font-size:var(--type-card);
  line-height:var(--line-subheading);
}
.type-caption,
.type-body,
.type-lead{
  max-width:var(--text-max);
  color:var(--colour-ink-soft);
  font-family:var(--font-sans);
  font-weight:300;
  line-height:var(--line-body);
}
.type-body{font-size:var(--type-body);}
.type-caption{font-size:var(--type-caption);}
.type-lead{font-size:var(--type-body-lead);}
.type-eyebrow{
  margin:0 0 1rem;
  color:var(--colour-brass-text);
  font:500 var(--type-eyebrow)/1.4 var(--font-sans);
  letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;
}
.type-action{
  color:var(--colour-brass-text);
  font:500 var(--type-action)/1.4 var(--font-sans);
  letter-spacing:var(--tracking-action);
  text-transform:uppercase;
}

/* Shared action roles. Existing component selectors opt into these same
   behaviours below so pages can migrate without losing their own layout. */
.action-primary,
.action-pill,
.action-link{
  min-height:44px;
  font:500 var(--type-action)/1.4 var(--font-sans);
  letter-spacing:var(--tracking-action);
  text-transform:uppercase;
  cursor:pointer;
}
.action-primary,
.action-pill{display:inline-flex;align-items:center;justify-content:center;}
.action-link{display:inline-flex;align-items:center;gap:.55rem;}
.action-primary{padding:.8rem 1.5rem;color:var(--colour-green-deep);background:var(--colour-brass-light);border:1px solid var(--colour-brass-light);}
.action-pill{padding:.65rem 1.35rem;border:1px solid currentColor;border-radius:999px;}
.action-link{position:relative;padding:.45rem 0;border-bottom:1px solid currentColor;}
.action-primary:focus-visible,
.action-pill:focus-visible,
.action-link:focus-visible{outline:2px solid currentColor;outline-offset:3px;}
.type-accent{
  font-family:var(--font-serif);
  font-style:italic;
  font-weight:400;
}
.theme-dark :is(.type-hero,.type-section,.type-editorial,.type-card){color:var(--colour-linen-soft);}
.theme-dark :is(.type-body,.type-lead){color:rgba(245,241,230,.78);}
.theme-dark :is(.type-eyebrow,.type-action){color:var(--colour-brass-light);}

.site-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:0;margin-right:clamp(28px,4vw,48px);padding:0;}
.site-logo img{display:block;width:auto;height:120px;max-width:120px;max-height:120px;object-fit:contain;}
.site-logo:focus-visible{outline:2px solid var(--brass-light);outline-offset:6px;border-radius:4px;}
.skip-link{
  position:fixed;top:.75rem;left:.75rem;z-index:10000;
  padding:.8rem 1rem;color:var(--colour-green-deep);background:var(--colour-linen-soft);
  border:2px solid var(--colour-brass-text);font:600 .8rem/1.2 var(--font-sans);
  transform:translateY(calc(-100% - 1rem));transition:transform 180ms ease;
}
.skip-link:focus{transform:none;outline:2px solid var(--colour-green-deep);outline-offset:3px;}
#main-content:focus{outline:none;}

#page-home header .site-logo img{width:auto;height:120px;max-width:120px;max-height:120px;object-fit:contain;}

@media (max-width: 900px) {
  .site-logo img{height:100px;max-height:100px;max-width:100px;}
  #page-home header .site-logo img{height:100px;max-height:100px;max-width:100px;}
}

@media (max-width: 640px) {
  .site-logo img{height:100px;max-height:100px;max-width:100px;}
  #page-home header .site-logo img{height:100px;max-height:100px;max-width:100px;}
}

@media (max-width: 640px) {
  .site-logo img{height:52px;max-height:52px;max-width:52px;}
  #page-home header .site-logo img{height:52px;max-height:52px;max-width:52px;}
}

.grain{
  position:fixed;inset:0;z-index:9000;pointer-events:none;
  opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}


.staff-divider-img{
  background-image:url("/assets/staff-divider.webp");
  background-repeat:no-repeat;background-size:contain;background-position:center;
}
#page-home{background:var(--linen);min-height:100vh;}
#page-accommodation{background:var(--linen-soft);min-height:100vh;}
#page-elzeth-art{background:var(--linen-soft);min-height:100vh;}
#page-game{background:var(--linen-soft);min-height:100vh;}
#page-explore{background:var(--linen-soft);min-height:100vh;}
#page-contact{background:var(--linen-soft);min-height:100vh;}

/* ============ HOME PAGE ============ */
#page-home /* film grain — tactile,#page-home premium-print feel over the whole page */
  .grain{
    position:fixed;inset:0;z-index:9000;pointer-events:none;
    opacity:.045;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  #page-home .intro{
    position:fixed;inset:0;z-index:9500;
    background:radial-gradient(120% 90% at 50% 40%, #1f2b1c 0%, var(--green-deep) 55%, #0d140b 100%);
    display:flex;align-items:center;justify-content:center;
    transition:transform 1.6s cubic-bezier(.76,0,.24,1) .3s;
    overflow:hidden;
  }
  #page-home .intro::before{
    content:"";position:absolute;left:50%;top:34%;
    width:130vmin;height:130vmin;transform:translate(-50%,-50%);
    background:radial-gradient(circle, rgba(201,169,105,.20), rgba(201,169,105,.06) 40%, transparent 66%);
    opacity:0;pointer-events:none;
    animation:introRoom 1.6s ease .2s forwards;
  }
  #page-home .intro::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(60% 50% at 30% 45%, rgba(245,224,170,.05), transparent 70%),
               radial-gradient(50% 40% at 72% 58%, rgba(160,190,140,.05), transparent 70%);
    opacity:0;mix-blend-mode:screen;
    animation:introRoom 2.2s ease .4s forwards;
  }
  @keyframes introRoom{ to{ opacity:1; } }
  #page-home .intro.lift{transform:translateY(-100%);}
  body.intro-lock{overflow:hidden;}
  #page-home .intro-stage{position:relative;display:flex;align-items:center;justify-content:center;}
  #page-home .intro-mark{
    font-family:'Fraunces',serif;
    font-size:clamp(2.6rem,9vw,5.6rem);letter-spacing:.34em;
    text-indent:.34em;font-weight:400;
    position:relative;overflow:hidden;
    white-space:nowrap;
  }
  #page-home .intro-mark span{
    display:inline-block;opacity:0;transform:translateY(105%);
    background:linear-gradient(176deg,#fbf4e2 0%,#efe4c8 46%,#d8c49a 78%,#f3e8cc 100%);
    -webkit-background-clip:text;background-clip:text;
    color:transparent;
    text-shadow:0 1px 0 rgba(0,0,0,.12);
    filter:drop-shadow(0 6px 22px rgba(0,0,0,.35));
  }
  #page-home .intro-bloom{
    position:absolute;left:50%;top:50%;
    width:min(78vw,820px);height:min(34vh,300px);
    transform:translate(-50%,-50%) scale(.85);
    background:radial-gradient(ellipse at center, rgba(245,224,170,.55), rgba(245,224,170,.12) 45%, transparent 72%);
    filter:blur(26px);mix-blend-mode:screen;
    opacity:0;pointer-events:none;z-index:0;
    animation:introBloom 3.8s ease-in-out 1.3s both;
  }
  @keyframes introBloom{
    0%{opacity:0;transform:translate(-50%,-50%) scale(.82);}
    26%{opacity:.75;}
    54%{opacity:.4;transform:translate(-50%,-50%) scale(1.06);}
    78%{opacity:.6;transform:translate(-50%,-50%) scale(.98);}
    100%{opacity:0;transform:translate(-50%,-50%) scale(1.02);}
  }
  @media(max-width:560px){#page-home .intro-mark{font-size:clamp(1.6rem,9.5vw,2.2rem);letter-spacing:.14em;text-indent:.14em;}}
  #page-home .intro-stage{transition:opacity 1.1s ease, transform 1.1s ease;}
  #page-home .intro-stage.fade-out{opacity:0;transform:scale(.96);}
  #page-home .intro-model{
    position:absolute;left:50%;top:50%;z-index:1;
    width:min(72vw,510px);height:min(72vw,510px);
    transform:translate(-50%,-50%);
    opacity:0;pointer-events:none;
    transition:opacity 1.25s ease;
  }
  #page-home .intro-model.visible{opacity:1;}
  #page-home .intro-model model-viewer{
    width:100%;height:100%;
    --poster-color:transparent;
    background:transparent;
  }
  #page-home .intro-line{
    position:absolute;left:50%;bottom:-18px;height:1px;width:0;
    background:linear-gradient(90deg,transparent,var(--brass-light) 20%,#fff6dc 50%,var(--brass-light) 80%,transparent);
    transform:translateX(-50%);
    box-shadow:0 0 12px rgba(245,224,170,.7);
  }
  @media (prefers-reduced-motion: reduce){#page-home .intro{display:none;}}
  #page-home h1,#page-home h2,#page-home h3,#page-home .serif{font-family:var(--font-serif);font-weight:400;}
  #page-home .italic{font-style:italic;font-weight:400;}
  #page-home img,#page-home .ph{display:block;width:100%;height:100%;object-fit:cover;}
  #page-home /* placeholder photography blocks for the demo — swap for real photography */
  .ph{
    background:linear-gradient(135deg,#3a4a3d,#23301f 60%,#586a45);
    position:relative;
    overflow:hidden;
  }
  #page-home .ph.warm{background:linear-gradient(135deg,#5a4530,#3a2c1c 60%,#7a5c38);}
  #page-home .ph.blue{background:linear-gradient(135deg,#2a3a4a,#1c2630 60%,#45587a);}
  #page-home .ph.yellow{background:linear-gradient(135deg,#6a5a2a,#4a3c1c 60%,#9a8038);}
  #page-home /* staff-line signature motif */
  .staff{
    width:100%;
    height:36px;
    margin:0 auto;
  }
  #page-home .staff svg{width:100%;height:100%;display:block;}
  #page-home .staff line{stroke:var(--brass);stroke-width:1;opacity:.45;}
  #page-home .site-header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    display:flex;align-items:center;justify-content:space-between;
    padding:1.7rem var(--gutter-home);
    color:var(--linen-soft);
    transition:padding .5s ease, background .5s ease;
  }
  #page-home .site-header{
    background:linear-gradient(
      180deg,
      rgba(15,25,17,.72),
      rgba(15,25,17,.38)
    );
  }
  #page-home header.scrolled{padding:1.05rem var(--gutter-home);background:rgba(20,26,18,.82);backdrop-filter:blur(10px);}
  #page-home .wordmark{font-family:'Fraunces',serif;font-size:1.2rem;letter-spacing:.14em;}
  #page-home nav ul{list-style:none;display:flex;gap:2.4rem;}
  #page-home nav a{
    font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
    position:relative;padding-bottom:3px;color:rgba(237,231,216,.82);
    transition:color .3s ease;
  }
  #page-home nav a::after{
    content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
    background:var(--brass-light);transition:width .4s cubic-bezier(.16,1,.3,1);
  }
  #page-home nav a:hover{color:var(--linen-soft);}
  #page-home nav a:hover::after{width:100%;}
  #page-home .book-pill{
    position:relative;overflow:hidden;
    border:1px solid rgba(201,169,105,.6);
    padding:.55rem 1.5rem;border-radius:100px;
    font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
    color:var(--linen-soft);transition:color .45s ease;z-index:0;
  }
  #page-home .book-pill::before{
    content:'';position:absolute;inset:0;z-index:-1;
    background:var(--brass);transform:scaleX(0);transform-origin:left;
    transition:transform .45s cubic-bezier(.16,1,.3,1);
  }
  #page-home .book-pill:hover{color:#fff;border-color:var(--brass);}
  #page-home .book-pill:hover::before{transform:scaleX(1);}
  @media(max-width:860px){#page-home nav:not(.mobile-nav) ul{display:none;}}
  #page-home /* hero */
  .hero{
    height:100vh;min-height:640px;
    position:relative;
    display:flex;align-items:flex-end;
    overflow:visible;
  }
  #page-home .hero .ph{position:absolute;inset:0;}
  #page-home /* atmospheric golden-hour ground (stands in for photography) */
  .hero .ph{
    background:
      radial-gradient(120% 90% at 78% 18%, rgba(201,169,105,.28) 0%, rgba(201,169,105,0) 42%),
      radial-gradient(140% 120% at 12% 95%, rgba(12,18,12,.9) 0%, rgba(12,18,12,0) 55%),
      linear-gradient(160deg, rgba(70,88,63,.7) 0%, rgba(44,58,42,.8) 38%, rgba(29,39,25,.92) 72%, rgba(20,24,18,.98) 100%),
      url('/assets/img/home-hero.webp');
    background-size:cover, cover, cover, cover;
    background-position:center, center, center, center;
    background-repeat:no-repeat;
    background-blend-mode:overlay, overlay, normal, normal;
  }
  #page-home /* cinematic vignette framing the whole hero */
  .hero-vignette{
    position:absolute;inset:0;z-index:1;pointer-events:none;
    box-shadow:inset 0 0 220px 60px rgba(10,14,9,.7);
  }
  #page-home /* thin brass frame inset,#page-home boutique-hotel detail */
  .hero-frame{
    position:absolute;inset:24px;z-index:3;pointer-events:none;
    border:1px solid rgba(201,169,105,.22);
  }
  #page-home .hero-frame::before,#page-home .hero-frame::after{
    content:'';position:absolute;width:10px;height:10px;
    border:1px solid var(--brass-light);
  }
  #page-home .hero-frame::before{top:-1px;left:-1px;border-right:0;border-bottom:0;}
  #page-home .hero-frame::after{bottom:-1px;right:-1px;border-left:0;border-top:0;}
  #page-home .hero-3d{
    position:absolute;top:0;right:0;
    width:min(64vw,880px);height:100%;
    z-index:2;pointer-events:none;
    opacity:0;transform:translateY(-12px);
    transition:opacity 1.8s ease,transform 2.4s cubic-bezier(.16,1,.3,1);
  }
  #page-home .hero-3d.ready{opacity:1;transform:translateY(0);}
  #page-home .hero-vine-img{
    position:absolute;top:-4%;right:-8%;
    width:128%;height:auto;
    filter:drop-shadow(0 24px 40px rgba(10,14,9,.45));
    transform-origin:top right;
    will-change:transform;
  }
  #page-home .hero-veil{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(20,26,18,.15) 0%,rgba(20,26,18,.1) 40%,rgba(18,22,15,.85) 100%);
  }
  #page-home .hero-content{
    position:relative;z-index:4;color:var(--linen-soft);
    padding:0 var(--gutter-home) 6.5rem;
    max-width:960px;
  }
  #page-home .hero-eyebrow{
    font-size:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;
    color:var(--colour-brass-light);margin-bottom:1.8rem;
    display:flex;align-items:center;gap:.9rem;
  }
  #page-home .hero-eyebrow::before{content:'';width:42px;height:1px;background:var(--brass-light);}
  #page-home .hero h1{
    font-size:var(--type-hero);
    line-height:var(--line-display);
    font-weight:300;
    letter-spacing:var(--tracking-display);
    margin-bottom:1.9rem;
  }
  #page-home .hero-sub{
    font-family:var(--font-serif);
    font-size:clamp(1rem,2.2vw,1.8rem);
    line-height:1.05;
    font-weight:400;
    margin-bottom:1.6rem;
    color:var(--brass);
    text-transform:none;
  }
  #page-home /* per-word reveal mask for the headline */
  .hero h1 .line{display:block;overflow:hidden;padding-bottom:.22em;margin-bottom:-.22em;}
  #page-home .hero h1 .word{display:inline-block;transform:translateY(105%);opacity:0;will-change:transform;margin-right:0.28em;}
  #page-home .hero h1 .word:last-child{margin-right:0;}
  #page-home .hero h1 .italic{color:var(--brass-light);}
  #page-home .hero p{
    font-size:var(--type-body-lead);color:rgba(245,241,230,.82);
    max-width:440px;margin-bottom:2.6rem;font-weight:300;line-height:var(--line-body);
  }
  #page-home /* location badge,#page-home bottom-left — links to Google Maps */
  .hero-rail{
    position:absolute;left:max(4vw,28px);bottom:3rem;z-index:4;
    display:flex;align-items:center;gap:1rem;
    font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
    color:rgba(237,231,216,.55);
    transition:color .3s ease;
  }
  #page-home .hero-rail:hover{color:rgba(237,231,216,.9);}
  #page-home .hero-rail .tick{width:22px;height:1px;background:linear-gradient(90deg,rgba(201,169,105,.7),transparent);}
  @media(max-width:980px){#page-home .hero-rail{display:none;}}
  #page-home /* scroll cue,#page-home bottom-right */
  .scroll-cue{
    position:absolute;right:max(4vw,28px);bottom:3rem;z-index:4;
    display:flex;align-items:center;gap:.8rem;
    font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;
    color:rgba(237,231,216,.55);
  }
  #page-home .scroll-cue .dot{
    width:22px;height:36px;border:1px solid rgba(201,169,105,.5);border-radius:20px;
    position:relative;
  }
  #page-home .scroll-cue .dot::after{
    content:'';position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:3px;
    background:var(--brass-light);transform:translateX(-50%);
    animation:scrollDot 1.9s ease-in-out infinite;
  }
  @keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0);}30%{opacity:1;}100%{opacity:0;transform:translate(-50%,12px);}}
  @media(max-width:980px){#page-home .scroll-cue span{display:none;}}
  #page-home .cta{
    display:inline-flex;align-items:center;gap:.8rem;
    font-size:var(--type-action);letter-spacing:var(--tracking-action);text-transform:uppercase;
    border-bottom:1px solid var(--brass-light);
    padding-bottom:.4rem;
    color:var(--linen-soft);
  }
  #page-home .cta::after{content:'→';transition:transform .3s ease;}
  #page-home .cta:hover::after{transform:translateX(6px);}
  #page-home section{padding:var(--section-space-home) var(--gutter-home);}
  #page-home .container{max-width:var(--content-standard);margin:0 auto;}
  #page-home /* welcome */
  .welcome{
    background:var(--linen-soft);
    position:relative;
    z-index:3;
    overflow:hidden;
    min-height:auto;
    height:auto;
    padding:clamp(88px,8vw,112px) var(--gutter-home) clamp(82px,7.5vw,104px);
  }
  #page-home .welcome .container{
    position:relative;
    z-index:1;
    max-width:900px;
    margin:0 auto;
    text-align:center;
  }
  #page-home .welcome-panel__content{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    margin:0 auto;
    max-width:860px;
  }
  #page-home .welcome-tag{
    font-size:var(--type-eyebrow);
    letter-spacing:var(--tracking-eyebrow);
    text-transform:uppercase;
    color:var(--colour-brass-text);
    margin-bottom:1.85rem;
    justify-content:center;
    display:flex;
  }
  #page-home .welcome h2{
    font-size:var(--type-section);
    line-height:var(--line-heading);
    color:var(--colour-green-deep);
    margin:0 auto 3rem;
    max-width:920px;
  }
  #page-home .welcome h2 .welcome-break{display:inline;}
  #page-home .welcome-copy{
    width:min(100%,760px);
    margin:0 auto;
    font-family:var(--font-sans);
    font-size:var(--type-body);
    font-weight:300;
    line-height:var(--line-body);
  }
  #page-home .welcome-copy p{
    margin:0;
    color:var(--colour-ink-soft);
    text-align:center;
  }
  #page-home .welcome-copy p + p{margin-top:clamp(20px,2vw,26px);}
  #page-home .welcome-goat-illustration{
    display:block;
    width:clamp(155px,12vw,175px);
    max-width:100%;
    height:auto;
    margin:clamp(54px,5vw,72px) auto 0;
    object-fit:contain;
  }
  @media(max-width:860px){
    #page-home .welcome{padding:clamp(82px,10vw,96px) 2.4rem clamp(76px,9vw,90px);}
    #page-home .welcome h2{
      font-size:clamp(1.75rem,6vw,2.3rem);
      margin-bottom:2.4rem;
      max-width:780px;
    }
    #page-home .welcome h2 .welcome-break{display:inline;}
    #page-home .welcome-goat-illustration{
      width:clamp(135px,13vw,155px);
      margin-top:clamp(50px,6vw,62px);
    }
  }
  @media(max-width:600px){
    #page-home .welcome h2 .welcome-break{display:none;}
    #page-home .welcome{padding:68px 1.5rem 66px;}
    #page-home .welcome-goat-illustration{
      width:clamp(115px,18vw,135px);
      margin-top:46px;
    }
  }
  @media(max-width:480px){
    #page-home .welcome-copy{
      width:min(100%,34rem);
      font-size:.975rem;
      line-height:1.65;
    }
  }
  #page-home .welcome .home-social__heading{
    margin:0 0 1.4rem;
    font-size:var(--type-editorial);
  }
  #page-home .welcome .home-social__heading span{
    color:var(--colour-brass-text);
    font-style:normal;
    overflow-wrap:anywhere; /* Keep the long hashtag inside the phone gutter. */
  }
  #page-home .home-social__action{
    color:var(--colour-green-deep);
    border-bottom-color:var(--colour-brass);
  }
  #page-home /* footer */
  footer{
    background:var(--green-deep);color:rgba(237,231,216,.6);
    padding:4.5rem var(--gutter-home) 2.5rem;
    text-align:center;
    position:relative;overflow:hidden;
  }
  #page-home footer .wordmark{color:var(--linen-soft);font-size:1.4rem;display:block;margin-bottom:.6rem;}
  #page-home .footer-mark{
    position:absolute;right:-16px;top:50%;
    width:170px;height:auto;
    transform:translateY(calc(-50% + var(--pv,0px))) rotate(5deg);
    opacity:.5;pointer-events:none;
    filter:drop-shadow(0 20px 40px rgba(0,0,0,.4));
  }
  @media(max-width:760px){#page-home .footer-mark{display:none;}}
  #page-home footer .tagline{font-size:.85rem;font-style:italic;font-family:'Fraunces',serif;color:var(--brass-light);margin-bottom:2.4rem;}
  #page-home footer nav ul{justify-content:center;flex-wrap:wrap;color:rgba(237,231,216,.7);margin-bottom:2.4rem;}
  #page-home footer .fine{font-size:.7rem;letter-spacing:.05em;color:rgba(237,231,216,.66);}
  #page-home [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease;}
  #page-home [data-reveal].in{opacity:1;transform:translateY(0);}
  #page-home /* hero ambient zoom + grape flourish */
  .hero .ph{animation:heroZoom 26s ease-in-out infinite alternate;}
  @keyframes heroZoom{from{transform:scale(1.02);}to{transform:scale(1.11);}}
  #page-home .hero-eyebrow .flourish{width:20px;height:14px;flex-shrink:0;}
  #page-home .hero-eyebrow .flourish circle{fill:var(--brass-light);}
  #page-home /* staged entrance — elements start hidden,#page-home revealed once the intro lifts */
  .hero-eyebrow,#page-home .hero p,#page-home .hero .cta,#page-home .hero-rail,#page-home .scroll-cue{opacity:0;transform:translateY(18px);}
  .reveal-start .hero-eyebrow{animation:heroRise 1s ease .1s both;}
  .reveal-start .hero p{animation:heroRise 1s ease .95s both;}
  .reveal-start .hero .cta{animation:heroRise 1s ease 1.15s both;}
  .reveal-start .hero-rail{animation:heroRise 1.2s ease 1.4s both;}
  .reveal-start .hero .scroll-cue{animation:heroRise 1.2s ease 1.6s both;}
  .reveal-start .hero h1 .word{animation:wordUp 1s cubic-bezier(.16,1,.3,1) both;}
  @keyframes heroRise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
  @keyframes wordUp{from{opacity:0;transform:translateY(105%);}to{opacity:1;transform:translateY(0);}}
  @media (prefers-reduced-motion: reduce){#page-home [data-reveal]{opacity:1;transform:none;transition:none;}
  #page-home .hero .ph{animation:none;}
  #page-home .hero-eyebrow,#page-home .hero p,#page-home .hero .cta,#page-home .hero-rail,#page-home .scroll-cue{opacity:1;transform:none;}
  #page-home .hero h1 .word{opacity:1;transform:none;}
  #page-home .intro{display:none;}
  #page-home .grain{display:none;}
  #page-home .scroll-cue .dot::after{animation:none;}}

/* ============ ACCOMMODATION PAGE ============ */
#page-accommodation {
  --acc-section-space: var(--section-space-accommodation);
  --acc-content-width: var(--content-accommodation);
  background: var(--colour-linen-soft);
}

#page-accommodation main { overflow: clip; }
#page-accommodation main :is(h1, h2, h3) { font-family: var(--font-serif, 'Fraunces', serif); }
#page-accommodation main :is(p, li, a, dt, dd) { font-family: var(--font-sans, 'Inter', sans-serif); }
#page-accommodation .acc-eyebrow {
  margin: 0 0 1rem;
  color: var(--colour-brass-text);
  font-family: var(--font-sans);
  font-size: var(--type-eyebrow);
  font-weight: 500;
  letter-spacing: var(--tracking-eyebrow);
  line-height: 1.4;
  text-transform: uppercase;
}
#page-accommodation .theme-dark .acc-eyebrow { color: var(--colour-brass-light); }

#page-accommodation .acc-hero {
  position: relative;
  min-height: clamp(600px, 78vh, 860px);
  display: flex;
  align-items: flex-end;
  isolation: isolate;
  overflow: hidden;
  background: var(--colour-green-deep);
}
#page-accommodation .acc-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(18, 37, 26, .58) 0%,
      rgba(18, 37, 26, .42) 25%,
      rgba(18, 37, 26, .20) 46%,
      rgba(18, 37, 26, .05) 64%,
      transparent 78%
    ),
    linear-gradient(
      0deg,
      rgba(18, 37, 26, .18) 0%,
      transparent 42%
    );
}
#page-accommodation .acc-hero__image {
  position: absolute;
  inset: 0;
  z-index: -2;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 1;
  filter: none;
}
#page-accommodation .acc-hero__content {
  width: min(100%, var(--acc-content-width));
  margin-inline: auto;
  padding: clamp(10rem, 18vh, 14rem) var(--gutter-accommodation) clamp(3.5rem, 7vw, 6.5rem);
  color: var(--colour-linen-soft);
  text-shadow: 0 2px 18px rgba(8, 18, 12, .32);
}
#page-accommodation .acc-hero h1 {
  max-width: 850px;
  margin: 0 0 1.25rem;
  font-size: var(--type-hero);
  font-style: normal;
  font-weight: 400;
  line-height: var(--line-display);
  letter-spacing: var(--tracking-display);
}
#page-accommodation .acc-hero__intro {
  max-width: 660px;
  color: rgba(244, 238, 225, .86);
  font-size: var(--type-body-lead);
  line-height: var(--line-body);
  text-shadow: 0 1px 10px rgba(8, 18, 12, .38);
}
#page-accommodation .acc-anchor-nav {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0;
  width: fit-content;
  max-width: 100%;
  margin-top: 2.25rem;
  background: rgba(18, 37, 26, .24);
  border: 1px solid rgba(194, 154, 85, .42);
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}
#page-accommodation .acc-anchor-nav a {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(1.25rem, 2vw, 2rem);
  background: transparent;
  color: #f4eee1;
  font-size: var(--type-action);
  font-weight: 500;
  letter-spacing: var(--tracking-action);
  text-transform: uppercase;
  transition: color .2s ease, background .2s ease;
}
#page-accommodation .acc-anchor-nav a + a { border-left: 1px solid rgba(194, 154, 85, .38); }
#page-accommodation .acc-anchor-nav a:hover,
#page-accommodation .acc-anchor-nav a:focus-visible { color: #f4eee1; background: rgba(194, 154, 85, .18); outline: 2px solid #c29a55; outline-offset: -3px; }

#page-accommodation .acc-overview {
  width: min(100%, var(--acc-content-width));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  column-gap: clamp(3rem, 5vw, 6rem);
  align-items: start;
  padding: var(--acc-section-space) var(--gutter-accommodation);
}
#page-accommodation .acc-overview__heading,
#page-accommodation .acc-overview__copy { min-width: 0; }
#page-accommodation .acc-overview__eyebrow { margin-bottom: clamp(1rem, 1.5vw, 1.4rem); font-size: var(--type-eyebrow); line-height: 1.4; letter-spacing: var(--tracking-eyebrow); }
#page-accommodation .acc-overview__title {
  max-width: 520px;
  margin: 0;
  color: var(--colour-green-deep);
  font-family: var(--font-serif, 'Fraunces', serif);
  font-size: var(--type-section);
  font-weight: 400;
  line-height: var(--line-heading);
  letter-spacing: var(--tracking-display);
}
#page-accommodation .acc-overview__title-line { display: block; }
#page-accommodation .acc-overview__title-line--primary { white-space: normal; }
#page-accommodation .acc-strings-intro h2,
#page-accommodation .acc-practical h2,
#page-accommodation .acc-final-booking h2 {
  color: var(--colour-green-deep);
  font-size: var(--type-section);
  font-weight: 400;
  line-height: var(--line-heading);
}
#page-accommodation .acc-overview__copy {
  max-width: var(--text-max-intro);
  color: var(--colour-ink-soft);
  font-family: var(--font-sans, 'Inter', sans-serif);
  font-size: var(--type-body-lead);
  font-weight: 300;
  line-height: var(--line-body);
}
#page-accommodation .acc-overview__copy p { margin: 0; color: inherit; font-size: inherit; line-height: inherit; }
#page-accommodation .acc-overview__copy p + p { margin-top: 1rem; }

@media (max-width: 1100px) {
  #page-accommodation .acc-overview { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(2.5rem, 5vw, 4.5rem); }
  #page-accommodation .acc-overview__title { font-size: var(--type-section); }
}

@media (max-width: 900px) {
  #page-accommodation .acc-overview { grid-template-columns: 1fr; gap: 2rem; }
  #page-accommodation .acc-overview__copy { max-width: var(--text-max-reading); }
}

@media (max-width: 600px) {
  #page-accommodation .acc-overview__title { font-size: var(--type-section); line-height: var(--line-heading); letter-spacing: var(--tracking-display); }
  #page-accommodation .acc-overview__title-line--primary { white-space: normal; }
  #page-accommodation .acc-overview__copy { max-width: none; font-size: var(--type-body-lead); line-height: var(--line-body); }
}

#page-accommodation :is(.acc-stay, #strings, #outdoor) { scroll-margin-top: 170px; }
#page-accommodation .acc-establishing {
  position: relative;
  height: clamp(520px, 65vw, 860px);
  overflow: hidden;
  background: #12251a;
}
#page-accommodation .acc-establishing img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
#page-accommodation .acc-stay--flute .acc-establishing { height: clamp(420px, 42vw, 640px); }
#page-accommodation .acc-stay--flute .acc-establishing img { object-position: center center; }
#page-accommodation .acc-establishing figcaption {
  position: absolute;
  left: var(--gutter-accommodation);
  bottom: clamp(1.5rem, 4vw, 3rem);
  max-width: calc(100% - 3rem);
  padding: .75rem 1rem;
  color: #f4eee1;
  background: rgba(18, 37, 26, .88);
  border: 1px solid rgba(194, 154, 85, .5);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .15em;
  text-transform: uppercase;
}
#page-accommodation .acc-establishing figcaption span { color: #c29a55; padding-inline: .45rem; }

#page-accommodation .acc-split { display: grid; grid-template-columns: 1fr 1fr; background: var(--colour-green-deep); color: var(--colour-linen-soft); }
#page-accommodation .acc-split--reverse .acc-split__copy { order: 2; }
#page-accommodation .acc-split--reverse .acc-split__image { order: 1; }
#page-accommodation .acc-split__copy {
  min-width: 0;
  padding: var(--section-space-accommodation) clamp(2rem, 6vw, 6rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#page-accommodation .acc-split__copy h2 {
  margin: 0 0 1.5rem;
  color: var(--colour-linen-soft);
  font-size: var(--type-section);
  font-style: normal;
  font-weight: 400;
  line-height: var(--line-heading);
  letter-spacing: var(--tracking-display);
}
#page-accommodation .acc-split__copy > p { max-width: 650px; color: rgba(245, 241, 230, .78); font-size: var(--type-body); line-height: var(--line-body); }
#page-accommodation .acc-split__copy > p + p { margin-top: 1rem; }
#page-accommodation .acc-split__image { min-height: 640px; overflow: hidden; }
#page-accommodation .acc-split__image img { width: 100%; height: 100%; object-fit: cover; }
#page-accommodation .acc-stay--flute .acc-split__image img { object-position: 50% 52%; }
#page-accommodation .acc-movement { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
#page-accommodation .acc-movement img { width: 38px; height: 38px; object-fit: contain; }
#page-accommodation .acc-movement .acc-eyebrow { margin: 0; color: #c29a55; }
#page-accommodation .acc-meta { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; margin-top: 1.6rem; list-style: none; }
#page-accommodation .acc-meta li { color: #d8d1c4; font-size: .72rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
#page-accommodation .acc-meta li:not(:last-child)::after { content: "·"; margin-left: 1.2rem; color: #c29a55; }
#page-accommodation .acc-book-link {
  width: fit-content;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-top: 1.8rem;
  padding-bottom: .25rem;
  color: var(--colour-brass-text);
  border-bottom: 1px solid currentColor;
  font-size: var(--type-action);
  font-weight: 500;
  letter-spacing: var(--tracking-action);
  text-transform: uppercase;
}
#page-accommodation .acc-book-link::after { content: "→"; transition: transform .2s ease; }
#page-accommodation .acc-book-link:hover::after { transform: translateX(4px); }
#page-accommodation .acc-book-link:focus-visible { outline: 2px solid #c29a55; outline-offset: 5px; }
#page-accommodation .theme-dark .acc-book-link { color: var(--colour-brass-light); }

#page-accommodation .acc-content-block { padding: var(--acc-section-space) var(--gutter-accommodation); background: var(--colour-linen-soft); }
#page-accommodation .acc-content-block > * { width: min(100%, var(--acc-content-width)); margin-inline: auto; }
#page-accommodation .acc-section-heading { margin-bottom: 2rem; }
#page-accommodation .acc-section-heading h3 { color: var(--colour-green-deep); font-size: var(--type-editorial); font-style: normal; font-weight: 400; line-height: var(--line-heading); letter-spacing: var(--tracking-display); }
#page-accommodation .acc-gallery { display: grid; gap: .6rem; }
#page-accommodation .acc-gallery figure { overflow: hidden; background: #d8d1c4; }
#page-accommodation .acc-gallery img { width: 100%; height: 100%; object-fit: cover; }
#page-accommodation .acc-gallery--feature { grid-template-columns: 1.45fr 1fr 1fr; grid-template-rows: 260px 260px; }
#page-accommodation .acc-gallery--feature .acc-gallery__primary { grid-row: 1 / 3; }
#page-accommodation .acc-gallery--room { grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: 230px 230px; }
#page-accommodation .acc-gallery--room .acc-gallery__primary { grid-row: 1 / 3; }
#page-accommodation .acc-gallery--room figure:last-child { grid-column: 2 / 4; }
#page-accommodation .acc-amenity-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 2.5rem;
  border-block: 1px solid #d8c9a7;
  list-style: none;
}
#page-accommodation .acc-amenity-strip li { min-width: 0; padding: .8rem .65rem; color: var(--colour-ink-soft); border-bottom: 1px solid rgba(216, 201, 167, .45); font-size: .77rem; line-height: 1.35; }
#page-accommodation .acc-amenity-strip strong { color: #172219; font-weight: 600; }
#page-accommodation .acc-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; background: #d8c9a7; }
#page-accommodation .acc-feature-grid--four { grid-template-columns: repeat(4, 1fr); }
#page-accommodation .acc-feature { padding: clamp(1.5rem, 3vw, 2.4rem); background: #efe7d7; }
#page-accommodation .acc-feature h3 { margin-bottom: .7rem; color: var(--colour-green-deep); font-size: var(--type-card); font-style: normal; font-weight: 400; line-height: var(--line-subheading); }
#page-accommodation .acc-feature p { color: var(--colour-ink-soft); font-size: .9rem; line-height: 1.65; }
#page-accommodation .acc-perfect { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 1.5rem 2rem; margin-top: 2.5rem; padding-block: 1.3rem; border-block: 1px solid #d8c9a7; }
#page-accommodation .acc-perfect h3 { color: var(--colour-green-deep); font-size: var(--type-card); font-style: normal; white-space: nowrap; }
#page-accommodation .acc-perfect ul { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; list-style: none; }
#page-accommodation .acc-perfect li { color: var(--colour-ink-soft); font-size: .77rem; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; }
#page-accommodation .acc-book-link--closing { color: var(--colour-brass-text); }

/* Reusable accommodation photography */
#page-accommodation .accommodation-gallery .photo-gallery__intro { max-width: 760px; margin: 0 0 2.25rem; }
#page-accommodation .accommodation-gallery .photo-gallery__intro h3,
#page-accommodation .floorplan h3 { margin:0 0 .8rem; color:var(--green-deep); font-size:clamp(2rem,3vw,3rem); font-weight:400; line-height:1.08; }
#page-accommodation .accommodation-gallery .photo-gallery__intro > p:last-child { color:var(--colour-ink-soft); font-size:1rem; line-height:1.75; }
#page-accommodation .accommodation-gallery .photo-gallery__preview { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr); grid-template-rows:repeat(3,190px); gap:.55rem; }
#page-accommodation .accommodation-gallery .photo-tile { position:relative; min-height:44px; padding:0; overflow:hidden; border:0; border-radius:0; background:#c8c0ae; cursor:pointer; text-align:left; }
#page-accommodation .accommodation-gallery .photo-tile--feature { grid-row:1 / 4; }
#page-accommodation .accommodation-gallery .photo-tile picture,#page-accommodation .accommodation-gallery .photo-tile img { display:block; width:100%; height:100%; }
#page-accommodation .accommodation-gallery .photo-tile img { object-fit:cover; transition:transform .45s ease; }
#page-accommodation .accommodation-gallery .photo-tile:hover img,#page-accommodation .accommodation-gallery .photo-tile:focus-visible img { transform:scale(1.02); }
#page-accommodation .accommodation-gallery .photo-tile:focus-visible { outline:3px solid var(--brass); outline-offset:3px; z-index:2; }
#page-accommodation .accommodation-gallery .photo-tile__caption { position:absolute; left:.9rem; bottom:.75rem; padding:.25rem .45rem; color:var(--linen-soft); background:rgba(18,37,26,.78); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
#page-accommodation .accommodation-gallery .photo-tile__shade { position:absolute; inset:0; background:rgba(18,37,26,.62); transition:background .25s ease; }
#page-accommodation .accommodation-gallery .photo-tile--all:hover .photo-tile__shade { background:rgba(18,37,26,.52); }
#page-accommodation .accommodation-gallery .photo-tile__all { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:1.3rem; color:var(--linen-soft); }
#page-accommodation .accommodation-gallery .photo-tile__all strong { font-family:var(--font-serif,'Fraunces',serif); font-size:1.35rem; font-weight:400; }
#page-accommodation .accommodation-gallery .photo-tile__all span,#page-accommodation .accommodation-gallery .photo-tile__all small { font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; }
#page-accommodation .accommodation-gallery .photo-tile__all small { margin-top:.25rem; color:var(--brass-light); }
#page-accommodation .gallery-lightbox[hidden] { display:none; }
#page-accommodation .gallery-lightbox { position:fixed; inset:0; z-index:10000; display:grid; grid-template-rows:auto 1fr; padding:1rem clamp(1rem,3vw,2.5rem) 1.5rem; color:var(--linen-soft); background:#101c16; }
#page-accommodation .gallery-lightbox__close { position:absolute; top:.75rem; right:clamp(1rem,3vw,2rem); z-index:2; width:48px; height:48px; border:1px solid rgba(201,169,105,.55); border-radius:50%; color:var(--linen-soft); background:#18271f; font-size:2rem; cursor:pointer; }
#page-accommodation .gallery-lightbox__tabs { display:flex; gap:1.5rem; padding:.75rem 4.5rem 1rem 0; overflow-x:auto; scrollbar-width:thin; }
#page-accommodation .gallery-lightbox__tabs button { flex:0 0 auto; min-height:44px; padding:.5rem 0; border:0; border-bottom:2px solid transparent; color:rgba(245,241,230,.65); background:none; font:500 .68rem var(--font-sans,'Inter',sans-serif); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
#page-accommodation .gallery-lightbox__tabs button[aria-selected="true"] { color:var(--linen-soft); border-color:var(--brass-light); }
#page-accommodation .gallery-lightbox button:focus-visible { outline:2px solid var(--brass-light); outline-offset:3px; }
#page-accommodation .gallery-lightbox__stage { min-height:0; display:grid; grid-template-columns:50px minmax(0,1fr) 50px; align-items:center; gap:clamp(.5rem,2vw,1.5rem); }
#page-accommodation .gallery-lightbox__stage figure { min-width:0; height:100%; display:grid; grid-template-rows:minmax(0,1fr) auto; }
#page-accommodation .gallery-lightbox__image { min-height:0; display:flex; align-items:center; justify-content:center; }
#page-accommodation .gallery-lightbox__image picture { display:contents; }
#page-accommodation .gallery-lightbox__image img { max-width:100%; max-height:calc(100vh - 205px); width:auto; height:auto; object-fit:contain; }
#page-accommodation .gallery-lightbox__arrow { width:48px; height:48px; border:1px solid rgba(201,169,105,.55); border-radius:50%; color:var(--linen-soft); background:transparent; font-size:1.2rem; cursor:pointer; }
#page-accommodation .gallery-lightbox figcaption { display:flex; justify-content:space-between; gap:2rem; padding-top:1rem; }
#page-accommodation .gallery-lightbox figcaption h3 { margin:.1rem 0; color:var(--linen-soft); font:400 clamp(1.2rem,2vw,1.65rem) var(--font-serif,'Fraunces',serif); }
#page-accommodation .gallery-lightbox__eyebrow,#page-accommodation .gallery-lightbox__counter { color:var(--brass-light); font-size:.64rem; letter-spacing:.13em; text-transform:uppercase; }
#page-accommodation .gallery-lightbox__caption { color:rgba(245,241,230,.7); font-size:.84rem; }
#page-accommodation .gallery-lightbox__counter { align-self:center; white-space:nowrap; }
#page-accommodation .floorplan { margin-top:clamp(4rem,7vw,7rem); padding-top:clamp(3rem,5vw,5rem); border-top:1px solid #d8c9a7; }
#page-accommodation .floorplan__heading { margin-bottom:1.5rem; }
#page-accommodation .floorplan__layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:clamp(1.5rem,4vw,4rem); align-items:start; }
#page-accommodation .floorplan__canvas { background:#e7dfcf; }
#page-accommodation .floorplan__image-wrap { position:relative; width:100%; }
#page-accommodation .floorplan__image { display:block; width:100%; height:auto; }
#page-accommodation .floorplan__marker-layer { position:absolute; inset:0; }
#page-accommodation .floorplan__marker { --marker-visible-size:30px; --marker-font-size:.62rem; position:absolute; left:var(--x); top:var(--y); width:40px; height:40px; display:grid; place-items:center; padding:0; transform:translate(-50%,-50%); border:0; border-radius:50%; background:transparent; cursor:pointer; }
#page-accommodation .floorplan__marker-circle { width:var(--marker-visible-size); height:var(--marker-visible-size); display:grid; place-items:center; border:1px solid var(--brass-light); border-radius:50%; color:var(--linen-soft); background:var(--green-deep); font-size:var(--marker-font-size); }
#page-accommodation .floorplan__marker:hover::after,#page-accommodation .floorplan__marker:focus-visible::after { content:attr(aria-label); position:absolute; left:50%; bottom:42px; width:max-content; max-width:180px; padding:.45rem .6rem; transform:translateX(-50%); color:var(--linen-soft); background:var(--green-deep); font-size:.68rem; }
#page-accommodation .floorplan__marker:focus-visible { outline:2px solid var(--brass); }
#page-accommodation .floorplan__marker.is-active .floorplan__marker-circle { outline:2px solid var(--brass-light); outline-offset:2px; }
#page-accommodation .floorplan__launch,#page-accommodation .floorplan__dialog { display:none; }
#page-accommodation .floorplan__legend { display:grid; list-style:none; border-top:1px solid #d8c9a7; }
#page-accommodation .floorplan__legend button { width:100%; min-height:46px; display:grid; grid-template-columns:2.2rem 1fr auto; gap:.4rem; align-items:center; padding:.45rem 0; border:0; border-bottom:1px solid #d8c9a7; color:var(--green-deep); background:none; text-align:left; cursor:pointer; }
#page-accommodation .floorplan__legend button > span { color:var(--brass); font-size:.68rem; }
#page-accommodation .floorplan__legend small { color:var(--colour-ink-soft); font-size:.62rem; }
#page-accommodation .floorplan__panel { position:absolute; left:1rem; right:1rem; bottom:1rem; z-index:3; padding:1rem; color:var(--linen-soft); background:var(--green-deep); }
#page-accommodation .floorplan__panel span { display:block; color:var(--brass-light); font-size:.7rem; }
#page-accommodation .floorplan__panel button { min-height:44px; margin-top:.5rem; padding:.35rem 0; border:0; border-bottom:1px solid var(--brass-light); color:var(--linen-soft); background:none; }

@media (min-width:768px) {
  #page-accommodation .floorplan__marker { left:var(--desktop-x,var(--x)); top:var(--desktop-y,var(--y)); }
}
@media (min-width:768px) and (max-width:1024px) {
  #page-accommodation .floorplan__marker { --marker-visible-size:24px; --marker-font-size:9px; width:44px; height:44px; }
}
@media (max-width:768px) {
  #page-accommodation .accommodation-gallery .photo-gallery__preview { grid-template-columns:1fr 1fr; grid-template-rows:auto auto auto; }
  #page-accommodation .accommodation-gallery .photo-tile--feature { grid-column:1 / 3; grid-row:auto; aspect-ratio:4 / 3; }
  #page-accommodation .accommodation-gallery .photo-tile--support-1,#page-accommodation .accommodation-gallery .photo-tile--support-2 { aspect-ratio:4 / 3; }
  #page-accommodation .accommodation-gallery .photo-tile--all { grid-column:1 / 3; min-height:170px; }
  #page-accommodation .floorplan__layout { grid-template-columns:1fr; }
  #page-accommodation .floorplan__legend { grid-template-columns:1fr 1fr; column-gap:1.2rem; }
  #page-accommodation .gallery-lightbox { padding-inline:.75rem; }
  #page-accommodation .gallery-lightbox__stage { grid-template-columns:1fr; }
  #page-accommodation .gallery-lightbox__arrow { position:absolute; top:50%; z-index:2; background:rgba(16,28,22,.78); }
  #page-accommodation .gallery-lightbox__arrow--prev { left:.75rem; } #page-accommodation .gallery-lightbox__arrow--next { right:.75rem; }
  #page-accommodation .gallery-lightbox__tabs { padding-right:4rem; }
}
@media (max-width:767px) {
  body.floorplan-dialog-open { overflow:hidden; }
  #page-accommodation .floorplan__marker-layer--inline { display:none; }
  #page-accommodation .floorplan__launch { width:100%; min-height:44px; display:block; padding:.7rem 1rem; border:0; border-top:1px solid #d8c9a7; color:var(--green-deep); background:#eee7d8; font:500 .68rem var(--font-sans,'Inter',sans-serif); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
  #page-accommodation .floorplan__launch:focus-visible,#page-accommodation .floorplan__dialog button:focus-visible { outline:2px solid var(--brass); outline-offset:2px; }
  #page-accommodation .floorplan__dialog { position:fixed; inset:clamp(.5rem,2vw,1rem); z-index:1001; display:block; padding:3.5rem .5rem .5rem; color:var(--linen-soft); background:var(--green-deep); }
  #page-accommodation .floorplan__dialog[hidden] { display:none; }
  #page-accommodation .floorplan__dialog-close { position:absolute; top:.4rem; right:.5rem; z-index:4; width:44px; height:44px; padding:0; border:1px solid rgba(201,169,105,.55); border-radius:50%; color:var(--linen-soft); background:var(--green-deep); font-size:1.4rem; cursor:pointer; }
  #page-accommodation .floorplan__dialog-viewport { height:calc(100dvh - 5rem); overflow:auto; overscroll-behavior:contain; }
  #page-accommodation .floorplan__dialog .floorplan__image-wrap { width:820px; max-width:none; margin:0 auto; }
  #page-accommodation .floorplan__dialog .floorplan__marker { --marker-visible-size:26px; --marker-font-size:9px; width:44px; height:44px; }
  #page-accommodation .floorplan__dialog .floorplan__marker:hover::after,#page-accommodation .floorplan__dialog .floorplan__marker:focus-visible::after { content:none; }
  #page-accommodation .floorplan__dialog .floorplan__panel { position:fixed; left:clamp(1rem,4vw,2rem); right:clamp(1rem,4vw,2rem); bottom:clamp(1rem,4vw,2rem); }
}
@media (max-width:480px) {
  #page-accommodation .accommodation-gallery .photo-gallery__preview { grid-template-columns:1fr; }
  #page-accommodation .accommodation-gallery .photo-tile--feature,#page-accommodation .accommodation-gallery .photo-tile--all { grid-column:auto; }
  #page-accommodation .accommodation-gallery .photo-tile--support-1,#page-accommodation .accommodation-gallery .photo-tile--support-2 { aspect-ratio:16 / 10; }
  #page-accommodation .floorplan__legend { grid-template-columns:1fr; }
  #page-accommodation .gallery-lightbox figcaption { gap:1rem; }
  #page-accommodation .gallery-lightbox__caption { display:none; }
}
@media (prefers-reduced-motion:reduce) { #page-accommodation .accommodation-gallery .photo-tile img,#page-accommodation .accommodation-gallery .photo-tile__shade { transition:none; } }

#page-accommodation .acc-strings-intro { min-height: clamp(650px, 65vw, 860px); display: grid; grid-template-columns: minmax(0, 48%) minmax(0, 52%); background: var(--colour-green-deep); }
#page-accommodation .acc-strings-intro__image { min-width: 0; min-height: 100%; overflow: hidden; }
#page-accommodation .acc-strings-intro__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
#page-accommodation .acc-strings-intro__panel { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: clamp(3.5rem, 6vw, 7rem) clamp(2rem, 6vw, 7rem); background: var(--colour-green-deep); color: var(--colour-linen-soft); }
#page-accommodation .acc-strings-intro__panel .acc-strings-intro__staff { width: min(100%, 420px); height: auto; aspect-ratio: 6.76 / 1; margin: .85rem 0 1.5rem; background-position: left center; opacity: .58; filter: sepia(1) saturate(.7) brightness(1.15); }
#page-accommodation .acc-strings-intro h2 { max-width: 660px; margin: .55rem 0 1.5rem; color: var(--colour-linen-soft); font-style: normal; letter-spacing: var(--tracking-display); }
#page-accommodation .acc-strings-intro__headline span { display: block; white-space: nowrap; }
#page-accommodation .acc-strings-intro__headline-primary { margin-bottom: .1em; font-size: clamp(3.4rem, 5vw, 5.5rem); font-weight: 400; line-height: .95; }
#page-accommodation .acc-strings-intro__headline-secondary { font-size: clamp(2.4rem, 3.6vw, 4rem); font-weight: 300; line-height: 1.02; }
#page-accommodation .acc-strings-intro__copy { max-width: 610px; color: rgba(244, 238, 225, .76); font-size: var(--type-body); line-height: var(--line-body); }
#page-accommodation .acc-strings-intro__privacy { max-width: 610px; margin-top: 1.25rem; color: var(--colour-linen); font-family: var(--font-serif); font-size: clamp(1.05rem, 1.4vw, 1.3rem); font-style: italic; line-height: 1.55; }
#page-accommodation .acc-strings-intro__meta { max-width: 650px; margin-top: 1.65rem; color: var(--colour-brass-light); font-size: var(--type-eyebrow); font-weight: 600; letter-spacing: var(--tracking-action); line-height: 1.8; text-transform: uppercase; }
#page-accommodation .acc-strings-intro__link { margin-top: 1.5rem; color: #f4eee1; }
#page-accommodation .acc-strings-intro__identities { margin-top: clamp(2.25rem, 4vw, 4rem); padding-top: 1.2rem; display: flex; flex-wrap: wrap; gap: .55rem 1.8rem; border-top: 1px solid rgba(194, 154, 85, .3); color: rgba(244, 238, 225, .64); font-size: .76rem; letter-spacing: .06em; }
#page-accommodation .acc-strings-intro__identities em { color: #c29a55; font-family: var(--font-serif, 'Fraunces', serif); font-size: 1rem; font-weight: 400; }

#page-accommodation .strings-choices { padding: clamp(3.5rem, 7vw, 6rem) var(--gutter-accommodation); background: #eee5d5; }
#page-accommodation .strings-choices__heading { width: min(100%, var(--acc-content-width)); margin: 0 auto 2.5rem; text-align: center; }
#page-accommodation .strings-choices__heading h2 { margin-bottom: .65rem; }
#page-accommodation .strings-choices__heading > p:last-child { color: var(--colour-ink-soft); }
#page-accommodation .strings-choices__grid { width: min(100%, var(--acc-content-width)); margin-inline: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
#page-accommodation .strings-choice { display: flex; flex-direction: column; padding: clamp(1.6rem, 3vw, 2.5rem); border-top: 3px solid #c29a55; background: rgba(244, 238, 225, .78); }
#page-accommodation .strings-choice--blue { border-color: #536f87; }
#page-accommodation .strings-choice--yellow { border-color: #aa8841; }
#page-accommodation .strings-room__door-name { margin: .25rem 0 1rem; color: #c29a55; font-family: var(--font-serif, 'Fraunces', serif); font-size: clamp(1rem, 1.4vw, 1.25rem); font-style: italic; font-weight: 400; line-height: 1.2; }
#page-accommodation .strings-choice .strings-room__door-name { margin: -.45rem 0 1rem; color: var(--colour-brass-text); }
#page-accommodation .strings-room__intro h2 + .strings-room__door-name { margin-top: -.65rem; }
#page-accommodation .strings-choice h3 { margin-bottom: 1.4rem; color: var(--colour-green-deep); font-size: var(--type-card); font-style: normal; line-height: var(--line-subheading); }
#page-accommodation .strings-choice ul { margin: 0 0 1.8rem; padding: 0; display: grid; gap: .55rem; list-style: none; color: #62665f; font-size: .86rem; line-height: 1.5; }
#page-accommodation .strings-choice li { padding-bottom: .45rem; border-bottom: 1px solid rgba(64, 73, 64, .14); }
#page-accommodation .strings-choice a { margin-top: auto; color: var(--colour-brass-text); font-size: var(--type-action); font-weight: 600; letter-spacing: var(--tracking-action); text-transform: uppercase; }

#page-accommodation .strings-choice a {
  position: relative;
  width: fit-content;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  transition: color 180ms ease;
}

#page-accommodation .strings-choice a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 5px;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(.28);
  transform-origin: left;
  transition: transform 180ms ease;
}

#page-accommodation .strings-choice a:is(:hover, :focus-visible) {
  color: var(--colour-green-deep);
}

#page-accommodation .strings-choice a:is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}

#page-accommodation .strings-choice a:focus-visible {
  outline: 2px solid var(--colour-brass-text);
  outline-offset: 4px;
}

#page-accommodation .acc-practical dd a,
#page-contact .form-fine a {
  transition: color 180ms ease, border-color 180ms ease;
}

#page-accommodation .acc-practical dd a:is(:hover, :focus-visible),
#page-contact .form-fine a:is(:hover, :focus-visible) {
  color: var(--colour-brass-text);
  border-color: currentColor;
}

@media (prefers-reduced-motion: reduce) {
  #page-accommodation .strings-choice a::after {
    transition: none;
  }
}

/* ========================================================================== */
/* Master editorial link: short resting line extends on hover/focus           */
/* ========================================================================== */

:is(
  #page-home .cta,
  #page-accommodation .strings-choice a,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
) {
  position: relative;
  width: fit-content;
  border-bottom-color: transparent;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: left bottom 5px;
  background-size: 2.5rem 1px;
  transition:
    color 180ms ease,
    border-color 180ms ease,
    background-size 180ms ease;
}

:is(
  #page-home .cta,
  #page-accommodation .strings-choice a,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
):is(:hover, :focus-visible) {
  background-size: 100% 1px;
}

/* The Strings rule is now represented by the shared background line. */
#page-accommodation .strings-choice a::after {
  content: none;
}

/* Final shared arrow contract for editorial links. */
:is(
  #page-home .cta,
  #page-accommodation .strings-choice a,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
)::after,
#page-accommodation .acc-book-link:has(> span[aria-hidden="true"])::after {
  content: "→";
  display: inline-block;
  margin-left: .1rem;
  transition: transform 180ms ease;
}

:is(
  #page-home .cta,
  #page-accommodation .strings-choice a,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
):is(:hover, :focus-visible)::after {
  transform: translateX(4px);
}

/* Make the compact mobile-menu control visible against photography while
   keeping it visually consistent with the booking controls. */
@media (max-width:860px) {
  :is(
    #page-home,
    #page-accommodation,
    #page-elzeth-art,
    #page-game,
    #page-explore,
    #page-contact
  ) > .site-header .menu-btn {
    padding:0 8px;
    color:var(--colour-brass-light);
    background:rgba(17,42,35,.72);
    border:1px solid rgba(201,169,105,.7);
    border-radius:6px;
    transition:background-color 180ms ease,border-color 180ms ease;
  }

  :is(
    #page-home,
    #page-accommodation,
    #page-elzeth-art,
    #page-game,
    #page-explore,
    #page-contact
  ) > .site-header .menu-btn:is(:hover,:focus-visible,.open) {
    background:var(--colour-brass-light);
    border-color:var(--colour-brass-light);
  }

  :is(
    #page-home,
    #page-accommodation,
    #page-elzeth-art,
    #page-game,
    #page-explore,
    #page-contact
  ) > .site-header .menu-btn:is(:hover,:focus-visible,.open) span {
    background:var(--colour-green-deep);
  }
}

:is(
  #page-accommodation .acc-book-link,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a
) > span[aria-hidden="true"] {
  display: none;
}

/* Every master editorial link carries the same directional cue. */
:is(
  #page-home .cta,
  #page-accommodation .strings-choice a,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
)::after,
#page-accommodation .acc-book-link:has(> span[aria-hidden="true"])::after {
  content: "→";
  display: inline-block;
  margin-left: .1rem;
  transition: transform 180ms ease;
}

:is(
  #page-home .cta,
  #page-accommodation .strings-choice a,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
):is(:hover, :focus-visible)::after {
  transform: translateX(4px);
}

/* Some legacy links include an arrow in their HTML; the shared arrow replaces it. */
:is(
  #page-accommodation .acc-book-link,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a
) > span[aria-hidden="true"] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  :is(
    #page-home .cta,
    #page-accommodation .strings-choice a,
    #page-accommodation .acc-book-link,
    #page-accommodation .acc-booking-choice a,
    #page-elzeth-art .art-work__enquire,
    #page-elzeth-art .art-collect__link,
    #page-elzeth-art .art-follow__link,
    #page-explore .stay-facility a,
    #page-explore .estate-link,
    #page-explore .info-card .links a,
    #page-explore .split-text .links a,
    #page-explore .trail-btn,
    #page-contact .directions-btn
  )::after {
    transition: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    #page-home .cta,
    #page-accommodation .strings-choice a,
    #page-accommodation .acc-book-link,
    #page-accommodation .acc-booking-choice a,
    #page-elzeth-art .art-work__enquire,
    #page-elzeth-art .art-collect__link,
    #page-elzeth-art .art-follow__link,
    #page-explore .stay-facility a,
    #page-explore .estate-link,
    #page-explore .info-card .links a,
    #page-explore .split-text .links a,
    #page-explore .trail-btn,
    #page-contact .directions-btn
  ) {
    transition: none;
  }
}
#page-accommodation .strings-privacy-note { max-width: 34rem; margin-top: 1.1rem; padding-left: 1rem; border-left: 2px solid #c29a55; color: rgba(244, 238, 225, .75); font-size: .82rem; line-height: 1.6; }

#page-accommodation .acc-full-strings { padding: clamp(4.5rem, 6vw, 5.5rem) var(--gutter-accommodation); background: var(--colour-linen-soft); }
#page-accommodation .acc-full-strings__hero,
#page-accommodation .acc-full-strings__content { width: min(100%, var(--acc-content-width)); margin-inline: auto; }
#page-accommodation .acc-full-strings__hero { height: clamp(440px, 48vw, 650px); overflow: hidden; background: #d8d1c4; }
#page-accommodation .acc-full-strings__hero img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
#page-accommodation .acc-full-strings__content {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .95fr);
  grid-template-areas: "heading facts" "description perfect" "description cta";
  column-gap: clamp(3rem, 6vw, 6rem);
  align-items: start;
  margin-top: clamp(2.8rem, 4vw, 3.75rem);
}
#page-accommodation .acc-full-strings__heading { grid-area: heading; }
#page-accommodation .acc-full-strings h2 { margin: 0; color: var(--colour-green-deep); font-size: var(--type-section); font-style: normal; line-height: var(--line-heading); letter-spacing: var(--tracking-display); }
#page-accommodation .acc-full-strings__facts { grid-area: facts; margin: 0; padding: 0 0 1.25rem clamp(1.5rem, 3vw, 2.5rem); display: grid; gap: .55rem; border-left: 1px solid rgba(194, 154, 85, .55); list-style: none; }
#page-accommodation .acc-full-strings__facts li { padding-bottom: .45rem; border-bottom: 1px solid rgba(194, 154, 85, .28); color: var(--colour-brass-text); font-size: .7rem; font-weight: 600; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase; }
#page-accommodation .acc-full-strings__description { grid-area: description; max-width: 46rem; margin: 1.5rem 0 0; color: var(--colour-ink-soft); font-size: var(--type-body); line-height: var(--line-body); }
#page-accommodation .acc-full-strings .acc-perfect { grid-area: perfect; grid-template-columns: 1fr; gap: .85rem; margin: 1.5rem 0 0; padding: 1.25rem 0 0 clamp(1.5rem, 3vw, 2.5rem); border-block: 0; border-left: 1px solid rgba(194, 154, 85, .55); }
#page-accommodation .acc-full-strings .acc-perfect ul { gap: .45rem 1rem; }
#page-accommodation .acc-full-strings .acc-book-link { grid-area: cta; justify-self: start; margin: 1.6rem 0 0 clamp(1.5rem, 3vw, 2.5rem); }

#page-accommodation .strings-room--blue .acc-split { background: #2a3a4a; }
#page-accommodation .strings-room--blue .acc-content-block { background: #e8e9e5; }
#page-accommodation .strings-room--blue .acc-feature { background: #dde1e2; }
#page-accommodation .strings-room--yellow .acc-split { background: #5a4c25; }
#page-accommodation .strings-room--yellow .acc-content-block { background: #efe7d7; }
#page-accommodation .strings-room--yellow .acc-feature { background: #e5dbc3; }

#page-accommodation .acc-shared {
  padding: var(--acc-section-space) var(--gutter-accommodation);
  background: var(--colour-green-deep);
  color: var(--colour-linen-soft);
}
#page-accommodation .acc-shared__intro,
#page-accommodation .acc-shared__story { width: min(100%, var(--acc-content-width)); margin-inline: auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2.5rem, 5vw, 5rem); }
#page-accommodation .acc-shared__copy { grid-column: span 4; align-self: center; max-width: 440px; }
#page-accommodation .acc-shared h2 { margin-bottom: 1.4rem; color: var(--colour-linen-soft); font-size: var(--type-section); font-style: normal; font-weight: 400; line-height: var(--line-heading); letter-spacing: var(--tracking-display); }
#page-accommodation .acc-shared__copy > p:not(.acc-eyebrow) { color: rgba(245, 241, 230, .76); font-size: var(--type-body); line-height: var(--line-body); }
#page-accommodation .acc-shared__hero { grid-column: span 8; aspect-ratio: 742 / 530; overflow: hidden; }
#page-accommodation .acc-shared__hero img,
#page-accommodation .acc-shared__gallery img { width: 100%; height: 100%; object-fit: cover; }
#page-accommodation .acc-shared__hero button,
#page-accommodation .acc-shared__gallery button { width: 100%; height: 100%; padding: 0; display: block; overflow: hidden; border: 0; color: inherit; background: none; cursor: zoom-in; }
#page-accommodation .acc-shared__hero button:focus-visible,
#page-accommodation .acc-shared__gallery button:focus-visible { outline: 2px solid #c9a969; outline-offset: 4px; }
#page-accommodation .acc-shared__story { margin-top: clamp(4rem, 7vw, 7rem); align-items: stretch; }
#page-accommodation .acc-shared__gallery { grid-column: span 7; height: 100%; min-height: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(.7rem, 1vw, 1rem); }
#page-accommodation .acc-shared__gallery figure { min-height: 0; overflow: hidden; }
#page-accommodation .acc-shared__gallery-pool { grid-column: 1 / span 7; grid-row: 1; }
#page-accommodation .acc-shared__gallery-lounge { grid-column: 8 / -1; grid-row: 1; }
#page-accommodation .acc-shared__gallery-kitchen { grid-column: 1 / span 5; grid-row: 2; }
#page-accommodation .acc-shared__gallery-lounge-detail { grid-column: 6 / span 4; grid-row: 2; }
#page-accommodation .acc-shared__gallery-sauna { grid-column: 10 / -1; grid-row: 2; }
#page-accommodation .acc-shared__gallery-lounge img { object-position: center center; }
#page-accommodation .acc-shared__gallery-lounge-detail img { object-position: center center; }
#page-accommodation .acc-shared__gallery-sauna img { object-position: center 45%; }
#page-accommodation .acc-shared__facilities { grid-column: span 5; }
#page-accommodation .acc-shared__facilities article { padding: 0 0 1.25rem; border-bottom: 1px solid rgba(194, 154, 85, .32); }
#page-accommodation .acc-shared__facilities article + article { padding-top: 1.25rem; }
#page-accommodation .acc-shared__facilities h3 { margin-bottom: .5rem; color: #c9a969; font-family: var(--font-sans, 'Inter', sans-serif); font-size: .67rem; font-weight: 600; letter-spacing: .14em; line-height: 1.5; text-transform: uppercase; }
#page-accommodation .acc-shared__facilities p { margin: 0; color: rgba(244, 238, 225, .72); font-size: .86rem; line-height: 1.65; }

#page-accommodation .acc-practical {
  width: min(100%, var(--acc-content-width));
  margin-inline: auto;
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: clamp(2.5rem, 7vw, 7rem);
  padding: var(--acc-section-space) var(--gutter-accommodation);
}
#page-accommodation .acc-practical dl { border-top: 1px solid #d8c9a7; }
#page-accommodation .acc-practical dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 1.5rem; padding: 1.15rem 0; border-bottom: 1px solid #d8c9a7; }
#page-accommodation .acc-practical dt { color: var(--colour-green-deep); font-size: var(--type-action); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
#page-accommodation .acc-practical dd { color: var(--colour-ink-soft); font-size: .9rem; line-height: 1.6; }
#page-accommodation .acc-practical dd a { color: var(--colour-brass-text); border-bottom: 1px solid currentColor; }

#page-accommodation .acc-final-booking { padding: var(--acc-section-space) var(--gutter-accommodation); background: var(--colour-green-deep); color: var(--colour-linen-soft); }
#page-accommodation .acc-final-booking__heading { width: min(100%, var(--acc-content-width)); margin: 0 auto 2.5rem; }
#page-accommodation .acc-final-booking h2 { color: var(--colour-linen-soft); font-style: normal; letter-spacing: var(--tracking-display); }
#page-accommodation .acc-booking-choices { width: min(100%, var(--acc-content-width)); margin-inline: auto; display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid rgba(194, 154, 85, .55); }
#page-accommodation .acc-booking-choice { padding: 2rem clamp(1.25rem, 3vw, 2.5rem); border-right: 1px solid rgba(194, 154, 85, .4); }
#page-accommodation .acc-booking-choice:last-child { border-right: 0; }
#page-accommodation .acc-booking-choice--primary { background: rgba(194, 154, 85, .09); }
#page-accommodation .acc-booking-choice h3 { color: var(--colour-linen-soft); font-size: var(--type-card); font-style: normal; line-height: var(--line-subheading); }
#page-accommodation .acc-booking-choice p { margin: .65rem 0 1.2rem; color: #d8d1c4; font-size: .82rem; line-height: 1.6; }
#page-accommodation .acc-booking-choice a { min-height: 44px; display: inline-flex; align-items: center; color: var(--colour-brass-light); border-bottom: 1px solid currentColor; font-size: var(--type-action); font-weight: 500; letter-spacing: var(--tracking-action); text-transform: uppercase; }

@media (max-width: 1024px) {
  #page-accommodation .acc-strings-intro { grid-template-columns: minmax(0, 45%) minmax(0, 55%); }
  #page-accommodation .acc-strings-intro__panel { padding-inline: clamp(2rem, 4vw, 3.5rem); }
  #page-accommodation .acc-gallery--feature,
  #page-accommodation .acc-gallery--room { grid-template-columns: 1.25fr 1fr; grid-template-rows: repeat(3, 220px); }
  #page-accommodation .acc-gallery--feature .acc-gallery__primary,
  #page-accommodation .acc-gallery--room .acc-gallery__primary { grid-row: 1 / 3; }
  #page-accommodation .acc-gallery--room figure:last-child { grid-column: 1 / 3; }
  #page-accommodation .acc-amenity-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #page-accommodation .acc-feature-grid,
  #page-accommodation .acc-feature-grid--four { grid-template-columns: repeat(2, 1fr); }
  #page-accommodation .strings-choices__grid { grid-template-columns: 1fr; }
  #page-accommodation .acc-shared__story { grid-template-columns: minmax(0, 1fr); }
  #page-accommodation .acc-shared__gallery,
  #page-accommodation .acc-shared__facilities { grid-column: 1; }
  #page-accommodation .acc-shared__gallery { height: auto; grid-template-rows: clamp(260px, 35vw, 340px) clamp(220px, 28vw, 300px); }
  #page-accommodation .acc-shared__facilities { max-width: 760px; }
  #page-accommodation .acc-booking-choices { grid-template-columns: repeat(2, 1fr); }
  #page-accommodation .acc-booking-choice:nth-child(2) { border-right: 0; }
  #page-accommodation .acc-booking-choice:nth-child(-n+2) { border-bottom: 1px solid rgba(194, 154, 85, .4); }
}

@media (max-width: 768px) {
  #page-accommodation .acc-shared { padding: clamp(3.5rem, 14vw, 4rem) 1.5rem; }
  #page-accommodation .acc-shared__intro { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  #page-accommodation .acc-shared__copy,
  #page-accommodation .acc-shared__hero { grid-column: 1; }
  #page-accommodation .acc-shared__copy { max-width: 42rem; }
  #page-accommodation .acc-shared__hero { aspect-ratio: 4 / 3; }
  #page-accommodation .acc-shared__story { grid-template-areas: "facilities" "gallery"; gap: clamp(2.5rem, 10vw, 4rem); margin-top: clamp(3rem, 12vw, 4rem); }
  #page-accommodation .acc-shared__facilities { grid-area: facilities; }
  #page-accommodation .acc-shared__gallery { grid-area: gallery; grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: clamp(1rem, 5vw, 1.5rem); }
  #page-accommodation .acc-shared__gallery-pool,
  #page-accommodation .acc-shared__gallery-lounge,
  #page-accommodation .acc-shared__gallery-kitchen,
  #page-accommodation .acc-shared__gallery-lounge-detail,
  #page-accommodation .acc-shared__gallery-sauna { grid-column: 1; grid-row: auto; }
  #page-accommodation .acc-shared__gallery-pool,
  #page-accommodation .acc-shared__gallery-kitchen,
  #page-accommodation .acc-shared__gallery-lounge-detail { aspect-ratio: 4 / 3; }
  #page-accommodation .acc-shared__gallery-lounge { aspect-ratio: 3 / 2; }
  #page-accommodation .acc-shared__gallery-sauna { width: min(72%, 320px); aspect-ratio: 4 / 5; }
  #page-accommodation .acc-full-strings { padding-block: clamp(2.8rem, 12vw, 3.75rem); }
  #page-accommodation .acc-full-strings__hero { height: clamp(240px, 65vw, 360px); }
  #page-accommodation .acc-full-strings__hero img { object-position: center 56%; }
  #page-accommodation .acc-full-strings__content {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading" "facts" "description" "perfect" "cta";
    margin-top: clamp(2.5rem, 10vw, 3.5rem);
  }
  #page-accommodation .acc-full-strings__facts { margin-top: 1.5rem; padding: 1.1rem 0; border-left: 0; border-block: 1px solid rgba(194, 154, 85, .45); }
  #page-accommodation .acc-full-strings__description { margin-top: 1.5rem; }
  #page-accommodation .acc-full-strings .acc-perfect { margin-top: 1.75rem; padding: 1.25rem 0 0; border-left: 0; border-top: 1px solid rgba(194, 154, 85, .45); }
  #page-accommodation .acc-full-strings .acc-book-link { margin: 1.75rem 0 0; }
  #page-accommodation .acc-strings-intro { min-height: 0; grid-template-columns: 1fr; }
  #page-accommodation .acc-strings-intro__image { min-height: clamp(320px, 72vw, 520px); }
  #page-accommodation .acc-strings-intro__image img { object-position: center; }
  #page-accommodation .acc-strings-intro__panel { padding: clamp(3rem, 10vw, 4.5rem) 1.5rem; }
  #page-accommodation .acc-strings-intro__panel .acc-strings-intro__staff { width: min(82vw, 300px); height: auto; margin: .7rem 0 1.15rem; }
  #page-accommodation .acc-strings-intro__headline-primary { font-size: clamp(2.6rem, 11vw, 3.6rem); }
  #page-accommodation .acc-strings-intro__headline-secondary { font-size: clamp(1.9rem, 8vw, 2.75rem); }
  #page-accommodation .acc-strings-intro__identities { flex-direction: column; }
  #page-accommodation .acc-hero { min-height: 700px; }
  #page-accommodation .acc-hero__image { object-position: 62% center; }
  #page-accommodation .acc-hero::after {
    background:
      linear-gradient(90deg, rgba(18, 37, 26, .40) 0%, rgba(18, 37, 26, .20) 68%, rgba(18, 37, 26, .08) 100%),
      linear-gradient(0deg, rgba(18, 37, 26, .50) 0%, rgba(18, 37, 26, .24) 52%, rgba(18, 37, 26, .08) 78%, transparent 100%);
  }
  #page-accommodation .acc-hero__content { padding-bottom: 3rem; }
  #page-accommodation .acc-hero nav.acc-anchor-nav {
    width: min(100%, 400px);
    display: flex;
    flex-direction: column;
    align-self: flex-start;
  }
  #page-accommodation .acc-anchor-nav a { width: 100%; justify-content: flex-start; }
  #page-accommodation .acc-anchor-nav a + a { border-left: 0; border-top: 1px solid rgba(194, 154, 85, .38); }
  #page-accommodation .acc-overview,
  #page-accommodation .acc-practical { grid-template-columns: 1fr; gap: 2rem; }
  #page-accommodation .acc-split { grid-template-columns: 1fr; }
  #page-accommodation .acc-stay--flute .acc-establishing { height: clamp(480px, 75vw, 620px); }
  #page-accommodation .acc-stay--flute .acc-establishing img { object-position: center 58%; }
  #page-accommodation .acc-split--reverse .acc-split__copy,
  #page-accommodation .acc-split--reverse .acc-split__image { order: initial; }
  #page-accommodation .acc-split__copy { padding: 3.75rem 1.5rem; }
  #page-accommodation .acc-split__image { min-height: auto; aspect-ratio: 4 / 3; }
  #page-accommodation .acc-stay--flute .acc-split__image img { object-position: center 55%; }
  #page-accommodation .acc-gallery,
  #page-accommodation .acc-gallery--feature,
  #page-accommodation .acc-gallery--room {
    width: calc(100% + 3rem);
    margin-inline: -1.5rem;
    padding-inline: 1.5rem;
    display: flex;
    gap: .65rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  #page-accommodation .acc-gallery figure,
  #page-accommodation .acc-gallery .acc-gallery__primary { flex: 0 0 min(82vw, 420px); aspect-ratio: 4 / 3; scroll-snap-align: start; }
  #page-accommodation .acc-amenity-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #page-accommodation .acc-feature-grid,
  #page-accommodation .acc-feature-grid--four { grid-template-columns: 1fr; }
  #page-accommodation .acc-perfect { grid-template-columns: 1fr; gap: 1rem; }
  #page-accommodation .acc-meta li::after { display: none; }
  #page-accommodation .acc-practical dl > div { grid-template-columns: 1fr; gap: .4rem; }
  #page-accommodation .acc-booking-choices { grid-template-columns: 1fr; }
  #page-accommodation .acc-booking-choice:nth-child(2) { border-right: 0; }
  #page-accommodation .acc-booking-choice:nth-child(-n+2) { border-bottom: 1px solid rgba(194, 154, 85, .4); }
  #page-accommodation .acc-booking-choice { border-right: 0; border-bottom: 1px solid rgba(194, 154, 85, .4); }
  #page-accommodation .acc-booking-choice:last-child { border-bottom: 0; }
}

@media (max-width: 430px) {
  #page-accommodation .acc-hero h1 { font-size: var(--type-hero); }
  #page-accommodation .acc-establishing { height: 68vh; min-height: 480px; }
  #page-accommodation .acc-establishing figcaption { display: flex; flex-wrap: wrap; gap: .25rem; }
  #page-accommodation .acc-amenity-strip { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  #page-accommodation .acc-book-link::after { transition: none; }
}

#page-accommodation .grain{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
  #page-accommodation h1,#page-accommodation h2,#page-accommodation h3,#page-accommodation h4,#page-accommodation .serif{font-family:'Fraunces',serif;font-weight:400;}
  #page-accommodation /* ── HEADER ── */
  header{
    position:fixed;top:0;left:0;right:0;z-index:800;
    display:flex;align-items:center;justify-content:space-between;
    padding:1.4rem max(4vw,28px);
    background:rgba(28,38,32,.92);backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(201,169,105,.15);
    transition:padding .4s ease;
  }
  #page-accommodation header.scrolled{padding:.9rem max(4vw,28px);}
  #page-accommodation .wordmark{font-family:'Fraunces',serif;font-size:1.1rem;letter-spacing:.14em;color:var(--linen);white-space:nowrap;}
  #page-accommodation nav ul{display:flex;gap:2.2rem;list-style:none;}
  #page-accommodation nav a{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(237,231,216,.75);transition:color .25s;}
  #page-accommodation nav a:hover,#page-accommodation nav a.active{color:var(--linen);}
  #page-accommodation .book-pill{
    font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
    padding:.5rem 1.3rem;border:1px solid var(--brass-light);border-radius:99px;
    color:var(--brass-light);transition:all .25s;white-space:nowrap;
  }
  #page-accommodation .book-pill:hover{background:var(--brass);border-color:var(--brass);color:#fff;}
  @media(max-width:860px){#page-accommodation nav:not(.mobile-nav){display:none;}}
  #page-accommodation /* ── PAGE HERO ── */
  .page-hero{
    height:72vh;min-height:520px;position:relative;
    display:flex;align-items:flex-end;overflow:hidden;
    background:var(--green-deep);
  }
  #page-accommodation .page-hero-img{position:absolute;inset:0;height:100%;animation:heroZoomAcc 30s ease-in-out infinite alternate;}
  @keyframes heroZoomAcc{from{transform:scale(1);}to{transform:scale(1.07);}}
  #page-accommodation .page-hero-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,38,32,.88) 0%,rgba(28,38,32,.3) 60%,transparent 100%);}
  #page-accommodation .page-hero-content{position:relative;z-index:2;padding:var(--gutter-standard) var(--gutter-editorial) max(5vw,44px);}
  #page-accommodation .eyebrow{font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-light);margin-bottom:1rem;}
  #page-accommodation .page-hero h1{
    font-family:'Fraunces',serif;font-size:clamp(2.4rem,5.5vw,4.2rem);
    font-style:italic;color:var(--linen);line-height:1.1;margin-bottom:1.4rem;
  }
  #page-accommodation .page-hero p{font-size:1rem;color:rgba(237,231,216,.8);max-width:540px;line-height:1.75;}
  #page-accommodation .room{scroll-margin-top:90px;}
  #page-accommodation .anchor-bar{
    position:absolute;bottom:0;left:0;right:0;z-index:3;
    display:flex;gap:0;background:rgba(28,38,32,.85);backdrop-filter:blur(8px);
    border-top:1px solid rgba(201,169,105,.18);overflow-x:auto;
  }
  #page-accommodation .anchor-bar a{
    padding:1rem max(3vw,24px);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
    color:rgba(237,231,216,.6);border-right:1px solid rgba(201,169,105,.12);
    white-space:nowrap;transition:color .25s,background .25s;flex-shrink:0;
  }
  #page-accommodation .anchor-bar a:hover{color:var(--linen);background:rgba(201,169,105,.08);}
  #page-accommodation /* ── ROOM SECTIONS ── */
  .room{padding:0;position:relative;}
  #page-accommodation /* full-bleed photo above */
  .room-cover{height:92vh;min-height:600px;position:relative;overflow:hidden;}
  #page-accommodation .room-cover img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transition:transform 12s ease-in-out;}
  #page-accommodation .room-cover:hover img{transform:scale(1.04);}
  #page-accommodation .room-cover-badge{
    position:absolute;bottom:2.4rem;left:var(--gutter-standard);z-index:2;
    background:rgba(28,38,32,.82);backdrop-filter:blur(8px);
    border:1px solid rgba(201,169,105,.25);border-radius:2px;
    padding:.8rem 1.4rem;
  }
  #page-accommodation .room-cover-badge span{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-light);}
  #page-accommodation /* room header block */
  .room-intro{
    display:grid;grid-template-columns:1fr 1fr;gap:0;
    background:var(--green-deep);
  }
  #page-accommodation .room-intro-text{
    padding:clamp(3rem,6vw,6rem) clamp(2.4rem,5vw,5rem);
    display:flex;flex-direction:column;justify-content:center;
  }
  #page-accommodation .room-intro-text .eyebrow{color:var(--brass-light);}
  #page-accommodation .room-intro-text h2{
    font-family:'Fraunces',serif;font-size:clamp(1.8rem,3.5vw,3rem);
    color:var(--linen);font-style:italic;line-height:1.15;margin-bottom:1.4rem;
  }
  #page-accommodation .room-intro-text p{color:rgba(237,231,216,.75);margin-bottom:1rem;font-size:.95rem;line-height:1.8;}
  #page-accommodation .room-intro-img{min-height:520px;overflow:hidden;position:relative;}
  #page-accommodation .room-intro-img img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;}
  #page-accommodation .book-btn{
    display:inline-flex;align-items:center;gap:.7rem;margin-top:1.6rem;
    font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
    color:var(--brass-light);border-bottom:1px solid rgba(201,169,105,.35);
    padding-bottom:.35rem;transition:all .25s;width:fit-content;
  }
  #page-accommodation .book-btn:hover{color:var(--linen);border-color:var(--linen);}
  #page-accommodation .book-btn::after{content:'→';}
  #page-accommodation /* amenity grid */
  .amenities{background:var(--linen-soft);padding:clamp(3rem,6vw,6rem) var(--gutter-standard);}
  #page-accommodation .amenities h3{
    font-family:'Fraunces',serif;font-size:clamp(1.3rem,2.2vw,1.8rem);
    color:var(--green-deep);margin-bottom:.5rem;font-style:italic;
  }
  #page-accommodation .amenities-lead{color:var(--ink-soft);font-size:.9rem;margin-bottom:3rem;max-width:560px;}
  #page-accommodation /* image mosaic inside amenities */
  .mosaic{display:grid;gap:6px;margin-bottom:3.5rem;}
  #page-accommodation .mosaic-3{grid-template-columns:2fr 1fr 1fr;grid-template-rows:420px 300px;}
  #page-accommodation .mosaic-3 .m0{grid-row:1/3;}
  #page-accommodation .mosaic-2{grid-template-columns:1fr 1fr;grid-template-rows:380px;}
  #page-accommodation .mosaic-4{grid-template-columns:1fr 1fr;grid-template-rows:340px 340px;}
  #page-accommodation .mosaic img{width:100%;height:100%;object-fit:cover;display:block;border-radius:2px;transition:transform .6s ease;box-shadow:0 18px 40px rgba(0,0,0,.16);}
  #page-accommodation .mosaic img:hover{transform:scale(1.02);}
  #page-accommodation /* detailed feature cards */
  .feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:rgba(0,0,0,.06);}
  #page-accommodation .feature-card{
    background:var(--linen-soft);
    padding:2.4rem 2rem;display:flex;flex-direction:column;gap:.8rem;
    transition:background .25s,box-shadow .3s,transform .3s;
  }
  #page-accommodation .feature-card:hover{background:#fff;box-shadow:0 22px 44px rgba(0,0,0,.08);transform:translateY(-2px);}
  #page-accommodation .feature-card h4{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--green-deep);}
  #page-accommodation .feature-card p{font-size:.88rem;color:var(--ink-soft);line-height:1.7;}
  #page-accommodation /* perfect for strip */
  .perfect-for{
    background:var(--green-deep);padding:clamp(3rem,5vw,5rem) var(--gutter-standard);
    display:flex;flex-wrap:wrap;gap:3rem;align-items:center;
  }
  #page-accommodation .perfect-for h3{font-family:'Fraunces',serif;color:var(--linen);font-size:clamp(1.3rem,2vw,1.6rem);font-style:italic;flex-shrink:0;}
  #page-accommodation .pf-tags{display:flex;flex-wrap:wrap;gap:.7rem;}
  #page-accommodation .pf-tag{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem 1.1rem;border:1px solid rgba(201,169,105,.35);border-radius:99px;color:rgba(237,231,216,.75);}
  #page-accommodation /* room divider */
  /* room divider replaced by .staff-divider (musical heritage motif) */

  /* ── OUTDOOR SECTION ── */
  .outdoor{background:var(--linen-soft);}
  #page-accommodation .outdoor-intro{
    display:grid;grid-template-columns:1fr 1.2fr;gap:0;min-height:600px;
    background:var(--green);
  }
  #page-accommodation .outdoor-intro-text{padding:clamp(3rem,6vw,6rem) clamp(2.4rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center;}
  #page-accommodation .outdoor-intro-text h2{font-family:'Fraunces',serif;color:var(--linen);font-size:clamp(1.8rem,3vw,2.6rem);font-style:italic;margin-bottom:1.2rem;line-height:1.15;}
  #page-accommodation .outdoor-intro-text p{color:rgba(237,231,216,.75);font-size:.95rem;line-height:1.8;margin-bottom:.9rem;}
  #page-accommodation .outdoor-intro-img{overflow:hidden;position:relative;}
  #page-accommodation .outdoor-intro-img img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;}
  #page-accommodation .outdoor-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:380px 280px;gap:6px;background:var(--ink);}
  #page-accommodation .outdoor-gallery .g0{grid-column:1/3;}
  #page-accommodation .outdoor-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .4s;}
  #page-accommodation .outdoor-gallery img:hover{opacity:.88;}
  #page-accommodation .outdoor-features{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:0;background:rgba(0,0,0,.05);
    border-top:1px solid rgba(168,130,60,.15);
  }
  #page-accommodation .of-card{background:var(--linen-soft);padding:2.2rem 1.8rem;border-right:1px solid rgba(168,130,60,.12);}
  #page-accommodation .of-card:last-child{border-right:none;}
  #page-accommodation .of-card h4{font-family:'Fraunces',serif;color:var(--green-deep);font-size:1rem;margin-bottom:.5rem;}
  #page-accommodation .of-card p{font-size:.85rem;color:var(--ink-soft);line-height:1.65;}
  #page-accommodation /* ── CTA FOOTER BAND ── */
  .cta-band{
    background:var(--green-deep);
    padding:clamp(4rem,8vw,8rem) var(--gutter-standard);
    text-align:center;
    border-top:1px solid rgba(201,169,105,.15);
  }
  #page-accommodation .cta-band h2{font-family:'Fraunces',serif;color:var(--linen);font-size:clamp(1.8rem,3.5vw,2.8rem);font-style:italic;margin-bottom:1rem;}
  #page-accommodation .cta-band p{color:rgba(237,231,216,.65);max-width:480px;margin:0 auto 2.4rem;font-size:.95rem;}
  #page-accommodation .cta-band-links{display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap;}
  #page-accommodation .cta-primary{
    padding:.85rem 2.4rem;background:var(--brass);color:#fff;
    font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;border-radius:2px;
    transition:background .25s;
  }
  #page-accommodation .cta-primary:hover{background:var(--brass-light);}
  #page-accommodation .cta-secondary{
    padding:.85rem 2.4rem;border:1px solid rgba(201,169,105,.5);color:var(--brass-light);
    font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;border-radius:2px;
    transition:all .25s;
  }
  #page-accommodation .cta-secondary:hover{border-color:var(--brass-light);color:var(--linen);}
  #page-accommodation /* ── FOOTER ── */
  footer{
    background:var(--green-deep);
    border-top:1px solid rgba(201,169,105,.12);
    padding:3rem var(--gutter-standard) 2.4rem;
    text-align:center;
  }
  #page-accommodation footer .wordmark{color:var(--linen-soft);font-size:1.4rem;display:block;margin-bottom:1.4rem;}
  #page-accommodation footer nav ul{justify-content:center;flex-wrap:wrap;color:rgba(237,231,216,.65);gap:1.8rem;margin-bottom:2rem;list-style:none;display:flex;}
  #page-accommodation footer nav a{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(237,231,216,.65);transition:color .2s;}
  #page-accommodation footer nav a:hover{color:var(--linen);}
  #page-accommodation footer .fine{font-size:.68rem;letter-spacing:.05em;color:rgba(237,231,216,.66);}
  #page-accommodation /* ── SCROLL REVEAL ── */
  [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .85s ease,transform .85s ease;}
  #page-accommodation [data-reveal].in{opacity:1;transform:none;}
  #page-accommodation /* ── MUSICAL HERITAGE MOTIFS ── */
  .movement{
    display:flex;align-items:center;gap:.9rem;margin-bottom:1.1rem;
  }
  #page-accommodation .movement .eyebrow{margin-bottom:0;}
  #page-accommodation .instrument{opacity:.9;flex-shrink:0;height:70px;width:144px;object-fit:contain;display:block;}
  #page-accommodation .pull-quote{
    margin:2.2rem 0 0;padding-top:1.6rem;
    border-top:1px solid rgba(201,169,105,.22);
    font-family:'Fraunces',serif;font-style:italic;
    font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.6;
    color:var(--brass-light);
  }
  #page-accommodation .pull-quote::before{content:'"';margin-right:.15em;}
  #page-accommodation .pull-quote::after{content:'"';margin-left:.15em;}
  #page-accommodation .staff-divider{
    background:var(--linen-soft);padding:1.8rem var(--gutter-standard);
    display:flex;justify-content:center;
  }
  #page-accommodation .staff-divider-img{
    width:min(100%,640px);aspect-ratio:6.76/1;
    
    background-repeat:no-repeat;background-size:contain;background-position:center;
    opacity:.7;
  }
  #page-accommodation .icon-line{
    width:42px;height:42px;object-fit:contain;
    flex-shrink:0;margin-bottom:.3rem;display:block;
  }
  #page-accommodation /* refined amenity list — replaces heavy chip look with an editorial line list */
  .amenity-list{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:0 2.5rem;margin-bottom:3.5rem;
    border-top:1px solid rgba(168,130,60,.18);
  }
  #page-accommodation .amenity-list li{
    list-style:none;display:flex;align-items:baseline;gap:.6rem;
    padding:.65rem 0;border-bottom:1px solid rgba(168,130,60,.14);
    font-size:.82rem;color:var(--ink-soft);letter-spacing:.01em;
  }
  #page-accommodation .amenity-list li::before{content:'—';color:var(--brass);flex-shrink:0;}
  #page-accommodation .amenity-list li.feature{color:var(--ink);font-weight:500;}
  #page-accommodation .amenity-list li.feature::before{content:'—';color:var(--brass);}
  @media(max-width:900px){#page-accommodation .room-intro,#page-accommodation .outdoor-intro{grid-template-columns:1fr;}
  #page-accommodation .room-intro-img,#page-accommodation .outdoor-intro-img{min-height:360px;position:relative;}
  #page-accommodation .room-intro-img img,#page-accommodation .outdoor-intro-img img{position:relative;}
  #page-accommodation .feature-cards{grid-template-columns:repeat(2,1fr);}
  #page-accommodation .mosaic-3{grid-template-columns:1fr 1fr;grid-template-rows:280px 200px 200px;}
  #page-accommodation .mosaic-3 .m0{grid-column:1/3;grid-row:1/2;}
  #page-accommodation .outdoor-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 260px;}
  #page-accommodation .outdoor-gallery .g0{grid-column:1/3;}}
  @media(max-width:640px){#page-accommodation .feature-cards{grid-template-columns:1fr;}
  #page-accommodation .mosaic-3,#page-accommodation .mosaic-2,#page-accommodation .mosaic-4{grid-template-columns:1fr;grid-template-rows:auto;}
  #page-accommodation .mosaic-3 .m0{grid-column:1;grid-row:auto;}
  #page-accommodation .mosaic img{height:280px;}
  #page-accommodation .outdoor-gallery{grid-template-columns:1fr;grid-template-rows:auto;}
  #page-accommodation .outdoor-gallery .g0{grid-column:1;}
  #page-accommodation .outdoor-gallery img{height:240px;}
  #page-accommodation .room-cover{height:72vh;min-height:420px;}
  #page-accommodation .page-hero{height:88vw;min-height:400px;}}

/* ============ ELZETH-ART PAGE ============ */
#page-elzeth-art main{overflow:hidden}
#page-elzeth-art{--brass-text:var(--colour-brass-text)}
#page-elzeth-art h1,#page-elzeth-art h2,#page-elzeth-art h3{font-family:var(--font-serif);font-weight:400}
#page-elzeth-art > .site-header{position:fixed;inset:0 0 auto;z-index:800;display:flex;align-items:center;justify-content:space-between;padding:1.4rem max(4vw,28px);background:rgba(28,38,32,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,169,105,.15);transition:padding .4s ease}
#page-elzeth-art > .site-header.scrolled{padding:.9rem max(4vw,28px)}
#page-elzeth-art > .site-header nav ul{display:flex;gap:2.2rem;list-style:none}
#page-elzeth-art > .site-header nav a{color:rgba(237,231,216,.75);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;transition:color .25s}
#page-elzeth-art > .site-header nav a:hover,#page-elzeth-art > .site-header nav a.active{color:var(--linen)}
#page-elzeth-art .book-pill{padding:.5rem 1.3rem;color:var(--brass-light);border:1px solid var(--brass-light);border-radius:99px;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
#page-elzeth-art .book-pill:hover{color:#fff;background:var(--brass);border-color:var(--brass)}
#page-elzeth-art .eyebrow{margin-bottom:1.25rem;color:var(--colour-brass-text);font:500 var(--type-eyebrow)/1.4 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}

#page-elzeth-art .art-hero{min-height:94vh;min-height:94svh;position:relative;isolation:isolate;display:flex;align-items:flex-end;padding:clamp(10rem,18vh,13rem) var(--gutter-editorial) clamp(4.5rem,10vh,7rem);overflow:hidden;background:var(--colour-green-deep)}
#page-elzeth-art .art-hero-img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:52% 50%}
#page-elzeth-art .art-hero-veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(18,28,22,.74),rgba(18,28,22,.48) 34%,rgba(18,28,22,.08) 68%),linear-gradient(0deg,rgba(18,28,22,.44),transparent 45%)}
#page-elzeth-art .art-hero-content{position:relative;z-index:2;width:min(100%,760px)}
#page-elzeth-art .art-hero-eyebrow{color:var(--brass-light)}
#page-elzeth-art .art-hero h1{max-width:740px;margin-bottom:1.6rem;color:var(--colour-linen-soft);font-size:var(--type-hero);font-weight:300;letter-spacing:var(--tracking-display);line-height:var(--line-display)}
#page-elzeth-art .art-hero p{max-width:35rem;color:rgba(245,241,230,.88);font-size:var(--type-body-lead);line-height:var(--line-body)}
@media(min-width:1101px){
  #page-elzeth-art .art-hero{padding-bottom:clamp(5.5rem,12vh,8.5rem)}
  #page-elzeth-art .art-hero-veil{background:radial-gradient(ellipse 90% 85% at 0% 100%,rgba(18,28,22,.66),rgba(18,28,22,.24) 48%,transparent 76%),linear-gradient(90deg,rgba(18,28,22,.62),rgba(18,28,22,.34) 30%,rgba(18,28,22,.05) 62%)}
  #page-elzeth-art .art-hero h1{max-width:12.5ch;font-size:var(--type-hero)}
  #page-elzeth-art .art-hero p{max-width:58ch;color:rgba(245,241,230,.78);font-size:var(--type-body-lead);font-weight:300}
}

#page-elzeth-art .art-klawerjas{width:min(100%,var(--content-editorial));margin:auto;padding:clamp(5rem,9vw,9rem) var(--gutter-editorial);display:grid;grid-template-columns:minmax(280px,36%) minmax(0,52%);justify-content:space-between;align-items:start;gap:clamp(3rem,8vw,8rem)}
#page-elzeth-art .art-klawerjas__copy{max-width:40ch;margin-top:clamp(3rem,7vw,7rem)}
#page-elzeth-art .art-klawerjas__image{width:100%}
#page-elzeth-art .art-klawerjas__image img,#page-elzeth-art .art-artist__portrait img{display:block;width:100%;height:auto;border:var(--media-frame-width) solid var(--media-frame-inner);outline:var(--media-frame-width) solid var(--media-frame-outer);outline-offset:var(--media-frame-gap)}
#page-elzeth-art .art-klawerjas h2,#page-elzeth-art .art-section-heading h2,#page-elzeth-art .art-artist h2{margin-bottom:1.35rem;color:var(--colour-green-deep);font-size:var(--type-section);font-weight:400;letter-spacing:var(--tracking-display);line-height:var(--line-heading)}
#page-elzeth-art .art-klawerjas p,#page-elzeth-art .art-section-heading p,#page-elzeth-art .art-artist__copy>p{color:var(--colour-ink-soft);font-size:var(--type-body);line-height:var(--line-body)}
#page-elzeth-art .art-section-heading p.type-lead{font-size:var(--type-body-lead);}
#page-elzeth-art .art-klawerjas__copy p+p{margin-top:1rem}
#page-elzeth-art .art-klawerjas__copy>.eyebrow,#page-elzeth-art .art-collection--painting>.art-section-heading>.eyebrow,#page-elzeth-art .painting-feature__eyebrow,#page-elzeth-art .painting-at-klawerjas__eyebrow,#page-elzeth-art .painting-room__label,#page-elzeth-art .art-artist__copy>.eyebrow,#page-elzeth-art .follow>.eyebrow{color:var(--brass-text)}
#page-elzeth-art .art-klawerjas__staff{display:none}
@media(min-width:1100px){
  #page-elzeth-art .art-klawerjas{align-items:center}
  #page-elzeth-art .art-klawerjas__copy{align-self:center;margin-top:0}
  #page-elzeth-art .art-klawerjas__staff{width:100%;height:auto;margin-top:clamp(2rem,3vw,3.5rem);display:block;opacity:.65}
}
@media(min-width:761px) and (max-width:1099px){
  #page-elzeth-art .art-klawerjas__copy{margin-top:clamp(1rem,3vw,2rem)}
  #page-elzeth-art .art-klawerjas__staff{width:100%;height:auto;margin-top:clamp(2rem,3vw,3.5rem);display:block;opacity:.65}
  #page-elzeth-art .art-klawerjas__image{align-self:center}
}

/* ========================================================================== */
/* Shared actions: consistent roles, interaction and accessible target sizes  */
/* ========================================================================== */

/* Primary, filled actions reserved for the clearest next step. */
:is(
  #page-contact .form-submit,
  #page-explore .hero-cta,
  #page-accommodation .cta-primary
) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .8rem 1.5rem;
  border: 1px solid var(--colour-brass-light);
  font: 500 var(--type-action)/1.4 var(--font-sans);
  letter-spacing: var(--tracking-action);
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 999px;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

/* Quiet outlined pills: the global booking action and supporting utilities. */
:is(
  #page-home,
  #page-accommodation,
  #page-elzeth-art,
  #page-game,
  #page-explore,
  #page-contact
) :is(.book-pill, .mm-book, .map-btn, .cta-secondary) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font: 500 var(--type-action)/1.4 var(--font-sans);
  letter-spacing: var(--tracking-action);
  text-transform: uppercase;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

/* Editorial links retain their page-specific colour and underline treatment. */
:is(
  #page-home .cta,
  #page-home .guest-award__action,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--font-sans);
  font-size: var(--type-action);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: var(--tracking-action);
  text-transform: uppercase;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

/* Arrow movement is shared whether the arrow is generated or present in HTML. */
:is(
  #page-home .cta,
  #page-accommodation .acc-book-link,
  #page-contact .directions-btn,
  #page-explore .hero-cta,
  #page-explore .estate-link,
  #page-explore .trail-btn
)::after,
:is(
  #page-home .guest-award__action,
  #page-accommodation .acc-book-link,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a
) > span[aria-hidden="true"] {
  display: inline-block;
  transition: transform 180ms ease;
}

:is(
  #page-home .cta,
  #page-accommodation .acc-book-link,
  #page-contact .directions-btn,
  #page-explore .hero-cta,
  #page-explore .estate-link,
  #page-explore .trail-btn
):is(:hover, :focus-visible)::after,
:is(
  #page-home .guest-award__action,
  #page-accommodation .acc-book-link,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a
):is(:hover, :focus-visible) > span[aria-hidden="true"] {
  transform: translateX(4px);
}

/* One Accommodation link supplies its own arrow; suppress the legacy duplicate. */
#page-accommodation .acc-book-link:has(> span[aria-hidden="true"])::after {
  content: none;
}

:is(
  #page-home,
  #page-accommodation,
  #page-elzeth-art,
  #page-game,
  #page-explore,
  #page-contact
) :is(
  .book-pill,
  .mm-book,
  .cta,
  .cta-primary,
  .cta-secondary,
  .acc-book-link,
  .acc-booking-choice a,
  .art-work__enquire,
  .art-collect__link,
  .art-follow__link,
  .hero-cta,
  .stay-facility a,
  .estate-link,
  .map-btn,
  .info-card .links a,
  .split-text .links a,
  .trail-btn,
  .directions-btn,
  .form-submit
):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

/* Compact carousel controls still meet the touch target minimum. */
:is(#page-home .guest-awards__nav, #page-explore .gallery-nav) {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
}

@media (prefers-reduced-motion: reduce) {
  :is(
    #page-home .cta,
    #page-home .guest-award__action,
    #page-accommodation .acc-book-link,
    #page-elzeth-art .art-work__enquire,
    #page-elzeth-art .art-collect__link,
    #page-elzeth-art .art-follow__link,
    #page-explore .stay-facility a,
    #page-explore .estate-link,
    #page-explore .trail-btn,
    #page-contact .directions-btn
  )::after,
  :is(
    #page-home .guest-award__action,
    #page-accommodation .acc-book-link,
    #page-elzeth-art .art-work__enquire,
    #page-elzeth-art .art-collect__link,
    #page-elzeth-art .art-follow__link,
    #page-explore .stay-facility a
  ) > span[aria-hidden="true"] {
    transition: none;
  }
}

/* Plan your stay: align repeated content roles across adjacent cards. */
#page-accommodation .acc-booking-choice {
  display: grid;
  grid-template-rows: 3.6rem 4.6rem 44px;
  align-content: start;
}

#page-accommodation .acc-booking-choice h3,
#page-accommodation .acc-booking-choice p {
  align-self: start;
}

#page-accommodation .acc-booking-choice p {
  margin: .45rem 0 0;
}

#page-accommodation .acc-booking-choice a {
  width: fit-content;
  align-self: end;
  color: var(--colour-brass-light);
  border-bottom-color: currentColor;
  transition: color 180ms ease, border-color 180ms ease;
}

#page-accommodation .acc-booking-choice a:is(:hover, :focus-visible) {
  color: var(--colour-linen-soft);
  border-bottom-color: var(--colour-linen-soft);
}

#page-accommodation .acc-booking-choice:last-child a {
  white-space: nowrap;
}

#page-accommodation .acc-booking-choice a:focus-visible {
  outline: 2px solid var(--colour-brass-light);
  outline-offset: 4px;
}

@media (max-width: 600px) {
  #page-accommodation .acc-booking-choice {
    grid-template-rows: auto auto 44px;
    row-gap: .65rem;
  }

  #page-accommodation .acc-booking-choice p {
    margin: 0;
  }
}

#page-elzeth-art .art-image-placeholder{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;padding:clamp(1.25rem,2.5vw,2rem);overflow:hidden;color:var(--green-deep);border:1px solid rgba(168,130,60,.3);background:linear-gradient(145deg,rgba(201,169,105,.13),transparent 46%),linear-gradient(320deg,rgba(43,58,46,.1),transparent 52%),#e8e1d2}
#page-elzeth-art .art-image-placeholder::before{content:'';position:absolute;z-index:-1;inset:clamp(.7rem,1.5vw,1.1rem);border:1px solid rgba(28,38,32,.1)}
#page-elzeth-art .art-image-placeholder::after{content:'';position:absolute;z-index:-1;top:12%;right:12%;width:42%;aspect-ratio:1;border:1px solid rgba(168,130,60,.2);border-radius:50%;box-shadow:-6vw 8vw 0 rgba(43,58,46,.025)}
#page-elzeth-art .art-image-placeholder--portrait{aspect-ratio:3/4}
#page-elzeth-art .art-image-placeholder--square{aspect-ratio:1}
#page-elzeth-art .art-image-placeholder--landscape{aspect-ratio:4/3}
#page-elzeth-art .art-image-placeholder--wide{aspect-ratio:16/7}
#page-elzeth-art .art-image-placeholder__label{margin-bottom:auto;color:var(--brass);font-size:.58rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
#page-elzeth-art .art-image-placeholder strong{max-width:22rem;font:400 clamp(1.15rem,2vw,1.65rem)/1.2 'Fraunces',serif}
#page-elzeth-art .art-image-placeholder small{margin-top:.45rem;color:var(--ink-soft);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}

#page-elzeth-art .art-collection{padding:var(--section-space-editorial) var(--gutter-editorial)}
#page-elzeth-art .art-collection--sculpture{color:var(--colour-linen-soft);background:var(--colour-green-deep)}
#page-elzeth-art .art-collection--painting{--painting-gallery-entry:#F8F5EC;--painting-gallery-ivory:#FAF7EF;padding-top:clamp(3rem,4vw,4.5rem);padding-bottom:0;background:linear-gradient(180deg,var(--painting-gallery-entry) 0%,var(--painting-gallery-ivory) 32%,var(--painting-gallery-ivory) 100%)}
#page-elzeth-art .art-section-heading{width:min(100%,var(--content-editorial));margin:0 auto clamp(4rem,7vw,7rem)}
#page-elzeth-art .art-section-heading p{max-width:570px}
#page-elzeth-art .art-collection--sculpture .art-section-heading{display:grid;grid-template-columns:1fr minmax(300px,.7fr);column-gap:4rem;align-items:end}
#page-elzeth-art .art-collection--sculpture .art-section-heading .eyebrow{grid-column:1/-1;color:var(--brass-light)}
#page-elzeth-art .art-collection--sculpture .art-section-heading h2{margin:0;color:var(--colour-linen-soft);font-size:var(--type-section)}
#page-elzeth-art .art-collection--sculpture .art-section-heading p{color:rgba(237,231,216,.68)}
#page-elzeth-art .art-collection--painting .art-section-heading{margin-bottom:clamp(3rem,5vw,5rem)}
#page-elzeth-art .art-sculpture-study{width:min(100%,var(--content-editorial));margin-inline:auto}
#page-elzeth-art .art-sculpture-study+.art-sculpture-study{margin-top:clamp(7rem,11vw,11rem)}
#page-elzeth-art .art-sculpture-study__header{margin-bottom:clamp(3rem,5vw,5rem)}
#page-elzeth-art .art-sculpture-study__header .eyebrow{color:var(--brass-light)}
#page-elzeth-art .art-sculpture-study__header h3{margin-bottom:.65rem;color:var(--colour-linen-soft);font-size:var(--type-editorial);line-height:var(--line-heading)}
#page-elzeth-art .art-sculpture-study__header p{color:rgba(245,241,230,.68);font-family:var(--font-serif);font-size:var(--type-body-lead)}
#page-elzeth-art .art-sculpture-study__header--eyebrow{margin-bottom:clamp(2rem,3vw,3rem)}
#page-elzeth-art .art-sculpture-study--featured .art-featured-work{margin-bottom:0}
#page-elzeth-art .art-featured-work{width:min(100%,var(--content-editorial));margin:0 auto clamp(7rem,12vw,12rem);display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.65fr);gap:clamp(2.5rem,6vw,6rem);align-items:end}
#page-elzeth-art .art-featured-work .art-image-placeholder{aspect-ratio:4/5}
#page-elzeth-art .art-featured-work .art-work__meta{padding-bottom:clamp(1rem,4vw,4rem)}
@media(min-width:1100px){
  #page-elzeth-art .art-featured-work{grid-template-columns:minmax(0,1.78fr) minmax(300px,1fr);align-items:center}
  #page-elzeth-art .art-featured-work .art-work__meta{align-self:center;padding-bottom:0}
  #page-elzeth-art .art-featured-work .art-work-gallery__stage{height:clamp(520px,66vh,700px)}
  #page-elzeth-art .art-featured-work .art-work-gallery__main{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain}
  #page-elzeth-art .art-work-grid--sculpture .art-work:not(.art-work--wide) .art-work-gallery{width:min(34.6vw,542px)}
}
#page-elzeth-art .art-work-gallery{width:100%}
#page-elzeth-art .art-work-gallery__stage{position:relative;width:100%;aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;overflow:hidden;background:rgba(245,241,230,.06);touch-action:pan-y}
#page-elzeth-art .art-work-gallery__main{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;transition:opacity .18s ease}
#page-elzeth-art .art-work-gallery__main.is-changing{opacity:.25}
#page-elzeth-art .art-work-gallery__nav{position:absolute;top:50%;width:46px;height:46px;padding:0;display:grid;place-items:center;transform:translateY(-50%);color:var(--brass-light);background:rgba(28,38,32,.72);border:1px solid rgba(201,169,105,.5);border-radius:50%;cursor:pointer;opacity:.72;transition:opacity .2s ease,background-color .2s ease}
#page-elzeth-art .art-work-gallery__nav--prev{left:1rem}
#page-elzeth-art .art-work-gallery__nav--next{right:1rem}
#page-elzeth-art .art-work-gallery__nav svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#page-elzeth-art .art-work-gallery__nav:hover{opacity:1;background:rgba(28,38,32,.88)}
#page-elzeth-art .art-work-gallery__nav:focus-visible,#page-elzeth-art .art-work-gallery__thumb:focus-visible{outline:2px solid var(--brass-light);outline-offset:4px}
#page-elzeth-art .art-work-gallery__thumbs{margin-top:.75rem;display:flex;gap:.65rem;overflow-x:auto;scrollbar-width:thin}
#page-elzeth-art .art-work-gallery__thumb{flex:0 0 clamp(64px,8vw,92px);padding:0;overflow:hidden;background:transparent;border:1px solid rgba(201,169,105,.28);cursor:pointer;opacity:.58;transform:translateY(0);transition:opacity .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}
#page-elzeth-art .art-work-gallery__thumb[aria-pressed="true"]{border-color:var(--brass-light);box-shadow:inset 0 -2px var(--brass-light);opacity:1}
#page-elzeth-art .art-work-gallery__thumb img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;transform:scale(1);transition:transform .25s ease}
#page-elzeth-art .art-work-gallery__thumb:is(:hover,:focus-visible){border-color:var(--brass-light);background:rgba(201,169,105,.06);opacity:1;transform:translateY(-2px)}
#page-elzeth-art .art-work-gallery__thumb:is(:hover,:focus-visible) img{transform:scale(1.025)}
#page-elzeth-art .art-work-gallery__thumb[aria-pressed="true"]:hover{transform:translateY(-1px)}
@media(prefers-reduced-motion:reduce){#page-elzeth-art .art-work-gallery__thumb,#page-elzeth-art .art-work-gallery__thumb img{transition:none}#page-elzeth-art .art-work-gallery__thumb:is(:hover,:focus-visible){transform:none}#page-elzeth-art .art-work-gallery__thumb:is(:hover,:focus-visible) img{transform:none}}
#page-elzeth-art .art-work-gallery__nav[hidden],#page-elzeth-art .art-work-gallery__thumbs[hidden]{display:none}
#page-elzeth-art .art-work-grid{width:min(100%,var(--content-editorial));margin:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
#page-elzeth-art .art-work-grid--sculpture{gap:clamp(4rem,7vw,7rem) clamp(1.5rem,3.5vw,3.5rem)}
#page-elzeth-art .art-work-grid--sculpture .art-work{grid-column:span 5}
#page-elzeth-art .art-work-grid--sculpture .art-work:nth-child(2),#page-elzeth-art .art-work-grid--sculpture .art-work:nth-child(5){grid-column:7/span 6;margin-top:clamp(4rem,9vw,9rem)}
#page-elzeth-art .art-work-grid--sculpture .art-work--wide{grid-column:2/span 8}
#page-elzeth-art .art-series{grid-column:1/-1}
#page-elzeth-art .art-series__lead{width:min(100%,clamp(820px,68vw,980px));margin-inline:auto}
#page-elzeth-art .art-series__lead img{display:block;width:100%;height:auto}
#page-elzeth-art .art-series__intro{width:min(100%,720px);margin:clamp(2.25rem,4vw,4rem) auto clamp(4rem,7vw,7rem)}
#page-elzeth-art .art-series__intro .eyebrow{color:var(--brass-light)}
#page-elzeth-art .art-series__intro h3{margin-bottom:.75rem;color:var(--colour-linen-soft);font-size:var(--type-editorial);line-height:var(--line-heading)}
#page-elzeth-art .art-series__intro p{color:rgba(237,231,216,.68)}
#page-elzeth-art .art-series__intro .art-series__supporting{margin-bottom:1.5rem;color:var(--linen);font-family:'Fraunces',serif;font-size:clamp(1.05rem,1.7vw,1.35rem)}
#page-elzeth-art .art-series__intro .art-series__availability{margin-top:1.5rem;color:var(--brass-light);font-size:var(--type-action);line-height:1.4;letter-spacing:var(--tracking-action);text-transform:uppercase}
#page-elzeth-art .art-series__works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,5vw,5rem);row-gap:clamp(3.5rem,6vw,6rem)}
#page-elzeth-art .art-series-work__image{height:clamp(280px,38vw,390px);display:grid;place-items:center}
#page-elzeth-art .art-series-work__image img{display:block;width:auto;height:auto;max-width:88%;max-height:90%;object-fit:contain}
#page-elzeth-art .art-series-work__meta{padding-top:1rem;border-top:1px solid rgba(168,130,60,.34)}
#page-elzeth-art .art-series-work__meta h4{color:var(--linen);font:400 clamp(1.15rem,2vw,1.5rem)/1.2 'Fraunces',serif}
@media(min-width:1100px){
  #page-elzeth-art .art-series__works{column-gap:clamp(3rem,6vw,7rem);row-gap:clamp(4rem,6vw,7rem)}
  #page-elzeth-art .art-series-work__image{height:clamp(320px,34vw,470px)}
  #page-elzeth-art .art-series-work:nth-child(2){transform:translateY(clamp(2rem,4vw,4rem))}
  #page-elzeth-art .art-series-work:nth-child(3){width:calc(50% - clamp(1.5rem,3vw,3.5rem));grid-column:1/-1;justify-self:center}
  #page-elzeth-art .art-series-work:nth-child(4){grid-column:1}
}
#page-elzeth-art .art-selected-works{width:min(100%,var(--content-editorial));margin:clamp(8rem,12vw,12rem) auto 0}
#page-elzeth-art .art-selected-works__header{margin-bottom:clamp(2.5rem,4vw,4rem);display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}
#page-elzeth-art .art-selected-works__header .eyebrow{color:var(--brass-light)}
#page-elzeth-art .art-selected-works__header h3{margin-bottom:.75rem;color:var(--colour-linen-soft);font-size:var(--type-editorial);line-height:var(--line-heading)}
#page-elzeth-art .art-selected-works__intro{max-width:440px;color:rgba(237,231,216,.68)}
#page-elzeth-art .art-selected-works__controls{flex:none;display:flex;gap:12px}
#page-elzeth-art .art-selected-works__controls button{width:50px;height:50px;padding:0;display:grid;place-items:center;color:var(--brass-light);background:transparent;border:1px solid rgba(201,169,105,.55);border-radius:50%;cursor:pointer;transition:color .2s ease,background-color .2s ease}
#page-elzeth-art .art-selected-works__controls button:hover{color:var(--green-deep);background:var(--brass-light)}
#page-elzeth-art .art-selected-works__controls button:focus-visible,#page-elzeth-art .art-selected-works__rail:focus-visible{outline:2px solid var(--brass-light);outline-offset:4px}
#page-elzeth-art .art-selected-works__controls svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#page-elzeth-art .art-selected-works__rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(290px,26.8vw,382px);gap:clamp(1.25rem,2vw,2rem);padding:0 0 1rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(201,169,105,.45) transparent;-webkit-overflow-scrolling:touch}
#page-elzeth-art .art-selected-work{min-width:0;scroll-snap-align:start}
#page-elzeth-art .art-selected-work__image{width:100%;aspect-ratio:1;min-width:0}
#page-elzeth-art .art-selected-work__image img{width:100%;height:100%;object-fit:contain;object-position:center}
#page-elzeth-art .art-selected-work__title{min-height:2.8em;margin-top:1rem;color:var(--linen);font:400 clamp(1rem,1.5vw,1.25rem)/1.4 'Fraunces',serif;text-align:center}
@media(max-width:1099px){
  #page-elzeth-art .art-selected-works__controls{gap:11px}
  #page-elzeth-art .art-selected-works__controls button{width:47px;height:47px}
  #page-elzeth-art .art-selected-works__controls svg{width:18px;height:18px}
  #page-elzeth-art .art-selected-works__rail{grid-auto-columns:clamp(300px,42vw,360px)}
}
#page-elzeth-art .painting-study{width:min(100%,var(--content-editorial));margin-inline:auto}
#page-elzeth-art .painting-study--clouds{position:relative;isolation:isolate;width:auto;margin-inline:calc(-1 * var(--gutter-editorial));padding:clamp(4rem,6vw,6rem) var(--gutter-editorial) clamp(6rem,9vw,9rem);color:var(--linen);background-image:url('/public/images/LZ-art/art-painting-background-01.webp');background-position:center;background-repeat:no-repeat;background-size:cover}
#page-elzeth-art .painting-study--clouds::before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(8,27,24,.16);pointer-events:none}
#page-elzeth-art .painting-study--clouds .painting-study__header,#page-elzeth-art .painting-study--clouds .painting-study__works{width:min(100%,var(--content-editorial));margin-inline:auto}
#page-elzeth-art .painting-study__header{margin-bottom:clamp(3.5rem,6vw,6rem)}
#page-elzeth-art .painting-study__eyebrow{margin-bottom:.85rem;color:var(--colour-brass-text);font:500 var(--type-eyebrow)/1.4 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
#page-elzeth-art .painting-study__title{margin-bottom:1rem;color:var(--colour-green-deep);font:400 var(--type-editorial)/var(--line-heading) var(--font-serif);letter-spacing:var(--tracking-display)}
#page-elzeth-art .painting-study__intro{max-width:560px;color:var(--colour-ink-soft);font-size:var(--type-body-lead);line-height:var(--line-body)}
#page-elzeth-art .painting-study--clouds .painting-study__eyebrow{color:var(--brass-light)}
#page-elzeth-art .painting-study--clouds .painting-study__title,#page-elzeth-art .painting-study--clouds .painting-study__work-title{color:var(--linen-soft)}
#page-elzeth-art .painting-study--clouds .painting-study__intro,#page-elzeth-art .painting-study--clouds .painting-study__details{color:rgba(245,241,230,.82)}
#page-elzeth-art .painting-study__works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(3rem,7vw,7rem);align-items:start}
#page-elzeth-art .painting-study__work{min-width:0}
#page-elzeth-art .painting-study__work:nth-child(2){transform:translateY(clamp(3.125rem,5vw,5rem))}
#page-elzeth-art .painting-study__artwork{height:clamp(480px,52vw,720px);display:flex;align-items:center;justify-content:center}
#page-elzeth-art .painting-study__image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
#page-elzeth-art .painting-study--clouds .painting-study__work:nth-child(2){transform:none}
#page-elzeth-art .painting-study--clouds .painting-study__artwork{width:100%;height:clamp(480px,52vw,720px);align-items:center;justify-content:center}
#page-elzeth-art .painting-study--clouds .painting-study__image{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center}
#page-elzeth-art .painting-study--clouds .painting-study__work:first-child .painting-study__image{transform:scale(.98);transform-origin:center}
#page-elzeth-art .painting-study__meta{width:min(100%,540px);margin:clamp(1.5rem,2.5vw,2.25rem) auto 0}
#page-elzeth-art .painting-study__work-title{color:var(--green-deep);font:400 clamp(1.25rem,2vw,1.6rem)/1.25 'Fraunces',serif}
#page-elzeth-art .painting-study__details{margin-top:.55rem;color:var(--ink-soft);font-size:.76rem;line-height:1.7}
#page-elzeth-art .painting-study__availability{margin-top:.65rem;color:var(--brass);font-size:.61rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
#page-elzeth-art .painting-feature{width:min(100%,var(--content-editorial));margin-inline:auto;padding:clamp(6rem,9vw,9rem) 0;display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);grid-template-areas:'artwork header' 'artwork content';grid-template-rows:auto 1fr;column-gap:clamp(3rem,7vw,7rem);align-items:start}
#page-elzeth-art .painting-feature__header{grid-area:header;padding-top:clamp(3.5rem,7vw,6.5rem)}
#page-elzeth-art .painting-feature__eyebrow{margin-bottom:.9rem;color:var(--colour-brass-text);font:500 var(--type-eyebrow)/1.4 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
#page-elzeth-art .painting-feature__title{max-width:540px;color:var(--colour-green-deep);font:400 var(--type-editorial)/var(--line-heading) var(--font-serif);letter-spacing:var(--tracking-display)}
#page-elzeth-art .painting-feature__artwork{grid-area:artwork;height:clamp(500px,52vw,600px);display:flex;align-items:center;justify-content:center}
#page-elzeth-art .painting-feature__image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
#page-elzeth-art .painting-feature__content{grid-area:content;max-width:460px;margin-top:clamp(1.75rem,3vw,2.75rem)}
#page-elzeth-art .painting-feature__medium{color:var(--green-deep);font:400 clamp(1.05rem,1.4vw,1.2rem)/1.5 'Fraunces',serif}
#page-elzeth-art .painting-feature__copy{margin-top:1.35rem;color:var(--colour-ink-soft);font-size:var(--type-body);line-height:var(--line-body)}
#page-elzeth-art .painting-feature__divider{position:relative;width:min(100%,180px);height:1px;margin-top:clamp(2rem,3vw,3rem);background:rgba(168,130,60,.62)}
#page-elzeth-art .painting-feature__divider::after{content:'';position:absolute;top:50%;right:0;width:6px;height:6px;border:1px solid var(--brass);background:var(--painting-gallery-ivory);transform:translate(50%,-50%) rotate(45deg)}
#page-elzeth-art .painting-at-klawerjas{padding:clamp(3rem,4vw,4rem) var(--gutter-editorial) clamp(6rem,9vw,9rem);background:var(--linen-soft)}
#page-elzeth-art .painting-at-klawerjas__inner{width:min(100%,var(--content-editorial));margin-inline:auto}
#page-elzeth-art .painting-at-klawerjas__intro{max-width:760px;margin-bottom:clamp(3.5rem,6vw,5.5rem)}
#page-elzeth-art .painting-at-klawerjas__eyebrow,#page-elzeth-art .painting-room__label{color:var(--colour-brass-text);font:500 var(--type-eyebrow)/1.4 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
#page-elzeth-art .painting-at-klawerjas__title{margin-top:.9rem;color:var(--colour-green-deep);font:400 var(--type-section)/var(--line-heading) var(--font-serif);letter-spacing:var(--tracking-display)}
#page-elzeth-art .painting-at-klawerjas__copy{max-width:650px;margin-top:1.5rem;color:var(--colour-ink-soft);font-size:var(--type-body);line-height:var(--line-body)}
#page-elzeth-art .painting-at-klawerjas__copy p+p{margin-top:.85rem}
#page-elzeth-art .painting-room__label{width:88%;margin:0 auto 1.25rem}
#page-elzeth-art .painting-room__label span{margin-left:.7rem;color:var(--ink-soft)}
#page-elzeth-art .painting-room__context{width:88%;margin-inline:auto}
#page-elzeth-art .painting-room__details{width:min(100%,880px);margin:clamp(3rem,4vw,4.5rem) auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,7vw,6rem);align-items:start}
#page-elzeth-art .painting-room-detail__stage{width:min(100%,380px);aspect-ratio:2/3;margin-inline:auto;display:flex;align-items:center;justify-content:center}
#page-elzeth-art .painting-room-detail__stage img{width:100%;height:100%;object-fit:contain;object-position:center}
#page-elzeth-art .painting-room-detail figcaption{width:min(100%,380px);margin:1.5rem auto 0}
#page-elzeth-art .painting-room-detail h3{color:var(--green-deep);font:400 clamp(1.3rem,2vw,1.65rem)/1.25 'Fraunces',serif}
#page-elzeth-art .painting-room-detail figcaption p{margin-top:.45rem;color:var(--ink-soft);font-size:.76rem;line-height:1.65}
#page-elzeth-art .art-work__meta{padding-top:1.35rem;border-top:1px solid rgba(168,130,60,.34)}
#page-elzeth-art .art-work__heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
#page-elzeth-art .art-work__heading h3,#page-elzeth-art .art-work__heading h4{font:400 clamp(1.25rem,2vw,1.7rem)/1.2 'Fraunces',serif}
#page-elzeth-art .art-work__status{flex:none;color:rgba(237,231,216,.5);font-size:.61rem;letter-spacing:.12em;text-transform:uppercase}
#page-elzeth-art .art-work__status--available{color:var(--brass-light)}
#page-elzeth-art .art-collection--painting .art-work__status{color:#77766c}
#page-elzeth-art .art-collection--painting .art-work__status--available{color:var(--brass)}
#page-elzeth-art .art-work__details{margin-top:.7rem;color:rgba(237,231,216,.62);font-size:.76rem;line-height:1.7}
#page-elzeth-art .art-collection--painting .art-work__details{color:var(--ink-soft)}
#page-elzeth-art .art-work__number{margin-bottom:1rem;color:var(--brass-light);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase}
#page-elzeth-art .art-work__enquire,#page-elzeth-art .art-collect__link{min-height:44px;margin-top:1.1rem;display:inline-flex;align-items:center;gap:.55rem;color:var(--colour-brass-light);border-bottom:1px solid rgba(201,169,105,.5);font:500 var(--type-action)/1.4 var(--font-sans);letter-spacing:var(--tracking-action);text-transform:uppercase}
#page-elzeth-art .art-collection--painting .art-work__enquire{color:var(--green-deep);border-color:var(--brass)}
#page-elzeth-art .art-work__enquire span,#page-elzeth-art .art-collect__link span{transition:transform .2s ease}
#page-elzeth-art .art-work__enquire:hover span,#page-elzeth-art .art-collect__link:hover span{transform:translateX(4px)}
#page-elzeth-art .art-work__enquire:focus-visible,#page-elzeth-art .art-collect__link:focus-visible,#page-elzeth-art .follow a:focus-visible{outline:2px solid var(--brass-light);outline-offset:5px}

#page-elzeth-art .art-context{padding:clamp(4rem,5vw,5rem) var(--gutter-editorial) clamp(2rem,3vw,3rem);background:var(--linen-soft)}
#page-elzeth-art .art-klawerjas-gallery{width:min(100%,var(--content-editorial));margin-inline:auto}
#page-elzeth-art .art-klawerjas-pair{position:relative;padding-bottom:var(--section-space-regional)}
#page-elzeth-art .art-klawerjas-pair+.art-klawerjas-pair,#page-elzeth-art .art-klawerjas-pair__copy+.art-klawerjas-pair{margin-top:clamp(4rem,6vw,7rem)}
#page-elzeth-art .art-klawerjas-pair__landscape{display:block;width:87%;height:auto;aspect-ratio:3/2;object-fit:contain}
#page-elzeth-art .art-klawerjas-pair__detail{position:absolute;right:1%;bottom:0;display:block;width:19%;height:auto;object-fit:contain;object-position:center}
#page-elzeth-art .art-klawerjas-pair:not(.art-klawerjas-pair--reverse){padding-bottom:clamp(.75rem,1.25vw,1.5rem)}
#page-elzeth-art .art-klawerjas-pair:not(.art-klawerjas-pair--reverse) .art-klawerjas-pair__detail{width:16.15%}
#page-elzeth-art .art-klawerjas-pair:not(.art-klawerjas-pair--reverse) .art-klawerjas-pair__landscape{border:var(--media-frame-width) solid var(--media-frame-inner);outline:var(--media-frame-width) solid var(--media-frame-outer);outline-offset:var(--media-frame-gap)}
#page-elzeth-art .art-klawerjas-pair__copy{width:87%;margin-top:clamp(1.5rem,2vw,2rem);color:var(--green-deep)}
#page-elzeth-art .art-klawerjas-pair__eyebrow{margin-bottom:clamp(.875rem,1.2vw,1.125rem);font:500 var(--type-eyebrow)/1.4 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
#page-elzeth-art .art-klawerjas-pair__copy h3{font:400 var(--type-editorial)/var(--line-heading) var(--font-serif);letter-spacing:var(--tracking-display)}
#page-elzeth-art .art-klawerjas-pair__divider{position:relative;width:min(52%,700px);height:7px;margin:clamp(1.125rem,1.6vw,1.5rem) 0}
#page-elzeth-art .art-klawerjas-pair__divider::before{content:'';position:absolute;top:3px;right:0;left:0;height:1px;background:rgba(168,130,60,.68)}
#page-elzeth-art .art-klawerjas-pair__divider::after{content:'';position:absolute;top:0;left:50%;width:5px;height:5px;transform:translateX(-50%) rotate(45deg);background:var(--linen-soft);border:1px solid rgba(168,130,60,.78)}
#page-elzeth-art .art-klawerjas-pair__description{max-width:680px;color:var(--colour-ink-soft);font-size:var(--type-body);line-height:var(--line-body)}
#page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__landscape{margin-left:auto}
#page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__detail{right:auto;left:5%;aspect-ratio:4/5}
#page-elzeth-art .art-klawerjas-pair--reverse{padding-bottom:clamp(5rem,8vw,8rem)}
#page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__landscape{width:90%;height:auto;margin-inline:auto;aspect-ratio:auto;object-fit:contain;border:var(--media-frame-width) solid var(--media-frame-inner);outline:var(--media-frame-width) solid var(--media-frame-outer);outline-offset:var(--media-frame-gap)}
#page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__detail{height:auto;aspect-ratio:auto;object-fit:contain;border:1px solid rgba(168,130,60,.58)}
#page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__detail--alpaca{right:auto;bottom:0;left:-1%;width:18%}
#page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__detail--donkey{right:-1%;bottom:clamp(1rem,2vw,2rem);left:auto;width:17%}
#page-elzeth-art .art-klawerjas-pair__copy--guardians{width:90%;margin-left:5%}
@media(min-width:1100px){
  #page-elzeth-art .art-klawerjas-pair:not(.art-klawerjas-pair--reverse) .art-klawerjas-pair__landscape{width:94%}
  #page-elzeth-art .art-klawerjas-pair:not(.art-klawerjas-pair--reverse) .art-klawerjas-pair__detail{z-index:1}
  #page-elzeth-art .art-klawerjas-pair__copy{width:94%}
  #page-elzeth-art .art-klawerjas-pair__copy--guardians{width:90%;margin-left:5%}
}
@media(max-width:1099px){
  #page-elzeth-art .art-context{padding-top:clamp(3rem,5vw,4rem)}
  #page-elzeth-art .art-klawerjas-pair{padding-bottom:clamp(3rem,6vw,4.5rem)}
  #page-elzeth-art .art-klawerjas-pair:not(.art-klawerjas-pair--reverse){padding-bottom:clamp(.625rem,1.75vw,1.125rem)}
  #page-elzeth-art .art-klawerjas-pair__landscape{width:86%}
  #page-elzeth-art .art-klawerjas-pair__copy{width:86%;margin-top:clamp(1.35rem,2.5vw,1.75rem)}
  #page-elzeth-art .art-klawerjas-pair__copy h3{font-size:var(--type-editorial)}
  #page-elzeth-art .art-klawerjas-pair__description{font-size:var(--type-body);line-height:var(--line-body)}
  #page-elzeth-art .art-klawerjas-pair__detail{right:2%;width:20%}
  #page-elzeth-art .art-klawerjas-pair:not(.art-klawerjas-pair--reverse) .art-klawerjas-pair__detail{width:17%}
  #page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__detail{right:auto;left:2%}
  #page-elzeth-art .art-klawerjas-pair--reverse{padding-bottom:clamp(3.5rem,7vw,5rem)}
  #page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__landscape{width:88%;margin-inline:auto}
  #page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__detail--alpaca{right:auto;bottom:0;left:1%;width:17%}
  #page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__detail--donkey{right:1%;bottom:1rem;left:auto;width:16%}
  #page-elzeth-art .art-klawerjas-pair__copy--guardians{width:88%;margin-left:6%}
}
@media(max-width:760px){
  #page-elzeth-art .art-context{padding-top:clamp(2.25rem,10vw,3rem);padding-bottom:1.5rem}
  #page-elzeth-art .art-collection--painting{padding-top:2rem}
  #page-elzeth-art .art-klawerjas-pair{padding-bottom:0}
  #page-elzeth-art .art-klawerjas-pair:not(.art-klawerjas-pair--reverse){padding-bottom:0}
  #page-elzeth-art .art-klawerjas-pair+.art-klawerjas-pair,#page-elzeth-art .art-klawerjas-pair__copy+.art-klawerjas-pair{margin-top:clamp(3.5rem,12vw,5rem)}
  #page-elzeth-art .art-klawerjas-pair__landscape,#page-elzeth-art .art-klawerjas-pair--reverse .art-klawerjas-pair__landscape{width:100%;margin-left:0}
  #page-elzeth-art .art-klawerjas-pair__detail{display:none}
  #page-elzeth-art .art-klawerjas-pair__copy{width:100%;margin-top:clamp(2.5rem,10vw,3rem)}
  #page-elzeth-art .art-klawerjas-pair__copy--guardians{width:100%;margin-left:0}
  #page-elzeth-art .art-klawerjas-pair__copy h3{font-size:var(--type-editorial)}
  #page-elzeth-art .art-klawerjas-pair__description{font-size:var(--type-body);line-height:var(--line-body)}
  #page-elzeth-art .art-klawerjas-pair__divider{width:min(72%,320px)}
}
#page-elzeth-art .art-collect{padding:clamp(5rem,8vw,8rem) var(--gutter-editorial);text-align:center;color:var(--colour-linen-soft);background:var(--colour-green)}
#page-elzeth-art .art-collect .eyebrow{color:var(--brass-light)}
#page-elzeth-art .art-collect h2{margin-bottom:1.25rem;font-size:var(--type-section);font-weight:400;letter-spacing:var(--tracking-display);line-height:var(--line-heading)}
#page-elzeth-art .art-collect p{max-width:590px;margin:auto;color:rgba(245,241,230,.72);line-height:var(--line-body)}
#page-elzeth-art .art-collect__link{margin-top:1.8rem}
#page-elzeth-art .art-artist{padding:var(--section-space-editorial) var(--gutter-editorial);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;gap:clamp(3rem,8vw,8rem);align-items:center;background:var(--linen-soft)}
#page-elzeth-art .art-artist__portrait{width:100%;max-width:540px;justify-self:end}
#page-elzeth-art .art-artist__portrait img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
#page-elzeth-art .art-artist__copy{max-width:560px}
#page-elzeth-art .art-artist__copy>p+p{margin-top:1.25rem}
#page-elzeth-art .art-artist__disciplines{margin-top:2rem!important;padding-top:1.4rem;border-top:1px solid rgba(168,130,60,.35);color:var(--brass-text)!important;font-size:.64rem!important;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
#page-elzeth-art .follow{padding:var(--section-space-support) var(--gutter-standard) clamp(4rem,6vw,5.5rem);text-align:center;background:var(--linen)}
#page-elzeth-art .follow .eyebrow{color:var(--brass-text)}
#page-elzeth-art .follow h2{margin-bottom:1.25rem;color:var(--colour-green-deep);font-size:var(--type-editorial);font-style:italic}
#page-elzeth-art .follow a.cta{min-height:44px;display:inline-flex;align-items:center;color:var(--green-deep);border-bottom:1px solid var(--brass);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}
#page-elzeth-art .art-follow__copy{max-width:var(--text-max-social);margin-inline:auto;color:var(--colour-ink-soft);font-size:var(--type-body);line-height:var(--line-body)}
#page-elzeth-art .follow .art-follow__link{margin-top:1.5rem;gap:.55rem;font-size:.78rem;letter-spacing:.08em;text-transform:none;transition:color .2s ease}
#page-elzeth-art .art-follow__link span[aria-hidden]{transition:transform .2s ease}
#page-elzeth-art .art-follow__link:hover{color:var(--brass-text)}
#page-elzeth-art .art-follow__link:focus-visible{outline-color:var(--brass-text)}
#page-elzeth-art .art-follow__link:hover span[aria-hidden]{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){#page-elzeth-art .art-follow__link,#page-elzeth-art .art-follow__link span[aria-hidden]{transition:none}}
#page-elzeth-art footer{padding:3rem var(--gutter-standard) 2.4rem;text-align:center;background:var(--green-deep);border-top:1px solid rgba(201,169,105,.12)}
#page-elzeth-art footer .wordmark{margin-bottom:1.4rem;display:block;color:var(--linen-soft);font:400 1.4rem 'Fraunces',serif;letter-spacing:.14em}
#page-elzeth-art footer nav ul{margin-bottom:2rem;display:flex;justify-content:center;flex-wrap:wrap;gap:1.8rem;list-style:none}
#page-elzeth-art footer nav a{color:rgba(237,231,216,.65);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}
#page-elzeth-art footer .fine{color:rgba(237,231,216,.66);font-size:.68rem;letter-spacing:.05em}
#page-elzeth-art [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .85s ease,transform .85s ease}
#page-elzeth-art [data-reveal].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){#page-elzeth-art [data-reveal],#page-elzeth-art [data-reveal].in{opacity:1;transform:none;transition:none}}

@media(max-width:1050px){
  #page-elzeth-art .art-work-grid--sculpture .art-work,#page-elzeth-art .art-work-grid--sculpture .art-work:nth-child(2),#page-elzeth-art .art-work-grid--sculpture .art-work:nth-child(5){grid-column:span 6;margin-top:0}
  #page-elzeth-art .art-work-grid--sculpture .art-work--wide{grid-column:span 8}
  #page-elzeth-art .painting-study__works{column-gap:clamp(2rem,5vw,4rem)}
  #page-elzeth-art .painting-study__work:nth-child(2){transform:translateY(clamp(1.25rem,3vw,2.5rem))}
  #page-elzeth-art .painting-study--clouds{background-position:center}
  #page-elzeth-art .painting-feature{grid-template-columns:minmax(0,1.22fr) minmax(280px,1fr);column-gap:clamp(2.5rem,5vw,4rem)}
  #page-elzeth-art .painting-feature__header{padding-top:clamp(2rem,5vw,3.5rem)}
  #page-elzeth-art .art-series{grid-column:1/-1}
  #page-elzeth-art .art-series__lead{width:min(100%,820px)}
}
@media(max-width:900px){
  #page-elzeth-art > .site-header nav:not(.mobile-nav){display:none}
  #page-elzeth-art .art-featured-work,#page-elzeth-art .art-artist{grid-template-columns:1fr}
  #page-elzeth-art .art-artist{row-gap:clamp(2rem,5vw,3rem)}
  #page-elzeth-art .art-artist__copy{max-width:620px}
  #page-elzeth-art .art-featured-work .art-work__image,#page-elzeth-art .art-artist__portrait{width:min(100%,680px);justify-self:start}
  #page-elzeth-art .art-featured-work .art-work__meta{max-width:520px;padding-bottom:0}
}
@media(min-width:761px) and (max-width:1099px){
  #page-elzeth-art .art-sculpture-study--featured+.art-sculpture-study--bumblebeasts{margin-top:3.5rem}
  #page-elzeth-art .art-collection--sculpture .art-section-heading p,
  #page-elzeth-art .art-sculpture-study__header p,
  #page-elzeth-art .art-series__intro p:not(.art-series__availability),
  #page-elzeth-art .art-selected-works__intro,
  #page-elzeth-art .painting-study__intro,
  #page-elzeth-art .painting-feature__copy,
  #page-elzeth-art .painting-at-klawerjas__copy,
  #page-elzeth-art .painting-room-detail figcaption p{font-size:var(--type-body);line-height:var(--line-body)}
}
@media(max-width:760px){
  #page-elzeth-art .art-klawerjas{grid-template-columns:1fr;justify-content:normal}
  #page-elzeth-art .art-klawerjas__copy{max-width:40ch;margin-top:0}
  #page-elzeth-art .art-sculpture-study--bumblebeasts+.art-sculpture-study--feelings{margin-top:3.5rem}
  #page-elzeth-art .art-klawerjas__image img,#page-elzeth-art .art-artist__portrait img{outline-offset:4px}
  #page-elzeth-art .art-work-gallery__nav{width:44px;height:44px}
  #page-elzeth-art .art-work-gallery__nav--prev{left:.65rem}
  #page-elzeth-art .art-work-gallery__nav--next{right:.65rem}
  #page-elzeth-art .art-work-gallery__thumbs{padding:0 2px .4rem}
  #page-elzeth-art .art-selected-works__controls{gap:10px}
  #page-elzeth-art .art-selected-works__controls button{width:44px;height:44px}
  #page-elzeth-art .art-selected-works__controls svg{width:17px;height:17px}
  #page-elzeth-art .painting-study__header{margin-bottom:3.5rem}
  #page-elzeth-art .painting-study__works{grid-template-columns:1fr;gap:clamp(4rem,14vw,6rem)}
  #page-elzeth-art .painting-study__work:nth-child(2){transform:none}
  #page-elzeth-art .painting-study__artwork{height:auto;min-height:0}
  #page-elzeth-art .painting-study__image{width:min(100%,480px);height:auto;max-height:none}
  #page-elzeth-art .painting-study__meta{margin-top:1.5rem}
  #page-elzeth-art .painting-study--clouds{padding:clamp(3rem,12vw,4rem) var(--gutter-editorial-mobile) clamp(4.5rem,16vw,6rem);background-position:42% center}
  #page-elzeth-art .painting-study--clouds .painting-study__artwork{width:min(100%,480px);height:auto;aspect-ratio:51/71;margin-inline:auto}
  #page-elzeth-art .painting-feature{padding:clamp(4.5rem,12vw,6rem) 0;display:grid;grid-template-columns:1fr;grid-template-areas:'header' 'artwork' 'content';row-gap:0}
  #page-elzeth-art .painting-feature__header{padding-top:0;margin-bottom:clamp(2.5rem,7vw,3.5rem)}
  #page-elzeth-art .painting-feature__artwork{width:100%;height:clamp(440px,78vw,560px)}
  #page-elzeth-art .painting-feature__content{width:min(100%,560px);max-width:none;margin:clamp(2rem,6vw,3rem) auto 0}
  #page-elzeth-art .painting-at-klawerjas{padding:3rem var(--gutter-editorial-mobile) clamp(4.5rem,14vw,6rem)}
  #page-elzeth-art .painting-at-klawerjas__intro{margin-bottom:3.5rem}
  #page-elzeth-art .painting-room__label,#page-elzeth-art .painting-room__context{width:100%}
}
@media(max-width:520px){
  #page-elzeth-art .painting-feature__title{font-size:var(--type-editorial)}
  #page-elzeth-art .painting-feature__artwork{height:auto}
  #page-elzeth-art .painting-feature__image{width:min(100%,420px);height:auto;max-height:none}
}
@media(max-width:700px){
  #page-elzeth-art .art-collection--sculpture .art-section-heading{display:block}
  #page-elzeth-art .art-collection--sculpture .art-section-heading h2{margin-bottom:1.25rem}
  #page-elzeth-art .art-work-grid--sculpture{grid-template-columns:1fr;gap:4rem}
  #page-elzeth-art .art-work-grid .art-work,#page-elzeth-art .art-work-grid .art-work:nth-child(2),#page-elzeth-art .art-work-grid .art-work:nth-child(5),#page-elzeth-art .art-work-grid .art-work--wide{grid-column:auto;margin-top:0}
  #page-elzeth-art .art-series{grid-column:auto}
  #page-elzeth-art .art-series__intro{margin-bottom:3.5rem}
  #page-elzeth-art .art-series__works{grid-template-columns:1fr;gap:3.5rem}
  #page-elzeth-art .art-series-work__image{height:clamp(300px,105vw,410px)}
  #page-elzeth-art .art-selected-works{margin-top:7rem}
  #page-elzeth-art .art-selected-works__header{display:block;margin-bottom:2.5rem}
  #page-elzeth-art .art-selected-works__controls{margin-top:1.25rem}
  #page-elzeth-art .art-selected-works__rail{grid-auto-columns:82%;gap:1rem}
  #page-elzeth-art .art-context{padding-inline:6vw}
  #page-elzeth-art .art-work__heading{align-items:flex-start}
  #page-elzeth-art .painting-room__details{width:100%;margin-top:2.25rem;grid-template-columns:1fr;gap:clamp(3.5rem,12vw,5rem)}
  #page-elzeth-art .painting-room-detail__stage,#page-elzeth-art .painting-room-detail figcaption{width:min(88%,340px)}
}

/* ============ CONTACT PAGE ============ */
#page-contact .grain{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
  #page-contact h1,#page-contact h2,#page-contact h3,#page-contact h4,#page-contact .serif{font-family:'Fraunces',serif;font-weight:400;}
  #page-contact header{
    position:fixed;top:0;left:0;right:0;z-index:800;
    display:flex;align-items:center;justify-content:space-between;
    padding:1.4rem max(4vw,28px);
    background:rgba(28,38,32,.92);backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(201,169,105,.15);
    transition:padding .4s ease;
  }
  #page-contact header.scrolled{padding:.9rem max(4vw,28px);}
  #page-contact .wordmark{font-family:'Fraunces',serif;font-size:1.5rem;letter-spacing:.14em;color:var(--linen);white-space:nowrap;}
  #page-contact nav ul{display:flex;gap:2.2rem;list-style:none;}
  #page-contact nav a{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(237,231,216,.75);transition:color .25s;}
  #page-contact nav a:hover,#page-contact nav a.active{color:var(--linen);}
  #page-contact .book-pill{
    font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
    padding:.5rem 1.3rem;border:1px solid var(--brass-light);border-radius:99px;
    color:var(--brass-light);transition:all .25s;white-space:nowrap;
  }
  #page-contact .book-pill:hover{background:var(--brass);border-color:var(--brass);color:#fff;}
  @media(max-width:860px){#page-contact nav:not(.mobile-nav){display:none;}}
  #page-contact /* ── PAGE HERO ── */
  .page-hero{
    height:58vh;min-height:420px;position:relative;
    display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;
    background:var(--green-deep);
    padding-top:6rem;
  }
  #page-contact .page-hero picture{position:absolute;inset:0;display:block;}
  #page-contact .page-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:heroZoomContact 32s ease-in-out infinite alternate;opacity:.55;}
  @keyframes heroZoomContact{from{transform:scale(1);}to{transform:scale(1.08);}}
  #page-contact .page-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,38,32,.6) 0%,rgba(28,38,32,.45) 50%,rgba(28,38,32,.85) 100%);}
  #page-contact .page-hero-content{position:relative;z-index:2;max-width:640px;padding:0 max(6vw,32px);}
  #page-contact .eyebrow{font-size:.65rem;letter-spacing:.32em;text-transform:uppercase;color:var(--brass-light);margin-bottom:1.2rem;}
  #page-contact .page-hero h1{
    font-family:'Fraunces',serif;font-size:clamp(2.1rem,4.4vw,3.2rem);
    font-style:italic;color:var(--linen);line-height:1.15;margin-bottom:1.2rem;
  }
  #page-contact .page-hero p{font-size:.98rem;color:rgba(237,231,216,.8);line-height:1.8;}
  #page-contact /* ── CONTACT SPLIT ── */
  .contact-split{display:grid;grid-template-columns:1.1fr 1fr;gap:0;}
  #page-contact /* form side */
  .contact-form-wrap{
    background:var(--linen-soft);padding:clamp(3.2rem,6vw,6rem) clamp(2.6rem,6vw,6rem);
    display:flex;flex-direction:column;justify-content:center;
  }
  #page-contact .contact-form-wrap .eyebrow{color:var(--brass);}
  #page-contact .contact-form-wrap h2{
    font-family:'Fraunces',serif;font-size:clamp(1.7rem,3vw,2.3rem);
    color:var(--green-deep);font-style:italic;margin-bottom:.6rem;
  }
  #page-contact .contact-form-wrap .lead{color:var(--ink-soft);font-size:.92rem;margin-bottom:2.2rem;}
  #page-contact form{display:flex;flex-direction:column;gap:1.5rem;max-width:480px;}
  #page-contact .field{position:relative;}
  #page-contact .field label{
    display:block;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
    color:var(--ink-soft);margin-bottom:.5rem;
  }
  #page-contact .field input,#page-contact .field textarea{
    width:100%;background:transparent;border:none;border-bottom:1px solid rgba(27,27,22,.2);
    padding:.5rem 0 .7rem;font-family:'Inter',sans-serif;font-size:.95rem;color:var(--ink);
    transition:border-color .25s ease;resize:vertical;
  }
  #page-contact .field textarea{min-height:110px;line-height:1.6;}
  #page-contact .field input:focus,#page-contact .field textarea:focus{outline:none;border-color:var(--brass);}
  #page-contact .form-submit{
    align-self:flex-start;margin-top:.6rem;
    padding:.85rem 2.4rem;background:var(--brass);color:#fff;border:none;border-radius:2px;
    font-family:'Inter',sans-serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
    cursor:pointer;transition:background .25s ease;
  }
  #page-contact .form-submit:hover{background:var(--brass-light);}
  #page-contact .form-fine{font-size:.72rem;color:rgba(27,27,22,.4);margin-top:.4rem;line-height:1.6;}
  #page-contact .form-fine a{text-decoration:underline;text-underline-offset:2px;}
  #page-contact .form-success{
    display:none;font-family:'Fraunces',serif;font-style:italic;color:var(--green-deep);
    font-size:1.05rem;margin-top:.4rem;
  }
  #page-contact .form-success.show{display:block;}
  #page-contact /* details side */
  .contact-details{
    background:var(--green-deep);color:var(--linen);
    padding:clamp(3.2rem,6vw,6rem) clamp(2.6rem,6vw,6rem);
    display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;
  }
  #page-contact .contact-details::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at 80% 20%, rgba(201,169,105,.14), transparent 60%);
    pointer-events:none;
  }
  #page-contact .contact-details > *{position:relative;z-index:1;}
  #page-contact .contact-card{
    position:absolute;right:-16px;top:50%;
    width:170px;height:auto;
    transform:translateY(calc(-50% + var(--pv,0px))) rotate(5deg);
    opacity:.5;pointer-events:none;
    filter:drop-shadow(0 20px 40px rgba(0,0,0,.4));
  }
  @media(max-width:760px){#page-contact .contact-card{display:none;}}
  #page-contact .contact-details .eyebrow{color:var(--brass-light);}
  #page-contact .contact-details h2{
    font-family:'Fraunces',serif;font-size:clamp(1.7rem,3vw,2.3rem);
    color:var(--linen);font-style:italic;margin-bottom:1.4rem;
  }
  #page-contact .contact-details p{color:rgba(237,231,216,.78);font-size:.95rem;line-height:1.85;margin-bottom:2rem;}
  #page-contact .detail-row{
    display:flex;gap:1.1rem;padding:1.1rem 0;border-top:1px solid rgba(201,169,105,.18);
  }
  #page-contact .detail-row:last-of-type{border-bottom:1px solid rgba(201,169,105,.18);}
  #page-contact .detail-icon{width:20px;height:20px;flex-shrink:0;color:var(--brass-light);margin-top:.15rem;}
  #page-contact .detail-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
  #page-contact .detail-text .k{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-light);margin-bottom:.3rem;}
  #page-contact .detail-text a,#page-contact .detail-text span{font-size:.95rem;color:var(--linen);}
  #page-contact .detail-text a{transition:color .2s;border-bottom:1px solid transparent;}
  #page-contact .detail-text a:hover{color:var(--brass-light);border-color:var(--brass-light);}
  #page-contact .directions-btn{
    display:inline-flex;align-items:center;gap:.6rem;margin-top:1.8rem;
    font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-light);
    border-bottom:1px solid rgba(201,169,105,.4);padding-bottom:.35rem;transition:all .25s;width:fit-content;
  }
  #page-contact .directions-btn:hover{color:var(--linen);border-color:var(--linen);}
  #page-contact .directions-btn::after{content:'→';}
  #page-contact .contact-qr-col{display:flex;flex-direction:column;align-items:center;flex-shrink:0;}
  #page-contact .contact-qr-col .directions-btn{margin-top:1rem;justify-content:center;}
  #page-contact .contact-qr{
    display:flex;gap:1.5rem;align-items:center;margin-top:1.8rem;padding-top:1.6rem;
    border-top:1px solid rgba(201,169,105,.18);
  }
  #page-contact .contact-qr img{width:220px;height:220px;flex-shrink:0;border-radius:8px;background:var(--linen);padding:10px;}
  @media(max-width:520px){#page-contact .contact-qr{flex-direction:column;align-items:flex-start;}#page-contact .contact-qr img{width:180px;height:180px;}}
  @media(max-width:900px){#page-contact .contact-split{grid-template-columns:1fr;}}
  #page-contact .contact-map-sec{background:var(--green-deep);padding:clamp(3.5rem,6vw,5rem) var(--gutter-standard);}
  #page-contact .contact-map-head{text-align:center;max-width:560px;margin:0 auto 2.4rem;}
  #page-contact .contact-map-head .eyebrow{color:var(--brass-light);}
  #page-contact .contact-map-head h2{font-family:'Fraunces',serif;font-style:italic;color:var(--linen);font-size:clamp(1.6rem,2.8vw,2.2rem);}
  #page-contact .contact-map-mat{
    max-width:var(--content-standard);margin:0 auto;
    padding:clamp(1.4rem,2.6vw,2.4rem);
    background:linear-gradient(155deg,#2f4033 0%,#1c2620 60%,#141c17 100%);
    border-radius:6px;
    box-shadow:0 45px 100px rgba(0,0,0,.5), inset 0 0 0 1px rgba(201,169,105,.4);
    position:relative;
  }
  #page-contact .contact-map-mat::before{
    content:'';position:absolute;inset:10px;border:1px solid rgba(201,169,105,.4);
    border-radius:3px;pointer-events:none;z-index:2;
  }
  #page-contact .contact-map-mat::after,#page-contact .contact-map-mat .corner{pointer-events:none;}
  #page-contact .contact-map-frame{
    position:relative;display:block;overflow:hidden;border-radius:2px;
    box-shadow:0 12px 30px rgba(0,0,0,.35);
    transition:transform .5s ease;
  }
  #page-contact .contact-map-frame:hover{transform:scale(1.008);}
  #page-contact .contact-map-frame img{display:block;width:100%;height:auto;}
  #page-contact .contact-map-hint{
    position:absolute;right:1.4rem;bottom:1.4rem;z-index:2;
    display:flex;align-items:center;gap:.55rem;
    background:rgba(28,38,32,.92);backdrop-filter:blur(6px);
    color:var(--linen);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;
    padding:.7rem 1.2rem;border-radius:99px;border:1px solid rgba(201,169,105,.5);
    box-shadow:0 10px 24px rgba(0,0,0,.3);
    transition:transform .3s ease, background .3s ease;
  }
  #page-contact .contact-map-frame:hover .contact-map-hint{transform:translateY(-3px);background:var(--brass);}
  #page-contact .contact-map-hint svg{width:14px;height:14px;stroke:var(--brass-light);fill:none;stroke-width:1.6;flex-shrink:0;}
  #page-contact .contact-map-frame:hover .contact-map-hint svg{stroke:#fff;}
  #page-contact /* ── staff divider (musical heritage motif) ── */
  .staff-divider{background:var(--linen-soft);padding:1.8rem var(--gutter-standard);display:flex;justify-content:center;}
  #page-contact .staff-divider-img{
    width:min(100%,640px);aspect-ratio:6.76/1;
    
    background-repeat:no-repeat;background-size:contain;background-position:center;
    opacity:.55;
  }
  #page-contact /* ── FOOTER ── */
  footer{background:var(--green-deep);border-top:1px solid rgba(201,169,105,.12);padding:3rem var(--gutter-standard) 2.4rem;text-align:center;position:relative;overflow:hidden;}
  #page-contact footer .wordmark{color:var(--linen-soft);font-size:1.4rem;display:block;margin-bottom:1.4rem;}
  #page-contact footer nav ul{justify-content:center;flex-wrap:wrap;color:rgba(237,231,216,.65);gap:1.8rem;margin-bottom:2rem;list-style:none;display:flex;}
  #page-contact footer nav a{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(237,231,216,.65);transition:color .2s;}
  #page-contact footer nav a:hover{color:var(--linen);}
  #page-contact footer .fine{font-size:.68rem;letter-spacing:.05em;color:rgba(237,231,216,.66);}
  #page-contact [data-reveal]{opacity:1;transform:none;}
  .reveal-ready #page-contact [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .85s ease,transform .85s ease;}
  .reveal-ready #page-contact [data-reveal].in{opacity:1;transform:none;}

/* ============ LUXURY LAYER ============ */
.lux-progress{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:9700;
  transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--brass),var(--brass-light),#f3e2b3);
  pointer-events:none;
}
.lux-veil{
  position:fixed;inset:0;z-index:9600;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(120% 90% at 50% 40%,#223226 0%,var(--green-deep) 55%,#0d140b 100%);
  transform:translateY(100%);pointer-events:none;
}
.lux-veil::before,.lux-veil::after{
  content:'';position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--brass-light),transparent);opacity:.6;
}
.lux-veil::before{top:0;}
.lux-veil::after{bottom:0;}
.lux-veil .veil-mark{
  font-family:'Fraunces',serif;color:var(--brass-light);
  font-size:clamp(2.5rem,5.4vw,3.6rem);letter-spacing:.28em;text-indent:.28em;
  opacity:0;transform:translateY(10px);
  transition:opacity .4s ease .1s,transform .4s ease .1s;
}
.lux-veil.in{transition:transform .55s cubic-bezier(.76,0,.24,1);transform:translateY(0);pointer-events:auto;}
.lux-veil.in .veil-mark{opacity:.95;transform:none;}
.lux-veil.in.out{transition:transform .6s cubic-bezier(.76,0,.24,1) .05s;transform:translateY(-100%);}

@media (pointer:fine){
  .lux-cursor-dot{
    position:fixed;left:0;top:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;
    background:var(--brass-light);z-index:9800;pointer-events:none;opacity:0;
  }
  .lux-cursor-ring{
    position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;
    border:1px solid rgba(201,169,105,.55);z-index:9790;pointer-events:none;opacity:0;
    transition:width .25s ease,height .25s ease,margin .25s ease,border-color .25s ease,opacity .3s ease;
  }
  body.lux-cursor-on .lux-cursor-dot,body.lux-cursor-on .lux-cursor-ring{opacity:1;}
  body.lux-hot .lux-cursor-ring{width:56px;height:56px;margin:-28px 0 0 -28px;border-color:var(--brass-light);}
}

header nav a{position:relative;}
header nav a::after{
  content:'';position:absolute;left:0;bottom:-6px;height:1px;width:100%;
  background:var(--brass-light);transform:scaleX(0);transform-origin:left;
  transition:transform .3s ease;
}
header nav a:hover::after,header nav a.active::after{transform:scaleX(1);}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:1px solid var(--brass-light);outline-offset:3px;
}

@media (prefers-reduced-motion: no-preference){
  body.lux .feature-cards .feature-card,
  body.lux .outdoor-features .of-card,
  body.lux .gallery-scroll .gallery-item,
  body.lux .amenity-list li,
  .reveal-ready body.lux .contact-form-wrap .field{
    opacity:0;transform:translateY(16px);
    transition:opacity .6s ease,transform .6s ease;
  }
  body.lux [data-reveal].in .feature-card,
  body.lux [data-reveal].in .of-card,
  body.lux [data-reveal].in .gallery-item,
  body.lux [data-reveal].in li,
  body.lux [data-reveal].in .field{opacity:1;transform:none;}
  body.lux [data-reveal].in .feature-card:nth-child(1),body.lux [data-reveal].in .of-card:nth-child(1),body.lux [data-reveal].in .gallery-item:nth-child(1),body.lux [data-reveal].in li:nth-child(1),body.lux [data-reveal].in .field:nth-child(1){transition-delay:.06s;}
  body.lux [data-reveal].in .feature-card:nth-child(2),body.lux [data-reveal].in .of-card:nth-child(2),body.lux [data-reveal].in .gallery-item:nth-child(2),body.lux [data-reveal].in li:nth-child(2),body.lux [data-reveal].in .field:nth-child(2){transition-delay:.13s;}
  body.lux [data-reveal].in .feature-card:nth-child(3),body.lux [data-reveal].in .of-card:nth-child(3),body.lux [data-reveal].in .gallery-item:nth-child(3),body.lux [data-reveal].in li:nth-child(3),body.lux [data-reveal].in .field:nth-child(3){transition-delay:.20s;}
  body.lux [data-reveal].in .feature-card:nth-child(4),body.lux [data-reveal].in .of-card:nth-child(4),body.lux [data-reveal].in .gallery-item:nth-child(4),body.lux [data-reveal].in li:nth-child(4){transition-delay:.27s;}
  body.lux [data-reveal].in .feature-card:nth-child(5),body.lux [data-reveal].in .of-card:nth-child(5),body.lux [data-reveal].in .gallery-item:nth-child(5),body.lux [data-reveal].in li:nth-child(5){transition-delay:.34s;}
  body.lux [data-reveal].in .feature-card:nth-child(6),body.lux [data-reveal].in .gallery-item:nth-child(6),body.lux [data-reveal].in li:nth-child(6){transition-delay:.41s;}
  body.lux [data-reveal].in .gallery-item:nth-child(7),body.lux [data-reveal].in li:nth-child(7){transition-delay:.48s;}
  body.lux [data-reveal].in li:nth-child(8){transition-delay:.55s;}
  body.lux [data-reveal].in li:nth-child(n+9){transition-delay:.62s;}
}

/* ============ JOURNAL PAGE (v2 — single page, textured leather) ============ */
#page-game .grain{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
  #page-game h1,#page-game h2,#page-game h3,#page-game h4,#page-game .serif{font-family:'Fraunces',serif;font-weight:400;}
  #page-game > header{
    position:fixed;top:0;left:0;right:0;z-index:800;
    display:flex;align-items:center;justify-content:space-between;
    padding:1.4rem max(4vw,28px);
    background:rgba(28,38,32,.92);backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(201,169,105,.15);
    transition:padding .4s ease;
  }
  #page-game > header.scrolled{padding:.9rem max(4vw,28px);}
  #page-game .wordmark{font-family:'Fraunces',serif;font-size:1.5rem;letter-spacing:.14em;color:var(--linen);white-space:nowrap;}
  #page-game nav ul{display:flex;gap:2.2rem;list-style:none;}
  #page-game nav a{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(237,231,216,.75);transition:color .25s;}
  #page-game nav a:hover,#page-game nav a.active{color:var(--linen);}
  #page-game .book-pill{
    font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
    padding:.5rem 1.3rem;border:1px solid var(--brass-light);border-radius:99px;
    color:var(--brass-light);transition:all .25s;white-space:nowrap;
  }
  #page-game .book-pill:hover{background:var(--brass);border-color:var(--brass);color:#fff;}
  @media(max-width:860px){#page-game nav:not(.mobile-nav){display:none;}}
  #page-game footer{background:var(--green-deep);border-top:1px solid rgba(201,169,105,.12);padding:3rem var(--gutter-standard) 2.4rem;text-align:center;}
  #page-game footer .wordmark{color:var(--linen-soft);font-size:1.4rem;display:block;margin-bottom:1.4rem;}
  #page-game footer nav ul{justify-content:center;flex-wrap:wrap;color:rgba(237,231,216,.65);gap:1.8rem;margin-bottom:2rem;list-style:none;display:flex;}
  #page-game footer nav a{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(237,231,216,.65);transition:color .2s;}
  #page-game footer nav a:hover{color:var(--linen);}
  #page-game footer .fine{font-size:.68rem;letter-spacing:.05em;color:rgba(237,231,216,.66);}

/* ============ EXPLORE PAGE ============ */
#page-explore .grain{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
  #page-explore h1,#page-explore h2,#page-explore h3,#page-explore h4,#page-explore .serif{font-family:'Fraunces',serif;font-weight:400;}
  #page-explore /* ── HEADER ── */
  > .site-header{
    position:fixed;top:0;left:0;right:0;z-index:800;
    display:flex;align-items:center;justify-content:space-between;
    padding:1.4rem max(4vw,28px);
    background:rgba(28,38,32,.92);backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(201,169,105,.15);
    transition:padding .4s ease;
  }
  #page-explore > .site-header.scrolled{padding:.9rem max(4vw,28px);}
  #page-explore .wordmark{font-family:'Fraunces',serif;font-size:1.5rem;letter-spacing:.14em;color:var(--linen);white-space:nowrap;}
  #page-explore > .site-header nav ul{display:flex;gap:2.2rem;list-style:none;}
  #page-explore > .site-header nav a{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(237,231,216,.75);transition:color .25s;}
  #page-explore > .site-header nav a:hover,#page-explore > .site-header nav a.active{color:var(--linen);}
  #page-explore .book-pill{
    font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
    padding:.5rem 1.3rem;border:1px solid var(--brass-light);border-radius:99px;
    color:var(--brass-light);transition:all .25s;white-space:nowrap;
  }
  #page-explore .book-pill:hover{background:var(--brass);border-color:var(--brass);color:#fff;}
  @media(max-width:860px){#page-explore > .site-header nav{display:none;}}
  #page-explore /* ── PAGE HERO ── */
  .page-hero{
    height:72vh;min-height:520px;position:relative;
    display:flex;align-items:flex-end;overflow:hidden;
    background:var(--green-deep);
  }
  #page-explore .page-hero-img{position:absolute;inset:0;height:100%;animation:heroZoomExplore 32s ease-in-out infinite alternate;opacity:.7;}
  @keyframes heroZoomExplore{from{transform:scale(1);}to{transform:scale(1.08);}}
  #page-explore .page-hero-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,38,32,.9) 0%,rgba(28,38,32,.35) 55%,transparent 100%);}
  #page-explore .page-hero-content{position:relative;z-index:2;padding:var(--gutter-standard) var(--gutter-editorial) max(4.5vw,40px);max-width:760px;}
  #page-explore .eyebrow{font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-light);margin-bottom:1rem;}
  #page-explore .page-hero h1{
    font-family:'Fraunces',serif;font-size:clamp(2.2rem,5vw,3.6rem);
    font-style:italic;color:var(--linen);line-height:1.1;margin-bottom:1.3rem;
  }
  #page-explore .page-hero p{font-size:1rem;color:rgba(237,231,216,.82);line-height:1.85;margin-bottom:1.6rem;max-width:600px;}
  #page-explore .hero-links{display:flex;flex-wrap:wrap;gap:1rem;}
  #page-explore .hero-cta{
    display:inline-flex;align-items:center;gap:.6rem;
    padding:.8rem 1.7rem;background:var(--brass);color:#fff;border-radius:2px;
    font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
    transition:background .25s;
  }
  #page-explore .hero-cta:hover{background:var(--brass-light);}
  #page-explore .hero-cta::after{content:'→';}
  #page-explore /* ── SECTION HEADS ── */
  .sec-head{text-align:center;max-width:640px;margin:0 auto 2.6rem;}
  #page-explore .sec-head .eyebrow{justify-content:center;display:flex;color:var(--colour-brass-text);}
  #page-explore .sec-head h2{font-family:'Fraunces',serif;font-size:clamp(1.7rem,3vw,2.4rem);color:var(--green-deep);font-style:italic;}
  #page-explore .sec-head.on-dark .eyebrow{color:var(--brass-light);}
  #page-explore .sec-head.on-dark h2{color:var(--linen);}
  #page-explore .sec-head p{color:var(--ink-soft);font-size:.92rem;margin-top:.9rem;line-height:1.8;}
  #page-explore .sec-head.on-dark p{color:rgba(237,231,216,.75);}
  #page-explore /* ── WINE ESTATES CAROUSEL ── */
  .estates{padding:var(--section-space-regional) 0;background:var(--linen-soft);}
  #page-explore .estates .sec-head{padding:0 var(--gutter-standard);}
  #page-explore .gallery-carousel{position:relative;}
  #page-explore .gallery-scroll{
    display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;
    scroll-behavior:smooth;padding:.3rem var(--gutter-standard) 1rem;margin:0 calc(-1 * var(--gutter-standard));
    -ms-overflow-style:none;scrollbar-width:none;
  }
  #page-explore .gallery-scroll::-webkit-scrollbar{display:none;}
  #page-explore .estate-card{
    flex:0 0 clamp(260px,30vw,340px);scroll-snap-align:start;
    position:relative;overflow:hidden;min-height:330px;
    background-color:var(--green-deep);
    border-radius:2px;padding:1.8rem 1.6rem;
    border:1px solid rgba(168,130,60,.16);
    display:flex;flex-direction:column;
    transition:transform .4s ease;
  }
  #page-explore .estate-card__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
  #page-explore .estate-card__content{position:relative;z-index:2;display:flex;flex:1;flex-direction:column;}
  #page-explore .estate-card:hover{transform:translateY(-4px);}
  #page-explore .estate-card::before{
    content:'';position:absolute;inset:0;z-index:1;
    background:linear-gradient(165deg, rgba(18,24,17,.68) 0%, rgba(18,24,17,.82) 60%, rgba(18,24,17,.9) 100%);
  }
  #page-explore .estate-card > .estate-card__image{position:absolute;z-index:0;}
  #page-explore .estate-card .estate-eyebrow{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-light);margin-bottom:.6rem;}
  #page-explore .estate-card h3{font-family:'Fraunces',serif;font-size:1.15rem;color:var(--linen);margin-bottom:.7rem;}
  #page-explore .estate-card p{color:rgba(237,231,216,.85);font-size:.85rem;line-height:1.75;flex:1;margin-bottom:1.1rem;}
  #page-explore .estate-link{
    font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-light);
    border-bottom:1px solid rgba(201,169,105,.5);padding-bottom:.3rem;width:fit-content;
    transition:all .2s ease;
  }
  #page-explore .estate-link:hover{color:var(--linen);border-color:var(--linen);}
  #page-explore .estate-link::after{content:' →';}
  #page-explore .gallery-carousel::before,#page-explore .gallery-carousel::after{content:'';position:absolute;top:0;bottom:1rem;width:min(8vw,64px);z-index:2;pointer-events:none;}
  #page-explore .gallery-carousel::before{left:0;background:linear-gradient(90deg,var(--linen-soft) 0%,transparent 100%);}
  #page-explore .gallery-carousel::after{right:0;background:linear-gradient(270deg,var(--linen-soft) 0%,transparent 100%);}
  #page-explore .gallery-nav{
    position:absolute;top:50%;transform:translateY(-50%);z-index:3;
    width:44px;height:44px;padding:0;border-radius:50%;
    background:rgba(245,241,230,.95);border:1px solid rgba(168,130,60,.4);
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    transition:all .25s ease;
  }
  #page-explore .gallery-nav:is(:hover,:focus-visible){background:var(--brass);border-color:var(--brass);}
  #page-explore .gallery-nav:is(:hover,:focus-visible) svg{stroke:#fff;}
  #page-explore .gallery-nav svg{width:16px;height:16px;stroke:var(--brass);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s ease;}
  #page-explore .gallery-nav.prev{left:-6px;}
  #page-explore .gallery-nav.next{right:-6px;}
  @media(max-width:760px){#page-explore .gallery-nav{display:none;}}
  #page-explore /* ── MAP DOWNLOAD BAND ── */
  .map-band{
    background:var(--green-deep);padding:var(--section-space-support) var(--gutter-standard);
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2rem;
  }
  #page-explore .map-band-text .eyebrow{color:var(--brass-light);}
  #page-explore .map-band-text h2{font-family:'Fraunces',serif;font-style:italic;color:var(--linen);font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:.6rem;}
  #page-explore .map-band-text p{color:rgba(237,231,216,.7);font-size:.9rem;max-width:420px;}
  #page-explore .map-btn{
    display:inline-flex;align-items:center;gap:.7rem;flex-shrink:0;
    padding:.9rem 1.8rem;border:1px solid var(--brass-light);border-radius:2px;
    color:var(--brass-light);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
    transition:all .25s;
  }
  #page-explore .map-btn:hover{background:var(--brass);border-color:var(--brass);color:#fff;}
  #page-explore .map-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;}
  #page-explore /* ── BEYOND / ACTIVITIES CARD GRID ── */
  .feature-cards{padding:var(--section-space-regional) var(--gutter-standard);background:var(--linen-soft);}
  #page-explore .card-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1.5px;background:rgba(0,0,0,.06);margin-top:2.6rem;
  }
  #page-explore .info-card{background:var(--linen-soft);padding:2.2rem 1.9rem;transition:background .25s;}
  #page-explore .info-card:hover{background:#fff;}
  #page-explore .info-card .icon-line{width:32px;height:32px;color:var(--brass);margin-bottom:1rem;}
  #page-explore .info-card .icon-line svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;}
  #page-explore .info-card h3{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--green-deep);margin-bottom:.6rem;}
  #page-explore .info-card p{font-size:.85rem;color:var(--ink-soft);line-height:1.75;margin-bottom:.8rem;}
  #page-explore .info-card .links{display:flex;flex-wrap:wrap;gap:.5rem .9rem;}
  #page-explore .info-card .links a{font-size:.68rem;letter-spacing:.05em;color:var(--brass);border-bottom:1px solid rgba(168,130,60,.35);transition:color .2s;}
  #page-explore .info-card .links a:hover{color:var(--green-deep);}
  #page-explore .activities{background:var(--green-deep);}
  #page-explore .activities .sec-head{padding:0 var(--gutter-standard);}
  #page-explore .activities .card-grid{background:rgba(255,255,255,.05);}
  #page-explore .activities .info-card{background:var(--green-deep);}
  #page-explore .activities .info-card:hover{background:#22301f;}
  #page-explore .activities .info-card .icon-line{color:var(--brass-light);}
  #page-explore .activities .info-card h4{color:var(--linen);}
  #page-explore .activities .info-card p{color:rgba(237,231,216,.72);}
  #page-explore /* ── ACTIVE ADVENTURES (split sections, reused pattern) ── */
  .adventures{position:relative;background:var(--linen-soft);overflow:hidden;}
  #page-explore .split{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  #page-explore .split-text{padding:clamp(3rem,6vw,5.5rem) clamp(2.4rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center;}
  #page-explore .split-text .eyebrow{color:var(--brass);}
  #page-explore .split-text h3{font-family:'Fraunces',serif;font-size:clamp(1.5rem,2.6vw,2rem);color:var(--green-deep);font-style:italic;margin-bottom:1.1rem;}
  #page-explore .split-text p{color:var(--ink-soft);font-size:.92rem;line-height:1.85;margin-bottom:1rem;}
  #page-explore .split-text .links{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:.6rem;}
  #page-explore .split-text .links a{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);border-bottom:1px solid rgba(168,130,60,.35);padding-bottom:.2rem;transition:color .2s;}
  #page-explore .split-text .links a:hover{color:var(--green-deep);}
  #page-explore .split-img{min-height:360px;overflow:hidden;position:relative;}
  #page-explore .split-img img{position:absolute;inset:0;height:100%;transition:transform 8s ease;}
  #page-explore .split-img:hover img{transform:scale(1.04);}
  #page-explore .split.reverse .split-text{order:2;}
  #page-explore .split.reverse .split-img{order:1;}
  @media(max-width:860px){#page-explore .split,#page-explore .split.reverse{grid-template-columns:1fr;}
  #page-explore .split .split-text,#page-explore .split.reverse .split-text{order:2;}
  #page-explore .split .split-img,#page-explore .split.reverse .split-img{order:1;min-height:280px;}}
  #page-explore /* decorative King of Clubs card,#page-explore background layer */
  .adventures-card{
    position:absolute;right:calc(50vw + 750px);top:8%;
    width:min(15vw,220px);height:auto;object-fit:contain;
    transform:rotate(-6deg);opacity:.16;z-index:0;pointer-events:none;
  }
  @media(max-width:1300px){#page-explore .adventures-card{display:none;}}
  #page-explore /* ── TRAIL CARDS ── */
  .trails{padding:var(--section-space-regional) var(--gutter-standard);background:var(--green-deep);position:relative;z-index:1;}
  #page-explore .trail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.6rem;margin-top:2.6rem;}
  #page-explore .trail-card{
    position:relative;overflow:hidden;border-radius:3px;
    background:linear-gradient(160deg,#243325,#1a241d);
    border:1px solid rgba(201,169,105,.2);
    padding:2.2rem 2rem;
  }
  #page-explore .trail-card svg.topo{position:absolute;inset:0;width:100%;height:100%;opacity:.14;pointer-events:none;}
  #page-explore .trail-card > *{position:relative;z-index:1;}
  #page-explore .trail-kicker{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-light);margin-bottom:.7rem;}
  #page-explore .trail-card h3{font-family:'Fraunces',serif;font-style:italic;color:var(--linen);font-size:1.35rem;margin-bottom:1.1rem;}
  #page-explore .trail-stats{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem;}
  #page-explore .trail-stat{
    font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(237,231,216,.8);
    border:1px solid rgba(201,169,105,.3);border-radius:99px;padding:.35rem .85rem;
  }
  #page-explore .trail-card p{color:rgba(237,231,216,.72);font-size:.88rem;line-height:1.8;margin-bottom:1.4rem;}
  #page-explore .trail-btn{
    display:inline-flex;align-items:center;gap:.6rem;
    font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-light);
    border-bottom:1px solid rgba(201,169,105,.4);padding-bottom:.3rem;transition:all .25s;
  }
  #page-explore .trail-btn:hover{color:var(--linen);border-color:var(--linen);}
  #page-explore .trail-btn::after{content:'→';}
  #page-explore /* ── staff divider ── */
  .staff-divider{background:var(--linen-soft);padding:1.8rem var(--gutter-standard);display:flex;justify-content:center;}
  #page-explore .staff-divider-img{
    width:min(100%,640px);aspect-ratio:6.76/1;
    
    background-repeat:no-repeat;background-size:contain;background-position:center;
    opacity:.55;
  }
  #page-explore /* ── FOOTER ── */
  footer{background:var(--green-deep);border-top:1px solid rgba(201,169,105,.12);padding:3rem var(--gutter-standard) 2.4rem;text-align:center;}
  #page-explore footer .wordmark{color:var(--linen-soft);font-size:1.4rem;display:block;margin-bottom:1.4rem;}
  #page-explore footer nav ul{justify-content:center;flex-wrap:wrap;color:rgba(237,231,216,.65);gap:1.8rem;margin-bottom:2rem;list-style:none;display:flex;}
  #page-explore footer nav a{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(237,231,216,.65);transition:color .2s;}
  #page-explore footer nav a:hover{color:var(--linen);}
  #page-explore footer .fine{font-size:.68rem;letter-spacing:.05em;color:rgba(237,231,216,.66);}

  #page-explore [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .85s ease,transform .85s ease;}
  #page-explore [data-reveal].in{opacity:1;transform:none;}

/* Explore redesign — hero and 01 At Klawerjas */
#page-explore .explore-eyebrow{
  margin:0 0 1rem;color:var(--colour-brass-text);font-size:var(--type-eyebrow);font-weight:500;
  letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;
}
#page-explore .explore-hero{
  position:relative;display:flex;align-items:flex-end;min-height:clamp(650px,76vh,820px);
  overflow:hidden;background:var(--green-deep);color:var(--linen);
}
#page-explore .explore-hero__image{
  position:absolute;inset:0;height:100%;object-fit:cover;object-position:50% 48%;
  animation:heroZoomExplore 32s ease-in-out infinite alternate;
}
#page-explore .explore-hero__veil{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(17,25,20,.72) 0%,rgba(17,25,20,.43) 38%,rgba(17,25,20,.08) 68%),linear-gradient(0deg,rgba(17,25,20,.5),transparent 55%);
}
#page-explore .explore-hero__content{
  position:relative;z-index:1;width:min(100%,1440px);margin-inline:auto;
  padding:clamp(8rem,13vw,12rem) var(--gutter-editorial) clamp(5rem,8vw,7rem);
}
#page-explore .explore-hero .explore-eyebrow{color:var(--brass-light);}
#page-explore .explore-hero h1{
  max-width:10ch;margin:0 0 1.4rem;color:var(--colour-linen);
  font-size:var(--type-hero);font-style:normal;line-height:var(--line-display);letter-spacing:var(--tracking-display);
}
#page-explore .explore-hero__aside{
  position:relative;top:-.62em;display:inline-block;margin-left:.12em;
  color:var(--brass-light);font-size:.36em;font-style:italic;font-weight:400;
  letter-spacing:.015em;line-height:1;white-space:nowrap;transform:rotate(-3deg);
}
#page-explore .explore-hero__content>p:last-child{
  max-width:var(--text-max-hero);margin:0;color:rgba(237,231,216,.88);font-size:var(--type-body-lead);line-height:var(--line-body);
}
#page-explore .at-klawerjas{padding:clamp(6.5rem,10vw,10rem) var(--gutter-editorial);background:var(--linen-soft);}
#page-explore .at-klawerjas__intro{max-width:850px;margin:0 auto var(--section-space-editorial);text-align:center;}
#page-explore .at-klawerjas__intro h2{
  margin:0 0 1.6rem;color:var(--colour-green-deep);font-size:var(--type-section);
  font-style:normal;line-height:var(--line-heading);letter-spacing:var(--tracking-display);
}
#page-explore .at-klawerjas__intro>p:last-child{max-width:var(--text-max);margin-inline:auto;color:var(--colour-ink-soft);font-size:var(--type-body-lead);line-height:var(--line-body);}
#page-explore .at-klawerjas__stories{width:min(100%,var(--content-editorial));margin-inline:auto;}
#page-explore .explore-story{position:relative;margin-bottom:clamp(7rem,12vw,12rem);}
#page-explore .explore-story__media{overflow:hidden;background:#e5dece;}
#page-explore .explore-story__media img{height:100%;object-fit:cover;transition:transform 1.1s ease;}
#page-explore .explore-story__media:hover img{transform:scale(1.018);}
#page-explore .explore-story__copy{max-width:590px;}
#page-explore .explore-story__number{margin:0 0 .8rem;color:var(--colour-brass-text);font-size:var(--type-eyebrow);font-weight:500;letter-spacing:var(--tracking-eyebrow);}
#page-explore .explore-story__copy h3{
  margin:0 0 1.45rem;color:var(--colour-green-deep);font-size:var(--type-editorial);
  font-style:normal;line-height:var(--line-heading);letter-spacing:var(--tracking-display);
}
#page-explore .explore-story__copy h3.type-accent{font-style:italic;}
#page-explore .explore-story__copy>p:not(.explore-story__number){max-width:var(--text-max);margin:0 0 1.1rem;color:var(--colour-ink-soft);font-size:var(--type-body);line-height:var(--line-body);}
#page-explore .explore-story--farm{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.72fr);gap:clamp(3.5rem,8vw,8rem);align-items:center;}
#page-explore .explore-story__media--farm{aspect-ratio:4/3;}
#page-explore .explore-story--sundowners{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(0,1.3fr);grid-template-areas:'copy media';gap:var(--section-space-accommodation);align-items:center;}
#page-explore .explore-story--sundowners .explore-story__copy{grid-area:copy;padding-bottom:0;}
#page-explore .explore-story__media--sundowners{grid-area:media;aspect-ratio:4/5;}
#page-explore .wine-note{margin-top:2.2rem;padding:1.4rem 0 0 1.5rem;border-top:1px solid rgba(168,130,60,.5);border-left:1px solid rgba(168,130,60,.5);}
#page-explore .wine-note__toggle{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--green-deep);font:inherit;text-align:left;cursor:pointer;}
#page-explore .wine-note__toggle .type-card{display:block;font-family:var(--font-serif);font-size:var(--type-card);line-height:var(--line-subheading);}
#page-explore .wine-note .wine-note__label{margin-bottom:.45rem;color:var(--colour-brass-text);font-family:var(--font-sans);font-size:var(--type-eyebrow);font-weight:500;line-height:1.4;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;}
#page-explore .wine-note__label{display:block;}
#page-explore .wine-note__hint{display:inline-block;margin-top:.8rem;color:var(--colour-brass-text);font-family:var(--font-sans);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;}
#page-explore .wine-note__hint::after{content:'  →';}
#page-explore .wine-note__toggle:hover .wine-note__hint{text-decoration:underline;text-underline-offset:.2em;}
#page-explore .wine-note__toggle:focus-visible{outline:2px solid var(--colour-brass-text);outline-offset:.45rem;}
#page-explore .explore-story__media--sundowners img{transition:opacity .22s ease,transform 1.1s ease;}
#page-explore .explore-story__media--sundowners img.is-changing{opacity:.18;}
#page-explore .explore-story__media--sundowners img.is-collage{object-fit:contain;background:#d8d4c9;}
#page-explore .explore-story--water{padding:clamp(4rem,7vw,7rem);background:var(--green-deep);color:var(--linen);}
#page-explore .explore-story__copy--water{max-width:760px;margin:0 0 clamp(3rem,5vw,5rem);}
#page-explore .explore-story--water .explore-story__number{color:var(--colour-brass-light);}
#page-explore .explore-story__copy--water h3{color:var(--linen);}
#page-explore .explore-story__copy--water>p:not(.explore-story__number){color:rgba(237,231,216,.74);}
#page-explore .stay-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4.5rem);}
#page-explore .stay-facility figure{aspect-ratio:4/3;margin:0 0 2rem;overflow:hidden;background:#223027;}
#page-explore .stay-facility img{height:100%;object-fit:cover;transition:opacity .22s ease,transform 1.1s ease;}
#page-explore .stay-facility img.is-changing{opacity:.18;}
#page-explore .stay-facility .explore-eyebrow{margin-bottom:.6rem;color:var(--brass-light);}
#page-explore .stay-facility h4{margin:0 0 1rem;color:var(--colour-linen);font-size:var(--type-card);font-style:normal;line-height:var(--line-subheading);}
#page-explore .stay-facility ul{margin:0 0 1.35rem;padding:0;list-style:none;color:rgba(237,231,216,.8);font-size:.9rem;line-height:1.85;}
#page-explore .stay-facility li+li{border-top:1px solid rgba(201,169,105,.16);}
#page-explore :is(.cottage-facility-tabs,.strings-facility-tabs) button{display:block;width:100%;padding:.12rem 0;border:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer;}
#page-explore :is(.cottage-facility-tabs,.strings-facility-tabs) button::after{content:'  →';color:var(--brass-light);opacity:0;transition:opacity .18s ease;}
#page-explore :is(.cottage-facility-tabs,.strings-facility-tabs) button:hover,#page-explore :is(.cottage-facility-tabs,.strings-facility-tabs) button[aria-pressed='true']{color:var(--colour-linen);}
#page-explore :is(.cottage-facility-tabs,.strings-facility-tabs) button[aria-pressed='true']::after{opacity:1;}
#page-explore :is(.cottage-facility-tabs,.strings-facility-tabs) button:focus-visible{outline:2px solid var(--brass-light);outline-offset:4px;}
#page-explore .stay-facility a,#page-explore .from-gate__next{
  color:var(--colour-brass-light);font-size:var(--type-action);font-weight:500;letter-spacing:var(--tracking-action);text-transform:uppercase;
}
#page-explore .stay-facility a{display:inline-block;padding-bottom:.25rem;border-bottom:1px solid rgba(201,169,105,.5);}
#page-explore .stay-facility a:focus-visible,#page-explore .from-gate a:focus-visible{outline:2px solid var(--brass-light);outline-offset:5px;}
#page-explore .explore-story--play{display:grid;grid-template-columns:minmax(300px,.65fr) minmax(0,1.2fr);gap:clamp(3.5rem,8vw,8rem);align-items:center;}
#page-explore .explore-story__media--play{aspect-ratio:7/5;}
#page-explore .play-list{margin:2rem 0 0;padding:0;list-style:none;border-top:1px solid rgba(168,130,60,.35);}
#page-explore .play-list li{padding:.9rem 0;border-bottom:1px solid rgba(168,130,60,.22);color:var(--green-deep);font-family:'Fraunces',serif;font-size:1.05rem;}
#page-explore .play-list span{display:block;margin-top:.15rem;color:var(--ink-soft);font-family:'Inter',sans-serif;font-size:.7rem;letter-spacing:.04em;}
#page-explore .from-gate{max-width:900px;margin:0 auto;padding:clamp(3rem,6vw,5rem) clamp(2rem,6vw,6rem);text-align:center;border-block:1px solid rgba(168,130,60,.38);}
#page-explore .from-gate h3{margin:0 0 1rem;color:var(--colour-green-deep);font-size:var(--type-editorial);font-style:italic;line-height:var(--line-heading);letter-spacing:var(--tracking-display);}
#page-explore .from-gate>p:not(.explore-eyebrow):not(.from-gate__next){max-width:var(--text-max);margin:0 auto 2.2rem;color:var(--colour-ink-soft);line-height:var(--line-body);}
#page-explore .from-gate__next{margin:0;color:var(--colour-brass-text);}
#page-explore .from-gate__next span{display:block;margin-top:.4rem;color:var(--green-deep);font-family:'Fraunces',serif;font-size:1.05rem;letter-spacing:.04em;text-transform:none;}

@media (prefers-reduced-motion:reduce){
  #page-explore .explore-hero__image{animation:none;}
  #page-explore .explore-story__media img{transition:none;}
}
/* Shared site navigation and footer */
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) > .site-header {
  position:fixed;
  inset:0 0 auto;
  z-index:800;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:88px;
  padding:.85rem var(--gutter);
  color:var(--colour-linen-soft);
  background:rgba(28,38,32,.9);
  border-bottom:1px solid rgba(201,169,105,.16);
  backdrop-filter:blur(12px);
  transition:min-height 240ms ease,padding 240ms ease,background-color 240ms ease;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) > .site-header.scrolled {
  min-height:72px;
  padding:.55rem var(--gutter);
  background:rgba(28,38,32,.96);
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) > .site-header .site-logo {
  margin:0 clamp(1.5rem,3vw,3rem) 0 0;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) > .site-header .site-logo img {
  width:auto;
  height:clamp(82px,7vw,96px);
  max-width:96px;
  max-height:96px;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) > .site-header nav {
  margin-left:auto;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) > .site-header nav ul {
  display:flex;
  align-items:center;
  gap:clamp(1.15rem,2.4vw,2.4rem);
  margin:0;
  padding:0;
  list-style:none;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) > .site-header nav a,
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) > .site-header .book-pill {
  font:500 var(--type-action)/1.4 var(--font-sans);
  letter-spacing:var(--tracking-action);
  text-transform:uppercase;
  white-space:nowrap;
}

/* Primary navigation interaction and keyboard states */
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header nav a[data-nav] {
  position: relative;
  transition: color 180ms ease;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header nav a[data-nav]::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header nav a[data-nav]:hover,
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header nav a[data-nav]:focus-visible,
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header nav a[data-nav][aria-current="page"] {
  color:var(--colour-brass-light);
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header nav a[data-nav]:hover::after,
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header nav a[data-nav]:focus-visible::after,
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header nav a[data-nav][aria-current="page"]::after {
  width: 100%;
  transform: scaleX(1);
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header nav a[data-nav]:focus-visible {
  outline:1px solid var(--colour-brass-light);
  outline-offset: 6px;
}

/* Header booking action */
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header .book-pill {
  position: relative;
  z-index: 2;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: visible;
  min-width:116px;
  margin-left:clamp(1.5rem,2.5vw,2.75rem);
  padding:.65rem 1.35rem;
  color:var(--colour-linen-soft);
  border:1px solid var(--colour-brass-light);
  border-radius:999px;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    border-color 180ms ease;
}

#page-home header .book-pill::before {
  display: none;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header .book-pill:hover,
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header .book-pill:focus-visible {
  background:var(--colour-brass-light);
  color:var(--colour-green-deep);
  border-color:var(--colour-brass-light);
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) header .book-pill:focus-visible {
  outline:2px solid var(--colour-linen-soft);
  outline-offset: 3px;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer {
  position:relative;
  overflow:hidden;
  padding:clamp(4rem,6vw,5.5rem) var(--gutter) clamp(2.25rem,3vw,3rem);
  color:rgba(245,241,230,.62);
  text-align:center;
  background:var(--colour-green-deep);
  border-top:1px solid rgba(201,169,105,.16);
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer .wordmark {
  display:block;
  margin:0 0 .85rem;
  color:var(--colour-linen-soft);
  font:400 1.4rem/1.2 var(--font-serif);
  letter-spacing:.14em;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer .footer-tagline {
  margin:0 0 1.8rem;
  color:rgba(245,241,230,.6);
  font-size:.95rem;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer nav ul {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.65rem clamp(1.2rem,2.2vw,1.9rem);
  margin:0 0 2rem;
  padding:0;
  list-style:none;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer nav a {
  color:rgba(245,241,230,.66);
  font:500 var(--type-action)/1.4 var(--font-sans);
  letter-spacing:var(--tracking-action);
  text-transform:uppercase;
  transition:color 180ms ease;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer nav a:hover,
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer nav a:focus-visible,
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer nav a[aria-current="page"] {
  color:var(--colour-brass-light);
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer a:focus-visible {
  outline:1px solid var(--colour-brass-light);
  outline-offset:5px;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer .fine {
  color:rgba(245,241,230,.66);
  font:400 .68rem/1.7 var(--font-sans);
  letter-spacing:.05em;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer .footer-social {
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 auto .5rem;
  transition:color 180ms ease;
}

:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer .footer-social:hover,
:is(#page-home, #page-accommodation, #page-elzeth-art, #page-game, #page-explore, #page-contact) footer .footer-social:focus-visible {
  color:var(--colour-brass-light);
}

/* Homepage accommodation showcase */
#page-home .stay-showcase {
  --stay-heading: var(--colour-linen-soft);
  --stay-body: rgba(245, 241, 230, .78);
  --stay-gold: var(--colour-brass-light);
  padding: clamp(72px, 7vw, 105px) 0 clamp(90px, 8vw, 130px);
  border-top: 1px solid rgba(194, 154, 85, .38);
  background: var(--colour-green-deep);
  color: var(--stay-heading);
  box-shadow: inset 0 12px 30px rgba(0, 0, 0, .08);
}

#page-home .stay-showcase__intro {
  width: min(820px, calc(100% - 48px));
  margin-top: 0;
  margin: 0 auto clamp(50px, 6vw, 82px);
  text-align: center;
}

#page-home .stay-showcase__eyebrow {
  margin: 0 0 22px;
  color: var(--stay-gold);
  font-family: var(--font-sans);
  font-size: var(--type-eyebrow);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
}

#page-home .stay-showcase__heading {
  max-width: 760px;
  margin: 0 auto;
  color: var(--stay-heading);
  font-family: var(--font-serif);
  font-size: var(--type-section);
  font-weight: 400;
  line-height: var(--line-heading);
  letter-spacing: var(--tracking-display);
}

#page-home .stay-showcase__description {
  max-width: 660px;
  margin: 26px auto 0;
  color: var(--stay-body);
  font-family: var(--font-sans);
  font-size: var(--type-body-lead);
  line-height: var(--line-body);
}

@media (max-width: 680px) {
  #page-home .welcome {
    padding-top: 68px;
    padding-bottom: 66px;
  }

  #page-home .welcome-goat-illustration {
    margin-top: 46px;
  }

  #page-home .stay-showcase {
    padding-top: 58px;
    padding-bottom: 66px;
  }

  #page-home .stay-showcase__intro {
    width: calc(100% - 40px);
    margin-bottom: 46px;
  }

  #page-home .stay-showcase__heading {
    font-size: var(--type-section);
  }
}

#page-home .stay-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr);
  grid-template-rows: minmax(0, 1fr);
  grid-template-areas: "flute strings";
  width: min(calc(100% - 64px), var(--content-showcase));
  height: clamp(620px, 58vw, 790px);
  margin-inline: auto;
  gap: clamp(7px, 0.8vw, 10px);
  overflow: hidden;
  background: #12251a;
}

#page-home .stay-card {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  isolation: isolate;
  color: var(--stay-text, #f4eee1);
  text-decoration: none;
  background: #142219;
  outline: 1px solid rgba(194, 154, 85, 0.24);
  outline-offset: -1px;
}

#page-home .stay-card--flute { grid-area: flute; }
#page-home .stay-card--strings { grid-area: strings; }
#page-home .stay-card--blue { grid-area: blue; }
#page-home .stay-card--yellow { grid-area: yellow; }
#page-home .stay-card--strings .stay-card__image { object-position: center center; }

#page-home .stay-card__image {
  position: absolute;
  inset: 0;
  z-index: -3;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transform: scale(1);
  transition: transform 420ms ease;
}

#page-home .stay-card--flute .stay-card__image { object-position: center 52%; }
#page-home .stay-card--blue .stay-card__image { object-position: center center; }
#page-home .stay-card--yellow .stay-card__image { object-position: center center; }

#page-home .stay-card__overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  background: linear-gradient(180deg, rgba(8, 20, 13, .04) 18%, rgba(8, 20, 13, .20) 52%, rgba(8, 20, 13, .84) 100%);
  transition: background 420ms ease;
}

#page-home .stay-card--blue .stay-card__overlay,
#page-home .stay-card--yellow .stay-card__overlay {
  background: linear-gradient(
    180deg,
    rgba(8, 20, 13, 0.03) 24%,
    rgba(8, 20, 13, 0.18) 54%,
    rgba(8, 20, 13, 0.82) 100%
  );
}

#page-home .stay-card__content {
  position: absolute;
  z-index: 2;
  left: clamp(24px, 3vw, 52px);
  right: clamp(24px, 3vw, 52px);
  bottom: clamp(24px, 3vw, 52px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: inherit;
  transition: transform 420ms ease;
}

#page-home .stay-card--blue .stay-card__content,
#page-home .stay-card--yellow .stay-card__content {
  left: clamp(22px, 2.5vw, 38px);
  right: clamp(22px, 2.5vw, 38px);
  bottom: clamp(22px, 2.5vw, 38px);
}
#page-home .stay-card--strings .stay-card__content { left: clamp(22px, 2.5vw, 38px); right: clamp(22px, 2.5vw, 38px); bottom: clamp(22px, 2.5vw, 38px); }
#page-home .stay-card--strings .stay-card__title { font-size: var(--type-editorial); }
#page-home .stay-card__config { display: block; margin-top: 15px; color: #e5ddcf; font-family: var(--font-sans, 'Inter', sans-serif); font-size: var(--type-caption); line-height: var(--line-body); }

#page-home .stay-card__meta {
  display: block;
  margin-bottom: 12px;
  color: var(--color-gold, #c5a05d);
  font-family: var(--font-sans);
  font-size: var(--type-eyebrow);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
}

#page-home .stay-card__title {
  display: block;
  font-family: var(--font-serif);
  font-size: var(--type-section);
  font-weight: 400;
  line-height: var(--line-display);
}

#page-home .stay-card--blue .stay-card__title,
#page-home .stay-card--yellow .stay-card__title {
  font-size: clamp(1.65rem, 2.35vw, 2.75rem);
  line-height: 1.04;
}

#page-home .stay-card__summary {
  display: block;
  max-width: 450px;
  margin-top: 16px;
  font-family: var(--font-sans);
  font-size: var(--type-body);
  line-height: var(--line-body);
}

#page-home .stay-card__action {
  position: relative;
  display: inline-block;
  margin-top: 22px;
  padding-bottom: 7px;
  font-family: var(--font-sans);
  font-size: var(--type-action);
  font-weight: 500;
  letter-spacing: var(--tracking-action);
  text-transform: uppercase;
}

#page-home .stay-card__action::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(.48);
  transform-origin: left;
  transition: transform 420ms ease;
}

#page-home .stay-card:focus-visible {
  outline: 2px solid var(--color-gold, #c5a05d);
  outline-offset: -5px;
}

#page-home .stay-card:focus-visible .stay-card__action::after {
  transform: scaleX(1);
}

@media (min-width: 769px) and (max-width: 900px) {
  #page-home .stay-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: minmax(500px, 66vw) minmax(340px, 45vw);
    grid-template-areas: "flute flute" "strings strings";
    height: auto;
  }
}

@media (max-width: 768px) {
  #page-home .stay-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "flute" "strings";
    height: auto;
    width: calc(100% - 32px);
  }
  #page-home .stay-card--flute { min-height: min(125vw, 620px); }
  #page-home .stay-card--blue,
  #page-home .stay-card--yellow { min-height: min(88vw, 470px); }
  #page-home .stay-card--strings { min-height: min(110vw, 560px); }
}

@media (hover: hover) {
  #page-home .stay-card:hover .stay-card__image { transform: scale(1.025); }
  #page-home .stay-card:hover .stay-card__content { transform: translateY(-4px); }
  #page-home .stay-card:hover .stay-card__action::after { transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
  #page-home .stay-card__image,
  #page-home .stay-card__content,
  #page-home .stay-card__action::after { transition: none; }
  #page-home .stay-card:hover .stay-card__image,
  #page-home .stay-card:hover .stay-card__content { transform: none; }
}

/* Shared accessibility baseline: respect the visitor's motion preference. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    transition-delay:0ms !important;
  }
  .lux-cursor-ring,
  .lux-cursor-dot { display:none !important; }
}

/* Homepage guest stories */
#page-home .guest-stories {
  padding: 0;
  background-color: var(--colour-green-deep);
  color: var(--colour-linen-soft);
}

#page-home .guest-stories__visual {
  position: relative;
  isolation: isolate;
  min-height: clamp(700px, 55vw, 760px);
  overflow: hidden;
  background-color: var(--colour-green-deep);
  color: var(--colour-linen-soft);
}

#page-home .guest-stories__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: url("/assets/img/reviews-donkeys.jpg");
  background-repeat: no-repeat;
  background-position: center 54%;
  background-size: cover;
}

#page-home .guest-stories__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(10, 27, 18, .58),
    rgba(10, 27, 18, .66)
  );
}

#page-home .guest-stories__inner {
  position: relative;
  z-index: 1;
  width: min(100%,var(--content-wide));
  margin-inline: auto;
  padding:
    clamp(88px, 8vw, 128px)
    clamp(24px, 5vw, 72px)
    clamp(96px, 9vw, 140px);
}

#page-home .guest-stories__intro {
  position: relative;
  inset: auto;
  z-index: auto;
  display: block;
  width: min(760px, 100%);
  margin: 0 auto clamp(48px, 5vw, 72px);
  padding: 0;
  color: inherit;
  text-align: center;
  transition: none;
}

#page-home .guest-stories__eyebrow {
  margin: 0 0 20px;
  color: var(--colour-brass-light);
  font-family: var(--font-sans);
  font-size: var(--type-eyebrow);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
}

#page-home .guest-stories__heading {
  max-width: 720px;
  margin: 0 auto;
  color: var(--colour-linen-soft);
  font-family: var(--font-serif);
  font-size: var(--type-section);
  font-weight: 400;
  line-height: var(--line-heading);
  letter-spacing: var(--tracking-display);
}

#page-home .guest-stories__description {
  max-width: 620px;
  margin: 24px auto 0;
  color: rgba(244, 238, 225, .82);
  font-family: var(--font-sans);
  font-size: var(--type-body-lead);
  line-height: var(--line-body);
}

#page-home .guest-stories__widget {
  width: 100%;
}

#page-home .guest-stories__review-stage {
  width: 100%;
  min-height: 672px;
  margin-inline: auto;
  transition: none;
}

@media (max-width: 1024px) {
  #page-home .guest-stories__visual {
    min-height: 760px;
  }

  #page-home .guest-stories__review-stage {
    min-height: 620px;
  }
}

@media (max-width: 768px) {
  #page-home section.guest-stories {
    padding: 0;
  }

  #page-home .guest-stories__inner {
    padding: 72px 20px 82px;
  }

  #page-home .guest-stories__visual {
    min-height: 800px;
  }

  #page-home .guest-stories__review-stage {
    min-height: 610px;
  }

  #page-home .guest-stories__visual::before {
    background-position: 58% 56%;
  }

  #page-home .guest-stories__visual::after {
    background: rgba(10, 27, 18, .68);
  }

  #page-home .guest-stories__intro {
    margin-bottom: 42px;
  }
}

/* =========================================================
   BOOKING.COM TRAVELLER REVIEW AWARDS
   ========================================================= */

#page-home .guest-awards {
  position: relative;
  z-index: 0;
  width: 100%;
  min-width: 0;
  padding:
    clamp(88px, 8vw, 126px)
    clamp(24px, 5vw, 72px)
    clamp(96px, 9vw, 142px);
  overflow: hidden;
  background: var(--colour-green-deep);
  color: var(--colour-linen-soft);
  border-top: 1px solid rgba(194, 154, 85, 0.35);
}

#page-home .guest-awards__intro {
  position: static;
  inset: auto;
  z-index: auto;
  width: min(780px, 100%);
  margin: 0 auto clamp(54px, 6vw, 82px);
  text-align: center;
}

#page-home .guest-awards__eyebrow {
  margin: 0 0 20px;
  color: var(--colour-brass-light);
  font-family: var(--font-sans);
  font-size: var(--type-eyebrow);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
}

#page-home .guest-awards__heading {
  max-width: 760px;
  margin: 0 auto;
  color: var(--colour-linen-soft);
  font-family: var(--font-serif);
  font-size: var(--type-section);
  font-weight: 400;
  line-height: var(--line-heading);
  letter-spacing: var(--tracking-display);
}

#page-home .guest-awards__description {
  max-width: 700px;
  margin: 26px auto 0;
  color: rgba(244, 238, 225, 0.78);
  font-family: var(--font-sans);
  font-size: var(--type-body-lead);
  line-height: var(--line-body);
}

#page-home .guest-awards__carousel,
#page-home .guest-awards__viewport,
#page-home .guest-awards__track {
  min-width: 0;
}

#page-home .guest-awards__carousel {
  position: relative;
  width: 100%;
  min-width: 0;
}

#page-home .guest-awards__viewport {
  width: 100%;
}

#page-home .guest-awards__track {
  min-width: 0;
  align-items: start;
}

#page-home .guest-awards__nav {
  position: absolute;
  top: 43%;
  z-index: 10;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(194, 154, 85, 0.62);
  border-radius: 50%;
  background: rgba(18, 37, 26, 0.90);
  color: #f4eee1;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.22);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    color 220ms ease,
    opacity 220ms ease,
    box-shadow 220ms ease;
}

#page-home .guest-awards__nav svg {
  display: block;
  width: 18px;
  height: 18px;
}

#page-home .guest-awards__nav--previous {
  left: clamp(10px, 2vw, 22px);
}

#page-home .guest-awards__nav--next {
  right: clamp(10px, 2vw, 22px);
}

@media (hover: hover) {
  #page-home .guest-awards__nav:hover:not(:disabled) {
    background: #c29a55;
    border-color: #c29a55;
    color: #12251a;
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.28);
  }
}

#page-home .guest-awards__nav:focus-visible {
  outline: 2px solid #f4eee1;
  outline-offset: 3px;
}

#page-home .guest-awards__nav:disabled {
  opacity: 0.30;
  cursor: default;
  box-shadow: none;
}

#page-home .guest-awards__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#page-home .guest-award {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  text-align: center;
}

#page-home .guest-award__image-link {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
  transition: transform 380ms ease, box-shadow 380ms ease;
}

#page-home .guest-award__image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

#page-home .guest-award__caption {
  padding-top: 24px;
}

#page-home .guest-award__title {
  margin: 0;
  color: var(--colour-linen-soft);
  font-family: var(--font-serif);
  font-size: var(--type-card);
  font-weight: 400;
  line-height: 1.2;
}

#page-home .guest-award__action {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 15px;
  padding-bottom: 6px;
  color: var(--colour-brass-light);
  font-family: var(--font-sans);
  font-size: var(--type-action);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: var(--tracking-action);
  text-decoration: none;
  text-transform: uppercase;
}

#page-home .guest-award__action::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0.45);
  transform-origin: left;
  transition: transform 380ms ease;
}

@media (hover: hover) {
  #page-home .guest-award:hover .guest-award__image-link {
    transform: translateY(-5px);
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.24);
  }

  #page-home .guest-award:hover .guest-award__action::after {
    transform: scaleX(1);
  }
}

#page-home .guest-award__image-link:focus-visible,
#page-home .guest-award__action:focus-visible {
  outline: 2px solid #c29a55;
  outline-offset: 4px;
}

@media (min-width: 981px) {
  #page-home .guest-awards__carousel {
    display: block;
  }

  #page-home .guest-awards__viewport {
    overflow: visible;
  }

  #page-home .guest-awards__track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(calc(100% - 64px), 1150px);
    margin-inline: auto;
    gap: clamp(26px, 3vw, 38px);
  }

  #page-home .guest-award {
    width: 100%;
    max-width: none;
    opacity: 1;
    transform: none;
    filter: none;
  }

  #page-home .guest-awards__nav,
  #page-home .guest-awards__status {
    display: none;
  }
}

@media (max-width: 980px) {
  #page-home section.guest-awards {
    padding-inline: 0;
  }

  #page-home .guest-awards__intro {
    width: min(780px, calc(100% - 48px));
  }

  #page-home .guest-awards__carousel {
    position: relative;
    width: 100%;
    min-width: 0;
  }

  #page-home .guest-awards__viewport {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 50%;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  #page-home .guest-awards__viewport::-webkit-scrollbar {
    display: none;
  }

  #page-home .guest-awards__track {
    display: flex;
    align-items: stretch;
    width: max-content;
    min-width: 100%;
    gap: clamp(18px, 3vw, 28px);
    padding:
      12px
      max(calc(50vw - clamp(145px, 21vw, 180px)), 52px)
      28px;
  }

  #page-home .guest-award {
    flex: 0 0 clamp(290px, 42vw, 360px);
    width: clamp(290px, 42vw, 360px);
    max-width: calc(100vw - 84px);
    min-width: 0;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    opacity: 0.38;
    transform: scale(0.90);
    transform-origin: center;
    transition:
      opacity 360ms ease,
      transform 360ms ease,
      filter 360ms ease;
    filter: saturate(0.76);
  }

  #page-home .guest-award.is-active {
    opacity: 1;
    transform: scale(1);
    filter: saturate(1);
  }
}

@media (max-width: 680px) {
  #page-home section.guest-awards {
    padding: 72px 0 84px;
  }

  #page-home .guest-awards__intro {
    width: calc(100% - 40px);
    margin-inline: auto;
    margin-bottom: 44px;
  }

  #page-home .guest-awards__track {
    gap: 16px;
    padding:
      10px
      max(calc(50vw - min(39vw, 155px)), 40px)
      24px;
  }

  #page-home .guest-award {
    flex-basis: min(78vw, 310px);
    width: min(78vw, 310px);
    max-width: calc(100vw - 72px);
  }

  #page-home .guest-award__caption {
    padding-top: 20px;
  }
}

@media (max-width: 480px) {
  #page-home .guest-awards__nav {
    width: 36px;
    height: 36px;
    top: 42%;
  }

  #page-home .guest-awards__nav svg {
    width: 16px;
    height: 16px;
  }

  #page-home .guest-awards__nav--previous {
    left: 8px;
  }

  #page-home .guest-awards__nav--next {
    right: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #page-home .guest-award,
  #page-home .guest-awards__nav,
  #page-home .guest-award__image-link,
  #page-home .guest-award__action::after {
    transition: none;
  }

  #page-home .guest-awards__viewport {
    scroll-behavior: auto;
  }

  #page-home .guest-award:hover .guest-award__image-link {
    transform: none;
  }
}

/* Final shared-action contract: intentionally last in the cascade. */
:is(
  #page-contact .form-submit,
  #page-explore .hero-cta,
  #page-accommodation .cta-primary,
  #page-home .cta,
  #page-home .guest-award__action,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--font-sans);
  font-size: var(--type-action);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: var(--tracking-action);
  text-transform: uppercase;
}

:is(
  #page-home,
  #page-accommodation,
  #page-elzeth-art,
  #page-game,
  #page-explore,
  #page-contact
) :is(.book-pill, .mm-book, .map-btn, .cta-secondary) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font: 500 var(--type-action)/1.4 var(--font-sans);
  letter-spacing: var(--tracking-action);
  text-transform: uppercase;
}

:is(#page-home .guest-awards__nav, #page-explore .gallery-nav) {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
}

/* Gallery controls use the restrained Elzeth Art chevron treatment site-wide. */
#page-accommodation :is(.gallery-lightbox__arrow, .gallery-lightbox__close, .floorplan__dialog-close) {
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  padding: 0;
  display: grid;
  place-items: center;
  color: var(--colour-brass-light);
  background: rgba(28, 38, 32, .72);
  border: 1px solid rgba(201, 169, 105, .5);
  border-radius: 50%;
  opacity: .72;
  transition: opacity 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

#page-accommodation :is(.gallery-lightbox__arrow, .gallery-lightbox__close, .floorplan__dialog-close) svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#page-accommodation :is(.gallery-lightbox__arrow, .gallery-lightbox__close, .floorplan__dialog-close):is(:hover, :focus-visible) {
  color: var(--colour-brass-light);
  background: rgba(28, 38, 32, .92);
  border-color: var(--colour-brass-light);
  opacity: 1;
}

#page-accommodation :is(.gallery-lightbox__arrow, .gallery-lightbox__close, .floorplan__dialog-close):focus-visible {
  outline: 2px solid var(--colour-brass-light);
  outline-offset: 4px;
}

#page-accommodation :is(.gallery-lightbox__close, .floorplan__dialog-close) {
  font-size: 0;
}

@media (max-width: 760px) {
  #page-accommodation :is(.gallery-lightbox__arrow, .gallery-lightbox__close, .floorplan__dialog-close) {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
}

/* ========================================================================== */
/* Shared menu interaction: colour shift + restrained underline movement      */
/* ========================================================================== */

:is(
  #page-home,
  #page-accommodation,
  #page-elzeth-art,
  #page-game,
  #page-explore,
  #page-contact
) footer nav a {
  position: relative;
  padding-block: .45rem;
  transition: color 180ms ease;
}

:is(
  #page-home,
  #page-accommodation,
  #page-elzeth-art,
  #page-game,
  #page-explore,
  #page-contact
) footer nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: .15rem;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

:is(
  #page-home,
  #page-accommodation,
  #page-elzeth-art,
  #page-game,
  #page-explore,
  #page-contact
) footer nav a:is(:hover, :focus-visible, [aria-current="page"])::after {
  transform: scaleX(1);
}

:is(
  #page-home,
  #page-accommodation,
  #page-elzeth-art,
  #page-game,
  #page-explore,
  #page-contact
) footer :is(.footer-social, .fine a):is(:hover, :focus-visible) {
  color: var(--colour-brass-light);
}

/* Accommodation hero choices and lightbox category tabs follow main-nav state. */
#page-accommodation :is(.acc-anchor-nav a, .gallery-lightbox__tabs button) {
  position: relative;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

#page-accommodation .gallery-lightbox__tabs button {
  border-bottom-color: transparent;
}

#page-accommodation .gallery-lightbox__tabs button[aria-selected="true"] {
  border-bottom-color: transparent;
}

#page-accommodation :is(.acc-anchor-nav a, .gallery-lightbox__tabs button)::after {
  content: "";
  position: absolute;
  right: .65rem;
  bottom: 3px;
  left: .65rem;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

#page-accommodation .gallery-lightbox__tabs button::after {
  right: 0;
  left: 0;
}

#page-accommodation :is(.acc-anchor-nav a, .gallery-lightbox__tabs button):is(:hover, :focus-visible),
#page-accommodation .gallery-lightbox__tabs button[aria-selected="true"] {
  color: var(--colour-brass-light);
}

#page-accommodation :is(.acc-anchor-nav a, .gallery-lightbox__tabs button):is(:hover, :focus-visible)::after,
#page-accommodation .gallery-lightbox__tabs button[aria-selected="true"]::after {
  transform: scaleX(1);
}

/* Interactive floorplan rows make their clickability visible without adding noise. */
#page-accommodation .floorplan__legend button {
  position: relative;
  padding-inline: .55rem;
  transition: color 180ms ease, background-color 180ms ease;
}

#page-accommodation .floorplan__legend button::after {
  content: "";
  position: absolute;
  right: .55rem;
  bottom: -1px;
  left: .55rem;
  height: 1px;
  background: var(--colour-brass-text);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

#page-accommodation .floorplan__legend button:is(:hover, :focus-visible) {
  color: var(--colour-brass-text);
  background: rgba(201, 169, 105, .08);
}

#page-accommodation .floorplan__legend button:is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}

#page-accommodation .floorplan__legend button:focus-visible {
  outline: 2px solid var(--colour-brass-text);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  :is(
    #page-home,
    #page-accommodation,
    #page-elzeth-art,
    #page-game,
    #page-explore,
    #page-contact
  ) footer nav a::after,
  #page-accommodation :is(.acc-anchor-nav a, .gallery-lightbox__tabs button)::after,
  #page-accommodation .floorplan__legend button::after {
    transition: none;
  }
}

/* Keep the master editorial-link treatment last in the cascade. */
:is(
  #page-home .cta,
  #page-accommodation .strings-choice a,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
) {
  position: relative;
  width: fit-content;
  border-bottom-color: transparent;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: left bottom 5px;
  background-size: 2.5rem 1px;
  transition: color 180ms ease, border-color 180ms ease, background-size 180ms ease;
}

:is(
  #page-home .cta,
  #page-accommodation .strings-choice a,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
):is(:hover, :focus-visible) {
  background-size: 100% 1px;
}

#page-accommodation .strings-choice a::after {
  content: "→";
  display: inline-block;
  margin-left: .1rem;
  transition: transform 180ms ease;
}

/* Prevent duplicate arrows where older markup includes its own arrow span. */
#page-accommodation .acc-book-link > span[aria-hidden="true"],
#page-elzeth-art .art-work__enquire > span[aria-hidden="true"],
#page-elzeth-art .art-collect__link > span[aria-hidden="true"],
#page-elzeth-art .art-follow__link > span[aria-hidden="true"],
#page-explore .stay-facility a > span[aria-hidden="true"] {
  display: none;
}

/* Reset legacy underline pseudo-element geometry so arrows stay beside labels. */
:is(
  #page-home .cta,
  #page-accommodation .strings-choice a,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
)::after {
  position: static;
  inset: auto;
  width: auto;
  height: auto;
  flex: 0 0 auto;
  margin-left: .1rem;
  background: none;
  transform: none;
}

:is(
  #page-home .cta,
  #page-accommodation .strings-choice a,
  #page-accommodation .acc-book-link,
  #page-accommodation .acc-booking-choice a,
  #page-elzeth-art .art-work__enquire,
  #page-elzeth-art .art-collect__link,
  #page-elzeth-art .art-follow__link,
  #page-explore .stay-facility a,
  #page-explore .estate-link,
  #page-explore .info-card .links a,
  #page-explore .split-text .links a,
  #page-explore .trail-btn,
  #page-contact .directions-btn
):is(:hover, :focus-visible)::after {
  transform: translateX(4px);
}

/* Final control-shape overrides. Keep these at the end of the cascade. */
:is(#page-home,#page-accommodation,#page-elzeth-art,#page-game,#page-explore,#page-contact) :is(.book-pill,.mm-book,.action-primary,.action-pill,.map-btn,.cta-primary,.cta-secondary,.form-submit) {
  border-radius:6px;
}

:is(#page-home,#page-accommodation,#page-elzeth-art,#page-game,#page-explore,#page-contact) header .book-pill {
  border-radius:6px;
}

#page-accommodation .acc-anchor-nav {
  overflow:hidden;
  border-radius:6px;
}

#page-accommodation .acc-anchor-nav a::after {
  content:none;
}

#page-accommodation .acc-anchor-nav a:is(:hover,:focus-visible) {
  text-decoration:none;
}

/* NightsBridge availability links are booking actions, not editorial links. */
#page-accommodation :is(.acc-book-link,.acc-booking-choice a)[href^="https://book.nightsbridge.com/"] {
  min-height:44px;
  display:inline-flex;
  width:fit-content;
  align-items:center;
  justify-content:center;
  padding:.72rem 1.15rem;
  color:var(--colour-green-deep);
  background:var(--colour-linen-soft);
  background-image:none;
  border:1px solid var(--colour-brass-light);
  border-radius:6px;
  text-decoration:none;
  transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease;
}

#page-accommodation :is(.acc-book-link,.acc-booking-choice a)[href^="https://book.nightsbridge.com/"]::after {
  content:none;
}

#page-accommodation :is(.acc-book-link,.acc-booking-choice a)[href^="https://book.nightsbridge.com/"]:is(:hover,:focus-visible) {
  color:var(--colour-green-deep);
  background:var(--colour-brass-light);
  background-image:none;
  border-color:var(--colour-brass-light);
  text-decoration:none;
}

#page-accommodation :is(.acc-book-link,.acc-booking-choice a)[href^="https://book.nightsbridge.com/"]:focus-visible {
  outline:2px solid var(--colour-linen-soft);
  outline-offset:3px;
}

/* Contact form status (email-link mode) */
#page-contact .form-status:not(:empty){margin-top:1rem;padding:.8rem 1rem;border-left:2px solid var(--brass);background:rgba(184,151,93,.1);font-size:.85rem;line-height:1.6;color:var(--colour-ink-soft,#3a3a32);}
#page-contact .form-status a{text-decoration:underline;text-underline-offset:2px;}
