/* bwib-24 C: every page other than the homepage, in the light design (docs/design/light-concept/index.html).
   Loaded LAST on those pages: style.css → light.css → the page's own sheets → this file.
   The header, phone menu and footer come from light.css (the same as the homepage). This file
   points the older sheets' colour names at the light palette and dresses what the pages and their
   scripts render (sections, cards, forms, member cards, the members' area, CMS sections).
   Light only: paper / white / mist / blush grounds, ink text, rose for small text, gold rules.
   Nothing here replaces rose.css or site-chrome.css on pages that still load them. */

/* ── tokens: the older sheets' names, pointed at the light palette (light.css owns the light names).
   html:root so this wins over css/v6-global.css, which js/config.js appends after this file. */
html:root{
  --ivory:var(--paper);--wine:var(--ink);--rose-gold:var(--ink2);--rose-gold-soft:var(--line);
  --pink-bright:var(--rose-ink);--pink-ink:var(--rose-ink);--pink-text:var(--rose-ink);--purple:var(--rose-ink);
  --purple-deep:var(--rose-deep);--purple-soft:var(--blush);--purple-on-dark:#F2A7C0;
  --body-text:var(--ink);--font-display:var(--serif);--font-body:var(--sans);--max-width:1240px;--gutter:var(--gut);
  --v6-ink:var(--ink);--v6-ink2:#3A2C3C;--v6-ink3:var(--ink2);--v6-wine:var(--ink);--v6-wine2:var(--rose-ink);
  --v6-pink:var(--rose-ink);--v6-pink2:#F2A7C0;--v6-gold:var(--gold);--v6-gold2:var(--gold2);--v6-cream:var(--paper);
  --v6-paper:var(--white);--v6-char:var(--ink);--v6-line:var(--line);--v6-line-dark:rgba(255,255,255,.16);
  --ink3:var(--ink2);--wine2:var(--rose-ink);--pink:var(--rose-ink);--pink2:#F2A7C0;--cream:var(--paper);--char:var(--ink);
  --muted:var(--ink2);--muted-ink:var(--ink2);--hairline:var(--line);--radius:24px;
  --gold-ink:#7A5C22;--line-strong:rgba(30,21,32,.24);--pink-tint:rgba(195,24,81,.08);--gold-tint:rgba(184,147,90,.14);
  --shadow:0 34px 60px -34px rgba(30,21,32,.36);--shadow-sm:0 10px 26px -16px rgba(30,21,32,.3)
}
/* the fixed header's height (light.css), so the first thing on a page starts below it; declared on body
   so the "not translated yet" bar (which pushes the header down) is counted in */
body{--navh:calc(80px + env(safe-area-inset-top,0px) + var(--notice-off,0px))}
body.has-untranslated-notice{--notice-off:var(--notice-h,42px)}
@media (max-width:640px){body{--navh:calc(72px + env(safe-area-inset-top,0px) + var(--notice-off,0px))}}

