:root{
  --sage:#9CBFAA; --sage-dk:#7BA38C; --navy:#1B3A5C; --navy-lt:#2A4F7A;
  --sand:#C9A87A; --cream:#F5EDE2; --dark:#0D1E2E; --white:#FDFAF5;
  --cs-bg:#ACC8B8; --cs-ink:#14201A;
  --line:rgba(27,58,92,0.14);
  --maxw:1280px; --nav-h:76px;
  
  

  --cw-sage:#9CBFAA;
  --cw-navy:#1B3A5C;
  --cw-white:#FDFAF5;
  --cw-error:#E8927C;
  --cw-error-soft:#F2B6A6;
}

/* ═══════════ SHARED HERO BITS ═══════════ */
.cs-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-size:12px; letter-spacing:.26em; text-transform:uppercase;
  color:var(--cs-ink); opacity:.65; margin-bottom:24px;
}
.cs-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--cs-ink); animation:cspulse 1.8s ease-in-out infinite; }
@keyframes cspulse{ 0%,100%{ opacity:.3; transform:scale(.8); } 50%{ opacity:1; transform:scale(1.25); } }
.cs-title{ font-family:var(--display); font-weight:400; color:var(--cs-ink); font-size:clamp(48px,8vw,120px); line-height:.92; letter-spacing:.01em; text-transform:uppercase; }
.cs-title .ln{ display:block; }
.cs-page{ font-family:var(--serif); font-style:italic; font-size:clamp(22px,3.2vw,38px); color:var(--navy); margin-top:16px; line-height:1.12; }
.cs-ar{ font-family:var(--ar); direction:rtl; font-size:clamp(15px,2vw,19px); color:var(--cs-ink); opacity:.55; margin-top:8px; }
.cs-sub{ font-family:var(--sans); font-size:clamp(15px,1.4vw,17px); line-height:1.75; color:var(--cs-ink); opacity:.82; max-width:440px; margin-top:22px; }
.cs-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.cs-btn{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--sans); font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:500;
  padding:15px 28px; border-radius:34px; transition:transform .2s, background .2s, color .2s, border-color .2s;
  border:1px solid transparent; cursor:pointer;
}
.cs-btn:hover{ transform:translateY(-2px); }
.cs-btn.solid{ background:var(--navy); color:var(--sage); }
.cs-btn.solid:hover{ background:var(--cs-ink); color:#fff; }
.cs-btn.ghost{ background:transparent; border-color:rgba(20,32,26,.32); color:var(--cs-ink); }
.cs-btn.ghost:hover{ background:var(--cs-ink); color:#fff; border-color:var(--cs-ink); }

/* ═══════════ SIMPLE (menu / default) two-column ═══════════ */
.cs-wrap{
  min-height:100vh; display:grid; grid-template-columns:1.05fr 1fr; align-items:center;
  gap:40px; max-width:var(--maxw); margin:0 auto; padding:calc(var(--nav-h) + 4vh) 44px 5vh;
}
.cs-copy{ position:relative; z-index:2; }
.cs-notify{ margin-top:30px; max-width:440px; }
.cs-notify .lbl{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--cs-ink); opacity:.6; display:block; margin-bottom:10px; }
.cs-art{ position:relative; display:flex; justify-content:center; align-items:center; }
.cs-art img{ width:100%; max-width:560px; height:auto; display:block; animation:csfloat 7s ease-in-out infinite; }
@keyframes csfloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }
@media (prefers-reduced-motion:reduce){ .cs-art img,.cs-eyebrow .dot{ animation:none; } }
.cs-deco{ position:absolute; pointer-events:none; opacity:.5; color:var(--cs-ink); }
.cs-deco.s1{ top:8%; left:-2%; font-size:26px; }
.cs-deco.s2{ bottom:14%; left:46%; font-size:18px; opacity:.35; }
.cs-deco.s3{ top:3%; left:34%; font-size:14px; opacity:.4; }

/* ═══════════ RICH variant shell (membership / events) ═══════════ */
.cs-rich{ max-width:var(--maxw); margin:0 auto; padding:calc(var(--nav-h) + 6vh) 44px 7vh; }
.cs-rich-hero{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; margin-bottom:7vh; }
.cs-rich-hero .art{ position:relative; display:flex; justify-content:center; }
.cs-rich-hero .art img{ width:100%; max-width:420px; height:auto; animation:csfloat 7s ease-in-out infinite; }
.cs-pill-soon{ display:inline-flex; align-items:center; gap:8px; background:var(--navy); color:var(--sage); font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:500; padding:8px 16px; border-radius:30px; margin-top:20px; }
.cs-pill-soon .dot{ width:6px; height:6px; border-radius:50%; background:var(--sage); animation:cspulse 1.8s ease-in-out infinite; }

