/* Form entry keeps the original introduction; question stages use a focused layout. */
.quiz-form { --quiz-wine:#5d0a1f; --quiz-ivory:#f5efe8; width:100%; min-width:0; }
.quiz-form .quiz-stage[hidden] { display:none!important; }
.quiz-progress { margin:0 0 32px; }
.quiz-progress-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#6b4746; }
.quiz-progress-title { font-family:"Profa Trial","Mulish",sans-serif; font-size:12px; line-height:1.5; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.quiz-progress-title:focus,.quiz-stage .question-heading-text:focus { outline:none; }
.quiz-progress-count { font-family:"Profa Trial","Mulish",sans-serif; font-size:13px; font-weight:600; flex:none; }
.quiz-progress-track { height:3px; overflow:hidden; margin-top:12px; background:#d6c5c2; border-radius:3px; }
.quiz-progress-track > span { display:block; height:100%; background:linear-gradient(90deg,#38050E 0%,#933634 50%,#A1A082 100%); transition:width .3s ease; }
.quiz-hint { margin:12px 0 0!important; font-family:"Mulish",sans-serif; color:#6b4746; font-size:13px!important; line-height:1.6!important; }
.quiz-stage { width:100%; min-width:0; }
.quiz-stage.is-current { animation:quiz-enter .25s ease both; }
.quiz-stage .qualification-question { padding:0!important; margin:0!important; border:0!important; min-width:0; }
.quiz-stage .qualification-question legend { margin:0 0 26px!important; padding:0!important; width:100%; }
.quiz-stage .question-title { align-items:flex-start!important; gap:14px!important; }
.quiz-stage .question-heading-copy { font-family:"Mulish",Arial,sans-serif!important; font-size:clamp(24px,3vw,34px)!important; line-height:1.25!important; font-weight:400!important; color:#38050e; overflow-wrap:break-word; }
.quiz-stage .question-icon { flex:none; width:24px!important; height:24px!important; margin-top:7px; }
.quiz-stage .question-help { margin:0 0 24px!important; }
.quiz-stage .qualification-question > .qualification-field { margin-top:22px!important; }
.quiz-stage .qualification-question .qualification-field label { white-space:normal; }
.quiz-stage .qualification-question input,.quiz-stage .qualification-question textarea,.quiz-stage .qualification-question select { box-sizing:border-box; min-width:0; max-width:100%; font-size:16px!important; }
.quiz-stage .qualification-question .choice-list,.quiz-stage .qualification-question .choice-options { margin:0!important; }
.quiz-navigation { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:34px; }
.quiz-back,.quiz-next { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:13px 24px; border-radius:9px; font-family:"Profa Trial","Mulish",sans-serif; font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.02em; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:background-color .18s ease,box-shadow .18s ease; }
.quiz-back { color:var(--quiz-wine); border:0; border-radius:0; background:transparent; box-shadow:none; padding-inline:0; }
.quiz-next { margin-left:auto; color:var(--quiz-ivory); background:var(--quiz-wine); border:1px solid var(--quiz-wine); }
.quiz-next:hover { background:#38050e; }
.quiz-back:hover { background:transparent; color:#933634; }
.quiz-back:focus-visible,.quiz-next:focus-visible { outline:2px solid #933634; outline-offset:4px; }
.quiz-back:disabled,.quiz-next:disabled { cursor:wait; opacity:.6; }
.quiz-active.site-shell { display:block!important; min-height:calc(100svh - 180px)!important; background:#f5efe8; }
.quiz-active .story-panel,.quiz-active .form-heading,.quiz-active .topline { display:none!important; }
.quiz-active .form-panel { width:100%!important; min-width:0; padding:36px 24px 64px!important; }
.quiz-active .form-wrap { width:100%!important; max-width:780px!important; margin:0 auto!important; }
.quiz-active .section-back { margin-bottom:30px!important; }
.quiz-active .quiz-form { min-height:390px; }
.quiz-form .qualification-bottom { margin-top:12px!important; padding-top:24px!important; }
.quiz-active .qualification-bottom { gap:24px; }
.quiz-active .qualification-bottom .submit { min-height:50px; border-radius:9px; }
@keyframes quiz-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:600px) {
  .quiz-active .form-panel { padding:26px 20px 44px!important; }
  .quiz-progress { margin-bottom:28px; }
  .quiz-progress-title { font-size:11px; }
  .quiz-stage .question-title { gap:10px!important; }
  .quiz-stage .question-icon { width:22px!important; height:22px!important; margin-top:5px; }
  .quiz-stage .question-heading-copy { font-size:24px!important; font-weight:400!important; font-family:"Mulish",Arial,sans-serif!important; }
  .quiz-navigation { gap:12px; margin-top:28px; }
  .quiz-back,.quiz-next { padding:13px 17px; min-height:50px; }
  .quiz-back { padding-inline:0; }
  .quiz-active .form-wrap { padding:0!important; }
}
@media(prefers-reduced-motion:reduce) {
  .quiz-stage.is-current { animation:none; }
  .quiz-progress-track > span,.quiz-back,.quiz-next { transition:none; }
}

/* Keep every desktop quiz step in the original right-hand column. */
@media (min-width:901px) {
  div#root > main.site-shell.quiz-active {
    display:grid!important;
    grid-template-columns:minmax(320px,39%) minmax(0,1fr)!important;
    align-items:stretch!important;
  }
  div#root > main.site-shell.quiz-active > aside.story-panel {
    display:flex!important;
    min-width:0;
  }
  .quiz-active .form-panel {
    grid-column:2;
    padding:clamp(30px,5.2vw,78px) clamp(25px,7vw,110px) 62px!important;
  }
  .quiz-active .form-wrap { max-width:680px!important; }
}
/* On mobile the opening remains exclusive to the contact step. */
@media (max-width:900px) {
  div#root > main.site-shell.quiz-active > aside.story-panel { display:none!important; }
}

/* Four project branches using the shared quiz components and design tokens. */
.project-type-selection{max-width:760px;min-height:65vh;margin:auto;padding:48px 24px 72px;box-sizing:border-box}
.project-type-selection .eyebrow{margin-top:36px}.project-type-selection h1{font-family:"Libre Caslon Condensed",Georgia,serif;font-size:clamp(32px,5vw,48px);font-weight:400;line-height:1.15;margin:18px 0 32px;color:#38050e}
.project-type-options{display:grid;gap:16px}.project-type-choice{display:flex;align-items:center;gap:16px;width:100%;padding:24px;text-align:left;cursor:pointer;font:inherit;color:inherit}.project-type-choice span:nth-child(2){flex:1}.project-type-choice:focus-visible{outline:2px solid #A1A082;outline-offset:4px}
.project-number-field{position:relative;min-width:0}.project-number-field input{padding-right:56px!important}.measurement-unit{position:absolute;right:18px;top:50px;font:500 16px "Mulish",sans-serif;color:#746461;pointer-events:none}
.project-answer-field,.project-number-field{width:100%;min-width:0}.project-answer-field textarea{box-sizing:border-box;max-width:100%}
.investment-kind{font-family:"Profa Trial","Mulish",sans-serif!important;font-size:12px!important;font-weight:600;letter-spacing:.06em;border-left:3px solid #A1A082;padding:10px 14px;margin:12px 0 20px}.investment-projeto{border-color:#5d0a1f}
.selection-grid>a:nth-child(2){order:0}.selection-grid>a:nth-child(3){order:1}.selection-grid>.process-home-card{order:2}.selection-grid>a:nth-child(4){order:3}
.selection-grid .card-title h2{font-size:clamp(12px,1.15vw,17px)!important;white-space:normal;overflow-wrap:normal}
.qualification-success .instagram-confirm-btn{max-width:100%;box-sizing:border-box;gap:12px}.qualification-success .instagram-button-handle{white-space:normal;line-height:1.45;font-size:14px}.commercial-whatsapp{margin:20px 0 28px}
@media(max-width:600px){.project-type-selection{padding:30px 20px 48px}.project-type-choice{padding:20px 16px}.selection-grid .card-title h2{font-size:17px!important}.project-number-field input{font-size:16px!important}}

/* Consistent spacing for conditional answers in every quiz branch. */
.quiz-stage .qualification-question > .project-answer-field,
.quiz-stage .qualification-question > .project-number-field,
.quiz-stage .qualification-question > .qualification-field { margin-top:28px!important; }
.quiz-stage .qualification-question .qualification-field label { display:block; margin-bottom:12px!important; line-height:1.5; }
.quiz-stage .qualification-question .qualification-field .field-help { margin-bottom:12px; }
.quiz-stage .project-number-field .measurement-unit { top:52px; }
@media(max-width:600px){
 .quiz-stage .qualification-question > .project-answer-field,
 .quiz-stage .qualification-question > .project-number-field,
 .quiz-stage .qualification-question > .qualification-field { margin-top:26px!important; }
}

/* Match visual card order to reading and keyboard order. */
.selection-grid > .section-card { order:0!important; }
.selection-grid > .process-home-card { order:-1!important; }
.project-type-choice > span:nth-child(2) { font-family:"Profa Trial Bold","Profa Trial","Mulish",sans-serif!important; font-weight:700!important; text-transform:uppercase; font-size:clamp(14px,1.8vw,18px); line-height:1.5; min-width:0; }
.project-type-choice > :first-child,.project-type-choice > :last-child { flex-shrink:0; }
.project-type-selection h1 { text-wrap:balance; overflow-wrap:break-word; }

.project-type-selection h1{font-weight:400!important;text-transform:none!important}.project-type-selection h1 strong{font-weight:700!important;text-transform:none!important}

/* Shared cover frame for all entry cards, including the method. */
.selection-content .selection-grid > .section-card > img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important;object-position:center!important;min-height:0!important;max-height:none!important}

.qualification-success .instagram-confirm-btn{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;width:min(100%,320px)!important;min-height:52px!important;height:auto!important;padding:12px 16px!important;border:1px solid rgba(93,10,31,.22)!important;border-radius:6px!important;gap:12px!important;box-sizing:border-box!important;text-decoration:none!important}
.qualification-success .instagram-confirm-btn svg{width:22px!important;height:22px!important;flex:0 0 22px!important}
.qualification-success .success-actions{display:grid!important;grid-template-columns:minmax(0,320px)!important;gap:12px!important;width:100%!important}
.qualification-success .commercial-whatsapp{font-family:"Profa Trial Bold","Profa Trial","Mulish",sans-serif!important;font-weight:700!important;text-transform:uppercase;font-size:13px!important;line-height:1.5!important;letter-spacing:.01em}
.qualification-success .commercial-whatsapp span{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;overflow-wrap:normal!important}
.qualification-success .instagram-button-handle{font-size:16px!important;line-height:1.5!important;white-space:nowrap!important}
@media(max-width:380px){.qualification-success .instagram-confirm-btn{padding:12px!important;gap:9px!important}.qualification-success .commercial-whatsapp{font-size:11px!important}.qualification-success .instagram-button-handle{font-size:14px!important}}

/* Confirmation badge: gentle arrival and a subtle breathing motion. */
.qualification-success .success-mark{width:56px;height:56px;animation:nabya-success-enter .55s cubic-bezier(.2,.8,.2,1) both,nabya-success-breathe 3s ease-in-out .55s infinite;transform-origin:center}
.qualification-success .success-mark svg{width:32px;height:32px}
@keyframes nabya-success-enter{from{opacity:0;transform:translateY(6px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes nabya-success-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@media(prefers-reduced-motion:reduce){.qualification-success .success-mark{animation:none;transform:none}}
