/* A single editorial system, shared by every page. */
/* Sage & Stone: brand ivory, sage and terracotta, with a deep sage anchor for type and dark surfaces. */
:root{--sans:'Hanken Grotesk','Sphere Rupee',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--script:'Cormorant Accent','Cormorant Garamond',Georgia,serif;--navigation-height:64px;--s-ivory:#fff8ec;--s-stone:#f1eadf;--s-ink:#24302a;--s-text:#5c6559;--s-sage:#9ab7a8;--s-clay:#834c4d;--s-rule:#24302a24;--ink:var(--s-ink);--muted:var(--s-text);--rule:var(--s-rule);--quiet:var(--s-stone)}
body{font-family:var(--sans);font-size:18px}
body .header{height:64px!important;min-height:64px!important;padding:8px 5%!important;background:var(--s-ivory)!important;color:var(--s-ink)!important;gap:20px!important;box-shadow:0 1px 0 var(--s-rule)!important}
body .header .wordmark{width:120px!important;min-width:120px!important}
body .header .wordmark-primary{display:block!important}
body .header .wordmark-light{display:none!important}
body .header .desktop-nav,body .header .secondary-nav{font-size:14px!important;gap:24px!important;text-shadow:none!important}
body .header .carnival-nav{color:inherit!important}
body .header .header-invite{background:var(--s-ink)!important;color:var(--s-ivory)!important;padding:12px 18px!important;min-height:44px!important;font-size:14px!important;gap:18px!important}
body .header.is-scrolled .header-invite{background:var(--s-ink)!important;color:var(--s-ivory)!important}
body .header a:focus-visible,body .header button:focus-visible{outline-color:currentColor}
.landing-page .header:not(.is-scrolled):not(.is-nav-open){background:transparent!important;color:var(--s-ivory)!important;box-shadow:none!important}
.landing-page .header:not(.is-scrolled):not(.is-nav-open) .wordmark-primary{display:none!important}
.landing-page .header:not(.is-scrolled):not(.is-nav-open) .wordmark-light{display:block!important}
body .navigation-space{height:64px!important}
body.landing-page .navigation-space{height:0!important}
body .mobile-nav:not([hidden]){top:64px!important;background:var(--s-ivory)!important;color:var(--s-ink)!important;--rule:var(--s-rule);max-height:calc(100dvh - 64px)!important;border-radius:0!important}
body .mobile-nav .carnival-nav{color:inherit!important}
body .menu-toggle{min-width:44px;min-height:44px;padding:8px!important;font-size:0!important;border:0!important;border-radius:0!important}
body .menu-toggle span{font-size:28px!important;line-height:1}
body main .eyebrow,body footer .eyebrow{font-size:13px!important;line-height:1.7;letter-spacing:.1em}
body main h2,body main h3,body.article-page h1{color:var(--s-ink)!important;font-weight:400}
body main h2 em,body main h2 .accent{color:inherit!important;font-style:normal}
body main h2{font-size:44px!important;line-height:1.15}
body main h3{font-size:28px!important;line-height:1.25}
body.article-page h1{font-size:48px!important}
:where(body.premium-home,body.story-page,body.article-page) main p:where(:not(.eyebrow):not(.signature)){font-size:19px!important;line-height:1.7}
body main input,body main textarea,body main label,body main dd{font-size:17px!important}
body main dt,body .footer-links a,body .footer-brand p,body .footer-bottom,body .article-byline,body .journal-meta{font-size:14px!important}
body .button,body .sphere-form button[type=submit]{border-radius:0!important;background:var(--s-ink);color:var(--s-ivory);min-height:48px;font-size:14px!important;padding:14px 20px;border:0}
body .text-link{min-height:44px;font-size:14px!important;gap:24px;color:var(--ink)}
body .home-invitation .invitation-heading .text-link{background:var(--s-ink);color:var(--s-ivory);padding:14px 20px}
body main .will-reveal,body main [data-image-reveal],body main [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
body main [data-image-reveal] img{transform:none!important;transition:none!important;filter:none!important}
body .aesthetic-photo:before,body .aesthetic-photo:after{display:none}
body .section-pad{padding-top:64px!important;padding-bottom:64px!important}
body .home-experiences,body .inbox,body .story-practices{background:var(--quiet)!important}
body .home-introduction,body .circle-story,body .home-journal,body .story-opening{background:var(--s-ivory)!important}
body .home-invitation,body .home-letter{background:var(--s-stone)!important}
body .circle-story,body .home-invitation{align-items:center!important;gap:32px 7%!important;min-height:0}
body .circle-photo img{height:auto!important;aspect-ratio:3/2;object-fit:cover}
body .home-invitation>.membership-notes{padding-top:20px!important}
body .presence-story{height:auto!important;min-height:0!important;max-height:none!important;background:var(--s-ivory)}
body .presence-image{position:relative!important;inset:auto!important;height:52vw;max-height:620px;margin:0}
body .presence-image img{position:static!important;width:100%;height:100%;filter:none;object-fit:cover}
body .presence-caption{position:static!important;padding:40px 7%;color:var(--s-ink)!important;max-width:none}
body .presence-caption p{color:var(--s-text)!important}
body .photo-opening{height:auto!important;min-height:0!important;max-height:none!important;background:var(--s-ivory);color:var(--s-ink)}
body .photo-opening:after{display:none}
body .photo-opening>.editorial-photo{position:relative!important;height:50vw;max-height:560px;inset:auto!important}
body .reading-opening-copy{position:static!important;padding:36px 7%;color:var(--s-ink)}
body .reading-opening-copy h1{color:var(--s-ink);font-size:48px!important;margin:12px 0}
body .reading-opening-copy .text-link{color:var(--s-ink)}
body .pillar-tabs{flex-wrap:wrap;gap:12px 24px;justify-content:flex-start}
body .pillar-tabs button{min-width:44px;min-height:48px;font-size:14px!important;text-transform:none;letter-spacing:0;padding:12px 4px;white-space:normal}
body .pillar-panel .editorial-photo{height:auto;aspect-ratio:3/2}
body .journal-mood{display:none}
body .home-journal{display:block}
body .home-journal .journal-entry{grid-template-columns:80px 1fr 24px;gap:6px 24px;padding:24px 0;min-height:112px}
.journal-thumb{grid-column:1;grid-row:1/span 3;width:80px;height:80px;object-fit:cover;align-self:center}
body .journal-title{font-size:26px!important;line-height:1.3}
body .journal-subtitle{font-size:16px!important;color:var(--s-text)}
.journal-meta{grid-column:2;grid-row:3;color:var(--s-text);font-size:14px;line-height:1.6}
body .journal-arrow{grid-column:3;grid-row:1/span 3}
body .inbox .form-small{font-size:14px!important;margin-top:16px}
body footer{background:var(--s-ink)!important}
body .footer-links a{font-size:14px!important;min-height:44px;display:flex;align-items:center}
body .footer-bottom{font-size:14px!important;gap:20px;flex-wrap:wrap}
@media(max-width:700px){
 body .header{gap:10px!important;padding:8px 5%!important}
 body .header .wordmark{width:100px!important;min-width:100px!important}
 body .header .header-invite{font-size:14px!important;padding:10px 12px!important;gap:0!important}
 body main h2{font-size:34px!important}body main h3{font-size:26px!important}body.article-page h1{font-size:36px!important}
 body .section-pad{padding-top:44px!important;padding-bottom:44px!important}
 body .pillar-tabs{gap:4px 12px;justify-content:flex-start}
 body .pillar-tabs button{flex:0 1 auto;max-width:calc(50% - 6px);text-align:left}
 body .presence-image{height:65vw}body .presence-caption{padding:32px 7%}
 body .photo-opening>.editorial-photo{height:70vw}
 body .home-journal .journal-entry{grid-template-columns:64px 1fr 20px;gap:5px 12px}
 .journal-thumb{width:64px;height:76px}
 body .journal-title{font-size:22px!important}body .journal-subtitle{font-size:16px!important}
 body .reading-opening-copy h1{font-size:36px!important}
 body .circle-story{display:grid!important;grid-template-columns:1fr}
 body .circle-photo{grid-row:1}
}
body .hero .light-link{color:var(--s-ivory)!important}
body.premium-home main .hero-foot p{font-size:14px!important;line-height:1.6!important;max-width:180px}
body .header .header-invite{gap:12px!important;white-space:nowrap}
body .header .header-invite span{font-size:18px}
body .hero-foot{bottom:24px}
body .event-video-toggle,body .montage-toggle{font-size:14px!important;min-height:44px}
@media(max-width:700px){body.premium-home main .hero-foot p{font-size:14px!important;max-width:135px}body .header .header-invite span{display:none!important}}
:root body main .eyebrow.eyebrow{font-size:13px!important;line-height:1.7!important;letter-spacing:.1em}
body main .form-small,body main .form-status,body main .optional,body main .event-photo-note{font-size:14px!important}

body .circle-photo figcaption{position:static!important;background:none!important;color:var(--s-text)!important;padding:16px 0 0;margin:0;font-size:12px!important}
:root body .hero-copy .eyebrow.eyebrow,:root body .mobile-nav .eyebrow.eyebrow{font-size:13px!important;line-height:1.7!important}
:root body.premium-home .hero-foot p{font-size:14px!important;line-height:1.6!important;max-width:180px}
@media(max-width:700px){:root body.premium-home .hero-foot p{max-width:135px}}
:root body.premium-home main .hero-foot.hero-foot.hero-foot p{font-size:14px!important;line-height:1.6!important}
:root body footer .eyebrow.eyebrow{font-size:13px!important}
:root body.premium-home footer .footer-bottom.footer-bottom,:root body.premium-home footer .footer-bottom.footer-bottom :is(a,span){font-size:14px!important;line-height:1.6}
:root body.club-subpage .subpage-opening.photo-opening{background:var(--s-ivory)!important;color:var(--s-ink)!important}
:root body.club-subpage .photo-opening .reading-opening-copy,:root body.club-subpage .photo-opening .reading-opening-copy :is(h1,a,p){color:var(--s-ink)!important}
:root body main .story-opening-copy h1{color:var(--s-ink)!important;font-size:48px!important}
@media(max-width:700px){:root body main .story-opening-copy h1{font-size:36px!important}}

/* ---------- Sage & Stone: quiet, deep and tactile ---------- */
:root body{background:var(--s-ivory);color:var(--s-text);-webkit-font-smoothing:antialiased}
/* Type: one family, light-handed headings, generous measure. */
:root body main h1,:root body main h2,:root body main h3{font-family:var(--sans);font-weight:400;letter-spacing:-.015em;color:var(--s-ink)}
:root body main h2{font-size:clamp(38px,4.2vw,58px)!important;line-height:1.08!important}
:root body main h3{font-size:clamp(24px,2.2vw,30px)!important;line-height:1.2!important}
:root body main .eyebrow.eyebrow{color:var(--s-clay);letter-spacing:.18em;font-weight:500}
:root body main p{color:var(--s-text)}
:root body main .lead{color:var(--s-ink)!important;font-size:clamp(20px,1.7vw,24px)!important;line-height:1.55!important}
/* Space is the luxury. */
:root body .section-pad{padding-top:clamp(80px,10vw,144px)!important;padding-bottom:clamp(80px,10vw,144px)!important}
/* Photographs share one soft, warm grade, so documentary and portrait shots read as one world. */
:root body main :is(figure,picture) img,:root body .hero-visual img,:root body .hero-montage,:root body .event-cinematic :is(img,video){filter:saturate(.8) contrast(1.04) brightness(.98) sepia(.07)!important}
:root body main img.journal-thumb{filter:saturate(.8) sepia(.07)}
/* Header: transparent over the film, a slim ivory bar once she scrolls. */
:root body .header{background:var(--s-ivory)!important;color:var(--s-ink)!important;box-shadow:0 1px 0 var(--s-rule)!important}
:root body .header .header-invite{background:var(--s-ink)!important;color:var(--s-ivory)!important;font-weight:500;letter-spacing:.02em}
:root body .header .header-invite:hover{background:var(--s-clay)!important}
.landing-page .header:not(.is-scrolled):not(.is-nav-open){background:transparent!important;box-shadow:none!important;color:var(--s-ivory)!important}
:root .landing-page .header:not(.is-scrolled):not(.is-nav-open) .header-invite{background:transparent!important;color:var(--s-ivory)!important;box-shadow:inset 0 0 0 1px #fff8ecb3}
:root .landing-page .header:not(.is-scrolled):not(.is-nav-open) .header-invite:hover{background:var(--s-ivory)!important;color:var(--s-ink)!important}
:root body .desktop-nav a:hover{color:var(--s-clay)}
/* Actions: one filled style in deep sage, terracotta on hover; text links underline in sage. */
:root body .button,:root body .sphere-form button[type=submit],:root body .home-invitation .invitation-heading .text-link,:root body .event-card-action .button,:root body .event-bar .button{background:var(--s-ink)!important;color:var(--s-ivory)!important;font-weight:500;letter-spacing:.02em;transition:background .25s}
:root body .button:hover,:root body .sphere-form button[type=submit]:hover,:root body .home-invitation .invitation-heading .text-link:hover{background:var(--s-clay)!important}
:root body main .text-link{color:var(--s-ink);border-bottom:1px solid var(--s-sage);font-weight:500}
:root body main .text-link:hover{color:var(--s-clay);border-color:var(--s-clay)}
/* Section rhythm: ivory, a deep sage band, stone, ivory, deep sage invitation, ivory, stone, deep sage footer. */
:root body .home-introduction,:root body .circle-story,:root body .home-journal{background:var(--s-ivory)!important}
:root body .home-experiences,:root body .inbox,:root body .home-letter,:root body .story-practices{background:var(--s-stone)!important}
:root body .presence-story{background:var(--s-ink)!important}
:root body .presence-story:after{display:none!important}
:root body .presence-image{max-height:720px;height:56vw}
:root body .presence-caption{color:var(--s-ivory)!important;padding:clamp(56px,7vw,96px) 7%!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 7%;align-items:end}
:root body .presence-caption .eyebrow.eyebrow{grid-column:1/-1;color:var(--s-sage)}
:root body .presence-caption h2{color:var(--s-ivory)!important;margin:0!important}
:root body .presence-caption p:not(.eyebrow){color:#fff8ecc7!important;margin:0}
/* The private circle is the one dark moment inside the page. */
:root body.premium-home .home-invitation{background:var(--s-ink)!important}
:root body.premium-home .home-invitation :is(h2,h3){color:var(--s-ivory)!important}
:root body.premium-home .home-invitation p:not(.eyebrow){color:#fff8ecc7!important}
:root body.premium-home .home-invitation .eyebrow.eyebrow{color:var(--s-sage)}
:root body.premium-home .home-invitation .invitation-heading .text-link{background:var(--s-ivory)!important;color:var(--s-ink)!important;border:0}
:root body.premium-home .home-invitation .invitation-heading .text-link:hover{background:var(--s-sage)!important}
:root body.premium-home .home-invitation .membership-notes .text-link{color:var(--s-ivory);border-color:#fff8ec66}
:root body.premium-home .home-invitation .membership-notes .text-link:hover{color:var(--s-sage);border-color:var(--s-sage)}
:root body.premium-home .home-invitation .membership-notes{border-color:#fff8ec26!important}
/* Headings sit on the same left edge as everything beneath them. */
:root body .editorial-heading{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px 7%;align-items:end;text-align:left!important;margin-bottom:clamp(40px,5vw,72px)}
:root body .editorial-heading>*{margin:0!important;text-align:left!important;justify-self:stretch}
:root body .editorial-heading>p{max-width:440px;justify-self:end}
/* Experience tabs: quiet labels, a terracotta mark under the open one. */
:root body .pillar-tabs{border-bottom:1px solid var(--s-rule)}
:root body .pillar-tabs button{color:var(--s-text);border-bottom:2px solid transparent!important;margin-bottom:-1px}
:root body .pillar-tabs button[aria-selected=true]{color:var(--s-ink);border-bottom-color:var(--s-clay)!important}
:root body .pillar-tabs button:after,:root body .pillar-tabs button:before{display:none!important}
:root body .circle-values{color:var(--s-clay)!important;letter-spacing:.08em}
:root body .circle-photo figcaption{letter-spacing:.14em}
:root body .journal-entry:hover .journal-title{color:var(--s-clay)}
:root body .signature{color:var(--s-clay)!important}
/* Hairlines everywhere are the same deep sage at low strength. */
:root body main :is(hr,.journal-entry,.membership-notes,.joining-steps li){border-color:var(--s-rule)}
:root body .sphere-form input,:root body .sphere-form textarea{background:var(--s-ivory)!important;border:1px solid #24302a33!important;border-radius:0!important;color:var(--s-ink)}
:root body .sphere-form input:focus,:root body .sphere-form textarea:focus{border-color:var(--s-ink)!important;outline:none}
/* Footer: deep sage, sage hairlines. */
:root body footer{background:var(--s-ink)!important;color:var(--s-ivory)}
:root body footer :is(a,p,span){color:#fff8ecd9}
:root body footer a:hover{color:var(--s-sage)}
:root body footer .eyebrow.eyebrow{color:var(--s-sage)}
:root body footer :is(.footer-bottom,.footer-top,.footer-grid){border-color:#fff8ec1f!important}
/* Invitation dialog in the same palette. */
:root body #invitation-dialog{background:var(--s-ivory);color:var(--s-ink)}
:root body #invitation-dialog h2{color:var(--s-ink);font-weight:400}
:root body #invitation-dialog .eyebrow{color:var(--s-clay)}
:root body #invitation-dialog::backdrop{background:#24302acc}
@media(max-width:700px){
 :root body main h2{font-size:34px!important}
 :root body .presence-image{height:72vw}
 :root body .presence-caption{grid-template-columns:1fr}
 :root body .editorial-heading{grid-template-columns:1fr}
 :root body .editorial-heading>p{justify-self:start}
 :root body .section-pad{padding-top:72px!important;padding-bottom:72px!important}
}
/* Composition fixes: intended heading line breaks on wide screens, balanced invitation and journal. */
@media(min-width:701px){:root body main h2 br{display:inline!important}}
@media(min-width:701px){:root body.premium-home .home-invitation{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;column-gap:7%!important}}
:root body.premium-home .home-invitation .membership-notes{flex-direction:column;align-items:flex-start;gap:20px;margin-top:40px;padding-top:32px!important;border-top:1px solid #fff8ec26}
:root body .home-journal{display:block!important}
:root body .home-journal .journal-list{max-width:none;border-top:1px solid var(--s-rule)}
:root body .home-journal .journal-entry{grid-template-columns:96px minmax(0,1fr) 24px!important;padding:28px 0!important}
@media(max-width:700px){:root body .home-journal .journal-entry{grid-template-columns:72px minmax(0,1fr) 20px!important;gap:4px 16px!important}:root body .home-journal .journal-thumb{width:72px!important;height:72px!important}:root body .editorial-heading{grid-template-columns:1fr!important}:root body.premium-home .home-invitation{grid-template-columns:1fr!important}:root body.premium-home .home-invitation .intimate-photo{width:100%}}
:root body .home-journal .journal-thumb{width:96px;height:96px}
:root body .home-journal .journal-title{color:var(--s-ink)}
:root body footer a[href*="instagram"]{gap:6px}
/* The studio's equipment lives along the top of most frames; crop from the floor up. */
:root body .presence-image{height:46vw!important;max-height:640px}
:root body .pillar-panel .editorial-photo{aspect-ratio:16/10!important;overflow:hidden}
:root body .pillar-panel .editorial-photo img{width:100%;height:100%;object-fit:cover}
/* Focal points per photograph: faces stay in frame, studio equipment along the top falls out of it. */
:root body main img[src*="/sphere-meditation-"],:root body main img[src^="assets/sphere-meditation-"]{object-position:50% 35%!important}
:root body main img[src*="/sphere-listening-"],:root body main img[src^="assets/sphere-listening-"]{object-position:50% 25%!important}
:root body main img[src*="/sphere-conversation-standing-"],:root body main img[src^="assets/sphere-conversation-standing-"]{object-position:50% 22%!important}
:root body main img[src*="/sphere-bowls-"],:root body main img[src^="assets/sphere-bowls-"]{object-position:50% 85%!important}
:root body main img[src*="/sphere-facilitator-"],:root body main img[src^="assets/sphere-facilitator-"]{object-position:50% 80%!important}
:root body main img[src*="/sphere-sound-session-"],:root body main img[src^="assets/sphere-sound-session-"]{object-position:50% 100%!important}
:root body main img[src*="/sphere-rest-"],:root body main img[src^="assets/sphere-rest-"]{object-position:50% 100%!important}
:root body main img[src*="/sphere-connection-"],:root body main img[src^="assets/sphere-connection-"]{object-position:50% 100%!important}
:root body main img[src*="/sphere-stretch-"],:root body main img[src^="assets/sphere-stretch-"]{object-position:50% 100%!important}
:root body main img[src*="/sphere-movement-"],:root body main img[src^="assets/sphere-movement-"]{object-position:50% 82%!important}
:root body main img[src*="/sphere-welcome-"],:root body main img[src^="assets/sphere-welcome-"]{object-position:50% 70%!important}
:root body main img[src*="/sphere-smile-"],:root body main img[src^="assets/sphere-smile-"]{object-position:50% 30%!important}
:root body main img[src*="/sphere-circle-"],:root body main img[src^="assets/sphere-circle-"]{object-position:50% 62%!important}
:root body main img[src*="/sphere-intimate-"],:root body main img[src^="assets/sphere-intimate-"]{object-position:50% 60%!important}
:root body main img[src*="/sphere-meditation-circle-"],:root body main img[src^="assets/sphere-meditation-circle-"]{object-position:50% 60%!important}
:root body main img[src*="/sphere-talk-reflect-"]{object-position:50% 14%!important}
:root body main img[src*="/sphere-explore-"]{object-position:50% 45%!important}
/* Type laid over film or photographs stays ivory. */
:root body .hero-copy :is(h1,p,a),:root body .event-cinematic :is(h1,h2,p,a,span,time){color:var(--s-ivory)!important}
:root body .event-cinematic .eyebrow.eyebrow{color:#fff8ecd9!important}
/* The ivory "Reserve your spot" button carries dark text: the ivory rule above would otherwise erase it. */
:root body .event-cinematic .cv-button-light,:root body .event-cinematic .cv-button-light span{color:var(--s-ink)!important}
:root body .hero-foot :is(p,a){color:var(--s-ivory)!important}
@media(max-width:700px){
 :root body main p br{display:none}
 :root body .pillar-tabs{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:0 20px!important;margin-right:-7%;padding-right:7%}
 :root body .pillar-tabs::-webkit-scrollbar{display:none}
 :root body .pillar-tabs button{flex:none!important;max-width:none!important;white-space:nowrap!important}
}
:root body #invitation-dialog h2 em{color:var(--s-clay)}

/* Membership details inside the deep sage private circle. */
:root body.premium-home .home-invitation :is(dd,summary,li h3){color:var(--s-ivory)!important}
:root body.premium-home .home-invitation dt{color:var(--s-sage)!important;letter-spacing:.16em}
:root body.premium-home .home-invitation :is(li p,li>span){color:#fff8ecbf!important}
:root body.premium-home .home-invitation :is(dl,dl>div,details,summary,ol,li){border-color:#fff8ec26!important}
/* The page you are on keeps its double line in the navigation. */
:root body .header .desktop-nav a[aria-current=page]{border-bottom:1px solid currentColor!important}
:root body .header .desktop-nav a[aria-current=page]:after{transform:scaleX(1)!important}
:root body .mobile-nav a[aria-current=page]{color:var(--s-clay)!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
/* Journal rows: a fine outline star in place of a photograph. */
:root body .journal-entry .journal-star{grid-column:1;grid-row:1/span 2;align-self:center;justify-self:center;width:28px;height:28px;fill:none;stroke:var(--s-clay);stroke-width:1;stroke-linejoin:round;transition:transform .6s ease,fill .3s}
:root body .journal-entry:hover .journal-star{transform:rotate(36deg);fill:#834c4d1f}
:root body .home-journal .journal-entry{grid-template-columns:56px minmax(0,1fr) 24px!important}
@media(max-width:700px){:root body .home-journal .journal-entry{grid-template-columns:40px minmax(0,1fr) 20px!important}}
@media(prefers-reduced-motion:reduce){:root body .journal-entry .journal-star{transition:none}:root body .journal-entry:hover .journal-star{transform:none}}
/* Our story: the founder chapter is the page's one deep sage moment.
   With a portrait: photo | name and words. Without one: name | words. */
:root body .story-founder{background:var(--s-ink);color:var(--s-ivory);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px 7%;padding:clamp(80px,10vw,144px) 7%;align-items:start}
:root body .story-founder.has-photo{grid-template-areas:"photo head" "photo text";align-items:center}
:root body .story-founder.has-photo .founder-photo{grid-area:photo}
:root body .story-founder.has-photo .founder-head{grid-area:head;align-self:end}
:root body .story-founder.has-photo .founder-text{grid-area:text;align-self:start}
:root body .story-founder .founder-photo{margin:0;aspect-ratio:4/5;overflow:hidden}
:root body .story-founder .founder-photo img{width:100%;height:100%;object-fit:cover}
:root body .story-founder .eyebrow.eyebrow{color:var(--s-sage)}
:root body .story-founder h2{color:var(--s-ivory)!important;margin:16px 0 12px}
:root body .story-founder .founder-credentials{color:var(--s-ivory)!important;font-size:17px!important;letter-spacing:.02em;margin:0 0 4px}
:root body .story-founder .founder-role{color:var(--s-sage)!important;font-size:15px!important;letter-spacing:.14em;text-transform:uppercase;margin:0}
:root body .story-founder .founder-text{max-width:640px;border-top:1px solid #fff8ec26;padding-top:32px}
:root body .story-founder:not(.has-photo) .founder-text{border-top:0;padding-top:0;border-left:1px solid #fff8ec26;padding-left:7%}
:root body .story-founder .founder-quote{margin:0 0 28px;font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.4vw,32px);line-height:1.35;color:var(--s-ivory)}
:root body .story-founder .founder-text p{color:#fff8ecd1!important;margin:0 0 20px}
:root body .story-founder .founder-text p:first-of-type{color:var(--s-ivory)!important;font-size:clamp(19px,1.5vw,21px)!important;line-height:1.65!important}
@media(max-width:700px){
 :root body .story-founder,:root body .story-founder.has-photo{grid-template-columns:1fr;grid-template-areas:none}
 :root body .story-founder.has-photo>*,:root body .story-founder.has-photo :is(.founder-photo,.founder-head,.founder-text){grid-area:auto}
 :root body .story-founder:not(.has-photo) .founder-text{border-left:0;padding-left:0;border-top:1px solid #fff8ec26;padding-top:28px}
}
/* The footer reads the same on every page, including the carnival. */
:root body footer .footer-links a{text-transform:none;font-weight:400;letter-spacing:0;font-size:14px!important;line-height:1.6}
:root body .header>.wordmark{justify-self:center}

/* Our story: a short, curated read. Opening, founder, then three ideas, each given room. */
:root body.story-page .st-opening{background:var(--s-ivory);padding:clamp(72px,9vw,128px) 7% clamp(48px,5vw,72px);border-bottom:1px solid var(--s-rule)}
:root body.story-page .st-opening h1{font-size:clamp(48px,6vw,84px)!important;line-height:1.02!important;letter-spacing:-.02em;font-weight:400;color:var(--s-ink)!important;margin:16px 0 20px}
:root body.story-page .st-opening p:not(.eyebrow){font-size:clamp(18px,1.4vw,20px)!important;color:var(--s-text)!important;margin:0}
:root body.story-page .st-why{background:var(--s-ivory);padding:clamp(80px,9vw,128px) 7%;text-align:center}
:root body.story-page .st-why h2{max-width:900px;margin:16px auto 40px!important;font-size:clamp(34px,3.8vw,54px)!important}
:root body.story-page .st-roles{list-style:none;margin:0 auto;padding:22px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0;border-top:1px solid var(--s-rule);border-bottom:1px solid var(--s-rule);max-width:1080px}
:root body.story-page .st-roles li{font-size:clamp(17px,1.4vw,20px);color:var(--s-ink);padding:0 20px;white-space:nowrap}
:root body.story-page .st-roles li+li{border-left:1px solid #834c4d59}
:root body.story-page .st-why-close{max-width:620px;margin:40px auto 0}
:root body.story-page .st-why-close p{margin:0 0 10px}
:root body.story-page .st-emphasis{font-family:var(--serif);font-style:italic;font-size:clamp(21px,1.8vw,26px)!important;line-height:1.45!important;color:var(--s-clay)!important;margin-top:24px!important}
:root body.story-page :is(.st-belief,.st-necessity){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,104px);align-items:center;padding:clamp(80px,9vw,128px) 7%}
:root body.story-page .st-belief{background:var(--s-stone)}
:root body.story-page .st-necessity{background:var(--s-ivory)}
:root body.story-page :is(.st-belief,.st-necessity) .editorial-photo{margin:0;aspect-ratio:4/5;overflow:hidden;height:auto!important;max-height:none!important}
:root body.story-page :is(.st-belief,.st-necessity) .editorial-photo img{width:100%;height:100%;object-fit:cover}
:root body.story-page .st-copy{max-width:540px}
:root body.story-page .st-copy h2{margin:16px 0 24px!important}
:root body.story-page .st-copy p{margin:0 0 16px}
:root body.story-page .st-lead{font-size:clamp(19px,1.5vw,22px)!important;line-height:1.55!important;color:var(--s-ink)!important}
:root body.story-page .st-mantra{list-style:none;margin:28px 0;padding:0 0 0 24px;border-left:1px solid var(--s-clay)}
:root body.story-page .st-mantra li{font-size:18px;line-height:1.9;color:var(--s-ink)}
:root body.story-page .story-close{padding:clamp(72px,8vw,112px) 7%;text-align:center;background:var(--s-ivory);border-top:1px solid var(--s-rule)}
@media(max-width:700px){
 :root body.story-page :is(.st-belief,.st-necessity){grid-template-columns:1fr}
 :root body.story-page .st-necessity .editorial-photo{order:-1}
 :root body.story-page .st-roles{flex-direction:column;gap:8px;padding:20px 0}
 :root body.story-page .st-roles li+li{border-left:0}
 :root body.story-page .st-why{text-align:left}
 :root body.story-page .st-why h2{margin-left:0!important}
}
/* The club's exclusivity line, set apart on Membership. */
:root body.premium-home main .membership-notes p.membership-right-ones{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,28px)!important;line-height:1.45!important;color:var(--s-ivory)!important;margin:32px 0 40px!important;padding-left:24px;border-left:1px solid var(--s-sage)}
/* Experiences: the "More than wellness" passage, photograph beside words. */
:root body .more-wellness-story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,104px);align-items:center;padding:clamp(80px,9vw,128px) 7%;background:var(--s-ivory)}
:root body .more-wellness-story .editorial-photo{margin:0;aspect-ratio:4/5;overflow:hidden;height:auto!important;max-height:none!important}
:root body .more-wellness-story .editorial-photo img{width:100%;height:100%;object-fit:cover}
:root body .more-wellness-story .st-copy{max-width:560px}
:root body .more-wellness-story h2{margin:16px 0 24px!important}
:root body.premium-home main .more-wellness-story p.st-lead{font-size:clamp(19px,1.5vw,22px)!important;line-height:1.55!important;color:var(--s-ink)!important}
:root body.premium-home main .more-wellness-story p.st-emphasis{font-family:var(--serif);font-style:italic;font-size:clamp(21px,1.8vw,26px)!important;line-height:1.45!important;color:var(--s-clay)!important;margin-top:24px}
@media(max-width:700px){:root body .more-wellness-story{grid-template-columns:1fr}}
/* Photo-and-words sections stack below 900px: the photograph goes full width in a calm
   landscape crop instead of shrinking beside a column of text. */
@media(max-width:900px){
 :root body .circle-story,:root body.premium-home .home-invitation,:root body .more-wellness-story,:root body.story-page :is(.st-belief,.st-necessity){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
 :root body .circle-story .circle-photo{grid-row:1;grid-column:1;width:100%!important;max-width:none!important;margin:0}
 :root body .circle-story .circle-copy{grid-column:1}
 :root body :is(.circle-photo,.intimate-photo,.more-wellness-story .editorial-photo,.st-belief .editorial-photo,.st-necessity .editorial-photo){width:100%!important;max-width:none!important;aspect-ratio:3/2!important;height:auto!important;overflow:hidden}
 :root body :is(.circle-photo,.intimate-photo,.more-wellness-story .editorial-photo,.st-belief .editorial-photo,.st-necessity .editorial-photo) img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover}
 :root body.story-page .st-necessity .editorial-photo{order:-1}
 :root body.premium-home .home-invitation .membership-notes{margin-top:8px}
}
@media(max-width:900px){
 :root body.premium-home .home-invitation>*{grid-column:1!important;grid-row:auto!important;width:100%;max-width:none}
 :root body.premium-home .home-invitation>.intimate-photo{order:-1}
}
/* The private-circle photograph always fills its frame. */
:root body .intimate-photo{aspect-ratio:3/2;overflow:hidden}
:root body .intimate-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
/* Focal points for the new stills. */
:root body main img[src*="/sphere-standing-smile-"],:root body main img[src^="assets/sphere-standing-smile-"]{object-position:50% 16%!important}
:root body main img[src*="/sphere-welcome-"],:root body main img[src^="assets/sphere-welcome-"]{object-position:50% 22%!important}
:root body main img[src*="/sphere-greenery-"],:root body main img[src^="assets/sphere-greenery-"]{object-position:50% 72%!important}
:root body main img[src*="/sphere-lanterns-"],:root body main img[src^="assets/sphere-lanterns-"]{object-position:50% 62%!important}
:root body main img[src*="/sphere-kalari-floor-"],:root body main img[src^="assets/sphere-kalari-floor-"]{object-position:50% 62%!important}
:root body main img[src*="/sphere-laughter-"],:root body main img[src^="assets/sphere-laughter-"]{object-position:50% 24%!important}
:root body main img[src*="/sphere-arms-up-"],:root body main img[src^="assets/sphere-arms-up-"]{object-position:50% 25%!important}
:root body main img[src*="/sphere-rest-bowls-"],:root body main img[src^="assets/sphere-rest-bowls-"]{object-position:50% 72%!important}
:root body main img[src*="/sphere-hands-bowls-"],:root body main img[src^="assets/sphere-hands-bowls-"]{object-position:50% 60%!important}
:root body main img[src*="/sphere-bowls-cushion-"],:root body main img[src^="assets/sphere-bowls-cushion-"]{object-position:50% 62%!important}
:root body main img[src*="/sphere-kalari-partners-"],:root body main img[src^="assets/sphere-kalari-partners-"]{object-position:50% 30%!important}
:root body main img[src*="/sphere-bowl-practice-"],:root body main img[src^="assets/sphere-bowl-practice-"]{object-position:50% 70%!important}
:root body main img[src*="/sphere-facilitator-rest-"],:root body main img[src^="assets/sphere-facilitator-rest-"]{object-position:50% 62%!important}
:root body main img[src*="/sphere-bowls-still-"],:root body main img[src^="assets/sphere-bowls-still-"]{object-position:50% 50%!important}
:root body main img[src*="/sphere-arms-raised-"],:root body main img[src^="assets/sphere-arms-raised-"]{object-position:50% 28%!important}
:root body main img[src*="/sphere-circle-session-"],:root body main img[src^="assets/sphere-circle-session-"]{object-position:50% 85%!important}
:root body main img[src*="/sphere-buddha-garden-"],:root body main img[src^="assets/sphere-buddha-garden-"]{object-position:50% 35%!important}
:root body main img[src*="/sphere-conversation-"],:root body main img[src^="assets/sphere-conversation-"]{object-position:50% 35%!important}

/* Soft-focus openings (Experiences, Membership, Our story): the photograph sets the mood,
   the words sit on it in ivory. Centred variant carries the invitation. */
:root body .soft-hero,:root body .soft-band{position:relative;overflow:hidden;background:var(--s-ink);color:var(--s-ivory);display:flex;align-items:flex-end}
:root body .soft-hero{min-height:clamp(480px,74vh,780px)}
:root body .soft-band{min-height:clamp(380px,52vh,520px);align-items:center;justify-content:center;text-align:center}
:root body :is(.soft-hero,.soft-band)>.editorial-photo{position:absolute!important;inset:0;margin:0;height:100%!important;max-height:none!important;aspect-ratio:auto!important}
:root body :is(.soft-hero,.soft-band)>.editorial-photo img{width:100%;height:100%!important;object-fit:cover;object-position:50% 50%!important;filter:none!important}
:root body :is(.soft-hero,.soft-band):after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#24302acc 0%,#24302a59 45%,#24302a1a 100%);pointer-events:none}
:root body .soft-band:after{background:#24302ab3}
:root body .soft-hero-copy{position:relative;z-index:1;padding:0 7% clamp(56px,8vh,96px);max-width:900px}
:root body .soft-band .soft-hero-copy{padding:72px 7%;max-width:760px}
:root body .soft-hero-centred{align-items:center;justify-content:center;text-align:center}
:root body .soft-hero-centred .soft-hero-copy{padding:96px 7%;margin:0 auto}
:root body :is(.soft-hero,.soft-band) .eyebrow.eyebrow{color:#fff8ecd9!important}
:root body main :is(.soft-hero,.soft-band) :is(h1,h2){color:var(--s-ivory)!important;font-weight:400;margin:16px 0 20px}
:root body main .soft-hero h1{font-size:clamp(48px,6.4vw,92px)!important;line-height:1.02!important;letter-spacing:-.02em}
:root body main .soft-band h2{font-size:clamp(40px,4.6vw,64px)!important}
:root body main :is(.soft-hero,.soft-band) p:not(.eyebrow){color:#fff8ece6!important;font-size:clamp(18px,1.4vw,20px)!important;margin:0}
:root body .soft-hero-link{display:inline-flex;gap:14px;align-items:center;color:var(--s-ivory);border-bottom:1px solid #fff8ec80;padding:10px 0;font-size:15px;margin-top:8px}
:root body .soft-hero-cta{display:inline-flex;align-items:center;gap:18px;min-height:56px;padding:16px 30px;background:var(--s-clay);color:var(--s-ivory);border:0;font:500 16px/1 var(--sans);letter-spacing:.02em;cursor:pointer;margin-top:12px;transition:background .25s,color .25s}
:root body .soft-hero-cta:hover{background:var(--s-ivory);color:var(--s-ink)}
:root body .soft-hero-cta:focus-visible{outline:2px solid var(--s-ivory);outline-offset:4px}

/* Membership: how joining works, visible as three steps with one clear action. */
:root body .join-steps{background:var(--s-stone);padding:clamp(80px,9vw,128px) 7%;text-align:center}
:root body main .join-steps h2{margin:0 0 clamp(40px,5vw,64px)!important}
:root body .join-steps ol{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1120px;text-align:left}
:root body .join-steps li{background:var(--s-ivory);padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:12px}
:root body .join-number{font-size:clamp(40px,4vw,56px);line-height:1;color:var(--s-clay);font-weight:300;letter-spacing:-.02em}
:root body main .join-steps h3{margin:8px 0 0!important}
:root body main .join-steps li p{margin:0;font-size:17px!important}
:root body .join-steps .join-cta{margin-top:clamp(40px,5vw,56px)}
@media(max-width:800px){:root body .join-steps ol{grid-template-columns:1fr}}

/* "Intentionally intimate": the photograph fills its whole side, words beside it, no empty corner. */
@media(min-width:901px){
 :root body.premium-home .home-invitation{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;grid-template-rows:auto auto;column-gap:7%!important;row-gap:0!important;align-items:stretch!important}
 :root body.premium-home .home-invitation>.intimate-photo{grid-column:1!important;grid-row:1 / span 2!important;aspect-ratio:auto!important;height:100%!important;min-height:520px;align-self:stretch}
 :root body.premium-home .home-invitation>.invitation-heading{grid-column:2!important;grid-row:1!important;align-self:end;padding-top:24px}
 :root body.premium-home .home-invitation>.membership-notes{grid-column:2!important;grid-row:2!important;align-self:start;margin-top:40px!important}
}

/* Instagram in every footer. */
:root body footer .footer-instagram{display:inline-flex;align-items:center;gap:10px;margin-top:20px;color:var(--s-ivory)!important;font-size:14px;min-height:44px}
:root body footer .footer-instagram svg{fill:none;stroke:currentColor;stroke-width:1.5}
:root body footer .footer-instagram:hover{color:var(--s-sage)!important}
:root body .circle-photo img{aspect-ratio:3/2!important;height:auto!important}
@media(min-width:901px){:root body.premium-home .home-invitation>.intimate-photo{max-height:760px;align-self:start}}
/* Closing sections sit closer together and alternate surfaces, so the end of a page reads as
   one composed sequence instead of three separate empty rooms. */
:root body .join-steps{padding:clamp(56px,6vw,88px) 7%!important}
:root body main .join-steps h2{margin:0 0 clamp(28px,3vw,40px)!important}
:root body .join-steps li{padding:clamp(24px,2.4vw,32px)!important;gap:8px}
:root body .join-steps .join-cta{margin-top:clamp(28px,3vw,40px)}
:root body main .home-letter.section-pad,:root body.club-subpage main .home-letter.section-pad{background:var(--s-ivory)!important;padding:clamp(56px,6vw,88px) 7%!important}
:root body .home-letter .letter-sheet{margin:0 auto;max-width:1120px}
:root body main .inbox.section-pad{padding:clamp(56px,6vw,80px) 7%!important}
:root body main .inbox h2{margin:12px 0 14px!important}
:root body main .inbox .inbox-intro{margin:0 auto 24px!important}
/* Home "Curated. Not crowded.": a compact heading row over four cards, soft sage ground. */
:root body .home-experiences{background:#e6ece3!important}
:root body .home-experiences.section-pad{padding-top:clamp(52px,5.5vw,84px);padding-bottom:clamp(44px,4.6vw,70px)}
:root body .home-experiences .editorial-heading{align-items:start;margin-bottom:clamp(28px,3.4vw,48px)}
:root body .home-experiences .elements-intro{justify-self:end;max-width:460px}
:root body .home-experiences .elements-intro p{margin:0;color:var(--s-text);line-height:1.75}
:root body .home-experiences .elements-intro .elements-lead{margin-top:14px;color:var(--s-ink);font-weight:500}
.elements-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.element-card{display:flex;flex-direction:column;background:var(--s-ivory);overflow:hidden;border:1px solid #24302a14}
.element-card .editorial-photo{margin:0;aspect-ratio:4/5;overflow:hidden;background:#d9dfd5}
.element-card .editorial-photo img{width:100%;height:100%;object-fit:cover;display:block}
.element-copy{display:flex;flex-direction:column;flex:1;padding:clamp(18px,1.8vw,26px)}
.element-number{margin:0 0 10px;font-size:12px;letter-spacing:.14em;color:var(--s-clay)}
:root body .element-copy h3{margin:0 0 10px;font-size:clamp(26px,2.3vw,34px);line-height:1.15;color:var(--s-ink)}
.element-copy p:not(.element-number){margin:0 0 18px;font-size:15px;line-height:1.65;color:var(--s-text)}
.element-copy .text-link{margin-top:auto;align-self:flex-start}
.element-card img[src*="/sphere-rest-bowls-"]{object-position:35% 50%}
.element-card img[src*="/sphere-hands-bowls-"]{object-position:30% 50%}
.element-card img[src*="/sphere-laughter-"]{object-position:50% 30%}
@media(max-width:1000px){.elements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 :root body .home-experiences .elements-intro{justify-self:start}
 .elements-grid{grid-template-columns:1fr;gap:16px}
 .element-card .editorial-photo{aspect-ratio:16/11}
 .element-card .editorial-photo img[src*="/sphere-move-reach-"]{object-position:50% 14%}
}

/* Contact lines in every footer, and the Terms & Conditions page. */
:root body footer .footer-contact{display:flex;flex-direction:column;gap:0;margin:6px 0 0}
:root body footer .footer-contact a{min-height:36px;display:flex;align-items:center;font-size:14px}
.terms-prose section{margin:0 0 30px}
:root body .terms-prose h2{font-size:clamp(20px,1.7vw,24px)!important;margin:0 0 8px;font-weight:500}
.terms-prose p{margin:0}
.terms-prose a{text-decoration:underline;text-underline-offset:3px}
:root body .terms-consent{margin:38px 0 0;padding-top:22px;border-top:1px solid var(--s-rule);font-size:14px!important;color:var(--s-text)}

/* Photo-light pass (October 2026). The client found the site too crowded with pictures: photographs are now
   kept to a hero plus one or two quiet frames per page, and the sections that carried a photo for every
   item (home elements, Experiences list, the Carnival moments row, Our story closing) are typographic. */
.elements-grid{gap:0;border-top:1px solid #24302a33}
.element-card-plain{background:transparent;border:0;border-left:1px solid #24302a1f;overflow:visible}
.element-card-plain:first-child{border-left:0}
.element-card-plain .element-copy{padding:clamp(30px,3.4vw,52px) clamp(20px,2.4vw,36px) clamp(8px,1vw,16px)}
.element-card-plain .element-number{font-size:13px;margin-bottom:16px}
.element-card-plain .element-copy p:not(.element-number){margin-bottom:26px}
@media(max-width:1000px){
 .element-card-plain{border-left:0;border-top:1px solid #24302a1f}
 .element-card-plain:nth-child(-n+2){border-top:0}
}
@media(max-width:700px){
 .element-card-plain:nth-child(-n+2){border-top:1px solid #24302a1f}
 .element-card-plain:first-child{border-top:0}
 .element-card-plain .element-copy{padding:26px 0 6px}
 .element-card-plain .element-copy p:not(.element-number){margin-bottom:18px}
}
:root body .circle-story-plain{display:block!important;text-align:center}
:root body .circle-story-plain .circle-copy{max-width:760px;margin:0 auto}
:root body .circle-story-plain .circle-copy h2{margin-left:auto;margin-right:auto}
:root body .circle-story-plain .circle-values{margin-top:28px}
.experience-atlas.atlas-plain{display:block;max-width:none;margin:clamp(28px,3vw,44px) 0 0;border-top:1px solid #24302a33}
.atlas-plain .atlas-card-plain{display:block!important;grid-column:auto!important;padding:clamp(28px,3vw,44px) 0!important;border-bottom:1px solid #24302a1f}
.atlas-plain .atlas-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);column-gap:clamp(32px,7vw,96px);align-items:start;padding:0}
.atlas-plain .atlas-copy>.eyebrow{grid-column:1;margin:0 0 12px!important}
.atlas-plain .atlas-copy>h3{grid-column:1;margin:0!important}
.atlas-plain .atlas-copy>p:not(.eyebrow){grid-column:2;grid-row:1/span 2;margin:0;max-width:520px;padding-top:4px}
@media(max-width:700px){
 .atlas-plain .atlas-copy{grid-template-columns:1fr}
 .atlas-plain .atlas-copy>p:not(.eyebrow){grid-column:1;grid-row:auto;margin-top:14px}
}
:root body.story-page .st-necessity-plain{grid-template-columns:minmax(0,1fr)!important;justify-items:center;text-align:center}
:root body.story-page .st-necessity-plain .st-copy{max-width:720px}
:root body .soft-band-plain{min-height:clamp(300px,40vh,420px)}
/* Membership "A private circle": an editorial stack built around the wide bowls still life.
   Title | intro on one line, the photo across the full width in its own shape (never cropped or
   zoomed), then quote | notes, all on the same two columns so nothing leaves an empty corner. */
:root body.club-subpage .membership-circle{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none!important;row-gap:40px!important;column-gap:0!important;align-items:start!important}
:root body.club-subpage .membership-circle>:is(.invitation-heading,.intimate-photo,.membership-notes){grid-column:1!important;grid-row:auto!important;margin:0!important;order:0!important;align-self:auto!important;width:100%!important;max-width:none!important}
:root body.club-subpage .membership-circle>.invitation-heading{padding:0!important;display:grid;gap:24px}
:root body.club-subpage .membership-circle .circle-title h2{margin:16px 0 0}
:root body.club-subpage .membership-circle .circle-intro p{margin:0 0 24px!important}
:root body.club-subpage .membership-circle .circle-intro .text-link{margin:0!important}
:root body.club-subpage .membership-circle>.intimate-photo{width:100%!important;aspect-ratio:1920/813!important;height:auto!important;min-height:0!important;max-height:none!important}
:root body.club-subpage .membership-circle>.membership-notes{display:grid!important;gap:28px!important;padding:0!important;border:0!important}
:root body.club-subpage .membership-circle>.membership-notes>*{margin:0!important}
@media(min-width:901px){
 :root body.club-subpage .membership-circle{row-gap:64px!important}
 :root body.club-subpage .membership-circle>.invitation-heading,
 :root body.club-subpage .membership-circle>.membership-notes{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:8%!important}
 :root body.club-subpage .membership-circle>.invitation-heading{align-items:end}
 :root body.club-subpage .membership-circle .circle-intro br{display:none}
 :root body.club-subpage .membership-circle>.membership-notes{grid-template-rows:auto auto;row-gap:36px!important;align-items:start}
 :root body.club-subpage .membership-circle>.membership-notes>p.membership-right-ones{grid-column:1;grid-row:1 / span 2;margin:0!important;font-size:clamp(28px,2.5vw,36px)!important;line-height:1.35!important}
 :root body.club-subpage .membership-circle>.membership-notes>p:first-child{grid-column:2;grid-row:1}
 :root body.club-subpage .membership-circle>.membership-notes>dl{grid-column:2;grid-row:2}
}
/* Sharp opening photographs (Experiences, Membership, Our story): a soft shadow sits behind the words only, so the photo stays crisp and the type always reads. */
:root body .soft-hero:not(.soft-hero-centred):after{background:linear-gradient(90deg,#1c2621b3 0%,#1c262166 38%,#1c262100 68%),linear-gradient(0deg,#1c2621b3 0%,#1c262140 40%,#1c262100 70%)}
:root body .soft-hero-centred:after{background:radial-gradient(ellipse 70% 60% at 50% 50%,#1c262199 0%,#1c262159 55%,#1c262126 100%)}
:root body .soft-hero>.editorial-photo img[src*="sphere-hands-bowls"]{object-position:60% 62%!important}
:root body .soft-hero>.editorial-photo img[src*="sphere-meditation-circle"]{object-position:50% 62%!important}
:root body .soft-hero>.editorial-photo img[src*="sphere-buddha-garden"]{object-position:50% 30%!important}
@media (max-width:700px){:root body .soft-hero:not(.soft-hero-centred):after{background:linear-gradient(0deg,#1c2621d9 0%,#1c262180 45%,#1c262126 100%)}:root body .soft-hero-centred:after{background:radial-gradient(ellipse 95% 45% at 50% 50%,#1c2621bf 0%,#1c262180 60%,#1c262140 100%)}}
/* Founder portrait (Our story): a gallery-style frame. The photo sits inside a fine ivory hairline set
   18px out from its edge, with a soft shadow, so it reads as a hung portrait on the deep sage, not a snapshot. */
@media (min-width:701px){:root body .story-founder.has-photo{grid-template-columns:minmax(0,4.4fr) minmax(0,6fr);align-items:center}}
:root body .story-founder .founder-photo{position:relative;overflow:visible;aspect-ratio:4/5;margin:18px;box-shadow:0 30px 60px -28px #0d1511cc}
:root body .story-founder .founder-photo:before{content:'';position:absolute;inset:-18px;border:1px solid #fff8ec59;pointer-events:none}
:root body .story-founder .founder-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:52% 40%;filter:saturate(.9) contrast(1.02)}
@media (max-width:700px){:root body .story-founder .founder-photo{max-width:420px;width:calc(100% - 36px);margin:18px auto 28px}}
/* Type pairing (11 November 2026): Fraunces for headings, DM Sans for everything read or pressed, on every page.
   The words that used to be set in a script are Cormorant Garamond italic (see --script and assets/fonts.css).
   Labels above headings are sentence case in the body face, never tracked capitals. */
:root body :is(h1,h2,h3,.journal-title,.founder-quote,blockquote){font-family:var(--serif)!important;font-weight:300!important;letter-spacing:-.02em!important;overflow-wrap:break-word;min-width:0}
:root body h3{font-weight:400!important;letter-spacing:-.01em!important}
:root body h1{line-height:1.02!important}
:root body :is(.eyebrow,.eyebrow.eyebrow,.founder-role){font-family:var(--sans);text-transform:none!important;letter-spacing:0!important;font-size:15px!important;font-weight:500}
:root body :is(h1,h2){text-wrap:balance}
:root body :is(.hero-foot p,.montage-toggle,label,.element-number,.circle-values,dt,.event-scroll-cue,.cv-arc p,.cv-pillars li,.cv-close-meta){text-transform:none!important;letter-spacing:0!important}
:root body .presence-story .eyebrow.eyebrow{color:var(--s-sage)!important}

/* Membership fee: one calm card and a single payment button. */
:root body .member-fee{background:var(--s-ivory);padding:clamp(56px,6vw,88px) 7%;text-align:center;display:flex;flex-direction:column;align-items:center}
:root body main .member-fee h2{margin:12px 0 24px!important}
:root body .member-fee-price{margin:0;display:flex;flex-direction:column;gap:8px;align-items:center}
:root body .member-fee-price strong{font-size:clamp(44px,5vw,64px);font-weight:400;line-height:1;color:var(--s-ink)}
:root body .member-fee-price span{font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--s-text)}
:root body .member-fee .join-cta{margin-top:32px}
:root body .member-fee-note{margin:16px 0 0;font-size:13px;color:var(--s-text)}

/* Membership, the single offer (11 November 2026): a photograph and one line, the private circle, the note from
   The Sphere as the centrepiece, one fee card, how joining works, then the enquiry asked one question at a time.
   Rules start at #main so they hold against the older page-wide rules above. */
#main .mo-hero{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:clamp(520px,82vh,780px);margin:0!important;padding:96px 6%!important;background:var(--s-ink)!important;color:var(--s-ivory);text-align:center;overflow:hidden}
#main .mo-hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:.72}
#main .mo-hero-copy{position:relative;display:flex;flex-direction:column;align-items:center;gap:28px;max-width:900px}
#main .mo-hero .eyebrow{margin:0!important;color:var(--s-ivory)!important}
#main .mo-hero h1{margin:0!important;color:var(--s-ivory)!important;font-size:clamp(46px,7.4vw,104px)!important;line-height:1!important;letter-spacing:-.025em!important}
#main .mo-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;max-width:100%;padding:16px clamp(24px,4vw,36px);white-space:nowrap;border:1px solid currentColor;font:500 15px/1 var(--sans);letter-spacing:.04em;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
#main .mo-button-line{color:var(--s-ivory);background:#24302a99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#main .mo-hero :is(.eyebrow,h1){text-shadow:0 1px 28px #0d1511cc,0 0 3px #0d151166}
#main .mo-button-line:hover{background:var(--s-ivory);color:var(--s-ink);border-color:var(--s-ivory)}
#main .mo-button-solid{background:var(--s-ink);border-color:var(--s-ink);color:var(--s-ivory)}
#main .mo-button-solid:hover{background:var(--s-clay);border-color:var(--s-clay)}
#main .mo-button:focus-visible{outline:2px solid var(--s-sage);outline-offset:4px}
#main :is(.mo-circle,.mo-hello,.mo-letter) h2 em{font-family:var(--serif)!important;font-style:italic!important;font-size:1em!important;font-weight:300!important;color:inherit!important}

#main .mo-circle{box-sizing:border-box;max-width:900px;margin:0 auto;padding:clamp(72px,9vw,140px) 6%;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
#main .mo-circle .eyebrow{margin:0!important}
#main .mo-circle h2{margin:0!important;font-size:clamp(40px,5.4vw,72px)!important;line-height:1.05!important}
#main .mo-circle p{margin:0!important;max-width:34em;color:var(--s-text)}
#main .mo-circle .mo-lead{font-size:20px!important;line-height:1.6!important;color:var(--s-ink)}
#main .mo-circle .mo-right-ones{margin-top:14px!important;max-width:24em;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(22px,2.3vw,29px)!important;line-height:1.35!important;color:var(--s-ink)}
#main .mo-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:30px 0 0;border-top:1px solid var(--s-rule);border-bottom:1px solid var(--s-rule);text-align:left}
#main .mo-facts div{padding:22px 22px 24px}
#main .mo-facts div+div{border-left:1px solid var(--s-rule)}
#main .mo-facts dt{margin:0 0 6px;font-size:14px;font-weight:500;color:var(--s-clay)}
#main .mo-facts dd{margin:0;font-size:16px;line-height:1.5;color:var(--s-ink)}

#main .mo-letter{--dome:clamp(110px,20vw,230px);position:relative;overflow:hidden;background-color:var(--s-stone);background-image:repeating-radial-gradient(circle at 50% 46%,transparent 0 119px,#834c4d14 119px 120px);padding:clamp(72px,9vw,140px) 6%}
#main .mo-letter-sheet{position:relative;box-sizing:border-box;max-width:880px;margin:0 auto;padding:calc(var(--dome) * .62 + 24px) clamp(26px,7vw,104px) clamp(56px,7vw,104px);background:var(--s-ivory);border:1px solid #834c4d4d;border-radius:50% 50% 0 0/var(--dome) var(--dome) 0 0;box-shadow:0 40px 80px -48px #24302a66;display:flex;flex-direction:column;align-items:center;gap:30px;text-align:center}
#main .mo-letter-sheet:before{content:'';position:absolute;inset:12px;border:1px solid #834c4d33;border-radius:50% 50% 0 0/calc(var(--dome) - 12px) calc(var(--dome) - 12px) 0 0;pointer-events:none}
#main .mo-letter .eyebrow{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0!important;color:var(--s-clay)!important}
#main .mo-letter .eyebrow:before{content:'';width:14px;height:14px;border:1px solid var(--s-clay);border-radius:50%;box-shadow:0 0 0 5px var(--s-ivory),0 0 0 6px #834c4d40}
#main .mo-letter h2{margin:0!important;max-width:13em;font-size:clamp(36px,5vw,66px)!important;font-style:italic;font-weight:300;line-height:1.1!important;letter-spacing:-.02em}
#main .mo-letter-body{position:relative;display:flex;flex-direction:column;gap:20px;max-width:30em;padding-top:46px}
#main .mo-letter-body:before{content:'';position:absolute;top:0;left:50%;width:132px;height:7px;transform:translateX(-50%);background:linear-gradient(var(--s-clay),var(--s-clay)) left center/56px 1px no-repeat,linear-gradient(var(--s-clay),var(--s-clay)) right center/56px 1px no-repeat,radial-gradient(circle,var(--s-clay) 0 3px,transparent 3.5px) center/7px 7px no-repeat;opacity:.7}
#main .mo-letter-body p{margin:0!important;font-size:19px!important;line-height:1.8!important;color:var(--s-ink)}
#main .mo-letter .mo-signoff{margin:14px 0 0!important;font-family:var(--serif);font-weight:300;font-size:clamp(26px,3.2vw,40px)!important;line-height:1.2!important;letter-spacing:-.015em;color:var(--s-ink)}
#main .mo-letter .mo-signature{display:flex;align-items:center;gap:16px;margin:0!important;font-family:var(--script);font-style:italic;font-weight:300;font-size:clamp(30px,3.4vw,40px)!important;line-height:1.2!important;color:var(--s-clay)}
#main .mo-letter .mo-signature:before,#main .mo-letter .mo-signature:after{content:'';width:32px;height:1px;background:#834c4d66}

#main .mo-offer{background:#dce5dd;padding:clamp(56px,8vw,120px) 6%}
#main .mo-card{box-sizing:border-box;max-width:720px;margin:0 auto;padding:clamp(52px,7vw,96px) clamp(28px,5vw,72px);background:var(--s-ivory);border:1px solid var(--s-ink);outline:1px solid var(--s-ink);outline-offset:-10px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
#main .mo-card p{margin:0!important}
#main .mo-card .mo-price{font-family:var(--serif);font-weight:300;font-size:clamp(60px,9vw,116px)!important;line-height:1!important;letter-spacing:-.03em;font-variant-numeric:lining-nums;color:var(--s-ink)}
#main .mo-card .mo-term{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(22px,2.4vw,28px)!important;line-height:1.25!important;color:var(--s-ink)}
#main .mo-rule{display:block;width:48px;height:1px;margin:10px 0;background:var(--s-ink)}
#main .mo-card .mo-rhythm{font-size:19px!important;color:var(--s-ink)}
#main .mo-card .mo-private{max-width:26em;font-size:17px!important;color:var(--s-text)}
#main .mo-card .mo-button{margin-top:16px}
#main .mo-card .mo-secure{font-size:14px!important;color:var(--s-text)}

#main .mo-steps{position:relative;box-sizing:border-box;max-width:1240px;margin:0 auto;padding:clamp(80px,10vw,150px) 6%;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(48px,7vw,110px);align-items:center}
#main .mo-steps-photo{position:relative;margin:0 0 0 clamp(0px,1.5vw,18px);aspect-ratio:4/5;max-height:620px}
#main .mo-steps-photo:before{content:'';position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--s-clay);opacity:.45;pointer-events:none}
#main .mo-steps-photo img{position:relative;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;background:var(--s-stone);box-shadow:0 30px 60px -30px #24302a59;outline:1px solid #fff8ecbf;outline-offset:-14px}
#main .mo-steps-copy{max-width:540px}
#main .mo-steps h2{margin:0!important;font-size:clamp(40px,4.8vw,64px)!important;line-height:1.04!important;letter-spacing:-.02em}
#main .mo-steps h2 em{font-style:italic;font-weight:300;color:var(--s-clay)}
#main .mo-steps h2:after{content:'';display:block;width:56px;height:1px;margin:clamp(26px,3vw,36px) 0 clamp(14px,2vw,22px);background:var(--s-clay)}
#main .mo-steps ol{list-style:none;margin:0;padding:0;counter-reset:none}
#main .mo-steps li{display:grid;grid-template-columns:clamp(64px,7vw,92px) minmax(0,1fr);align-items:start;padding:clamp(22px,2.6vw,32px) 0;border-bottom:1px solid var(--s-rule)}
#main .mo-steps li:last-child{border-bottom:0}
#main .mo-step-number{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(40px,4.4vw,58px);line-height:.9;letter-spacing:-.03em;font-variant-numeric:lining-nums;color:var(--s-clay)}
#main .mo-steps li>div{padding-left:clamp(18px,2.4vw,30px);border-left:1px solid #834c4d40}
#main .mo-steps h3{margin:0 0 10px!important;font-size:clamp(23px,2.2vw,28px)!important;font-weight:400;line-height:1.2!important;letter-spacing:-.01em;color:var(--s-ink)}
#main .mo-steps li p{margin:0!important;max-width:30em;font-size:17px!important;line-height:1.7!important;color:var(--s-text)}

#main .mo-hello{background:var(--s-ink);color:var(--s-ivory);padding:clamp(72px,9vw,136px) 6%}
#main .mo-hello-inner{max-width:680px;margin:0 auto}
#main .mo-hello .eyebrow{margin:0 0 18px!important;color:#dfc6b6!important}
#main .mo-hello h2{margin:0 0 22px!important;color:var(--s-ivory)!important;font-size:clamp(40px,5.4vw,72px)!important;line-height:1.05!important}
#main .mo-hello-inner>p{margin:0!important;color:#fff8eccc}
#main .mo-form{display:flex;flex-direction:column;gap:26px;margin:clamp(36px,5vw,56px) 0 0;padding:0;border:0;background:none}
#main .mo-form .field{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}
#main .mo-form label{font-size:15px!important;font-weight:500;line-height:1.4;color:var(--s-ivory)}
#main .mo-form .optional{margin-left:8px;font:400 14px/1.4 var(--sans);letter-spacing:0;color:#fff8ecb3}
#main .mo-form :is(input:not([type=checkbox]),textarea){box-sizing:border-box;width:100%;min-height:52px;margin:0;padding:12px 0;border:0;border-bottom:1px solid #fff8ec99;border-radius:0;background:transparent;box-shadow:none;color:var(--s-ivory);font:400 19px/1.5 var(--sans);font-size:19px!important;resize:vertical}
#main .mo-form :is(input,textarea)::placeholder{color:#fff8ec80;opacity:1}
#main .mo-form :is(input:not([type=checkbox]),textarea):focus-visible{outline:0;border-bottom:2px solid var(--s-sage);padding-bottom:11px}
#main .mo-last{display:flex;flex-direction:column;gap:26px}
#main .mo-form .consent{display:flex;align-items:flex-start;gap:14px;margin:0;font-size:15px!important;font-weight:400;line-height:1.55;color:#fff8eccc}
#main .mo-form .consent input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--s-sage)}
#main .mo-form button{cursor:pointer;font-family:var(--sans)}
#main .mo-form :is(button[type=submit],.mo-continue){display:inline-flex;align-items:center;justify-content:center;gap:14px;align-self:flex-start;min-height:54px;margin:0;padding:16px 36px;border:1px solid var(--s-ivory)!important;border-radius:0;background:var(--s-ivory)!important;color:var(--s-ink)!important;font-size:15px;font-weight:500;line-height:1;letter-spacing:.04em;transition:background-color .2s,border-color .2s}
#main .mo-form :is(button[type=submit],.mo-continue):hover{background:var(--s-sage)!important;border-color:var(--s-sage)!important}
#main .mo-form button:focus-visible{outline:2px solid var(--s-sage);outline-offset:4px}
#main .mo-form .mo-back{min-height:48px;padding:12px 4px;border:0;background:none;color:var(--s-ivory);font-size:15px;text-decoration:underline;text-underline-offset:6px}
#main .mo-form .form-status{margin:0!important;min-height:0;font-size:15px!important;color:#f3c9b8}
#main .mo-form .form-status:empty{display:none}
/* One question at a time: site.js adds .is-stepped, the count, Continue and Back. */
#main .mo-form.is-stepped{gap:30px;min-height:360px;justify-content:center}
#main .mo-form.is-stepped>:is(.field,.mo-last):not(.is-current){display:none!important}
#main .mo-form.is-stepped .field>label{font-family:var(--serif);font-weight:300;font-size:clamp(32px,4.6vw,54px)!important;line-height:1.08;letter-spacing:-.02em}
#main .mo-form.is-stepped .field>label .optional{display:block;margin:12px 0 0}
#main .mo-form.is-stepped .field{gap:18px}
#main .mo-progress{margin:0!important;font-size:14px!important;font-weight:500;letter-spacing:.06em;color:#dfc6b6}
#main .mo-step-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
#main .mo-step-nav [hidden]{display:none!important}
#main .mo-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-top:10px}
#main .mo-bars span{height:2px;background:#fff8ec40;transition:background-color .3s}
#main .mo-bars span.is-done{background:var(--s-ivory)}
#main .mo-hello .form-success{margin:clamp(36px,5vw,56px) 0 0;padding:28px 0 0;border-top:1px solid #fff8ec66;outline:0}
#main .mo-hello .form-success strong{display:block;margin:0 0 12px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(28px,3.4vw,40px);line-height:1.15;color:var(--s-ivory)}
#main .mo-hello .form-success p{margin:0!important;color:#fff8eccc}
#main .mo-hello .dialog-or{display:flex;align-items:center;gap:16px;margin:44px 0 18px!important;font-size:14px!important;color:#fff8ecb3}
#main .mo-hello .dialog-or:before,#main .mo-hello .dialog-or:after{content:'';flex:1;height:1px;background:#fff8ec40;position:static;width:auto}
#main .mo-hello .dialog-or span{padding:0;background:none}
#main .mo-hello .dialog-instagram{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:none;color:var(--s-ivory);font-size:16px;text-decoration:underline;text-underline-offset:6px}
#main .mo-hello .dialog-small{margin:22px 0 0!important;font-size:14px!important;line-height:1.6!important;color:#fff8ecb3}
@media (max-width:800px){
#main .mo-steps{grid-template-columns:minmax(0,1fr);gap:56px;padding-top:72px;padding-bottom:72px}
#main .mo-steps-photo{width:min(78%,360px);margin:18px auto 0;aspect-ratio:4/5}
#main .mo-steps-copy{max-width:none}
#main .mo-facts{grid-template-columns:minmax(0,1fr)}
#main .mo-facts div{padding:18px 4px}
#main .mo-facts div+div{border-left:0;border-top:1px solid var(--s-rule)}
#main .mo-hero{min-height:560px;padding:72px 20px!important}
#main :is(.mo-circle,.mo-letter,.mo-offer,.mo-steps,.mo-hello){padding-left:20px;padding-right:20px}
#main .mo-card{outline-offset:-7px}
#main .mo-form.is-stepped{min-height:340px}
}
@media (prefers-reduced-motion:reduce){#main .mo-button,#main .mo-form button,#main .mo-bars span{transition:none}}

/* Audit batch 1 (SPH-05, SPH-13). The event band sits quietly under the opening film in place of the pop-up:
   one line on a desktop, wrapping on a phone, text at 14px or larger, ink on ivory (contrast above 12:1). */
.event-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 28px;padding:16px 6%;background:var(--s-ivory);color:var(--s-ink);border-bottom:1px solid var(--s-rule)}
.event-band p{margin:0}
:root body main .event-band p,:root body main .event-band p span{font-size:15px!important;line-height:1.6!important;color:var(--s-ink)!important}
.event-band strong{font-family:var(--serif);font-weight:400;font-size:18px}
.event-band p span{display:inline}
.event-band p span:before{content:" · "}
.event-band a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;color:var(--s-clay);font-weight:500;text-decoration:underline;text-underline-offset:4px}
.event-band a span:before{content:none}
.event-band a:hover{color:var(--s-ink)}
.event-band a:focus-visible{outline:2px solid var(--s-clay);outline-offset:3px}
@media(max-width:700px){.event-band strong{display:block}.event-band strong+span:before{content:none}}
/* Footer contact and terms links reach the 44px touch size (they were 36px and 20px). */
:root body footer .footer-contact a{min-height:44px}
:root body footer .footer-bottom a{display:inline-flex;align-items:center;min-height:44px}

/* Audit batch 2 (SPH-17), kept restrained: labels step up from 12px to 13px with the tracking eased, and
   anything that carries information (event details, form notes, popup lines) is 14px. Headlines are untouched. */
:root body main .eyebrow.eyebrow,:root body footer .eyebrow.eyebrow{letter-spacing:.08em}
:root body .element-number,:root body .element-card-plain .element-number{font-size:13px}
.premium-home .inbox .form-small,.mo-hello .dialog-small,.dialog-small{font-size:14px!important}
/* Entry pop-up (SPH-05): same layout, readable colours. The call to action is ivory with clay text (6.4:1),
   the small label is stone on clay, and the detail lines are 14px. */
.carnival-popup .carnival-popup-copy>.eyebrow{color:var(--s-stone)!important;font-size:13px!important}
.carnival-popup .carnival-popup-brand{font-size:14px;color:var(--s-ivory)}
.carnival-popup .carnival-popup-details p{font-size:14px;line-height:1.7}
.carnival-popup .carnival-popup-cta{background:var(--s-ivory)!important;color:var(--s-clay)!important;font-size:15px;min-height:52px}
.carnival-popup .carnival-popup-cta:hover{background:var(--s-stone)!important}
.carnival-popup .carnival-continue{font-size:14px;min-height:44px;color:var(--s-ivory)}
@media(max-width:700px){.carnival-popup-photo{min-height:0!important;height:26vh}}

/* Join buttons on the Membership page (hero and fee card): one drawn arrow, the same size as the label, sitting
   close to the text, instead of a text glyph that changes size and spacing between fonts. */
#main .mo-button span[aria-hidden]{display:inline-block;flex:none;width:1em;height:1em;font-size:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transform:rotate(-45deg)}
#main .mo-button[href*="#offer"] span[aria-hidden]{transform:rotate(90deg)}
@media(max-width:480px){#main .mo-hero-copy .mo-button{width:min(100%,320px)}}

/* Pairing B (Cormorant Garamond + Hanken Grotesk), 12 November 2026. Cormorant's hairlines are fine at display size
   but thin at small ones, so card and step headings, journal titles and the Membership opening use weight 400, and a
   soft scrim sits over the Membership opening photograph so the lines stay readable on the bright parts of it. */
:root body main h3,:root body .journal-title,:root body .mo-steps h3{font-weight:400!important}
#main .mo-hero h1{font-weight:400!important}
#main .mo-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(#24302a99,#24302a4d 45%,#24302a99);pointer-events:none}

/* ===== Type scale, 12 November 2026 =====
   Cormorant Garamond is a delicate face with a small x-height, so everything set in it needs to be larger than the
   old Fraunces sizes, and labels and text need clear steps between them. One scale, used on every page:
     label 15px (Hanken, medium)  ·  body 19px  ·  lead 22-24px  ·  card heading 30-36px
     section heading 44-72px  ·  pull line (Cormorant italic) 28-34px  ·  page/founder name 56-92px */
:root body main .eyebrow.eyebrow,:root body footer .eyebrow.eyebrow{font-size:15px!important;line-height:1.5!important;letter-spacing:.04em!important;font-weight:500}
:root body main p{font-size:19px;line-height:1.65}
:root body main :is(h2){font-size:clamp(42px,5vw,70px)!important;font-weight:400!important;line-height:1.05!important}
:root body main :is(h3){font-size:clamp(28px,2.4vw,36px)!important;line-height:1.15!important}
:root body main :is(.st-lead,.inbox-intro,.mo-lead,.home-introduction p:nth-of-type(2),.soft-hero-copy p:not(.eyebrow)){font-size:clamp(21px,1.7vw,24px)!important;line-height:1.55!important}
:root body main :is(.st-emphasis,.mo-right-ones,.founder-quote,.home-letter .letter-signoff){font-size:clamp(26px,2.5vw,34px)!important;line-height:1.35!important}

/* Our story: the "You may be a founder. A mother. ..." row is a 3 x 2 grid of equal cells, not a wrapping line */
:root body.story-page .st-roles{display:grid!important;grid-template-columns:repeat(3,1fr);gap:0!important;padding:0!important;max-width:1000px}
:root body.story-page .st-roles li{display:flex;align-items:center;justify-content:center;text-align:center;padding:26px 16px!important;white-space:normal!important;border-left:0!important;font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.5vw,34px)!important;line-height:1.2;color:var(--s-ink)}
:root body.story-page .st-roles li:not(:nth-child(3n+1)){border-left:1px solid #834c4d40!important}
:root body.story-page .st-roles li:nth-child(n+4){border-top:1px solid var(--s-rule)}
@media(max-width:700px){:root body.story-page .st-roles{grid-template-columns:1fr 1fr!important}:root body.story-page .st-roles li,:root body.story-page .st-roles li:not(:nth-child(3n+1)){border-left:0!important;border-top:0!important;padding:18px 8px!important}:root body.story-page .st-roles li:nth-child(even){border-left:1px solid #834c4d40!important}:root body.story-page .st-roles li:nth-child(n+3){border-top:1px solid var(--s-rule)!important}:root body.story-page .st-why{text-align:center!important}}

/* Our story: the founder. A large name, clear steps down to the role and the text, and a photograph that fills its column. */
:root body .story-founder h2{font-size:clamp(56px,6.2vw,92px)!important;line-height:1!important;margin:18px 0 18px!important}
:root body .story-founder .founder-credentials{font-size:clamp(20px,1.7vw,24px)!important;margin:0 0 8px!important}
:root body .story-founder .founder-role{font-size:16px!important;letter-spacing:.14em!important;text-transform:uppercase!important}
:root body .story-founder .founder-text p{font-size:19px!important;line-height:1.7!important}
:root body .story-founder .founder-text p:first-of-type{font-size:clamp(21px,1.8vw,25px)!important;line-height:1.6!important}
@media(min-width:701px){:root body .story-founder.has-photo{grid-template-columns:minmax(0,5fr) minmax(0,6fr)!important;align-items:start!important;gap:32px 6%!important}
 :root body .story-founder.has-photo .founder-photo{grid-row:1 / span 2;align-self:start;position:sticky;top:96px;margin:0!important;aspect-ratio:4/5;box-shadow:0 36px 70px -34px #0d1511d9}
 :root body .story-founder .founder-photo:before{inset:14px!important;border-color:#fff8ec66!important;z-index:1}
 :root body .story-founder.has-photo .founder-head{align-self:end}}
:root body .story-founder .founder-photo img{object-position:50% 30%!important}
/* Our story and home: the older page-specific rules above are more specific, so the scale is restated for them. */
:root body.story-page :is(.st-why,.st-copy,.st-necessity-plain) h2{font-size:clamp(42px,5vw,70px)!important}
:root body.story-page .st-emphasis,:root body.premium-home main .more-wellness-story p.st-emphasis{font-size:clamp(26px,2.5vw,34px)!important;line-height:1.35!important}
:root body.story-page .st-lead,:root body.premium-home main .more-wellness-story p.st-lead{font-size:clamp(21px,1.7vw,24px)!important}
:root body.story-page .st-why-close p:not(.st-emphasis){font-size:clamp(20px,1.6vw,23px)!important;line-height:1.6!important;color:var(--s-ink)!important}
:root body.story-page .st-copy p:not(.st-lead):not(.st-emphasis){font-size:19px!important}

/* Membership: the note from The Sphere sits on a deep green, softly mottled like dark suede (12 November 2026).
   Layered radial glows give the uneven, cloudy colour; the film grain adds the fine texture; faint ivory rings keep
   the circle motif. The ivory arch stays as it was, so the note itself reads exactly as before. */
#main .mo-letter{background-color:#10221d!important;background-image:radial-gradient(ellipse 60% 50% at 22% 18%,#2a5248cc,transparent 70%),radial-gradient(ellipse 55% 45% at 80% 62%,#1f4238b3,transparent 70%),radial-gradient(ellipse 70% 40% at 50% 105%,#050d0be6,transparent 70%),repeating-radial-gradient(circle at 50% 46%,transparent 0 119px,#fff8ec0f 119px 120px),url("/assets/film-grain.svg")!important;background-blend-mode:normal,normal,normal,normal,soft-light}
#main .mo-letter-sheet{box-shadow:0 50px 90px -40px #02080699,0 0 0 1px #fff8ec1f!important}

/* ===== Membership: How joining works, and the hello form (12 November 2026) =====
   Joining is three columns under a centred heading instead of a photograph beside a tall list, so the section is a
   third of its old height. The hello form moves to a light stone surface so it no longer joins the dark green note
   above and the dark footer below; the page now alternates light, dark, light, dark. */
#main .mo-steps{display:block;max-width:1160px;padding:clamp(64px,7vw,104px) 6%;text-align:center}
#main .mo-steps-copy{max-width:none;margin:0 auto}
#main .mo-steps h2{text-align:center}
#main .mo-steps h2:after{margin:clamp(22px,2.4vw,30px) auto clamp(30px,3.6vw,48px)}
#main .mo-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);text-align:center}
#main .mo-steps li{display:flex;flex-direction:column;align-items:center;gap:14px;padding:0!important;border:0!important;border-top:1px solid var(--s-rule)!important;padding-top:clamp(24px,2.6vw,36px)!important}
#main .mo-steps li>div{padding:0!important;border:0!important}
#main .mo-step-number{font-size:clamp(48px,5vw,68px)}
#main .mo-steps li p{margin:0 auto!important;max-width:24em;font-size:18px!important;line-height:1.65!important;color:var(--s-ink)!important}
@media(max-width:800px){#main .mo-steps ol{grid-template-columns:1fr;gap:34px}#main .mo-steps{padding:56px 20px}}

#main .mo-hello{background:var(--s-stone)!important;color:var(--s-ink)}
#main .mo-hello .eyebrow{color:var(--s-clay)!important}
#main .mo-hello h2{color:var(--s-ink)!important}
#main .mo-hello-inner>p{color:var(--s-ink)!important}
#main .mo-form label{color:var(--s-ink)}
#main .mo-form .optional{color:var(--s-text)}
#main .mo-form :is(input:not([type=checkbox]),textarea){border-bottom-color:#24302a80;color:var(--s-ink)}
#main .mo-form :is(input,textarea)::placeholder{color:#24302a8c}
#main .mo-form :is(input:not([type=checkbox]),textarea):focus-visible{border-bottom-color:var(--s-clay)}
#main .mo-form .consent{color:var(--s-ink)}
#main .mo-form .consent input{accent-color:var(--s-clay)}
#main .mo-form :is(button[type=submit],.mo-continue){border-color:var(--s-ink)!important;background:var(--s-ink)!important;color:var(--s-ivory)!important}
#main .mo-form :is(button[type=submit],.mo-continue):hover{background:var(--s-clay)!important;border-color:var(--s-clay)!important}
#main .mo-form button:focus-visible{outline-color:var(--s-clay)}
#main .mo-form .mo-back{color:var(--s-ink)}
#main .mo-form .form-status{color:var(--s-clay)}
#main .mo-progress{color:var(--s-clay)}
#main .mo-bars span{background:#24302a26}
#main .mo-bars span.is-done{background:var(--s-ink)}
#main .mo-hello .form-success{border-top-color:#24302a40}
#main .mo-hello .form-success strong{color:var(--s-ink)}
#main .mo-hello .form-success p{color:var(--s-ink)!important}
#main .mo-hello .dialog-or{color:var(--s-text)}
#main .mo-hello .dialog-or:before,#main .mo-hello .dialog-or:after{background:#24302a33}
#main .mo-hello .dialog-instagram{color:var(--s-ink)}
#main .mo-hello .dialog-small{color:var(--s-text)!important}
