.request-page{font-family:Manrope,Arial,sans-serif;background:#f5fbff}
.request-intro{padding:48px 0 72px;background:linear-gradient(130deg,#e1f0fa,#f9fdff 66%,white);position:relative;overflow:hidden}
.request-intro:after{content:"";position:absolute;width:600px;height:260px;border:60px solid #bce3ff5c;border-radius:50%;right:-290px;bottom:-180px;transform:rotate(-21deg);pointer-events:none}
.request-intro-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:9%}
.request-intro .back-link{margin-bottom:28px}
.request-intro h1{font-size:clamp(3rem,5.7vw,5.5rem);max-width:760px;margin:8px 0 22px}
.request-intro-grid>div:first-child>p:last-child{font-size:1.15rem;max-width:700px;color:#294666;line-height:1.7;margin:0}
.request-response{background:#fff;border:1px solid #cce4f5;border-radius:25px;padding:28px;box-shadow:0 15px 35px #003a7010;color:#26415f}
.request-response strong{display:block;color:var(--navy);font-size:1.1rem;line-height:1.45}
.request-response p{margin:10px 0 17px}.request-response>div{border-top:1px solid #dcebf5;padding-top:15px;font-size:.94rem}
.request-response a,.request-backup a,.connection-notice a{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.request-workspace{padding:0 0 85px}.request-card{position:relative;max-width:1000px;margin:-24px auto 0;background:#fff;border:1px solid #d3e8f6;border-radius:31px;box-shadow:0 24px 70px #003a7015;padding:34px 52px 43px}
.connection-notice{background:#f1f8ff;border:1px solid #b9d9ef;border-radius:14px;color:#254963;padding:13px 17px;margin-bottom:27px;font-size:.92rem}
.flight-progress{margin-bottom:35px}.flight-head{display:flex;justify-content:space-between;gap:15px;color:var(--navy);font-weight:800;font-size:.93rem}.flight-head span:last-child{color:var(--blue);font-size:.82rem}
.flight-track{height:84px;position:relative;margin-top:4px}.flight-track svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.flight-path,.flight-path-completed{fill:none;stroke-width:6;stroke-linecap:round}.flight-path{stroke:#c9e7fa}.flight-path-completed{stroke:#0066cc;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .55s cubic-bezier(.2,.7,.2,1)}
.flight-marker{position:absolute;width:68px;height:50px;left:4%;top:50%;transform:translate(-50%,-50%);transition:left .55s cubic-bezier(.2,.7,.2,1),top .55s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 3px 3px #003a7026)}
.flight-marker img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;transition:opacity .26s ease}.marker-complete{opacity:0}.flight-marker.is-complete .marker-wrench{opacity:0}.flight-marker.is-complete .marker-complete{opacity:1}
.flight-labels{display:grid;grid-template-columns:repeat(6,1fr);list-style:none;padding:0;margin:0;gap:4px;text-align:center;font-size:.78rem;color:#7d91a5;font-weight:700}.flight-labels li{position:relative;padding-top:13px}.flight-labels li:before{content:"";position:absolute;top:-3px;left:50%;width:8px;height:8px;transform:translateX(-50%);border-radius:50%;background:#c5dbea}.flight-labels li.is-current{color:var(--navy)}.flight-labels li.is-current:before{background:var(--blue);box-shadow:0 0 0 4px #e1f0fa}.flight-labels li.is-done{color:var(--blue)}.flight-labels li.is-done:before{content:"✓";width:18px;height:18px;top:-8px;line-height:18px;background:var(--blue);color:white;font-size:.74rem}
.step-content h2{font-size:clamp(1.85rem,3.2vw,2.55rem);margin:0 0 8px;color:#142d49}.step-intro{color:var(--muted);margin:0 0 26px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.span-2{grid-column:1/-1}.field label,.choice-label{font-size:.9rem;font-weight:800;color:var(--navy)}.optional{font-weight:500;color:#667f96}.field input,.field textarea,.field select{width:100%;min-height:51px;border:1px solid #a9cce3;border-radius:13px;background:white;color:#142d49;padding:11px 15px;font-size:1rem;outline:none}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #bce3ff99}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#bd4450}.field-note{font-size:.85rem;color:#617991}.choice-group{display:flex;flex-wrap:wrap;gap:9px}.choice{border:1px solid #b8d5e9;border-radius:13px;background:white;color:var(--navy);padding:11px 16px;min-height:47px;font-weight:700;cursor:pointer}.choice:hover,.equipment-tile:hover{border-color:var(--blue);background:#f5fbff}.choice[aria-pressed=true],.equipment-tile[aria-pressed=true]{border-color:var(--blue);background:#e1f0fa;box-shadow:inset 0 0 0 1px #0066cc;color:#003a70}.choice:focus-visible,.equipment-tile:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.equipment-card{border:1px solid #cbdfee;background:#f8fcff;border-radius:21px;padding:25px;margin:16px 0}.equipment-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.equipment-card h3{margin:0 0 15px;font-size:1.22rem;color:var(--navy)}.remove-equipment,.remove-photo{border:0;background:none;color:#a33c49;text-decoration:underline;font-weight:700;cursor:pointer}.equipment-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:20px}.equipment-tile{text-align:left;border:1px solid #c5dcea;background:white;border-radius:13px;padding:12px 13px;min-height:53px;color:var(--navy);font-size:.88rem;font-weight:800;cursor:pointer}.add-equipment{border:1px dashed #84bfea;background:#f0f9ff;border-radius:15px;padding:14px 18px;color:var(--blue);font-weight:800;cursor:pointer;width:100%;min-height:52px}.issue-chips{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 20px}.issue-chips .choice{font-size:.87rem;min-height:43px;padding:8px 12px}.photo-drop{border:2px dashed #8fc8ee;border-radius:19px;background:#f4fbff;text-align:center;padding:32px 22px;color:var(--navy);cursor:pointer;display:block}.photo-drop.is-dragging{background:#e1f0fa;border-color:var(--blue)}.photo-drop input{position:absolute;width:1px;height:1px;opacity:0}.photo-drop strong{display:block;font-size:1.08rem}.photo-drop span{display:block;color:var(--muted);font-size:.9rem;margin-top:5px}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:17px}.photo-preview{border:1px solid #d4e7f4;border-radius:12px;overflow:hidden;background:white}.photo-preview img{width:100%;aspect-ratio:1;object-fit:cover}.photo-preview div{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px;font-size:.75rem}.photo-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-note{border-left:4px solid #66b7ee;background:#eaf7ff;border-radius:0 12px 12px 0;padding:14px 18px;color:#204765;margin-top:22px}.form-error{background:#fff0f0;border:1px solid #e1a1a6;border-radius:11px;color:#8a2531;padding:12px 15px;margin-top:20px}.form-actions{display:flex;justify-content:space-between;gap:13px;margin-top:34px;border-top:1px solid #e2edf5;padding-top:24px}.form-actions .button{min-width:140px}.form-actions #back-button[hidden]{visibility:hidden;display:inline-flex}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-block{border:1px solid #d2e6f2;border-radius:17px;background:#f8fcff;padding:19px;min-width:0}.review-block h3{font-size:1rem;color:var(--navy);margin:0 0 9px;display:flex;justify-content:space-between;gap:10px}.review-block button{background:none;border:0;color:var(--blue);font-weight:800;text-decoration:underline;cursor:pointer}.review-block p{margin:0;color:#415a72;white-space:pre-wrap;overflow-wrap:anywhere}.review-block p+p{margin-top:9px}.consent{font-size:.83rem;color:var(--muted);margin:25px 0 0}.success-screen{text-align:center;padding:45px 6%;max-width:700px;margin:auto}.success-mark{display:block;width:90px;height:76px;object-fit:contain;margin:0 auto 22px;filter:drop-shadow(0 5px 7px #003a701a)}.success-mark.is-arriving{visibility:hidden}.success-mark-flight{position:fixed;z-index:100;object-fit:contain;pointer-events:none;transform-origin:center;filter:drop-shadow(0 5px 7px #003a701a)}.success-screen h2{color:var(--navy)}.success-screen p{color:var(--muted)}.success-links{display:flex;justify-content:center;gap:14px}.success-links a{color:var(--blue);font-weight:800;text-decoration:underline}.request-backup{text-align:center;color:var(--muted);font-size:.92rem;margin:20px 0 0}
@media(max-width:900px){.request-intro-grid{grid-template-columns:1fr;gap:27px}.request-card{margin-top:-25px}}
@media(max-width:600px){.request-intro{padding:34px 0 65px}.request-intro h1{font-size:clamp(2.6rem,11vw,3.6rem)}.request-intro-grid>div:first-child>p:last-child{font-size:1.02rem}.request-response{padding:20px}.request-card{padding:20px 17px 27px;border-radius:23px}.field-grid,.review-grid{grid-template-columns:1fr;gap:15px}.field.span-2{grid-column:auto}.equipment-card{padding:17px}.equipment-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-tile{font-size:.8rem}.flight-labels{display:none}.flight-track{height:78px}.flight-marker{width:62px;height:46px}.flight-head span:last-child{display:none}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-actions .button{min-width:0;flex:1;padding:0 13px}.journey-page .footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.flight-marker,.flight-marker img,.flight-path-completed{transition:none}}

.privacy-acknowledgment{font-size:.83rem;color:var(--muted);margin:12px 0 0;text-align:right}.privacy-acknowledgment a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}.privacy-acknowledgment[hidden]{display:none}

/* Prelaunch preview leaves the existing six-step layout in place. */
 .opening-banner{position:relative;isolation:isolate;overflow:hidden;background:#082b4c;color:white;border-bottom:4px solid #1685db}
.opening-banner[hidden]{display:none}
.opening-banner::before{content:"";position:absolute;z-index:-1;right:-7%;bottom:-135px;width:65%;height:340px;border:48px solid rgba(77,174,237,.2);border-left:0;border-top:0;border-radius:0 0 65% 0;transform:rotate(-12deg);pointer-events:none}
.opening-banner::after{content:"";position:absolute;z-index:-1;left:58%;top:-100px;width:46%;height:230px;border-bottom:18px solid rgba(22,133,219,.42);border-radius:0 0 60% 80%;transform:rotate(-13deg);pointer-events:none}
.opening-banner-inner{padding:48px 0 52px}
.opening-banner-copy{max-width:960px}
.opening-banner .eyebrow{color:#82ceff;margin:0 0 13px;font-size:.78rem;letter-spacing:.16em}
.opening-banner h2{color:white;font-size:clamp(2rem,4vw,3.15rem);line-height:1.16;letter-spacing:-.035em;margin:0 0 16px}
.opening-banner p:last-of-type{color:#e3f3ff;line-height:1.65;margin:0;max-width:820px;font-size:1.04rem}
.opening-banner-button{display:inline-flex;align-items:center;gap:13px;min-height:49px;border:1px solid #80cdff;border-radius:999px;background:#e1f0fa;color:#003a70;padding:11px 20px;font:800 .9rem Manrope,Arial,sans-serif;cursor:pointer;margin-top:25px;box-shadow:0 6px 16px #001c3440}
.opening-banner-button:hover{background:white}
.opening-banner-button:focus-visible{outline:3px solid white;outline-offset:3px}
.opening-banner-button:disabled{opacity:.72;cursor:default}
@media(min-width:701px) and (prefers-reduced-motion:no-preference){.request-page.is-prelaunch .opening-banner{animation:opening-banner-arrive .62s cubic-bezier(.19,.78,.28,1) both}.request-page.is-prelaunch .opening-banner::after{animation:opening-swoosh-arrive .68s .08s ease-out both}}
@keyframes opening-banner-arrive{from{opacity:.4;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}
@keyframes opening-swoosh-arrive{from{opacity:0;translate:-45px 0}to{opacity:1;translate:0 0}}
@media(max-width:700px){.opening-banner-inner{padding:30px 0 34px}.opening-banner h2{font-size:clamp(1.8rem,8vw,2.5rem)}.opening-banner p:last-of-type{font-size:.94rem}.opening-banner::before{width:90%;right:-35%;opacity:.65}.opening-banner::after{display:none}.opening-banner-button{width:100%;justify-content:center;margin-top:20px}}
.request-page.is-prelaunch .request-response{display:none}
.request-page.is-prelaunch .request-intro-grid{grid-template-columns:1fr}
.request-page.is-prelaunch .step-content input:disabled,
.request-page.is-prelaunch .step-content textarea:disabled,
.request-page.is-prelaunch .step-content button:disabled,
.request-page.is-prelaunch .step-content select:disabled{cursor:default;opacity:.68}
.request-page.is-prelaunch .step-content .photo-drop{cursor:default}

.request-page.is-prelaunch .step-content .field-note{display:none}
