/* Isolated, city-specific neighbourhood decision tool. */
.area-map-section{margin:0 5vw 34px;padding-top:28px;scroll-margin-top:100px;color:#20392d;--marker-scale:1}
.area-map-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}.area-map-heading h2{font:400 clamp(36px,4vw,52px)/1.05 var(--serif);letter-spacing:-.035em;margin:0}.area-map-heading p{font-size:12px;line-height:1.7;margin:0}.explorer-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;border:1px solid #c8d0bf;border-radius:12px;overflow:hidden;background:#f5f3eb;align-items:stretch}.cartographic-map{position:relative;align-self:start;min-width:0;background:#eeece3;isolation:isolate}.map-viewport{position:relative;width:100%;overflow:hidden;cursor:grab;touch-action:none;outline-offset:-4px!important}.map-viewport.is-dragging{cursor:grabbing}.map-plane{position:absolute;inset:0;transform-origin:0 0;will-change:transform;user-select:none}.map-plane>img{display:block;width:100%;height:100%;pointer-events:none}.map-zone{position:absolute;width:0;height:0;transform:scale(var(--marker-scale));transform-origin:0 0}.zone-select{position:absolute;left:-32px;top:-32px;width:64px;height:64px;border:2px dashed #49633e;border-radius:50%;background:#dce8cbce;box-shadow:0 0 0 4px #faf9f055;display:flex;align-items:center;justify-content:center;color:#20392d;cursor:pointer;font:inherit;padding:0;touch-action:none;transition:background .15s,box-shadow .15s}.zone-count{display:flex;flex-direction:column;align-items:center;pointer-events:none}.zone-count strong{font-size:20px;line-height:1;font-weight:500}.zone-count small{font-size:9px;line-height:1.5}.zone-label{position:absolute;white-space:nowrap;pointer-events:none;background:#faf9f0ed;border-radius:3px;padding:4px 6px;font-size:11px;line-height:1.3;font-weight:500;color:#20392d}.zone-select[aria-pressed=true]{background:#24452ee8;color:white;border:2px solid #faf9ee;box-shadow:0 0 0 3px #315735,0 3px 10px #24392833}.zone-select[aria-pressed=true]+.zone-label{font-weight:700;color:#183621}.zone-select:hover{background:#bcccab;box-shadow:0 0 0 5px #56744740}.zone-select[aria-pressed=true]:hover{background:#355c3e}.zone-select:active{background:#789263}.area-map-section :focus-visible,.show-on-area-map:focus-visible{outline:3px solid #98642d;outline-offset:4px}.zone-select:focus-visible{outline:3px solid #98642d;outline-offset:6px}.map-zoom{position:absolute;top:12px;left:12px;display:grid;background:#faf9ef;border:1px solid #b2beaa;border-radius:6px;box-shadow:0 2px 8px #243e2718;overflow:hidden}.map-zoom button{width:44px;height:44px;background:transparent;border:0;color:#20392d;font-size:24px;cursor:pointer}.map-zoom button+button{border-top:1px solid #d5dccb}.map-zoom button:disabled{opacity:.35;cursor:default}.map-north{position:absolute;right:14px;top:12px;color:#4c6748;font-size:22px;text-align:center;line-height:1;background:#faf9efdc;padding:5px;border-radius:4px;pointer-events:none}.map-north small{display:block;font-size:9px;margin-top:4px}.map-instruction{position:absolute;top:13px;left:68px;max-width:calc(100% - 118px);font-size:10px;line-height:1.4;color:#43543d;background:#faf9efed;padding:6px 8px;border-radius:4px;pointer-events:none;transition:opacity .2s}.map-used .map-instruction{opacity:.25}.map-viewport:focus-within~.map-instruction{opacity:.7}.touch-map-hint{display:none}.map-attribution{position:absolute;right:0;bottom:45px;max-width:calc(100% - 10px);background:#faf9f1ed;padding:5px 7px;font-size:9px;color:#3d553a;line-height:1.4}.map-attribution a{color:inherit;text-decoration:underline;text-underline-offset:2px}.map-help-row{position:relative;background:#eeeee3;display:flex;align-items:start;justify-content:space-between;gap:15px;border-top:1px solid #cdd4c4;min-height:44px;padding:0 13px}.map-help-row details{min-width:0;flex:1}.map-help-row summary{cursor:pointer;font-size:11px;min-height:44px;display:flex;align-items:center;gap:8px}.map-help-row summary:before{content:'+'}.map-help-row details[open] summary:before{content:'−'}.map-help-row p{font-size:11px;line-height:1.8;margin:0 0 15px;max-width:590px}.map-help-row>span{font-size:10px;min-height:44px;display:flex;align-items:center;color:#66725d}.map-north,.map-zoom,.map-instruction{z-index:2}.map-attribution{z-index:2}.area-selection{padding:20px;border-left:1px solid #d1d7c8;min-width:0}.area-sheet-heading .eyebrow{font-size:9px;letter-spacing:.1em}.area-sheet-heading h3{font:400 29px/1.1 var(--serif);margin:8px 0 11px}.area-character{font-size:12px;line-height:1.65;margin:0 0 15px;color:#506249}.area-highlights{padding:0 0 12px;margin:0 0 14px;border-bottom:1px solid #d1d7c8}.area-highlights h4,.area-stays-heading{font:500 11px/1.5 var(--sans,sans-serif);color:#304c36;margin:0 0 7px}.area-highlights ul{padding-left:15px;margin:0}.area-highlights li{font-size:11px;line-height:1.55;color:#52634b;margin:5px 0}.area-mini-stays{display:grid;gap:5px}.area-stay-link{display:flex;align-items:center;gap:11px;min-width:0;min-height:68px;padding:9px 7px;border:1px solid transparent;border-bottom-color:#d8ddce;border-radius:5px;color:#233d2c;text-decoration:none}.area-stay-link:hover{background:#e5eadc;border-color:#a4b498}.area-stay-link:focus-visible{background:#e5eadc;outline:3px solid #98642d;outline-offset:2px}.area-stay-link img{width:48px;height:50px;object-fit:cover;border-radius:4px;flex-shrink:0}.area-stay-copy{flex:1;min-width:0}.area-stay-copy strong{font:400 21px/1.15 var(--serif);display:block;margin:0 0 5px}.area-stay-facts{display:block;font-size:12px;line-height:1.5;color:#52634b}.area-stay-arrow{font-size:18px;flex-shrink:0;width:20px;text-align:center}.area-highlight{font-size:12px;line-height:1.65;color:#52634b;padding:0 0 13px;margin:0 0 14px;border-bottom:1px solid #d1d7c8}.area-directions{display:flex;align-items:center;gap:7px;min-height:44px;padding:7px 0 0;margin-top:4px;font-size:11px;color:#66745e;text-underline-offset:4px}.area-directions small{font-size:9px}.area-map-note{font-size:10px;color:#64745e;line-height:1.7;margin:12px 0 0}.show-on-area-map{background:none;border:0;min-height:44px;padding:12px 0 0;font:inherit;font-size:11px;color:#52634e;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.area-map-section+.stays-directory{padding-top:22px}#mapDestinationDetail{scroll-margin-top:100px}.map-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.map-failure{min-height:270px;padding:28px 20px;background:#eeece3}.map-failure h3{font:400 28px/1.2 var(--serif);margin:0 0 12px}.map-failure p{font-size:13px;line-height:1.7}.map-failure [role=group]{display:flex;flex-wrap:wrap;gap:8px}.map-failure button{min-height:44px;border:1px solid #9eae91;background:#faf9ef;border-radius:5px;color:#20392d;font:inherit;font-size:12px;padding:9px 12px;cursor:pointer}.map-failure button[aria-pressed=true]{background:#24452e;color:white}.map-failure #retryAreaMap{margin-top:15px;background:transparent}.map-failed .map-north,.map-failed .map-attribution{display:none}.area-map-section [hidden]{display:none!important}
@media(max-width:700px){.area-map-section{margin:0 6vw 24px;padding-top:14px;scroll-margin-top:86px}.area-map-heading{display:block;margin-bottom:18px}.area-map-heading h2{font-size:36px}.area-map-heading p{margin-top:10px;font-size:12px}.explorer-layout{display:block}.area-selection{border-left:0;border-top:1px solid #d1d7c8;padding:18px}.area-sheet-heading h3{font-size:28px}.zone-select{width:56px;height:56px;left:-28px;top:-28px}.zone-label{font-size:10px;padding:3px 4px}.zone-count strong{font-size:18px}.zone-count small{font-size:8px}.map-zoom{left:10px;top:10px}.map-instruction{left:62px;top:10px;font-size:9px;max-width:calc(100% - 112px)}.map-north{right:10px;top:10px}.map-attribution{font-size:8px}.desktop-map-hint{display:none}.touch-map-hint{display:inline}#mapDestinationDetail{scroll-margin-top:86px}}
@media(prefers-reduced-motion:reduce){.zone-select,.map-instruction{transition:none}}

/* Restrained shared neighbourhood panel. Research remains in the registry. */
.explorer-layout{grid-template-columns:minmax(0,1.35fr) minmax(380px,1fr)}.area-selection{padding:28px 28px 24px}.area-sheet-heading .eyebrow{font-size:10px;color:#8c793e;letter-spacing:.14em}.area-sheet-heading h3{font-size:40px;line-height:1.08;margin:10px 0 13px}.area-character{font-size:13px;line-height:1.6;margin:0 0 23px;max-width:36em}.area-destinations{margin:0;border-top:1px solid #d7d5c9}.area-destination-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;min-height:51px;padding:12px 0;border-bottom:1px solid #d7d5c9;font-size:13px;line-height:1.5}.area-destination-row dt{margin:0}.area-destination-row dd{margin:0;white-space:nowrap;font-size:12px;color:#687064;font-variant-numeric:tabular-nums}.area-drive-note{font-size:10px;line-height:1.5;color:#717568;margin:13px 0 20px}.area-panel-actions{display:flex;align-items:stretch;gap:12px}.area-view-stays,.area-panel-actions .area-directions{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:5px;padding:10px 16px;margin:0;font:500 12px/1.4 var(--sans,sans-serif);cursor:pointer;text-decoration:none}.area-view-stays{border:1px solid #b99d4a;background:#b99d4a;color:#fff}.area-panel-actions .area-directions{border:1px solid #d7d5c9;color:#304c36}.area-view-stays:hover{background:#a78c3c}.area-panel-actions .area-directions:hover{background:#e8e9df}.area-mini-stays:not([hidden]){margin-top:17px}.area-stay-link{min-height:68px}.area-stay-copy strong{font-size:22px}@media(max-width:700px){.area-selection{padding:24px 20px}.area-sheet-heading h3{font-size:36px}.area-character{margin-bottom:21px;font-size:12px}.area-destination-row{gap:10px;font-size:12px;min-height:51px}.area-destination-row dd{font-size:11px}.area-panel-actions{gap:10px}.area-view-stays,.area-panel-actions .area-directions{padding:10px 14px}}

/* Refinement: preserve stay links and a restrained secondary disclosure. */
.area-local-details{margin:8px 0 18px}.area-local-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:11px;color:#65715c;gap:8px}.area-local-details summary:before{content:'+'}.area-local-details[open] summary:before{content:'−'}.area-local-details dl{margin:0}.area-local-details .area-destination-row{font-size:11px;min-height:42px;padding:9px 0}.area-local-details .area-destination-row dd{white-space:normal;text-align:right;font-size:11px;max-width:180px}.area-selection>.area-directions{min-height:44px;margin-top:4px}.area-mini-stays:not([hidden]){margin-top:0}.area-stays-heading{margin-bottom:6px}.area-destination-row dd{font-size:11px}@media(max-width:700px){.area-local-details .area-destination-row dd{max-width:145px}.area-selection{padding:22px 18px}.area-destination-row{gap:8px}}

.area-secondary-group h4{font:500 10px/1.5 var(--sans,sans-serif);color:#7b806e;margin:10px 0 3px}.area-secondary-group{margin-bottom:10px}

/* Disclosure is outside the explorer: expansion cannot resize either column. */
.area-selection{align-self:start}.area-destinations{margin-bottom:22px}.area-local-section{border:1px solid #d1d7c8;border-radius:7px;background:#f5f3eb;margin-top:12px;padding:0 20px}.area-local-section .area-local-details{margin:0}.area-local-section summary{min-height:48px}.area-details-context{margin-left:auto;color:#7b806e;font-size:11px}.area-local-section .area-secondary-group{display:inline-block;vertical-align:top;width:calc(50% - 18px);margin:0 32px 18px 0}.area-local-section .area-secondary-group:last-child{margin-right:0}.area-local-section .area-destination-row dd{max-width:none}.area-local-section summary:focus-visible{outline-offset:-3px}@media(max-width:700px){.area-local-section{padding:0 18px}.area-local-section .area-secondary-group{display:block;width:auto;margin:0 0 18px}.area-details-context{font-size:10px}}

/* Stay membership belongs below the explorer, not in the compact area card. */
.area-stay-strip{margin-top:18px}.area-stay-strip .area-stays-heading{font-size:12px;margin:0 0 8px}.area-stay-strip .area-mini-stays{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));max-width:100%;gap:14px}.area-stay-strip .area-stay-link{max-width:370px;background:#f5f3eb;border:1px solid #d1d7c8;padding:10px 12px}.area-stay-strip .area-mini-stays:has(>.area-stay-link:only-child){grid-template-columns:minmax(230px,370px)}.area-selection .area-directions{margin-top:0}.area-selection .area-destinations{margin-bottom:14px}@media(max-width:700px){.area-stay-strip .area-mini-stays,.area-stay-strip .area-mini-stays:has(>.area-stay-link:only-child){grid-template-columns:1fr;gap:8px}.area-stay-strip .area-stay-link{max-width:none}}

/* Fixed semantic essentials, independent of research count or stay membership. */
.area-essentials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:100px;min-height:200px;margin:20px 0 14px;border-top:1px solid #d7d5c9;border-left:1px solid #d7d5c9}.area-essential{padding:12px 12px 10px;display:flex;flex-direction:column;min-width:0;border-bottom:1px solid #d7d5c9;border-right:1px solid #d7d5c9}.essential-label{font-size:10px;line-height:1.3;color:#7b806e;margin-bottom:6px}.essential-name{font-size:13px;line-height:1.35;color:#20392d;overflow-wrap:break-word}.essential-time{font-size:11px;line-height:1.4;color:#687064;margin-top:auto;padding-top:5px}.area-selection .area-character{min-height:42px;margin-bottom:0}.area-selection .area-directions{margin-top:0}@media(max-width:700px){.area-essentials{grid-auto-rows:114px;min-height:228px;margin-top:16px}.area-essential{padding:10px}.essential-name{font-size:12px}.essential-time{font-size:11px}.area-selection .area-character{min-height:39px}}
.area-essentials{height:201px;min-height:201px;grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-rows:auto;box-sizing:border-box}@media(max-width:700px){.area-essentials{height:229px;min-height:229px}}

/* Editorial highlights and all stays share the compact decision panel. */
.explorer-layout{grid-template-columns:minmax(0,1fr) 390px}.area-selection{align-self:stretch;padding:16px 20px;display:flex;flex-direction:column}.area-sheet-heading h3{font-size:32px;margin:6px 0 7px}.area-selection .area-character{min-height:0;font-size:12px;line-height:1.5;margin:0 0 13px}.area-important{margin-bottom:13px}.area-important h4,.area-selection .area-stays-heading{font:500 11px/1.5 var(--sans,sans-serif);margin:0 0 5px;color:#52634b}.area-important dl{margin:0}.important-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:40px;border-bottom:1px solid #d7d5c9;padding:7px 0;font-size:12px;line-height:1.45}.important-row dt,.important-row dd{margin:0}.important-row dd{font-size:11px;color:#687064;white-space:nowrap}.area-selection .area-mini-stays{display:grid;gap:2px;margin:0}.area-selection .area-stay-link{min-height:54px;padding:5px 6px;gap:8px}.area-selection .area-stay-copy strong{font-size:20px;line-height:1.1;margin:0 0 3px}.area-selection .area-stay-facts{font-size:12px;line-height:1.4}.area-selection .area-directions{margin-top:auto;padding-top:7px;min-height:44px}@media(max-width:700px){.explorer-layout{display:block}.area-selection{display:block;padding:20px 18px}.area-sheet-heading h3{font-size:32px}.area-selection .area-directions{margin-top:6px}.important-row{min-height:44px}}

/* Two-page editorial prototype; only the active page participates in focus. */
.explorer-layout{grid-template-columns:minmax(0,1fr) 360px}.area-selection{position:relative;display:block;padding:0;perspective:1300px;overflow:hidden;min-height:0}.area-page{position:absolute;inset:0;padding:15px 17px;display:flex;flex-direction:column;background:#f5f3eb;transform-origin:left center;transition:transform 380ms cubic-bezier(.2,.7,.2,1),opacity 300ms ease,visibility 380ms;backface-visibility:hidden}.area-overview{transform:rotateY(0);opacity:1;visibility:visible}.area-details-page{transform:translateX(8%) rotateY(7deg);opacity:0;visibility:hidden;pointer-events:none}.show-details .area-overview{transform:translateX(-5%) rotateY(-8deg);opacity:0;visibility:hidden;pointer-events:none}.show-details .area-details-page{transform:none;opacity:1;visibility:visible;pointer-events:auto}.area-selection .area-sheet-heading h3{font-size:30px;margin:5px 0 6px}.area-selection .area-character{font-size:12px;line-height:1.45;margin:0 0 10px}.area-important{margin:0 0 9px}.important-row{min-height:29px;padding:4px 0;font-size:11px;line-height:1.4;gap:8px}.important-row dd{font-size:10px}.area-selection .area-mini-stays{gap:2px}.area-selection .area-stay-link{min-height:50px;padding:4px 3px;gap:9px}.area-stay-link img{width:36px;height:38px}.area-selection .area-stay-copy strong{font-size:20px;margin-bottom:2px}.area-selection .area-stay-facts{font-size:12px;line-height:1.35}.area-page-footer{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:auto;padding-top:6px;flex-shrink:0}.area-page-footer .area-directions{margin:0;min-height:44px;padding:0;font-size:10px}.area-page-turn,.area-page-back{min-height:44px;border:0;background:transparent;color:#304c36;font:500 11px/1.4 var(--sans,sans-serif);padding:8px 3px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.area-page-turn:focus-visible,.area-page-back:focus-visible{outline-offset:1px}.area-details-title{font:400 21px/1.2 var(--serif);margin:20px 0 15px}.area-details-page .area-secondary-group{margin:0 0 18px}.area-details-page .area-secondary-group h4{font-size:11px;margin:0 0 6px}.area-details-page .area-destination-row{font-size:12px;min-height:44px}.area-details-page .area-destination-row dd{white-space:normal;text-align:right;max-width:155px;font-size:11px}.area-details-page .area-page-footer{justify-content:flex-start}@media(max-width:700px){.explorer-layout{display:block}.area-selection{height:550px;padding:0}.area-page{padding:20px 18px;transition:transform 330ms ease,opacity 250ms ease,visibility 330ms}.area-details-page{transform:translateX(5%)}.show-details .area-overview{transform:translateX(-5%)}.area-selection .area-stay-link{min-height:54px}.important-row{min-height:36px;font-size:12px}.important-row dd{font-size:11px}}@media(prefers-reduced-motion:reduce){.area-page{transition:none!important;transform:none!important}}
.area-page{transition:transform 380ms cubic-bezier(.2,.7,.2,1),opacity 300ms ease}@media(max-width:700px){.area-page{transition:transform 330ms ease,opacity 250ms ease}}
/* Visible paper turn: the overview sheet pivots on its left binding. */
.area-selection{perspective:1500px}.area-page{transition:none;transform:none;opacity:1;visibility:visible;backface-visibility:hidden}.area-details-page{z-index:1;transform:none;opacity:1;visibility:visible;pointer-events:none}.area-overview{z-index:2;transform-origin:0 50%;transform:rotateY(0deg);transition:transform 660ms cubic-bezier(.3,.1,.2,1);box-shadow:3px 0 10px #20392d0a;isolation:isolate}.area-overview:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 30%,#ffffff20 65%,#233d2c26 96%,#fff7 100%);opacity:0;transition:opacity 180ms ease}.show-details .area-overview{transform:rotateY(-105deg);opacity:1;visibility:visible;pointer-events:none}.show-details .area-overview:after{opacity:1}.show-details .area-details-page{transform:none;opacity:1;visibility:visible;pointer-events:auto}.area-overview:not([inert]){pointer-events:auto}@media(max-width:700px){.area-selection{perspective:1100px}.area-overview{transition-duration:600ms}.show-details .area-overview{transform:rotateY(-105deg)}}@media(prefers-reduced-motion:reduce){.area-page{transition:none!important;transform:none!important}.area-overview:after{display:none}.show-details .area-overview{visibility:hidden}.area-details-page{visibility:hidden}.show-details .area-details-page{visibility:visible}}

.area-building-group{margin:0 0 10px;padding:0 0 9px;border-bottom:1px solid #d7d5c9}.area-building-group h4{font:500 11px/1.5 var(--sans,sans-serif);color:#52634b;margin:0 0 4px}.area-building-group p{font-size:12px;line-height:1.5;margin:0;color:#20392d}

.area-details-full .area-details-title{margin:12px 0 12px}.area-details-full .area-secondary-group{margin-bottom:10px}.area-details-full .area-destination-row{min-height:40px;padding:8px 0}.area-details-full .area-secondary-group h4{margin-bottom:3px}
.area-details-full .area-secondary-group dl{margin:0}.area-details-full .area-destination-row{padding:6px 0}

.area-details-full .area-destination-row{min-height:32px;padding:6px 0;grid-template-columns:minmax(0,1fr) auto}.area-details-full .area-destination-row dd{max-width:none;white-space:nowrap}.area-details-full .area-details-title{margin:10px 0 10px}.area-details-full .area-secondary-group{margin-bottom:8px}


/* Fit the approved two-line Sector 63 context within its fixed desktop card. */
@media(min-width:701px){.area-selection[data-area-id="sector63"] .area-character{margin-bottom:7px}}

/* Keep mobile actions attached to their content within the fixed page shell. */
@media(max-width:700px){
  .area-page{padding-block:16px}
  .area-page-footer{margin-top:0;padding-top:8px;gap:12px}
  .area-details-page .area-secondary-group{margin-bottom:12px}
  .area-page-back{padding-inline:0}
  .area-details-page .area-secondary-group:has(+.area-page-footer){margin-bottom:0}
}

/* Both faces size the same natural-height shell; the document owns scrolling. */
@media(max-width:700px),(max-height:500px) and (max-width:1000px){
  .explorer-layout{display:block}
  .explorer-layout .area-selection{display:grid;height:auto;overflow:hidden}
  .area-selection .area-page{position:relative;inset:auto;grid-area:1 / 1;min-width:0;padding:16px 18px}
  .area-page-footer{margin-top:0;padding-top:8px;gap:12px}
  .area-details-page .area-secondary-group{margin-bottom:12px}
  .area-details-page .area-secondary-group:has(+.area-page-footer){margin-bottom:0}
  .area-page-back{padding-inline:0}
}

.area-page-turn,.area-page-back{scroll-margin-block:80px 16px}

/* Attribution now sits directly on the map, without a controls footer. */
.map-attribution{bottom:0}
@media(max-width:700px),(max-height:500px) and (max-width:1000px){.map-viewport{touch-action:pan-y pinch-zoom}}

/* Removing the map toolbar must not reduce the space available to card content. */
.area-selection{display:grid}
.area-page{position:relative;inset:auto;grid-area:1 / 1;min-width:0}

/* Fill the desktop map column; preserve geographic aspect ratio with cover. */
.cartographic-map{align-self:stretch;display:flex;flex-direction:column}
.map-viewport{flex:1;min-height:0}
@media(min-width:901px){.map-viewport{aspect-ratio:auto!important}}
.map-plane>img{width:100%;height:100%;object-fit:cover}
/* A readable stacked composition for phones, short landscapes and tablets. */
@media(max-width:900px){
  .explorer-layout{display:block}
  .map-viewport{flex:none;height:auto;touch-action:pan-y pinch-zoom}
  .explorer-layout .area-selection{display:grid;height:auto;border-left:0;border-top:1px solid #d1d7c8}
  .area-selection .area-page{position:relative;inset:auto;min-width:0;padding:16px 18px}
  .area-selection .area-page{justify-content:space-between}
  .area-page-footer{margin-top:0;padding-top:8px;gap:12px}
  .area-details-page .area-secondary-group{margin-bottom:12px}
  .area-details-page .area-secondary-group:has(+.area-page-footer){margin-bottom:0}
  .area-page-back{padding-inline:0}
}

/* Keep the privacy note and next section on one shared spacing rhythm. */
.area-map-section{margin-bottom:14px}
@media(max-width:900px){.area-map-section{margin-bottom:10px}.area-map-section+.stays-directory{padding-top:18px}}

/* Shared city section hierarchy, used by both map and stay inventory. */
.city-section-heading.city-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);align-items:end;gap:32px;margin:0 0 22px}
.city-section-heading.city-section-heading h2{font:400 clamp(36px,4vw,52px)/1.05 var(--serif);letter-spacing:-.035em;color:#20392d;text-transform:none;max-width:none;margin:0}
.city-section-heading.city-section-heading p{font:400 12px/1.7 "DM Sans",Arial,sans-serif;letter-spacing:normal;color:#52634b;text-transform:none;max-width:none;margin:0}
@media(max-width:900px){.city-section-heading.city-section-heading{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;margin-bottom:18px}}
@media(max-width:700px){.city-section-heading.city-section-heading h2{font-size:36px}}

/* Card-width placement follows the existing two/three-column city grid. */
.city-collection .decision-card{container-type:inline-size}
.city-collection .decision-action{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 44px;gap:0;align-items:center}
.city-collection .city-stay-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:20px;min-width:0;align-self:start}
.city-collection .decision-plan{font-weight:400}
/* Keep the shared 1em SVG and its shared 1.6 stroke; remove wrapper baseline slack. */
.city-collection .decision-card .decision-plan>span{display:inline-flex;align-items:center;line-height:1}
.city-collection .show-on-area-map{display:flex;align-items:center;min-width:44px;min-height:44px;padding:6px 0;font-size:11px;font-weight:400;color:#52634e;text-decoration:none;text-underline-offset:4px;white-space:nowrap}
.city-collection .show-on-area-map:hover,.city-collection .show-on-area-map:focus-visible{text-decoration:underline;color:#29472b}
.city-collection .show-on-area-map:active,.city-collection .decision-card .decision-plan:active{color:#183621}
@container(min-width:320px){
 .city-collection .decision-action{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px;column-gap:12px;padding-bottom:0}
 .city-collection .city-stay-actions{align-self:center}
}
@media(max-width:700px){
 .city-collection .decision-action{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 44px;column-gap:0;padding-bottom:0}
 .city-collection .city-stay-actions{gap:10px;align-self:start}
 .city-collection .decision-rating{align-self:start}
}
@container(max-width:145px){.city-collection .decision-plan{gap:4px}}

/* Keep accessible focus/targets without changing the original listing layout. */
.city-collection :is(a,button):focus-visible,.city-collection .decision-card .decision-plan:focus-visible{outline:3px solid #98642d;outline-offset:4px}
body:has(.city-collection) :is(header nav>a,.breadcrumbs>a,#footer .footer-top>div>a,header .brand,#footer .footer-top>a){display:inline-flex;align-items:center;min-height:44px}
body:has(.city-collection) .breadcrumbs{align-items:center}

/* One locality shell across cities, preserving the approved Gurgaon footprint. */
.explorer-layout .area-selection{min-height:502px}
@media(max-width:900px){.explorer-layout .area-selection{min-height:503px}}
@media(max-width:350px){.explorer-layout .area-selection{min-height:520px}}
@media(max-width:700px){.city-section-heading .city-heading-name{display:block}}
