.g-estate{background:var(--paper);padding-block:clamp(3rem,4vw,4.5rem)}.estate-heading{grid-template-columns:1.3fr 1fr;align-items:end;gap:3rem;max-width:1010px;margin:0 auto 2rem;display:grid}.estate-heading h2{font-family:var(--serif);letter-spacing:-.045em;margin:1.5rem 0 0;font-size:clamp(2.4rem,4.1vw,4.8rem);font-weight:400;line-height:1.04}.estate-heading>p{max-width:430px;color:var(--ink-soft);margin:0 0 .3rem;font-size:1rem;line-height:1.75}.estate-board{border:1px solid var(--line);grid-template-columns:minmax(0,1.45fr) minmax(250px,1fr);max-width:1010px;margin-inline:auto;display:grid}.estate-thumbnail{background:#182b30;min-width:0}.estate-map{aspect-ratio:880/897;background:#173c4c;width:100%;position:relative;overflow:hidden}.estate-map>img{object-fit:fill;width:100%;height:100%;display:block}.estate-map-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}@media (width>=901px){.estate-thumbnail{position:relative}.estate-thumbnail .estate-map{aspect-ratio:auto;height:100%;position:absolute;inset:0}}@media (width<=900px){.estate-board{grid-template-columns:1fr}}.estate-map-lines polyline{fill:none;stroke:#e2c779;stroke-width:1.5px;stroke-opacity:.87}.estate-view-arrow{fill:none;stroke:#fff6d5;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.estate-residence{cursor:pointer;z-index:2;background:0 0;border:0;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.estate-residence-dot{background:#faf6ea;border:1.5px solid #213c32;border-radius:50%;width:11px;height:11px;display:block;box-shadow:0 0 0 3px #f5efd340,0 2px 4px #0004}.estate-residence.is-selected .estate-residence-dot{background:#e8c479;box-shadow:0 0 0 5px #fff4,0 2px 4px #0004}.estate-point-label{color:#172b22;background:#faf6ea;padding:.3rem .4rem;font-size:.7rem;display:none;position:absolute;top:-.8rem;left:50%;transform:translate(-50%,-100%);box-shadow:0 2px 6px #0002}.estate-residence:hover .estate-point-label,.estate-residence:focus-visible .estate-point-label,.estate-residence.is-selected .estate-point-label{display:block}.estate-residence:focus-visible,.estate-zone:focus-visible{outline-offset:3px;outline:2px solid #fff}.estate-zone{cursor:pointer;z-index:3;color:#172b22;background:0 0;border:0;align-items:center;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.estate-zone>span:first-child{background:#e6c783;border:1px solid #36513c;flex-shrink:0;place-items:center;width:25px;height:25px;font-size:.8rem;font-weight:500;display:grid;box-shadow:0 2px 5px #0003}.estate-zone-label{white-space:nowrap;background:#f7f1e5ee;padding:.25rem .4rem;font-size:.64rem;position:absolute;left:30px;box-shadow:0 2px 4px #0002}.estate-zone.is-selected>span:first-child{background:#faf6ea;box-shadow:0 0 0 4px #fffc}.estate-photo-credit{color:#fff;text-shadow:0 1px 3px #000;pointer-events:none;font-size:.58rem;position:absolute;bottom:.4rem;right:.6rem}.estate-key{background:#f6f2e9;flex-direction:column;padding:clamp(1.6rem,3.5vw,3.5rem);display:flex}.estate-key-count strong{font-family:var(--serif);letter-spacing:-.06em;font-size:clamp(4rem,6vw,7rem);font-weight:400;line-height:1;display:block}.estate-key-count>span{font-family:var(--serif);margin-top:.3rem;font-size:1.6rem;display:block}.estate-key-count>p{color:var(--ink-soft);margin:1.6rem 0 1.5rem;font-size:.9rem;line-height:1.7}.estate-facility-list{flex-direction:column;margin-top:auto;display:flex}.estate-facility-list>button{text-align:left;border:0;border-top:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:.75rem;padding:1rem 0;font-size:.84rem;line-height:1.5;display:flex}.estate-facility-list>button>span:first-child{color:var(--ink-soft);font-size:.6rem}.estate-facility-list>button>span:last-child{margin-left:auto}.estate-facility-list>button.is-selected{color:var(--forest);font-weight:600}.estate-expand{border:1px solid var(--ink);color:var(--ink);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.8rem;padding:1rem;font-size:.8rem;display:flex}.estate-expand>span{font-size:1.4rem;line-height:1}.estate-expand:hover{background:var(--ink);color:var(--paper)}.estate-expand:focus-visible,.estate-facility-list>button:focus-visible,.estate-dialog-detail-footer button:focus-visible,.estate-dialog-header button:focus-visible{outline:2px solid var(--forest);outline-offset:3px}.estate-note{color:var(--ink-soft);max-width:1010px;margin:1.1rem auto 0;font-size:.72rem;line-height:1.65}.estate-dialog{width:min(1100px,94vw);max-height:94svh;color:var(--ink);background:var(--paper);border:0;padding:0;overflow-y:auto;box-shadow:0 1rem 8rem #0006}.estate-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#041112cc}.estate-dialog-header{z-index:5;background:var(--paper);justify-content:space-between;align-items:center;gap:2rem;padding:1.4rem 2rem;display:flex;position:sticky;top:0}.estate-dialog-header .section-index{margin:0;font-size:.62rem}.estate-dialog-header h2{font-family:var(--serif);letter-spacing:-.03em;margin:.5rem 0 0;font-size:1.9rem;font-weight:400}.estate-dialog-header button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;width:44px;height:44px;font-size:2rem;line-height:1}.estate-dialog-body{grid-template-columns:minmax(0,2.6fr) minmax(200px,1fr);display:grid}.estate-dialog-body>aside{flex-direction:column;padding:2rem;display:flex}.estate-dialog-body>aside>p:first-child{color:var(--ink-soft);margin:0 0 2rem;font-size:.85rem;line-height:1.7}.estate-selection>span{font-family:var(--serif);font-size:1.75rem;line-height:1.15;display:block}.estate-selection>small{color:var(--ink-soft);margin-top:.8rem;font-size:.75rem;line-height:1.7;display:block}.estate-dialog .estate-facility-list{margin-top:2rem}.estate-dialog .estate-note{margin-top:auto;padding-top:2rem}.estate-dialog-gallery{background:var(--paper);grid-template-columns:1fr;display:grid}.estate-dialog-gallery.is-multiple{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}.estate-dialog-gallery figure{min-width:0;margin:0;position:relative}.estate-dialog-gallery img{object-fit:contain;width:100%;height:min(62svh,640px);display:block}.estate-dialog-gallery.is-multiple img{object-fit:cover;height:min(54svh,540px)}.estate-dialog-gallery figcaption{color:#fff;background:#102324c9;padding:.35rem .6rem;font-size:.72rem;position:absolute;bottom:.8rem;left:.8rem}.estate-dialog-detail-footer{justify-content:space-between;align-items:center;gap:2rem;padding:1.2rem 2rem;display:flex}.estate-dialog-detail-footer p{max-width:680px;color:var(--ink-soft);margin:0;font-size:.73rem;line-height:1.6}.estate-dialog-detail-footer button{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;flex:none;padding:.75rem 1rem;font-size:.78rem}.estate-dialog-detail-footer button:hover{background:var(--ink);color:var(--paper)}@media (width<=760px){.estate-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.estate-heading h2{font-size:clamp(2.4rem,8vw,3.5rem)}.estate-key{padding:1.6rem}.estate-key-count{grid-template-columns:auto 1fr;align-items:center;column-gap:1rem;display:grid}.estate-key-count strong{grid-row:span 2;font-size:4rem}.estate-key-count>span{margin:0;font-size:1.5rem}.estate-key-count>p{margin:.2rem 0 0;font-size:.8rem;line-height:1.5}.estate-facility-list{margin-top:1.3rem}.estate-facility-list>button{padding:.8rem 0}.estate-zone-label{padding:.2rem .3rem;font-size:.56rem;left:23px}.estate-zone>span:first-child{width:20px;height:20px;font-size:.68rem}.estate-residence-dot{border-width:1px;width:8px;height:8px;box-shadow:0 0 0 2px #f5efd344}.estate-expand{margin-top:1rem}.estate-dialog{width:96vw;max-height:96svh}.estate-dialog-header{gap:1rem;padding:1rem}.estate-dialog-header h2{font-size:1.5rem}.estate-dialog-body{display:block}.estate-dialog-body>aside{padding:1.3rem}.estate-dialog-body>aside>p:first-child{margin-bottom:1rem}.estate-dialog .estate-facility-list{margin-top:1rem}.estate-dialog .estate-note{padding-top:1rem}.estate-map--interactive .estate-residence{width:25px;height:25px}.estate-dialog-gallery.is-multiple{grid-template-columns:1fr}.estate-dialog-gallery img{height:auto;max-height:52svh}.estate-dialog-gallery.is-multiple img{height:32svh}.estate-dialog-detail-footer{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.estate-dialog-detail-footer button{align-self:flex-start}}
