/* LionStrata v2.9.134 — the public Community page on /access?from=community (copy in docs/community-pilot.md). Same dark site style; the form card is light.
   All text is at least 12px; keyboard focus is always visible; no inline styles (CSP). Everything here is scoped so the normal /access page is unchanged. */
.community-page{display:none}
html[data-source="community"] .community-page{display:block;position:relative;padding-bottom:24px;background:radial-gradient(70% 520px at 50% 0,rgba(99,102,241,.13),rgba(99,102,241,0) 72%)}
html[data-source="community"] .access-main,html[data-source="community"] .access-boundary{display:none}
@media (prefers-reduced-motion:no-preference){html[data-source="community"]{scroll-behavior:smooth}}
.community-page *{box-sizing:border-box}
.community-page a:focus-visible,.community-page button:focus-visible,.community-page input:focus-visible,.community-page textarea:focus-visible{outline:3px solid #a5b4fc;outline-offset:3px}
.cp-narrow{width:min(var(--ls-container),760px)}
.community-page section{scroll-margin-top:24px}

.cp-topbar{display:flex;justify-content:flex-end;padding-top:20px}
.cp-login{color:#a1a1a6;font-size:14px;text-decoration:none;padding:8px 2px}
.cp-login:hover{color:#f5f5f7;text-decoration:underline}

.cp-hero{text-align:center;padding:56px 0 64px}
.cp-eyebrow{margin:0 0 20px;color:#a1a1a6;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.cp-hero h1{max-width:15em;margin:0 auto;color:#f5f5f7;font-size:clamp(34px,5.4vw,64px);line-height:1.06;font-weight:700;letter-spacing:-.03em;text-wrap:balance}
.cp-sub{max-width:34em;margin:22px auto 0;color:#c7c7cc;font-size:clamp(17px,2vw,21px);line-height:1.5;text-wrap:balance}
.cp-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}
.cp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border:1px solid transparent;border-radius:999px;font-size:17px;font-weight:500;text-decoration:none}
.cp-btn-primary{background:#f5f5f7;color:#000}.cp-btn-primary:hover{background:#fff}
.cp-btn-ghost{border-color:rgba(255,255,255,.34);color:#f5f5f7}.cp-btn-ghost:hover{background:rgba(255,255,255,.08)}
.cp-fine{margin:18px 0 0;color:#a1a1a6;font-size:14px}

.cp-card{padding:32px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:#141416;color:#f5f5f7;text-align:left}
.cp-kicker{margin:0 0 18px;color:#a1a1a6;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.cp-letter p:not(.cp-kicker){margin:0 0 16px;color:#e5e5ea;font-size:18px;line-height:1.65}
.cp-letter .cp-sign{margin:24px 0 0;color:#f5f5f7;font-size:18px;font-weight:600}

.cp-what{padding:72px 0 8px}
.cp-what h2,.cp-rules h2{margin:0 0 32px;color:#f5f5f7;font-size:clamp(28px,3.6vw,44px);line-height:1.1;font-weight:700;letter-spacing:-.03em;text-align:center}
.cp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cp-cards>*{min-width:0}
.cp-cards h3{margin:0;color:#f5f5f7;font-size:24px;line-height:1.2;font-weight:700;letter-spacing:-.02em}
.cp-lede{margin:8px 0 20px;color:#a1a1a6;font-size:16px;line-height:1.5}
.cp-cards ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.cp-cards li{position:relative;padding-left:18px;color:#e5e5ea;font-size:16px;line-height:1.45}
.cp-cards li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:#6e6e73}
.cp-quote{margin:0}
.cp-quote blockquote{margin:0;padding:16px 18px;border-left:3px solid #6e6e73;border-radius:6px;background:rgba(255,255,255,.04);color:#f5f5f7;font-size:17px;line-height:1.55}
.cp-quote figcaption{margin-top:12px;color:#a1a1a6;font-size:13px}

.cp-any{margin-top:72px;padding:112px 0;border-top:1px solid #1c1c1f;border-bottom:1px solid #1c1c1f;background:transparent;color:#f5f5f7;text-align:center}
.cp-any h2{margin:0;font-size:clamp(28px,3.6vw,44px);line-height:1.1;font-weight:700;letter-spacing:-.03em}
.cp-any p{margin:0 auto;text-wrap:balance}
.cp-any .cp-any-lead{max-width:780px;margin-top:28px;color:#e5e5ea;font-size:clamp(20px,2.6vw,28px);line-height:1.4;font-weight:500}
.cp-any .cp-any-sub{max-width:560px;margin-top:20px;color:#a1a1a6;font-size:18px;line-height:1.55}

.cp-rules{padding:72px 0 8px}
.cp-rules-wrap{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);column-gap:72px;align-items:start;width:min(var(--ls-container),1080px);margin-inline:auto}
.cp-rules-wrap>*{min-width:0}
.cp-rules-title .cp-kicker{margin:0 0 14px}
.cp-rules-title h2{margin:0;color:#f5f5f7;font-size:clamp(32px,4vw,48px);line-height:1.08;font-weight:700;letter-spacing:-.03em;text-align:left}
.cp-rules-sub{max-width:320px;margin:18px 0 0;color:#a1a1a6;font-size:17px;line-height:1.5}
.cp-rule-list{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.12)}
.cp-rule-list li{display:flex;align-items:flex-start;gap:22px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.cp-rule-list li>div{min-width:0}
.cp-num{flex:0 0 36px;color:#a1a1a6;font-size:15px;font-weight:600;letter-spacing:.1em;padding-top:4px}
.cp-rule-list strong{display:block;color:#f5f5f7;font-size:clamp(19px,2.2vw,22px);line-height:1.3;font-weight:600}
.cp-rule-list span:not(.cp-num){display:block;margin-top:6px;color:#a1a1a6;font-size:16px;line-height:1.5}
.cp-rules-calm{margin:24px 0 0;color:#c7c7cc;font-size:17px;line-height:1.6}
.cp-isnt-copy{max-width:36em;margin:0 auto;color:#e5e5ea;font-size:19px;line-height:1.65;text-align:center;text-wrap:balance}
.cp-isnt h2{margin-bottom:22px}
.cp-body{margin:12px 0 0;color:#e5e5ea;font-size:16px;line-height:1.55}
.cp-habits h3{margin:0}

.cp-request{padding:72px 0 40px}
.cp-form-slot .signup-panel{max-width:none;padding:34px;border:0;border-radius:24px;background:#F5F5F7;color:#1d1d1f;box-shadow:none}
.cp-form-slot .panel-kicker{color:#4338ca;font-size:13px;letter-spacing:.12em}
.cp-form-slot #signup-default .panel-kicker{display:none}
.cp-form-slot .signup-panel h2{margin:0 0 10px;color:#111;font-size:clamp(28px,3.4vw,36px);line-height:1.12;letter-spacing:-.03em}
.cp-form-slot .panel-copy{color:#424245;font-size:17px;line-height:1.55}
.cp-form-slot .access-form{margin-top:24px}
.cp-form-slot .access-form>label,.cp-form-slot .cp-field label,.cp-form-slot .code-form label{display:block;margin:0 0 8px;color:#1d1d1f;font-size:15px;font-weight:600;letter-spacing:0}
.cp-optional{color:#5f6368;font-weight:400}
.cp-form-slot .form-row{display:block}
.cp-form-slot input[type="email"],.cp-form-slot textarea,.cp-form-slot .code-form input{width:100%;border:1px solid #b9bcc3;border-radius:12px;background:#fff;color:#111;font:inherit;font-size:16px;outline:none}
.cp-form-slot input[type="email"]{height:52px;padding:0 16px}
.cp-form-slot textarea{display:block;min-height:112px;padding:14px 16px;line-height:1.5;resize:vertical}
.cp-form-slot input::placeholder,.cp-form-slot textarea::placeholder{color:#6b7078}
.cp-form-slot input[type="email"]:focus,.cp-form-slot textarea:focus,.cp-form-slot .code-form input:focus{border-color:#4338ca;box-shadow:0 0 0 3px rgba(67,56,202,.18)}
.cp-field{margin-top:22px}
.cp-count{margin:6px 0 0;color:#5f6368;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}
.cp-agree{margin-top:20px}
.cp-check{display:flex;align-items:flex-start;gap:14px;min-height:44px;padding:16px 18px;background:#fff;border:1px solid #d2d2d7;border-radius:16px;color:#3a3a3c;font-size:15px;line-height:1.5;cursor:pointer}
.cp-check.is-checked{border-color:#1d1d1f}
.cp-check.is-invalid{border-color:#c0392b}
.cp-check input{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 24px;width:24px;height:24px;margin:0;background:#fff;border:2px solid #6e6e73;border-radius:7px;cursor:pointer}
.cp-check input:hover{border-color:#1d1d1f}
.cp-check input:checked{border-color:#1d1d1f}
.cp-check input::after{content:"";position:absolute;left:50%;top:44%;width:6px;height:11px;margin:-6px 0 0 -3px;border:solid #0a0a0b;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);opacity:0}
.cp-check input:checked::after{opacity:1}
.community-page .cp-check input:focus-visible{outline:3px solid #0a0a0b;outline-offset:3px}
.cp-error{margin:8px 0 0;color:#c0392b;font-size:14px;line-height:1.45}
.cp-error:empty{display:none}
.cp-form-slot .community-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:22px;padding:0 28px;border:0;border-radius:999px;background:#111;color:#fff;font:inherit;font-size:17px;font-weight:500;cursor:pointer}
.cp-form-slot .community-submit[hidden],.cp-form-slot [data-community-only][hidden]{display:none}
.cp-form-slot .community-submit:hover{background:#2b2b2e}.cp-form-slot .community-submit:disabled{opacity:.6;cursor:wait}
.cp-small{margin:14px 0 0;color:#55585f;font-size:13px;line-height:1.5;text-align:center}
.cp-privacy{margin-top:8px}.cp-privacy a{color:#4338ca;font-size:14px;text-decoration:underline;text-underline-offset:3px;padding:4px 2px;border-radius:4px}.cp-privacy a:hover{color:#312e81}.cp-privacy a:focus-visible{outline:3px solid #4338ca;outline-offset:3px}
.cp-form-slot .form-note{display:none}
.cp-form-slot .form-status,.cp-form-slot .verify-status{min-height:20px;margin:12px 0 0;color:#b42318;font-size:14px;line-height:1.5}
.cp-form-slot .success-state>p:not(.panel-kicker){color:#424245;font-size:16px;line-height:1.6}
.cp-form-slot .success-state strong{color:#111}
.cp-form-slot .success-mark{border-color:#c7c7cc;background:#fff;color:#111}
.cp-form-slot .delivery-note{color:#55585f;font-size:14px}
.cp-form-slot .code-form{grid-template-columns:1fr;gap:10px}
.cp-form-slot .code-form input{height:56px;letter-spacing:.26em;text-align:center;font-size:22px;font-weight:700}
.cp-form-slot .code-form button{width:100%;height:52px;border:0;border-radius:999px;background:#111;color:#fff;font:inherit;font-size:16px;font-weight:500;cursor:pointer}
.cp-form-slot .text-button{color:#4338ca;font-size:14px}
.cp-form-slot .turnstile-wrap{margin-top:16px}
.cp-care{max-width:620px;margin:26px auto 0;color:#a1a1a6;font-size:14px;line-height:1.6;text-align:center}

@media (max-width:899px){
  .cp-cards{grid-template-columns:minmax(0,1fr)}
  .cp-hero{padding:36px 0 48px}
  .cp-what,.cp-rules,.cp-request{padding-top:56px}
  .cp-any{margin-top:56px}
  .cp-card{padding:24px}
  .cp-form-slot .signup-panel{padding:24px 18px}
  .cp-actions .cp-btn{width:100%;max-width:340px}
  .cp-rule-list li{gap:16px}
}
@media (max-width:819px){
  .cp-rules-wrap{grid-template-columns:minmax(0,1fr);row-gap:32px}
  .cp-rules{padding-top:56px}
}
