/* Typeform-style quiz in the Método Ignis visual language. */
:root{--bg:#080808;--fg:#f7f5ef;--muted:#aaa8a2;--dim:#6f6d68;--orange:#ff6b1a;--orange-soft:#ff6b1a1f;--line:#ffffff24;--font:Manrope,Arial,sans-serif;--mono:'DM Mono',monospace;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--orange);color:#080808}
button{font:inherit;color:inherit;cursor:pointer}
button,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--orange);outline-offset:4px}

.bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 85% 0%,#3a170899,transparent 70%),radial-gradient(ellipse 50% 40% at 0% 100%,#2a110666,transparent 70%),repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#ffffff08 calc(20% - 1px),#ffffff08 20%)}

.progress{position:fixed;inset:0 0 auto;height:4px;background:#ffffff10;z-index:20}
.progress span{display:block;height:100%;width:0;background:var(--orange);transition:width .6s var(--ease)}
.top{position:fixed;inset:4px 0 auto;z-index:15;height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(18px,4vw,48px);background:linear-gradient(180deg,var(--bg) 55%,transparent)}
.top img{width:132px;height:auto;display:block}
.block-label{margin:0;font:500 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:right}
.block-label b{color:var(--orange);font-weight:500}

.stage{display:grid;min-height:100dvh;align-items:center;padding:110px clamp(20px,5vw,48px) 120px;max-width:820px;margin:0 auto}
.screen{grid-area:1/1;width:100%}
.screen:focus{outline:none}

.enter-up{animation:enter-up .6s var(--ease) both}
.enter-down{animation:enter-down .6s var(--ease) both}
.leave-up{animation:leave-up .38s ease both;pointer-events:none}
.leave-down{animation:leave-down .38s ease both;pointer-events:none}
@keyframes enter-up{from{opacity:0;transform:translateY(56px)}to{opacity:1;transform:none}}
@keyframes enter-down{from{opacity:0;transform:translateY(-56px)}to{opacity:1;transform:none}}
@keyframes leave-up{to{opacity:0;transform:translateY(-56px)}}
@keyframes leave-down{to{opacity:0;transform:translateY(56px)}}

.eyebrow{display:inline-block;margin:0 0 22px;padding:7px 12px;border:1px solid #ff6b1a55;font:500 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.title{margin:0 0 18px;font-size:clamp(34px,5.4vw,60px);font-weight:800;line-height:1.02;letter-spacing:-.055em}
.title em{font-style:normal;color:var(--orange)}
.lead{margin:0 0 34px;max-width:560px;font-size:clamp(17px,2vw,20px);line-height:1.55;color:#d0cec8}


.q-head{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin-bottom:30px}
.q-num{grid-row:1/3;display:flex;align-items:center;gap:6px;padding-top:.45em;font:500 13px var(--mono);color:var(--orange);white-space:nowrap}
.q-label{margin:0;font-size:clamp(22px,3.1vw,32px);font-weight:600;line-height:1.25;letter-spacing:-.035em}
.q-label small{font-size:.55em;font-weight:500;letter-spacing:0;color:var(--dim);margin-left:6px;white-space:nowrap}
.q-help{grid-column:2;margin:6px 0 0;font-size:15px;color:var(--muted)}
.q-body{padding-left:calc(13px * 2.6 + 14px)}

.q-input{width:100%;padding:10px 0 12px;background:transparent;border:0;border-bottom:1px solid #ffffff40;color:var(--fg);font:500 clamp(20px,2.8vw,28px)/1.3 var(--font);letter-spacing:-.02em;border-radius:0;transition:border-color .25s}
.q-input::placeholder{color:#ffffff38}
.q-input:focus{outline:none;border-bottom-color:var(--orange);box-shadow:0 1px 0 var(--orange)}
textarea.q-input{resize:none;min-height:52px;overflow:hidden}
select.q-input{appearance:none;cursor:pointer;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23ff6b1a' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 4px center}
select.q-input option{background:#151515;color:var(--fg)}
.pair{display:grid;grid-template-columns:1fr 150px;gap:24px}
.pair label{display:block;font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}

.options{display:flex;flex-direction:column;align-items:flex-start;gap:9px;max-width:560px}
.options.compact{flex-direction:row;flex-wrap:wrap;max-width:none}
.opt{position:relative;display:flex;align-items:center;gap:14px;width:100%;min-height:50px;padding:10px 46px 10px 10px;text-align:left;background:#ffffff08;border:1px solid var(--line);border-radius:4px;font-size:16px;line-height:1.35;transition:background .2s,border-color .2s,transform .2s;animation:opt-in .5s var(--ease) both;animation-delay:calc(var(--i,0) * 40ms + 140ms)}
.options.compact .opt{width:auto;padding-right:16px}
.opt:hover{background:var(--orange-soft);border-color:#ff6b1a88}
.opt:active{transform:scale(.99)}
.opt .key{flex:none;display:grid;place-items:center;width:26px;height:26px;border:1px solid #ffffff40;border-radius:3px;font:500 11px var(--mono);color:var(--muted);transition:.2s}
.opt[aria-checked=true]{background:var(--orange-soft);border-color:var(--orange)}
.opt[aria-checked=true] .key{background:var(--orange);border-color:var(--orange);color:#111}
.opt[aria-checked=true]::after{content:'✓';position:absolute;right:16px;color:var(--orange);font-weight:700}
.options.compact .opt[aria-checked=true]::after{content:none}
.opt.blink{animation:blink .42s steps(1) both}
@keyframes opt-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes blink{0%,50%{background:var(--orange-soft)}25%,75%{background:transparent}}
.other{margin-top:14px;max-width:560px;animation:opt-in .4s var(--ease) both}

.scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;max-width:560px}
.scale .opt{justify-content:center;padding:14px 0;font-size:20px;font-weight:700}
.scale .opt::after{content:none!important}
.scale .opt[aria-checked=true]{background:var(--orange);color:#111}
.scale-labels{display:flex;justify-content:space-between;max-width:560px;margin-top:10px;font:11px var(--mono);letter-spacing:.04em;color:var(--muted)}

.actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:30px}
.q-actions{padding-left:calc(13px * 2.6 + 14px)}
.btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:12px 22px;border:1px solid var(--orange);background:var(--orange);color:#111;border-radius:4px;font:800 13px var(--font);letter-spacing:.04em;text-transform:uppercase;transition:background .2s,transform .2s}
.btn:hover{background:#ff8d50;transform:translateY(-2px)}
.btn:disabled{opacity:.6;cursor:progress;transform:none}
.btn span{font-size:18px;font-weight:500;line-height:1}
.hint{font:11px var(--mono);color:var(--dim);letter-spacing:.04em}
.hint b{color:var(--muted);font-weight:500}

.error{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding:8px 12px;width:fit-content;background:#ff6b1a1a;border-left:2px solid var(--orange);font-size:14px;color:#ffd2b8;animation:opt-in .3s var(--ease) both}
.error[hidden]{display:none}
.shake{animation:shake .4s ease both}
@keyframes shake{20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}

.consent{display:flex;align-items:flex-start;gap:14px;max-width:600px;padding:18px;border:1px solid var(--line);border-radius:4px;cursor:pointer;background:#ffffff06;transition:border-color .2s}
.consent:hover{border-color:#ff6b1a88}
.consent input{appearance:none;flex:none;width:22px;height:22px;margin:1px 0 0;border:1px solid #ffffff60;border-radius:3px;display:grid;place-items:center;cursor:pointer;transition:.2s}
.consent input:checked{background:var(--orange);border-color:var(--orange)}
.consent input:checked::after{content:'✓';color:#111;font-size:14px;font-weight:800}
.consent span{font-size:15px;line-height:1.55;color:#d0cec8}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.done-mark{width:84px;height:84px;margin-bottom:28px}
.done-mark circle{stroke:var(--orange);stroke-width:2;fill:none;stroke-dasharray:230;stroke-dashoffset:230;animation:draw .9s var(--ease) .1s forwards}
.done-mark path{stroke:var(--orange);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:50;animation:draw .5s var(--ease) .7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.task{max-width:600px;margin-top:8px;padding:20px 22px;border:1px solid var(--orange);background:var(--orange-soft);border-radius:4px}
.task strong{display:block;margin-bottom:6px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.task p{margin:0;font-size:15px;line-height:1.6;color:#e7e4dd}

.nav{position:fixed;right:clamp(16px,4vw,40px);bottom:clamp(16px,4vw,32px);z-index:15;display:flex;gap:2px;transition:opacity .3s}
.nav.is-hidden{opacity:0;visibility:hidden}
.nav-btn{width:42px;height:42px;border:0;background:var(--orange);color:#111;font-size:20px;font-weight:700;transition:background .2s}
.nav-btn:first-child{border-radius:4px 0 0 4px}.nav-btn:last-child{border-radius:0 4px 4px 0}
.nav-btn:hover{background:#ff8d50}
.nav-btn:disabled{background:#ff6b1a55;cursor:default}

@media(hover:none){.hint.kbd{display:none}}
@media(max-width:640px){
  .top{height:58px}.top img{width:112px}.block-label{font-size:9px;max-width:55%}
  .stage{padding:92px 20px 110px;align-items:start}
  .q-head{grid-template-columns:1fr;gap:6px}.q-num{grid-row:auto;padding:0}.q-help{grid-column:1}
  .q-body,.q-actions{padding-left:0}
  .opt{min-height:48px;font-size:15px}
  .pair{grid-template-columns:1fr;gap:22px}
  .scale .opt{font-size:18px}
  .actions .btn{flex:1;justify-content:center}
  .nav{bottom:max(14px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}
