/* COE Ingenieure — Mehrstufiges Anfragesystem */

.aq{padding-top:calc(var(--nav-h) + clamp(28px,4vw,56px));padding-bottom:clamp(56px,8vw,120px);min-height:100vh}
.aq-top{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:20px}
.aq-top .who{color:var(--graphit)}
.aq-top .esc{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--graphit)}
.aq-top .esc:hover{color:var(--signal)}

/* Fortschritt */
.aq-bar{display:flex;gap:6px;border-top:1px solid var(--line-soft);padding-top:14px}
.aq-bar i{flex:1;height:2px;background:var(--line-soft);transition:background .45s}
.aq-bar i.done{background:var(--ink)}
.aq-bar i.now{background:var(--signal)}
.aq-count{margin-top:12px;display:flex;justify-content:space-between;gap:16px;color:var(--graphit);font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.aq-count b{color:var(--ink);font-weight:500}

/* Schrittkopf */
.aq-stage{padding-top:clamp(34px,5vw,72px);max-width:1180px}
.aq-q{font-weight:500;font-size:clamp(1.8rem,4vw,3.4rem);line-height:1;letter-spacing:-.04em;text-wrap:balance}
.aq-hint{margin-top:16px;font-size:15.5px;line-height:1.55;color:var(--graphit);max-width:52ch}

/* Auswahlflächen */
.aq-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin-top:clamp(28px,3.4vw,48px)}
.aq-opts.c2{grid-template-columns:repeat(2,1fr)}
.aq-opt{background:var(--paper);padding:clamp(20px,2.4vw,30px);text-align:left;display:flex;flex-direction:column;gap:8px;min-height:118px;position:relative;transition:background .28s,color .28s}
.aq-opt:hover{background:var(--paper-2)}
.aq-opt b{font-weight:500;font-size:1.08rem;letter-spacing:-.02em;line-height:1.18;padding-right:30px}
.aq-opt span{font-size:14px;line-height:1.5;color:var(--graphit);max-width:40ch}
.aq-opt .tick{position:absolute;top:clamp(20px,2.4vw,30px);right:clamp(20px,2.4vw,30px);width:16px;height:16px;border:1px solid var(--line);transition:background .25s,border-color .25s}
.aq-opt.on{background:var(--ink);color:var(--paper)}
.aq-opt.on span{color:var(--rauch)}
.aq-opt.on .tick{background:var(--signal);border-color:var(--signal)}
.aq-opt.on .tick::after{content:"";position:absolute;inset:0;display:block;background:no-repeat center/9px 7px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 7'%3E%3Cpath d='M1 3.4L3.4 6 8 1' fill='none' stroke='%23F4F0E8' stroke-width='1.4'/%3E%3C/svg%3E")}
.aq-opt.radio .tick{border-radius:50%}

/* Felder */
.aq-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:0 var(--gut);margin-top:clamp(24px,3vw,40px)}
.aq-f{position:relative;padding:20px 0 12px;border-bottom:1px solid var(--line)}
.aq-f.full{grid-column:1/-1}
.aq-f label{display:block;color:var(--graphit);font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin-bottom:9px}
.aq-f input,.aq-f select,.aq-f textarea{width:100%;background:none;border:0;outline:none;font-size:16px;letter-spacing:-.01em;padding:2px 0}
.aq-f textarea{resize:vertical;min-height:88px;line-height:1.55}
.aq-f input::placeholder,.aq-f textarea::placeholder{color:var(--rauch)}
.aq-f:focus-within{border-color:var(--signal)}
.aq-f select{appearance:none;cursor:pointer}
.aq-f .chev{position:absolute;right:2px;bottom:18px;color:var(--graphit);font-family:var(--mono);font-size:11px;pointer-events:none}
.aq-f.err{border-color:var(--signal)}
.aq-f .msg{position:absolute;right:0;bottom:-19px;color:var(--signal);font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}