/* section heading */
.cs-sechead{ text-align:center; max-width:600px; margin:0 auto 40px; }
.cs-sechead .eyebrow{ font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--navy); opacity:.6; }
.cs-sechead h2{ font-family:var(--display); font-size:clamp(30px,4.4vw,50px); font-weight:400; color:var(--cs-ink); margin-top:10px; }
.cs-sechead h2 em{ font-family:var(--serif); font-style:italic; color:var(--navy); }

/* ═══════════ TIER CARDS ═══════════ */
.tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch; }
.tier{ background:var(--white); border-radius:24px; padding:34px 28px 30px; display:flex; flex-direction:column; position:relative; border:1px solid rgba(27,58,92,.08); box-shadow:0 18px 50px rgba(13,30,46,.08); }
.tier.feature{ background:var(--navy); color:var(--white); transform:translateY(-10px); box-shadow:0 30px 70px rgba(13,30,46,.28); }
.tier .ribbon{ position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--sand); color:#4a3414; font-size:10px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; padding:6px 16px; border-radius:30px; white-space:nowrap; }
.tier .tname{ font-family:var(--display); font-size:27px; font-weight:400; line-height:1; }
.tier .tar{ font-family:var(--ar); direction:rtl; font-size:13px; opacity:.5; margin-top:5px; }
.tier .tprice{ font-family:var(--display); font-size:46px; font-weight:400; line-height:1; margin:18px 0 2px; }
.tier .tprice small{ font-size:14px; opacity:.6; letter-spacing:.04em; }
.tier .ttag{ font-size:12px; letter-spacing:.04em; opacity:.6; margin-bottom:20px; }
.tier.feature .ttag{ color:var(--sage); opacity:.9; }
.tier ul{ list-style:none; display:flex; flex-direction:column; gap:11px; flex:1; padding-top:20px; border-top:.5px solid var(--line); padding-left: 0;
    margin-top: 0;
    margin-bottom: 0; }
.tier.feature ul{ border-top-color:rgba(255,255,255,.18); }
.tier li{ font-size:13.5px; line-height:1.45; display:flex; gap:9px; align-items:flex-start; opacity:.9; }
.tier li::before{ content:'✦'; color:var(--sage-dk); flex-shrink:0; font-size:12px; margin-top:2px; }
.tier.feature li::before{ color:var(--sage); }
.tier .soon-tag{ margin-top:22px; text-align:center; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; padding:13px; border-radius:30px; background:rgba(27,58,92,.07); color:var(--navy); }
.tier.feature .soon-tag{ background:rgba(156,191,170,.16); color:var(--sage); }

.cs-disclaimer{ text-align:center; max-width:640px; margin:32px auto 0; font-size:13px; line-height:1.6; color:var(--cs-ink); opacity:.6; font-style:italic; }

