/* SuiteRulesCanada V51 — approved property-review design layer.
   Surgical visual + contact-flow update; existing property/manual logic remains intact. */
:root{
  --v51-plum:#641d3a;
  --v51-plum-dark:#4f1730;
  --v51-rose:#9b355e;
  --v51-blush:#fbf0f3;
  --v51-blush-2:#fff8fa;
  --v51-border:#ead2dc;
  --v51-ink:#29212c;
  --v51-muted:#6d5d67;
  --v51-green:#228653;
  --v51-green-bg:#eef9f2;
  --v51-amber:#a66311;
  --v51-amber-bg:#fff5df;
}

/* ---------- shared review CTA ---------- */
.property-pro-contact-high.v51-review-cta,
.property-pro-contact-high{
  margin:22px 0 0!important;
  padding:24px 26px!important;
  border:1px solid var(--v51-border)!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#fff9fb,#fbf0f3)!important;
  color:var(--v51-ink)!important;
  box-shadow:none!important;
}
.property-pro-contact-high .eyebrow{margin-bottom:7px!important}
.property-pro-contact-high h3{margin:0 0 7px!important;font-size:clamp(1.35rem,2.8vw,1.8rem)!important;color:var(--v51-ink)!important}
.property-pro-contact-high p{max-width:760px;margin:0 0 15px!important;color:var(--v51-muted)!important;line-height:1.55!important}
.property-pro-contact-high .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px!important;background:var(--v51-plum)!important;color:#fff!important;text-decoration:none!important;font-weight:900!important;padding:11px 17px!important}
.property-pro-contact-high .button:hover{background:var(--v51-plum-dark)!important}

