/* The Knowing (/knowing): the paid 4-week class, built on the free class world (psychic.css loads first and
   supplies the tokens, hero mechanics, ivory chapters, buttons, FAQ and closing). This file adds the journey
   thread, the rag-paper offer and enrollment cards, the four weeks, the clips row and the included stack. */

/* Hero: the headline is the product name with her promise as the gold italic line. */
.knowing-page .pc-intro h1 em{font-size:.78em;line-height:1.02;margin-top:6px}

/* The journey thread: four knots on one gold line, drawn once as the page opens. */
.kn-thread{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0 0;padding:0;list-style:none}
.kn-thread::before{content:"";position:absolute;left:7px;right:7px;top:7px;height:2px;background:var(--pc-gold);transform-origin:0 50%}
.kn-thread li{position:relative;display:grid;gap:2px;padding-top:24px;font:600 16px/1.2 'Cormorant Garamond',Georgia,serif;color:var(--pc-cream)}
.kn-thread b{font:600 12px/1.3 Inter,Arial,sans-serif;color:var(--pc-muted);font-variant-numeric:lining-nums}
.kn-knot{position:absolute;left:0;top:0;width:16px;height:16px;border:2px solid var(--pc-gold);border-radius:50%;background:var(--pc-night)}
.kn-thread li:last-child .kn-knot{background:var(--pc-gold)}
/* The one-time draw runs in knowing.js (Web Animations), so a resize never replays it and the line shows without script. */

/* The offer: real rag paper inside a thin gold foil frame, plum ink. */
.kn-offer,.kn-card{position:relative;background:var(--pc-paper) url(/assets/mediaPaper.4a3c475a97.webp) center/380px;color:var(--pc-ink);border-radius:4px;
  box-shadow:0 1px 2px rgba(52,36,20,.32),0 30px 60px -30px rgba(0,0,0,.8)}
