/* ===========================================================================
   Azoria Living - site stylesheet
   Assembled from the approved design file. The 88 style layers of the
   original are concatenated here IN THEIR ORIGINAL ORDER, because later
   layers intentionally override earlier ones. Do not reorder or merge
   these blocks: the cascade is load-bearing.
   =========================================================================== */


/* ---- layer 01/88 ---- */

/* ---------- BRAND FONTS (served from the Azoria Shopify CDN) ----------
   Only one weight exists per face, so each is declared across the full
   weight range: the browser reuses the same file instead of faking bold. */
@font-face{
  font-family:'ITC New Baskerville';
  src:url('/assets/fonts/itc-new-baskerville.woff2') format('woff2'),
      url('/assets/fonts/itc-new-baskerville.otf') format('opentype');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'ITC New Baskerville';
  src:url('/assets/fonts/itc-new-baskerville-italic.woff2') format('woff2'),
      url('/assets/fonts/itc-new-baskerville-italic.otf') format('opentype');
  font-weight:100 900;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Helvetica Now Text';
  src:url('/assets/fonts/helvetica-now-text.woff2') format('woff2');
  font-weight:100 500;font-style:normal;font-display:swap;
}

/* =========================================================
   MULTI-PAGE ROUTER + shared page components
   ========================================================= */
.page{display:none}
.page.active{display:block}
.page-hero{min-height:84svh}
.page-hero h1{max-width:18ch}
/* page heroes sit over brighter photography than the homepage film still */
.page-hero::after{background:linear-gradient(180deg, rgba(42,31,29,.5) 0%, rgba(42,31,29,.2) 32%, rgba(42,31,29,.55) 68%, rgba(42,31,29,.88) 100%)}
/* hero video sits over the still and fades in only once it can play, so a
   blocked autoplay or an offline file leaves the photograph in place */
.hero video{opacity:0;transition:opacity .9s var(--ease)}
.hero video.ready{opacity:1}
.nav a.item{white-space:nowrap}
.nav-left,.nav-right{gap:22px}

/* uniform card grid used across the club / spa / dining pages */
.tiles{display:grid;gap:24px}
.tiles.cols3{grid-template-columns:repeat(3,1fr)}
.tiles.cols4{grid-template-columns:repeat(4,1fr)}
.tile{min-width:0}
.tile .pic{aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);background:var(--stone)}
.tile .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}
.tile:hover .pic img{transform:scale(1.05)}
.tile .kicker{display:block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin:20px 0 9px}
.tile h3{font-size:23px}
.tile p{margin-top:10px;font-size:14px;line-height:1.6;color:var(--muted)}
.section.dark .tile .kicker,.section.dark .tile p{color:rgba(255,255,255,.7)}

/* overlay club cards, reused across the club pages */
.clubs.c2{grid-template-columns:repeat(2,1fr)}
.clubs.c3{grid-template-columns:repeat(3,1fr)}
.clubs.c4{grid-template-columns:repeat(4,1fr)}
.clubs .club .body h3{margin-bottom:0}

/* bento captions carry a small kicker above the title.
   Scoped away from #p-home so the homepage bento stays exactly as approved. */
.space .cap .tagline{display:block;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:7px}
.page:not(#p-home) .space .cap{padding:26px 24px 22px;background:linear-gradient(180deg, transparent 0%, rgba(42,31,29,.3) 38%, rgba(42,31,29,.93) 100%)}
.page:not(#p-home) .space .cap h3{font-size:22px;line-height:1.15}
.page:not(#p-home) .space .cap p{font-size:12.5px;line-height:1.5;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.page:not(#p-home) .space.h2 .cap h3{font-size:27px}
.page:not(#p-home) .space.h2 .cap p{-webkit-line-clamp:3}

/* coach / instructor portraits */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.person{min-width:0}
.person .pic{aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius);background:var(--stone)}
.person .pic img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .7s var(--ease), transform 1.3s var(--ease)}
.person:hover .pic img{filter:none;transform:scale(1.04)}
.person .role{display:block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px}
.person h3{font-size:26px}
.person p{margin-top:10px;font-size:14px;line-height:1.6;color:var(--muted)}

/* stat band */
.statband{display:grid;grid-template-columns:repeat(5,1fr);gap:24px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:clamp(28px,3.4vw,40px);text-align:center}
.stat strong{display:block;font-family:var(--serif);font-size:clamp(28px,3.2vw,42px);font-weight:300;line-height:1}
.stat span{display:block;margin-top:9px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* timeline cards without a photo still need their padding */
.tl .txt{padding:30px 30px 34px;position:relative}

/* eight nav items need the drawer sooner than the homepage's seven did */
@media (max-width:1080px){
  .nav-left, .nav-right .item{display:none}
  .header .wrap{grid-template-columns:auto 1fr auto}
  .logo{text-align:left}
  .burger{display:inline-flex}
}
/* nav gets tighter before it collapses into the drawer */
@media (max-width:1180px){
  .nav a.item{font-size:10px;letter-spacing:.13em}
  .nav-left,.nav-right{gap:18px}
  .header .btn{padding:11px 15px;font-size:9.5px}
}
@media (max-width:1100px){
  .tiles.cols3,.tiles.cols4{grid-template-columns:repeat(2,1fr)}
  .clubs.c3,.clubs.c4{grid-template-columns:repeat(2,1fr)}
  .people{grid-template-columns:repeat(2,1fr)}
  .statband{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .clubs.c2,.clubs.c3,.clubs.c4{grid-template-columns:1fr}
  .people{grid-template-columns:1fr}
}
@media (max-width:560px){
  .tiles.cols3,.tiles.cols4{grid-template-columns:1fr}
  .statband{grid-template-columns:repeat(2,1fr)}
}

/* ---- layer 02/88 ---- */

/* =========================================================
   AZORIA LIVING — design tokens
   Palette taken from azorialiving.com, structure from cocolifestyleresort.com
   ========================================================= */
:root{
  --ink:#2A1F1D;        /* deep espresso, primary text + dark sections */
  --brown:#483733;      /* Azoria brand brown */
  --plum:#7B5454;       /* muted plum accent */
  --cream:#F3EEE7;      /* Azoria cream */
  --sand:#E9E5DC;       /* Coco sand, page ground */
  --stone:#D9D2C5;      /* hairlines */
  --green:#34493C;      /* Azoria green, primary CTA */
  --sage:#70766B;       /* Coco sage, footer */
  --white:#FFFFFF;
  --muted:rgba(42,31,29,.62);
  --line:rgba(42,31,29,.14);

  --serif:'ITC New Baskerville', 'Baskerville', 'Libre Baskerville', Georgia, 'Times New Roman', serif;
  --sans:'Helvetica Now Text', 'Helvetica Neue', Helvetica, Arial, sans-serif;

  --max:1280px;
  --gutter:clamp(20px, 5vw, 72px);
  --radius:6px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  font-weight:300;
  font-size:16px;
  line-height:1.65;
  color:var(--ink);
  background:var(--sand);
  overflow-x:hidden;
}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}

/* ---------- type ---------- */
h1,h2,h3,.serif{font-family:var(--serif);font-weight:300;line-height:1.08;letter-spacing:-.01em}
/* Baskerville sets wider than the old face: balance headings so a
   short closing word never drops to a line of its own. */
h1,h2,h3,h4,.lead,.statement p,.section-head p{text-wrap:balance}
h1,h2,h3,h4{hyphens:none;-webkit-hyphens:none}
p,li,.desc,.ans,.small{text-wrap:pretty}
h1{font-size:clamp(38px, 6.4vw, 76px)}
h2{font-size:clamp(30px, 4.1vw, 54px)}
h3{font-size:clamp(21px, 2vw, 28px);line-height:1.2}
em,.ital{font-style:italic;font-weight:300}
.eyebrow{
  font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--muted);
}
.eyebrow.on-dark{color:rgba(255,255,255,.7)}
.lead{font-family:var(--serif);font-size:clamp(17px, 1.8vw, 22px);line-height:1.45;color:var(--brown)}
.small{font-size:13px;color:var(--muted)}

/* ---------- layout ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(72px, 10vw, 140px)}
.section.tight{padding-block:clamp(56px, 7vw, 96px)}
.section.cream{background:var(--cream)}
.section.dark{background:var(--ink);color:var(--white)}
.section.dark .eyebrow{color:rgba(255,255,255,.65)}
.section.dark .lead{color:rgba(255,255,255,.85)}
.section-head{max-width:760px;margin:0 auto clamp(40px, 5vw, 64px);text-align:center}
.section-head .eyebrow{display:block;margin-bottom:22px}
.section-head p{margin-top:20px;color:var(--muted);max-width:620px;margin-inline:auto;font-size:16px;line-height:1.7}
#concept{padding-bottom:0}
#concept .section-head{margin-bottom:0}
.section-head.left{text-align:left;margin-inline:0}
.section-head.left p{margin-inline:0}
.hr{height:1px;background:var(--line);border:0}

/* index counter, Coco-style “01 / 06 RESIDENCES” */
.counter{display:flex;align-items:baseline;gap:14px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.counter .n{font-family:var(--serif);font-size:30px;line-height:1}
.counter .of{font-family:var(--serif);font-size:18px;color:var(--muted)}
.counter .lbl{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-left:8px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 30px;border-radius:3px;
  font-family:var(--sans);font-weight:500;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--green);color:var(--white)}
.btn.primary:hover{background:#2b3d32}
.btn.dark{background:var(--ink);color:var(--white)}
.btn.dark:hover{background:var(--brown)}
.btn.ghost{border:1px solid rgba(255,255,255,.55);color:var(--white);background:rgba(255,255,255,.06);backdrop-filter:blur(6px)}
.btn.ghost:hover{background:rgba(255,255,255,.16)}
.btn.outline{border:1px solid var(--ink);color:var(--ink)}
.btn.outline:hover{background:var(--ink);color:var(--white)}
.btn.link{padding:0;border-radius:0;letter-spacing:.2em;border-bottom:1px solid currentColor;padding-bottom:4px}
.btn.link:hover{transform:none;opacity:.7}
.btn .arrow{width:14px;height:14px;transition:transform .3s var(--ease)}
.btn:hover .arrow{transform:translateX(3px)}

/* ---------- header ---------- */
.header{
  position:fixed;inset:0 0 auto 0;z-index:50;
  padding:22px 0;
  transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
  color:var(--white);
}
.header .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.header.scrolled{background:rgba(233,229,220,.92);backdrop-filter:blur(14px);color:var(--ink);padding:14px 0;box-shadow:0 1px 0 var(--line)}
.nav-left,.nav-right{display:flex;align-items:center;gap:28px}
.nav-right{justify-content:flex-end}
.nav a.item{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;opacity:.9;position:relative}
.nav a.item::after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:0;background:currentColor;transition:width .3s var(--ease)}
.nav a.item:hover::after{width:100%}
.logo{font-family:var(--serif);font-size:26px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;text-align:center;line-height:1}
.logo small{display:block;font-family:var(--sans);font-size:8.5px;letter-spacing:.42em;margin-top:5px;opacity:.75;white-space:nowrap}
.header .btn{padding:12px 20px;font-size:10.5px}
.header:not(.scrolled) .btn.nav-cta{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(6px)}
.header.scrolled .btn.nav-cta{background:var(--ink);color:#fff}
.burger{display:none;width:40px;height:40px;align-items:center;justify-content:center}
.burger span{display:block;width:22px;height:1px;background:currentColor;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:22px;height:1px;background:currentColor}
.burger span::before{top:-7px}.burger span::after{top:7px}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:60;background:var(--ink);color:#fff;padding:90px var(--gutter) 40px;transform:translateX(100%);transition:transform .5s var(--ease);display:flex;flex-direction:column;justify-content:space-between}
.drawer.open{transform:none}
.drawer a{font-family:var(--serif);font-size:34px;display:block;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.drawer .close{position:absolute;top:22px;right:var(--gutter);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.drawer .small{color:rgba(255,255,255,.55);margin-top:24px}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink)}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(42,31,29,.35) 0%, rgba(42,31,29,.1) 40%, rgba(42,31,29,.78) 100%)}
.hero .wrap{position:relative;z-index:2;padding-bottom:clamp(56px, 8vw, 110px);padding-top:160px;width:100%}
.hero .eyebrow{display:block;margin-bottom:26px;color:rgba(255,255,255,.8)}
.hero h1{max-width:12ch;font-size:clamp(44px, 7.6vw, 96px)}
.hero .lead{max-width:520px;margin-top:22px;color:rgba(255,255,255,.82);font-size:clamp(18px, 1.7vw, 22px)}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
/* hero is centre-aligned; every other section keeps its original alignment */
.hero .wrap{text-align:center}
.hero h1{max-width:16ch;margin-inline:auto}
.hero h1{font-size:clamp(38px, 6.4vw, 80px)}
.hero .lead{margin-inline:auto}
.hero .cta{justify-content:center}
.hero-meta{justify-content:center}
.hero-meta{display:flex;flex-wrap:wrap;gap:34px;margin-top:56px;padding-top:26px;border-top:1px solid rgba(255,255,255,.22)}
.hero-meta div{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.hero-meta strong{display:block;font-family:var(--serif);font-size:22px;letter-spacing:0;text-transform:none;font-weight:300;color:#fff;margin-top:4px}
.scroll-cue{position:absolute;right:var(--gutter);bottom:36px;z-index:2;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.7);writing-mode:vertical-rl;display:flex;align-items:center;gap:12px}
.scroll-cue::after{content:"";width:1px;height:48px;background:rgba(255,255,255,.55);animation:cue 2.2s infinite var(--ease)}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- marquee strip ---------- */
.marquee{background:var(--ink);color:rgba(255,255,255,.85);padding:16px 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.08)}
.marquee .track{display:flex;gap:56px;width:max-content;animation:marquee 38s linear infinite;font-size:11px;letter-spacing:.26em;text-transform:uppercase;white-space:nowrap}
.marquee .track span::before{content:"◦";margin-right:56px;opacity:.5}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- concept pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--cream)}
.pillar{padding:38px 30px;border-right:1px solid var(--line)}
.pillar:last-child{border-right:0}
.pillar .n{font-family:var(--serif);font-size:14px;color:var(--muted);letter-spacing:.1em}
.pillar h3{margin:22px 0 12px;font-size:30px}
.pillar p{color:var(--muted);font-size:14px;line-height:1.6}

/* ---------- philosophy ---------- */
.philosophy{text-align:center}
.philosophy h2{font-size:clamp(34px, 5vw, 66px);max-width:20ch;margin:0 auto}
.philosophy .lead{max-width:640px;margin:34px auto 0;color:var(--brown)}
.philosophy .sig{margin-top:40px;font-family:var(--serif);letter-spacing:.3em;font-size:14px;text-transform:uppercase}

/* ---------- clubs ---------- */
.clubs{display:grid;gap:18px}
/* clubs run in the shared carousel: the track owns the column sizing */
.clubs.track{grid-template-columns:none;--gap:18px}
.club{position:relative;display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;background:var(--ink);color:#fff}
.club img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease), filter 1s var(--ease)}
.club::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(42,31,29,.12) 0%, transparent 28%, rgba(42,31,29,.55) 58%, rgba(42,31,29,.9) 100%);transition:opacity .6s var(--ease);z-index:1}
.club::after{content:"";position:absolute;inset:0;background:rgba(42,31,29,.35);opacity:0;transition:opacity .6s var(--ease);z-index:1}
.club .body{position:absolute;inset:auto 0 0 0;padding:30px 30px 28px;z-index:2;transform:translateY(0);transition:transform .6s var(--ease)}
.club .tag{display:block;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:10px}
.club h3{font-size:24px;line-height:1.14}
.club .more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s var(--ease), opacity .5s var(--ease) .1s}
.club .more>div{overflow:hidden}
.club .more p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.85);max-width:32ch;padding-top:14px}
.club .cta{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.club .cta i{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.6);display:grid;place-items:center;transition:background .4s var(--ease), border-color .4s var(--ease)}
.club .cta svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--ease)}
.club .badge{position:absolute;top:20px;left:20px;z-index:2;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;padding:7px 11px;border:1px solid rgba(255,255,255,.5);border-radius:99px;background:rgba(42,31,29,.35);backdrop-filter:blur(6px)}
@media (hover:hover){
  .club:hover img,.club:focus-within img{transform:scale(1.06)}
  .club:hover::after,.club:focus-within::after{opacity:1}
  .club:hover .more,.club:focus-within .more{grid-template-rows:1fr;opacity:1}
  .club:hover .cta i,.club:focus-within .cta i{background:#fff;border-color:#fff;color:var(--ink)}
  .club:hover .cta svg{transform:translateX(2px)}
}
@media (hover:none){ .club .more{grid-template-rows:1fr;opacity:1} }

/* ---------- statement (full bleed) ---------- */
.statement{position:relative;min-height:88vh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:var(--ink)}
.statement img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;filter:grayscale(1)}
.statement .wrap{position:relative;z-index:2;padding-block:120px}
.statement h2{font-size:clamp(40px, 6.6vw, 92px);line-height:1}
.statement p{max-width:520px;margin:26px auto 0;color:rgba(255,255,255,.8)}
.statement .btn{margin-top:36px}

/* ---------- spaces (bento) ---------- */
.spaces{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:260px;gap:16px}
.space{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--stone)}
.space img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.space:hover img{transform:scale(1.04)}
.space .cap{position:absolute;inset:auto 0 0 0;padding:22px 24px;background:linear-gradient(180deg, transparent, rgba(42,31,29,.82));color:#fff}
.space .cap h3{font-size:24px}
.space .cap p{font-size:13px;color:rgba(255,255,255,.78);margin-top:4px}
.space.w3{grid-column:span 3}.space.w2{grid-column:span 2}.space.w4{grid-column:span 4}.space.h2{grid-row:span 2}

/* ---------- carousel (shared by membership + residences) ---------- */
.carousel{position:relative}
.carousel .track{
  --cols:3;--gap:16px;--peek:44px;
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--cols) - 1) * var(--gap) - var(--peek)) / var(--cols));
  gap:0 var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
  padding-bottom:6px;margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter);
}
.carousel .track::-webkit-scrollbar{display:none}
.carousel .track>*{scroll-snap-align:start}
.carousel-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.carousel-nav .counter{margin:0;padding:0;border:0}
.carousel-nav .arrows{display:flex;gap:10px}
.carousel-nav .arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;transition:background .3s var(--ease), color .3s var(--ease), opacity .3s var(--ease)}
.carousel-nav .arrow svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.carousel-nav .arrow:hover{background:var(--ink);color:#fff}
.carousel-nav .arrow[disabled]{opacity:.3;pointer-events:none}
.carousel-nav .side{display:flex;align-items:center;gap:24px}
.carousel .dots{display:flex;gap:6px;justify-content:center;margin-top:18px}
.carousel .dots i{width:22px;height:2px;background:var(--line);transition:background .3s var(--ease)}
.carousel .dots i.on{background:var(--ink)}

/* ---------- membership ---------- */
.member-toggle{display:inline-flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:99px;padding:4px;background:var(--white);margin:0 auto 18px}
.member-toggle button{padding:10px 22px;border-radius:99px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--muted);transition:all .3s var(--ease)}
.member-toggle button.active{background:var(--ink);color:#fff}
.member-toggle .save{font-size:10px;letter-spacing:.1em;color:var(--green);margin-left:8px;text-transform:none}
.member-toggle button.active .save{color:#9DB79F}

/* what every membership includes */
.includes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;margin:0 auto clamp(30px, 4vw, 44px);font-size:13px;color:var(--muted)}
.includes span{display:inline-flex;align-items:center;gap:9px}
.includes span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);opacity:.8}

/* tier cards: rows aligned across cards via subgrid */
.tiers{grid-template-rows:repeat(6,auto);align-items:stretch;padding-top:14px}
.tier{
  grid-row:span 6;display:grid;grid-template-rows:subgrid;row-gap:0;min-width:0;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:0 28px 28px;
  position:relative;transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.tier:hover{transform:translateY(-3px);box-shadow:0 34px 60px -34px rgba(42,31,29,.4);border-color:rgba(42,31,29,.3)}
/* tier photo: full-bleed to the card edges, above the header row */
.tier .pic{margin:0 -28px;aspect-ratio:16/10;overflow:hidden;background:var(--stone);border-radius:var(--radius) var(--radius) 0 0}
.tier .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tier:hover .pic img{transform:scale(1.05)}
.tier .head{display:flex;justify-content:space-between;align-items:center;padding-top:26px}
.tier .tag{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.tier .idx{font-family:var(--serif);font-size:14px;letter-spacing:.12em;color:var(--muted)}
.tier h3{margin:18px 0 8px;font-size:26px}
.tier .desc{font-size:14px;color:var(--muted);line-height:1.6;padding-bottom:22px}
.tier .pricing{padding:22px 0 20px;border-top:1px solid var(--line)}
.tier .price{display:flex;align-items:baseline;gap:8px}
.tier .price .amt{font-family:var(--serif);font-size:46px;line-height:1;letter-spacing:-.02em}
.tier .price .per{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tier .founding{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.tier .founding s{opacity:.8}
.tier .founding .lock{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--green);padding:5px 9px;border:1px solid rgba(52,73,60,.35);border-radius:99px;white-space:nowrap}
.tier .founding .lock::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green)}
.tier .inc{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);padding:20px 0 12px;border-top:1px solid var(--line)}
.tier ul{display:grid;gap:11px;font-size:13.5px;line-height:1.5;align-content:start}
.tier li{display:flex;gap:11px;align-items:flex-start}
.tier li::before{
  content:"";flex:0 0 16px;width:16px;height:16px;margin-top:2px;border-radius:50%;
  background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5'/%3E%3C/svg%3E") center/16px no-repeat;
}
.tier li.off{color:var(--muted);opacity:.65}
.tier li.off::before{background:var(--sand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' stroke='%232A1F1D' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M5 8h6'/%3E%3C/svg%3E") center/16px no-repeat}
.tier .cta{padding-top:26px;align-self:end}
.tier .cta .btn{width:100%}
.tier .cta .fine{margin-top:10px;text-align:center;font-size:11px;color:var(--muted)}

.tier.featured{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 34px 60px -34px rgba(42,31,29,.6)}
.tier.featured .tag,.tier.featured .idx,.tier.featured .desc,.tier.featured .price .per,.tier.featured .founding,.tier.featured .inc,.tier.featured .cta .fine{color:rgba(255,255,255,.62)}
.tier.featured .pricing,.tier.featured .inc{border-color:rgba(255,255,255,.14)}
.tier.featured .founding .lock{color:#9DB79F;border-color:rgba(157,183,159,.45)}
.tier.featured .founding .lock::before{background:#9DB79F}
.tier.featured li::before{background-color:#9DB79F;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232A1F1D' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5'/%3E%3C/svg%3E")}
.tier.featured .ribbon{position:absolute;top:0;right:24px;transform:translateY(-50%);background:var(--green);color:#fff;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;padding:7px 12px;border-radius:99px;white-space:nowrap}
.member-note{text-align:center;margin-top:26px;font-size:13px;color:var(--muted)}

/* founding member banner */
.founding-banner{margin-top:clamp(48px, 6vw, 72px);background:var(--green);color:#fff;border-radius:var(--radius);display:grid;grid-template-columns:1.2fr 1fr;overflow:hidden}
.founding-banner .txt{padding:clamp(36px, 5vw, 70px)}
.founding-banner .eyebrow{color:rgba(255,255,255,.7);display:block;margin-bottom:20px}
.founding-banner h3{font-size:clamp(30px, 3.4vw, 46px)}
.founding-banner p{margin-top:18px;color:rgba(255,255,255,.85);max-width:46ch}
.founding-banner .perks{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin-top:28px;font-size:13.5px}
.founding-banner .perks li{padding-left:18px;position:relative;color:rgba(255,255,255,.9)}
.founding-banner .perks li::before{content:"—";position:absolute;left:0;opacity:.6}
.founding-banner .btn{margin-top:34px;background:#fff;color:var(--green)}
.founding-banner .img{position:relative;min-height:320px}
.founding-banner .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.founding-banner .img .count{position:absolute;left:24px;bottom:24px;background:rgba(42,31,29,.75);backdrop-filter:blur(8px);padding:16px 20px;border-radius:4px}
.founding-banner .img .count strong{display:block;font-family:var(--serif);font-size:34px;font-weight:300;line-height:1}
.founding-banner .img .count span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7)}

/* ---------- living / residences ---------- */
.res-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.res-head .counter{margin:0;padding:0;border:0}
.res-head .btn.link{font-size:10.5px}
.residences{--gap:26px;grid-template-rows:repeat(5,auto)}
.res{display:grid;grid-row:span 5;grid-template-rows:subgrid;position:relative;margin-bottom:10px;min-width:0}
.res .img{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);background:var(--stone)}
.res .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}
.res:hover .img img{transform:scale(1.05)}
.res .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(42,31,29,.18), transparent 35%, transparent 65%, rgba(42,31,29,.45));pointer-events:none}
.res .type{position:absolute;top:16px;left:16px;z-index:2;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:#fff;padding:7px 11px;border:1px solid rgba(255,255,255,.45);border-radius:99px;background:rgba(42,31,29,.3);backdrop-filter:blur(6px)}
.res .size{position:absolute;bottom:16px;right:16px;z-index:2;font-family:var(--serif);font-size:20px;color:#fff;line-height:1}
.res .size small{display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-top:4px;text-align:right}
.res .body{display:contents}
.res .title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:22px 4px 0}
.res h3{font-size:28px}
.res .idx{font-family:var(--serif);font-size:13px;letter-spacing:.12em;color:var(--muted)}
.res .specs{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12.5px;color:var(--muted);margin:12px 0 14px;padding:0 4px}
.res .specs span{display:inline-flex;align-items:center;gap:7px}
.res .specs svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.res p{font-size:14px;color:var(--muted);line-height:1.6;padding:0 4px}
.res .foot{align-self:end;margin:20px 4px 0;padding-top:18px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}
.res .foot .from{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.res .foot .from strong{display:block;font-family:var(--serif);font-size:18px;font-weight:300;letter-spacing:0;text-transform:none;color:var(--ink);margin-top:3px}
.res .go{width:42px;height:42px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;transition:background .3s var(--ease), color .3s var(--ease)}
.res .go svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.res:hover .go{background:var(--ink);color:#fff}
.living-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px, 6vw, 90px);align-items:center;margin-bottom:72px}
.living-split .img{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5}
.living-split .img img{width:100%;height:100%;object-fit:cover}
.living-split .eyebrow{display:block;margin-bottom:22px}
.living-split p{margin-top:20px;color:var(--muted)}
.living-split .facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.living-split .facts strong{display:block;font-family:var(--serif);font-size:32px;font-weight:300;line-height:1}
.living-split .facts span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* ---------- culture programme ---------- */
.programme{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(30px, 5vw, 80px)}
.prog{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.prog .cat{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.55);padding-top:6px}
.prog h3{font-size:24px}
.prog p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.7);margin-top:6px;max-width:52ch}
.prog .freq{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9DB79F;margin-top:10px;display:block}

/* ---------- spa split ---------- */
.spa{display:grid;grid-template-columns:1fr 1fr;min-height:640px}
.spa .img{position:relative}
.spa .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.spa .txt{padding:clamp(48px, 7vw, 110px) clamp(28px, 6vw, 90px);display:flex;flex-direction:column;justify-content:center;background:var(--cream)}
.spa .eyebrow{display:block;margin-bottom:22px}
.spa p{margin-top:20px;color:var(--muted);max-width:48ch}
.spa .menu{margin-top:30px;border-top:1px solid var(--line)}
.spa .menu li{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.spa .menu li span:last-child{color:var(--muted);font-size:12px;letter-spacing:.1em}
.spa .btn{margin-top:32px;align-self:flex-start}

/* ---------- location ---------- */
.location{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);min-height:88vh;background:var(--ink);color:#fff}
.location .panel{padding:clamp(56px, 7vw, 110px) clamp(28px, 5vw, 80px) clamp(56px, 7vw, 110px) var(--gutter);display:flex;flex-direction:column;justify-content:center;position:relative}
.location .panel::before{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:rgba(255,255,255,.08)}
.location .eyebrow{display:block;margin-bottom:22px;color:rgba(255,255,255,.62)}
.location h2{max-width:12ch}
.location .panel>p{max-width:44ch;margin-top:22px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.7}
.location .coords{margin-top:14px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.location .dist{margin-top:34px;border-top:1px solid rgba(255,255,255,.16)}
.location .dist li{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:20px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.location .dist .place{font-family:var(--serif);font-size:clamp(18px, 1.6vw, 22px)}
.location .dist .place small{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:4px}
.location .dist .time{font-family:var(--serif);font-size:clamp(20px, 1.8vw, 26px);white-space:nowrap}
.location .dist .time small{font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-left:8px}
.location .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.location .visual{position:relative;min-height:420px;overflow:hidden}
.location .visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;transition:transform 8s var(--ease)}
.location:hover .visual img{transform:scale(1.04)}
.location .visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(42,31,29,.05), transparent 40%, rgba(42,31,29,.55))}
.location .pill{position:absolute;top:26px;left:26px;z-index:2;font-size:10px;letter-spacing:.24em;text-transform:uppercase;padding:8px 12px;border:1px solid rgba(255,255,255,.5);border-radius:99px;background:rgba(42,31,29,.35);backdrop-filter:blur(6px)}
.location .cap{position:absolute;left:26px;right:26px;bottom:26px;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.location .cap p{font-family:var(--serif);font-size:clamp(18px, 1.6vw, 22px);max-width:26ch;line-height:1.3}
.location .cap span{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);white-space:nowrap}
/* right-hand side is a live map */
.location .visual.map{background:var(--stone)}
.location .visual.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) sepia(.16) contrast(.96)}
.location .visual.map::after{display:none}
.location .visual.map .pill{background:rgba(255,255,255,.94);border-color:transparent;color:var(--ink);box-shadow:0 8px 20px -12px rgba(42,31,29,.5)}
.location .mapcard{position:absolute;left:26px;bottom:26px;z-index:2;background:var(--white);color:var(--ink);border-radius:var(--radius);padding:20px 22px;max-width:300px;box-shadow:0 22px 44px -26px rgba(42,31,29,.55)}
.location .mapcard .eyebrow{display:block;margin-bottom:8px;color:var(--muted)}
.location .mapcard strong{display:block;font-family:var(--serif);font-weight:300;font-size:19px;line-height:1.3}
.location .mapcard a{display:inline-block;margin-top:12px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:3px;transition:opacity .25s var(--ease)}
.location .mapcard a:hover{opacity:.6}
.location .compass{position:absolute;top:26px;right:26px;z-index:2;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:grid;place-items:end center;padding-bottom:9px;font-size:9px;letter-spacing:.1em;background:rgba(42,31,29,.3);backdrop-filter:blur(6px)}
.location .compass i{position:absolute;width:1px;height:18px;background:#fff;top:8px;left:50%;transform:translateX(-50%)}
.location .compass i::after{content:"";position:absolute;top:-1px;left:-3px;border:3.5px solid transparent;border-bottom:7px solid #fff;border-top:0}

/* ---------- timeline ---------- */
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tl{padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);position:relative;overflow:hidden}
.tl .pic{aspect-ratio:16/10;overflow:hidden;background:var(--stone)}
.tl .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tl:hover .pic img{transform:scale(1.05)}
.tl .txt{padding:30px 30px 34px;position:relative}
.tl .d{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--green);font-weight:500}
.tl h3{margin:16px 0 10px;font-size:28px}
.tl p{font-size:14px;color:var(--muted);line-height:1.6}
.tl .step{position:absolute;top:30px;right:30px;font-family:var(--serif);font-size:15px;color:var(--muted);letter-spacing:.1em}
.tl.now{background:var(--ink);color:#fff;border-color:var(--ink)}
.tl.now p{color:rgba(255,255,255,.7)}
.tl.now .step{color:rgba(255,255,255,.6)}
.tl.now .d{color:#9DB79F}

/* ---------- waitlist ---------- */
.waitlist{background:var(--cream)}
.waitlist .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px, 6vw, 90px);align-items:center}
.waitlist .eyebrow{display:block;margin-bottom:22px}
.waitlist p{margin-top:20px;color:var(--muted);max-width:46ch}
.waitlist .perks{margin-top:28px;display:grid;gap:10px;font-size:14px}
.waitlist .perks li{padding-left:20px;position:relative}
.waitlist .perks li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:1px;background:var(--green)}
.form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px, 3.4vw, 44px) clamp(22px, 3vw, 44px)}
.form-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:22px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.form-head .eyebrow{margin:0}
.form-head .note{font-size:11.5px;color:var(--muted)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.field{position:relative;display:flex;flex-direction:column;margin-bottom:6px;padding-top:16px}
.field label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.field input,.field select,.field textarea{
  font:inherit;font-size:16px;font-weight:300;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);
  border-radius:0;padding:12px 0 12px;outline:0;appearance:none;-webkit-appearance:none;width:100%;
  transition:border-color .3s var(--ease);
}
.field input::placeholder,.field textarea::placeholder{color:rgba(42,31,29,.3)}
.field::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--ink);transition:width .45s var(--ease)}
.field:focus-within::after{width:100%}
.field:focus-within label{color:var(--ink)}
.field.error input,.field.error textarea{border-bottom-color:#B0563B}
.field.error label{color:#B0563B}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232A1F1D' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:28px;cursor:pointer}
.field select option{color:var(--ink);background:#fff}
.field textarea{min-height:88px;resize:none;line-height:1.5}
.field .hint{font-size:11.5px;color:var(--muted);margin-top:8px}
.field.phone{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:end}
.field.phone label{grid-column:1 / -1}
.field.phone .cc{font-size:16px;font-weight:300;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line)}
/* interest chips */
.chips-label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:26px 0 12px;display:block}
.checks{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.check{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.02em;cursor:pointer;padding:10px 16px 10px 14px;border:1px solid var(--line);border-radius:99px;color:var(--brown);background:transparent;transition:all .25s var(--ease);user-select:none}
.check input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.check::before{content:"";width:14px;height:14px;border-radius:50%;border:1px solid var(--stone);transition:all .25s var(--ease);flex:0 0 14px;background:center/14px no-repeat}
.check:hover{border-color:var(--ink)}
.check:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.check:has(input:checked)::before{border-color:#9DB79F;background-color:#9DB79F;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232A1F1D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5'/%3E%3C/svg%3E")}
.check:has(input:focus-visible){outline:1px solid var(--ink);outline-offset:2px}
.form .submit{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:8px;padding-top:22px;border-top:1px solid var(--line)}
.form .submit .btn{flex:0 0 auto}
.form .submit .fine{font-size:11.5px;color:var(--muted);max-width:30ch;margin:0;text-align:left}
.form .alt{margin-top:18px;font-size:12.5px;color:var(--muted);text-align:center}
.form .alt a{color:var(--ink);border-bottom:1px solid var(--line)}
.form .success{display:none;text-align:center;padding:36px 10px 20px}
.form .success .mark{width:54px;height:54px;border-radius:50%;background:var(--green);margin:0 auto 20px;display:grid;place-items:center}
.form .success .mark svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.form .success h3{font-size:30px;margin-bottom:10px}
.form.sent form,.form.sent .form-head{display:none}.form.sent .success{display:block}

/* ---------- faq ---------- */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;min-width:0;font-family:var(--serif);font-size:clamp(20px, 2vw, 25px);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{flex:0 0 28px;width:28px;height:28px;aspect-ratio:1;flex-shrink:0;border:1px solid var(--line);border-radius:50%;position:relative;transition:transform .35s var(--ease)}
.faq summary .plus::before,.faq summary .plus::after{content:"";position:absolute;left:50%;top:50%;background:var(--ink);transform:translate(-50%,-50%)}
.faq summary .plus::before{width:11px;height:1px}.faq summary .plus::after{width:1px;height:11px}
.faq details[open] summary .plus{transform:rotate(45deg)}
.faq .ans{padding:0 0 28px;color:var(--muted);max-width:64ch;font-size:15px}

/* ---------- contact ---------- */
.contact .grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(30px, 6vw, 90px)}
.contact .eyebrow{display:block;margin-bottom:22px}
.contact p{margin-top:20px;color:var(--muted);max-width:44ch}
.contact .info{margin-top:36px;display:grid;gap:22px}
.contact .info div{padding-top:16px;border-top:1px solid var(--line)}
.contact .info span{display:block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.contact .info a{font-family:var(--serif);font-size:20px}

/* ---------- instagram strip ---------- */
/* editorial mosaic rather than a row of equal squares */
.ig{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:12px}
.ig a{position:relative;display:block;overflow:hidden;border-radius:var(--radius);background:var(--stone)}
.ig img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.ig a:hover img{transform:scale(1.06)}
.ig a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 42%, rgba(42,31,29,.6));opacity:0;transition:opacity .45s var(--ease)}
.ig a:hover::after{opacity:1}
.ig .cap{position:absolute;left:16px;bottom:13px;z-index:2;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(6px);transition:opacity .45s var(--ease), transform .45s var(--ease)}
.ig a:hover .cap{opacity:1;transform:none}
.ig .a1{grid-column:span 2;grid-row:span 2}
.ig .a3{grid-row:span 2}
.ig .a5,.ig .a6{grid-column:span 2}
.ig-follow{display:flex;justify-content:center;margin-top:34px}

/* ---------- map strip ---------- */
.mapstrip{position:relative;height:460px;background:var(--stone)}
.mapstrip iframe{width:100%;height:100%;border:0;filter:grayscale(1) sepia(.18) contrast(.95)}
.mapstrip .tag{position:absolute;left:var(--gutter);bottom:32px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;max-width:320px;box-shadow:0 20px 40px -24px rgba(42,31,29,.4)}
.mapstrip .tag .eyebrow{display:block;margin-bottom:8px}
.mapstrip .tag strong{display:block;font-family:var(--serif);font-weight:300;font-size:20px;line-height:1.25}
.mapstrip .tag a{display:inline-block;margin-top:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--line)}

