.request-body { min-height:100vh; background:var(--cream); }
.request-header { background:rgba(3,23,19,.98); backdrop-filter:blur(16px); }
.request-main { min-height:100vh; display:grid; grid-template-columns:minmax(0,.88fr) minmax(620px,1.12fr); padding-top:122px; }
.request-intro { position:relative; display:flex; align-items:center; min-height:calc(100vh - 122px); padding:clamp(58px,7vw,110px); overflow:hidden; color:var(--white); background:linear-gradient(145deg,var(--green-950),var(--green-800)); }
.request-intro::after { position:absolute; right:-170px; bottom:-210px; width:520px; height:520px; content:""; border:1px solid rgba(226,161,95,.26); border-radius:50%; box-shadow:0 0 0 70px rgba(226,161,95,.035),0 0 0 140px rgba(226,161,95,.025); }
.request-intro-inner { position:relative; z-index:1; width:100%; max-width:700px; }
.request-intro h1 { margin:20px 0 28px; font-family:var(--serif); font-size:clamp(3.8rem,6.7vw,7rem); font-weight:400; line-height:.87; letter-spacing:-.06em; }
.request-intro h1 em { color:var(--copper-light); font-weight:400; }
.request-intro-inner>p:not(.eyebrow,.request-account-note) { max-width:610px; color:rgba(255,255,255,.74); font-size:1.05rem; line-height:1.7; }
.request-steps { margin:44px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.15); }
.request-steps li { display:grid; grid-template-columns:42px 1fr; gap:15px; padding:19px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.request-steps>li>span { color:var(--copper-light); font-family:var(--serif); }
.request-steps div { display:grid; gap:3px; }.request-steps strong { font-size:.92rem; }.request-steps small { color:rgba(255,255,255,.56); font-size:.78rem; }
.request-account-note { margin:28px 0 0; color:rgba(255,255,255,.65); font-size:.84rem; }.request-account-note a { color:var(--copper-light); border-bottom:1px solid currentColor; }
.request-form-panel { display:flex; align-items:center; min-height:calc(100vh - 122px); padding:clamp(42px,6vw,90px); background:var(--cream); }
.project-request-form,.request-success { width:min(760px,100%); margin:0 auto; }
.project-request-form { display:grid; gap:22px; }
.request-form-heading h2,.request-success h2 { margin:0 0 10px; font-family:var(--serif); font-size:clamp(2.4rem,4.3vw,4.2rem); font-weight:400; line-height:.98; letter-spacing:-.045em; }
.request-form-heading>p:last-child { margin:0; color:var(--muted); font-size:.84rem; }
.project-request-form label,.project-request-form legend { display:grid; gap:8px; color:var(--ink); font-size:.86rem; font-weight:750; }
.project-request-form input,.project-request-form select,.project-request-form textarea { width:100%; padding:13px 14px; color:var(--ink); background:var(--white); border:1px solid rgba(16,24,23,.24); border-radius:0; font:inherit; }
.project-request-form input:focus,.project-request-form select:focus,.project-request-form textarea:focus { outline:3px solid rgba(226,161,95,.28); border-color:var(--copper-dark); }
.project-request-form [aria-invalid="true"] { border-color:#a2362b; }
.request-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.service-choice { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; padding:0; border:0; }
.service-choice legend { grid-column:1/-1; margin-bottom:2px; }
.service-choice label { grid-template-columns:auto 1fr; align-items:center; gap:12px; min-height:84px; padding:14px; background:rgba(255,255,255,.55); border:1px solid var(--line); cursor:pointer; }
.service-choice label:has(input:checked) { background:var(--white); border-color:var(--copper-dark); box-shadow:inset 3px 0 var(--copper-dark); }
.service-choice input { width:auto; accent-color:var(--copper-dark); }
.service-choice span { display:grid; gap:3px; }.service-choice small { color:var(--muted); font-size:.74rem; font-weight:400; line-height:1.4; }
.request-website-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.request-consent { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.request-status { min-height:24px; margin:0; font-size:.86rem; }.request-status.is-error { color:#a2362b; }.request-status.is-success { color:#25724f; }
.project-request-form button[disabled] { cursor:wait; opacity:.68; }
.request-success { padding:clamp(34px,5vw,60px); background:var(--white); border:1px solid var(--line); box-shadow:0 24px 70px rgba(8,37,31,.1); }
.request-success>span { display:grid; place-items:center; width:52px; height:52px; margin-bottom:28px; color:var(--green-950); background:var(--copper); border-radius:50%; font-size:1.4rem; font-weight:800; }
.request-success>p:not(.section-kicker) { max-width:590px; color:var(--muted); line-height:1.7; }
.request-success-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:30px; }.request-email-link { color:var(--copper-dark); border-bottom:1px solid currentColor; font-size:.84rem; font-weight:750; }
@media (max-width:1100px) { .request-main { grid-template-columns:1fr; padding-top:92px; }.request-intro,.request-form-panel { min-height:auto; }.request-intro { padding:80px 7vw; }.request-form-panel { padding:70px 7vw; } }
@media (max-width:760px) { .request-main { padding-top:84px; }.request-intro { padding:58px 22px; }.request-intro h1 { font-size:clamp(3.5rem,16vw,5rem); }.request-form-panel { padding:52px 18px; }.request-field-grid,.service-choice { grid-template-columns:1fr; }.service-choice legend { grid-column:auto; }.request-success-actions { align-items:stretch; flex-direction:column; }.request-email-link { align-self:center; } }
