/* GAS entrance: a single kinetic learning orbit and a quiet working form. */
.gas-entry { background: #fff; }
.gas-entry .gas-shell { display: block; }
.gas-entry .workspace { min-height: 100svh; }
.gas-entry .topbar, .gas-entry .footer { display: none; }
.gas-entry .content { display: block; width: 100%; max-width: none; margin: 0; padding: 0; }
.gas-entry .messages { position: absolute; top: 18px; right: 24px; width: min(420px, calc(100% - 48px)); z-index: 8; }
.entry-stage { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr); min-height: 100svh; }
.entry-hero { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 800px; padding: 42px 58px 30px; overflow: hidden; isolation: isolate; color: #fff; background: #303cee; }
.entry-hero::after { position: absolute; width: 640px; height: 640px; right: -460px; top: -260px; border: 1px solid rgba(224, 229, 255, .22); border-radius: 50%; content: ""; pointer-events: none; }
.entry-masthead { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; }
.entry-wordmark { display: inline-flex; align-items: center; gap: 18px; color: #fff; font: 650 35px/.9 var(--font-display, "Unbounded", sans-serif); letter-spacing: -2.8px; text-decoration: none; }
.entry-wordmark:hover { color: #fff; text-decoration: none; }
.entry-wordmark span { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.4); font: 450 13px/1.35 var(--font-body, "Manrope", sans-serif); letter-spacing: 0; }
.entry-preview { max-width: 175px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 30px; color: #fff; font-size: 10px; font-weight: 500; line-height: 1.35; }
.entry-copy { position: relative; z-index: 2; padding-top: clamp(58px, 9vh, 110px); pointer-events: none; }
.entry-copy h1 { margin: 0; font-family: var(--font-display, "Unbounded", sans-serif); font-size: clamp(42px, 4.7vw, 76px); font-weight: 500; line-height: 1.09; letter-spacing: -.065em; }
.entry-copy h1 span { display: block; }
.entry-copy p { max-width: 330px; margin-top: 28px; color: #d7ddff; font-size: 15px; font-weight: 450; line-height: 1.65; }
.entry-orbit { position: relative; z-index: 1; width: 640px; height: 310px; margin: -9px 0 0 auto; flex: 1 0 310px; pointer-events: none; }
.entry-orbit-scene { position: absolute; left: 0; top: 0; width: 640px; height: 320px; transform-origin: center; animation: gas-orbit-breathe 9s ease-in-out infinite; }
.entry-orbit-back, .entry-orbit-front { position: absolute; inset: 0; width: 640px; height: 320px; overflow: visible; }
.entry-orbit-back { z-index: 1; }
.entry-orbit-letters { position: absolute; z-index: 2; left: 104px; top: 59px; color: #fff; font-family: var(--font-display, "Unbounded", sans-serif); font-size: 159px; font-weight: 650; line-height: 1; letter-spacing: -14px; transform: rotate(-13deg) skewY(-1deg); text-shadow: 0 1px #c1caff, 0 2px #b0bcff, 0 3px #9caaff, 0 4px #8999f5, 0 5px #7b8bec, 0 6px #6d7ee1, 0 7px #6273d8, 0 8px #5868cd, 0 9px #5160c4, 0 10px #4858ba, 0 11px #4252b4, 0 12px #3c4cab, 0 13px #3443a5, 0 14px #2e3d9f, 0 22px 25px rgba(12, 17, 112, .28); }
.entry-orbit-front { z-index: 3; }
.entry-orbit-traveller { position: absolute; z-index: 4; left: 320px; top: 160px; width: 0; height: 0; animation: gas-orbit-travel 14s linear infinite; }
.entry-orbit-traveller > span { display: block; width: 22px; height: 22px; margin: -11px; border: 3px solid #ffd2c0; border-radius: 50%; background: #ffa184; box-shadow: inset -3px -3px 5px rgba(198, 74, 53, .22), 0 4px 12px rgba(12, 17, 112, .2); }
.entry-orbit-label { position: absolute; z-index: 5; color: #eef1ff; font-size: 12px; line-height: 1.3; }
.entry-orbit-label::before { display: inline-block; width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: currentColor; content: ""; vertical-align: 2px; }
.entry-orbit-label-start { left: 25px; top: 237px; }
.entry-orbit-label-end { right: 28px; top: 28px; }
.entry-hero-footer { position: relative; z-index: 5; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: auto; padding-top: 20px; color: #d3daff; font-size: 11px; }
.entry-motion { display: inline-flex; align-items: center; gap: 7px; padding: 6px 0 6px 8px; border: 0; border-radius: 4px; color: #e3e8ff; background: transparent; font: inherit; cursor: pointer; }
.entry-motion svg { width: 13px; height: 13px; flex: 0 0 13px; }
.entry-motion:hover { color: #fff; }
.entry-motion:focus-visible { outline-color: #fff; }
.entry-access { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 85px clamp(35px, 6vw, 108px) 90px; background: #fff; }
.entry-form-wrap { width: 100%; max-width: 390px; margin: auto; }
.entry-greeting { display: inline-flex; width: 44px; height: 44px; margin-bottom: 31px; color: #303cee; }
.entry-greeting svg { width: 100%; height: 100%; }
.entry-form-heading h2 { margin: 0; color: #151a30; font-family: var(--font-display, "Unbounded", sans-serif); font-size: clamp(25px, 2.05vw, 32px); font-weight: 500; line-height: 1.25; letter-spacing: -.055em; }
.entry-form-heading p { margin-top: 17px; color: #73788b; font-size: 15px; line-height: 1.65; }
.entry-form { gap: 22px; margin-top: 37px; }
.entry-form .field { gap: 9px; }
.entry-form .field label { color: #33394e; font-size: 12px; font-weight: 600; }
.gas-entry .entry-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]) { min-height: 54px; padding: 15px 16px; border: 1px solid #dfe3ed; border-radius: 10px; outline-offset: 2px; color: #151a30; background: #f7f8fc; box-shadow: none; transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease; }
.gas-entry .entry-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):hover { border-color: #bcc4de; }
.gas-entry .entry-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus { border-color: #303cee; background: #fff; box-shadow: 0 0 0 4px #303cee0d; }
.entry-form .entry-submit { display: flex; justify-content: space-between; width: 100%; min-height: 56px; margin-top: 7px; padding: 15px 20px; border: 1px solid #303cee; border-radius: 10px; color: #fff; background: #303cee; font-size: 14px; font-weight: 600; box-shadow: 0 7px 18px #303cee15; transition: background-color 180ms ease, box-shadow 180ms ease; }
.entry-submit svg { width: 20px; height: 20px; transition: transform 180ms ease; }
.entry-form .entry-submit:hover { border-color: #2632da; background: #2632da; box-shadow: 0 10px 25px #303cee26; }
.entry-submit:hover svg { transform: translateX(3px); }
.entry-form-errors { padding: 12px 14px; border: 1px solid #f1ceca; border-radius: 9px; background: #fff5f3; }
.entry-invitation { display: flex; align-items: flex-start; gap: 12px; margin-top: 32px; padding-top: 27px; border-top: 1px solid #e9ecf4; color: #4c5267; font-size: 12px; line-height: 1.6; }
.entry-invitation-icon { display: inline-flex; width: 22px; height: 22px; margin-top: 2px; flex: 0 0 22px; color: #8b92aa; }
.entry-invitation-icon svg { width: 100%; height: 100%; }
.entry-invitation p { margin: 0; font-weight: 600; }
.entry-invitation p span { display: block; margin-top: 3px; color: #7a8093; font-weight: 400; }
.entry-access-footer { position: absolute; left: clamp(35px, 6vw, 108px); right: clamp(35px, 6vw, 108px); bottom: 30px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; color: #8a8fa0; font-size: 10px; line-height: 1.5; }
.entry-role-nav { display: flex; gap: 5px; margin: 24px 0 0; padding: 4px; border: 1px solid #e6e9f2; border-radius: 11px; background: #f4f6fb; }
.entry-role-nav a { flex: 1; padding: 11px 7px; border-radius: 7px; color: #63708a; text-align: center; text-decoration: none; font-size: 12px; font-weight: 650; }
.entry-role-nav a:hover, .entry-role-nav a[aria-current="page"] { color: #303cee; background: #fff; box-shadow: 0 2px 8px #151a3009; }
.entry-owner-link { display: inline-block; margin-top: 19px; color: #63708a; font-size: 11px; }
.entry-owner-link[aria-current="page"] { color: #303cee; }
.entry-form-heading h2 { overflow-wrap: anywhere; }
.motion-paused .entry-orbit-scene, .motion-paused .entry-orbit-traveller { animation-play-state: paused; }
@keyframes gas-orbit-breathe { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-12px) rotate(1.2deg); } }
@keyframes gas-orbit-travel { from { transform: rotate(-13deg) scaleY(.36) rotate(0) translateX(280px) rotate(0) scaleY(2.7778); } to { transform: rotate(-13deg) scaleY(.36) rotate(360deg) translateX(280px) rotate(-360deg) scaleY(2.7778); } }
@media (min-width: 1600px) { .entry-hero { padding-left: 70px; padding-right: 70px; } .entry-copy { padding-top: 95px; } .entry-orbit { margin-right: 0; margin-top: -20px; } }
@media (max-width: 1200px) { .entry-stage { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); } .entry-hero { min-height: 760px; padding: 35px 36px 26px; } .entry-copy h1 { font-size: 52px; } .entry-copy p { font-size: 14px; } .entry-orbit { margin-left: -85px; transform: scale(.86); transform-origin: left center; } .entry-access { padding-left: 42px; padding-right: 42px; } .entry-access-footer { left: 42px; right: 42px; } .entry-preview { max-width: 145px; font-size: 9px; } }
@media (max-width: 920px) and (min-width: 761px) { .entry-stage { grid-template-columns: minmax(0, 1fr) minmax(345px, 1fr); } .entry-hero { padding-left: 28px; padding-right: 28px; } .entry-masthead { gap: 14px; } .entry-wordmark { font-size: 30px; gap: 12px; } .entry-wordmark span { padding-left: 12px; font-size: 11px; } .entry-copy h1 { font-size: 39px; letter-spacing: -.06em; } .entry-copy { padding-top: 90px; } .entry-orbit { margin-left: -90px; transform: scale(.68); } .entry-hero-footer { font-size: 10px; } .entry-access { padding-left: 28px; padding-right: 28px; } .entry-access-footer { left: 28px; right: 28px; } }
@media (max-width: 760px) { .entry-stage { display: block; min-height: 100svh; } .entry-hero { min-height: 0; height: 260px; padding: 23px 25px 24px; } .entry-masthead { align-items: flex-start; } .entry-wordmark { gap: 13px; font-size: 28px; letter-spacing: -2px; } .entry-wordmark span { padding-left: 13px; font-size: 10px; } .entry-preview { max-width: 130px; padding: 4px 7px; font-size: 8px; } .entry-copy { padding-top: 32px; } .entry-copy h1 { max-width: 310px; font-size: 34px; letter-spacing: -.06em; line-height: 1.12; } .entry-copy h1 span { display: inline; } .entry-copy p { display: none; } .entry-orbit { position: absolute; right: -390px; bottom: -118px; margin: 0; opacity: .4; transform: scale(.49); transform-origin: left top; } .entry-orbit-label { display: none; } .entry-hero-footer { margin-top: auto; padding-top: 0; font-size: 10px; } .entry-hero-footer > span { display: none; } .entry-motion { padding: 4px 0; font-size: 9px; } .entry-access { display: block; min-height: 530px; padding: 35px 25px 80px; } .entry-form-wrap { max-width: 420px; } .entry-greeting { display: none; } .entry-form-heading h2 { font-size: 26px; } .entry-form-heading p { margin-top: 11px; font-size: 13px; } .entry-form-heading br { display: none; } .entry-form { gap: 18px; margin-top: 26px; } .gas-entry .entry-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]) { min-height: 50px; padding: 13px 15px; } .entry-form .entry-submit { min-height: 52px; margin-top: 3px; } .entry-invitation { gap: 10px; margin-top: 24px; padding-top: 22px; font-size: 11px; } .entry-access-footer { left: 25px; right: 25px; bottom: 24px; font-size: 9px; } }
@media (max-width: 370px) { .entry-hero { height: 250px; padding-left: 20px; padding-right: 20px; } .entry-wordmark span { max-width: 70px; } .entry-copy h1 { max-width: 265px; font-size: 31px; } .entry-preview { max-width: 108px; } .entry-access { padding-left: 20px; padding-right: 20px; } .entry-access-footer { left: 20px; right: 20px; } }
@media (prefers-reduced-motion: reduce) { .entry-orbit-scene, .entry-orbit-traveller { animation: none; } .entry-orbit-traveller { transform: rotate(-13deg) scaleY(.36) translateX(280px) scaleY(2.7778); } .entry-motion { display: none; } .entry-form input, .entry-form .entry-submit, .entry-submit svg { transition: none !important; } }