/* Upload */
.aq-drop{margin-top:clamp(24px,3vw,40px);border:1px dashed var(--line);padding:clamp(26px,3.4vw,44px);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;transition:border-color .3s,background .3s;cursor:pointer}
.aq-drop:hover,.aq-drop.hot{border-color:var(--signal);background:rgba(201,74,42,.03)}
.aq-drop .t b{display:block;font-weight:500;font-size:1.05rem;letter-spacing:-.02em}
.aq-drop .t p{margin-top:7px;font-size:14px;line-height:1.5;color:var(--graphit);max-width:46ch}
.aq-files{margin-top:18px;display:grid;gap:0}
.aq-files div{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px}
.aq-files .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aq-files .sz{margin-left:auto;color:var(--graphit);font-family:var(--mono);font-size:11px;white-space:nowrap}
.aq-files button{color:var(--graphit);font-family:var(--mono);font-size:11px;letter-spacing:.1em}
.aq-files button:hover{color:var(--signal)}

/* Zusammenfassung */
.aq-sum{margin-top:clamp(24px,3vw,40px);border-top:1px solid var(--ink)}
.aq-sum div{display:grid;grid-template-columns:200px 1fr auto;gap:18px;padding:15px 0;border-bottom:1px solid var(--line-soft);align-items:baseline}
.aq-sum dt{color:var(--graphit);font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.aq-sum dd{font-size:15px;line-height:1.5}
.aq-sum button{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--graphit)}
.aq-sum button:hover{color:var(--signal)}
.aq-consent{margin-top:clamp(24px,3vw,36px);display:flex;gap:14px;align-items:flex-start;cursor:pointer;max-width:64ch}
.aq-consent input{appearance:none;width:16px;height:16px;border:1px solid var(--line);flex:none;margin-top:3px;cursor:pointer;position:relative}
.aq-consent input:checked{background:var(--signal);border-color:var(--signal)}
.aq-consent input:checked::after{content:"";position:absolute;inset:0;background:no-repeat center/9px 7px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 7'%3E%3Cpath d='M1 3.4L3.4 6 8 1' fill='none' stroke='%23F4F0E8' stroke-width='1.4'/%3E%3C/svg%3E")}
.aq-consent p{font-size:13.5px;line-height:1.6;color:var(--graphit)}
.aq-consent a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}

/* Navigation */
.aq-nav{margin-top:clamp(34px,4.5vw,64px);padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.aq-nav .l{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.aq-nav .skip{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--graphit)}
.aq-nav .skip:hover{color:var(--signal)}
.btn[disabled]{opacity:.32;pointer-events:none}

/* Wechsel zwischen Schritten */
.aq-step{animation:aqin .5s cubic-bezier(.22,1,.36,1) both}
@keyframes aqin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.aq-step{animation:none}}

/* Abschluss */
.aq-done{padding-top:clamp(40px,6vw,90px);max-width:62ch}
.aq-done .k{color:var(--signal);font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.aq-done h2{margin-top:22px;font-weight:500;font-size:clamp(2rem,4.6vw,4rem);line-height:.98;letter-spacing:-.04em}
.aq-done p{margin-top:22px;font-size:16px;line-height:1.62;color:var(--graphit)}
.aq-done .ax{margin-top:clamp(30px,4vw,50px);display:flex;gap:14px;flex-wrap:wrap}

@media(max-width:980px){
  .aq-opts,.aq-opts.c2{grid-template-columns:repeat(2,1fr)}
  .aq-sum div{grid-template-columns:1fr auto;gap:6px 18px}
  .aq-sum dt{grid-column:1/-1}
}
@media(max-width:660px){
  .aq-opts,.aq-opts.c2{grid-template-columns:1fr}
  .aq-fields{grid-template-columns:1fr}
  .aq-nav{flex-direction:column-reverse;align-items:stretch}
  .aq-nav .btn{justify-content:center}
  .aq-nav .l{justify-content:space-between}
}