/* ═══════════ WAITLIST ═══════════ */
.waitlist{ background:var(--navy); color:var(--white); border-radius:28px; margin-top:7vh; padding:64px 40px; text-align:center; position:relative; overflow:hidden; }
.waitlist::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 18% 18%,rgba(156,191,170,.18),transparent 45%),radial-gradient(circle at 84% 82%,rgba(201,168,122,.16),transparent 48%); pointer-events:none; }
.waitlist .deco-star{ position:absolute; color:rgba(156,191,170,.22); pointer-events:none; }
.waitlist .deco-star.a{ top:16%; left:8%; font-size:30px; } .waitlist .deco-star.b{ bottom:14%; right:9%; font-size:40px; color:rgba(201,168,122,.2); }
.waitlist .eyebrow{ font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--sage); position:relative; }
.waitlist h3{ font-family:var(--display); font-size:clamp(28px,4vw,46px); font-weight:400; margin:12px 0 10px; position:relative; }
.waitlist h3 em{ font-family:var(--serif); font-style:italic; color:var(--sand); }
.waitlist p{ max-width:480px; margin:0 auto 28px; opacity:.78; line-height:1.7; font-size:15px; position:relative; }
/* form */
.wait-form{ display:flex; gap:10px; max-width:520px; margin:0 auto; position:relative; flex-wrap: wrap; }
.wait-field{ flex:1; display:flex; align-items:center; gap:11px; background:rgba(253,250,245,.07); border:1.5px solid rgba(255,255,255,.18); border-radius:40px; padding:0 8px 0 20px; transition:border-color .25s, background .25s; }
.wait-field:focus-within{ border-color:var(--sage); background:rgba(253,250,245,.12); }
.wait-field .mico{ width:18px; height:18px; flex-shrink:0; color:var(--sage); }
.wait-form input[type="email"]{ flex:1; background:none; border:none; outline:none; color:var(--white); font-family:var(--sans); font-size:14.5px; letter-spacing:.02em; padding:17px 0; min-width:0; }
.wait-form input[type="email"]::placeholder{ color:rgba(255,255,255,.45); }
.wait-form input[type="submit"]{ background:var(--sage); color:var(--navy); border:none; border-radius:40px; padding:0 28px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; cursor:pointer; transition:transform .2s, background .2s; white-space:nowrap; display:inline-flex; align-items:center; gap:8px; }
.wait-form input[type="submit"]:hover{ background:var(--white); transform:translateY(-1px); }
.wait-form input[type="submit"] .barr{ transition:transform .2s; }
.wait-form input[type="submit"]:hover .barr{ transform:translateX(3px); }
.wait-note{ display:inline-flex; align-items:center; gap:8px; margin-top:18px; font-size:11px; letter-spacing:.06em; opacity:.6; position:relative; }
.wait-note svg{ width:13px; height:13px; }
.wait-trust{ display:flex; justify-content:center; gap:24px; flex-wrap:wrap; margin-top:26px; position:relative; }
.wait-trust span{ display:inline-flex; align-items:center; gap:8px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; opacity:.55; }
.wait-trust b{ color:var(--sage); font-family:var(--display); font-size:19px; font-weight:400; opacity:1; letter-spacing:0; }

/* ═══════════ EVENT TYPE CARDS ═══════════ */
.ev-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ev-card{ background:var(--white); border-radius:20px; padding:28px 24px; border:1px solid rgba(27,58,92,.08); }
.ev-card .ico{ font-size:26px; }
.ev-card h4{ font-family:var(--display); font-size:21px; font-weight:400; margin:14px 0 7px; color:var(--cs-ink); }
.ev-card .ar{ font-size:12px; opacity:.45; margin-bottom:10px; }
.ev-card p{ font-size:13px; line-height:1.6; color:var(--cs-ink); opacity:.72; }
.ev-card .when{ margin-top:14px; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--navy); opacity:.55; font-weight:500; }




/* ═══════════ RESPONSIVE ═══════════ */
@media(max-width:1000px){
  .ev-cards{ grid-template-columns:1fr 1fr; }
}
@media(max-width:900px){
  .cs-wrap{ grid-template-columns:1fr; text-align:center; padding:calc(var(--nav-h) + 3vh) 26px 6vh; gap:8px; }
  .cs-art{ order:-1; margin-bottom:6px; }
  .cs-art img{ max-width:300px; }
  .cs-eyebrow{ justify-content:center; }
  .cs-sub{ margin-left:auto; margin-right:auto; }
  .cs-actions{ justify-content:center; }
  .cs-notify{ margin-left:auto; margin-right:auto; }
  .cs-deco{ display:none; }
  .cs-rich{ padding:calc(var(--nav-h) + 3vh) 24px 6vh; }
  .cs-rich-hero{ grid-template-columns:1fr; text-align:center; gap:24px; }
  .cs-rich-hero .art{ order:-1; }
  .cs-rich-hero .art img{ max-width:260px; }
  .cs-rich-hero .cs-eyebrow{ justify-content:center; }
  .cs-rich-hero .cs-sub{ margin-left:auto; margin-right:auto; }
  .cs-rich-hero .cs-actions{ justify-content:center; }
  .tiers{ grid-template-columns:1fr; max-width:420px; margin:0 auto; }
  .tier.feature{ transform:none; }
}
@media(max-width:620px){ .ev-cards{ grid-template-columns:1fr; } .wait-form{ flex-direction:column; } .wait-field{ padding:0 16px; } .wait-form button{ padding:15px 28px; justify-content:center; } .wait-trust{ gap:16px 24px; } }
@media(max-width:420px){ .cs-art img{ max-width:240px; } }


