/* DRAFT flow pages: free taste + invite. Not for the live site. */
/* Solid panel so the decorative map (street labels like MAIN S) cannot peek through text. */
.flow{padding:28px 0 56px;background:#fff;position:relative;z-index:1}
.flow-wrap{max-width:520px;margin:0 auto;padding:0 20px}
body:has(.flow){background:#fff}
body:has(.flow):before{opacity:0}
body:has(.flow) .faith{background:#FBF7EF}
body.quiz-done header .r > a.btn[data-quiz],
body.quiz-done a.sticky[data-sticky]{display:none !important}
.flow .eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--w);margin-bottom:8px}
.flow h1{font-size:32px;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05}
.flow .lead{font-size:16px;color:var(--mute);margin:10px 0 0;line-height:1.5}
.flow .lead strong{color:var(--ink);font-weight:700}
.flow .body{font-size:15px;margin-top:12px;line-height:1.5}
.flow .form{margin-top:20px;display:flex;flex-direction:column;gap:12px}
.flow label{display:block;font-size:13px;font-weight:800;margin-bottom:6px}
.flow input,.flow .url{
  width:100%;border:1.5px solid #D8DEE8;background:#fff;border-radius:14px;
  padding:13px 14px;font-size:16px;font-family:inherit;color:var(--ink)
}
.flow .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.flow .btn{
  width:100%;text-align:center;cursor:pointer;border:0;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:14px 18px;box-sizing:border-box;line-height:1.2
}
.flow .btn.alt{background:#fff;color:var(--ink);box-shadow:none;border:2px solid var(--ink);padding:12px 18px}
.flow .micro{font-size:13px;color:var(--mute);margin-top:12px;text-align:left;line-height:1.45}
.flow .included{margin-top:22px;background:var(--card,#FAFBFC);border:1px solid var(--line);border-radius:18px;padding:16px}
.flow .included h2,.flow .share-label{
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 10px
}
.flow .share-label{margin-top:22px}
.flow .included ul{list-style:none;padding:0;margin:0}
.flow .included li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;font-weight:650;padding:7px 0;border-top:1px solid var(--line)}
.flow .included li:first-child{border-top:0;padding-top:0}
.flow .ck{flex:none;width:20px;height:20px;border-radius:50%;background:var(--w);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;margin-top:1px}
.lesson-card{margin-top:14px;display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.lesson-card .thumb{position:relative;width:92px;height:92px;background:#0F1B2D}
.lesson-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:20% 40%;display:block}
.lesson-card .meta .dtag,.lesson-card .meta .tag{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--w)}
.lesson-card .meta strong{display:block;font-size:14px;font-weight:800;line-height:1.25;margin-top:2px}
.lesson-card .meta em{display:block;font-style:normal;font-size:12px;color:var(--mute);margin-top:2px}
.done{display:inline-flex;align-items:center;gap:6px;background:#EEF6EF;color:#4F7A5B;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;margin-bottom:12px}
.spot{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--c,var(--e));border-radius:16px;padding:10px 12px;margin:0 0 16px}
.spot img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 12%;border:3px solid var(--c,var(--e));background:#fff;flex:none}
.spot .dtag,.spot .tag{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.spot.E{--c:#B88400}.spot.N{--c:var(--n)}.spot.S{--c:#4F7A5B}.spot.W{--c:var(--w)}
.spot h3{font-size:20px;font-weight:900;letter-spacing:-.02em;line-height:1.1}
.linkbox{display:flex;align-items:stretch;gap:8px;margin-top:0}
.linkbox .url,.linkbox .copy{
  min-height:52px;box-sizing:border-box;border:1.5px solid #D8DEE8;border-radius:14px;
  padding:0 14px;display:flex;align-items:center;font-family:inherit;line-height:1.2
}
.linkbox .url{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px;font-weight:650;background:#fff;color:var(--ink)}
.linkbox .copy{flex:none;border-color:var(--ink);background:#fff;color:var(--ink);font-weight:800;font-size:14px;cursor:pointer}
.invite-hero{text-align:left;padding:0 0 8px;display:flex;align-items:center;gap:14px}
.invite-hero .ava{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 12%;border:3px solid var(--e);box-shadow:0 6px 18px rgba(15,27,45,.12);background:#fff;flex:none}
.invite-hero .from{margin:0;font-size:15px;font-weight:800;letter-spacing:-.01em;text-transform:none;color:var(--ink);line-height:1.3}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 16px}
.person{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:center;padding-bottom:12px;border-top:6px solid var(--c)}
.person img{width:100%;height:132px;object-fit:cover;object-position:50% 10%;background:#fff;display:block}
.person .dtag,.person .tag{display:block;margin-top:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.person.E{--c:var(--e)}.person.E .tag{color:#B88400}
.person.W{--c:var(--w)}.person.N{--c:var(--n)}.person.S{--c:var(--s)}
.person h3{font-size:16px;font-weight:900;margin-top:1px}
.person .name{font-size:13px;font-weight:700;color:var(--mute)}
.teaser{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.teaser h2{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.teaser p{font-size:15px;line-height:1.5;margin-bottom:8px}
.teaser p:last-child{margin-bottom:0}
.lock{margin-top:12px;position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;min-height:168px}
.lock .blurme{padding:16px;filter:blur(6.5px);user-select:none;pointer-events:none}
.lock .blurme h2{font-size:15px;font-weight:900;margin-bottom:8px}
.lock .blurme p{font-size:14px;line-height:1.5;color:var(--mute);margin-bottom:8px}
.lock .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.72) 45%,rgba(255,255,255,.92) 100%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:16px 16px 18px;text-align:center}
.lock .padlock{width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;margin-bottom:8px}
.pricebox{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 16px 16px;text-align:center}
.pricebox .pairprice{display:flex;align-items:baseline;justify-content:center;gap:14px}
.was{font-size:22px;font-weight:800;color:#8A93A3;text-decoration:line-through;text-decoration-thickness:2px}
.now{font-size:40px;font-weight:900;letter-spacing:-.03em;line-height:1}
.pricebox .for{font-size:13px;font-weight:700;color:var(--mute);margin-top:4px}
.code{margin-top:12px;display:inline-flex;align-items:center;gap:8px;background:#EAF3FF;border:1.5px dashed var(--w);color:var(--ink);font-weight:800;font-size:13px;padding:7px 12px;border-radius:999px}
.code b{letter-spacing:.08em;color:var(--w)}
.code .on{background:var(--w);color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px}
.spots-line{margin-top:14px;font-size:14px;font-weight:700;color:var(--mute);text-align:center;line-height:1.4}
.spots-line b{color:var(--ink);font-weight:800}
.founder-line{margin-top:14px;background:#FFF8E3;border-radius:14px;padding:12px 14px;font-size:14.5px;font-weight:700;line-height:1.4;text-align:left}
.avatars{display:flex;align-items:center;justify-content:center;margin-top:8px}
.avatars img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 12%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--line);background:#fff}
.avatars img+img{margin-left:-8px}
.q-progress{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.q-progress .bar{flex:1;height:8px;background:#E8EEF6;border-radius:99px;overflow:hidden}
.q-progress .bar i{display:block;height:100%;background:var(--w);border-radius:99px;width:0}
.q-progress span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.q-options{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.q-options button{text-align:left;background:#fff;border:1.5px solid #D8DEE8;border-radius:16px;padding:14px 16px;font-size:16px;font-weight:700;color:var(--ink);cursor:pointer;font-family:inherit}
.q-options button:hover,.q-options button:focus{border-color:var(--w);box-shadow:0 0 0 3px rgba(31,122,224,.15);outline:none}
.q-back{margin-top:14px;background:none;border:0;color:var(--mute);font-weight:700;cursor:pointer;font-family:inherit;font-size:14px}
.video-wrap{margin:16px 0;background:#0F1B2D;border-radius:16px;overflow:hidden}
.video-wrap video{width:100%;height:auto;display:block;max-width:100%;background:#0F1B2D}
.stub{display:none;margin-top:14px;background:#FFF6D6;border:1px dashed #E5B400;border-radius:14px;padding:14px 16px;font-size:14px;color:#6B5200;text-align:left}
.stub.on{display:block}
.skip-draft{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;color:var(--mute)}
.center{text-align:center}
.mt{margin-top:16px}
.mini-map{display:flex;justify-content:center;margin:8px 0 12px}
.mini-map svg{width:150px;height:150px;max-width:100%}
@media(min-width:900px){
  .flow{padding:40px 0 72px}
  .flow h1{font-size:40px}
}

/* beat site.css .tag { color: var(--c) } when --c is unset */
.flow .lesson-card .meta .tag,.flow .lesson-card .meta .dtag{color:var(--w) !important}
.flow .spot.E .tag,.flow .person.E .tag,.flow .spot.E .dtag,.flow .person.E .dtag{color:#B88400 !important}
.flow .spot.W .tag,.flow .person.W .tag,.flow .spot.W .dtag,.flow .person.W .dtag{color:var(--w) !important}
.flow .spot.N .tag,.flow .person.N .tag,.flow .spot.N .dtag,.flow .person.N .dtag{color:var(--n) !important}
.flow .spot.S .tag,.flow .person.S .tag,.flow .spot.S .dtag,.flow .person.S .dtag{color:#4F7A5B !important}

.flow .dtag{position:static;background:none;padding:0;border-radius:0;top:auto;bottom:auto;color:inherit;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;display:block}
.flow .lesson-card .meta .dtag{color:var(--w);font-size:10px;margin:0}
.flow .spot.E .dtag,.flow .person.E .dtag{color:#B88400}
.flow .spot.W .dtag,.flow .person.W .dtag{color:var(--w)}
.flow .spot.N .dtag,.flow .person.N .dtag{color:var(--n)}
.flow .spot.S .dtag,.flow .person.S .dtag{color:#4F7A5B}

.invite-card{
  text-align:left;background:#fff;border:1px solid var(--line);border-left:6px solid #B88400;
  border-radius:16px;padding:14px 16px;margin:4px 0 0
}
.invite-card .share-label{margin:0 0 6px;color:var(--mute)}
.invite-card-title{margin:0;font-size:18px;font-weight:900;letter-spacing:-.02em;text-transform:none;color:var(--ink);line-height:1.2}
.invite-card-body{margin:6px 0 0;font-size:14px;font-weight:650;color:var(--mute);line-height:1.45;text-transform:none;letter-spacing:0}

/* Compass map (ported from CompassMap.tsx) */
.compass-map{background:#fff;border:1px solid var(--line);border-radius:24px;padding:8px 8px 12px;margin-top:8px}
.compass-svg{width:100%;height:auto;display:block;max-width:520px;margin:0 auto;overflow:visible}
.pg-compass-dot{transform:translate(0,0);transform-box:view-box;transform-origin:0 0;transition:transform 800ms cubic-bezier(.2,.8,.2,1);transition-delay:var(--delay,0ms)}
.pg-compass-dot.is-in{transform:translate(var(--tx),var(--ty))}
.compass-caption{font-size:12px;color:var(--mute);text-align:center;margin:4px 16px 6px;line-height:1.5;text-wrap:balance}
.compass-legend{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:8px}
.compass-legend li{display:flex;align-items:center;gap:8px;font-size:14px;text-align:left}
.compass-legend i{width:10px;height:10px;border-radius:50%;flex:none}
.compass-legend b{font-weight:800}
.compass-legend span{color:var(--mute);font-size:13px}
@media (prefers-reduced-motion: reduce){
  .pg-compass-dot{transition:none}
}

.flow .skip-draft{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;color:var(--mute);text-align:left}

/* Personal / question headlines should read as written, not in all caps */
.flow h1#headline,.flow h1.sentence{text-transform:none;letter-spacing:-.02em}