/* ---------- footer ---------- */
.footer{background:var(--green);color:#fff;padding:clamp(60px, 8vw, 100px) 0 30px}
.footer .top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:40px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.18)}
.footer .logo{text-align:left;font-size:30px}
.footer .brand p{margin-top:22px;max-width:36ch;color:rgba(255,255,255,.8);font-size:14px}
.footer .brand .addr{margin-top:22px;font-size:13px;color:rgba(255,255,255,.75);line-height:1.8}
.footer h4{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;margin-bottom:18px;color:rgba(255,255,255,.75)}
.footer li{margin-bottom:10px;font-size:14px}
.footer li a{opacity:.9;transition:opacity .25s}
.footer li a:hover{opacity:.6}
.footer .bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:26px;font-size:12px;color:rgba(255,255,255,.7)}
.footer .bottom .legal{display:flex;gap:22px;flex-wrap:wrap}

/* ---------- floating whatsapp ---------- */
.wa{position:fixed;right:22px;bottom:22px;z-index:40;width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(42,31,29,.5);transition:transform .3s var(--ease)}
.wa:hover{transform:translateY(-3px)}
.wa svg{width:24px;height:24px}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease), transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}.marquee .track{animation:none}}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .pillars{grid-template-columns:repeat(2,1fr)}
  .pillar:nth-child(2){border-right:0}
  .pillar:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .carousel .track{--cols:2;--peek:32px}
  .spaces{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}
  .space.w3,.space.w2,.space.w4{grid-column:span 1}.space.h2{grid-row:span 1}
  .footer .top{grid-template-columns:1fr 1fr 1fr}
  .footer .brand{grid-column:1 / -1}
}
@media (max-width:860px){
  .nav-left,.nav-right .item{display:none}
  .header .wrap{grid-template-columns:auto 1fr auto}
  .logo{text-align:left}
  .burger{display:inline-flex}
  /* description is always visible below 860px, so the card needs the height */
  .club{aspect-ratio:3/4}
  .club .more{grid-template-rows:1fr;opacity:1}
  .programme{grid-template-columns:1fr}
  .spa{grid-template-columns:1fr}
  .spa .img{min-height:360px}
  .founding-banner{grid-template-columns:1fr}
  .living-split{grid-template-columns:1fr}
  .living-split .img{aspect-ratio:4/3}
  .timeline{grid-template-columns:1fr}
  .waitlist .grid,.contact .grid{grid-template-columns:1fr}
  .location{grid-template-columns:1fr}
  .location .visual{order:-1;min-height:0;aspect-ratio:4/3}
  .location .visual.map{aspect-ratio:1;min-height:340px}
  .location .mapcard{left:20px;right:20px;bottom:20px;max-width:none}
  .location .panel{padding-right:var(--gutter)}
  .location .panel::before{display:none}
  .form .row{grid-template-columns:1fr}
  .form .submit{flex-direction:column-reverse;align-items:stretch}
  .form .submit .fine{text-align:center;max-width:none}
  .form-head{flex-direction:column;gap:4px}
  .ig{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .scroll-cue{display:none}
}
@media (max-width:560px){
  /* the waitlist CTA lives in the drawer at this width; keeping it in the
     bar pushed the header 31px past the viewport */
  .header .btn.nav-cta{display:none}
  .pillars{grid-template-columns:1fr}
  .carousel .track{--cols:1;--peek:36px}
  .res .img{aspect-ratio:4/3}
  .res-head{flex-direction:column;align-items:flex-start;gap:12px}
  .pillar{border-right:0;border-bottom:1px solid var(--line)}
  .pillar:last-child{border-bottom:0}
  .prog{grid-template-columns:1fr;gap:6px}
  .footer .top{grid-template-columns:1fr 1fr}
  .hero-meta{gap:22px;padding-right:70px}
  .founding-banner .perks{grid-template-columns:1fr}
}

/* ---- layer 03/88: azoria-subtle-polish ---- */

/* A restrained, CSS-only polish of the supplied design.
   Keep every original page, image, video, font, colour, layout and interaction. */

/* Slightly clearer secondary text, within the original espresso palette. */
:root{--muted:rgba(42,31,29,.72)}
h1,h2,h3{ text-rendering:optimizeLegibility }
p,.lead,.ans{line-height:1.7}
.eyebrow{letter-spacing:.22em}
.section-head p{line-height:1.8}

/* Preserve the centred video heroes; give long titles more graceful wrapping. */
.hero.page-hero h1{max-width:18ch;font-size:clamp(38px,6.1vw,76px);line-height:1.1}
.hero.page-hero .lead{max-width:540px;line-height:1.5}
.hero.page-hero .wrap{padding-bottom:clamp(56px,7vw,88px)}
.hero.page-hero::after{background:linear-gradient(180deg,rgba(42,31,29,.42) 0%,rgba(42,31,29,.15) 32%,rgba(42,31,29,.48) 68%,rgba(42,31,29,.78) 100%)}
.hero .eyebrow{color:rgba(255,255,255,.9)}
.hero-meta{gap:28px;margin-top:44px;padding-top:24px}
.hero-meta div{font-size:10.5px;letter-spacing:.17em;color:rgba(255,255,255,.86)}
.hero-meta strong{line-height:1.25;margin-top:7px}

/* Keep the original section order and alignment, with a more even vertical rhythm. */
.section{padding-block:clamp(68px,8.8vw,124px)}
.section.tight{padding-block:clamp(54px,6.6vw,90px)}
.section-head{margin-bottom:clamp(36px,4.5vw,58px)}
.section-head .eyebrow{margin-bottom:19px}
.living-split{margin-bottom:52px}
.living-split p{line-height:1.8}
.spa p{line-height:1.8}
.philosophy .lead{line-height:1.55}
section[id],.enquire{scroll-margin-top:90px}

/* Refine the existing card treatments, rather than replacing the grids. */
.club::before{background:linear-gradient(180deg,rgba(42,31,29,.1) 0%,transparent 28%,rgba(42,31,29,.48) 58%,rgba(42,31,29,.86) 100%)}
.club .body{padding:30px 28px 28px}
.club .tag{line-height:1.6;letter-spacing:.2em}
.club h3{line-height:1.18}
.club .more p{line-height:1.7}
.space .cap p{line-height:1.6;color:rgba(255,255,255,.88)}
.page:not(#p-home) .space .cap p{color:rgba(255,255,255,.86)}
.tile p,.person p,.res p{line-height:1.75}
.res .title{padding-top:24px}
.res .specs{line-height:1.7}
.res .foot{padding-top:20px}
.tier{border-color:rgba(42,31,29,.12)}
.tier .desc{line-height:1.7}
.tier .head{padding-top:28px}
.tier.featured .desc,.tier.featured .price .per,.tier.featured .inc,.tier.featured .cta .fine{color:rgba(255,255,255,.78)}
.tl .txt{padding:30px 28px 32px}
.tl p{line-height:1.75}

/* The original programme styles assume a dark background even on light sections. */
.section:not(.dark) .programme .prog{border-bottom-color:var(--line)}
.section:not(.dark) .programme .prog .cat{color:var(--muted)}
.section:not(.dark) .programme .prog p{color:var(--muted)}
.section:not(.dark) .programme .prog .freq{color:var(--green)}

/* Original navigation, colours and button shapes, with crisper finishing. */
.header:not(.scrolled){box-shadow:0 1px 0 rgba(255,255,255,.12)}
.header.scrolled{background:rgba(233,229,220,.97)}
.nav a.item{letter-spacing:.17em}
.nav a.item.on::after{width:100%;opacity:.65}
.btn{line-height:1.4;min-height:44px}
.btn.primary{box-shadow:0 3px 12px rgba(42,31,29,.09)}
.btn.ghost{border-color:rgba(255,255,255,.68)}
.btn.outline{border-color:rgba(42,31,29,.65)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--plum);outline-offset:5px}
.hero a:focus-visible,.drawer a:focus-visible,.drawer button:focus-visible{outline-color:var(--cream)}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--green)}
.form{box-shadow:0 12px 32px -24px rgba(42,31,29,.18)}
.form-head{align-items:flex-start}
.form-head .note{line-height:1.6}
.field label{line-height:1.6}
.faq summary{padding-block:24px}
.faq .ans{line-height:1.8}
.footer .brand p{line-height:1.8}
.footer h4{color:rgba(255,255,255,.88)}
.footer li a{opacity:1}
.footer .bottom{color:rgba(255,255,255,.85)}
.drawer{overflow-y:auto}

