
/* ===== Emira Lux Projects page ===== */
.elux .projects-page{background:var(--aman-bg);color:var(--aman-ink)}
.elux .projects-intro{padding:110px 0 88px;background:var(--aman-bg);border-bottom:1px solid var(--aman-line)}
.elux .projects-intro-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:10vw;align-items:end}
.elux .projects-intro h1{font-family:"Spectral",serif;font-size:clamp(52px,6vw,92px);font-weight:300;line-height:.98;letter-spacing:-.03em;margin:14px 0 0;color:var(--aman-ink)}
.elux .projects-intro-copy{max-width:560px;padding-bottom:8px}
.elux .projects-intro-copy p{font-family:"Source Sans 3",sans-serif;font-size:17px;line-height:1.75;color:var(--aman-muted);margin:0}
.elux .projects-intro-copy .projects-note{font-size:12px;line-height:1.6;margin-top:22px;color:#77716a}

.elux .projects-map-section{padding:104px 0 118px;background:var(--aman-bg);border-bottom:1px solid var(--aman-line)}
.elux .projects-map-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:10vw;align-items:end;margin-bottom:48px}
.elux .projects-map-head h2{font-family:"Spectral",serif;font-size:clamp(44px,5vw,72px);font-weight:300;line-height:1.03;letter-spacing:-.03em;margin:12px 0 0}
.elux .projects-map-intro{max-width:560px}
.elux .projects-map-intro p{font-family:"Source Sans 3",sans-serif;font-size:16px;line-height:1.75;color:var(--aman-muted);margin:0}

