.questionnaire-page{min-height:100vh;background:#071d31;color:#deedf5}.questionnaire-page .header-inner{max-width:1160px}.back-site{color:#a9ddf5;font-weight:700;font-size:.9rem}.back-site:hover{color:#fff}.questionnaire-main{padding:56px 0 100px}.intro{max-width:770px;margin-bottom:32px}.intro h1{max-width:none;margin:14px 0 16px;font-size:clamp(2.4rem,4vw,4rem)}.intro p{max-width:690px;color:#b8cedc;font-size:1.08rem}.mode-note{margin-bottom:24px;padding:13px 17px;border:1px solid #315774;border-radius:10px;background:#10324d;color:#c3dfed;font-size:.87rem}.mode-note.demo{border-color:#38789c;background:#113a56}.mode-note.live{border-color:#338e8e;background:#104440}.wizard-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.wizard-sidebar,.wizard-panel{border:1px solid #28506a;border-radius:18px;background:#0c2b45}.wizard-sidebar{padding:28px;position:sticky;top:102px}.wizard-sidebar h2{margin:0 0 28px;color:#fff;font-size:1.5rem}.wizard-sidebar ol{list-style:none;margin:0;padding:0;border-left:1px solid #315774}.wizard-sidebar li{position:relative;margin:0 0 22px;padding-left:21px;color:#91adbf;font-size:.87rem;font-weight:700}.wizard-sidebar li::before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:#4b6b7d}.wizard-sidebar li.active{color:#66d2ff}.wizard-sidebar li.active::before,.wizard-sidebar li.complete::before{background:#43c7ff}.wizard-sidebar p{margin:30px 0 0;color:#a9c0d0;font-size:.85rem}.wizard-panel{min-height:540px;padding:34px 42px}.step-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#73d4ff;font-size:.8rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.progress{display:block;width:100%;height:7px;margin:16px 0 34px;accent-color:#00acf0}.step-title{margin:0 0 12px;color:#fff;font-size:clamp(1.65rem,2.6vw,2.6rem)}.step-hint{margin:0 0 28px;color:#aec7d6}.field{margin:0 0 26px;padding:0;border:0}.field-label,.field legend{display:block;margin-bottom:11px;color:#e9f7ff;font-size:.96rem;font-weight:700}.field-label .optional,.field legend .optional{color:#95afc1;font-weight:400}.field input[type=text],.field input[type=number],.field input[type=tel],.field input[type=email]{display:block;width:100%;max-width:530px;min-height:50px;padding:11px 15px;border:1px solid #3d6680;border-radius:9px;background:#08243a;color:#fff;font:inherit}.field input:focus-visible{outline:3px solid #43c7ff;outline-offset:2px}.field input::placeholder{color:#8da8b8}.field-error{display:block;margin-top:7px;color:#ffc2b8;font-size:.84rem}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.option{display:flex;gap:12px;align-items:center;min-height:58px;padding:13px 15px;border:1px solid #3b627d;border-radius:10px;background:#103651;cursor:pointer;font-size:.91rem;font-weight:650;line-height:1.35}.option:hover{border-color:#58c9fa;background:#154461}.option:has(input:checked){border-color:#43c7ff;background:#115077;box-shadow:inset 0 0 0 1px #43c7ff}.option:has(input:focus-visible){outline:3px solid #43c7ff;outline-offset:2px}.option input{flex:none;width:18px;height:18px;margin:0;accent-color:#00acf0}.wizard-actions{display:flex;justify-content:space-between;gap:14px;margin-top:34px;padding-top:26px;border-top:1px solid #294e68}.wizard-actions button,.edit-button{font:inherit;cursor:pointer}.button-quiet{border:1px solid #4a6e86;border-radius:8px;background:transparent;color:#e3f4fb;padding:12px 19px;font-weight:700}.button-quiet:hover{background:#153d58}.button-quiet:disabled{opacity:.45;cursor:not-allowed}.button-next{border:0;border-radius:8px;background:#008fdb;color:#fff;padding:12px 21px;font-weight:800}.button-next:hover{background:#00acf0}.button-next:disabled{opacity:.55;cursor:wait}.button-next:focus-visible,.button-quiet:focus-visible,.edit-button:focus-visible{outline:3px solid #7ad9ff;outline-offset:3px}.review-list{display:grid;gap:15px;margin-top:25px}.review-group{padding:18px;border:1px solid #345873;border-radius:12px;background:#103650}.review-group h3{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 13px;color:#fff;font-size:1.05rem}.review-row{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:7px 0;border-top:1px solid #ffffff1a;font-size:.87rem}.review-row dt{color:#aac3d1}.review-row dd{margin:0;color:#f1fbff;overflow-wrap:anywhere}.edit-button{border:0;background:transparent;color:#75d8ff;font-size:.84rem;font-weight:700}.edit-button:hover{text-decoration:underline}.review-note{margin:25px 0;color:#b8cedc}.submission-message{padding:14px 16px;margin:22px 0;border-radius:9px;background:#4f252d;color:#ffe0de}.confirmation{max-width:720px}.confirmation h2{color:#fff;font-size:2.5rem}.confirmation p{color:#c2d9e6}.confirmation .review-list{margin-bottom:27px}.confirmation .demo-warning{padding:15px;border-radius:9px;background:#133e5b;border:1px solid #4a83a4;color:#e2f5ff}.questionnaire-footer{padding:24px 0;border-top:1px solid #244b66;color:#a9c1d0;font-size:.85rem}.questionnaire-footer .container{display:flex;justify-content:space-between;gap:20px}.questionnaire-footer a{color:#7ad9ff}.questionnaire-footer a:hover{text-decoration:underline}@media(max-width:850px){.wizard-layout{grid-template-columns:1fr}.wizard-sidebar{display:none}.wizard-panel{padding:28px}.questionnaire-main{padding-top:42px}}@media(max-width:580px){.questionnaire-page .brand{width:145px}.back-site{font-size:.8rem}.intro h1{font-size:2.35rem}.wizard-panel{padding:22px 18px}.options{grid-template-columns:1fr}.review-row{grid-template-columns:1fr;gap:0}.wizard-actions{flex-wrap:wrap}.button-next{margin-left:auto}.questionnaire-footer .container{display:block}.questionnaire-footer a{display:block;margin-top:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.trap-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cep-retry{display:inline-block;margin-top:10px}.field-help{display:block;margin-top:8px;color:#b8cedc;font-size:.84rem}.field-help.notice{color:#ffd0bd}.field-help.success{color:#bceccf}

/* Visual v2: azul mais claro, cartões de escolha e cena de recarga */
.questionnaire-page{--q-bg:#1f5681;--q-hi:#2b6590;--q-lo:#173f62;--q-surface:#276290;--q-surface-2:#2c6a96;--q-line:#6a9cc0;--q-muted:#d3e3ee;--q-accent:#3ec3f5;--q-accent-2:#a3e4fa;--q-ink:#032238;--q-glass:rgba(23,63,98,.55);background-color:var(--q-bg);color:#f2fafe;position:relative}
.questionnaire-page .site-header,.questionnaire-main,.questionnaire-footer{position:relative;z-index:1}
.back-site{color:#d7f2ff}
.intro h1 .grad{background:linear-gradient(95deg,var(--q-accent-2),#9fdcf6 60%,#c9eefb);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro p,.wizard-sidebar p,.step-hint,.review-note,.confirmation p{color:var(--q-muted)}
.scene{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.scene svg{position:absolute;top:70px;right:max(-60px,calc(50% - 760px));width:min(680px,92vw);height:auto;color:#c6e6f7;opacity:.55}
.scene .flow{stroke:var(--q-accent-2);stroke-dasharray:6 12;animation:scene-flow 2.4s linear infinite}
.scene .pulse{transform-origin:435px 265px;animation:scene-pulse 3.6s ease-out infinite}
.scene .delay-1{animation-delay:1.2s}.scene .delay-2{animation-delay:2.4s}
@keyframes scene-flow{to{stroke-dashoffset:-72}}
@keyframes scene-pulse{0%{transform:scale(.55);opacity:.55}100%{transform:scale(1.25);opacity:0}}
.mode-note,.mode-note.demo,.mode-note.live{border-color:var(--q-line);background:#173f6280;color:#e4f4fc}
.wizard-sidebar,.wizard-panel{border-color:var(--q-line);background:var(--q-glass);backdrop-filter:blur(14px)}
.wizard-panel{border-radius:24px;box-shadow:0 30px 70px -30px #0009}
.wizard-sidebar ol{border-left:0;display:grid;gap:4px}
.wizard-sidebar li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center;margin:0;padding:9px 8px;border-radius:12px;color:var(--q-muted)}
.wizard-sidebar li::before{display:none}
.wizard-sidebar .dot{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--q-line);border-radius:50%;font-size:.75rem}
.wizard-sidebar li.active{background:#a3e4fa1a;color:#fff}
.wizard-sidebar li.active .dot{border-color:var(--q-accent-2);color:var(--q-accent-2);box-shadow:0 0 0 4px #a3e4fa26}
.wizard-sidebar li.complete .dot{border-color:var(--q-accent);background:var(--q-accent);color:var(--q-ink)}
.step-top{color:var(--q-accent-2)}
.segments{position:relative;display:flex;gap:5px;margin:14px 8px 30px 0;padding:5px;border:1.5px solid var(--q-line);border-radius:10px}
.segments::after{content:"";position:absolute;top:50%;right:-7px;width:4px;height:10px;margin-top:-5px;border-radius:0 3px 3px 0;background:var(--q-line)}
.segments i{flex:1;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--q-accent) var(--fill,0%),#ffffff26 var(--fill,0%));transition:background .3s}
.privacy-note{margin:0 0 22px;color:var(--q-muted);font-size:.86rem}.privacy-note a{color:var(--q-accent-2);text-decoration:underline}
.charge-done{display:block;width:110px;height:auto;margin-bottom:20px;color:var(--q-accent)}
.charge-fill{transform-origin:9px 28px;animation:charge-fill 1.4s ease-out both}
@keyframes charge-fill{from{transform:scaleX(.08)}to{transform:scaleX(1)}}
@media(max-width:850px){.wizard-sidebar,.wizard-panel{backdrop-filter:none;background:rgba(23,63,98,.86)}}
.step-title{letter-spacing:-.035em;text-wrap:balance}
.field-label,.field legend{color:#f2fafe}
.field input[type=text],.field input[type=number],.field input[type=tel],.field input[type=email]{border-color:var(--q-line);background:#12395e99;border-radius:12px}
.field input:focus-visible,.option:has(input:focus-visible){outline-color:var(--q-accent-2)}
.option{position:relative;padding-right:52px;border-color:var(--q-line);border-radius:14px;background:var(--q-surface);transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}
.option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.option::after{content:"";position:absolute;top:50%;right:16px;width:22px;height:22px;margin-top:-11px;border:1.5px solid var(--q-line);border-radius:50%;transition:background .18s,border-color .18s}
.option:hover{transform:translateY(-2px);border-color:var(--q-accent-2);background:var(--q-surface-2)}
.option:has(input:checked){border-color:var(--q-accent-2);background:linear-gradient(160deg,#347fae,#25608a);box-shadow:0 0 0 1px var(--q-accent-2),0 18px 40px -18px #3ec3f577}
.option:has(input:checked)::after{border-color:var(--q-accent-2);background:var(--q-accent-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23032238' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18.5 8'/%3E%3C/svg%3E") center/14px no-repeat}
.options-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px}
.option-card{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;min-height:170px;padding:20px;font-size:1.04rem}
.option-card::after{top:16px;right:16px;margin-top:0}
.option-icon{width:42px;height:42px;padding:9px;border-radius:12px;background:#a3e4fa1f;color:var(--q-accent-2)}
.wizard-actions{border-top-color:#ffffff1f}
.button-quiet{border-color:var(--q-line);border-radius:12px}
.button-quiet:hover{background:#ffffff1a}
.button-next{border-radius:12px;background:linear-gradient(135deg,#7ccff3,#3fb2ea);color:var(--q-ink);box-shadow:0 12px 28px -10px #3ec3f5aa;transition:transform .18s}
.button-next:hover{background:linear-gradient(135deg,#93d7f6,#58bff0);transform:translateY(-2px)}
.button-next:disabled{transform:none;box-shadow:none}
.review-group{border-color:var(--q-line);background:#276290aa}
.review-row dt{color:var(--q-muted)}
.edit-button{color:var(--q-accent-2)}
.questionnaire-footer{border-top-color:#ffffff1f;color:var(--q-muted)}
.questionnaire-footer a,.back-site:hover{color:#fff}
.questionnaire-page{--header-band:linear-gradient(180deg,#eef7fcf2 0%,#e1f0f9e6 70%,#d4e8f500 100%)}
.questionnaire-page .back-site{color:#0f4a78;font-weight:700}
.questionnaire-page .back-site:hover{color:#032238}
@media(max-width:850px){.scene svg{opacity:.28;top:40px}}
@media(prefers-reduced-motion:reduce){.scene .flow,.scene .pulse{animation:none}.scene .pulse{opacity:.2}.charge-fill{animation:none}.segments i{transition:none}.option,.button-next{transition:none}.option:hover,.button-next:hover{transform:none}}
@media(max-width:680px){.questionnaire-footer{padding-bottom:90px}}

/* Ajustes de leitura do formulário em telas largas, retrato e celular. */
@media(min-width:1161px){
  .questionnaire-main>.container{width:min(1320px,calc(100% - 64px))}
  .questionnaire-main .wizard-layout{grid-template-columns:280px minmax(0,1fr)}
}
@media(max-width:850px){
  .questionnaire-main .option-card{min-height:104px}
}
@media(max-width:580px){
  .questionnaire-main .options-cards{gap:10px}
  .questionnaire-main .option-card{flex-direction:row;align-items:center;gap:12px;min-height:76px;padding:13px 50px 13px 14px;font-size:1rem}
  .questionnaire-main .option-card::after{top:50%;right:15px;margin-top:-11px}
  .questionnaire-main .option-icon{flex:none;width:38px;height:38px;padding:8px}
}
.mode-note[hidden]{display:none}
.confirmation{max-width:850px}
.confirmation .review-group{padding:22px}
.confirmation .review-group h3{margin-bottom:18px}
.confirmation .review-group dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.confirmation .review-row{display:block;padding:13px 15px;border:1px solid #ffffff26;border-radius:10px;background:#173f6270}
.confirmation .review-row dt{margin-bottom:5px;font-size:.76rem;font-weight:700;letter-spacing:.03em}
.confirmation .review-row dd{font-size:.95rem;font-weight:650;line-height:1.4}
.review-row dt{display:flex;align-items:start;justify-content:space-between;gap:8px}
.review-row dt .edit-button{flex:none;font-size:.78rem}
@media(max-width:580px){
  .confirmation .review-group{padding:16px}
  .confirmation .review-group dl{grid-template-columns:1fr}
}

/* O formulário ocupa a tela útil do celular e começa logo após a abertura. */
@media(max-width:580px){
  .questionnaire-page .header-inner{min-height:64px;padding-block:9px;gap:10px}
  .questionnaire-page .brand{width:132px}
  .questionnaire-page .back-site{font-size:.78rem;white-space:nowrap}
  .questionnaire-main{padding:20px 0 44px}
  .questionnaire-main .container{width:calc(100% - 28px)}
  .questionnaire-main .intro{margin-bottom:16px}
  .questionnaire-main .intro .section-kicker{font-size:.68rem}
  .questionnaire-page .questionnaire-main .intro h1{margin:8px 0 10px;font-size:clamp(2rem,8vw,2.35rem);line-height:1.08}
  .questionnaire-main .intro p{margin:0;font-size:.94rem;line-height:1.45}
  .questionnaire-main .wizard-panel{min-height:0;padding:20px 16px;border-radius:18px}
  .questionnaire-main .step-top{gap:8px;font-size:.7rem;letter-spacing:.05em}
  .questionnaire-main .segments{margin:11px 7px 18px 0}
  .questionnaire-main .step-title{font-size:clamp(1.45rem,6vw,1.75rem);line-height:1.2}
  .questionnaire-main .step-hint{margin-bottom:16px;font-size:.9rem}
  .questionnaire-main .field{margin-bottom:18px}
  .questionnaire-main .option-card{min-height:66px;padding:11px 45px 11px 12px}
  .questionnaire-main .option-icon{width:34px;height:34px;padding:7px}
  .questionnaire-main .wizard-actions{margin-top:20px;padding-top:16px}
  .questionnaire-main .wizard-actions button{min-height:44px}
  .questionnaire-page .scene{display:none}
  .questionnaire-page .site-footer{padding-bottom:24px}
}
.questionnaire-page .step-notice{padding:12px 14px;border:1px solid var(--q-line);border-left:3px solid var(--q-accent);border-radius:10px;background:#173f6280;color:#e4f4fc}
.questionnaire-page .step-notice p{margin:0 0 10px;color:inherit}
.questionnaire-page .step-notice .button-quiet{padding:8px 14px;font-size:.88rem}

/* Entrada do formulário: grupos, cards compactos e avanço automático */
.questionnaire-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.questionnaire-page .profile-field{margin-bottom:8px}
.questionnaire-page .option-group-title{margin:18px 0 10px;color:var(--q-accent-2);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.questionnaire-page .profile-field .option-group-title:first-of-type{margin-top:4px}
.questionnaire-page .profile-field .options-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.questionnaire-page .profile-field .option-card{grid-column:span 2;min-width:0;flex-direction:row;align-items:center;gap:14px;min-height:84px;padding:16px 18px}
.questionnaire-page .profile-field .option-card:nth-child(4){grid-column:2/span 2}
.questionnaire-page .profile-field .option-card:nth-child(5){grid-column:4/span 2}
.questionnaire-page .profile-field .option-card::after{display:none}
.questionnaire-page .profile-field .option-icon{flex:none}
.questionnaire-page .option-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.questionnaire-page .option-text strong{color:#fff;font-size:.98rem;line-height:1.3}
.questionnaire-page .option-text small{color:#d3e6f2;font-size:.82rem;font-weight:500;line-height:1.35}
.questionnaire-page .inline-link{color:var(--q-accent-2);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.questionnaire-page .profile-help{line-height:1.65}
.questionnaire-page .summary-details{margin:24px 0 28px}
.questionnaire-page .summary-details summary{width:max-content;max-width:100%;padding:10px 0;color:var(--q-accent-2);font-weight:800;cursor:pointer}
.questionnaire-page .summary-details summary:focus-visible{outline:3px solid var(--q-accent-2);outline-offset:3px}
.questionnaire-page .summary-details .review-list{margin-top:12px}
.questionnaire-page .confirmation-guide{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;margin-top:16px;text-align:center;text-decoration:none;line-height:1.35}
@media(max-width:580px){
  .questionnaire-page .confirmation .charge-done{margin-bottom:12px}
  .questionnaire-page .confirmation h2{margin:10px 0 16px;font-size:clamp(1.85rem,7.5vw,2.2rem);line-height:1.12}
  .questionnaire-page .confirmation-guide{margin-top:12px}
  .questionnaire-page .summary-details{margin:16px 0 18px}
}
.questionnaire-page .step-title .optional{font-size:.48em;font-weight:600;color:#b8d3e2;white-space:nowrap}
@media(max-width:1100px){.questionnaire-page .profile-field .options-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.questionnaire-page .profile-field .option-card:nth-child(4){grid-column:span 2}.questionnaire-page .profile-field .option-card:nth-child(5){grid-column:2/span 2}}
@media(max-width:580px){.questionnaire-page .profile-field .options-cards{grid-template-columns:1fr;gap:8px}.questionnaire-page .profile-field .option-card,.questionnaire-page .profile-field .option-card:nth-child(4),.questionnaire-page .profile-field .option-card:nth-child(5){grid-column:auto;min-height:68px;padding:12px 14px}}

/* Keep the footer below the viewport while the first question is rendered. */
@media(max-width:850px){.questionnaire-page .questionnaire-main{min-height:100vh;min-height:100svh}}
@media(max-width:580px) and (max-height:740px){
  .questionnaire-page .questionnaire-main{padding-top:12px}
  .questionnaire-page .questionnaire-main .intro{margin-bottom:10px}
  .questionnaire-page .questionnaire-main .intro h1{margin:6px 0 7px}
  .questionnaire-page .questionnaire-main .wizard-panel{padding-block:16px}
  .questionnaire-page .questionnaire-main .segments{margin:8px 7px 12px 0}
  .questionnaire-page .questionnaire-main .step-title{margin-bottom:8px}
  .questionnaire-page .questionnaire-main .field{margin-bottom:12px}
  .questionnaire-page .questionnaire-main .wizard-actions{margin-top:14px;padding-top:12px}
}
@media(max-width:580px) and (max-height:650px){
  .questionnaire-page .questionnaire-main{padding-top:8px}
  .questionnaire-page .questionnaire-main .intro{margin-bottom:6px}
  .questionnaire-page .questionnaire-main .wizard-panel{padding-block:12px}
  .questionnaire-page .questionnaire-main .options{gap:8px}
  .questionnaire-page .questionnaire-main .option{min-height:52px;padding-block:9px}
  .questionnaire-page .questionnaire-main .wizard-actions{margin-top:8px;padding-top:8px}
}
@media(max-width:580px){
  .questionnaire-page .wizard-panel.wizard-panel-expand{min-height:calc(100svh - 24px);display:flex;flex-direction:column}
  .questionnaire-page .wizard-panel-expand #wizard,.questionnaire-page .wizard-panel-expand #step-form{flex:1;display:flex;flex-direction:column}
  .questionnaire-page .wizard-panel-expand .wizard-actions{margin-top:auto}
}

/* Endereço do condomínio: campos compactos e rolagem dentro do cartão no celular. */
.questionnaire-page .field-help:empty{display:none}
@media(max-width:580px){
  .questionnaire-page .condo-address .field-postalCode{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
  .questionnaire-page .condo-address .field-postalCode .field-label,
  .questionnaire-page .condo-address .field-postalCode .field-help,
  .questionnaire-page .condo-address .field-postalCode .field-error{grid-column:1/-1;margin:0}
  .questionnaire-page .condo-address .field-postalCode input{min-width:0;max-width:none}
  .questionnaire-page .condo-address .field-postalCode .cep-retry{min-height:44px;margin:0;padding:8px 13px;white-space:nowrap}
  .questionnaire-page .condo-address .address-field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:10px}
  .questionnaire-page .condo-address .address-city-row{grid-template-columns:minmax(0,1fr) 78px}
  .questionnaire-page .condo-address .address-field-row .field{min-width:0}
  .questionnaire-page .condo-address .address-field-row input{min-width:0;max-width:none}
  .questionnaire-page .condo-address .address-field-row .field-label{font-size:.85rem;line-height:1.3}
  .questionnaire-page .wizard-panel.wizard-panel-address,
  .questionnaire-page .wizard-panel.wizard-panel-condo-project{height:calc(100svh - 28px - env(safe-area-inset-bottom, 0px));height:calc(100dvh - 28px - env(safe-area-inset-bottom, 0px));min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .questionnaire-page .questionnaire-main .wizard-panel.wizard-panel-address,
  .questionnaire-page .questionnaire-main .wizard-panel.wizard-panel-condo-project{padding-block:10px}
  .questionnaire-page .wizard-panel-address #wizard,
  .questionnaire-page .wizard-panel-address #step-form,
  .questionnaire-page .wizard-panel-condo-project #wizard,
  .questionnaire-page .wizard-panel-condo-project #step-form{flex:1;min-height:0;display:flex;flex-direction:column}
  .questionnaire-page .wizard-panel-address .segments,
  .questionnaire-page .wizard-panel-condo-project .segments{margin-top:4px;margin-bottom:8px}
  .questionnaire-page .wizard-panel-address .step-title,
  .questionnaire-page .wizard-panel-condo-project .step-title{margin-bottom:8px}
  .questionnaire-page .wizard-panel-condo-project .step-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-right:3px}
  .questionnaire-page .questionnaire-main .intro.intro-condo-followup{margin-bottom:24px}
  .questionnaire-page .wizard-panel-condo-project .wizard-actions{gap:10px}
  .questionnaire-page .wizard-panel-address .condo-address{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-right:3px}
  .questionnaire-page .wizard-panel-address .field{margin-bottom:5px}
  .questionnaire-page .wizard-panel-address .field-label{margin-bottom:5px}
  .questionnaire-page .wizard-panel-address input{min-height:44px}
  .questionnaire-page .wizard-panel-address .wizard-actions,
  .questionnaire-page .wizard-panel-condo-project .wizard-actions{flex:none;margin-top:10px;padding-top:8px}
}

/* Nas telas finais do condomínio, o título acompanha a etapa. */
.questionnaire-page .intro-compact p{display:none}
.questionnaire-page .review-mobile-heading,.questionnaire-page .review-mobile-final,.questionnaire-page .review-next,.questionnaire-page .review-stage-number{display:none}
@media(max-width:580px){
  .questionnaire-page .intro-compact{margin-bottom:10px}
  .questionnaire-page .intro-compact .section-kicker{display:none}
  .questionnaire-page .questionnaire-main .intro-compact h1{margin:0;font-size:1.8rem;line-height:1.12}
  .questionnaire-page .wizard-panel.wizard-panel-contact{min-height:calc(100svh - 28px - env(safe-area-inset-bottom, 0px));min-height:calc(100dvh - 28px - env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column}
  .questionnaire-page .questionnaire-main .wizard-panel.wizard-panel-contact{padding-block:10px}
  .questionnaire-page .wizard-panel-contact #wizard,
  .questionnaire-page .wizard-panel-contact #step-form{flex:1;display:flex;flex-direction:column}
  .questionnaire-page .wizard-panel-contact .segments{margin-top:4px;margin-bottom:4px}
  .questionnaire-page .wizard-panel-contact .step-title{margin-bottom:6px}
  .questionnaire-page .wizard-panel-contact .field{margin-bottom:5px}
  .questionnaire-page .wizard-panel-contact .field-label{margin-bottom:4px}
  .questionnaire-page .wizard-panel-contact input{min-height:44px}
  .questionnaire-page .wizard-panel-contact .wizard-actions{margin-top:auto;padding-top:8px}
  .questionnaire-page .intro.intro-review{display:none}
  .questionnaire-page .wizard-panel.wizard-panel-review{min-height:0;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;overflow:visible}
  .questionnaire-page .wizard-panel-review .review-desktop-heading,
  .questionnaire-page .wizard-panel-review .review-desktop-final{display:none}
  .questionnaire-page .wizard-panel-review .review-list{gap:16px;margin-top:0}
  .questionnaire-page .wizard-panel-review .review-stage{min-height:calc(100svh - 28px - env(safe-area-inset-bottom, 0px));min-height:calc(100dvh - 28px - env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;padding:18px 16px;border-radius:18px;scroll-snap-align:start}
  .questionnaire-page .wizard-panel-review .review-mobile-heading{display:block;margin-bottom:18px}
  .questionnaire-page .wizard-panel-review .review-mobile-heading h2{margin:8px 0 5px;color:#fff;font-size:1.55rem;line-height:1.16}
  .questionnaire-page .wizard-panel-review .review-mobile-heading p{margin:0;color:var(--q-muted);font-size:.9rem}
  .questionnaire-page .wizard-panel-review .review-stage h3{display:block;margin-bottom:8px;font-size:1.15rem}
  .questionnaire-page .wizard-panel-review .review-stage-number{display:block;margin-bottom:3px;color:var(--q-accent-2);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
  .questionnaire-page .wizard-panel-review .review-stage dl{margin:0}
  .questionnaire-page .wizard-panel-review .review-row{padding:8px 0;font-size:.84rem}
  .questionnaire-page .wizard-panel-review .review-row dt{line-height:1.3}
  .questionnaire-page .wizard-panel-review .review-row dd{margin-top:3px;font-size:.92rem;line-height:1.3}
  .questionnaire-page .wizard-panel-review .review-next{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:auto;padding-top:12px;color:var(--q-accent-2);font-weight:800;text-decoration:none}
  .questionnaire-page .wizard-panel-review .review-next:focus-visible{outline:3px solid var(--q-accent-2);outline-offset:3px}
  .questionnaire-page .wizard-panel-review .review-mobile-final{display:block;margin-top:auto}
  .questionnaire-page .wizard-panel-review .review-note{margin:12px 0;font-size:.85rem;line-height:1.4}
  .questionnaire-page .wizard-panel-review .wizard-actions{gap:8px;margin-top:12px;padding-top:12px}
  .questionnaire-page .wizard-panel-review .wizard-actions button{min-height:44px;padding-inline:12px}
  .questionnaire-page .wizard-panel-review .wizard-actions .button-next{max-width:100%;text-align:center}
  .review-snap{scroll-snap-type:y proximity;scroll-padding-top:12px;scroll-behavior:smooth}
  .questionnaire-page .intro.intro-confirmation{display:none}
  .questionnaire-page .wizard-panel.wizard-panel-confirmation{height:calc(100svh - 28px - env(safe-area-inset-bottom, 0px));height:calc(100dvh - 28px - env(safe-area-inset-bottom, 0px));min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-block:12px}
  .questionnaire-page .wizard-panel-confirmation #wizard{flex:1;min-height:0;display:flex;flex-direction:column}
  .questionnaire-page .wizard-panel-confirmation .confirmation{flex:1;min-height:0;overflow-y:auto;padding-right:3px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
}
@media(max-width:580px) and (prefers-reduced-motion:reduce){.review-snap{scroll-snap-type:none;scroll-behavior:auto}}

/* Os demais caminhos usam o mesmo cartão enquadrado das etapas do condomínio. */
@media(max-width:580px){
  .questionnaire-page .questionnaire-main .intro.intro-first{margin-bottom:40px}
  .questionnaire-page .wizard-panel.wizard-panel-fluid{height:calc(100dvh - 28px - env(safe-area-inset-bottom, 0px));min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .questionnaire-page .questionnaire-main .wizard-panel.wizard-panel-fluid{padding-block:10px}
  .questionnaire-page .wizard-panel-fluid #wizard,
  .questionnaire-page .wizard-panel-fluid #step-form{flex:1;min-height:0;display:flex;flex-direction:column}
  .questionnaire-page .wizard-panel-fluid .step-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-right:3px}
  .questionnaire-page .wizard-panel-fluid .wizard-actions{flex:none;margin-top:10px;padding-top:8px}
  .questionnaire-page .wizard-panel.wizard-panel-first{height:calc(100dvh - 40px - env(safe-area-inset-bottom, 0px));min-height:0}
  .questionnaire-page .wizard-panel-first .profile-help{margin-bottom:10px;line-height:1.3}
  .questionnaire-page .wizard-panel-first .profile-field{margin-bottom:0}
  .questionnaire-page .wizard-panel-first .profile-field .options-cards{gap:7px}
  .questionnaire-page .wizard-panel-first .profile-field .option-card{height:60px;min-height:60px;padding:7px 12px}
  .questionnaire-page .wizard-panel-first .profile-field .option-text strong{font-size:.94rem;line-height:1.2}
  .questionnaire-page .wizard-panel-first .profile-field .option-text small{display:none}
}
@media(max-width:580px) and (max-height:600px){
  .questionnaire-page .wizard-panel-first .profile-field .options-cards{gap:6px}
  .questionnaire-page .wizard-panel-first .profile-field .option-card{height:56px;min-height:56px}
}
