
/* =========================================================
   ELITE LADIES CLUB — V5 UNIFIED DESIGN SYSTEM
   Official brand recognition + editorial luxury + readable CJK
   ========================================================= */

:root{
  /* Brand */
  --wine:#64263A;
  --wine-2:#743044;
  --wine-dark:#32171F;
  --plum:#211719;
  --gold:#B18A50;
  --gold-soft:#D2B982;
  --cream:#FBF6EF;
  --ivory:#F2E7DC;
  --paper:#FFFCF8;
  --rose-mist:#E9DDD7;
  --ink:#2B2224;
  --muted:#716864;
  --faint:#948A85;

  /* Lines / shadows */
  --line:rgba(73,43,48,.13);
  --line-strong:rgba(106,39,59,.21);
  --shadow-xs:0 5px 18px rgba(53,23,31,.045);
  --shadow-sm:0 14px 36px rgba(53,23,31,.075);
  --shadow-md:0 24px 64px rgba(53,23,31,.12);

  /* Radius */
  --r-sm:12px;
  --r-md:18px;
  --r-lg:24px;
  --r-xl:32px;

  /* Type */
  --font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Segoe UI",sans-serif;
  --font-display:"Bodoni 72","Didot","Iowan Old Style","Palatino Linotype","Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;

  /* Layout */
  --container:1180px;
  --reading:720px;
}

