@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,200;0,9..144,300;0,9..144,400;0,9..144,500;1,9..144,200;1,9..144,300;1,9..144,400&family=Archivo:wght@300;400;500&display=swap');
  :root{
    --garnet:#610D08;     /* primary — commands weight */
    --parchment:#F6F1ED;  /* digital background */
    --custard:#FFF0BF;    /* accent only, pair w/ garnet */
    --almond:#F2D5CF;     /* warm neutral / accent block */
    --sand:#D5D080;       /* supporting accent */
    --shadow:#2B2321;     /* text & dark accents */
    --ink:#2B2321;
    --display:'Fraunces','Safira March',Georgia,serif;
    --body:'Archivo','Aileron',-apple-system,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--parchment);color:var(--ink);font-family:var(--body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  ::selection{background:var(--garnet);color:var(--parchment);}
  img{display:block;max-width:100%;}
  .wrap{max-width:1360px;margin:0 auto;padding:0 46px;}
  @media(max-width:640px){.wrap{padding:0 22px;}}
  .eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:400;}

  /* ---------- NAV ---------- */
  nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:24px 46px;transition:all .5s ease;}
  nav.scrolled{background:rgba(246,241,237,.92);backdrop-filter:blur(14px);padding:14px 46px;}
  .logo{font-family:var(--display);font-size:23px;font-weight:400;letter-spacing:.02em;color:var(--parchment);font-style:italic;transition:color .5s;}
  nav.scrolled .logo{color:var(--garnet);}
  .nav-links{display:flex;gap:38px;align-items:center;}
  .nav-links a{color:var(--parchment);text-decoration:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;opacity:.85;transition:opacity .25s,color .5s;}
  nav.scrolled .nav-links a{color:var(--ink);opacity:.72;}
  .nav-links a:hover{opacity:1;}
  .nav-cta{border:1px solid var(--parchment);color:var(--parchment)!important;padding:11px 22px;opacity:1!important;transition:.3s;}
  nav.scrolled .nav-cta{border-color:var(--garnet);color:var(--garnet)!important;}
  .nav-cta:hover{background:var(--garnet);border-color:var(--garnet);color:var(--parchment)!important;}
  @media(max-width:880px){.nav-links a:not(.nav-cta){display:none;}nav{padding:18px 22px;}}

  /* ---------- HERO ---------- */
  .hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;}
  .hero-photo{position:absolute;inset:0;background:#8a3328 url('images/hero.jpg') center 30%/cover no-repeat;}
  .hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,35,33,.25) 0%,rgba(43,35,33,.15) 45%,rgba(43,35,33,.72) 100%);}
  .hero-inner{position:relative;z-index:3;width:100%;max-width:1360px;margin:0 auto;padding:0 46px 8vh;}
  @media(max-width:640px){.hero-inner{padding:0 22px 9vh;}}
  .hero .eyebrow{color:var(--custard);opacity:0;animation:rise 1s .1s forwards;margin-bottom:26px;display:block;}
  .hero h1{font-family:var(--display);font-weight:300;font-size:clamp(52px,10vw,150px);line-height:.88;letter-spacing:-.01em;color:var(--parchment);text-transform:uppercase;}
  .hero h1 .line{display:block;overflow:hidden;}
  .hero h1 .line span{display:inline-block;transform:translateY(110%);animation:lineUp 1.1s cubic-bezier(.16,1,.3,1) forwards;}
  .hero h1 .line:nth-child(1) span{animation-delay:.2s;}
  .hero h1 .line:nth-child(2) span{animation-delay:.32s;font-style:italic;font-weight:200;text-transform:none;color:var(--almond);}
  .hero h1 .line:nth-child(3) span{animation-delay:.44s;}
  @keyframes lineUp{to{transform:translateY(0);}}
  .hero .sub,.hero .hero-ctas{opacity:0;transform:translateY(20px);animation:rise 1s cubic-bezier(.2,.7,.2,1) forwards;}
  .hero .sub{animation-delay:.62s;font-size:clamp(15px,1.4vw,19px);max-width:42ch;color:var(--parchment);opacity:.92;margin:28px 0 36px;}
  .hero .hero-ctas{animation-delay:.76s;display:flex;gap:16px;flex-wrap:wrap;}
  @keyframes rise{to{opacity:1;transform:translateY(0);}}

  .btn{font-family:var(--body);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:17px 34px;cursor:pointer;text-decoration:none;transition:all .35s ease;display:inline-block;border:1px solid transparent;}
  .btn-solid{background:var(--garnet);color:var(--parchment);border-color:var(--garnet);}
  .btn-solid:hover{background:transparent;color:var(--garnet);}
  .btn-light{background:var(--parchment);color:var(--garnet);border-color:var(--parchment);}
  .btn-light:hover{background:transparent;color:var(--parchment);}
  .btn-line-light{background:transparent;color:var(--parchment);border-color:var(--parchment);}
  .btn-line-light:hover{background:var(--parchment);color:var(--garnet);}
  .btn-ghost{background:transparent;color:var(--garnet);border-color:var(--garnet);}
  .btn-ghost:hover{background:var(--garnet);color:var(--parchment);}

  /* ---------- TICKER : Golden Sand supporting accent ---------- */
  .ticker{background:var(--sand);color:var(--shadow);padding:15px 0;overflow:hidden;white-space:nowrap;}
  .ticker-track{display:inline-block;animation:scroll-x 32s linear infinite;}
  .ticker span{font-size:12px;letter-spacing:.26em;text-transform:uppercase;padding:0 1.4em;}
  .ticker .d{color:var(--garnet);}
  @keyframes scroll-x{to{transform:translateX(-50%);}}

  /* ---------- SEASON : parchment ---------- */
  .season{background:var(--parchment);padding:118px 0 70px;}
  .season-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:54px;gap:30px;flex-wrap:wrap;}
  .season-head .eyebrow{color:var(--garnet);display:block;margin-bottom:18px;}
  .season-head h2{font-family:var(--display);font-weight:300;font-size:clamp(38px,6vw,80px);line-height:.96;letter-spacing:-.01em;color:var(--ink);text-transform:uppercase;max-width:14ch;}
  .season-head h2 em{font-style:italic;font-weight:200;text-transform:none;color:var(--garnet);}
  .scroll-row{display:flex;gap:24px;overflow-x:auto;padding:0 46px 30px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .scroll-row::-webkit-scrollbar{height:2px;}.scroll-row::-webkit-scrollbar-thumb{background:var(--almond);}
  .ev-card{scroll-snap-align:start;flex:0 0 360px;position:relative;overflow:hidden;transition:transform .55s cubic-bezier(.2,.7,.2,1);}
  .ev-card:hover{transform:translateY(-8px);}
  .ev-img{aspect-ratio:3/4;position:relative;overflow:hidden;}
  .ev-img .ph{position:absolute;inset:0;transition:transform .9s cubic-bezier(.2,.7,.2,1);}
  .ev-card:hover .ev-img .ph{transform:scale(1.05);}
  .ev-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(43,35,33,.66));}
  .ev-meta{position:absolute;bottom:0;left:0;right:0;padding:30px 28px;z-index:2;color:var(--parchment);}
  .ev-date{font-family:var(--display);font-style:italic;font-size:22px;margin-bottom:3px;color:var(--custard);}
  .ev-room{font-size:10px;letter-spacing:.24em;text-transform:uppercase;opacity:.85;}
  .ev-title{font-family:var(--display);font-size:30px;font-weight:300;line-height:1.02;margin:12px 0 3px;text-transform:uppercase;}
  .ev-type{font-size:13px;opacity:.85;}
  .ev-link{margin-top:16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;display:inline-block;border-bottom:1px solid rgba(246,241,237,.5);padding-bottom:3px;}
  @media(max-width:640px){.ev-card{flex:0 0 76vw;}.scroll-row{padding:0 22px 30px;}}
  .ph-1{background:#c98e85 url('images/pilates.jpg') center/cover;}       /* Pilates / Reset in Motion */
  .ph-2{background:#9a9550 url('images/movement.jpg') center/cover;}      /* movement */
  .ph-3{background:#6e4a52 url('images/salon.jpg') center/cover;}          /* salon lounge */
  .ph-4{background:#a85544 url('images/table.jpg') center/cover;}         /* gathering table */
  .ph-5{background:#8a3328 url('images/movement.jpg') center 20%/cover;}  /* vision */

  /* ---------- TYPE-ONLY DIVIDER : Almond Silk block, garnet type ---------- */
  .manifesto{background:var(--almond);padding:clamp(90px,14vw,180px) 0;text-align:center;}
  .manifesto p{font-family:var(--display);font-weight:200;font-style:italic;font-size:clamp(30px,5.2vw,76px);line-height:1.08;letter-spacing:-.01em;color:var(--garnet);max-width:18ch;margin:0 auto;}
  .manifesto p span{font-style:normal;font-weight:300;text-transform:uppercase;letter-spacing:0;}

  /* ---------- VISION : split photo + copy on parchment ---------- */
  .vision{background:var(--parchment);}
  .vision-grid{display:grid;grid-template-columns:1fr 1fr;min-height:78vh;}
  @media(max-width:820px){.vision-grid{grid-template-columns:1fr;}}
  .vision-photo{position:relative;overflow:hidden;min-height:50vh;}
  .vision-photo .ph{position:absolute;inset:0;}
  .vision-copy{padding:clamp(50px,8vw,120px) clamp(40px,6vw,90px);display:flex;flex-direction:column;justify-content:center;}
  .vision .eyebrow{color:var(--garnet);margin-bottom:30px;}
  .vision p.lead{font-family:var(--display);font-weight:300;font-size:clamp(28px,3.6vw,52px);line-height:1.1;letter-spacing:-.01em;color:var(--ink);margin-bottom:30px;}
  .vision p.lead em{font-style:italic;color:var(--garnet);}
  .vision p.body{max-width:46ch;opacity:.8;font-size:17px;margin-bottom:38px;}

  /* ---------- HOUSE : shadow-grey, sand + almond accents ---------- */
  .house{background:var(--shadow);color:var(--parchment);padding:128px 0 108px;}
  .house-intro{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;margin-bottom:68px;}
  .house .eyebrow{color:var(--sand);display:block;margin-bottom:16px;}
  .house-intro h2{font-family:var(--display);font-weight:300;font-size:clamp(38px,6vw,80px);line-height:.95;color:var(--parchment);text-transform:uppercase;}
  .house-intro h2 em{font-style:italic;font-weight:200;text-transform:none;color:var(--sand);}
  .house-foot{font-family:var(--display);font-style:italic;font-size:19px;color:var(--almond);opacity:.9;}
  .room-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(246,241,237,.14);border-block:1px solid rgba(246,241,237,.14);}
  .room-cell{background:var(--shadow);padding:48px 32px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;transition:background .5s,color .5s;overflow:hidden;}
  .room-cell:hover{background:var(--garnet);}
  .room-num{font-size:11px;letter-spacing:.22em;color:var(--sand);}
  .room-name{font-family:var(--display);font-size:30px;font-weight:300;color:var(--parchment);line-height:1.02;text-transform:uppercase;}
  .room-desc{font-size:13px;opacity:0;max-height:0;transition:opacity .5s,max-height .5s,margin .5s;color:var(--almond);}
  .room-cell:hover .room-desc{opacity:.9;max-height:80px;margin-top:9px;}
  @media(max-width:820px){.room-row{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.room-row{grid-template-columns:1fr;}}

  /* ---------- FOUNDING : Custard block — paired w/ garnet type per rules ---------- */
  .founding{background:var(--custard);padding:128px 0;}
  .founding-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:76px;align-items:center;}
  @media(max-width:820px){.founding-inner{grid-template-columns:1fr;gap:44px;}}
  .founding .eyebrow{color:var(--garnet);}
  .founding h2{font-family:var(--display);font-weight:300;font-size:clamp(38px,5.4vw,68px);color:var(--garnet);line-height:.96;margin:14px 0 24px;text-transform:uppercase;}
  .founding h2 em{font-style:italic;font-weight:200;text-transform:none;}
  .founding p{max-width:40ch;color:var(--shadow);opacity:.85;margin-bottom:32px;}
  .benefits{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:15px 28px;}
  .benefits li{font-size:15px;display:flex;align-items:baseline;gap:10px;color:var(--shadow);}
  .benefits li::before{content:'';width:5px;height:5px;background:var(--garnet);border-radius:50%;flex:none;transform:translateY(-2px);}
  .capture{background:var(--parchment);padding:46px 42px;box-shadow:0 30px 60px -34px rgba(43,35,33,.4);}
  .capture label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--garnet);display:block;margin-bottom:14px;}
  .capture input{width:100%;padding:15px 0;background:transparent;border:none;border-bottom:1px solid var(--garnet);font-family:var(--body);font-size:17px;color:var(--ink);margin-bottom:26px;outline:none;transition:border-color .3s;}
  .capture input::placeholder{color:rgba(43,35,33,.4);}
  .capture .btn-solid{width:100%;text-align:center;}
  .capture .note{font-size:12px;opacity:.6;margin-top:16px;}

  /* ---------- JOURNAL : parchment ---------- */
  .journal{background:var(--parchment);padding:128px 0;}
  .journal-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px;flex-wrap:wrap;gap:20px;}
  .journal-head .eyebrow{color:var(--garnet);display:block;margin-bottom:14px;}
  .journal-head h2{font-family:var(--display);font-weight:300;font-size:clamp(38px,5.4vw,68px);color:var(--ink);text-transform:uppercase;}
  .journal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
  @media(max-width:900px){.journal-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:540px){.journal-grid{grid-template-columns:1fr;}}
  .j-card{cursor:pointer;}
  .j-img{aspect-ratio:3/4;margin-bottom:18px;position:relative;overflow:hidden;}
  .j-img .ph{position:absolute;inset:0;transition:transform .9s cubic-bezier(.2,.7,.2,1);}
  .j-card:hover .j-img .ph{transform:scale(1.06);}
  .j-cat{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--garnet);}
  .j-title{font-family:var(--display);font-size:21px;font-weight:300;line-height:1.16;color:var(--ink);margin-top:8px;}

  /* ---------- FOOTER : Garnet — the dominant moment ---------- */
  footer{background:var(--garnet);color:var(--parchment);padding:110px 0 42px;overflow:hidden;}
  .foot-big{font-family:var(--display);font-weight:300;font-size:clamp(40px,8.5vw,140px);line-height:.9;letter-spacing:-.01em;margin-bottom:80px;text-transform:uppercase;}
  .foot-big em{color:var(--custard);font-style:italic;font-weight:200;text-transform:none;}
  .foot-cols{display:flex;justify-content:space-between;flex-wrap:wrap;gap:50px;margin-bottom:66px;}
  .foot-col h4{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--almond);margin-bottom:20px;}
  .foot-col a{display:block;color:var(--parchment);text-decoration:none;opacity:.72;font-size:14px;margin-bottom:13px;transition:opacity .25s;}
  .foot-col a:hover{opacity:1;}
  .foot-line{border-top:1px solid rgba(246,241,237,.22);padding-top:30px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;opacity:.7;letter-spacing:.04em;}

  /* ---------- ZERO MEDITATION : parchment, the philosophy moment ---------- */
  .zero{background:var(--parchment);color:var(--ink);padding:clamp(90px,12vw,170px) 0;position:relative;overflow:hidden;}
  .zero .glyph{position:absolute;font-family:var(--display);font-style:italic;font-weight:200;font-size:clamp(360px,52vw,820px);line-height:1;color:var(--almond);opacity:.7;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;user-select:none;z-index:1;}
  .zero-copy{position:relative;z-index:2;max-width:30ch;text-align:center;margin:0 auto;}
  .zero .eyebrow{color:var(--garnet);display:block;margin-bottom:30px;}
  .zero p{font-family:var(--display);font-weight:300;font-size:clamp(26px,3.4vw,46px);line-height:1.2;letter-spacing:-.01em;color:var(--ink);}
  .zero p em{font-style:italic;color:var(--garnet);}

  /* ---------- Z.E.R.O. FRAMEWORK : shadow-grey, four pillars ---------- */
  .zframe{background:var(--shadow);color:var(--parchment);padding:128px 0;}
  .zframe-intro{margin-bottom:64px;max-width:30ch;}
  .zframe .eyebrow{color:var(--sand);display:block;margin-bottom:18px;}
  .zframe-intro h2{font-family:var(--display);font-weight:300;font-size:clamp(38px,5.4vw,72px);line-height:.96;color:var(--parchment);text-transform:uppercase;}
  .zframe-intro h2 em{font-style:italic;font-weight:200;text-transform:none;color:var(--sand);}
  .zframe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(246,241,237,.14);border:1px solid rgba(246,241,237,.14);}
  .z-cell{background:var(--shadow);padding:48px 34px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;transition:background .5s,color .5s;}
  .z-cell:hover{background:var(--garnet);}
  .z-letter{font-family:var(--display);font-style:italic;font-weight:200;font-size:84px;line-height:1;color:var(--sand);transition:color .5s;}
  .z-cell:hover .z-letter{color:var(--custard);}
  .z-name{font-family:var(--display);font-size:26px;font-weight:300;text-transform:uppercase;letter-spacing:.02em;margin-top:auto;color:var(--parchment);}
  .z-desc{font-size:14px;opacity:.78;margin-top:10px;color:var(--almond);}
  @media(max-width:820px){.zframe-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:480px){.zframe-grid{grid-template-columns:1fr;}.z-cell{min-height:auto;}}

  /* ---------- FOUNDER : parchment, signed letter ---------- */
  .founder{background:var(--parchment);padding:130px 0;}
  .founder-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,90px);align-items:center;}
  @media(max-width:820px){.founder-grid{grid-template-columns:1fr;gap:44px;}}
  .founder-photo{position:relative;aspect-ratio:4/5;overflow:hidden;}
  .founder-photo .ph{position:absolute;inset:0;}
  .founder-photo .tag{position:absolute;left:0;bottom:0;background:var(--garnet);color:var(--parchment);font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:12px 20px;}
  .founder .eyebrow{color:var(--garnet);display:block;margin-bottom:18px;}
  .founder h2{font-family:var(--display);font-weight:300;font-size:clamp(34px,5vw,64px);line-height:.98;color:var(--ink);text-transform:uppercase;margin-bottom:30px;}
  .founder h2 em{font-style:italic;font-weight:200;text-transform:none;color:var(--garnet);}
  .founder p{font-size:17px;max-width:54ch;margin-bottom:22px;opacity:.85;}
  .founder .lede{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(20px,2.4vw,28px);line-height:1.3;opacity:1;color:var(--ink);}
  .founder .sign{font-family:var(--display);font-style:italic;font-size:32px;color:var(--garnet);margin-top:30px;}
  .founder .role{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--shadow);opacity:.7;margin-top:6px;}

  .reveal{opacity:0;transform:translateY(34px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  .reveal.d1{transition-delay:.1s;}
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;}
    .reveal,.hero h1 .line span,.hero .sub,.hero .hero-ctas,.hero .eyebrow{opacity:1!important;transform:none!important;}
  }
  /* ===== SHARED across subpages ===== */
  /* page hero (smaller than home hero) */
  .page-hero{min-height:62vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--shadow);}
  .page-hero .ph{position:absolute;inset:0;}
  .page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,35,33,.3),rgba(43,35,33,.72));}
  .page-hero-inner{position:relative;z-index:3;width:100%;max-width:1360px;margin:0 auto;padding:0 46px 7vh;}
  @media(max-width:640px){.page-hero-inner{padding:0 22px 8vh;}}
  .page-hero .eyebrow{color:var(--custard);display:block;margin-bottom:20px;}
  .page-hero h1{font-family:var(--display);font-weight:300;font-size:clamp(46px,8vw,120px);line-height:.9;letter-spacing:-.01em;color:var(--parchment);text-transform:uppercase;}
  .page-hero h1 em{font-style:italic;font-weight:200;text-transform:none;color:var(--almond);}
  .page-hero .sub{font-size:clamp(15px,1.4vw,19px);max-width:48ch;color:var(--parchment);opacity:.9;margin-top:24px;}

  /* nav default on subpages = solid from the start */
  nav.solid{background:rgba(246,241,237,.92);backdrop-filter:blur(14px);}
  nav.solid .logo{color:var(--garnet);}
  nav.solid .nav-links a{color:var(--ink);opacity:.72;}
  nav.solid .nav-cta{border-color:var(--garnet);color:var(--garnet)!important;}

  /* ROOMS (experiences) : alternating editorial rows */
  .rooms{background:var(--parchment);padding:120px 0;}
  .room-block{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:78vh;}
  .room-block:nth-child(even) .room-photo{order:2;}
  @media(max-width:820px){.room-block{grid-template-columns:1fr;}.room-block:nth-child(even) .room-photo{order:0;}}
  .room-photo{position:relative;overflow:hidden;min-height:52vh;}
  .room-photo .ph{position:absolute;inset:0;transition:transform 1s cubic-bezier(.2,.7,.2,1);}
  .room-block:hover .room-photo .ph{transform:scale(1.04);}
  .room-text{padding:clamp(48px,7vw,110px) clamp(40px,6vw,90px);display:flex;flex-direction:column;justify-content:center;}
  .room-text.dark{background:var(--shadow);color:var(--parchment);}
  .room-text.almond{background:var(--almond);}
  .room-text.custard{background:var(--custard);}
  .room-text .eyebrow{color:var(--garnet);margin-bottom:16px;display:block;}
  .room-text.dark .eyebrow{color:var(--sand);}
  .room-text h2{font-family:var(--display);font-weight:300;font-size:clamp(34px,4.6vw,64px);line-height:.98;text-transform:uppercase;margin-bottom:8px;}
  .room-text h2 em{font-style:italic;font-weight:200;text-transform:none;color:var(--garnet);}
  .room-text.dark h2 em{color:var(--sand);}
  .room-text .room-sub{font-family:var(--display);font-style:italic;font-size:20px;opacity:.8;margin-bottom:22px;}
  .room-text p{max-width:44ch;opacity:.84;margin-bottom:26px;}
  .room-text .ex{font-size:13px;letter-spacing:.04em;opacity:.7;margin-bottom:6px;}
  .room-text .when{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--garnet);margin-top:18px;}
  .room-text.dark .when{color:var(--sand);}

  /* ABOUT timeline */
  .about-intro{background:var(--parchment);padding:120px 0;text-align:center;}
  .about-intro p{font-family:var(--display);font-weight:200;font-style:italic;font-size:clamp(28px,4.4vw,60px);line-height:1.12;color:var(--garnet);max-width:20ch;margin:0 auto;}
  .timeline{background:var(--shadow);color:var(--parchment);padding:120px 0;}
  .timeline .eyebrow{color:var(--sand);display:block;margin-bottom:50px;text-align:center;}
  .tl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(246,241,237,.14);border:1px solid rgba(246,241,237,.14);}
  .tl-cell{background:var(--shadow);padding:54px 38px;min-height:280px;display:flex;flex-direction:column;}
  .tl-when{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--sand);margin-bottom:auto;}
  .tl-cell h3{font-family:var(--display);font-weight:300;font-size:34px;text-transform:uppercase;line-height:1;margin-bottom:12px;}
  .tl-cell p{font-size:14px;opacity:.82;}
  @media(max-width:820px){.tl-grid{grid-template-columns:1fr;}.tl-cell{min-height:auto;}}

  /* JOURNAL list */
  .jlist{background:var(--parchment);padding:120px 0;}
  .jfeature{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,6vw,80px);align-items:center;margin-bottom:90px;}
  @media(max-width:820px){.jfeature{grid-template-columns:1fr;gap:34px;}}
  .jfeature .ph{aspect-ratio:4/3;position:relative;overflow:hidden;}
  .jfeature .ph>div{position:absolute;inset:0;}
  .jfeature .jcat{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--garnet);}
  .jfeature h2{font-family:var(--display);font-weight:300;font-size:clamp(32px,4.4vw,56px);line-height:1;text-transform:uppercase;margin:12px 0 18px;}
  .jfeature h2 em{font-style:italic;font-weight:200;text-transform:none;color:var(--garnet);}
  .jfeature p{max-width:46ch;opacity:.84;margin-bottom:24px;}

  /* ===== membership price block (Founding section) ===== */
  .price-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:6px 0 26px;}
  .price-line .price{font-family:var(--display);font-weight:300;font-size:54px;line-height:1;color:var(--garnet);}
  .price-line .per{font-size:14px;letter-spacing:.04em;color:var(--shadow);opacity:.7;}
  .price-line .soon{margin-left:8px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;background:var(--garnet);color:var(--parchment);padding:7px 12px;}
  .benefits li .nyc{font-size:9px;letter-spacing:.16em;text-transform:uppercase;background:var(--sand);color:var(--shadow);padding:3px 7px;margin-left:6px;vertical-align:middle;}
  .capture .capture-intro{font-size:14px;line-height:1.5;opacity:.78;margin-bottom:24px;color:var(--shadow);}
  @media(max-width:820px){.price-line .price{font-size:44px;}}

  /* ===== email signup popup ===== */
  .cz-modal-overlay{position:fixed;inset:0;background:rgba(43,35,33,.55);backdrop-filter:blur(3px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .5s ease;}
  .cz-modal-overlay.show{opacity:1;pointer-events:auto;}
  .cz-modal{background:var(--parchment);max-width:460px;width:100%;position:relative;padding:54px 46px 46px;box-shadow:0 40px 90px -30px rgba(43,35,33,.6);transform:translateY(20px) scale(.98);transition:transform .5s cubic-bezier(.2,.7,.2,1);overflow:hidden;}
  .cz-modal-overlay.show .cz-modal{transform:none;}
  .cz-modal .cz-glyph{position:absolute;font-family:var(--display);font-style:italic;font-weight:200;font-size:300px;color:var(--almond);opacity:.5;top:-90px;right:-50px;line-height:1;pointer-events:none;z-index:0;}
  .cz-modal>*{position:relative;z-index:1;}
  .cz-close{position:absolute;top:16px;right:18px;z-index:2;background:none;border:none;font-size:26px;line-height:1;color:var(--garnet);cursor:pointer;font-family:var(--body);opacity:.65;transition:opacity .25s,transform .25s;}
  .cz-close:hover{opacity:1;transform:rotate(90deg);}
  .cz-modal .eyebrow{color:var(--garnet);display:block;margin-bottom:16px;}
  .cz-modal h3{font-family:var(--display);font-weight:300;font-size:34px;line-height:1.02;color:var(--garnet);text-transform:uppercase;margin-bottom:14px;}
  .cz-modal h3 em{font-style:italic;font-weight:200;text-transform:none;}
  .cz-modal p{font-size:14px;line-height:1.55;opacity:.82;margin-bottom:24px;}
  .cz-modal input{width:100%;padding:14px 0;background:transparent;border:none;border-bottom:1px solid var(--garnet);font-family:var(--body);font-size:16px;color:var(--ink);margin-bottom:20px;outline:none;}
  .cz-modal input::placeholder{color:rgba(43,35,33,.4);}
  .cz-modal .btn-solid{width:100%;text-align:center;border:none;}
  .cz-modal .cz-dismiss{display:block;width:100%;text-align:center;margin-top:16px;background:none;border:none;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--shadow);opacity:.55;cursor:pointer;font-family:var(--body);transition:opacity .25s;}
  .cz-modal .cz-dismiss:hover{opacity:.85;}
  @media(max-width:480px){.cz-modal{padding:48px 28px 36px;}.cz-modal h3{font-size:28px;}}

  /* ===== branded thank-you (replaces MailerLite redirect) ===== */
  .cz-thanks{position:relative;padding:34px 6px 10px;text-align:left;overflow:hidden;}
  .cz-thanks .cz-thanks-mark{position:absolute;top:-40px;right:-14px;font-family:var(--display);font-style:italic;font-weight:200;font-size:170px;line-height:1;color:var(--almond);opacity:.55;pointer-events:none;z-index:0;}
  .cz-thanks h4{position:relative;z-index:1;font-family:var(--display);font-weight:300;font-size:30px;line-height:1.02;color:var(--garnet);text-transform:uppercase;margin-bottom:12px;}
  .cz-thanks p{position:relative;z-index:1;font-size:15px;line-height:1.55;color:var(--shadow);opacity:.85;max-width:34ch;}
  /* popup thank-you sits on parchment already; tighten its spacing */
  .cz-modal .cz-thanks{padding-top:20px;}

  /* ===== Who It's For (About) ===== */
  .whofor{background:var(--almond);padding:120px 0;}
  .whofor .eyebrow{color:var(--garnet);display:block;margin-bottom:18px;}
  .whofor h2{font-family:var(--display);font-weight:300;font-size:clamp(34px,5vw,64px);line-height:.98;color:var(--ink);text-transform:uppercase;margin-bottom:36px;max-width:18ch;}
  .whofor h2 em{font-style:italic;font-weight:200;text-transform:none;color:var(--garnet);}
  .whofor-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,80px);align-items:start;}
  @media(max-width:820px){.whofor-grid{grid-template-columns:1fr;gap:32px;}}
  .whofor p{font-size:17px;line-height:1.6;color:var(--shadow);opacity:.88;margin-bottom:20px;max-width:52ch;}
  .whofor p.lead{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(20px,2.6vw,28px);line-height:1.3;opacity:1;color:var(--garnet);}
  .whofor-list{list-style:none;}
  .whofor-list li{font-family:var(--display);font-size:22px;font-weight:300;color:var(--ink);padding:18px 0;border-bottom:1px solid rgba(97,13,8,.18);text-transform:uppercase;letter-spacing:.01em;}
  .whofor-list li:last-child{border-bottom:none;}
  .whofor-list li span{display:block;font-family:var(--body);font-size:13px;text-transform:none;letter-spacing:0;opacity:.7;margin-top:5px;font-weight:300;}

  /* ===== Our Story (About history) ===== */
  .story{background:var(--parchment);padding:120px 0;}
  .story .eyebrow{color:var(--garnet);display:block;margin-bottom:18px;text-align:center;}
  .story h2{font-family:var(--display);font-weight:300;font-size:clamp(34px,5vw,64px);line-height:.98;color:var(--ink);text-transform:uppercase;text-align:center;margin-bottom:60px;}
  .story h2 em{font-style:italic;font-weight:200;text-transform:none;color:var(--garnet);}
  .story-body{max-width:60ch;margin:0 auto;}
  .story-body p{font-size:18px;line-height:1.7;color:var(--shadow);opacity:.88;margin-bottom:24px;}
  .story-body p:first-child::first-letter{font-family:var(--display);font-style:italic;font-size:64px;line-height:.8;float:left;color:var(--garnet);margin:6px 12px 0 0;}
  .story-body .pull{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(22px,3vw,34px);line-height:1.25;color:var(--garnet);text-align:center;margin:40px 0;opacity:1;}

  /* ===== article coming soon label ===== */
  .j-soon{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--garnet-soft,#7A2018);opacity:.6;margin-top:7px;}
  /* retreat reserve coming soon pill */
  .reserve-soon{display:inline-block;margin-top:18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:1px solid currentColor;padding:10px 20px;opacity:.55;cursor:default;}

  /* ===== Contact page ===== */
  .contact{background:var(--parchment);padding:140px 0 120px;}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,90px);align-items:start;}
  @media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:44px;}}
  .contact .eyebrow{color:var(--garnet);display:block;margin-bottom:18px;}
  .contact h1{font-family:var(--display);font-weight:300;font-size:clamp(40px,6vw,84px);line-height:.92;color:var(--ink);text-transform:uppercase;margin-bottom:24px;}
  .contact h1 em{font-style:italic;font-weight:200;text-transform:none;color:var(--garnet);}
  .contact .intro{font-size:18px;line-height:1.6;color:var(--shadow);opacity:.85;max-width:42ch;margin-bottom:34px;}
  .contact-detail{margin-bottom:18px;}
  .contact-detail .lab{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--garnet);display:block;margin-bottom:5px;}
  .contact-detail a{font-family:var(--display);font-size:22px;color:var(--ink);text-decoration:none;font-weight:300;transition:color .25s;}
  .contact-detail a:hover{color:var(--garnet);}
  .contact-form label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--garnet);display:block;margin-bottom:8px;margin-top:22px;}
  .contact-form label:first-child{margin-top:0;}
  .contact-form input,.contact-form textarea{width:100%;padding:14px 0;background:transparent;border:none;border-bottom:1px solid var(--garnet);font-family:var(--body);font-size:16px;color:var(--ink);outline:none;transition:border-color .3s;}
  .contact-form textarea{resize:vertical;min-height:90px;}
  .contact-form input:focus,.contact-form textarea:focus{border-color:var(--garnet-soft,#7A2018);}
  .contact-form button{margin-top:34px;width:100%;border:none;cursor:pointer;}

  /* ===== Contact section ===== */
  .contact{background:var(--almond);padding:120px 0;}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center;}
  @media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:36px;}}
  .contact .eyebrow{color:var(--garnet);display:block;margin-bottom:18px;}
  .contact h2{font-family:var(--display);font-weight:300;font-size:clamp(34px,5vw,60px);line-height:.98;color:var(--ink);text-transform:uppercase;margin-bottom:22px;}
  .contact h2 em{font-style:italic;font-weight:200;text-transform:none;color:var(--garnet);}
  .contact p{font-size:17px;line-height:1.6;color:var(--shadow);opacity:.85;max-width:42ch;margin-bottom:24px;}
  .contact .reach{font-size:14px;letter-spacing:.04em;}
  .contact .reach a{color:var(--garnet);text-decoration:none;border-bottom:1px solid var(--garnet);}
  .contact-form{background:var(--parchment);padding:46px 42px;box-shadow:0 30px 60px -34px rgba(43,35,33,.4);}
  .contact-form label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--garnet);display:block;margin-bottom:8px;margin-top:18px;}
  .contact-form label:first-child{margin-top:0;}
  .contact-form input,.contact-form textarea{width:100%;padding:13px 0;background:transparent;border:none;border-bottom:1px solid var(--garnet);font-family:var(--body);font-size:16px;color:var(--ink);outline:none;resize:vertical;}
  .contact-form textarea{min-height:90px;}
  .contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(43,35,33,.4);}
  .contact-form button{width:100%;margin-top:30px;border:none;cursor:pointer;}
  .contact-thanks{padding:20px 0;}
  .contact-thanks h4{font-family:var(--display);font-weight:300;font-size:28px;color:var(--garnet);text-transform:uppercase;margin-bottom:10px;}
  .contact-thanks p{font-size:15px;}

  /* ===== Past event card ===== */
  .ev-card.ev-past .ev-img{position:relative;}
  .ev-card.ev-past .ph{filter:grayscale(.2) brightness(.82);}
  .past-badge{position:absolute;top:14px;left:14px;background:var(--parchment);color:var(--garnet);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:6px 12px;font-weight:600;z-index:2;}
