/* One exploration section; the map stays passive until explicitly expanded. */
.explore-modes { display:flex;border-bottom:1px solid #718a80;margin-bottom:16px;gap:24px; }
.explore-modes button { min-height:48px;border:0;border-bottom:3px solid transparent;background:none;color:#d7e1da;font-weight:600;padding:8px 2px;cursor:pointer; }
.explore-modes button[aria-pressed=true] { color:#f6f1e8;border-bottom-color:#d18561; }
#experiencia .experience-tabs,#experiencia .residence-type-tabs { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px;max-width:640px; }
#experiencia .experience-viewer { min-height:0; }
#experiencia .experience-media { min-height:0;height:clamp(300px,calc(100svh - 325px),480px);aspect-ratio:auto; }
#experiencia .section-heading,#ubicacion .section-heading { grid-template-columns:1.2fr 1fr; }
#experiencia .explorer-media-stage { height:clamp(220px,calc(100svh - 465px),320px); }
#experiencia .explorer-panel { color:#173b34;background:#f6f1e8; }
#experiencia .selection-summary { margin-top:0; }
#experiencia .selection-title,#experiencia .selection-facts { color:#173b34; }
#experiencia .selection-title span,#experiencia #explorer-description,#experiencia .selection-facts dt,#experiencia .residence-features li { color:#425a4e; }
#experiencia .selection-summary { border-color:#9caea2; }
#experiencia .selection-summary.is-updating { animation:none; }
.neighborhood { color:#173b34; }
.place-filters { display:flex;gap:8px;margin-bottom:16px; }
.place-filters button { border:1px solid #82948b;background:transparent;color:inherit;min-height:44px;padding:8px 18px;cursor:pointer; }
.place-filters button[aria-pressed=true] { background:#173b34;color:#f6f1e8;border-color:#173b34; }
.neighborhood-layout { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:24px; }
.neighborhood-map { position:relative;min-width:0;background:#d2d6cd; }
.neighborhood #location-map { height:clamp(320px,calc(100svh - 330px),440px);width:100%;touch-action:pan-y pinch-zoom; }
.neighborhood #location-map .leaflet-control-attribution { font-size:10px; }
.map-expand-control { position:absolute;z-index:500;right:12px;bottom:28px;min-height:44px;padding:10px 15px;border:1px solid #173b34;background:#f6f1e8;color:#173b34;font-weight:600;cursor:pointer; }
.neighborhood-info { display:flex;flex-direction:column;min-width:0; }
.place-list { display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-bottom:16px; }
.place-list button { display:flex;align-items:center;gap:8px;min-width:0;min-height:48px;padding:7px 9px;border:1px solid #9caea2;background:none;color:#173b34;text-align:left;font-size:.8rem;line-height:1.3;cursor:pointer; }
.place-list button[aria-pressed=true] { background:#173b34;color:#f6f1e8;border-color:#173b34; }
.place-list svg,.place-list img { width:21px;height:23px;flex-shrink:0; }
.place-list button:not([aria-pressed=true]) img { background:#173b34;padding:3px; }
.place-list svg,.place-pin svg { fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.place-detail { border-top:1px solid #9caea2;padding-top:16px; }
.place-detail #place-category { font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase; }
.place-detail h3 { font:400 clamp(1.65rem,2.3vw,2.3rem)/1.12 var(--display);margin:8px 0 12px; }
.place-detail #place-note { font-size:.9rem;line-height:1.5;min-height:4.5em; }
.place-actions { display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px; }
.place-actions a,.place-actions button { display:inline-flex;align-items:center;min-height:44px;background:none;border:0;padding:0;color:#173b34;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer; }
.neighborhood-note { font-size:.75rem;line-height:1.5;margin:14px 0 0;color:#4a6156; }
.place-pin { display:flex!important;align-items:center;justify-content:center;border-radius:50%;background:#f6f1e8;border:2px solid #173b34;color:#173b34; }
.place-pin svg { width:22px;height:22px; }
.place-pin img { width:20px;height:27px; }
.place-pin--project { background:#173b34;border-color:#f6f1e8; }
.place-pin.is-selected,.place-pin.is-highlighted { outline:3px solid #b85f3e;outline-offset:3px; }
.place-tooltip { font:600 13px/1.3 Manrope,sans-serif;color:#173b34;background:#f6f1e8;border:0;box-shadow:none;padding:6px 9px; }
.map-dialog { width:min(1440px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;border:0;padding:24px;overflow:auto;background:#f6f1e8;color:#173b34;overscroll-behavior:contain; }
.map-dialog::backdrop { background:rgba(5,22,18,.82); }
.map-dialog-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px; }
.map-dialog-heading h2 { font:400 2rem/1.1 var(--display);margin:0; }
.map-dialog-heading button { min-height:44px;padding:8px 14px;border:1px solid #173b34;background:none;color:inherit;cursor:pointer; }
.map-dialog #location-map { height:min(65dvh,700px);touch-action:none; }
.map-dialog .map-expand-control { display:none; }
@media(max-width:900px){
  #experiencia .section-heading,#ubicacion .section-heading { grid-template-columns:1fr; }
  .neighborhood-layout { grid-template-columns:1fr;gap:14px; }
  .neighborhood #location-map { height:260px; }
  .place-list { display:flex;overflow-x:auto;padding:2px 2px 10px;gap:8px; }
  .place-list button { flex-shrink:0;white-space:nowrap;padding:8px 12px; }
  .place-detail { padding-top:12px; }
  .place-detail h3 { font-size:1.65rem;margin:5px 0 8px; }
  .place-detail #place-note { min-height:0;font-size:.875rem; }
  .neighborhood-note { margin-top:8px; }
  .place-filters { gap:6px;margin-bottom:12px; }
  .place-filters button { flex:1;padding:8px 6px;font-size:.875rem; }
  .map-dialog { padding:16px;width:calc(100% - 16px);max-height:calc(100dvh - 16px); }
  .map-dialog-heading h2 { font-size:1.6rem; }
  .map-dialog-heading button { font-size:.8rem; }
  .map-dialog #location-map { height:40dvh;min-height:220px; }
}
@media(max-width:680px){
  #experiencia .section-heading { margin-bottom:10px; }
  #experiencia .section-heading p { font-size:.875rem; }
  .explore-modes { margin-bottom:10px; }
  #experiencia .experience-tabs,#experiencia .residence-type-tabs { gap:0;margin-bottom:10px; }
  #experiencia .experience-tabs button,#experiencia .residence-type-tabs button { padding:6px 3px;font-size:.75rem; }
  #experiencia .experience-viewer { min-height:0; }
  #experiencia .experience-media { min-height:0;height:clamp(180px,25svh,240px);aspect-ratio:auto; }
  #experiencia .experience-copy { padding:14px;gap:6px; }
  #experiencia .experience-copy h3 { font-size:1.65rem; }
  #experiencia .experience-copy .experience-support { font-size:.8rem; }
  #experiencia .explorer-media-stage { height:200px; }
  #experiencia .masterplan-label { top:8px;left:8px;max-width:calc(100% - 16px);font-size:.7rem;padding:8px; }
  #experiencia .explorer-panel { padding:12px 16px; }
  #experiencia .media-selector button { display:block;flex:1 0 auto;padding:10px 12px; }
  #experiencia .media-selector img { display:none; }
  #experiencia .media-selector span { white-space:nowrap; }
  #experiencia .selection-title strong { font-size:1.6rem; }
  #experiencia .selection-summary { padding-top:0; }
  #experiencia .map-note { padding:8px 12px;font-size:.75rem;min-height:0; }
  #experiencia .selection-facts { margin:8px 0; }
  #experiencia .residence-description summary { padding:6px 0; }
  .neighborhood #location-map { height:220px; }
  .map-dialog #location-map { height:36dvh;min-height:210px; }
}
@media(min-width:901px) and (max-height:800px){
  .aitana-page .section { padding-top:calc(var(--header-height) + 20px);padding-bottom:20px; }
  #experiencia .experience-media { height:clamp(280px,calc(100svh - 355px),400px); }
  .inventory .section-heading { margin-bottom:12px; }
  .inventory-toolbar { padding:6px 0; }
  .inventory-meta { margin:4px 0; }
  .inventory-meta p,.selection-bar p { margin:0; }
  .unit-table th,.unit-table td { padding:5px 12px; }
  .selection-bar { padding-top:8px; }
  .inventory .data-note { margin-top:8px; }
  .contact-copy h2 { font-size:3rem; }
}