/* ── ground and type */
html{background:var(--paper)}
body{background:var(--paper);color:var(--ink);overflow-x:clip}
::selection{background:var(--rose-ink);color:#fff}
:focus-visible{outline:2px solid var(--rose-ink);outline-offset:3px}
h1 em,h2 em,h3 em{font-style:italic}
/* light.css resets margins for the homepage's own layout; running text on the other pages wants them back.
   :where() keeps these at element weight so every class-based rule (events, members' area) still wins. */
:where(body:not([data-evl])) main :where(p){margin:0 0 1em}
:where(body:not([data-evl])) main :where(h1,h2,h3,h4){margin:0 0 .5em;color:var(--ink)}
:where(body:not([data-evl])) main :where(h3,h4){font-weight:300;letter-spacing:-.01em;line-height:1.15}
:where(body:not([data-evl])) main :where(ul,ol):not([class]){list-style:revert;padding-left:1.4em;margin:0 0 1em}
:where(body:not([data-evl])) main :where(li):not([class]){margin-bottom:.35em}
:where(body:not([data-evl])) main img{display:inline-block}
main a:not([class]){color:var(--rose-ink)}
main p a:not([class]),main li a:not([class]),main dd a:not([class]),main label a:not([class]){text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .4s var(--ease),color .2s}
main p a:not([class]):hover,main li a:not([class]):hover,main dd a:not([class]):hover,main label a:not([class]):hover{background-size:0 1px;background-position:100% 100%}
strong,b{font-weight:600}
hr{border:0;border-top:1px solid var(--line);margin:2rem 0}

/* ── the shell: sections on paper and white, the quiet band on mist (never dark) */
body>footer.wrap{max-width:none;margin:0;padding-block:clamp(64px,8vw,110px) 28px}
.wrap{max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gut)}
.section{padding:clamp(64px,9vw,130px) 0}
#main>.section:nth-of-type(even):not(.section--ink){background:var(--white)}
/* a branch page's board section waits hidden until its directors load; no empty band meanwhile */
[data-section="directors"]:has(>.wrap>[data-directors][hidden]){display:none}
.section__head{margin-bottom:clamp(28px,4vw,56px)}
.section__head h2,.section>.wrap>h2{font-size:clamp(36px,5vw,76px);line-height:1.02;font-weight:200;letter-spacing:-.022em}
.section__head p{color:var(--ink2);max-width:52ch}
.section .eyebrow,.mw-eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--ink2);margin:0 0 18px}
.section .eyebrow::before,.mw-eyebrow::before{content:"";width:34px;height:1px;background:var(--gold);flex:none}
.section--ink{background:var(--mist);color:var(--ink);--pink-text:var(--rose-ink)}
.section--ink h1,.section--ink h2,.section--ink h3,.section--ink h4{color:var(--ink)}
.section--ink p{color:var(--ink2)}
.section--ink .branch-card h3{color:var(--ink)}
.hairline{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}

