*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; }
img { max-width: 100%; }
h1, h2, h3 { margin: 0; font-weight: 600; letter-spacing: -0.015em; }
p { margin: 0 0 14px; }
button { font: inherit; color: inherit; }
.hidden, [hidden] { display: none !important; }
.only-phone { display: none; }
.sep { color: var(--rule); margin: 0 2px; }
.ico { display: inline-flex; width: 24px; height: 24px; }
.ico svg, .save svg, .search__go svg, .search__ask svg, .sec__chev svg, .cur__chev svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.linkbtn { appearance: none; background: none; border: 0; padding: 0; color: var(--green); font-weight: 600; cursor: pointer; }
.linkbtn:hover { color: var(--text); }
.delta-cut { color: var(--delta-cut); }
.delta-rise { color: var(--delta-rise); }
.delta-caution { color: var(--delta-caution); }
.fx--bare { font: inherit; }
.mark { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 22.5%; background: var(--accent);
        color: var(--on-accent); font: 600 13px/1 var(--font); letter-spacing: -0.02em; flex: none; }
.mark--logo { background: none; object-fit: contain; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--text); font-size: 19px; font-weight: 600; white-space: nowrap; }
.brand:hover { color: var(--text); }
.nav { position: relative; z-index: 6; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 28px var(--page-pad-x) 12px; }
.bar__right { display: flex; align-items: center; gap: 28px; }
.nav__links { display: flex; gap: 32px; font-size: 17px; }
.nav__links a { color: var(--text-2); white-space: nowrap; }
.nav__links a:hover, .nav__links a[aria-current="page"] { color: var(--text); }
.savedn:empty { display: none; }
.appbar, .tabbar, .inset, .stickybar, .sheet, .threadbar { display: none; }
.cur { position: relative; display: inline-flex; align-items: center; }
.cur__now { appearance: none; height: 40px; padding: 0 34px 0 16px; border-radius: var(--r-pill); border: 1px solid var(--border); background: var(--surface);
            font: 600 15px/1 var(--font); color: var(--text); cursor: pointer; }
.cur__chev { position: absolute; right: 12px; width: 16px; height: 16px; pointer-events: none; color: var(--text-3); }
.cur__list { display: none; position: absolute; right: 0; top: calc(100% + 8px); background: var(--surface); border: 1px solid var(--border); border-radius: 18px;
             box-shadow: var(--shadow-dropdown); padding: 6px; z-index: 20; min-width: 110px; flex-direction: column; }
.cur.cur--open .cur__list { display: flex; }
.cur__list button { appearance: none; background: none; border: 0; padding: 10px 14px; text-align: left; border-radius: 12px; font: 500 15px/1 var(--font); cursor: pointer; color: var(--text-2); }
.cur__list button.on { color: var(--text); font-weight: 600; }
.cur__list button:hover { background: var(--surface-2); }
main { flex: 1 0 auto; padding: 24px var(--page-pad-x) 0; }
.col { max-width: var(--col-reading); margin: 0 auto; }
footer.foot { display: flex; justify-content: space-between; font-size: 15px; color: var(--text-3); padding: 40px var(--page-pad-x) 36px; margin-top: 72px; border-top: 1px solid var(--border); }
footer.foot a { color: var(--text-3); }
footer.foot .foot__r { display: flex; gap: 20px; flex-wrap: wrap; justify-content: flex-end; }
.legal h2 { font-size: 22px; margin: 32px 0 8px; }
.legal ul { padding-left: 1.2em; margin: 8px 0 16px; }
.legal li { margin: 6px 0; }
h1.page { font-size: 38px; line-height: 1.15; margin: 24px 0 10px; }
.lead { font-size: 19px; line-height: 1.6; color: var(--text-2); }
.proof { margin: 0 0 28px; }
.note { font-size: 15px; color: var(--text-2); margin: 6px 0 16px; }
.label { display: block; margin: 32px 0 10px; }
.prose p { font-size: 19px; line-height: 1.65; margin: 0 0 14px; }
.prose p.rule { font-size: 17px; color: var(--text-2); }
.provenance { margin: 32px 0 0; }
.watch { font-size: 17px; color: var(--text-2); margin: 14px 0 0; }
.guide-link { font-size: 17px; margin: 12px 0 0; }
.guide-link a, .asst__links a { color: var(--green); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.search { position: relative; display: flex; align-items: center; gap: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-pill);
          padding: 8px 8px 8px 28px; min-height: 72px; }
.search:focus-within { border: 2px solid var(--green); padding-left: 27px; }
.search input { font-size: 19px; }
.search__go { appearance: none; border: 0; border-radius: 50%; background: var(--accent); color: var(--on-accent); width: 56px; height: 56px; flex: none;
              display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 16px; }
.search__ask { appearance: none; border: 0; border-radius: var(--r-pill); background: var(--accent); color: var(--on-accent); height: 52px; padding: 0 22px; flex: none;
               display: inline-flex; align-items: center; gap: 10px; font: 600 17px/1 var(--font); cursor: pointer; }
