/* The final thread becomes a field of ink; each principle leaves a readable header. */
.as-fill-transition{height:205vh;position:relative;background:#faf8fc}.as-fill-stage{height:calc(100svh - 92px);position:sticky;top:92px;overflow:hidden;isolation:isolate;display:grid;align-items:center}.as-fill-color{position:absolute;inset:0;z-index:-1;background:#785491;clip-path:circle(48px at 50% 0%);will-change:clip-path}.as-fill-content{padding:36px max(4vw,24px);opacity:var(--fill-reveal,0);transform:translateY(calc((1 - var(--fill-reveal,0))*28px));visibility:hidden;color:#faf8fc}.fill-ready .as-fill-content{visibility:visible}.as-fill-content h2{font-size:clamp(42px,5.8vw,90px);line-height:.98;letter-spacing:-.055em;font-weight:500;margin:22px 0 30px;color:#faf8fc}.as-space-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.as-space-cards a{padding:22px;border:1px solid #e2d0ed99;border-radius:18px;background:#ffffff0c;display:grid;grid-template-columns:1fr 72px;gap:10px;transition:background .25s,transform .25s}.as-space-cards a:hover{background:#ffffff20;transform:translateY(-5px)}.as-space-cards a>span{font:11px monospace}.as-space-cards img{grid-column:2;grid-row:1/4;width:64px;height:64px;align-self:center}.as-space-cards h3{font-size:24px;letter-spacing:-.04em;margin:12px 0 0;color:#fff}.as-space-cards p{font-size:13px;line-height:1.6;color:#f1e8f8;margin:0}.as-fill-transition+.as-principles{position:relative;background:#faf8fc;padding-top:75px;padding-bottom:160px;isolation:isolate}.as-principles .as-rule{position:sticky;top:calc(108px + var(--rule-index)*58px);display:block;padding:0;margin:0;background:#faf8fc;border-top:0;min-height:350px;box-shadow:0 -1px 0 #d6c4e0}.as-rule-label{height:58px;display:flex;align-items:center;gap:20px;font:11px monospace;letter-spacing:.06em;position:relative;background:#faf8fc}.as-rule-number{font-size:32px;line-height:1;font-weight:600;letter-spacing:-.07em;color:#e2d7ea;background:linear-gradient(to top,#785491 calc(var(--rule-fill,0)*100%),#dfd2e8 0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;min-width:45px}.as-rule-track{position:absolute;height:2px;top:0;left:0;width:100%;background:#785491;transform:scaleX(var(--rule-fill,0));transform-origin:left}.as-rule-body{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:start;padding:24px 0 65px 65px}.as-rule-body h2{font-size:clamp(38px,5vw,76px);font-weight:500;max-width:620px;color:#785491}.as-rule-body p{font-size:17px;max-width:420px;color:#453050}.as-paused .as-fill-transition{height:auto}.as-paused .as-fill-stage{position:relative;top:0;min-height:700px;height:auto}.as-paused .as-fill-content{visibility:visible;opacity:1;transform:none}.as-paused .as-principles .as-rule{position:relative;top:0}.as-paused .as-fill-color{clip-path:none!important}@media(max-width:800px){.as-fill-transition{height:190vh}.as-fill-stage{top:76px;height:calc(100svh - 76px)}.as-fill-content{padding:25px 22px}.as-fill-content h2{font-size:44px;margin:18px 0 24px}.as-fill-content .as-number{font-size:9px}.as-space-cards{grid-template-columns:1fr;gap:10px}.as-space-cards a{padding:14px 18px;gap:4px;grid-template-columns:1fr 48px;border-radius:14px}.as-space-cards img{width:42px;height:42px}.as-space-cards h3{font-size:20px;margin:5px 0}.as-space-cards p{font-size:12px}.as-principles .as-rule{position:relative;top:auto;min-height:0}.as-rule-label{height:62px}.as-rule-body{grid-template-columns:1fr;gap:20px;padding:16px 0 40px}.as-rule-body h2{font-size:39px}.as-rule-body p{font-size:16px}.as-fill-transition+.as-principles{padding-bottom:45px}.as-paused .as-fill-stage{min-height:620px}}@media(prefers-reduced-motion:reduce){.as-fill-transition{height:auto}.as-fill-stage{position:relative;top:0;height:auto;min-height:700px}.as-fill-content{opacity:1;transform:none;visibility:visible}.as-fill-color{clip-path:none!important}.as-principles .as-rule{position:relative;top:auto}.as-rule-track{transform:scaleX(1)}.as-rule-number{-webkit-text-fill-color:#785491}.as-space-cards a:hover{transform:none}}

.as-fill-stage{overflow:visible}.as-fill-color{inset:-100% -50%;background:color-mix(in srgb,#d2b8e6 calc((1 - var(--as-fill-amount,0))*100%),#785491);clip-path:circle(48px at 50% 33.333%)}.as-rule-body p{grid-column:auto}.as-paused .as-fill-color{inset:0}@media(prefers-reduced-motion:reduce){.as-fill-color{inset:0}}

