@font-face {
  font-family: Montserrat;
  src: url("./montserrat-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
:root {
  font-family: Montserrat, Arial, sans-serif;
  color: #171716;
  background: #fff;
  --brown: #653c2c;
  --line: #dadad5;
}
* { box-sizing: border-box; }
body { margin: 0; }
.masthead { position: sticky; top: 0; z-index: 100; background: #301e14; }
.masthead-inner {
  max-width: 1120px;
  margin: auto;
  height: 72px;
  padding: 0 32px;
  display: flex;
  align-items: center;
}
.masthead img { width: 150px; height: auto; display: block; }
main { max-width: 960px; margin: 0 auto; padding: clamp(32px, 5vw, 68px) 32px; }
h1, h2 { margin: 0; font-weight: 600; letter-spacing: -.04em; }
h1 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.15; margin-bottom: 28px; }
section { padding: clamp(24px, 4vw, 44px); border-radius: 18px; border: 1px solid var(--line); background: white; }
.section-head, .actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.section-head { margin-bottom: 30px; }
h2 { font-size: clamp(20px, 2vw, 24px); }
.fields { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
label { display: block; font-size: 15px; font-weight: 500; margin-bottom: 9px; }
input, button { font: inherit; }
input { width: 100%; min-width: 0; height: 52px; border-radius: 14px; border: 1px solid #bfbfb9; padding: 0 15px; color: inherit; background: white; }
input:focus { outline: none; border-color: var(--brown); box-shadow: none; }
button:focus-visible { outline: 2px solid #80513e; outline-offset: 3px; }
input[aria-invalid="true"] { border-color: #c43d3d; }
#form-error { color: #963b32; }
.actions { margin-top: 32px; border-top: 1px solid var(--line); padding-top: 22px; }
#save-status { font-size: 13px; color: #62625f; }
button { cursor: pointer; font-weight: 600; border-radius: 14px; padding: 13px 22px; }
#save { background: var(--brown); color: white; border: 0; }
#save:hover { background: #4e2c20; }
#resume { color: var(--brown); border: 1px solid var(--line); background: white; }
.step-label { color: var(--brown); font-size: 12px; font-weight: 700; letter-spacing: .08em; margin: 0 0 12px; }
#name-fields { grid-template-columns: 1fr; }
#identificacao { max-width: 660px; min-height: calc(100svh - 73px); display: flex; flex-direction: column; padding-top: 32px; padding-bottom: 24px; }
.step-content { margin-block: auto; padding-block: 24px; }
.step-progress { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.progress-dots { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.progress-dots span { width: 5px; height: 5px; border-radius: 5px; background: #ded8d4; }
.progress-dots span.active { width: 18px; background: var(--brown); }
.step-progress .progress-status { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; padding: 6px 10px; border: 1px solid #e5dfda; border-radius: 16px; color: #666a72; font-size: 10px; font-weight: 500; }
.progress-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--brown); }
.step-progress progress { display: block; appearance: none; width: 100%; min-width: 0; flex: 1; height: 4px; border: 0; border-radius: 4px; overflow: hidden; background: #eee9e5; color: var(--brown); }
.step-progress progress::-webkit-progress-bar { background: #eee9e5; border-radius: 4px; }
.step-progress progress::-webkit-progress-value { background: var(--brown); border-radius: 4px; }
.step-progress progress::-moz-progress-bar { background: var(--brown); border-radius: 4px; }
#identificacao .step-content > h1 { font-size: 24px; line-height: 32px; margin-bottom: 10px; letter-spacing: -.02em; }
#identificacao .step-content > h1:focus { outline: none; }
.step-description { font-size: 14px; line-height: 22px; color: #666a72; margin: 0 0 32px; }
.brown-guidance { border: 1px solid var(--brown); border-radius: 16px; padding: 14px 16px; background: var(--brown); color: #fff; font-size: 12px; line-height: 19px; }
#identificacao .step-content > section { padding: 0; border: 0; background: transparent; }
#identificacao .section-head { margin-bottom: 20px; }
#identificacao .section-head:has(#resume-card[hidden]) { margin-bottom: 0; }
#identificacao .actions { border-top: 0; padding-top: 0; margin-top: 36px; flex-wrap: nowrap; }
#identificacao #save { margin-left: auto; white-space: nowrap; }
#identificacao #back, #identificacao #save { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 11px 20px; border-radius: 16px; font-size: 15px; font-weight: 500; line-height: 20px; }
#back { border: 1px solid #d0d3d6; background: #fff; color: #111112; white-space: nowrap; }
#back:hover { background: #f2f2f2; }
#back svg { flex-shrink: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 640px) {
  #identificacao { min-height: calc(100svh - 61px); }
  .masthead-inner { height: 60px; padding: 0 20px; }
  .masthead img { width: 128px; }
  main { padding: 30px 16px; }
  h1 { margin-bottom: 20px; }
  section { padding: 24px 18px; }
  .fields { grid-template-columns: 1fr; gap: 19px; }
  .actions { flex-direction: column; align-items: stretch; gap: 10px; }
  #save-status:empty { display: none; }
}
[hidden] { display: none !important; }
body.at-start { background-color: #241914; }
body.at-transition, body.at-calculating, body.at-result {
  background-color: #241914;
  background-image: linear-gradient(rgb(210 188 166 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(210 188 166 / 4%) 1px, transparent 1px),
    radial-gradient(ellipse at 60% 0%, #493127, #231914 65%);
  background-size: 56px 56px, 56px 56px, auto;
  color: #fff;
}
body.at-transition .stage-transition .step-label { color: #dfc7ba; border-color: rgb(210 188 166 / 24%); background: rgb(210 188 166 / 5%); }
body.at-transition .stage-transition .step-description,
body.at-transition .stage-transition .block-path p { color: #cbb9ad; }
body.at-transition .stage-transition .path-marker { background: #3b2d26; color: #dfc7ba; }
body.at-transition .stage-transition .completed .path-marker,
body.at-transition .stage-transition .current .path-marker { border: 1px solid rgb(210 188 166 / 24%); background: #301e14; color: #dfc7ba; }
body.at-transition .stage-transition .current .path-marker {
  background: linear-gradient(145deg, #805640 0%, #513323 48%, #28190f 100%);
  border-color: #b18b6d;
  box-shadow: inset 1px 2px 2px rgb(255 232 203 / 30%), inset -1px -2px 3px rgb(0 0 0 / 45%), 0 3px 0 #1c110c, 0 5px 8px rgb(0 0 0 / 35%);
  color: #f3e4d4;
  text-shadow: 0 1px 1px rgb(0 0 0 / 50%);
}
body.at-transition .stage-transition .current > div {
  position: relative;
  z-index: 1;
  transform: none;
  text-shadow: none;
  filter: drop-shadow(0 5px 4px rgb(0 0 0 / 25%));
}
body.at-transition .stage-transition .current .path-title strong { color: #fff; font-weight: 700; font-size: 14.56px; }
body.at-transition .stage-transition .current p { color: #efe3dc; font-size: 12.32px; line-height: 19.04px; }
body.at-transition .stage-transition .current .path-state {
  font-size: 11.2px;
  text-shadow: none;
}
body.at-transition .stage-transition .path-state { background: rgb(210 188 166 / 12%); color: #dfc7ba; font-weight: 600; border: 1px solid currentColor; }
body.at-transition .stage-transition .block-path li::before { background: rgb(210 188 166 / 20%); }
.masthead { background: #281b15; border-bottom: 1px solid rgb(210 188 166 / 14%); }
.masthead-inner { max-width: none; }
.masthead img { position: relative; left: 52px; }
.opening {
  max-width: none;
  padding: 40px 22px 80px;
  min-height: calc(100svh - 72px);
  display: grid;
  place-items: center;
  text-align: center;
  color: #fff;
  background-image: linear-gradient(rgb(210 188 166 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(210 188 166 / 4%) 1px, transparent 1px),
    radial-gradient(ellipse at 60% 0%, #493127, #231914 65%);
  background-size: 56px 56px, 56px 56px, auto;
}
.opening-inner { width: min(100%, 600px); }
.product { display: inline-flex; color: #dfc7ba; margin: 0 0 20px; padding: 6px 12px; border: 1px solid rgb(210 188 166 / 24%); border-radius: 8px; background: rgb(210 188 166 / 5%); font-size: 12px; font-weight: 600; }
@property --badge-light-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.product, .stage-transition .step-label, .stage-transition .path-marker { position: relative; }
.product::after, .stage-transition .step-label::after,
.stage-transition .completed .path-marker::after,
.stage-transition .current .path-marker::after {
  content: "";
  position: absolute;
  inset: -1px;
  padding: 1px;
  border-radius: inherit;
  pointer-events: none;
  background: conic-gradient(from var(--badge-light-angle), transparent 0deg 285deg, rgb(239 227 220 / 20%) 310deg, #f6e7d6 335deg, transparent 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  animation: badge-light-clockwise 3.5s linear infinite;
}
@keyframes badge-light-clockwise {
  to { --badge-light-angle: 360deg; }
}
@media (prefers-reduced-motion: reduce) {
  .product::after, .stage-transition .step-label::after,
  .stage-transition .completed .path-marker::after,
  .stage-transition .current .path-marker::after { animation: none; }
}
.opening h1 { font-size: clamp(30px, 3.7vw, 48px); line-height: 1.15; margin: 0; letter-spacing: -.04em; }
.opening h1 em { font-style: normal; color: #00c2b8; }
.opening .product { color: #00c2b8; border-color: #00c2b8; background: #00c2b814; }
.opening .product::after { background: conic-gradient(from var(--badge-light-angle), transparent 0deg 270deg, #00c2b880 305deg, #c2fff8 337deg, transparent 360deg); }
.opening .start { font-weight: 700; background: #00c2b8; color: #082e2b; }
.opening .start:hover { background: #00b2a9; }
.opening .start:active { background: #009e96; }
.lead { max-width: 600px; margin: 18px auto 24px; font-size: 13px; line-height: 1.65; color: #efe3dc; text-wrap: balance; }
.benefits { list-style: none; padding: 0; margin: 0 auto 22px; display: flex; justify-content: space-between; gap: 16px; }
.benefits li { display: flex; align-items: center; justify-content: center; padding: 6px 0; border: 0; background: transparent; color: #dfc7ba; font-size: 10px; font-weight: 500; line-height: 1.5; }
.benefits svg { width: 18px; height: 18px; flex: none; }
.start { display: flex; justify-content: center; align-items: center; gap: 10px; max-width: 400px; margin: auto; padding: 13px 16px; background: #efe3dc; color: #301e14; border-radius: 12px; font-size: 14px; font-weight: 600; text-decoration: none; }
.social-proof { margin: 10px 0 0; font-size: 10px; line-height: 1.7; color: #c3afa2; }
.start:hover { background: white; }
.start:focus-visible { outline: 2px solid white; outline-offset: 4px; }
.benefits { position: relative; top: 0; width: 90%; }
.start, .social-proof { position: relative; top: 12px; }
.start { width: 90%; max-width: none; padding-top: 17px; padding-bottom: 17px; }
.start { border-radius: 16px; }
.benefits li { flex-direction: row; gap: 4px; padding-inline: 3px; }
.benefits li span { white-space: nowrap; }
.benefits svg { width: 16px; height: 16px; }
@media (max-width: 640px) {
  .opening { min-height: calc(100svh - 60px); padding: 36px 20px 44px; }
  .benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .benefits li { padding: 6px 0; }
  .lead { font-size: 13px; margin: 16px auto 22px; }
  .product { margin-bottom: 18px; }
}

/* Questionnaire: use the approved form width, typography and brown controls. */
#identificacao .step-content { width: 100%; min-width: 0; }
.progress-dots span.complete { background: #9c8072; }
.block-path { list-style: none; padding: 0; margin: 24px 0 32px; }
.block-path li { position: relative; display: flex; gap: 14px; padding: 0 0 20px; }
.block-path li:not(:last-child)::before { content: ''; position: absolute; left: 13px; top: 29px; bottom: 2px; width: 1px; background: #e7e3df; }
.path-marker { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 14px; background: #f4f2f0; color: #777b82; font-size: 12px; }
.current .path-marker, .completed .path-marker { color: white; background: var(--brown); }
.path-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-height: 28px; }
.path-title strong { font-size: 14px; font-weight: 600; }
.path-state { font-size: 10px; color: #777b82; }
.current .path-state, .completed .path-state { color: var(--brown); background: #f4efeb; padding: 3px 7px; border-radius: 8px; }
.block-path p { margin: 3px 0 0; font-size: 12px; line-height: 19px; color: #777b82; }
#identificacao .stage-transition { max-width: 520px; margin-inline: auto; padding-block: 24px; }
.stage-transition .step-label { display: inline-flex; padding: 6px 12px; border: 1px solid #e5dfda; border-radius: 16px; font-size: 11px; margin-bottom: 18px; }
#identificacao .stage-transition > h1 { font-size: 22px; line-height: 30px; }
.stage-transition .step-description { font-size: 13px; line-height: 21px; margin-bottom: 24px; }
.stage-transition .block-path { margin: 0 0 24px; }
.stage-transition .block-path li { gap: 12px; padding-bottom: 16px; }
.stage-transition .block-path li:last-child { padding-bottom: 0; }
.stage-transition .block-path li.upcoming { opacity: .4; }
.stage-transition .path-title strong { font-size: 13px; }
.stage-transition .block-path p { font-size: 11px; line-height: 17px; margin-top: 2px; }
.stage-transition .current .path-marker { background: white; color: var(--brown); border: 2px solid var(--brown); font-weight: 600; }
#identificacao .stage-transition .actions { margin-top: 28px; }
.stage-transition #save-status:empty { display: none; }
.catalog-sheet { margin-top: 28px; padding-right: 28px; }
.catalog-sheet-header, .catalog-sheet-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.catalog-sheet-header { align-items: center; margin-bottom: 10px; }
.catalog-sheet-header > span { display: none; }
.cost-sheet .catalog-sheet-header, .cost-sheet .catalog-sheet-row { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.cost-section-title { margin-top: 24px; font-size: 16px; line-height: 24px; }
.cost-absence { margin-top: 14px; padding: 0; border: 0; }
.cost-absence span { font-size: 12px; line-height: 18px; }
.catalog-sheet-header strong { font-size: 12px; line-height: 18px; font-weight: 600; }
.catalog-sheet-row { position: relative; margin-bottom: 16px; }
.catalog-sheet-row > div { min-width: 0; }
.catalog-sheet-row .answer-field > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.catalog-sheet-row .quality-control { width: 100%; margin-top: 6px; }
.catalog-sheet-row .quality-control .select-trigger { height: 28px; font-size: 10px; padding-inline: 8px; }
.catalog-service-cell .answer-field + .answer-field { margin-top: 8px; }
.catalog-remove { position: absolute; left: calc(100% + 8px); top: 0; width: 20px; border: 0; background: transparent; color: var(--brown); padding: 10px 0; font-size: 20px; line-height: 24px; }
.catalog-remove:hover { color: #4e2c20; }
#diagnosis-form:has(.catalog-sheet) > .add-record { background: #fff; border-color: var(--brown); color: var(--brown); }
#diagnosis-form:has(.catalog-sheet) > .add-record:hover { background: #f9f9f9; border-color: var(--brown); color: var(--brown); }
.catalog-sheet .catalog-sheet-row { margin-bottom: 12px; }
#diagnosis-form:has(.catalog-sheet) > .add-record { margin-top: 0; }
body.at-routine #identificacao { max-width: 700px; }
body.at-nonoperational #identificacao { max-width: 700px; }
body.at-monthly-results #identificacao { max-width: 700px; }
.monthly-results-scroll { margin-top: 28px; overflow-x: auto; }
.monthly-results-table { width: 100%; min-width: 540px; table-layout: fixed; border-collapse: collapse; }
.monthly-results-table th:first-child { width: 40%; }
.monthly-results-table th, .monthly-results-table td { padding: 12px 5px; text-align: left; vertical-align: middle; border-bottom: 1px solid #eee9e5; }
.monthly-results-table thead th { font-size: 12px; font-weight: 600; line-height: 18px; }
.monthly-results-table thead strong { font: inherit; }
.monthly-results-table tbody th { font-size: 12px; font-weight: 500; line-height: 19px; }
.monthly-results-table .answer-field > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.monthly-results-table .field-error { font-size: 11px; line-height: 17px; }
.nonoperational-sheet { min-width: 560px; }
.nonoperational-sheet .routine-row { grid-template-columns: 1.25fr repeat(5, 1fr); gap: 8px; }
.routine-scroll { margin-top: 28px; overflow-x: auto; padding-bottom: 6px; padding-right: 28px; }
.routine-sheet { min-width: 560px; }
.routine-row { position: relative; display: grid; grid-template-columns: 1.15fr repeat(4, 1fr); gap: 10px; align-items: start; padding: 12px 0; border-bottom: 1px solid #eee9e5; }
.clear-day-hours { position: absolute; left: calc(100% + 6px); top: 12px; width: 22px; padding: 10px 0; border: 0; background: transparent; color: var(--brown); font-size: 20px; line-height: 24px; }
.clear-day-hours:hover { color: #4e2c20; }
.routine-header { align-items: center; padding-block: 14px; background: transparent; border-bottom: 0; margin-bottom: 4px; }
.routine-header strong { font-size: 12px; line-height: 18px; font-weight: 600; padding-inline: 6px; }
.routine-day { font-size: 12px; line-height: 44px; font-weight: 500; padding-left: 6px; }
.routine-row > div { min-width: 0; }
.routine-row .answer-field > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.routine-row .answer-field + .answer-field { margin-top: 6px; }
.routine-row .select-trigger { height: 44px; padding-inline: 10px; font-size: 12px; border-radius: 12px; }
.routine-row .answer-field + .answer-field .select-trigger { height: 32px; font-size: 11px; }
.routine-empty { display: block; text-align: center; line-height: 44px; color: #a6a6a6; }
.routine-row.closed .routine-day { color: #777b82; }
.routine-row .field-error { font-size: 11px; line-height: 17px; }
.apply-all-hours { grid-column: 2 / -1; justify-self: end; padding: 8px 14px; border: 0; border-radius: 12px; background: var(--brown); color: #fff; font-size: 11px; line-height: 18px; font-weight: 600; }
.apply-all-hours:hover { background: #4e2c20; }
@media (max-width: 520px) {
  .catalog-sheet-header, .catalog-sheet-row { gap: 6px; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); }
  .catalog-sheet-header strong { font-size: 10px; line-height: 15px; }
}
.question-count { font-size: 12px; color: #777b82; margin: -18px 0 28px; }
.question-fields { display: grid; grid-template-columns: 1fr; gap: 22px; min-width: 0; }
.answer-field { min-width: 0; }
.answer-field label { font-size: 15px; line-height: 22px; }
.answer-field textarea { width: 100%; min-height: 100px; resize: vertical; padding: 14px 15px; font: inherit; font-size: 15px; line-height: 22px; color: inherit; border: 1px solid #bfbfb9; border-radius: 14px; }
.answer-field textarea:focus { outline: none; border-color: var(--brown); }
.answer-field input { font-size: 15px; }
.company-details-view .question-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 16px; margin-top: 32px; }
.company-details-view .answer-field[data-key="business"],
.company-details-view .answer-field[data-key="website"],
.company-details-view .answer-field[data-key="instagram"] { grid-column: 1 / -1; }
.company-details-view input::placeholder { color: #9a9da3; opacity: 1; }
.company-details-view .answer-field input,
.company-details-view .answer-field .select-trigger { font-size: 12px; height: 44px; border-radius: 12px; }
.contact-details-view .question-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.contact-details-view input::placeholder { color: #9a9da3; opacity: 1; }
.contact-details-view #save { position: relative; isolation: isolate; overflow: hidden; background: #00c2b8; color: #f9f9f9; font-weight: 700; }
.contact-details-view #save:hover { background: #00b2a9; }
.contact-details-view #save::before, .report-offer .report-buy::before { content: ''; position: absolute; inset: 0; padding: 1.5px; border-radius: inherit; pointer-events: none; background: conic-gradient(from var(--badge-light-angle), transparent 0deg 270deg, #a7f3c170 305deg, #e4ffed 337deg, transparent 360deg); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; animation: badge-light-clockwise 3.5s linear infinite; }
.contact-details-view #save::after, .report-offer .report-buy::after { content: ''; position: absolute; top: -50%; bottom: -50%; left: 0; width: 45%; pointer-events: none; background: linear-gradient(90deg, transparent, #ffffff38, transparent); transform: translateX(-230%) skewX(-20deg); animation: diagnosis-button-reflection 4s ease-in-out infinite; }
@keyframes diagnosis-button-reflection { 0%, 18% { transform: translateX(-230%) skewX(-20deg); } 65%, 100% { transform: translateX(340%) skewX(-20deg); } }
@media (prefers-reduced-motion: reduce) { .contact-details-view #save::before, .contact-details-view #save::after, .report-offer .report-buy::after { animation: none; } .contact-details-view #save::after, .report-offer .report-buy::after { display: none; } }
.contact-details-view .answer-field > input { font-size: 12px; height: 44px; border-radius: 12px; }
.contact-phone { display: flex; align-items: center; height: 44px; border: 1px solid #bfbfb9; border-radius: 12px; background: #fff; }
.contact-phone:focus-within { border-color: var(--brown); }
.contact-country { flex: 0 0 108px; }
.contact-country .select-trigger { height: 42px; border: 0; border-right: 1px solid #e6e6e6; border-radius: 11px 0 0 11px; padding: 0 10px; font-size: 12px; }
.contact-country .select-trigger.portugal-prefix { padding-left: 40px; background: url('./portugal.svg') no-repeat 10px center / 24px 16px; }
.contact-country .select-options { width: 280px; right: auto; max-width: calc(100vw - 64px); }
.contact-details-view .contact-privacy { margin: 8px 0 0; color: #666a72; font-size: 12px; line-height: 20px; }
.contact-support { margin-top: 28px; padding: 20px; border: 1px solid #dadad5; border-radius: 12px; }
.contact-support h2 { margin: 0; font-size: 15px; line-height: 22px; font-weight: 600; letter-spacing: 0; }
.contact-support p { margin: 8px 0 0; color: #666a72; font-size: 12px; line-height: 20px; }
.contact-support-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.contact-support-choice { height: 44px; padding: 0 12px; border: 1px solid #d0d3d6; border-radius: 12px; background: #fff; color: #171716; font-size: 12px; font-weight: 500; }
.contact-support-choice:hover { background: #f2f2f2; }
.contact-support-choice[aria-pressed="true"] { background: var(--brown); border-color: var(--brown); color: #fff; }
.contact-support-choice { display: flex; align-items: center; justify-content: center; gap: 10px; }
.contact-support-choice svg { flex: 0 0 18px; color: var(--brown); }
.contact-support-choice[aria-pressed="true"] svg { color: #fff; }
.contact-support-options .contact-support-choice:first-child { background: var(--brown); border-color: var(--brown); color: #fff; }
.contact-support-options .contact-support-choice:first-child svg { color: #fff; }
.contact-support-options .contact-support-choice:first-child:hover { background: #4e2c20; border-color: #4e2c20; }
.contact-support-options .contact-support-choice:last-child[aria-pressed="true"] { background: #fff; border-color: #d0d3d6; color: #171716; }
.contact-support-options .contact-support-choice:last-child[aria-pressed="true"] svg { color: var(--brown); }
.contact-consent { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 10px; margin-top: 24px; }
.contact-consent > input { appearance: none; width: 18px; height: 18px; padding: 0; margin: 1px 0 0; border: 1px solid #bfbfb9; border-radius: 4px; background: #fff; }
.contact-consent > input:checked { border-color: var(--brown); background: var(--brown) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m4 9 3 3 7-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px 18px; }
.contact-consent > label { margin: 0; color: #666a72; font-size: 12px; font-weight: 400; line-height: 20px; }
.contact-consent .pending-legal-link { color: var(--brown); font-weight: 500; }
.contact-consent .field-error { grid-column: 2; margin: 0; }
body.at-calculating #identificacao { max-width: 584px; }
body.at-result { background-image: radial-gradient(ellipse at 60% 0%, #493127, #231914 65%); background-size: auto; }
body.at-result #identificacao { max-width: 960px; padding-top: 56px; }
#identificacao .result-view { margin-block: 0; padding-block: 0; transform: none; }
.result-view > .step-description { margin-bottom: 24px; }
#identificacao .result-view > h1 { margin-bottom: 32px; color: #fff; }
.result-section-heading h2 { color: #fff; font-size: 18px; line-height: 26px; font-weight: 600; }
.result-section-heading p { margin: 2px 0 0; color: #fff; font-size: 12px; line-height: 20px; }
.result-section-heading { text-align: center; }
#identificacao .result-section-heading h2.report-divider { display: flex; align-items: center; gap: 20px; margin: 0 0 4px; color: #fff; text-align: center; font-size: clamp(14px, 1.8vw, 20px); line-height: 1.35; font-weight: 700; animation: none; text-shadow: none; }
@media (prefers-reduced-motion: reduce) { #identificacao .result-section-heading h2.report-divider { animation: none; } }
#identificacao .result-view > .result-highlight { padding: 28px; background: var(--brown); color: #fff; border-radius: 16px; }
#identificacao .result-view > .result-profit { display: grid; place-content: center; width: 100%; max-width: 960px; min-height: 256px; padding: 32px; margin: 16px auto 20px; background: #f9f9f9; color: #171716; border-radius: 16px; text-align: center; }
.result-profit p { margin: 0 0 14px; font-size: 12px; line-height: 20px; font-weight: 600; letter-spacing: .1em; }
.result-profit strong { font-size: clamp(32px, 5vw, 64px); line-height: 1.15; font-weight: 700; letter-spacing: -.035em; overflow-wrap: anywhere; }
.result-profit strong.is-negative { color: #d9202e; }
.result-profit strong.is-positive { color: #16834a; }
.result-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.result-summary-grid .result-highlight { position: relative; min-height: 164px; padding: 14px 22px 26px; background: var(--brown); color: #fff; border-radius: 16px; }
.result-summary-grid .result-highlight strong { position: absolute; top: 50%; left: 22px; right: 22px; transform: translateY(-50%); margin: 0; font-size: 32px; line-height: 42px; font-weight: 700; letter-spacing: -.035em; overflow-wrap: anywhere; }
@media (max-width: 480px) { .result-summary-grid { gap: 10px; } .result-summary-grid .result-highlight { padding: 16px; } .result-summary-grid .result-highlight strong { font-size: 20px; line-height: 28px; } }
.result-highlight p { margin: 0; font-size: 12px; line-height: 20px; }
.result-highlight strong { display: block; margin: 10px 0 12px; font-size: 32px; line-height: 42px; font-weight: 600; }
.result-highlight p:last-child { color: #efe3dc; }
.result-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0 28px; }
.result-metric { padding: 20px; background: #f9f9f9; border: 1px solid #ececec; border-radius: 12px; }
.result-metric p { margin: 0 0 12px; font-size: 12px; line-height: 20px; color: #666a72; }
.result-metric strong { font-size: 18px; line-height: 26px; font-weight: 600; overflow-wrap: anywhere; }
.result-indicators { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 20px; }
.result-indicators { margin-bottom: 10px; }
.result-indicators-description { margin: 0; color: #fff; font-size: 12px; line-height: 20px; text-align: left; }
.result-indicators .result-metric { background: #f9f9f9; color: #171716; border-radius: 16px; }
.result-indicators .result-metric strong.is-negative { color: #d9202e; }
.result-indicators .result-metric strong.is-positive { color: #16834a; }
#identificacao .result-view > .result-capacity-periods { padding: 0; margin-top: 56px; border: 0; background: transparent; }
.result-capacity-periods h2 { color: #fff; font-size: 18px; line-height: 26px; font-weight: 600; }
.capacity-introduction { margin: 2px 0 0; color: #fff; font-size: 12px; line-height: 20px; text-align: center; }
#identificacao .result-capacity-periods #capacity-title { display: flex; align-items: center; gap: 20px; margin: 0 0 4px; color: #fff; text-align: center; font-size: clamp(14px, 1.8vw, 20px); line-height: 1.35; font-weight: 700; animation: none; text-shadow: none; }
@media (prefers-reduced-motion: reduce) { #identificacao .result-capacity-periods #capacity-title { animation: none; } }
.capacity-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.capacity-summary-card { display: flex; flex-direction: column; text-align: center; padding: 20px 16px; border: 2px solid #00c2b8; border-radius: 16px; background: #fff; color: #00c2b8; }
.capacity-summary-card > p:first-child { margin: 0; font-size: 11px; line-height: 18px; font-weight: 600; }
.capacity-summary-card strong { display: block; margin: 20px 0; font-size: 26px; line-height: 34px; font-weight: 700; overflow-wrap: anywhere; }
.capacity-summary-card .capacity-summary-note { margin: auto 0 -16px; color: #666a72; font-size: 10px; line-height: 16px; }
@media (max-width: 600px) { .capacity-summary { grid-template-columns: 1fr; } }
.capacity-period-grid { margin-top: 18px; margin-bottom: 12px; }
.capacity-period-grid .result-metric { min-height: 120px; background: #00c2b8; border: 2px solid #fff; color: #fff; }
.capacity-period-grid .result-metric p { color: #fff; }
.capacity-period-grid .result-metric strong { display: block; margin-top: 18px; font-size: 22px; line-height: 30px; font-weight: 700; }
.capacity-summary-card, .capacity-period-grid .result-metric { position: relative; }
.capacity-summary-card::after, .capacity-period-grid .result-metric::after {
  content: none;
  position: absolute;
  inset: -1px;
  padding: 1px;
  border-radius: inherit;
  pointer-events: none;
  background: conic-gradient(from var(--badge-light-angle), transparent 0deg 270deg, #f6e7d650 305deg, #fff4e8 335deg, transparent 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  animation: badge-light-clockwise 4s linear infinite;
}
.capacity-period-grid .result-metric::after { background: conic-gradient(from var(--badge-light-angle), transparent 0deg 270deg, #a7f3c180 305deg, #e4ffed 335deg, transparent 360deg); }
@media (prefers-reduced-motion: reduce) {
  .capacity-summary-card::after, .capacity-period-grid .result-metric::after { animation: none; }
}
.capacity-method { margin: 0; color: #fff; font-size: 11px; line-height: 18px; }
.result-footer { margin-top: 32px; padding-bottom: 12px; text-align: center; }
#identificacao .result-view > .report-divider { display: flex; align-items: center; gap: 20px; margin: 76px 0 36px; color: #fff; text-align: center; font-size: clamp(14px, 1.8vw, 20px); line-height: 1.35; font-weight: 700; animation: none; text-shadow: none; }
.report-divider::before, .report-divider::after { content: ''; flex: 1; min-width: 20px; height: 1px; background: linear-gradient(to right, #39271e, #a58973 60%, #fff0df); }
.report-divider::after { background: linear-gradient(to left, #39271e, #a58973 60%, #fff0df); }
@keyframes report-title-light { 0%, 100% { text-shadow: 0 0 3px #f6e7d630; } 50% { text-shadow: 0 0 8px #f6e7d690, 0 0 18px #dfc7ba45; } }
@media (prefers-reduced-motion: reduce) { #identificacao .result-view > .report-divider { animation: none; } }
#identificacao .result-view > .report-offer { margin-top: 32px; padding: clamp(40px, 6vw, 62px) clamp(20px, 4vw, 38px); border: 1px solid #e6e6e6; border-radius: 16px; background: #fff; color: #111112; }
.report-offer h2 { max-width: none; margin: 0 0 4px; color: var(--brown); font-size: 24px; line-height: 28px; font-weight: 700; letter-spacing: normal; }
.report-offer p, .report-offer dd { color: #666a72; line-height: 1.55; }
.report-offer .report-introduction { margin: 0 0 24px; font-size: 14px; line-height: 21px; font-weight: 400; }
.report-introduction strong { color: var(--brown); font-weight: 600; }
.report-offer .report-offer-label, .report-offer dt { margin: 0; color: var(--brown); font-weight: 600; }
.report-offer > h3 { margin: 48px 0 18px; color: #111112; font-family: Montserrat, Arial, sans-serif; font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: normal; }
.report-offer .report-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.report-topics li { display: flex; align-items: center; min-height: 52px; padding: 14px 18px; border: 1px solid #e6e6e6; border-radius: 16px; background: #f8f8f8; color: #111112; font-family: Montserrat, Arial, sans-serif; font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: normal; }
.report-topics li { gap: 12px; }
.report-topics li svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--brown); }
#identificacao .result-view > .report-offer > h2,
#identificacao .result-view > .report-offer > .report-introduction,
#identificacao .result-view > .report-offer > .report-introduction strong { color: #111112; }
#identificacao .result-view > .report-offer > h2,
#identificacao .result-view > .report-offer > .report-introduction strong { color: #00c2b8; }
#identificacao .result-view > .report-offer .report-topics li svg { color: #00c2b8; }
.report-offer details { margin: 28px 0; }
.report-offer summary { cursor: pointer; width: fit-content; min-height: 44px; padding: 12px 18px; border: 1px solid var(--brown); border-radius: 16px; background: var(--brown); color: #fff; font-family: Montserrat, Arial, sans-serif; font-size: 13px; line-height: 18px; font-weight: 500; letter-spacing: normal; }
.report-offer summary:hover { background: #4e2c20; border-color: #4e2c20; }
.report-offer dd { margin: 4px 0 16px; }
.report-offer .report-buy { display: flex; align-items: center; justify-content: center; gap: 10px; width: fit-content; max-width: 100%; min-height: 52px; margin: 32px auto 0; position: relative; isolation: isolate; overflow: hidden; padding: 14px 20px; border: 0; border-radius: 16px; background: #16834a; color: #fff; font-family: inherit; font-size: 15px; line-height: 19px; font-weight: 500; }
.report-offer dd { font-size: 14px; line-height: 21px; font-weight: 400; }
.report-offer dt { font-size: 17px; line-height: 22px; }
@media (max-width: 600px) { .report-offer .report-topics { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .report-offer .report-buy::after { animation: none; } }
.report-offer .report-delivery { margin: 8px 0 0; font-size: 13px; }
.report-offer .report-social-proof { margin: 12px 0 0; text-align: center; color: #666a72; font-size: 13px; line-height: 18px; font-weight: 500; }
#identificacao .result-view > .report-testimonials { margin-top: 32px; padding: 0; border: 0; background: transparent; }
.report-testimonials[hidden], .testimonial-more[hidden] { display: none; }
.report-testimonials > h3 { margin: 0 0 4px; color: #fff; font-size: 17px; line-height: 22px; font-weight: 600; text-align: center; }
.report-testimonials .testimonial-subtitle { margin: 0 0 20px; color: #efe3dc; font-size: 14px; line-height: 21px; text-align: center; }
.report-testimonials .testimonial-preview-notice { margin: 0 0 20px; color: #efe3dc; font-size: 13px; line-height: 18px; font-weight: 600; }
.report-testimonials .testimonial-fiction-label { margin: 12px 0 0; color: #653c2c; font-size: 12px; line-height: 18px; font-weight: 600; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.testimonial-card { min-width: 0; padding: 20px; border: 1px solid #d0d3d6; border-radius: 16px; background: #fff; color: #111112; overflow-wrap: anywhere; }
.testimonial-identity { display: flex; align-items: center; gap: 12px; }
.testimonial-avatar { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border-radius: 50%; background: #653c2c; color: #fff; font-size: 15px; line-height: 19px; font-weight: 600; }
.report-testimonials .testimonial-name { margin: 0; color: #111112; font-size: 15px; line-height: 19px; font-weight: 600; }
.report-testimonials .testimonial-location { margin: 4px 0 0; color: #666a72; font-size: 13px; line-height: 18px; font-weight: 500; }
.testimonial-card blockquote { margin: 16px 0 0; color: #111112; font-size: 14px; line-height: 21px; font-weight: 400; white-space: pre-line; }
.testimonial-more { display: block; min-height: 44px; margin: 24px auto 0; padding: 12px 20px; border: 1px solid #d0d3d6; border-radius: 16px; background: #fff; color: #111112; font-size: 15px; line-height: 19px; font-weight: 500; }
.testimonial-more:hover { background: #f2f4f6; border-color: #d0d3d6; color: #111112; }
.report-purchase .report-offer-label { margin: 0 0 16px; font-size: 12px; line-height: 18px; letter-spacing: .06em; }
.report-purchase .report-purchase-introduction { margin: 12px 0 24px; font-size: 13px; line-height: 21px; }
.report-purchase-benefits { display: grid; gap: 12px; list-style: none; padding: 0; margin: 0 0 24px; }
.report-purchase-benefits li { display: flex; align-items: flex-start; gap: 10px; color: #111112; font-size: 13px; line-height: 20px; text-align: left; }
.report-purchase-check { flex-shrink: 0; color: #16834a; font-weight: 600; }
.report-purchase .report-purchase-price { display: grid; grid-template-columns: auto 1fr; align-items: end; column-gap: 20px; row-gap: 12px; padding: 20px; margin: 0; border: 1px solid #e6e6e6; border-radius: 16px; background: #f8f8f8; font-size: 13px; line-height: 20px; }
.report-purchase-price .report-previous-price { grid-column: 1 / -1; font-size: 12px; line-height: 18px; }
.report-purchase-price .report-previous-price s { color: #fff; font-size: 14px; font-weight: 700; }
.report-purchase-price .report-launch-label { margin-left: 10px; color: #2bc77a; font-size: 12px; line-height: 18px; font-weight: 600; }
.report-purchase-price .report-current-price { display: flex; align-items: center; gap: 8px; }
.report-purchase-price .report-price-prefix { font-size: 12px; line-height: 18px; }
.report-purchase-price .report-payment-type { padding-bottom: 7px; font-size: 12px; line-height: 18px; }
.report-purchase-price strong { color: #111112; font-size: 40px; line-height: 48px; font-weight: 700; }
.report-purchase .report-buy { width: fit-content; max-width: 100%; margin: 44px auto 0; text-align: center; transform: translateY(16px); }
.report-purchase .report-delivery, .report-purchase .report-purchase-status { text-align: center; font-size: 12px; line-height: 18px; }
.report-purchase .report-delivery { margin: 10px 0 0; transform: translateY(16px); }
.report-purchase .report-purchase-status { margin: 6px 0 0; }
#identificacao .result-view > .report-purchase-section { margin-top: 32px; padding: 64px clamp(20px, 4vw, 40px); border-radius: 0; background: #fff; box-shadow: 0 0 0 100vmax #fff; clip-path: inset(0 -100vmax); }
.report-purchase-section .report-purchase { position: relative; max-width: 640px; margin-inline: auto; padding: 56px clamp(24px, 4vw, 36px) 72px; border: 1px solid #16834a; border-radius: 16px; background: radial-gradient(ellipse at top left, #10362c66, transparent 65%), #061510; color: #fff; }
.report-purchase-badge { position: absolute; top: 0; right: 24px; transform: translateY(-50%); max-width: calc(100% - 48px); padding: 7px 14px; border-radius: 16px; background: #2bc77a; color: #061510; box-shadow: 0 5px 18px #2bc77a40; font-size: 11px; line-height: 16px; font-weight: 700; letter-spacing: .06em; text-align: center; }
.report-purchase-section .report-purchase h2 { max-width: 440px; margin: 0; color: #fff; font-size: 20px; line-height: 27px; font-weight: 800; text-wrap: balance; }
.report-purchase-section .report-offer-label { display: inline-block; padding: 6px 12px; border: 1px solid #16834a; border-radius: 16px; background: #16834a1a; color: #8ddbb1; }
.report-purchase-section .report-purchase-introduction { color: #c4d1ca; }
.report-purchase-section .report-purchase-benefits li { color: #fff; }
.report-purchase-section .report-purchase-check { color: #2bc77a; }
.report-purchase-section .report-purchase-price { border-color: #ffffff1f; background: #030d09; color: #c4d1ca; }
.report-purchase-section .report-purchase-price strong { color: #fff; }
.report-purchase-section .report-delivery, .report-purchase-section .report-purchase-status { color: #c4d1ca; }
.report-reassurance { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 32px 0 0; color: #aab4af; font-size: 10px; line-height: 16px; font-weight: 400; transform: translateY(16px); }
.reassurance-item { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.reassurance-item svg { flex-shrink: 0; }
.reassurance-separator { opacity: .5; }
#perguntas-frequentes { scroll-margin-top: 112px; }
#identificacao .result-view > .report-faq { display: grid; gap: 12px; padding: 0; margin-top: 0; border: 0; background: transparent; }
.report-faq-item { border: 1px solid #e6e6e6; border-radius: 16px; background: #fff; color: #111112; overflow: hidden; }
.report-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; padding: 16px 20px; list-style: none; cursor: pointer; font-family: inherit; font-size: 14px; line-height: 21px; font-weight: 600; }
.report-faq-item summary::-webkit-details-marker { display: none; }
.report-faq-item summary::after { content: ''; flex: 0 0 7px; width: 7px; height: 7px; margin: 0 3px 4px; border-right: 1.5px solid #653c2c; border-bottom: 1.5px solid #653c2c; transform: rotate(45deg); }
.report-faq-item[open] summary::after { margin-bottom: 0; transform: rotate(225deg); }
.report-faq-item summary:hover, .report-faq-item[open] summary { background: #f2f4f6; }
.report-faq-item summary:focus-visible { outline: 2px solid #653c2c; outline-offset: -4px; border-radius: 14px; }
.report-faq-item p { margin: 4px 0 0; padding: 0 20px 22px; color: #333438; font-size: 14px; line-height: 24px; font-weight: 400; }
#identificacao .result-view > .report-final-call { padding: 56px 24px 64px; border: 1px solid #16834a66; border-radius: 16px; background: radial-gradient(ellipse at top, #10362c66, transparent 75%), #061510; font-family: Montserrat, Arial, sans-serif; text-align: center; }
.report-final-call .report-final-call-badge { display: inline-block; margin: 0 0 16px; padding: 5px 12px; border: 1px solid #16834a; border-radius: 16px; color: #8ddbb1; font-size: 12px; line-height: 18px; font-weight: 600; transform: translateY(-16px); }
.report-final-call h2 { max-width: 720px; margin: 0 auto; color: #fff; font-size: 22px; line-height: 29px; font-weight: 700; text-wrap: balance; }
.report-final-call .report-final-call-description { max-width: 580px; margin: 16px auto 0; color: #c4d1ca; font-size: 13px; line-height: 21px; }
.report-final-call .report-buy { margin-top: 32px; transform: translateY(16px); }
.report-final-call .report-delivery { margin-top: 12px; color: #c4d1ca; font-size: 12px; line-height: 18px; transform: translateY(16px); }
.report-final-call .report-reassurance { margin-top: 32px; transform: translateY(44px); }
#ultima-chamada { scroll-margin-top: 112px; }
@media (max-width: 420px) { .report-reassurance { gap: 6px 10px; } .reassurance-separator { display: none; } }
.report-testimonials .testimonial-status { margin: 8px 0 0; text-align: center; color: #cbb9ad; font-size: 13px; line-height: 18px; }
@media (max-width: 900px) { .testimonial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .testimonial-grid { grid-template-columns: 1fr; } }
.result-footer > p:not(.field-error) { margin: 0 0 18px; color: #cbb9ad; font-size: 12px; line-height: 20px; }
.restart-diagnosis { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 11px 20px; border: 1px solid #dfc7ba45; border-radius: 16px; background: #ffffff08; color: #fff; font-size: 12px; font-weight: 600; line-height: 20px; }
.restart-diagnosis:hover { background: #ffffff12; }
.restart-diagnosis svg { flex-shrink: 0; }
@media (min-width: 601px) and (max-width: 800px) { .result-indicators { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
#identificacao .result-view > .result-panel { padding: 24px; margin-top: 18px; border: 1px solid #e6e6e6; border-radius: 16px; background: #fff; }
#identificacao .result-view > .result-capacity { background: #16834a; border-color: #16834a; color: #fff; }
.result-capacity .result-list > div { border-bottom-color: #ffffff30; }
.result-panel.result-capacity .result-note { color: #e3f1e9; }
@media (max-width: 700px) { .result-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.result-panel h2 { margin: 0 0 20px; font-size: 18px; line-height: 26px; font-weight: 600; }
.result-table-scroll { overflow-x: auto; }
.result-table-scroll table { width: 100%; border-collapse: collapse; font-size: 12px; line-height: 20px; }
.result-table-scroll th, .result-table-scroll td { padding: 14px 10px; border-bottom: 1px solid #ece9e6; text-align: right; white-space: nowrap; }
.result-table-scroll th { font-weight: 500; }
.result-table-scroll thead th { color: #666a72; font-weight: 600; }
.result-table-scroll th:first-child { text-align: left; text-transform: capitalize; padding-left: 0; }
.result-panel .result-note { margin: 18px 0 0; font-size: 12px; line-height: 20px; color: #666a72; }
.result-list { margin: 0; font-size: 12px; line-height: 20px; }
.result-list > div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid #ece9e6; }
.result-list dd { margin: 0; font-weight: 600; white-space: nowrap; }
.result-actions { display: flex; justify-content: space-between; gap: 16px; margin: 28px 0; }
.result-actions button { min-height: 44px; padding: 10px 20px; border-radius: 16px; font-size: 12px; }
.result-actions .result-primary { background: var(--brown); color: #fff; border: 1px solid var(--brown); }
@media (max-width: 600px) { .result-metrics { grid-template-columns: 1fr; } .result-list > div { flex-wrap: wrap; gap: 6px; } .result-actions { flex-wrap: wrap; } }
.calculation-view { text-align: center; width: 100%; }
.calculation-view .step-label { color: #dfc7ba; font-size: 11px; letter-spacing: .08em; }
#identificacao .calculation-view > h1 { margin-bottom: 0; }
.calculation-view .step-description { color: #cbb9ad; font-size: 13px; margin: 6px 0 28px; }
.calculation-emblem { position: relative; display: grid; place-items: center; width: 80px; height: 80px; margin: 0 auto 28px; border: 1px solid #b8917140; border-radius: 50%; color: #dfc7ba; background: #b8917110; }
.calculation-emblem > img { display: block; width: 64px; height: 64px; object-fit: contain; }
.calculation-emblem::after { content: ''; position: absolute; inset: -1px; border: 2px solid transparent; border-right-color: #e8d5c2; border-bottom-color: #b89171; border-radius: 50%; animation: calculation-turn 1.6s linear infinite; }
.calculation-emblem.complete::after { animation: none; border-color: #b89171; }
.calculation-progress { appearance: none; display: block; width: 100%; height: 3px; border: 0; border-radius: 3px; overflow: hidden; background: #dfc7ba20; margin-bottom: 26px; }
.calculation-progress::-webkit-progress-bar { background: #dfc7ba20; }
.calculation-progress::-webkit-progress-value { background: linear-gradient(90deg, #b89171, #efe3dc); transition: width .7s ease; }
.calculation-progress::-moz-progress-bar { background: #dfc7ba; }
.calculation-status { display: grid; gap: 8px; text-align: left; }
.calculation-row { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 12px; border: 1px solid #dfc7ba24; border-radius: 12px; background: #dfc7ba05; }
.calculation-marker { display: grid; place-items: center; flex: 0 0 16px; height: 16px; border-radius: 50%; background: #dfc7ba12; color: #efe3dc; font-size: 10px; }
.calculation-row.current .calculation-marker::after { content: ''; width: 7px; height: 7px; background: #dfc7ba; border-radius: 50%; animation: calculation-pulse 1.3s ease-in-out infinite; }
.calculation-row.complete .calculation-marker { background: #b8917133; }
.calculation-row-label { flex: 1; font-size: 11px; line-height: 16px; color: #efe3dc; }
.calculation-row-state { font-size: 9px; line-height: 14px; color: #ab9789; white-space: nowrap; }
.calculation-row.current .calculation-row-state, .calculation-row.complete .calculation-row-state { color: #dfc7ba; }
.calculation-row.complete .calculation-row-state { font-weight: 700; }
.calculation-finish { margin-top: 26px; min-height: 44px; padding: 10px 20px; font-size: 12px; border-radius: 12px; border: 1px solid #dfc7ba40; background: #efe3dc; color: #241914; }
@keyframes calculation-turn { to { transform: rotate(360deg); } }
@keyframes calculation-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .calculation-emblem::after, .calculation-row.current .calculation-marker::after { animation: none; } .calculation-progress::-webkit-progress-value { transition: none; } }
.contact-priorities { margin-top: 22px; }
.priorities-preview .contact-priorities { margin-top: 0; }
.contact-priorities h3 { margin: 0; font-size: 15px; font-weight: 600; line-height: 22px; }
.contact-priorities .priority-hint, .contact-priorities .priority-counter { margin: 8px 0 12px; color: #666a72; font-size: 12px; line-height: 20px; }
.priority-group { padding: 16px 0; border-top: 1px solid #e6e6e6; }
.priority-group summary { cursor: pointer; color: #171716; font-size: 13px; line-height: 20px; font-weight: 600; }
.priority-group-options { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 12px; }
.priority-choice { padding: 8px 12px; border: 1px solid #d0d3d6; border-radius: 12px; background: #fff; color: #171716; font-size: 12px; font-weight: 400; line-height: 20px; text-align: left; }
.priority-choice:hover { background: #f2f2f2; }
.priority-choice[aria-pressed="true"] { border-color: var(--brown); background: var(--brown); color: #fff; }
.priority-choice:disabled { opacity: .4; cursor: default; }
.contact-details-view .contact-phone input { border: 0; border-radius: 0 12px 12px 0; background: transparent; height: 42px; font-size: 12px; }
.contact-phone:has(input[aria-invalid="true"]) { border-color: #c43d3d; }
@media (max-width: 540px) { .contact-details-view .question-fields { grid-template-columns: 1fr; } }
.company-details-view #answer-district.is-placeholder { color: #9a9da3; }
.company-details-view #answer-country.portugal-country { padding-left: 48px; background-image: url('./portugal.svg'); background-repeat: no-repeat; background-position: 15px center; background-size: 24px 16px; }
.company-details-view #answer-instagram { padding-left: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239a9da3' stroke-width='1.7'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='%239a9da3' stroke='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 15px center; }
@media (max-width: 540px) { .company-details-view .question-fields { grid-template-columns: 1fr; } }
#diagnosis-form:has(#answer-workingDays) .question-fields { margin-top: 32px; }
#diagnosis-form:has(#answer-workingDays) .answer-field { display: grid; grid-template-columns: minmax(0, 1fr) 180px; align-items: center; column-gap: 24px; }
#diagnosis-form:has(#answer-workingDays) .answer-field > label { margin: 0; }
#diagnosis-form:has(#answer-workingDays) .answer-field > input { height: 44px; border-radius: 12px; padding: 0 10px; font-size: 12px; }
#diagnosis-form:has(#answer-workingDays) .field-error { grid-column: 2; }
@media (max-width: 540px) {
  #diagnosis-form:has(#answer-workingDays) .answer-field { grid-template-columns: minmax(0, 1fr) 110px; column-gap: 12px; }
}
.catalog-sheet-row .answer-field input,
.monthly-results-table .answer-field input,
.routine-row .answer-field input {
  height: 44px;
  padding: 0 10px;
  border: 1px solid #bfbfb9;
  border-radius: 12px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  color: #171716;
}
.catalog-sheet-row .answer-field input:focus,
.monthly-results-table .answer-field input:focus,
.routine-row .answer-field input:focus { border-color: var(--brown); outline: none; box-shadow: none; }
.catalog-sheet-row .answer-field input[aria-invalid="true"],
.monthly-results-table .answer-field input[aria-invalid="true"],
.routine-row .answer-field input[aria-invalid="true"] { border-color: #b33232; }
.answer-field input:disabled { background: #f6f6f6; color: #777b82; }
.answer-choices { border: 0; padding: 0; margin: 0 0 28px; min-width: 0; }
.answer-choices legend { font-size: 14px; font-weight: 500; margin-bottom: 12px; }
.radio-choice { display: flex; align-items: center; gap: 10px; width: fit-content; margin: 10px 0; cursor: pointer; }
.radio-choice input, .check-choice input { width: 18px; height: 18px; flex: 0 0 18px; accent-color: var(--brown); padding: 0; }
.radio-choice span { font-size: 14px; line-height: 22px; }
.tax-answer .answer-choices { display: flex; gap: 24px; flex-wrap: wrap; }
.tax-answer .answer-choices legend { width: 100%; color: #111112; font-size: 14px; font-weight: 600; }
.tax-answer .radio-choice { margin: 0; }
.question-fields:has(> .tax-answer) { margin-top: 32px; }
.tax-answer .radio-choice input { appearance: none; border: 1px solid var(--brown); border-radius: 4px; background: #fff; cursor: pointer; }
.tax-answer .radio-choice input:checked { background-color: var(--brown); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m4 9 3 3 7-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); box-shadow: none; }
.select-control { position: relative; min-width: 0; }
.select-trigger { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-width: 0; height: 52px; padding: 0 15px; border: 1px solid #bfbfb9; background: #fff; color: #171716; border-radius: 14px; font-size: 15px; font-weight: 400; text-align: left; }
.select-trigger::after { content: ''; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; width: 7px; height: 7px; transform: rotate(45deg); margin-right: 3px; flex-shrink: 0; }
.select-trigger[aria-expanded="true"] { border-color: var(--brown); }
.select-trigger[aria-expanded="true"]::after { transform: rotate(225deg); }
.select-options { position: absolute; z-index: 20; top: calc(100% + 5px); left: 0; right: 0; background: white; border: 1px solid #d0d3d6; border-radius: 16px; padding: 6px; box-shadow: 0 12px 28px #0002; max-height: 260px; overflow-y: auto; }
.select-option { display: block; width: 100%; padding: 12px; border: 0; color: #171716; background: transparent; font-size: 14px; font-weight: 400; text-align: left; border-radius: 12px; }
.select-option:hover, .select-option:focus, .select-option[aria-selected="true"] { background: #f2f2f2; outline: none; }
.quality-control { margin-top: 7px; width: fit-content; min-width: 150px; }
.quality-control .select-trigger { height: 34px; font-size: 12px; border-color: #e5e3e0; border-radius: 10px; color: #666a72; padding: 0 11px; }
.quality-control .select-option { font-size: 12px; padding: 9px; }
.records { display: grid; gap: 24px; }
.record { min-width: 0; margin: 0; padding: 20px; border: 1px solid #e6e3e0; border-radius: 16px; }
.record > legend { padding: 0 7px; font-size: 14px; font-weight: 600; }
.remove-record { display: block; margin: 0 0 18px auto; border: 0; background: transparent; color: #777b82; font-size: 12px; font-weight: 500; padding: 4px; }
.remove-record:hover { color: #b33232; }
.add-record { margin-top: 18px; background: white; border: 1px solid #d0d3d6; color: #111112; font-size: 14px; font-weight: 500; }
.field-note, .field-error { font-size: 12px; line-height: 19px; margin: 6px 0 0; }
.field-note { color: #777b82; }
.field-error { color: #b33232; }
[aria-invalid="true"] { border-color: #b33232; }
#form-error { font-size: 13px; line-height: 21px; }
.service-choices { display: grid; gap: 8px; }
.check-choice { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 10px 12px; border: 1px solid #e6e3e0; border-radius: 12px; }
.check-choice:has(input:checked) { border-color: var(--brown); }
.check-choice span { font-size: 14px; line-height: 20px; overflow-wrap: anywhere; }
.context-fields { margin-top: 28px; }
.review-list { display: grid; gap: 12px; }
.review-row { display: flex; gap: 14px; justify-content: space-between; align-items: center; border-bottom: 1px solid #ece9e6; padding: 12px 0; }
.review-row strong { font-size: 14px; font-weight: 600; }
.review-row p { font-size: 12px; color: #777b82; margin: 6px 0 0; }
.review-row button { border: 1px solid #d0d3d6; background: white; font-size: 12px; font-weight: 500; padding: 9px 13px; }
.date-control { position: relative; }
.date-control input { padding-right: 44px; }
.date-open { position: absolute; top: 0; right: 0; width: 44px; height: 52px; padding: 0; border: 0; background: transparent; display: grid; place-items: center; color: #171716; }
.date-open::after { content: ''; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.date-open[aria-expanded="true"]::after { transform: rotate(225deg); }
.date-open:focus-visible { outline: none; box-shadow: none; }
.date-control:has(.date-open[aria-expanded="true"]) > input,
.date-control:has(.date-open:focus-visible) > input { border-color: var(--brown); }
.date-popover { position: fixed; width: min(100%, 375px); z-index: 200; padding: 20px; background: white; border: 1px solid #d0d3d6; border-radius: 20px; box-shadow: 0 14px 34px #0002; overflow-y: auto; overscroll-behavior: contain; }
.calendar-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 20px; }
.calendar-heading strong { font-size: 16px; font-weight: 600; }
.calendar-arrow { width: 32px; height: 32px; padding: 0; border: 0; background: transparent; font-size: 24px; font-weight: 400; color: #111112; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px 2px; text-align: center; }
.calendar-weekday { font-size: 12px; line-height: 30px; color: #666a72; font-weight: 500; }
.calendar-day { padding: 0; width: 100%; aspect-ratio: 1; border: 0; border-radius: 14px; background: transparent; font-size: 14px; font-weight: 600; color: #111112; }
.calendar-day:hover { background: #f2f2f2; }
.calendar-day[aria-pressed="true"] { background: var(--brown); color: white; }
.calendar-months { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.calendar-month { padding: 12px 6px; border: 1px solid var(--brown); border-radius: 12px; background: var(--brown); color: #fff; font-size: 12px; font-weight: 500; }
.calendar-month:hover { background: #4e2c20; }
.calendar-month[aria-pressed="true"] { background: var(--brown); color: #fff; }
.month-year-heading { justify-content: center; }
.calendar-month:disabled { opacity: .35; cursor: default; }
.calendar-month:disabled:hover { background: var(--brown); }
.analysis-month-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.analysis-month { min-height: 44px; padding: 10px; border: 1px solid var(--brown); border-radius: 12px; background: #fff; color: var(--brown); font: inherit; font-size: 12px; text-transform: capitalize; }
.analysis-month:hover { background: #f5f5f5; }
.analysis-month[aria-pressed="true"] { background: var(--brown); color: #fff; font-weight: 600; }
.analysis-month:disabled { opacity: .3; cursor: default; }
@media (max-width: 640px) {
  .step-progress { gap: 10px; }
  .progress-dots { gap: 4px; }
  .progress-dots span { width: 4px; height: 4px; }
  .progress-dots span.active { width: 10px; }
  .step-progress .progress-status { padding: 5px 7px; font-size: 9px; }
  #identificacao .actions { flex-direction: row; align-items: center; gap: 10px; flex-wrap: wrap; }
  #save-status:not(:empty) { flex-basis: 100%; order: 3; }
  .record { padding: 16px; }
  .path-title { gap: 6px; }
  .path-title strong { font-size: 13px; }
  .path-state { font-size: 9px; }
  #identificacao .step-content > h1 { font-size: 22px; line-height: 30px; }
}

/* Discreet commercial-page footer: confirmed brand and support contact only. */
.site-footer { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px 24px; max-width: 1120px; margin: 24px auto 0; padding: 24px 24px 28px; border-top: 1px solid rgb(210 188 166 / 16%); color: #cbb9ad; font-size: 11px; font-weight: 400; line-height: 18px; text-align: center; }
.site-footer a { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.site-footer a:hover { color: inherit; background: transparent; text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 3px; }
.site-footer a:focus-visible { outline: 2px solid #cbb9ad; outline-offset: 4px; border-radius: 2px; }
@media (max-width: 540px) { .site-footer { gap: 6px 16px; margin-top: 16px; padding: 20px 16px 24px; } }
body:has(#abertura[hidden]):not(.at-result) > .site-footer { display: none; }
.site-footer-legal { flex-basis: 100%; display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 18px; }
.site-footer-legal span { max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 540px) { .site-footer-legal { flex-direction: column; align-items: center; } }
.site-footer { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(280px, 1.7fr) minmax(240px, 1.3fr); align-items: start; gap: 24px; }
.site-footer-brand { text-align: left; }
.site-footer-legal { display: flex; flex-direction: column; align-items: center; gap: 3px; text-align: center; }
.site-footer-contact { min-width: 0; text-align: right; }
.site-footer-policies { margin: 6px 0 0; font: inherit; color: inherit; }
@media (max-width: 800px) { .site-footer { grid-template-columns: 1fr; gap: 16px; } .site-footer-brand, .site-footer-contact { text-align: center; } }
.site-footer { grid-template-columns: minmax(0, 1fr) minmax(240px, 1fr); gap: 6px 32px; }
.site-footer-brand { grid-column: 1; grid-row: 1; }
.site-footer-legal { grid-column: 1; grid-row: 2; align-items: flex-start; text-align: left; }
.site-footer-contact { grid-column: 2; grid-row: 1 / span 2; }
@media (max-width: 800px) { .site-footer { grid-template-columns: 1fr; gap: 10px; } .site-footer-brand, .site-footer-legal, .site-footer-contact { grid-column: 1; grid-row: auto; text-align: left; } .site-footer-legal { align-items: flex-start; } }
.site-footer-policies > span:hover { color: inherit; background: transparent; text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 3px; }
.footer-assurance { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px 0; max-width: 1120px; margin: 28px auto 0; padding: 16px 24px 0; color: #b7bdb9; font-size: 11px; font-weight: 400; line-height: 18px; }
.footer-assurance > span { display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; }
.footer-assurance > span + span { border-left: 1px solid rgb(183 189 185 / 30%); }
.footer-assurance svg { width: 14px; height: 14px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 540px) { .footer-assurance { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px 20px 0; } .footer-assurance > span { padding: 0; } .footer-assurance > span + span { border-left: 0; } }
body:has(#abertura[hidden]):not(.at-result) > .footer-assurance { display: none; }
.site-footer-area { background: #241914; display: flow-root; }
.landing-footer { display:none; }
body:has(#abertura:not([hidden])) { min-height:100svh;display:flex;flex-direction:column; }
body:has(#abertura:not([hidden])) > .masthead,
body:has(#abertura:not([hidden])) > .site-footer-area { flex-shrink:0; }
body:has(#abertura:not([hidden])) #abertura { flex:1;min-height:0;width:100%;margin:0;padding:clamp(16px,3vh,32px) 22px; }
body:has(#abertura:not([hidden])) .site-footer-area > .site-footer,
body:has(#abertura:not([hidden])) .site-footer-area > .footer-assurance { display:none; }
body:has(#abertura:not([hidden])) .landing-footer { display:flex;justify-content:space-between;align-items:center;gap:32px;max-width:1120px;margin:0 auto;padding:32px 24px;color:#cbb9ad;font-size:11px;font-weight:400;line-height:19px; }
body:has(#abertura:not([hidden])) .site-footer-area::before { content:"";display:block;width:80%;max-width:1072px;height:1px;margin:0 auto;background:rgb(210 188 166 / 20%); }
.landing-footer-intro { max-width:440px;text-align:left; }
.landing-footer-intro img { display:block;width:88px;height:auto;margin:0 0 12px; }
.landing-footer .landing-footer-intro p { margin:0;text-align:left; }
.landing-footer p { margin:0; }
.landing-footer p:first-child { max-width:350px;text-align:left; }
.landing-footer > p:last-child { text-align:right; }
@media(max-width:640px){body:has(#abertura:not([hidden])) .landing-footer{flex-direction:column;align-items:flex-start;gap:16px;padding:24px}.landing-footer > p:last-child{text-align:left}}
@media(max-width:640px){
  body:has(#abertura:not([hidden])) .masthead-inner { padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right)); }
  body:has(#abertura:not([hidden])) .masthead img { left:0; }
  body:has(#abertura:not([hidden])) > .site-footer-area { position:relative;top:32px; }
  .opening .opening-inner { width:min(100%,600px);min-width:0; }
  .opening h1 { text-align:left;font-size:clamp(28px,8vw,34px);font-weight:750;line-height:1.16;letter-spacing:-.035em; }
  .opening .lead { max-width:none;text-align:left;text-wrap:pretty;font-size:16px;line-height:24px;font-weight:400;margin:20px 0 28px; }
  .opening .start { width:100%; }
  .opening .social-proof { font-size:clamp(6px,1.85vw,8px);line-height:14px;white-space:nowrap;text-align:center;margin:6px 0 0; }
  body:has(#abertura:not([hidden])) .landing-footer { padding-inline:max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-right)); }
}
.benefits-window,.benefits-track { display:contents; }
.opening .benefits-copy { display:none; }
@keyframes benefits-slide { to { transform:translateX(-50%); } }
@media(max-width:900px) and (orientation:portrait){
  .opening .benefits-window { display:block;width:100%;min-width:0;overflow:hidden;margin:0 auto 22px; }
  .opening .benefits-track { display:flex;width:max-content;animation:benefits-slide 28s linear infinite; }
  .opening .benefits { display:flex;flex-wrap:nowrap;flex:none;width:max-content;gap:28px;margin:0;padding:0 28px 0 0; }
  .opening .benefits li { flex:none;gap:5px;font-size:11px;line-height:18px;padding:6px 0; }
  .opening .benefits svg { width:16px;height:16px; }
  .opening .benefits-copy { display:flex; }
}
@media(max-width:900px) and (orientation:portrait) and (prefers-reduced-motion:reduce){
  .opening .benefits-window { overflow-x:auto; }
  .opening .benefits-track { animation:none; }
  .opening .benefits-copy { display:none; }
}
body:has(#abertura[hidden]):not(.at-result) > .site-footer-area { display: none; }

/* Sales-page buttons: Electric Teal accent, preserving existing layout. */
.result-view button,
.result-view .report-offer summary {
  background: #00c2b8;
  border-color: #00c2b8;
  color: #082e2b;
}
.result-view button:hover:enabled,
.result-view .report-offer summary:hover {
  background: #00b2a9;
  border-color: #00b2a9;
  color: #082e2b;
}
.result-view button:active:enabled,
.result-view .report-offer summary:active {
  background: #009e96;
  border-color: #009e96;
}
.result-view .report-buy::before {
  background: conic-gradient(from var(--badge-light-angle), transparent 0deg 270deg, #00c2b870 305deg, #c2fff8 337deg, transparent 360deg);
}
.result-view .restart-diagnosis { background: #ffffff08; border-color: #dfc7ba45; color: #fff; }
.result-view .restart-diagnosis:hover:enabled, .result-view .restart-diagnosis:active:enabled { background: #ffffff12; border-color: #dfc7ba45; color: #fff; }


.result-view .report-buy { background: #00c2b8; border-color: #00c2b8; color: #fff; }
.result-view .report-buy:hover:enabled { background: #00b2a9; border-color: #00b2a9; color: #fff; }
.result-view .report-buy:active:enabled { background: #009e96; border-color: #009e96; color: #fff; }
.result-view .testimonial-more { background: #fff; border-color: #d0d3d6; color: #111112; }
.result-view .testimonial-more:hover:enabled, .result-view .testimonial-more:active:enabled { background: #f2f4f6; border-color: #d0d3d6; color: #111112; }
.result-view .report-offer summary { background: #fff; border-color: #111112; color: #111112; }
.result-view .report-offer summary:hover, .result-view .report-offer summary:active { background: #f9f9f9; border-color: #111112; color: #111112; }
/* Preserve the original dark offer, replacing green tones with Electric Teal. */
.result-view .report-purchase-section .report-purchase { background: linear-gradient(135deg, #005b60 0%, #003e46 55%, #002e36 100%); border-color: #00c2b8; color: #fff; }
.result-view .report-purchase-badge { background: #00c2b8; color: #061513; box-shadow: 0 5px 18px #00c2b840; }
.result-view .report-purchase-section .report-offer-label { border-color: #00c2b8; background: #00c2b81a; color: #8ddbd6; }
.result-view .report-purchase-section .report-purchase-check,
.result-view .report-purchase-section .report-launch-label { color: #00c2b8; }
.result-view .report-purchase-section .report-purchase-price { background: #002a32; border-color: #00c2b84d; color: #d0f0f1; }
.result-view .report-purchase-section .report-purchase-introduction,
.result-view .report-purchase-section .report-delivery,
.result-view .report-purchase-section .report-purchase-status { color: #c4d1cf; }
.result-view .report-purchase .report-buy { background: #f9f9f9; color: #00c2b8; }
.result-view .report-purchase .report-buy:hover:enabled, .result-view .report-purchase .report-buy:active:enabled { background: #ededed; color: #00c2b8; }
.result-view .report-purchase .report-buy { font-weight: 700; }
.result-view .report-buy { font-weight: 700; }
/* Final call follows the same Electric Teal offer treatment. */
#identificacao .result-view > .report-final-call { background: linear-gradient(135deg, #005b60 0%, #003e46 55%, #002e36 100%); border-color: #00c2b8; }
.result-view .report-final-call .report-final-call-badge { border-color: #00c2b8; background: #00c2b81a; color: #8ddbd6; }
.result-view .report-final-call .report-final-call-description,
.result-view .report-final-call .report-delivery { color: #d0f0f1; }
.result-view .report-final-call .report-buy { background: #f9f9f9; color: #00c2b8; font-weight: 700; }
.result-view .report-final-call .report-buy:hover:enabled,
.result-view .report-final-call .report-buy:active:enabled { background: #ededed; color: #00c2b8; }

/* Mobile questionnaire: keep the primary action within reach at the bottom. */
@media(max-width:640px), (max-width:950px) and (max-height:500px) and (pointer:coarse){
  #identificacao:has(#save) { padding-bottom:calc(108px + env(safe-area-inset-bottom)); }
  #identificacao #back { position:fixed;top:auto;bottom:calc(12px + env(safe-area-inset-bottom) + var(--keyboard-inset,0px));left:16px;width:104px;min-height:40px;height:40px;padding:8px 12px;z-index:109; }
  #identificacao .actions:has(#save)::before { content:"";position:fixed;inset:auto 0 var(--keyboard-inset,0px);height:calc(68px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e8e4e0;z-index:108;pointer-events:none; }
  #identificacao #save { position:fixed;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom) + var(--keyboard-inset,0px));width:calc(100% - 32px);min-height:40px;margin:0;padding:10px 20px;font-size:13px;font-weight:600;line-height:20px;z-index:109; }
  #identificacao:has(#back) #save { left:132px;width:calc(100% - 148px); }
  body.at-transition #identificacao .actions:has(#save)::before { background:#281b15;border-color:rgb(210 188 166 / 20%); }
}

/* Phone-only reading rhythm and labelled sheets. Desktop rules remain above. */
@media(max-width:640px), (max-width:950px) and (max-height:500px) and (pointer:coarse){
  #identificacao:has(#save) { padding-bottom:calc(108px + env(safe-area-inset-bottom) + var(--keyboard-inset,0px)); }
  #identificacao:has(#diagnosis-form) .step-content { margin-block:48px 0; padding-block:0; }
  #identificacao .step-progress .progress-status { font-size:11px;line-height:16px; }
  #identificacao .answer-field { scroll-margin-block:88px; }
  #identificacao .routine-scroll, #identificacao .monthly-results-scroll { overflow:visible;padding-right:0; }
  #identificacao .routine-sheet, #identificacao .nonoperational-sheet { min-width:0; }
  #identificacao .routine-header, #identificacao .catalog-sheet-header { display:none; }
  #identificacao .routine-row:not(.routine-header) { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:20px 0; }
  #identificacao .routine-day { grid-column:1/-1;line-height:24px;padding-left:0;padding-right:44px;font-weight:600; }
  #identificacao .routine-row .answer-field > label,
  #identificacao .catalog-sheet-row .answer-field > label { position:static;width:auto;height:auto;overflow:visible;clip-path:none;font-size:12px;line-height:18px;margin-bottom:8px; }
  #identificacao .clear-day-hours { left:auto;right:0;top:10px;width:44px;height:44px;padding:0; }
  #identificacao .apply-all-hours { grid-column:1/-1;min-height:44px; }
  #identificacao .catalog-sheet { padding-right:0; }
  #identificacao .catalog-sheet-row { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid #eee9e5; }
  #identificacao .catalog-sheet-row > div:first-child { grid-column:1/-1;padding-right:40px; }
  #identificacao .catalog-sheet-row > button { left:auto;right:-4px;top:22px;width:44px;height:44px;padding:0; }
  #identificacao .cost-sheet .catalog-sheet-row { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);padding-right:32px; }
  #identificacao .cost-sheet .catalog-sheet-row > div:first-child { grid-column:auto;padding-right:0; }
  #identificacao .cost-sheet .catalog-sheet-row > button { right:-10px; }
  #identificacao .monthly-results-table { display:block;min-width:0; }
  #identificacao .monthly-results-table thead { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
  #identificacao .monthly-results-table tbody { display:block; }
  #identificacao .monthly-results-table tbody tr { display:grid;grid-template-columns:1fr;gap:12px;padding:20px 0;border-bottom:1px solid #eee9e5; }
  #identificacao .monthly-results-table tbody th { display:block;width:auto;padding:0;font-weight:600;border:0; }
  #identificacao .monthly-results-table td { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:12px;padding:0;border:0; }
  #identificacao .monthly-results-table td::before { content:attr(data-month);font-size:12px;line-height:18px;text-transform:capitalize; }
  #identificacao #save { white-space:normal;min-height:40px;padding-inline:12px; }
}
@media(max-width:950px) and (max-height:500px) and (pointer:coarse){
  #identificacao:has(#diagnosis-form) .step-content { margin-top:24px; }
}
/* One official mobile masthead across the opening, questions and results. */
@media(max-width:640px), (max-width:950px) and (max-height:500px) and (pointer:coarse){
  body .masthead { background:#281b15;border-bottom:1px solid rgb(210 188 166 / 14%); }
  body .masthead .masthead-inner { height:60px;min-height:60px;padding-block:0;padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right)); }
  body .masthead img { width:128px;left:0; }
}
.mobile-path-details { display:contents; }
.mobile-path-details > summary, .mobile-day-toggle, .mobile-month-tabs, .mobile-stage-next { display:none; }
@media(max-width:640px), (max-width:950px) and (max-height:500px) and (pointer:coarse){
  #identificacao .mobile-path-details { display:block;margin:16px 0; }
  .mobile-path-details > summary { display:list-item;cursor:pointer;color:#cbb9ad;font-size:12px;padding:12px 0; }
  #identificacao .mobile-stage-next { display:block;margin:24px 0 0; }
  #identificacao .mobile-stage-next .current { margin:0; }
  #identificacao .mobile-stage-next .current::after { display:none; }
  .mobile-path-details .block-path { margin-top:12px; }
  .routine-day .desktop-day-label { display:none; }
  #identificacao .mobile-day-toggle { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left; }
  .mobile-day-toggle::after { content:'⌄';font-size:18px; }
  .mobile-day-toggle[aria-expanded=true]::after { transform:rotate(180deg); }
  #identificacao .routine-row.mobile-collapsed > div, #identificacao .routine-row.mobile-collapsed > .apply-all-hours, #identificacao .routine-row.mobile-collapsed > .clear-day-hours { display:none; }
  #identificacao .routine-row.mobile-collapsed { padding-block:8px;gap:0; }
  .mobile-month-tabs { display:flex;gap:8px;position:sticky;top:61px;z-index:2;padding:8px 0;background:#fff; }
  .mobile-month-tabs button { flex:1;min-width:0;min-height:44px;padding:8px 6px;border:1px solid var(--brown);border-radius:12px;background:#fff;color:var(--brown);font-size:11px;text-transform:capitalize; }
  .mobile-month-tabs button[aria-pressed=true] { background:var(--brown);color:#fff; }
  #identificacao .monthly-results-table td.mobile-month-hidden { display:none; }
}
