﻿@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap");

/* Common design tokens: colors, lines, radii, and base surfaces. */
/*
  CSS map
  1. Foundation: tokens, base elements, shared typography, and shared layout values.
  2. Page content: content cards, tables, terms, criteria, and column article reading styles.
  3. Top page: hero, appraisal card, reasons, flow, results, FAQ, and company overview.
  4. Forms and modals: appraisal controls, validation, modal chrome, and result states.
  5. Header and navigation: fixed header, menu panel, mobile menu, and CTA states.
  6. Exceptions: subpage spacing, mobile compression, table readability, and legacy-safe overrides.

  Keep the cascade order stable unless a visual regression check follows. Many later blocks intentionally
  refine earlier broad rules for specific pages.
*/
:root {
  color-scheme: light;
  --house-blue: #004680;
  --blue-grey-20: #f5f5f7;
  --blue-grey-10: #fafafa;
  --white: #ffffff;
  --text-primary: #000;
  --text-heading: #24272a;
  --text-reading: #4f5963;
  --text-muted: #6f7882;
  --text-placeholder: #8d96a3;
  --ink: #24272a;
  --line-default: #e8e8ed;
  --line-subtle: #e8e8ed;
  --line: #e8e8ed;
  --control-line: #d8dee6;
  --section-grey: #f7f8fa;
  --page-background-gradient: linear-gradient(
    180deg,
    #f7f8fa 0%,
    #f9fafb 32%,
    #f3f6f8 68%,
    #f7f8fa 100%
  );
  --surface-white: var(--white);
  --surface-muted: var(--section-grey);
  --surface-soft: #fafafa;
  --surface-rail: #edf2f7;
  --table-heading-bg: #f6f6f7;
  --text-inverse: #fff;
  --text-icon: #111;
  --line-soft: #e8e8ed;
  --danger: #d93025;
  --error-message-text: #a22727;
  --error-message-bg: #fff2f2;
  --error-message-border: 1px solid rgba(214, 69, 69, 0.28);
  --danger-focus-ring: 0 0 0 3px rgba(217, 48, 37, 0.14);
  --legacy-danger-focus-ring: 0 0 0 3px rgba(214, 69, 69, 0.14);
  --success: #16864a;
  --price-positive: #168a52;
  --price-neutral: #004680;
  --price-negative: #c44747;
  --price-positive-soft: rgba(22, 138, 82, 0.08);
  --price-neutral-soft: #edf2f7;
  --price-negative-soft: rgba(196, 71, 71, 0.08);
  --ok-badge-text: #137346;
  --ok-badge-bg: #eaf7ef;
  --ok-badge-border: #8dd7ad;
  --status-neutral: #9aa3ad;
  --line-green: #00b900;
  --cta-yellow: #f3e600;
  --cta-yellow-deep: #f3c300;
  --surface-shadow: 0 2px 8px rgba(0, 0, 0, 0.04), 0 14px 36px rgba(0, 0, 0, 0.07);
  --text-helper: #6b7280;
  --legacy-control-line: #d8dde3;
  --legacy-control-border: 1px solid var(--legacy-control-line);
  --legacy-control-disabled-text: #8d969f;
  --legacy-control-disabled-bg: #f3f5f7;
  --legacy-danger: #d64545;
  --control-line-hover: #b8c0ca;
  --focus-outline: 2px solid rgba(0, 70, 128, 0.42);
  --hero-field-pulse-shadow-start: 0 0 0 1px rgba(0, 70, 128, 0.18), 0 0 0 rgba(0, 70, 128, 0);
  --hero-field-pulse-shadow-peak: 0 0 0 2px rgba(0, 70, 128, 0.34), 0 0 16px rgba(0, 70, 128, 0.32);
  --hero-cta-pulse-filter-start: drop-shadow(0 0 0 rgba(0, 70, 128, 0));
  --hero-cta-pulse-shadow-start: 0 10px 22px rgba(0, 70, 128, 0.14), 0 0 0 0 rgba(255, 255, 255, 0);
  --hero-cta-pulse-filter-peak: drop-shadow(0 0 10px rgba(0, 70, 128, 0.40));
  --hero-cta-pulse-shadow-peak: 0 12px 26px rgba(0, 70, 128, 0.24), 0 0 0 6px rgba(255, 255, 255, 0.34);
  --hero-pulse-border: 1px solid rgba(0, 70, 128, 0.26);
  --cta-float-shadow: var(--surface-shadow);
  --cta-float-shadow-hover: var(--surface-shadow);
  --cta-float-shadow-active: var(--surface-shadow);
  --hero-submit-pulse-filter: drop-shadow(0 0 8px rgba(0, 70, 128, 0.28));
  --card-radius: 24px;
  --card-border: 1px solid rgba(223, 227, 232, 0.78);
  --control-radius: 10px;
  --municipality-card-radius: var(--control-radius);
  --municipality-card-gap: 0;
  --compact-radius: 4px;
  --hint-radius: 8px;
  --price-radius: 14px;
  --menu-panel-radius: 18px;
  --button-radius: 999px;
  --gap-xs: 8px;
  --gap-s: 10px;
  --gap-m: 12px;
  --gap-l: 14px;
  --gap-xl: 18px;
  --card-footer-content-gap: clamp(18px, 3vw, 28px);
  --navigation-chevron: ">";
  --gap-2xl: 22px;
  --control-border: 1px solid var(--control-line);
  --control-x-padding: 18px;
  --control-padding: 0 var(--control-x-padding);
  --field-height: 52px;
  --field-padding-x: 14px;
  --field-icon-space: 44px;
  --field-padding: 0 var(--field-icon-space) 0 var(--field-padding-x);
  --badge-min-width: 46px;
  --badge-height: 24px;
  --badge-padding-x: 10px;
  --badge-font-size: 12px;
  --badge-radius: var(--button-radius);
  --circle-radius: 50%;
  --divider-size: 1px;
  --icon-button-size-sm: 26px;
  --header-glass-bg: rgba(255, 255, 255, 0.88);
  --header-glass-bg-open: rgba(255, 255, 255, 0.92);
  --header-glass-border: 1px solid rgba(255, 255, 255, 0.72);
  --header-glass-shadow: var(--surface-shadow);
  --header-glass-shadow-open: none;
  --header-glass-blur: blur(14px) saturate(1.08);
  --scroll-hint-bg: rgba(0, 0, 0, 0.56);
  --full-bleed-section-shadow: 0 0 0 100vmax var(--section-grey);
  --full-bleed-soft-shadow: 0 0 0 100vmax var(--surface-soft);
  --full-bleed-white-shadow: 0 0 0 100vmax var(--surface-white);
  --table-cell-padding: 18px 22px;
  --table-cell-padding-mobile: 14px 12px;
  --table-min-width: 640px;
  --purchase-table-min-width: 860px;
  --criteria-table-min-width: 680px;
  --criteria-label-column-width: 146px;
  --criteria-label-column-width-mobile: 104px;
  --purchase-table-status-width: 88px;
  --purchase-table-status-width-mobile: 82px;
  --purchase-table-date-width: 156px;
  --purchase-table-date-width-mobile: 144px;
  --base-input-height: 54px;
  --textarea-height: 116px;
  --checkbox-size: 22px;
  --price-card-padding: 14px 18px 16px;
  --select-arrow-size: 5px;
  --field-check-size: 20px;
  --visually-hidden-size: 1px;
  --scroll-hint-min-width: 138px;
  --small-badge-min-width: 42px;
  --small-badge-padding: 0 8px;
  --progress-pill-min-width: 54px;
  --progress-pill-padding: 0 12px;
  --modal-progress-bar-height: 8px;
  --modal-nav-width: 50px;
  --cta-free-pill-height: 30px;
  --cta-free-pill-padding: 0 12px;
  --menu-icon-line-thickness: 2px;
  --subpage-visual-max-height: 240px;
  --subpage-form-max-width-tablet: 560px;
  --subpage-mobile-visual-padding: 22px;
  --subpage-mobile-copy-padding: 24px 22px 28px;
  --mobile-form-badge-size: 74px;
  --mobile-form-badge-ring: 0 0 0 5px #f3b300;
  --mobile-form-badge-top: -24px;
  --mobile-form-badge-right: -8px;
  --hero-mobile-inner-gap: 22px;
  --hero-mobile-inner-padding: 32px 16px 34px;
  --hero-mobile-section-padding: 104px 14px 44px;
  --hero-mobile-copy-width: min(560px, 100%);
  --hero-mobile-form-width: min(392px, 100%);
  --hero-ai-group-gap: 14px;
  --hero-ai-mobile-label-height: 40px;
  --hero-ai-step-circle-size: 20px;
  --hero-ai-step-number-size: 13px;
  --hero-ai-step-action-size: 13px;
  --hero-ai-mobile-field-gap: 8px;
  --hero-ai-mobile-field-height: 46px;
  --hero-ai-mobile-compact-font-size: 14px;
  --hero-ai-mobile-compact-padding: 0 30px 0 12px;
  --hero-ai-mobile-compact-arrow-right: 12px;
  --hero-inner-item-gap: clamp(12px, 2.6vw, 24px);
  --hero-area-text-size: 15px;
  --hero-area-text-margin-y: 2px;
  --form-panel-gap: var(--gap-xl);
  --fieldset-padding: 24px 22px 22px;
  --legend-bottom-padding: 0 0 16px;
  --check-field-padding: var(--gap-l);
  --result-panel-padding: var(--gap-xl);
  --column-card-image-padding: var(--gap-xl);
  --column-card-title-padding: 14px 18px 18px;
  --column-card-body-padding: 0 18px 18px;
  --flow-card-padding-mobile: 24px 20px;
  --flow-step-gap-mobile: 16px;
  --flow-step-content-gap-mobile: var(--gap-m);
  --flow-step-bottom-padding-mobile: 24px;
  --flow-step-stack-padding-mobile: 28px;
  --scroll-hint-padding: 14px 16px 12px;
  --legacy-select-padding: 0 46px 0 14px;
  --legacy-trigger-height: 44px;
  --legacy-trigger-padding: 0 54px 0 14px;
  --modal-progress-wrap-height: 32px;
  --modal-nav-size: 28px;
  --link-card-min-height: 190px;
  --company-map-height: 280px;
  --company-map-height-mobile: 220px;
  --staff-photo-size: 144px;
  --staff-photo-size-mobile: 136px;
  --section-frame-width: min(1120px, calc(100% - 32px));
  --menu-list-width: min(1120px, calc(100vw - 32px));
  --mobile-edge-width: calc(100vw - 24px);
  --illustration-size-sm: min(220px, 100%);
  --brand-logo-width: clamp(132px, 14vw, 178px);
  --brand-logo-width-mobile: clamp(104px, 32vw, 132px);
  --header-card-height: 72px;
  --header-card-height-mobile: 64px;
  --menu-button-size: 44px;
  --menu-row-height: 72px;
  --menu-row-height-mobile: 66px;
  --mobile-cta-width: min(306px, 100%);
}

