/* A shorter, editorial journey. The interactive hero remains the focal point. */
:root{--radius-control:12px;--radius-panel:24px;--radius-detail:16px}
.brand-intro{position:fixed;inset:0;z-index:1000;background:#0b0c0d;display:grid;place-items:center;animation:intro-reveal 1100ms cubic-bezier(.4,0,.2,1) both}
.brand-intro[hidden]{display:none}
.intro-lockup{display:flex;flex-direction:column;align-items:center;gap:20px}
.intro-symbol{width:150px;height:150px;overflow:visible;animation:intro-settle 850ms cubic-bezier(.16,1,.3,1) both}
.intro-half{transform-origin:center;animation-duration:780ms;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both}
.intro-half-a{animation-name:intro-connect-a}
.intro-half-b{animation-name:intro-connect-b}
.intro-caption{font-size:10px;letter-spacing:.2em;color:#aeb6b4;animation:intro-caption 700ms ease both}
.intro-skip{position:absolute;bottom:32px;right:var(--gutter);padding:12px 16px;background:transparent;color:#aeb6b4;font-size:12px;border:1px solid #343c3a;border-radius:999px}
@keyframes intro-connect-a{0%{transform:translate(-32px,-32px);opacity:0}20%{opacity:1}75%,100%{transform:translate(0,0);opacity:1}}
@keyframes intro-connect-b{0%{transform:translate(32px,32px);opacity:0}20%{opacity:1}75%,100%{transform:translate(0,0);opacity:1}}
@keyframes intro-settle{0%{transform:rotate(-24deg) scale(.86);filter:brightness(.65)}65%{filter:brightness(1.3)}100%{transform:rotate(0) scale(1);filter:brightness(1)}}
@keyframes intro-caption{0%,30%{opacity:0;transform:translateY(6px)}70%,100%{opacity:1;transform:translateY(0)}}
@keyframes intro-reveal{0%,72%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none!important}}
.founder-scene{margin:0;min-width:0}
.founder-scene video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#17191a}
.founder-scene figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.founder-scene figcaption strong{font-size:20px;letter-spacing:-.04em}
.founder-scene figcaption>span{font-size:12px;color:#606966}
.film-transcript{margin-top:12px;border-top:1px solid #cfd0cd}
.film-transcript summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;font-size:13px;padding:12px 0;color:#47524e}
.film-transcript summary::-webkit-details-marker{display:none}
.film-transcript summary span{font-size:20px}
.film-transcript[open] summary span{transform:rotate(45deg)}
.film-transcript p{font-size:15px;line-height:1.8;color:#535e59;padding-bottom:12px}
@media(max-width:760px){.founder-scene figcaption{align-items:flex-start;flex-direction:column;gap:5px}.founder-scene figcaption strong{font-size:20px}}
.hero-description{max-width:420px}
.hero-eyebrow{font-size:11px;letter-spacing:.07em}
.community-strip{padding:24px var(--gutter);display:flex;justify-content:center;align-items:center;gap:40px;border-top:1px solid #343638;border-bottom:1px solid #343638;color:#b9bdbc;font-size:11px;letter-spacing:.1em}
.community-strip svg{width:22px;height:22px;opacity:.75}
.community-section{padding:90px var(--gutter) 60px}
.community-editorial{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.community-message .eyebrow{color:#616767;margin-bottom:28px;font-size:10px}
.community-message h2{font-size:clamp(42px,4.4vw,68px);line-height:1.08;letter-spacing:-.065em}
.community-message h2 em{font-style:normal;color:#737b79}
.community-message>p:not(.eyebrow){max-width:390px;font-size:16px;line-height:1.8;color:#555e5c;margin-top:28px}
.community-message>.community-belief{font-weight:600;color:#222a28!important;margin-top:16px!important}
.community-scene{margin:0}
.community-photo{height:370px}
.community-photo>img{object-position:45% 50%}
.community-scene figcaption{display:flex;justify-content:space-between;gap:16px;font-size:8px;letter-spacing:.09em;color:#616967;margin-top:14px}
.benefits-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:66px;margin-bottom:24px}
.benefits-heading .eyebrow{font-size:10px;color:#616967}
.benefits-heading>span{font-size:12px;color:#626b68}
.community-values{margin-top:0;gap:38px}
.value-number{font-size:9px;letter-spacing:.07em;padding-bottom:20px;margin-bottom:24px}
.community-values h3{font-size:24px;line-height:1.3}
.community-values p{font-size:15px;line-height:1.8}
.community-signoff{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #cfd0cd;padding-top:26px;margin-top:36px}
.community-signoff>span{font-size:12px;color:#616967}
.community-signoff .text-link{font-size:12px;border:0;gap:16px;padding:8px 0}
.join-section{padding:85px var(--gutter);gap:90px;align-items:center}
.join-intro .eyebrow{font-size:10px;letter-spacing:.06em}
.join-intro h2{font-size:clamp(60px,6.4vw,92px);letter-spacing:-.07em}
.join-intro>p{font-size:17px;margin-top:24px}
.join-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px;color:#c4c9c8;font-size:13px}
.join-steps li{display:flex;align-items:center;gap:16px}
.join-steps span{font-size:10px;color:#868f8c}
.free-badge{margin-top:28px;padding-top:20px;color:#b3bbb8}
.join-form{padding:34px;background:#151819;border-color:#363c3b;border-radius:4px}
.form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.form-heading h3{margin:0;font-size:27px}
.form-heading svg{width:38px;height:38px}
.form-row{grid-template-columns:1fr;gap:22px}
.join-form legend,.join-form label:not(.checkbox-label){font-size:12px}
.join-form input:not([type=radio]):not([type=checkbox]),.join-form textarea{font-size:15px}
.join-form .optional{font-size:11px;color:#a4aeaa}
.join-form .form-submit{margin-top:28px}
.form-note{font-size:11px;color:#a9b3af}
.faq-section{padding:65px var(--gutter);gap:90px}
.faq-heading h2{font-size:clamp(40px,4vw,58px)}
.faq-heading .eyebrow{font-size:10px}
.faq-heading>p:last-child{color:#626b68;font-size:14px;margin-top:24px}
.faq-list summary{padding:22px 0;font-size:15px}
.faq-list details p{font-size:14px}
footer{padding-top:32px}
.footer-top{margin-bottom:30px}
@media(min-width:761px) and (max-width:1100px){
 .community-editorial{gap:36px}.community-photo{height:340px}
 .community-values{gap:24px}.community-values h3{font-size:21px}
 .join-section{gap:45px}.benefits-heading>span{display:none}
}
@media(max-width:760px){
 .hero-description{max-width:350px}.hero-eyebrow{font-size:9px}
 .hero-art{margin-top:20px;margin-bottom:28px}
 .community-strip{gap:16px;padding:22px var(--gutter);font-size:8px;letter-spacing:.035em;justify-content:space-between}
 .community-strip svg{width:14px;height:14px;flex:none}
 .community-strip>span{max-width:85px;text-align:center}
 .community-section{padding:56px var(--gutter) 36px}
 .community-editorial{grid-template-columns:1fr;gap:30px}
 .community-message h2{font-size:clamp(42px,10vw,62px)}
 .community-message .eyebrow{font-size:9px;margin-bottom:22px}
 .community-message>p:not(.eyebrow){font-size:15px;margin-top:22px}
 .community-photo{height:280px}
 .community-scene figcaption{font-size:7px;letter-spacing:.04em}
 .benefits-heading{margin-top:36px;margin-bottom:20px}
 .benefits-heading .eyebrow{font-size:9px}.benefits-heading>span{display:none}
 .community-values{gap:26px}.value-number{margin-bottom:14px;padding-bottom:14px}
 .community-values h3{font-size:24px}.community-values p{font-size:14px}
 .community-signoff{display:block;margin-top:28px;padding-top:22px}
 .community-signoff>span{display:block;max-width:280px;line-height:1.7}
 .community-signoff .text-link{margin-top:12px;font-size:13px}
 .join-section{padding:56px var(--gutter);gap:30px}
 .join-intro .eyebrow{font-size:9px;max-width:270px}
 .join-intro h2{font-size:60px}.join-intro>p{font-size:16px}
 .join-steps{gap:12px;margin-top:24px}.free-badge{margin-top:24px}
 .join-form{padding:24px 20px}.form-heading h3{font-size:25px}
 .join-form input:not([type=radio]):not([type=checkbox]),.join-form textarea{font-size:16px}
 .join-form label:not(.checkbox-label){font-size:12px}.optional{display:inline-block}
 .form-note{font-size:11px}.faq-section{padding:46px var(--gutter);gap:28px}
 .faq-heading h2 br{display:none}.faq-heading h2{font-size:40px}
 .faq-heading>p:last-child{display:none}.faq-list summary{font-size:14px;padding:20px 0}
}
@media(max-width:360px){.community-strip{gap:9px;font-size:7px}.community-photo{height:240px}.community-values h3{font-size:22px}.join-form{padding:22px 16px}.form-submit{font-size:12px;padding-inline:16px}.form-heading h3{font-size:23px}}
/* Keep the useful detail comfortable to read, including on narrow phones. */
.community-message>p:not(.eyebrow),.community-values p,.faq-list details p{font-size:16px}
.join-form legend,.join-form label:not(.checkbox-label),.join-steps{font-size:14px}
.stage-options span,.form-note,.join-form .optional,.value-number{font-size:12px}
.community-scene figcaption{font-size:12px;letter-spacing:0;line-height:1.5}
.community-scene figcaption span:last-child{white-space:nowrap}
.community-signoff>span{font-size:14px}
@media(max-width:760px){.community-scene figcaption{flex-direction:column;gap:3px}.community-scene figcaption span:first-child{display:none}.stage-options span{font-size:12px}}

/* Shared rounded surfaces: generous media/panels, tighter nested controls. */
.founder-scene video,.community-photo,.join-form,dialog{border-radius:var(--radius-panel)}
.founder-scene video{overflow:hidden}
.founder-scene video:fullscreen{border-radius:0}
.button,.stage-options span,.menu-button{border-radius:var(--radius-control)}
.orbit-label{border-radius:999px}
.mark-control,.motion-button,.dialog-close{border-radius:999px}
.mobile-menu{border-radius:0 0 var(--radius-panel) var(--radius-panel)}
.join-form input:not([type=radio]):not([type=checkbox]),.join-form textarea{
  border:1px solid #4b5155;border-radius:var(--radius-control);
  background:#ffffff03;padding:13px 14px;margin-top:9px;
}
.join-form textarea{min-height:96px}
.faq-list details{border:1px solid #c6c9c6;border-radius:var(--radius-detail);margin-bottom:10px}
.faq-list details:last-child{margin-bottom:0}
.faq-list summary{padding:20px 22px;border-radius:var(--radius-detail)}
.faq-list details p{padding:0 22px 22px}
.film-transcript{border:1px solid #cfd0cd;border-radius:var(--radius-control)}
.film-transcript summary{padding:12px 16px;border-radius:var(--radius-control)}
.film-transcript p{padding:0 16px 16px}
@media(max-width:760px){
  :root{--radius-panel:20px}
  .faq-list summary{padding:18px 16px}
  .faq-list details p{padding:0 16px 18px}
}