.cene-waitlist .wpcf7-form,
form.wait-form.cene-waitlist,
.cene-waitlist{
  display:flex; flex-wrap:wrap; gap:10px;
  max-width:520px; margin:0 auto; align-items:center;
  flex-wrap: wrap;
}

/* CF7 hidden fields must never take layout space */
.cene-waitlist .hidden-fields-container,
.cene-waitlist fieldset{ border:0; padding:0; margin:0; display:none; }

/* the email "pill" */
.cene-waitlist .wait-field{
  flex:1 1 240px; display:flex; align-items:center; gap:11px;
  background:rgba(253,250,245,.07);
  border:1.5px solid rgba(255,255,255,.18);
  border-radius:40px; padding:0 8px 0 20px;
  transition:border-color .25s, background .25s; min-width:0;
}
.cene-waitlist .wait-field:focus-within{
  border-color:var(--cw-sage); background:rgba(253,250,245,.12);
}
.cene-waitlist .wait-field .mico{ width:18px; height:18px; flex-shrink:0; color:var(--cw-sage); transition:color .2s; }

/* CF7 wraps the input in .wpcf7-form-control-wrap */
.cene-waitlist .wpcf7-form-control-wrap{ flex:1; display:block; min-width:0; }
.cene-waitlist input.wpcf7-email,
.cene-waitlist .wait-field input[type=email]{
  width:100%; background:none; border:none; outline:none; box-shadow:none;
  color:var(--cw-white); font-family:inherit; font-size:14.5px; letter-spacing:.02em;
  padding:16px 0; min-width:0;
}
.cene-waitlist input::placeholder{ color:rgba(255,255,255,.45); }

/* submit button (CF7 outputs <input type=submit>) */
.cene-waitlist input.wpcf7-submit{
  flex:0 0 auto; background:var(--cw-sage); color:var(--cw-navy);
  border:none; border-radius:40px; padding:17px 30px;
  font-family:inherit; font-size:12px; letter-spacing:.12em;
  text-transform:uppercase; font-weight:700; cursor:pointer;
  transition:transform .2s, background .2s; white-space:nowrap;
}
.cene-waitlist input.wpcf7-submit:hover{ background:var(--cw-white); transform:translateY(-1px); }

/* ── INVALID STATE ── */
.cene-waitlist .wait-field:has(.wpcf7-not-valid){
  border-color:var(--cw-error); background:rgba(232,146,124,.08);
}
.cene-waitlist .wait-field:has(.wpcf7-not-valid) .mico{ color:var(--cw-error); }
/* fallback for browsers without :has() — colour the input text */
.cene-waitlist .wpcf7-not-valid{ color:var(--cw-error-soft); }

/* inline field tip — full-width row under the pill, centered */
.cene-waitlist .wpcf7-not-valid-tip{
  display:block; order:3; flex-basis:100%; width:100%; text-align:center;
  margin-top:10px; font-size:12.5px; letter-spacing:.02em; color:var(--cw-error-soft);
  position: absolute;
    left: 0;
}

.wpcf7 form .wpcf7-response-output {
    margin: 20px 0;
    display: block;
    width: 100%;
}
/* spinner */
.cene-waitlist .wpcf7-spinner{ order:5; flex-basis:auto; margin:0; }

/* the form-level response banner */
.cene-waitlist .wpcf7-response-output{
  order:4; flex-basis:100%; width:100%; max-width:480px;
  margin:16px auto 0; padding:13px 20px; border-radius:14px; text-align:center;
  font-size:13px; line-height:1.5; letter-spacing:.01em;
  background:rgba(232,146,124,.12); border:1px solid rgba(232,146,124,.4); color:var(--cw-error-soft);
}
/* success — CF7 adds .sent to the <form> when the mail goes out */
.cene-waitlist.sent .wpcf7-response-output,
form.sent .cene-waitlist .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output{
  background:rgba(156,191,170,.16); border-color:rgba(156,191,170,.5); color:var(--cw-sage);
}

/* mobile — stack the pill + button */
@media(max-width:620px){
  .cene-waitlist{ flex-direction:column; }
  .cene-waitlist .wait-field{ flex:1 1 auto; padding:0 16px; }
  .cene-waitlist input.wpcf7-submit{ width:100%; }
}
