.estate-page { --estate-navy:#142f49; --estate-muted:#62777d; --blue:#142f49; --dark:#142f49; --estate-line:#dce7e9; color:#193a43; }
.estate-page .header { background:rgba(255,255,255,.98); color:#193a43; }
.estate-page .brand img { filter:none; }
.estate-page .container { width:min(1140px,88%); }
.estate-page [hidden] { display:none !important; }
.estate-page a:focus-visible,.estate-page button:focus-visible,.estate-page select:focus-visible,.estate-page textarea:focus-visible { outline:3px solid var(--estate-navy); outline-offset:5px; }
.estate-breadcrumb { padding-top:120px; display:flex; flex-wrap:wrap; gap:10px; font-size:11px; color:var(--estate-muted); }
.estate-breadcrumb a:hover { text-decoration:underline; }
.estate-kicker { font:700 11px/1.5 Arial,sans-serif; letter-spacing:.19em; color:var(--estate-navy); margin-bottom:16px; }
.estate-hero { display:grid; grid-template-columns:1fr 1.08fr; gap:65px; align-items:center; padding:55px 0 85px; }
.estate-hero h1 { font-family:'Yu Mincho','Hiragino Mincho ProN',serif; font-weight:500; font-size:clamp(32px,3.3vw,48px); line-height:1.55; letter-spacing:.05em; margin:0; }
.estate-hero-copy > p:not(.estate-kicker) { font-size:14px; line-height:2.1; }
.estate-hero-copy h1 + p { margin-top:26px; }
.estate-hero-copy .estate-intro { font-size:19px !important; margin:24px 0 13px; }
.estate-hero-copy > a { margin-top:27px; padding-bottom:8px; border-bottom:1px solid #accbd5; }
.estate-hero figure { margin:0; }
.estate-exterior { width:100%; aspect-ratio:7/5; background-image:url('/images/realestate/used-43fbf53b-1.webp'); background-size:337.551% auto; background-position:2.578% 19.3%; background-repeat:no-repeat; background-color:#eef5f5; }
.estate-hero figcaption,.estate-detail-photo figcaption { font-size:10px; color:var(--estate-muted); margin-top:10px; line-height:1.8; }
.estate-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; font-size:13px; font-weight:700; }
.estate-text-link:hover { color:var(--estate-navy); }
.estate-listings { padding:25px 0 90px; scroll-margin-top:105px; }
.estate-listings-first { padding-top:55px; }
.estate-listings-first h1 { margin:0; font-size:38px; font-weight:700; line-height:1.65; letter-spacing:.06em; }
.estate-page h2 { font-family:'Yu Mincho','Hiragino Mincho ProN',serif; font-weight:500; font-size:clamp(25px,2.6vw,35px); line-height:1.65; letter-spacing:.045em; }
.estate-section-heading { margin-bottom:35px; }
.estate-tabs { display:flex; gap:20px; border-bottom:1px solid var(--estate-line); margin-bottom:24px; }
.estate-tabs a { display:flex; align-items:center; justify-content:center; gap:12px; padding:20px 24px; min-width:190px; border-bottom:3px solid transparent; margin-bottom:-1px; font-size:16px; transition:background .2s; }
.estate-tabs a[aria-selected=true] { background:#edf5f7; border-bottom-color:var(--estate-navy); }
.estate-tabs a:hover { background:#f1f7f8; }
.estate-tabs a span { font:11px Arial,sans-serif; color:var(--estate-muted); }
.estate-panel { scroll-margin-top:110px; }
.estate-panel-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; margin-bottom:23px; }
.estate-panel-heading h3 { font-size:12px; font-weight:400; color:var(--estate-muted); }
.estate-panel-heading h3 span { margin-left:8px; }
.estate-panel-heading p { font-size:12px; color:var(--estate-muted); }
.estate-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px 30px; }
.estate-card { min-width:0; border-bottom:1px solid var(--estate-line); }
.estate-card > a { display:flex; flex-direction:column; height:100%; padding-bottom:22px; }
.estate-thumbnail { background:#f0f6f7; border:1px solid #e0e8ea; padding:11px; }
.estate-thumbnail img { width:100%; height:auto; aspect-ratio:1.414; object-fit:contain; transition:opacity .2s; }
.estate-thumbnail > span { display:flex; align-items:center; gap:9px; font-size:11px; letter-spacing:.06em; color:var(--estate-muted); padding-top:10px; }
.estate-card a:hover .estate-thumbnail img { opacity:.78; }
.estate-reference { display:flex; gap:15px; font-size:11px; color:var(--estate-muted); margin:19px 0 10px; flex-wrap:wrap; }
.estate-card h3 { font-size:16px; line-height:1.7; font-weight:700; overflow-wrap:anywhere; }
.estate-card-price { margin-top:10px; font-size:18px; font-weight:700; color:var(--estate-navy); }
.estate-card-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 12px; margin-top:10px; font-size:11px; line-height:1.7; }
.estate-card-facts div { min-width:0; }
.estate-card-facts dt { color:var(--estate-muted); }
.estate-card-facts dd { margin:0; overflow-wrap:anywhere; }
.estate-card-status { margin-top:10px; font-size:11px; color:var(--estate-muted); }
.estate-card-summary { font-size:13px; line-height:1.95; margin-top:15px; color:#637980; }
.estate-renovation-tag { font-size:10px; line-height:1.7; padding:4px 8px; background:var(--estate-navy); width:fit-content; color:#fff; margin:13px 0 0; }
.estate-card-more { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:12px; margin-top:auto; padding-top:25px; }
.estate-card a:hover .estate-card-more { color:var(--estate-navy); }
.estate-missing { padding:30px; background:#f3f7f8; margin-top:45px; }
.estate-missing h3 { font-size:16px; }
.estate-missing p { font-size:12px; color:var(--estate-muted); margin:8px 0 18px; }
.estate-missing a { display:flex; gap:15px; justify-content:space-between; border-top:1px solid var(--estate-line); padding:15px 0; font-size:13px; }
.estate-missing a small { display:block; margin-top:5px; font-size:11px; color:var(--estate-muted); }
.estate-missing svg { flex-shrink:0; }
.estate-note { font-size:11px; line-height:1.9; color:var(--estate-muted); }
.estate-inventory-note { margin-top:35px; }
.estate-support { padding:70px 0 80px; background:#f0f7f8; }
.estate-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; margin-top:40px; }
.estate-support-grid article { border-top:1px solid #c9dce0; padding-top:17px; }
.estate-support-grid article > span { font:12px Arial,sans-serif; color:var(--estate-navy); }
.estate-support-grid h3 { font-size:17px; margin:14px 0 12px; }
.estate-support-grid p { font-size:13px; line-height:2; color:var(--estate-muted); }
.estate-contact { padding:85px 0 95px; }
.estate-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.estate-contact h2 { margin-bottom:17px; }
.estate-contact p { font-size:13px; line-height:2; }
.estate-contact-options > p { color:var(--estate-muted); margin-bottom:20px; }
.estate-button { display:inline-flex; justify-content:space-between; align-items:center; gap:26px; background:var(--estate-navy); color:white; padding:18px 25px; font-size:13px; font-weight:700; border:1px solid var(--estate-navy); }
.estate-button:hover { background:#284560; }
.estate-contact-options > .estate-button { width:100%; }
.estate-outline { background:white; color:var(--estate-navy); }
.estate-outline:hover { background:#edf5f7; }
.estate-phone { display:block; border-bottom:1px solid var(--estate-line); padding:25px 0 20px; margin-bottom:15px; }
.estate-phone small { display:block; font-size:11px; color:var(--estate-muted); }
.estate-phone span { font:32px/1.6 Arial,sans-serif; letter-spacing:.03em; }
.estate-contact .estate-note { font-size:11px; }
.estate-mobile-contact { display:none; }
.estate-detail { padding:45px 0 75px; }
.estate-detail-heading { margin-bottom:42px; }
.estate-detail-heading .estate-reference { margin-top:0; }
.estate-detail h1 { font-family:'Yu Mincho','Hiragino Mincho ProN',serif; font-size:clamp(26px,3.1vw,42px); line-height:1.6; font-weight:500; overflow-wrap:anywhere; margin:0; }
.estate-detail-price { font-size:25px; color:var(--estate-navy); margin:15px 0 22px; }
.estate-detail-actions { display:flex; gap:14px; flex-wrap:wrap; }
.estate-detail-photo { max-width:650px; margin:0 0 40px; }
.estate-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:65px; align-items:start; }
.estate-detail-section { margin-bottom:48px; }
.estate-detail-section h2 { font-size:25px; margin-bottom:22px; }
.estate-description { white-space:pre-line; font-size:14px; line-height:2.1; margin-bottom:27px; }
.estate-facts { margin:0 0 15px; }
.estate-visuals { display:grid; grid-template-columns:minmax(0,1fr); gap:36px; margin:0 auto 48px; max-width:760px; }
.estate-visual { margin:0; min-width:0; }
.estate-visual > a { display:block; background:#fff; }
.estate-visual img { display:block; width:100%; height:auto; border:1px solid var(--estate-line); }
.estate-visual figcaption { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px 20px; padding-top:12px; font-size:13px; line-height:1.8; }
.estate-visual figcaption span { color:#193a43; }
.estate-visual figcaption a { color:var(--estate-navy); text-decoration:underline; text-underline-offset:4px; }
.estate-visual a:hover { opacity:.85; }
.estate-facts > div { display:grid; grid-template-columns:160px minmax(0,1fr); border-bottom:1px solid var(--estate-line); }
.estate-facts > div:first-child { border-top:1px solid var(--estate-line); }
.estate-facts dt,.estate-facts dd { padding:15px 18px; margin:0; font-size:13px; overflow-wrap:anywhere; }
.estate-facts dt { background:#f0f6f7; color:#4b646b; }
.estate-renovation { padding:27px; background:#f3f7f5; }
.estate-renovation p:last-child { font-size:12px; color:var(--estate-muted); }
.estate-renovation .estate-facts > div { grid-template-columns:150px minmax(0,1fr); }
.estate-renovation .estate-facts dt { background:transparent; }
.estate-conditions { padding:25px; border:1px solid #d2ddd8; }
.estate-conditions ul { padding-left:20px; font-size:13px; }
.estate-document { margin:25px 0; }
.estate-document img { width:100%; height:auto; border:1px solid var(--estate-line); }
.estate-document figcaption { text-align:right; margin-top:10px; }
.estate-empty p { font-size:14px; }
.estate-back { margin-top:32px; }
.estate-detail-aside { position:sticky; top:115px; border-top:2px solid var(--estate-navy); padding:23px 20px; background:#f2f7f8; }
.estate-detail-aside > p { font-size:13px; font-weight:700; }
.estate-detail-aside > a { display:flex; padding:18px 0; border-bottom:1px solid var(--estate-line); font-size:12px; }
.estate-detail-aside > span { display:block; font-size:11px; color:var(--estate-muted); padding-top:18px; }
.estate-selected { padding:22px; margin-top:25px; background:#f1f6f7; }
.estate-selected small,.estate-selected strong,.estate-selected label { display:block; }
.estate-selected small { font-size:11px; color:var(--estate-muted); }
.estate-selected strong { font-size:14px; margin:7px 0 17px; }
.estate-selected label { font-size:12px; margin-bottom:6px; }
.estate-selected select,.estate-selected textarea { width:100%; padding:12px; font:inherit; font-size:13px; border:1px solid #becfd4; background:white; color:#193a43; border-radius:0; }
.estate-selected textarea { margin-top:12px; min-height:125px; resize:vertical; line-height:1.7; }
.estate-copy { display:flex; align-items:center; gap:15px; border:0; background:transparent; padding:12px 0 0; font-size:12px; color:var(--estate-navy); font-weight:700; }
.estate-copy-status { font-size:11px !important; padding-top:8px; }
.estate-dialog { width:min(1060px,92vw); max-width:none; max-height:90dvh; padding:0; border:0; color:#193a43; background:white; overflow:auto; overscroll-behavior:contain; box-shadow:0 20px 90px #122b4340; }
.estate-dialog::backdrop { background:#132c3a70; backdrop-filter:blur(3px); }
.estate-dialog-toolbar { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; padding:15px 32px; border-bottom:1px solid var(--estate-line); background:white; }
.estate-dialog-toolbar > span { font-size:12px; color:var(--estate-muted); }
.estate-dialog-toolbar button { border:1px solid #cbdce0; padding:10px 18px; background:white; color:#193a43; font-size:13px; }
.estate-dialog-toolbar button:hover { background:#edf5f7; }
#property-dialog-content { padding:30px 38px 40px; }
.estate-property-content .estate-detail-heading { margin-bottom:25px; }
.estate-property-content .estate-detail-heading h2 { font-size:clamp(23px,2.8vw,34px); overflow-wrap:anywhere; }
.estate-property-content .estate-facts { margin-bottom:28px; }
.estate-property-content .estate-detail-section { margin-bottom:30px; }
.estate-property-content .estate-detail-section h3 { font-size:18px; font-weight:500; margin:0 0 15px; }
.estate-property-content .estate-detail-actions { margin-top:25px; }
.estate-property-content .estate-conditions { padding:20px 25px; background:#f6f9f8; }
.estate-property-content .estate-conditions ul { margin-bottom:0; }
.estate-standalone { max-width:950px; }
.estate-dialog .estate-reference { margin-top:0; }
@media(max-width:600px) {
  .estate-visuals { gap:28px; margin-bottom:32px; }
  .estate-visual figcaption { font-size:12px; padding-top:9px; }
  .estate-dialog { width:96vw; max-height:94dvh; }
  .estate-dialog-toolbar { padding:10px 17px; }
  #property-dialog-content { padding:20px 17px 27px; }
  .estate-dialog .estate-facts > div { grid-template-columns:100px minmax(0,1fr); }
  .estate-dialog .estate-facts dt,.estate-dialog .estate-facts dd { padding:12px 10px; }
  .estate-property-content .estate-conditions { padding:17px; }
}
@media(max-width:1100px) { .estate-hero { gap:35px; } .estate-desktop-break { display:none; } .estate-detail-layout { grid-template-columns:minmax(0,1fr) 220px; gap:30px; } }
@media(max-width:800px) {
  .estate-page { padding-bottom:60px; }
  .estate-page .container { width:88%; }
  .estate-breadcrumb { padding-top:100px; font-size:10px; }
  .estate-hero { grid-template-columns:1fr; gap:30px; padding:35px 0 55px; }
  .estate-hero h1 { font-size:35px; }
  .estate-hero-copy > p:not(.estate-kicker) { font-size:13px; }
  .estate-hero-copy .estate-intro { margin-top:18px; }
  .estate-hero figure { max-width:550px; }
  .estate-listings { padding:15px 0 55px; }
  .estate-listings-first { padding-top:35px; }
  .estate-listings-first h1 { font-size:27px; letter-spacing:.02em; }
  .estate-section-heading { margin-bottom:24px; }
  .estate-tabs { gap:0; }
  .estate-tabs a { min-width:0; flex:1; padding:17px 5px; font-size:12px; gap:6px; white-space:nowrap; }
  .estate-tabs a span { font-size:10px; }
  .estate-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; }
  .estate-card h3 { font-size:15px; }
  .estate-missing { padding:20px; }
  .estate-support { padding:50px 0; }
  .estate-support-grid { gap:25px; grid-template-columns:1fr; margin-top:25px; }
  .estate-support-grid h3 { margin:8px 0; }
  .estate-contact { padding:55px 0; }
  .estate-contact-grid { grid-template-columns:1fr; gap:28px; }
  .estate-mobile-contact { position:fixed; bottom:0; left:0; right:0; z-index:50; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); background:var(--estate-navy); color:white; padding-bottom:env(safe-area-inset-bottom); box-shadow:0 -1px 10px #1739430d; }
  .estate-mobile-contact a { display:flex; justify-content:center; align-items:center; gap:10px; font-size:12px; min-height:56px; padding:12px 5px; }
  .estate-mobile-contact a:last-child { background:#eef6f8; color:var(--estate-navy); }
  .estate-detail { padding:30px 0 50px; }
  .estate-detail-layout { grid-template-columns:1fr; }
  .estate-detail-aside { display:none; }
  .estate-detail-actions { gap:10px; }
  .estate-detail-actions .estate-button { padding:14px 17px; font-size:12px; }
  .estate-facts > div { grid-template-columns:115px minmax(0,1fr); }
  .estate-facts dt,.estate-facts dd { padding:13px 12px; font-size:12px; }
  .estate-renovation { padding:20px; }
  .estate-renovation .estate-facts > div { grid-template-columns:110px minmax(0,1fr); }
}
@media(max-width:540px) { .estate-grid { grid-template-columns:1fr; gap:35px; } .estate-thumbnail { padding:12px; } .estate-card h3 { font-size:17px; } .estate-card-summary { margin-top:12px; } .estate-tabs a { font-size:11px; } .estate-detail-actions { display:grid; } .estate-detail-actions .estate-button { width:100%; } }
@media(prefers-reduced-motion:reduce) { .estate-page *, .estate-page *::before,.estate-page *::after { scroll-behavior:auto !important; transition:none !important; } }

/* Shared navy accent from the general homepage contact section. */
.estate-contact { background:var(--estate-navy); color:#fff; }
.estate-contact .estate-kicker { color:#fff; }
.estate-contact-options > p,.estate-contact .estate-note,.estate-contact .estate-phone small { color:#d2dce5; }
.estate-contact .estate-phone { border-color:#92a3b4; }
.estate-contact-options > .estate-button { background:transparent; border-color:#92a3b4; color:#fff; }
.estate-contact-options > .estate-button:hover { background:#284560; border-color:#fff; }
.estate-contact .estate-selected { background:#fff; color:var(--estate-navy); }
.estate-contact a:focus-visible,.estate-contact button:focus-visible { outline-color:#fff; }
.estate-contact .estate-selected :focus-visible { outline-color:var(--estate-navy); }
.estate-hero-copy > p + p { margin-top:18px; }
.estate-support + .estate-listings { padding-top:75px; }
@media(max-width:800px) { .estate-support + .estate-listings { padding-top:48px; } }

/* Slow fade with a small lift; avoid abrupt movement while reading. */
.estate-page .estate-reveal { opacity:0; translate:0 16px; transition:opacity 1.5s cubic-bezier(.22,.55,.3,1) var(--estate-delay,0ms),translate 1.8s cubic-bezier(.22,.55,.3,1) var(--estate-delay,0ms); }
.estate-page .estate-reveal.estate-visible { opacity:1; translate:0 0; }
.estate-thumbnail img { transition:opacity .9s cubic-bezier(.22,.55,.3,1); }
@media(prefers-reduced-motion:reduce) {
 .estate-page .estate-reveal { opacity:1; translate:none; transition:none; }
 .estate-thumbnail img { transition:none; }
}
@media print { .estate-page .estate-reveal { opacity:1; translate:none; } }

.estate-risk-guide { margin:0 auto; padding:48px 0 32px; border-bottom:1px solid var(--estate-line); }
.estate-risk-guide h3 { margin:0 0 12px; font-size:18px; font-weight:500; line-height:1.8; }
.estate-risk-guide p { color:var(--estate-muted); font-size:16px; line-height:1.95; margin:0 0 18px; }
.estate-risk-link { display:inline-flex; align-items:center; color:#0000ee; font-size:14px; line-height:1.8; text-decoration:underline; text-decoration-color:currentColor; text-underline-offset:3px; }
@media(max-width:700px) { .estate-risk-guide { padding-block:32px; } .estate-risk-guide h3 { font-size:17px; } }

.estate-list-only { margin-top:32px; padding:24px; background:#f3f7fb; border:1px solid #d5e0ea; }
.estate-list-only h3 { margin:0 0 12px; font-size:20px; }
.estate-list-only p { margin:0 0 16px; line-height:1.8; }
.estate-list-only ul { list-style:none; padding:0; margin:0; }
.estate-list-only li { padding:16px 0; border-top:1px solid #d5e0ea; }
.estate-list-only li span { display:block; font-size:14px; color:#526578; margin-bottom:6px; }
.estate-list-only li strong { font-size:16px; line-height:1.8; overflow-wrap:anywhere; }

.estate-risk-guide p { color:#173943; font-weight:400; }

.estate-card h3 { text-decoration:underline; text-decoration-color:#000; text-underline-offset:5px; text-decoration-thickness:1px; }

@media(max-width:800px) {
 .estate-hero { display:flex; flex-direction:column; align-items:stretch; gap:20px; }
 .estate-hero-copy { display:contents; }
 .estate-hero-copy .estate-kicker { order:0; margin:0; }
 .estate-hero-copy h1 { order:1; margin:0; }
 .estate-hero > figure { order:2; margin:0; }
 .estate-hero > figure figcaption { display:none; }
 .estate-hero-copy > p:not(.estate-kicker) { order:3; margin:0; }
}
.estate-text-link { text-decoration:underline; text-decoration-color:#000; text-underline-offset:5px; text-decoration-thickness:1px; }
