.questionnaire-page{background:var(--paper)}.builder-intro{min-height:calc(70vh - 84px);display:flex;flex-direction:column;justify-content:space-between}.builder-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end}.builder-intro h1{margin-bottom:0}.builder-progress{display:flex;align-items:center;justify-content:space-between;margin-top:80px;font:11px "DM Mono",monospace}.builder-progress-line{height:1px;background:var(--line);width:min(74%,780px)}.builder-progress-line span{display:block;width:12.5%;height:100%;background:var(--ink);transition:width .55s cubic-bezier(.2,.8,.2,1)}.builder-panel{background:#e1ddd3}.question-step{display:none;min-height:510px;animation:questionIn .55s cubic-bezier(.2,.8,.2,1)}.question-step.active{display:block}@keyframes questionIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.question-step h2{margin-bottom:55px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 38px;max-width:900px}.field-grid .full{grid-column:1/-1}.field-grid label,.single-field{display:flex;flex-direction:column;gap:9px;font:10px "DM Mono";text-transform:uppercase;letter-spacing:.08em}.field-grid input,.field-grid select,.single-field textarea{border:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 0;font:16px Manrope;color:var(--ink);outline:none;border-radius:0}.single-field{max-width:900px}.single-field textarea{resize:vertical;line-height:1.65}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.choice-grid button{appearance:none;background:transparent;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 25px;text-align:left;font:500 clamp(1rem,1.5vw,1.3rem) Manrope;letter-spacing:-.03em;cursor:pointer;transition:background .25s,color .25s,transform .25s}.choice-grid button:hover{background:#d3cec3}.choice-grid button.selected{background:var(--ink);color:var(--paper)}.form-hint{color:var(--muted);margin-top:25px}.builder-controls{display:flex;justify-content:space-between;gap:20px;margin-top:40px}.builder-controls #previous-step{visibility:hidden}.builder-result{background:var(--deep);color:var(--paper)}.builder-result[hidden]{display:none}.message-preview{margin:55px 0 30px;max-width:900px;border:1px solid #4a4a45;padding:28px;background:rgba(255,255,255,.03);max-height:560px;overflow:auto}.message-preview pre{white-space:pre-wrap;margin:0;font:13px/1.75 "DM Mono",monospace;color:#d7d1c5}.result-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.result-actions .outline{border-color:var(--paper)}.result-note{margin-top:25px;font-size:11px;color:#aaa69e}.result-actions .text-link{background:none;border:0;color:inherit;cursor:pointer;padding:12px 0}.builder [data-reveal]{opacity:0;transform:translateY(25px)}.builder [data-reveal].visible{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease}
@media(max-width:700px){.builder-intro-grid,.field-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.builder-intro{min-height:auto}.builder-progress{margin-top:55px}.builder-progress-line{width:65%}.question-step{min-height:440px}.question-step h2{margin-bottom:40px}.builder-controls{margin-top:20px}.result-actions{align-items:stretch;flex-direction:column}.result-actions .button{text-align:center}.field-grid .full{grid-column:auto}}

.builder-layout{display:grid;grid-template-columns:minmax(280px,.58fr) minmax(0,1.42fr);gap:clamp(35px,6vw,90px);align-items:start}
.builder-illustration{position:sticky;top:110px;min-height:590px;border:1px solid var(--line);background:#d7d2c8;padding:20px;overflow:hidden;display:flex;flex-direction:column}
.illustration-copy{display:flex;justify-content:space-between;font:10px "DM Mono";letter-spacing:.08em;color:var(--muted)}
.illustration-copy strong{font:10px "DM Mono";color:var(--ink)}
.interactive-stage{position:relative;flex:1;min-height:430px;margin-top:15px;background:radial-gradient(circle at 50% 50%,#ebe8df 0,#d7d2c8 55%,#c7c1b6 100%);overflow:hidden;cursor:crosshair}
.stage-grid{position:absolute;inset:-20%;background-image:linear-gradient(rgba(17,18,17,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(17,18,17,.08) 1px,transparent 1px);background-size:28px 28px;transform:perspective(450px) rotateX(62deg) scale(1.4);transform-origin:center 70%}
.central-orb{position:absolute;left:50%;top:50%;width:92px;height:92px;transform:translate(-50%,-50%);border-radius:50%;background:var(--ink);display:grid;place-items:center;color:var(--paper);z-index:3;box-shadow:0 0 0 16px rgba(136,122,92,.15);transition:transform .25s ease,box-shadow .25s ease}
.central-orb span{font-size:32px;font-weight:300}.central-orb.active{transform:translate(-50%,-50%) scale(1.16) rotate(45deg);box-shadow:0 0 0 26px rgba(136,122,92,.16)}
.orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(17,18,17,.22);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.orbit-one{width:70%;height:32%;animation:spinOrbit 14s linear infinite}.orbit-two{width:34%;height:72%;animation:spinOrbitReverse 10s linear infinite}
@keyframes spinOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes spinOrbitReverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}
.idea-node{position:absolute;z-index:4;border:1px solid var(--ink);background:var(--paper);padding:9px 11px;font:9px "DM Mono";letter-spacing:.07em;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease}.idea-node:hover,.idea-node.active{background:var(--ink);color:var(--paper);transform:scale(1.08)}
.node-a{left:9%;top:13%}.node-b{right:7%;top:25%}.node-c{left:13%;bottom:19%}.node-d{right:10%;bottom:10%}
.cursor-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--bronze);pointer-events:none;transform:translate(-50%,-50%);opacity:0;z-index:5;transition:opacity .2s}
.builder-illustration>p{margin:16px 0 0;font-size:10px;color:var(--muted);font-family:"DM Mono";text-transform:uppercase}
@media(max-width:1000px){.builder-layout{grid-template-columns:1fr}.builder-illustration{position:relative;top:auto;min-height:420px}.interactive-stage{min-height:340px}}@media(max-width:700px){.builder-illustration{min-height:370px}.interactive-stage{min-height:290px}}
