.project-request-page {
    --request-bg: #080d14;
    --request-panel: rgba(14, 22, 32, .88);
    --request-ink: #eef4f8;
    --request-muted: #a3b1bf;
    --request-line: rgba(180, 204, 224, .16);
    --request-orange: #ef7a42;
    min-height: 100vh;
    overflow: hidden;
    background: #080d14;
    color: var(--request-ink);
}
.project-request-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(8rem, 12vw, 10rem) 0 clamp(4rem, 7vw, 6rem);
    background:
        radial-gradient(ellipse 60% 58% at 8% 12%, rgba(27, 91, 133, .22), transparent 100%),
        radial-gradient(ellipse 54% 55% at 88% 4%, rgba(205, 82, 42, .17), transparent 100%),
        linear-gradient(180deg, #0a111b, #080d14 70%);
}
.project-request-hero::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    background-image: linear-gradient(rgba(205, 220, 233, .027) 1px, transparent 1px), linear-gradient(90deg, rgba(205, 220, 233, .027) 1px, transparent 1px);
    background-size: 64px 64px;
    content: "";
    mask-image: linear-gradient(180deg, #000, transparent 90%);
    pointer-events: none;
}
.project-request-hero-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(500px, 1.18fr); align-items: start; gap: clamp(2.5rem, 7vw, 7rem); }
.project-request-intro { position: sticky; top: 7rem; padding-top: 1rem; }
.project-request-eyebrow { display: inline-flex; align-items: center; gap: .6rem; margin-bottom: 1.3rem; color: #f19a6d; font-size: .68rem; font-weight: 800; letter-spacing: .16em; }
.project-request-eyebrow > span { width: 7px; height: 7px; border-radius: 50%; background: var(--request-orange); box-shadow: 0 0 15px rgba(239,122,66,.65); }
.project-request-intro h1 { max-width: 12ch; margin: 0; color: var(--request-ink); font-size: clamp(2.8rem, 5vw, 4.8rem); font-weight: 650; letter-spacing: -.075em; line-height: .99; text-wrap: balance; }
.project-request-intro h1 em { color: #ef8a54; font-style: normal; }
.project-request-intro > p { max-width: 48ch; margin: 1.35rem 0 2.1rem; color: var(--request-muted); font-size: .94rem; line-height: 1.75; }
.project-request-steps { display: grid; gap: .25rem; }
.project-request-steps > div { display: flex; align-items: flex-start; gap: .9rem; padding: .9rem 0; border-top: 1px solid rgba(180,204,224,.11); }
.project-request-steps > div > span { padding-top: .14rem; color: #e78a59; font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.project-request-steps p { display: grid; gap: .25rem; margin: 0; }
.project-request-steps strong { color: #e9f0f5; font-size: .83rem; font-weight: 650; }
.project-request-steps small { color: #91a0ae; font-size: .74rem; line-height: 1.5; }
.project-request-form-card { padding: clamp(1.25rem, 3vw, 2.2rem); border: 1px solid rgba(185,209,228,.18); border-radius: 20px; background: var(--request-panel); box-shadow: 0 28px 85px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.045); backdrop-filter: blur(18px); }
.project-request-form-heading { margin-bottom: 1.45rem; }
.project-request-form-heading > span { color: #ef9a6b; font-size: .63rem; font-weight: 800; letter-spacing: .16em; }
.project-request-form-heading h2 { margin: .45rem 0 .3rem; color: var(--request-ink); font-size: clamp(1.45rem, 2.5vw, 1.9rem); font-weight: 700; letter-spacing: -.045em; }
.project-request-form-heading p { margin: 0; color: var(--request-muted); font-size: .77rem; }
.project-request-form-heading b, .project-request-form label b, .project-request-services legend b { color: #ef8b57; }
.project-request-form { display: grid; gap: 1.2rem; }
.project-request-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .95rem; }
.project-request-field { display: grid; min-width: 0; gap: .42rem; }
.project-request-field-wide { grid-column: 1 / -1; }
.project-request-field label, .project-request-services legend { margin: 0; color: #e7edf2; font-size: .76rem; font-weight: 650; }
.project-request-field label span { margin-left: .3rem; color: #81909e; font-size: .67rem; font-weight: 450; }
.project-request-field input, .project-request-field textarea { width: 100%; min-height: 45px; padding: .72rem .85rem; border: 1px solid rgba(190,211,228,.14); border-radius: 10px; outline: 0; background: rgba(4,9,15,.58); color: #f3f6f9; font: inherit; font-size: .82rem; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.project-request-field textarea { min-height: 135px; resize: vertical; line-height: 1.6; }
.project-request-field input::placeholder, .project-request-field textarea::placeholder { color: #73808c; }
.project-request-field input:focus, .project-request-field textarea:focus { border-color: rgba(239,138,84,.75); background: rgba(4,9,15,.78); box-shadow: 0 0 0 3px rgba(237,113,58,.12); }
.project-request-field [aria-invalid="true"] { border-color: #f17878; }
.project-request-field-error { color: #ff9c9c; font-size: .71rem; }
.project-request-services { min-width: 0; margin: 0; padding: 0; border: 0; }
.project-request-services legend { float: none; width: auto; margin-bottom: .25rem; font-size: .76rem; }
.project-request-services > p { margin: 0 0 .7rem; color: #91a0ae; font-size: .72rem; }
.project-request-service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.project-request-service-option { display: flex; min-width: 0; align-items: flex-start; gap: .6rem; padding: .35rem .15rem; border: 0; border-radius: 0; background: transparent; cursor: pointer; }
.project-request-service-option:hover .project-request-service-copy strong { color: #f0a078; }
.project-request-service-option input { width: 17px; height: 17px; flex: 0 0 17px; margin: .08rem 0 0; accent-color: #e97943; cursor: pointer; }
.project-request-service-option input:focus-visible { outline: 2px solid #f09a6b; outline-offset: 3px; }
.project-request-service-copy { display: grid; min-width: 0; gap: .25rem; }
.project-request-service-copy strong { color: #e8eef3; font-size: .74rem; font-weight: 650; line-height: 1.35; }
.project-request-service-copy small { color: #93a1ae; font-size: .65rem; line-height: 1.45; }
.project-request-no-services { margin: .6rem 0 0; color: #c1cbd3; font-size: .78rem; }
.project-request-no-services a { color: #f09a6b; }
.project-request-help { color: #8b98a5; font-size: .67rem; line-height: 1.5; }
.project-request-submit { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; gap: .8rem; padding: .8rem 1.15rem; border: 1px solid rgba(255,190,149,.24); border-radius: 10px; background: linear-gradient(120deg, #f18a53, #dc5e2e); color: #1b100b; font-size: .82rem; font-weight: 800; cursor: pointer; transition: transform .18s ease, filter .18s ease, box-shadow .18s ease, background .25s ease; }
.project-request-submit:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 10px 25px rgba(220,94,46,.2); }
.project-request-submit:disabled { opacity: .86; cursor: wait; }
.project-request-submit.is-loading { background: linear-gradient(110deg, #e9a078, #d96b40); box-shadow: 0 0 0 4px rgba(239,122,66,.13); }
.project-request-submit.is-loading [data-submit-icon] { display: none; }
.project-request-submit-spinner { display: none; width: 17px; height: 17px; border: 2px solid rgba(27,16,11,.28); border-top-color: #1b100b; border-radius: 50%; }
.project-request-submit.is-loading .project-request-submit-spinner { display: inline-block; animation: project-request-spin .75s linear infinite; }
.project-request-submit.is-success { background: linear-gradient(110deg, #88d4a4, #5fba83); border-color: rgba(177,255,203,.5); }
@keyframes project-request-spin { to { transform: rotate(360deg); } }
.project-request-submit:focus-visible { outline: 3px solid rgba(241,138,83,.48); outline-offset: 3px; }
.project-request-privacy { margin: -.5rem 0 0; color: #83909d; font-size: .65rem; line-height: 1.5; text-align: center; }
.project-request-alert { position: relative; display: flex; gap: .75rem; align-items: flex-start; margin-bottom: 1rem; padding: 1rem 2.8rem 1rem 1rem; border: 1px solid; border-radius: 13px; font-size: .8rem; line-height: 1.5; box-shadow: 0 12px 32px rgba(0,0,0,.16); opacity: 0; transform: translateY(12px) scale(.985); transition: opacity .28s ease, transform .35s cubic-bezier(.2,.8,.2,1); }
.project-request-alert.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.project-request-alert[hidden] { display: none; }
.project-request-alert-icon { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 50%; font-size: .9rem; }
.project-request-alert-copy { display: grid; min-width: 0; gap: .18rem; }
.project-request-alert-copy strong { font-size: .84rem; font-weight: 750; }
.project-request-alert-dismiss { position: absolute; top: .65rem; right: .7rem; display: grid; width: 28px; height: 28px; place-items: center; border: 0; border-radius: 7px; background: transparent; color: currentColor; font-size: 1.35rem; line-height: 1; opacity: .75; cursor: pointer; }
.project-request-alert-dismiss:hover { background: rgba(255,255,255,.08); opacity: 1; }
.project-request-success { border-color: rgba(101,205,150,.38); background: linear-gradient(110deg, rgba(39,129,82,.2), rgba(68,168,113,.08)); color: #b8f1cc; }
.project-request-success .project-request-alert-icon { background: rgba(101,205,150,.16); color: #83dda4; }
.project-request-error { border-color: rgba(255,128,128,.4); background: linear-gradient(110deg, rgba(157,57,57,.2), rgba(170,61,61,.08)); color: #ffd0d0; }
.project-request-error .project-request-alert-icon { background: rgba(255,128,128,.15); color: #ff9b9b; }
body.light-mode .project-request-page { --request-bg: #f6f5f3; --request-panel: rgba(255,255,255,.94); --request-ink: #202832; --request-muted: #647381; --request-line: rgba(63,79,95,.15); background: #f6f5f3; color: #202832; }
body.light-mode .project-request-hero { background: radial-gradient(ellipse 58% 54% at 9% 8%, rgba(54,118,161,.1), transparent 100%), radial-gradient(ellipse 50% 52% at 91% 0%, rgba(213,100,55,.105), transparent 100%), linear-gradient(180deg, #fbfaf9, #f5f4f2 75%); }
body.light-mode .project-request-hero::before { background-image: linear-gradient(rgba(61,75,88,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(61,75,88,.035) 1px, transparent 1px); }
body.light-mode .project-request-intro h1, body.light-mode .project-request-form-heading h2 { color: #202832; }
body.light-mode .project-request-steps strong, body.light-mode .project-request-field label, body.light-mode .project-request-services legend { color: #303b46; }
body.light-mode .project-request-steps small, body.light-mode .project-request-service-copy small { color: #687784; }
body.light-mode .project-request-form-card { border-color: rgba(73,83,91,.15); box-shadow: 0 26px 70px rgba(46,52,59,.11), inset 0 1px #fff; }
body.light-mode .project-request-field input, body.light-mode .project-request-field textarea { border-color: rgba(72,83,92,.17); background: #fbfbfa; color: #202832; }
body.light-mode .project-request-service-copy strong { color: #313b45; }
@media (max-width: 991.98px) { .project-request-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; } .project-request-intro { position: static; } .project-request-intro h1 { max-width: 14ch; } }
@media (max-width: 575.98px) { .project-request-hero { padding-top: 7.5rem; } .project-request-fields-grid, .project-request-service-list { grid-template-columns: minmax(0,1fr); } .project-request-form-card { border-radius: 16px; } .project-request-intro h1 { font-size: clamp(2.55rem, 12vw, 3.55rem); } }
@media (prefers-reduced-motion: reduce) { .project-request-service-option, .project-request-field input, .project-request-field textarea, .project-request-submit, .project-request-alert { transition: none; } .project-request-submit-spinner { animation-duration: 1.8s !important; } }