.search__ask svg { width: 20px; height: 20px; }
.search--first { min-height: 104px; padding: 12px 12px 12px 44px; border: 0; box-shadow: var(--shadow-search); }
.search--first:focus-within { border: 2px solid var(--green); padding-left: 42px; }
.search--first input { font-size: 22px; }
.search--first .search__go { width: 80px; height: 80px; padding: 24px; }
.search__label { display: block; margin: 0 0 10px 8px; font-size: 16px; font-weight: 600; color: var(--text-2); text-align: left; }
.hero .search__label { color: #fff; text-shadow: 0 1px 10px rgba(var(--shade),0.55); }
.hero .ai-note { color: #fff; font-size: 13px; font-weight: 400; text-align: center; line-height: 1.4; margin: 12px auto 0; width: fit-content; max-width: 100%;
                 background: rgba(var(--shade),0.62); border-radius: 10px; padding: 4px 10px; }
.ai-note.ai-note--below { display: none; }
body.has-answer .hero .ai-note, body.has-answer .ai-note--below, body.has-answer .dock .ai-note { display: none !important; }
.dock .ai-note { white-space: normal; overflow: visible; text-align: center; font-size: 13px; margin: 6px 0 0; }
.ai-typed { display: none; }
body[data-chatv2="1"] .ai-typed { display: block; font-size: 13px; line-height: 1.4; text-align: center; color: var(--text-2); margin: 6px 0 0; }
body[data-chatv2="1"] .hero .ai-typed { color: #fff; width: fit-content; max-width: 100%; margin: 6px auto 0; background: rgba(var(--shade),0.62); border-radius: 10px; padding: 4px 10px; }
.hero .search__label { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 899px) { .hero .ai-note { font-size: 12px; margin: 10px 0 0; } }
.search--first { padding-left: 30px; }
.search--first:focus-within { padding-left: 28px; }
.search__icon { flex: none; display: inline-flex; width: 26px; height: 26px; color: var(--text-3); }
.search__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.search__field { position: relative; flex: 1; min-width: 0; display: flex; align-self: stretch; align-items: center; }
.search__field input { flex: 1; min-width: 0; height: 100%; }
.search__ph { position: absolute; inset: 0; display: flex; align-items: center; gap: 0.35em; pointer-events: none; white-space: nowrap; overflow: hidden; }
.search--first .search__ph { font-size: 22px; }
.search__ph-ask { flex: none; color: var(--text-2); }
.search__eg { min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--text-3); transition: opacity .3s; }
.search__field input:not(:placeholder-shown) + .search__ph { display: none; }
.chips { display: flex; flex-wrap: wrap; gap: 12px; }
.chip { appearance: none; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 20px; border-radius: var(--r-pill); background: var(--surface);
        border: 1px solid var(--border); color: var(--text); font: 500 16px/1.2 var(--font); cursor: pointer; white-space: nowrap; }
.chip::before { content: "›"; color: var(--text-3); font-weight: 600; }
.chip:hover { border-color: var(--green); }
.chips--page { margin: 18px 0 14px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: var(--r-pill);
       font: 600 17px/1 var(--font); cursor: pointer; text-align: center; }
.btn--primary { background: var(--accent); color: var(--on-accent); border: 0; }
.btn:focus, .search__go:focus, .search__ask:focus, .chip:focus, .bchip:focus { outline: none; }
.btn:focus-visible, .search__go:focus-visible, .search__ask:focus-visible, .chip:focus-visible, .bchip:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.btn--primary:hover { color: var(--on-accent); background: var(--accent-hover); }
.btn--outline { background: var(--surface); color: var(--green); border: 1.5px solid var(--green); }
.btn--outline:hover { color: var(--green); background: var(--ground); }
.pg--home main { padding: 0; }
.pg--home .col { max-width: none; }
.hero { position: relative; min-height: 700px; background: var(--text-2);
        display: flex; align-items: center; justify-content: center; padding: 96px var(--page-pad-x) 120px; overflow-x: clip; }
.hero.nophoto { background: var(--ink); }
.hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; }
.hero::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 120px; z-index: 1; background: linear-gradient(to bottom, var(--hero-scrim) 0%, transparent 100%); pointer-events: none; }
.hero__in { z-index: 2; }
.hero.nophoto::before { display: none; }
.hero__in { position: relative; width: 100%; max-width: var(--col-wide); text-align: center; color: #fff; isolation: isolate; }
.hero:not(.nophoto) .hero__in::before { content: ""; position: absolute; z-index: -1; left: 50%; top: 50%; width: min(1700px, 130%); height: calc(100% + 260px);
        transform: translate(-50%, -50%); background: radial-gradient(closest-side, var(--hero-scrim) 0%, var(--hero-scrim) 68%, transparent 100%); pointer-events: none; }
.hero__h { font-size: 72px; line-height: 1.05; letter-spacing: -0.035em; margin: 0 0 18px; }
.hero__hl { display: inline-block; text-wrap: balance; }
.hero__count { font-size: 26px; line-height: 1.4; font-weight: 500; margin: 0 0 40px; }
.hero__search { position: relative; text-align: left; }
.hero__sub { font-size: 26px; line-height: 1.35; font-weight: 500; margin: 0 0 10px; text-wrap: balance; }
.hero__gap { height: 26px; }
.chips--hero { justify-content: center; max-width: 1220px; margin: 0 auto; }
.chips--hero .chip { background: rgba(255,255,255,0.94); border-color: transparent; min-height: 52px; font-size: 17px; }
.hero__updated { font-size: 16px; margin: 18px 0 0; }
.chips--row, .closing, .value { display: none; }
.front { max-width: var(--col-wide); margin: 0 auto; padding: 0 var(--page-pad-x); }
.xwrap { position: relative; z-index: 2; max-width: 760px; margin: -118px auto 0; }
.xwrap:empty { margin: 0; }
.xcard { display: block; background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 22px 26px 18px; color: var(--text); box-shadow: var(--shadow-search); }
.xcard:hover { color: var(--text); border-color: var(--green); }
.xcard__label { font-size: 15px; color: var(--text-2); margin: 0 0 6px; }
.xcard__label strong { color: var(--text); font-weight: 600; }
.xcard__sentence { font-size: 19px; line-height: 1.5; margin: 0 0 14px; }
.xcard__pills { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.xpill { display: flex; flex-direction: column; align-items: center; gap: 2px; border: 1px solid var(--border); border-radius: 14px; padding: 10px 8px; background: var(--ground); }
.xpill__ag { font-size: 12px; font-weight: 500; color: var(--text-2); }
.xpill__p { font-size: 17px; font-weight: 600; }
.xpill__f { font-size: 13px; color: var(--text-2); font-variant-numeric: tabular-nums; text-align: center; }
.xcard__more { font-size: 15px; color: var(--text-2); margin: 8px 0 0; }
.xcard__foot { display: flex; justify-content: space-between; align-items: center; font-size: 15px; color: var(--text-2); margin: 14px 0 0; }
.xcard__see { color: var(--green); font-weight: 600; display: inline-flex; align-items: center; }
.xcard__see .ico { width: 18px; height: 18px; }
.earlier, .since { font-size: 16px; color: var(--text-2); margin: 24px 0 0; }
.earlier a, .since a { color: var(--green); }
.welcome { display: none; }
.areas { margin: 72px 0 0; }
.rowhead { display: flex; justify-content: space-between; align-items: baseline; }
.rowhead h2 { font-size: 30px; }
.rowhead a { font-weight: 600; }
.areas__sub { font-size: 19px; color: var(--text-2); margin: 8px 0 24px; }
.acards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.area-card { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-area); overflow: hidden; color: var(--text); }
.area-card:hover { color: var(--text); border-color: var(--green); }
.area-card__photo { display: block; width: 100%; height: auto; aspect-ratio: 290 / 206; object-fit: cover; background: var(--surface-2); }
.area-card__body { display: flex; flex-direction: column; padding: 16px 20px 18px; font-size: 17px; line-height: 1.4; }
.area-card__name { font-size: 22px; font-weight: 600; margin-bottom: 4px; }
.area-card__count, .area-card__label { color: var(--text-2); }
.area-card__value { font-weight: 600; }
.area-card__n { font-size: 15px; color: var(--text-2); margin-top: 6px; }
.credit { font-size: 13px; color: var(--text-3); margin: 14px 0 0; }
.dots { display: none; }
.weekrows { display: block; }
.week { margin: 48px 0 0; }
.week .rowhead { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.week .rowhead > a { white-space: nowrap; flex: none; }
.week h2 { font-size: 28px; margin: 0; }
.week__count { font-size: 16px; color: var(--text-2); margin: 6px 0 14px; }
.swipe { display: flex; overflow-x: auto; gap: 14px; padding-bottom: 6px; scrollbar-width: thin; }
.mini { flex: 0 0 232px; display: flex; flex-direction: column; gap: 3px; background: var(--surface); border: 1px solid var(--border); border-radius: 18px; padding: 16px;
        color: var(--text); font-size: 16px; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
.mini__area { font-weight: 600; font-size: 17px; }
.mini__what, .mini__line { color: var(--text-2); }
.mini__price .fx { font-weight: 600; color: var(--text); }
.mini--all { justify-content: center; align-items: center; flex-direction: row; font-weight: 600; color: var(--green); flex-basis: 150px; }
.mini--all .ico { width: 18px; height: 18px; }
.minis { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 14px; margin: 8px 0 24px; }
.lsummary { font-size: 19px; line-height: 1.6; color: var(--text-2); margin: 4px 0 18px; }
.lfilters { display: flex; flex-direction: column; gap: 10px; margin: 0 0 22px; }
.lfilter { display: flex; flex-wrap: wrap; gap: 8px; }
.lfilter .chip { min-height: 38px; padding: 0 14px; font-size: 15px; }
.chip--filter::before { display: none; }
.chip--on { background: var(--ink); color: #fff; border-color: var(--ink); }
.lsort { align-self: flex-start; }
.lwu { margin: 40px 0 0; }
.lwu__h { font-size: 28px; margin: 0 0 12px; }
.lwu__ask { font-size: 18px; margin: 0 0 18px; }
.lwu__choices { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lwu__choice { background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.lwu__choice h3 { margin: 0; font-size: 21px; }
.lwu__choice p { margin: 0; }
.lwu__choice .btn { align-self: flex-start; margin-top: 6px; }
.minis .mini { flex: none; }
.asking { font-size: 19px; line-height: 1.7; color: var(--text-2); margin: 56px 0 0; }
.drop { position: absolute; left: 0; right: 0; top: calc(100% + 10px); background: var(--surface); border-radius: 24px; box-shadow: var(--shadow-dropdown); padding: 18px 12px 12px; z-index: 10; color: var(--text); }
.drop__label { font-size: 13px; font-weight: 600; color: var(--text-3); margin: 0 12px 6px; display: flex; justify-content: space-between; }
.drop__label .linkbtn { font-size: 13px; }
.drop__list, .drop__rlist, .sheet__list { display: flex; flex-direction: column; }
.sheet__row, .drop__rlist button { appearance: none; background: none; border: 0; text-align: left; padding: 12px; border-radius: 14px; font: 400 17px/1.35 var(--font); color: var(--text); cursor: pointer; }
.sheet__row:hover, .drop__rlist button:hover, .sheet__row.on, .drop__rlist button.on { background: var(--surface-2); }
.drop__recent { margin-bottom: 12px; border-bottom: 1px solid var(--border); padding-bottom: 10px; }
#thread { max-width: var(--col-reading); margin: 0 auto; padding: 0 0 24px; }
.pg--home #thread { padding: 24px var(--page-pad-x) 24px; box-sizing: content-box; }
.answer { padding: 24px 0 40px; }
.answer + .answer { border-top: 1px solid var(--border); }
.answer .label { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 15px; background: var(--surface-2); font-size: 14px; font-weight: 600; color: var(--text-2); margin: 16px 0 12px; }
h1.question { font-size: 38px; line-height: 1.15; margin: 0 0 18px; }
.reask { font-size: 15px; color: var(--text-3); margin: -8px 0 14px; }
.answer__body { font-size: 17px; }
.skel { display: block; background: var(--surface-2); border-radius: 14px; margin: 0 0 12px; }
.skel--chips { height: 46px; width: 70%; border-radius: var(--r-pill); }
.skel--line { height: 18px; }
.skel--card { height: 220px; border-radius: var(--r-card); }
.loading__line { font-size: 17px; color: var(--text-2); margin: 4px 0 18px; }
.divider { display: flex; align-items: center; gap: 16px; margin: 36px 0 16px; font-size: 17px; font-weight: 600; color: var(--text); }
.divider span { white-space: normal; }
.divider::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--border); }
.cards { display: flex; flex-direction: column; gap: 20px; }
.progress { height: 2px; background: var(--border); position: relative; margin: 12px 0; border-radius: 2px; }
.progress::after { content: ""; position: absolute; left: 0; top: 0; height: 2px; width: 30%; background: var(--green); animation: prog 10s linear forwards; }
@keyframes prog { to { width: 100%; } }
.card--empty { border: 1px solid var(--border); border-radius: var(--r-card); min-height: 180px; }
.dock { position: sticky; bottom: 0; z-index: 5; background: var(--surface); border-top: 1px solid var(--border); box-shadow: 0 -6px 20px rgba(var(--shade),0.08);
        padding: 14px var(--page-pad-x); display: flex; flex-direction: column; gap: 12px; }
.dock .search, .dock .search:focus-within { border: 2px solid var(--green); padding-left: 27px; transition: box-shadow .35s ease; }
.dock--hello .search { box-shadow: 0 0 0 5px rgba(30,104,99,0.22); }
@media (prefers-reduced-motion: reduce) { .dock .search { transition: none; } }
.dock > * { width: 100%; max-width: var(--col-reading); margin: 0 auto; }
.dock .chips:empty { display: none; }
.dock .chip { min-height: 40px; font-size: 15px; }
.pageask { margin: 56px 0 0; padding-top: 24px; border-top: 1px solid var(--border); }
.pageask .chips { margin: 0 0 14px; }
.sortbar { position: relative; margin: 20px 0 6px; }
.sortpill { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px 0 18px; border-radius: var(--r-pill); border: 1px solid var(--border);
            background: var(--surface); font: 500 16px/1 var(--font); color: var(--text-2); cursor: pointer; appearance: none; position: relative; }
.sortpill b, .sortpill strong { color: var(--text); font-weight: 600; }
.sortpill .ico { width: 18px; height: 18px; color: var(--text-3); }
.sortpill select { appearance: none; border: 0; background: transparent; font: 600 16px/1 var(--font); color: var(--text); padding-right: 4px; cursor: pointer; outline: none; }
.sortpill select:focus { outline: none; box-shadow: none; }
.sortpill:has(select:focus-visible), .switch button:focus-visible, .lwu__menu a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--r-pill); }
.switch button:focus:not(:focus-visible), .chip:focus:not(:focus-visible) { outline: none; }
.sortbar__line { display: none; }
.sort { display: none; position: absolute; left: 0; top: calc(100% + 8px); z-index: 8; background: var(--surface); border: 1px solid var(--border); border-radius: 18px;
        box-shadow: var(--shadow-dropdown); padding: 6px; flex-direction: column; min-width: 260px; }
.sortbar.sortbar--open .sort { display: flex; }
.sort button { appearance: none; background: none; border: 0; padding: 12px 14px; text-align: left; border-radius: 12px; font: 500 16px/1.2 var(--font); color: var(--text-2); cursor: pointer; }
.sort button.on { color: var(--text); font-weight: 600; }
.sort button:hover { background: var(--surface-2); }
.sort .sep { display: none; }
.show-more { font-size: 16px; margin: 20px 0 0; color: var(--text-2); }
.show-more [data-show-more] { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: var(--r-pill); border: 1px solid var(--border); background: var(--surface); font-weight: 600; margin-right: 8px; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-card); padding: var(--card-pad); display: flex; flex-direction: column; gap: 0; position: relative; }
.card__grid { display: grid; grid-template-columns: 168px 1fr; gap: 28px; }
.card--paid .card__grid { grid-template-columns: 1fr; }
.card__body { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.maptile { width: 168px; height: 168px; border-radius: var(--r-map); overflow: hidden; background: var(--map-land); }
.maptile svg { width: 100%; height: 100%; display: block; }
.save { position: absolute; top: 18px; right: 18px; appearance: none; background: none; border: 0; width: 44px; height: 44px; padding: 10px; cursor: pointer; color: var(--text); }
.save[aria-pressed="true"] svg { fill: var(--text); }
.card__title { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; padding-right: 40px; }
.card__title a { color: var(--text); }
.card__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; }
.card a:not(.card__link), .card button, .card summary, .card input, .card .gallery { position: relative; z-index: 2; }
.card .save { position: absolute; z-index: 3; }
.card { transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease; }
@media (hover: hover) { .card:hover { border-color: var(--rule); box-shadow: 0 6px 18px rgba(var(--shade),0.08); transform: translateY(-1px); } }
.sitem { position: relative; }
.sitem__t::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; }
.sitem input, .sitem button, .sitem a:not(.sitem__t) { position: relative; z-index: 2; }
@media (hover: hover) { .sitem:hover { border-color: var(--rule); } }
.card__title a:hover { color: var(--green); }
.card__pricerow { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.card__price { font-size: 30px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.2; }
.card__idr { font-size: 15px; color: var(--text-2); }
.card__price--held { color: var(--text-2); font-size: 26px; }
.card__heldnote { font-size: 17px; color: var(--text-2); margin-top: 4px; }
.per-are { font-weight: 600; color: var(--text); margin-right: 8px; }
.spark { flex: 0 0 auto; max-width: 100%; }
.spark path, .spark polyline { stroke: var(--green); }
.spark__label { font-size: 13px; fill: var(--text-2); font-family: var(--font); }
.card__agencies { font-size: 18px; font-weight: 500; line-height: 1.55; }
.card__meta { font-size: 17px; line-height: 1.6; color: var(--text-2); }
.card__tertiary { font-size: 15px; color: var(--text-3); }
.card__median { font-size: 17px; color: var(--text-2); }
.card__held { font-size: 17px; }
.card__actions { font-size: 17px; }
.card__stack { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--border); }
.card__stack > div { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.card__stack .btn { width: 100%; max-width: 380px; }
.card__booknote { display: block; font-size: 16px; color: var(--text-2); }
.card__return { background: var(--return-well); border-radius: 16px; padding: 14px 18px; font-size: 17px; font-weight: 600; color: var(--text); margin: 0 0 4px; }
.card__return small { display: block; font-weight: 400; font-size: 14px; color: var(--text-2); margin-top: 2px; }
.flag { color: var(--delta-caution); font-size: 17px; }
.gallery { display: grid; grid-template-columns: 2fr 1fr; grid-auto-rows: 170px; gap: 10px; margin: 0 0 8px; }
.gallery img { width: 100%; height: 100%; object-fit: cover; border-radius: 18px; background: var(--surface-2); }
.gallery img:first-child { grid-row: span 2; }
.gallery img:nth-child(n+4) { display: none; }
.caption { font-size: 13px; color: var(--text-3); margin: 0 0 14px; }
.card__desc { background: var(--surface-2); border-radius: 16px; padding: 16px 18px; font-size: 17px; color: var(--text-2); }
.card__desc .logo { height: 28px; margin-right: 8px; vertical-align: middle; border-radius: 8px; }
.card__desc-head { font-size: 13px; font-weight: 600; color: var(--text-3); margin-bottom: 6px; }
.card__desc p { margin: 0; }
.sponsored { border: 1px dashed var(--border); border-radius: var(--r-card); padding: 14px 16px 6px; margin: 8px 0 28px; }
.sponsored__label { font-size: 13px; font-weight: 600; color: var(--text-3); margin-bottom: 10px; }
.brief { margin: 4px 0 18px; }
.brief__row { display: flex; flex-wrap: wrap; gap: 10px; }
.bchip { appearance: none; min-height: 46px; padding: 0 16px 0 18px; border-radius: var(--r-pill); background: var(--surface); border: 1px solid var(--border); color: var(--text);
         font: 500 16px/1 var(--font); display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; cursor: pointer; }
.bchip::after { content: ""; width: 8px; height: 8px; border-right: 1.6px solid var(--text-3); border-bottom: 1.6px solid var(--text-3); transform: rotate(45deg) translate(-2px, -2px); }
.bchip--default { color: var(--text-2); font-weight: 400; }
.bchip--open { border-color: var(--green); }
.bchip--open::after { transform: rotate(-135deg) translate(-2px, -2px); }
.bchip--fixed { cursor: default; }
.bchip--fixed::after { content: none; }
.brief__panel { margin-top: 10px; padding: 16px 20px 14px; background: var(--surface); border: 1px solid var(--border); border-radius: 20px; }
.brief__head { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; font-weight: 600; color: var(--text-3); }
.brief__head a { font-size: 15px; font-weight: 600; }
.brief__opts { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-top: 12px; }
.bopt { appearance: none; min-height: 40px; padding: 0 14px; border-radius: var(--r-pill); background: var(--surface); border: 1px solid var(--border); color: var(--text);
        font: 500 15px/1 var(--font); display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.bopt .n { font-size: 14px; color: var(--text-2); font-weight: 400; }
.bopt--current { border-color: var(--green); background: var(--surface-2); }
.brief__line { margin: 12px 0 0; font-size: 14px; color: var(--text-3); }
.tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 24px 0; clear: both; }
.tile { display: flex; flex-direction: column; gap: 4px; }
.tile__label { font-size: 15px; font-weight: 500; color: var(--text-3); }
.tile__value { font-size: 24px; font-weight: 600; }
.tile__sub { font-size: 14px; color: var(--text-2); }
.tile__sub--caution { color: var(--delta-caution); }
.section { margin: 56px 0 0; }
.section h2 { font-size: 30px; margin: 0 0 16px; }
.section p { font-size: 17px; line-height: 1.6; }
.table { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-card); padding: 6px 28px; }
.table__row { display: grid; grid-template-columns: 200px 200px 1fr 140px; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--border); align-items: center; font-size: 17px; }
.table__row:last-child { border-bottom: 0; }
.table__head { font-size: 13px; font-weight: 600; color: var(--text-3); }
.table__row .body.table { background: none; border: 0; padding: 0; font-weight: 600; }
.table__row .mono { font-weight: 600; }
.table__group { font-weight: 600; color: var(--text); }
.table--history .table__row { grid-template-columns: 160px 200px 1fr 1fr; }
.table--list .table__row { grid-template-columns: 1fr 200px 120px 160px 200px; }
.table__row a.out { text-align: right; font-weight: 600; }
.fresh { font-size: 15px; color: var(--text-3); }
.own { grid-column: 1 / -2; font-size: 15px; color: var(--text-3); margin-top: -6px; }
.wrong { font: inherit; font-size: 13px; color: var(--text-3); background: none; border: 1px solid var(--border); border-radius: var(--r-pill, 999px); padding: 0 8px; margin-left: 8px; cursor: pointer; vertical-align: middle; }
.wrong:hover, .wrong:focus-visible { color: var(--green); border-color: currentColor; }
.report { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-card, 16px); padding: 16px; margin: 12px 0 20px; }
.report__head { font-weight: 600; margin: 0 0 4px; }
.report__shown { font-size: 15px; color: var(--text-2); margin: 0 0 10px; }
.report label { display: block; margin: 8px 0; } .report label span { display: block; font-size: 15px; color: var(--text-2); margin-bottom: 4px; }
.report textarea, .report input[type=email] { width: 100%; font: inherit; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); }
.ai-note { font-size: 15px; color: var(--text-3); margin: 8px 0 0; }
.answer > .ai-note { margin: 16px 0 0; }
.dots__wrap { margin: 8px 0 16px; }
.dots { width: 100%; height: 44px; display: block; }
.dots__dot { fill: var(--green); opacity: .28; }
.dots__med { stroke: var(--ink); stroke-width: 2; }
.dots__this { fill: none; stroke: var(--accent); stroke-width: 2.5; }
.dots__line { font-size: 15px; color: var(--text-2); margin: 4px 0 0; }
.table--corrections .table__row { grid-template-columns: 140px 1fr 1fr 1fr; }
.table--licences .table__row { grid-template-columns: 1.4fr 1fr 1.2fr 70px; font-size: 15px; }
.fresh--unconfirmed { color: var(--delta-caution); }
.table__row .fresh { grid-column: 1 / -2; margin-top: -8px; }
.table__row--withdrawn { grid-template-columns: 1fr !important; }
.chart { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-card); padding: 20px 28px; }
.chart svg { width: 100%; height: auto; display: block; }
.chart .axis, .chart .series-label { font-family: var(--font); font-size: 13px; fill: var(--text-3); }
.chart .caption { font-size: 13px; color: var(--text-3); margin-top: 12px; line-height: 1.6; }
.scen { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.scen__card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-tile); padding: 18px 20px; }
.scen__t { font-weight: 600; margin-bottom: 6px; }
.scen__card p { color: var(--text-2); margin: 0; }
.banner { height: 320px; border-radius: 32px; background: var(--surface-2) center / cover no-repeat; margin: 8px 0 24px; }
.pagemap { float: right; margin: 0 0 12px 24px; }
.pagemap .maptile { width: 340px; height: 260px; }
.page__price { font-size: 36px; margin: 6px 0 12px; }
h1.page--area { font-size: 48px; line-height: 1.12; }
.save--bar { position: static; }
.savebtn[aria-pressed="true"] { background: var(--surface-2); }
.secs { margin: 8px 0 0; }
.secs__all { text-align: right; margin: 0 0 10px; }
details.sec { border-top: 1px solid var(--border); }
details.sec:last-of-type { border-bottom: 1px solid var(--border); }
details.sec > summary { list-style: none; display: grid; grid-template-columns: 36px 1fr 32px; gap: 0 4px; align-items: start; min-height: 72px; padding: 18px 0; cursor: pointer; }
details.sec > summary::-webkit-details-marker { display: none; }
.sec__n { font-size: 20px; font-weight: 600; color: var(--text-3); }
.sec__h { display: flex; flex-direction: column; gap: 4px; }
.sec__t { font-size: 20px; font-weight: 600; }
.sec__s { font-size: 16px; color: var(--text-2); }
.sec__chev { width: 22px; height: 22px; color: var(--text-3); margin-top: 4px; transition: transform .15s; }
details[open] > summary .sec__chev { transform: rotate(180deg); }
.sec__body { padding: 0 0 20px 40px; }
.sec__body p { font-size: 17px; line-height: 1.65; }
section.sec--open { margin: 36px 0 0; }
section.sec--open h2 { font-size: 20px; margin: 0 0 10px; }
section.sec--open h2 .sec__n { margin-right: 6px; }
.ptable { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-tile); padding: 4px 20px; margin: 0 0 14px; }
.ptable__row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.ptable__row:last-child { border-bottom: 0; }
.ptable__row span:last-child { font-weight: 600; text-align: right; }
.pageask__foot { font-size: 15px; color: var(--text-3); margin-top: 32px; }
.guide__links { font-size: 16px; }
.faq .group { margin: 36px 0 0; }
.faq details.entry { border-top: 1px solid var(--border); }
.faq details.entry > summary { list-style: none; display: grid; grid-template-columns: 40px 1fr 32px; gap: 8px; padding: 18px 0; cursor: pointer; }
.faq details.entry > summary::-webkit-details-marker { display: none; }
.faq .num { color: var(--text-2); font-weight: 600; }
.faq .q { font-weight: 600; font-size: 17px; }
.faq .a { padding: 0 0 4px 48px; }
.faq .close { font-size: 15px; color: var(--text-3); padding: 0 0 18px 48px; }
.nf { max-width: 760px; }
.nf h1.page { margin-top: 64px; }
.nf .chips { margin-top: 18px; }
.saved { display: flex; flex-direction: column; gap: 14px; }
.saved__empty { color: var(--text-2); }
.sitem { display: grid; grid-template-columns: 44px 104px 1fr; gap: 16px; align-items: start; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-tile); padding: 16px; }
.sitem input[type=checkbox] { width: 24px; height: 24px; margin: 10px; accent-color: var(--green); }
.sitem .maptile { width: 104px; height: 104px; }
.sitem__t { font-weight: 600; color: var(--text); }
.sitem__p { font-weight: 600; font-size: 20px; }
.sitem__f { font-size: 16px; color: var(--text-2); margin: 4px 0 0; }
.sitem__d { font-size: 14px; color: var(--text-3); margin-top: 6px; }
.sitem__rm { font-size: 15px; }
.savedbar { position: sticky; bottom: 0; background: var(--ground); padding: 16px 0; display: flex; align-items: center; gap: 16px; border-top: 1px solid var(--border); margin-top: 20px; }
.areasbar { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin: 0 0 6px; }
.switch { display: inline-flex; background: var(--surface-2); border-radius: var(--r-pill); padding: 4px; }
.switch button { appearance: none; border: 0; background: none; min-height: 40px; padding: 0 18px; border-radius: var(--r-pill); font-weight: 600; color: var(--text-2); cursor: pointer; }
.switch button.on { background: var(--surface); color: var(--text); box-shadow: 0 1px 3px rgba(var(--shade),0.12); }
.arows { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pg--areas .col { max-width: var(--col-wide); }
.arow { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-tile); padding: 14px; color: var(--text); gap: 10px; position: relative; }
.arow:hover { color: var(--text); border-color: var(--green); }
.arow .maptile { width: 100%; height: 140px; }
.arow__body { display: flex; flex-direction: column; font-size: 16px; }
.arow__name { font-weight: 600; font-size: 18px; }
.arow__count, .arow__fig { color: var(--text-2); }
.arow__fig .fx { color: var(--text); font-weight: 600; }
.arow__n { font-size: 14px; color: var(--text-3); }
.arow > .ico { display: none; }
.arow__villas, .arow__land { display: flex; flex-direction: column; }
.mailforms { margin: 32px 0 8px; display: flex; flex-direction: column; gap: 12px; }
details.mailform { border-top: 1px solid var(--border); padding-top: 12px; }
details.mailform summary { cursor: pointer; color: var(--text-2); font-size: 17px; list-style: none; min-height: 32px; }
details.mailform summary::-webkit-details-marker { display: none; }
details.mailform summary::after { content: " ⌄"; color: var(--text-3); }
details.mailform[open] summary { color: var(--text); }
.mailform__form { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: flex-end; margin-top: 12px; }
.mailform__field { display: flex; flex-direction: column; gap: 6px; font-size: 16px; color: var(--text-2); min-width: 220px; flex: 1 1 220px; }
.mailform__field--wide { flex-basis: 100%; }
.mailform__field input, .mailform__field textarea { background: var(--surface); border: 1px solid var(--border); color: var(--text); border-radius: 14px; min-height: 48px; padding: 8px 14px; font: inherit; font-size: 17px; }
.mailform__form .button { min-height: 48px; padding: 0 22px; border-radius: var(--r-pill); border: 1.5px solid var(--green); background: var(--surface); color: var(--green); font-weight: 600; cursor: pointer; }
.mailform__check { display: flex; gap: 8px; align-items: center; font-size: 16px; color: var(--text-2); flex-basis: 100%; }
.mailform__note, .mailform__msg { font-size: 16px; color: var(--text-2); flex-basis: 100%; margin: 0; }
.mailform__msg { margin-top: 10px; }
.mailform__paid { margin: 8px 0 0; font-size: 16px; }
.consent { color: var(--text-3); font-size: 15px; margin: 10px 0 0; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.agency-private { margin-top: 24px; }
.agency-private h3 { font-size: 17px; margin: 20px 0 8px; }
.table--private .table__row { grid-template-columns: minmax(180px, 2fr) repeat(auto-fit, minmax(80px, 1fr)); }
.share { margin: 24px 0 0; display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: baseline; font-size: 16px; }
.share__url { width: 100%; max-width: 560px; background: var(--surface); border: 1px solid var(--border); color: var(--text-2); border-radius: 12px; padding: 10px 12px; font-size: 14px; }
.button--quiet { background: var(--surface); border: 1px solid var(--border); color: var(--text); border-radius: var(--r-pill); padding: 8px 16px; }
.card--check { padding: var(--card-pad); margin: 20px 0; }
.card--check p { margin: 6px 0; }
.card__stack--page { margin: 20px 0; border-top: 0; padding-top: 0; }
.area-card__photo.nophoto, .banner.nophoto, .no-photos .credit { display: none; }
@media (min-width: 900px) and (max-width: 1240px) {
  :root { --page-pad-x: 32px; }
  .nav__links { gap: 20px; font-size: 16px; }
  .bar__right { gap: 16px; }
  .acards { grid-template-columns: repeat(3, 1fr); }
  .hero__h { font-size: 56px; }
  .hero__sub { font-size: 22px; }
}
@media (display-mode: standalone) { :root { --safe-top: max(env(safe-area-inset-top, 0px), 47px); } }
@media (max-width: 899px) {
  :root { --page-pad-x: var(--gutter-phone); }
  body { padding-bottom: calc(var(--tab-h) + var(--safe-bottom)); }
  .only-desk { display: none !important; }
  .only-phone { display: revert; }
  .inset { display: block; position: sticky; top: 0; z-index: 9; height: var(--safe-top); background: var(--ink); }
  .nav { display: none; }
  .appbar { display: flex; position: sticky; top: var(--safe-top); z-index: 8; align-items: center; gap: 4px; height: 56px; padding: 0 8px; background: var(--ground); border-bottom: 1px solid var(--border); }
  .appbar__back { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--text); }
  .appbar__back .ico { width: 24px; height: 24px; }
  .appbar__title { flex: 1; font-size: 17px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .appbar__action { display: inline-flex; }
  .pg--nf .appbar__back { display: none; }
  .tabbar { display: grid; position: fixed; left: 0; right: 0; bottom: 0; z-index: 12; grid-template-columns: repeat(5, 1fr); height: calc(var(--tab-h) + var(--safe-bottom));
            padding-bottom: var(--safe-bottom); background: var(--surface); border-top: 1px solid var(--border); }
  .tabbar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 44px; font-size: 12px; font-weight: 600; color: var(--text-3); }
  .tabbar a[aria-current="page"] { color: var(--text); }
  .tabbar .ico { width: 24px; height: 24px; }
  .tabbar__more { appearance: none; border: 0; background: none; font: inherit; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center;
                  gap: 2px; min-height: 44px; font-size: 12px; font-weight: 600; color: var(--text-3); }
  .tabbar__more[aria-current="page"], .tabbar__more[aria-expanded="true"] { color: var(--text); }
  .ico--dots svg { fill: currentColor; stroke: none; }
  .moresheet { position: fixed; inset: 0; z-index: 40; background: rgba(var(--shade),0.38); display: flex; align-items: flex-end; }
  .moresheet[hidden] { display: none; }
  .moresheet__panel { width: 100%; background: var(--surface); border-radius: 22px 22px 0 0; padding: 10px var(--gutter-phone) calc(16px + var(--safe-bottom));
                      box-shadow: 0 -6px 24px rgba(var(--shade),0.16); display: flex; flex-direction: column; }
  .moresheet__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; font-size: 18px; font-weight: 600; color: var(--text);
                    border-bottom: 1px solid var(--border); }
  .moresheet__row[aria-current="page"] { color: var(--green); }
  .moresheet__sub { font-size: 16px; font-weight: 400; color: var(--text-2); }
  .moresheet__close { appearance: none; margin-top: 12px; min-height: 52px; border: 1px solid var(--border); border-radius: var(--r-pill); background: var(--surface); font: 600 17px/1 var(--font); color: var(--text); cursor: pointer; }
  footer.foot { flex-direction: column; gap: 10px; font-size: 14px; margin-top: 40px; padding: 24px var(--gutter-phone) calc(96px + var(--safe-bottom, 0px)); }
  footer.foot .foot__r { justify-content: flex-start; gap: 16px; }
  main { padding: 8px var(--gutter-phone) 0; }
  h1.page { font-size: 28px; margin-top: 16px; }
  .lead, .prose p { font-size: 17px; }
  .search { min-height: 52px; padding: 4px 4px 4px 20px; }
  .search input { font-size: 17px; }
  .search__ask { height: 44px; width: 44px; padding: 0; justify-content: center; border-radius: 50%; }
  .search__ask span { display: none; }
  .search__go, .search--first .search__go { width: 44px; height: 44px; padding: 12px; }
  .search--first { min-height: 64px; padding: 6px 6px 6px 16px; gap: 10px; }
  .search--first:focus-within { padding-left: 15px; }
  .search__icon { width: 22px; height: 22px; }
  .search__ph { flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; line-height: 1.25; }
  .search__ph-ask { font-size: 17px; }
  .search__eg { max-width: 100%; font-size: 16px; }
  .search__label { margin: 0 0 8px 4px; }
  .sheet__field { flex: 1; min-width: 0; }
  .search--first input { font-size: 17px; }
  .chip { min-height: 44px; font-size: 15px; padding: 0 16px; }
  .chips--page, .dock .chips, .brief__row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--gutter-phone)); padding-right: var(--gutter-phone); }
  .bchip { min-height: 42px; font-size: 15px; }
  .pg--home .inset { display: none; }
  .pg--home .nav { display: flex; position: relative; padding: calc(var(--safe-top) + 10px) var(--gutter-phone) 10px; background: var(--ground); height: auto; align-items: center; border-bottom: 1px solid var(--border); }
  .pg--home .nav .brand { font-size: 19px; gap: 10px; }
  .pg--home .mark { width: 28px; height: 28px; font-size: 12px; }
  .pg--home .nav__links { display: none; }
  .pg--home .cur__now { height: 44px; }
  .hero { min-height: 0; height: 314px; padding: 0 0 8px; align-items: flex-end; overflow: visible; background-position: center; }
  .hero::before { display: none; }
  .hero:not(.nophoto)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; z-index: 1; pointer-events: none;
                              background: linear-gradient(to top, rgba(var(--shade),0.72) 0%, rgba(var(--shade),0.55) 45%, transparent 100%); }
  .hero:not(.nophoto) .hero__in::before { display: none; }
  .hero.nophoto { height: calc(128px + var(--safe-top)); }
  .hero__in { max-width: none; padding: 0 var(--gutter-phone); transform: none; }
  .hero__h, .hero__sub, .hero__count, .hero__gap, .chips--hero, .hero__updated { display: none; }
  .front { padding: 44px var(--gutter-phone) 0; }
  .value { display: block; font-size: 15px; color: var(--text-2); margin: 0 0 18px; }
  .welcome { display: block; position: relative; background: var(--return-well); border-radius: 20px; padding: 18px 18px 20px; margin: 0 0 18px; }
  .welcome[hidden] { display: none !important; }
  .welcome h2 { font-size: 20px; margin: 0 0 8px; }
  .welcome ul { margin: 0 0 16px; padding-left: 20px; font-size: 17px; line-height: 1.5; }
  .welcome li::marker { color: var(--text-3); }
  .welcome__close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; appearance: none; background: none; border: 0; padding: 10px; cursor: pointer; }
  .welcome__close .ico { width: 22px; height: 22px; }
  .xwrap { margin: 0 0 18px; max-width: none; }
  .xcard { box-shadow: none; padding: 16px 16px 14px; }
  .xcard__sentence { font-size: 17px; }
  .xpill__p { font-size: 16px; }
  .chips--row { display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 10px; margin: 0 calc(-1 * var(--gutter-phone)) 0 0; padding-right: var(--gutter-phone); }
  .areas { margin: 36px 0 0; }
  .rowhead h2 { font-size: 24px; }
  .acards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-top: 14px; margin-right: calc(-1 * var(--gutter-phone)); padding-right: var(--gutter-phone); scrollbar-width: none; }
  .area-card { flex: 0 0 318px; scroll-snap-align: start; }
  .credit { display: none; }
  .dots { display: flex; justify-content: center; gap: 6px; margin: 12px 0 0; }
  .dots span { width: 6px; height: 6px; border-radius: 3px; background: var(--rule); }
  .dots span.on { width: 18px; background: var(--text); }
  .week { margin: 36px 0 0; }
  .week h2 { font-size: 24px; }
  .week__count { margin: 4px 0 12px; }
  .swipe { gap: 12px; margin-right: calc(-1 * var(--gutter-phone)); padding-right: var(--gutter-phone); scrollbar-width: none; }
  .mini { flex: 0 0 200px; padding: 14px; }
  .mini--all { flex-basis: 140px; }
  .minis { grid-template-columns: 1fr 1fr; gap: 10px; }
  .lsummary { font-size: 17px; }
  .lfilter { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--gutter-phone)); padding-right: var(--gutter-phone); }
  .lrow { flex-wrap: wrap; gap: 4px 12px; font-size: 16px; }
  .lrow__what { flex-basis: 100%; }
  .lrow__tail { font-size: 15px; }
  .lwu__choices { grid-template-columns: 1fr; }
  .lwu__h { font-size: 24px; }
  .minis .mini { padding: 12px; }
  .asking { display: none; }
  .closing { display: block; font-size: 15px; color: var(--text-2); margin: 36px 0 24px; }
  .drop { display: none !important; }
  .stickybar { display: flex; position: fixed; left: 0; right: 0; top: 0; z-index: 11; padding: calc(var(--safe-top) + 10px) var(--gutter-phone) 12px; background: var(--ink);
               flex-direction: column; gap: 10px; transform: translateY(-110%); transition: transform .2s ease; box-shadow: 0 6px 16px rgba(var(--shade),0.18); }
  .is-scrolled .stickybar { transform: none; }
  .stickybar .brand { color: var(--on-ink); font-size: 17px; gap: 10px; }
  .stickybar .mark { width: 28px; height: 28px; font-size: 12px; }
  .stickybar__search { appearance: none; display: flex; align-items: center; justify-content: space-between; height: 52px; border: 0; border-radius: var(--r-pill); background: var(--surface);
                       padding: 4px 4px 4px 20px; color: var(--text-3); font-size: 16px; text-align: left; }
  .stickybar__search > span:first-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .stickybar__search .search__go { display: inline-flex; }
  .sheet { display: block; position: fixed; inset: 0; z-index: 30; background: var(--ground); padding: calc(var(--safe-top) + 10px) var(--gutter-phone) 24px; overflow-y: auto; }
  .sheet[hidden] { display: none !important; }
  .sheet__top { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; }
  .sheet__top .search { flex: 1; box-shadow: none; border: 1px solid var(--border); }
  .sheet__row { min-height: 52px; border-bottom: 1px solid var(--border); border-radius: 0; }
  .is-thread .first { display: none; }
  .is-thread.pg--home .nav { display: none; }
  .is-thread.pg--home .inset { display: block; }
  .is-thread .threadbar { display: flex; }
  .threadbar { display: none; position: sticky; top: var(--safe-top); z-index: 8; align-items: center; gap: 4px; height: 56px; padding: 0 8px; background: var(--ground); border-bottom: 1px solid var(--border); }
  .pg--home #thread { padding: 8px var(--gutter-phone) 16px; }
  .answer { padding: 8px 0 24px; scroll-margin-top: calc(var(--safe-top) + 64px); }
  .answer:not(.answer--collapsed) > .answer__head { display: none; }
  .dock { position: fixed; left: 0; right: 0; bottom: calc(var(--tab-h) + var(--safe-bottom)); padding: 10px var(--gutter-phone); z-index: 10; }
  .dock .search, .dock .search:focus-within { padding-left: 19px; }
  .dock .chips { display: none; }
  .is-thread main { padding-bottom: 90px; }
  .pageask { margin-top: 36px; }
  .card { border-radius: var(--r-card-phone); padding: var(--card-pad-phone); }
  .card__grid { grid-template-columns: 84px 1fr; gap: 14px; }
  .maptile { width: 84px; height: 84px; }
  .card__body { display: contents; }
  .card__grid > .maptile { grid-row: 1; }
  .card__grid > .card__body > * { grid-column: 1 / -1; }
  .card__grid > .card__body > .card__title { grid-column: 2; grid-row: 1; align-self: center; }
  .card--paid .card__grid > .card__body > .card__title { grid-column: 1 / -1; }
  .save { top: 12px; right: 8px; }
  .card__title { font-size: 17px; }
  .card__price { font-size: 24px; }
  .card__price--held { font-size: 22px; }
  .card__pricerow { flex-direction: column; gap: 6px; }
  .card__idr { font-size: 14px; }
  .card__agencies, .card__actions, .card__heldnote { font-size: 17px; }
  .card__meta, .card__median { font-size: 16px; }
  .card__stack .btn { max-width: none; }
  .gallery { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .gallery img:nth-child(n+2) { display: none; }
  .tiles { grid-template-columns: repeat(2, 1fr); }
  .table { padding: 4px 16px; }
  .table__row { grid-template-columns: 1fr 1fr !important; }
  .scen { grid-template-columns: 1fr; }
  .pagemap { float: none; margin: 0 0 14px; }
  .pagemap .maptile { width: 100%; height: 200px; }
  .banner { height: 180px; border-radius: 22px; }
  .page__price { font-size: 28px; }
  h1.page--area { font-size: 32px; }
  details.sec > summary { min-height: 64px; grid-template-columns: 30px 1fr 28px; }
  .sec__t { font-size: 17px; }
  .sec__s { font-size: 15px; }
  .sec__body { padding-left: 0; }
  .secs__all { display: none; }
  .faq .a, .faq .close { padding-left: 0; }
  .faq .close { font-size: 13px; }
  .arows { grid-template-columns: 1fr; gap: 10px; }
  .arow { flex-direction: row; align-items: center; padding: 10px; }
  .arow .maptile { width: 72px; height: 72px; flex: none; }
  .arow > .ico { display: inline-flex; width: 20px; height: 20px; color: var(--text-3); margin-left: auto; }
  .sitem { grid-template-columns: 44px 72px 1fr; padding: 12px; }
  .sitem .maptile { width: 72px; height: 72px; }
  .savedbar { position: fixed; left: 0; right: 0; bottom: calc(var(--tab-h) + var(--safe-bottom)); padding: 12px var(--gutter-phone); flex-direction: column; align-items: stretch; gap: 6px; z-index: 10; }
  .nf h1.page { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) { .stickybar { transition: none; } .progress::after { animation: none; width: 60%; } }
.maptile img, .banner--map img { width: 100%; height: 100%; object-fit: cover; display: block; }
.banner--map { overflow: hidden; background: var(--map-land); }
.banner__note { margin: -14px 0 20px; }
:root { --hover: color-mix(in srgb, var(--surface) 50%, var(--surface-2)); --press: var(--surface-2); }
.card:has(.card__link), .area-card, .arow, .chip, .sheet__row, .sitem, .mini, .tile--link,
.table--list .table__row:not(.table__head):not(.table__group) { transition: background-color .15s ease; -webkit-tap-highlight-color: transparent; }
.card:has(.card__link), .area-card, .arow, .chip, .sheet__row, .sitem, .mini, .tile--link,
.table--list .table__row:not(.table__head):not(.table__group) { cursor: pointer; }
.table--list .table__row:not(.table__head):not(.table__group) { position: relative; }
.table--list .table__row > a:first-child::after, .tile--link .tile__label a::after { content: ""; position: absolute; inset: 0; }
.tile--link { position: relative; }
@media (hover: hover) {
  .card:has(.card__link):hover, .area-card:hover, .arow:hover, .chip:hover, .sitem:hover, .mini:hover, .tile--link:hover,
  .table--list .table__row:not(.table__head):not(.table__group):hover { background-color: var(--hover); }
  .chips--hero .chip:hover { background-color: #FFFFFF; }
}
.card:has(.card__link):active, .area-card:active, .arow:active, .chip:active, .sheet__row:active, .sitem:active, .mini:active, .tile--link:active,
.table--list .table__row:not(.table__head):not(.table__group):active { background-color: var(--press); }
.hero:has(.hero__search .drop:not([hidden])) { z-index: 3; }
.arow .area-card__value { display: block; font-weight: 600; color: var(--text); }
.arow .area-card__n { display: block; font-size: 14px; color: var(--text-3); }
.area-card__value, .area-card__n { display: block; }
.maptile, .banner--map { background: var(--map-sea); }
.maptile--row img { object-fit: contain; }
.answer__head { cursor: default; }
.answer--collapsed { padding: 10px 0; }
.answer--collapsed .answer__head { display: flex; align-items: baseline; gap: 6px; min-width: 0; cursor: pointer; padding: 8px 10px; margin: 0 -10px; border-radius: 12px;
  transition: background-color .15s ease; -webkit-tap-highlight-color: transparent; }
@media (hover: hover) { .answer--collapsed .answer__head:hover { background-color: var(--hover); } }
.answer--collapsed .answer__head:active { background-color: var(--press); }
.answer--collapsed .label { display: inline; height: auto; padding: 0; margin: 0; background: none; font-size: 15px; font-weight: 600; color: var(--text-3); flex: none; }
.answer--collapsed .label::after { content: ":"; }
.answer--collapsed h1.question { font-size: 17px; line-height: 1.4; font-weight: 500; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.answer--collapsed .answer__body, .answer--collapsed .reask { display: none; }
.bopt--check { display: flex; align-items: center; gap: 10px; }
.bopt--check .tick { flex: none; width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid var(--rule); background: var(--surface); }
.bopt--on .tick { background: var(--green); border-color: var(--green); box-shadow: inset 0 0 0 3px var(--surface); }
.bopt--on { font-weight: 600; }
.contact { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; width: 100%; }
.contact .btn { width: 100%; max-width: 380px; }
.cmenu__panel { background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 6px 8px 10px; width: 100%; max-width: 440px; box-sizing: border-box; }
.cmenu__head { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px 4px; }
.cmenu__title { font-size: 15px; font-weight: 600; color: var(--text-3); }
.cmenu__close { appearance: none; background: none; border: 0; width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--text-2); }
.cmenu__close:hover { background: var(--surface-2); }
.cmenu__close svg { width: 18px; height: 18px; }
.cmenu__row { display: flex; align-items: center; gap: 12px; padding: 12px 10px; border-radius: 14px; color: var(--text); text-decoration: none; cursor: pointer; font: 400 17px/1.35 var(--font); }
.cmenu__row:hover { background: var(--surface-2); color: var(--text); }
.cmenu__row svg { width: 18px; height: 18px; color: var(--text-3); flex: none; margin-left: auto; }
.cmenu__text { display: flex; flex-direction: column; gap: 2px; }
.cmenu__text strong { font-weight: 600; }
.cmenu__text small { font-size: 15px; color: var(--text-2); }
.cmenu__qr { display: none; align-items: center; gap: 14px; padding: 4px 10px 12px; font-size: 15px; color: var(--text-2); }
.cmenu__qr img { width: 132px; height: 132px; flex: none; border-radius: 10px; background: #fff; border: 1px solid var(--border); }
.cmenu__form > summary { list-style: none; }
.cmenu__form > summary::-webkit-details-marker { display: none; }
.cmenu__chev { margin-left: auto; color: var(--text-3); }
.cmenu__form[open] .cmenu__chev { transform: rotate(180deg); display: inline-block; }
.enquiry { display: flex; flex-direction: column; gap: 10px; padding: 4px 10px 6px; }
.enquiry label { display: flex; flex-direction: column; gap: 4px; font-size: 15px; color: var(--text-2); }
.enquiry input, .enquiry textarea { font: 400 17px/1.4 var(--font); color: var(--text); background: var(--ground); border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; }
.enquiry input:focus-visible, .enquiry textarea:focus-visible { outline: 2px solid var(--green); outline-offset: 1px; }
.enquiry .btn { align-self: flex-start; min-height: 44px; padding: 0 22px; }
.enquiry .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.cmenu__villa { margin: 0; font-size: 15px; color: var(--text-3); }
.cmenu__done { margin: 0; font-size: 17px; color: var(--text); }
@media (min-width: 900px) { .cmenu__qr { display: flex; } }
.cmenu__by, .ccard__by { margin: 2px 10px 10px; font-size: 16px; color: var(--text-2); }
@media (max-width: 899px) {
  .cmenu { position: fixed; inset: 0; z-index: 60; background: rgba(var(--shade),0.45); display: flex; align-items: flex-end; }
  .cmenu[hidden] { display: none; }
  .cmenu__panel { max-width: none; border: 0; border-radius: 22px 22px 0 0; padding: 10px 12px calc(14px + env(safe-area-inset-bottom, 0px)); max-height: 86vh; overflow: auto; box-shadow: var(--shadow-dropdown); }
}
.paidlead { margin: 18px 0 8px; display: flex; flex-direction: column; gap: 12px; }
.gallery--page { grid-auto-rows: 200px; }
.gallery--page img:nth-child(n+4) { display: block; }
.gallery--page img:nth-child(n+7) { display: none; }
details.also > summary { grid-template-columns: 1fr 32px; }
.lwu__sum { font-size: 19px; line-height: 1.55; margin: 0 0 16px; }
.lwu__close { font-size: 17px; line-height: 1.6; color: var(--text-2); margin: 40px 0 0; padding-top: 20px; border-top: 1px solid var(--border); }
.crumbs { font-size: 15px; color: var(--text-3); margin: 8px 0 14px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.crumbs a { color: var(--text-2); }
.crumbs__sep { color: var(--text-3); }
.citable--half { margin-top: -6px; }
.section--tight { margin: 24px 0 0; }
.table--tenure .table__row { grid-template-columns: 110px 1fr 1fr 40px; }
.table--tenure .table__row small { font-weight: 400; color: var(--text-3); font-size: 14px; margin-left: 6px; }
.table--tenure .table__head { font-size: 14px; color: var(--text-3); font-weight: 600; }
.table--tenure .table__row--this { background: var(--surface-2); margin: 0 -28px; padding-left: 28px; padding-right: 28px; }
.area__faq h3 { font-size: 20px; margin: 18px 0 6px; }
.area__faq p { font-size: 17px; line-height: 1.6; margin: 0; }
.area__family { margin-top: 10px; }
@media (max-width: 899px) { .table--tenure .table__row { grid-template-columns: 80px 1fr 1fr 0; gap: 8px; } .table--tenure .table__row--this { margin: 0 -16px; padding-left: 16px; padding-right: 16px; } }
.table--areas .table__row { grid-template-columns: 1.4fr 0.7fr 1fr 1fr 1fr 1fr; gap: 10px; font-size: 16px; }
.table--areas .table__head { font-size: 14px; color: var(--text-3); font-weight: 600; }
.table--areas small { color: var(--text-3); font-size: 13px; }
.section__h { font-size: 24px; margin: 40px 0 12px; }
@media (max-width: 899px) {
  .table--areas { padding: 6px 16px; }
  .table--areas .table__row { display: block !important; padding: 12px 0; }
  .table--areas .table__row.table__head { display: none !important; }
  .table--areas .table__row > span { display: block; font-size: 16px; line-height: 1.5; }
  .table--areas .table__row > span[data-l]::before { content: attr(data-l) ": "; color: var(--text-3); }
}
.maptile--photo { position: relative; }
.maptile--photo .photo { display: block; width: 100%; height: 100%; position: relative; }
.maptile--photo .photo img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: inherit; }
.photo__credit { position: absolute; left: 8px; bottom: 8px; font-size: 13px; line-height: 1; padding: 6px 8px; border-radius: 10px; background: rgba(var(--shade),0.72); color: #FFFFFF; }
.also--card { margin-top: 12px; font-size: 16px; }
.also--card > summary { list-style: none; cursor: pointer; color: var(--green); font-weight: 600; }
.also--card > summary::-webkit-details-marker { display: none; }
.also__chev { display: inline-block; transition: transform .15s; }
.also--card[open] > summary .also__chev { transform: rotate(90deg); }
.also__list { margin-top: 8px; border-top: 1px solid var(--border); }
.also__row { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border); align-items: center; }
.also__row:last-child { border-bottom: 0; }
.paidlead { clear: both; }
.lbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 18px; }
.lcount { margin-left: auto; color: var(--text-2); font-size: 15px; }
.ltable { width: 100%; border-collapse: collapse; font-size: 17px; }
.ltable th { white-space: nowrap; }
.pp { display: block; }
.ccard { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.ccard__h { font-size: 22px; margin: 0; }
.ccard__price { font-size: 30px; font-weight: 600; line-height: 1.2; }
.ccard__ref, .ccard__note { font-size: 15px; color: var(--text-2); margin: 0; }
.ccard .btn { width: 100%; max-width: none; }
.ccard__wa svg { width: 20px; height: 20px; }
.ccard__form { margin: 0; }
.ccard__form > summary { list-style: none; cursor: pointer; color: var(--green); font-weight: 600; display: flex; align-items: center; gap: 8px; padding: 4px 0; }
.ccard__form > summary::-webkit-details-marker { display: none; }
.ccard__form > summary .cmenu__text small { display: none; }
.ccard__form > summary .cmenu__chev { margin-left: auto; color: var(--text-3); }
.ccard__qr { display: none; align-items: center; gap: 12px; margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 14px; color: var(--text-3); }
.ccard__qr img { width: 96px; height: 96px; flex: none; }
.quietlinks { display: flex; flex-wrap: wrap; gap: 18px; margin: 14px 4px 0; }
.quiet { appearance: none; background: none; border: 0; padding: 0; font: inherit; color: var(--green); font-weight: 600; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; text-decoration: none; }
.quiet svg { width: 18px; height: 18px; }
.quiet:hover { text-decoration: underline; }
.ppbar { display: none; }
@media (min-width: 1024px) {
  .pp { display: grid; grid-template-columns: 3fr 2fr; gap: 32px; align-items: start; }
  .pp__side { position: sticky; top: 88px; }
  .ccard__qr { display: flex; }
}
@media (max-width: 899px) {
  .ppbar { display: flex; position: fixed; left: 0; right: 0; bottom: calc(var(--tab-h) + var(--safe-bottom) + 72px); z-index: 9; align-items: center; justify-content: space-between; gap: 12px;
           padding: 8px var(--gutter-phone); background: var(--surface); border-top: 1px solid var(--border); box-shadow: 0 -6px 20px rgba(var(--shade),0.08); }
  .ppbar__price { font-size: 18px; font-weight: 600; }
  .ppbar__btn { min-height: 44px; padding: 0 18px; }
  body.pg--property main { padding-bottom: 72px; }
}
.table--areas .table__row { white-space: nowrap; }
.thsort { appearance: none; background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; text-align: left; }
.thsort.on { color: var(--text); }
.thsort small { font-weight: 400; color: var(--text-3); }
.thsort:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
.table--areas .cnt { color: var(--text-3); font-size: 13px; margin-left: 4px; }
.table--areas .cnt--few { font-size: 14px; }
.ltable th { text-align: left; font-size: 13px; font-weight: 600; color: var(--text-3); padding: 0 10px 10px 0; border-bottom: 1px solid var(--border); cursor: pointer; user-select: none; }
.ltable th.on { color: var(--green); }
.ltable th[aria-sort="ascending"]::after { content: " ▴"; } .ltable th[aria-sort="descending"]::after { content: " ▾"; }
.ltable th.num, .ltable td.num { text-align: right; }
.ltable td { padding: 12px 10px 12px 0; border-bottom: 1px solid var(--border); vertical-align: top; }
.ltable tbody tr { cursor: pointer; }
.ltable tbody tr:hover td { background: var(--surface); }
.larea { font-weight: 600; white-space: nowrap; width: 1%; } .larea a { color: var(--text); text-decoration: none; }
.lwhat { color: var(--text-2); }
.lprice { font-weight: 600; white-space: nowrap; } .lprice .fx { font-weight: 600; }
.lfourth { color: var(--text-2); white-space: nowrap; width: 1%; }
.lchev { width: 20px; } .lchev a { color: var(--text-3); font-size: 22px; line-height: 1; text-decoration: none; }
.lfilters { margin: 0 0 14px; }
@media (max-width: 899px) {
  .lbar { gap: 8px; } .lcount { flex-basis: 100%; margin-left: 0; }
  .ltable thead { display: none; }
  .ltable, .ltable tbody, .ltable tr { display: block; }
  .ltable tr { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 12px 26px 12px 0; border-bottom: 1px solid var(--border); }
  .ltable td { display: block; padding: 0; border: 0; }
  .larea { grid-column: 1; grid-row: 1; white-space: normal; } .lprice { grid-column: 2; grid-row: 1; text-align: right; }
  .lwhat { grid-column: 1; grid-row: 2; } .lfourth { grid-column: 2; grid-row: 2; text-align: right; font-size: 15px; white-space: nowrap; }
  .lchev { position: absolute; right: 2px; top: 50%; transform: translateY(-50%); }
}
.prose a, p a, .provenance a, .card__meta a, .note a, .lwu__sum a, .area__faq a, .lsummary a, .citable a, .guide__areas a, .lwu p a, .sec__body a { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
.cmenu__error { margin: 0; font-size: 16px; color: var(--alert); }
.cmenu__turnstile:empty { display: none; }
.lwu { scroll-margin-top: calc(var(--safe-top, 0px) + 96px); }
.lwu__menu { display: flex; gap: 8px; margin: 18px 0 8px; flex-wrap: nowrap; }
.lwu__menu a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: var(--r-pill); border: 1px solid var(--border); background: var(--surface); color: var(--text); font-weight: 600; text-decoration: none; white-space: nowrap; }
.lwu__menu a.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.lwu__menu a:focus:not(:focus-visible) { outline: none; }
.lwu__whyh { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); font-weight: 600; margin: 18px 0 8px; }
.lwu__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
.lwu__list li { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 16px 18px; font-size: 17px; line-height: 1.5; }
.lwu__list strong { display: block; margin-bottom: 2px; }
.lwu__ex { margin: 16px 0 0; font-size: 17px; }
.lwu__act { margin: 16px 0 0; display: flex; gap: 10px; flex-wrap: wrap; }
.lwu__claim summary { list-style: none; cursor: pointer; display: inline-flex; }
.lwu__claim summary::-webkit-details-marker { display: none; }
.lwu__claim .note { margin: 12px 0 6px; }
.lwu__agencies { columns: 2; margin: 0; padding-left: 20px; font-size: 17px; }
.lwu__detail { margin-top: 20px; }
.lwu__price, .lwu__check { margin: 18px 0 0; font-size: 17px; line-height: 1.6; color: var(--text-2); }
.lwu--faq .sec__body { padding-left: 0; }
.sec--faq summary { padding-left: 0; }
@media (prefers-reduced-motion: no-preference) { html:has(.lwu__menu) { scroll-behavior: smooth; } }
@media (max-width: 700px) {
  .lwu__menu a { padding: 0 13px; min-height: 40px; font-size: 15px; }
  .lwu__list { grid-template-columns: 1fr; }
  .lwu__agencies { columns: 1; }
}
.hask { display: none; }
@media (min-width: 900px) {
  :root { --nav-h: 98px; }
  body { padding-top: var(--nav-h); }
  .nav--r18 { position: fixed; top: 0; left: 0; right: 0; z-index: 20; box-sizing: border-box; height: var(--nav-h); padding-top: 0; padding-bottom: 0; background: var(--ground);
              border-bottom: 1px solid var(--border); box-shadow: 0 2px 12px rgba(var(--shade),0.06); }
  .hask { display: block; position: relative; flex: 1 1 auto; max-width: 520px; margin: 0 24px; }
  .hask__pill { appearance: none; width: 100%; height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 16px; border-radius: var(--r-pill); border: 1px solid var(--border);
                background: var(--surface); color: var(--text-3); font: 500 16px/1 var(--font); cursor: text; text-align: left; }
  .hask__pill:hover { border-color: var(--text-3); }
  .hask__pill:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .hask__icon svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; display: block; }
  .hask__ph { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .hask__panel { position: absolute; left: 0; right: 0; top: 52px; background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 14px; box-shadow: 0 14px 40px rgba(var(--shade),0.14); z-index: 21; }
  .hask__panel .search--hask { margin: 0; }
  .drop--hask { position: static; display: block; margin-top: 10px; box-shadow: none; border: 0; padding: 0; }
}
[id] { scroll-margin-top: calc(var(--safe-top, 0px) + 84px); }
.pg--property .col { max-width: 1280px; }
.pp__titlerow { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.pp__titlerow .page { margin-top: 0; flex: 1 1 auto; }
.pp__h1 { font-weight: 700; }
.pp__pricewrap { margin: 4px 0 18px; }
.pp__price { color: var(--accent); font-size: 40px; font-weight: 700; margin: 0; letter-spacing: -0.02em; }
.pp__ref { margin: 4px 0 0; font-size: 16px; color: var(--text-2); }
.ftiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0 0 14px; }
.ftile { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 14px 16px 12px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ftile__icon svg { width: 22px; height: 22px; stroke: var(--accent); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; display: block; margin-bottom: 6px; }
.ftile__value { font-size: 22px; font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; }
.ftile__value .wrong { margin-left: 6px; }
.ftile__label { font-size: 14px; color: var(--text-3); font-weight: 500; }
.ftile__sub { font-size: 13px; color: var(--text-2); margin-top: 4px; line-height: 1.35; }
.ftile__sub:empty { display: none; }
.ftile--caution .ftile__sub { color: var(--delta-caution); }
.pp__seen { margin: 0 0 10px; font-size: 15px; color: var(--text-2); }
.pp__seensub { color: var(--text-3); }
.pp__similar { margin: 6px 0 16px; font-size: 17px; font-weight: 600; }
.pp__fresh { margin-top: 10px; }
.pp__full { margin-top: 28px; }
.pagemap--wide { float: none; margin: 20px 0 0; }
.pagemap--wide .maptile--wide { width: 100%; aspect-ratio: 16 / 9; height: auto; border-radius: 16px; overflow: hidden; }
.pagemap--wide .maptile--wide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aphotos { margin: 24px 0 0; }
.aphotos__cap { margin: 0 0 10px; font-size: 15px; color: var(--text-2); font-weight: 600; }
.aphotos__strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.aphotos__item { margin: 0; }
.aphotos__item img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: 14px; display: block; background: var(--border); }
.aphotos__item figcaption { font-size: 12px; color: var(--text-3); margin-top: 4px; }
.pchart { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 28px; margin: 18px 0 14px; }
.pchart__eyebrow { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); font-weight: 600; margin: 0 0 10px; }
.pchart__lead { font-size: 22px; font-weight: 700; line-height: 1.3; margin: 0; }
.pchart__sub { font-size: 15px; color: var(--text-2); margin: 6px 0 18px; }
.pchart__wrap { position: relative; }
.pchart__svg { width: 100%; height: auto; display: block; }
.pchart__svg--phone { display: none; }
.pchart__svg .pbar { cursor: pointer; }
.pchart__svg .pbar:hover, .pchart__svg .pbar:focus-visible { opacity: .85; outline: none; }
.pchart__note { margin: 16px 0 0; padding: 12px 14px; background: var(--surface); border-radius: 10px; font-size: 14px; color: var(--text-2); line-height: 1.45; }
.pchart__source { margin: 12px 0 0; font-size: 12.5px; color: var(--text-3); }
.pchart__bin { margin: 12px 0 0; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--ground); }
.pchart__bintitle { margin: 0 0 6px; font-weight: 600; font-size: 15px; }
.pchart__bin ul { margin: 0; padding-left: 18px; font-size: 15px; }
.pchart__more { color: var(--text-3); list-style: none; margin-left: -18px; }
.pchart--few .pchart__lead { font-size: 19px; }
.cmpc { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 14px 18px 10px; margin: 4px 0 18px; }
.cmpc__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 2px 12px; margin: 0; min-height: 20px; }
.cmpc__eb { font-size: 12px; line-height: 17px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); font-weight: 600; margin: 0; }
.cmpc__legend { margin: 0; font-size: 13px; line-height: 17px; color: var(--text-3); display: flex; gap: 12px; }
.cmpc__key { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.cmpc__keydot { width: 10px; height: 10px; border-radius: 50%; background: var(--green); display: inline-block; }
.cmpc__keybar { width: 18px; height: 4px; border-radius: 2px; background: var(--chart-bar-soft); display: inline-block; }
.cmpc__rows { margin: 0; }
.cmpc__row { border-top: 1px solid var(--border); }
.cmpc__row:first-child { border-top: 0; }
.cmpc__row > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(96px, 180px) 1fr; column-gap: 14px; align-items: end; min-height: var(--touch, 44px); box-sizing: border-box; padding: 3px 0 4px; }
.cmpc__row > summary::-webkit-details-marker { display: none; }
.cmpc__row > summary:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; border-radius: 8px; }
.cmpc__name { display: flex; flex-direction: column; min-width: 0; }
.cmpc__area { font-size: 16px; font-weight: 600; line-height: 20px; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cmpc__more { font-size: 13px; line-height: 17px; color: var(--green); font-weight: 600; white-space: nowrap; }
.cmpc__more::after { content: " ›"; display: inline-block; transition: transform .15s; }
.cmpc__row[open] .cmpc__more::after { transform: rotate(90deg); }
.cmpc__plot { position: relative; display: block; height: 36px; }
.cmpc__fig { position: absolute; top: 0; font-size: 13px; line-height: 17px; color: var(--text-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.cmpc__fig b { color: var(--text); font-weight: 700; }
.cmpc__fig--c { transform: translateX(-50%); }
.cmpc__fig--l { transform: translateX(-6px); }
.cmpc__fig--r { transform: translateX(calc(-100% + 6px)); }
.cmpc__track { position: absolute; left: 0; right: 0; bottom: 3px; height: 12px; }
.cmpc__track::before { content: ""; position: absolute; left: 0; right: 0; top: 5.5px; height: 1px; background: var(--border); }
.cmpc__bar { position: absolute; top: 4px; height: 4px; border-radius: 2px; background: var(--chart-bar-soft); }
.cmpc__dot { position: absolute; top: 0; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 2px var(--surface); }
.cmpc__few { position: absolute; left: 0; bottom: 2px; font-size: 14px; line-height: 18px; color: var(--text-2); }
.cmpc__axis { display: grid; grid-template-columns: minmax(96px, 180px) 1fr; column-gap: 14px; border-top: 1px solid var(--border); padding-top: 3px; }
.cmpc__ticks { position: relative; height: 17px; font-size: 13px; line-height: 17px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.cmpc__tick { position: absolute; top: 0; transform: translateX(-6px); white-space: nowrap; }
.cmpc__tick--r { transform: translateX(calc(-100% + 6px)); }
.cmpc__panel.pchart { margin: 4px 0 12px; padding: 16px; background: var(--ground); }
.prose .cmpc__panel p.pchart__source { font-size: 14px; line-height: 1.45; margin: 10px 0 0; color: var(--text-3); }
.prose .cmpc__panel .pchart__bin p, .prose .cmpc__panel .pchart__bin ul { font-size: 15px; line-height: 1.5; }
@media (max-width: 700px) {
  .cmpc { padding: 10px 14px 5px; }
  .cmpc__head { min-height: 0; }
  .cmpc__eb { display: none; }
  .cmpc__axis { padding-top: 2px; }
  .cmpc__row > summary, .cmpc__axis { grid-template-columns: 88px 1fr; column-gap: 10px; }
  .cmpc__panel.pchart { padding: 12px; }
}
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.share-top { appearance: none; border: 1px solid var(--border); background: var(--surface); color: var(--text); border-radius: var(--r-pill); min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; gap: 8px; font: 600 15px/1 var(--font); cursor: pointer; flex: none; margin-top: 6px; }
.share-top svg, .share-wide svg, .quiet--share svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; }
.share-top:focus-visible, .share-wide:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.share-bottom { margin: 28px 0 0; }
.share-wide { width: 100%; max-width: none; display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.sharemenu { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 40; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 18px; min-width: 260px; box-shadow: 0 18px 50px rgba(var(--shade),0.2); display: flex; flex-direction: column; gap: 6px; }
.sharemenu__title { margin: 0 0 6px; font-weight: 700; }
.sharemenu__row { appearance: none; border: 1px solid var(--border); background: var(--ground); color: var(--text); border-radius: 12px; padding: 12px 14px; font: 600 16px/1 var(--font); text-align: left; cursor: pointer; text-decoration: none; }
.sharemenu__row:hover { border-color: var(--text-3); }
.sharemenu__close { align-self: flex-end; margin-top: 6px; }
@media (max-width: 1023px) {
  .ftiles { grid-template-columns: repeat(2, 1fr); }
  .pp__price { font-size: 34px; }
}
@media (max-width: 700px) {
  .pg--property .col { max-width: none; }
  .pchart { padding: 20px; }
  .pchart__lead { font-size: 19px; }
  .pchart__svg { display: none; }
  .pchart__svg--phone { display: block; }
  .aphotos__strip { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
  .aphotos__item { flex: 0 0 70vw; scroll-snap-align: start; }
  .pp__titlerow { flex-direction: column; gap: 8px; }
  .share-top { margin-top: 0; }
}
.proofrow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 26px 0 0; }
.prooftile { display: flex; flex-direction: column; gap: 4px; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 18px 20px; text-decoration: none; color: var(--text); }
.prooftile:hover { border-color: var(--text-3); }
.prooftile__n { font-size: 34px; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; line-height: 1.1; }
.prooftile__t { font-size: 16px; color: var(--text-2); line-height: 1.4; }
.photosline { margin: 14px 0 0; font-size: 15px; color: var(--text-2); line-height: 1.5; }
.photopanel { background: var(--ground); border: 1px solid var(--border); border-radius: 16px; padding: 18px 20px; margin: 0 0 14px; min-height: 112px; display: flex; flex-direction: column; justify-content: center; gap: 6px; }
.photopanel__links { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.photopanel__link { font-size: 19px; font-weight: 600; color: var(--green); text-decoration: none; }
.photopanel__link:hover { text-decoration: underline; }
.photopanel__sub { margin: 0; font-size: 14px; color: var(--text-3); }
.pp__photoline { margin: 10px 0 0; font-size: 16px; }
.pp__photoline .photopanel__link { font-size: 16px; }
@media (max-width: 700px) {
  .proofrow { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; padding: 0 0 8px; margin: 0 calc(-1 * var(--gutter-phone)) 0; padding-left: var(--gutter-phone); -webkit-overflow-scrolling: touch; }
  .prooftile { flex: 0 0 78%; scroll-snap-align: start; }
  .prooftile__n { font-size: 30px; }
  .photopanel { min-height: 0; }
}
.photosline__h { margin: 0 0 4px; font-size: 15px; font-weight: 700; color: var(--text); }
.photosline p { margin: 0; }
@media (min-width: 900px) and (max-width: 1199px) {
  .nav--r18 { gap: 10px; }
  .nav--r18 .hask { flex: 1 1 140px; min-width: 0; max-width: 300px; margin: 0 10px; }
  .nav--r18 .nav__links { gap: 18px; font-size: 16px; }
  .nav--r18 .bar__right { gap: 16px; }
}
.ltable tbody tr:active td { background: var(--border); }
@media (min-width: 900px) { html { scroll-padding-top: 84px; } }
.what { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 30px 0 0; }
.what__col { display: flex; flex-direction: column; gap: 4px; }
.what__icon svg { width: 26px; height: 26px; stroke: var(--accent); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; display: block; margin-bottom: 6px; }
.what__h { margin: 0; font-size: 19px; font-weight: 700; }
.what__t { margin: 0; font-size: 16px; color: var(--text-2); line-height: 1.5; }
@media (max-width: 700px) { .what { grid-template-columns: 1fr; gap: 18px; margin-top: 22px; } }
.pagemap--wide .maptile--wide { aspect-ratio: 3 / 1; max-height: 300px; }
.wrong--icon { width: 28px; height: 28px; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; margin-left: 6px; }
.wrong--icon svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; }
.ftiles__source { margin: -6px 0 12px; font-size: 14px; color: var(--text-2); }
.area-card__map { aspect-ratio: 290 / 206; overflow: hidden; }
.area-card__map img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 700px) { .pagemap--wide .maptile--wide { aspect-ratio: auto; height: 200px; max-height: 200px; } }
.ltable th { padding: 0; }
.thsort { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 10px; border-radius: 8px; color: var(--text); font-weight: 400; }
.thsort::after { content: "\2195"; color: var(--text-3); font-size: 14px; }
.thsort.on { color: var(--accent); font-weight: 600; }
.thsort.on::after { content: "\2193"; color: var(--accent); }
.thsort.on.asc::after { content: "\2191"; }
.thsort:hover { background: var(--surface); }
.thsort:hover::after { color: var(--text); }
.thsort:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.thsort:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--r-pill); }
.sorthint { text-align: right; font-size: 14px; color: var(--text-3); margin: 0 0 6px; }
.sortsel { display: none; }
@media (max-width: 700px) { .sorthint { display: none; } .sortsel { display: flex; margin: 0 0 10px; } }
.switch button:focus:not(:focus-visible), .sortpill select:focus:not(:focus-visible) { outline: none; box-shadow: none; }
details.sec > summary { display: flex; align-items: flex-start; gap: 12px; }
details.sec > summary .sec__n { flex: 0 0 24px; }
details.sec > summary .sec__h { flex: 1 1 auto; min-width: 0; }
details.sec > summary .sec__chev { flex: 0 0 auto; margin-left: auto; }
details.mailform summary { display: flex; align-items: flex-start; gap: 12px; }
details.mailform summary::after { flex: 0 0 auto; margin-left: auto; }
.lwu__exnote { display: block; color: var(--text-3); font-size: 14px; margin-top: 4px; }
.dev__by { margin: -6px 0 14px; font-size: 18px; color: var(--text-2); }
.dev__by a { color: var(--green); }
.dev__photos { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; margin: 0 0 8px; }
.dev__ph { appearance: none; border: 0; padding: 0; background: var(--border); border-radius: 14px; overflow: hidden; cursor: zoom-in; display: block; }
.dev__ph picture, .dev__ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dev__ph--cover { grid-row: 1 / span 2; aspect-ratio: 3 / 2; }
.dev__ph:not(.dev__ph--cover) { aspect-ratio: 4 / 3; }
.dev__photos--narrow { grid-template-columns: repeat(3, 1fr); grid-template-rows: auto; }
.dev__photos--narrow .dev__ph--cover { grid-row: auto; grid-column: 1 / span 2; aspect-ratio: 3 / 2; max-width: 840px; }
.dev__more { margin: 4px 0 0; }
.dev__desc { margin: 20px 0 0; }
.dev__desc .caption { margin-top: 6px; }
.dev__paidnote { font-size: 13px; color: var(--text-3); margin: 10px 4px 0; }
.gallery--page img { cursor: zoom-in; }
.glry { position: fixed; inset: 0; z-index: 60; background: rgba(var(--shade),0.96); display: flex; align-items: center; justify-content: center; }
.glry__item { margin: 0; max-width: 92vw; max-height: 92vh; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.glry__item img { max-width: 92vw; max-height: 82vh; width: auto; height: auto; border-radius: 8px; }
.glry__item figcaption { color: #fff; font-size: 15px; opacity: .85; }
.glry__close, .glry__prev, .glry__next { position: absolute; appearance: none; border: 0; background: rgba(255,255,255,0.12); color: #fff; width: 48px; height: 48px; border-radius: 50%; font-size: 28px; cursor: pointer; }
.glry__close { top: 16px; right: 16px; }
.glry__prev { left: 16px; top: 50%; transform: translateY(-50%); }
.glry__next { right: 16px; top: 50%; transform: translateY(-50%); }
.glry__close:focus-visible, .glry__prev:focus-visible, .glry__next:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 700px) {
  .dev__photos { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; }
  .dev__ph { flex: 0 0 82vw; scroll-snap-align: start; aspect-ratio: 3 / 2 !important; }
}
details.entry > summary { display: flex; align-items: flex-start; gap: 12px; }
details.entry > summary .num { flex: 0 0 auto; }
details.entry > summary .q { flex: 1 1 auto; min-width: 0; }
details.entry > summary .sec__chev { flex: 0 0 auto; margin-left: auto; }
@media (min-width: 900px) {
  .hask--box .hask__form { margin: 0; height: 44px; display: flex; align-items: center; gap: 8px; padding: 0 6px 0 14px; border-radius: var(--r-pill); border: 1px solid var(--border); background: var(--surface); box-shadow: none; }
  .hask--box .hask__form:focus-within { border-color: var(--text-3); }
  .hask--box .search__icon svg { width: 18px; height: 18px; stroke: var(--text-3); fill: none; stroke-width: 1.8; }
  .hask__input { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; font: 500 16px/1 var(--font); color: var(--text); outline: none; }
  .hask__input::placeholder { color: var(--text-3); }
  .hask__go { width: 32px; height: 32px; border-radius: 50%; }
  .hask__drop { position: absolute; left: 0; right: 0; top: 50px; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 12px 14px; box-shadow: 0 14px 40px rgba(var(--shade),0.14); z-index: 21; }
}
.btn--small { min-height: 36px; padding: 0 14px; font-size: 15px; }
.show-more__rest { color: var(--text-3); font-size: 15px; margin-left: 10px; }
.sortpill:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.sortpill:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--r-pill); }
.card--compact { padding: 14px 16px; gap: 0; }
.ccard20 { display: grid; grid-template-columns: 96px 1fr; gap: 14px; align-items: start; }
.ccard20 .maptile--thumb { width: 96px; height: 96px; border-radius: 12px; overflow: hidden; }
.ccard20 .maptile--thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.card--paid .ccard20 { grid-template-columns: 1fr; }
.ccard20__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ccard20__row { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.ccard20__row .card__title { flex: 1 1 240px; font-size: 18px; padding-right: 0; margin: 0; }
.ccard20__row .card__price { font-size: 20px; font-weight: 700; white-space: nowrap; }
.save--mini, .card .save.save--mini { position: static; width: 32px; height: 32px; margin-left: auto; flex: 0 0 32px; z-index: auto; }
.ccard20__facts { margin: 0; font-size: 15px; color: var(--text-2); line-height: 1.45; }
.card--compact .card__agencies { font-size: 15px; font-weight: 500; line-height: 1.45; }
.ccard20__cmp { margin: 0; font-size: 15px; color: var(--text-2); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.chip--cut { background: #E8F3F0; color: var(--green); border-color: transparent; font-size: 13px; min-height: 26px; padding: 0 10px; }
.chip--rise { background: #F7ECEF; color: var(--delta-rise); border-color: transparent; font-size: 13px; min-height: 26px; padding: 0 10px; }
.ccard20__desc { margin: 2px 0 0; font-size: 15px; color: var(--text-2); }
.ccard20__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 6px; }
.ccard20__actions .contact { margin: 0; }
.ccard20__actions .contact__btn, .ccard20__actions .btn { min-height: 36px; padding: 0 14px; font-size: 15px; width: auto; max-width: none; }
.ccard20__actions .card__booknote, .ccard20__actions .cmenu__note { display: none; }
.ccard20__fresh { margin: 2px 0 0; font-size: 13px; color: var(--text-3); }
@media (max-width: 700px) {
  .ccard20 { grid-template-columns: 72px 1fr; gap: 10px; }
  .ccard20 .maptile--thumb { width: 72px; height: 72px; }
  .ccard20__row .card__price { font-size: 18px; }
}
.kchart { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 24px 28px; margin: 18px 0; }
.kchart__eb { font-size: 11.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); font-weight: 600; margin: 0 0 8px; }
.kchart__lead { font-size: 19px; font-weight: 700; line-height: 1.3; margin: 0; }
.kchart__sub { font-size: 14px; color: var(--text-2); margin: 4px 0 16px; }
.kchart__svg { width: 100%; height: auto; display: block; }
.kchart__svg--phone { display: none; }
@media (max-width: 700px) {
  .kchart__svg:not(.kchart__svg--phone):not(.kchart__svg--both) { display: none; }
  .kchart__svg--phone { display: block; }
}
.kchart__svg .kbar { cursor: pointer; }
.kchart__svg .kbar:hover { opacity: .85; }
.kchart__foot { font-size: 12px; color: var(--text-3); margin: 12px 0 0; }
.kchart--few .kchart__lead { font-size: 17px; }
.kseg { display: inline-flex; flex-wrap: wrap; row-gap: 2px; max-width: 100%; background: var(--surface-2); border-radius: 22px; padding: 4px; margin: 0 0 14px; }
.kseg button { appearance: none; border: 0; background: none; padding: 7px 14px; border-radius: 18px; font: 500 13.5px/1 var(--font); color: var(--text); cursor: pointer; }
.kseg button.on { background: #fff; font-weight: 600; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.kseg button:focus:not(:focus-visible) { outline: none; }
.kseg button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 18px; }
.kswitch > [data-kpane][hidden] { display: none; }
.banner--map { max-height: 320px; }
.banner--map img { width: 100%; height: 100%; object-fit: cover; max-height: 320px; }
.cchips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.cchips .chip { padding-right: 8px; }
.cchips .chip button { appearance: none; border: 0; background: none; font: inherit; color: var(--text-3); cursor: pointer; margin-left: 6px; }
.cchips .chip--add { border-style: dashed; color: var(--green); }
.cadd { position: relative; }
.cadd__list { position: absolute; z-index: 5; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 6px; max-height: 240px; overflow: auto; min-width: 220px; box-shadow: 0 10px 30px rgba(var(--shade),0.14); }
.cadd__list button { display: block; width: 100%; text-align: left; appearance: none; border: 0; background: none; padding: 8px 10px; font: inherit; border-radius: 8px; cursor: pointer; }
.cadd__list button:hover { background: var(--ground); }
@media (max-width: 700px) { .kchart { padding: 18px; } .kchart__lead { font-size: 17px; } }
.v2__label { display: inline-block; font-size: 12.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--text-3); background: var(--ground); border: 1px solid var(--border); border-radius: 999px; padding: 4px 10px; margin: 0 0 10px; }
.v2__text { font-size: 18px; line-height: 1.6; margin: 0 0 12px; white-space: pre-wrap; }
.v2__wait { color: var(--text-2); }
.v2__cursor { display: inline-block; width: 2px; height: 1em; background: var(--accent); vertical-align: -2px; margin-left: 2px; animation: v2blink 1s steps(2) infinite; }
@keyframes v2blink { 50% { opacity: 0; } }
.chips--v2 { margin-top: 12px; }
.pp__lease { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; margin: -8px 0 16px; font-size: 17px; color: var(--text-2); }
.pp__lease strong { color: var(--text); font-size: 19px; }
.pp__lease--none strong { color: var(--text); }
.pp__src { margin-left: auto; font-size: 14px; color: var(--text-3); }
.pp__landhead { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 4px 0 8px; }
.pp__leasebox { flex: none; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 12px 18px; text-align: center; }
.pp__leasebig { font-size: 30px; font-weight: 700; line-height: 1.1; color: var(--text); font-variant-numeric: tabular-nums; }
.pp__ppy { font-size: 15px; font-weight: 600; color: var(--accent); margin-top: 4px; }
.pp__ppy--none { color: var(--text-2); font-weight: 500; }
.pp__ext { display: flex; flex-wrap: wrap; gap: 4px 6px; margin: 0 0 16px; font-size: 16px; color: var(--text-2); }
.ftiles__source .wrong-any { font-size: 14px; color: var(--green); text-decoration: underline; padding: 0; }
.report__pick select { width: 100%; min-height: 40px; font: inherit; border: 1px solid var(--border); border-radius: 10px; padding: 0 10px; background: var(--surface); }
@media (max-width: 699px) {
  .pp__landhead { flex-direction: column; }
  .pp__leasebox { align-self: stretch; text-align: left; }
  .pp__src { margin-left: 0; flex-basis: 100%; }
}
.card--c22 { padding: 14px 16px; }
.c22 { display: grid; grid-template-columns: 96px 1fr auto; gap: 16px; align-items: start; }
.c22__thumb { width: 96px; height: 112px; border-radius: 12px; overflow: hidden; position: relative; }
.c22__thumb .maptile--thumb { width: 96px; height: 112px; border-radius: 12px; }
.c22__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.card--paid .c22 { grid-template-columns: 200px 1fr auto; }
.card--paid .c22__thumb { width: 200px; height: 120px; }
.c22__credit { position: absolute; left: 6px; bottom: 6px; font-size: 11px; color: #fff; background: rgba(var(--shade),0.55); border-radius: 6px; padding: 1px 6px; }
.c22__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.c22__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 17px; font-weight: 600; line-height: 1.3; }
.c22__title .card__link { color: var(--text); }
.c22__chip { font-size: 13px; min-height: 0; padding: 2px 8px; }
.c22__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.c22__price .card__price { font-size: 20px; font-weight: 700; color: var(--text); margin: 0; }
.c22__conv { font-size: 14px; color: var(--text-2); }
.c22__whole { display: block; }
.c22__facts { margin: 0; font-size: 15px; color: var(--text-2); line-height: 1.45; }
.c22__facts strong { color: var(--text); }
.c22__nolease { color: var(--text); font-weight: 600; text-decoration: underline dashed; text-underline-offset: 3px; }
.c22__cmp { margin: 0; font-size: 14px; color: var(--text-2); }
.c22__side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; min-width: 150px; }
.c22__side .contact { margin: 0; }
.c22__side .contact__btn, .c22__side .btn { min-height: 36px; padding: 0 16px; font-size: 15px; width: auto; max-width: none; white-space: nowrap; }
.c22__side .card__booknote, .c22__side .cmenu__note { display: none; }
.c22__details { font-size: 15px; color: var(--green); text-decoration: underline; }
@media (max-width: 699px) {
  .c22, .card--paid .c22 { grid-template-columns: 72px 1fr; gap: 10px; }
  .c22__thumb, .c22__thumb .maptile--thumb { width: 72px; height: 88px; }
  .card--paid .c22__thumb { width: 72px; height: 88px; }
  .c22__side { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: flex-end; min-width: 0; }
  .c22__side .save { margin-right: auto; }
  .c22__price .card__price { font-size: 18px; }
}
.chatbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9; background: var(--surface); border-top: 1px solid var(--border); box-shadow: 0 -6px 20px rgba(var(--shade),0.08); padding: 8px var(--page-pad-x) 10px; }
.chatbar__in { max-width: var(--col-reading); margin: 0 auto; display: flex; flex-direction: column; gap: 6px; }
.chatbar__chips { display: flex; gap: 8px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.chatbar__chips::-webkit-scrollbar { display: none; }
.chatbar__chip { flex: none; min-height: 34px; font-size: 14px; padding: 0 14px; white-space: nowrap; }
.chatbar__form { display: flex; align-items: center; gap: 8px; border: 2px solid var(--green); border-radius: var(--r-pill, 999px); padding: 3px 4px 3px 18px; background: var(--surface); }
.chatbar__form input { flex: 1; min-width: 0; border: 0; outline: none; font: inherit; font-size: 16px; background: transparent; height: 38px; }
.chatbar__go { flex: none; height: 36px; padding: 0 16px; border: 0; border-radius: var(--r-pill, 999px); background: var(--green); color: #fff; font: 600 15px/1 var(--font); cursor: pointer; }
.chatbar__book { flex: none; min-height: 36px; padding: 0 14px; font-size: 15px; display: none; }
body.has-chatbar { padding-bottom: var(--chatbar-h, 96px); }
body.has-chatbar footer, body.has-chatbar .foot { margin-bottom: 0; }
.askblock { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 16px 18px; margin: 4px 0 18px; }
.askblock__h { font-size: 19px; margin: 0 0 10px; }
.askblock__form { margin: 0 0 8px; }
.askblock__rows { display: flex; flex-direction: column; }
.askblock__row { appearance: none; background: none; border: 0; border-top: 1px solid var(--border); text-align: left; padding: 11px 2px; font: inherit; font-size: 16px; color: var(--green); cursor: pointer; display: flex; justify-content: space-between; }
.askblock__row:hover { color: var(--text); }
@media (max-width: 899px) {
  .chatbar { bottom: calc(var(--tab-h, 64px) + var(--safe-bottom, 0px)); padding: 8px var(--gutter-phone); }
  .chatbar__book { display: inline-flex; align-items: center; }
  body.has-chatbar { padding-bottom: calc(var(--chatbar-h, 96px) + var(--tab-h, 64px)); }
  body.has-chatbar .ppbar { display: none !important; }
}
.c22__agencies { margin: 0; font-size: 14px; color: var(--text-2); }
.c22__agencies .sep { color: var(--text-3); }
.c22__date { margin: 0; font-size: 13px; color: var(--text-3); }
.c22__photos { font-size: 14px; white-space: nowrap; }
.ahero { position: relative; margin: 0 calc(-1 * var(--page-pad-x)) 24px; padding: 72px var(--page-pad-x) 48px; background: var(--ink) center / cover no-repeat; color: #fff; border-radius: 0; }
.ahero--photo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(var(--shade),0.72) 0%, rgba(var(--shade),0.35) 60%, rgba(var(--shade),0.15) 100%); }
.ahero__in { position: relative; max-width: var(--col-wide); margin: 0 auto; }
.ahero__label { font-size: 14px; font-weight: 600; letter-spacing: 0.02em; color: rgba(255,255,255,0.88); }
.ahero__h { color: #fff; margin: 6px 0 10px; }
.ahero__nums { margin: 0; font-size: 19px; font-weight: 500; color: #fff; }
.ahero__nums .fx { color: #fff; }
.ahero__map { max-width: 560px; margin: 28px 0; }
.ahero__map .maptile--page { height: 240px; border-radius: 16px; overflow: hidden; }
@media (max-width: 699px) {
  .ahero { padding: 40px var(--gutter-phone) 28px; margin: 0 calc(-1 * var(--gutter-phone)) 18px; }
  .ahero__nums { font-size: 16px; }
}
.mailpage { max-width: var(--col-reading); margin: 48px auto 64px; }
.mailpage__h { margin: 0 0 12px; }
.mailpage__line { font-size: 18px; color: var(--text-2); margin: 0 0 24px; }
.mailpage__links { display: flex; flex-wrap: wrap; gap: 10px; }
.mailpage__undo { margin: 0 0 20px; }
.dock { padding: 10px var(--page-pad-x); gap: 8px; }
.dock .chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.dock .chips::-webkit-scrollbar { display: none; }
.dock .chip { min-height: 34px; font-size: 14px; flex: none; white-space: nowrap; }
@media (max-width: 899px) { .dock .chips { display: flex; } }
body.has-chatbar { padding-bottom: var(--chatbar-h, 160px); }
@media (max-width: 899px) { body.has-chatbar { padding-bottom: var(--chatbar-h, 170px); } }
.chatbar__chips { max-height: 64px; transition: max-height .18s ease, opacity .18s ease; }
.chatbar--folded .chatbar__chips { max-height: 0; opacity: 0; overflow: hidden; pointer-events: none; }
.chatbar--folded .chatbar__in { gap: 0; }
.c22 { grid-template-columns: 96px minmax(0, 1fr) 200px; }
.card--paid .c22 { grid-template-columns: 200px minmax(0, 1fr) 200px; }
.c22__side { width: 200px; min-width: 0; align-items: stretch; }
.c22__side .save { align-self: flex-end; }
.c22__side .contact, .c22__side .contact__btn { width: 100%; }
.c22__side .contact__btn { justify-content: center; text-align: center; }
.c22__details, .c22__photos { align-self: flex-start; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.c22__body, .c22__title, .c22__facts, .c22__cmp, .c22__agencies { overflow-wrap: anywhere; }
.c22__thumb img { background: var(--map-land); }
@media (max-width: 699px) {
  .c22, .card--paid .c22 { grid-template-columns: 72px minmax(0, 1fr); }
  .c22__side { grid-column: 1 / -1; width: auto; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 10px 18px; }
  .c22__side .contact { order: 1; flex: 1 0 100%; }
  .c22__side .contact__btn { width: 100%; min-height: 44px; }
  .c22__side .c22__details { order: 2; }
  .c22__side .c22__photos { order: 3; flex: 0 1 auto; min-width: 0; }
  .c22__side .save { order: 4; margin: 0 0 0 auto; align-self: center; }
}
.ahero { margin: 0 0 16px; padding: 36px 32px 28px; border-radius: 20px; overflow: hidden; }
.ahero__in { max-width: none; }
.ahero__h { margin: 6px 0 8px; }
.ahero__nums { font-size: 18px; }
.ahero__answer { margin: 8px 0 0; font-size: 16px; color: rgba(255,255,255,0.92); max-width: 60ch; }
.ahero__answer .fx { color: #fff; }
@media (max-width: 699px) { .ahero { padding: 28px 18px 22px; border-radius: 16px; } }
.cgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 12px; }
@media (max-width: 699px) { .cgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
.ctile { appearance: none; display: flex; flex-direction: column; gap: 4px; min-width: 0; text-align: left; font: inherit; color: var(--text);
         background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 12px 14px 10px; cursor: pointer; text-decoration: none; }
.ctile:hover, .ctile:focus-visible { border-color: var(--green); }
.ctile__t { font-size: 14px; font-weight: 600; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ctile__fig { font-size: 22px; font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ctile__fig small { font-size: 14px; font-weight: 500; color: var(--text-2); }
.ctile__mini { display: block; width: 100%; height: 84px; margin: 4px 0 2px; }
.ctile__src { font-size: 13px; color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ctile--map .maptile { width: 100%; height: 112px; border-radius: 10px; }
@media (max-width: 699px) { .ctile { padding: 10px 11px 8px; } .ctile__fig { font-size: 19px; } .ctile__mini { height: 64px; } .ctile--map .maptile { height: 86px; } }
.cgrid__more { margin: 0 0 22px; font-size: 16px; }
dialog.chartmodal { border: 0; padding: 0; border-radius: 18px; width: min(860px, calc(100vw - 48px)); max-height: calc(100vh - 48px); background: var(--surface); color: var(--text); box-shadow: 0 18px 60px rgba(var(--shade),0.35); }
dialog.chartmodal::backdrop { background: rgba(var(--shade),0.55); }
.chartmodal__head { position: sticky; top: 0; z-index: 1; display: flex; justify-content: flex-end; padding: 8px 10px 0; background: var(--surface); }
.chartmodal__close { appearance: none; border: 1px solid var(--border); background: var(--surface); border-radius: var(--r-pill); min-height: 40px; padding: 0 16px; font: 600 15px/1 var(--font); color: var(--text); cursor: pointer; }
.chartmodal__body { padding: 0 20px 22px; }
.chartmodal__body .kchart, .chartmodal__body .pchart, .chartmodal__body .kcard { border: 0; box-shadow: none; margin: 0; padding-left: 0; padding-right: 0; }
html.modal-open { overflow: hidden; }
@media (max-width: 699px) { dialog.chartmodal { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; } }
.c22list__all { margin: 28px 0 0; }
.c22list__all > summary { list-style: none; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 20px; border: 1px solid var(--border);
                          border-radius: var(--r-pill); background: var(--surface); color: var(--green); font: 600 16px/1.2 var(--font); cursor: pointer; }
.c22list__all > summary::-webkit-details-marker { display: none; }
.c22list__all > summary::marker { content: ""; }
.c22list__all > summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .15s; }
.c22list__all[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.c22list__all > .table { margin-top: 14px; }
.area__about { margin-top: 28px; }
.ctile__ticks { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--text-3); white-space: nowrap; overflow: hidden; }
.ahero__proof { display: block; margin-top: 4px; font-size: 14px; color: rgba(255,255,255,0.85); }
.ctile__mini { border: 0; padding: 0; background: none; border-radius: 0; box-shadow: none; }
.ahero { padding: 26px 28px 22px; }
.ahero__h { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.1; margin: 4px 0 6px; }
.ahero__nums { font-size: 17px; }
.ahero__answer { font-size: 15px; line-height: 1.45; margin-top: 6px; }
.ahero__proof { font-size: 13px; }
@media (max-width: 699px) { .ahero { padding: 22px 16px 18px; } .ahero__h { font-size: 27px; } .ahero__nums { font-size: 16px; } }
.ahero__answer { font-size: 16px; margin-top: 4px; }
.ctile { gap: 2px; padding: 10px 13px 9px; }
.ctile__mini { height: 58px; margin: 6px 0 2px; }
.ctile--map .maptile { height: 78px; margin: 6px 0 2px; }
@media (max-width: 699px) { .ctile__mini { height: 52px; } .ctile--map .maptile { height: 70px; } }
.ahero__proof { display: inline; }
.ahero__meta { display: block; margin-top: 4px; font-size: 13px; color: rgba(255,255,255,0.85); }
.ahero__meta .fx { color: rgba(255,255,255,0.92); }
.ahero { padding: 20px 28px 18px; }
.ahero__h { font-size: clamp(28px, 3vw, 36px); }
.crumbs { margin: 4px 0 10px; }
@media (max-width: 699px) {
  .ctile__fig { white-space: normal; }
  .ctile__fig small { display: block; font-size: 13px; }
  .ctile__src { white-space: normal; line-height: 1.3; }
}
.c22 { grid-template-columns: 96px minmax(0, 1fr) 220px; }
.card--paid .c22 { grid-template-columns: 200px minmax(0, 1fr) 220px; }
.c22__side { width: 220px; }
.c22__details, .c22__photos { display: block; }
@media (max-width: 699px) {
  .c22, .card--paid .c22 { grid-template-columns: 72px minmax(0, 1fr); }
  .c22__side { width: auto; }
  .c22__details, .c22__photos { display: inline-block; }
}
.pp__lease { display: block; }
.pp__lease .pp__src { display: block; }
@media (max-width: 899px) { .proofrow { scroll-padding-left: var(--gutter-phone); } }
.cgrid__more { margin: 0 0 4px; }
.section:has(> .c22list) { margin-top: 8px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; }
.section:has(> .c22list) > * { grid-column: 1 / -1; }
.section:has(> .c22list) > .list__count { grid-column: 1; margin: 0; }
.section:has(> .c22list) > .sortbar { grid-column: 2; margin: 0; }
.section:has(> .c22list) > .note { margin: 4px 0 10px; }
.ahero24 { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: var(--ink);
           width: calc(100vw - var(--sbw, 0px) - var(--dock, 0px)); margin: -24px 0 0 calc(50% - (100vw - var(--sbw, 0px) - var(--dock, 0px)) / 2); padding: 30px 0 128px; }
.ahero24__bg { position: absolute; inset: 0; z-index: -2; }
.ahero24__bg img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ahero24::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
                  background: linear-gradient(to bottom, rgba(var(--shade),0.62) 0%, rgba(var(--shade),0.30) 42%, rgba(var(--shade),0.30) 62%, rgba(var(--shade),0.58) 100%); }
.ahero24--map { background: #26332f; }
.ahero24--map .ahero24__bg img { filter: saturate(0.55) brightness(0.62) contrast(1.05); }
.ahero24__in { max-width: calc(var(--col-reading) + 2 * var(--page-pad-x)); margin: 0 auto; padding: 0 var(--page-pad-x); }
.ahero24 .crumbs { margin: 0 0 22px; color: rgba(255,255,255,0.8); }
.ahero24 .crumbs a, .ahero24 .crumbs [aria-current], .ahero24 .crumbs__sep { color: #fff; }
.ahero24 .crumbs a { text-decoration: underline; text-decoration-color: rgba(255,255,255,0.45); text-underline-offset: 3px; }
.ahero24__label { display: block; font-size: 15px; font-weight: 600; color: rgba(255,255,255,0.88); text-shadow: 0 1px 10px rgba(var(--shade),0.5); }
.ahero24__h { margin: 6px 0 14px; color: #fff; font-size: clamp(34px, 3.8vw, 54px); line-height: 1.06; font-weight: 700; letter-spacing: -0.01em; text-shadow: 0 2px 24px rgba(var(--shade),0.45); }
.ahero24__answer { margin: 0 0 10px; max-width: 48ch; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.42; color: #fff; text-shadow: 0 1px 14px rgba(var(--shade),0.5); }
.ahero24__stats { margin: 0; font-size: clamp(15px, 1.15vw, 17px); color: rgba(255,255,255,0.92); text-shadow: 0 1px 12px rgba(var(--shade),0.5); }
.ahero24 .fx { color: inherit; }
.cgrid--over { position: relative; z-index: 2; margin-top: -92px; }
.cgrid--over .ctile { box-shadow: 0 10px 30px rgba(var(--shade),0.18); }
@media (max-width: 699px) {
  .ahero24 { padding: 16px 0 70px; }
  .ahero24 .crumbs { margin-bottom: 14px; }
  .ahero24__h { font-size: 31px; margin-bottom: 10px; }
  .ahero24__answer { font-size: 17px; }
  .ahero24__stats { font-size: 15px; }
  .cgrid--over { margin-top: -46px; }
}
html:has(.ahero24) { overflow-x: clip; }
.ahero24::after { background: linear-gradient(to bottom, rgba(var(--shade),0.66) 0%, rgba(var(--shade),0.40) 40%, rgba(var(--shade),0.40) 62%, rgba(var(--shade),0.60) 100%); }
.swipewrap { position: relative; }
.swipewrap .swipe { scroll-snap-type: x proximity; scroll-behavior: smooth; }
.swipewrap .mini { scroll-snap-align: start; }
.swipewrap.has-more .swipe { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 72px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 72px), transparent); }
.swipewrap.has-back.has-more .swipe { -webkit-mask-image: linear-gradient(to right, transparent, #000 56px, #000 calc(100% - 72px), transparent); mask-image: linear-gradient(to right, transparent, #000 56px, #000 calc(100% - 72px), transparent); }
.swipewrap.has-back:not(.has-more) .swipe { -webkit-mask-image: linear-gradient(to right, transparent, #000 56px); mask-image: linear-gradient(to right, transparent, #000 56px); }
.swipe__arrow { position: absolute; top: 50%; z-index: 2; width: 44px; height: 44px; margin-top: -25px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface);
                box-shadow: 0 4px 14px rgba(var(--shade),0.14); color: var(--text); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.swipe__arrow .ico { width: 20px; height: 20px; }
.swipe__arrow--prev { left: -14px; } .swipe__arrow--prev .ico { transform: scaleX(-1); }
.swipe__arrow--next { right: -14px; }
.swipe__arrow[hidden] { display: none; }
@media (hover: none), (max-width: 899px) { .swipe__arrow { display: none !important; } }
.mini--24 .mini__fact { color: var(--text); font-weight: 600; }
.mini__price--line { white-space: nowrap; font-size: 18px; }
.mini__price--line .fx { font-weight: 700; }
.mini--24 .mini__line { font-size: 14px; line-height: 1.35; }
.dock { background: var(--ground); }
.dock ~ footer.foot { margin-top: 0; }
.pg--home .dock > * { max-width: calc(var(--col-wide) - 2 * var(--page-pad-x)); }
footer.foot { padding-left: max(var(--page-pad-x), calc((100% - var(--col-reading)) / 2)); padding-right: max(var(--page-pad-x), calc((100% - var(--col-reading)) / 2)); }
.pg--home footer.foot { padding-left: max(calc(2 * var(--page-pad-x)), calc((100% - var(--col-wide)) / 2 + var(--page-pad-x))); padding-right: max(calc(2 * var(--page-pad-x)), calc((100% - var(--col-wide)) / 2 + var(--page-pad-x))); }
.amap25 { margin-top: 20px; }
.amap25__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 14px; }
.amap25__chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; max-width: 100%; }
.amap25__chips::-webkit-scrollbar { display: none; }
.amap25__chips .chip { min-height: 40px; padding: 0 16px; font-size: 15px; }
.amap25__chips .chip::before { content: none; }
.amap25__split { display: block; }
.amap25__map { position: relative; height: 62vh; min-height: 360px; border-radius: var(--r-map); overflow: hidden; background: var(--map-sea); }
.amap25__canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.amap25__credit { position: absolute; right: 8px; bottom: 6px; margin: 0; font-size: 12px; line-height: 1.4; background: rgba(255,255,255,0.85); padding: 2px 8px; border-radius: 10px; z-index: 2; }
.amap25__credit a { color: var(--text-2); }
.amap25__list { display: flex; flex-direction: column; }
.amrow { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 14px 4px; border-bottom: 1px solid var(--border); color: var(--text); }
.amrow:hover { background: var(--hover); }
.amrow.on { background: var(--surface-2); }
.amrow__name { font-weight: 600; }
.amrow__count { grid-column: 1; color: var(--text-2); font-size: 15px; }
.amrow__v { grid-column: 2; grid-row: 1 / span 2; text-align: right; font-variant-numeric: tabular-nums; }
.amrow__v .fx { display: block; font-weight: 600; }
.amrow__v small { display: block; color: var(--text-2); font-size: 14px; }
.amrow__v + .amrow__v { grid-row: 3; }
.amap25--live .amrow__v + .amrow__v { grid-row: 1 / span 2; }
.amrow[hidden], .amrow__v[hidden] { display: none; }
.amap25__sheet .sortpill { margin: 6px 0 4px; }
.amap25__handle { display: none; }
.amk { appearance: none; border: 1px solid rgba(var(--shade),0.12); background: rgba(255,255,255,0.94); color: var(--text); border-radius: var(--r-pill); padding: 4px 10px;
       font: 600 13px/1.25 var(--font); font-variant-numeric: tabular-nums; display: flex; flex-direction: column; align-items: center; cursor: pointer;
       box-shadow: 0 2px 8px rgba(var(--shade),0.10); white-space: nowrap; }
.amk__price, .amk__few { font-weight: 500; color: var(--text-2); font-size: 12px; }
.amk--umb { border-color: rgba(30,104,99,0.45); }
.amk--ring { border-style: dashed; }
.amk { z-index: 2; }
.amk--on { background: var(--green); color: #fff; border-color: var(--green); z-index: 3; }
.amk--on .amk__price, .amk--on .amk__few { color: #fff; }
.amk--dot { z-index: 1; width: 12px; height: 12px; padding: 0; overflow: hidden; color: transparent; background: rgba(30,104,99,0.35); border: 2px solid rgba(255,255,255,0.9); box-shadow: none; }
.amk--dot > * { display: none; }
.amk--off { display: none; }
.amk:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.amap25__card { position: absolute; left: 12px; top: 12px; bottom: auto; z-index: 4; width: min(340px, calc(100% - 24px)); max-height: calc(100% - 24px); overflow-y: auto; overscroll-behavior: contain;
                background: var(--surface); border-radius: var(--r-card); box-shadow: 0 8px 28px rgba(var(--shade),0.18); padding: 16px 18px; }
.amap25__card h3 { margin: 0 28px 2px 0; font-size: 18px; }
.amap25__card p { margin: 4px 0; }
.amap25__count, .amap25__note { color: var(--text-2); font-size: 14px; }
.amap25__figs p { font-variant-numeric: tabular-nums; }
.amap25__figs .fx { font-weight: 600; margin-right: 6px; }
.amap25__figs small { color: var(--text-2); font-size: 14px; }
.amap25__go { font-weight: 600; margin: 2px 0 8px; }
.amap25__go a { display: inline-block; padding: 4px 0; }
.amap25 .maplibregl-cooperative-gesture-screen { display: none; }
.amap25__hint { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 6; margin: 0; padding: 10px 16px; max-width: calc(100% - 32px);
                border-radius: var(--r-pill); background: rgba(22,24,26,0.88); color: #fff; font: 600 16px/1.3 var(--font); text-align: center;
                pointer-events: none; opacity: 0; transition: opacity .35s ease; }
.amap25__hint--on { opacity: 1; transition-duration: .1s; }
@media (prefers-reduced-motion: reduce) { .amap25__hint { transition: none; } }
.amap25__x { position: absolute; top: 8px; right: 8px; width: 36px; height: 36px; border: 0; background: none; font-size: 22px; color: var(--text-2); cursor: pointer; }
@media (min-width: 900px) {
  .amap25__split { display: grid; grid-template-columns: 3fr 2fr; gap: 24px; align-items: start; }
  .amap25__map { position: sticky; top: 88px; height: calc(100vh - 120px); min-height: 520px; max-height: 860px; }
  .amap25__sheet { max-height: calc(100vh - 120px); min-height: 520px; overflow-y: auto; padding-right: 4px; }
  .amap25__map[hidden] + .amap25__sheet { grid-column: 1 / -1; max-height: none; overflow: visible; }
}
@media (max-width: 899px) {
  .amap25 { margin-left: calc(-1 * var(--page-pad-x)); margin-right: calc(-1 * var(--page-pad-x)); }
  .amap25__bar { padding: 0 var(--page-pad-x); flex-wrap: nowrap; overflow: hidden; }
  .amap25__map { height: 58vh; border-radius: 0; }
  .amap25__sheet { position: relative; z-index: 5; background: var(--ground); padding: 6px var(--page-pad-x) 0; }
  .amap25--live .amap25__sheet { margin-top: -22px; border-radius: 20px 20px 0 0; box-shadow: 0 -6px 18px rgba(var(--shade),0.10); }
  .amap25--live .amap25__handle { display: block; width: 44px; height: 5px; border-radius: 3px; background: var(--border); margin: 4px auto 8px; cursor: pointer; padding: 8px 0; background-clip: content-box; box-sizing: content-box; }
  .amap25__card { position: fixed; left: 0; right: 0; top: auto; bottom: calc(var(--tab-h, 64px) + var(--safe-bottom, 0px)); width: auto; max-height: min(48vh, 420px);
                  z-index: 13; border-radius: 20px 20px 0 0; padding: 24px var(--page-pad-x) 16px; box-shadow: 0 -8px 28px rgba(var(--shade),0.18); }
  .amap25__card::before { content: ""; position: absolute; top: 9px; left: 50%; width: 44px; height: 5px; margin-left: -22px; border-radius: 3px; background: var(--border); }
  .amap25__card--away { display: none; }
  .amap25__x { top: 10px; }
  .amap25--live .amap25__credit { bottom: 28px; }
}
.chips--link { margin: 12px 0 0; }
.chip--map::before { content: none; }
.similar-block { margin-top: 16px; }
.similar-block h3 { font-size: 18px; margin: 0 0 8px; }
.similar__label { margin: 12px 0 4px; font-size: 14px; font-weight: 600; color: var(--text-2); }
.hfilter { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: center; gap: 10px; margin: 14px auto 0; max-width: 980px;
           background: rgba(255,255,255,0.94); border-radius: var(--r-card); padding: 12px 14px; color: var(--text); text-align: left; }
.hfilter__head { display: none; }
.hfilter__f { display: flex; flex-direction: column; gap: 4px; min-width: 120px; flex: 1 1 130px; }
.hfilter__f--off { opacity: 0.5; }
.hfilter__l { font-size: 14px; font-weight: 600; color: var(--text-2); }
.hfilter select { appearance: auto; min-height: 44px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); font: 16px/1.2 var(--font); color: var(--text); padding: 0 10px; }
.hfilter__go { min-height: 44px; padding: 0 22px; border: 0; border-radius: var(--r-pill); background: var(--accent); color: #fff; font: 600 16px var(--font); cursor: pointer; flex: 0 0 auto; }
.hfilter__open { display: block; margin: 12px auto 0; min-height: 44px; padding: 0 18px; border-radius: var(--r-pill); border: 1px solid rgba(255,255,255,0.7); background: rgba(255,255,255,0.94); color: var(--text); font: 600 16px var(--font); cursor: pointer; }
.hfilter__open[hidden] { display: none; }
@media (max-width: 899px) {
  .hfilter { flex-direction: column; align-items: stretch; }
  .hfilter__f { flex: 0 0 auto; }
  .hfilter--sheet { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; margin: 0; max-width: none; border-radius: 20px 20px 0 0;
                    background: var(--surface); padding: 12px 16px calc(16px + var(--safe-bottom, 0px)); box-shadow: 0 -8px 28px rgba(var(--shade),0.2); max-height: 85vh; overflow-y: auto; }
  .hfilter--sheet.hfilter--open { display: flex; }
  .hfilter--sheet .hfilter__head { display: flex; justify-content: space-between; align-items: center; font-weight: 600; font-size: 18px; }
  .hfilter__close { width: 44px; height: 44px; border: 0; background: none; font-size: 26px; color: var(--text-2); cursor: pointer; }
  .hfilter__close[hidden] { display: none; }
  .hfilter__go { width: 100%; }
}
.asst-open { min-height: 44px; padding: 0 18px; border-radius: var(--r-pill); border: 1px solid var(--green); background: var(--surface); color: var(--green); font: 600 16px var(--font); cursor: pointer; }
.asst-open[hidden] { display: none; }
.asst-open--hero { margin: 12px auto 0; display: block; }
.ahero24 .asst-open--hero { margin: 14px 0 0; }
.asst { position: fixed; top: 0; right: 0; bottom: 0; width: min(440px, 100vw); z-index: 60; background: var(--ground); box-shadow: -8px 0 28px rgba(var(--shade),0.18);
        display: flex; flex-direction: column; }
.asst[hidden] { display: none; }
.asst__head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.asst__head strong { flex: 1; font-size: 18px; }
.asst__reset { border: 0; background: none; color: var(--green); font: 500 15px var(--font); cursor: pointer; }
.asst__x { width: 44px; height: 44px; border: 0; background: none; font-size: 26px; color: var(--text-2); cursor: pointer; }
.asst__disc { margin: 0; padding: 8px 16px; font-size: 14px; color: var(--text-2); background: var(--surface-2); }
.asst__disc[hidden] { display: none; }
.asst__log { flex: 1; overflow-y: auto; padding: 12px 16px; display: flex; flex-direction: column; gap: 10px; }
.asst__msg { max-width: 88%; padding: 10px 14px; border-radius: 16px; line-height: 1.45; font-size: 16px; }
.asst__msg--bot { background: var(--surface); border: 1px solid var(--border); align-self: flex-start; }
.asst__msg--user { background: var(--green); color: #fff; align-self: flex-end; }
.asst__typing span { display: inline-block; width: 7px; height: 7px; margin: 0 2px; border-radius: 50%; background: var(--text-3); animation: asstdot 1s infinite ease-in-out; }
.asst__typing span:nth-child(2) { animation-delay: 0.15s; } .asst__typing span:nth-child(3) { animation-delay: 0.3s; }
@keyframes asstdot { 0%, 80%, 100% { opacity: 0.3; } 40% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .asst__typing span { animation: none; } }
.asst__chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 16px 8px; }
.asst__chips .chip { min-height: 40px; padding: 0 14px; font-size: 15px; }
.asst__chips .chip::before { content: none; }
.asst__form { display: flex; gap: 8px; padding: 10px 16px calc(12px + var(--safe-bottom, 0px)); border-top: 1px solid var(--border); }
.asst__form input { flex: 1; min-height: 44px; border: 1px solid var(--border); border-radius: var(--r-pill); padding: 0 14px; font: 16px var(--font); background: var(--surface); }
.asst__form button { min-height: 44px; padding: 0 18px; border: 0; border-radius: var(--r-pill); background: var(--accent); color: #fff; font: 600 16px var(--font); cursor: pointer; }
.asst__results .cards { display: flex; flex-direction: column; gap: 10px; }
.asst__results .card { padding: 14px; }
.asst .cards { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.asst .card { min-width: 0; max-width: 100%; box-sizing: border-box; }
.asst .c22, .asst .card--paid .c22 { grid-template-columns: 72px minmax(0, 1fr); gap: 10px; }
.asst .c22__thumb, .asst .card--paid .c22__thumb { width: 72px; height: 88px; }
.asst .c22__side { grid-column: 1 / -1; width: auto; min-width: 0; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 10px 18px; }
.asst .c22__body * { overflow-wrap: anywhere; }
.asst-back { position: fixed; right: 16px; bottom: calc(16px + var(--safe-bottom, 0px)); z-index: 59; min-height: 48px; padding: 0 20px; border: 0; border-radius: var(--r-pill);
             background: var(--green); color: #fff; font: 600 16px var(--font); box-shadow: 0 6px 18px rgba(var(--shade),0.22); cursor: pointer; }
.asst-back[hidden] { display: none; }
@media (min-width: 1200px) {
  html.asst-open { --dock: 440px; }
  html.asst-open body { padding-right: 440px; }
  html.asst-open .nav--r18, html.asst-open .chatbar, html.asst-open .dock { right: 440px; }
  html.asst-open .hask { display: none; }
}
.asst__all { font-weight: 600; margin: 8px 0; }
.asst__links { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 10px; font-weight: 600; }
.asst__links a { color: var(--green); }
.asst__hand { margin: 10px 0 6px; }
.asst__lead { display: flex; flex-direction: column; gap: 8px; }
.asst__lead input { min-height: 44px; border: 1px solid var(--border); border-radius: 12px; padding: 0 12px; font: 16px var(--font); background: var(--surface); }
.asst__lead .btn { min-height: 44px; border: 0; border-radius: var(--r-pill); background: var(--accent); color: #fff; font: 600 16px var(--font); cursor: pointer; }
.asst__consent { font-size: 14px; color: var(--text-2); margin: 0; }
@media (max-width: 899px) { .asst { width: 100vw; box-shadow: none; } html.asst-open body { overflow: hidden; } }
.langswitch { margin: 0 0 8px; font-size: 15px; text-align: right; }
.amrow:active { background-color: var(--press); }
.table--land { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table--land .table__row { grid-template-columns: minmax(220px, 1.6fr) 150px 90px 110px 130px 110px !important; min-width: 840px; font-size: 16px; gap: 12px; padding: 12px 0; }
.table--land .table__row > .mono { font-variant-numeric: tabular-nums; }
.table--land .table__head button { all: unset; cursor: pointer; color: var(--green); font-weight: 600; font-size: 15px; min-height: 44px; display: inline-flex; align-items: center; }
.table--land .table__head button.on { color: var(--text); text-decoration: underline; text-underline-offset: 4px; }
.table--land .table__head button:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; border-radius: 4px; }
.table--land .table__row.nolands { display: none; }
@media (max-width: 699px) { .table--land { padding: 4px 0; } .table--land .table__row { min-width: 760px; grid-template-columns: 200px 130px 80px 100px 130px 100px !important; } }
.lform__bps { margin: 18px 0 22px; padding: 16px 18px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.lform__bps p { margin: 0 0 10px; }
.lform { display: grid; gap: 18px; max-width: 720px; }
.lform__progress { margin: 0; font-weight: 600; color: var(--text-2); font-variant-numeric: tabular-nums; }
.lform__step { border: 1px solid var(--border); border-radius: 18px; padding: 18px; margin: 0; background: var(--surface); display: grid; gap: 14px; }
.lform__step legend { float: left; width: 100%; font-weight: 700; font-size: 20px; padding: 0; margin: 0 0 4px; }
.lform__step legend + * { clear: both; }
.lform.js .lform__n { display: none; }
.lform__n { display: block; font-size: 14px; font-weight: 600; color: var(--text-3); }
.lform__f { display: grid; gap: 6px; }
.lform__l { font-weight: 600; }
.lform__hint { font-size: 15px; color: var(--text-3); }
.lform input:not([type=radio]):not([type=checkbox]), .lform select, .lform textarea { min-height: 48px; border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px;
  font: 16px/1.4 var(--font); background: #fff; color: var(--text); width: 100%; box-sizing: border-box; }
.lform input[type=file] { padding: 10px; }
.lform__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lform__who { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.lform__card { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; cursor: pointer; background: #fff; }
.lform__card:has(input:checked) { border-color: var(--green); box-shadow: 0 0 0 2px var(--green) inset; }
.lform__card input { margin: 0 0 4px; }
.lform__card span { font-size: 15px; color: var(--text-3); }
.lform__thumbs { display: flex; flex-wrap: wrap; gap: 8px; }
.lform__thumbs img { width: 84px; height: 64px; object-fit: cover; border-radius: 8px; }
.lform__agree { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; }
.lform__agree input { margin-top: 4px; width: 20px; height: 20px; }
.lform__nav { display: flex; gap: 10px; justify-content: space-between; }
.lform__nav .btn { min-height: 48px; }
.lform__send { background: var(--accent); border-color: var(--accent); color: #fff; }
.lform__problems { border: 1px solid var(--alert); border-radius: 12px; padding: 10px 14px; background: var(--alert-tint); }
.lform__problems ul { margin: 0; padding-left: 18px; }
.lform__cap { border: 1px dashed var(--border); border-radius: 12px; padding: 12px; }
.lform__wait { display: flex; gap: 8px; }
.lform__done { max-width: 720px; padding: 18px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); }
.lform [hidden], .lform__step[hidden] { display: none !important; }
.terms__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.terms__col h2 { font-size: 20px; }
.terms__list li { margin: 0 0 10px; }
.terms__prevails { font-weight: 600; }
@media (max-width: 699px) {
  .lform__who { grid-template-columns: 1fr; }
  .lform__row { grid-template-columns: 1fr; }
  .lform__step { padding: 14px; }
  .terms__cols { grid-template-columns: 1fr; }
}
.hero .search__label.search__label--show { position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; white-space: normal;
  display: block; width: fit-content; margin: 0 auto 10px; padding: 5px 14px; border-radius: 12px; background: rgba(var(--shade),0.62);
  color: #fff; font-size: 18px; font-weight: 700; text-shadow: none; text-align: center; }
.chips--try { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 14px auto 0; }
.chips--try .chips__lead { padding: 5px 12px; border-radius: 12px; background: rgba(var(--shade),0.62); color: #fff; font-weight: 600; font-size: 16px; }
.chips--try .chip { min-height: 44px; font-size: 16px; }
.hfilter__toggle { display: block; margin: 16px auto 0; min-height: 44px; padding: 0 20px; border-radius: var(--r-pill); border: 1px solid rgba(255,255,255,0.7);
  background: rgba(255,255,255,0.94); color: var(--text); font: 600 16px var(--font); cursor: pointer; }
.hfilter__toggle.on span { display: inline-block; transform: rotate(180deg); }
.hfilter__wrap { margin-top: 12px; }
.hfilter__wrap[hidden] { display: none; }
.chatbar[hidden] { display: none; }
.chatbar__form:has(.chatbar__icon) { padding-left: 12px; }
.chatbar__icon { flex: none; display: inline-flex; color: var(--green); }
.chatbar__icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
.asst-open.asst-open--primary { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 24px; border: 0; border-radius: var(--r-pill);
  background: var(--accent); color: #fff; font: 700 18px var(--font); }
.asst-open.asst-open--primary[hidden] { display: none; }
.asst-open__icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; display: block; }
.asst-open--hero.asst-open--primary { display: inline-flex; }
@media (max-width: 899px) {
  .hero:has(.chips--try) { height: auto; min-height: 314px; padding: 150px 0 16px; }
  .hero .chips--try { display: flex; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; -webkit-overflow-scrolling: touch;
                      margin: 12px calc(-1 * var(--gutter-phone)) 0; padding: 0 var(--gutter-phone) 4px; scrollbar-width: none; }
  .hero .chips--try::-webkit-scrollbar { display: none; }
  .chips--try .chip, .chips--try .chips__lead { flex: none; white-space: nowrap; }
  .chips--try .chip { font-size: 15px; }
  .hero .search__label.search__label--show { font-size: 17px; }
  .hfilter__toggle { margin-top: 12px; }
}
body.is-thread .chatbar--home { display: none !important; }
.zoning { margin: 12px 0; font-size: 16px; line-height: 1.5; }
.zoning a { color: var(--green); font-weight: 600; }
.zoning__line { display: block; color: var(--text-2); }
.unavailable__next { margin: 8px 0 0; font-size: 16px; }
.unavailable__next a { color: var(--green); font-weight: 600; }
.photo-credit { display: block; font-size: 13px; line-height: 1.35; color: var(--text-3); }
.photo-credit a { color: inherit; text-decoration: underline; }
.photo-credit--hero { position: absolute; top: 10px; right: var(--page-pad-x, 16px); z-index: 1; max-width: min(60%, 520px); text-align: right;
  color: rgba(255, 255, 255, 0.92); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.75); }
.area-card { position: relative; }
.photo-credit--tile { position: absolute; left: 8px; right: 8px; top: 8px; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8); font-size: 12px; }
.photo-credit--row { margin-top: -4px; }
.arow__photo { object-fit: cover; border-radius: var(--r-tile); display: block; }
.credits { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 16px; }
.credits__row { display: flex; gap: 14px; align-items: flex-start; }
.credits__row img { width: 160px; height: 107px; object-fit: cover; border-radius: var(--r-tile); flex: none; }
.credits__row .photo-credit { font-size: 15px; color: var(--text-2); }
@media (max-width: 599px) { .credits__row { flex-direction: column; } .credits__row img { width: 100%; height: auto; aspect-ratio: 3 / 2; } }
.langswitch:has(+ .ahero24) { margin: -12px 0 6px; }
.langswitch + .ahero24 { margin-top: 0; }
@media (max-width: 699px) { .ahero24:has(.photo-credit--hero) { padding-top: 58px; } .photo-credit--hero { max-width: calc(100% - 2 * var(--page-pad-x, 16px)); } }
.contact--2910 .contact__wa { display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.contact--2910 .contact__wa svg { width: 20px; height: 20px; }
.contact__alt { appearance: none; background: none; border: 0; padding: 0; margin-top: 8px; font: inherit; font-size: 16px; font-weight: 600; color: var(--green); text-decoration: underline; cursor: pointer; display: inline-block; }
.contact__alt:hover { color: var(--green-dark, var(--green)); }
.quiet--text, .card__listedby { color: var(--text-2); font-weight: 400; cursor: default; }
.quiet--text:hover { text-decoration: none; }
.card__listedby { display: block; font-size: 16px; margin-top: 4px; }
.cmenu__consent { font-size: 16px; line-height: 1.45; color: var(--text-2); margin: 10px 0 0; }
.photopanel:not(:has(.photopanel__links)) { min-height: 0; }
.photopanel:not(:has(.photopanel__links)) .photopanel__sub { margin: 0; font-size: 16px; line-height: 1.45; color: var(--text-2); }
.c22__side .contact__alt, .ccard20__actions .contact__alt, .contact .contact__alt { min-height: 0; padding: 0; width: auto; background: none; border: 0; font-size: 16px; white-space: normal; }
.pp__price .pp__tenures, .pp__price .pp__tenures .fx { display: block; font-size: 26px; line-height: 1.3; }
.pp__price .pp__tenures .fx { display: inline; }
@media (max-width: 899px) { .pp__price .pp__tenures, .pp__price .pp__tenures .fx { font-size: 22px; } }
.card__price--tenures { display: block; font-size: 18px; line-height: 1.35; }
.lease-short { display: inline-block; margin: 6px 0 0; padding: 2px 8px; border-radius: 6px; border: 1px solid #B5523B;
  color: #B5523B; font-weight: 600; font-size: 16px; }
.pp__price .lease-short { display: block; width: fit-content; font-family: Figtree, system-ui, sans-serif; letter-spacing: 0; }
.phonebar { display: none; }
@media (max-width: 899px) {
  .pg-prop .phonebar { display: flex; gap: 10px; align-items: center; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--bg, #fff); border-top: 1px solid var(--border, #E4E6E8); }
  .pg-prop .phonebar__wa { flex: 1; min-height: 48px; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 600; text-align: center; }
  .pg-prop .phonebar__ask { flex: 0 0 48px; height: 48px; border-radius: 12px; border: 1px solid var(--border, #E4E6E8); background: var(--panel, #F5F6F7);
    color: var(--accent, #0E6B4F); display: flex; align-items: center; justify-content: center; padding: 0; }
  .pg-prop .phonebar__ask svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
  .pg-prop .chatbar, .pg-prop .tabbar, .pg-prop .asst-back { display: none !important; }
  body.pg-prop, body.pg-prop.has-chatbar { padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important; }
  body.pg-prop main { padding-bottom: 16px; }
}
.contact--2912 { gap: 10px; }
.ccard__label { font-size: 14px; color: var(--text-3); margin: 0; }
.ccard__reply { font-size: 17px; font-weight: 600; color: var(--text); margin: 0 0 4px; }
.contact--2912 .ccard__form { margin: 2px 0 4px; }
.ccard__agency { white-space: normal; text-align: center; }
.ccard__agency::after { content: none; }
.ccard__state3 { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--text-2); margin: 0; }
.ccard__state3 svg, .susheet__open svg, .susheet__icon svg, .svd svg, .savesearch svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.savesearch { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; margin-left: auto; border-radius: var(--r-pill); border: 1px solid var(--border);
  background: var(--ground); color: var(--green); font: 600 16px var(--font); cursor: pointer; }
.savesearch[aria-pressed="true"] { background: var(--surface); color: var(--text); }
.sortbar:has(.savesearch) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
html.has-sheet, html.has-sheet body { overflow: hidden; }
.susheetwrap { position: fixed; inset: 0; z-index: 1000; background: rgba(var(--shade), 0.45); display: flex; align-items: center; justify-content: center; padding: 24px; }
.susheet { position: relative; width: 100%; max-width: 480px; max-height: calc(100vh - 48px); overflow: auto; background: var(--ground); border-radius: 28px;
  padding: 32px 36px 28px; box-shadow: 0 24px 60px rgba(var(--shade), 0.25); }
.susheet__grab { display: none; }
.susheet__x { position: absolute; top: 18px; right: 18px; width: 44px; height: 44px; border: 0; background: none; border-radius: 50%; cursor: pointer; color: var(--text); display: grid; place-items: center; }
.susheet__x svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.susheet__h { font-size: 26px; line-height: 1.2; font-weight: 700; margin: 0 48px 10px 0; }
.susheet__line { font-size: 17px; line-height: 1.5; color: var(--text-2); margin: 0 0 14px; }
.susheet__open { display: flex; gap: 10px; align-items: flex-start; background: var(--chart-soft); color: var(--green); border-radius: 14px; padding: 12px 14px; font-size: 16px; line-height: 1.45; margin: 0 0 14px; }
.susheet__label { display: block; font-size: 16px; font-weight: 600; color: var(--text); margin: 6px 0 8px; }
.susheet__input { width: 100%; font: 400 17px/1.4 var(--font); color: var(--text); background: var(--ground); border: 1px solid var(--border); border-radius: 14px; padding: 14px 16px; }
.susheet__input:focus-visible { outline: 2px solid var(--green); outline-offset: 1px; }
.susheet__save { width: 100%; margin: 14px 0 16px; }
.susheet__consent { display: flex; gap: 14px; align-items: flex-start; background: var(--surface); border-radius: 16px; padding: 16px 18px; font-size: 16px; line-height: 1.5; color: var(--text); cursor: pointer; }
.susheet__consent input { width: 22px; height: 22px; margin: 1px 0 0; flex: none; accent-color: var(--green); }
.susheet__terms { font-size: 14px; color: var(--text-2); text-align: center; margin: 16px 0 0; }
.susheet__terms a, .susheet__fine .linkbtn, .susheet__again .linkbtn, .susheet__back { color: var(--green); }
.susheet__terms a { text-decoration: underline; }
.susheet__back { display: block; margin: 14px auto 0; font-size: 16px; min-height: 44px; }
.susheet__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 18px 0 14px; }
.susheet__pair .btn { width: 100%; padding: 0 12px; }
.susheet__fine { font-size: 15px; color: var(--text-2); text-align: center; margin: 0 0 8px; }
.susheet__pane--done { text-align: center; }
.susheet__pane--done .susheet__h { margin: 12px 0 10px; }
.susheet__icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--chart-soft); color: var(--green); }
.susheet__icon svg { width: 24px; height: 24px; }
.susheet__again { font-size: 16px; margin: 6px 0 0; }
.susheet__continue { margin-top: 16px; }
.susheet .cmenu__error { color: var(--alert); font-size: 16px; margin: 10px 0 0; }
.susheet .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
@media (max-width: 899px) {
  .susheetwrap { align-items: flex-end; padding: 0; }
  .susheet { max-width: none; border-radius: 24px 24px 0 0; padding: 14px 20px calc(24px + env(safe-area-inset-bottom)); max-height: 92vh; }
  .susheet__grab { display: block; width: 44px; height: 5px; border-radius: 3px; background: var(--rule); margin: 0 auto 14px; }
  .susheet__x { top: 10px; right: 10px; }
  .susheet__h { font-size: 24px; }
  .pg-prop .phonebar--2912 { flex-direction: column; gap: 6px; padding-top: 8px; }
  .pg-prop .phonebar--2912 .phonebar__wa { width: 100%; }
  .phonebar__reply { font-size: 14px; color: var(--text-2); margin: 0; text-align: center; }
  body.pg-prop:has(.phonebar--2912) { padding-bottom: calc(108px + env(safe-area-inset-bottom)) !important; }
}
@media (min-width: 900px) { .phonebar__reply { display: none; } }
.svd { max-width: 720px; }
.svd__who { display: flex; justify-content: flex-end; gap: 6px; font-size: 15px; color: var(--text-2); margin: -8px 0 12px; }
.svd__h { font-size: 20px; font-weight: 600; margin: 24px 0 12px; }
.svd__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.svd__item { position: relative; border: 1px solid var(--border); border-radius: 20px; background: var(--ground); }
.svd__card { display: flex; gap: 16px; align-items: center; padding: 14px 64px 14px 14px; color: var(--text); text-decoration: none; }
.svd__card .maptile { flex: none; width: 84px; height: 84px; border-radius: 14px; overflow: hidden; }
.svd__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.svd__t { font-size: 16px; font-weight: 600; }
.svd__p { font-size: 22px; font-weight: 600; }
.svd__m { font-size: 15px; color: var(--text-2); }
.svd__s { font-size: 15px; color: var(--text); }
.svd__s--cut { color: var(--delta-cut); font-weight: 600; }
.svd__chev { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--text-3); }
.svd__mark { position: absolute; right: 44px; top: 10px; width: 44px; height: 44px; border: 0; background: none; color: var(--text); display: grid; place-items: center; cursor: pointer; }
.svd__mark[aria-pressed="true"] svg { fill: currentColor; }
.svd__mark.savebtn { background: none; border: 0; padding: 0; min-width: 0; }
.svd__rows { display: flex; flex-direction: column; gap: 10px; }
.svd__row, .svd__week { display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 1px solid var(--border); border-radius: 16px; padding: 14px 18px; color: var(--text); text-decoration: none; }
.svd__row b, .svd__week b { display: block; font-size: 16px; font-weight: 600; }
.svd__row span span, .svd__week span span { display: block; font-size: 15px; color: var(--text-2); }
.svd__week { background: var(--surface); border-color: var(--surface); margin: 24px 0; }
.svd__empty { background: var(--surface); border-radius: 24px; padding: 32px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.svd__empty p { font-size: 16px; color: var(--text-2); max-width: 380px; margin: 0; }
.svd__emptyh { font-size: 22px; font-weight: 700; margin: 0; }
.svd__emptyicon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--ground); color: var(--text-2); }
.svd__weeklink { color: var(--green); font-weight: 600; font-size: 16px; display: inline-flex; align-items: center; gap: 4px; text-decoration: none; }
.svd__guest { background: var(--surface); border-radius: 20px; padding: 20px; margin: 0 0 18px; }
.svd__guest p { font-size: 16px; color: var(--text-2); }
.signup__delete { font-size: 15px; color: var(--text-2); margin: 8px 0 16px; min-height: 44px; }
:root { --lease-long: #0E6B4F; --lease-mid: #1F6E8C; --lease-short: #B5523B; --lease-unstated: #C9820F; --lease-freehold: #16232B; }
.ltile { flex: none; width: 84px; height: 84px; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: var(--surface); color: var(--lease-band); text-align: center; line-height: 1.1; }
.ltile b { font-size: 28px; font-weight: 700; }
.ltile small { font-size: 13px; font-weight: 600; margin-top: 2px; }
.ltile--unstated b, .ltile--freehold b { font-size: 16px; }
.svd__item { border-left: 6px solid var(--lease-band, var(--border)); }
.svd__item--long, .ltile--long { --lease-band: var(--lease-long); }
.svd__item--mid, .ltile--mid { --lease-band: var(--lease-mid); }
.svd__item--short, .ltile--short { --lease-band: var(--lease-short); }
.svd__item--unstated, .ltile--unstated { --lease-band: var(--lease-unstated); }
.svd__item--freehold, .ltile--freehold { --lease-band: var(--lease-freehold); }
.ccard .ccard__agency { white-space: normal; height: auto; min-height: 52px; padding: 12px 22px; line-height: 1.3; text-align: center; overflow-wrap: break-word; }
.lead11 { font-size: 17px; line-height: 1.55; margin: 0 0 12px; color: var(--text); }
.lead11 .fx { font-weight: 600; }
.c11 { font-size: 13px; line-height: 1.5; color: var(--text-3); margin: 8px 0 0; font-variant-numeric: tabular-nums; }
.agt__table .table__row, .h11__table .table__row, .t11__table .table__row { grid-template-columns: minmax(0, 1fr) auto auto !important; gap: 16px; padding: 12px 0; font-size: 16px; }
.agt__table .table__row--withdrawn { grid-template-columns: 1fr !important; }
.agt__table .table__head, .h11__table .table__head, .t11__table .table__head { font-size: 13px; font-weight: 600; color: var(--text-3); padding: 8px 0; }
.agt__table .table__head > span:nth-child(n+2), .t11__table .table__head > span:nth-child(n+2) { text-align: right; }
.agt__p, .t11__n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.agt__ch { text-align: right; white-space: nowrap; font-size: 15px; min-width: 104px; }
.agt__none { color: var(--text-2); font-weight: 400; }
.h11__table .table__row { grid-template-columns: 64px minmax(0, 1fr) auto !important; }
.h11__table .table__row > span:first-child { font-weight: 400; color: var(--text-2); }
.h11__table .table__head > span:last-child, .h11__ch { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.h11__ch .fx { font-weight: 600; }
.h11__chart { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 14px 16px 6px; }
.h11__svg { width: 100%; height: auto; display: block; }
.h11__svg--phone { display: none; }
.more11 { margin: 10px 0 0; }
.more11 > summary { cursor: pointer; color: var(--green); font-weight: 600; font-size: 15px; min-height: 44px; display: inline-flex; align-items: center; list-style: none; }
.more11 > summary::-webkit-details-marker { display: none; }
.more11 > summary::after { content: " ›"; margin-left: 4px; transition: transform .15s; }
.more11[open] > summary::after { transform: rotate(90deg); }
.more11__list { margin: 0; padding-left: 18px; font-size: 15px; line-height: 1.6; color: var(--text-2); }
.more11 .exact { font-variant-numeric: tabular-nums; color: var(--text); }
.t11__table .table__row { grid-template-columns: minmax(0, 1fr) 30% 30% !important; }
.t11__unit { display: block; font-size: 13px !important; font-weight: 400; color: var(--text-3); margin: 0 !important; }
.t11 .lead11 { margin-top: 4px; }
.lt11__table { overflow-x: visible; }
.lt11__table .table__row { grid-template-columns: minmax(0, 1fr) auto 64px 76px !important; min-width: 0 !important; gap: 12px; }
.lt11__table .table__head > button { justify-content: flex-end; text-align: right; font-size: 13px !important; }
.lt11__table .table__row > a { overflow: hidden; text-overflow: ellipsis; }
.pchart--c11 { padding: 20px 24px; }
.pchart--c11 .pchart__lead { font-size: 18px; font-weight: 600; line-height: 1.4; margin: 0 0 10px; }
.pchart--c11 .pchart__lead .fx { font-weight: 700; }
.pchart--c11 .pchart__source { margin-top: 6px; }
@media (max-width: 899px) {
  .agt__table .table__row, .h11__table .table__row, .t11__table .table__row { gap: 10px; font-size: 16px; }
  .agt__table .table__row { grid-template-columns: minmax(0, 1fr) auto auto !important; }
  .agt__table .table__row--withdrawn { grid-template-columns: 1fr !important; }
  .h11__table .table__row { grid-template-columns: 52px minmax(0, 1fr) auto !important; }
  .t11__table .table__row { grid-template-columns: minmax(0, 1fr) 30% 30% !important; }
  .lt11__table .table__row { grid-template-columns: minmax(0, 1fr) auto 42px 52px !important; gap: 8px; font-size: 15px; }
  .agt__ch { font-size: 14px; min-width: 0; }
}
@media (max-width: 700px) {
  .h11__svg { display: none; }
  .h11__svg--phone { display: block; }
  .h11__chart { padding: 10px 10px 4px; }
  .pchart--c11 { padding: 16px; }
  .pchart--c11 .pchart__lead { font-size: 17px; }
}
.t11__table .table__row--this { padding-left: 28px !important; padding-right: 28px !important; }
.lt11__table .table__head > button { line-height: 1.25; }
@media (max-width: 899px) {
  .t11__table .table__row--this { padding-left: 16px !important; padding-right: 16px !important; }
  .lt11__table { padding: 4px 12px !important; }
  .lt11__table .table__row { grid-template-columns: minmax(0, 1fr) auto 40px 58px !important; gap: 8px; }
}
@media (max-width: 700px) { .pchart--c11 .pchart__lead { font-size: 16px; line-height: 1.45; } .pchart--c11 { padding: 14px 16px; } }
.agt__table .agt__line { grid-column: 2 / -1; text-align: right; font-size: 15px; color: var(--text-2); }