* {
  box-sizing: border-box;
}
img {
  -webkit-user-drag: none;
  user-select: none;
}
html {
  overflow-y: scroll;
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
  scroll-padding-top: 112px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  color: var(--text-primary);
  font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN",
    Meiryo, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.62;
  background: var(--section-grey);
  animation: pageEnter 0.3s ease both;
}
section[id],
main[id] {
  scroll-margin-top: 112px;
}
@keyframes pageEnter {from {
    opacity: 0;
  }
to {
    opacity: 1;
  }
}
a {
  color: inherit;
  text-decoration: none;
}
.sr-only {
  position: absolute;
  width: var(--visually-hidden-size);
  height: var(--visually-hidden-size);
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0, 0, 0, 0);
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
summary {
  touch-action: manipulation;
}
button {
  font-weight: 400;
}
.primary-button,
.mini-cta,
.location-select-trigger.ken-appraisal-trigger {
  font-weight: 400;
}
button:focus,
input:focus,
select:focus,
textarea:focus,
a:focus {
  outline: 0;
  box-shadow: none;
}
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 3px;
}
.content-page {
  width: var(--page-card-width);
  margin: 0;
}
.content-page > h2,
.content-page > h3 {
  margin: 40px 0 24px;
  color: var(--ink);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 800;
  line-height: 1.35;
}
.content-page > h2:first-child,
.content-page > h3:first-child {
  margin-top: 0;
  margin-bottom: 34px;
}
.content-page p {
  margin: 0;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.72;
}
.content-list {
  margin: 10px 0 18px;
  padding: 0;
  color: var(--ink);
  font-size: var(--type-form);
  line-height: 1.72;
  list-style: none;
}
.content-list li::before {
  content: "・";
  color: var(--ink);
}
.content-list + p {
  margin-top: 18px;
}
.terms-content .content-list {
  line-height: 1.45;
}
.company-detail-page,
.company-detail-page p,
.company-detail-page li,
.company-detail-page dt,
.company-detail-page dd {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-weight: 400;
}
.company-detail-page .content-list {
  color: var(--ink);
}
.company-detail-page .content-list li + li {
  margin-top: 4px;
}
.info-table-list {
  display: grid;
  gap: 0;
  margin: 0;
  color: var(--ink);
  border-top: 1px solid var(--line);
}
.info-table-list div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.info-table-list dt {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-weight: 400;
}
.info-table-list dd {
  margin: 0;
  color: var(--reading-copy-color);
  -webkit-text-fill-color: var(--reading-copy-color);
  font-weight: 400;
  line-height: 1.75;
}
.content-table {
  width: 100%;
  margin: 22px 0 28px;
  overflow: hidden;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--flat-line);
  border-radius: var(--card-radius);
}
.content-table-scroll {
  position: relative;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.content-table-scroll::after {
  position: absolute;
  top: clamp(72px, 14vh, 112px);
  left: 50%;
  z-index: 2;
  display: none;
  min-width: var(--scroll-hint-min-width);
  padding: var(--scroll-hint-padding);
  color: var(--text-inverse);
  font-size: var(--type-small);
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
  white-space: pre;
  content: "←  →\Aスクロールできます";
  background: var(--scroll-hint-bg);
  border-radius: var(--hint-radius);
  pointer-events: none;
  transform: translateX(-50%);
}
.content-table-scroll.is-scroll-hint-visible::after {
  display: block;
}
.content-table-scroll .content-table {
  min-width: var(--table-min-width);
}
.content-table th,
.content-table td {
  padding: var(--table-cell-padding);
  font-size: var(--type-table);
  line-height: 1.65;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid var(--flat-line);
  border-left: 1px solid var(--flat-line);
}
.content-table tr:first-child th {
  border-top: 0;
}
.content-table th:first-child,
.content-table td:first-child {
  border-left: 0;
}
.content-table th {
  color: var(--ink);
  font-weight: 500;
  background: var(--table-heading-bg);
}
.content-table td:first-child {
  width: 34%;
  color: var(--ink);
  font-weight: 500;
  background: var(--table-heading-bg);
}
.content-table td:not(:first-child) {
  color: var(--ink);
}
.criteria-section .content-page,
.terms-section .content-page {
  width: var(--flat-card-width);
  margin: 0 auto;
  padding: var(--white-card-inset);
  background: var(--flat-card-bg);
  border: 0;
  border-radius: var(--flat-card-radius);
  box-shadow: none;
}
.criteria-section .content-table {
  margin: 0;
  table-layout: auto;
  border: 1px solid var(--flat-line);
}
.criteria-section .content-table th,
.criteria-section .content-table td {
  font-size: var(--type-table);
}
.content-table-scroll .content-table th,
.content-table-scroll .content-table td {
  white-space: normal;
}
.content-table-scroll--purchase-results .content-table {
  min-width: var(--purchase-table-min-width);
}
.content-table-scroll--criteria .content-table {
  min-width: var(--criteria-table-min-width);
}
.purchase-results-table {
  width: 100%;
}
.criteria-section:not(.purchase-results-section) .content-table th:first-child,
.criteria-section:not(.purchase-results-section) .content-table td:first-child {
  width: var(--criteria-label-column-width);
  white-space: nowrap;
}
.criteria-section:not(.purchase-results-section) .content-table th:not(:first-child),
.criteria-section:not(.purchase-results-section) .content-table td:not(:first-child) {
  width: auto;
  word-break: normal;
  overflow-wrap: normal;
}
.purchase-results-table th:nth-child(1),
.purchase-results-table td:nth-child(1) {
  width: 28%;
}
.purchase-results-table th:nth-child(2),
.purchase-results-table td:nth-child(2) {
  width: var(--purchase-table-status-width);
  text-align: center;
  white-space: nowrap;
}
.purchase-results-table th:nth-child(3),
.purchase-results-table td:nth-child(3) {
  width: var(--purchase-table-date-width);
  white-space: nowrap;
}
.purchase-results-table th:nth-child(4),
.purchase-results-table td:nth-child(4) {
  width: auto;
  word-break: normal;
  overflow-wrap: break-word;
}
.purchase-results-table td:first-child {
  font-weight: 400;
  background: var(--white);
}
.top-purchase-results-card {
  width: var(--flat-card-width);
  margin: 0 auto;
  padding: var(--purchase-results-card-padding);
  background: var(--flat-card-bg);
  border-radius: var(--flat-card-radius);
  box-shadow: var(--surface-shadow);
}
.top-purchase-results-card .content-table {
  margin: 0;
  table-layout: auto;
}
#top .top-purchase-results-section .purchase-results-table th {
  font-weight: 400;
}
.content-page .purchase-results-note {
  margin: 0;
  color: var(--text-muted);
  font-weight: 400;
  line-height: 1.62;
}
.content-page .content-table-scroll + .purchase-results-note {
  margin-top: var(--flat-card-padding);
}
.section-more-actions {
  display: flex;
  justify-content: center;
  width: var(--flat-card-width);
  margin: 24px auto 0;
}
.card-more-footer .section-more-text-link {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--text-muted);
  -webkit-text-fill-color: var(--text-muted);
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.card-more-footer .section-more-text-link::after {
  display: inline-flex;
  box-sizing: border-box;
  flex: 0 0 16px;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  color: var(--text-placeholder);
  -webkit-text-fill-color: var(--text-placeholder);
  font-size: 11px;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  line-height: 1;
  padding-bottom: 1px;
  content: var(--navigation-chevron);
  border: 1px solid rgba(141, 150, 163, 0.52);
  border-radius: 50%;
  box-shadow: none;
  transition: transform 0.18s ease;
}
.card-more-footer .section-more-text-link:hover {
  color: var(--text-muted);
  -webkit-text-fill-color: var(--text-muted);
  text-decoration: none;
  transform: none;
}
.card-more-footer .section-more-text-link:hover > span {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.card-more-footer .section-more-text-link:hover::after {
  color: var(--text-muted);
  -webkit-text-fill-color: var(--text-muted);
  transform: translateX(2px);
}
.card-more-footer .section-more-text-link:active {
  transform: none;
}
.column-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  margin: var(--gap-xl) 0 0;
}
.column-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: var(--link-card-min-height);
  padding: var(--split-card-item-padding);
  color: var(--ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.column-card:hover {
  color: var(--brand-deep-blue);
  transform: none;
}
.column-card:active {
  transform: none;
}
.column-card:nth-child(3n + 2)::before,
.column-card:nth-child(3n + 3)::before {
  position: absolute;
  top: var(--split-card-line-inset);
  bottom: var(--split-card-line-inset);
  left: 0;
  width: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
.column-card:nth-child(-n + 3):nth-child(3n + 2)::before,
.column-card:nth-child(-n + 3):nth-child(3n + 3)::before {
  bottom: 0;
}
.column-card:nth-child(n + 4):nth-child(3n + 2)::before,
.column-card:nth-child(n + 4):nth-child(3n + 3)::before {
  top: 0;
}
.column-card:nth-child(4)::after {
  position: absolute;
  top: 0;
  left: var(--split-card-item-padding);
  width: calc(300% - (var(--split-card-item-padding) * 2));
  height: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
.column-card img,
#top .popular-column-link img,
.related-column-image {
  display: block;
  width: 100%;
  aspect-ratio: 1200 / 630;
  margin: 0 0 var(--gap-xl);
  object-fit: cover;
  background: var(--flat-card-bg);
  border-radius: var(--card-radius);
}
.column-card h2 {
  margin: 0;
  padding: 0;
  color: var(--reading-accent-color);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
}
.column-card p {
  margin: 10px 0 0;
  padding: 0;
  color: var(--text-muted);
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1.7;
}

/* Purchase results share the column-list grid rhythm without its accent dividers. */
.purchase-results-page {
  display: grid;
  gap: var(--gap-xl);
  padding: var(--purchase-results-card-padding);
}
.municipality-grid {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--municipality-card-gap);
  margin: 0;
  overflow: hidden;
  background: var(--white);
  border: 0;
  border-radius: 0;
}
.municipality-grid::before {
  content: none;
}
.municipality-grid::after {
  content: none;
}
.municipality-grid--excerpt::after {
  content: none;
}
.municipality-card {
  --municipality-card-inline-padding: 0px;
  --municipality-chevron-edge-offset: 2px;
  justify-content: center;
  min-height: 86px;
  padding-right: calc(var(--municipality-card-inline-padding) + 28px);
  padding-left: var(--municipality-card-inline-padding);
  background: var(--white);
  border: 0;
  border-radius: 0;
}
.municipality-card:hover,
.municipality-card:active {
  transform: none;
}
.municipality-grid .municipality-card::before,
.municipality-grid .municipality-card::after {
  content: none;
}
.municipality-grid .municipality-card h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 400;
}
.municipality-grid .municipality-card p {
  margin-top: 6px;
  font-size: 15px;
}
.municipality-card-chevron {
  position: absolute;
  top: 50%;
  right: calc(var(--municipality-card-inline-padding) + var(--municipality-chevron-edge-offset));
  width: 9px;
  height: 9px;
  border-top: 1px solid var(--text-muted);
  border-right: 1px solid var(--text-muted);
  transform: translateY(-50%) rotate(45deg);
}
:is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail)) .municipality-card {
  border-radius: 0;
}
.result-property-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0;
}
.result-property-grid::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  content: "";
  background: var(--flat-line);
}
.result-property-card {
  position: relative;
  padding: var(--gap-2xl) 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.result-property-card:first-child {
  padding-top: 0;
}
.result-property-card:nth-child(n + 2)::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background: var(--flat-line);
}
.result-property-heading {
  padding: 0;
  background: transparent;
}
.purchase-results-page .result-property-heading p {
  margin: 0;
  color: var(--reading-accent-color);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.65;
}
.result-property-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: var(--gap-s) 0 0;
  gap: var(--gap-s) var(--gap-l);
}
.result-property-details div {
  min-width: 0;
}
.result-property-details .result-property-detail-wide {
  grid-column: auto;
}
.result-property-card dt {
  color: var(--text-muted);
  font-size: var(--type-caption);
}
.result-property-card dd {
  margin: 3px 0 0;
  color: var(--text-heading);
  font-size: 15px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.result-property-comment {
  margin-top: var(--gap-xl);
  color: var(--text-heading);
  font-size: var(--hero-area-text-size);
  font-weight: 400;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.purchase-results-page,
.purchase-results-page button {
  font-family: inherit;
}
.column-card-category,
#top .customer-voice-meta,
#top .popular-column-category,
.related-column-link .popular-column-category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;
  height: var(--pill-height);
  min-width: 0;
  min-height: var(--pill-height);
  padding: 0 var(--pill-x-padding);
  color: var(--pill-color);
  font-size: var(--pill-font-size);
  font-weight: 400;
  line-height: var(--pill-line-height);
  background: transparent;
  border: 1px solid var(--pill-border);
  border-radius: var(--button-radius);
}
.column-card-category {
  flex: 0 0 auto;
  align-self: start;
  margin: 0;
  white-space: nowrap;
}
.column-category-block {
  width: var(--flat-card-width);
  margin: 0 auto;
  padding: 0;
  background: var(--white);
  border-radius: var(--flat-card-radius);
  box-shadow: var(--flat-shadow);
  overflow: hidden;
}
.columns-section .column-category-block:first-of-type {
  padding-top: 0;
}
.column-category-block + .column-category-block {
  margin-top: var(--gap-2xl);
  border-top: 0;
}
.column-topic-heading {
  display: flex;
  align-items: stretch;
  gap: var(--reading-heading-gap);
  margin: 0;
  padding: var(--split-card-item-padding) var(--split-card-item-padding) 0;
  color: var(--reading-accent-color);
  font-size: var(--type-cta);
  font-weight: 400;
  line-height: 1.5;
}
.column-topic-heading::before {
  flex: 0 0 var(--heading-accent-thickness);
  width: var(--heading-accent-thickness);
  min-height: 1.35em;
  background: #004680;
  border-radius: var(--button-radius);
  content: "";
}
.primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-weight: 400;
  text-align: center;
  background: var(--house-blue);
  border: 1px solid var(--house-blue);
  border-radius: var(--button-radius);
  box-shadow: none;
  transform: translateY(0);
  transition: var(--control-transition);
}
.primary-button {
  width: 100%;
  min-height: var(--field-height);
  margin-top: 18px;
  padding: var(--control-padding);
  font-size: 19px;
  cursor: pointer;
}
.start-form {
  position: relative;
  padding: 26px;
  color: var(--ink);
  background: var(--white);
  border-radius: var(--card-radius);
  box-shadow: var(--surface-shadow);
}
.top-appraisal-form {
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  animation: none;
}
.hero-ai-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.hero-ai-field {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-size: var(--type-caption);
  font-weight: 700;
}
.hero-ai-select-wrap {
  position: relative;
  display: block;
}
.hero-ai-field select {
  width: 100%;
  min-height: 50px;
  padding: var(--legacy-select-padding);
  color: var(--ink);
  font: inherit;
  font-weight: 600;
  background: var(--white);
  border: var(--legacy-control-border);
  border-radius: var(--hint-radius);
  appearance: none;
}
.hero-ai-field select:disabled {
  color: var(--legacy-control-disabled-text);
  background: var(--legacy-control-disabled-bg);
}
.hero-ai-field.has-error select {
  border-color: var(--legacy-danger);
  box-shadow: var(--legacy-danger-focus-ring);
}
.hero-ai-message {
  margin: 14px 0 0;
  padding: 12px 14px;
  color: var(--error-message-text);
  font-size: var(--type-caption);
  font-weight: 700;
  line-height: 1.55;
  white-space: pre-line;
  background: var(--error-message-bg);
  border: var(--error-message-border);
  border-radius: var(--hint-radius);
}
.hero-ai-submit {
  width: min(360px, 100%);
  margin: 20px auto 0;
}
.hero-ai-submit:disabled {
  cursor: wait;
  opacity: 0.72;
}
.hero-ai-result {
  margin-top: 22px;
}
@media (max-width: 767px) {.hero-ai-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
.hero-ai-field select {
    min-height: 48px;
  }

}
.location-select-trigger {
  position: relative;
  width: 100%;
  min-height: var(--legacy-trigger-height);
  padding: var(--legacy-trigger-padding);
  color: var(--ink);
  font: inherit;
  font-size: var(--type-small);
  font-weight: 400;
  text-align: left;
  background: var(--blue-grey-10);
  border: var(--control-border);
  border-radius: var(--button-radius);
  cursor: pointer;
}
.location-select-trigger.ken-appraisal-trigger {
  min-height: var(--field-height);
  padding: var(--control-padding);
  font-size: var(--type-cta);
  text-align: center;
  border-radius: var(--button-radius);
  box-shadow: none;
  animation: none;
  transform: translateY(0);
  transition: var(--control-transition);
}
.location-select-trigger.ken-appraisal-trigger::before,
.location-select-trigger.ken-appraisal-trigger::after {
  content: none;
}
.location-select-trigger::before {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 18px;
  height: 18px;
  content: "";
  border: 1.25px solid var(--ink);
  border-radius: var(--circle-radius);
  transform: translateY(-50%);
}
.location-select-trigger::after {
  position: absolute;
  top: 50%;
  right: 22px;
  width: 9px;
  height: 9px;
  content: "";
  background:
    linear-gradient(var(--ink), var(--ink)) center / 8px 1.25px no-repeat,
    linear-gradient(var(--ink), var(--ink)) center / 1.25px 8px no-repeat;
  transform: translateY(-50%);
}
label {
  color: var(--ink);
  font-weight: 600;
}
label span {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--small-badge-min-width);
  min-height: var(--checkbox-size);
  padding: var(--small-badge-padding);
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 600;
  background: var(--white);
  border: 1px solid currentColor;
  border-radius: var(--button-radius);
}
b.is-ok {
  color: var(--ok-badge-text);
  background: var(--ok-badge-bg);
  border-color: var(--ok-badge-border);
}
input,
select,
textarea {
  width: 100%;
  min-height: var(--base-input-height);
  margin-top: 7px;
  padding: 0 14px;
  color: var(--ink);
  font-weight: 400;
  background: var(--blue-grey-10);
  border: 1px solid var(--line);
  border-radius: var(--compact-radius);
}
select {
  border-radius: var(--button-radius);
}
textarea {
  min-height: var(--textarea-height);
  padding-top: 13px;
  resize: vertical;
}
input:focus,
select:focus {
  border-color: var(--line);
}
.field small {
  margin: 6px 0 0;
  color: var(--ink);
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1.35;
}
.field-error {
  grid-column: 1 / -1;
  margin-top: 6px;
  color: var(--danger);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
}
.formal-complete {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 18px;
  min-height: 0;
}
.wizard-result {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 18px;
  min-height: 360px;
  text-align: center;
}
.wizard-result {
  align-content: start;
  min-height: 0;
  padding-top: 0;
}
.wizard-result-actions {
  display: grid;
  gap: 18px;
  justify-items: center;
  width: var(--cta-inline-size);
  margin: 0 auto;
}
.wizard-price {
  width: 100%;
  padding: var(--price-card-padding);
  color: var(--brand-deep-blue);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
  background: var(--surface-rail);
  border-radius: var(--price-radius);
}
.wizard-result-notes {
  width: 100%;
  text-align: left;
  background: transparent;
}
.wizard-result-notes p {
  margin: 0 0 8px;
  font-size: var(--type-small);
  line-height: 1.55;
}
.wizard-result-cta {
  width: var(--cta-inline-size);
  min-height: var(--field-height);
  margin-top: 4px;
  border-radius: var(--button-radius);
}
.wizard-line-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: var(--cta-inline-size);
  min-height: var(--field-height);
  padding: var(--control-padding);
  color: var(--text-inverse);
  font-size: 19px;
  font-weight: 400;
  text-decoration: none;
  background: var(--line-green);
  border-radius: var(--button-radius);
  transform: translateY(0);
  transition: var(--control-transition);
}
.wizard-line-cta:hover {
  color: var(--text-inverse);
  filter: none;
  transform: var(--control-press-hover);
}
.wizard-line-cta:active {
  transform: var(--control-press-active);
}
main details,
main fieldset,
main .result,
main .info-table,
main .content-table {
  box-shadow: none;
}
main a:not(.primary-button):not(.mini-cta):not(.location-select-trigger):not(.column-card):not(.section-more-text-link) {
  color: var(--house-blue);
}
main .column-article-section .content-page a:not(.primary-button):not(.mini-cta):not(.location-select-trigger):not(.column-card):not(.section-more-text-link),
main .terms-content a:not(.primary-button):not(.mini-cta):not(.location-select-trigger):not(.column-card):not(.section-more-text-link) {
  color: #000;
  -webkit-text-fill-color: #000;
}
.has-error input,
.has-error select,
.has-error textarea {
  border-color: var(--danger);
}
.terms .field-error {
  display: block;
  margin-top: 8px;
}
.section {
  width: var(--section-frame-width);
  margin: 0 auto;
  padding: 76px 0;
}
.reason-section {
  background: var(--section-grey);
  box-shadow: var(--full-bleed-section-shadow);
  clip-path: inset(0 -100vmax);
}
.flow-section {
  background: var(--section-grey);
  box-shadow: var(--full-bleed-section-shadow);
  clip-path: inset(0 -100vmax);
}
.results-section {
  --purchase-result-item-padding: var(--card-footer-content-gap);
  background: var(--surface-soft);
  box-shadow: var(--full-bleed-soft-shadow);
  clip-path: inset(0 -100vmax);
}
.faq-section {
  background: var(--white);
  box-shadow: var(--full-bleed-white-shadow);
  clip-path: inset(0 -100vmax);
}
.arrow-circle-link {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  flex: 0 0 var(--icon-button-size-sm);
  align-items: center;
  justify-content: center;
  width: var(--icon-button-size-sm);
  height: var(--icon-button-size-sm);
  min-width: var(--icon-button-size-sm);
  min-height: var(--icon-button-size-sm);
  inline-size: var(--icon-button-size-sm);
  block-size: var(--icon-button-size-sm);
  margin: 0;
  padding: 0;
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  background: var(--surface-rail);
  border: 0;
  border-radius: var(--circle-radius);
  box-sizing: border-box;
  flex-shrink: 0;
  cursor: pointer;
  transform: translateY(0);
  transition: var(--control-transition);
}
.arrow-circle-link:hover,
#top .flow-action-link:hover .arrow-circle-link {
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  background: var(--surface-rail);
  transform: var(--control-press-hover);
}
.arrow-circle-link:active,
#top .flow-action-link:active .arrow-circle-link {
  transform: var(--control-press-active);
}
.flow-section {
  color: var(--ink);
  background: var(--section-grey);
  box-shadow: var(--full-bleed-section-shadow);
  clip-path: inset(0 -100vmax);
  padding-bottom: 82px;
}
.flow-section .section-title h2 {
  color: var(--ink);
}
.flow-section .section-title,
.flow-card {
  position: relative;
  z-index: 1;
}
.appraisal-examples-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: var(--flat-card-width);
  margin: 0 auto;
  overflow: hidden;
  background: var(--flat-card-bg);
  border-radius: var(--flat-card-radius);
  box-shadow: var(--surface-shadow);
}
.appraisal-example-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: var(--gap-xl);
  padding: var(--split-card-item-padding);
  background: transparent;
}
.appraisal-example-card + .appraisal-example-card::before {
  position: absolute;
  top: var(--split-card-line-inset);
  bottom: var(--split-card-line-inset);
  left: 0;
  width: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
.appraisal-example-prices {
  display: grid;
  justify-items: start;
  gap: var(--gap-m);
  text-align: left;
}
.appraisal-example-prices div {
  display: grid;
  gap: var(--gap-xs);
}
.appraisal-example-prices > div {
  width: 100%;
}
.appraisal-example-prices > div > span {
  color: var(--text-muted);
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1.4;
}
.appraisal-example-prices strong {
  color: var(--ink);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.4;
}
.appraisal-example-prices .appraisal-example-formal-price {
  color: var(--ink);
  font-size: 18px;
  font-weight: 400;
}
.appraisal-example-prices .appraisal-example-formal-price--positive {
  color: var(--price-positive);
  -webkit-text-fill-color: var(--price-positive);
}
.appraisal-example-prices .appraisal-example-formal-price--neutral {
  color: var(--price-neutral);
  -webkit-text-fill-color: var(--price-neutral);
}
.appraisal-example-prices .appraisal-example-formal-price--negative {
  color: var(--price-negative);
  -webkit-text-fill-color: var(--price-negative);
}
.appraisal-example-prices .appraisal-example-formal-result {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--gap-xs);
  width: 100%;
}
.appraisal-example-prices .appraisal-example-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--pill-height);
  padding: 0 var(--pill-x-padding);
  border-radius: var(--button-radius);
  font-size: var(--pill-font-size);
  font-weight: 400;
  line-height: var(--pill-line-height);
  white-space: nowrap;
}
.appraisal-example-prices .appraisal-example-status-pill--positive {
  color: var(--price-positive);
  -webkit-text-fill-color: var(--price-positive);
  background: var(--price-positive-soft);
}
.appraisal-example-prices .appraisal-example-status-pill--neutral {
  color: var(--price-neutral);
  -webkit-text-fill-color: var(--price-neutral);
  background: var(--price-neutral-soft);
}
.appraisal-example-prices .appraisal-example-status-pill--negative {
  color: var(--price-negative);
  -webkit-text-fill-color: var(--price-negative);
  background: var(--price-negative-soft);
}
.appraisal-example-card p {
  margin: 0;
  color: var(--text-heading);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: var(--reading-line-height);
}
.card-note-footer.appraisal-examples-note {
  --card-footer-bottom-inset: var(--card-footer-content-gap);
  --card-note-line-inset: var(--card-footer-content-gap);
  grid-column: 1 / -1;
}
.section-title {
  width: min(820px, 100%);
  margin: 0 auto 34px;
  text-align: center;
}
.section-title.left {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  text-align: left;
}
.section-title h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0;
}
.section-cta {
  display: grid;
  justify-items: center;
  margin-top: 40px;
}
.mini-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: min(382px, 100%);
  min-height: var(--field-height);
  color: var(--white);
  font-size: var(--type-cta);
  font-weight: 400;
  background: var(--house-blue);
  border: 1px solid var(--house-blue);
  border-radius: var(--button-radius);
  box-shadow: none;
  animation: none;
  transform: translateY(0);
  transition: var(--control-transition);
}
.column-article-section {
  width: var(--section-frame-width);
}
.column-article-section .appraisal-page-title,
.column-article-section .appraisal-page-title {
  width: 100%;
}
.column-article-section .content-page {
  position: relative;
  display: grid;
  gap: 0;
  width: 100%;
  padding: var(--white-card-inset);
  background: var(--white);
  border: var(--card-border);
  border-radius: var(--card-radius);
}
.column-hero-image {
  overflow: hidden;
  width: 100%;
  margin: 0 auto var(--gap-2xl);
  background: var(--flat-card-bg);
  border-radius: var(--card-radius);
}
.column-hero-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1200 / 630;
  object-fit: cover;
}
.column-intro-box,
.results-summary-card {
  display: grid;
  gap: var(--space-stack-tight);
  margin: 0 0 var(--gap-2xl);
  padding: var(--space-card);
  background: #edf2f7;
  border-radius: var(--card-radius);
}
.results-summary-list {
  display: grid;
  margin: 0;
}
.results-summary-list div {
  display: grid;
  grid-template-columns: minmax(150px, 0.28fr) minmax(0, 1fr);
  gap: var(--gap-m);
  padding: var(--gap-m) 0;
  border-top: 1px solid var(--flat-line);
}
.results-summary-list div:first-child {
  padding-top: 0;
  border-top: 0;
}
.results-summary-list div:last-child {
  padding-bottom: 0;
}
.results-summary-list dt,
.results-summary-list dd {
  margin: 0;
  font-weight: 400;
  line-height: 1.7;
}
.results-summary-list dt {
  color: var(--reading-accent-color);
  -webkit-text-fill-color: var(--reading-accent-color);
  font-size: 16px;
}
.results-summary-list dd {
  color: var(--ink);
  font-size: var(--type-form);
}
.results-summary-card--compact .results-summary-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.results-summary-card--compact .results-summary-list div,
.results-summary-card--compact .results-summary-list div:first-child,
.results-summary-card--compact .results-summary-list div:last-child {
  grid-template-columns: 1fr;
  gap: 2px;
  padding: 0 var(--gap-m);
  text-align: center;
  border-top: 0;
  border-left: 1px solid var(--flat-line);
}
.results-summary-card--compact .results-summary-list div:first-child {
  border-left: 0;
}
.column-intro-title {
  display: flex;
  align-items: stretch;
  gap: var(--reading-heading-gap);
  margin: 0;
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  font-size: var(--type-cta);
  font-weight: 400;
  line-height: 1.5;
}
.column-intro-title::before {
  flex: 0 0 var(--heading-accent-thickness);
  width: var(--heading-accent-thickness);
  min-height: 1.35em;
  background: #004680;
  border-radius: var(--button-radius);
  content: "";
}
.column-intro-box p:not(.column-intro-title) {
  margin: 0;
  color: var(--ink);
  font-size: var(--type-body);
  font-weight: 400;
  line-height: 1.85;
}
.column-article-section .content-page::before {
  display: block;
  margin: 0 0 22px;
  color: var(--ink);
  font-size: clamp(20px, 2vw, 25px);
  line-height: 1.45;
  content: "売却前の確認ポイント";
}
.seo-column-article .content-page::before {
  display: none;
  content: none;
}
.column-article-section .content-page h2 {
  display: block;
  width: 100%;
  margin: 8px 0 var(--reading-heading-gap);
  padding: var(--reading-heading-top-space) 0 0;
  color: var(--reading-accent-color);
  font-size: var(--type-cta);
  font-weight: 400;
  line-height: 1.5;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line-soft);
  border-radius: 0;
}
.column-article-section .content-page h2::before {
  content: none;
}
.column-article-section .content-page .column-section-heading {
  display: flex;
  align-items: center;
  gap: var(--reading-heading-gap);
}
.column-article-section .content-page .column-accent-heading {
  display: flex;
  align-items: stretch;
  gap: var(--reading-heading-gap);
}
.column-article-section .content-page .column-accent-heading::before {
  flex: 0 0 var(--heading-accent-thickness);
  width: var(--heading-accent-thickness);
  min-height: 1.35em;
  background: #004680;
  border-radius: var(--button-radius);
  content: "";
}
.column-article-section .content-page h2:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.column-article-section .content-page h3 {
  width: 100%;
  margin: var(--reading-subheading-space);
  color: var(--reading-accent-color);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
}
.column-article-section .content-page p {
  width: 100%;
  margin-top: 0;
  margin-bottom: var(--reading-paragraph-gap);
  margin-right: 0;
  margin-left: 0;
  color: var(--ink);
  font-weight: 400;
  line-height: var(--reading-line-height);
}
.column-article-section .content-page .standard-price-range {
  color: #004680;
}
.related-columns-card {
  width: 100%;
}
.related-columns-title {
  margin-top: 42px;
}
.related-columns-title h2 {
  font-size: var(--type-section-title);
}
.related-column-list {
  display: grid;
  grid-template-columns: var(--split-card-columns);
  overflow: hidden;
  background: var(--flat-card-bg);
  border-radius: var(--flat-card-radius);
}
.related-column-link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: var(--link-card-min-height);
  padding: var(--split-card-item-padding);
  color: var(--ink);
  text-decoration: none;
  transform: translateY(0);
  transition: var(--control-transition);
}
.related-column-link + .related-column-link::before {
  position: absolute;
  top: var(--split-card-line-inset);
  bottom: var(--split-card-line-inset);
  left: 0;
  width: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
.related-column-link strong {
  display: block;
  margin-top: 0;
}
.related-column-link p {
  margin: 10px 0 0;
  color: var(--text-muted);
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1.7;
}
.related-column-link:hover {
  color: var(--brand-deep-blue);
  transform: var(--control-press-hover);
}
.related-column-link:active {
  transform: var(--control-press-active);
}
@media (max-width: 760px) {
  .column-category-block {
    width: var(--flat-card-width);
    padding: 0;
  }
  .column-topic-heading {
    padding: var(--split-card-line-inset-mobile) var(--split-card-line-inset-mobile) 0;
  }
  .column-grid {
    grid-template-columns: 1fr;
  }
  .column-card {
    min-height: auto;
    padding: var(--split-card-line-inset-mobile);
  }
  .column-card:nth-child(3n + 2)::before,
  .column-card:nth-child(3n + 3)::before {
    content: none;
  }
  .column-card:nth-child(4)::after {
    content: none;
  }
  .column-card + .column-card::before {
    position: absolute;
    top: 0;
    right: var(--split-card-line-inset-mobile);
    bottom: auto;
    left: var(--split-card-line-inset-mobile);
    width: auto;
    height: var(--divider-size);
    content: "";
    background: var(--flat-line);
  }
  .municipality-grid::after {
    content: none;
  }
  .municipality-grid .municipality-card + .municipality-card::before {
    content: none;
  }
  .municipality-grid--excerpt::after {
    content: none;
  }
  .related-column-list {
    grid-template-columns: 1fr;
  }
  .related-column-link {
    min-height: auto;
    padding: var(--split-card-line-inset-mobile);
  }
  .related-column-link + .related-column-link::before {
    top: 0;
    right: var(--split-card-line-inset-mobile);
    bottom: auto;
    left: var(--split-card-line-inset-mobile);
    width: auto;
    height: var(--divider-size);
  }
}

@media (max-width: 900px) {
  .result-property-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .result-property-details .result-property-detail-wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .municipality-card {
    min-height: 86px;
  }
  .result-property-details {
    padding-top: var(--gap-s);
  }
}
.info-table,
.terms-content {
  width: var(--page-card-width);
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.info-table h3 {
  margin-bottom: 18px;
}
.info-table dl {
  display: grid;
  gap: 0;
  margin: 0;
}
.info-table dl div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 18px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.info-table dl div:last-child {
  border-bottom: 0;
}
.terms-content h2,
.terms-content h3 {
  margin: 34px 0 16px;
  font-size: 17px;
}
.terms-content h2:first-child,
.terms-content h3:first-child {
  margin: 0 0 16px;
}
.terms-content p + p {
  margin-top: 10px;
}
.terms-content p {
  font-size: var(--type-form);
  line-height: 1.72;
}
.terms-content .content-list,
.terms-content .content-list li {
  font-size: var(--type-form);
}
.terms-content p:has(br) {
  margin-top: 10px;
}
.terms-content p:has(br) + p {
  margin-top: 14px;
}
.appraisal-form {
  display: grid;
  gap: var(--form-panel-gap);
  width: min(860px, 100%);
  margin: 0;
}
fieldset {
  margin: 0;
  padding: var(--fieldset-padding);
  display: grid;
  gap: 14px;
}
legend {
  float: left;
  width: 100%;
  padding: var(--legend-bottom-padding);
  color: var(--house-blue);
  font-size: 19px;
  font-weight: 700;
}
legend + * {
  clear: both;
}
.field {
  display: grid;
}
.check-field {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  margin-top: 16px;
  padding: var(--check-field-padding);
  color: var(--ink);
  background: var(--blue-grey-10);
  border: 1px solid var(--line);
  border-radius: var(--compact-radius);
}
.check-field input {
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  min-height: auto;
  margin: 2px 0 0;
  accent-color: var(--house-blue);
}
.check-field .field-error {
  flex: 0 0 calc(100% - 34px);
  margin: -4px 0 0 34px;
}
.result {
  display: block;
  padding: var(--result-panel-padding);
  color: var(--ink);
  font-weight: 600;
  background: var(--blue-grey-20);
}
.result[hidden] {
  display: none;
}
.appraisal-page-title {
  margin-bottom: 48px;
  text-align: left;
}
.appraisal-page-title h1,
.related-columns-title h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 800;
  line-height: 1.25;
}
.appraisal-page-title h2 {
  margin: 14px 0 0;
  color: var(--ink);
  font-size: clamp(16px, 1.8vw, 19px);
  font-weight: 400;
  line-height: 1.68;
}
.site-footer {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 8px 16px 20px;
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 400;
  background: var(--surface-muted);
  border-top: 0;
}
.site-footer a {
  color: inherit;
  font-weight: 400;
}
.site-footer strong {
  font-weight: 400;
}
.seo-footer-note {
  position: relative;
  width: var(--flat-card-width);
  margin: clamp(24px, 4vw, 38px) auto 0;
  padding: clamp(20px, 3vw, 28px) clamp(18px, 3vw, 28px) 4px;
  color: var(--text-muted);
  background: transparent;
  box-sizing: border-box;
  text-align: center;
}
.seo-footer-note::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
.seo-footer-copy h2,
.seo-footer-copy p {
  margin: 0;
  color: inherit;
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1.75;
}
.seo-footer-copy h2 {
  margin-bottom: 6px;
  font-weight: 700;
}
.seo-footer-copy h2 span {
  display: block;
}
.seo-footer-copy p + p {
  margin-top: 0;
}
.seo-footer-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-top: 10px;
  color: inherit;
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1.75;
}
.seo-footer-nav-row {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 0;
  white-space: nowrap;
}
.seo-footer-nav-separator {
  margin: 0 0.62em;
  color: inherit;
}
.seo-footer-note .seo-footer-nav a:not(.primary-button):not(.mini-cta):not(.location-select-trigger):not(.column-card):not(.section-more-text-link),
.seo-footer-note .seo-footer-nav a:not(.primary-button):not(.mini-cta):not(.location-select-trigger):not(.column-card):not(.section-more-text-link):link {
  color: var(--text-muted);
  -webkit-text-fill-color: var(--text-muted);
  font-weight: 400;
  text-decoration: none;
}
.seo-footer-note .seo-footer-nav a:not(.primary-button):not(.mini-cta):not(.location-select-trigger):not(.column-card):not(.section-more-text-link):visited {
  color: var(--text-muted);
  -webkit-text-fill-color: var(--text-muted);
}
.seo-footer-note .seo-footer-nav a:not(.primary-button):not(.mini-cta):not(.location-select-trigger):not(.column-card):not(.section-more-text-link):hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.page-top-action {
  position: fixed;
  right: var(--page-top-edge);
  bottom: var(--page-top-bottom);
  z-index: 80;
  display: flex;
  justify-content: center;
  width: auto;
  padding: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
body.is-page-top-visible .page-top-action {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.page-top-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--menu-button-size);
  height: var(--menu-button-size);
  overflow: hidden;
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  text-decoration: none;
  background: var(--brand-deep-blue);
  border: 0;
  border-radius: var(--circle-radius);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  flex: 0 0 var(--menu-button-size);
  transform: translateY(0);
  transition: var(--control-transition);
}
.page-top-button::before {
  color: inherit;
  -webkit-text-fill-color: inherit;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  content: "↑";
}
.page-top-button:hover {
  transform: var(--control-press-hover);
}
.page-top-button:active {
  transform: var(--control-press-active);
}
body.hero-modal-open .page-top-action {
  display: none;
}
@media (max-width: 1040px) {.hero-inner {
    grid-template-columns: 1fr;
  }
.start-form {
    order: 3;
    max-width: var(--subpage-form-max-width-tablet);
    justify-self: center;
  }
}
@media (max-width: 760px) {.hero-inner {
    min-height: auto;
    gap: var(--hero-mobile-inner-gap);
    padding: var(--hero-mobile-inner-padding);
  }
.hero {
    padding: var(--hero-mobile-section-padding);
    background: linear-gradient(180deg, #fafafa 0%, var(--section-grey) 100%);
  }
.hero-copy {
    order: 1;
    width: var(--hero-mobile-copy-width);
    margin: 0 auto;
  }
.start-form {
    order: 2;
    max-width: var(--hero-mobile-form-width);
  }
.reason-item {
    grid-template-columns: 1fr;
  }
.reason-item {
    overflow: hidden;
    padding: 0;
  }
  .reason-visual {
    order: 1;
    margin: 0;
    padding: var(--subpage-mobile-visual-padding);
    border-radius: var(--card-radius) var(--card-radius) 0 0;
  }
  .reason-visual img {
    display: block;
    width: 100%;
    min-height: 0;
    max-height: var(--subpage-visual-max-height);
    object-fit: contain;
  }
.reason-item > div {
    order: 2;
    padding: var(--subpage-mobile-copy-padding);
  }
.reason-item h3,
  .flow-step strong {
    font-size: clamp(20px, 6vw, 24px);
  }
  .reason-item p,
  .flow-step p {
    font-size: var(--type-caption);
  }
.flow-card {
    padding: var(--flow-card-padding-mobile);
  }
.flow-step {
    position: relative;
    grid-template-columns: 1fr;
    gap: var(--flow-step-gap-mobile);
    justify-items: center;
    padding-bottom: var(--flow-step-bottom-padding-mobile);
    text-align: left;
  }
.flow-step + .flow-step {
    padding-top: var(--flow-step-stack-padding-mobile);
    border-top: 0;
  }
.flow-step::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: var(--divider-size);
    content: "";
    background: var(--line);
  }
.flow-step:last-child::after {
    content: none;
  }
.flow-step > div {
    display: grid;
    justify-items: start;
    width: 100%;
    gap: var(--flow-step-content-gap-mobile);
    order: 2;
  }
.flow-visual {
    order: 1;
    width: 100%;
    padding: var(--subpage-mobile-visual-padding);
  }
.flow-number {
    order: 1;
    margin: 0;
  }
.flow-step strong {
    order: 2;
    margin: 0;
  }
.flow-step p {
    order: 3;
    margin: 0;
  }
.flow-visual img {
    width: 100%;
    max-height: var(--subpage-visual-max-height);
    object-fit: contain;
  }
.start-form {
    padding: var(--flat-card-padding-mobile);
  }
.start-form::after {
    top: var(--mobile-form-badge-top);
    right: var(--mobile-form-badge-right);
    width: var(--mobile-form-badge-size);
    height: var(--mobile-form-badge-size);
    font-size: var(--type-small);
    box-shadow: var(--mobile-form-badge-ring);
  }
.field-error {
    grid-column: 1;
  }
.info-table dl div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
.column-grid {
    grid-template-columns: 1fr;
  }
.content-table-scroll {
    overflow-x: auto;
  }
.info-table-list div {
    grid-template-columns: 1fr;
    gap: 6px;
  }
.section {
    padding: 70px 0;
  }
.site-footer {
    text-align: center;
  }
}
/* Softer typography pass: hierarchy comes from size and spacing, not heavy weight. */
main h1,
main h4,
main strong,
main b,
main summary,
main th,
main dt,
main .flow-number,
.section-title h2,
.flow-section .section-title h2,
.flow-step strong,
.info-table h3,
.info-table dt,
.info-table dd {
  font-weight: 400;
}
/* Secondary copy stays readable, but steps back from primary titles. */
#top .flow-step p,
.content-page p,
.content-list,
.content-list li,
.info-table dd,
.column-card {
  color: var(--text-muted);
}


