.request-studio {
    --request-brown: #6b4f3f;
    --request-ink: #302822;
    --request-muted: #786a60;
    --request-line: #e7d8ca;
    --request-cream: #f7efe3;
    max-width: 1040px;
    margin: 0 auto;
}

.request-intro { max-width: 790px; margin: 0 0 2rem; }
.request-lead { color: var(--request-muted); font-size: clamp(1.05rem, 2vw, 1.2rem); }
.request-trust-row { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; color: var(--request-brown); font-size: .9rem; font-weight: 800; }
.request-form { position: relative; padding: clamp(1.2rem, 4vw, 2.6rem); border: 1px solid var(--request-line); border-radius: 28px; background: rgba(255,255,255,.94); box-shadow: 0 22px 60px rgba(107,79,63,.1); overflow: hidden; }
.request-form::before { content: ""; position: absolute; top: -80px; right: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(174,188,159,.24), transparent 68%); pointer-events: none; }
.request-progress { height: 7px; margin: 0 0 .65rem; border-radius: 999px; background: #efe7df; overflow: hidden; }
.request-progress span { display: block; width: 20%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #aebc9f, #7f9d8b); transition: width .25s ease; }
.request-step-count { display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 2rem; color: var(--request-muted); font-size: .82rem; font-weight: 700; }
.request-step { animation: request-enter .25s ease both; }
.request-step h2 { max-width: 760px; margin: .15rem 0 .4rem; color: var(--request-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.08; }
.request-step > p:not(.request-kicker) { margin-top: .4rem; color: var(--request-muted); }
.request-kicker { margin: 0; color: var(--request-brown); font-size: .75rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.request-step fieldset { min-width: 0; margin: 1.6rem 0 0; padding: 0; border: 0; }
.request-step legend { margin-bottom: .75rem; color: var(--request-ink); font-weight: 850; }
.request-choice-grid { display: grid; gap: .85rem; }
.request-choice-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.request-choice-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.request-style-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.request-choice { position: relative; cursor: pointer; }
.request-choice > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.request-choice-body { position: relative; display: flex; min-height: 178px; height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; padding: 1rem .75rem; border: 2px solid var(--request-line); border-radius: 18px; background: #fff; text-align: center; transition: border-color .18s, transform .18s, box-shadow .18s; }
.request-choice-body strong { line-height: 1.2; }
.request-choice-body small { min-height: 2.6em; color: var(--request-muted); font-size: .75rem; line-height: 1.3; }
.request-choice:hover .request-choice-body { transform: translateY(-2px); border-color: #bda693; box-shadow: 0 10px 24px rgba(107,79,63,.08); }
.request-choice input:focus-visible + .request-choice-body { outline: 3px solid rgba(107,79,63,.32); outline-offset: 3px; }
.request-choice input:checked + .request-choice-body { border-color: var(--request-brown); background: #fffcf8; box-shadow: 0 0 0 3px rgba(107,79,63,.09); }
.request-check { position: absolute; top: .55rem; right: .55rem; display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid var(--request-line); border-radius: 50%; background: #fff; color: transparent; font-size: .8rem; font-weight: 900; }
.request-choice input:checked + .request-choice-body .request-check { border-color: var(--request-brown); background: var(--request-brown); color: #fff; }
.request-art { position: relative; display: block; width: 90px; height: 76px; margin-bottom: .35rem; }
.request-art i { position: absolute; display: block; border: 1px solid rgba(107,79,63,.25); background: #efe0d1; box-shadow: 0 5px 12px rgba(48,40,34,.09); }
.art-papers i { width: 57px; height: 57px; border-radius: 7px; background: radial-gradient(circle at 24% 28%,#fff 0 4px,transparent 5px),linear-gradient(135deg,#e9b8b4,#f4dbc9); }
.art-papers i:nth-child(1) { left: 8px; top: 12px; transform: rotate(-8deg); }.art-papers i:nth-child(2) { left: 25px; top: 7px; transform: rotate(4deg); background: repeating-linear-gradient(45deg,#d7e1cf 0 8px,#f7efe3 8px 16px); }.art-papers i:nth-child(3) { left: 16px; top: 15px; transform: rotate(-1deg); background: radial-gradient(circle,#c98e8a 0 2px,transparent 3px) 0 0/14px 14px,#f6e5dc; }
.art-clipart i { border: 0; box-shadow: none; }.art-clipart i:nth-child(1) { left: 31px; top: 7px; width: 31px; height: 52px; border-radius: 70% 0 70% 0; transform: rotate(-38deg); background: #aebc9f; }.art-clipart i:nth-child(2) { left: 20px; top: 29px; width: 46px; height: 30px; border-radius: 55% 45% 50% 50%; background: #e9b8b4; }.art-clipart i:nth-child(3) { left: 40px; top: 38px; width: 14px; height: 14px; border-radius: 50%; background: #f7efe3; }
.art-mixed i:nth-child(1) { left: 5px; top: 9px; width: 58px; height: 58px; border-radius: 8px; transform: rotate(-5deg); background: repeating-linear-gradient(-45deg,#f4d7d5 0 9px,#fff4ec 9px 18px); }.art-mixed i:nth-child(2) { left: 45px; top: 17px; width: 34px; height: 48px; border: 0; border-radius: 70% 0 70% 0; transform: rotate(20deg); background:#91a986; }.art-mixed i:nth-child(3) { left: 53px; top: 39px; width: 21px; height: 21px; border: 0; border-radius: 50%; background:#d89f9b; }
.art-square i:first-child,.art-orientation-square i:first-child { left: 17px; top: 3px; width: 64px; height: 64px; border-radius: 7px; background: linear-gradient(145deg,#dce8df,#f5d5ce); }.art-letter i:first-child,.art-a4 i:first-child,.art-portrait i:first-child { left: 26px; top: 2px; width: 48px; height: 68px; border-radius: 6px; background: repeating-linear-gradient(#f2dfd4 0 9px,#fff8f0 9px 18px); }.art-a4 i:first-child { width: 45px; height: 70px; background: linear-gradient(165deg,#dce8df,#fff); }.art-landscape i:first-child { left: 9px; top: 14px; width: 74px; height: 49px; border-radius: 6px; background: linear-gradient(145deg,#d2e1e4,#f4d7d5); }.art-any i:nth-child(1) { left: 5px; top: 17px; width: 47px; height: 47px; transform: rotate(-7deg); border-radius: 6px; }.art-any i:nth-child(2) { left: 35px; top: 5px; width: 43px; height: 61px; transform: rotate(7deg); border-radius: 6px; background:#dce8df; }.art-any i:nth-child(3) { display:none; }
.request-style-grid .request-choice-body { min-height: 148px; }
.request-style-grid .request-art { width: 78px; height: 61px; overflow: hidden; border: 1px solid rgba(107,79,63,.16); border-radius: 13px; box-shadow: 0 6px 16px rgba(48,40,34,.1); }
.request-style-grid .request-art i { display: none; }
.art-style-vintage { background: radial-gradient(circle at 25% 30%,#6b4f3f 0 3px,transparent 4px),linear-gradient(135deg,rgba(111,78,55,.25),transparent 55%),#d9c19f; filter: sepia(.2); }
.art-style-watercolor { background: radial-gradient(ellipse at 25% 40%,rgba(101,151,172,.62),transparent 38%),radial-gradient(ellipse at 72% 30%,rgba(220,147,156,.6),transparent 38%),radial-gradient(ellipse at 57% 78%,rgba(149,177,139,.7),transparent 38%),#fff; }
.art-style-floral { background: radial-gradient(circle at 30% 35%,#f5d5ce 0 8px,#d99999 9px 11px,transparent 12px),radial-gradient(circle at 70% 62%,#f7e7ba 0 8px,#d9a7a0 9px 11px,transparent 12px),linear-gradient(55deg,transparent 46%,#8fa983 48% 52%,transparent 54%),#eef3e9; }
.art-style-gothic { background: radial-gradient(circle at 65% 32%,#b38991 0 8px,transparent 9px),linear-gradient(130deg,transparent 40%,#60735c 41% 47%,transparent 48%),#342f35; }
.art-style-whimsical { background: radial-gradient(circle at 24% 35%,#fff 0 3px,transparent 4px),radial-gradient(circle at 65% 62%,#fff 0 5px,transparent 6px),linear-gradient(135deg,#edc4cf,#bcd9df); }
.art-style-minimal { background: linear-gradient(135deg,transparent 48%,#8da593 49% 51%,transparent 52%),radial-gradient(circle at 65% 42%,#c8998c 0 9px,transparent 10px),#f9f4ec; }
.art-style-seasonal { background: radial-gradient(circle at 68% 28%,#f3c66f 0 8px,transparent 9px),linear-gradient(40deg,transparent 43%,#9a634d 44% 48%,transparent 49%),linear-gradient(135deg,#d69d69,#6f845f); }
.art-style-junk-journal { background: linear-gradient(90deg,transparent 48%,rgba(88,66,47,.22) 49% 51%,transparent 52%),repeating-linear-gradient(#e2ceb2 0 2px,#f3e7d3 2px 9px); }
.request-pill-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .6rem; }
.request-pill { position: relative; cursor: pointer; }.request-pill input { position:absolute;opacity:0;width:1px;height:1px; }.request-pill span { display:flex; min-height:52px; height:100%; align-items:center; justify-content:center; padding:.6rem .75rem; border:2px solid var(--request-line); border-radius:13px; background:#fff; text-align:center; font-size:.86rem; font-weight:800; line-height:1.2; }.request-pill input:checked + span { border-color:var(--request-brown); background:#f9f2e9; color:var(--request-brown); }.request-pill input:focus-visible + span { outline:3px solid rgba(107,79,63,.3); outline-offset:2px; }
.request-comment-label { display:block; margin-top:1.5rem; font-weight:850; }.request-comment-label small { color:var(--request-muted); font-weight:600; }.request-alias,.request-step textarea { width:100%; margin-top:.45rem; padding:1rem; border:2px solid var(--request-line); border-radius:15px; background:#fff; color:var(--request-ink); font:inherit; }.request-alias:focus,.request-step textarea:focus { border-color:var(--request-brown); outline:3px solid rgba(107,79,63,.12); }.request-field-note,.request-privacy-note { margin:.35rem 0 0!important; color:var(--request-muted); font-size:.78rem; }.request-privacy-note a { color:var(--request-brown); font-weight:800; }.request-comment-meta { display:flex; justify-content:space-between; color:var(--request-muted); font-size:.78rem; }.request-summary { display:grid; gap:.25rem; margin:1.35rem 0; padding:1rem 1.15rem; border-radius:14px; background:var(--request-cream); }.request-summary strong { color:var(--request-brown); }.request-summary span { color:var(--request-muted); font-size:.86rem; }.request-understanding { display:flex; gap:.7rem; align-items:flex-start; margin-top:.9rem; font-size:.88rem; cursor:pointer; }.request-understanding input { width:19px; height:19px; flex:0 0 auto; margin-top:.15rem; accent-color:var(--request-brown); }
.request-actions { display:flex; justify-content:flex-end; gap:.7rem; margin-top:2rem; }.request-actions .button { cursor:pointer; }.request-actions .button:disabled { cursor:wait; opacity:.65; }.request-error { margin:1rem 0 0; padding:.85rem 1rem; border-left:4px solid #a8433e; border-radius:8px; background:#fff0ef; color:#7b2925; font-weight:750; }.request-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.request-success { max-width:760px; margin:2rem auto; padding:clamp(2rem,6vw,4rem); border:1px solid var(--request-line); border-radius:28px; background:#fff; box-shadow:0 22px 60px rgba(107,79,63,.1); text-align:center; }.request-success-mark { display:grid; width:64px; height:64px; place-items:center; margin:0 auto 1.25rem; border-radius:50%; background:#dfe9db; color:#557050; font-size:1.8rem; font-weight:900; }.request-success h2 { margin:.25rem 0 .75rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.8rem,4vw,2.5rem); }.request-success .button-row { justify-content:center; }.request-reference { padding:1rem; border-radius:12px; background:var(--request-cream); }.request-reference strong { color:var(--request-brown); letter-spacing:.08em; }
.request-seo-content { margin:4rem auto 0; }.request-seo-content > h2 { max-width:760px; margin-top:2.5rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.6rem,3vw,2.1rem); }.request-seo-content > p { max-width:820px; color:var(--request-muted); }.request-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.request-facts article { padding:1.25rem; border:1px solid var(--request-line); border-radius:16px; background:#fff; }.request-facts h3 { margin:0 0 .45rem; font-size:1.05rem; }.request-facts p { margin:0; color:var(--request-muted); font-size:.9rem; }.request-faq { max-width:860px; }.request-faq details { padding:1rem 0; border-bottom:1px solid var(--request-line); }.request-faq summary { cursor:pointer; color:var(--request-brown); font-weight:850; }.request-faq p { color:var(--request-muted); }.request-noscript { padding:1rem; border:1px solid #d9a29d; border-radius:10px; background:#fff0ef; }
@keyframes request-enter { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .request-step,.request-choice-body,.request-progress span { animation:none; transition:none; } .request-choice:hover .request-choice-body { transform:none; } }
@media (max-width:850px) { .request-choice-grid-four,.request-style-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.request-facts { grid-template-columns:1fr; } }
@media (max-width:620px) { .request-choice-grid-three,.request-choice-grid-four,.request-style-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.request-pill-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.request-choice-body { min-height:155px; padding:.8rem .55rem; }.request-choice-body small { min-height:0; }.request-art { transform:scale(.88); margin:-.25rem 0 0; }.request-form { border-radius:20px; }.request-step-count { margin-bottom:1.5rem; }.request-actions { position:sticky; bottom:.5rem; margin-inline:-.35rem; padding:.5rem; border-radius:999px; background:rgba(255,255,255,.94); box-shadow:0 8px 26px rgba(48,40,34,.12); backdrop-filter:blur(8px); }.request-actions .button { flex:1; padding-inline:.8rem; }.request-trust-row { display:grid; gap:.35rem; } }
@media (max-width:380px) { .request-choice-grid-three,.request-choice-grid-four,.request-style-grid { grid-template-columns:1fr; }.request-choice-body { min-height:145px; } }
