.valora-page { background: #fafaf9; color: #1c1917; font-family: Inter, system-ui, sans-serif; }
.valora-page [x-cloak] { display: none !important; }
.vf-hero { background: radial-gradient(ellipse at 90% 10%, #143d5e 0, transparent 65%), #0a2a4a; color: #fff; padding: 124px 32px 44px; }
.vf-wrap { max-width: 1216px; margin: 0 auto; }
.vf-breadcrumb { display: flex; align-items: center; gap: 10px; color: #b2c6d7; font-size: 12px; margin-bottom: 28px; }
.vf-breadcrumb a:hover { color: #fff; }
.vf-eyebrow { color: #afcee9; font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.vf-hero h1 { max-width: 800px; margin: 14px 0 18px; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(36px, 4vw, 52px); font-weight: 500; line-height: 1.12; letter-spacing: -.025em; }
.vf-intro { max-width: 670px; color: #d0dce6; font-size: 15px; line-height: 1.8; }
.vf-hero-link { display: inline-flex; gap: 10px; margin-top: 20px; color: #d0dce6; font-size: 12px; text-decoration: underline; text-decoration-color: #64819b; text-underline-offset: 5px; }
.vf-hero-link:hover { color: #fff; }
.vf-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; max-width: 1280px; padding: 36px 32px 64px; align-items: start; }
.vf-form { min-width: 0; scroll-margin-top: 120px; }
.vf-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 16px; gap: 8px; margin-bottom: 18px; background: #fff; border: 1px solid #e7e5e4; border-radius: 16px; }
.vf-progress button { display: flex; align-items: center; gap: 9px; min-height: 44px; font-size: 12px; font-weight: 600; color: #708095; border-radius: 10px; text-align: left; }
.vf-progress button span { display: grid; place-items: center; flex-shrink: 0; width: 30px; height: 30px; background: #f1f5f9; border-radius: 9px; }
.vf-progress button[aria-current="step"] { color: #1d4ed8; }
.vf-progress button[aria-current="step"] span { background: #2563eb; color: #fff; }
.vf-progress button.is-complete { color: #276d64; }
.vf-progress button.is-complete span { background: #eaf6f2; color: #276d64; }
.vf-card { padding: 30px; border-radius: 16px; background: #fff; border: 1px solid #e7e5e4; box-shadow: 0 3px 12px #172b4303; color: #172b43; }
.vf-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 28px; }
.vf-badge { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: #2563eb; background: #eff6ff; flex-shrink: 0; }
.vf-heading h2 { font-size: 20px; font-weight: 700; letter-spacing: -.025em; }
.vf-heading h2:focus { outline: none; }
.vf-heading p { color: #718096; font-size: 13px; margin-top: 4px; line-height: 1.6; }
.vf-icon { width: 23px; height: 23px; flex-shrink: 0; }
.vf-label, .vf-legend { display: block; font-size: 13px; font-weight: 600; margin-bottom: 9px; color: #31445d; }
.vf-fieldset + .vf-fieldset { margin-top: 26px; }
.vf-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.vf-choices.is-types { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vf-choices.is-goals { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vf-choice { position: relative; cursor: pointer; min-width: 0; }
.vf-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.vf-choice-body { min-height: 92px; padding: 15px 8px; border: 1px solid #dfe6ef; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: #5c6e84; text-align: center; font-size: 11px; font-weight: 600; line-height: 1.4; transition: border-color .15s, background .15s; }
.vf-choices.is-profiles .vf-choice-body { min-height: 112px; }
.vf-choice input:checked + .vf-choice-body { border-color: #2563eb; background: #eff6ff; color: #1d4ed8; box-shadow: 0 0 0 1px #2563eb; }
.vf-choice input:checked + .vf-choice-body::after { content: ''; position: absolute; top: 6px; right: 7px; width: 15px; height: 15px; border-radius: 50%; background: #2563eb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='white' stroke-width='1.6'%3E%3Cpath d='m2 6 3 3 5-6'/%3E%3C/svg%3E") center/10px no-repeat; }
.vf-choice input:focus-visible + .vf-choice-body, .vf-progress button:focus-visible, .vf-count-buttons button:focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; }
.vf-choice:hover .vf-choice-body { border-color: #93b5ee; }
.vf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.vf-wide { grid-column: 1 / -1; }
.vf-city-row { display: grid; grid-template-columns: minmax(0, 1fr) 85px; gap: 14px; }
.vf-input { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #d8e0eb; border-radius: 10px; background: #fff; color: #1e334c; font-size: 14px; }
.vf-input:focus { outline: 3px solid #dbeafe; outline-offset: 0; border-color: #3b82f6; box-shadow: none; }
.vf-input::placeholder { color: #99a5b5; }
.vf-hint { margin-top: 7px; color: #7c899a; font-size: 12px; line-height: 1.6; }
.vf-cep { display: flex; gap: 10px; }
.vf-cep input { max-width: 190px; }
.vf-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; font-size: 13px; font-weight: 600; border: 1px solid #dce4ee; border-radius: 10px; color: #36516f; background: white; gap: 8px; }
.vf-secondary:hover { background: #f8fafc; }
.vf-status { margin-top: 9px; font-size: 12px; line-height: 1.6; color: #267268; }
.vf-status.is-error { color: #b04735; }
.vf-note { padding: 13px 16px; font-size: 12px; line-height: 1.7; border-radius: 10px; color: #47627c; background: #f2f7fd; }
.vf-structure-title { margin-top: 22px; color: #172b43; font-size: 13px; font-weight: 600; }
.vf-rooms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 12px 0 22px; }
.vf-count { min-width: 0; padding: 12px; border-radius: 12px; background: #f8fafc; }
.vf-count-label { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; font-size: 12px; font-weight: 600; }
.vf-count-label .vf-icon { width: 16px; height: 16px; color: #7d92ac; }
.vf-count-buttons { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.vf-count-buttons button, .vf-count-more { min-width: 0; width: 100%; min-height: 40px; padding: 4px 0; border: 1px solid #dde5f0; background-color: #fff; border-radius: 7px; color: #61748d; font-size: 12px; font-weight: 600; text-align: center; }
.vf-count-more { appearance: none; background-image: none; cursor: pointer; }
.vf-count-buttons button[aria-pressed="true"], .vf-count-more.is-selected { background-color: #2563eb; color: #fff; border-color: #2563eb; }
.vf-count-more:focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; box-shadow: none; }
.vf-count-more option { background: #fff; color: #172b43; }
.vf-extra { padding-top: 20px; border-top: 1px solid #e8edf4; margin-top: 22px; }
.vf-extra summary { cursor: pointer; color: #526b87; font-size: 13px; font-weight: 600; }
.vf-extra .vf-grid { margin-top: 20px; }
.vf-consent { display: flex; align-items: flex-start; gap: 11px; font-size: 12px; line-height: 1.8; color: #76869a; margin-top: 24px; }
.vf-consent input { flex-shrink: 0; margin-top: 4px; border-radius: 4px; color: #2563eb; }
.vf-navigation { margin-top: 18px; display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.vf-primary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 24px; border-radius: 11px; background: #0a2a4a; color: #fff; font-size: 14px; font-weight: 600; }
.vf-primary:hover { background: #143d64; }
.vf-primary:disabled, .vf-secondary:disabled { opacity: .55; cursor: wait; }
.vf-error { margin-bottom: 16px; padding: 14px 16px; border-radius: 11px; background: #fff1f0; border: 1px solid #f5d3cd; color: #a54030; font-size: 13px; line-height: 1.6; }
.vf-scope { margin-top: 18px; color: #57534e; font-size: 11px; line-height: 1.8; }
.vf-scope a, .vf-text-link { color: #0a2a4a; text-decoration: underline; text-decoration-color: #a8b8c6; text-underline-offset: 4px; }
.vf-aside { display: grid; gap: 20px; }
.vf-method, .vf-limits { padding: 26px; border-radius: 16px; scroll-margin-top: 110px; }
.vf-method { background: #fff; border: 1px solid #e7e5e4; }
.vf-kicker { font-size: 9px; font-weight: 600; letter-spacing: .16em; color: #64748b; text-transform: uppercase; margin-bottom: 10px; }
.vf-aside h2 { font-family: 'Playfair Display', Georgia, serif; color: #0a2a4a; font-size: 24px; font-weight: 500; line-height: 1.3; }
.vf-method-list { display: grid; gap: 22px; margin: 26px 0; padding: 0; list-style: none; }
.vf-method-list li { display: flex; gap: 12px; align-items: flex-start; }
.vf-method-icon { color: #315c7b; flex-shrink: 0; margin-top: 2px; }
.vf-method-icon .vf-icon { width: 19px; height: 19px; }
.vf-method h3 { font-size: 12px; font-weight: 600; color: #172b43; margin-bottom: 6px; }
.vf-method-list p { font-size: 12px; line-height: 1.8; color: #57534e; }
.vf-text-link { display: inline-block; border-top: 1px solid #e7e5e4; padding-top: 18px; font-size: 11px; line-height: 1.8; }
.vf-limits { background: #0a2a4a; color: #d0dce6; }
.vf-limits-icon { display: inline-flex; color: #afcee9; margin-bottom: 14px; }
.vf-limits h2 { color: #fff; font-size: 23px; }
.vf-limits p { font-size: 12px; line-height: 1.8; margin-top: 14px; }
.vf-limits a { display: inline-block; color: #fff; font-size: 11px; line-height: 1.8; margin-top: 18px; text-decoration: underline; text-decoration-color: #64819b; text-underline-offset: 4px; }
.vf-hero a:focus-visible, .vf-aside a:focus-visible, .vf-scope a:focus-visible { outline: 2px solid #60a5fa; outline-offset: 4px; border-radius: 2px; }
@media (max-width: 1279px) { .vf-layout { grid-template-columns: minmax(0, 1fr); max-width: 1000px; } .vf-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
@media (max-width: 600px) {
    .valora-page [aria-label="Busca de imóveis e atendimento"] { display: none; }
    .vf-hero { padding: 96px 20px 32px; } .vf-intro { font-size: 13px; } .vf-hero h1 { font-size: 36px; }
    .vf-breadcrumb { margin-bottom: 24px; font-size: 11px; } .vf-desktop-break { display: none; }
    .vf-layout { padding: 20px 14px 40px; } .vf-card { padding: 22px 18px; border-radius: 16px; }
    .vf-progress { padding: 10px; gap: 3px; } .vf-progress button { flex-direction: column; text-align: center; gap: 6px; font-size: 10px; }
    .vf-heading { margin-bottom: 22px; } .vf-heading h2 { font-size: 18px; }
    .vf-choices.is-types { grid-template-columns: repeat(3, minmax(0, 1fr)); } .vf-choices.is-goals { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .vf-choices { gap: 8px; } .vf-choice-body { padding: 12px 6px; min-height: 84px; font-size: 10px; }
    .vf-choices.is-profiles .vf-choice-body { min-height: 104px; } .vf-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .vf-rooms { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .vf-count { padding-inline: 6px; } .vf-count-buttons { gap: 3px; }
    .vf-primary { flex: 1; padding-inline: 16px; } .vf-navigation > .vf-hint { display: none; }
    .vf-aside { grid-template-columns: minmax(0, 1fr); gap: 16px; } .vf-method, .vf-limits { padding: 24px; }
}
@media (max-width: 360px) { .vf-rooms { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .vf-choice-body { transition: none; } }