/* Keep cards unboxed;use spacing,
background,
and shadow instead of outlines. */
.column-card,
.column-article-section .content-page,
.reason-item,
.result,
.flow-card {
  border: 0;
  box-shadow: none;
}
/* Use the same soft grey behind every content section. */
body,
main,
.section,
.reason-section,
.flow-section,
.results-section,
.faq-section {
  background: transparent;
}
.reason-section,
.flow-section,
.results-section,
.faq-section {
  box-shadow: var(--full-bleed-section-shadow);
}
.reason-visual {
  background: var(--white);
}
/* Latest visual direction: white FAQ cards, unboxed controls, and floating people only. */
.faq-list details {
  background: var(--white);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.faq-list details + details {
  border-top: 1px solid #e2e5e9;
}
.faq-list p,
.faq-list p * {
  color: #24272a;
}
#top .flow-section .section-title {
  margin-bottom: 34px;
  background: transparent;
}
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}
input[type="search"][data-formal-town-search] {
  font-size: 16px;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
}
.terms-signature-footer {
  display: grid;
  gap: 2px;
  text-align: center;
  line-height: 1.45;
}
@media (max-width: 760px) {button,
[role="button"],
.primary-button,
.mini-cta,
.location-select-trigger,
.wizard-line-cta,
.side-menu a {
    min-height: 56px;
    touch-action: manipulation;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
.menu-button {
    min-width: 46px;
    min-height: 46px;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
.appraisal-examples-grid {
    grid-template-columns: 1fr;
  }
.appraisal-example-card + .appraisal-example-card::before {
    top: 0;
    right: var(--split-card-line-inset-mobile);
    bottom: auto;
    left: var(--split-card-line-inset-mobile);
    width: auto;
    height: var(--divider-size);
  }
  .card-note-footer.appraisal-examples-note {
    --card-footer-bottom-inset: var(--white-card-inset-mobile);
    --card-note-line-inset: var(--white-card-inset-mobile);
  }

}
.faq-list p {
  color: var(--reading-copy-color);
}
.faq-list p * {
  color: inherit;
}
.faq-answer-main {
  display: block;
  color: var(--reading-copy-color);
}
.faq-answer-extra {
  display: block;
  margin-top: 8px;
  color: var(--reading-copy-color);
}
/* Common typography: one scale per role, not per section. */
:root {
  --type-body: clamp(15px, 1.04vw, 16px);
  --type-small: 14px;
  --type-caption: 13px;
  --type-table: 14px;
  --type-table-mobile: var(--type-caption);
  --type-control: 16px;
  --type-form: 15px;
  --type-cta: 18px;
  --type-card-title: clamp(20px, 2vw, 25px);
  --type-section-title: clamp(24px, 2.5vw, 32px);
  --heading-accent-width: 46px;
  --heading-accent-thickness: 4px;
  --reading-copy-color: var(--text-reading);
  --reading-accent-color: var(--brand-deep-blue);
  --reading-line-height: 1.85;
  --reading-card-padding: clamp(24px, 3.2vw, 38px);
  --reading-heading-gap: 10px;
  --reading-heading-top-space: 20px;
  --reading-heading-section-space: 42px;
  --reading-subheading-space: 18px 0 6px;
  --reading-paragraph-gap: 12px;
}
body,
.content-page p,
.terms-content p,
.terms-content li,
.info-table dt,
.info-table dd,
.faq-list p,
.flow-step p {
  font-size: var(--type-body);
}
.section-title h2,
.flow-section .section-title h2,
.appraisal-page-title h1,
.related-columns-title h2 {
  font-size: var(--type-section-title);
}
.appraisal-page-title h2 {
  font-size: var(--type-cta);
}
.reason-item h3,
.info-table h3,
.terms-content h2,
.terms-content h3 {
  font-size: var(--type-card-title);
}
.primary-button,
.mini-cta,
.location-select-trigger.ken-appraisal-trigger,
.wizard-line-cta {
  font-size: var(--type-cta);
}
.side-menu a,
input[type="search"][data-formal-town-search] {
  font-size: var(--type-control);
}
.column-card,
.faq-answer-extra {
  font-size: var(--type-small);
}
.site-footer,
.terms-signature-footer,
.content-page .purchase-results-note {
  font-size: var(--type-caption);
}
@media (max-width: 760px) {:root {
    --type-section-title: clamp(21px, 6vw, 24px);
    --type-card-title: clamp(20px, 6vw, 24px);
    --type-hero-title: clamp(18px, 5.4vw, 21px);
  }
}
/* Common layout: section gaps, card padding, radii, and controls. */
:root {
  --space-section-y: 72px;
  --space-section-y-mobile: 56px;
  --space-title-gap: 28px;
  --space-card: 24px;
  --space-card-mobile: 20px;
  --space-stack: 16px;
  --space-stack-tight: 10px;
  --control-height: 56px;
}
.section,
.columns-section,
.column-article-section,
.criteria-section {
  padding-top: var(--space-section-y);
  padding-bottom: var(--space-section-y);
}
.section-title,
.appraisal-page-title,
.related-columns-title {
  margin-bottom: var(--space-title-gap);
}
.section-title h2,
.appraisal-page-title h1,
.appraisal-page-title h2,
.related-columns-title h2 {
  margin-top: 0;
}
.section-cta {
  gap: 14px;
  margin-top: 24px;
}
.reason-item,
.flow-card,
.info-table,
.terms-content,
.faq-list {
  border-radius: var(--card-radius);
}
.reason-item,
.info-table,
.terms-content {
  padding: var(--space-card);
}
.column-card h2 {
  padding-left: 0;
  padding-right: 0;
}
.content-page p + p,
.terms-content p + p,
.info-table dl div + div {
  margin-top: var(--space-stack-tight);
}
.reason-item h3,
.flow-card h3,
.info-table h3,
.terms-content h2,
.terms-content h3 {
  margin-top: 0;
  margin-bottom: 14px;
}
.reason-item p,
.flow-card p,
.content-page p,
.terms-content p,
.info-table p,
.faq-list p {
  margin-top: 0;
}
.faq-list details {
  padding-top: 0;
  padding-bottom: 0;
}
.faq-list summary {
  min-height: var(--control-height);
  padding-top: 14px;
  padding-bottom: 14px;
}
.faq-list details p {
  padding-top: 12px;
  padding-bottom: 24px;
}
@media (max-width: 760px) {.section,
  .columns-section,
  .column-article-section,
  .criteria-section {
    padding-top: var(--space-section-y-mobile);
    padding-bottom: var(--space-section-y-mobile);
  }
.reason-item,
.info-table,
.terms-content {
    padding: var(--space-card-mobile);
  }
}
/* Exception: subpages need more vertical breathing room than the top page. */
main:not(#top) .section {
  padding-top: 88px;
  padding-bottom: 88px;
}
main:not(#top) .appraisal-page-title,
main:not(#top) .related-columns-title {
  margin-bottom: 42px;
  text-align: center;
}
main:not(#top) .appraisal-page-title h1::after,
main:not(#top) .related-columns-title h2::after {
  display: block;
  width: var(--heading-accent-width);
  height: var(--heading-accent-thickness);
  margin: 14px auto 0;
  background: var(--brand-deep-blue);
  border-radius: var(--button-radius);
  content: "";
}
main:not(#top) .appraisal-page-title h2 {
  margin-top: 22px;
}
.terms-content h2:not(:first-child),
.terms-content h3:not(:first-child) {
  margin-top: 42px;
}
.terms-content h2,
.terms-content h3 {
  margin-bottom: 18px;
}
/* Exception: result panel needs safe-area room for mobile browser chrome. */
.wizard-result {
  padding-bottom: max(30px, env(safe-area-inset-bottom));
}

/* Exception: top-page flow cards use denser internal spacing. */
#top .flow-section .section-title {
  margin-bottom: 44px;
}
#top .flow-number {
  margin-bottom: 8px;
}
#top .flow-step p {
  margin-top: 12px;
}
/* Column list titles use the same rank as article subheadings. */
.column-card h2 {
  color: var(--reading-accent-color);
  -webkit-text-fill-color: var(--reading-accent-color);
  font-size: 16px;
  line-height: 1.65;
}
@media (max-width: 760px) {main:not(#top) .section {
    padding-top: 72px;
    padding-bottom: 72px;
  }
main:not(#top) .appraisal-page-title,
main:not(#top) .related-columns-title {
    margin-bottom: 36px;
  }
main:not(#top) .appraisal-page-title h2 {
    margin-top: 20px;
  }
#top .flow-section .section-title {
    margin-bottom: 36px;
  }
#top .flow-step > div {
    gap: 12px;
  }
#top .flow-number {
    margin-bottom: 0;
  }