.elux .projects-map-shell{position:relative;min-height:720px;background:#e8e6e1;overflow:hidden;border:1px solid var(--aman-line)}
.elux .projects-map-canvas{position:absolute;inset:0}
.elux .projects-map-panel{position:absolute;z-index:5;top:28px;left:28px;width:min(340px,calc(100% - 56px));max-height:calc(100% - 56px);overflow:auto;background:rgba(248,247,243,.96);backdrop-filter:blur(10px);border:1px solid rgba(215,211,205,.95);box-shadow:0 16px 50px rgba(31,30,28,.08)}
.elux .projects-map-panel-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:24px 24px 18px;border-bottom:1px solid var(--aman-line)}
.elux .projects-map-kicker{display:block;font-family:"Source Sans 3",sans-serif;text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:#77716a;margin-bottom:8px}
.elux .projects-map-panel h3{font-family:"Spectral",serif;font-size:30px;font-weight:300;line-height:1;margin:0}
.elux .projects-map-total{font-family:"Spectral",serif;font-size:28px;font-weight:300;color:#8a837b}
.elux .projects-map-filters{display:flex;gap:20px;padding:16px 24px;border-bottom:1px solid var(--aman-line)}
.elux .map-filter{appearance:none;border:0;border-bottom:1px solid transparent;background:transparent;padding:2px 0 5px;font-family:"Source Sans 3",sans-serif;font-size:11px;color:#77716a;cursor:pointer}
.elux .map-filter.is-active{color:var(--aman-ink);border-bottom-color:var(--aman-ink)}

.elux .projects-map-list{display:flex;flex-direction:column}
.elux .projects-map-item{appearance:none;width:100%;border:0;border-bottom:1px solid var(--aman-line);background:transparent;display:grid;grid-template-columns:16px 1fr 18px;gap:11px;align-items:center;text-align:left;padding:17px 24px;cursor:pointer;color:var(--aman-ink);transition:background .25s ease}
.elux .projects-map-item:hover,.elux .projects-map-item.is-active{background:#efede8}
.elux .projects-map-item[hidden]{display:none!important}
.elux .projects-map-item-index{font-size:16px;line-height:1;color:#8b8379}
.elux .projects-map-item-copy{min-width:0}
.elux .projects-map-item-copy strong{display:block;font-family:"Spectral",serif;font-size:18px;font-weight:300;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.elux .projects-map-item-copy small{display:block;font-family:"Source Sans 3",sans-serif;font-size:10px;letter-spacing:.04em;color:#77716a;margin-top:5px}
.elux .projects-map-item-arrow{font-family:"Source Sans 3",sans-serif;font-size:14px;color:#77716a}
.elux .projects-map-legend{display:flex;justify-content:space-between;gap:15px;padding:15px 24px;font-family:"Source Sans 3",sans-serif;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#77716a}
.elux .projects-map-legend span{display:flex;align-items:center;gap:7px}
.elux .projects-map-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--aman-ink)}

.elux .projects-map-hint{position:absolute;z-index:4;right:18px;bottom:16px;background:rgba(248,247,243,.9);padding:8px 10px;font-family:"Source Sans 3",sans-serif;font-size:9px;letter-spacing:.04em;color:#6f6962}
.elux .home-map-footer{display:flex;justify-content:flex-end;padding-top:24px}
.elux .projects-map-shell .maplibregl-ctrl-top-right{top:18px;right:18px}
.elux .projects-map-shell .maplibregl-ctrl-group{border-radius:0;box-shadow:none;border:1px solid var(--aman-line);background:rgba(248,247,243,.95)}
.elux .projects-map-shell .maplibregl-ctrl-group button{width:34px;height:34px}
.elux .projects-map-shell .maplibregl-ctrl-attrib{font-family:"Source Sans 3",sans-serif;font-size:9px;background:rgba(248,247,243,.85)}

.elux .emap-marker{appearance:none;width:42px;height:42px;border-radius:50%;border:1px solid rgba(248,247,243,.9);background:var(--aman-ink);color:var(--aman-white);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,36,34,.18);cursor:pointer;transition:transform .2s ease,background .2s ease}
.elux .emap-marker:hover{transform:scale(1.08);background:#403d39}
.elux .emap-marker span{font-family:"Source Sans 3",sans-serif;font-size:10px;letter-spacing:.08em}
.elux .emap-landmark{pointer-events:none;padding:5px 7px;background:rgba(248,247,243,.9);border:1px solid rgba(215,211,205,.85);font-family:"Source Sans 3",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:8px;color:#615c56;white-space:nowrap}

.elux .maplibregl-popup{z-index:8}
.elux .maplibregl-popup-content{padding:0!important;border-radius:0!important;box-shadow:0 18px 48px rgba(26,25,24,.16)!important;background:var(--aman-paper)!important}
.elux .maplibregl-popup-close-button{font-size:20px;color:#6b6660;padding:7px 10px;z-index:2}
.elux .emap-popup-card{width:300px}
.elux .emap-popup-card>img{display:block;width:100%;height:150px;object-fit:cover;background:#ddd8d1}
.elux .emap-popup-body{padding:18px 19px 20px}
.elux .emap-popup-meta{font-family:"Source Sans 3",sans-serif;text-transform:uppercase;letter-spacing:.11em;font-size:8px;color:#77716a;margin-bottom:8px}
.elux .emap-popup-body h4{font-family:"Spectral",serif;font-size:25px;font-weight:300;line-height:1.07;margin:0 0 12px;color:var(--aman-ink)}
.elux .emap-popup-facts{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.elux .emap-popup-facts span{font-family:"Source Sans 3",sans-serif;font-size:10px;color:#6d6761;border:1px solid var(--aman-line);padding:5px 7px}
.elux .emap-popup-body a{display:inline-block;font-family:"Source Sans 3",sans-serif;font-size:11px;color:var(--aman-ink);text-decoration:none;border-bottom:1px solid #9a948c;padding-bottom:4px}

.elux .projects-listing{padding:46px 0 120px;background:var(--aman-paper)}
.elux .projects-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--aman-line);padding-bottom:20px;margin-bottom:44px}
.elux .projects-count{font-family:"Source Sans 3",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#6c6761}
.elux .projects-filters{display:flex;gap:28px;align-items:center}
.elux .project-filter{appearance:none;border:0;border-bottom:1px solid transparent;background:transparent;padding:4px 0 6px;font-family:"Source Sans 3",sans-serif;font-size:13px;color:#6b6660;cursor:pointer}
.elux .project-filter.is-active{color:var(--aman-ink);border-bottom-color:var(--aman-ink)}
.elux .projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:76px 34px}
.elux .project-list-card[hidden]{display:none!important}
.elux .project-list-image{display:block;aspect-ratio:1.38/1;overflow:hidden;background:#ddd8d1}
.elux .project-list-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}
.elux .project-list-card:hover .project-list-image img{transform:scale(1.025)}
.elux .project-list-meta{display:flex;justify-content:space-between;gap:20px;margin-top:20px;font-family:"Source Sans 3",sans-serif;text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:#77716a}
.elux .project-list-card h2{font-family:"Spectral",serif;font-weight:300;font-size:clamp(30px,3vw,44px);line-height:1.08;margin:12px 0 16px;letter-spacing:-.02em}
.elux .project-list-card h2 a{color:var(--aman-ink);text-decoration:none}
.elux .project-list-link{display:inline-flex;gap:10px;align-items:center;font-family:"Source Sans 3",sans-serif;font-size:12px;letter-spacing:.03em;color:var(--aman-ink);text-decoration:none;border-bottom:1px solid #9a948c;padding-bottom:5px}
.elux .projects-closing{padding:112px 0 124px;background:var(--aman-bg);border-top:1px solid var(--aman-line)}
.elux .projects-closing-inner{max-width:900px}
.elux .projects-closing h2{font-family:"Spectral",serif;font-size:clamp(42px,5vw,72px);font-weight:300;line-height:1.02;letter-spacing:-.03em;margin:14px 0 24px}
.elux .projects-closing p{font-family:"Source Sans 3",sans-serif;font-size:17px;line-height:1.7;color:var(--aman-muted);max-width:610px;margin:0 0 30px}

@media (max-width:900px){
  .elux .projects-intro{padding:78px 0 66px}
  .elux .projects-intro-grid{grid-template-columns:1fr;gap:34px}
  .elux .projects-intro-copy{max-width:650px}
  .elux .projects-map-section{padding:78px 0 88px}
  .elux .projects-map-head{grid-template-columns:1fr;gap:28px;margin-bottom:36px}
  .elux .projects-map-intro{max-width:650px}
  .elux .projects-map-shell{min-height:680px}
  .elux .projects-map-panel{width:310px}
  .elux .projects-grid{gap:58px 24px}
  .elux .projects-closing{padding:86px 0 94px}
}
@media (max-width:560px){
  .elux .projects-intro{padding:58px 0 48px}
  .elux .projects-intro h1{font-size:46px}
  .elux .projects-intro-copy p{font-size:15px}
  .elux .projects-map-section{padding:62px 0 72px}
  .elux .projects-map-head h2{font-size:40px}
  .elux .projects-map-head{margin-bottom:28px}
  .elux .projects-map-intro p{font-size:15px}
  .elux .projects-map-shell{display:flex;flex-direction:column;min-height:0;overflow:visible;background:transparent;border:0}
  .elux .projects-map-panel{position:relative;top:auto;left:auto;order:1;width:100%;max-height:none;overflow:visible;box-shadow:none;background:var(--aman-paper);border:1px solid var(--aman-line)}
  .elux .projects-map-canvas{position:relative;inset:auto;order:2;height:520px;margin-top:14px;border:1px solid var(--aman-line)}
  .elux .projects-map-hint{right:9px;bottom:9px;font-size:8px}
  .elux .projects-map-panel-top{padding:20px}
  .elux .projects-map-filters{padding:14px 20px}
  .elux .projects-map-item{padding:15px 20px}
  .elux .projects-map-legend{padding:13px 20px}
  .elux .emap-popup-card{width:210px}
  .elux .emap-popup-card>img{display:none}
  .elux .emap-popup-facts{display:none}
  .elux .emap-popup-body{padding:13px 14px 14px}
  .elux .emap-popup-meta{font-size:7px;margin-bottom:6px}
  .elux .emap-popup-body h4{font-size:19px;line-height:1.08;margin:0 0 10px;padding-right:18px}
  .elux .emap-popup-body a{font-size:10px}
  .elux .maplibregl-popup-close-button{font-size:17px;padding:5px 7px}
  .elux .projects-listing{padding:28px 0 78px}
  .elux .projects-toolbar{align-items:flex-start;gap:18px;flex-direction:column;margin-bottom:30px}
  .elux .projects-filters{gap:22px;flex-wrap:wrap}
  .elux .projects-grid{grid-template-columns:1fr;gap:52px}
  .elux .project-list-image{aspect-ratio:1.2/1}
  .elux .project-list-card h2{font-size:31px}
  .elux .projects-closing{padding:72px 0 80px}
}