@media (hover:hover){
 .btn.primary:hover{box-shadow:0 6px 18px -8px rgba(42,31,29,.3)}
 .club:hover img,.club:focus-within img{transform:scale(1.04)}
 .tile:hover .pic img,.res:hover .img img{transform:scale(1.035)}
}
@media (max-width:860px){
 .living-split{margin-bottom:34px}
 .hero-meta{gap:20px 26px}
 .club .body{padding:26px 24px}
 .drawer{padding-top:76px;justify-content:flex-start;gap:28px}
 .drawer a{font-size:28px;padding-block:8px}
 .drawer .close{padding:10px;top:14px}
}
@media (max-width:560px){
 .hero.page-hero h1{font-size:clamp(38px,9vw,48px);max-width:16ch}
 .hero.page-hero .wrap{padding-top:130px;padding-bottom:50px}
 .hero.page-hero .lead{font-size:18px;line-height:1.55}
 .hero-meta{padding-right:0;gap:20px 24px;margin-top:34px}
 .hero-meta div{font-size:9px;letter-spacing:.14em}
 .hero-meta strong{font-size:19px}
 .hero .cta{gap:12px}
 .section-head p{font-size:15px}
 .section{padding-block:64px}
 .section.tight{padding-block:52px}
 .club .body{padding:25px 23px}
 .space .cap{padding:28px 20px 20px}
 .space .cap h3{font-size:23px}
 .tile .kicker,.person .role{line-height:1.7}
 .res .title{padding-top:20px}
 .form-head{gap:8px}
 .drawer a{font-size:26px;padding-block:7px}
 .wa{width:46px;height:46px;right:16px;bottom:16px}
 .wa svg{width:22px;height:22px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .scroll-cue::after{animation:none}
 .club img,.tile img,.res img,.btn{transition:none}
}

/* ---- layer 04/88: az-member-styles ---- */

/* All new design rules are scoped to the member screens. */
.az-member-entry{flex:0 0 30px;width:30px;height:36px;display:inline-flex;align-items:center;justify-content:center}
.az-member-entry svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.25}
.header .nav-right{gap:20px}
body:has(.az-account.active)>#header,body:has(.az-account.active)>#drawer,body:has(.az-account.active)>.footer,body:has(.az-account.active)>.wa{display:none}
.az-account{background:var(--cream);min-height:100svh}
.az-account [hidden],.az-dialog [hidden],.az-toast[hidden]{display:none!important}
.az-account h1,.az-account h2,.az-dialog h2{font-weight:300}
.az-account h1{font-size:clamp(38px,4vw,56px);line-height:1.13}
.az-account h1 em{color:var(--green)}
.az-account p{line-height:1.7}
.az-account .eyebrow,.az-dialog .eyebrow{font-size:10px;letter-spacing:.2em}
.az-account .btn,.az-dialog .btn{font-size:10px;letter-spacing:.14em;padding:15px 22px;min-height:46px}
.az-account a:focus-visible,.az-account button:focus-visible,.az-dialog button:focus-visible{outline:2px solid var(--plum);outline-offset:4px}
.az-back{font-size:11px;color:var(--muted);display:inline-block;letter-spacing:.02em}
.az-back:hover{color:var(--ink)}
.az-auth-layout{display:grid;grid-template-columns:45% 55%;min-height:100svh}
.az-auth-photo{position:relative;min-height:720px;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:48px 55px;overflow:hidden;background:var(--ink)}
.az-auth-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.az-auth-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,31,29,.35),rgba(42,31,29,.15) 30%,rgba(42,31,29,.78))}
.az-auth-photo>a,.az-auth-photo>div,.az-auth-photo>.az-photo-caption{position:relative;z-index:1}
.az-auth-photo .logo{align-self:flex-start;font-size:32px}
.az-auth-photo>div{margin-top:auto;padding-block:130px 75px}
.az-auth-photo .eyebrow{color:#fff;opacity:.8;display:block;margin-bottom:27px}
.az-auth-photo h2{font-size:clamp(48px,5.8vw,80px);line-height:1.05}
.az-auth-photo p{font-size:14px;color:rgba(255,255,255,.83);margin-top:25px}
.az-photo-caption{font-size:9px;letter-spacing:.22em;text-transform:uppercase}
.az-auth-content{display:flex;flex-direction:column;padding:40px 10%;background:var(--cream)}
.az-auth-inner{width:100%;max-width:420px;margin:auto;padding:50px 0 35px}
.az-auth-inner>.eyebrow{display:block;margin-bottom:19px}
.az-auth-inner h1{font-size:clamp(42px,4.5vw,62px)}
.az-intro{font-size:14px;color:var(--muted);margin-top:18px}
.az-form{margin-top:31px}
.az-form label{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;color:var(--brown)}
.az-form input:not([type=checkbox]),.az-form select{width:100%;height:48px;border:1px solid var(--line);background:#fffdfa;border-radius:3px;padding:12px 14px;color:var(--ink);font:inherit;font-size:14px;margin-bottom:20px;min-width:0;transition:border-color .2s}
.az-form input:focus,.az-form select:focus{outline:1px solid var(--green);outline-offset:1px;border-color:var(--green)}
.az-form input::placeholder{color:#969088}
.az-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.az-form-row>div{min-width:0}
.az-label-line{display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.az-label-line a{font-size:11px;color:var(--muted)}
.az-password{position:relative}
.az-password input{padding-right:65px!important}
.az-password button{position:absolute;right:0;top:0;height:48px;padding:0 14px;font-size:11px;color:var(--muted)}
.az-submit{width:100%;justify-content:space-between;margin-top:4px}
.az-auth-switch{font-size:12px;text-align:center;margin-top:23px;color:var(--muted)}
.az-auth-switch a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:3px;margin-left:4px}
.az-demo-box{margin-top:28px;padding:18px 0 0;border-top:1px solid var(--line)}
.az-demo-box .eyebrow{font-size:9px;color:var(--green)}
.az-demo-box p{font-size:11px;color:var(--muted);margin:5px 0 11px}
.az-text-button{font-size:11px;color:var(--green);text-align:left;line-height:1.6}
.az-text-button:hover{text-decoration:underline;text-underline-offset:4px}
.az-auth-foot{font-size:10px;color:var(--muted);text-align:center}
.az-form-note{font-size:11px!important;color:var(--muted);margin:0 0 19px;line-height:1.6!important}
.az-reset-shell{min-height:100svh;padding:55px 24px;display:flex;align-items:center;flex-direction:column}
.az-reset-shell>.logo{font-size:32px}
.az-reset-card{width:100%;max-width:460px;padding:60px 35px;margin-top:40px;background:white;border:1px solid var(--line);border-radius:var(--radius)}
.az-reset-card>.eyebrow{display:block;margin-bottom:20px}
.az-reset-card .az-back{margin:24px 0}
#az-reset-result{font-size:14px;color:var(--green);padding:25px 0}
.az-member-header{height:96px;padding:0 42px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;background:var(--cream)}
.az-member-header .logo{font-size:30px}
.az-member-header .az-user{justify-self:end}
.az-user{display:flex;align-items:center;gap:10px;font-size:12px}
.az-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--sand);font-family:var(--serif);font-size:15px;border:1px solid var(--line)}
.az-member-layout{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1540px;margin:0 auto;min-height:calc(100svh - 96px)}
.az-member-sidebar{min-width:0;border-right:1px solid var(--line);padding:40px 22px;display:flex;flex-direction:column;gap:22px}
.az-member-sidebar>.eyebrow{padding-left:15px;font-size:9px}
.az-member-sidebar nav{scrollbar-width:thin;scrollbar-color:var(--stone) transparent;display:flex;flex-direction:column;gap:7px}
.az-member-sidebar nav button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:13px 14px;font-size:12px;border-radius:3px;color:var(--muted)}
.az-member-sidebar nav button>span{font-size:20px;width:20px;text-align:center;line-height:1}
.az-member-sidebar nav button.active{color:var(--green);background:#e2e6dd}
.az-member-sidebar nav button:hover{background:#e9e9df;color:var(--green)}
.az-member-sidebar small{font-size:10px;margin-left:auto}
.az-sidebar-bottom{margin-top:auto;padding:90px 14px 0;font-size:11px;color:var(--muted)}
.az-sidebar-bottom p{font-family:var(--serif);font-size:21px;color:var(--ink)}
.az-sidebar-bottom a{display:block;margin:8px 0 30px;text-decoration:underline;text-underline-offset:4px}
.az-sidebar-bottom button{padding-top:20px;border-top:1px solid var(--line);display:block;width:100%;text-align:left}
.az-member-main{padding:25px 40px 0;min-width:0}
.az-preview-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:10px;color:var(--green);padding-bottom:18px;border-bottom:1px solid var(--line)}
.az-preview-strip>span:last-child{color:var(--muted);margin-left:auto;font-size:9px}
.az-status-dot{width:5px;height:5px;background:var(--green);border-radius:50%}
.az-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:36px 0 31px}
.az-page-heading .eyebrow{display:block;margin-bottom:14px;font-size:9px}
.az-page-heading h1{font-size:clamp(32px,3.3vw,46px)}
.az-page-heading p{font-size:12px;color:var(--muted);margin-top:12px}
.az-page-heading>.btn{flex-shrink:0}
.az-top-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}
.az-next-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}
.az-card-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}
.az-next-card>.az-card-heading{padding:20px 24px;border-bottom:1px solid var(--line)}
.az-card-heading .eyebrow{font-size:9px}
.az-next-content{padding:24px;display:grid;grid-template-columns:104px 1fr;gap:22px;align-items:center}
.az-next-content>img{width:104px;height:137px;object-fit:cover;border-radius:3px}
.az-next-content .eyebrow{font-size:8px;display:block;margin-bottom:10px}
.az-next-content h2{font-size:28px;line-height:1.12}
.az-next-content p{font-size:11px;color:var(--muted);margin-top:11px}
.az-next-content .az-text-button{margin-top:11px}
.az-member-card{background:var(--green);color:var(--cream);border-radius:var(--radius);padding:23px 27px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.az-member-card .eyebrow{color:#d1d8cd}
.az-plan-status{font-size:8px;letter-spacing:.08em;border:1px solid #ffffff55;padding:4px 8px;border-radius:30px}
.az-member-card h2{font-size:42px;margin-top:25px}
.az-member-card>p{font-size:12px;color:#dbe0d6;max-width:32ch;margin:12px 0 25px}
.az-membership-bottom{margin-top:auto;padding-top:18px;border-top:1px solid #ffffff33;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#d5ddcd}
.az-membership-bottom button{width:32px;height:32px;border:1px solid #ffffff55;border-radius:50%;font-size:20px;color:white}
.az-dashboard-section{margin-top:37px}
.az-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:20px}
.az-section-heading h2{font-size:30px}
.az-small{font-size:11px;color:var(--muted);line-height:1.65}
.az-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.az-quick-card{border:1px solid var(--line);border-radius:var(--radius);background:white;overflow:hidden;position:relative;text-align:left;transition:box-shadow .25s}
.az-quick-card:hover{box-shadow:0 8px 24px -14px #2a1f1d66}
.az-quick-card img{width:100%;height:118px;object-fit:cover}
.az-quick-card>span{display:block;padding:16px 15px 18px}
.az-quick-card strong{display:block;font-family:var(--serif);font-size:24px;font-weight:300}
.az-quick-card small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}
.az-quick-card i{position:absolute;right:13px;bottom:38px;font-style:normal;color:var(--green);font-size:18px}
.az-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.az-event{display:grid;grid-template-columns:116px minmax(0,1fr);gap:20px;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}
.az-event>img{width:116px;height:100%;min-height:180px;object-fit:cover}
.az-event>div{padding:20px 20px 20px 0;min-width:0}
.az-event .eyebrow{font-size:8px}
.az-event h3{font-size:25px;margin-top:10px}
.az-event p{font-size:11px;color:var(--muted);margin:10px 0}
.az-event .az-text-button{font-size:10px}
.az-all-events{grid-template-columns:repeat(2,minmax(0,1fr))}
.az-all-events .az-event{display:block}
.az-all-events .az-event>img{width:100%;height:230px;min-height:0}
.az-all-events .az-event>div{padding:25px}
.az-all-events .az-event h3{font-size:31px}
.az-member-foot{margin-top:50px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px 0;font-size:10px;color:var(--muted)}
.az-booking-filters{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:26px}
.az-booking-filters button{font-size:12px;padding:13px 0;color:var(--muted)}
.az-booking-filters button.active{border-bottom:2px solid var(--green);color:var(--green)}
.az-booking-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:24px;padding:26px;background:white;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;align-items:center}
.az-date-block{text-align:center;border-right:1px solid var(--line);padding-right:23px;color:var(--green)}
.az-date-block strong{display:block;font-family:var(--serif);font-size:37px;line-height:1}
.az-date-block span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin-top:6px}
.az-booking-row h2{font-size:28px;margin:6px 0}
.az-booking-row .eyebrow{font-size:8px}
.az-booking-row p{font-size:12px;color:var(--muted)}
.az-booking-row>.az-text-button{padding:10px}
.az-empty{padding:42px 28px;text-align:center;border:1px solid var(--line);background:white;border-radius:var(--radius)}
.az-empty h2{font-size:31px}
.az-empty p{font-size:13px;color:var(--muted);max-width:35ch;margin:14px auto 22px}
.az-next-card .az-empty{border:0;padding:30px 20px}
.az-next-card .az-empty h2{font-size:26px}
.az-membership-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.az-membership-detail{padding:35px;background:white;border:1px solid var(--line);border-radius:var(--radius)}
.az-membership-detail h2{font-size:45px;margin:20px 0 15px}
.az-membership-detail>p{font-size:13px;color:var(--muted)}
.az-membership-detail dl{margin:28px 0}
.az-membership-detail dl>div{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:18px 0;font-size:11px}
.az-membership-detail dt{color:var(--muted)}
.az-membership-detail dd{text-align:right}
.az-membership-detail .az-form-note{margin-top:20px}
.az-benefits{padding:10px 16px}
.az-benefits>h2{font-size:36px;margin:20px 0 25px}
.az-benefits li{display:flex;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}
.az-benefits li>span{font-family:var(--serif);font-size:16px;color:var(--muted);padding-top:4px}
.az-benefits h3{font-size:25px}
.az-benefits p{font-size:12px;color:var(--muted);margin-top:6px}
.az-profile-form{max-width:670px;background:white;padding:32px;border:1px solid var(--line);border-radius:var(--radius)}
.az-profile-form>h2{font-size:29px;margin-bottom:28px}
.az-profile-form fieldset{border:0;border-top:1px solid var(--line);padding:20px 0 25px;margin-top:10px}
.az-profile-form legend{font-family:var(--serif);font-size:25px;padding-right:20px}
.az-interest-options{display:flex;gap:12px 20px;flex-wrap:wrap}
.az-interest-options label{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:0;text-transform:none}
.az-interest-options input{accent-color:var(--green);width:15px;height:15px}
.az-profile-form>.az-form-note{margin-top:17px}
.az-profile-logout{display:block;margin-top:25px}
.az-dialog{margin:auto;border:1px solid var(--line);border-radius:var(--radius);padding:40px;width:min(500px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;background:var(--cream);color:var(--ink);box-shadow:0 30px 100px #0005}
.az-dialog::backdrop{background:rgba(42,31,29,.55);backdrop-filter:blur(3px)}
.az-dialog h2{font-family:var(--serif);font-size:36px;margin:18px 0 13px}
.az-dialog h2 em{color:var(--green)}
.az-dialog-close{position:absolute;right:15px;top:10px;width:35px;height:35px;font-size:27px;color:var(--muted)}
.az-dialog .az-form{margin-top:24px}
.az-dialog .az-booking-summary{font-size:14px;color:var(--muted);margin:22px 0}
.az-dialog .az-booking-summary p{margin:12px 0}
.az-dialog .az-danger{font-size:12px;color:#8a4034;border-bottom:1px solid #8a403444;padding:8px 0}
.az-dialog .az-dialog-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:20px}
.az-toast{position:fixed;z-index:150;bottom:26px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 40px);padding:15px 24px;border-radius:4px;background:var(--green);color:white;box-shadow:0 8px 32px #0002;font-size:12px}
.az-club-access-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:32px}
.az-club-access-grid article{padding:20px 16px;background:white;border:1px solid var(--line);border-radius:var(--radius)}
.az-club-access-grid h3{font-size:22px;margin-top:14px}
.az-club-access-grid p{font-size:10px;margin:8px 0 12px;color:var(--muted)}
.az-club-access-grid .az-text-button{font-size:10px}
.az-access-dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--green)}
.az-access-dot.az-inactive{background:var(--stone)}
.az-club-filter{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--muted);margin:0 0 25px}
.az-club-filter select{font:inherit;border:1px solid var(--line);padding:9px 28px 9px 12px;background:white;color:var(--ink);border-radius:3px}
.az-stay-card{display:grid;grid-template-columns:1fr 1.1fr;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.az-stay-card>img{width:100%;height:100%;min-height:320px;object-fit:cover}
.az-stay-card>div{padding:30px}
.az-stay-card h2{font-size:37px;margin:18px 0 15px}
.az-stay-card p{font-size:12px;color:var(--muted)}
.az-stay-card dl{display:flex;gap:30px;padding:22px 0;margin-top:14px;border-top:1px solid var(--line)}
.az-stay-card dt{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.az-stay-card dd{font-family:var(--serif);font-size:20px}
.az-stay-actions{display:flex;gap:22px;flex-wrap:wrap}
.az-res-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.az-res-service-grid>button{text-align:left;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px}
.az-res-service-grid span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.az-res-service-grid strong{display:block;font-family:var(--serif);font-size:28px;font-weight:300;margin:18px 0 12px}
.az-res-service-grid small{font-size:10px;color:var(--green)}
.az-res-service-grid>button:hover{border-color:var(--green)}
.az-request-row{display:flex;justify-content:space-between;gap:25px;background:white;padding:24px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:15px}
.az-request-row .eyebrow{font-size:8px}
.az-request-row h3{font-size:25px;margin:8px 0}
.az-request-row p{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.az-request-row>span{font-size:10px;color:var(--green);white-space:nowrap}
.az-small-empty{padding:20px}
.az-small-empty p{margin:5px auto;max-width:none}
.az-form textarea{width:100%;border:1px solid var(--line);background:#fffdfa;border-radius:3px;padding:12px 14px;color:var(--ink);font:inherit;font-size:14px;margin-bottom:20px;resize:vertical}
.az-form textarea:focus{outline:1px solid var(--green)}
@media(max-width:1180px){.az-club-access-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.az-res-service-grid>button{padding:19px}.az-res-service-grid strong{font-size:25px}}
@media(max-width:640px){.az-club-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.az-club-access-grid article{padding:18px}.az-stay-card{grid-template-columns:1fr}.az-stay-card>img{height:220px;min-height:0}.az-stay-card>div{padding:24px}.az-stay-card h2{font-size:34px}.az-stay-card dl{gap:23px}.az-stay-card dd{font-size:18px}.az-res-service-grid{grid-template-columns:1fr}.az-res-service-grid>button{padding:24px}.az-res-service-grid strong{font-size:29px;margin:12px 0 8px}.az-request-row{flex-direction:column;gap:15px}.az-form textarea{font-size:16px}.az-club-filter select{font-size:14px}}
@media(max-width:1180px){.header .nav-right{gap:14px}.az-member-main{padding-inline:27px}.az-member-layout{grid-template-columns:195px minmax(0,1fr)}.az-member-sidebar{padding-inline:14px}.az-top-grid{gap:17px}.az-next-content{gap:15px;padding:20px}.az-next-content>img{width:80px;height:130px}.az-next-content{grid-template-columns:80px 1fr}.az-quick-grid{gap:12px}.az-event{grid-template-columns:85px 1fr;gap:15px}.az-event>img{width:85px}.az-page-heading{align-items:flex-start}.az-page-heading>.btn{margin-top:18px}.az-next-content h2{font-size:26px}.az-member-card{padding:22px}.az-member-header{padding-inline:30px}}
@media(max-width:940px){.az-auth-content{padding:30px 8%}.az-auth-photo{padding:40px 30px}.az-member-layout{grid-template-columns:1fr}.az-member-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:15px 24px;gap:0}.az-member-sidebar>.eyebrow,.az-sidebar-bottom{display:none}.az-member-sidebar nav{flex-direction:row;gap:5px;overflow-x:auto}.az-member-sidebar nav button{width:auto;white-space:nowrap;padding:10px 12px;flex-shrink:0;font-size:11px}.az-member-sidebar nav button>span{font-size:17px}.az-member-main{padding:22px 28px 0}.az-member-header{height:88px}.az-page-heading h1{font-size:40px}.az-preview-strip>span:last-child{margin-left:0}.az-event{grid-template-columns:110px 1fr}.az-event>img{width:110px}}
@media(max-width:640px){.az-auth-layout{grid-template-columns:1fr}.az-auth-photo{min-height:240px;padding:24px}.az-auth-photo .logo{font-size:25px}.az-auth-photo>div{padding:50px 0 15px}.az-auth-photo>div>.eyebrow,.az-auth-photo>div>p,.az-photo-caption{display:none}.az-auth-photo h2{font-size:40px}.az-auth-photo h2 br{display:none}.az-auth-content{padding:25px 26px}.az-auth-inner{padding:32px 0 24px;max-width:430px}.az-auth-inner h1{font-size:43px}.az-auth-foot{padding-top:10px;font-size:9px}.az-auth-inner>.eyebrow{font-size:9px}.az-form{margin-top:25px}.az-form input:not([type=checkbox]),.az-form select{font-size:16px}.az-form-row{gap:13px}.az-auth-switch{font-size:12px}.az-member-header{height:80px;padding:0 22px;gap:15px}.az-member-header .logo{font-size:23px}.az-member-header .logo small{font-size:7px}.az-member-header>.az-back{font-size:0}.az-member-header>.az-back::after{content:'← Website';font-size:10px}.az-user>[data-first-name]{display:none}.az-avatar{width:32px;height:32px;font-size:13px}.az-member-sidebar{padding:10px 15px}.az-member-sidebar nav button{font-size:11px;padding:10px}.az-member-main{padding:20px 20px 0}.az-preview-strip{font-size:9px;gap:6px}.az-preview-strip>span:last-child{font-size:8px;width:100%;padding-left:11px}.az-page-heading{flex-direction:column;gap:20px;margin-top:30px}.az-page-heading h1{font-size:38px}.az-page-heading p{font-size:12px}.az-page-heading>.btn{margin-top:0}.az-top-grid{grid-template-columns:1fr;gap:18px}.az-next-card>.az-card-heading{padding:19px 20px}.az-next-content{padding:21px;grid-template-columns:85px 1fr;gap:20px}.az-next-content>img{width:85px;height:125px}.az-next-content h2{font-size:29px}.az-member-card{padding:24px}.az-member-card h2{font-size:40px}.az-member-card>p{max-width:100%}.az-member-card h2{margin-top:22px}.az-dashboard-section{margin-top:32px}.az-section-heading{align-items:flex-start;gap:12px}.az-section-heading h2{font-size:29px}.az-section-heading>.az-small{display:none}.az-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.az-quick-card img{height:114px}.az-quick-card>span{padding:16px 12px}.az-quick-card strong{font-size:25px}.az-quick-card small{font-size:9px}.az-quick-card i{right:10px;font-size:17px}.az-event-grid,.az-membership-layout{grid-template-columns:1fr}.az-event{grid-template-columns:100px 1fr;gap:18px}.az-event>img{width:100px}.az-event>div{padding:22px 16px 22px 0}.az-event h3{font-size:26px}.az-booking-row{padding:21px 17px;gap:15px;grid-template-columns:55px minmax(0,1fr)}.az-date-block{padding-right:16px}.az-booking-row>.az-text-button{grid-column:2;padding:0}.az-booking-row h2{font-size:26px}.az-booking-row p{font-size:11px}.az-membership-detail{padding:26px}.az-benefits{padding:15px 4px}.az-profile-form{padding:23px}.az-profile-form .az-form-row{grid-template-columns:1fr}.az-profile-form .az-form-note{margin-bottom:0}.az-member-foot{font-size:9px;gap:12px}.az-dialog{padding:34px 24px}.az-dialog h2{font-size:34px}.az-dialog .az-form-row{gap:12px}.az-toast{font-size:11px;bottom:20px;width:max-content;padding:13px 19px}.az-reset-shell{padding-top:35px}.az-reset-card{padding:38px 25px}.az-reset-card h1{font-size:42px}}

@media(max-width:640px){.az-dialog .az-form-row{grid-template-columns:1fr}}

/* ---- layer 05/88: azoria-requested-home-edits ---- */

/* Requested home-page residence cards and Nyang Nyang section only. */
/* Compact membership cards and balance the concept-to-clubs spacing. */
#p-home>#concept{padding-block:clamp(48px,5vw,72px)}
#p-home>#clubs{padding-top:clamp(48px,5vw,72px)}
#membership .tier{padding-bottom:16px}
#membership .tier .pic{aspect-ratio:16/10}
#membership .tier .head{padding-top:14px}
#membership .tier h3{margin:10px 0 6px;font-size:24px}
#membership .tier .desc{padding-bottom:12px;font-size:13px;line-height:1.5}
#membership .tier .pricing{padding:14px 0 12px}
#membership .tier .price .amt{font-size:40px}
#membership .tier .price .per{font-size:10px}
#membership .tier .founding{margin-top:8px;gap:8px;font-size:11px}
#membership .tier .inc{padding:12px 0 8px}
#membership .tier ul{gap:6px;font-size:13px;line-height:1.45}
#membership .tier .cta{padding-top:16px}
#membership .tier .cta .fine{margin-top:8px}
/* Alternate existing palette colours so adjacent sections stay distinct. */
#p-home>#concept,#p-home>#membership,#p-home>#waitlist,#p-home>.section.tight.cream{background:var(--cream)}
#p-home>#clubs,#p-home>#timeline,#p-home>#contact{background:var(--stone)}
#p-home>#spaces,#p-home>#living,#p-home>#faq{background:var(--sand)}
#p-home>.azoria-community-surround>#culture{background:var(--green)}
#timeline .tl.now{background:var(--cream);color:var(--ink);border-color:var(--line)}
#timeline .tl.now .d{color:var(--green)}
#timeline .tl.now p,#timeline .tl.now .step{color:var(--muted)}
#living .res{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;padding-bottom:22px}
#living .res .img{border-radius:0}
#living .res .title{padding:22px 22px 0}
#living .res .specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:18px 0;padding:0 22px;font-size:12px;color:var(--green)}
#living .res .specs span{gap:7px;line-height:1.5}
#living .res .specs svg{flex:0 0 16px;width:16px;height:16px;opacity:1}
#living .res p{padding:0 22px}
#living .res .foot{margin:22px 22px 0;padding-top:18px;border-color:rgba(52,73,60,.2)}
#living .res .foot .from{color:var(--green)}
#living .res .go{flex-shrink:0;border-color:var(--green);color:var(--green)}
#living .res:hover .go{background:var(--green);color:#fff}
#location{height:75vh;min-height:560px;grid-template-rows:minmax(0,1fr)}
#location .panel{min-height:0;padding-block:24px;overflow-y:auto;justify-content:safe center}
#location .panel>.eyebrow{margin-bottom:14px}
#location h2{max-width:none;font-size:clamp(32px,2.8vw,44px);line-height:1.1}
#location .panel>p{margin-top:16px;font-size:15px;line-height:1.6}
#location .coords{margin-top:12px;font-size:10px;line-height:1.6}
#location .dist{margin-top:16px}
#location .dist li{padding:8px 0}
#location .dist .place{font-size:clamp(17px,1.45vw,21px)}
#location .dist .place small{font-size:9px;margin-top:2px}
#location .dist .time{font-size:22px}
#location .actions{margin-top:16px;gap:10px}
#location .actions .btn{padding:13px 18px;font-size:10px}
#location .visual{min-width:0;min-height:0;width:100%}
@media(max-width:1100px){
  #living .res .title{padding-inline:18px}
  #living .res .specs,#living .res p{padding-inline:18px}
  #living .res .foot{margin-inline:18px}
}
@media(min-width:861px) and (max-height:760px){
  #location .panel{padding-block:20px}
  #location .dist{margin-top:16px}
  #location .dist li{padding-block:6px}
  #location .panel>p{font-size:14px;line-height:1.5}
  #location .actions{margin-top:12px}
}
@media(max-width:860px){
  #location{height:auto;min-height:0;grid-template-rows:auto auto}
  #location .panel{overflow:visible;padding-block:28px}
  #location .visual.map{aspect-ratio:16/9;min-height:220px}
}

/* ---- layer 06/88: azoria-public-page-sync ---- */

/* Shared home-page styling applied only to the nine public detail pages. */
.az-public-sync>.az-bg-cream,.az-public-sync>.spa.az-bg-cream .txt{background:var(--cream)}
.az-public-sync>.az-bg-stone,.az-public-sync>.spa.az-bg-stone .txt{background:var(--stone)}
.az-public-sync>.az-bg-sand,.az-public-sync>.spa.az-bg-sand .txt{background:var(--sand)}
.az-public-sync>.az-bg-green{background:var(--green)}
.az-public-sync>.az-bg-brown,.az-public-sync>.spa.az-bg-brown .txt{background:var(--brown);color:var(--cream)}
.az-public-sync>.spa.az-bg-brown p,.az-public-sync>.spa.az-bg-brown .menu li span:last-child{color:rgba(255,255,255,.78)}
.az-public-sync>.spa.az-bg-brown .menu,.az-public-sync>.spa.az-bg-brown .menu li{border-color:rgba(255,255,255,.2)}
.az-public-sync>.section.philosophy{padding-block:clamp(48px,5vw,72px)}
.az-public-sync>.section.philosophy+.section{padding-top:clamp(48px,5vw,72px)}
.az-public-sync .philosophy h2{font-size:clamp(32px,4vw,52px);max-width:24ch}
.az-public-sync .philosophy .lead{margin-top:22px;font-size:16px;line-height:1.7}
.az-public-sync .location{height:75vh;min-height:560px;grid-template-rows:minmax(0,1fr)}
.az-public-sync .location .panel{min-height:0;padding-block:24px;overflow-y:auto;justify-content:safe center}
.az-public-sync .location .panel>.eyebrow{margin-bottom:14px}
.az-public-sync .location h2{max-width:none;font-size:clamp(30px,2.5vw,40px);line-height:1.1}
.az-public-sync .location .panel>p{margin-top:16px;font-size:14px;line-height:1.5}
.az-public-sync .location .coords{margin-top:12px;font-size:10px;line-height:1.6}
.az-public-sync .location .dist{display:block;margin-top:16px}
.az-public-sync .location .dist li{padding:8px 0;gap:8px}
.az-public-sync .location .dist .place{font-size:16px;line-height:1.3}
.az-public-sync .location .dist .place small{font-size:9px;line-height:1.45;letter-spacing:.1em;margin-top:4px}
.az-public-sync .location .dist .time{font-size:18px}
.az-public-sync .location .dist .time small{font-size:9px;margin-left:4px}
.az-public-sync .location .actions{margin-top:16px;gap:10px}
.az-public-sync .location .actions .btn{padding:13px 18px;font-size:10px}
.az-public-sync .location .visual{min-width:0;min-height:0;width:100%}
.az-public-sync .tl.now{background:var(--cream);color:var(--ink);border-color:var(--line)}
.az-public-sync .tl.now .d{color:var(--green)}
.az-public-sync .tl.now p,.az-public-sync .tl.now .step{color:var(--muted)}
#p-living .res{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;padding-bottom:22px}
#p-living .res .img{border-radius:0}
#p-living .res .title{padding:22px 22px 0}
#p-living .res .specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:18px 0;padding:0 22px;font-size:12px;color:var(--green)}
#p-living .res .specs span{gap:7px;line-height:1.5}
#p-living .res .specs svg{flex:0 0 16px;width:16px;height:16px;opacity:1}
#p-living .res p{padding:0 22px}
#p-living .res .foot{margin:22px 22px 0;padding-top:18px;border-color:rgba(52,73,60,.2)}
#p-living .res .foot .from{color:var(--green)}
#p-living .res .go{flex-shrink:0;border-color:var(--green);color:var(--green)}
#p-living .res:hover .go{background:var(--green);color:#fff}

@media(max-width:1100px){
 #p-living .res .title{padding-inline:18px}
 #p-living .res .specs,#p-living .res p{padding-inline:18px}
 #p-living .res .foot{margin-inline:18px}
}
@media(min-width:861px) and (max-height:760px){
 .az-public-sync .location .panel{padding-block:20px}
 .az-public-sync .location .dist li{padding-block:6px}
 .az-public-sync .location .actions{margin-top:12px}
}
@media(max-width:860px){
 .az-public-sync .location{height:auto;min-height:0;grid-template-rows:auto auto}
 .az-public-sync .location .panel{overflow:visible;padding-block:28px}
 .az-public-sync .location .visual.map{aspect-ratio:16/9;min-height:220px}
}
@media(max-width:560px){

}

/* ---- layer 07/88: azoria-home-hero-copy-update ---- */

#p-home>.hero .hero-disciplines{display:block;margin-bottom:12px;font-size:clamp(20px,2vw,28px);line-height:1.3}
#concept .section-head p+p{margin-top:12px}

/* ---- layer 08/88: azoria-inset-home-sections ---- */

#spaces .section-head,#spaces .section-head p{max-width:none}
#spaces .section-head p{text-wrap:wrap}
#p-home>.azoria-community-surround>#culture,#p-home>.azoria-community-surround>#location{width:calc(100% - 2 * var(--gutter));max-width:calc(var(--max) - 2 * var(--gutter));margin-inline:auto;border-radius:var(--radius);overflow:hidden}
#p-home>.azoria-community-surround>#culture{padding-block:clamp(32px,4vw,56px);margin-bottom:clamp(28px,4vw,56px)}
#culture>.wrap{max-width:none;padding-inline:clamp(24px,4vw,56px)}
#location .panel{padding-inline:clamp(24px,3vw,40px)}
@media(max-width:560px){
 #location .panel{padding-inline:24px}
 #location .actions{gap:8px}
 #location .actions .btn{padding-inline:10px;font-size:9px}
}

/* ---- layer 09/88: azoria-compact-culture-map ---- */

@media(min-width:1000px){#spaces .spaces-copy-line{display:block}}
#p-home>.azoria-community-surround>#culture{padding-block:36px}
#culture .section-head{margin-bottom:24px}
#culture .section-head .eyebrow{margin-bottom:12px}
#culture .section-head p{margin-top:12px}
#culture .programme{column-gap:40px}
#culture .prog{grid-template-columns:70px minmax(0,1fr);gap:14px;padding-block:16px}
#culture .prog h3{font-size:22px;line-height:1.2}
#culture .prog p{font-size:13px;line-height:1.5;margin-top:5px}
#culture .prog .cat{font-size:9px;letter-spacing:.16em}
#culture .prog .freq{font-size:10px;margin-top:7px}
#location{height:60vh;min-height:530px;max-height:600px}
#location .panel{padding-block:24px}
#location .panel>.eyebrow{margin-bottom:10px}
#location .panel>p{margin-top:12px;font-size:14px;line-height:1.5}
#location .dist .place{font-size:18px;line-height:1.3}
#location .dist .place small{line-height:1.5}
#location .dist .time{font-size:20px;line-height:1.3}
#location .dist li{padding-block:8px}
#location .actions{margin-top:12px}
@media(max-width:860px){
 #location{height:auto;min-height:0;max-height:none}
 #location .visual.map{min-height:200px;aspect-ratio:16/9}
}
@media(max-width:560px){
 #culture .prog{grid-template-columns:1fr;gap:4px;padding-block:14px}
 #culture .section-head{margin-bottom:18px}
 #culture .prog h3{font-size:21px}
}

/* ---- layer 10/88: azoria-community-background ---- */

#p-home>.azoria-community-surround{display:flow-root;background:var(--cream);padding-block:clamp(68px,8.8vw,124px)}
#p-home>.azoria-setting-surround{background:var(--sand)}
#p-home>.azoria-community-surround>#culture{margin-bottom:0}
@media(max-width:560px){#p-home>.azoria-community-surround{padding-block:64px}}

/* ---- layer 11/88: azoria-property-feature-groups ---- */

#living .res-feature-groups,#p-living .res-feature-groups{padding:18px 22px 0}
#living .res-feature-group h4,#p-living .res-feature-group h4{font-family:var(--sans);font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
#living .res-feature-group+.res-feature-group,#p-living .res-feature-group+.res-feature-group{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
#living .res .res-feature-group .specs,#p-living .res .res-feature-group .specs{padding:0;margin:12px 0 0;gap:9px 10px;font-size:11.5px}
#living .res .res-feature-group .specs span,#p-living .res .res-feature-group .specs span{min-width:0;align-items:center}
#living .res .body>p,#p-living .res .body>p{margin-top:16px;font-size:13px;line-height:1.6}
@media(max-width:560px){#living .res-feature-groups,#p-living .res-feature-groups{padding-inline:18px}}

/* ---- layer 12/88: azoria-public-inset-sync ---- */

.az-public-sync>.az-detail-surround{display:flow-root;padding-block:clamp(68px,8.8vw,124px);background:var(--section-surround,var(--cream))}
.az-public-sync>.az-detail-surround>section{width:calc(100% - 2 * var(--gutter));max-width:calc(var(--max) - 2 * var(--gutter));margin-inline:auto;border-radius:var(--radius);overflow:hidden}
.az-public-sync>.az-detail-culture>section{background:var(--green);padding-block:36px}
.az-detail-culture>section>.wrap{max-width:none;padding-inline:clamp(24px,4vw,56px)}
.az-detail-culture .section-head{margin-bottom:24px}
.az-detail-culture .section-head .eyebrow{margin-bottom:12px}
.az-detail-culture .section-head p{margin-top:12px}
.az-detail-culture .programme{column-gap:40px}
.az-detail-culture .prog{grid-template-columns:70px minmax(0,1fr);gap:14px;padding-block:16px}
.az-detail-culture .prog h3{font-size:22px;line-height:1.2}
.az-detail-culture .prog p{font-size:13px;line-height:1.5;margin-top:5px}
.az-detail-culture .prog .cat{font-size:9px;letter-spacing:.16em}
.az-detail-culture .prog .freq{font-size:10px;margin-top:7px}
.az-public-sync .location{height:auto;min-height:clamp(530px,60vh,600px);max-height:none;grid-template-rows:auto}
.az-public-sync .location .panel{padding:24px clamp(24px,3vw,40px)}
.az-public-sync .location .panel>.eyebrow{margin-bottom:10px}
.az-public-sync .location .panel>p{margin-top:12px}
.az-public-sync .location .actions{margin-top:12px}
#p-about .philosophy .lead+.lead{margin-top:12px}
@media(max-width:860px){
 .az-public-sync .location{height:auto;min-height:0;max-height:none}
 .az-public-sync .location .visual.map{min-height:200px;aspect-ratio:16/9}
}
@media(max-width:560px){
 .az-public-sync>.az-detail-surround{padding-block:64px}
 .az-public-sync .location .panel{padding-inline:24px}
 .az-detail-culture .prog{grid-template-columns:1fr;gap:4px;padding-block:14px}
 .az-detail-culture .section-head{margin-bottom:18px}
 .az-detail-culture .prog h3{font-size:21px}
}

/* ---- layer 13/88: azoria-padel-membership-refresh ---- */

#p-padel .azoria-philosophy-logo{display:block;width:180px;max-width:100%;height:auto;margin:0 auto 20px;object-fit:contain}
#p-padel .padel-bulletin{background:var(--green);color:var(--cream);padding-block:19px;border:0}
#p-padel .padel-bulletin .track{gap:0;animation-duration:52s}
#p-padel .bulletin-set{display:flex;gap:0}
#p-padel .bulletin-set span{display:block;padding-right:44px;font-size:11px;letter-spacing:.18em}
#p-padel .bulletin-set span::before{margin-right:44px;opacity:.7}
#p-padel .padel-bulletin:hover .track{animation-play-state:paused}
#p-padel .philosophy .lead{max-width:78ch;font-family:var(--sans);color:var(--muted)}

/* ---- layer 14/88: azoria-padel-coaches ---- */

#padel-coaches .coaches-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 64px)/5);gap:16px;align-items:stretch;padding-block:12px}
#padel-coaches .padel-coach{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
#padel-coaches .pic{aspect-ratio:4/5;border-radius:0}
#padel-coaches .pic img{object-position:center top}
#padel-coaches .coach-caption{padding:20px 18px 22px}
#padel-coaches .role{margin:0 0 10px;font-size:9px;letter-spacing:.18em}
#padel-coaches h3{font-size:23px;line-height:1.2}
#padel-coaches .coach-pending{background:var(--green);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
#padel-coaches .coach-pending svg{width:72px;height:72px;stroke:currentColor;stroke-width:1;opacity:.5}
#padel-coaches .coach-pending>span{font-size:9px;letter-spacing:.2em;text-transform:uppercase;opacity:.7}
@media(min-width:1101px){#padel-coaches .carousel-nav .arrows,#padel-coaches .dots{display:none}}
@media(max-width:1100px){#padel-coaches .coaches-track{grid-auto-columns:calc((100% - 32px)/3.2)}}
@media(max-width:560px){#padel-coaches .coaches-track{grid-auto-columns:82%}}

/* ---- layer 15/88: azoria-padel-home-card-design ---- */

#padel-memberships .padel-plans{grid-auto-columns:calc((100% - 32px)/3.2);gap:16px;padding-block:12px}
#padel-memberships .tier{padding-bottom:16px}
#padel-memberships .tier .pic{aspect-ratio:16/10}
#padel-memberships .tier .head{padding-top:14px}
#padel-memberships .tier h3{margin:10px 0 6px;font-size:24px}
#padel-memberships .tier .desc{padding-bottom:12px;font-size:13px;line-height:1.5}
#padel-memberships .tier .pricing{padding:14px 0 12px}
#padel-memberships .tier .price .amt{font-size:40px}
#padel-memberships .tier .price .per{font-size:10px}
#padel-memberships .tier .founding{margin-top:8px;gap:8px;font-size:11px}
#padel-memberships .tier .inc{padding:12px 0 8px}
#padel-memberships .tier ul{gap:6px;font-size:13px;line-height:1.45}
#padel-memberships .tier .cta{padding-top:16px}
#padel-memberships .tier .cta .fine{margin-top:8px}
#padel-memberships .tier .price .amt{font-size:40px}
@media(max-width:860px){#padel-memberships .padel-plans{grid-auto-columns:calc((100% - 16px)/2.1)}}
@media(max-width:560px){#padel-memberships .padel-plans{grid-auto-columns:90%}}

/* ---- layer 16/88: azoria-club-membership-cards ---- */

.club-memberships .club-plans{grid-auto-columns:calc((100% - 32px)/3.2);gap:16px;padding-block:12px}
.club-memberships .tier{padding-bottom:16px}
.club-memberships .tier .pic{aspect-ratio:16/10}
.club-memberships .tier .head{padding-top:14px}
.club-memberships .tier h3{margin:10px 0 6px;font-size:24px}
.club-memberships .tier .desc{padding-bottom:12px;font-size:13px;line-height:1.5}
.club-memberships .tier .pricing{padding:14px 0 12px}
.club-memberships .tier .price .amt{font-size:40px}
.club-memberships .tier .price .per{font-size:10px}
.club-memberships .tier .founding{margin-top:8px;gap:8px;font-size:11px}
.club-memberships .tier .inc{padding:12px 0 8px}
.club-memberships .tier ul{gap:6px;font-size:13px;line-height:1.45}
.club-memberships .tier .cta{padding-top:16px}
.club-memberships .tier .cta .fine{margin-top:8px}
.club-memberships .tier .price .amt{font-size:40px}
@media(max-width:860px){.club-memberships .club-plans{grid-auto-columns:calc((100% - 16px)/2.1)}}
@media(max-width:560px){.club-memberships .club-plans{grid-auto-columns:90%}}

.club-memberships .membership-note{max-width:760px;margin:24px auto 0;text-align:center;font-size:12px;line-height:1.6;color:var(--muted)}

/* ---- layer 17/88: azoria-padel-club-reference ---- */

#padel-club-intro{background:var(--sand)}
#padel-club-intro .living-split{grid-template-columns:1.05fr 1fr;gap:clamp(32px,4.8vw,64px);align-items:center;margin-bottom:0}
#padel-club-intro .img{aspect-ratio:1/1.04;border-radius:0}
#padel-club-intro .eyebrow{margin-bottom:20px}
#padel-club-intro h2{font-size:clamp(34px,3.8vw,50px);line-height:1.12;letter-spacing:-.02em}
#padel-club-intro h2 em{color:var(--green)}
#padel-club-intro p{font-size:15px;line-height:1.8;margin-top:24px}
#padel-club-intro .facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;border:0;margin-top:30px;padding-top:0}
#padel-club-intro .facts .club-detail-index{display:block;font-family:var(--serif);font-size:12px;letter-spacing:.06em;line-height:1;margin-bottom:10px}
#padel-club-intro .facts strong{font-size:21px;font-weight:300;font-style:italic;line-height:1.2;margin-bottom:8px}
#padel-club-intro .facts span:not(.club-detail-index){display:block;font-size:12px;line-height:1.65;letter-spacing:0;text-transform:none}
@media(max-width:900px){
 #padel-club-intro .living-split{grid-template-columns:1fr;gap:36px}
 #padel-club-intro .img{aspect-ratio:4/3}
 #padel-club-intro h2{max-width:22ch}
}
@media(max-width:560px){
 #padel-club-intro .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 #padel-club-intro h2{font-size:34px}
}

/* ---- layer 18/88: azoria-coach-overlay-design ---- */

#padel-coaches .coaches-track{grid-auto-columns:calc((100% - 32px)/3.2)}
#padel-coaches .padel-coach{position:relative;isolation:isolate;aspect-ratio:3/4;background:var(--green);border:0;color:var(--cream)}
#padel-coaches .padel-coach::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(42,31,29,.12) 0%,transparent 35%,rgba(42,31,29,.25) 57%,rgba(42,31,29,.9) 100%)}
#padel-coaches .pic{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0}
#padel-coaches .pic img{width:100%;height:100%;object-fit:cover;object-position:center top}
#padel-coaches .coach-caption{padding:0;position:static}
#padel-coaches .role{position:absolute;z-index:2;top:20px;left:20px;margin:0;padding:9px 13px;border:1px solid rgba(243,238,231,.45);border-radius:30px;background:rgba(42,31,29,.3);color:var(--cream);font-size:10px;line-height:1.3;letter-spacing:.12em;backdrop-filter:blur(6px)}
#padel-coaches h3{position:absolute;z-index:2;bottom:30px;left:24px;right:24px;margin:0;font-size:clamp(25px,2.2vw,31px);line-height:1.15;color:var(--cream)}
#padel-coaches .coach-pending{background:linear-gradient(145deg,var(--green),var(--ink));padding-bottom:50px}
#padel-coaches .coach-pending svg{width:100px;height:100px;opacity:.35}
#padel-coaches .coach-pending>span{opacity:.8}
#padel-coaches .carousel-nav .arrows{display:flex}
#padel-coaches .dots{display:flex}
@media(max-width:900px){#padel-coaches .coaches-track{grid-auto-columns:calc((100% - 16px)/2.2)}}
@media(max-width:560px){#padel-coaches .coaches-track{grid-auto-columns:88%}#padel-coaches h3{font-size:27px;left:20px;right:20px;bottom:26px}#padel-coaches .role{top:16px;left:16px}}

/* ---- layer 19/88: azoria-padel-membership-note ---- */

#padel-memberships .membership-note{max-width:850px;margin:24px auto 0;text-align:center;font-size:12px;line-height:1.7;color:var(--muted)}

/* ---- layer 20/88: azoria-public-padel-design-sync ---- */

.azoria-philosophy-refresh .azoria-section-monogram{display:block;width:180px;max-width:100%;height:auto;margin:0 auto 20px;object-fit:contain}
.azoria-philosophy-refresh .lead{max-width:78ch;font-family:var(--sans);color:var(--muted)}
.azoria-bulletin{background:var(--green);color:var(--cream);padding-block:19px;border:0}
.azoria-bulletin .track{gap:0;animation-duration:52s}
.azoria-bulletin .bulletin-set{display:flex;gap:0}
.azoria-bulletin .bulletin-set span{display:block;padding-right:44px;font-size:11px;letter-spacing:.18em}
.azoria-bulletin .bulletin-set span::before{margin-right:44px;opacity:.7}
.azoria-bulletin:hover .track{animation-play-state:paused}
.azoria-split-refresh .living-split{grid-template-columns:1.05fr 1fr;gap:clamp(32px,4.8vw,64px);align-items:center;margin-bottom:0}
.azoria-split-refresh .img{aspect-ratio:1/1.04;border-radius:0}
.azoria-split-refresh .eyebrow{margin-bottom:20px}
.azoria-split-refresh h2{font-size:clamp(34px,3.8vw,50px);line-height:1.12;letter-spacing:-.02em}
.azoria-split-refresh h2 em{color:var(--green)}
.azoria-split-refresh p{font-size:15px;line-height:1.8;margin-top:24px}
.azoria-split-refresh .facts{grid-template-columns:repeat(var(--fact-columns,4),minmax(0,1fr));gap:18px;border:0;margin-top:30px;padding-top:0}
.azoria-split-refresh .facts .club-detail-index{display:block;font-family:var(--serif);font-size:12px;letter-spacing:.06em;line-height:1;margin-bottom:10px}
.azoria-split-refresh .facts strong{font-size:21px;font-weight:300;font-style:italic;line-height:1.2;margin-bottom:8px}
.azoria-split-refresh .facts span:not(.club-detail-index){display:block;font-size:12px;line-height:1.65;letter-spacing:0;text-transform:none}
.azoria-overlay-team .person{position:relative;isolation:isolate;aspect-ratio:3/4;min-height:480px;border-radius:var(--radius);overflow:hidden;background:var(--green);color:var(--cream)}
.azoria-overlay-team .person::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(42,31,29,.12),transparent 25%,rgba(42,31,29,.3) 48%,rgba(42,31,29,.96) 100%)}
.azoria-overlay-team .pic{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.azoria-overlay-team .pic img{object-position:center top}
.azoria-overlay-team .role{position:absolute;z-index:2;top:20px;left:20px;right:auto;max-width:calc(100% - 40px);margin:0;padding:9px 13px;border:1px solid rgba(243,238,231,.45);border-radius:30px;background:rgba(42,31,29,.3);color:var(--cream);font-size:10px;line-height:1.4;letter-spacing:.12em;backdrop-filter:blur(6px)}
.azoria-overlay-team .team-caption{position:absolute;z-index:2;bottom:26px;left:24px;right:24px}
.azoria-overlay-team h3{font-size:28px;line-height:1.15;color:var(--cream);margin:0}
.azoria-overlay-team p{font-size:13px;line-height:1.6;color:var(--cream);margin:14px 0 0}
@media(max-width:900px){.azoria-split-refresh .living-split{grid-template-columns:1fr;gap:36px}.azoria-split-refresh .img{aspect-ratio:4/3}.azoria-split-refresh h2{max-width:22ch}}
@media(max-width:560px){.azoria-split-refresh .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.azoria-split-refresh h2{font-size:34px}.azoria-overlay-team .person{min-height:450px}}
@media(prefers-reduced-motion:reduce){.azoria-bulletin .track{animation:none}}

/* ---- layer 21/88: azoria-image-mega-menu ---- */

/* Shared image navigation; page sections remain unchanged. */
#header .az-mega-triggers{gap:26px}
.az-mega-trigger{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;padding:14px 0;color:inherit}
.az-mega-trigger>span{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex:0 0 12px;line-height:0;letter-spacing:0;transform-origin:center;transition:transform .2s}
.az-menu-chevron svg{display:block;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.az-mega-trigger[aria-expanded="true"]>span{transform:rotate(180deg)}
#header.az-mega-open{background:var(--cream);color:var(--ink);box-shadow:0 1px 0 var(--line)}
#header.az-mega-open .btn.nav-cta{background:var(--green);border-color:var(--green);color:var(--cream)}
.az-mega-panel{position:absolute;top:100%;left:0;right:0;background:var(--cream);color:var(--ink);border-top:1px solid var(--line);box-shadow:0 16px 24px rgba(42,31,29,.09);max-height:calc(100dvh - 100px);overflow-y:auto}
.az-mega-panel[hidden],.az-mega-backdrop[hidden]{display:none}
#header .az-mega-inner{display:block;padding-top:28px;padding-bottom:20px}
.az-mega-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:24px}
.az-mega-kicker{font:400 9px/1.5 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--green)}
.az-mega-heading h2{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.15;margin:7px 0}
.az-mega-heading p{font-size:13px;color:var(--muted);margin:0}
.az-mega-close{font-size:9px;letter-spacing:.15em;text-transform:uppercase;display:flex;align-items:center;gap:14px;padding:10px 0}
.az-mega-close span{font-size:24px;line-height:1}
.az-mega-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.az-mega-card{display:block;min-width:0;color:inherit}
.az-mega-photo{position:relative;display:block;aspect-ratio:1.65;overflow:hidden;border-radius:3px;background:var(--stone)}
.az-mega-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.az-mega-arrow{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--cream);color:var(--green);font-size:18px}
.az-mega-name{display:block;font-family:var(--serif);font-size:25px;line-height:1.2;margin-top:12px}
.az-mega-description{display:block;font:400 12px/1.5 var(--sans);color:var(--muted);margin-top:5px}
.az-mega-card:hover .az-mega-photo img,.az-mega-card:focus-visible .az-mega-photo img{transform:scale(1.045)}
.az-mega-card:hover .az-mega-name{color:var(--green)}
.az-mega-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font:400 9px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.az-mega-foot a{color:var(--green);display:flex;gap:16px}
.az-mega-backdrop{position:fixed;inset:0;z-index:49;background:rgba(42,31,29,.3)}
#header button:focus-visible,.az-mega-panel a:focus-visible,#drawer a:focus-visible,#drawer button:focus-visible{outline:2px solid var(--green);outline-offset:5px}
#drawer.az-image-drawer{background:var(--cream);color:var(--ink);padding:70px var(--gutter) 30px;gap:24px;justify-content:flex-start;visibility:hidden;overscroll-behavior:contain}
#drawer.az-image-drawer.open{visibility:visible}
.az-drawer-heading h2{font-family:var(--serif);font-size:38px;line-height:1.1;margin-top:10px}
.az-drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
#drawer .az-mega-card{padding:0;border:0}
#drawer .az-mega-name{font-size:24px;margin-top:9px}
#drawer .az-mega-description{font-size:11px}
#drawer .az-mega-photo{aspect-ratio:1.4}
#drawer .az-mega-arrow{width:25px;height:25px;right:8px;bottom:8px;font-size:16px}
.az-drawer-bottom{border-top:1px solid var(--line);padding-top:18px}
.az-drawer-links{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:20px}
#drawer .az-drawer-links a{font:400 12px/1.5 var(--sans);border:0;padding:0}
#drawer .btn{display:flex;justify-content:center;font:400 10px/1.5 var(--sans);letter-spacing:.18em;padding:16px;background:var(--green);color:var(--cream);border:0}
@media(min-width:1101px){#header .nav-left{display:flex}#header .nav-right .item{display:block}#header .burger{display:none}}
@media(max-width:1100px){#header .az-mega-triggers,#header .nav-right .item{display:none}#header .burger{display:inline-flex}#header .wrap.nav{grid-template-columns:1fr auto}#header .logo{text-align:left}.az-mega-panel{display:none}}
@media(prefers-reduced-motion:reduce){.az-mega-photo img,.az-mega-trigger>span,#drawer.az-image-drawer{transition:none}}

/* ---- layer 22/88: azoria-home-requested-refinements ---- */

#p-home>.hero .eyebrow{margin-bottom:10px}
#p-home>.hero .lead{font-size:clamp(18px,1.7vw,22px);line-height:1.5;max-width:600px}
#p-home>.hero .hero-disciplines{font-size:inherit;line-height:inherit;margin-bottom:0}
#p-home #concept .section-head{max-width:1000px}
#p-home #concept .section-head p{max-width:none}
#p-home #concept .section-head p+p{margin-top:0}
#p-home #membership .section-head p+p{margin-top:12px}
#p-home #membership .tier .pic{position:relative}
#p-home #membership .az-opening-date{position:absolute;top:16px;left:16px;max-width:calc(100% - 32px);padding:8px 12px;border:1px solid rgba(243,238,231,.6);border-radius:30px;background:rgba(42,31,29,.65);color:var(--cream);font:400 9px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;backdrop-filter:blur(6px)}
#p-home #membership .tier.featured .az-opening-date{top:auto;bottom:16px}
#p-home>#home-founding{background:var(--cream)}
#p-home #home-founding .founding-banner{margin-top:0}
@media(min-width:768px){#p-home .az-philosophy-continuation span{display:block}}

/* ---- layer 23/88: azoria-wider-home-section-copy ---- */

#p-home #membership .section-head,
#p-home #living .section-head{max-width:1040px}
#p-home #membership .section-head p,
#p-home #living .section-head p{max-width:960px;text-wrap:pretty}

/* ---- layer 24/88: azoria-home-map-white-and-label ---- */

#p-home #location .visual.map{background:#fff}
#p-home #location .visual.map iframe{filter:grayscale(1) brightness(1.08) contrast(1.06)}
#p-home #location .visual.map .pill{top:auto;bottom:38px;left:80px;right:auto;background:#fff;box-shadow:0 2px 12px rgba(42,31,29,.12)}

/* ---- layer 25/88: azoria-supplied-family-logos ---- */

/* Frame the supplied artwork without its large outer canvas. */
.az-brand-mark{display:block;position:relative;overflow:hidden;margin:0 auto 8px;mix-blend-mode:multiply}
.az-brand-mark .az-brand-source{position:absolute;display:block;max-width:none;height:auto;margin:0}

/* ---- layer 26/88: azoria-padel-hero-two-lines ---- */

#p-padel>.hero .lead{max-width:900px;text-wrap:balance}

/* ---- layer 27/88: azoria-public-map-and-hero-spacing ---- */

/* Match the approved homepage treatment across public pages. */
.page>.hero .eyebrow{margin-bottom:10px}
.page .location .visual.map{background:#fff}
.page .location .visual.map iframe{filter:grayscale(1) brightness(1.08) contrast(1.06)}
.page .location .visual.map .pill{top:auto;bottom:38px;left:80px;right:auto;background:#fff;box-shadow:0 2px 12px rgba(42,31,29,.12)}

/* ---- layer 28/88: azoria-living-resident-benefits ---- */

#living-resident-benefits .az-resident-inclusions{padding:20px 22px 0}
#living-resident-benefits .az-resident-inclusions-label{border-top:1px solid var(--line);padding-top:16px;font:400 9px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
#living-resident-benefits .az-resident-inclusions ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:9px}
#living-resident-benefits .az-resident-inclusions li{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;color:var(--ink)}
#living-resident-benefits .az-resident-inclusions li svg{width:16px;height:16px;flex:0 0 16px;margin-top:2px;color:var(--green)}
#living-resident-benefits .res .foot{display:block}
#living-resident-benefits .res .foot .btn{display:flex;width:100%;justify-content:center;padding:16px 12px;font-size:10px;letter-spacing:.18em}
@media(max-width:560px){#living-resident-benefits .az-resident-inclusions{padding-inline:18px}}

/* ---- layer 29/88: azoria-header-left-brand ---- */

#header .wrap.nav{grid-template-columns:auto minmax(0,1fr) auto}
#header .wrap.nav>.logo{text-align:left}
#header .az-mega-triggers{justify-content:center}
@media(max-width:1100px){#header .wrap.nav{grid-template-columns:1fr auto}}

/* ---- layer 30/88: azoria-functional-header-preferences ---- */

#header .wrap.nav{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px}
#header .wrap.nav>.logo{text-align:center}
#header .az-mega-triggers{justify-content:flex-start;gap:18px}
#header .az-mega-triggers>.item{font-size:10px;letter-spacing:.12em}
#header .nav-right{gap:16px;min-width:0}
.az-preferences{display:flex;align-items:center;gap:14px}
.az-preference{position:relative}
.az-preference summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none;padding:12px 0;font:400 10px/1.2 var(--sans);letter-spacing:.1em;color:inherit;white-space:nowrap}
.az-preference summary::-webkit-details-marker{display:none}
.az-pref-chevron{width:12px;height:12px;flex:0 0 12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.az-preference[open] .az-pref-chevron{transform:rotate(180deg)}
.az-pref-panel{position:absolute;right:0;top:calc(100% + 12px);width:260px;padding:16px;background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 30px rgba(42,31,29,.15);max-height:calc(100dvh - 130px);overflow:auto}
.az-pref-label{display:block;margin:0 8px 10px;font:400 9px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.az-pref-panel button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 8px;text-align:left;border-radius:3px;font:400 12px/1.4 var(--sans);color:var(--ink)}
.az-pref-panel button strong{width:28px;flex-shrink:0;font-size:10px;font-weight:500;letter-spacing:.08em}
.az-pref-panel button:hover,.az-pref-panel button[aria-pressed="true"]{background:var(--sand);color:var(--green)}
.az-pref-check{margin-left:auto;opacity:0}
.az-pref-panel button[aria-pressed="true"] .az-pref-check{opacity:1}
.az-fx-note{border-top:1px solid var(--line);margin-top:10px;padding:12px 8px 2px;font:400 10px/1.5 var(--sans);color:var(--muted)}
.az-fx-note p{margin:0 0 5px;font:inherit}
.az-fx-note a{display:block;margin-top:7px;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.az-preference summary:focus-visible,.az-pref-panel button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
html[data-currency]:not([data-currency="USD"]) .page .pricing .price{flex-wrap:wrap;gap:4px 8px}
html[data-currency="IDR"] .page .pricing .amt{font-size:28px!important;letter-spacing:-.03em}
html:not([lang="en"]) #header .az-mega-trigger{font-size:9px;letter-spacing:.08em}
html:not([lang="en"]) #header .nav-cta{font-size:9px;padding-inline:14px;letter-spacing:.1em}
html:not([lang="en"]) .page .tier .founding{flex-wrap:wrap;gap:6px}
html:not([lang="en"]) .page .res .specs{font-size:11px}
html:not([lang="en"]) .page .btn{white-space:normal}
@media(min-width:1281px){#header .nav-left{display:flex}#header .burger{display:none}}
@media(max-width:1280px){#header .wrap.nav{grid-template-columns:1fr auto}#header .wrap.nav>.logo{text-align:left}#header .az-mega-triggers{display:none}#header .burger{display:inline-flex}.az-mega-panel{display:none}}
@media(max-width:600px){#header .az-member-entry{display:none}#header .nav-cta{display:none}#header .nav-right{gap:12px}.az-preferences{gap:12px}#header .wrap.nav{gap:12px}.az-pref-panel{position:fixed;top:88px;right:20px;max-width:calc(100vw - 40px)}#header .burger{width:30px}}
@media(max-width:360px){#header .wrap.nav>.logo{font-size:22px}#header .wrap.nav>.logo small{font-size:7px;letter-spacing:.3em}#header .nav-right,.az-preferences{gap:8px}}
@media(prefers-reduced-motion:reduce){.az-pref-chevron{transition:none}}

/* ---- layer 31/88: azoria-hero-centred ---- */

/* Hero copy centred horizontally and vertically */
.hero{align-items:center}
.hero .wrap,.hero.page-hero .wrap{padding-top:clamp(104px,13vh,150px);padding-bottom:clamp(104px,13vh,150px)}
@media (max-width:860px){.hero .wrap,.hero.page-hero .wrap{padding-top:clamp(100px,15vh,128px);padding-bottom:clamp(100px,15vh,128px)}}
@media (max-width:560px){.hero .wrap,.hero.page-hero .wrap{padding-top:108px;padding-bottom:108px}}

/* ---- layer 32/88: azoria-padel-wider-section-copy ---- */

/* Padel memberships intro matches the home-page section width */
#p-padel #padel-memberships .section-head{max-width:1040px}
#p-padel #padel-memberships .section-head p{max-width:960px}

/* ---- layer 33/88: azoria-coach-hover-reveal ---- */

/* Coach cards: name visible, bio slides in on hover (same pattern as the club cards) */
#padel-coaches .coach-caption{position:absolute;z-index:2;left:24px;right:24px;bottom:26px}
#padel-coaches h3{position:static;margin:0}
#padel-coaches .padel-coach .more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s var(--ease),opacity .5s var(--ease) .1s}
#padel-coaches .padel-coach .more>div{overflow:hidden}
#padel-coaches .padel-coach .more p{margin:0;padding-top:12px;font-size:13px;line-height:1.6;color:rgba(243,238,231,.85);max-width:30ch}
#padel-coaches .padel-coach::after{transition:background .6s var(--ease)}
@media (hover:hover){
  #padel-coaches .padel-coach:hover .more,#padel-coaches .padel-coach:focus-within .more{grid-template-rows:1fr;opacity:1}
  #padel-coaches .padel-coach:hover::after,#padel-coaches .padel-coach:focus-within::after{background:linear-gradient(180deg,rgba(42,31,29,.14) 0%,transparent 26%,rgba(42,31,29,.48) 52%,rgba(42,31,29,.94) 100%)}
}
@media (hover:none){#padel-coaches .padel-coach .more{grid-template-rows:1fr;opacity:1}}
@media (max-width:560px){#padel-coaches .coach-caption{left:20px;right:20px;bottom:22px}}

/* ---- layer 34/88: azoria-section-copy-stagger ---- */

/* Section intros: longest line first, each following line shorter */
.section-head p.az-staggered,.lead.az-staggered{text-wrap:wrap}

/* ---- layer 35/88: azoria-fitness-monochrome ---- */

/* Azoria Fitness sub-brand: volcanic black through ash, bone for type (brand book, world 03) */
#p-fitness{
  --cream:#1A1A1A; --sand:#131313; --stone:#2A2C32; --brown:#1A1A1A; --sage:#4A4D54;
  --green:#E7DBC5; --muted:rgba(231,219,197,.66); --line:rgba(231,219,197,.16);
  --bone:#E7DBC5; --tint:#F3EEE7; --ui:#4A4D54;
  background:#1A1A1A; color:var(--bone);
}
#p-fitness>.az-bg-cream,#p-fitness>.spa.az-bg-cream .txt{background:#1A1A1A}
#p-fitness>.az-bg-sand,#p-fitness>.spa.az-bg-sand .txt{background:#131313}
#p-fitness>.az-bg-stone,#p-fitness>.spa.az-bg-stone .txt{background:#2A2C32}
#p-fitness>.az-bg-brown,#p-fitness>.spa.az-bg-brown .txt{background:#1A1A1A;color:var(--bone)}
#p-fitness>.az-bg-green,#p-fitness .section.dark{background:#131313;color:var(--bone)}
#p-fitness .section.cream{background:transparent}
#p-fitness h1,#p-fitness h2,#p-fitness h3,#p-fitness h4,#p-fitness strong,#p-fitness em{color:var(--bone)}
#p-fitness p,#p-fitness li,#p-fitness dd,#p-fitness .lead,#p-fitness .desc,#p-fitness .ans{color:var(--muted)}
#p-fitness .eyebrow,#p-fitness .section.dark .eyebrow,#p-fitness .kicker,#p-fitness .lbl,#p-fitness .of{color:rgba(231,219,197,.55)}
#p-fitness .section.dark .lead,#p-fitness .section.dark .tile p,#p-fitness .section.dark .tile .kicker{color:var(--muted)}
/* bulletin: bone strip, black type */
#p-fitness .azoria-bulletin{background:var(--bone);color:#1A1A1A}
/* buttons */
#p-fitness .btn.primary{background:var(--bone);color:#1A1A1A}
#p-fitness .btn.primary:hover{background:var(--tint)}
#p-fitness .btn.outline,#p-fitness .btn.link{border-color:var(--bone);color:var(--bone)}
#p-fitness .btn.outline:hover{background:var(--bone);color:#1A1A1A}
#p-fitness .arrow{border-color:var(--line);color:var(--bone)}
#p-fitness .arrow:hover:not([disabled]){background:var(--bone);color:#1A1A1A}
#p-fitness .dots i{background:rgba(231,219,197,.28)}
#p-fitness .dots i.on{background:var(--bone)}
/* cards and panels */
#p-fitness .tier,#p-fitness .space .cap,#p-fitness .panel,#p-fitness .form,#p-fitness .tile{background:#131313;border-color:var(--line);color:var(--bone)}
#p-fitness .tier .tag,#p-fitness .tier .idx,#p-fitness .tier .per,#p-fitness .tier .founding,#p-fitness .tier .lock,#p-fitness .tier .inc{color:rgba(231,219,197,.55)}
#p-fitness .tier .amt{color:var(--bone)}
#p-fitness .tier ul li{border-color:var(--line)}
#p-fitness .tier ul li.off{color:rgba(231,219,197,.34)}
#p-fitness .facts,#p-fitness .facts div,#p-fitness .menu,#p-fitness .menu li,#p-fitness .field input,#p-fitness .field textarea,#p-fitness details,#p-fitness summary{border-color:var(--line)}
#p-fitness .field input,#p-fitness .field textarea{background:#1A1A1A;color:var(--bone)}
#p-fitness .field input::placeholder,#p-fitness .field textarea::placeholder{color:rgba(231,219,197,.38)}
#p-fitness .field label,#p-fitness .fine,#p-fitness .note,#p-fitness .membership-note,#p-fitness .chips-label{color:rgba(231,219,197,.55)}
#p-fitness .check{color:var(--bone);border-color:var(--line)}
#p-fitness .check::before{border-color:rgba(231,219,197,.4)}
#p-fitness .check:hover{border-color:var(--bone)}
#p-fitness .check:has(input:checked){background:var(--bone);border-color:var(--bone);color:#1A1A1A}
#p-fitness .check:has(input:checked)::before{border-color:#1A1A1A;background-color:#1A1A1A}
#p-fitness .az-form label,#p-fitness .lead{color:var(--muted)}
#p-fitness .check .mark{border-color:var(--line)}
#p-fitness summary .plus{color:var(--bone)}
#p-fitness .location .visual.map{background:#131313}
#p-fitness .location .pill{background:#1A1A1A;color:var(--bone);box-shadow:none;border:1px solid var(--line)}
#p-fitness .az-detail-surround{background:#1A1A1A}
#p-fitness .badge{background:rgba(26,26,26,.72);border:1px solid rgba(231,219,197,.34);color:var(--bone)}
/* the trainer carousel, matching the padel coach cards on this palette */
#fitness-coaches .coaches-track{grid-auto-columns:calc((100% - 32px)/3.2);display:grid;grid-auto-flow:column;gap:16px;align-items:stretch;padding-block:12px}
#fitness-coaches .padel-coach{position:relative;isolation:isolate;aspect-ratio:3/4;background:#2A2C32;border:0;color:var(--bone);border-radius:var(--radius);overflow:hidden}
#fitness-coaches .padel-coach::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(19,19,19,.1) 0%,transparent 35%,rgba(19,19,19,.35) 57%,rgba(19,19,19,.92) 100%);transition:background .6s var(--ease)}
#fitness-coaches .pic{position:absolute;inset:0;width:100%;height:100%;margin:0}
#fitness-coaches .pic img{width:100%;height:100%;object-fit:cover;object-position:center top}
#fitness-coaches .coach-pending{background:linear-gradient(145deg,#2A2C32,#131313);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding-bottom:50px}
#fitness-coaches .coach-pending svg{width:100px;height:100px;stroke:currentColor;stroke-width:1;opacity:.35}
#fitness-coaches .coach-pending>span{font-size:9px;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
#fitness-coaches .role{position:absolute;z-index:2;top:20px;left:20px;margin:0;padding:9px 13px;border:1px solid rgba(231,219,197,.45);border-radius:30px;background:rgba(26,26,26,.5);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone)}
#fitness-coaches .coach-caption{position:absolute;z-index:2;left:24px;right:24px;bottom:26px}
#fitness-coaches h3{margin:0;font-size:clamp(25px,2.2vw,31px);line-height:1.15;color:var(--bone)}
#fitness-coaches .more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s var(--ease),opacity .5s var(--ease) .1s}
#fitness-coaches .more>div{overflow:hidden}
#fitness-coaches .more p{margin:0;padding-top:12px;font-size:13px;line-height:1.6;color:rgba(231,219,197,.85);max-width:30ch}
@media (hover:hover){#fitness-coaches .padel-coach:hover .more,#fitness-coaches .padel-coach:focus-within .more{grid-template-rows:1fr;opacity:1}}
@media (hover:none){#fitness-coaches .more{grid-template-rows:1fr;opacity:1}}
@media(max-width:900px){#fitness-coaches .coaches-track{grid-auto-columns:calc((100% - 16px)/2.2)}}
@media(max-width:560px){#fitness-coaches .coaches-track{grid-auto-columns:88%}#fitness-coaches h3{font-size:27px;left:20px;right:20px}#fitness-coaches .coach-caption{left:20px;right:20px;bottom:22px}}

/* ---- layer 36/88: azoria-fitness-header ---- */

/* the house header, in Fitness black */
:root[data-page="fitness"] #header:not(.scrolled){color:#E7DBC5;box-shadow:0 1px 0 rgba(231,219,197,.14)}
:root[data-page="fitness"] #header.scrolled{background:rgba(26,26,26,.94);color:#E7DBC5;box-shadow:0 1px 0 rgba(231,219,197,.16)}
:root[data-page="fitness"] #header.scrolled .btn.nav-cta{background:#E7DBC5;color:#1A1A1A;border-color:#E7DBC5}
:root[data-page="fitness"] #header.az-mega-open{background:#1A1A1A;color:#E7DBC5;box-shadow:0 1px 0 rgba(231,219,197,.16)}
:root[data-page="fitness"] #header.az-mega-open .btn.nav-cta{background:#E7DBC5;border-color:#E7DBC5;color:#1A1A1A}
:root[data-page="fitness"] .az-mega-panel{background:#1A1A1A;color:#E7DBC5}
:root[data-page="fitness"] .az-mega-panel .az-mega-name,:root[data-page="fitness"] .az-mega-panel h2{color:#E7DBC5}
:root[data-page="fitness"] .az-mega-panel .az-mega-description,:root[data-page="fitness"] .az-mega-panel .az-mega-heading p{color:rgba(231,219,197,.66)}
:root[data-page="fitness"] .az-mega-panel .az-mega-kicker,:root[data-page="fitness"] .az-mega-panel .az-mega-close,:root[data-page="fitness"] .az-mega-panel .az-mega-foot{color:rgba(231,219,197,.72)}
:root[data-page="fitness"] .az-mega-panel .az-mega-foot{border-color:rgba(231,219,197,.18)}
:root[data-page="fitness"] .az-mega-panel .az-mega-foot a{color:#E7DBC5}
:root[data-page="fitness"] .az-mega-panel .az-mega-card:hover .az-mega-name{color:#F3EEE7}
:root[data-page="fitness"] .az-mega-backdrop{background:rgba(19,19,19,.5)}

/* ---- layer 37/88: azoria-fitness-marks ---- */

/* the monogram carries the sub-brand colourway: bone on volcanic black */
#p-fitness .az-brand-mark{mix-blend-mode:normal}
#p-fitness .az-brand-mark .az-brand-source{position:static;width:100%;height:100%;object-fit:contain}
/* included / excluded marks, legible on black */
#p-fitness .tier li::before{background:var(--bone) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231A1A1A' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5'/%3E%3C/svg%3E") center/16px no-repeat}
#p-fitness .tier li.off::before{background:#2A2C32 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' stroke='%23E7DBC5' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M5 8h6'/%3E%3C/svg%3E") center/16px no-repeat;opacity:1}
#p-fitness .tier li.off{color:rgba(231,219,197,.42);opacity:1}
#p-fitness .member-toggle button.active .save,#p-fitness .prog .freq,#p-fitness .tl.now .d{color:var(--bone)}

/* ---- layer 38/88: azoria-fitness-statement ---- */

/* full-bleed Hyrox floor, in the sub-brand monochrome */
#p-fitness .az-fitness-statement{background:#1A1A1A;min-height:0;aspect-ratio:1815/750;display:block}
#p-fitness .az-fitness-statement img{opacity:1;filter:none}
@media (max-width:860px){#p-fitness .az-fitness-statement{aspect-ratio:16/10}}

/* ---- layer 39/88: azoria-pilates-cherry ---- */

/* Azoria Pilates sub-brand: cherry deep leads the room, sand beige is the page (brand book, world 04) */
#p-pilates{
  --cream:#F3EEE7; --sand:#E7DBC5; --stone:#291612; --brown:#291612; --ink:#291612;
  --green:#5A1A1A; --sage:#875A53; --muted:rgba(41,22,18,.66); --line:rgba(41,22,18,.15);
  --cherry:#5A1A1A; --deep:#291612; --rosewood:#875A53; --bone:#E7DBC5; --page:#F3EEE7;
  background:var(--page); color:var(--deep);
}
#p-pilates>.az-bg-cream,#p-pilates>.spa.az-bg-cream .txt{background:var(--page)}
#p-pilates>.az-bg-sand,#p-pilates>.spa.az-bg-sand .txt{background:var(--bone)}
#p-pilates>.az-bg-stone,#p-pilates>.spa.az-bg-stone .txt{background:var(--deep);color:var(--bone)}
#p-pilates>.az-bg-stone h2,#p-pilates>.az-bg-stone h3,#p-pilates>.az-bg-stone h4,#p-pilates>.az-bg-stone strong,#p-pilates>.az-bg-stone em{color:var(--bone)}
#p-pilates>.az-bg-stone p,#p-pilates>.az-bg-stone li,#p-pilates>.az-bg-stone .lead{color:rgba(231,219,197,.72)}
#p-pilates>.az-bg-stone .eyebrow,#p-pilates>.az-bg-stone .lbl,#p-pilates>.az-bg-stone .of{color:rgba(231,219,197,.6)}
#p-pilates>.az-bg-stone .facts,#p-pilates>.az-bg-stone .facts div,#p-pilates>.az-bg-stone .menu li{border-color:rgba(231,219,197,.2)}
#p-pilates>.az-bg-stone .btn.outline{border-color:var(--bone);color:var(--bone)}
#p-pilates>.az-bg-stone .btn.outline:hover{background:var(--bone);color:var(--deep)}
#p-pilates>.az-bg-stone .arrow{border-color:rgba(231,219,197,.28);color:var(--bone)}
#p-pilates>.az-bg-stone .arrow:hover:not([disabled]){background:var(--bone);color:var(--deep)}
#p-pilates>.az-bg-stone .dots i{background:rgba(231,219,197,.3)}
#p-pilates>.az-bg-stone .dots i.on{background:var(--bone)}
/* cherry is the accent, never the ground */
#p-pilates .azoria-bulletin{background:var(--cherry);color:var(--bone)}
#p-pilates .btn.primary{background:var(--cherry);color:#F3EEE7}
#p-pilates .btn.primary:hover{background:#471414}
#p-pilates em{color:inherit}
#p-pilates .member-toggle button.active .save,#p-pilates .prog .freq,#p-pilates .tl.now .d{color:var(--cherry)}
#p-pilates .tier.featured .founding .lock{color:var(--cherry);border-color:rgba(90,26,26,.4)}
#p-pilates .tier.featured .founding .lock::before,#p-pilates .tier.featured li::before{background-color:var(--cherry)}
#p-pilates .check:has(input:checked)::before{border-color:var(--cherry);background-color:var(--cherry)}
#p-pilates .check:has(input:checked){background:var(--deep);border-color:var(--deep)}
#p-pilates .az-detail-surround{background:var(--page)}

/* ---- layer 40/88: azoria-footer-red ---- */

/* the footer takes the sub-brand colour; everywhere else it stays as it was */
:root[data-page="pilates"] .footer{background:#5A1A1A}
:root[data-page="pilates"] .footer .top{border-bottom-color:rgba(231,219,197,.2)}
:root[data-page="pilates"] .footer .brand p,:root[data-page="pilates"] .footer .brand .addr,:root[data-page="pilates"] .footer h4,:root[data-page="pilates"] .footer .bottom{color:rgba(243,238,231,.78)}
/* Padel: Azoria Brown, the shared anchor */
:root[data-page="padel"] .footer{background:#483733}
:root[data-page="padel"] .footer .top{border-bottom-color:rgba(243,238,231,.2)}
:root[data-page="padel"] .footer .brand p,:root[data-page="padel"] .footer .brand .addr,:root[data-page="padel"] .footer h4,:root[data-page="padel"] .footer .bottom{color:rgba(243,238,231,.78)}
/* Fitness: Volcanic Black, the ground */
:root[data-page="fitness"] .footer{background:#1A1A1A}
:root[data-page="fitness"] .footer .top{border-bottom-color:rgba(231,219,197,.2)}
:root[data-page="fitness"] .footer .brand p,:root[data-page="fitness"] .footer .brand .addr,:root[data-page="fitness"] .footer h4,:root[data-page="fitness"] .footer .bottom{color:rgba(231,219,197,.74)}
:root[data-page="fitness"] .footer{color:#E7DBC5}
/* Living: Azoria Brown, the master brand colour */
:root[data-page="living"] .footer{background:#483733}
:root[data-page="living"] .footer .top{border-bottom-color:rgba(243,238,231,.2)}
:root[data-page="living"] .footer .brand p,:root[data-page="living"] .footer .brand .addr,:root[data-page="living"] .footer h4,:root[data-page="living"] .footer .bottom{color:rgba(243,238,231,.9)}

/* ---- layer 41/88: azoria-pilates-practice-carousel ---- */

/* the practice reads as a slider: three cards and a peek of the fourth, arrows on top */
#p-pilates .practice-track{--cols:3;--gap:18px;--peek:46px;grid-template-columns:none}
#p-pilates .practice-track .club{height:100%}
@media (max-width:900px){#p-pilates .practice-track{--cols:2;--peek:40px}}
@media (max-width:560px){#p-pilates .practice-track{--cols:1;--peek:36px}}

/* ---- layer 42/88: azoria-padel-brown ---- */

/* Azoria Padel sub-brand: brown is the ground, sand beige the page, green only as an accent (brand book, world 02) */
#p-padel{
  --cream:#F3EEE7; --sand:#F3F3F3; --stone:#483733; --brown:#483733; --ink:#2A1F1D;
  --green:#34493C; --sage:#6B544E; --muted:rgba(42,31,29,.66); --line:rgba(42,31,29,.14);
  --pbrown:#483733; --page:#F3EEE7; --limestone:#F3F3F3; --cognac:#6B544E; --court:#2F3A35;
  background:var(--page); color:var(--ink);
}
#p-padel>.az-bg-cream,#p-padel>.spa.az-bg-cream .txt{background:var(--page)}
#p-padel>.az-bg-sand,#p-padel>.spa.az-bg-sand .txt{background:var(--limestone)}
#p-padel>.az-bg-stone,#p-padel>.spa.az-bg-stone .txt{background:var(--pbrown);color:var(--page)}
#p-padel>.az-bg-stone h2,#p-padel>.az-bg-stone h3,#p-padel>.az-bg-stone h4,#p-padel>.az-bg-stone strong,#p-padel>.az-bg-stone em{color:var(--page)}
#p-padel>.az-bg-stone p,#p-padel>.az-bg-stone li,#p-padel>.az-bg-stone .lead{color:rgba(243,238,231,.74)}
#p-padel>.az-bg-stone .eyebrow,#p-padel>.az-bg-stone .lbl,#p-padel>.az-bg-stone .of{color:rgba(243,238,231,.62)}
#p-padel>.az-bg-stone .facts,#p-padel>.az-bg-stone .facts div,#p-padel>.az-bg-stone .menu li,#p-padel>.az-bg-stone .tile{border-color:rgba(243,238,231,.2)}
#p-padel>.az-bg-stone .btn.outline{border-color:var(--page);color:var(--page)}
#p-padel>.az-bg-stone .btn.outline:hover{background:var(--page);color:var(--pbrown)}
#p-padel>.az-bg-stone .arrow{border-color:rgba(243,238,231,.3);color:var(--page)}
#p-padel>.az-bg-stone .arrow:hover:not([disabled]){background:var(--page);color:var(--pbrown)}
#p-padel>.az-bg-stone .dots i{background:rgba(243,238,231,.3)}
#p-padel>.az-bg-stone .dots i.on{background:var(--page)}
/* the ribbon takes the brown ground; green stays the scoreline accent */
#p-padel .padel-bulletin{background:var(--pbrown);color:var(--page)}
#p-padel .az-detail-surround{background:var(--page)}

/* ---- layer 43/88: azoria-memberships-width ---- */

/* every club memberships intro gets the home-page column */
#p-fitness #fitness-memberships .section-head,
#p-pilates #pilates-memberships .section-head,
#p-wellness #wellness-memberships .section-head,
#p-library #library-memberships .section-head{max-width:1040px}
#p-fitness #fitness-memberships .section-head p,
#p-pilates #pilates-memberships .section-head p,
#p-wellness #wellness-memberships .section-head p,
#p-library #library-memberships .section-head p{max-width:960px}

/* ---- layer 44/88: azoria-pilates-header ---- */

/* the house header, in Pilates cherry */
:root[data-page="pilates"] #header:not(.scrolled){color:#F3EEE7;box-shadow:0 1px 0 rgba(243,238,231,.14)}
:root[data-page="pilates"] #header.scrolled{background:rgba(41,22,18,.95);color:#F3EEE7;box-shadow:0 1px 0 rgba(231,219,197,.18)}
:root[data-page="pilates"] #header.scrolled .btn.nav-cta{background:#5A1A1A;color:#F3EEE7;border-color:#5A1A1A}
:root[data-page="pilates"] #header.az-mega-open{background:#291612;color:#E7DBC5;box-shadow:0 1px 0 rgba(231,219,197,.18)}
:root[data-page="pilates"] #header.az-mega-open .btn.nav-cta{background:#5A1A1A;border-color:#5A1A1A;color:#F3EEE7}
:root[data-page="pilates"] .az-mega-panel{background:#291612;color:#E7DBC5}
:root[data-page="pilates"] .az-mega-panel .az-mega-name,:root[data-page="pilates"] .az-mega-panel h2{color:#E7DBC5}
:root[data-page="pilates"] .az-mega-panel .az-mega-description,:root[data-page="pilates"] .az-mega-panel .az-mega-heading p{color:rgba(231,219,197,.66)}
:root[data-page="pilates"] .az-mega-panel .az-mega-kicker,:root[data-page="pilates"] .az-mega-panel .az-mega-close,:root[data-page="pilates"] .az-mega-panel .az-mega-foot{color:rgba(231,219,197,.72)}
:root[data-page="pilates"] .az-mega-panel .az-mega-foot{border-color:rgba(231,219,197,.18)}
:root[data-page="pilates"] .az-mega-panel .az-mega-foot a{color:#E7DBC5}
:root[data-page="pilates"] .az-mega-backdrop{background:rgba(41,22,18,.5)}

/* ---- layer 45/88: azoria-living-master ---- */

/* Azoria Living master universe (brand book, world 01).
   Azoria Brown is the typography and the signage, not the wallpaper. The page
   is built from the soft tones - Sand Beige, Cream, Limestone, Bone - Bronze
   draws the rules, and Cocoa is the one deep moment. */
#p-living{
  --page:#F3EEE7;        /* Sand Beige  - the page, the room, the default surface */
  --soft:#F9F6F3;        /* Cream       - softest cream, ceremonial */
  --limestone:#F3F3F3;   /* Limestone   - cool off-white, digital */
  --bone:#E7DBC5;        /* Bone        - deeper sand, alt page */
  --bronze:#A39B99;      /* Bronze      - taupe, brown lifted */
  --cocoa:#6B544E;       /* Cocoa       - between anchor and tint */
  --abrown:#483733;      /* Azoria Brown- type, signage, monogram */
  --ink:#2A1F1D;         /* Ink         - headlines, deepest brown */

  --cream:#F3EEE7; --sand:#E7DBC5; --stone:#6B544E; --brown:#483733;
  --green:#6B544E; --sage:#6B544E;
  --muted:rgba(42,31,29,.70); --line:rgba(163,155,153,.58);
  background:var(--page); color:var(--ink);
}

/* ---- light surfaces, alternating down the page ---- */
#p-living>.az-bg-cream,#p-living>.spa.az-bg-cream .txt{background:var(--page)}
#p-living>.az-bg-sand,#p-living>.spa.az-bg-sand .txt{background:var(--bone)}
#p-living>.az-living-bone{background:var(--bone)}
#p-living>.az-bg-sand.section.cream{background:var(--soft)}        /* Four homes, one standard */
#p-living>#living-spaces{background:var(--page)}
#p-living .azoria-community-surround{background:var(--limestone)}
#p-living .az-detail-surround{background:var(--page)}
#p-living>.az-bg-sand.section:not(.cream):not(.az-living-bone){background:var(--soft)}   /* Frequently asked */
#p-living>#enq-living{background:var(--limestone)}

/* ---- the deep moments: Cocoa ---- */
#p-living>.az-bg-brown,#p-living>.spa.az-bg-brown .txt{background:var(--cocoa);color:#F3EEE7}
#p-living #living-culture{background:var(--cocoa)}
#p-living>.azoria-bulletin{background:var(--cocoa);color:#F3EEE7}
#p-living .section.dark{background:var(--cocoa)}

/* muted type is defined per-surface, so the dark sections redefine it rather
   than each consumer being chased down one selector at a time */
#p-living>.az-bg-brown,#p-living .section.dark{--muted:rgba(243,238,231,.84)}

#p-living>.az-bg-brown h2,#p-living>.az-bg-brown h3,#p-living>.az-bg-brown h4,
#p-living>.az-bg-brown strong,#p-living>.az-bg-brown em,
#p-living .section.dark h2,#p-living .section.dark h3,#p-living .section.dark h4,
#p-living .section.dark strong,#p-living .section.dark em{color:#F3EEE7}
#p-living>.az-bg-brown p,#p-living>.az-bg-brown li,#p-living>.az-bg-brown .lead,
#p-living>.az-bg-brown .facts span,#p-living>.az-bg-brown .facts .club-detail-index,
#p-living .section.dark p,#p-living .section.dark li,#p-living .section.dark .lead{color:rgba(243,238,231,.88)}
#p-living>.az-bg-brown .eyebrow,#p-living>.az-bg-brown .lbl,#p-living>.az-bg-brown .of,
#p-living .section.dark .eyebrow,#p-living .section.dark .lbl,#p-living .section.dark .of,
#p-living .section.dark .prog .cat{color:rgba(243,238,231,.82)}
#p-living .section.dark .prog .freq{color:var(--bone)}
#p-living>.az-bg-brown .facts,#p-living>.az-bg-brown .facts div,
#p-living .section.dark .facts,#p-living .section.dark .facts div{border-color:rgba(243,238,231,.22)}
#p-living>.az-bg-brown .arrow,#p-living .section.dark .arrow{border-color:rgba(243,238,231,.34);color:#F3EEE7}
#p-living>.az-bg-brown .arrow:hover:not([disabled]),
#p-living .section.dark .arrow:hover:not([disabled]){background:#F3EEE7;color:var(--cocoa)}
#p-living>.az-bg-brown .dots i,#p-living .section.dark .dots i{background:rgba(243,238,231,.32)}
#p-living>.az-bg-brown .dots i.on,#p-living .section.dark .dots i.on{background:#F3EEE7}

/* ---- Bronze does what the book gives it: rules and inactive marks ---- */
#p-living .dots i{background:rgba(163,155,153,.55)}
#p-living .dots i.on{background:var(--cocoa)}
#p-living .section.dark .dots i{background:rgba(243,238,231,.32)}
#p-living .section.dark .dots i.on{background:#F3EEE7}

/* the find-us panel joins the other deep moments rather than sitting at near-black.
   Cocoa is lighter than the near-black it replaces, so its faint type is lifted to match. */
#p-living .location{background:var(--cocoa)}
#p-living .location>.panel small{color:rgba(243,238,231,.86)}
#p-living .location>.panel p,#p-living .location>.panel a,#p-living .location>.panel h4,
#p-living .location>.panel span,#p-living .location>.panel .addr{color:rgba(243,238,231,.9)}
#p-living .location>.panel h2,#p-living .location>.panel h3,
#p-living .location>.panel strong{color:#F3EEE7}

/* ---- the call to action: Cocoa, not the anchor brown ---- */
#p-living .btn.primary{background:var(--cocoa);color:#F9F6F3;border-color:var(--cocoa)}
#p-living .btn.primary:hover{background:#5A453F}
#p-living .btn.dark{background:var(--cocoa);color:#F9F6F3}
#p-living .btn.dark:hover{background:var(--abrown)}
#p-living>.az-bg-brown .btn.primary,#p-living .section.dark .btn.primary{
  background:#F3EEE7;color:var(--ink);border-color:#F3EEE7}
#p-living>.az-bg-brown .btn.primary:hover,#p-living .section.dark .btn.primary:hover{background:#FFFFFF}

/* ---- layer 46/88: azoria-living-residence-cards ---- */

/* residence cards: description under the name, member benefits behind a show-more, rate and CTA at the foot */
#p-living .res .body{display:flex;flex-direction:column;gap:18px}
#p-living .res-desc{margin:0;font-size:14px;line-height:1.65;color:var(--muted)}
#p-living .az-res-benefits h4{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:500}
#p-living .az-res-benefits ul{display:grid;gap:8px;margin:0;font-size:13px;line-height:1.5}
#p-living .az-res-benefits li{display:flex;align-items:flex-start;gap:9px}
#p-living .az-res-benefits li svg{flex:0 0 15px;width:15px;height:15px;margin-top:2px;color:var(--abrown)}
#p-living .az-res-more{margin-top:8px}
#p-living .az-res-more ul{margin-top:8px}
#p-living .az-res-more summary{list-style:none;cursor:pointer;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--brown);border-bottom:1px solid var(--line);padding-bottom:4px;display:inline-block}
#p-living .az-res-more summary::-webkit-details-marker{display:none}
#p-living .az-res-more[open] summary span{display:none}
#p-living .az-res-more[open] summary::after{content:"Show less"}
#p-living .res-rate{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 14px}
#p-living .res-rate .amt{font-family:var(--serif);font-size:26px;line-height:1}
#p-living .res-rate .lock{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:6px 12px}
#p-living .res .cta{margin-top:auto;display:grid;gap:10px;justify-items:stretch;text-align:center}
#p-living .res .cta .fine{margin:0;font-size:11px;color:var(--muted)}

/* ---- layer 47/88: azoria-living-res-tier ---- */

/* residence cards share the membership-card anatomy */
.res-tiers{--gap:20px}
.res-tier .pic{aspect-ratio:4/3}
.res-tier .specs{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12.5px;color:var(--muted);padding-bottom:22px}
.res-tier .specs span{display:inline-flex;align-items:center;gap:7px}
.res-tier .specs svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.res-tier .price .amt{font-size:30px}
.res-tier .founding .lock{color:var(--brown);border-color:rgba(72,55,51,.35)}
.res-tier .founding .lock::before{background:var(--brown)}
.res-tier .az-res-more{display:flex;flex-direction:column;margin:0}
.res-tier .az-res-more ul{order:1;margin-top:11px}
.res-tier .az-res-more summary{order:2;align-self:flex-start;margin-top:14px}
.res-tier .az-res-more summary{list-style:none;cursor:pointer;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--brown);border-bottom:1px solid var(--line);padding-bottom:4px;display:inline-block}
.res-tier .az-res-more summary::-webkit-details-marker{display:none}
.res-tier .az-res-more[open] summary span{display:none}
.res-tier .az-res-more[open] summary::after{content:"Show less"}

/* ---- layer 48/88: azoria-living-res-order ---- */

/* name · para · rule · price · founding · rule · property benefits · rule · member benefits · button */
.res-tier .desc{padding-bottom:22px}
.res-tier .inc+.specs{padding:0 0 20px}
.res-tier .specs+.inc{padding-top:20px}

/* ---- layer 49/88: azoria-living-res-rhythm ---- */

/* the residence cards keep the same vertical rhythm as the membership cards */
.res-tier{padding-bottom:16px}
.res-tier .head{padding-top:14px}
.res-tier h3{margin:10px 0 6px;font-size:24px}
.res-tier .desc{padding-bottom:12px;font-size:13px;line-height:1.5}
.res-tier .pricing{padding:14px 0 12px}
.res-tier .price .amt{font-size:32px}
.res-tier .founding{margin-top:8px;gap:8px;font-size:11px}
.res-tier .inc{padding:12px 0 8px}
.res-tier ul{gap:6px;font-size:13px;line-height:1.45}
.res-tier .specs{gap:6px 16px;font-size:12.5px;padding:0 0 12px}
.res-tier .inc+.specs{padding:0 0 12px}
.res-tier .specs+.inc{padding-top:12px}
.res-tier .az-res-more ul{margin-top:6px}
.res-tier .az-res-more summary{margin-top:10px}
.res-tier .cta{padding-top:16px}
.res-tier .cta .fine{margin-top:8px}

/* ---- layer 50/88: azoria-dark-section-legibility ---- */

/* light cards sitting inside a dark section keep their dark type */
#p-living>.az-bg-stone .tl .txt,#p-living>.az-bg-stone .tl .txt h3,#p-padel>.az-bg-stone .tl .txt,#p-padel>.az-bg-stone .tl .txt h3,#p-pilates>.az-bg-stone .tl .txt,#p-pilates>.az-bg-stone .tl .txt h3{color:var(--ink)}
#p-living>.az-bg-stone .tl .txt p,#p-padel>.az-bg-stone .tl .txt p,#p-pilates>.az-bg-stone .tl .txt p{color:var(--muted)}
#p-living>.az-bg-stone .tl .txt .d,#p-living>.az-bg-stone .tl .txt .step{color:var(--muted)}
#p-living>.az-bg-stone .tl.now .d{color:var(--brown)}
/* the fact rows sit directly on the dark ground */
#p-living>.az-bg-brown .facts span,#p-living>.az-bg-brown .facts .club-detail-index{color:rgba(243,238,231,.88)}
#p-living>.az-bg-stone .facts strong{color:var(--page)}
/* eyebrows on the brown split sections */
.az-public-sync>.spa.az-bg-brown .txt .eyebrow{color:rgba(243,238,231,.62)}

/* ---- layer 51/88: azoria-living-header ---- */

/* The Living header is Sand Beige, so the chrome reads as the page rather than a
   brown bar across it. Over the hero it stays transparent with light type, because
   the scrim behind it is what carries the contrast there. */
:root[data-page="living"] #header:not(.scrolled){color:#F3EEE7;box-shadow:0 1px 0 rgba(243,238,231,.14)}
:root[data-page="living"] #header.scrolled{background:rgba(243,238,231,.96);color:#2A1F1D;box-shadow:0 1px 0 rgba(42,31,29,.12)}
:root[data-page="living"] #header.scrolled .btn.nav-cta{background:#6B544E;color:#F9F6F3;border-color:#6B544E}
:root[data-page="living"] #header.az-mega-open{background:#F3EEE7;color:#2A1F1D;box-shadow:0 1px 0 rgba(42,31,29,.12)}
:root[data-page="living"] #header.az-mega-open .btn.nav-cta{background:#6B544E;border-color:#6B544E;color:#F9F6F3}
:root[data-page="living"] .az-mega-panel{background:#F3EEE7;color:#2A1F1D}
:root[data-page="living"] .az-mega-panel .az-mega-name,:root[data-page="living"] .az-mega-panel h2{color:#2A1F1D}
:root[data-page="living"] .az-mega-panel .az-mega-description,:root[data-page="living"] .az-mega-panel .az-mega-heading p{color:rgba(42,31,29,.74)}
:root[data-page="living"] .az-mega-panel .az-mega-kicker,:root[data-page="living"] .az-mega-panel .az-mega-close,:root[data-page="living"] .az-mega-panel .az-mega-foot{color:rgba(42,31,29,.76)}
:root[data-page="living"] .az-mega-panel .az-mega-foot{border-color:rgba(42,31,29,.16)}
:root[data-page="living"] .az-mega-panel .az-mega-foot a{color:#2A1F1D}
:root[data-page="living"] .az-mega-panel .az-mega-card,:root[data-page="living"] .az-mega-panel .az-mega-item{border-color:rgba(42,31,29,.14)}
:root[data-page="living"] .az-mega-backdrop{background:rgba(42,31,29,.42)}

/* the footer is shared chrome, so this stays pinned to the Living page only */
:root[data-page="living"] footer.footer{background:#6B544E}
:root[data-page="living"] footer.footer .top{border-bottom-color:rgba(243,238,231,.2)}

/* ---- layer 52/88: azoria-nav-scale ---- */

/* nav bar type, 10% up */
#header .az-mega-trigger{font-size:11px}
#header .nav-left .item,#header .nav-right .item{font-size:11px}
#header .btn.nav-cta{font-size:11.5px}
#header .az-preference summary{font-size:11px}
#header .az-pref-panel button,#header .az-pref-panel a{font-size:11px}
@media (max-width:1100px){#header .az-mega-trigger,#header .nav-left .item,#header .nav-right .item{font-size:11px}}

/* ---- layer 53/88: azoria-master-pages ---- */

/* Wellness, The Library, Dining and About sit in the master universe:
   sand beige is the page, Azoria Brown is the brand colour (brand book, world 01) */
#p-wellness,#p-library,#p-dining,#p-about{
  --cream:#F3EEE7; --sand:#E7DBC5; --stone:#483733; --brown:#483733; --ink:#2A1F1D;
  --green:#483733; --sage:#6B544E; --muted:rgba(42,31,29,.66); --line:rgba(42,31,29,.14);
  --abrown:#483733; --page:#F3EEE7; --bone:#E7DBC5; --cocoa:#6B544E; --bronze:#A39B99;
  background:#F3EEE7; color:#2A1F1D;
}
#p-wellness>.az-bg-cream,#p-library>.az-bg-cream,#p-dining>.az-bg-cream,#p-about>.az-bg-cream,#p-wellness>.spa.az-bg-cream .txt,#p-library>.spa.az-bg-cream .txt,#p-dining>.spa.az-bg-cream .txt,#p-about>.spa.az-bg-cream .txt{background:#F3EEE7}
#p-wellness>.az-bg-sand,#p-library>.az-bg-sand,#p-dining>.az-bg-sand,#p-about>.az-bg-sand,#p-wellness>.spa.az-bg-sand .txt,#p-library>.spa.az-bg-sand .txt,#p-dining>.spa.az-bg-sand .txt,#p-about>.spa.az-bg-sand .txt{background:#E7DBC5}
#p-wellness>.az-bg-stone,#p-library>.az-bg-stone,#p-dining>.az-bg-stone,#p-about>.az-bg-stone,#p-wellness>.spa.az-bg-stone .txt,#p-library>.spa.az-bg-stone .txt,#p-dining>.spa.az-bg-stone .txt,#p-about>.spa.az-bg-stone .txt{background:#483733;color:#F3EEE7}
#p-wellness>.az-bg-brown,#p-library>.az-bg-brown,#p-dining>.az-bg-brown,#p-about>.az-bg-brown,#p-wellness>.spa.az-bg-brown .txt,#p-library>.spa.az-bg-brown .txt,#p-dining>.spa.az-bg-brown .txt,#p-about>.spa.az-bg-brown .txt{background:#483733;color:#F3EEE7}
#p-wellness>.az-bg-green,#p-library>.az-bg-green,#p-dining>.az-bg-green,#p-about>.az-bg-green{background:#2A1F1D;color:#F3EEE7}
#p-wellness>.az-bg-stone h2,#p-library>.az-bg-stone h2,#p-dining>.az-bg-stone h2,#p-about>.az-bg-stone h2,#p-wellness>.az-bg-stone h3,#p-library>.az-bg-stone h3,#p-dining>.az-bg-stone h3,#p-about>.az-bg-stone h3,#p-wellness>.az-bg-stone h4,#p-library>.az-bg-stone h4,#p-dining>.az-bg-stone h4,#p-about>.az-bg-stone h4,#p-wellness>.az-bg-stone strong,#p-library>.az-bg-stone strong,#p-dining>.az-bg-stone strong,#p-about>.az-bg-stone strong,#p-wellness>.az-bg-stone em,#p-library>.az-bg-stone em,#p-dining>.az-bg-stone em,#p-about>.az-bg-stone em{color:#F3EEE7}
#p-wellness>.az-bg-stone p,#p-library>.az-bg-stone p,#p-dining>.az-bg-stone p,#p-about>.az-bg-stone p,#p-wellness>.az-bg-stone li,#p-library>.az-bg-stone li,#p-dining>.az-bg-stone li,#p-about>.az-bg-stone li,#p-wellness>.az-bg-stone .lead,#p-library>.az-bg-stone .lead,#p-dining>.az-bg-stone .lead,#p-about>.az-bg-stone .lead{color:rgba(243,238,231,.74)}
#p-wellness>.az-bg-stone .eyebrow,#p-library>.az-bg-stone .eyebrow,#p-dining>.az-bg-stone .eyebrow,#p-about>.az-bg-stone .eyebrow,#p-wellness>.az-bg-stone .lbl,#p-library>.az-bg-stone .lbl,#p-dining>.az-bg-stone .lbl,#p-about>.az-bg-stone .lbl,#p-wellness>.az-bg-stone .of,#p-library>.az-bg-stone .of,#p-dining>.az-bg-stone .of,#p-about>.az-bg-stone .of{color:rgba(243,238,231,.62)}
#p-wellness>.az-bg-stone .facts,#p-library>.az-bg-stone .facts,#p-dining>.az-bg-stone .facts,#p-about>.az-bg-stone .facts,#p-wellness>.az-bg-stone .facts div,#p-library>.az-bg-stone .facts div,#p-dining>.az-bg-stone .facts div,#p-about>.az-bg-stone .facts div,#p-wellness>.az-bg-stone .menu li,#p-library>.az-bg-stone .menu li,#p-dining>.az-bg-stone .menu li,#p-about>.az-bg-stone .menu li{border-color:rgba(243,238,231,.2)}
#p-wellness>.az-bg-stone .facts span,#p-library>.az-bg-stone .facts span,#p-dining>.az-bg-stone .facts span,#p-about>.az-bg-stone .facts span,#p-wellness>.az-bg-stone .facts .club-detail-index,#p-library>.az-bg-stone .facts .club-detail-index,#p-dining>.az-bg-stone .facts .club-detail-index,#p-about>.az-bg-stone .facts .club-detail-index{color:rgba(243,238,231,.7)}
#p-wellness>.az-bg-stone .facts strong,#p-library>.az-bg-stone .facts strong,#p-dining>.az-bg-stone .facts strong,#p-about>.az-bg-stone .facts strong{color:#F3EEE7}
#p-wellness>.az-bg-stone .btn.outline,#p-library>.az-bg-stone .btn.outline,#p-dining>.az-bg-stone .btn.outline,#p-about>.az-bg-stone .btn.outline{border-color:#F3EEE7;color:#F3EEE7}
#p-wellness>.az-bg-stone .btn.outline:hover,#p-library>.az-bg-stone .btn.outline:hover,#p-dining>.az-bg-stone .btn.outline:hover,#p-about>.az-bg-stone .btn.outline:hover{background:#F3EEE7;color:#483733}
#p-wellness>.az-bg-stone .arrow,#p-library>.az-bg-stone .arrow,#p-dining>.az-bg-stone .arrow,#p-about>.az-bg-stone .arrow{border-color:rgba(243,238,231,.3);color:#F3EEE7}
#p-wellness>.az-bg-stone .arrow:hover:not([disabled]),#p-library>.az-bg-stone .arrow:hover:not([disabled]),#p-dining>.az-bg-stone .arrow:hover:not([disabled]),#p-about>.az-bg-stone .arrow:hover:not([disabled]){background:#F3EEE7;color:#483733}
#p-wellness>.az-bg-stone .dots i,#p-library>.az-bg-stone .dots i,#p-dining>.az-bg-stone .dots i,#p-about>.az-bg-stone .dots i{background:rgba(243,238,231,.3)}
#p-wellness>.az-bg-stone .dots i.on,#p-library>.az-bg-stone .dots i.on,#p-dining>.az-bg-stone .dots i.on,#p-about>.az-bg-stone .dots i.on{background:#F3EEE7}
/* light cards inside a dark section keep their dark type */
#p-wellness>.az-bg-stone .tl .txt,#p-library>.az-bg-stone .tl .txt,#p-dining>.az-bg-stone .tl .txt,#p-about>.az-bg-stone .tl .txt,#p-wellness>.az-bg-stone .tl .txt h3,#p-library>.az-bg-stone .tl .txt h3,#p-dining>.az-bg-stone .tl .txt h3,#p-about>.az-bg-stone .tl .txt h3{color:#2A1F1D}
#p-wellness>.az-bg-stone .tl .txt p,#p-library>.az-bg-stone .tl .txt p,#p-dining>.az-bg-stone .tl .txt p,#p-about>.az-bg-stone .tl .txt p,#p-wellness>.az-bg-stone .tl .txt .d,#p-library>.az-bg-stone .tl .txt .d,#p-dining>.az-bg-stone .tl .txt .d,#p-about>.az-bg-stone .tl .txt .d,#p-wellness>.az-bg-stone .tl .txt .step,#p-library>.az-bg-stone .tl .txt .step,#p-dining>.az-bg-stone .tl .txt .step,#p-about>.az-bg-stone .tl .txt .step{color:rgba(42,31,29,.66)}
#p-wellness .az-detail-surround,#p-library .az-detail-surround,#p-dining .az-detail-surround,#p-about .az-detail-surround{background:#F3EEE7}

/* ---- layer 54/88: azoria-master-pages-chrome ---- */

/* header and footer follow the master brand colour */
:root[data-page="wellness"] .footer,:root[data-page="library"] .footer,:root[data-page="dining"] .footer,:root[data-page="about"] .footer{background:#483733}
:root[data-page="wellness"] .footer .top,:root[data-page="library"] .footer .top,:root[data-page="dining"] .footer .top,:root[data-page="about"] .footer .top{border-bottom-color:rgba(243,238,231,.2)}
:root[data-page="wellness"] .footer .brand p,:root[data-page="wellness"] .footer .brand .addr,:root[data-page="wellness"] .footer h4,:root[data-page="wellness"] .footer .bottom,:root[data-page="library"] .footer .brand p,:root[data-page="library"] .footer .brand .addr,:root[data-page="library"] .footer h4,:root[data-page="library"] .footer .bottom,:root[data-page="dining"] .footer .brand p,:root[data-page="dining"] .footer .brand .addr,:root[data-page="dining"] .footer h4,:root[data-page="dining"] .footer .bottom,:root[data-page="about"] .footer .brand p,:root[data-page="about"] .footer .brand .addr,:root[data-page="about"] .footer h4,:root[data-page="about"] .footer .bottom{color:rgba(243,238,231,.78)}
:root[data-page="wellness"] #header.scrolled,:root[data-page="library"] #header.scrolled,:root[data-page="dining"] #header.scrolled,:root[data-page="about"] #header.scrolled{background:rgba(72,55,51,.95);color:#F3EEE7;box-shadow:0 1px 0 rgba(243,238,231,.18)}
:root[data-page="wellness"] #header.scrolled .btn.nav-cta,:root[data-page="library"] #header.scrolled .btn.nav-cta,:root[data-page="dining"] #header.scrolled .btn.nav-cta,:root[data-page="about"] #header.scrolled .btn.nav-cta{background:#F3EEE7;color:#483733;border-color:#F3EEE7}
:root[data-page="wellness"] #header.az-mega-open,:root[data-page="library"] #header.az-mega-open,:root[data-page="dining"] #header.az-mega-open,:root[data-page="about"] #header.az-mega-open{background:#483733;color:#F3EEE7;box-shadow:0 1px 0 rgba(243,238,231,.18)}
:root[data-page="wellness"] #header.az-mega-open .btn.nav-cta,:root[data-page="library"] #header.az-mega-open .btn.nav-cta,:root[data-page="dining"] #header.az-mega-open .btn.nav-cta,:root[data-page="about"] #header.az-mega-open .btn.nav-cta{background:#F3EEE7;border-color:#F3EEE7;color:#483733}
:root[data-page="wellness"] .az-mega-panel,:root[data-page="library"] .az-mega-panel,:root[data-page="dining"] .az-mega-panel,:root[data-page="about"] .az-mega-panel{background:#483733;color:#F3EEE7}
:root[data-page="wellness"] .az-mega-panel .az-mega-name,:root[data-page="wellness"] .az-mega-panel h2,:root[data-page="library"] .az-mega-panel .az-mega-name,:root[data-page="library"] .az-mega-panel h2,:root[data-page="dining"] .az-mega-panel .az-mega-name,:root[data-page="dining"] .az-mega-panel h2,:root[data-page="about"] .az-mega-panel .az-mega-name,:root[data-page="about"] .az-mega-panel h2{color:#F3EEE7}
:root[data-page="wellness"] .az-mega-panel .az-mega-description,:root[data-page="wellness"] .az-mega-panel .az-mega-heading p,:root[data-page="library"] .az-mega-panel .az-mega-description,:root[data-page="library"] .az-mega-panel .az-mega-heading p,:root[data-page="dining"] .az-mega-panel .az-mega-description,:root[data-page="dining"] .az-mega-panel .az-mega-heading p,:root[data-page="about"] .az-mega-panel .az-mega-description,:root[data-page="about"] .az-mega-panel .az-mega-heading p{color:rgba(243,238,231,.66)}
:root[data-page="wellness"] .az-mega-panel .az-mega-kicker,:root[data-page="wellness"] .az-mega-panel .az-mega-close,:root[data-page="wellness"] .az-mega-panel .az-mega-foot,:root[data-page="library"] .az-mega-panel .az-mega-kicker,:root[data-page="library"] .az-mega-panel .az-mega-close,:root[data-page="library"] .az-mega-panel .az-mega-foot,:root[data-page="dining"] .az-mega-panel .az-mega-kicker,:root[data-page="dining"] .az-mega-panel .az-mega-close,:root[data-page="dining"] .az-mega-panel .az-mega-foot,:root[data-page="about"] .az-mega-panel .az-mega-kicker,:root[data-page="about"] .az-mega-panel .az-mega-close,:root[data-page="about"] .az-mega-panel .az-mega-foot{color:rgba(243,238,231,.72)}
:root[data-page="wellness"] .az-mega-panel .az-mega-foot,:root[data-page="library"] .az-mega-panel .az-mega-foot,:root[data-page="dining"] .az-mega-panel .az-mega-foot,:root[data-page="about"] .az-mega-panel .az-mega-foot{border-color:rgba(243,238,231,.18)}
:root[data-page="wellness"] .az-mega-panel .az-mega-foot a,:root[data-page="library"] .az-mega-panel .az-mega-foot a,:root[data-page="dining"] .az-mega-panel .az-mega-foot a,:root[data-page="about"] .az-mega-panel .az-mega-foot a{color:#F3EEE7}
:root[data-page="wellness"] .az-mega-backdrop,:root[data-page="library"] .az-mega-backdrop,:root[data-page="dining"] .az-mega-backdrop,:root[data-page="about"] .az-mega-backdrop{background:rgba(42,31,29,.5)}

/* ---- layer 55/88: azoria-hero-scrim ---- */

/* Philosophy sections carry an eyebrow like every other section head. */
.philosophy .eyebrow{display:block;margin-bottom:18px}
#p-padel .philosophy .eyebrow,
#p-pilates .philosophy .eyebrow{color:var(--muted)}

/* Hero scrim: a black wash so the headline and lead hold up over bright
   footage. A centred pool sits behind the text, with the top and bottom
   carried down for the nav and the scroll cue. */
.hero::after{
  background:
    radial-gradient(ellipse 80% 62% at 50% 46%,
      rgba(0,0,0,.42) 0%, rgba(0,0,0,.23) 55%, rgba(0,0,0,0) 100%),
    linear-gradient(180deg,
      rgba(0,0,0,.60) 0%,
      rgba(0,0,0,.26) 28%,
      rgba(0,0,0,.28) 58%,
      rgba(0,0,0,.62) 86%,
      rgba(0,0,0,.82) 100%);
}
.hero.page-hero::after{
  background:
    radial-gradient(ellipse 82% 60% at 50% 44%,
      rgba(0,0,0,.44) 0%, rgba(0,0,0,.24) 55%, rgba(0,0,0,0) 100%),
    linear-gradient(180deg,
      rgba(0,0,0,.62) 0%,
      rgba(0,0,0,.28) 26%,
      rgba(0,0,0,.30) 56%,
      rgba(0,0,0,.58) 84%,
      rgba(0,0,0,.80) 100%);
}
@media (max-width:860px){
  .hero::after,.hero.page-hero::after{
    background:
      radial-gradient(ellipse 120% 56% at 50% 46%,
        rgba(0,0,0,.40) 0%, rgba(0,0,0,.24) 58%, rgba(0,0,0,0) 100%),
      linear-gradient(180deg,
        rgba(0,0,0,.58) 0%,
        rgba(0,0,0,.28) 28%,
        rgba(0,0,0,.30) 58%,
        rgba(0,0,0,.64) 86%,
        rgba(0,0,0,.84) 100%);
  }
}

/* ---- layer 56/88: azoria-living-experiences ---- */

/* Experiences & Community: a picture-led grid, scoped to the Living page so the
   list layout this markup uses elsewhere is left alone. */
#p-living #living-culture .az-prog-cards{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(30px,3vw,44px) clamp(20px,2vw,28px);
  margin-top:clamp(38px,4vw,60px);
}
#p-living #living-culture .az-prog-cards .prog{
  display:flex;flex-direction:column;gap:0;padding:0;border:0;
}
#p-living #living-culture .prog-pic{
  position:relative;overflow:hidden;aspect-ratio:4/3;
  background:rgba(243,238,231,.08);margin-bottom:clamp(16px,1.6vw,22px);
}
#p-living #living-culture .prog-pic img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1s cubic-bezier(.22,1,.36,1);
}
#p-living #living-culture .prog:hover .prog-pic img{transform:scale(1.05)}
/* the text block fills the card so the frequency labels line up across a row */
#p-living #living-culture .az-prog-cards .prog-txt{
  display:flex;flex-direction:column;align-items:flex-start;flex:1 1 auto;
}
#p-living #living-culture .prog .cat{
  padding-top:0;margin-bottom:10px;display:block;
  font-size:9.5px;letter-spacing:.24em;color:rgba(243,238,231,.84);
}
#p-living #living-culture .prog h3{margin:0;font-size:22px;line-height:1.22;color:#F3EEE7}
#p-living #living-culture .prog p{
  margin-top:9px;font-size:13.5px;line-height:1.62;max-width:44ch;
  color:rgba(243,238,231,.86);
}
#p-living #living-culture .az-prog-cards .prog p+.freq{
  margin-top:auto;padding-top:18px;font-size:10px;letter-spacing:.18em;
  color:var(--bone);
}

/* the opening entry runs the full width, photograph beside the copy */
#p-living #living-culture .prog.prog-lead{
  grid-column:1 / -1;display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:clamp(24px,3vw,48px);align-items:center;
  padding-bottom:clamp(28px,3vw,40px);
  border-bottom:1px solid rgba(243,238,231,.18);
}
#p-living #living-culture .prog.prog-lead .prog-pic{aspect-ratio:16/9;margin-bottom:0}
#p-living #living-culture .prog.prog-lead .prog-txt{justify-content:center;flex:0 1 auto}
#p-living #living-culture .prog.prog-lead h3{font-size:clamp(26px,2.5vw,34px)}
#p-living #living-culture .prog.prog-lead p{font-size:15px;max-width:50ch;margin-top:12px}
#p-living #living-culture .prog.prog-lead .freq{margin-top:20px}

@media(max-width:1000px){
  #p-living #living-culture .az-prog-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  #p-living #living-culture .prog.prog-lead{grid-template-columns:1fr;gap:18px;align-items:stretch}
  #p-living #living-culture .prog.prog-lead .prog-pic{aspect-ratio:3/2}
  #p-living #living-culture .prog.prog-lead h3{font-size:26px}
}
@media(max-width:640px){
  #p-living #living-culture .az-prog-cards{grid-template-columns:1fr;gap:28px}
  #p-living #living-culture .prog p{max-width:none}
}

/* ---- layer 57/88: azoria-res-labels ---- */

/* Residence cards: the benefit headings carry weight so the two groups read as
   headings rather than as more caption text. Scoped to .res-tier so the
   membership tiers elsewhere keep their lighter label. */
.res-tier .inc{font-weight:900;color:var(--ink);letter-spacing:.2em;font-size:10.5px}
.tier.featured .res-tier .inc,#p-living .section.dark .res-tier .inc{color:#F3EEE7}

/* ---- layer 58/88: azoria-forms-and-pricing ---- */

/* ---- 1. prices are not published yet -------------------------------------
   The figures stay in the markup as data-monthly / data-annual, so restoring
   them is a matter of deleting this block. What is hidden is everything that
   only makes sense next to a number: the period suffix, the struck-through
   standard rate, and the monthly/annual billing toggle. */
.pricing .per{display:none}
.pricing .founding>span:not(.lock){display:none}
/* cards that carry a published price show their period and standard rate again */
.az-priced .pricing .per{display:inline}
.az-priced .pricing .founding>span:not(.lock){display:inline}
.az-priced.az-no-standard .pricing .founding>span:not(.lock){display:none}
.member-toggle{display:none}
/* one size for every card. #membership and #padel-memberships set this with an
   ID, so they have to be named here or they keep their 40px. */
.pricing .price .amt,
#membership .tier .price .amt,
#padel-memberships .tier .price .amt,
.club-memberships .tier .price .amt,
.res-tier .price .amt{font-size:clamp(20px,2.1vw,30px);line-height:1.2;white-space:nowrap}

/* ---- 3. form field titles ------------------------------------------------
   The sans carries one real face, so weight is on or off; 600 is the first
   step that renders. Paired with a darker tone so the labels sit above the
   inputs rather than beside them. */
.field label,
.az-form label,
.chips-label,
.az-label-line>label{font-weight:600;color:var(--ink)}
.field:focus-within label{color:var(--ink)}
/* the interest checkboxes are options, not field titles - leave them be */
.az-interest-options label,
.field label.check,
label.check{font-weight:400;color:inherit}
/* pages that run light type on a dark ground keep their own label colour */
#p-fitness .field label,#p-fitness .chips-label{color:rgba(231,219,197,.8)}
#p-fitness .az-form label{color:rgba(231,219,197,.8)}

/* ---- 4. brand accent on form controls ------------------------------------
   Without this the browser paints its own blue: the highlighted row in a
   select's dropdown, and the tick in a checkbox. accent-color follows each
   page's own accent, so the control matches the page it sits on. */
select,
input[type=checkbox],
input[type=radio],
input[type=range],
progress{accent-color:var(--green)}
select option:checked,
select option:hover{background:var(--green);color:#fff}
.field select:focus,
.az-form select:focus,
.az-club-filter select:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}
::selection{background:var(--green);color:#fff}

/* ---- layer 59/88: azoria-front-page-dark-brown ---- */

/* ---- Loom 1:11-1:46 -------------------------------------------------------
   On the front page the flat dark panels read as black.  They are var(--ink),
   which is also the body text colour, so the swap is done here by selector
   rather than by moving the token - the type stays #2A1F1D, the panels become
   Azoria Brown.  Scoped to #p-home: no other page is affected. */
#p-home>.hero,
#p-home .marquee,
#p-home .club,
#p-home .statement,
#p-home .location,
#p-home .section.dark,
#p-home .az-bg-green,
#p-home .tier.featured,
#p-home .btn.dark,
#p-home .member-toggle button.active{background:#483733}
#p-home .tier.featured{border-color:#483733;box-shadow:0 34px 60px -34px rgba(72,55,51,.6)}
/* .tl.now is deliberately NOT here: #timeline .tl.now already matches it to its
   two siblings, and this block has the same specificity, so listing it here
   silently overrode that and turned card 01 brown. */

/* the wordmark: dark brown instead of black once the header has a ground
   under it.  Over the hero it stays light, which is what carries contrast. */
:root[data-page="home"] #header.scrolled,
:root[data-page="home"] #header.az-mega-open{color:#483733}
:root[data-page="home"] #header.scrolled .logo,
:root[data-page="home"] #header.az-mega-open .logo{color:#483733}
:root[data-page="home"] #header.scrolled .btn.nav-cta{background:#483733;border-color:#483733;color:#fff}

/* ---- layer 60/88: azoria-front-page-tones ---- */

/* ---- Loom 5:29-6:24 -------------------------------------------------------
   Dining, The Library and About move out of the brown master universe and onto
   the front page's palette.  Wellness stays where it was - it was never asked
   for.  Declared after azoria-master-pages, same specificity, so these win. */
#p-library,#p-dining,#p-about{
  --cream:#F3EEE7;        /* unchanged: the page ground */
  --sand:#E9E5DC;         /* the beige he pointed at, not the bone #E7DBC5 */
  --stone:#D9D2C5;        /* front-page hairline band, was Azoria Brown */
  --brown:#483733;        /* unchanged: dark brown, kept for small bites */
  --green:#34493C;        /* Azoria green, was brown wearing the green name */
  --sage:#70766B;
  --bone:#E9E5DC;         /* the bone is retired on these pages */
  --ink:#2A1F1D;          /* unchanged: this is the type colour */
}
/* the master block paints these with literal hexes, so name them again */
#p-library>.az-bg-sand,#p-dining>.az-bg-sand,#p-about>.az-bg-sand,#p-library>.spa.az-bg-sand .txt,#p-dining>.spa.az-bg-sand .txt,#p-about>.spa.az-bg-sand .txt{background:#E9E5DC}
#p-library>.az-bg-green,#p-dining>.az-bg-green,#p-about>.az-bg-green{background:#34493C;color:#F3EEE7}

/* the flat dark panels read as black here too - same treatment as the front
   page got in r46 */
#p-library .location,#p-dining .location,#p-about .location,#p-library .marquee,#p-dining .marquee,#p-about .marquee,#p-library .club,#p-dining .club,#p-about .club,#p-library .statement,#p-dining .statement,#p-about .statement,#p-library .section.dark,#p-dining .section.dark,#p-about .section.dark,#p-library .tier.featured,#p-dining .tier.featured,#p-about .tier.featured,#p-library .btn.dark,#p-dining .btn.dark,#p-about .btn.dark{background:#483733}

/* the house header: fall back to the shared beige bar instead of the brown one */
:root[data-page="library"] #header.scrolled,:root[data-page="dining"] #header.scrolled,:root[data-page="about"] #header.scrolled{background:rgba(233,229,220,.97);color:#2A1F1D;box-shadow:0 1px 0 rgba(42,31,29,.12)}
:root[data-page="library"] #header.scrolled .btn.nav-cta,:root[data-page="dining"] #header.scrolled .btn.nav-cta,:root[data-page="about"] #header.scrolled .btn.nav-cta{background:#483733;color:#fff;border-color:#483733}
:root[data-page="library"] #header.az-mega-open,:root[data-page="dining"] #header.az-mega-open,:root[data-page="about"] #header.az-mega-open{background:#F3EEE7;color:#2A1F1D;box-shadow:0 1px 0 rgba(42,31,29,.12)}
:root[data-page="library"] .az-mega-panel,:root[data-page="dining"] .az-mega-panel,:root[data-page="about"] .az-mega-panel{background:#F3EEE7;color:#2A1F1D}
:root[data-page="library"] .az-mega-panel .az-mega-name,:root[data-page="dining"] .az-mega-panel .az-mega-name,:root[data-page="about"] .az-mega-panel .az-mega-name,:root[data-page="library"] .az-mega-panel h2,:root[data-page="dining"] .az-mega-panel h2,:root[data-page="about"] .az-mega-panel h2{color:#2A1F1D}
:root[data-page="library"] .az-mega-panel .az-mega-description,:root[data-page="dining"] .az-mega-panel .az-mega-description,:root[data-page="about"] .az-mega-panel .az-mega-description{color:rgba(42,31,29,.66)}
:root[data-page="library"] #header.az-mega-open .btn.nav-cta,:root[data-page="dining"] #header.az-mega-open .btn.nav-cta,:root[data-page="about"] #header.az-mega-open .btn.nav-cta{background:#34493C;border-color:#34493C;color:#F3EEE7}

/* and the footer joins the front page's green */
:root[data-page="library"] .footer,:root[data-page="dining"] .footer,:root[data-page="about"] .footer{background:#34493C}
:root[data-page="library"] .footer .top,:root[data-page="dining"] .footer .top,:root[data-page="about"] .footer .top{border-bottom-color:rgba(243,238,231,.2)}

/* ---- layer 61/88: azoria-brown-panel-captions ---- */

/* #483733 is lighter than the #2A1F1D it replaced, so the micro-captions in
   the location panel need a little more alpha to stay above 4.5:1. */
#p-home .location .dist .place small,#p-library .location .dist .place small,#p-dining .location .dist .place small,#p-about .location .dist .place small,
#p-home .location .dist .time small,#p-library .location .dist .time small,#p-dining .location .dist .time small,#p-about .location .dist .time small{color:rgba(255,255,255,.62)}

/* ---- layer 62/88: azoria-living-front-page-tones ---- */

/* ---- Loom 5:52-7:15 ------------------------------------------------------
   Declared after azoria-living-master, same specificity, so these win. */
#p-living{
  --bone:#E9E5DC;      /* was #E7DBC5 - "this bone colour I would take out" */
  --sand:#E9E5DC;      /* the front page's beige */
  --stone:#D9D2C5;     /* front-page hairline band, was Cocoa */
  --cocoa:#483733;     /* "we can try use the dark brown" - the deep moments */
  --green:#34493C;     /* "living green instead of brown" - Azoria green */
  --sage:#70766B;
  --brown:#483733;     /* unchanged */
  --page:#F3EEE7;      /* unchanged */
  --soft:#F9F6F3;      /* unchanged */
  --limestone:#F3F3F3; /* unchanged */
  --ink:#2A1F1D;       /* unchanged: the type colour */
}
/* the flat near-black panels, same treatment the front page got */
#p-living .location,
#p-living .marquee,
#p-living .club,
#p-living .statement,
#p-living .tier.featured,
#p-living .btn.dark{background:#483733}

/* footer and header join the front page.  Two footer rules exist for this page
   - a dead one from r36 and the live one - both are named so neither can
   resurrect the old cocoa. */
:root[data-page="living"] .footer,
:root[data-page="living"] footer.footer{background:#34493C}
:root[data-page="living"] #header.scrolled .btn.nav-cta,
:root[data-page="living"] #header.az-mega-open .btn.nav-cta{background:#34493C;border-color:#34493C;color:#F3EEE7}

/* ---- layer 63/88: azoria-retreats-flip ---- */

/* ---- Loom 10:09-10:29 ----------------------------------------------------
   The Coco Lifestyle block is now light with a green CTA (inherited, no rule
   needed).  "And then here we have to have it opposite": the section that
   follows is the dark one, so it paints real Azoria green instead of the
   near-black #2A1F1D that .az-bg-green was using. */
#p-retreats>.az-bg-green{background:#34493C;color:#F3EEE7}
/* the light panel sits on the page ground, and its list rules go back to ink */
#p-retreats>.spa.az-bg-cream .txt{background:var(--cream);color:var(--ink)}
#p-retreats>.spa.az-bg-cream .txt .menu li{border-color:var(--line)}
#p-retreats>.spa.az-bg-cream .txt .menu li span:last-child{color:var(--muted)}
#p-retreats>.spa.az-bg-cream .txt .eyebrow{color:var(--muted)}

/* ---- layer 64/88: azoria-card-cream ---- */

/* ---- Loom 10:52-11:20 ---------------------------------------------------- */
:root{--card:#FCFAF7}
.tier,
.form,
.member-toggle,
.location .mapcard,
.mapstrip .tag,
.az-stay-card,
.az-club-access-grid article,
.tl{background:var(--card)}
/* the "now" card is one of the three, not a highlight - keep it level */
#timeline .tl.now,
.az-public-sync .tl.now{background:var(--card)}
/* the founding banner's button sat on pure white too */
.founding-banner .btn{background:var(--card)}

/* ---- layer 65/88: azoria-master-pages-green-features ---- */

/* The feature panels take Azoria green, the way the front page does.  These
   carry one more class than the r47 panel rule, so they win outright. */
#p-library>.section.dark,
#p-dining>.section.dark,
#p-about>.section.dark,
#p-library .section.dark,
#p-dining .section.dark,
#p-about .section.dark,
#p-library>.az-bg-green,
#p-dining>.az-bg-green,
#p-about>.az-bg-green,
#p-library>.spa.az-bg-brown .txt,
#p-dining>.spa.az-bg-brown .txt,
#p-about>.spa.az-bg-brown .txt{background:#34493C}
#p-library>.spa.az-bg-brown .txt,
#p-dining>.spa.az-bg-brown .txt,
#p-about>.spa.az-bg-brown .txt{color:#F3EEE7}
/* brown stays for the ribbon and the location card - the "small bites" */
#p-library .location,
#p-dining .location,
#p-about .location,
#p-library .marquee,
#p-dining .marquee,
#p-about .marquee{background:#483733}

/* ---- layer 66/88: azoria-living-green ---- */

/* the call to action, and the deep feature sections */
#p-living .btn.primary{background:#34493C;color:#F9F6F3;border-color:#34493C}
#p-living .btn.primary:hover{background:#2B3D32}
#p-living>.az-bg-brown,
#p-living>.spa.az-bg-brown .txt,
#p-living #living-culture,
#p-living .section.dark{background:#34493C}
/* inside a green panel the primary button inverts, as it already did on brown */
#p-living>.az-bg-brown .btn.primary,
#p-living .section.dark .btn.primary{background:#F3EEE7;color:var(--ink);border-color:#F3EEE7}
#p-living .section.dark .arrow:hover:not([disabled]){background:#F3EEE7;color:#34493C}

/* small bites stay brown */
#p-living>.azoria-bulletin,
#p-living .marquee,
#p-living .location{background:#483733}

/* ---- layer 67/88: azoria-living-hyrox-box ---- */

/* The Hyrox panel now sits below the grid as its own box: photo left, copy
   right, inside a hairline card so it reads as an item rather than a header. */
#p-living #living-culture .az-living-hyrox{margin-top:clamp(30px,3vw,44px)}
#p-living #living-culture .az-living-hyrox-box{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(24px,3vw,44px);align-items:center;
  background:rgba(243,238,231,.06);
  border:1px solid rgba(243,238,231,.18);
  border-radius:var(--radius);
  padding:clamp(18px,2vw,26px);
}
#p-living #living-culture .az-living-hyrox-box .prog-pic{
  aspect-ratio:16/9;margin-bottom:0;border-radius:calc(var(--radius) - 2px)}
#p-living #living-culture .az-living-hyrox-box .prog-txt{
  justify-content:center;flex:0 1 auto;padding-right:clamp(0px,1.5vw,20px)}
#p-living #living-culture .az-living-hyrox-box h3{font-size:clamp(24px,2.2vw,30px)}
#p-living #living-culture .az-living-hyrox-box p{font-size:14.5px;max-width:48ch;margin-top:10px}
#p-living #living-culture .az-living-hyrox-box .freq{margin-top:18px}
@media (max-width:860px){
  #p-living #living-culture .az-living-hyrox-box{grid-template-columns:1fr;gap:18px}
  #p-living #living-culture .az-living-hyrox-box .prog-pic{aspect-ratio:3/2}
}

/* ---- layer 68/88: azoria-dark-panel-legibility ---- */

/* A dark panel has to carry a light --muted, or every paragraph that uses it
   paints dark ink on a dark ground.  Only two panels had this; now they all do. */
#p-home .section.dark,
#p-home>.az-bg-green,
#p-home>.az-bg-brown,
#p-home>.spa.az-bg-brown .txt,
#p-home .location,
#p-home .marquee,
#p-home .statement,
#p-home .tier.featured,
#p-library .section.dark,
#p-library>.az-bg-green,
#p-library>.az-bg-brown,
#p-library>.spa.az-bg-brown .txt,
#p-library .location,
#p-library .marquee,
#p-library .statement,
#p-library .tier.featured,
#p-dining .section.dark,
#p-dining>.az-bg-green,
#p-dining>.az-bg-brown,
#p-dining>.spa.az-bg-brown .txt,
#p-dining .location,
#p-dining .marquee,
#p-dining .statement,
#p-dining .tier.featured,
#p-about .section.dark,
#p-about>.az-bg-green,
#p-about>.az-bg-brown,
#p-about>.spa.az-bg-brown .txt,
#p-about .location,
#p-about .marquee,
#p-about .statement,
#p-about .tier.featured,
#p-living .section.dark,
#p-living>.az-bg-green,
#p-living>.az-bg-brown,
#p-living>.spa.az-bg-brown .txt,
#p-living .location,
#p-living .marquee,
#p-living .statement,
#p-living .tier.featured,
#p-retreats .section.dark,
#p-retreats>.az-bg-green,
#p-retreats>.az-bg-brown,
#p-retreats>.spa.az-bg-brown .txt,
#p-retreats .location,
#p-retreats .marquee,
#p-retreats .statement,
#p-retreats .tier.featured{--muted:rgba(243,238,231,.84)}

/* the two smallest labels on those panels, lifted over 4.5:1 */
#p-home .section.dark .prog .cat,
#p-home>.az-bg-green .prog .cat,
#p-home>.az-bg-brown .prog .cat,
#p-home>.spa.az-bg-brown .txt .prog .cat,
#p-home .location .prog .cat,
#p-home .marquee .prog .cat,
#p-home .statement .prog .cat,
#p-home .tier.featured .prog .cat,
#p-library .section.dark .prog .cat,
#p-library>.az-bg-green .prog .cat,
#p-library>.az-bg-brown .prog .cat,
#p-library>.spa.az-bg-brown .txt .prog .cat,
#p-library .location .prog .cat,
#p-library .marquee .prog .cat,
#p-library .statement .prog .cat,
#p-library .tier.featured .prog .cat,
#p-dining .section.dark .prog .cat,
#p-dining>.az-bg-green .prog .cat,
#p-dining>.az-bg-brown .prog .cat,
#p-dining>.spa.az-bg-brown .txt .prog .cat,
#p-dining .location .prog .cat,
#p-dining .marquee .prog .cat,
#p-dining .statement .prog .cat,
#p-dining .tier.featured .prog .cat,
#p-about .section.dark .prog .cat,
#p-about>.az-bg-green .prog .cat,
#p-about>.az-bg-brown .prog .cat,
#p-about>.spa.az-bg-brown .txt .prog .cat,
#p-about .location .prog .cat,
#p-about .marquee .prog .cat,
#p-about .statement .prog .cat,
#p-about .tier.featured .prog .cat,
#p-living .section.dark .prog .cat,
#p-living>.az-bg-green .prog .cat,
#p-living>.az-bg-brown .prog .cat,
#p-living>.spa.az-bg-brown .txt .prog .cat,
#p-living .location .prog .cat,
#p-living .marquee .prog .cat,
#p-living .statement .prog .cat,
#p-living .tier.featured .prog .cat,
#p-retreats .section.dark .prog .cat,
#p-retreats>.az-bg-green .prog .cat,
#p-retreats>.az-bg-brown .prog .cat,
#p-retreats>.spa.az-bg-brown .txt .prog .cat,
#p-retreats .location .prog .cat,
#p-retreats .marquee .prog .cat,
#p-retreats .statement .prog .cat,
#p-retreats .tier.featured .prog .cat{color:rgba(255,255,255,.72)}
#p-home .section.dark .prog .freq,
#p-home>.az-bg-green .prog .freq,
#p-home>.az-bg-brown .prog .freq,
#p-home>.spa.az-bg-brown .txt .prog .freq,
#p-home .location .prog .freq,
#p-home .marquee .prog .freq,
#p-home .statement .prog .freq,
#p-home .tier.featured .prog .freq,
#p-library .section.dark .prog .freq,
#p-library>.az-bg-green .prog .freq,
#p-library>.az-bg-brown .prog .freq,
#p-library>.spa.az-bg-brown .txt .prog .freq,
#p-library .location .prog .freq,
#p-library .marquee .prog .freq,
#p-library .statement .prog .freq,
#p-library .tier.featured .prog .freq,
#p-dining .section.dark .prog .freq,
#p-dining>.az-bg-green .prog .freq,
#p-dining>.az-bg-brown .prog .freq,
#p-dining>.spa.az-bg-brown .txt .prog .freq,
#p-dining .location .prog .freq,
#p-dining .marquee .prog .freq,
#p-dining .statement .prog .freq,
#p-dining .tier.featured .prog .freq,
#p-about .section.dark .prog .freq,
#p-about>.az-bg-green .prog .freq,
#p-about>.az-bg-brown .prog .freq,
#p-about>.spa.az-bg-brown .txt .prog .freq,
#p-about .location .prog .freq,
#p-about .marquee .prog .freq,
#p-about .statement .prog .freq,
#p-about .tier.featured .prog .freq,
#p-living .section.dark .prog .freq,
#p-living>.az-bg-green .prog .freq,
#p-living>.az-bg-brown .prog .freq,
#p-living>.spa.az-bg-brown .txt .prog .freq,
#p-living .location .prog .freq,
#p-living .marquee .prog .freq,
#p-living .statement .prog .freq,
#p-living .tier.featured .prog .freq,
#p-retreats .section.dark .prog .freq,
#p-retreats>.az-bg-green .prog .freq,
#p-retreats>.az-bg-brown .prog .freq,
#p-retreats>.spa.az-bg-brown .txt .prog .freq,
#p-retreats .location .prog .freq,
#p-retreats .marquee .prog .freq,
#p-retreats .statement .prog .freq,
#p-retreats .tier.featured .prog .freq{color:#C3D4C4}

/* ---- layer 69/88: azoria-form-fields ---- */

/* ---- tokens --------------------------------------------------------------
   Limestone is the brand book's digital neutral; it does not go pink against
   the warm #FCFAF7 card the way Sand Beige did.  Graphite is the Fitness
   equivalent - #1A1A1A on #131313 was 7 levels apart and invisible.
   background-COLOR throughout, never the `background` shorthand: `.field
   select` is appearance:none with its arrow drawn as a background-image, and
   the shorthand silently wipes it. */
:root{
  --field:#F3EEE7;          /* Sand Beige - warm; the border draws the box */
  --field-focus:#FBF8F3;
  --field-line:rgba(42,31,29,.18);
}
#p-fitness{
  --field:#282725;          /* Charcoal lifted 10% toward Bone, not blue-grey */
  --field-focus:#302E2B;
  --field-line:rgba(231,219,197,.22);
}

/* ---- the control --------------------------------------------------------- */
.field input,
.field select,
.field textarea{
  background-color:var(--field);
  border:1px solid var(--field-line);
  border-radius:4px;
  padding:12px 14px;
  font-size:14.5px;
  line-height:1.45;
  transition:border-color .2s var(--ease), background-color .2s var(--ease);
}
.field select{padding-right:30px}           /* the dropdown arrow lives here */
.field textarea{min-height:104px}

.field:focus-within input,
.field:focus-within select,
.field:focus-within textarea{
  background-color:var(--field-focus);
  border-color:var(--green);
}
.field.error input,
.field.error select,
.field.error textarea{border-color:#B0563B}

/* Fitness hardcodes `#p-fitness .field input{background:#1A1A1A}` - one id and
   two classes - so the bare `.field input` above can never reach it. Matched
   selector for selector, and declared later, so the token wins. */
#p-fitness .field input,
#p-fitness .field select,
#p-fitness .field textarea{background-color:var(--field);border-color:var(--field-line)}
#p-fitness .field:focus-within input,
#p-fitness .field:focus-within select,
#p-fitness .field:focus-within textarea{background-color:var(--field-focus);border-color:var(--bone)}

/* the animated underline was for a borderless field - it now double-draws */
.field::after{display:none}

.field input::placeholder,
.field textarea::placeholder{color:rgba(42,31,29,.55)}
#p-fitness .field input::placeholder,
#p-fitness .field textarea::placeholder{color:rgba(231,219,197,.5)}

/* ---- rhythm --------------------------------------------------------------
   was 16px above the label, 2px below it, 6px after the field */
.field{padding-top:22px;margin-bottom:12px}
.field label{margin-bottom:8px}

/* ---- the phone row: "+" and number share one box ------------------------- */
.field.phone{gap:0;align-items:stretch}
.field.phone .cc{
  display:flex;align-items:center;
  background-color:var(--field);
  border:1px solid var(--field-line);
  border-right:0;
  border-radius:4px 0 0 4px;
  padding:0 0 0 14px;
  font-size:14.5px;
  line-height:1.45;
}
.field.phone input{border-left:0;border-radius:0 4px 4px 0;padding-left:7px}
.field.phone:focus-within .cc{background-color:var(--field-focus);border-color:var(--green)}

.az-form textarea{font-size:14.5px;border-radius:4px}

/* iOS Safari zooms the viewport on focus when an input is under 16px, so the
   smaller size is desktop-only. */
@media (max-width:768px){
  .field input,.field select,.field textarea,
  .field.phone .cc,.az-form textarea{font-size:16px}
}

/* ---- layer 70/88: azoria-padel-home-tones ---- */

/* ---- item 4: the grounds -------------------------------------------------
   Limestone #F3F3F3 is a cool grey; home runs warm Sand. --limestone is moved
   with --sand because `.spa.az-bg-sand .txt` reads from it on this page. */
#p-padel{
  --sand:#E9E5DC;
  --limestone:#E9E5DC;
  --stone:#D9D2C5;
  --cream:#F3EEE7;      /* unchanged - already home's */
  --page:#F3EEE7;       /* unchanged */
}
#p-padel>.az-bg-sand,
#p-padel>.spa.az-bg-sand .txt{background:#E9E5DC}

/* ---- item 3: no near-black left on the page ------------------------------
   The same list home took in r46.  --pbrown, which paints the one brown band,
   is already #483733 and is deliberately left alone. */
#p-padel>.hero,
#p-padel .marquee,
#p-padel .club,
#p-padel .statement,
#p-padel .location,
#p-padel .section.dark,
#p-padel .az-bg-green,
#p-padel .tier.featured,
#p-padel .btn.dark,
#p-padel .member-toggle button.active{background:#483733}
#p-padel .tier.featured{border-color:#483733;box-shadow:0 34px 60px -34px rgba(72,55,51,.6)}

/* the location captions need the same alpha home's did once the panel lightens */
#p-padel .location .dist .place small,
#p-padel .location .dist .time small{color:rgba(255,255,255,.62)}
/* and a dark panel carries a light --muted, or its paragraphs vanish */
#p-padel .location,
#p-padel .section.dark,
#p-padel>.az-bg-green,
#p-padel .statement,
#p-padel .marquee{--muted:rgba(243,238,231,.84)}

/* ---- layer 71/88: azoria-library-cocoa ---- */

/* ---- item 5: Cocoa replaces #34493C on The Library ---------------------- */
#p-library{--green:#6B544E}
#p-library>.az-bg-green,
#p-library .section.dark,
#p-library>.spa.az-bg-brown .txt{background:#6B544E;color:#F3EEE7}
#p-library .btn.primary{background:#6B544E;border-color:#6B544E;color:#F3EEE7}
#p-library .btn.primary:hover{background:#5A453F;border-color:#5A453F}
/* inside a Cocoa panel the primary button inverts, as it did on the green */
#p-library>.az-bg-green .btn.primary,
#p-library .section.dark .btn.primary{background:#F3EEE7;color:var(--ink);border-color:#F3EEE7}

/* header and footer sit outside #p-library, so they are named separately */
:root[data-page="library"] .footer{background:#6B544E}
:root[data-page="library"] #header.scrolled .btn.nav-cta,
:root[data-page="library"] #header.az-mega-open .btn.nav-cta{background:#6B544E;border-color:#6B544E;color:#F3EEE7}

/* ---- layer 72/88: azoria-cocoa-and-fitness-legibility ---- */

/* ---- The Library, on Cocoa --------------------------------------------- */
:root[data-page="library"] .footer h4,
:root[data-page="library"] .footer .bottom,
:root[data-page="library"] .footer .brand p,
:root[data-page="library"] .footer .brand .addr,
:root[data-page="library"] .footer a,
:root[data-page="library"] .footer span{color:rgba(243,238,231,.88)}
#p-library>.az-bg-green p,
#p-library>.az-bg-green li,
#p-library>.az-bg-green .lead,
#p-library .section.dark p,
#p-library .section.dark li,
#p-library .section.dark .lead,
#p-library>.spa.az-bg-brown .txt p,
#p-library>.spa.az-bg-brown .txt li{color:rgba(243,238,231,.88)}
#p-library>.az-bg-green .eyebrow,
#p-library .section.dark .eyebrow,
#p-library>.spa.az-bg-brown .txt .eyebrow{color:rgba(255,255,255,.78)}
#p-library>.az-bg-green,
#p-library .section.dark,
#p-library>.spa.az-bg-brown .txt{--muted:rgba(243,238,231,.88)}

/* ---- Fitness, three faults that pre-date this work --------------------- */
/* an invisible link: --ink on the #131313 form was 1.16:1 */
#p-fitness .form a,
#p-fitness .az-form a,
#p-fitness .form .note a{color:var(--bone);text-decoration-color:rgba(231,219,197,.5)}
/* `#p-fitness .tier ul li.off` sets this at .34 and carries three classes, so
   the selector has to be matched element for element to outrank it */
#p-fitness .tier ul li.off,
#p-fitness .tier li.off{color:rgba(231,219,197,.60);opacity:1}
#p-fitness .az-bg-stone .eyebrow,
#p-fitness>.az-bg-stone .eyebrow{color:rgba(231,219,197,.66)}

/* ---- layer 73/88: azoria-padel-header-cta ---- */

/* The header is outside #p-padel, so --ink resolved from :root and this CTA
   stayed #2A1F1D while home's moved to Azoria Brown. */
:root[data-page="padel"] #header.scrolled .btn.nav-cta,
:root[data-page="padel"] #header.az-mega-open .btn.nav-cta{
  background:#483733;border-color:#483733;color:#fff}

/* ---- layer 74/88: azoria-selection-pills ---- */

/* The pills join the fields: same ground, same hairline.  Scoped to the public
   forms so the member dashboard's own checkboxes keep their styling.  The
   checked state still wins: `.check:has(input:checked)` is (0,2,1) and this is
   (0,2,0) - verified, a checked pill still goes to --ink with white type.
   NOTE - do not add `.checks label` here as well.  `.check` IS that label, so
   the extra element selector would push this to (0,2,1), tie with the checked
   rule and beat it on source order, leaving a checked pill as white text on a
   beige ground. */
.form .check,
.az-form .check{
  background-color:var(--field);
  border-color:var(--field-line);
  transition:background-color .2s var(--ease), border-color .2s var(--ease);
}
.form .check:hover,
.az-form .check:hover{border-color:var(--green)}

/* ---- layer 75/88: azoria-dropdown-and-autofill ---- */

/* ---- 1. Chrome's autofill wash ------------------------------------------
   Chrome ignores background-color on an autofilled field; a large inset
   shadow is the only thing that covers it.  The long transition delay stops
   the blue flashing in before the shadow paints. */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
select:-webkit-autofill,
textarea:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--field) inset;
  box-shadow:0 0 0 1000px var(--field) inset;
  -webkit-text-fill-color:var(--ink);
  caret-color:var(--ink);
  transition:background-color 9999s ease-in-out 0s;
}
#p-fitness input:-webkit-autofill,
#p-fitness input:-webkit-autofill:hover,
#p-fitness input:-webkit-autofill:focus,
#p-fitness select:-webkit-autofill,
#p-fitness textarea:-webkit-autofill{-webkit-text-fill-color:var(--bone)}

/* the club filter never moved onto the field colour */
.az-club-filter select{background-color:var(--field);border-color:var(--field-line)}

/* ---- 2. the dropdown popup ----------------------------------------------
   Only applies where the engine can hand the popup to CSS. Everywhere else
   the native popup stays, which is the current behaviour. */
@supports (appearance: base-select){
  .field select,
  .az-club-filter select{
    appearance:base-select;
    background-image:none;          /* ::picker-icon replaces our SVG arrow */
    padding-right:14px;
  }
  .field select::picker-icon,
  .az-club-filter select::picker-icon{
    color:var(--muted);
    transition:transform .2s var(--ease);
  }
  .field select:open::picker-icon{transform:rotate(180deg)}

  .field select::picker(select),
  .az-club-filter select::picker(select){
    appearance:base-select;
    background-color:var(--field);
    border:1px solid var(--field-line);
    border-radius:6px;
    padding:6px;
    margin-top:6px;
    box-shadow:0 18px 40px -22px rgba(42,31,29,.38);
  }
  .field select option,
  .az-club-filter select option{
    background-color:transparent;
    color:var(--ink);
    font-size:14.5px;
    padding:9px 12px;
    border-radius:4px;
  }
  .field select option:hover,
  .field select option:focus,
  .az-club-filter select option:hover{
    background-color:var(--sand);
    color:var(--ink);
  }
  .field select option:checked,
  .az-club-filter select option:checked{
    background-color:var(--green);
    color:#F3EEE7;
  }
  .field select option::checkmark{color:#F3EEE7}
  #p-fitness .field select option{color:var(--bone)}
  #p-fitness .field select option:hover{background-color:var(--field-focus)}
}

/* ---- layer 76/88: azoria-fitness-graphite-sections ---- */

/* Community & Events - was Charcoal #131313 */
#p-fitness>.az-bg-green,
#p-fitness .az-bg-green.section.dark{background:#2A2C32}

/* Uluwatu, above the cliffs - the section AND its panel, which is the surface
   actually on show.  Was #2A1F1D, a warm brown with no place in this page. */
#p-fitness .location,
#p-fitness .location .panel{background:#2A2C32}

/* Graphite is lighter than what it replaces, so the micro-captions need a
   little more alpha to stay above 4.5:1 */
#p-fitness .location .dist .place small,
#p-fitness .location .dist .time small{color:rgba(255,255,255,.72)}
#p-fitness .location,
#p-fitness .az-bg-green.section.dark{--muted:rgba(231,219,197,.84)}
/* the eyebrow at .55 lands on 4.20:1 against Graphite; .66 puts it near 5.1 -
   the same lift the other Graphite section needed in r62 */
#p-fitness .az-bg-green.section.dark .eyebrow,
#p-fitness .location .eyebrow{color:rgba(231,219,197,.68)}

/* ---- layer 77/88: azoria-wellness-faq-legibility ---- */

/* ink on #483733 was 1.28:1 - the answers could not be read at all */
#p-wellness>.az-bg-stone .ans,
#p-wellness>.az-bg-stone .faq .ans,
#p-wellness>.az-bg-stone summary{color:rgba(243,238,231,.88)}
#p-wellness>.az-bg-stone{--muted:rgba(243,238,231,.88)}

/* ---- layer 78/88: azoria-v11-living ---- */

/* ===========================================================================
   v1-1.  Living takes v4's colouring; every other page is v1 untouched.
   Delete this block and the file is v1 again.
   =========================================================================== */

/* ---- 2. Living's page - two greens and no brown -------------------------- */
#p-living{
  --green:#2F3A35;--cocoa:#2F3A35;--bronze:#A39B99;
  --cream:#F9F6F3;--sand:#F3EEE7;--stone:#F3F3F3;
  --line:rgba(47,58,53,.28);
}
#p-living>.az-bg-sand.az-living-bone{background:#F3F3F3}
#p-living>.az-bg-sand:not(.az-living-bone):not(.cream){background:#F3EEE7}
#p-living>.az-bg-sand.cream,
#p-living>.az-bg-cream{background:#F9F6F3}
#p-living>.az-bg-brown,
#p-living>.spa.az-bg-brown .txt,
#p-living #living-culture{background:#2F3A35}
/* Ink is the second, darker note */
#p-living .section.dark{background:#2A1F1D}
#p-living>.azoria-bulletin,
#p-living .marquee,
#p-living .location{background:#2F3A35}
#p-living .btn.primary{background:#2F3A35;border-color:#2F3A35;color:#F3EEE7}
#p-living .btn.primary:hover{background:#24302A;border-color:#24302A}
#p-living .section.dark .arrow:hover:not([disabled]){background:#F3EEE7;color:#2A1F1D}
/* the residence cards pick up the green as a top rule, the same gesture the
   form plate makes */
#p-living .tier.res-tier{background:#F9F6F3;border-top:2px solid #2F3A35}
:root[data-page="living"] .footer,
:root[data-page="living"] footer.footer{background:#2F3A35}
:root[data-page="living"] #header.scrolled .btn.nav-cta,
:root[data-page="living"] #header.az-mega-open .btn.nav-cta{background:#2F3A35;border-color:#2F3A35;color:#F3EEE7}

/* ---- layer 79/88: azoria-v11b-tweaks ---- */

/* ===========================================================================
   v1-1, second pass.  Appended after the Living block; delete both and the
   file is v1 again.
   =========================================================================== */

/* ---- 1. The Library, "The spaces" -> Sand Beige -------------------------
   Tagged in the markup, because the page has four az-bg-sand bands and only
   this one was asked for. */
#p-library>.az-v11-spaces{background:#F3EEE7}

/* ---- 2 + 4. tier buttons and the hero button, in each page's own colour --
   Only `.tier .btn` and `.hero .btn.primary`.  The section CTAs and the form
   submit keep what they have. */

#p-home .tier .btn,
#p-home .tier .btn.outline,
#p-home .tier .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-home .tier .btn:hover{background-color:#483733;border-color:#483733;color:#F3EEE7;opacity:.88}

#p-home .hero .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-home .hero .btn.primary:hover{background-color:#483733;border-color:#483733;color:#F3EEE7;opacity:.88}

#p-padel .tier .btn,
#p-padel .tier .btn.outline,
#p-padel .tier .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-padel .tier .btn:hover{background-color:#483733;border-color:#483733;color:#F3EEE7;opacity:.88}

#p-padel .hero .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-padel .hero .btn.primary:hover{background-color:#483733;border-color:#483733;color:#F3EEE7;opacity:.88}

#p-retreats .hero .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-retreats .hero .btn.primary:hover{background-color:#483733;border-color:#483733;color:#F3EEE7;opacity:.88}

#p-about .hero .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-about .hero .btn.primary:hover{background-color:#483733;border-color:#483733;color:#F3EEE7;opacity:.88}

#p-dining .hero .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-dining .hero .btn.primary:hover{background-color:#483733;border-color:#483733;color:#F3EEE7;opacity:.88}

#p-wellness .tier .btn,
#p-wellness .tier .btn.outline,
#p-wellness .tier .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-wellness .tier .btn:hover{background-color:#483733;border-color:#483733;color:#F3EEE7;opacity:.88}

#p-library .tier .btn,
#p-library .tier .btn.outline,
#p-library .tier .btn.primary{background-color:#6B544E;border-color:#6B544E;color:#F3EEE7}
#p-library .tier .btn:hover{background-color:#6B544E;border-color:#6B544E;color:#F3EEE7;opacity:.88}

#p-living .tier .btn,
#p-living .tier .btn.outline,
#p-living .tier .btn.primary{background-color:#2F3A35;border-color:#2F3A35;color:#F3EEE7}
#p-living .tier .btn:hover{background-color:#2F3A35;border-color:#2F3A35;color:#F3EEE7;opacity:.88}

#p-pilates .tier .btn,
#p-pilates .tier .btn.outline,
#p-pilates .tier .btn.primary{background-color:#5A1A1A;border-color:#5A1A1A;color:#F3EEE7}
#p-pilates .tier .btn:hover{background-color:#5A1A1A;border-color:#5A1A1A;color:#F3EEE7;opacity:.88}

#p-fitness .tier .btn,
#p-fitness .tier .btn.outline,
#p-fitness .tier .btn.primary{background-color:#E7DBC5;border-color:#E7DBC5;color:#1A1A1A}
#p-fitness .tier .btn:hover{background-color:#E7DBC5;border-color:#E7DBC5;color:#1A1A1A;opacity:.88}

/* Home's featured tier card IS #483733, so the brown button would vanish into
   it.  That one inverts - light fill, brown type, 9.73:1 either way. */
#p-home .tier.featured .btn,
#p-home .tier.featured .btn.primary{
  background-color:#F3EEE7;border-color:#F3EEE7;color:#483733;
}
#p-home .tier.featured .btn:hover{background-color:#FFFFFF;border-color:#FFFFFF;color:#483733;opacity:1}

/* ---- layer 80/88: azoria-v11c-pilates-footer ---- */

/* Pilates footer: Cherry Intense #5A1A1A -> Dark Cherry #44221E.
   `:root[data-page="..."]` is how every other footer colour in this file is
   scoped, so this matches the existing pattern rather than inventing one. */
:root[data-page="pilates"] .footer,
:root[data-page="pilates"] footer.footer{background:#44221E}

/* ---- layer 81/88: azoria-v11d-header-ctas ---- */

/* Retreats: the header CTA was Ink #2A1F1D when scrolled and Sport Green
   #34493C with the mega menu open - two different colours for one button.
   Both states go to Old Money Green. */

:root[data-page="retreats"] #header.scrolled .btn.nav-cta,
:root[data-page="retreats"] #header.az-mega-open .btn.nav-cta{
  background:#2F3A35;border-color:#2F3A35;color:#F3EEE7;
}
:root[data-page="retreats"] #header.scrolled .btn.nav-cta:hover,
:root[data-page="retreats"] #header.az-mega-open .btn.nav-cta:hover{
  background:#24302A;border-color:#24302A;color:#F3EEE7;
}

/* The Library: Cocoa #6B544E -> the brown the Padel page uses. */

:root[data-page="library"] #header.scrolled .btn.nav-cta,
:root[data-page="library"] #header.az-mega-open .btn.nav-cta{
  background:#483733;border-color:#483733;color:#F3EEE7;
}
:root[data-page="library"] #header.scrolled .btn.nav-cta:hover,
:root[data-page="library"] #header.az-mega-open .btn.nav-cta:hover{
  background:#3A2C29;border-color:#3A2C29;color:#F3EEE7;
}

/* ---- layer 82/88: azoria-v11e-tier-bullets ---- */

/* Home and Padel: the tier bullets were Sport Green #34493C while both pages
   run on Azoria Brown.  background-COLOR only - `background` is a shorthand
   here and would delete the tick. */
#p-home .tier li:not(.off)::before,
#p-padel .tier li:not(.off)::before{background-color:#483733}

/* Home's featured card IS #483733, so its bullets invert instead - Sand
   circle, and the tick inside that SVG is already Ink. */
#p-home .tier.featured li:not(.off)::before{background-color:#F3EEE7}

/* ---- layer 83/88: azoria-v11f ---- */

/* ===========================================================================
   1. HOME - every brown and green surface becomes Old Money Green
   =========================================================================== */
#p-home{--green:#2F3A35}

/* the brown surfaces */
#p-home>.hero,
#p-home .marquee,
#p-home .location,
#p-home .tier.featured{background:#2F3A35}
#p-home .tier.featured{border-color:#2F3A35}
#p-home .btn.dark{background-color:#2F3A35;border-color:#2F3A35;color:#F3EEE7}

/* the buttons and bullets, which the last two rounds had set to brown */
#p-home .tier .btn,
#p-home .tier .btn.outline,
#p-home .tier .btn.primary,
#p-home .hero .btn.primary{background-color:#2F3A35;border-color:#2F3A35;color:#F3EEE7}
#p-home .tier .btn:hover,
#p-home .hero .btn.primary:hover{background-color:#2F3A35;border-color:#2F3A35;color:#F3EEE7;opacity:.88}
#p-home .tier li:not(.off)::before{background-color:#2F3A35}
/* the featured card is itself #2F3A35 now, so its bullets and button stay
   light - a green bullet on a green card would disappear */
#p-home .tier.featured li:not(.off)::before{background-color:#F3EEE7}
#p-home .tier.featured .btn,
#p-home .tier.featured .btn.primary{background-color:#F3EEE7;border-color:#F3EEE7;color:#2F3A35}
#p-home .tier.featured .btn:hover{background-color:#FFFFFF;border-color:#FFFFFF;color:#2F3A35;opacity:1}
/* the sage marks on the featured card were the last green that was not the
   brand's - they follow the card */
#p-home .tier.featured .founding .lock{color:#F3EEE7;border-color:rgba(243,238,231,.45)}
#p-home .tier.featured .founding .lock::before{background:#F3EEE7}

/* the small green marks elsewhere on the page */
#p-home .founding .lock,
#p-home .ribbon,
#p-home .founding-banner{background-color:#2F3A35}
#p-home .ribbon,
#p-home .founding-banner{color:#F3EEE7}
#p-home .founding .lock{background:none;color:#2F3A35;border-color:rgba(47,58,53,.45)}
#p-home .founding .lock::before{background:#2F3A35}
#p-home>.section.dark{background:#2F3A35}
/* the "Show more" toggles on the residence cards were the last brown left on
   the page - found by inventorying what still painted #483733 after the rest
   of the change, not by reading the stylesheet */
#p-home summary,
#p-home summary span{color:#2F3A35}

/* footer and header CTA sit outside the page container */
:root[data-page="home"] .footer,
:root[data-page="home"] footer.footer{background:#2F3A35}
:root[data-page="home"] #header.scrolled .btn.nav-cta,
:root[data-page="home"] #header.az-mega-open .btn.nav-cta{
  background:#2F3A35;border-color:#2F3A35;color:#F3EEE7}

/* ===========================================================================
   2. PADEL - the light form is back from the rebuild; only the submit is set
   =========================================================================== */
#p-padel .form .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-padel .form .btn.primary:hover{background-color:#3A2C29;border-color:#3A2C29;color:#F3EEE7}

/* ===========================================================================
   3. LIVING - Sand Beige footer, and the property cards go dark so the Sand
      Beige buttons on them have a visible shape
   =========================================================================== */
:root[data-page="living"] .footer,
:root[data-page="living"] footer.footer{background:#F3EEE7;color:#2A1F1D}
:root[data-page="living"] .footer .logo,
:root[data-page="living"] .footer h4,
:root[data-page="living"] .footer a,
:root[data-page="living"] .footer p,
:root[data-page="living"] .footer span,
:root[data-page="living"] .footer .addr,
:root[data-page="living"] .footer .bottom{color:#2A1F1D}
/* `.footer .brand p` and `.footer .brand .addr` already have their own
   per-page rules at (1,3,1); the (1,2,1) selectors above lose to them, so
   these two have to match element for element.  Caught by the audit, which
   read them at 1.00:1 - light sand on the new Sand Beige ground. */
:root[data-page="living"] .footer .brand p,
:root[data-page="living"] .footer .brand .addr{color:#2A1F1D}
:root[data-page="living"] .footer a:hover{color:#2F3A35}
/* the hairlines were light-on-dark and would vanish on Sand Beige */
:root[data-page="living"] .footer,
:root[data-page="living"] .footer *{border-color:rgba(42,31,29,.18)}

/* The residence cards stay LIGHT.  A Sand Beige button on them measured
   1.07:1 - no visible shape - and darkening the card was tried and rejected
   (Old Money Green first, then Ink).  So the cards keep Cream and the buttons
   keep the page green, which is where they were before the Sand Beige
   request. */
#p-living .tier.res-tier{background:#F9F6F3;border-top:2px solid #2F3A35}
#p-living .tier.res-tier .btn,
#p-living .tier.res-tier .btn.outline,
#p-living .tier.res-tier .btn.primary{
  background-color:#2F3A35;border-color:#2F3A35;color:#F3EEE7}
#p-living .tier.res-tier .btn:hover{background-color:#24302A;border-color:#24302A;color:#F3EEE7}

/* ---- layer 84/88: azoria-v11g ---- */

/* ---- 1. the radio ring inside the selection pills -----------------------
   `.check::before` borders with var(--stone); on these six pages that token
   lands within 1.30:1 of the pill, so the ring was not there.  Pilates,
   Wellness and Fitness already read and are deliberately not listed. */
#p-living .form .check:not(:has(input:checked))::before,
#p-home .form .check:not(:has(input:checked))::before,
#p-padel .form .check:not(:has(input:checked))::before,
#p-library .form .check:not(:has(input:checked))::before,
#p-retreats .form .check:not(:has(input:checked))::before,
#p-about .form .check:not(:has(input:checked))::before{border-color:rgba(42,31,29,.5)}

/* ---- 2. Living's residence buttons, Sand Beige with an edge -------------
   The fill alone is 1.07:1 on the Cream card.  The border is what makes it a
   button; without it the label just floats. */
#p-living .tier.res-tier .btn,
#p-living .tier.res-tier .btn.outline,
#p-living .tier.res-tier .btn.primary{
  background-color:#F3EEE7;
  border:1px solid #2F3A35;
  color:#2F3A35;
}
#p-living .tier.res-tier .btn:hover{
  background-color:#FFFFFF;border-color:#2F3A35;color:#2F3A35;opacity:1}

/* ---- layer 85/88: azoria-v11h ---- */

/* Home's light tier cards: Sand Beige buttons with an Old Money Green edge.
   The edge is what makes it a button - the fill alone is 1.11:1 on the card. */
#p-home .tier:not(.featured) .btn,
#p-home .tier:not(.featured) .btn.outline,
#p-home .tier:not(.featured) .btn.primary{
  background-color:#F3EEE7;
  border:1px solid #2F3A35;
  color:#2F3A35;
}
#p-home .tier:not(.featured) .btn:hover{
  background-color:#FFFFFF;border-color:#2F3A35;color:#2F3A35;opacity:1}

/* ---- layer 86/88: azoria-v11i-library-brown ---- */

/* The Library: Cocoa #6B544E -> Azoria Brown #483733, the brown its header
   button uses, so the page runs on one brown instead of two. */

/* surfaces */
#p-library .btn.primary,
#p-library .tier .btn,
#p-library .tier .btn.outline,
#p-library .tier .btn.primary,
#p-library .hero .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-library .btn.primary:hover,
#p-library .tier .btn:hover,
#p-library .hero .btn.primary:hover{background-color:#3A2C29;border-color:#3A2C29;color:#F3EEE7}
#p-library>.spa.az-bg-brown .txt,
#p-library>.az-bg-green,
#p-library .section.dark{background:#483733}
:root[data-page="library"] .footer,
:root[data-page="library"] footer.footer{background:#483733}

/* marks and type that were Cocoa */
#p-library .tier li:not(.off)::before{background-color:#483733}
#p-library .founding .lock{color:#483733;border-color:rgba(72,55,51,.45)}
#p-library .founding .lock::before{background:#483733}
#p-library em{color:#483733;border-color:#483733}
/* ...but NOT the italics inside headings that sit ON a brown panel - the
   blanket rule above painted three of them brown-on-brown at 1.00:1, which
   the audit caught.  These take the heading's own colour back. */
#p-library>.spa.az-bg-brown em,
#p-library>.az-bg-green em,
#p-library .section.dark em,
#p-library .location em,
#p-library .marquee em{color:inherit}

/* ---- layer 87/88: azoria-v11j-sand-footers ---- */

/* Sand Beige footers on Home, Dining and About, matching Living. */

/* ---- home ---- */
:root[data-page="home"] .footer,
:root[data-page="home"] footer.footer{background:#F3EEE7;color:#2A1F1D}
:root[data-page="home"] .footer .logo,
:root[data-page="home"] .footer h4,
:root[data-page="home"] .footer a,
:root[data-page="home"] .footer p,
:root[data-page="home"] .footer span,
:root[data-page="home"] .footer .addr,
:root[data-page="home"] .footer .bottom{color:#2A1F1D}
/* these three have per-page rules of their own at (1,3,1) and need matching
   element for element - the shorter selectors above lose to them */
:root[data-page="home"] .footer .brand p,
:root[data-page="home"] .footer .brand .addr,
:root[data-page="home"] .footer .bottom span,
:root[data-page="home"] .footer .bottom a{color:#2A1F1D}
:root[data-page="home"] .footer a:hover{color:#2F3A35}
/* hairlines were light-on-dark; they disappear on Sand Beige */
:root[data-page="home"] .footer,
:root[data-page="home"] .footer *{border-color:rgba(42,31,29,.18)}

/* ---- dining ---- */
:root[data-page="dining"] .footer,
:root[data-page="dining"] footer.footer{background:#F3EEE7;color:#2A1F1D}
:root[data-page="dining"] .footer .logo,
:root[data-page="dining"] .footer h4,
:root[data-page="dining"] .footer a,
:root[data-page="dining"] .footer p,
:root[data-page="dining"] .footer span,
:root[data-page="dining"] .footer .addr,
:root[data-page="dining"] .footer .bottom{color:#2A1F1D}
/* these three have per-page rules of their own at (1,3,1) and need matching
   element for element - the shorter selectors above lose to them */
:root[data-page="dining"] .footer .brand p,
:root[data-page="dining"] .footer .brand .addr,
:root[data-page="dining"] .footer .bottom span,
:root[data-page="dining"] .footer .bottom a{color:#2A1F1D}
:root[data-page="dining"] .footer a:hover{color:#483733}
/* hairlines were light-on-dark; they disappear on Sand Beige */
:root[data-page="dining"] .footer,
:root[data-page="dining"] .footer *{border-color:rgba(42,31,29,.18)}

/* ---- about ---- */
:root[data-page="about"] .footer,
:root[data-page="about"] footer.footer{background:#F3EEE7;color:#2A1F1D}
:root[data-page="about"] .footer .logo,
:root[data-page="about"] .footer h4,
:root[data-page="about"] .footer a,
:root[data-page="about"] .footer p,
:root[data-page="about"] .footer span,
:root[data-page="about"] .footer .addr,
:root[data-page="about"] .footer .bottom{color:#2A1F1D}
/* these three have per-page rules of their own at (1,3,1) and need matching
   element for element - the shorter selectors above lose to them */
:root[data-page="about"] .footer .brand p,
:root[data-page="about"] .footer .brand .addr,
:root[data-page="about"] .footer .bottom span,
:root[data-page="about"] .footer .bottom a{color:#2A1F1D}
:root[data-page="about"] .footer a:hover{color:#483733}
/* hairlines were light-on-dark; they disappear on Sand Beige */
:root[data-page="about"] .footer,
:root[data-page="about"] .footer *{border-color:rgba(42,31,29,.18)}

/* ---- layer 88/88: azoria-v11k-header-hero ---- */

/* Cream header buttons and Sand Beige hero CTAs, both edged in the page's
   own colour.  The header one needs the edge as much as the hero one does -
   cream on the scrolled bar is 1.17:1. */

/* ---- home : #2F3A35 ---- */
:root[data-page="home"] #header.scrolled .btn.nav-cta,
:root[data-page="home"] #header.az-mega-open .btn.nav-cta{
  background:#F9F6F3;border:1px solid #2F3A35;color:#2F3A35;
}
:root[data-page="home"] #header.scrolled .btn.nav-cta:hover,
:root[data-page="home"] #header.az-mega-open .btn.nav-cta:hover{
  background:#FFFFFF;border-color:#2F3A35;color:#2F3A35;
}
#p-home .hero .btn.primary{
  background-color:#F3EEE7;border:1px solid #2F3A35;color:#2F3A35;
}
#p-home .hero .btn.primary:hover{
  background-color:#FFFFFF;border-color:#2F3A35;color:#2F3A35;opacity:1;
}

/* ---- living : #2F3A35 ---- */
:root[data-page="living"] #header.scrolled .btn.nav-cta,
:root[data-page="living"] #header.az-mega-open .btn.nav-cta{
  background:#F9F6F3;border:1px solid #2F3A35;color:#2F3A35;
}
:root[data-page="living"] #header.scrolled .btn.nav-cta:hover,
:root[data-page="living"] #header.az-mega-open .btn.nav-cta:hover{
  background:#FFFFFF;border-color:#2F3A35;color:#2F3A35;
}
#p-living .hero .btn.primary{
  background-color:#F3EEE7;border:1px solid #2F3A35;color:#2F3A35;
}
#p-living .hero .btn.primary:hover{
  background-color:#FFFFFF;border-color:#2F3A35;color:#2F3A35;opacity:1;
}

/* ---- about : #483733 ---- */
:root[data-page="about"] #header.scrolled .btn.nav-cta,
:root[data-page="about"] #header.az-mega-open .btn.nav-cta{
  background:#F9F6F3;border:1px solid #483733;color:#483733;
}
:root[data-page="about"] #header.scrolled .btn.nav-cta:hover,
:root[data-page="about"] #header.az-mega-open .btn.nav-cta:hover{
  background:#FFFFFF;border-color:#483733;color:#483733;
}
#p-about .hero .btn.primary{
  background-color:#F3EEE7;border:1px solid #483733;color:#483733;
}
#p-about .hero .btn.primary:hover{
  background-color:#FFFFFF;border-color:#483733;color:#483733;opacity:1;
}

/* ---- dining : #483733 ---- */
:root[data-page="dining"] #header.scrolled .btn.nav-cta,
:root[data-page="dining"] #header.az-mega-open .btn.nav-cta{
  background:#F9F6F3;border:1px solid #483733;color:#483733;
}
:root[data-page="dining"] #header.scrolled .btn.nav-cta:hover,
:root[data-page="dining"] #header.az-mega-open .btn.nav-cta:hover{
  background:#FFFFFF;border-color:#483733;color:#483733;
}
#p-dining .hero .btn.primary{
  background-color:#F3EEE7;border:1px solid #483733;color:#483733;
}
#p-dining .hero .btn.primary:hover{
  background-color:#FFFFFF;border-color:#483733;color:#483733;opacity:1;
}

/* ---- static build additions ------------------------------------------------
   <picture> wraps each photo so a WebP source can be offered with a JPEG
   fallback. display:contents removes the picture box from layout, so every
   existing rule still sizes the <img> exactly as it did in the design file.
   -------------------------------------------------------------------------- */
picture{display:contents}

/* ---- Community CTA ---------------------------------------------------------
   Added after the design file. Deliberately self-contained: every value is
   written out rather than borrowing .btn / .eyebrow, so the popup renders
   identically on all ten pages regardless of the page-scoped layers above.
   Hidden until the script opens it, so it changes nothing about page layout.
   -------------------------------------------------------------------------- */
.az-community[hidden]{display:none}
.az-community{
  position:fixed;inset:0;z-index:120;
  display:grid;place-items:center;
  padding:clamp(16px,4vw,40px);
}
.az-community-backdrop{
  position:absolute;inset:0;
  background:rgba(42,31,29,.58);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .45s var(--ease);
}
.az-community.open .az-community-backdrop{opacity:1}
.az-community-card{
  position:relative;
  display:grid;grid-template-columns:minmax(0,0.66fr) minmax(0,1fr);
  width:min(980px,100%);max-height:min(700px,calc(100dvh - 48px));
  background:#F3EEE7;border-radius:var(--radius);overflow:hidden;
  box-shadow:0 40px 90px -30px rgba(42,31,29,.55);
  opacity:0;transform:translateY(14px) scale(.985);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.az-community.open .az-community-card{opacity:1;transform:none}
.az-community-photo{position:relative;background:#D9D2C5;min-height:0}
.az-community-photo img{width:100%;height:100%;object-fit:cover;display:block}
.az-community-body{
  display:flex;flex-direction:column;align-items:flex-start;
  padding:clamp(28px,3.4vw,52px);
  /* min-height:0 lets this grid item shrink, so tall copy scrolls inside the
     card instead of overflowing it and being cut off by the card's overflow */
  min-height:0;overflow-y:auto;
}
.az-community-eyebrow{
  font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(42,31,29,.62);margin:0 0 18px;
}
.az-community-body h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(25px,2.5vw,36px);line-height:1.16;letter-spacing:.004em;
  color:#2A1F1D;margin:0 0 28px;max-width:21ch;
}
.az-community-join{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  padding:17px 30px;border-radius:3px;border:1px solid #483733;
  background:#483733;color:#F3EEE7;
  font-family:var(--sans);font-weight:500;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;text-decoration:none;
  transition:background .3s var(--ease), border-color .3s var(--ease);
}
.az-community-join:hover{background:#2A1F1D;border-color:#2A1F1D}
.az-community-join svg{width:14px;height:14px;flex:none;transition:transform .3s var(--ease)}
.az-community-join:hover svg{transform:translateX(4px)}
.az-community-note{
  font-family:var(--sans);font-size:13px;line-height:1.65;
  color:rgba(42,31,29,.62);margin:26px 0 0;max-width:42ch;
}
.az-community-mark{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(30px,3.6vw,50px);letter-spacing:.22em;text-transform:uppercase;
  color:#2A1F1D;line-height:1;margin-top:auto;padding-top:28px;
}
.az-community-close{
  position:absolute;top:14px;right:14px;z-index:2;
  width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  background:#FFFFFF;color:#2A1F1D;
  display:grid;place-items:center;
  box-shadow:0 10px 24px -12px rgba(42,31,29,.5);
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.az-community-close:hover{background:#E9E5DC;transform:rotate(90deg)}
.az-community-close svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round}

@media (max-width:860px){
  .az-community-card{grid-template-columns:1fr;max-height:calc(100dvh - 32px)}
  .az-community-photo{aspect-ratio:16/9}
  .az-community-body h2{max-width:none}
  .az-community-mark{margin-top:26px;padding-top:0}
}
/* short phones: drop the decorative wordmark so the card needs no inner scroll */
@media (max-height:700px) and (max-width:860px){
  .az-community-mark{display:none}
}
@media (max-width:420px){
  .az-community-photo{aspect-ratio:2/1}
  .az-community-close{width:40px;height:40px;top:10px;right:10px}
}
@media (prefers-reduced-motion:reduce){
  .az-community-backdrop,.az-community-card,.az-community-close,
  .az-community-join,.az-community-join svg{transition:none}
  .az-community-card{transform:none}
}

/* ---- 404 page -------------------------------------------------------------
   Everything else on this page reuses the hero and .club card components from
   the design file. Only this secondary link row is new.
   -------------------------------------------------------------------------- */
.az-404-more{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;
  margin-top:clamp(42px,5vw,66px);padding-top:clamp(26px,3vw,36px);
  border-top:1px solid rgba(42,31,29,.14);
}
.az-404-more a{
  position:relative;
  font-family:var(--sans);font-weight:400;font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(42,31,29,.62);text-decoration:none;
  padding-bottom:3px;transition:color .3s var(--ease);
}
.az-404-more a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:currentColor;transition:width .35s var(--ease);
}
.az-404-more a:hover{color:#2A1F1D}
.az-404-more a:hover::after{width:100%}
@media (prefers-reduced-motion:reduce){
  .az-404-more a,.az-404-more a::after{transition:none}
}

/* ---- Oct 2026 fix list additions ------------------------------------------
   The footer phone number became a tel: link for click-to-call. It must look
   exactly as it did when it was plain text.
   -------------------------------------------------------------------------- */
.footer .addr .az-tel{color:inherit;text-decoration:none}
.footer .addr .az-tel:hover{text-decoration:underline}

/* Legal pages: a plain reading column using the site's own type scale. */
.az-legal{max-width:760px;margin:0 auto;padding:clamp(120px,14vw,190px) var(--gutter) clamp(70px,9vw,120px)}
.az-legal h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.4vw,56px);line-height:1.1;color:var(--ink);margin:14px 0 0}
.az-legal .az-legal-date{display:block;margin-top:22px;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.az-legal h2{font-family:var(--serif);font-weight:400;font-size:clamp(21px,2.2vw,27px);line-height:1.25;color:var(--ink);margin:46px 0 12px}
.az-legal p,.az-legal li{font-family:var(--sans);font-size:15px;line-height:1.75;color:rgba(42,31,29,.78)}
.az-legal p{margin:0 0 14px}
.az-legal ul{margin:0 0 14px;padding-left:20px}
.az-legal li{margin-bottom:7px}
.az-legal a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.az-legal .az-legal-note{margin-top:44px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(42,31,29,.03);font-size:13.5px}

/* Legal pages have no dark hero behind the header, so it carries its solid
   treatment from the top instead of the transparent-over-photo one. */
:root[data-page="legal"] #header{
  background:rgba(72,55,51,.95);color:#F3EEE7;box-shadow:0 1px 0 rgba(243,238,231,.18)
}
:root[data-page="legal"] #header .btn.nav-cta{
  background:#F3EEE7;color:#483733;border-color:#F3EEE7
}

/* ---- Library hero readability ---------------------------------------------
   A layer in the design file sets every <em> on the Library page to brown
   (#p-library em{color:#483733}). That is right everywhere on the page except
   the hero, where the heading is white over a photograph, so the italic half
   of "Work during the day, indulge at night." dropped to 1.42:1 and all but
   disappeared. Scope the brown to the page body and let the hero italic take
   the heading's own colour.
   -------------------------------------------------------------------------- */
#p-library .hero h1 em,
#p-library .hero .lead em,
#p-library .hero .eyebrow em{color:inherit;border-color:currentColor}

/* ---- Form handling --------------------------------------------------------
   The honeypot is pushed off screen rather than display:none, because some
   bots skip hidden inputs and would sail past it.
   -------------------------------------------------------------------------- */
.az-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.az-form-error{
  margin:18px 0 0;font-family:var(--sans);font-size:13.5px;line-height:1.6;
  color:#8C3A3A
}
.az-form-error a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.form.sent .az-form-error{display:none}
/* ===========================================================================
   Journal — article pages and the journal index.

   The design file never had a blog, so this is built from the same tokens the
   rest of the site uses: Baskerville for headings, Helvetica Now for reading,
   the ink/cream palette and the existing gutter and radius. It follows the
   .az-legal pattern already used for the policy pages, with the extra pieces
   long articles need: images, pull quotes, tables and a related-reading foot.
   =========================================================================== */

:root[data-page="journal"] body,
:root[data-page="journal-index"] body { background: var(--cream); }

/* --- header treatment ------------------------------------------------------
   Every other page puts the nav over a dark hero photograph, so its links,
   wordmark and selectors are all near-white. The journal opens on cream, so
   that nav reads at about 1.1:1 and all but disappears. These pages are for
   reading, so rather than drop a dark bar over the top the nav is recoloured
   to ink. Everything in the header has to be named, or whichever piece is
   missed stays white on cream.
   -------------------------------------------------------------------------- */
:root[data-page="journal"] #header,
:root[data-page="journal-index"] #header {
  background: var(--cream);
  border-bottom: 1px solid var(--line);
  box-shadow: none;
}
:root[data-page="journal"] #header,
:root[data-page="journal"] #header a,
:root[data-page="journal"] #header button,
:root[data-page="journal"] #header .wordmark,
:root[data-page="journal"] #header svg,
:root[data-page="journal-index"] #header,
:root[data-page="journal-index"] #header a,
:root[data-page="journal-index"] #header button,
:root[data-page="journal-index"] #header .wordmark,
:root[data-page="journal-index"] #header svg { color: var(--ink); }
:root[data-page="journal"] #header svg,
:root[data-page="journal-index"] #header svg { stroke: currentColor; fill: none; }
:root[data-page="journal"] #header .btn.nav-cta,
:root[data-page="journal-index"] #header .btn.nav-cta {
  background: var(--ink); color: var(--cream); border-color: var(--ink);
}
:root[data-page="journal"] #header .burger span,
:root[data-page="journal-index"] #header .burger span { background: var(--ink); }

/* ----------------------------------------------------------------- article */
/* One number controls the whole article column. The gutter is padding and
   box-sizing is border-box, so it is added back here, which makes the value
   below the width of the content itself rather than of the box. Text, images
   and tables all sit on this measure, so everything shares one edge. */
:root { --az-measure: 820px; }

.az-article {
  max-width: calc(var(--az-measure) + var(--gutter) * 2);
  margin: 0 auto;
  padding: clamp(110px, 13vw, 170px) var(--gutter) clamp(60px, 8vw, 100px);
}
.az-article-crumbs {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 26px;
}
.az-article-crumbs a { color: var(--muted); text-decoration: none; }
.az-article-crumbs a:hover { color: var(--ink); }
.az-article-crumbs span { margin: 0 8px; opacity: .5; }

.az-article h1 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4.3vw, 52px);
  line-height: 1.12;
  color: var(--ink);
  margin: 0 0 20px;
  letter-spacing: -.01em;
}
.az-article-meta {
  font-family: var(--sans);
  font-size: 12.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 10px;
}
.az-article-meta span { margin: 0 9px; opacity: .45; }
.az-article-tags { margin: 0 0 40px; display: flex; flex-wrap: wrap; gap: 8px; }
.az-article-tags a {
  font-family: var(--sans);
  font-size: 11.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 100px;
  padding: 5px 12px;
  text-decoration: none;
}
.az-article-tags a:hover { color: var(--ink); border-color: var(--ink); }

/* --- the prose itself ---------------------------------------------------- */
.az-article-body p,
.az-article-body li {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.78;
  color: rgba(42, 31, 29, .82);
}
.az-article-body p { margin: 0 0 18px; }
.az-article-body strong { color: var(--ink); font-weight: 600; }
.az-article-body h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.7vw, 32px);
  line-height: 1.22;
  color: var(--ink);
  margin: 52px 0 14px;
}
.az-article-body h3 {
  font-family: var(--sans);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 36px 0 10px;
}
.az-article-body ul,
.az-article-body ol { margin: 0 0 18px; padding-left: 22px; }
.az-article-body li { margin-bottom: 8px; }
.az-article-body a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(42, 31, 29, .35);
}
.az-article-body a:hover { text-decoration-color: var(--ink); }

.az-article-body img {
  width: 100%;
  height: auto;
  display: block;
  margin: 34px 0;
  border-radius: var(--radius);
  background: var(--sand);
}
.az-article-body figure { margin: 34px 0; }
.az-article-body figure img { margin: 0; }
.az-article-body figcaption {
  font-family: var(--sans);
  font-size: 12.5px;
  color: var(--muted);
  margin-top: 10px;
  text-align: center;
}

.az-article-body blockquote {
  margin: 34px 0;
  padding: 2px 0 2px 24px;
  border-left: 2px solid var(--stone);
}
.az-article-body blockquote p {
  font-family: var(--serif);
  font-size: clamp(19px, 2.1vw, 23px);
  line-height: 1.5;
  color: var(--ink);
  margin: 0;
}
.az-article-body hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 44px 0;
}

/* tables carry the price comparisons, so they must survive a phone */
.az-table-wrap { overflow-x: auto; margin: 30px 0; -webkit-overflow-scrolling: touch; }
.az-article-body table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--sans);
  font-size: 14.5px;
  min-width: 460px;
}
.az-article-body th,
.az-article-body td {
  text-align: left;
  padding: 11px 14px;
  border-bottom: 1px solid var(--line);
  color: rgba(42, 31, 29, .82);
  vertical-align: top;
}
.az-article-body th {
  font-weight: 600;
  color: var(--ink);
  border-bottom-color: rgba(42, 31, 29, .3);
  white-space: nowrap;
}
.az-article-body tr:last-child td { border-bottom: 0; }

/* --- foot of the article -------------------------------------------------- */
.az-article-foot { margin-top: 56px; padding-top: 34px; border-top: 1px solid var(--line); }
.az-article-cta {
  display: block;
  padding: 26px 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(42, 31, 29, .03);
  text-decoration: none;
}
.az-article-cta .k {
  display: block;
  font-family: var(--sans);
  font-size: 11.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}
.az-article-cta .t {
  font-family: var(--serif);
  font-size: clamp(20px, 2.2vw, 25px);
  line-height: 1.25;
  color: var(--ink);
}
.az-article-cta:hover { border-color: var(--ink); }

.az-related { margin-top: 44px; }
.az-related h2 {
  font-family: var(--sans);
  font-size: 11.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 18px;
  font-weight: 600;
}
.az-related ul { list-style: none; margin: 0; padding: 0; }
.az-related li { border-top: 1px solid var(--line); }
.az-related li:last-child { border-bottom: 1px solid var(--line); }
.az-related a {
  display: block;
  padding: 15px 0;
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.35;
  color: var(--ink);
  text-decoration: none;
}
.az-related a:hover { opacity: .62; }

/* ----------------------------------------------------------- journal index */
.az-journal {
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(110px, 13vw, 170px) var(--gutter) clamp(70px, 9vw, 110px);
}
.az-journal-head { max-width: 720px; margin-bottom: clamp(44px, 6vw, 70px); }
.az-journal-head h1 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(38px, 5.4vw, 68px);
  line-height: 1.06;
  color: var(--ink);
  margin: 14px 0 18px;
}
.az-journal-head p {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
  color: rgba(42, 31, 29, .72);
  margin: 0;
}
.az-journal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: clamp(26px, 3vw, 40px) clamp(22px, 2.4vw, 34px);
}
.az-journal-card { text-decoration: none; display: block; }
.az-journal-card .ph {
  display: block;
  aspect-ratio: 1.5;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--sand);
  margin-bottom: 15px;
}
.az-journal-card .ph img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s var(--ease);
}
.az-journal-card:hover .ph img { transform: scale(1.04); }
.az-journal-card .k {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--muted);
}
.az-journal-card h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 21px;
  line-height: 1.26;
  color: var(--ink);
  margin: 9px 0 8px;
}
.az-journal-card p {
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.62;
  color: rgba(42, 31, 29, .66);
  margin: 0;
}

@media (max-width: 640px) {
  .az-article-body table { min-width: 380px; }
  .az-journal-grid { grid-template-columns: 1fr; }
}

/* --- "From the Journal" band on the club pages -----------------------------
   The articles all link into the club pages; this is the link coming back.
   It reuses the journal card so the two surfaces match, on a cream band so it
   reads as a separate chapter whatever colour the section above it is.
   -------------------------------------------------------------------------- */
.az-club-journal { background: var(--cream); }
.az-club-journal-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: clamp(26px, 3vw, 40px);
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.az-club-journal-head .eyebrow { margin: 0; color: var(--muted); }
.az-club-journal-all {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--line);
  padding-bottom: 2px;
  white-space: nowrap;
}
.az-club-journal-all:hover { border-bottom-color: var(--ink); }
.az-club-journal .az-journal-card h3 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.26;
  color: var(--ink);
  margin: 9px 0 0;
}

/* ===========================================================================
   Country of residence: searchable dropdown
   Built on --field / --field-focus / --field-line, the same tokens the inputs
   use, so it follows the light forms and the dark ones on #p-fitness without
   a second set of rules. Nothing here is blue: the browser's own suggestion
   panel is switched off in the script and this replaces it.
   =========================================================================== */
.az-combo{position:relative}

.az-combo-list{
  position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;
  margin:0;padding:6px;list-style:none;
  max-height:260px;overflow-y:auto;overscroll-behavior:contain;
  background:var(--field-focus);
  border:1px solid var(--field-line);
  border-radius:10px;
  box-shadow:0 18px 40px rgba(26,26,26,.16);
  -webkit-overflow-scrolling:touch;
}
.az-combo-list[hidden]{display:none}

.az-combo-option{
  padding:9px 12px;border-radius:7px;cursor:pointer;
  font-size:15px;line-height:1.3;color:inherit;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
/* The highlight gets its own two tokens rather than borrowing --green: on
   #p-fitness the page redefines --green to Bone, which would paint bone on
   bone and make the row unreadable. Light form: deep green with cream ink.
   Dark form: the inverse, bone with charcoal ink.
   The selectors carry #p-fitness so they outrank that page's own id-scoped
   text colours, which would otherwise win over a plain class. */
.az-combo-list{--az-hi:#2F3A35;--az-hi-ink:#F3EEE7}
#p-fitness .az-combo-list{--az-hi:#E7DBC5;--az-hi-ink:#282725}

.az-combo .az-combo-option[aria-selected="true"],
#p-fitness .az-combo .az-combo-option[aria-selected="true"]{
  background:var(--az-hi);
  color:var(--az-hi-ink);
}

/* the announcement for screen readers; never shown */
.az-combo-status{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}

/* kill the blue the OS would otherwise paint on the field itself */
.az-combo input::selection{background:var(--az-hi,#2F3A35);color:var(--az-hi-ink,#F3EEE7)}
#p-fitness .az-combo input::selection{background:#E7DBC5;color:#282725}
.az-combo input:focus{outline:none}

@media (max-width:600px){
  .az-combo-list{max-height:210px}
  .az-combo-option{padding:11px 12px;font-size:16px}
}


/* ---------------------------------------------------------------------------
   Per-field validation message. Terracotta, matching .field.error which the
   stylesheet already uses for the label and the underline.
   --------------------------------------------------------------------------- */
.az-field-msg{
  display:block;margin-top:6px;
  font-size:13px;line-height:1.35;color:#B0563B;
}
.field.error input,.field.error textarea{border-bottom-color:#B0563B}


/* ---- 404 and legal pages: the About page treatment, re-pointed ---- */
#p-404 .philosophy .lead+.lead{margin-top:12px}
#p-legal .philosophy .lead+.lead{margin-top:12px}
#p-404{
  --cream:#F3EEE7; --sand:#E7DBC5; --stone:#483733; --brown:#483733; --ink:#2A1F1D;
  --green:#483733; --sage:#6B544E; --muted:rgba(42,31,29,.66); --line:rgba(42,31,29,.14);
  --abrown:#483733; --page:#F3EEE7; --bone:#E7DBC5; --cocoa:#6B544E; --bronze:#A39B99;
  background:#F3EEE7; color:#2A1F1D;
}
#p-legal{
  --cream:#F3EEE7; --sand:#E7DBC5; --stone:#483733; --brown:#483733; --ink:#2A1F1D;
  --green:#483733; --sage:#6B544E; --muted:rgba(42,31,29,.66); --line:rgba(42,31,29,.14);
  --abrown:#483733; --page:#F3EEE7; --bone:#E7DBC5; --cocoa:#6B544E; --bronze:#A39B99;
  background:#F3EEE7; color:#2A1F1D;
}
#p-404>.az-bg-cream,
#p-404>.spa.az-bg-cream .txt{background:#F3EEE7}
#p-legal>.az-bg-cream,
#p-legal>.spa.az-bg-cream .txt{background:#F3EEE7}
#p-404>.az-bg-sand,
#p-404>.spa.az-bg-sand .txt{background:#E7DBC5}
#p-legal>.az-bg-sand,
#p-legal>.spa.az-bg-sand .txt{background:#E7DBC5}
#p-404>.az-bg-stone,
#p-404>.spa.az-bg-stone .txt{background:#483733;color:#F3EEE7}
#p-legal>.az-bg-stone,
#p-legal>.spa.az-bg-stone .txt{background:#483733;color:#F3EEE7}
#p-404>.az-bg-brown,
#p-404>.spa.az-bg-brown .txt{background:#483733;color:#F3EEE7}
#p-legal>.az-bg-brown,
#p-legal>.spa.az-bg-brown .txt{background:#483733;color:#F3EEE7}
#p-404>.az-bg-green{background:#2A1F1D;color:#F3EEE7}
#p-legal>.az-bg-green{background:#2A1F1D;color:#F3EEE7}
#p-404>.az-bg-stone h2,
#p-404>.az-bg-stone h3,
#p-404>.az-bg-stone h4,
#p-404>.az-bg-stone strong,
#p-404>.az-bg-stone em{color:#F3EEE7}
#p-legal>.az-bg-stone h2,
#p-legal>.az-bg-stone h3,
#p-legal>.az-bg-stone h4,
#p-legal>.az-bg-stone strong,
#p-legal>.az-bg-stone em{color:#F3EEE7}
#p-404>.az-bg-stone p,
#p-404>.az-bg-stone li,
#p-404>.az-bg-stone .lead{color:rgba(243,238,231,.74)}
#p-legal>.az-bg-stone p,
#p-legal>.az-bg-stone li,
#p-legal>.az-bg-stone .lead{color:rgba(243,238,231,.74)}
#p-404>.az-bg-stone .eyebrow,
#p-404>.az-bg-stone .lbl,
#p-404>.az-bg-stone .of{color:rgba(243,238,231,.62)}
#p-legal>.az-bg-stone .eyebrow,
#p-legal>.az-bg-stone .lbl,
#p-legal>.az-bg-stone .of{color:rgba(243,238,231,.62)}
#p-404>.az-bg-stone .facts,
#p-404>.az-bg-stone .facts div,
#p-404>.az-bg-stone .menu li{border-color:rgba(243,238,231,.2)}
#p-legal>.az-bg-stone .facts,
#p-legal>.az-bg-stone .facts div,
#p-legal>.az-bg-stone .menu li{border-color:rgba(243,238,231,.2)}
#p-404>.az-bg-stone .facts span,
#p-404>.az-bg-stone .facts .club-detail-index{color:rgba(243,238,231,.7)}
#p-legal>.az-bg-stone .facts span,
#p-legal>.az-bg-stone .facts .club-detail-index{color:rgba(243,238,231,.7)}
#p-404>.az-bg-stone .facts strong{color:#F3EEE7}
#p-legal>.az-bg-stone .facts strong{color:#F3EEE7}
#p-404>.az-bg-stone .btn.outline{border-color:#F3EEE7;color:#F3EEE7}
#p-legal>.az-bg-stone .btn.outline{border-color:#F3EEE7;color:#F3EEE7}
#p-404>.az-bg-stone .btn.outline:hover{background:#F3EEE7;color:#483733}
#p-legal>.az-bg-stone .btn.outline:hover{background:#F3EEE7;color:#483733}
#p-404>.az-bg-stone .arrow{border-color:rgba(243,238,231,.3);color:#F3EEE7}
#p-legal>.az-bg-stone .arrow{border-color:rgba(243,238,231,.3);color:#F3EEE7}
#p-404>.az-bg-stone .arrow:hover:not([disabled]){background:#F3EEE7;color:#483733}
#p-legal>.az-bg-stone .arrow:hover:not([disabled]){background:#F3EEE7;color:#483733}
#p-404>.az-bg-stone .dots i{background:rgba(243,238,231,.3)}
#p-legal>.az-bg-stone .dots i{background:rgba(243,238,231,.3)}
#p-404>.az-bg-stone .dots i.on{background:#F3EEE7}
#p-legal>.az-bg-stone .dots i.on{background:#F3EEE7}
#p-404>.az-bg-stone .tl .txt,
#p-404>.az-bg-stone .tl .txt h3{color:#2A1F1D}
#p-legal>.az-bg-stone .tl .txt,
#p-legal>.az-bg-stone .tl .txt h3{color:#2A1F1D}
#p-404>.az-bg-stone .tl .txt p,
#p-404>.az-bg-stone .tl .txt .d,
#p-404>.az-bg-stone .tl .txt .step{color:rgba(42,31,29,.66)}
#p-legal>.az-bg-stone .tl .txt p,
#p-legal>.az-bg-stone .tl .txt .d,
#p-legal>.az-bg-stone .tl .txt .step{color:rgba(42,31,29,.66)}
#p-404 .az-detail-surround{background:#F3EEE7}
#p-legal .az-detail-surround{background:#F3EEE7}
:root[data-page="404"] .footer{background:#483733}
:root[data-page="legal"] .footer{background:#483733}
:root[data-page="404"] .footer .top{border-bottom-color:rgba(243,238,231,.2)}
:root[data-page="legal"] .footer .top{border-bottom-color:rgba(243,238,231,.2)}
:root[data-page="404"] .footer .brand p,
:root[data-page="404"] .footer .brand .addr,
:root[data-page="404"] .footer h4,
:root[data-page="404"] .footer .bottom{color:rgba(243,238,231,.78)}
:root[data-page="legal"] .footer .brand p,
:root[data-page="legal"] .footer .brand .addr,
:root[data-page="legal"] .footer h4,
:root[data-page="legal"] .footer .bottom{color:rgba(243,238,231,.78)}
:root[data-page="404"] #header.scrolled{background:rgba(72,55,51,.95);color:#F3EEE7;box-shadow:0 1px 0 rgba(243,238,231,.18)}
:root[data-page="legal"] #header.scrolled{background:rgba(72,55,51,.95);color:#F3EEE7;box-shadow:0 1px 0 rgba(243,238,231,.18)}
:root[data-page="404"] #header.scrolled .btn.nav-cta{background:#F3EEE7;color:#483733;border-color:#F3EEE7}
:root[data-page="legal"] #header.scrolled .btn.nav-cta{background:#F3EEE7;color:#483733;border-color:#F3EEE7}
:root[data-page="404"] #header.az-mega-open{background:#483733;color:#F3EEE7;box-shadow:0 1px 0 rgba(243,238,231,.18)}
:root[data-page="legal"] #header.az-mega-open{background:#483733;color:#F3EEE7;box-shadow:0 1px 0 rgba(243,238,231,.18)}
:root[data-page="404"] #header.az-mega-open .btn.nav-cta{background:#F3EEE7;border-color:#F3EEE7;color:#483733}
:root[data-page="legal"] #header.az-mega-open .btn.nav-cta{background:#F3EEE7;border-color:#F3EEE7;color:#483733}
:root[data-page="404"] .az-mega-panel{background:#483733;color:#F3EEE7}
:root[data-page="legal"] .az-mega-panel{background:#483733;color:#F3EEE7}
:root[data-page="404"] .az-mega-panel .az-mega-name,
:root[data-page="404"] .az-mega-panel h2{color:#F3EEE7}
:root[data-page="legal"] .az-mega-panel .az-mega-name,
:root[data-page="legal"] .az-mega-panel h2{color:#F3EEE7}
:root[data-page="404"] .az-mega-panel .az-mega-description,
:root[data-page="404"] .az-mega-panel .az-mega-heading p{color:rgba(243,238,231,.66)}
:root[data-page="legal"] .az-mega-panel .az-mega-description,
:root[data-page="legal"] .az-mega-panel .az-mega-heading p{color:rgba(243,238,231,.66)}
:root[data-page="404"] .az-mega-panel .az-mega-kicker,
:root[data-page="404"] .az-mega-panel .az-mega-close,
:root[data-page="404"] .az-mega-panel .az-mega-foot{color:rgba(243,238,231,.72)}
:root[data-page="legal"] .az-mega-panel .az-mega-kicker,
:root[data-page="legal"] .az-mega-panel .az-mega-close,
:root[data-page="legal"] .az-mega-panel .az-mega-foot{color:rgba(243,238,231,.72)}
:root[data-page="404"] .az-mega-panel .az-mega-foot{border-color:rgba(243,238,231,.18)}
:root[data-page="legal"] .az-mega-panel .az-mega-foot{border-color:rgba(243,238,231,.18)}
:root[data-page="404"] .az-mega-panel .az-mega-foot a{color:#F3EEE7}
:root[data-page="legal"] .az-mega-panel .az-mega-foot a{color:#F3EEE7}
:root[data-page="404"] .az-mega-backdrop{background:rgba(42,31,29,.5)}
:root[data-page="legal"] .az-mega-backdrop{background:rgba(42,31,29,.5)}
#p-404{
  --cream:#F3EEE7;        /* unchanged: the page ground */
  --sand:#E9E5DC;         /* the beige he pointed at, not the bone #E7DBC5 */
  --stone:#D9D2C5;        /* front-page hairline band, was Azoria Brown */
  --brown:#483733;        /* unchanged: dark brown, kept for small bites */
  --green:#34493C;        /* Azoria green, was brown wearing the green name */
  --sage:#70766B;
  --bone:#E9E5DC;         /* the bone is retired on these pages */
  --ink:#2A1F1D;          /* unchanged: this is the type colour */
}
#p-legal{
  --cream:#F3EEE7;        /* unchanged: the page ground */
  --sand:#E9E5DC;         /* the beige he pointed at, not the bone #E7DBC5 */
  --stone:#D9D2C5;        /* front-page hairline band, was Azoria Brown */
  --brown:#483733;        /* unchanged: dark brown, kept for small bites */
  --green:#34493C;        /* Azoria green, was brown wearing the green name */
  --sage:#70766B;
  --bone:#E9E5DC;         /* the bone is retired on these pages */
  --ink:#2A1F1D;          /* unchanged: this is the type colour */
}
#p-404>.az-bg-sand,
#p-404>.spa.az-bg-sand .txt{background:#E9E5DC}
#p-legal>.az-bg-sand,
#p-legal>.spa.az-bg-sand .txt{background:#E9E5DC}
#p-404>.az-bg-green{background:#34493C;color:#F3EEE7}
#p-legal>.az-bg-green{background:#34493C;color:#F3EEE7}
#p-404 .location,
#p-404 .marquee,
#p-404 .club,
#p-404 .statement,
#p-404 .section.dark,
#p-404 .tier.featured,
#p-404 .btn.dark{background:#483733}
#p-legal .location,
#p-legal .marquee,
#p-legal .club,
#p-legal .statement,
#p-legal .section.dark,
#p-legal .tier.featured,
#p-legal .btn.dark{background:#483733}
:root[data-page="404"] #header.scrolled{background:rgba(233,229,220,.97);color:#2A1F1D;box-shadow:0 1px 0 rgba(42,31,29,.12)}
:root[data-page="legal"] #header.scrolled{background:rgba(233,229,220,.97);color:#2A1F1D;box-shadow:0 1px 0 rgba(42,31,29,.12)}
:root[data-page="404"] #header.scrolled .btn.nav-cta{background:#483733;color:#fff;border-color:#483733}
:root[data-page="legal"] #header.scrolled .btn.nav-cta{background:#483733;color:#fff;border-color:#483733}
:root[data-page="404"] #header.az-mega-open{background:#F3EEE7;color:#2A1F1D;box-shadow:0 1px 0 rgba(42,31,29,.12)}
:root[data-page="legal"] #header.az-mega-open{background:#F3EEE7;color:#2A1F1D;box-shadow:0 1px 0 rgba(42,31,29,.12)}
:root[data-page="404"] .az-mega-panel{background:#F3EEE7;color:#2A1F1D}
:root[data-page="legal"] .az-mega-panel{background:#F3EEE7;color:#2A1F1D}
:root[data-page="404"] .az-mega-panel .az-mega-name,
:root[data-page="404"] .az-mega-panel h2{color:#2A1F1D}
:root[data-page="legal"] .az-mega-panel .az-mega-name,
:root[data-page="legal"] .az-mega-panel h2{color:#2A1F1D}
:root[data-page="404"] .az-mega-panel .az-mega-description{color:rgba(42,31,29,.66)}
:root[data-page="legal"] .az-mega-panel .az-mega-description{color:rgba(42,31,29,.66)}
:root[data-page="404"] #header.az-mega-open .btn.nav-cta{background:#34493C;border-color:#34493C;color:#F3EEE7}
:root[data-page="legal"] #header.az-mega-open .btn.nav-cta{background:#34493C;border-color:#34493C;color:#F3EEE7}
:root[data-page="404"] .footer{background:#34493C}
:root[data-page="legal"] .footer{background:#34493C}
:root[data-page="404"] .footer .top{border-bottom-color:rgba(243,238,231,.2)}
:root[data-page="legal"] .footer .top{border-bottom-color:rgba(243,238,231,.2)}
#p-404 .location .dist .place small,
#p-404 .location .dist .time small{color:rgba(255,255,255,.62)}
#p-legal .location .dist .place small,
#p-legal .location .dist .time small{color:rgba(255,255,255,.62)}
#p-404>.section.dark,
#p-404 .section.dark,
#p-404>.az-bg-green,
#p-404>.spa.az-bg-brown .txt{background:#34493C}
#p-legal>.section.dark,
#p-legal .section.dark,
#p-legal>.az-bg-green,
#p-legal>.spa.az-bg-brown .txt{background:#34493C}
#p-404>.spa.az-bg-brown .txt{color:#F3EEE7}
#p-legal>.spa.az-bg-brown .txt{color:#F3EEE7}
#p-404 .location,
#p-404 .marquee{background:#483733}
#p-legal .location,
#p-legal .marquee{background:#483733}
#p-404 .section.dark,
#p-404>.az-bg-green,
#p-404>.az-bg-brown,
#p-404>.spa.az-bg-brown .txt,
#p-404 .location,
#p-404 .marquee,
#p-404 .statement,
#p-404 .tier.featured{--muted:rgba(243,238,231,.84)}
#p-legal .section.dark,
#p-legal>.az-bg-green,
#p-legal>.az-bg-brown,
#p-legal>.spa.az-bg-brown .txt,
#p-legal .location,
#p-legal .marquee,
#p-legal .statement,
#p-legal .tier.featured{--muted:rgba(243,238,231,.84)}
#p-404 .section.dark .prog .cat,
#p-404>.az-bg-green .prog .cat,
#p-404>.az-bg-brown .prog .cat,
#p-404>.spa.az-bg-brown .txt .prog .cat,
#p-404 .location .prog .cat,
#p-404 .marquee .prog .cat,
#p-404 .statement .prog .cat,
#p-404 .tier.featured .prog .cat{color:rgba(255,255,255,.72)}
#p-legal .section.dark .prog .cat,
#p-legal>.az-bg-green .prog .cat,
#p-legal>.az-bg-brown .prog .cat,
#p-legal>.spa.az-bg-brown .txt .prog .cat,
#p-legal .location .prog .cat,
#p-legal .marquee .prog .cat,
#p-legal .statement .prog .cat,
#p-legal .tier.featured .prog .cat{color:rgba(255,255,255,.72)}
#p-404 .section.dark .prog .freq,
#p-404>.az-bg-green .prog .freq,
#p-404>.az-bg-brown .prog .freq,
#p-404>.spa.az-bg-brown .txt .prog .freq,
#p-404 .location .prog .freq,
#p-404 .marquee .prog .freq,
#p-404 .statement .prog .freq,
#p-404 .tier.featured .prog .freq{color:#C3D4C4}
#p-legal .section.dark .prog .freq,
#p-legal>.az-bg-green .prog .freq,
#p-legal>.az-bg-brown .prog .freq,
#p-legal>.spa.az-bg-brown .txt .prog .freq,
#p-legal .location .prog .freq,
#p-legal .marquee .prog .freq,
#p-legal .statement .prog .freq,
#p-legal .tier.featured .prog .freq{color:#C3D4C4}
#p-404 .hero .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-legal .hero .btn.primary{background-color:#483733;border-color:#483733;color:#F3EEE7}
#p-404 .hero .btn.primary:hover{background-color:#483733;border-color:#483733;color:#F3EEE7;opacity:.88}
#p-legal .hero .btn.primary:hover{background-color:#483733;border-color:#483733;color:#F3EEE7;opacity:.88}
#p-404 .form .check:not(:has(input:checked))::before{border-color:rgba(42,31,29,.5)}
#p-legal .form .check:not(:has(input:checked))::before{border-color:rgba(42,31,29,.5)}
/* ---- about ---- */
:root[data-page="404"] .footer,
:root[data-page="404"] footer.footer{background:#F3EEE7;color:#2A1F1D}
/* ---- about ---- */
:root[data-page="legal"] .footer,
:root[data-page="legal"] footer.footer{background:#F3EEE7;color:#2A1F1D}
:root[data-page="404"] .footer .logo,
:root[data-page="404"] .footer h4,
:root[data-page="404"] .footer a,
:root[data-page="404"] .footer p,
:root[data-page="404"] .footer span,
:root[data-page="404"] .footer .addr,
:root[data-page="404"] .footer .bottom{color:#2A1F1D}
:root[data-page="legal"] .footer .logo,
:root[data-page="legal"] .footer h4,
:root[data-page="legal"] .footer a,
:root[data-page="legal"] .footer p,
:root[data-page="legal"] .footer span,
:root[data-page="legal"] .footer .addr,
:root[data-page="legal"] .footer .bottom{color:#2A1F1D}
1) and need matching
   element for element - the shorter selectors above lose to them */
:root[data-page="404"] .footer .brand p,
:root[data-page="404"] .footer .brand .addr,
:root[data-page="404"] .footer .bottom span,
:root[data-page="404"] .footer .bottom a{color:#2A1F1D}
1) and need matching
   element for element - the shorter selectors above lose to them */
:root[data-page="legal"] .footer .brand p,
:root[data-page="legal"] .footer .brand .addr,
:root[data-page="legal"] .footer .bottom span,
:root[data-page="legal"] .footer .bottom a{color:#2A1F1D}
:root[data-page="404"] .footer a:hover{color:#483733}
:root[data-page="legal"] .footer a:hover{color:#483733}
/* hairlines were light-on-dark; they disappear on Sand Beige */
:root[data-page="404"] .footer,
:root[data-page="404"] .footer *{border-color:rgba(42,31,29,.18)}
/* hairlines were light-on-dark; they disappear on Sand Beige */
:root[data-page="legal"] .footer,
:root[data-page="legal"] .footer *{border-color:rgba(42,31,29,.18)}
/* ---- about : #483733 ---- */
:root[data-page="404"] #header.scrolled .btn.nav-cta,
:root[data-page="404"] #header.az-mega-open .btn.nav-cta{
  background:#F9F6F3;border:1px solid #483733;color:#483733;
}
/* ---- about : #483733 ---- */
:root[data-page="legal"] #header.scrolled .btn.nav-cta,
:root[data-page="legal"] #header.az-mega-open .btn.nav-cta{
  background:#F9F6F3;border:1px solid #483733;color:#483733;
}
:root[data-page="404"] #header.scrolled .btn.nav-cta:hover,
:root[data-page="404"] #header.az-mega-open .btn.nav-cta:hover{
  background:#FFFFFF;border-color:#483733;color:#483733;
}
:root[data-page="legal"] #header.scrolled .btn.nav-cta:hover,
:root[data-page="legal"] #header.az-mega-open .btn.nav-cta:hover{
  background:#FFFFFF;border-color:#483733;color:#483733;
}
#p-404 .hero .btn.primary{
  background-color:#F3EEE7;border:1px solid #483733;color:#483733;
}
#p-legal .hero .btn.primary{
  background-color:#F3EEE7;border:1px solid #483733;color:#483733;
}
#p-404 .hero .btn.primary:hover{
  background-color:#FFFFFF;border-color:#483733;color:#483733;opacity:1;
}
#p-legal .hero .btn.primary:hover{
  background-color:#FFFFFF;border-color:#483733;color:#483733;opacity:1;
}