#top .flow-step p {
    margin-top: 0;
  }
}
#top .faq-list p,
#top .faq-list p *,
#top .faq-answer-main,
#top .faq-answer-extra,
#top .faq-answer-extra * {
  font-size: var(--type-body);
  line-height: 1.8;
}
:root {
  --brand-deep-blue: #004680;
  --flat-line: #e8e8ed;
  --flat-shadow: var(--surface-shadow);
  --flat-card-radius: var(--card-radius);
  --flat-card-bg: var(--surface-white);
  --flat-card-width: min(1120px, 100%);
  --page-card-width: min(900px, 100%);
  --narrow-content-card-width: min(760px, 100%);
  --hero-narrow-width: min(430px, 100%);
  --header-card-width: min(1128px, calc(100vw - 32px));
  --flat-card-padding: clamp(20px, 3vw, 28px);
  --flat-card-padding-mobile: 20px;
  /*
   * White-card edge contract.
   * Content cards share these outer insets; dense forms keep their own
   * control spacing, while list/split cards use this only at the shell edge.
   */
  --white-card-inset: var(--flat-card-padding);
  --white-card-inset-mobile: var(--flat-card-padding-mobile);
  --purchase-results-card-padding: var(--white-card-inset);
  --split-card-columns: repeat(3, minmax(0, 1fr));
  --split-card-item-padding: var(--white-card-inset);
  --compact-list-inline-padding: var(--flat-card-padding-mobile);
  --split-card-line-inset: var(--white-card-inset);
  --split-card-line-inset-mobile: 20px;
  --cta-width: 320px;
  --cta-inline-size: min(var(--cta-width), 100%);
  --cta-height: 56px;
  --cta-x-padding: var(--control-x-padding);
  --cta-font-size: var(--type-cta);
  --page-top-edge: clamp(14px, 3vw, 28px);
  --page-top-bottom: clamp(48px, 7vw, 72px);
  --control-press-hover: translateY(1px);
  --control-press-active: translateY(2px);
  --control-transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  --pill-height: 28px;
  --pill-x-padding: 14px;
  --pill-font-size: 12px;
  --pill-line-height: 1;
  --pill-color: var(--text-placeholder);
  --pill-border: var(--control-line);
}
/* Page shell: header offset, fixed header, and top hero frame. */
body {
  background-color: var(--section-grey);
  background-image: var(--page-background-gradient);
  background-attachment: fixed;
  padding-top: 92px;
}
@media (max-width: 767px) {
  body {
    background-image: none;
    background-attachment: scroll;
  }
}
.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 80;
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: var(--scroll-hint-padding);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  pointer-events: none;
  transform: translateY(0);
  transition: transform 0.24s ease;
}
.site-header:has(.menu-toggle:checked),
body.menu-open .site-header {
  width: 100%;
  min-height: 0;
  padding: var(--scroll-hint-padding);
  background: var(--section-grey);
  border-radius: 0;
  box-shadow: none;
  transform: none;
}
body.hero-modal-open .site-header {
  display: none;
  pointer-events: none;
}
body.is-header-hidden:not(.menu-open):not(.hero-modal-open) .site-header:not(:has(.menu-toggle:checked)) {
  transform: translateY(calc(-100% - 16px));
}
html.menu-open,
body.menu-open {
  overflow: hidden;
  overscroll-behavior: none;
  background: var(--section-grey);
}
.site-header::before,
.site-header::after,
body.menu-open::before,
.menu-backdrop {
  display: none;
  content: none;
}
main,
main:not(#top),
#top {
  padding-top: 0;
}
body.menu-open main,
body.menu-open main:not(#top),
body.menu-open #top {
  padding-top: 0;
}
#top .hero {
  width: var(--section-frame-width);
  margin: 0 auto;
  padding: 18px 0 clamp(24px, 4vw, 36px);
  background: var(--section-grey);
  min-height: auto;
}
#top .hero-inner {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  align-content: start;
  gap: var(--hero-inner-item-gap);
  width: var(--flat-card-width);
  margin: 0 auto;
  padding: clamp(26px, 5vw, 48px) clamp(18px, 4vw, 48px);
  background: var(--brand-deep-blue);
  border: 0;
  border-radius: var(--flat-card-radius);
  box-shadow: var(--surface-shadow);
  overflow: hidden;
}
#top .hero-inner::before {
  content: none;
}
#top .hero-copy,
#top .hero-support-illustration,
#top .hero-area-cities,
#top .hero-appraisal-card {
  z-index: 1;
}
#top .hero-copy {
  display: grid;
  gap: clamp(14px, 2.4vw, 20px);
  justify-items: center;
  order: 1;
  width: min(760px, 100%);
  color: var(--text-inverse);
  text-align: center;
}
#top .hero-message-stack {
  display: grid;
  gap: clamp(16px, 2.4vw, 22px);
  justify-items: center;
  width: var(--hero-narrow-width);
  margin: 0 auto;
  color: var(--text-inverse);
  text-align: center;
}
#top .hero-support-illustration {
  order: 2;
  width: clamp(220px, 30vw, 430px);
  max-width: min(88%, 430px);
  margin: 0 auto;
  padding: 0;
  line-height: 0;
  pointer-events: none;
}
#top .hero-support-illustration img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
#top .hero-trust-facts {
  display: grid;
  justify-items: center;
  order: 3;
  width: var(--hero-narrow-width);
  margin: 0 auto;
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
#top .hero-trust-facts p {
  margin: 0;
  color: inherit;
  -webkit-text-fill-color: inherit;
  font-size: clamp(15px, 1.45vw, 17px);
  font-weight: 400;
}
#top .hero-trust-facts small {
  margin-top: 2px;
  color: inherit;
  -webkit-text-fill-color: inherit;
  font-size: clamp(10px, 0.95vw, 11px);
  font-weight: 400;
  white-space: nowrap;
}
#top .hero-trust-facts .hero-trust-network {
  font-size: clamp(12px, 1.1vw, 13px);
}
#top .hero-trust-marker {
  font-size: clamp(10px, 0.95vw, 11px);
}
#top .hero-area-cities {
  order: 3;
  display: block;
  margin: var(--hero-area-text-margin-y) 0;
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  font-size: var(--hero-area-text-size);
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
  white-space: nowrap;
}
#top .hero-callout {
  position: static;
  display: grid;
  row-gap: clamp(8px, 1.3vw, 13px);
  justify-items: center;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  font-size: var(--type-section-title);
  font-weight: 700;
  line-height: 1.18;
  background: transparent;
  word-break: keep-all;
}
#top .hero-callout-line {
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  font-size: 1em;
  font-weight: 700;
  line-height: 1.18;
  white-space: nowrap;
  word-break: keep-all;
}
#top .hero-callout-line--main {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.06em;
  white-space: nowrap;
  word-break: keep-all;
}
#top .hero-callout-time {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.02em;
  z-index: 0;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-size: 1em;
  font-style: normal;
  font-weight: 700;
  margin: 0;
  line-height: 1;
  letter-spacing: 0;
  background: linear-gradient(90deg, var(--cta-yellow) 0 50%, var(--text-inverse) 50% 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  animation: heroTimeColorFill 0.9s ease-out 0.3s forwards;
}
#top .hero-callout-number {
  color: inherit;
  -webkit-text-fill-color: inherit;
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
}
#top .hero-callout-unit {
  color: inherit;
  -webkit-text-fill-color: inherit;
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
}
#top .hero-callout-action {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.04em;
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  font-size: 1em;
  font-weight: 700;
  line-height: 1.18;
  white-space: nowrap;
}
#top .hero-callout-action-main {
  font-size: 1em;
  font-weight: 700;
}
#top .hero-scope-note {
  display: grid;
  justify-items: center;
  gap: clamp(10px, 1.35vw, 20px);
  max-width: 100%;
  margin: 0;
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  font-size: clamp(15px, 1.4vw, 18px);
  font-weight: 400;
  line-height: 1.5;
  white-space: nowrap;
}
#top .hero-scope-note::before {
  display: block;
  width: var(--heading-accent-width);
  height: var(--heading-accent-thickness);
  content: "";
  background: var(--surface-white);
  border-radius: var(--button-radius);
}
#top .hero-appraisal-card {
  position: relative;
  order: 4;
  width: var(--hero-narrow-width);
  margin: 0 auto;
  padding: clamp(18px, 3vw, 24px);
  overflow: visible;
  background: var(--surface-white);
  border: 0;
  border-radius: var(--flat-card-radius);
  box-shadow: none;
}
#top .hero-appraisal-card > [hidden] {
  display: none;
}
#top .hero-ai-form,
#top .hero-ai-result,
#top .hero-formal-panel {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
#top .hero-ai-result {
  display: block;
}
#top .hero-ai-result[hidden] {
  display: none;
}
#top .hero-formal-form,
#top .hero-formal-complete {
  display: grid;
  gap: 16px;
}
#top .hero-formal-form h3,
#top .hero-formal-complete h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 400;
  line-height: 1.55;
  text-align: center;
}
#top .hero-formal-fields {
  display: grid;
  gap: var(--gap-xl);
}
#top .hero-formal-visit {
  display: grid;
  gap: var(--gap-s);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  filter: none;
}
#top .hero-formal-visit legend {
  margin: 0 0 7px;
  padding: 0;
  color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.5;
}
#top .hero-formal-visit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap-s);
}
#top .hero-formal-field {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
}
#top .hero-formal-label,
.hero-modal .hero-formal-label,
#top .hero-formal-visit legend,
.hero-modal .hero-formal-visit legend {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
#top .hero-formal-status,
.hero-modal .hero-formal-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--badge-min-width);
  min-height: var(--badge-height);
  padding: 0 var(--badge-padding-x);
  color: var(--text-inverse);
  font-size: var(--badge-font-size);
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  background: var(--danger);
  border-radius: var(--badge-radius);
}
#top .hero-formal-field.is-valid .hero-formal-status,
#top .hero-formal-status.is-ok,
.hero-modal .hero-formal-field.is-valid .hero-formal-status,
.hero-modal .hero-formal-status.is-ok {
  background: var(--success);
}
#top .hero-formal-field.is-optional .hero-formal-status,
#top .hero-formal-status.is-optional,
.hero-modal .hero-formal-field.is-optional .hero-formal-status,
.hero-modal .hero-formal-status.is-optional {
  background: var(--status-neutral);
}
#top .hero-ai-select-wrap,
#top .hero-formal-control-wrap {
  position: relative;
  display: block;
}
#top .hero-formal-check {
  position: absolute;
  top: 50%;
  right: 16px;
  display: none;
  width: var(--field-check-size);
  height: var(--field-check-size);
  color: transparent;
  font-size: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  transform: translateY(-50%);
  pointer-events: none;
}
#top .hero-formal-field input + .hero-formal-check {
  display: none;
}
#top .hero-formal-field input,
#top .hero-formal-field select,
#top .hero-formal-field textarea {
  width: 100%;
  min-height: var(--field-height);
  box-sizing: border-box;
  padding: var(--field-padding);
  color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  background: var(--surface-white);
  border: var(--control-border);
  border-radius: var(--control-radius);
  box-shadow: none;
}
#top .hero-formal-field textarea,
.hero-modal .hero-formal-field textarea {
  min-height: var(--textarea-height);
  padding-top: 13px;
  padding-bottom: 13px;
  line-height: 1.65;
  resize: vertical;
  overflow: auto;
}
#top .hero-formal-visit input,
#top .hero-formal-visit select,
#top .hero-formal-visit .hero-formal-control-wrap,
#top .hero-formal-field input[type="date"],
#top .hero-formal-field input[type="time"] {
  appearance: none;
  -webkit-appearance: none;
  -webkit-border-radius: var(--control-radius);
  background-color: var(--surface-white);
  background-image: none;
  background-clip: padding-box;
  box-shadow: none;
  filter: none;
  text-shadow: none;
}
#top .hero-formal-field select {
  appearance: none;
  -webkit-appearance: none;
}
#top .hero-formal-field select:disabled {
  color: var(--text-placeholder);
  background: var(--surface-muted);
}
#top .hero-formal-field.has-value .hero-formal-check {
  display: none;
}
#top .hero-formal-field input.has-error,
#top .hero-formal-field select.has-error,
#top .hero-formal-field textarea.has-error,
#top .hero-formal-field.has-error input,
#top .hero-formal-field.has-error select,
#top .hero-formal-field.has-error textarea {
  border-color: var(--danger, var(--danger));
  box-shadow: var(--danger-focus-ring);
}
#top .hero-formal-field.has-error .hero-formal-check {
  color: transparent;
  border-color: var(--danger, var(--danger));
}
#top .hero-formal-message,
#top .hero-ai-message {
  margin: 18px 0 0;
  padding: 0;
  color: var(--danger, var(--danger));
  font-size: var(--type-small);
  line-height: 1.7;
  background: transparent;
  border: 0;
  white-space: pre-line;
}
#top .hero-formal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 4px;
}
.hero-modal .hero-formal-form,
.hero-modal .hero-formal-complete {
  display: grid;
  gap: 16px;
}
.hero-modal .hero-formal-complete {
  align-content: center;
  min-height: 100%;
  text-align: center;
}
.hero-modal .hero-formal-complete h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 400;
  line-height: 1.55;
  text-align: center;
}
.hero-modal .hero-formal-complete p {
  margin: 0;
  color: var(--ink);
  font-size: var(--type-form);
  line-height: 1.75;
  text-align: center;
}
.hero-modal-progress-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: var(--modal-progress-wrap-height);
  margin: 8px 0 18px;
}
.hero-modal-progress-pill {
  position: absolute;
  top: 50%;
  left: clamp(27px, var(--progress-percent, 50%), calc(100% - 27px));
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--progress-pill-min-width);
  min-height: var(--modal-nav-size);
  padding: var(--progress-pill-padding);
  color: var(--text-inverse);
  font-size: var(--type-caption);
  line-height: 1;
  background: var(--brand-deep-blue);
  border-radius: var(--button-radius);
  transform: translate(-50%, -50%);
}
.hero-modal-progress,
.hero-modal .hero-formal-progress {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: var(--modal-progress-bar-height);
  overflow: hidden;
  background: var(--surface-rail);
  border-radius: var(--button-radius);
  transform: translateY(-50%);
}
.hero-modal-progress span,
.hero-modal .hero-formal-progress span {
  display: block;
  height: 100%;
  background: var(--brand-deep-blue);
  border-radius: inherit;
  transition: width 0.2s ease;
}
.hero-modal .hero-formal-fields {
  display: grid;
  gap: var(--gap-xl);
}
.hero-modal .hero-formal-page {
  display: grid;
  gap: var(--gap-m);
}
.hero-modal .hero-formal-visit {
  display: grid;
  gap: var(--gap-s);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  filter: none;
}
.hero-modal .hero-formal-visit legend {
  margin: 0 0 7px;
  padding: 0;
  color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.5;
}
.hero-modal .hero-formal-visit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap-s);
}
.hero-modal .hero-formal-field {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
}
.hero-modal .hero-formal-date-message {
  margin: 0;
  color: var(--danger, var(--danger));
  font-size: var(--type-caption);
  line-height: 1.5;
}
.hero-modal .hero-formal-control-wrap {
  position: relative;
  display: block;
}
.hero-modal .hero-formal-field input,
.hero-modal .hero-formal-field select,
.hero-modal .hero-formal-field textarea,
.hero-modal .hero-choice-trigger {
  width: 100%;
  min-height: var(--field-height);
  box-sizing: border-box;
  padding: var(--field-padding);
  color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  background: var(--surface-white);
  border: var(--control-border);
  border-radius: var(--control-radius);
  box-shadow: none;
  filter: none;
}
#top .hero-formal-field textarea,
.hero-modal .hero-formal-field textarea {
  min-height: var(--textarea-height);
  padding-top: 13px;
  padding-bottom: 13px;
  line-height: 1.65;
  resize: vertical;
  overflow: auto;
}
.hero-modal .hero-formal-field input:focus-visible,
.hero-modal .hero-formal-field select:focus-visible,
.hero-modal .hero-formal-field textarea:focus-visible,
.hero-modal .hero-choice-trigger:focus-visible,
.hero-town-search:focus-visible,
.hero-town-search-button:focus-visible,
.hero-modal-nav-button:focus-visible {
  outline: 0;
  box-shadow: none;
}
.hero-modal .hero-formal-field .hero-formal-control-wrap:has(select)::after,
#top .hero-formal-field .hero-formal-control-wrap:has(select)::after {
  position: absolute;
  top: 50%;
  right: 18px;
  width: var(--select-arrow-size);
  height: var(--select-arrow-size);
  border-right: 1.5px solid var(--text-placeholder);
  border-bottom: 1.5px solid var(--text-placeholder);
  transform: translateY(-62%) rotate(45deg);
  content: "";
  pointer-events: none;
}
.hero-modal .hero-formal-field select {
  appearance: none;
  -webkit-appearance: none;
}
.hero-modal .hero-formal-field input[type="date"],
.hero-modal .hero-formal-field input[type="time"] {
  appearance: none;
  -webkit-appearance: none;
  -webkit-border-radius: var(--control-radius);
  background-image: none;
  background-color: var(--surface-white);
  background-clip: padding-box;
  box-shadow: none;
  filter: none;
  text-shadow: none;
}
.hero-modal .hero-formal-visit input,
.hero-modal .hero-formal-visit select,
.hero-modal .hero-formal-visit .hero-formal-control-wrap {
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--surface-white);
  background-image: none;
  background-clip: padding-box;
  box-shadow: none;
  filter: none;
  text-shadow: none;
}
.hero-modal .hero-formal-visit .hero-formal-control-wrap--date::before,
.hero-modal .hero-formal-visit .hero-formal-control-wrap--date::after,
#top .hero-formal-visit .hero-formal-control-wrap--date::before,
#top .hero-formal-visit .hero-formal-control-wrap--date::after {
  content: none;
}
.hero-modal .hero-formal-visit .hero-formal-check,
.hero-modal .hero-formal-visit .hero-formal-field.has-value .hero-formal-check,
#top .hero-formal-visit .hero-formal-check,
#top .hero-formal-visit .hero-formal-field.has-value .hero-formal-check {
  display: none;
}
.hero-modal .hero-formal-field select:disabled {
  color: var(--text-placeholder);
  background: var(--surface-muted);
}
.hero-modal .hero-choice-trigger {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.hero-modal .hero-choice-trigger::after {
  position: absolute;
  top: 50%;
  right: 18px;
  width: var(--select-arrow-size);
  height: var(--select-arrow-size);
  border-right: 1.5px solid var(--text-placeholder);
  border-bottom: 1.5px solid var(--text-placeholder);
  transform: translateY(-62%) rotate(45deg);
  content: "";
}
.hero-modal .hero-formal-field input.has-error,
.hero-modal .hero-formal-field select.has-error,
.hero-modal .hero-formal-field textarea.has-error,
.hero-modal .hero-formal-field.has-error input,
.hero-modal .hero-formal-field.has-error select,
.hero-modal .hero-formal-field.has-error textarea,
.hero-modal .hero-formal-field.has-error .hero-choice-trigger {
  border-color: var(--danger, var(--danger));
  box-shadow: var(--danger-focus-ring);
}
.hero-modal .hero-formal-check {
  position: absolute;
  top: 50%;
  right: 16px;
  display: none;
  width: var(--field-check-size);
  height: var(--field-check-size);
  color: transparent;
  font-size: 0;
  border: 0;
  transform: translateY(-50%);
  pointer-events: none;
}
.hero-modal .hero-formal-field.has-value .hero-formal-check {
  display: none;
}
.hero-modal .hero-formal-field.has-value .hero-choice-trigger::after {
  content: none;
}
.hero-modal .hero-native-select {
  position: absolute;
  width: var(--visually-hidden-size);
  height: var(--visually-hidden-size);
  min-height: var(--visually-hidden-size);
  padding: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.hero-modal .hero-formal-message {
  margin: 0;
  color: var(--danger, var(--danger));
  font-size: var(--type-small);
  line-height: 1.7;
  white-space: pre-line;
}
.hero-modal .hero-formal-actions {
  display: flex;
  justify-content: center;
  margin-top: 8px;
}
.hero-modal .hero-formal-actions .primary-button {
  width: var(--cta-inline-size);
  min-height: var(--cta-height);
  color: var(--text-inverse);
  background: var(--brand-deep-blue);
  border: 0;
}
#top .hero-formal-complete p {
  color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.75;
}
#top .hero-ai-form::after {
  content: none;
}
#top .hero-ai-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap-l);
}
#top .hero-ai-field[data-hero-field="structure"] {
  display: none;
}
#top .hero-ai-group {
  display: grid;
  grid-template-columns: minmax(82px, 0.28fr) minmax(0, 1fr);
  gap: var(--hero-ai-group-gap);
  align-items: stretch;
}
#top .hero-ai-group-label {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  justify-items: center;
  gap: 7px;
  min-height: 100%;
  padding: 12px 8px;
  color: var(--ink);
  background: var(--surface-muted);
  border-radius: var(--control-radius);
  text-align: center;
}
#top .hero-ai-group-number {
  display: inline-grid;
  place-items: center;
  width: var(--hero-ai-step-circle-size);
  height: var(--hero-ai-step-circle-size);
  color: var(--text-inverse);
  font-size: var(--hero-ai-step-number-size);
  font-weight: 400;
  line-height: 1;
  background: var(--brand-deep-blue);
  border-radius: var(--button-radius);
}
#top .hero-ai-group-text {
  display: grid;
  color: var(--ink);
  font-size: var(--type-small);
  font-weight: 400;
  line-height: 1.32;
  text-align: center;
}
#top .hero-ai-group-action {
  font-size: var(--hero-ai-step-action-size);
}
#top .hero-ai-group-fields {
  display: grid;
  gap: var(--gap-s);
}
#top .hero-ai-group:nth-child(2) .hero-ai-group-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#top .hero-ai-group:nth-child(2) .hero-ai-field[data-hero-field="age"] {
  grid-column: 1 / -1;
}
#top .hero-ai-field {
  display: grid;
  gap: 0;
  color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
}
#top .hero-ai-field > span:first-child {
  display: none;
}
#top .hero-ai-field select,
#top .hero-choice-trigger {
  width: 100%;
  min-height: var(--field-height);
  box-sizing: border-box;
  padding: var(--field-padding);
  color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  background: var(--surface-white);
  border: var(--control-border);
  border-radius: var(--control-radius);
  box-shadow: none;
  appearance: none;
}
#top .hero-choice-trigger {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
#top .hero-choice-trigger.is-placeholder,
#top .hero-choice-trigger.is-readonly.is-placeholder {
  color: var(--text-placeholder);
}
#top .hero-choice-trigger.is-ready-placeholder {
  color: var(--text-icon);
}
#top .hero-choice-trigger.is-readonly {
  cursor: default;
  pointer-events: none;
}
#top .hero-ai-field[data-hero-field="city"] .hero-choice-trigger {
  color: var(--text-icon);
}
#top .hero-choice-trigger::after {
  position: absolute;
  top: 50%;
  right: 18px;
  width: var(--select-arrow-size);
  height: var(--select-arrow-size);
  border-right: 1.5px solid var(--text-placeholder);
  border-bottom: 1.5px solid var(--text-placeholder);
  transform: translateY(-62%) rotate(45deg);
  content: "";
  pointer-events: none;
}
#top .hero-ai-field[data-hero-field="city"] .hero-choice-trigger::after {
  border-color: var(--text-icon);
}
#top .hero-choice-trigger.is-ready-placeholder::after {
  border-color: var(--text-icon);
}
#top .hero-ai-field select:disabled,
#top .hero-choice-trigger:disabled {
  color: var(--text-placeholder);
  background: var(--surface-muted);
  cursor: not-allowed;
}
#top .hero-native-select {
  position: absolute;
  inset: auto;
  width: var(--visually-hidden-size);
  height: var(--visually-hidden-size);
  min-height: var(--visually-hidden-size);
  padding: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