*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  background:var(--cream);
  color-scheme:light;
}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 82% -5%,rgba(185,149,89,.11),transparent 31rem),
    linear-gradient(180deg,#fffaf4 0,var(--cream) 44%,var(--paper) 100%);
  font-family:var(--font-sans);
  font-size:16.5px;
  line-height:1.82;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
::selection{background:rgba(106,39,59,.15);color:var(--wine-dark)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.skip-link{
  position:fixed;left:16px;top:-70px;z-index:9999;
  padding:11px 15px;border-radius:10px;background:var(--wine-dark);color:white;
  transition:.2s
}
.skip-link:focus{top:16px}

.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.reading{width:min(var(--reading),100%);margin-inline:auto}
.section{padding:96px 0}
.section.compact{padding:70px 0}
.section.soft{
  background:
    radial-gradient(circle at 12% 12%,rgba(185,149,89,.06),transparent 25rem),
    linear-gradient(180deg,#f4eade,#faf4ed);
}
.section + .section:not(.soft){border-top:1px solid rgba(73,43,48,.045)}

/* ---------------------------------------------------------
   Typography
   --------------------------------------------------------- */
h1,h2,h3,h4{
  margin:0;
  color:var(--ink);
  font-family:var(--font-display);
  font-weight:500;
  text-wrap:balance;
  letter-spacing:-.018em;
}
h1{font-size:clamp(2.9rem,4.8vw,4.55rem);line-height:1.055}
h2{font-size:clamp(2rem,3.25vw,3.12rem);line-height:1.12}
h3{font-size:clamp(1.22rem,1.5vw,1.42rem);line-height:1.30}
h4{font-size:1.08rem;line-height:1.35}
p{margin:0;color:var(--muted)}
p+p{margin-top:1em}
.eyebrow{
  display:flex;align-items:center;gap:11px;
  margin-bottom:12px;
  color:var(--wine);
  font-size:.67rem;
  font-weight:750;
  line-height:1.3;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.eyebrow:before{content:"";width:26px;height:1px;background:var(--gold);flex:0 0 auto}
.text-link{
  display:inline-flex;align-items:center;gap:7px;
  margin-top:18px;color:var(--wine);
  font-size:.79rem;font-weight:700;letter-spacing:.025em;
}
.text-link:hover{color:var(--wine-2)}
.text-link:after{content:"→";transition:transform .2s}
.text-link:hover:after{transform:translateX(3px)}
.bigquote{
  max-width:16ch;
  font:500 clamp(2rem,4vw,4rem)/1.1 var(--font-display);
  letter-spacing:-.035em;
  text-wrap:balance
}
.kicker{
  max-width:720px;
  margin-top:18px;
  color:rgba(255,255,255,.92);
  font:500 clamp(1.35rem,2.1vw,2rem)/1.35 var(--font-display)
}

/* Better CJK / bilingual wrapping */
h1,h2,h3,p,blockquote,.service-menu-copy,.retreat-copy,.story-body,.article{
  line-break:strict;
  word-break:normal;
  overflow-wrap:break-word;
}
.subline,.story-meta,.price-label,.journey-tag,.mini{
  text-wrap:pretty;
}

/* ---------------------------------------------------------
   Buttons
   --------------------------------------------------------- */
.cta,.ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:0 20px;border-radius:999px;
  font-size:.79rem;font-weight:710;line-height:1;
  transition:transform .22s,box-shadow .22s,background .22s,border-color .22s
}
.cta{
  color:white;
  background:linear-gradient(135deg,var(--wine-2),var(--wine-dark));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 9px 24px rgba(90,31,49,.17)
}
.cta:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(90,31,49,.24)}
.ghost{
  color:var(--wine-dark);
  background:rgba(255,253,249,.68);
  border:1px solid var(--line-strong)
}
.ghost:hover{transform:translateY(-1px);background:#fff;border-color:rgba(106,39,59,.34)}

/* ---------------------------------------------------------
   Header / Navigation
   --------------------------------------------------------- */
.topbar{
  min-height:30px;
  display:grid;place-items:center;
  padding:6px 18px;
  color:#f1dfbc;
  background:linear-gradient(90deg,#32131d,var(--wine),#32131d);
  border-bottom:1px solid rgba(217,193,141,.18);
  font-size:.64rem;font-weight:650;line-height:1.3;letter-spacing:.12em;
  text-align:center;text-transform:uppercase
}
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(255,250,244,.95);
  border-bottom:1px solid rgba(106,39,59,.09);
  box-shadow:0 7px 28px rgba(53,23,31,.035);
  backdrop-filter:blur(20px) saturate(130%)
}
.navin{
  min-height:74px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:18px
}
.brand{display:flex;align-items:center;gap:10px;min-width:218px}
.brandmark{width:40px;height:40px;object-fit:contain;flex:0 0 auto}
.brand span{display:block;min-width:0}
.brand b{
  display:block;color:#5f2837;
  font:500 1rem/1.1 var(--font-display);
  letter-spacing:.105em;
  white-space:nowrap
}
.brand small{
  display:block;margin-top:4px;color:#8c7068;
  font-size:.49rem;font-weight:650;line-height:1.15;letter-spacing:.13em;
  white-space:nowrap
}
.links{
  display:flex;align-items:center;justify-content:center;gap:20px;
  min-width:0;
  font-size:.735rem;font-weight:650;white-space:nowrap
}
.links a{position:relative;padding:27px 0 25px;color:#514246}
.links a:after{
  content:"";position:absolute;left:50%;right:50%;bottom:17px;height:1px;background:var(--gold);
  transition:left .2s,right .2s
}
.links a:hover,.links a[aria-current="page"]{color:var(--wine)}
.links a:hover:after,.links a[aria-current="page"]:after{left:0;right:0}
.lang{display:flex;gap:7px;color:#867773;font-size:.64rem}
.lang a{padding:8px 3px}
.lang a:hover{color:var(--wine)}
.nav>.container>.cta{min-height:44px;padding-inline:18px;font-size:.74rem}

.menu-toggle{
  display:none;width:44px;height:44px;padding:0;
  border:1px solid var(--line);border-radius:50%;background:#fff9f3;color:var(--wine);
  cursor:pointer
}
.menu-toggle span,.menu-toggle:before,.menu-toggle:after{
  content:"";display:block;width:18px;height:1px;margin:4px auto;background:currentColor;transition:.25s
}
.menu-toggle[aria-expanded="true"] span{opacity:0}
.menu-toggle[aria-expanded="true"]:before{transform:translateY(5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"]:after{transform:translateY(-5px) rotate(-45deg)}
.mobile-nav{
  display:none;position:fixed;z-index:99;inset:108px 0 0;
  overflow:auto;padding:22px 24px 110px;
  background:rgba(255,250,244,.985);
  backdrop-filter:blur(18px)
}
.mobile-nav.is-open{display:block}
.mobile-nav a{
  display:flex;align-items:center;justify-content:space-between;
  min-height:55px;border-bottom:1px solid var(--line);
  color:#472d34;font:500 1.18rem/1.25 var(--font-display)
}
.mobile-nav a:after{content:"→";color:var(--gold);font-family:var(--font-sans);font-size:.92rem}
.mobile-nav .mobile-langs{display:flex;gap:11px;margin-top:24px}
.mobile-nav .mobile-langs a{
  min-height:40px;padding:0 13px;border:1px solid var(--line);border-radius:999px;
  font:700 .72rem/1 var(--font-sans)
}
.mobile-nav .mobile-langs a:after{content:none}
.mobile-nav .mobile-contact{margin-top:22px}
.mobile-nav .mobile-contact .cta{width:100%}

.mobile-cta-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:95;
  gap:8px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));
  background:rgba(255,250,244,.95);border-top:1px solid var(--line);
  backdrop-filter:blur(18px)
}
.mobile-cta-bar a{flex:1;min-height:44px}

/* ---------------------------------------------------------
   Home Hero
   --------------------------------------------------------- */
.official-hero{
  position:relative;min-height:690px;display:flex;align-items:center;overflow:hidden;
  background:var(--plum)
}
.official-hero:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(31,13,18,.92) 0%,rgba(44,19,27,.74) 42%,rgba(48,22,29,.34) 70%,rgba(30,14,18,.14) 100%),
    linear-gradient(0deg,rgba(26,12,16,.52),transparent 58%),
    url("/assets/images/hero-la-luxury.webp") 56% 44%/cover no-repeat;
  filter:saturate(.91) contrast(1.025)
}
.official-hero:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 72% 23%,rgba(217,193,141,.15),transparent 24rem),
    linear-gradient(90deg,rgba(185,149,89,.05),transparent 30%)
}
.hero-layout{
  position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(0,1.13fr) minmax(310px,.62fr);
  gap:56px;align-items:center;
  padding:82px 0 68px
}
.hero-main{color:white;max-width:750px}
.hero-main .eyebrow{color:#e6cf9d;margin-bottom:16px}
.hero-main .eyebrow:before{background:#d6b66c}
.hero-main h1{
  max-width:12ch;color:white;
  font-size:clamp(3.05rem,5.15vw,4.95rem);line-height:1.035;
  letter-spacing:-.04em;text-shadow:0 8px 34px rgba(0,0,0,.23)
}
.hero-main .subline{
  max-width:710px;margin-top:22px;color:#f0dfc6;
  font-size:clamp(.98rem,1.5vw,1.24rem);font-weight:560;line-height:1.55;
  letter-spacing:.01em
}
.hero-main p{
  max-width:610px;margin-top:20px;
  color:rgba(255,255,255,.79);
  font-size:.98rem;line-height:1.86
}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:29px}
.official-hero .ghost{
  color:#fff;background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.28);backdrop-filter:blur(8px)
}
.official-hero .ghost:hover{background:rgba(255,255,255,.12)}

.consult-card{
  max-width:372px;margin-left:auto;
  padding:25px 25px 23px;
  background:linear-gradient(160deg,rgba(255,252,247,.97),rgba(244,230,216,.95));
  border:1px solid rgba(217,193,141,.58);border-radius:22px;
  box-shadow:0 25px 72px rgba(15,5,8,.27);backdrop-filter:blur(10px)
}
.consult-card .mini{
  color:var(--wine);font-size:.62rem;font-weight:760;line-height:1.3;
  letter-spacing:.14em;text-transform:uppercase
}
.consult-card h2{margin-top:8px;font-size:1.62rem;line-height:1.18}
.consult-card>p{margin-top:10px;font-size:.82rem;line-height:1.7}
.consult-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.consult-option{
  min-height:44px;display:flex;align-items:center;padding:9px 11px;
  border:1px solid rgba(106,39,59,.13);border-radius:11px;
  background:rgba(255,255,255,.69);color:#5e4b50;font-size:.73rem;font-weight:620
}
.consult-option:hover{border-color:rgba(106,39,59,.27);background:#fff}
.consult-card>.cta{width:100%;margin-top:12px}
.consult-note{margin-top:9px!important;color:#8b7772!important;font-size:.66rem!important;line-height:1.5!important}

/* Hero badges */
.hero-badges{background:#fffaf3;border-bottom:1px solid var(--line)}
.hero-badges>.container{display:grid;grid-template-columns:repeat(5,1fr)}
.hero-badge{
  position:relative;min-height:82px;padding:18px 16px 17px 23px;
  border-right:1px solid var(--line)
}
.hero-badge:last-child{border-right:0}
.hero-badge:before{
  content:"";position:absolute;left:14px;top:25px;width:4px;height:4px;border-radius:50%;background:var(--gold)
}
.hero-badge .icon{display:none}
.hero-badge b{
  display:block;color:#4d3138;
  font:500 1rem/1.25 var(--font-display)
}
.hero-badge span:not(.icon){
  display:block;margin-top:5px;color:var(--muted);
  font-size:.68rem;line-height:1.35
}

/* ---------------------------------------------------------
   Section heads
   --------------------------------------------------------- */
.section-head{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,390px);
  gap:54px;align-items:end;margin-bottom:32px
}
.section-head>div{max-width:820px}
.section-head h2{margin-top:8px}
.section-head>p{align-self:end;font-size:.91rem;line-height:1.78}

/* ---------------------------------------------------------
   Service entry cards
   --------------------------------------------------------- */
.service-menu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.service-menu-card{
  display:flex;flex-direction:column;min-width:0;overflow:hidden;
  background:rgba(255,255,255,.83);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow-xs);transition:.28s
}
.service-menu-card:hover{
  transform:translateY(-5px);border-color:rgba(185,149,89,.44);box-shadow:var(--shadow-sm)
}
.service-menu-card img{
  width:100%;aspect-ratio:4/4.35;object-fit:cover;
  filter:saturate(.86) brightness(.95) contrast(1.01);
  transition:transform .5s,filter .5s
}
.service-menu-card:hover img{transform:scale(1.025);filter:saturate(.92) brightness(.98)}
.service-menu-copy{
  display:flex;flex-direction:column;flex:1;padding:18px 17px 19px
}
.service-menu-copy h3{font-size:1.18rem;color:#512c37}
.service-menu-copy p{margin-top:8px;font-size:.78rem;line-height:1.72}
.service-menu-copy .text-link{margin-top:auto;padding-top:16px;font-size:.73rem}

/* ---------------------------------------------------------
   Four club pillars
   --------------------------------------------------------- */
.core-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.core-card{
  position:relative;display:flex;flex-direction:column;min-height:214px;
  padding:25px 23px 23px;
  background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:18px;
  transition:.26s
}
.core-card:hover{transform:translateY(-3px);background:#fff;border-color:rgba(185,149,89,.39);box-shadow:var(--shadow-sm)}
.core-card .num{color:var(--gold);font:500 .96rem/1 var(--font-display)}
.core-card h3{margin-top:21px;color:#522d37}
.core-card p{margin-top:10px;font-size:.82rem;line-height:1.75}
.core-card .text-link{margin-top:auto;padding-top:17px}

/* ---------------------------------------------------------
   Burgundy brand band
   --------------------------------------------------------- */
.wine-band{
  padding:68px 0;color:white;
  background:
    radial-gradient(circle at 84% 20%,rgba(217,193,141,.16),transparent 24rem),
    linear-gradient(135deg,#451522,#732940 54%,#36101a)
}
.wine-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:70px;align-items:center}
.wine-band .eyebrow{color:#ead19b}.wine-band .eyebrow:before{background:#d5b56d}
.wine-band h2{max-width:810px;color:white}
.wine-band p{max-width:650px;margin-top:15px;color:rgba(255,255,255,.72);font-size:.96rem;line-height:1.8}
.wine-points{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.wine-point{
  min-height:76px;padding:13px 14px;
  border:1px solid rgba(255,255,255,.13);border-radius:12px;
  background:rgba(255,255,255,.055);color:#f2e2df;
  font-size:.75rem;line-height:1.45
}
.wine-point small{color:rgba(255,255,255,.55);font-size:.63rem;letter-spacing:.03em}

/* ---------------------------------------------------------
   Yoni-Vers six-part grid
   --------------------------------------------------------- */
.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.journey-card{
  position:relative;min-height:224px;padding:25px 23px 26px;overflow:hidden;
  background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:18px;
  transition:.25s
}
.journey-card:nth-child(even){background:#f6ebdf}
.journey-card:hover{transform:translateY(-3px);border-color:rgba(185,149,89,.38);box-shadow:var(--shadow-sm)}
.journey-card:before{
  content:attr(data-step);position:absolute;right:17px;top:7px;
  color:rgba(106,39,59,.055);font:500 3.7rem/1 var(--font-display)
}
.journey-tag{
  position:relative;color:#8d6838;font-size:.65rem;font-weight:760;line-height:1.3;
  letter-spacing:.11em;text-transform:uppercase
}
.journey-card h3{position:relative;margin-top:9px;color:#512c37}
.journey-card p{position:relative;margin-top:10px;font-size:.82rem;line-height:1.76}

/* ---------------------------------------------------------
   Retreat cards
   --------------------------------------------------------- */
.retreat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.retreat-card{
  position:relative;min-height:460px;overflow:hidden;
  display:flex;align-items:flex-end;border-radius:20px;
  background:#39262c;box-shadow:var(--shadow-sm);isolation:isolate
}
.retreat-card:before{
  content:"";position:absolute;z-index:1;inset:0;
  background:linear-gradient(0deg,rgba(42,14,23,.93),rgba(42,14,23,.10) 64%)
}
.retreat-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.84) brightness(.85);transition:transform .55s,filter .55s
}
.retreat-card:hover img{transform:scale(1.025);filter:saturate(.90) brightness(.89)}
.retreat-copy{position:relative;z-index:2;padding:24px 23px 25px}
.retreat-copy .story-meta{margin-bottom:8px;color:#e6ca88}
.retreat-copy h3{color:white;font-size:1.67rem}
.retreat-copy p{margin-top:10px;color:rgba(255,255,255,.77);font-size:.83rem;line-height:1.7}
.retreat-copy .text-link{color:#efd9a6}

/* ---------------------------------------------------------
   Story cards / Journal
   --------------------------------------------------------- */
.story-strip,.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.story-card,.journal-card{
  display:flex;flex-direction:column;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow-xs);transition:.26s
}
.story-card:hover,.journal-card:hover{transform:translateY(-4px);border-color:rgba(185,149,89,.35);box-shadow:var(--shadow-sm)}
.story-card img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.86) brightness(.95)}
.story-body{display:flex;flex-direction:column;flex:1;padding:24px}
.story-meta{
  margin-bottom:10px;color:var(--wine);
  font-size:.66rem;font-weight:760;line-height:1.35;letter-spacing:.08em;text-transform:uppercase
}
.story-card blockquote{
  margin:0;color:#4b2a33;
  font:500 1.25rem/1.42 var(--font-display);
  text-wrap:balance
}
.story-card p{margin-top:12px;font-size:.82rem;line-height:1.75}
.story-card .text-link{margin-top:auto;padding-top:15px}
.journal-card img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.88) brightness(.95)}
.journal-card .cardbody{display:flex;flex-direction:column;flex:1;padding:22px}
.journal-card h3{font-size:1.23rem}
.journal-card p{margin-top:9px;font-size:.80rem;line-height:1.72}
.journal-card .text-link{margin-top:auto;padding-top:14px}

/* ---------------------------------------------------------
   Locations
   --------------------------------------------------------- */
.location-panel{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:52px;align-items:start;padding:34px;
  background:rgba(255,255,255,.84);border:1px solid var(--line);border-radius:22px
}
.location-panel h2{font-size:clamp(2rem,3.2vw,3rem)!important}
.city-cloud{display:flex;align-content:flex-start;flex-wrap:wrap;gap:8px}
.city-chip,.chip{
  padding:8px 12px;border:1px solid rgba(106,39,59,.14);border-radius:999px;
  background:#fffaf4;color:#654a50;font-size:.72rem;line-height:1.25
}
.city-chip.featured{background:var(--wine);border-color:var(--wine);color:white}
.marketgroup{padding:28px 0;border-top:1px solid var(--line)}
.marketgroup h3{margin-bottom:13px}

/* ---------------------------------------------------------
   Membership cards
   --------------------------------------------------------- */
.membership-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.membership-card{
  position:relative;display:flex;flex-direction:column;min-height:246px;
  padding:24px 21px;
  background:#fff;border:1px solid var(--line);border-radius:18px
}
.membership-card.featured{
  color:white;background:linear-gradient(145deg,#51192a,#783047);border-color:rgba(217,193,141,.37)
}
.membership-card h3{margin-top:8px}
.membership-card.featured h3{color:white}
.price-label{
  color:#8c6735;font-size:.64rem;font-weight:770;line-height:1.3;letter-spacing:.10em;text-transform:uppercase
}
.membership-card.featured .price-label{color:#efd79e}
.membership-card p{margin-top:10px;font-size:.80rem;line-height:1.75}
.membership-card.featured p{color:rgba(255,255,255,.74)}
.membership-card .text-link{margin-top:auto;padding-top:18px}
.membership-card.featured .text-link{color:#efd79e}

/* ---------------------------------------------------------
   Generic cards / media / facts
   --------------------------------------------------------- */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.card{
  display:flex;flex-direction:column;overflow:hidden;
  background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow-xs);transition:.26s
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:rgba(185,149,89,.35)}
.card img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.86) brightness(.95)}
.cardbody{display:flex;flex-direction:column;flex:1;padding:22px}
.number{margin-bottom:7px;color:var(--gold);font:500 .92rem/1 var(--font-display)}
.cardbody p{margin-top:8px;font-size:.80rem;line-height:1.72}
.split{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}
.copy p{max-width:610px;margin-top:18px;font-size:.96rem;line-height:1.85}
.media{
  min-height:495px;overflow:hidden;border-radius:24px;
  background:#ddcdbf;box-shadow:var(--shadow-md)
}
.media img{
  width:100%;height:100%;min-height:495px;object-fit:cover;
  filter:saturate(.85) brightness(.95) contrast(1.01)
}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:30px}
.fact{padding:20px 15px;border-top:1px solid var(--line)}
.fact b{display:block;color:var(--wine);font-size:.78rem}
.fact span{display:block;margin-top:6px;color:var(--muted);font-size:.75rem;line-height:1.5}

/* ---------------------------------------------------------
   Page heroes / reading pages
   --------------------------------------------------------- */
.pagehero{
  padding:80px 0 62px;
  background:
    radial-gradient(circle at 82% 0,rgba(185,149,89,.13),transparent 28rem),
    linear-gradient(180deg,#f0e2d5,#faf4eb);
  border-bottom:1px solid var(--line)
}
.pagehero .container{max-width:var(--container)}
.pagehero h1{max-width:13ch;font-size:clamp(2.65rem,4.35vw,4.2rem);line-height:1.06}
.pagehero p{max-width:700px;margin-top:17px;font-size:.97rem;line-height:1.82}

.quote-panel{
  padding:58px;border-radius:24px;color:white;
  background:
    radial-gradient(circle at 80% 20%,rgba(217,193,141,.12),transparent 18rem),
    linear-gradient(135deg,#421522,#6a263d 66%,#321019)
}
.quote-panel .bigquote{color:white}
.quote-panel p{margin-top:18px;color:rgba(255,255,255,.72)}

.timeline{max-width:880px;margin:42px auto 0}
.day{display:grid;grid-template-columns:126px 1fr;gap:32px;padding:31px 0;border-top:1px solid var(--line)}
.day:last-child{border-bottom:1px solid var(--line)}
.day-num{color:var(--wine);font:500 1.48rem/1.2 var(--font-display)}
.day h3{font-size:1.35rem}
.day p{margin-top:8px;font-size:.94rem;line-height:1.85}
.bullets{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:15px}
.bullet{
  padding:13px 15px;background:rgba(255,255,255,.70);border:1px solid var(--line);border-radius:12px;
  color:var(--muted);font-size:.79rem;line-height:1.6
}

.article{max-width:var(--reading);margin:auto}
.article .lead{
  color:#423036;font:500 1.32rem/1.65 var(--font-display)
}
.article h2{margin:46px 0 14px;font-size:2rem;line-height:1.25}
.article h3{margin:31px 0 10px;font-size:1.35rem}
.article p{
  margin:14px 0;color:#665c59;
  font-size:1.01rem;line-height:1.96
}
.article blockquote{
  margin:31px 0;padding:22px 25px;
  border-left:2px solid var(--gold);background:#f5eadf;
  color:#472f35;font:500 1.25rem/1.65 var(--font-display)
}
.article ul,.article ol{padding-left:1.25rem;color:var(--muted);line-height:1.9}
.article li+li{margin-top:.35em}
.story-person{display:flex;align-items:center;gap:15px;margin-top:20px}
.avatar{
  width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;background:linear-gradient(135deg,var(--rose-mist),var(--gold-soft));
  color:var(--wine);font:500 1.18rem/1 var(--font-display)
}
.person-info b{display:block}.person-info span{font-size:.76rem;color:var(--muted)}
.source-note,.notice{
  margin-top:24px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;
  background:#f2e7db;color:var(--muted);font-size:.74rem;line-height:1.65
}

/* ---------------------------------------------------------
   FAQ
   --------------------------------------------------------- */
.faq{max-width:860px;margin:34px auto 0}
.faq details{border-top:1px solid var(--line);padding:21px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{
  position:relative;padding-right:38px;cursor:pointer;list-style:none;
  color:#4c2d35;font:500 1.16rem/1.45 var(--font-display)
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{
  content:"＋";position:absolute;right:3px;top:0;color:var(--gold);
  font:300 1rem/1.6 var(--font-sans)
}
.faq details[open] summary:after{content:"—"}
.faq details p{max-width:720px;padding-top:11px;font-size:.90rem;line-height:1.82}

/* ---------------------------------------------------------
   Footer
   --------------------------------------------------------- */
.footer{
  padding:62px 0 28px;color:white;
  background:
    radial-gradient(circle at 17% 0,rgba(185,149,89,.09),transparent 28rem),
    linear-gradient(135deg,#28161c,#421824)
}
.footer .brand b{color:#f8eee6}.footer .brand small{color:rgba(255,255,255,.48)}
.footergrid{display:grid;grid-template-columns:1.75fr 1fr 1fr;gap:54px}
.footer p,.footer a{color:rgba(255,255,255,.62)}
.footer h3{color:white;font-size:1.05rem}
.footer a{display:block;margin:7px 0;font-size:.80rem;transition:.2s}
.footer a:hover{color:#efd39b}
.legal{
  margin-top:49px;padding-top:21px;border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.40);font-size:.67rem;line-height:1.65
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media(max-width:1180px){
  .links{gap:13px;font-size:.70rem}
  .brand{min-width:196px}
  .lang{display:none}
  .service-menu{grid-template-columns:repeat(3,1fr)}
  .service-menu-card:nth-child(4),.service-menu-card:nth-child(5){min-height:100%}
  .membership-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:1020px){
  .navin{grid-template-columns:auto 1fr auto}
  .links,.nav>.container>.cta,.lang{display:none}
  .menu-toggle{display:block;grid-column:3}
  .official-hero{min-height:0}
  .hero-layout{grid-template-columns:1fr;gap:33px;padding:76px 0 58px}
  .consult-card{max-width:570px;margin-left:0}
  .hero-badges>.container{grid-template-columns:repeat(3,1fr)}
  .hero-badge:nth-child(3){border-right:0}
  .hero-badge:nth-child(4),.hero-badge:nth-child(5){border-top:1px solid var(--line)}
  .core-grid{grid-template-columns:repeat(2,1fr)}
  .journey-grid{grid-template-columns:repeat(2,1fr)}
  .wine-grid,.location-panel{grid-template-columns:1fr;gap:34px}
  .section-head{grid-template-columns:1fr;gap:15px}
  .section-head>p{max-width:650px}
  .story-strip,.journal-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:760px){
  body{font-size:15.5px;padding-bottom:63px}
  .container{width:min(100% - 30px,var(--container))}
  .topbar{font-size:.56rem;letter-spacing:.08em}
  .navin{min-height:68px}
  .brandmark{width:35px;height:35px}
  .brand b{font-size:.91rem}
  .brand small{font-size:.44rem}
  .mobile-nav{inset:98px 0 0}
  .mobile-cta-bar{display:flex}

  .section{padding:76px 0}
  .section.compact{padding:60px 0}
  h1{font-size:clamp(2.55rem,11vw,3.7rem)}
  h2{font-size:clamp(1.95rem,8.2vw,2.65rem)}
  h3{font-size:1.24rem}
  .eyebrow{font-size:.62rem;letter-spacing:.12em}

  .hero-layout{padding:64px 0 48px}
  .hero-main h1{font-size:clamp(2.85rem,12vw,4.1rem);max-width:10.8ch}
  .hero-main .subline{font-size:1rem;line-height:1.6}
  .hero-main p{font-size:.94rem;line-height:1.8}
  .hero-actions .cta,.hero-actions .ghost{width:100%}
  .consult-card{padding:23px 20px}
  .consult-options{grid-template-columns:1fr 1fr}
  .hero-badges>.container{grid-template-columns:1fr 1fr}
  .hero-badge{border-bottom:1px solid var(--line)}
  .hero-badge:nth-child(2n){border-right:0}
  .hero-badge:nth-child(3){border-right:1px solid var(--line)}
  .hero-badge:last-child{grid-column:1/-1;border-right:0}

  .service-menu,.core-grid,.journey-grid,.retreat-grid,.story-strip,.journal-grid,.membership-grid,.grid4{
    grid-template-columns:1fr
  }
  .service-menu-card{display:grid;grid-template-columns:126px 1fr;min-height:150px}
  .service-menu-card img{height:100%;aspect-ratio:auto}
  .service-menu-copy{padding:18px}
  .service-menu-copy p{min-height:0}
  .service-menu-copy .text-link{margin-top:12px;padding-top:0}
  .core-card,.membership-card{min-height:auto}
  .wine-band{padding:58px 0}
  .wine-points{grid-template-columns:1fr 1fr}
  .retreat-card{min-height:430px}
  .location-panel{padding:24px}
  .facts{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:33px}
  .media,.media img{min-height:420px}
  .pagehero{padding:66px 0 54px}
  .pagehero h1{font-size:clamp(2.45rem,10vw,3.35rem)}
  .quote-panel{padding:36px 27px}
  .day{grid-template-columns:1fr;gap:6px;padding:26px 0}
  .bullets{grid-template-columns:1fr}
  .article p{font-size:1rem;line-height:1.9}
  .article h2{font-size:1.75rem}
  .footergrid{grid-template-columns:1fr;gap:31px}
}

@media(max-width:480px){
  .container{width:min(100% - 24px,var(--container))}
  .consult-options{grid-template-columns:1fr}
  .hero-badges>.container{grid-template-columns:1fr}
  .hero-badge{border-right:0!important;grid-column:auto!important}
  .service-menu-card{grid-template-columns:104px 1fr}
  .wine-points{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr}
  .city-chip,.chip{font-size:.69rem}
}

/* Motion preference */
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* =========================================================
   V6 — LOS ANGELES + LAS VEGAS DUAL-CITY SYSTEM
   ========================================================= */
:root{
  --la-wine:#6a273b;
  --lv-bronze:#9b7048;
  --lv-night:#20171a;
}
.dual-city-bar{
  background:#fffaf4;border-bottom:1px solid var(--line)
}
.dual-city-bar .container{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center
}
.dual-city-link{
  min-height:54px;display:flex;align-items:center;justify-content:center;gap:9px;
  color:#5f4148;font-size:.75rem;font-weight:720;letter-spacing:.04em
}
.dual-city-link strong{font-family:var(--font-display);font-size:.96rem;font-weight:500}
.dual-city-link:hover{color:var(--wine)}
.dual-city-divider{width:1px;height:22px;background:var(--line)}
.dual-city-link.la:before,.dual-city-link.lv:before{
  content:"";width:6px;height:6px;border-radius:50%
}
.dual-city-link.la:before{background:var(--wine)}
.dual-city-link.lv:before{background:var(--lv-bronze)}

.city-duo{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px
}
.city-feature{
  position:relative;min-height:495px;overflow:hidden;border-radius:22px;
  display:flex;align-items:flex-end;background:#39262c;box-shadow:var(--shadow-sm)
}
.city-feature img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.82) brightness(.80);transition:.55s
}
.city-feature:hover img{transform:scale(1.025);filter:saturate(.9) brightness(.85)}
.city-feature:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(40,15,23,.95),rgba(40,15,23,.14) 64%)
}
.city-feature.lv:after{
  background:linear-gradient(0deg,rgba(31,19,17,.96),rgba(48,34,27,.16) 64%)
}
.city-feature-copy{position:relative;z-index:2;padding:31px 30px 32px;max-width:570px}
.city-feature-copy .city-label{
  color:#e8ca87;font-size:.67rem;font-weight:760;letter-spacing:.14em;text-transform:uppercase
}
.city-feature-copy h3{margin-top:8px;color:white;font-size:2rem}
.city-feature-copy p{margin-top:10px;color:rgba(255,255,255,.77);font-size:.86rem;line-height:1.75}
.city-feature-copy .text-link{color:#efd69c}

.city-role-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px
}
.city-role{
  padding:14px 15px;border:1px solid rgba(255,255,255,.13);border-radius:12px;
  background:rgba(255,255,255,.055);color:rgba(255,255,255,.78);
  font-size:.73rem;line-height:1.55
}
.city-role b{display:block;color:white;font-size:.78rem;margin-bottom:4px}

.dual-city-intro{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:start
}
.dual-city-stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:11px
}
.dual-stat{
  min-height:126px;padding:19px;border:1px solid var(--line);border-radius:15px;
  background:rgba(255,255,255,.78)
}
.dual-stat b{display:block;color:var(--wine);font:500 1.18rem/1.2 var(--font-display)}
.dual-stat span{display:block;margin-top:7px;color:var(--muted);font-size:.76rem;line-height:1.55}

.city-page-hero{
  position:relative;min-height:530px;display:flex;align-items:flex-end;overflow:hidden;background:var(--plum)
}
.city-page-hero:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(32,14,20,.90),rgba(42,19,27,.58),rgba(42,19,27,.14)),
    var(--city-image) center/cover no-repeat
}
.city-page-hero.lv:before{
  background:
    linear-gradient(90deg,rgba(27,18,18,.91),rgba(46,31,27,.60),rgba(46,31,27,.16)),
    var(--city-image) center/cover no-repeat
}
.city-page-hero .container{position:relative;z-index:2;padding:90px 0 66px;color:white}
.city-page-hero .eyebrow{color:#e6cf9d}
.city-page-hero .eyebrow:before{background:#d5b56d}
.city-page-hero h1{color:white;max-width:13ch}
.city-page-hero p{max-width:650px;margin-top:18px;color:rgba(255,255,255,.79);font-size:.98rem;line-height:1.82}

.neighborhood-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px
}
.neighborhood{
  padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff
}
.neighborhood h3{font-size:1.16rem;color:#512d37}
.neighborhood p{margin-top:7px;font-size:.78rem;line-height:1.65}

@media(max-width:900px){
  .city-duo,.dual-city-intro{grid-template-columns:1fr}
  .city-feature{min-height:470px}
  .neighborhood-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .dual-city-bar .container{grid-template-columns:1fr 1fr}
  .dual-city-divider{display:none}
  .dual-city-link{min-height:49px;font-size:.68rem}
  .dual-city-link strong{font-size:.86rem}
  .city-feature{min-height:430px}
  .city-feature-copy{padding:25px 22px}
  .city-role-grid,.dual-city-stats,.neighborhood-grid{grid-template-columns:1fr}
}


/* =========================================================
   V7 PRECISION POLISH
   ========================================================= */

/* Global rhythm */
body{font-kerning:normal}
main{overflow:hidden}
.section-head h2{max-width:18ch}
.section-head>p{max-width:360px}
.section-head .eyebrow{margin-bottom:10px}
p{letter-spacing:.003em}
small{letter-spacing:.01em}

/* Navigation is deliberately quieter than the content */
.nav{box-shadow:0 5px 22px rgba(53,23,31,.028)}
.brandmark{width:38px;height:38px}
.brand b{font-size:.96rem;letter-spacing:.095em}
.brand small{font-size:.46rem;letter-spacing:.14em}
.nav>.container>.cta{min-height:42px;padding-inline:17px}
.links a{color:#58494d}
.lang{font-size:.62rem}

/* Dual-city switch: more compact, premium, and less like a secondary navbar */
.dual-city-bar{
  background:linear-gradient(90deg,#fcf8f2,#f7efe5 50%,#fcf8f2);
  border-bottom:1px solid rgba(73,43,48,.10)
}
.dual-city-bar .container{
  width:min(720px,calc(100% - 32px));
  grid-template-columns:1fr 1fr;
  gap:0
}
.dual-city-divider{display:none}
.dual-city-link{
  min-height:44px;gap:8px;
  font-size:.68rem;font-weight:650;letter-spacing:.025em;
  border-left:1px solid transparent;border-right:1px solid transparent
}
.dual-city-link:first-child{border-right:1px solid var(--line)}
.dual-city-link strong{font-size:.89rem}
.dual-city-link span{color:#857874}
.dual-city-link.la:before,.dual-city-link.lv:before{width:5px;height:5px}
.dual-city-link.lv:before{background:#a47b54}

/* Hero */
.official-hero:before{
  background:
    linear-gradient(90deg,rgba(30,13,18,.94) 0%,rgba(43,19,26,.76) 43%,rgba(47,22,28,.36) 69%,rgba(29,13,18,.12) 100%),
    linear-gradient(0deg,rgba(25,11,15,.54),transparent 59%),
    url("/assets/images/hero-la-luxury.webp") 58% 44%/cover no-repeat
}
.hero-main{max-width:700px}
.hero-main h1{max-width:11.4ch;text-wrap:balance}
.hero-main .subline{max-width:660px;margin-top:18px;color:#ead8bd}
.hero-main p{max-width:570px;margin-top:17px}
.hero-actions{margin-top:26px}
.hero-main .eyebrow{margin-bottom:14px}
.consult-card{
  border-color:rgba(185,149,89,.48);
  box-shadow:0 22px 58px rgba(15,5,8,.24)
}
.consult-card h2{letter-spacing:-.015em}
.consult-options{margin-top:16px}
.consult-option{font-size:.71rem}
.consult-note{letter-spacing:.01em}

/* Badges align visually on one baseline */
.hero-badge{display:flex;flex-direction:column;justify-content:center}
.hero-badge b{font-size:.96rem}
.hero-badge span:not(.icon){font-size:.66rem}

/* Services */
.service-menu{gap:12px}
.service-menu-card{border-radius:16px}
.service-menu-copy h3{font-size:1.12rem;line-height:1.28}
.service-menu-copy p{font-size:.79rem;line-height:1.78}
.service-menu-copy .text-link{font-size:.71rem}
.service-menu-card img{object-position:center 46%}

/* Club pillars */
.core-grid{gap:12px}
.core-card{border-radius:16px}
.core-card h3{font-size:1.28rem}
.core-card p{font-size:.81rem;line-height:1.78}

/* Burgundy statement */
.wine-band{
  background:
    radial-gradient(circle at 82% 16%,rgba(210,185,130,.13),transparent 22rem),
    linear-gradient(135deg,#3e1521,#67263b 54%,#321018)
}
.wine-band h2{max-width:17ch}
.wine-band p{font-size:.93rem}
.wine-point{min-height:72px}

/* Journey */
.journey-grid{gap:12px}
.journey-card{border-radius:16px}
.journey-card h3{font-size:1.25rem}
.journey-card p{font-size:.81rem;line-height:1.78}
.journey-card:before{font-size:3.35rem}

/* Retreat */
.retreat-grid{gap:13px}
.retreat-card{border-radius:18px}
.retreat-copy h3{font-size:1.60rem}
.retreat-copy p{font-size:.81rem;line-height:1.76}

/* Story */
.story-strip,.journal-grid{gap:13px}
.story-card,.journal-card{border-radius:16px}
.story-card blockquote{font-size:1.18rem;line-height:1.48}
.story-card p{font-size:.81rem;line-height:1.78}
.story-meta{font-size:.63rem;letter-spacing:.065em}

/* LA + Las Vegas */
.city-duo{gap:14px}
.city-feature{
  min-height:480px;border-radius:19px;
  box-shadow:0 16px 44px rgba(53,23,31,.10)
}
.city-feature-copy{padding:27px 26px 28px}
.city-feature-copy .city-label{font-size:.63rem}
.city-feature-copy h3{font-size:1.82rem}
.city-feature-copy p{font-size:.82rem;line-height:1.78}
.city-feature.la:after{
  background:linear-gradient(0deg,rgba(51,14,28,.94),rgba(61,21,33,.13) 66%)
}
.city-feature.lv:after{
  background:linear-gradient(0deg,rgba(31,22,18,.96),rgba(57,39,27,.12) 66%)
}
.city-role-grid{gap:8px;margin-top:17px}
.city-role{padding:12px 13px;font-size:.70rem}
.city-feature.lv .city-label,.city-feature.lv .text-link{color:#e2c190}

/* City page typography */
.city-page-hero{min-height:500px}
.city-page-hero .container{padding:76px 0 58px}
.city-page-hero h1{font-size:clamp(3rem,4.7vw,4.45rem)}
.city-page-hero p{font-size:.94rem;max-width:610px}
.kicker{font-size:clamp(1.2rem,1.8vw,1.68rem)}
.neighborhood-grid{gap:10px}
.neighborhood{padding:18px;border-radius:14px}
.neighborhood h3{font-size:1.10rem}
.neighborhood p{font-size:.77rem;line-height:1.70}

/* Membership */
.membership-grid{gap:12px}
.membership-card{border-radius:16px}
.membership-card h3{font-size:1.25rem}
.membership-card p{font-size:.79rem;line-height:1.78}

/* Reading pages */
.pagehero p{max-width:660px}
.article{font-size:1rem}
.article .lead{font-size:1.24rem;line-height:1.7}
.article h2{font-size:1.85rem;margin-top:42px}
.article h3{font-size:1.28rem}
.article blockquote{font-size:1.18rem}
.day{grid-template-columns:116px 1fr;gap:28px}
.day-num{font-size:1.35rem}
.day h3{font-size:1.28rem}
.day p{font-size:.93rem}

/* FAQ */
.faq{max-width:820px}
.faq summary{font-size:1.12rem}
.faq details p{font-size:.89rem}

/* Footer */
.footergrid{gap:46px}
.footer p{font-size:.83rem;line-height:1.78}
.footer a{font-size:.78rem}

/* Improve visual consistency when a page has a single oversized inline style */
[style*="font-size:3.2rem"]{font-size:clamp(2rem,3vw,2.8rem)!important}

/* Mobile */
@media(max-width:1020px){
  .mobile-nav{inset:74px 0 0}
}
@media(max-width:760px){
  body{font-size:16px;line-height:1.84}
  .section{padding:70px 0}
  h1{font-size:clamp(2.45rem,10.5vw,3.45rem)}
  h2{font-size:clamp(1.88rem,7.8vw,2.42rem)}
  .topbar{min-height:27px}
  .navin{min-height:66px}
  .mobile-nav{inset:66px 0 0}
  .dual-city-bar .container{width:100%}
  .dual-city-link{min-height:41px}
  .official-hero{min-height:0}
  .hero-layout{padding:56px 0 44px;gap:28px}
  .hero-main h1{font-size:clamp(2.65rem,11.2vw,3.7rem)}
  .hero-main .subline{margin-top:16px}
  .hero-main p{margin-top:15px}
  .consult-card{padding:21px 19px}
  .hero-badge{min-height:72px}
  .section-head{margin-bottom:28px}
  .service-menu-card{grid-template-columns:112px 1fr}
  .service-menu-copy h3{font-size:1.08rem}
  .wine-band{padding:52px 0}
  .city-feature{min-height:410px}
  .city-feature-copy h3{font-size:1.62rem}
  .pagehero{padding:59px 0 48px}
  .pagehero h1{font-size:clamp(2.32rem,9.5vw,3.1rem)}
  .article p{font-size:1rem;line-height:1.94}
}
@media(max-width:480px){
  .service-menu-card{grid-template-columns:96px 1fr}
  .service-menu-copy{padding:15px}
  .city-feature{min-height:395px}
  .city-feature-copy{padding:22px 20px}
}


/* =========================================================
   V8 GLOBAL WOMEN'S WELLNESS KNOWLEDGE + LOCALIZATION
   ========================================================= */
.knowledge-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px
}
.knowledge-card{
  display:flex;flex-direction:column;min-height:260px;padding:25px 23px;
  border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.84);
  transition:.25s
}
.knowledge-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:rgba(185,149,89,.36)}
.knowledge-card .term{
  color:#8d6838;font-size:.64rem;font-weight:760;letter-spacing:.10em;text-transform:uppercase
}
.knowledge-card h3{margin-top:12px;color:#512d37}
.knowledge-card p{margin-top:10px;font-size:.81rem;line-height:1.78}
.knowledge-card .text-link{margin-top:auto;padding-top:18px}

.traditions-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px
}
.tradition{
  position:relative;padding:28px 25px 27px;border-radius:18px;border:1px solid var(--line);
  background:#fff;overflow:hidden
}
.tradition:nth-child(2){background:#f6ece2}
.tradition:nth-child(3){background:linear-gradient(145deg,#4f1d2d,#6c2a40);color:white;border-color:rgba(217,193,141,.28)}
.tradition:nth-child(3) h3{color:white}
.tradition:nth-child(3) p{color:rgba(255,255,255,.74)}
.tradition .origin{
  color:var(--gold);font-size:.64rem;font-weight:760;letter-spacing:.11em;text-transform:uppercase
}
.tradition h3{margin-top:10px}
.tradition p{margin-top:10px;font-size:.82rem;line-height:1.8}
.tradition .not-medical{
  display:inline-flex;margin-top:18px;padding:7px 10px;border-radius:999px;
  border:1px solid var(--line);color:var(--muted);font-size:.66rem
}
.tradition:nth-child(3) .not-medical{border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.68)}

.safety-band{
  padding:62px 0;background:#ede1d5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.safety-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.safety-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.safety-item{
  padding:15px;border:1px solid rgba(106,39,59,.12);border-radius:12px;background:rgba(255,255,255,.62);
  color:var(--muted);font-size:.77rem;line-height:1.65
}
.safety-item b{display:block;color:var(--wine);font-size:.78rem;margin-bottom:4px}

.evidence-note{
  margin:28px 0;padding:18px 19px;border-left:3px solid var(--gold);
  background:#f4eadf;color:#685d59;font-size:.82rem;line-height:1.72
}
.evidence-note strong{color:#4b3339}

.scope-table{
  width:100%;border-collapse:collapse;margin-top:26px;font-size:.80rem
}
.scope-table th,.scope-table td{
  padding:14px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top
}
.scope-table th{color:#59313b;font-size:.72rem;letter-spacing:.04em}
.scope-table td{color:var(--muted);line-height:1.65}
.scope-table td:first-child{color:#463238;font-weight:700;width:28%}

.locale-hero{
  padding:80px 0 64px;background:
    radial-gradient(circle at 82% 0,rgba(185,149,89,.14),transparent 26rem),
    linear-gradient(180deg,#f1e4d8,#fbf6ef)
}
.locale-hero h1{max-width:15ch}
.locale-hero p{max-width:720px;margin-top:18px;font-size:.96rem;line-height:1.85}
.locale-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.locale-pill{
  display:inline-flex;padding:8px 12px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.67);color:#68555a;font-size:.71rem
}

.language-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:28px
}
.language-card{
  padding:16px 15px;border:1px solid var(--line);border-radius:13px;background:#fff;
  text-align:center
}
.language-card b{display:block;color:#522f38;font-size:.82rem}
.language-card span{display:block;margin-top:4px;color:var(--muted);font-size:.67rem}

.guide-hero{
  padding:82px 0 62px;background:
   radial-gradient(circle at 82% 0,rgba(185,149,89,.12),transparent 24rem),
   linear-gradient(180deg,#efe2d6,#faf4eb);
  border-bottom:1px solid var(--line)
}
.guide-hero .badge{
  display:inline-flex;padding:7px 10px;border:1px solid var(--line);border-radius:999px;
  color:#7c5e3b;background:rgba(255,255,255,.56);font-size:.66rem;font-weight:700;letter-spacing:.04em
}
.guide-hero h1{margin-top:15px;max-width:14ch}
.guide-hero p{max-width:720px;margin-top:17px;font-size:.96rem;line-height:1.82}

.glossary{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px
}
.glossary-item{
  padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff
}
.glossary-item dt{color:#512e38;font:500 1.05rem/1.3 var(--font-display)}
.glossary-item dd{margin:8px 0 0;color:var(--muted);font-size:.81rem;line-height:1.72}

.archive-warning{
  margin-bottom:24px;padding:14px 16px;border:1px solid #dfcdbb;border-radius:12px;
  background:#f4e7da;color:#6f5b55;font-size:.77rem;line-height:1.7
}

@media(max-width:980px){
  .knowledge-grid,.traditions-grid{grid-template-columns:repeat(2,1fr)}
  .safety-grid{grid-template-columns:1fr}
  .language-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .knowledge-grid,.traditions-grid,.glossary{grid-template-columns:1fr}
  .safety-list{grid-template-columns:1fr}
  .language-grid{grid-template-columns:repeat(2,1fr)}
  .scope-table{font-size:.76rem}
  .scope-table th,.scope-table td{padding:11px 9px}
}

/* =========================================================
   V9 — SCREENSHOT-DRIVEN VISUAL POLISH + FULL LANGUAGE UX
   ========================================================= */
:root{
  --v9-wine:#62263A;
  --v9-wine-dark:#351923;
  --v9-gold:#B28B50;
  --v9-cream:#FBF6EF;
  --v9-paper:#FFFCF8;
  --v9-line:rgba(78,48,52,.12);
}

/* utility language bar */
.utilitybar{
  position:relative;z-index:120;
  background:var(--v9-wine-dark);
  color:rgba(255,255,255,.76);
  border-bottom:1px solid rgba(255,255,255,.07)
}
.utilitybar .container{
  min-height:34px;
  display:flex;align-items:center;justify-content:space-between;gap:24px
}
.utility-city{
  display:flex;align-items:center;gap:9px;
  font-size:.64rem;font-weight:700;letter-spacing:.10em;text-transform:uppercase;
  white-space:nowrap
}
.utility-city .dot{width:4px;height:4px;border-radius:50%;background:var(--v9-gold)}
.language-switch{
  display:flex;align-items:center;justify-content:flex-end;gap:2px;
  min-width:0;overflow-x:auto;scrollbar-width:none
}
.language-switch::-webkit-scrollbar{display:none}
.language-switch a{
  flex:0 0 auto;
  padding:7px 9px 6px;
  color:rgba(255,255,255,.67);
  font-size:.65rem;font-weight:650;line-height:1;
  white-space:nowrap;border-bottom:1px solid transparent
}
.language-switch a:hover,.language-switch a.active{
  color:#F4DFB3;border-bottom-color:#D2B06A
}

/* remove old secondary / empty city strip */
.dual-city-bar{display:none!important}

/* header refinement */
.navin{min-height:72px!important}
.brandmark{width:40px!important;height:40px!important}
.brand b{font-size:1rem!important}
.brand small{font-size:.47rem!important}
.links{gap:22px!important;font-size:.77rem!important}
.links a{padding:26px 0 24px!important}
.nav>.container>.cta{min-height:42px!important;padding:0 19px!important}
.lang{display:none!important}

/* absolutely no white button text wrapping */
.cta,
.ghost,
.text-link,
.mobile-cta-bar a,
.membership-card.featured .text-link,
.consult-option,
.nav .cta{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.cta{min-width:max-content}
.text-link{width:max-content}
.membership-card.featured .text-link{color:#F2D79E!important}

/* avoid double arrows, CSS owns the arrow */
.text-link::after{content:"→"!important}
.text-link[data-no-arrow]::after{content:none!important}

/* screenshot scale corrections */
.section{padding:82px 0!important}
.section.compact{padding:62px 0!important}
h1{font-size:clamp(2.75rem,4.25vw,4.05rem)!important;line-height:1.07!important}
h2{font-size:clamp(1.95rem,2.9vw,2.82rem)!important;line-height:1.15!important}
h3{font-size:clamp(1.18rem,1.35vw,1.34rem)!important}
.pagehero{padding:67px 0 54px!important}
.pagehero h1{font-size:clamp(2.55rem,3.75vw,3.68rem)!important;max-width:16ch!important}
.pagehero p{font-size:1rem!important;line-height:1.82!important}
.eyebrow{font-size:.66rem!important;letter-spacing:.13em!important}

/* main content is less airy and more aligned */
.container{width:min(1160px,calc(100% - 46px))!important}
.section-head{
  grid-template-columns:minmax(0,1fr) minmax(280px,360px)!important;
  gap:48px!important;margin-bottom:30px!important
}
.section-head h2{max-width:19ch!important}
.section-head>p{font-size:.94rem!important;line-height:1.8!important;max-width:360px!important}

/* home hero */
.official-hero{min-height:640px!important}
.hero-layout{padding:70px 0 58px!important;gap:52px!important}
.hero-main h1{font-size:clamp(3rem,4.65vw,4.5rem)!important;max-width:11ch!important}
.hero-main .subline{font-size:clamp(1rem,1.35vw,1.17rem)!important}
.hero-main p{font-size:1rem!important;line-height:1.84!important}
.consult-card{max-width:360px!important;padding:24px!important}
.consult-card h2{font-size:1.55rem!important}

/* service cards: larger readable body, tighter space */
.service-menu{gap:12px!important}
.service-menu-copy{padding:18px 17px 19px!important}
.service-menu-copy h3{font-size:1.15rem!important}
.service-menu-copy p{font-size:.83rem!important;line-height:1.76!important}
.service-menu-copy .text-link{font-size:.73rem!important}

/* Membership screenshot fixes */
.membership-shell{
  padding:76px 0 74px;
  background:linear-gradient(180deg,#FFFCF8,#FBF6EF)
}
.membership-intro{
  display:grid;grid-template-columns:minmax(0,.95fr) minmax(300px,.55fr);
  gap:70px;align-items:end;margin-bottom:31px
}
.membership-intro h1{
  max-width:8.5ch;font-size:clamp(2.8rem,3.7vw,3.7rem)!important;line-height:1.08!important
}
.membership-intro p{font-size:.96rem;line-height:1.82;max-width:390px}
.membership-grid{gap:12px!important}
.membership-card{
  min-height:246px!important;padding:24px 22px 22px!important;border-radius:16px!important
}
.membership-card h3{font-size:1.27rem!important;line-height:1.3!important}
.membership-card p{font-size:.84rem!important;line-height:1.78!important}
.membership-card .text-link{
  margin-top:auto!important;padding-top:20px!important;
  font-size:.75rem!important;font-weight:760!important
}
.price-label{font-size:.65rem!important}

/* FAQ screenshot: use the width instead of leaving huge blank areas */
.faq-section{
  padding:74px 0 72px;
  background:
    radial-gradient(circle at 12% 12%,rgba(178,139,80,.055),transparent 26rem),
    linear-gradient(180deg,#F5EADF,#FBF5ED)
}
.faq-layout{
  display:grid;
  grid-template-columns:minmax(300px,.68fr) minmax(560px,1.32fr);
  gap:76px;align-items:start
}
.faq-intro{position:sticky;top:126px}
.faq-intro h1{
  max-width:10ch;
  font-size:clamp(2.7rem,3.65vw,3.65rem)!important;
  line-height:1.09!important
}
.faq-intro p{max-width:330px;margin-top:18px;font-size:.93rem;line-height:1.8}
.faq{max-width:none!important;margin:0!important}
.faq details{padding:19px 0!important}
.faq summary{
  font-size:1.15rem!important;
  line-height:1.48!important
}
.faq details p{
  max-width:690px!important;
  padding:10px 42px 1px 0!important;
  font-size:.94rem!important;
  line-height:1.85!important
}

/* stories and editorial */
.story-card blockquote{font-size:1.16rem!important}
.story-card p,.journal-card p{font-size:.84rem!important}
.article{max-width:740px!important}
.article p{font-size:1.02rem!important;line-height:1.94!important}

/* locations */
.city-feature{min-height:440px!important}
.city-feature-copy h3{font-size:1.68rem!important}
.city-feature-copy p{font-size:.85rem!important}

/* V9 full language pages */
.locale-full-hero{
  padding:74px 0 58px;
  background:
    radial-gradient(circle at 83% 0,rgba(178,139,80,.11),transparent 25rem),
    linear-gradient(180deg,#F1E5D9,#FBF6EF);
  border-bottom:1px solid var(--v9-line)
}
.locale-full-hero h1{max-width:13ch}
.locale-full-hero p{max-width:720px;margin-top:17px;font-size:1rem;line-height:1.84}
.locale-full-hero .hero-actions{margin-top:24px}
.feature-grid-5{
  display:grid;grid-template-columns:repeat(5,1fr);gap:12px
}
.feature-card{
  display:flex;flex-direction:column;min-height:226px;
  padding:23px 20px;border:1px solid var(--v9-line);border-radius:16px;
  background:rgba(255,255,255,.84)
}
.feature-card .tag{
  color:#89673D;font-size:.62rem;font-weight:760;letter-spacing:.10em;text-transform:uppercase
}
.feature-card h3{margin-top:10px;color:#522E39}
.feature-card p{margin-top:8px;font-size:.82rem;line-height:1.76}
.feature-card .text-link{margin-top:auto;padding-top:16px}
.locale-two{
  display:grid;grid-template-columns:1fr 1fr;gap:14px
}
.locale-city{
  padding:27px;border-radius:18px;min-height:260px;color:white;
  background:linear-gradient(145deg,#5B2033,#722C42)
}
.locale-city.lv{background:linear-gradient(145deg,#3A2720,#6E5038)}
.locale-city h3{color:white;margin-top:10px;font-size:1.55rem!important}
.locale-city p{color:rgba(255,255,255,.75);margin-top:9px;font-size:.84rem;line-height:1.75}
.locale-city .text-link{color:#F0D6A1}

/* guide should read like a magazine, not developer documentation */
.guide-clean{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px
}
.guide-clean article{
  padding:25px;border:1px solid var(--line);border-radius:16px;background:#fff
}
.guide-clean h3{color:#512E38}
.guide-clean p{margin-top:10px;font-size:.84rem;line-height:1.8}

/* footer */
.footer{padding:54px 0 25px!important}
.footergrid{gap:42px!important}
.footer p{font-size:.82rem!important}
.footer h3{font-size:1rem!important}
.legal{margin-top:38px!important}

/* responsive */
@media(max-width:1050px){
  .utilitybar .container{width:min(100% - 28px,1160px)!important}
  .links{gap:15px!important;font-size:.72rem!important}
  .feature-grid-5{grid-template-columns:repeat(3,1fr)}
  .faq-layout{grid-template-columns:1fr;gap:34px}
  .faq-intro{position:static}
  .faq-intro h1{max-width:15ch}
  .membership-intro{grid-template-columns:1fr;gap:18px}
}
@media(max-width:760px){
  .utilitybar .container{
    min-height:39px;display:block;padding:5px 0 4px
  }
  .utility-city{display:none}
  .language-switch{justify-content:flex-start}
  .language-switch a{font-size:.66rem;padding:7px 8px}
  .navin{min-height:64px!important}
  .mobile-nav{inset:103px 0 0!important}
  .container{width:min(100% - 28px,1160px)!important}
  .section{padding:66px 0!important}
  .pagehero{padding:55px 0 45px!important}
  h1{font-size:clamp(2.35rem,9.2vw,3.05rem)!important}
  h2{font-size:clamp(1.78rem,7vw,2.28rem)!important}
  .official-hero{min-height:0!important}
  .hero-layout{padding:52px 0 42px!important}
  .hero-main h1{font-size:clamp(2.7rem,10.8vw,3.6rem)!important}
  .membership-shell{padding:57px 0}
  .membership-intro h1{font-size:clamp(2.45rem,9vw,3.2rem)!important;max-width:12ch}
  .faq-section{padding:58px 0}
  .faq-intro h1{font-size:clamp(2.4rem,9vw,3.05rem)!important}
  .faq details p{padding-right:20px!important}
  .feature-grid-5{grid-template-columns:1fr}
  .locale-two{grid-template-columns:1fr}
  .membership-grid{grid-template-columns:1fr!important}
  .membership-card{min-height:auto!important}
}


/* =========================================================
   V10 — IMAGE/TEXT CLARITY + MAIN-SITE CLEANUP
   ========================================================= */
.section-head{
  grid-template-columns:minmax(0,1fr) minmax(300px,430px)!important;
  gap:42px!important;align-items:end!important
}
.section-head h2{max-width:12ch!important}
.section-head>p{max-width:430px!important}

/* cleaner service cards: no squeezed / distorted visual rhythm */
.service-menu{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;align-items:stretch!important
}
.service-menu-card{
  display:flex!important;flex-direction:column!important;overflow:hidden!important;
  min-height:0!important;border-radius:18px!important;background:#fff!important;
  border:1px solid var(--line)!important;box-shadow:var(--shadow-xs)!important
}
.service-menu-card img{
  width:100%!important;height:auto!important;aspect-ratio:4/3!important;
  object-fit:cover!important;object-position:center center!important;
  position:relative!important;filter:saturate(.92) brightness(.97)!important
}
.service-menu-copy{
  padding:18px 18px 19px!important;background:#fff!important;position:static!important
}
.service-menu-copy h3{font-size:1.22rem!important;line-height:1.28!important}
.service-menu-copy p{font-size:.84rem!important;line-height:1.8!important;min-height:0!important}
.service-menu-copy .text-link{margin-top:14px!important;padding-top:0!important}

/* cleaner retreat cards: remove text-on-image problem */
.retreat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.retreat-card{
  min-height:0!important;display:flex!important;flex-direction:column!important;
  align-items:stretch!important;overflow:hidden!important;background:#fff!important;
  border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:var(--shadow-xs)!important
}
.retreat-card:before{display:none!important}
.retreat-card img{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;
  aspect-ratio:4/3!important;object-fit:cover!important;filter:saturate(.93) brightness(.97)!important;
  transform:none!important
}
.retreat-copy{position:static!important;z-index:auto!important;padding:18px 18px 20px!important}
.retreat-copy .story-meta{color:#8a6a3d!important}
.retreat-copy h3{color:#512c37!important;font-size:1.28rem!important;line-height:1.3!important}
.retreat-copy p{color:var(--muted)!important;font-size:.84rem!important;line-height:1.8!important}
.retreat-copy .text-link{color:var(--wine)!important}

/* story cards and guide cards use owned clean images only */
.story-strip{gap:18px!important}
.story-card img{
  aspect-ratio:4/3!important;object-fit:cover!important;object-position:center center!important
}

/* detail timeline cards remain text-first */
.timeline .day{
  background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;
  padding:20px 18px!important
}

/* links and CTAs all remain connected to the main site architecture */
.brand,.links a,.footer a,.service-menu-card,.retreat-card,.locale-city,.story-card{cursor:pointer}

@media(max-width:1080px){
  .service-menu,.retreat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .section-head{grid-template-columns:1fr!important;gap:20px!important}
  .service-menu,.retreat-grid{grid-template-columns:1fr!important;gap:15px!important}
  .service-menu-card img,.retreat-card img,.story-card img{aspect-ratio:4/3!important}
}


/* =========================================================
   V11 — MAIN SITE UI LAYOUT FIX
   Fixes: hidden text, too many line breaks, floating links,
   incomplete descriptions, reference main-site editorial layout.
   ========================================================= */
main{overflow:visible!important}
.container{width:min(1240px,calc(100% - 46px))!important}

/* hero: let more text fit per line */
.hero-layout{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr)!important;
  gap:56px!important;align-items:center!important
}
.hero-main{max-width:680px!important}
.hero-main h1{
  max-width:8.4ch!important;
  font-size:clamp(3.15rem,4.45vw,4.8rem)!important;
  line-height:1.02!important;letter-spacing:-.02em!important
}
.hero-main .subline,
.hero-main p{max-width:700px!important}
.hero-main .subline{font-size:clamp(1.02rem,1.28vw,1.2rem)!important;line-height:1.62!important}
.hero-main p{font-size:1rem!important;line-height:1.82!important}

/* section headings: wider, fewer forced line breaks */
.section-head{
  grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr)!important;
  gap:48px!important;align-items:end!important;margin-bottom:34px!important
}
.section-head>div{max-width:none!important}
.section-head h2{max-width:15ch!important;font-size:clamp(2.15rem,3.0vw,3.1rem)!important;line-height:1.12!important}
.section-head>p{max-width:520px!important;font-size:.98rem!important;line-height:1.82!important}

/* service area: main-site style, image + text with complete copy */
.service-menu{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
.service-menu-card{
  display:grid!important;grid-template-columns:minmax(270px,42%) 1fr!important;align-items:stretch!important;
  min-height:262px!important;overflow:hidden!important;border-radius:18px!important
}
.service-menu-card:last-child{grid-column:1 / -1!important;grid-template-columns:minmax(300px,36%) 1fr!important}
.service-menu-card img{
  width:100%!important;height:100%!important;aspect-ratio:auto!important;
  object-fit:cover!important;object-position:center center!important
}
.service-menu-copy{padding:24px 24px 22px!important;justify-content:center!important;background:#fff!important}
.service-menu-copy h3{font-size:1.42rem!important;line-height:1.24!important;max-width:none!important}
.service-menu-copy p{font-size:.91rem!important;line-height:1.84!important;max-width:42ch!important}
.service-menu-copy .story-meta{margin-bottom:9px!important}
.service-menu-copy .text-link{
  display:inline-flex!important;align-items:center!important;gap:.42rem!important;
  margin-top:15px!important;padding-top:0!important;font-size:.76rem!important
}

/* retreat cards: same editorial clarity, no broken overlay feeling */
.retreat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
.retreat-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-height:0!important}
.retreat-card img{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;
  aspect-ratio:4/3!important;object-fit:cover!important
}
.retreat-copy{padding:22px 22px 22px!important}
.retreat-copy h3{font-size:1.35rem!important;line-height:1.26!important;max-width:none!important}
.retreat-copy p{font-size:.9rem!important;line-height:1.82!important}
.retreat-copy .text-link{display:inline-flex!important;align-items:center!important;gap:.42rem!important;margin-top:14px!important}

/* city section: cards fill the row and keep CTA inside the card */
.locale-two{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;margin-top:6px!important}
.locale-city{
  min-height:280px!important;padding:32px 28px!important;display:flex!important;flex-direction:column!important;
  justify-content:space-between!important;border-radius:22px!important
}
.locale-city h3{font-size:2.1rem!important;line-height:1.05!important;margin-top:4px!important}
.locale-city p{max-width:42ch!important;font-size:.92rem!important;line-height:1.78!important}
.locale-city .text-link{display:inline-flex!important;align-items:center!important;gap:.42rem!important;align-self:flex-start!important;margin-top:22px!important}

/* text-link when used inside clickable cards should not create nesting bugs */
a > .text-link{pointer-events:none!important}
.text-link{white-space:nowrap!important}

/* general copy cleanup */
.membership-card p,.story-body p,.faq details p,.article p{max-width:unset!important}
.faq summary{font-size:1.12rem!important}

/* desktop corrections */
@media(max-width:1100px){
  .hero-layout{grid-template-columns:1fr!important;gap:30px!important}
  .hero-main{max-width:none!important}
  .section-head{grid-template-columns:1fr!important;gap:18px!important}
  .section-head>p{max-width:720px!important}
  .service-menu{grid-template-columns:1fr!important;gap:18px!important}
  .service-menu-card,.service-menu-card:last-child{grid-template-columns:minmax(240px,38%) 1fr!important}
  .retreat-grid,.locale-two{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
  .container{width:min(100% - 28px,1240px)!important}
  .hero-main h1{max-width:9ch!important;font-size:clamp(2.7rem,10vw,3.65rem)!important}
  .section-head h2{max-width:none!important;font-size:clamp(1.95rem,7vw,2.45rem)!important}
  .service-menu-card,.service-menu-card:last-child{grid-template-columns:1fr!important;min-height:0!important}
  .service-menu-card img{height:auto!important;aspect-ratio:4/3!important}
  .service-menu-copy{padding:18px 18px 18px!important}
  .retreat-grid,.locale-two{grid-template-columns:1fr!important}
  .locale-city{min-height:240px!important;padding:24px 20px!important}
  .locale-city h3{font-size:1.7rem!important}
}


/* =========================================================
   V12 — NO ORPHAN HEADLINES + IMAGE-LED EDITORIAL LAYOUT
   ========================================================= */

/* General headline behavior */
h1,h2,h3{
  text-wrap:pretty!important;
  hanging-punctuation:first last;
}
.keep-end{white-space:nowrap!important}
.one-line-desktop{max-width:none!important}

/* On large desktop: short headlines that can fit should stay on one line */
@media(min-width:1180px){
  html[lang^="zh"] .one-line-desktop,
  html[lang^="ja"] .one-line-desktop,
  html[lang^="ko"] .one-line-desktop{
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }

  /* Chinese hero example: 真正的奢华，是不必再撑着。 */
  html[lang^="zh"] .hero-main h1{
    max-width:none!important;
    white-space:nowrap!important;
    font-size:clamp(3rem,3.7vw,3.85rem)!important;
    line-height:1.05!important;
    letter-spacing:-.025em!important;
  }

  html[lang^="zh"] .hero-layout{
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)!important;
    gap:44px!important;
  }

  html[lang^="zh"] .hero-main{
    max-width:820px!important;
  }

  /* Section headlines get enough real width instead of ch-based forced wrapping */
  html[lang^="zh"] .section-head h2{
    max-width:none!important;
    font-size:clamp(2rem,2.55vw,2.72rem)!important;
  }
}

/* Prevent a final single CJK glyph line on medium screens */
.keep-end{
  display:inline-block;
}

/* Section heading layout: reduce dead space and allow visual support */
.section-head{
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important;
  align-items:center!important;
  gap:42px!important;
}
.section-head>div{max-width:none!important}
.section-head h2{max-width:none!important}
.section-head>p{
  max-width:540px!important;
  justify-self:end!important;
}

/* Editorial visual beside section headline */
.section-side-visual{
  position:relative;
  min-height:190px;
  overflow:hidden;
  border-radius:18px;
  border:1px solid var(--line);
  background:#eee3d8;
  box-shadow:var(--shadow-xs);
}
.section-side-visual img{
  width:100%;
  height:190px;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) brightness(.96);
}
.section-side-visual .visual-caption{
  position:absolute;
  left:14px;right:14px;bottom:12px;
  padding:9px 11px;
  border-radius:10px;
  color:white;
  background:rgba(43,23,28,.64);
  backdrop-filter:blur(7px);
  font-size:.68rem;
  line-height:1.4;
}

/* Signature experiences: 2-column editorial cards */
.service-menu{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.service-menu-card{
  display:grid!important;
  grid-template-columns:minmax(240px,43%) 1fr!important;
  min-height:260px!important;
  align-items:stretch!important;
}
.service-menu-card:last-child{
  grid-column:1 / -1!important;
  grid-template-columns:minmax(300px,35%) 1fr!important;
}
.service-menu-card img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
.service-menu-copy{
  padding:25px 24px!important;
  justify-content:center!important;
}
.service-menu-copy h3{
  font-size:1.38rem!important;
  line-height:1.28!important;
}
.service-menu-copy p{
  font-size:.92rem!important;
  line-height:1.86!important;
  max-width:46ch!important;
}

/* Retreat: clear full descriptions, no text overlap */
.retreat-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.retreat-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
.retreat-card img{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
}
.retreat-copy{
  position:static!important;
  padding:22px 22px 23px!important;
}
.retreat-copy h3{
  font-size:1.32rem!important;
  line-height:1.3!important;
}
.retreat-copy p{
  font-size:.91rem!important;
  line-height:1.84!important;
}

/* Add a real image gallery where the site previously had too much blank space */
.editorial-gallery{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:14px;
  margin-top:32px;
}
.editorial-gallery figure{
  position:relative;
  margin:0;
  min-height:260px;
  overflow:hidden;
  border-radius:18px;
  background:#eee3d8;
}
.editorial-gallery figure:first-child{
  grid-row:span 2;
  min-height:534px;
}
.editorial-gallery img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  filter:saturate(.91) brightness(.96);
}
.editorial-gallery figure:first-child img{min-height:534px}
.editorial-gallery figcaption{
  position:absolute;
  left:14px;right:14px;bottom:13px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(42,21,27,.64);
  backdrop-filter:blur(8px);
  color:white;
  font-size:.72rem;
  line-height:1.45;
}

/* City cards: keep content inside and use the whole row */
.locale-two{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.locale-city{
  min-height:250px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:28px!important;
}
.locale-city h3{
  font-size:1.9rem!important;
  line-height:1.1!important;
}
.locale-city p{
  font-size:.92rem!important;
  max-width:48ch!important;
}

/* Better width for membership / FAQ headings */
.membership-intro h1,
.faq-intro h1{
  max-width:none!important;
}
@media(min-width:1180px){
  html[lang^="zh"] .membership-intro h1,
  html[lang^="zh"] .faq-intro h1{
    white-space:nowrap!important;
  }
}

/* Mobile / tablet natural wrapping */
@media(max-width:1179px){
  .one-line-desktop{white-space:normal!important}
  .section-head{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .section-head>p{
    justify-self:start!important;
    max-width:720px!important;
  }
  .section-side-visual{min-height:170px}
  .section-side-visual img{height:170px}
  .service-menu{grid-template-columns:1fr!important}
  .service-menu-card,
  .service-menu-card:last-child{
    grid-template-columns:minmax(220px,38%) 1fr!important;
  }
  .retreat-grid{grid-template-columns:1fr 1fr!important}
  .editorial-gallery{
    grid-template-columns:1fr 1fr!important;
  }
  .editorial-gallery figure:first-child{
    grid-row:auto!important;
    grid-column:1 / -1!important;
    min-height:340px!important;
  }
  .editorial-gallery figure:first-child img{min-height:340px!important}
}

@media(max-width:760px){
  .hero-main h1{
    white-space:normal!important;
    max-width:none!important;
  }
  .service-menu-card,
  .service-menu-card:last-child{
    grid-template-columns:1fr!important;
  }
  .service-menu-card img{
    height:auto!important;
    aspect-ratio:4/3!important;
  }
  .retreat-grid{grid-template-columns:1fr!important}
  .editorial-gallery{grid-template-columns:1fr!important}
  .editorial-gallery figure,
  .editorial-gallery figure:first-child{
    grid-column:auto!important;
    min-height:260px!important;
  }
  .editorial-gallery figure img,
  .editorial-gallery figure:first-child img{
    min-height:260px!important;
  }
  .locale-two{grid-template-columns:1fr!important}
}


/* =========================================================
   V13 — FULL SITE LAYOUT REPAIR
   ========================================================= */

/* Reset rules that caused title collisions / hidden copy */
main{overflow:visible!important}
h1,h2,h3{
  white-space:normal!important;
  max-width:none!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.one-line-desktop{white-space:normal!important}
.keep-end{white-space:nowrap!important;display:inline!important}

/* Only this exact visual role may stay one-line on a large Chinese desktop */
@media(min-width:1280px){
  html[lang^="zh"] .official-hero .hero-main h1{
    white-space:nowrap!important;
    max-width:none!important;
    font-size:clamp(3rem,3.55vw,3.72rem)!important;
    line-height:1.04!important;
    letter-spacing:-.026em!important;
  }
}

/* Stable layout scale */
.container{width:min(1220px,calc(100% - 48px))!important}
.section{padding:72px 0!important;scroll-margin-top:110px}
.section.compact{padding:54px 0!important}
.section-head{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important;
  gap:44px!important;
  align-items:end!important;
  margin-bottom:30px!important;
}
.section-head>div{max-width:none!important}
.section-head h2{
  max-width:760px!important;
  font-size:clamp(2.05rem,2.75vw,2.82rem)!important;
  line-height:1.13!important;
}
.section-head>p{
  display:block!important;
  max-width:520px!important;
  justify-self:end!important;
  align-self:end!important;
  font-size:.96rem!important;
  line-height:1.82!important;
}

/* Hero */
.official-hero{min-height:620px!important}
.hero-layout{
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.65fr)!important;
  gap:52px!important;
  padding:66px 0 54px!important;
}
.hero-main{max-width:780px!important}
.hero-main h1{font-size:clamp(3rem,4.35vw,4.45rem)!important;line-height:1.04!important}
.hero-main .subline{max-width:720px!important}
.hero-main p{max-width:660px!important}

/* FAQ: never overlap columns */
.faq-section{padding:66px 0!important}
.faq-layout{
  display:grid!important;
  grid-template-columns:minmax(310px,390px) minmax(0,1fr)!important;
  gap:66px!important;
  align-items:start!important;
}
.faq-intro{position:static!important;min-width:0!important}
.faq-intro h1{
  white-space:normal!important;
  max-width:390px!important;
  font-size:clamp(2.4rem,3.1vw,3.05rem)!important;
  line-height:1.1!important;
  overflow:visible!important;
}
.faq-intro p{max-width:350px!important}
.faq{min-width:0!important;max-width:none!important}
.faq summary{font-size:1.12rem!important;line-height:1.45!important}
.faq details p{font-size:.93rem!important;line-height:1.82!important;max-width:740px!important}

/* Membership */
.membership-shell{padding:66px 0!important}
.membership-intro{
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.65fr)!important;
  gap:52px!important;
  align-items:end!important;
}
.membership-intro h1{
  white-space:normal!important;
  max-width:720px!important;
  font-size:clamp(2.35rem,3.1vw,3rem)!important;
}
.membership-intro p{max-width:440px!important}
.membership-card{min-height:230px!important}
.membership-card p{font-size:.84rem!important;line-height:1.78!important}

/* Signature services: image-left / complete copy-right */
.service-menu{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.service-menu-card{
  display:grid!important;
  grid-template-columns:minmax(230px,42%) minmax(0,1fr)!important;
  min-height:258px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  box-shadow:var(--shadow-xs)!important;
}
.service-menu-card:last-child{
  grid-column:1/-1!important;
  grid-template-columns:minmax(300px,34%) minmax(0,1fr)!important;
}
.service-menu-card img{
  width:100%!important;height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.service-menu-copy{
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  padding:24px!important;background:#fff!important;min-width:0!important
}
.service-menu-copy h3{font-size:1.34rem!important;line-height:1.28!important}
.service-menu-copy p{
  display:block!important;
  margin-top:9px!important;
  max-width:46ch!important;
  font-size:.9rem!important;
  line-height:1.82!important;
  overflow:visible!important;
}
.service-menu-copy .text-link{
  display:inline-flex!important;align-items:center!important;
  align-self:flex-start!important;
  margin-top:15px!important;padding:0!important
}

/* Retreat cards: readable, never overlay copy */
.retreat-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.retreat-card{
  display:flex!important;flex-direction:column!important;
  min-height:0!important;align-items:stretch!important;
  background:#fff!important;border:1px solid var(--line)!important;
  border-radius:18px!important;overflow:hidden!important;box-shadow:var(--shadow-xs)!important;
}
.retreat-card:before{display:none!important}
.retreat-card img{
  position:relative!important;inset:auto!important;
  width:100%!important;height:auto!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
  filter:saturate(.92) brightness(.97)!important;
}
.retreat-copy{position:static!important;padding:21px 21px 22px!important}
.retreat-copy .story-meta{color:#8A673A!important}
.retreat-copy h3{color:#512C37!important;font-size:1.3rem!important;line-height:1.28!important}
.retreat-copy p{
  display:block!important;color:var(--muted)!important;
  font-size:.89rem!important;line-height:1.82!important;overflow:visible!important;
}
.retreat-copy .text-link{color:var(--wine)!important;display:inline-flex!important;margin-top:14px!important}

/* Stories */
.story-strip{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.story-card{
  height:100%!important;
  display:flex!important;flex-direction:column!important;
}
.story-card img{
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center!important;
}
.story-body{padding:22px!important;min-height:210px!important}
.story-card blockquote{font-size:1.14rem!important;line-height:1.52!important}
.story-card p{font-size:.82rem!important}

/* Cities: CTA remains in card */
.locale-two{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.locale-city{
  min-height:250px!important;
  padding:28px!important;
  display:flex!important;flex-direction:column!important;justify-content:flex-end!important;
  overflow:hidden!important;
}
.locale-city h3{font-size:1.9rem!important;line-height:1.08!important}
.locale-city p{max-width:48ch!important;font-size:.91rem!important;line-height:1.78!important}
.locale-city .text-link{
  display:inline-flex!important;align-self:flex-start!important;
  margin-top:20px!important
}
a > .text-link{pointer-events:none!important}

/* Replace V12 broken gallery with a balanced image+copy grid */
.editorial-gallery{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:0!important;
}
.editorial-gallery figure{
  display:flex!important;flex-direction:column!important;
  min-height:0!important;margin:0!important;
  overflow:hidden!important;border-radius:16px!important;
  background:#fff!important;border:1px solid var(--line)!important;
  box-shadow:var(--shadow-xs)!important;
}
.editorial-gallery figure:first-child{
  grid-row:auto!important;grid-column:auto!important;min-height:0!important;
}
.editorial-gallery img,
.editorial-gallery figure:first-child img{
  width:100%!important;height:auto!important;min-height:0!important;
  aspect-ratio:4/3!important;object-fit:cover!important;
}
.editorial-gallery figcaption{
  position:static!important;
  display:block!important;
  padding:14px 15px 15px!important;
  color:#4D343A!important;
  background:#fff!important;
  backdrop-filter:none!important;
  font-size:.78rem!important;
  line-height:1.65!important;
}
.gallery-title{
  display:block;color:#512C37;
  font-family:var(--font-display);
  font-size:1.02rem;font-weight:500;line-height:1.3;
  margin-bottom:5px;
}
.gallery-copy{
  display:block;color:var(--muted);font-size:.76rem;line-height:1.62
}

/* Old V12 section-side visual is no longer used */
.section-side-visual{display:none!important}

/* Timeline / articles */
.timeline{max-width:900px!important}
.timeline .day{overflow:visible!important}
.article{max-width:740px!important}
.article p{overflow:visible!important}

/* No accidental cropping */
.cardbody,.story-body,.membership-card,.knowledge-card,.feature-card{
  overflow:visible!important
}

/* Responsive */
@media(max-width:1100px){
  .hero-layout{grid-template-columns:1fr!important;gap:28px!important}
  .hero-main{max-width:none!important}
  .section-head{grid-template-columns:1fr!important;gap:16px!important}
  .section-head>p{justify-self:start!important;max-width:720px!important}
  .service-menu{grid-template-columns:1fr!important}
  .service-menu-card,.service-menu-card:last-child{
    grid-template-columns:minmax(220px,38%) minmax(0,1fr)!important;
  }
  .retreat-grid{grid-template-columns:1fr 1fr!important}
  .faq-layout{grid-template-columns:1fr!important;gap:30px!important}
  .faq-intro h1{max-width:700px!important}
  .membership-intro{grid-template-columns:1fr!important;gap:14px!important}
  .editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .container{width:min(100% - 28px,1220px)!important}
  .official-hero .hero-main h1{white-space:normal!important}
  .service-menu-card,.service-menu-card:last-child{grid-template-columns:1fr!important}
  .service-menu-card img{height:auto!important;aspect-ratio:4/3!important}
  .retreat-grid,.story-strip,.locale-two,.editorial-gallery{grid-template-columns:1fr!important}
  .faq-intro h1{font-size:clamp(2.15rem,9vw,2.8rem)!important}
}
