:root{color-scheme:light;--ink:#201c2b;--muted:#736d7c;--line:#e9e6ee;--purple:#7959b2;--deep:#0b0a11;--focus:#7b50ca}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f5f8;color:var(--ink);font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a,button,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}
.site-head{position:relative;z-index:2;background:#111018;color:#f7f3ff;border-bottom:1px solid #ffffff16}.head-inner{max-width:1190px;margin:auto;min-height:78px;padding:0 30px;display:flex;justify-content:space-between;align-items:center;gap:16px}.wordmark{display:flex;align-items:center;gap:11px;font-weight:850;font-size:23px;letter-spacing:-.07em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,#aa8bdb,#473367);font-size:22px;color:#fff}.brand-suffix{font-size:17px;font-weight:500;letter-spacing:-.035em;color:#b4a9c5}.head-nav{display:flex;align-items:center;gap:26px;font-size:13px;color:#c5bdcf}.head-nav>a:hover{color:white}.head-nav .app-link{border:1px solid #ffffff36;border-radius:9px;padding:9px 15px;color:#f5eeff;font-weight:720}
.hero{overflow:hidden;min-height:480px;position:relative;background:radial-gradient(ellipse at 65% 46%,#52307672 0%,transparent 46%),radial-gradient(ellipse at 12% 5%,#3a224573,transparent 53%),linear-gradient(120deg,#110e1a,#100d16 48%,#08080c);color:#f8f5fe}.hero::after{content:"";position:absolute;inset:auto 0 0;height:175px;background:linear-gradient(transparent,#08070d98);pointer-events:none}.hero-art{position:absolute;inset:8px max(-200px,calc((100vw - 1380px)/2)) 0 auto;width:min(78vw,1120px);opacity:.58;filter:drop-shadow(0 0 80px #8750c43d);pointer-events:none}.hero-art svg{width:100%;height:100%}.hero-inner{position:relative;z-index:1;max-width:1190px;padding:84px 30px 148px;margin:auto}.hero-kicker,.section-kicker{font-size:11px;font-weight:850;letter-spacing:.14em;color:#8d68c4}.hero-kicker{color:#c6aceb;display:flex;align-items:center;gap:9px}.kicker-dot{width:7px;height:7px;border-radius:50%;background:#c2a2ec;box-shadow:0 0 0 5px #9d76c029}.hero h1{font-weight:830;letter-spacing:-.07em;line-height:1.05;font-size:clamp(50px,6.6vw,88px);max-width:820px;margin:26px 0 20px}.period{color:#b99aea}.hero p{font-size:17px;color:#d4cadd;max-width:535px;margin:0}.hero-links{display:flex;gap:28px;margin-top:32px;font-weight:700;font-size:13px}.hero-links a{color:#f4e8ff;border-bottom:1px solid #d5b7ff88;padding-bottom:4px}.hero-links a:hover{color:#d6baff}
.main-inner{max-width:1190px;padding:0 30px;margin:-106px auto 0;position:relative;z-index:1}.request-card{background:#fff;border:1px solid #e9e6ef;box-shadow:0 25px 68px #10091c21;border-radius:22px;padding:clamp(24px,4.5vw,52px);overflow:hidden}.card-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:26px}.card-intro h2{font-size:clamp(25px,3.2vw,36px);letter-spacing:-.045em;line-height:1.2;margin:9px 0 10px}.card-intro p{color:var(--muted);font-size:14px;margin:0}.session-badge{display:flex;align-items:center;gap:9px;max-width:270px;min-width:0;border:1px solid #e7e0ee;background:#faf7ff;border-radius:100px;padding:9px 13px;color:#695477;font-size:12px;font-weight:720;white-space:normal}.session-signal{height:8px;width:8px;flex:none;border-radius:50%;background:#b49fbf}.session-badge[data-state="signed-in"]{color:#366451;background:#f0faf5;border-color:#cdeadd}.session-badge[data-state="signed-in"] .session-signal{background:#35a86e}.session-badge[data-state="signed-out"] .session-signal{background:#a58ea8}.session-badge[data-state="error"] .session-signal{background:#b8793c}.progress-track{background:#eeebf1;height:3px;border-radius:4px;overflow:hidden;margin-bottom:34px}.progress-track>span{display:block;width:12%;height:100%;background:linear-gradient(90deg,#7a55b6,#b39be7);transition:width .25s ease}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.field{min-width:0;display:flex;flex-direction:column;gap:8px}.field label{font-weight:700;font-size:13px;color:#30273e}.field label strong{font-weight:750;margin-left:8px}.field input,.field select,.field textarea{width:100%;border:1px solid #e4e0e9;background:#f5f3f7;color:#272132;border-radius:11px;padding:14px 16px;min-height:54px;box-shadow:none;outline:none;transition:background .15s,border-color .15s}.field select{cursor:pointer;appearance:none;padding-right:39px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235f4f72' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-color:#f5f3f7}.field input:focus,.field select:focus,.field textarea:focus{background-color:#fff;border-color:#a080ca;outline:3px solid #b699df29}.field textarea{resize:vertical;line-height:1.6;min-height:150px}.field small{font-size:11px;color:#837b8d}.required{color:#9b5385}.optional{color:#8d819c;font-size:11px;font-weight:500}
.reveal{animation:reveal .23s ease-out}.topic-section{margin-top:32px;border-top:1px solid var(--line);padding-top:32px}.topic-heading{display:flex;align-items:center;gap:18px;margin-bottom:22px}.topic-heading h3{font-size:26px;letter-spacing:-.035em;margin:3px 0 4px;line-height:1.3}.topic-heading p{color:var(--muted);margin:0;font-size:13px}.topic-icon{width:70px;height:70px;display:grid;place-items:center;font-size:31px;flex:none;border-radius:18px;background:linear-gradient(135deg,#e9dcff,#f8f2ff);border:1px solid #decfee}.details-grid{margin-bottom:19px}.message-fields{display:grid;gap:20px}.guest-fields{margin-top:21px}.guest-note{background:#f7f2ff;border:1px solid #e6d8ff;border-radius:12px;padding:15px 18px;margin-bottom:20px;display:grid;gap:2px;font-size:13px;color:#60447c}.guest-note span{color:#775f8a}.account-guidance{padding:15px 18px;margin:0 0 20px;background:#f8f6fc;border:1px solid #e7e1ee;border-left:4px solid #9672c2;border-radius:10px;font-size:13px;color:#685a78}.auth-notice{display:flex;align-items:center;gap:15px;padding:17px;margin-top:22px;border:1px solid #e8dcee;background:#f9f4fb;border-radius:13px;color:#644779}.auth-notice>span{font-size:24px}.auth-notice div{flex:1}.auth-notice strong{display:block;font-size:13px}.auth-notice p{font-size:12px;margin:3px 0 0;color:#7c6984}.secondary-action,.submit-action{min-height:46px;padding:11px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;font-size:13px;font-weight:780;white-space:nowrap}.secondary-action{background:#eee6f8;color:#604079}.submit-action{background:#7652b0;color:#fff;border:0;box-shadow:0 5px 13px #8057ac23}.submit-action:hover:not(:disabled){background:#64419c}.submit-action:disabled{cursor:not-allowed;opacity:.57}.submit-row{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:16px}.submit-row p{font-size:12px;color:#746b7e;margin:0}.action-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.result{margin-top:20px;padding:16px 18px;border-radius:12px;background:#eff9f3;border:1px solid #c8e7d3;color:#315f49;font-size:13px;overflow-wrap:anywhere}.result[data-state="error"]{background:#fff1f1;border-color:#edc8c8;color:#8c3535}.result a{text-decoration:underline;font-weight:750}.start-hint{margin-top:24px;color:#84788d;font-size:13px}.start-hint span{color:#9474bb;margin-right:5px}
.below{margin:80px 0 88px}.below-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:25px}.below-heading h2{font-size:clamp(26px,3.2vw,37px);letter-spacing:-.045em;margin:6px 0 0}.below-heading>a{color:#7757a3;font-size:13px;font-weight:720}.quick-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.quick-cards a{position:relative;border-radius:16px;border:1px solid #e9e5ed;padding:24px;min-height:190px;background:#fff;display:flex;flex-direction:column;gap:8px;box-shadow:0 3px 20px #1c13200a;transition:transform .2s,border-color .2s}.quick-cards a:hover{transform:translateY(-3px);border-color:#cdb7e7}.quick-cards a strong{font-size:16px}.quick-cards a>span:not(.quick-icon){font-size:12px;color:#7b7284;max-width:230px}.quick-icon{font-size:22px}.quick-cards b{position:absolute;right:21px;top:20px;color:#9b80b8}footer{border-top:1px solid #e9e6ef;background:#fff}.footer-inner{max-width:1190px;margin:auto;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:#82798b}.footer-inner nav{display:flex;flex-wrap:wrap;gap:22px}.footer-inner a:hover{text-decoration:underline}
@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:850px){.hero-art{opacity:.4;right:-250px;width:900px}.main-inner{margin-top:-100px}.head-nav{gap:12px}.form-grid{grid-template-columns:1fr}.card-intro{flex-direction:column}.session-badge{max-width:100%}.quick-cards{grid-template-columns:1fr}.quick-cards a{min-height:140px}}
@media(max-width:580px){.head-inner{min-height:65px;padding:0 18px}.head-nav>a:not(.app-link){display:none}.wordmark{font-size:19px}.brand-suffix{font-size:14px}.hero{min-height:395px}.hero-inner{padding:70px 20px 146px}.hero h1{font-size:51px}.hero p{font-size:14px}.hero-art{right:-440px;opacity:.3}.main-inner{padding:0 13px;margin-top:-90px}.request-card{border-radius:18px;padding:26px 20px}.topic-heading{align-items:flex-start}.topic-icon{width:54px;height:54px;border-radius:13px;font-size:25px}.topic-heading h3{font-size:22px}.auth-notice{flex-wrap:wrap}.auth-notice .secondary-action{width:100%}.submit-row{align-items:stretch;flex-direction:column}.action-buttons{width:100%}.submit-action{flex:1}.below{margin:65px 7px}.below-heading{align-items:start;flex-direction:column}.footer-inner{padding:25px 20px;flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}.quick-cards a,.progress-track>span{transition:none}}

/* SPACES_V9641_DARK_MOTION — native dark surfaces, night-city motion (no third-party libraries). */
:root{color-scheme:dark;--ink:#f4effb;--muted:#b3a9c2;--line:#393145;--purple:#ad84eb;--deep:#0b0a10;--focus:#ba96ff}
body{background:radial-gradient(ellipse at 55% 40%,#17101f 0%,transparent 58%),#0b0a10;color:var(--ink)}
.site-head{background:#0c0a11;border-color:#ffffff14}
.hero{background:radial-gradient(ellipse at 65% 44%,#4227607a 0%,transparent 49%),radial-gradient(ellipse at 5% 0%,#251438b3,transparent 55%),linear-gradient(120deg,#11101b,#0d0b14 52%,#07070d)}
.hero::after{background:linear-gradient(transparent,#090810b8)}
/* Light blooms move separately from the buildings; transforms remain GPU-friendly. */
.hero::before{content:"";position:absolute;inset:-24%;pointer-events:none;z-index:0;background:radial-gradient(circle at 75% 52%,#a77be21c 0%,transparent 28%),radial-gradient(circle at 17% 37%,#66428d17 0%,transparent 24%);animation:hero-bloom 14s ease-in-out infinite alternate}
.hero-art{opacity:.78;transform-origin:70% 60%;animation:city-hover 7s ease-in-out infinite alternate;will-change:transform}
.hero-art .skyline-float{animation:skyline-breathe 4.4s ease-in-out infinite alternate}
.sky-stars .star{opacity:.45;transform-box:fill-box;transform-origin:center;animation:star-shimmer 2.8s ease-in-out infinite alternate}
.sky-stars .s2{animation-delay:-1.2s;animation-duration:4.2s}.sky-stars .s3{animation-delay:-2.4s;animation-duration:3.8s}.sky-stars .s4{animation-delay:-.6s;animation-duration:5s}.sky-stars .s5{animation-delay:-3s;animation-duration:4.7s}
.skyline-lights .window-lit{opacity:.34;filter:drop-shadow(0 0 7px #d3b3ff);animation:window-flicker 2.8s ease-in-out infinite alternate}
.skyline-lights .w2{animation-delay:-2s}.skyline-lights .w3{animation-delay:-4s;animation-duration:6.1s}.skyline-lights .w4{animation-delay:-1s;animation-duration:7.2s}
.orbit-trails{opacity:.27;stroke-dasharray:5 18;animation:orbit-drift 9s linear infinite}
.hero-kicker{animation:fade-rise .6s .05s ease-out both}.hero h1{animation:fade-rise .68s .1s ease-out both}.hero p{animation:fade-rise .68s .2s ease-out both}.hero-links{animation:fade-rise .68s .3s ease-out both}
.request-card{background:linear-gradient(150deg,#1c1925 0%,#15131d 60%,#17131f 100%);border:1px solid #403449;box-shadow:0 30px 85px #0009,0 0 0 1px #ffffff06;border-radius:22px;animation:card-arrival .8s .15s cubic-bezier(.2,.9,.3,1) both}
.card-intro p,.topic-heading p{color:var(--muted)}
.section-kicker{color:#c7a3ff}
.session-badge{background:#262131;border-color:#4a3b59;color:#d6c3ee}
.session-badge[data-state="signed-in"]{color:#9fe1bc;background:#182d26;border-color:#315b47}
.session-badge[data-state="signed-out"]{color:#c4b8d1;background:#282331;border-color:#483b54}
.session-badge[data-state="error"]{color:#efc99d;background:#31261f;border-color:#74553f}
.progress-track{background:#353042}.progress-track>span{background:linear-gradient(90deg,#8f65d5,#d1a8ff);box-shadow:0 0 12px #b586ff70;transition:width .4s cubic-bezier(.2,.8,.2,1)}
.field label{color:#e9dff5}.field input,.field select,.field textarea{background-color:#24202e;border:1px solid #473c54;color:#f6f0fc;transition:background-color .2s,border-color .2s,box-shadow .2s}
.field input::placeholder,.field textarea::placeholder{color:#9c90aa;opacity:1}
.field select{background-color:#24202e;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23d2b4f8' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 17px center;background-size:16px 16px;appearance:none;-webkit-appearance:none;color-scheme:dark}
.field input:focus,.field select:focus,.field textarea:focus{background-color:#2a2435;border-color:#b792f0;outline:3px solid #a87ce438}
.field select option{background:#24202e;color:#f6f0fc}
.field small{color:#afa3c0}.required{color:#ef9fc5}.optional{color:#b9a9cb}
.topic-icon{background:linear-gradient(140deg,#49335f,#262036);border-color:#634779}
.guest-note{background:#282036;border-color:#503965;color:#eee1ff}.guest-note span{color:#c3b2d8}
.account-guidance{background:#242030;border-color:#473a55;border-left-color:#b38fe8;color:#cab8dc}
.auth-notice{background:#2b2234;border-color:#503d61;color:#ecd8ff}.auth-notice p{color:#cbb6da}
.secondary-action{background:#38294b;color:#ead6ff;border:1px solid #624a7e}.secondary-action:hover{background:#49335d}
.submit-action{background:linear-gradient(110deg,#7853bc,#9166d1);color:#fff;box-shadow:0 6px 18px #0004;transition:background .2s,transform .18s,box-shadow .2s}.submit-action:hover:not(:disabled){background:linear-gradient(110deg,#8964cc,#a87ce7);transform:translateY(-2px);box-shadow:0 9px 22px #0007}.submit-action:active:not(:disabled){transform:translateY(0)}
.submit-row p{color:#c2b7d0}.result{background:#163026;border:1px solid #335f48;color:#b6f0cb}.result[data-state="error"]{background:#371f27;border-color:#804451;color:#ffc2c7}
.start-hint{color:#a99ab9}.start-hint span{color:#c19aec}
.below-heading>a{color:#caa3ff}.quick-cards a{background:linear-gradient(135deg,#1d1926,#17141f);border-color:#3e344a;box-shadow:0 8px 28px #0003;transition:transform .3s ease,border-color .2s,box-shadow .2s}
.quick-cards a:hover{transform:translateY(-5px);border-color:#886ab2;box-shadow:0 15px 32px #0007}.quick-cards a>span:not(.quick-icon){color:#b9aeca}.quick-cards b{color:#b294d7}
footer{background:#0e0c15;border-top-color:#302839}.footer-inner{color:#ad9fbc}
/* Replayed on every category selection so the form visibly responds, not just its first opening. */
.reveal{animation:form-reveal .42s cubic-bezier(.16,1,.3,1) both}
/* Progressive cards gracefully reveal with JS; without JS they remain visible. */
.motion-ready .scroll-enter{opacity:0;transform:translateY(18px)}
.motion-ready .scroll-enter.is-visible{opacity:1;transform:translateY(0);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.85,.3,1)}
@keyframes hero-bloom{from{transform:translate3d(-3%,0,0);opacity:.75}to{transform:translate3d(4%,2%,0);opacity:1}}
@keyframes city-hover{from{transform:translate3d(-4px,16px,0) rotate(-.4deg)}to{transform:translate3d(8px,-21px,0) rotate(.35deg)}}
@keyframes skyline-breathe{from{filter:drop-shadow(0 0 9px #b88cfc3d) brightness(.93)}to{filter:drop-shadow(0 0 30px #b88cfc72) brightness(1.16)}}
@keyframes star-shimmer{0%{opacity:.17;transform:scale(.75)}55%{opacity:.92;transform:scale(1.2)}100%{opacity:.4;transform:scale(.88)}}
@keyframes window-flicker{0%,21%{opacity:.25}40%,77%{opacity:.98}100%{opacity:.36}}
@keyframes orbit-drift{from{stroke-dashoffset:0}to{stroke-dashoffset:-230}}
@keyframes fade-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-arrival{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes form-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.hero-art{opacity:.53}}
@media(max-width:580px){.hero-art{opacity:.4}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero::before,.hero-art,.hero-art .skyline-float,.sky-stars .star,.skyline-lights .window-lit,.orbit-trails,.hero-kicker,.hero h1,.hero p,.hero-links,.request-card,.reveal{animation:none!important}
  .motion-ready .scroll-enter,.motion-ready .scroll-enter.is-visible{opacity:1!important;transform:none!important;transition:none!important}
  .quick-cards a,.submit-action,.progress-track>span{transition:none!important;transform:none!important}
}

/* SPACES_V9642_SELECT_MOTION_FIX: Focused native select uses one non-tiling chevron. */
.field select:focus-visible{background-repeat:no-repeat;background-position:right 17px center;background-size:16px 16px}
.field select:hover:not(:disabled){border-color:#8968b0}
.motion-paused-note{display:none;max-width:470px;margin-top:18px;color:#c5b2d8;font-size:12px;line-height:1.6}
@media(prefers-reduced-motion:reduce){.motion-paused-note{display:block}}

/* SPACES_V965_HERO_PARALLAX — outer movement layer does not override SVG breathing animations. */
.hero-motion{position:absolute;inset:0;pointer-events:none;z-index:0;will-change:transform;
 transform:translate3d(var(--spaces-pointer-x,0px),var(--spaces-pointer-y,0px),0);
 transition:transform .28s cubic-bezier(.22,.7,.26,1)}
.hero-motion>.hero-art{top:8px;bottom:0}
.hero{isolation:isolate}
.hero:has(.hero-motion) .hero-inner{z-index:1}
@media(hover:none),(pointer:coarse){.hero-motion{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-motion{transform:none!important;transition:none!important;will-change:auto}}