#top .hero-formal-field.has-value .hero-choice-trigger::after {
  content: none;
}
#top .hero-ai-field.has-error select,
#top .hero-ai-field.has-error .hero-choice-trigger {
  border-color: var(--danger, var(--danger));
  box-shadow: var(--danger-focus-ring);
}
#top .hero-ai-submit,
.location-select-trigger.ken-appraisal-trigger,
.mini-cta,
.wizard-result-cta,
.wizard-line-cta,
.company-line-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: var(--cta-inline-size);
  min-width: 0;
  max-width: 100%;
  min-height: var(--cta-height);
  margin-right: auto;
  margin-left: auto;
  padding: 0 var(--cta-x-padding);
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  font-size: var(--cta-font-size);
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  background: var(--brand-deep-blue);
  border: 0;
  border-radius: var(--button-radius);
  box-shadow: var(--cta-float-shadow);
  transform: translateY(0);
  transition: var(--control-transition);
}
#top .hero-ai-submit > span:not(.cta-free-pill),
.mini-cta > span:not(.cta-free-pill),
.location-select-trigger.ken-appraisal-trigger > span:not(.cta-free-pill),
.wizard-result-cta > span:not(.cta-free-pill),
.wizard-line-cta > span:not(.cta-free-pill),
.company-line-cta > span:not(.cta-free-pill) {
  display: inline;
  min-height: 0;
  padding: 0;
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  font-size: inherit;
  line-height: 1.2;
  background: transparent;
  border-radius: 0;
  transform: none;
}
#top .hero-ai-submit {
  margin-top: 20px;
  margin-right: auto;
  margin-left: auto;
}
#top .hero-ai-submit,
.mini-cta,
.location-select-trigger.ken-appraisal-trigger {
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  background: var(--cta-yellow);
}
#top .hero-ai-submit > span:not(.cta-free-pill),
.mini-cta > span:not(.cta-free-pill),
.location-select-trigger.ken-appraisal-trigger > span:not(.cta-free-pill) {
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
}
#top .hero-ai-submit:hover,
.location-select-trigger.ken-appraisal-trigger:hover,
.mini-cta:hover {
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  background: var(--cta-yellow);
  border: 0;
  filter: none;
  box-shadow: var(--cta-float-shadow-hover);
  transform: var(--control-press-hover);
}
.wizard-result-cta:not(.wizard-line-cta):hover {
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  background: var(--brand-deep-blue);
  filter: none;
  box-shadow: var(--cta-float-shadow-hover);
  transform: var(--control-press-hover);
}
#top .hero-ai-submit:active,
.location-select-trigger.ken-appraisal-trigger:active,
.mini-cta:active,
.wizard-result-cta:active,
.wizard-line-cta:active,
.company-line-cta:active {
  box-shadow: var(--cta-float-shadow-active);
  transform: var(--control-press-active);
}
.hero-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: clamp(10px, 3vw, 24px) 12px;
  background: var(--surface-muted);
  pointer-events: auto;
}
.hero-modal[hidden] {
  display: none;
}
.hero-modal-backdrop {
  display: none;
}
.hero-modal-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
  width: min(720px, 100%);
  height: calc(100dvh - clamp(20px, 6vw, 48px));
  max-height: calc(100dvh - clamp(20px, 6vw, 48px));
  padding: clamp(18px, 4vw, 32px);
  overflow: hidden;
  background: var(--surface-white);
  border-radius: var(--flat-card-radius);
  box-shadow: var(--surface-shadow);
  pointer-events: auto;
}
.hero-modal-head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  align-items: center;
  min-height: var(--modal-progress-wrap-height);
}
.hero-modal-close {
  position: static;
  justify-self: end;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: var(--modal-nav-size);
  height: var(--modal-nav-size);
  inline-size: var(--modal-nav-size);
  block-size: var(--modal-nav-size);
  min-width: var(--modal-nav-size);
  min-height: var(--modal-nav-size);
  aspect-ratio: 1 / 1;
  color: var(--ink);
  font-size: var(--type-cta);
  line-height: 1;
  background: var(--surface-muted);
  border: 0;
  border-radius: var(--circle-radius);
  padding: 0;
  cursor: pointer;
}
.hero-modal[data-closable="false"] .hero-modal-close {
  display: none;
}
.hero-modal-title {
  position: relative;
  margin: 0;
  padding: 0;
  color: var(--brand-deep-blue);
  font-size: clamp(18px, 3vw, 21px);
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
}
.hero-modal.is-titleless .hero-modal-head,
.hero-loading-modal .hero-modal-head {
  display: none;
}
.hero-loading-modal .hero-modal-dialog {
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
}
.hero-modal-body {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}
.hero-modal-loading {
  margin: 0;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.7;
  text-align: center;
}
.hero-loading-modal .hero-modal-body {
  display: grid;
  place-items: center;
  overflow: hidden;
}
.hero-appraisal-loading {
  display: grid;
  justify-items: center;
  width: min(100%, 380px);
  color: var(--ink);
  text-align: center;
}
.hero-appraisal-loading p {
  margin: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
}
.hero-appraisal-loading-spinner {
  display: block;
  width: 36px;
  height: 36px;
  margin-top: var(--gap-l);
  border: 3px solid rgba(0, 70, 128, 0.2);
  border-top-color: #004680;
  border-radius: 50%;
  animation: appraisal-loading-spinner 800ms linear infinite;
}
@keyframes appraisal-loading-spinner {
  to { transform: rotate(360deg); }
}
.hero-choice-list {
  display: grid;
  gap: 12px;
}
.hero-town-search-bar {
  display: flex;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  height: var(--field-height);
  box-sizing: border-box;
  margin: 0 0 12px;
}
.hero-town-search,
.hero-town-search-button {
  height: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: var(--control-padding);
  border: var(--control-border);
  border-radius: var(--button-radius);
  outline: none;
  appearance: none;
}
.hero-town-search {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  color: var(--ink);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  background: var(--surface-white);
}
.hero-town-search-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 76px;
  color: var(--text-inverse);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1;
  background: #004680;
  border-color: #004680;
  cursor: pointer;
}
.hero-town-search::placeholder {
  color: var(--text-placeholder);
}
.hero-town-search:focus,
.hero-town-search-button:focus-visible {
  border-color: var(--control-line-hover);
  box-shadow: none;
}
.hero-town-empty {
  margin: 0;
  padding: 12px 4px;
  color: var(--text-helper);
  font-size: var(--type-small);
  line-height: 1.6;
  text-align: center;
}
.hero-town-search::-webkit-search-cancel-button,
.hero-town-search::-webkit-search-decoration {
  display: none;
  -webkit-appearance: none;
}
.hero-choice-group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.hero-choice-group-title {
  margin: 2px 0 0;
  color: var(--text-helper);
  font-size: var(--type-caption);
  line-height: 1.4;
}
.hero-choice-option {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: var(--field-height);
  width: 100%;
  padding: var(--control-padding);
  color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  background: var(--surface-muted);
  border: 0;
  border-radius: var(--button-radius);
  cursor: pointer;
}
.hero-choice-option:hover,
.hero-choice-option:focus-visible {
  outline: 0;
  color: var(--ink);
  background: var(--surface-muted);
  transform: var(--control-press-hover);
}
.hero-choice-option.is-selected {
  color: var(--text-inverse);
  background: var(--brand-deep-blue);
}
.hero-choice-option:active,
.hero-modal-nav-button:active {
  transform: var(--control-press-active);
}
.hero-choice-guidance {
  display: grid;
  gap: 14px;
  margin-top: 8px;
}
.hero-choice-guidance p {
  margin: 0;
  color: var(--ink);
  font-size: var(--type-form);
  line-height: 1.7;
  text-align: center;
}
.hero-modal-nav {
  display: inline-grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  width: var(--modal-nav-width);
  height: var(--modal-nav-size);
  overflow: hidden;
  background: var(--surface-muted);
  border-radius: var(--button-radius);
}
.hero-modal-nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--modal-nav-size);
  padding: 0;
  font-size: var(--type-caption);
  font-weight: 400;
  border: 0;
  border-radius: 0;
  cursor: pointer;
}
.hero-modal-nav-button--primary {
  color: var(--ink);
  background: transparent;
}
.hero-modal-nav-button--secondary {
  color: var(--ink);
  background: transparent;
  border-right: 1px solid var(--control-line);
}
.hero-modal-nav-button--primary:hover,
.hero-modal-nav-button--primary:focus-visible {
  color: var(--ink);
  background: transparent;
  transform: var(--control-press-hover);
}
.hero-modal-nav-button--secondary:hover,
.hero-modal-nav-button--secondary:focus-visible {
  color: var(--ink);
  background: transparent;
  transform: var(--control-press-hover);
}
.hero-modal-nav-button:disabled {
  color: var(--text-placeholder);
  background: transparent;
  cursor: not-allowed;
}
body.hero-modal-open {
  overflow: hidden;
  padding-right: var(--modal-scrollbar-compensation, 0px);
}
.cta-free-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--cta-free-pill-height);
  padding: var(--cta-free-pill-padding);
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  font-size: var(--type-small);
  font-weight: 400;
  line-height: 1;
  background: var(--surface-white);
  border-radius: var(--button-radius);
}
.wizard-line-cta .cta-free-pill,
.company-line-cta .cta-free-pill {
  color: var(--line-green);
  -webkit-text-fill-color: var(--line-green);
}
.header-main-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: center;
  box-sizing: border-box;
  width: var(--header-card-width);
  max-width: none;
  min-height: var(--header-card-height);
  margin: 0 auto;
  padding: 10px clamp(14px, 2.5vw, 28px);
  background: var(--header-glass-bg);
  border: var(--header-glass-border);
  border-radius: var(--button-radius);
  box-shadow: var(--header-glass-shadow);
  backdrop-filter: var(--header-glass-blur);
  -webkit-backdrop-filter: var(--header-glass-blur);
  pointer-events: auto;
}
body.menu-open .header-main-card,
.site-header:has(.menu-toggle:checked) .header-main-card {
  width: var(--header-card-width);
  max-width: none;
  min-height: var(--header-card-height);
  padding: 10px clamp(14px, 2.5vw, 28px);
  background: var(--header-glass-bg-open);
  box-shadow: var(--header-glass-shadow-open);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: clamp(10px, 1.6vw, 18px);
  justify-content: flex-start;
  min-width: 0;
}
.brand img {
  width: var(--brand-logo-width);
  min-width: 0;
}
.menu-toggle {
  position: absolute;
  width: var(--visually-hidden-size);
  height: var(--visually-hidden-size);
  overflow: hidden;
  clip: rect(0 0 0 0);
  opacity: 0;
  pointer-events: none;
}
.menu-button {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: end;
  width: var(--menu-button-size);
  height: var(--menu-button-size);
  color: var(--text-icon);
  background: var(--section-grey);
  border: 0;
  border-radius: var(--circle-radius);
  box-shadow: none;
  cursor: pointer;
  flex: 0 0 var(--menu-button-size);
  transform: translateY(0);
  transition: var(--control-transition);
}
.menu-button:hover,
.menu-button:focus-visible {
  color: var(--text-icon);
  background: var(--section-grey);
}
.menu-button:hover {
  transform: var(--control-press-hover);
}
.menu-button:active {
  transform: var(--control-press-active);
}
.menu-button-icon,
.menu-button-icon::before,
.menu-button-icon::after {
  display: block;
  width: 18px;
  height: var(--menu-icon-line-thickness);
  background: var(--text-icon);
  border-radius: var(--button-radius);
}
.menu-button-icon {
  position: relative;
}
.menu-button-icon::before,
.menu-button-icon::after {
  position: absolute;
  left: 0;
  content: "";
}
.menu-button-icon::before { top: -6px; }
.menu-button-icon::after { top: 6px; }
.side-menu,
body.menu-open .side-menu {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 40;
  display: none;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  height: calc(100dvh - var(--header-card-height) - 28px);
  max-height: calc(100dvh - var(--header-card-height) - 28px);
  margin: 0;
  padding: 14px 0 48px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  background: var(--surface-muted);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  pointer-events: auto;
  transform: none;
}
.menu-toggle:checked ~ .side-menu {
  display: grid;
  align-content: start;
  grid-auto-rows: max-content;
  gap: 12px;
}
.menu-list-group,
.side-menu .menu-list-group:first-child {
  --menu-row-edge: 42px;
  --menu-arrow-size: 1em;
  --menu-divider-inset: var(--menu-row-edge);
  display: block;
  overflow: hidden;
  width: var(--menu-list-width);
  margin: 0 auto;
  padding: 0;
  background: var(--surface-white);
  border: 0;
  border-radius: var(--menu-panel-radius);
  box-shadow: none;
}
.side-menu a,
.side-menu button,
body.menu-open .side-menu a,
body.menu-open .side-menu button,
.side-menu .side-menu-line {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  width: 100%;
  min-height: var(--header-card-height);
  margin: 0;
  padding: 0 calc(var(--menu-row-edge) + var(--menu-arrow-size) + 8px) 0 var(--menu-row-edge);
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  background: var(--surface-white);
  border: 0;
  border-bottom: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.menu-list-group > :last-child,
.side-menu .menu-list-group > :last-child {
  border-bottom: 0;
}
.side-menu a::before,
.side-menu button::before {
  position: absolute;
  right: var(--menu-divider-inset);
  bottom: 0;
  left: var(--menu-divider-inset);
  height: var(--divider-size);
  background: var(--flat-line);
  content: "";
}
.menu-list-group > :last-child::before,
.side-menu .menu-list-group > :last-child::before {
  content: none;
}
.side-menu a::after,
.side-menu button::after {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  right: var(--menu-row-edge);
  width: var(--menu-arrow-size);
  height: var(--menu-arrow-size);
  transform: translateY(-50%);
  color: var(--text-placeholder);
  font-size: 1em;
  font-weight: 400;
  line-height: var(--menu-arrow-size);
  content: var(--navigation-chevron);
}
.side-menu a:hover,
.side-menu a:focus-visible,
.side-menu button:hover,
.side-menu button:focus-visible {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  background: var(--surface-white);
  border-bottom: 0;
}
.side-menu a:hover,
.side-menu button:hover {
  transform: none;
}
.side-menu a:active,
.side-menu button:active {
  transform: var(--control-press-active);
}
#top .flow-number,
#top .point-number,
.resale-business-page .flow-number {
  display: inline-block;
  box-sizing: border-box;
  width: auto;
  height: auto;
  min-height: 0;
  padding: 0;
  color: var(--text-muted);
  -webkit-text-fill-color: var(--text-muted);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1.4;
}
#top .section-title {
  text-align: center;
}
#top .section-title h2,
.appraisal-page-title h1,
.appraisal-page-title h2,
.related-columns-title h2,
.criteria-section table th,
.criteria-section table td:first-child {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-weight: 400;
}
#top .section-title h2::after {
  display: block;
  width: var(--heading-accent-width);
  height: var(--heading-accent-thickness);
  margin: 14px auto 0;
  background: var(--brand-deep-blue);
  border-radius: var(--button-radius);
  content: "";
}
#top .flow-step strong,
#top .reason-item strong,
#top .purchase-result-item h3 {
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  font-size: var(--type-cta);
  font-weight: 400;
  line-height: 1.5;
}
.column-card h2,
#top .popular-column-link strong,
.related-column-link strong {
  color: var(--reading-accent-color);
  -webkit-text-fill-color: var(--reading-accent-color);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
}
.column-article-section .content-page .column-section-heading,
.column-article-section .content-page .column-accent-heading {
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
}
#top .flow-step strong {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 0;
}
#top .flow-title-text {
  min-width: 0;
}
#top .flow-card {
  display: grid;
  grid-template-columns: var(--split-card-columns);
  gap: 0;
  width: var(--flat-card-width);
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background: var(--flat-card-bg);
  border: 0;
  border-radius: var(--flat-card-radius);
  box-shadow: none;
}
#top .flow-step {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: var(--gap-m);
  padding: var(--space-card);
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
#top .flow-step + .flow-step {
  position: relative;
  border-left: 0;
}
#top .flow-step + .flow-step::before {
  position: absolute;
  top: var(--split-card-line-inset);
  bottom: var(--split-card-line-inset);
  left: 0;
  width: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