/* ── the opening of every page: paper to blush, a large light heading, the lead in ink2 */
:is(#main,[data-branch-root])>.section:first-of-type{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--paper) 0%,var(--blush) 100%);padding-top:calc(var(--navh) + clamp(48px,8vw,120px)) !important;padding-bottom:clamp(56px,7vw,110px);border-bottom:1px solid var(--line2)}
:is(#main,[data-branch-root])>.section:first-of-type::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--rose) 70%,transparent);opacity:.55;transform-origin:left;animation:lp-thread 1.4s .35s var(--ease) both}
:is(#main,[data-branch-root])>.section:first-of-type>.wrap{position:relative;z-index:1}
:is(#main,[data-branch-root])>.section:first-of-type h1{font-size:clamp(44px,7.2vw,116px);line-height:1;letter-spacing:-.028em;font-weight:200;max-width:15ch;margin:0 0 .32em;animation:lp-rise-mask 1s .08s var(--ease) both}
:is(#main,[data-branch-root])>.section:first-of-type .wrap[style*="text-align:center"] h1,:is(#main,[data-branch-root])>.section:first-of-type .wrap[style*="text-align: center"] h1{margin-inline:auto}
:is(#main,[data-branch-root])>.section:first-of-type p{color:var(--ink2);font-size:clamp(17px,1.4vw,20px) !important;line-height:1.65;max-width:56ch;animation:lp-rise .9s .2s var(--ease) both}
:is(#main,[data-branch-root])>.section:first-of-type .wrap[style*="text-align:center"] p,:is(#main,[data-branch-root])>.section:first-of-type .wrap[style*="text-align: center"] p{margin-inline:auto}
:is(#main,[data-branch-root])>.section:first-of-type .eyebrow{animation:lp-rise .9s var(--ease) both}
/* pages whose first thing is not a section (a member's page, the article and ticket views) */
#main>:first-child:not(section):not(.evl):not(.skip-link):not([data-branch-root]):not(.untranslated-notice),
#main>.untranslated-notice:first-child+:not(section):not(.evl):not(.skip-link):not([data-branch-root]){padding-top:calc(var(--navh) + clamp(32px,5vw,72px))}
/* the "not translated yet" strip (js/i18n-fallback.js puts it first in #main): the homepage's light strip from light.css on every page —
   site-chrome.css and v6-overrides.css paint it near-black — one line tall, never the header clearance above */
html body.has-untranslated-notice .untranslated-notice{background:var(--blush);color:var(--ink);border-bottom:1px solid var(--line);font:500 13px/1.5 var(--sans);padding:10px var(--gut);backdrop-filter:none}
@keyframes lp-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes lp-rise-mask{from{opacity:0;transform:translateY(.35em);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 -12% 0)}}
@keyframes lp-thread{from{transform:scaleX(0)}to{transform:none}}

/* ── cards: white on paper, paper on white; a soft lift on hover */
main [data-repeat]>article,main [data-repeat]>a,main [data-repeat]>div,
.testimonial-card,.value-card,.event-card,.branch-card,.wotm-card,.video-card,.press-card{
  background:var(--white);border:1px solid var(--line) !important;border-radius:24px !important;box-shadow:none;color:var(--ink);
  transition:transform .5s var(--ease),border-color .3s,box-shadow .5s var(--ease)}
#main>.section:nth-of-type(even) [data-repeat]>article,#main>.section:nth-of-type(even) [data-repeat]>a,#main>.section:nth-of-type(even) [data-repeat]>div,
#main>.section:nth-of-type(even) .value-card{background:var(--paper)}
main [data-repeat]>article:hover,main [data-repeat]>a:hover,.event-card:hover,.branch-card:hover,.wotm-card:hover,.video-card:hover,.press-card:hover{transform:translateY(-4px);border-color:rgba(195,24,81,.28) !important;box-shadow:var(--shadow)}
main [data-repeat]>article,main [data-repeat]>div{padding:clamp(20px,2.4vw,30px)}
main [data-repeat]>article:empty{display:none}
main [data-repeat] h3{font-family:var(--serif);font-weight:300;font-size:clamp(22px,2vw,28px);line-height:1.12;margin:0 0 .4rem;color:var(--ink)}
main [data-repeat] h3 a{text-decoration:none;color:inherit}
main [data-repeat] h3 a:hover{color:var(--rose-ink)}
main [data-repeat] p{color:var(--ink2);margin:0 0 .5em;font-size:15px}
main [data-repeat] img{border-radius:16px}
main [data-repeat]>article img,.event-card img,.wotm-card img,.branch-card img,.video-card img,.press-card img{transition:transform 1.1s var(--ease)}
main [data-repeat]>article:hover img,.event-card:hover img,.wotm-card:hover img,.branch-card:hover img,.video-card:hover img,.press-card:hover img{transform:scale(1.04)}
.event-card,.wotm-card,.branch-card,.video-card,.press-card{overflow:hidden}
.value-card{padding:clamp(20px,2.4vw,28px) !important;border-radius:20px !important}
.value-card h3{font-style:italic;font-size:24px !important}
/* inline grids written in the markup fold down on smaller screens */
@media (max-width:960px){[data-repeat][style*="grid-template-columns"],.values-grid[style*="grid-template-columns"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:600px){[data-repeat][style*="grid-template-columns"],.values-grid[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr) !important;gap:16px !important}}

/* ── quotes, video, press, stats */
.testimonial-card,.quote-block{padding:clamp(22px,3vw,34px) !important}
.testimonial-card blockquote,.testimonial-card p:first-child,.quote-block blockquote{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(20px,2vw,26px);line-height:1.35;color:var(--ink);margin:0 0 .9rem}
.video-card iframe,.video-card img{border-radius:16px}
.press-banner{background:var(--white);border-block:1px solid var(--line)}
.stats__value{font-family:var(--serif);font-weight:200;color:var(--ink);font-size:clamp(40px,4.4vw,64px);line-height:1}
.stats__label{color:var(--ink2);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.carousel__btn{width:44px;height:44px;padding:0;border-radius:50% !important;background:var(--white) !important;color:var(--ink) !important;border:1px solid var(--line) !important}
.carousel__btn:hover{background:var(--ink) !important;color:#fff !important}

/* ── buttons the pages and their scripts write: the same pills as the homepage */
.tile,.cta,.pp-btn,.form-submit,button.form-field,.cms-form button[type=submit],main button[type=submit]:not([class]){
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px !important;border-radius:999px !important;
  font-family:var(--sans) !important;font-size:12.5px !important;letter-spacing:.16em;text-transform:uppercase;font-weight:500 !important;
  text-decoration:none;text-align:center;cursor:pointer;white-space:normal;line-height:1.2;
  background:transparent;color:var(--ink) !important;border:1px solid currentColor !important;
  transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.tile:hover,.cta:hover,.pp-btn--ghost:hover{background:var(--ink);color:#fff !important;border-color:var(--ink) !important;transform:none;box-shadow:none}
.tile--primary,.cta.primary,.pp-btn:not(.pp-btn--ghost),.form-submit,button.form-field,.cms-form button[type=submit],main button[type=submit]:not([class]){background:var(--rose-ink) !important;color:#fff !important;border-color:var(--rose-ink) !important}
.tile--primary:hover,.cta.primary:hover,.pp-btn:not(.pp-btn--ghost):hover,.form-submit:hover,button.form-field:hover,.cms-form button[type=submit]:hover,main button[type=submit]:not([class]):hover{background:var(--rose-deep) !important;border-color:var(--rose-deep) !important}
.tiles{gap:16px}
.tiles .tile{width:100%}
button.form-field{width:auto;justify-self:start}
main button[disabled],main [aria-disabled="true"].tile{opacity:.55;cursor:default}

/* ── forms: white fields, a hairline, the rose ring on focus */
.form-label,.form-row>label,.mw-field>span,.cms-form label{font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
.form-field:not(button),.mw-input,.cms-form input,.cms-form textarea,.cms-form select,.pp-wrap input,.pp-wrap textarea,.pp-wrap select,
main input[type=text],main input[type=email],main input[type=tel],main input[type=url],main input[type=search],main input[type=date],main input[type=number],main input[type=password],main textarea,main select{
  background:var(--white);border:1px solid var(--line-strong) !important;border-radius:14px !important;color:var(--ink);
  font:16px/1.4 var(--sans);padding:14px 16px;min-height:52px;width:100%;max-width:100%;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
main textarea,.form-field:is(textarea){min-height:140px}
.form-field:focus,.mw-input:focus,.cms-form :is(input,textarea,select):focus,main :is(input,textarea,select):focus{outline:none;border-color:var(--rose-ink) !important;box-shadow:0 0 0 4px var(--pink-tint)}
.form-field::placeholder,.mw-input::placeholder,main ::placeholder{color:#8C7D8E}
main select,select.form-field,select.mw-input{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%231E1520' stroke-width='1.5' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 18px center}
main input[type=checkbox],main input[type=radio]{accent-color:var(--rose-ink);width:18px;height:18px}
.form-row{display:grid;gap:8px}
.join-refusal{background:var(--blush);color:var(--ink);border:1px solid var(--line);border-radius:16px}
main [role=status]:not(:empty){color:var(--ink2)}

/* ── notes, empty and loading states */
.rose-empty{padding:clamp(24px,4vw,40px);text-align:center;color:var(--ink2);border:1px dashed var(--line-strong);border-radius:20px}
.rose-note{padding:14px 18px;border-radius:14px;background:var(--blush);border:1px solid var(--line);color:var(--ink);font-size:15px}
.rose-note--ok{background:rgba(43,122,74,.1);border-color:rgba(43,122,74,.3);color:#1F6B3E}
.rose-note--error{background:rgba(163,18,63,.07);border-color:rgba(163,18,63,.3);color:var(--rose-deep)}
.rose-skeleton{background:linear-gradient(90deg,var(--blush) 25%,var(--white) 50%,var(--blush) 75%);background-size:200% 100%;animation:lp-shimmer 1.4s linear infinite;border-radius:12px}
@keyframes lp-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.rose-stagger>*{transition-delay:calc(var(--i,0) * 90ms)}
[data-parallax]{transform:translate3d(0,var(--py,0px),0)}
.rose-lift{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.rose-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.rose-zoom{overflow:hidden}
.rose-zoom img{transition:transform 1.1s var(--ease)}
.rose-zoom:hover img{transform:scale(1.04)}

/* ── membership levels on the Join page: the homepage's level cards, without the card art */
.v6-doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:clamp(16px,2.4vw,32px);margin-top:clamp(24px,3vw,40px)}
.v6-door{position:relative;display:flex;flex-direction:column;gap:14px;background:var(--white) !important;color:var(--ink);border:1px solid var(--line) !important;border-radius:24px !important;padding:clamp(26px,2.6vw,36px) clamp(20px,2.2vw,30px) clamp(20px,2vw,26px) !important;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s}
.v6-door:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.v6-door.is-highlight{border-color:var(--rose-ink) !important;box-shadow:0 0 0 1px var(--rose-ink) inset}
.v6-door-index{position:absolute;top:18px;right:22px;font:300 italic 22px/1 var(--serif);color:var(--gold-ink)}
.v6-door h3{font-family:var(--serif);font-weight:300;font-size:clamp(24px,2.2vw,31px);line-height:1.08;color:var(--ink) !important;margin:0;padding-right:36px}
.v6-door-price{font:200 clamp(30px,3vw,42px)/1 var(--serif);color:var(--rose-ink);font-variant-numeric:lining-nums tabular-nums}
.v6-door-price s{color:var(--ink2);font-size:.6em;margin-right:.3em}
.v6-door-badge{display:inline-flex;align-self:flex-start;padding:4px 12px;border-radius:999px;background:var(--gold-tint);color:var(--gold-ink);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin:0}
.v6-door p,.v6-door .rt{color:var(--ink2) !important;font-size:15px;margin:0}
.v6-door-list{display:flex;flex-direction:column;gap:10px;margin:4px 0 0;padding:0;list-style:none}
.v6-door-list li{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--line2);padding-top:10px;font-size:15px;color:var(--ink2) !important;margin:0}
.v6-door-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:9px;flex-shrink:0}
.v6-door-link{margin-top:auto;padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--ink) !important;text-decoration:none}
.v6-door-link:hover,.v6-door-link:hover span{color:var(--rose-ink) !important}
/* the whole card opens the level's link; links inside the description stay clickable */
.v6-door .v6-door-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.v6-door .rt a{position:relative;z-index:1}
.v6-door-link:focus-visible{outline:none}
.v6-door:has(.v6-door-link:focus-visible){outline:2px solid var(--rose-ink);outline-offset:3px}
/* bwib-24 P — "Buy membership" on a level card: sits under the card's link, above its click-through layer */
.v6-door-buy{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px}
.v6-door-buy[hidden]{display:none}
.v6-door-buybtn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1.2rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);font:500 12px/1.2 var(--sans,inherit);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.v6-door-buybtn:hover{border-color:var(--rose-ink);color:var(--rose-ink)}
.v6-door-buybtn:disabled{opacity:.6;cursor:default}
.v6-door-buybtn--go{background:var(--rose-ink);border-color:var(--rose-ink);color:#fff}
.v6-door-buybtn--go:hover{color:#fff;opacity:.9}
.v6-door-payform{display:flex;flex-direction:column;gap:10px}
.v6-door-payform[hidden],.v6-door-payerr[hidden]{display:none}
.v6-door-payform input{min-height:44px;padding:.6rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);font:inherit;font-size:15px;width:100%;box-sizing:border-box}
.v6-door-payerr{margin:0;font-size:14px;color:var(--rose-ink)}

/* ── public pages (.pp-*) and CMS sections (.cms-*) */
.pp-headline{font-family:var(--serif);font-weight:200;font-size:clamp(38px,5.6vw,84px);line-height:1.02;letter-spacing:-.025em;color:var(--ink)}
.pp-badge{border-color:var(--line-strong);color:var(--ink);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.pp-tier{color:var(--gold-ink)}
.pp-card{color:var(--ink)}
.pp-card__name{font-family:var(--serif);font-weight:300;color:var(--ink);font-size:clamp(20px,1.8vw,24px)}
.pp-card__meta,.pp-business{color:var(--ink2);opacity:1}.pp-card__meta{font-size:14px}
.pp-card img,.pp-card__blank,.pp-cover{border-radius:20px;background:var(--blush)}
/* bwib-24 C: Woman of the Month — while the feature loads it keeps a screen's height, and what sits below
   stays unseen until the feature is in, so nothing on screen jumps. Without scripts the empty block is not shown.
   The cover photo carries its own width and height, so its place is kept before it arrives. */
.js .pp-section.is-pending{display:block;min-height:100svh}
.js .pp-section.is-pending~section{visibility:hidden}
html:not(.js) .pp-section.is-pending{display:none}
.pp-cover{height:auto}
/* bwib-24 C: words for screen readers only (the archive's heading keeps the headings in order) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pp-cta,.pp-closing{border-radius:24px}
.pp-closing{font-family:var(--serif);font-weight:300;color:var(--ink)}
.pp-share a,.pp-share__btn{border-color:var(--line-strong);border-radius:999px;color:var(--ink)}
.pp-share__btn:hover,.pp-share__btn:focus-visible{background:var(--pink-tint)}
.pp-author{border-color:var(--gold2);border-radius:20px;background:var(--white)}
.pp-invited{border-left-color:var(--rose-ink)}
.cms-sec--bg-paper{background:var(--white)}
.cms-sec--bg-ink,.cms-sec--bg-wine{background:var(--mist);color:var(--ink)}
.cms-sec--bg-ink :is(h1,h2,h3,h4),.cms-sec--bg-wine :is(h1,h2,h3,h4){color:var(--ink)}
.cms-sec--bg-ink a:not(.tile),.cms-sec--bg-wine a:not(.tile){color:var(--rose-ink)}
.cms-sec h1,.cms-sec h2{font-family:var(--serif);font-weight:200;letter-spacing:-.022em}
.cms-sec h3{font-family:var(--serif);font-weight:300}
.cms-stat{border-radius:20px}
.cms-person img{border-radius:50%}
.cms-quote{font-family:var(--serif);font-weight:300;font-style:italic;color:var(--ink)}
.cms-faq details{border-color:var(--line);border-radius:14px;background:var(--white)}
.cms-gallery img,.cms-image img{border-radius:20px}

/* ── bwib-14 member cards, ribbons, level groups and the public profile (rules kept, colours light) */
.m-photo{position:relative;display:block;width:100%;aspect-ratio:1;margin-bottom:1rem}
.m-photo img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:50% !important;margin:0;background:var(--blush);display:block}
.m-ribbons{position:absolute;left:0;right:0;bottom:6%;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}
.m-ribbon{display:inline-block;max-width:92%;padding:3px 10px;border-radius:999px;background:var(--ink);color:#fff;font:500 11px/1.3 var(--sans);letter-spacing:.06em;text-align:center;box-shadow:var(--shadow-sm)}
.m-ribbon--director{background:var(--gold-ink)}
.m-card-name a,.m-name-link{color:inherit;text-decoration:none}
.m-card-name a:hover{color:var(--rose-ink)}
.m-bio a,.m-bio-html a{text-decoration:underline;color:var(--rose-ink)}
.m-site-btn{display:inline-flex;align-items:center;min-height:40px;margin-top:.7rem;padding:0 18px;border:1px solid var(--gold-ink);border-radius:999px;color:var(--ink);font:500 11.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;background:transparent}
.m-site-btn:hover,.m-site-btn:focus-visible{background:var(--gold-tint)}
.m-tier-head{margin-top:2.5rem;padding-bottom:.6rem;border-bottom:1px solid var(--gold)}
.m-tier-head h2{font-size:clamp(26px,2.6vw,36px);font-weight:200}
.m-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(140px,22vw,240px),1fr));gap:2rem;margin-top:1.25rem}
.m-directors{margin-top:1.5rem}
.m-director{text-align:center}
.m-banner{display:inline-block;margin-top:.4rem;padding:3px 12px;border-radius:999px;background:var(--gold-tint);color:var(--gold-ink);font:500 12px/1.3 var(--sans);letter-spacing:.04em}
.m-profile{max-width:760px;margin:0 auto;text-align:center}
.m-profile .m-photo{max-width:280px;margin:0 auto 1.25rem}
.m-profile h1{font-size:clamp(40px,6vw,84px)}
.m-profile dl{text-align:left}
.m-profile dt{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink2);font-weight:500;margin-top:1rem}
.m-profile dd{margin:.2rem 0 0}
.m-profile .m-people a{text-decoration:underline}
.m-socials{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:.8rem}
.m-socials a{font-weight:500;font-size:14px;color:var(--rose-ink)}
main [data-repeat] .m-photo img,.m-grid img{border-radius:50% !important}

/* ── the phone menu: more pages than the homepage's six, so it scrolls and keeps the rest in a quiet list */
.menu{overflow-y:auto;justify-content:safe center;-webkit-overflow-scrolling:touch}
.menu-more{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);max-width:560px}
.menu-more a{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--ink2);padding:8px 0}
.menu-more a:hover,.menu-more a[aria-current=page]{color:var(--rose-ink)}
.links a[aria-current=page]{color:var(--rose-ink)}
.ft-col a[aria-current=page]{color:var(--rose-ink)}

/* ── the footer here has one more column than the homepage's (Explore) */
.ft-top.ft-5{grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.ft-top.ft-5{grid-template-columns:repeat(4,minmax(0,1fr))}.ft-top.ft-5 .ft-brand{grid-column:1/-1}}
@media (max-width:900px){.ft-top.ft-5{grid-template-columns:1fr 1fr}}

/* ── inline styles written for the old look (some pages and js/main.js): soft boxes become blush, gold words become the readable gold */
main [style*="background:var(--rose-gold-soft)"],main [style*="background: var(--rose-gold-soft)"]{background:var(--blush) !important;border-radius:24px !important}
main [style*="color:var(--gold)"],main [style*="color: var(--gold)"]{color:var(--gold-ink) !important}

/* ── legal pages (privacy, terms, accessibility): the long text reads as body copy, with room above each heading */
:is(#main,[data-branch-root])>.section:first-of-type [data-repeat="legal-sections"] p{font-size:17px !important;line-height:1.75;max-width:none;animation:none}
[data-repeat="legal-sections"] :is(h2,h3){font-size:clamp(26px,2.6vw,36px);margin:1.6em 0 .45em}
[data-repeat="legal-sections"]>:first-child{margin-top:0}

/* ── press cards (About and Founder): the outlet as a small label, the headline in the serif */
main .press-card>div>div:first-child{font:500 11.5px/1.4 var(--sans) !important;letter-spacing:.2em;text-transform:uppercase;color:var(--ink2) !important}
main .press-card>div>div:last-child{font-family:var(--serif);font-weight:300;font-size:clamp(19px,1.6vw,22px) !important;line-height:1.25;color:var(--ink);margin-top:.45rem !important}

/* ── the Founder page: her chapter from the homepage (arch portrait, name, awards) opens the page,
   then the milestones in the homepage's story style, the clippings and press, and the closing invitation */
[data-page="founder"] .fp-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,110px);align-items:center}
[data-page="founder"] .fp-media{position:relative;max-width:480px;width:100%;justify-self:center;animation:lp-rise 1.1s var(--ease) both}
[data-page="founder"] .fp-arch{position:relative;aspect-ratio:4/5;border-radius:999px 999px 24px 24px;overflow:hidden;background:var(--mist)}
[data-page="founder"] .fp-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
[data-page="founder"] .fp-arch-line{position:absolute;inset:-14px;border:1px solid var(--gold);border-radius:999px 999px 34px 34px;pointer-events:none}
[data-page="founder"] .fp-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
[data-page="founder"] #main>.fp-open .fp-copy .eyebrow{margin:0}
[data-page="founder"] #main>.fp-open h1{font-size:clamp(48px,6vw,104px);max-width:none;margin:0}
[data-page="founder"] #main>.fp-open .fp-role{font-size:12px !important;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--gold-ink);margin:-6px 0 0;line-height:1.5}
[data-page="founder"] #main>.fp-open .fp-bio{margin:0;max-width:60ch}
[data-page="founder"] .fp-awards{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;animation:lp-rise .9s .35s var(--ease) both}
[data-page="founder"] .fp-awards li{border-top:1px solid var(--line);padding-top:14px;font-size:14px;color:var(--ink2);margin:0}
[data-page="founder"] .fp-awards b{display:block;color:var(--ink);font-weight:500;font-size:15.5px;margin-bottom:2px}

[data-page="founder"] .fp-ms-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,44px);margin-top:clamp(28px,4vw,56px)}
[data-page="founder"] [data-repeat="founder-milestones"]>article{background:none !important;border:0 !important;border-top:1px solid var(--gold) !important;border-radius:0 !important;padding:22px 0 0 !important;display:flex;flex-direction:column;gap:12px}
[data-page="founder"] [data-repeat="founder-milestones"]>article:hover{transform:none;box-shadow:none}
[data-page="founder"] .fp-ms-n{font-family:var(--serif);font-weight:200;font-size:clamp(64px,6.4vw,112px);line-height:.86;letter-spacing:-.045em;font-variant-numeric:lining-nums;color:var(--ink)}
[data-page="founder"] [data-repeat] .fp-ms-u{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);font-weight:500;margin:0}
[data-page="founder"] [data-repeat="founder-milestones"] h3{font-size:clamp(24px,2.2vw,34px);margin:0}
[data-page="founder"] [data-repeat="founder-milestones"] p:not(.fp-ms-u){font-size:15.5px;max-width:34ch;margin:0}

[data-page="founder"] .fp-clips{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,240px));gap:clamp(16px,2vw,28px);margin-top:clamp(28px,4vw,48px)}
[data-page="founder"] .fp-clips>img{border-radius:16px !important;box-shadow:0 30px 60px -36px rgba(30,21,32,.45)}
[data-page="founder"] .fp-press{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(28px,4vw,48px)}
[data-page="founder"] .fp-clips:empty,[data-page="founder"] .fp-press:empty{display:none}

[data-page="founder"] .fp-join{position:relative;overflow:hidden;padding-block:clamp(110px,14vw,220px);text-align:center;background:var(--white)}
[data-page="founder"] .fp-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.8;animation:fp-drift 18s ease-in-out infinite alternate;pointer-events:none}
[data-page="founder"] .fp-bl1{width:46vw;height:46vw;left:-12vw;top:-10vw;background:var(--blush)}
[data-page="founder"] .fp-bl2{width:40vw;height:40vw;right:-10vw;bottom:-16vw;background:var(--mist);animation-delay:-6s}
[data-page="founder"] .fp-bl3{width:24vw;height:24vw;left:42%;top:32%;background:#F5EAD6;animation-delay:-12s}
[data-page="founder"] .fp-join-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:34px}
[data-page="founder"] .fp-join-emb{width:92px;height:92px;border-radius:50%;background:#fff;padding:4px;box-shadow:0 20px 40px -20px rgba(30,21,32,.4)}
[data-page="founder"] .fp-join h2{font-size:clamp(48px,8.4vw,152px);max-width:11em;margin:0}
[data-page="founder"] .fp-join p{color:var(--ink2);max-width:46ch;font-size:clamp(16px,1.3vw,19px);margin:0}
[data-page="founder"] .fp-join-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
@keyframes fp-drift{to{transform:translate(6vw,4vw) scale(1.14)}}
@media (max-width:960px){
  [data-page="founder"] .fp-ms-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-page="founder"] .fp-press{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  [data-page="founder"] .fp-grid{grid-template-columns:1fr}
  [data-page="founder"] .fp-media{max-width:420px}
  [data-page="founder"] .fp-awards{grid-template-columns:1fr}
}
@media (max-width:600px){
  [data-page="founder"] .fp-ms-list,[data-page="founder"] .fp-press{grid-template-columns:minmax(0,1fr)}
  [data-page="founder"] .fp-clips{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  [data-page="founder"] .fp-media{max-width:300px;margin-top:14px}
  [data-page="founder"] .fp-join-cta .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  [data-page="founder"] .fp-blob,[data-page="founder"] .fp-media,[data-page="founder"] .fp-awards{animation:none !important}
}

/* ── a page-builder address with no page behind it: the same not-found state as /404 */
#main>.cms-nf,[data-cms-page-root]>.cms-nf{padding-top:clamp(3rem,8vw,5rem)}
.cms-nf>.wrap{max-width:640px}
.cms-nf-cta{margin-top:2rem;display:flex;gap:.75rem;flex-wrap:wrap}
/* bwib-24 C: the page-builder frame keeps a screen's height while its page loads, and the not-found state
   fills that same height, so the footer does not jump up and down */
[data-cms-page-root]:empty,.cms-nf{min-height:100svh}

/* ── small screens */
@media (max-width:640px){
  .section{padding:56px 0}
  :is(#main,[data-branch-root])>.section:first-of-type{padding-top:calc(var(--navh) + 36px) !important;padding-bottom:48px}
  :is(#main,[data-branch-root])>.section:first-of-type h1{font-size:clamp(40px,11vw,56px)}
  .tile,.cta,.pp-btn{width:100%}
  .tiles .tile{width:100%}
}

@media (prefers-reduced-motion:reduce){
  :is(#main,[data-branch-root])>.section:first-of-type *,:is(#main,[data-branch-root])>.section:first-of-type::after{animation:none !important;clip-path:none !important}
  .rose-skeleton{animation:none}
  main [data-repeat]>*:hover,.v6-door:hover,.rose-lift:hover{transform:none}
  main [data-repeat]>article:hover img,.rose-zoom:hover img{transform:none}
  [data-parallax]{transform:none}
}
/* bwib-24 C: the submit-event heading is the page h1 but keeps its section-heading size (the form sits in a 640px column) */
[data-page="submit-event"] #submit .section__head h1,[data-page="submit-event"] #submit>.wrap>h1{font-size:clamp(36px,5vw,76px);line-height:1.02;letter-spacing:-.022em;max-width:none;margin:0 0 .5em}