.kn-offer::before,.kn-card::before{content:"";position:absolute;inset:7px;border:1px solid rgba(201,162,79,.7);border-radius:2px;pointer-events:none}
.kn-offer{max-width:520px;margin-top:30px;padding:24px 26px 14px}
.kn-price{display:flex;align-items:center;gap:14px;margin:0}
.kn-price b{font:700 50px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.01em;color:var(--pc-plum);font-variant-numeric:lining-nums}
.kn-price>span{display:grid;gap:2px;font:600 14px/1.35 Inter,Arial,sans-serif;color:var(--pc-gold-ink)}
.kn-price .kn-then{font-weight:500;color:var(--pc-ink-soft)}
.kn-offer-facts{display:grid;gap:5px;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #dccdb4;list-style:none}
.kn-offer-facts li,.kn-card-facts li{position:relative;padding-left:16px;font-size:14.5px;line-height:1.45;color:var(--pc-ink-soft)}
.kn-offer-facts li::before{content:"";position:absolute;left:1px;top:.6em;width:6px;height:6px;border-radius:50%;background:#b98a3e}
.kn-local{display:block;color:#7a5296}
.kn-offer .pc-btn{width:100%;margin-top:18px}
.kn-plan-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:4px;padding:0;border:0;background:none;
  color:var(--pc-plum);font:600 15px/1.3 Inter,Arial,sans-serif;text-decoration:underline;text-decoration-color:rgba(91,63,115,.45);text-underline-offset:4px;cursor:pointer}
.kn-plan-link:hover{text-decoration-color:var(--pc-plum)}
.kn-plan-link:focus-visible{outline:3px solid #915bb0;outline-offset:2px;border-radius:4px}
.kn-status{margin:0;font-size:14px;line-height:1.5;color:var(--pc-ink-soft)}
.kn-status:empty{display:none}
.kn-status.is-error{color:var(--pc-error)}
.kn-status a{color:var(--pc-plum)}
.kn-enroll[aria-busy=true]{cursor:progress;opacity:.75}
.kn-enroll[disabled]{cursor:not-allowed}

/* Story: her opening, set large on night. */
.kn-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,80px);align-items:start;padding-block:clamp(64px,8vw,104px)}
.kn-story h2{font:700 clamp(34px,3.4vw,50px)/1.04 'Cormorant Garamond',Georgia,serif;letter-spacing:-.015em;color:var(--pc-cream);text-wrap:balance}
.kn-story h2 em{display:block;margin-top:10px;font-weight:600;color:var(--pc-gold)}
.kn-story-copy p{max-width:36em;font-size:17px;line-height:1.65;color:var(--pc-muted)}
.kn-story-copy p+p{margin-top:16px}
.kn-story-copy .kn-story-ask{font:italic 500 clamp(23px,2.1vw,27px)/1.32 'Cormorant Garamond',Georgia,serif;color:var(--pc-cream)}
.kn-story-copy .kn-story-note{color:var(--pc-cream);font-weight:500}

/* The four weeks: the thread runs down beside them, each knot filling once as its week arrives. */
.kn-weeks{position:relative;margin:34px 0 0;padding:0;list-style:none}
.kn-weeks::before{content:"";position:absolute;left:8px;top:14px;bottom:30px;width:2px;background:linear-gradient(180deg,#c9a24f,rgba(201,162,79,.35))}
.kn-week{position:relative;padding:0 0 38px 46px}
.kn-week+.kn-week{padding-top:34px;border-top:1px solid var(--pc-line)}
.kn-week-knot{position:absolute;left:0;top:8px;width:18px;height:18px;border:2px solid #c9a24f;border-radius:50%;background:var(--pc-ivory);transition:background .5s var(--pc-ease)}
.kn-week+.kn-week .kn-week-knot{top:42px}
.kn-week.is-reached .kn-week-knot{background:#c9a24f}
.kn-week h3{font:700 clamp(28px,2.6vw,36px)/1.08 'Cormorant Garamond',Georgia,serif;letter-spacing:-.01em;color:var(--pc-ink)}
.kn-week h3 em{margin-right:8px;font-weight:600;color:var(--pc-gold-ink)}
.kn-week-sub{margin-top:6px;font-size:16px;line-height:1.5;color:var(--pc-ink-soft)}
.kn-week-date{color:#7a5296;font-weight:500}
.kn-week-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 44px;margin-top:20px}
.kn-week-cols h4{font:600 14px/1.3 Inter,Arial,sans-serif;color:var(--pc-plum)}
.kn-week-cols ul{display:grid;gap:7px;margin:10px 0 0;padding:0;list-style:none}
.kn-week-cols li{position:relative;padding-left:16px;font-size:15.5px;line-height:1.5;color:var(--pc-ink-soft)}
.kn-week-cols li::before{content:"";position:absolute;left:1px;top:.62em;width:6px;height:6px;border-radius:50%;background:#c9a24f}
.kn-week-change{max-width:44em;margin-top:14px;padding-left:16px;border-left:1px solid #c9a24f;font:italic 500 clamp(21px,1.9vw,25px)/1.34 'Cormorant Garamond',Georgia,serif;color:var(--pc-ink)}
.kn-cta-row{margin-top:8px}
.kn-journey .pc-cta-row{justify-content:flex-start}

/* Watch: two genuine readings (vertical) and the teaching excerpt, equal heights. */
.kn-watch{padding-block:clamp(72px,8vw,112px)}
.kn-watch h2{max-width:20em;font:700 clamp(36px,3.6vw,50px)/1.03 'Cormorant Garamond',Georgia,serif;letter-spacing:-.015em;color:var(--pc-cream)}
.kn-watch h2 em{display:block;font-weight:600;color:var(--pc-gold)}
.kn-watch-copy p{margin-top:16px;max-width:38em;font-size:17px;line-height:1.6;color:var(--pc-muted)}
.kn-clips{display:grid;grid-template-columns:1fr 1fr 3.16fr;gap:18px;margin-top:34px;align-items:start}
.kn-clip{position:relative;display:block;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:#1a1626;cursor:pointer;box-shadow:0 30px 60px -34px rgba(0,0,0,.95)}
.kn-clip img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .5s var(--pc-ease)}
.kn-clip-tall img{aspect-ratio:9/16}
.kn-clip-wide img{aspect-ratio:16/9}
.kn-clip .ox-play{left:14px;bottom:14px;width:48px;height:48px;background:rgba(12,9,28,.78)}
.kn-clip-chip{position:absolute;left:12px;top:12px;width:max-content;max-width:calc(100% - 24px);padding:6px 11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:999px;background:rgba(12,9,28,.74);
  color:var(--pc-cream);font-size:12.5px;font-weight:500;line-height:1.3;text-align:left;font-variant-numeric:tabular-nums}
.kn-clip:focus-visible{outline:3px solid var(--pc-lav);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.kn-clip:hover img{transform:scale(1.03)}}

/* Included: the value stack, then the anchor against one private reading. */
.kn-included{padding-bottom:clamp(8px,2vw,24px)}
.kn-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px;margin:28px 0 0;padding:0;list-style:none}
.kn-stack li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:16.5px;line-height:1.5;color:var(--pc-ink-soft)}
.kn-stack svg{width:22px;height:22px;margin-top:1px;fill:none;stroke:#b98a3e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kn-stack b{color:var(--pc-ink);font-weight:600}
.kn-anchor{max-width:46em;margin-top:28px;padding-top:20px;border-top:1px solid var(--pc-line);font:italic 500 clamp(20px,1.8vw,23px)/1.4 'Cormorant Garamond',Georgia,serif;color:var(--pc-ink)}

/* "For you if" reuses the felt list on night. */
.kn-for{padding-top:clamp(72px,8vw,104px)}
.kn-for h2 em{display:inline}

/* Enrollment card. */
.kn-enroll-sec{padding-block:clamp(64px,8vw,104px) 0}
.kn-card{max-width:680px;margin-inline:auto;padding:clamp(28px,4vw,44px) clamp(22px,4vw,48px) clamp(22px,3vw,32px);text-align:center}
.kn-card h2{font:700 clamp(32px,3.2vw,44px)/1.04 'Cormorant Garamond',Georgia,serif;letter-spacing:-.015em;color:var(--pc-ink);text-wrap:balance}
.kn-card h2 em{font-weight:600;color:var(--pc-gold-ink)}
.kn-price-big{justify-content:center;margin-top:20px}
.kn-price-big b{font-size:64px}
.kn-deadline{margin-top:10px;font-size:15px;line-height:1.5;color:var(--pc-ink-soft)}
.kn-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}
.kn-choices .pc-btn{min-width:280px}
.kn-choices .pc-btn-outline{min-height:56px;padding-inline:26px;font-size:15px}
.kn-card .kn-status{margin-top:12px}
.kn-card-facts{display:grid;gap:10px;margin:26px 0 0;padding:20px 0 0;border-top:1px solid #dccdb4;list-style:none;text-align:left}
.kn-card-facts li{display:grid;grid-template-columns:72px 1fr;gap:12px;padding-left:0}
.kn-card-facts b{font:600 13px/1.6 Inter,Arial,sans-serif;color:var(--pc-plum)}
.kn-card-facts .kn-local{display:inline;margin-left:6px}
.kn-fine{margin-top:18px;font-size:13px;line-height:1.5;color:#6a5f73}

.kn-close h2{max-width:13em}

@media(max-width:999px){
  .kn-story{grid-template-columns:1fr;gap:20px}
  .kn-week-cols{grid-template-columns:1fr;gap:18px}
  .kn-clips{grid-template-columns:1fr 1fr}
  .kn-clip-wide{grid-column:1/-1}
  .kn-stack{grid-template-columns:1fr}
}
@media(max-width:699px){
  /* Phone: the thread runs down the empty wall beside Allison, then the offer sits under the scene. */
  .knowing-page .pc-intro h1{font-size:36px}
  .kn-thread{grid-template-columns:1fr;gap:14px;max-width:52%;margin-top:22px}
  .kn-thread::before{left:7px;right:auto;top:8px;bottom:8px;width:2px;height:auto;transform-origin:50% 0}
  .kn-thread li{padding:0 0 0 28px;font-size:18px}
  .kn-thread b{font-size:11.5px}
  .kn-knot{top:2px}
  .kn-offer{max-width:none;margin:30px -8px 0;padding:20px 20px 10px}
  .kn-price b{font-size:44px}
  .kn-price>span{font-size:13.5px}
  .kn-offer-facts li{font-size:14px}
  .kn-week{padding-left:36px}
  .kn-weeks::before{left:7px}
  .kn-clips{gap:12px}
  .kn-clip-chip{font-size:11.5px;padding:5px 9px}
  .kn-clip .ox-play{width:42px;height:42px}
  .kn-card{margin-inline:-8px}
  .kn-price-big b{font-size:54px}
  .kn-choices .pc-btn,.kn-choices .pc-btn-outline{width:100%;min-width:0}
  .kn-card-facts li{grid-template-columns:1fr;gap:0}
}

/* The email step before Stripe: the course dialog's shape on ivory, in this page's type and plum. */
.kn-dialog{margin:auto;width:min(92vw,440px);max-height:92dvh;padding:0;border:0;border-radius:16px;background:var(--pc-ivory);color:var(--pc-ink);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.8);overflow:auto}
.kn-dialog::backdrop{background:rgba(12,9,28,.72)}
.kn-dialog .enroll-form{display:grid;gap:12px;padding:18px 22px 22px}
.kn-dialog .enroll-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kn-dialog .enroll-head h2{margin:0;font:700 28px/1.08 'Cormorant Garamond',Georgia,serif;color:var(--pc-ink);text-wrap:balance}
.kn-dialog .enroll-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--pc-line);border-radius:50%;background:transparent;color:var(--pc-ink);cursor:pointer}
.kn-dialog .enroll-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.kn-dialog .enroll-lead,.kn-dialog .enroll-note,.kn-dialog .enroll-error,.kn-dialog .enroll-status{margin:0;font-size:14.5px;line-height:1.5;text-wrap:pretty}
.kn-dialog .enroll-lead,.kn-dialog .enroll-note{color:var(--pc-ink-soft)}
.kn-dialog label{margin-top:4px;font:600 13px/1.3 Inter,Arial,sans-serif;color:var(--pc-ink)}
.kn-dialog input{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--pc-field);border-radius:8px;background:#fff;color:var(--pc-ink);font:16px/1.3 Inter,Arial,sans-serif}
.kn-dialog input[aria-invalid="true"]{border-color:var(--pc-error)}
.kn-dialog .enroll-error{color:var(--pc-error)}
.kn-dialog .enroll-error:empty,.kn-dialog .enroll-status:empty{display:none}
.kn-dialog .enroll-status.is-error{color:var(--pc-error)}
.kn-dialog .kn-continue{width:100%;margin-top:4px}
.kn-dialog .enroll-close:focus-visible,.kn-dialog input:focus-visible{outline:3px solid #915bb0;outline-offset:2px}

/* Welcome page after checkout. */
.kn-welcome{padding-block:clamp(48px,7vw,96px) clamp(64px,8vw,104px)}
.kn-welcome-card{max-width:640px;text-align:left}
.kn-welcome-card h1{font:700 clamp(38px,4vw,54px)/1.02 'Cormorant Garamond',Georgia,serif;letter-spacing:-.015em;color:var(--pc-ink)}
.kn-welcome-lede{margin-top:12px;font-size:17px;line-height:1.55;color:var(--pc-ink-soft)}
.kn-welcome-next h2{margin-top:28px;padding-top:22px;border-top:1px solid #dccdb4;font:700 26px/1.1 'Cormorant Garamond',Georgia,serif;color:var(--pc-ink)}
.kn-next{display:grid;gap:14px;margin:16px 0 0;padding:0;list-style:none;counter-reset:kn-next}
.kn-next li{position:relative;display:grid;gap:2px;padding-left:40px;counter-increment:kn-next;font-size:15.5px;line-height:1.5;color:var(--pc-ink-soft)}
.kn-next li::before{content:counter(kn-next);position:absolute;left:0;top:0;width:28px;height:28px;border:1px solid #c9a24f;border-radius:50%;
  display:grid;place-items:center;font:600 16px/1 'Cormorant Garamond',Georgia,serif;color:var(--pc-gold-ink)}
.kn-next b{color:var(--pc-ink)}
.kn-cal{display:grid;gap:4px;margin-top:24px}
.kn-cal .pc-btn{width:100%}
.kn-welcome-help,.kn-welcome-other p{margin-top:18px;font-size:15px;line-height:1.55;color:var(--pc-ink-soft)}
.kn-welcome-card a:not(.pc-btn):not(.kn-plan-link){color:var(--pc-plum);text-decoration:underline;text-underline-offset:3px}
.kn-welcome-card[data-state=pending] .kn-welcome-lede{color:var(--pc-plum)}

/* Review fixes, 27 Oct: the desktop thread reaches toward Allison; refund line under the first action;
   the one handwritten note at the close; the welcome page clears the header and its pill wraps. */
@media(min-width:700px){
  .kn-thread::before{right:-150px;background:linear-gradient(90deg,var(--pc-gold) 0,var(--pc-gold) calc(100% - 170px),rgba(244,209,126,0) 100%)}
}
.kn-refund{margin:2px 0 6px;text-align:center;font-size:13px;line-height:1.45;color:var(--pc-ink-soft)}
.kn-note{margin-top:6px;font:400 40px/1.1 'Oooh Baby',cursive;color:var(--pc-gold)}
.kn-close .pc-close-when{margin-top:18px}
.kn-welcome{padding-top:clamp(120px,13vw,168px)}
.kn-cal .pc-btn{white-space:normal;text-align:center;line-height:1.3}
@media(max-width:699px){
  .kn-refund{font-size:12.5px;margin:0 0 4px}
  .kn-offer .kn-plan-link{min-height:40px}
  .kn-note{font-size:34px}
}
/* Not open yet, sold out or closed: the actions read as waiting, not as broken buttons. */
.kn-enroll[disabled]{opacity:.62;cursor:default;box-shadow:none}
.kn-enroll[disabled] svg{display:none}
.kn-plan-link[disabled]{text-decoration:none;color:var(--pc-ink-soft)}
@media(hover:hover) and (pointer:fine){.pc-btn.kn-enroll[disabled]:hover{transform:none;box-shadow:none}}