#top .popular-columns-card {
  display: grid;
  grid-template-columns: var(--split-card-columns);
  overflow: hidden;
  background: var(--flat-card-bg);
  border-radius: var(--flat-card-radius);
}
#top .popular-column-link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: var(--link-card-min-height);
  padding: var(--split-card-item-padding);
  text-decoration: none;
  transform: translateY(0);
  transition: var(--control-transition);
}
#top .popular-column-link strong {
  display: block;
  margin-top: 0;
}
#top .popular-column-link p {
  margin: 10px 0 0;
  color: var(--text-muted);
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1.7;
}
#top .popular-column-link + .popular-column-link::before {
  position: absolute;
  top: var(--split-card-line-inset);
  bottom: var(--split-card-line-inset);
  left: 0;
  width: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
#top .popular-column-link:hover {
  color: var(--brand-deep-blue);
  transform: none;
}
#top .popular-column-link:active {
  transform: none;
}
#top .flow-visual {
  display: grid;
  place-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
}
#top .flow-visual img {
  display: block;
  width: var(--illustration-size-sm);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: var(--flat-card-radius);
}
#top .flow-step:nth-child(2) .flow-visual img {
  transform: scale(0.8);
}
#top .purchase-results-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: var(--flat-card-width);
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background: var(--flat-card-bg);
  border: 0;
  border-radius: var(--flat-card-radius);
  box-shadow: none;
}
#top .purchase-results-card.customer-voice-slider {
  display: block;
}
#top .customer-voice-track {
  display: flex;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}
#top .customer-voice-track::-webkit-scrollbar {
  display: none;
}
#top .customer-voice-track .purchase-result-item {
  width: 100%;
  min-width: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
#top .customer-voice-track .purchase-result-item + .purchase-result-item::before {
  content: none;
}
.slider-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap-xs);
}
.slider-pagination-dot {
  display: block;
  width: 7px;
  height: 7px;
  background: var(--flat-line);
  border-radius: var(--circle-radius);
  transition: background-color 0.18s ease;
}
.slider-pagination-dot.is-current {
  background: var(--brand-deep-blue);
}
#top .customer-voice-pagination {
  margin: 14px auto 0;
}
#top .customer-voice-section-title h2::after {
  content: none;
}
@media (prefers-reduced-motion: reduce) {
  .hero-appraisal-loading-spinner {
    animation: none;
  }
  #top .customer-voice-track {
    scroll-behavior: auto;
  }
}
.card-note-footer,
.card-more-footer {
  --card-note-line-inset: 0;
  --card-footer-bottom-inset: var(--space-card);
  position: relative;
  width: 100%;
  margin: 0;
  padding: var(--gap-l) var(--space-card) var(--card-footer-bottom-inset);
  color: var(--text-muted);
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1.62;
  text-align: center;
}
.card-note-footer::before,
.card-more-footer::before {
  position: absolute;
  top: 0;
  right: var(--card-note-line-inset);
  left: var(--card-note-line-inset);
  height: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
.card-more-footer {
  order: 3;
  grid-column: 1 / -1;
  text-align: right;
}
.card-more-footer--no-divider::before {
  content: none;
}
.card-more-footer--bleed {
  --card-footer-edge-inset: var(--white-card-inset);
  --card-footer-bottom-inset: var(--card-footer-edge-inset);
  --card-note-line-inset: var(--card-footer-edge-inset);
  width: auto;
  margin: 0 calc(-1 * var(--card-footer-edge-inset))
    calc(-1 * var(--card-footer-edge-inset));
  padding-right: var(--card-footer-edge-inset);
  padding-left: var(--card-footer-edge-inset);
}
#top .popular-columns-card .card-more-footer {
  --card-note-line-inset: var(--split-card-line-inset);
  padding-right: var(--split-card-line-inset);
  padding-left: var(--split-card-line-inset);
}
.customer-voices-note {
  --card-footer-bottom-inset: var(--purchase-result-item-padding);
  --card-note-line-inset: var(--purchase-result-item-padding);
}
.card-note-footer.purchase-results-note {
  width: auto;
  margin-top: var(--gap-m);
  padding: 0;
  text-align: left;
}
.card-note-footer.purchase-results-note::before {
  content: none;
}
.content-page--table-note {
  padding-bottom: var(--white-card-inset);
}
#top .purchase-result-item {
  position: relative;
  display: grid;
  align-content: start;
  gap: var(--gap-m);
  min-width: 0;
  padding: var(--purchase-result-item-padding);
}
#top .purchase-result-item + .purchase-result-item::before {
  position: absolute;
  top: 0;
  right: var(--purchase-result-item-padding);
  bottom: auto;
  left: var(--purchase-result-item-padding);
  width: auto;
  height: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
#top .customer-voice-head {
  display: flex;
  align-items: center;
  gap: var(--gap-s);
  min-width: 0;
}
#top .customer-voice-photo {
  display: block;
  width: var(--menu-button-size);
  height: var(--menu-button-size);
  flex: 0 0 var(--menu-button-size);
  object-fit: cover;
  background: #edf2f7;
  border-radius: var(--circle-radius);
}
#top .customer-voice-person {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  height: var(--menu-button-size);
}
#top .customer-voice-meta,
#top .customer-voice-name,
#top .customer-voice-head,
#top .purchase-result-item h3,
#top .purchase-result-item p {
  margin: 0;
}
#top .customer-voice-name {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.45;
}
#top .customer-voice-meta {
  justify-self: start;
  display: block;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  padding: 0;
  color: var(--text-muted);
  -webkit-text-fill-color: var(--text-muted);
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1.25;
  background: transparent;
  border: 0;
  border-radius: 0;
}
#top .purchase-result-item h3 {
  line-height: 1.5;
}
#top .purchase-result-item p:not(.customer-voice-meta) {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.85;
}
#top .flow-step p {
  margin: 12px 0 0;
  color: var(--ink);
  font-size: var(--type-form);
  line-height: 1.8;
}
#top .flow-action-link {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--icon-button-size-sm);
  width: var(--icon-button-size-sm);
  height: var(--icon-button-size-sm);
  min-width: var(--icon-button-size-sm);
  min-height: var(--icon-button-size-sm);
  margin-left: 0;
  padding: 0;
  color: var(--text-icon);
  -webkit-text-fill-color: var(--text-icon);
  font-size: var(--type-caption);
  font-weight: 400;
  line-height: 1;
  background: transparent;
  border: 0;
  border-radius: var(--circle-radius);
  box-sizing: border-box;
  flex-shrink: 0;
  vertical-align: middle;
  cursor: pointer;
}
#top .flow-action-link .arrow-circle-link {
  pointer-events: none;
}
#top .faq-list summary,
#top .faq-list summary::after,
#top .faq-list details[open] summary::after {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-weight: 400;
}
#top .faq-list summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  font-size: var(--type-form);
  list-style: none;
}
#top .faq-list summary::-webkit-details-marker {
  display: none;
}
#top .faq-list summary::after {
  content: "+";
  justify-self: end;
  font-size: var(--type-body);
  line-height: 1;
}
#top .faq-list details[open] summary::after {
  content: "−";
}
#top .faq-list .qmark {
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  font-weight: 400;
}
#top .faq-list {
  display: grid;
  width: var(--narrow-content-card-width);
  margin: 0 auto;
  padding: clamp(10px, 2vw, 18px) clamp(18px, 3vw, 26px);
  overflow: hidden;
  background: var(--flat-card-bg);
  border-radius: var(--flat-card-radius);
}
#top .faq-list details p {
  padding-left: calc(1.1em + 8px);
  padding-right: calc(1em + 8px);
}
#top .flow-card,
#top .purchase-results-card,
#top .popular-columns-card,
#top .faq-list,
#top .staff-card,
#top .company-overview-card {
  border: 0;
  box-shadow: var(--surface-shadow);
}
.criteria-section .content-page,
.terms-section .content-page,
.columns-section .content-page,
.column-article-section .content-page,
.content-page {
  border: 0;
  box-shadow: var(--flat-shadow);
}