/* ---------- property checker visual system ---------- */
.utility-city-cta{background:linear-gradient(180deg,#fff 0,#fff9fb 48%,#fff 100%)}
.utility-city-cta>.wrap,.property-lookup-section>.wrap{width:min(1180px,calc(100% - 40px))}
.property-lookup{--pm-accent:var(--v51-rose);--pm-ink:var(--v51-ink);--pm-muted:var(--v51-muted);--pm-border:var(--v51-border)}
.property-lookup__head{max-width:960px;margin:0 auto 22px;text-align:left}
.property-lookup__head .eyebrow{margin-bottom:8px}
.property-lookup__head h2{font-size:clamp(2rem,4.6vw,3.55rem);max-width:800px;margin:4px 0 8px}
.property-lookup__head p{font-size:1.04rem;max-width:760px}
.property-lookup__grid{grid-template-columns:minmax(0,960px);gap:18px}
.property-lookup__search-card{padding:20px;border-radius:18px;box-shadow:none;background:#fff}
.property-lookup__form label{font-size:.8rem;text-transform:none;letter-spacing:0}
.property-lookup__input{min-height:58px;border-radius:12px;border-color:#dbc7d0;padding:0 16px}
.property-lookup__submit{min-height:58px;min-width:170px;border-radius:12px;background:var(--v51-plum)}
.property-lookup__submit:hover{background:var(--v51-plum-dark);filter:none}
.property-lookup__privacy{font-size:.76rem}
.property-demo-card{padding:0;border-radius:20px;box-shadow:none;overflow:hidden}
.v35-result-hero{padding:22px 24px 18px;background:linear-gradient(135deg,#fffafd,#fff);border-bottom:1px solid var(--v51-border)}
.v35-result-hero h3{margin:7px 0 4px;font-size:clamp(1.55rem,3vw,2rem)}
.v35-result-hero .property-demo-card__address{font-size:.95rem;font-weight:800;color:var(--v51-ink);margin:0}
.v35-rich-property-result .v35-result-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 24px 22px;background:#fff}
.v35-rich-property-result .property-demo-fact{border:0;border-right:1px solid var(--v51-border);border-radius:0;background:transparent;padding:15px 16px 4px 0;margin-right:16px}
.v35-rich-property-result .property-demo-fact:nth-child(4n){border-right:0;margin-right:0}
.v35-rich-property-result .property-demo-fact span{text-transform:none;letter-spacing:0;font-size:.72rem}
.v35-rich-property-result .property-demo-fact strong{font-size:.9rem;margin-top:4px}
.v51-build-answer{padding:0 24px 24px;background:#fff}
.v51-build-banner{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:22px;border:1px solid #bfe4cc;border-radius:16px;background:linear-gradient(135deg,#effbf3,#f8fff9)}
.v51-build-banner.is-neutral{border-color:#ead9a9;background:#fff9e9}
.v51-build-check{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--v51-green);color:#fff;font-size:26px;font-weight:950;line-height:1}
.v51-build-banner.is-neutral .v51-build-check{background:var(--v51-amber)}
.v51-build-banner .eyebrow{margin:0 0 4px;color:var(--v51-green)}
.v51-build-banner.is-neutral .eyebrow{color:var(--v51-amber)}
.v51-build-banner h4{font-size:clamp(1.45rem,3.2vw,2.25rem);margin:0 0 5px;line-height:1.08;color:var(--v51-ink);letter-spacing:-.035em}
.v51-build-banner p{margin:0;color:#5f555a;line-height:1.52}
.v51-options-heading{font-size:1.35rem;margin:24px 0 5px;color:var(--v51-ink)}
.v51-options-sub{margin:0 0 13px;color:var(--v51-muted);font-size:.88rem}
.v51-build-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v51-option-card{position:relative;min-height:164px;padding:16px;border:1px solid var(--v51-border);border-radius:15px;background:#fff;display:flex;flex-direction:column;gap:9px}
.v51-option-head{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.v51-option-card h5{font-size:1rem;margin:0;color:var(--v51-ink);line-height:1.25}
.v51-status{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:900;line-height:1.15;text-align:center;background:#eaf8ef;color:#267147}
.v51-status.verify{background:#fff0df;color:#9a5410}
.v51-status.no{background:#f1f1f3;color:#66616a}
.v51-status a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.v51-option-card p{margin:0;color:var(--v51-muted);font-size:.81rem;line-height:1.45}
.v51-option-review{margin-top:auto;padding-top:7px;border-top:1px solid #f0e3e8;color:var(--v51-rose);font-weight:850;font-size:.76rem;text-decoration:none}
.v51-review-strip{margin-top:14px;padding:18px;border:1px solid var(--v51-border);border-radius:15px;background:#fff8fa;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
.v51-review-strip span{display:block;color:var(--v51-rose);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.v51-review-strip strong{display:block;margin-top:3px;font-size:1.08rem;color:var(--v51-ink)}
.v51-review-strip p{margin:3px 0 0!important;color:var(--v51-muted)!important;font-size:.8rem!important}
.v51-review-strip a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 15px;border-radius:11px;background:var(--v51-plum);color:#fff;text-decoration:none;font-weight:900;font-size:.82rem;white-space:nowrap}
.v51-build-note{margin:14px 2px 0!important;font-size:.8rem!important;color:var(--v51-muted)!important}
.v35-result-panels{margin:0 24px 22px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.v35-result-panels section{border:1px solid var(--v51-border)!important;border-radius:14px!important;background:#fffafd!important;padding:16px!important}
.v38-result-source{margin:0 24px 24px!important;padding-top:14px!important}

/* ---------- manual fallback: preserve approved 4 steps, restyle only ---------- */
.suite-guided-start{padding:24px!important;border-radius:18px!important;background:linear-gradient(135deg,#fff8fa,#fff)!important}
.suite-guided-start-copy .eyebrow{margin-bottom:7px!important}
.suite-guided-start-copy h3{font-size:clamp(1.55rem,3.5vw,2.1rem)!important}
.suite-manual-restored{border-radius:20px!important;box-shadow:none!important;border-color:var(--v51-border)!important;background:#fff!important}
.suite-manual-restored .pr29-manual-intro{padding:24px 24px 8px!important}
.suite-manual-restored .pr29-manual-intro h3{font-size:1.55rem!important;margin:3px 0 7px!important}
.suite-manual-restored .suite-checker-form{margin:16px 20px 20px!important;border-radius:16px!important}
.suite-manual-restored .suite-progress{background:var(--v51-plum)!important}
.suite-manual-restored .suite-question-group{padding:24px!important}
.suite-manual-restored .suite-step-header .tool-step-num{background:var(--v51-plum)!important;border-radius:50%!important}
.suite-manual-restored .tool-field input,.suite-manual-restored .tool-field select{border-color:#dbc7d0!important;border-radius:11px!important;background:#fff!important}
.suite-manual-restored .suite-check-button{background:var(--v51-plum)!important;border-radius:11px!important}
.suite-manual-restored .suite-result-card{border:1px solid var(--v51-border)!important;border-top:5px solid var(--v51-plum)!important;border-radius:16px!important;box-shadow:none!important;background:#fff!important}
.suite-manual-restored .suite-result-card.result-baseline{border-top-color:var(--v51-green)!important}
.suite-manual-restored .suite-result-card.result-verify{border-top-color:var(--v51-amber)!important}
.suite-manual-restored .result-not-accepted-contact{margin-top:18px!important}

/* ---------- contact / free review page ---------- */
.contact-review-page{background:#fffafa}
.contact-review-page .page-hero.v51-review-hero{padding:56px 0 48px;background:linear-gradient(135deg,#fbf0f3,#fff8fa);border-bottom:1px solid var(--v51-border)}
.contact-review-page .v51-review-hero .wrap{width:min(1060px,calc(100% - 40px))}
.contact-review-page .v51-review-hero h1{font-size:clamp(2.55rem,5.4vw,4.55rem);max-width:900px;margin-bottom:13px}
.contact-review-page .v51-review-hero .lead{max-width:900px;font-size:1.13rem;margin-bottom:22px}
.v51-review-benefits{display:grid;gap:9px;margin-top:16px;max-width:860px}
.v51-review-benefit{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;font-weight:800;color:var(--v51-ink)}
.v51-review-benefit i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--v51-border);color:var(--v51-rose);font-weight:950}
.v51-review-section{padding:34px 0 70px}
.v51-review-grid{width:min(1060px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);gap:28px;align-items:start}
.v51-review-card,.v51-review-side{background:#fff;border:1px solid var(--v51-border);border-radius:20px;box-shadow:none}
.v51-review-card{padding:26px}
.v51-review-card .eyebrow{margin-bottom:8px}
.v51-review-card h2{font-size:clamp(1.75rem,3.5vw,2.4rem);margin:0 0 6px}
.v51-review-card>.v51-intro{margin:0 0 20px;color:var(--v51-muted)}
.v51-field{display:grid;gap:6px;margin-top:14px}
.v51-field label,.v51-fieldset legend{font-size:.82rem;font-weight:900;color:var(--v51-ink)}
.v51-field input,.v51-field textarea{width:100%;border:1px solid #decbd3;border-radius:11px;background:#fff;padding:13px 14px;font:inherit;color:var(--v51-ink);font-size:16px;outline:0}
.v51-field textarea{min-height:106px;resize:vertical}
.v51-field input:focus,.v51-field textarea:focus{border-color:var(--v51-rose);box-shadow:0 0 0 3px rgba(155,53,94,.11)}
.v51-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v51-fieldset{border:0;margin:18px 0 0;padding:0}
.v51-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:8px}
.v51-choice{position:relative}
.v51-choice input{position:absolute;opacity:0;pointer-events:none}
.v51-choice span{display:flex;align-items:center;justify-content:center;min-height:45px;padding:9px 10px;border:1px solid #decbd3;border-radius:10px;background:#fff;font-size:.78rem;font-weight:850;text-align:center;cursor:pointer}
.v51-choice input:checked+span{border-color:var(--v51-plum);background:#fff2f6;color:var(--v51-plum);box-shadow:0 0 0 1px var(--v51-plum)}
.v51-divider{height:1px;background:var(--v51-border);margin:22px 0 18px}
.v51-contact-row{display:grid;grid-template-columns:1fr 1.2fr;gap:12px}
.v51-preference{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.v51-preference .v51-choice span{min-width:76px}
.v51-form-error{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#fff0f0;color:#7d2525;font-size:.82rem}
.v51-form-error[hidden]{display:none}
.v51-privacy{font-size:.72rem;color:var(--v51-muted);line-height:1.45;margin:13px 0 10px}
.v51-submit{width:100%;min-height:52px;border:0;border-radius:11px;background:var(--v51-plum);color:#fff;font:inherit;font-weight:900;cursor:pointer}
.v51-submit:hover{background:var(--v51-plum-dark)}
.v51-response-note{text-align:center;margin:8px 0 0;color:var(--v51-muted);font-size:.72rem}
.v51-review-side{padding:22px;position:sticky;top:94px}
.v51-review-side h2{font-size:1.7rem;margin:3px 0 16px}
.v51-review-step{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--v51-border)}
.v51-review-step:first-of-type{border-top:0}
.v51-review-step b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--v51-blush);color:var(--v51-rose)}
.v51-review-step strong{display:block;font-size:.9rem;color:var(--v51-ink)}
.v51-review-step p{margin:3px 0 0;color:var(--v51-muted);font-size:.75rem;line-height:1.4}
.v51-free-card{margin-top:16px;border-radius:15px;padding:20px;background:var(--v51-plum);color:#fff}
.v51-free-card strong{display:block;font-size:1.25rem}.v51-free-card span{display:block;margin-top:5px;font-size:.76rem;color:#f2dce5}
.v51-prefill-note{display:none;margin:0 0 14px;padding:11px 12px;border:1px solid #cfe7d7;border-radius:10px;background:#f2fbf5;color:#2d6c47;font-size:.8rem;font-weight:750}
.v51-prefill-note.is-visible{display:block}

/* ---------- thanks ---------- */
.v51-thanks .page-hero{min-height:520px;display:flex;align-items:center;background:linear-gradient(135deg,#fbf0f3,#fff)}
.v51-thanks .page-hero .narrow{max-width:760px}

@media(max-width:900px){
 .v35-rich-property-result .v35-result-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v35-rich-property-result .property-demo-fact:nth-child(4n){border-right:1px solid var(--v51-border);margin-right:16px}
 .v35-rich-property-result .property-demo-fact:nth-child(2n){border-right:0;margin-right:0}
 .v51-build-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v51-review-grid{grid-template-columns:1fr}.v51-review-side{position:static}
}
@media(max-width:620px){
 .utility-city-cta>.wrap,.property-lookup-section>.wrap,.contact-review-page .v51-review-hero .wrap,.v51-review-grid{width:min(100% - 28px,1180px)}
 .property-lookup__head h2{font-size:2.25rem}
 .property-lookup__search-card{padding:14px}.property-lookup__submit{min-width:0;width:100%}
 .v35-result-hero{padding:18px 16px 15px}
 .v35-rich-property-result .v35-result-facts{grid-template-columns:1fr;padding:0 16px 18px}
 .v35-rich-property-result .property-demo-fact,.v35-rich-property-result .property-demo-fact:nth-child(2n),.v35-rich-property-result .property-demo-fact:nth-child(4n){border-right:0;border-bottom:1px solid var(--v51-border);margin:0;padding:11px 0}
 .v35-rich-property-result .property-demo-fact:last-child{border-bottom:0}
 .v51-build-answer{padding:0 16px 18px}.v51-build-banner{grid-template-columns:1fr;padding:17px}.v51-build-check{width:40px;height:40px;font-size:22px}
 .v51-build-options{grid-template-columns:1fr}.v51-option-card{min-height:0}
 .v51-review-strip{grid-template-columns:1fr}.v51-review-strip a{width:100%}
 .v35-result-panels{margin:0 16px 18px!important;grid-template-columns:1fr!important}.v38-result-source{margin:0 16px 18px!important}
 .property-pro-contact-high{padding:19px!important}
 .suite-manual-restored .pr29-manual-intro{padding:20px 16px 6px!important}.suite-manual-restored .suite-checker-form{margin:12px 10px 16px!important}.suite-manual-restored .suite-question-group{padding:19px 16px!important}
 .contact-review-page .page-hero.v51-review-hero{padding:39px 0 34px}.contact-review-page .v51-review-hero h1{font-size:2.65rem}.contact-review-page .v51-review-hero .lead{font-size:1rem}
 .v51-review-card{padding:18px 16px}.v51-two,.v51-contact-row{grid-template-columns:1fr}.v51-choice-grid{grid-template-columns:repeat(2,1fr)}
 .v51-review-side{padding:18px}
}
.v51-review-card .hidden,.v51-review-card input[type="hidden"]{display:none!important}
