/* Progressive enhancement: the exact SVG remains when WebGL is unavailable. */
.hero-symbol{animation:mark-suspended 12s ease-in-out infinite}
.hero-symbol .symbol-half{animation:none}
@keyframes mark-suspended{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 480px 400px at var(--light-x,78%) var(--light-y,48%),#929fa00b,transparent 75%)}
.hero-art{user-select:none;-webkit-user-select:none}
.brand-wordmark{width:134px;height:68px;object-fit:contain;mix-blend-mode:lighten}
html:has(.motion-paused){scroll-behavior:auto}
.button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.button-small{white-space:nowrap}
.hero-art:after{content:"";position:absolute;width:64%;height:10%;left:20%;bottom:13%;background:radial-gradient(ellipse,#0008,transparent 70%);filter:blur(15px);z-index:-1}
.mark-canvas{position:absolute;width:120%;height:120%;left:-10%;top:-15%;opacity:0;pointer-events:none;transition:opacity .8s}
.webgl-ready .mark-canvas{opacity:1}
.webgl-ready .hero-symbol-wrap{visibility:hidden}
.webgl-ready .hero-symbol,.webgl-ready .symbol-half{animation:none}
.hero-art .orbit-one{width:95%;transform:translate(-50%,-50%) rotate(-24deg) scaleY(.8);border-color:#ffffff0d}
.hero-art .orbit-two{width:116%;border-style:solid;animation:none;transform:translate(-50%,-50%) rotate(36deg) scaleY(.72);border-color:#ffffff08}
.orbit-label{animation:none;transition:background .25s,border-color .25s;transform:translate(var(--parallax-x,0px),var(--parallax-y,0px));font-size:12px;backdrop-filter:blur(12px);background:#141617bb}
.orbit-label-two{transform:translate(calc(var(--parallax-x,0px)*-1),calc(var(--parallax-y,0px)*-1));bottom:17%}
.hero-art:hover .orbit-label{border-color:#ffffff30}
.orbit-label-one:before,.orbit-label-two:before{content:"";width:4px;height:4px;background:#d1d4d4;border-radius:50%;box-shadow:0 0 8px #ffffff50}
.orbit-label span{color:#959b9e;font-size:10px}
.mark-invitation{position:absolute;bottom:-7px;left:0;right:0;display:flex;align-items:center;flex-direction:column;gap:12px;text-align:center;z-index:4}
.pointer-hint{font-size:9px;letter-spacing:.17em;color:#747c81;transition:color .2s}
.is-held .pointer-hint{color:#f2f2ee}
.mark-control{padding:8px;background:transparent;font-size:11px;letter-spacing:.01em;color:#a2a9ad;display:flex;align-items:center;gap:9px;min-height:36px;transition:color .2s}
.mark-control span{font-size:18px;display:inline-block;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.mark-control:hover{color:#fff}.mark-control:hover span{transform:rotate(180deg)}
.mark-control:disabled{opacity:.5;cursor:default}
.motion-paused .pointer-hint{visibility:hidden}
.community-values p,.step p,.panel-detail>p,.faq-list details p{font-size:16px}
.join-form legend,.join-form label:not(.checkbox-label){font-size:14px}
.join-form input:not([type=radio]):not([type=checkbox]),.join-form textarea{font-size:16px}
.checkbox-label,.form-note{font-size:12px}
.form-note{color:#a9b0b5}
.hero-cta>span{color:#aeb3b6}
.reassurance{font-size:15px;color:#616768;margin-top:24px;padding-top:24px;border-top:1px solid #ccd0cc}
.reassurance strong{font-weight:600;color:#343a3a}
@media(max-width:1100px){.orbit-label{font-size:10px}.mark-control{font-size:10px}.pointer-hint{font-size:8px}.mark-invitation{bottom:-30px}}
@media(max-width:760px){.hero-art{height:360px;margin-top:25px;margin-bottom:35px}.mark-canvas{width:116%;height:116%;left:-8%;top:-8%}.orbit-label-one{top:13%}.orbit-label-two{bottom:22%}.mark-invitation{bottom:-12px}.pointer-hint{display:none}.mark-control{font-size:10px}.community-values p,.step p,.panel-detail>p,.faq-list details p{font-size:15px}.hero-cta>span{font-size:11px}.form-note{font-size:12px}.reassurance{font-size:14px}}
@media(pointer:coarse){.pointer-hint{display:none}}
@media(max-width:360px){.brand-wordmark{width:105px;height:54px}h1{font-size:44px}.hero-cta{gap:12px}.hero-cta .button{flex-shrink:0;font-size:12px;gap:20px;padding-inline:16px}.hero-cta>span{font-size:10px}.hero-art{height:305px}}
@media(prefers-reduced-motion:reduce){.pointer-hint{display:none}.hero:before{display:none}}