.criteria-section .purchase-results-page {
  padding: var(--purchase-results-card-padding);
}
.staff-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
  gap: clamp(20px, 3vw, 28px);
  align-items: start;
  width: var(--flat-card-width);
  margin: 0 auto;
  padding: var(--white-card-inset);
  background: var(--flat-card-bg);
  border: 0;
  border-radius: var(--flat-card-radius);
}
.staff-card-info {
  grid-column: 1;
  min-width: 0;
}
@media (min-width: 761px) {
  .resale-business-page .staff-card {
    --staff-photo-size: 128px;
  }

  #top .company-overview-card > .company-exterior {
    align-self: stretch;
    height: 100%;
    aspect-ratio: auto;
  }

  #top .staff-card {
    --staff-photo-size: 156px;
    grid-template-columns: 1fr;
    align-items: start;
    width: var(--narrow-content-card-width);
  }

  #top .staff-card-info {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
  }

  #top .staff-photo-preview {
    grid-column: 1;
    grid-row: 1;
    grid-template-rows: auto auto;
    align-self: start;
    align-content: start;
    gap: var(--gap-l);
    height: auto;
  }

  #top .staff-speech {
    display: block;
    height: auto;
    padding: var(--gap-xl);
  }

  .resale-business-page .staff-speech {
    padding: var(--gap-l);
  }
}
.staff-photo-preview {
  grid-column: 2;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: var(--gap-l);
  align-self: start;
  width: 100%;
  min-height: 0;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
  background: transparent;
}
.staff-photo-static {
  position: relative;
  order: 1;
  display: block;
  width: min(var(--staff-photo-size), 100%);
  height: min(var(--staff-photo-size), 100vw);
  border-radius: 50%;
  background: transparent;
}
.staff-speech {
  position: relative;
  order: 2;
  width: 100%;
  margin: 0;
  padding: var(--gap-xl);
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.65;
  text-align: left;
  background: var(--surface-rail);
  border-radius: var(--flat-card-radius);
}
.staff-speech::after {
  position: absolute;
  right: calc(50% - 8px);
  left: auto;
  top: -8px;
  bottom: auto;
  width: 16px;
  height: 16px;
  content: "";
  background: var(--surface-rail);
  transform: rotate(45deg);
}
.staff-photo-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.staff-card .info-table-list {
  display: grid;
  gap: var(--gap-l);
  margin: 0;
  border-top: 0;
}
.staff-card .info-table-list div,
.staff-card .info-table-list div + div {
  display: grid;
  grid-template-columns: minmax(88px, 0.28fr) minmax(0, 1fr);
  gap: var(--gap-s);
  padding: 0;
  border: 0;
}
.staff-card .info-table-list dt,
.staff-card .info-table-list dd {
  margin: 0;
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.65;
  border: 0;
}
.staff-card .info-table-list dd p {
  margin: 0;
}
.staff-card .info-table-list dd p + p {
  margin-top: 0.9em;
}
.staff-domain-list {
  display: grid;
  gap: 0.45em;
  margin: 0;
  padding: 0;
  list-style: none;
}
#top .company-overview-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
  column-gap: var(--white-card-inset);
  row-gap: var(--card-footer-content-gap);
  align-items: stretch;
  width: var(--flat-card-width);
  margin: 0 auto;
  padding: var(--white-card-inset);
  background: var(--flat-card-bg);
  border: 0;
  border-radius: var(--flat-card-radius);
}
#top .company-overview-info {
  order: 1;
  min-width: 0;
}
#top .company-overview-card > .card-more-footer {
  grid-column: 1 / -1;
  order: 3;
}
#top .company-map {
  height: 100%;
  min-height: var(--company-map-height);
  overflow: hidden;
  background: var(--surface-muted);
  border-radius: var(--flat-card-radius);
}
#top .company-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--company-map-height);
  border: 0;
}
#top .company-exterior {
  order: 2;
  align-self: center;
  aspect-ratio: 16 / 10;
  height: auto;
}
#top .company-overview-card .info-table-list {
  display: grid;
  gap: var(--gap-l);
  margin: 0;
  border-top: 0;
}
#top .company-overview-card .info-table-list div,
#top .company-overview-card .info-table-list div + div {
  display: grid;
  grid-template-columns: minmax(88px, 0.28fr) minmax(0, 1fr);
  gap: var(--gap-s);
  padding: 0;
  border: 0;
}
#top .company-overview-card .info-table-list dt,
#top .company-overview-card .info-table-list dd {
  margin: 0;
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.65;
  border: 0;
}
#top .business-overview-card {
  width: var(--flat-card-width);
  margin: 0 auto;
  padding: var(--white-card-inset);
  background: var(--flat-card-bg);
  border: 0;
  border-radius: var(--flat-card-radius);
  box-shadow: var(--surface-shadow);
}
#top .business-overview-card h3 {
  margin: 0 0 var(--gap-xl);
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  font-size: var(--type-cta);
  font-weight: 400;
  line-height: 1.5;
}
#top .business-overview-card p {
  margin: 0;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.72;
}
#top .business-overview-card p + p {
  margin-top: var(--gap-l);
}
#top .business-overview-card p:last-of-type {
  margin-bottom: var(--card-footer-content-gap);
}
.company-line-cta {
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  text-decoration: none;
  background: var(--line-green);
}
.company-line-cta:hover {
  box-shadow: var(--cta-float-shadow-hover);
  transform: var(--control-press-hover);
}
.company-page-section .content-page {
  display: grid;
  gap: 0;
  width: var(--flat-card-width);
  margin: 0 auto;
  padding: var(--white-card-inset);
  background: var(--flat-card-bg);
  border: 0;
  border-radius: var(--flat-card-radius);
  box-shadow: var(--flat-shadow);
}
.company-page-section .company-detail-heading,
.company-page-section .resale-business-page > h2 {
  display: flex;
  align-items: stretch;
  gap: var(--gap-s);
  width: 100%;
  margin: 32px 0 16px;
  padding: 0;
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  font-size: var(--type-cta);
  font-weight: 400;
  line-height: 1.5;
  background: transparent;
  border: 0;
}
.company-page-section .company-detail-page > .company-detail-heading,
.company-page-section .company-operator-layout + .company-detail-heading,
.company-page-section .resale-business-page > h2:not(:first-of-type) {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--flat-line);
}
.company-page-section .company-operator-info .company-detail-heading,
.company-page-section .resale-business-page > h2:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.company-page-section .company-detail-heading::before,
.company-page-section .resale-business-page > h2::before {
  flex: 0 0 var(--heading-accent-thickness);
  width: var(--heading-accent-thickness);
  min-height: 1.35em;
  background: var(--brand-deep-blue);
  border-radius: var(--button-radius);
  content: "";
}
.company-operator-layout {
  display: contents;
}
.company-operator-info {
  order: 2;
  margin-top: var(--flat-card-padding);
}
.company-operator-media {
  display: contents;
}
.company-exterior {
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: var(--surface-muted);
  border-radius: var(--flat-card-radius);
}
.company-exterior img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.company-page-exterior {
  order: 1;
  aspect-ratio: 16 / 10;
}
.company-page-map {
  order: 3;
  margin-top: var(--flat-card-padding);
  min-height: var(--company-map-height);
  overflow: hidden;
  background: var(--surface-muted);
  border-radius: var(--flat-card-radius);
}
.company-page-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--company-map-height);
  border: 0;
}
.company-operator-layout + .company-detail-heading {
  order: 4;
}
.company-operator-layout + .company-detail-heading + .content-list {
  order: 5;
}
.company-operator-layout + .company-detail-heading + .content-list + .company-detail-heading {
  order: 6;
}
.company-operator-layout + .company-detail-heading + .content-list + .company-detail-heading + .info-table-list {
  order: 7;
}
.company-page-section .info-table-list {
  gap: var(--gap-s);
  border-top: 0;
}
.company-page-section .info-table-list div {
  padding: 0;
  border: 0;
}
.company-page-section .company-detail-page,
.company-page-section .company-detail-page dt {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-weight: 400;
  font-size: 15px;
}
.company-page-section .company-detail-page p,
.company-page-section .company-detail-page li,
.company-page-section .company-detail-page dd {
  color: var(--reading-copy-color);
  -webkit-text-fill-color: var(--reading-copy-color);
  font-size: 15px;
  font-weight: 400;
}
.company-page-section .content-list {
  margin: 0;
  color: var(--reading-copy-color);
  -webkit-text-fill-color: var(--reading-copy-color);
}
.resale-business-section {
  padding-top: 72px;
  padding-bottom: 72px;
}
.resale-business-page {
  --resale-section-gap: 28px;
  --resale-heading-gap: var(--gap-xl);
  --resale-copy-gap: var(--gap-l);
}
.resale-business-page .staff-card {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
@media (min-width: 761px) {
  .resale-business-page .staff-card {
    display: grid;
  }
}
.resale-business-section .appraisal-page-title {
  margin-bottom: 34px;
}
.company-page-section .resale-business-page > h2 {
  margin-bottom: var(--resale-heading-gap);
}
.company-page-section .resale-business-page > h2:not(:first-of-type) {
  margin-top: var(--resale-section-gap);
  padding-top: var(--resale-section-gap);
}
.resale-business-page p:not(.purchase-results-note) + p:not(.purchase-results-note) {
  margin-top: var(--resale-copy-gap);
}
.resale-business-page .content-table-scroll {
  margin-top: 0;
}
.resale-business-page .resale-formula-intro,
.resale-business-page .resale-table-intro {
  margin-bottom: var(--resale-heading-gap);
}
.resale-business-page .resale-price-formulas {
  box-sizing: border-box;
  margin: 0 0 var(--resale-heading-gap);
  padding: var(--space-card);
  background: #edf2f7;
  border-radius: var(--card-radius);
}
.resale-business-page .resale-price-formula {
  margin: 0;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: 1.72;
  overflow-wrap: anywhere;
}
.resale-business-page .resale-price-formula + .resale-price-formula {
  margin-top: var(--space-card);
  padding-top: var(--space-card);
  border-top: 1px solid var(--line);
}
.resale-business-page .content-table {
  margin: 0;
}
.resale-business-page .content-table-scroll--documents {
  margin-top: var(--resale-heading-gap);
}
.resale-business-page .resale-documents-table {
  table-layout: fixed;
}
.resale-business-page .resale-documents-table th:first-child,
.resale-business-page .resale-documents-table td:first-child {
  width: 18%;
  white-space: nowrap;
}
.resale-business-page .content-table th,
.resale-business-page .content-table td,
.resale-business-page .content-table td:first-child {
  font-weight: 400;
}
.resale-business-page .content-table-scroll + .purchase-results-note {
  margin-top: var(--resale-heading-gap);
}
.resale-business-page .content-table-scroll + p:not(.purchase-results-note) {
  margin-top: var(--resale-heading-gap);
}
.resale-business-page .purchase-results-note {
  margin-top: var(--resale-heading-gap);
}
.resale-business-page .purchase-results-note + .purchase-results-note {
  margin-top: var(--gap-s);
}
.resale-business-page p + .info-table-list {
  margin-top: var(--resale-heading-gap);
}
.resale-business-page p:not(.purchase-results-note),
.resale-business-page li,
.resale-business-page dd {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
}
.resale-business-page .resale-flow-topic {
  --resale-flow-card-x: var(--gap-xl);
  width: auto;
  margin: 0;
  overflow: visible;
  box-shadow: none;
}
.resale-business-page .resale-flow-topic .column-grid {
  width: calc(100% + (var(--resale-flow-card-x) * 2));
  margin: 0 calc(var(--resale-flow-card-x) * -1);
}
.resale-business-page .resale-flow-card {
  gap: var(--gap-m);
  min-height: 0;
  padding: var(--space-card) var(--resale-flow-card-x);
  color: var(--text-muted);
  cursor: default;
  transform: none;
}
.resale-business-page .resale-flow-card h3 {
  order: 2;
  margin: 0;
  padding: 0;
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  font-size: var(--type-cta);
  font-weight: 400;
  line-height: 1.5;
}
.resale-business-page .resale-flow-card p {
  order: 3;
  margin: 0;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-size: var(--type-form);
  line-height: 1.72;
}
.resale-business-page .resale-flow-card:hover,
.resale-business-page .resale-flow-card:active {
  color: var(--text-muted);
  transform: none;
}
.resale-business-page .resale-flow-card:nth-child(3n + 2)::before,
.resale-business-page .resale-flow-card:nth-child(3n + 3)::before {
  top: var(--space-card);
}
.resale-business-page .resale-flow-card:nth-child(5)::before,
.resale-business-page .resale-flow-card:nth-child(6)::before {
  top: 0;
  bottom: 0;
}
.resale-business-page .resale-flow-card:nth-child(4)::after {
  left: var(--resale-flow-card-x);
  width: calc(300% - (var(--resale-flow-card-x) * 2));
}
.resale-business-page .resale-flow-card:nth-child(7)::before {
  position: absolute;
  top: 0;
  right: calc(var(--divider-size) * -1);
  bottom: var(--space-card);
  left: auto;
  width: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
.resale-business-page .resale-flow-card:nth-child(7)::after {
  position: absolute;
  top: 0;
  left: var(--resale-flow-card-x);
  width: calc(300% - (var(--resale-flow-card-x) * 2));
  height: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
.company-page-section .resale-business-page .resale-flow-topic + h2 {
  margin-top: var(--resale-heading-gap);
}
.resale-business-page .resale-flow-image,
.resale-business-page .resale-flow-image-placeholder {
  order: 0;
  width: 100%;
  aspect-ratio: 1200 / 630;
  margin: 0;
  border-radius: var(--card-radius);
}
.resale-business-page .resale-flow-image {
  display: block;
  object-fit: cover;
  background: transparent;
}
.resale-business-page .resale-flow-image-placeholder {
  display: grid;
  place-items: center;
  background: var(--surface-rail);
}
.resale-business-page .resale-flow-image-placeholder::before {
  color: var(--reading-copy-color);
  -webkit-text-fill-color: var(--reading-copy-color);
  font-size: var(--type-form);
  line-height: 1.6;
  content: "画像スペース";
}
.resale-business-page .content-table-scroll::after {
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
}
.reason-card {
  display: grid;
  grid-template-columns: var(--split-card-columns);
  width: var(--flat-card-width);
  margin: 0 auto;
  overflow: hidden;
  background: var(--flat-card-bg);
  border: 0;
  border-radius: var(--flat-card-radius);
  box-shadow: var(--surface-shadow);
}
@media (min-width: 761px) {
  :is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail)) {
    width: var(--narrow-content-card-width);
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
    background: var(--flat-card-bg);
    border: 0;
    border-radius: var(--flat-card-radius);
    box-shadow: var(--surface-shadow);
  }

  .card-more-footer--bleed {
    --card-footer-edge-inset: var(--white-card-inset-mobile);
  }
}

/* Municipality links use the same stable one-column list at every viewport. */
:is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail)) .municipality-card {
  border-right: 0;
  border-bottom: var(--legacy-control-border);
}
:is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail)) .municipality-card:last-child {
  border-bottom-color: transparent;
}
.top-purchase-results-card .municipality-grid .municipality-card:last-child {
  border-bottom: var(--legacy-control-border);
}
:is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail)) .municipality-grid .municipality-card {
  min-height: 86px;
  padding-top: var(--gap-l);
  padding-bottom: var(--gap-l);
}
:is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail)) .municipality-grid .municipality-card h2,
:is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail)) .municipality-grid .municipality-card p {
  line-height: 1.4;
}
:is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail)) .municipality-grid .municipality-card p {
  margin-top: 3px;
}
.top-purchase-results-card .card-more-footer::before {
  content: none;
}
.reason-item {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto auto;
  align-content: start;
  gap: var(--gap-m);
  min-height: 0;
  padding: var(--split-card-item-padding);
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.reason-item .reason-visual {
  display: grid;
  place-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
.reason-item .reason-visual img {
  display: block;
  width: var(--illustration-size-sm);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: var(--flat-card-radius);
}
.reason-item + .reason-item {
  position: relative;
  border-left: 0;
}
.reason-item + .reason-item::before {
  position: absolute;
  top: var(--split-card-line-inset);
  bottom: var(--split-card-line-inset);
  left: 0;
  width: var(--divider-size);
  content: "";
  background: var(--flat-line);
}
.reason-item p {
  margin: 0;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-size: var(--type-form);
  line-height: 1.8;
}
.resale-business-page .resale-flow-card,
#top .reason-item {
  gap: 0;
}
.resale-business-page .resale-flow-card .flow-number,
#top .reason-item .point-number {
  margin-top: 17px;
}
.resale-business-page .resale-flow-card h3,
#top .reason-item strong {
  margin-top: 8px;
}
.resale-business-page .resale-flow-card p,
#top .reason-item p {
  margin-top: 12px;
}
@media (max-width: 760px) {
  #top .flow-card .flow-step {
    gap: 17px;
  }
  #top .flow-card .flow-step > div {
    gap: 0;
  }
  #top .flow-card .flow-step strong {
    margin-top: 8px;
  }
  #top .flow-card .flow-step p {
    margin-top: 12px;
  }
}
.primary-button,
.wizard-result-cta:not(.wizard-line-cta) {
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  background: var(--brand-deep-blue);
  border: 0;
  box-shadow: var(--cta-float-shadow);
}
.wizard-line-cta {
  background: var(--line-green);
  text-decoration: none;
}
.wizard-line-cta:hover {
  color: var(--text-inverse);
  -webkit-text-fill-color: var(--text-inverse);
  background: var(--line-green);
  box-shadow: var(--cta-float-shadow-hover);
  transform: var(--control-press-hover);
}
.primary-button:hover,
.wizard-result-cta:not(.wizard-line-cta):hover {
  color: var(--text-inverse);
  background: var(--brand-deep-blue);
  border: 0;
  box-shadow: var(--cta-float-shadow-hover);
  transform: var(--control-press-hover);
}
.primary-button:active,
.wizard-result-cta:not(.wizard-line-cta):active {
  transform: var(--control-press-active);
}
@keyframes heroFieldPulse {0%, 100% {
    opacity: 0.35;
    box-shadow: var(--hero-field-pulse-shadow-start);
  }
50% {
    opacity: 1;
    box-shadow: var(--hero-field-pulse-shadow-peak);
  }
}
@keyframes heroCtaPulse {0%, 100% {
    filter: var(--hero-cta-pulse-filter-start);
    box-shadow: var(--hero-cta-pulse-shadow-start);
  }
50% {
    filter: var(--hero-cta-pulse-filter-peak);
    box-shadow: var(--hero-cta-pulse-shadow-peak);
  }
}
@keyframes heroTimeColorFill {from {
    background-position: 100% 0;
  }
to {
    background-position: 0 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-header {
    transition: none;
  }
  .card-more-footer .section-more-text-link::after {
    transition: none;
  }
  #top .hero-callout-time {
    background-position: 0 0;
    animation: none;
  }
}
#top .hero-ai-field.is-pulse-target .hero-choice-trigger {
  border-color: var(--control-line);
  outline: 0;
  box-shadow: none;
  filter: none;
}
#top .hero-ai-field.is-pulse-target .hero-choice-trigger::before {
  position: absolute;
  inset: -5px;
  z-index: 0;
  box-sizing: border-box;
  border: var(--hero-pulse-border);
  border-radius: var(--price-radius);
  content: "";
  pointer-events: none;
  animation: heroFieldPulse 1s ease-in-out infinite;
}
#top .hero-ai-field.has-error.is-pulse-target .hero-choice-trigger {
  border-color: var(--danger, var(--danger));
  outline: 0;
  box-shadow: var(--danger-focus-ring);
  filter: none;
  animation: none;
}
#top .hero-ai-field.has-error.is-pulse-target .hero-choice-trigger::before {
  content: none;
}
#top .hero-ai-submit.is-pulse-target {
  animation: heroCtaPulse 1.3s ease-in-out infinite;
  filter: var(--hero-submit-pulse-filter);
}
.terms-content,
.terms-content p,
.terms-content li,
.terms-content h2,
.terms-content h3,
.column-article-section .content-page p,
.column-article-section .content-page li,
.faq-list p {
  font-size: var(--type-form);
  line-height: var(--reading-line-height);
}
.terms-content p,
.terms-content li {
  color: var(--reading-copy-color);
  -webkit-text-fill-color: var(--reading-copy-color);
}
.faq-list p,
.faq-answer-extra {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
}
.column-article-section .content-page p,
.column-article-section .content-page li,
.column-article-section .content-page a,
.column-article-section .content-page p a,
.column-article-section .content-page li a {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
}

.column-article-section .content-page .column-intro-title {
  color: var(--brand-deep-blue);
  -webkit-text-fill-color: var(--brand-deep-blue);
  font-size: var(--type-cta);
  font-weight: 400;
  line-height: 1.5;
}
.terms-content p a,
.terms-content li a {
  color: var(--reading-copy-color);
  -webkit-text-fill-color: var(--reading-copy-color);
}
.terms-section .terms-content {
  display: grid;
  gap: 0;
  width: var(--flat-card-width);
  max-width: none;
  margin: 0 auto;
  padding: var(--white-card-inset);
  color: var(--ink);
  background: var(--white);
  border: 0;
  border-radius: var(--card-radius);
}
.terms-section .terms-content h2,
.terms-section .terms-content h3 {
  display: flex;
  align-items: stretch;
  gap: var(--reading-heading-gap);
  width: 100%;
  margin: calc(var(--reading-heading-top-space) - var(--reading-paragraph-gap)) 0 var(--reading-heading-gap);
  padding: var(--reading-heading-top-space) 0 0;
  color: var(--reading-accent-color);
  font-size: var(--type-cta);
  font-weight: 400;
  line-height: 1.5;
  border-top: 1px solid var(--line-soft);
}
.terms-section .terms-content h2::before,
.terms-section .terms-content h3::before {
  flex: 0 0 var(--heading-accent-thickness);
  width: var(--heading-accent-thickness);
  min-height: 1.35em;
  background: var(--brand-deep-blue);
  border-radius: var(--button-radius);
  content: "";
}
.terms-section .terms-content h2:first-child,
.terms-section .terms-content h3:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.terms-section .terms-content p,
.terms-section .terms-content li,
.terms-section .terms-content a,
.terms-section .terms-content p a,
.terms-section .terms-content li a {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  font-size: var(--type-form);
  font-weight: 400;
  line-height: var(--reading-line-height);
}
.terms-section .terms-content p {
  width: 100%;
  margin: 0 0 var(--reading-paragraph-gap);
}
.terms-section .terms-content .content-list {
  width: 100%;
  margin: 0 0 var(--reading-paragraph-gap);
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
}
.terms-section .terms-content > :last-child {
  margin-bottom: 0;
}
.terms-content h2,
.terms-content h3 {
  margin-top: var(--reading-heading-section-space);
  margin-bottom: var(--reading-heading-gap);
  font-weight: 400;
}

/* Mobile exceptions: layout compression and table readability only. */
@media (max-width: 760px) {
  :root {
    --split-card-item-padding: var(--white-card-inset-mobile);
  }

html {
    scroll-padding-top: 100px;
  }
section[id],
  main[id] {
    scroll-margin-top: 100px;
  }
main,
  main:not(#top),
  #top,
  body.menu-open main,
  body.menu-open main:not(#top),
  body.menu-open #top {
    padding-top: 0;
  }
#top .hero { padding-top: 12px; }
#top .hero-inner {
    width: var(--flat-card-width);
    padding: 22px 14px;
    row-gap: 0;
  }
#top .hero-support-illustration {
    margin-top: -6px;
  }
#top .hero-trust-facts {
    margin-top: -8px;
  }
		#top .hero-message-stack {
			    width: var(--hero-narrow-width);
			  }
				#top .hero-callout {
					    width: 100%;
					    max-width: 100%;
					    padding: 0;
					    font-size: var(--type-section-title);
					  }
#top .hero-appraisal-card {
		    width: var(--hero-narrow-width);
		    margin-top: var(--hero-inner-item-gap);
		    padding: 16px;
		  }
#top .hero-ai-group {
    grid-template-columns: minmax(0, 1fr);
  }
#top .hero-ai-group-label {
    grid-template-columns: auto auto;
    align-content: center;
    align-items: center;
    justify-content: start;
    justify-items: start;
    min-height: var(--hero-ai-mobile-label-height);
    padding: 7px 12px;
    text-align: left;
  }
#top .hero-ai-group-text {
    display: flex;
    gap: 0;
    text-align: left;
  }
#top .hero-ai-group-fields {
    gap: var(--hero-ai-mobile-field-gap);
  }
#top .hero-ai-group:nth-child(2) .hero-ai-field:not([data-hero-field="age"]) select,
  #top .hero-ai-group:nth-child(2) .hero-ai-field:not([data-hero-field="age"]) .hero-choice-trigger {
    padding: var(--hero-ai-mobile-compact-padding);
    font-size: var(--hero-ai-mobile-compact-font-size);
    white-space: nowrap;
  }
#top .hero-ai-group:nth-child(2) .hero-ai-field:not([data-hero-field="age"]) .hero-choice-trigger::after {
    right: var(--hero-ai-mobile-compact-arrow-right);
  }
#top .hero-ai-field select,
  #top .hero-choice-trigger {
    min-height: var(--hero-ai-mobile-field-height);
  }
#top .hero-ai-submit,
  .location-select-trigger.ken-appraisal-trigger,
  .mini-cta,
  .wizard-result-cta,
	  .wizard-line-cta,
	  .company-line-cta {
	    width: var(--mobile-cta-width);
	    min-width: 0;
	    font-size: var(--type-cta);
	  }
.site-header,
	  .site-header:has(.menu-toggle:checked),
	  body.menu-open .site-header {
	    padding: 12px;
	  }
body {
	    padding-top: 88px;
	  }
.header-main-card,
	  body.menu-open .header-main-card,
	  .site-header:has(.menu-toggle:checked) .header-main-card {
	    width: var(--mobile-edge-width);
	    max-width: none;
	    min-height: var(--header-card-height-mobile);
	    padding: 10px 16px;
	  }
.side-menu,
	  body.menu-open .side-menu {
		    width: 100%;
		    max-width: none;
		    height: calc(100dvh - var(--header-card-height-mobile) - 24px);
		    max-height: calc(100dvh - var(--header-card-height-mobile) - 24px);
		    padding: 12px 0 40px;
		  }
.menu-list-group,
	  .side-menu .menu-list-group:first-child {
	    --menu-row-edge: 30px;
	    width: var(--mobile-edge-width);
	  }
.side-menu a,
  .side-menu button,
	  body.menu-open .side-menu a,
	  body.menu-open .side-menu button,
		  .side-menu .side-menu-line {
		    min-height: var(--menu-row-height-mobile);
		    padding: 10px calc(var(--menu-row-edge) + var(--menu-arrow-size) + 8px) 10px var(--menu-row-edge);
		  }
.resale-business-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .resale-business-page {
    --resale-section-gap: 24px;
    --resale-heading-gap: var(--gap-xl);
    --resale-copy-gap: var(--gap-l);
  }
  .resale-business-section .appraisal-page-title {
    margin-bottom: 28px;
  }
.resale-business-page .resale-flow-topic {
    --resale-flow-card-x: var(--space-card-mobile);
    margin-bottom: 0;
  }
  .resale-business-page .resale-flow-topic .column-grid {
    width: calc(100% + (var(--resale-flow-card-x) * 2));
    margin-right: calc(var(--resale-flow-card-x) * -1);
    margin-left: calc(var(--resale-flow-card-x) * -1);
  }
.resale-business-page .resale-flow-card {
    padding: var(--space-card-mobile) var(--resale-flow-card-x);
  }
.resale-business-page .flow-number {
    order: 1;
  }
.resale-business-page .resale-flow-card:nth-child(n)::before {
    top: 0;
    right: var(--split-card-line-inset-mobile);
    bottom: auto;
    left: var(--split-card-line-inset-mobile);
    width: auto;
    height: var(--divider-size);
    content: "";
    background: var(--flat-line);
  }
.resale-business-page .resale-flow-card:nth-child(1)::before {
    content: none;
  }
.resale-business-page .resale-flow-card:nth-child(4)::after,
.resale-business-page .resale-flow-card:nth-child(7)::after {
    content: none;
  }
.brand img {
	    width: var(--brand-logo-width-mobile);
	    min-width: 0;
	  }
.brand {
	    gap: 8px;
	  }
.seo-footer-note {
	    width: var(--mobile-edge-width);
	    padding: clamp(18px, 5vw, 24px) 16px 10px;
	  }
.criteria-section .content-page,
	  .terms-section .content-page {
	    padding: var(--white-card-inset-mobile);
	  }
.purchase-results-section .content-table-scroll--purchase-results {
    padding-bottom: 0;
  }
.purchase-results-section .content-table-scroll--purchase-results + .purchase-results-note {
    margin-top: var(--gap-m);
  }
.results-summary-list div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
.results-summary-card--compact .results-summary-list {
    grid-template-columns: 1fr;
  }
.top-purchase-results-table-wrap {
    display: none;
  }
.top-purchase-results-card .results-summary-card {
    margin-bottom: 0;
  }
.results-summary-card--compact .results-summary-list div,
  .results-summary-card--compact .results-summary-list div:first-child,
  .results-summary-card--compact .results-summary-list div:last-child {
    padding: var(--gap-m) 0;
    text-align: left;
    border-top: 1px solid var(--flat-line);
    border-left: 0;
  }
.results-summary-card--compact .results-summary-list div:first-child {
    padding-top: 0;
    border-top: 0;
  }
.results-summary-card--compact .results-summary-list div:last-child {
    padding-bottom: 0;
  }
.criteria-section:not(.purchase-results-section) .content-table th:first-child,
  .criteria-section:not(.purchase-results-section) .content-table td:first-child {
    width: var(--criteria-label-column-width-mobile);
    white-space: nowrap;
  }
.criteria-section .content-table th,
  .criteria-section .content-table td {
    padding: var(--table-cell-padding-mobile);
    font-size: var(--type-table-mobile);
    line-height: 1.55;
  }
#top .top-purchase-results-section .content-table th,
  #top .top-purchase-results-section .content-table td {
    padding: var(--table-cell-padding-mobile);
    font-size: var(--type-table-mobile);
    line-height: 1.55;
  }
.purchase-results-table th:nth-child(2),
  .purchase-results-table td:nth-child(2) {
    width: var(--purchase-table-status-width-mobile);
  }
.purchase-results-table th:nth-child(3),
  .purchase-results-table td:nth-child(3) {
    width: var(--purchase-table-date-width-mobile);
  }
#top .hero-formal-visit-grid {
    grid-template-columns: 1fr;
  }
#top .flow-card,
  .reason-card,
  #top .purchase-results-card { grid-template-columns: 1fr; }
#top .flow-step + .flow-step {
    border-top: 0;
    border-left: 0;
  }
#top .flow-step + .flow-step::before {
    top: 0;
    inset-inline: var(--split-card-line-inset-mobile);
    right: var(--split-card-line-inset-mobile);
    bottom: auto;
    left: var(--split-card-line-inset-mobile);
    width: auto;
    height: var(--divider-size);
    border: 0;
  }
#top .flow-step {
    padding: var(--space-card-mobile);
  }
#top .flow-step p {
    margin: 0;
  }
#top .flow-step::after {
    display: none;
    content: none;
  }
#top .purchase-result-item + .purchase-result-item::before {
    top: 0;
    right: var(--purchase-result-item-padding);
    bottom: auto;
    left: var(--purchase-result-item-padding);
    width: auto;
    height: var(--divider-size);
  }
#top .popular-columns-card {
    grid-template-columns: 1fr;
  }
#top .popular-column-link {
    min-height: auto;
    padding: var(--split-card-line-inset-mobile);
  }
#top .popular-column-link + .popular-column-link::before {
    top: 0;
    right: var(--split-card-line-inset-mobile);
    bottom: auto;
    left: var(--split-card-line-inset-mobile);
    width: auto;
    height: var(--divider-size);
  }
.reason-item {
    min-height: 0;
    padding: var(--split-card-line-inset-mobile);
  }
.reason-item .reason-visual {
    order: 0;
  }
.reason-item .point-number {
    order: 1;
  }
.reason-item strong {
    order: 2;
  }
.reason-item p {
    order: 3;
  }
.reason-item + .reason-item {
    border-top: 0;
    border-left: 0;
  }
.reason-item + .reason-item::before {
    top: 0;
    right: var(--split-card-line-inset-mobile);
    bottom: auto;
    left: var(--split-card-line-inset-mobile);
    width: auto;
    height: var(--divider-size);
  }
#top .company-overview-card {
    grid-template-columns: 1fr;
  }
#top .company-overview-info {
    order: 2;
  }
#top .company-overview-card > .company-exterior {
    order: 1;
  }
.staff-card {
    grid-template-columns: 1fr;
  }
.staff-card-info {
    grid-column: 1;
    grid-row: 2;
  }
.staff-photo-preview {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    min-height: 0;
  }
.staff-photo-static {
    order: 1;
    width: min(var(--staff-photo-size-mobile), 100%);
    height: min(var(--staff-photo-size-mobile), 100vw);
  }
.staff-speech {
    order: 2;
    width: 100%;
  }
.staff-speech::after {
    top: -8px;
    bottom: auto;
  }
.staff-card .info-table-list div,
	  .staff-card .info-table-list div + div {
    grid-template-columns: 1fr;
  }
#top .company-overview-card .info-table-list div,
	  #top .company-overview-card .info-table-list div + div {
    grid-template-columns: 1fr;
  }
#top .company-map,
#top .company-map iframe {
    min-height: var(--company-map-height-mobile);
  }
.company-page-exterior {
    aspect-ratio: 16 / 10;
  }
.company-page-map {
    min-height: var(--company-map-height-mobile);
  }
.company-page-map iframe {
    min-height: var(--company-map-height-mobile);
  }
}

.criteria-section:not(.purchase-results-section) .content-table th,
.criteria-section:not(.purchase-results-section) .content-table td {
  font-size: var(--type-table);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (max-width: 760px) {
  :root {
    --purchase-results-card-padding: var(--white-card-inset-mobile);
  }

  .criteria-section:not(.purchase-results-section) .content-table th,
  .criteria-section:not(.purchase-results-section) .content-table td {
    font-size: var(--type-table-mobile);
  }
}

main:not(#top) .purchase-results-page > .purchase-results-note {
  margin-top: 0;
  text-align: center;
}
main:not(#top) .purchase-results-page--detail {
  padding-bottom: var(--white-card-inset);
}

/* Let the fixed page gradient continue behind desktop content sections. */
@media (min-width: 768px) {
  :root {
    --full-bleed-section-shadow: none;
    --full-bleed-soft-shadow: none;
    --full-bleed-white-shadow: none;
  }

  #top .hero {
    background: transparent;
  }

  #top .hero-inner {
    row-gap: 0;
  }

  #top .hero-support-illustration {
    width: 340px;
    max-width: 100%;
    margin-top: -6px;
  }

  #top .hero-trust-facts {
    margin-top: -8px;
  }

  #top .hero-appraisal-card {
    margin-top: var(--hero-inner-item-gap);
  }
}

/*
 * Shared white-card inset contract.
 * White cards use the same inset on all four edges: up to 28px on desktop,
 * 20px on mobile. Split/list cards keep their internal density while their
 * first and last content edges align with the same inset.
 */
.results-section {
  --purchase-result-item-padding: var(--white-card-inset);
}

#top .flow-step,
.reason-item,
#top .popular-column-link,
#top .purchase-result-item {
  padding: var(--white-card-inset);
}

#top .faq-list {
  padding: calc(var(--white-card-inset) - 14px) var(--white-card-inset);
}

:is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail)) {
  padding: calc(var(--white-card-inset) - var(--gap-l)) var(--white-card-inset)
    var(--white-card-inset);
}

:is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail))
  .municipality-grid
  .municipality-card {
  padding-right: 0;
  padding-left: 0;
}

@media (max-width: 760px) {
  .results-section {
    --purchase-result-item-padding: var(--white-card-inset-mobile);
  }

  #top .flow-step,
  .reason-item,
  #top .popular-column-link,
  #top .purchase-result-item {
    padding: var(--white-card-inset-mobile);
  }

  #top .faq-list {
    padding: calc(var(--white-card-inset-mobile) - 14px)
      var(--white-card-inset-mobile);
  }

  :is(.top-purchase-results-card, .purchase-results-page:not(.purchase-results-page--detail)) {
    padding: calc(var(--white-card-inset-mobile) - var(--gap-l))
      var(--white-card-inset-mobile) var(--white-card-inset-mobile);
  }

  .column-article-section .content-page,
  .terms-section .terms-content,
  .company-page-section .content-page,
  .staff-card,
  #top .business-overview-card,
  #top .company-overview-card,
  main:not(#top) .purchase-results-page--detail,
  .content-page--table-note {
    padding: var(--white-card-inset-mobile);
  }
}
