/* City Wars artwork showcase. The atlas, rankings and download flow keep their existing hooks. */
.showcase-hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid #405654;border-radius:18px;background:#08282d;min-height:490px;height:clamp(490px,38vw,660px);margin-bottom:0}
.hero-visual{position:absolute;inset:0;margin:0;z-index:-1}
.hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:right top}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061c27f2 0%,#06202bdb 18%,#07273595 34%,#08273518 55%,transparent 72%)}
.hero-visual figcaption{position:absolute;right:18px;bottom:15px;z-index:1;color:#fff4db;background:#0a202bd9;border:1px solid #c7d0bc42;padding:5px 8px;border-radius:3px;font-size:10px;letter-spacing:.4px}
.hero-copy{max-width:610px;padding:clamp(34px,4.4vw,76px);padding-right:0;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-copy>.eyebrow{font-size:12px;letter-spacing:2.8px;color:#f8dfaa;margin:0 0 22px}
.hero-copy>.eyebrow span{display:inline-block;color:#c1d5d3;letter-spacing:1.2px;margin-left:9px;font-size:10px}
.hero-copy h1{font-size:clamp(38px,4.2vw,76px);font-weight:800;letter-spacing:-2.6px;line-height:1.04;margin:0;color:#fff9e9;text-wrap:balance}
.hero-copy h1 em{font-style:normal;color:#f8d497}
.hero-description{max-width:410px;color:#d3e1df;font-size:15px;line-height:1.7;margin:24px 0 0;text-wrap:pretty}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:27px;flex-wrap:wrap}
.showcase-primary{display:inline-flex;gap:28px;align-items:center;justify-content:center;padding:15px 21px;background:#f1cf8c;color:#142b2d;font-size:14px;font-weight:750;border:1px solid #ffe8b9;border-radius:6px;box-shadow:0 5px 20px #06121a44;transition:background .18s,transform .18s}
.showcase-primary:hover{background:#ffe4ad;transform:translateY(-2px)}
.showcase-primary span{font-size:19px}
.showcase-secondary{font-size:12px;color:#e5f1e9;border-bottom:1px solid #bddbcc70;padding:8px 0;white-space:nowrap}
.showcase-secondary span{padding-left:8px;color:#f1cf8c}
.hero-platform{font-size:10px;color:#aec9c7;margin:15px 0 0;line-height:1.6}
.hero-platform span{padding:0 7px;color:#b6b088}
.showcase-pillars{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #31464d;margin:0 0 31px;padding:18px 0;gap:18px}
.showcase-pillars p{font-size:12px;color:#b7cdcd;display:flex;gap:13px;align-items:center;justify-content:center;margin:0}
.showcase-pillars span{font-size:10px;color:#e9c991;border:1px solid #53605c;border-radius:50%;width:24px;height:24px;display:inline-grid;place-items:center;flex-shrink:0}
.page-heading h2{font-size:27px;letter-spacing:-.8px;color:#edf2e7;margin-top:6px}
.building-showcase{margin:46px 0 44px;scroll-margin-top:24px}
.showcase-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.showcase-heading .eyebrow{color:#dec188;font-size:10px}
.showcase-heading h2{font-size:clamp(30px,3vw,46px);color:#fff2d8;letter-spacing:-1.4px;margin:8px 0 10px;line-height:1.1}
.showcase-heading p:not(.eyebrow){font-size:14px;line-height:1.6;color:#adc2c9}
.showcase-heading .art-note{font-size:11px!important;color:#8da8b1!important;text-align:right;flex-shrink:0}
.building-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.building-card{display:block;text-align:left;width:100%;min-width:0;border:1px solid #40515a;background:#14232d;border-radius:12px;padding:0;overflow:hidden;color:#edf3e9;cursor:zoom-in;box-shadow:0 8px 25px #050c122b;transition:border-color .2s,transform .2s}
.building-card:hover{border-color:#dfbf83;background:#172c35;transform:translateY(-3px)}
.building-card:focus-visible,.showcase-primary:focus-visible,.showcase-secondary:focus-visible,.art-close:focus-visible{outline:3px solid #79e4c4;outline-offset:4px}
.building-photo{display:block;position:relative;aspect-ratio:1.22;overflow:hidden;background:#e7ddcf}
.building-photo img{width:100%;height:100%;object-fit:contain;display:block;background:#e7ddcf;transition:transform .4s ease}
.building-card:hover .building-photo img{transform:scale(1.025)}
.building-zoom{position:absolute;right:14px;bottom:14px;width:30px;height:30px;display:grid;place-items:center;font-size:18px;color:#fff4d7;background:#102630d9;border:1px solid #ffffff4a;border-radius:50%}
.building-caption{display:block;padding:20px 22px 22px}
.building-category{display:block;color:#9ebbbd;font-size:9px;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:9px}
.building-caption strong{display:block;font-size:22px;font-weight:650;letter-spacing:-.5px;color:#faedd2;line-height:1.15}
.building-line{display:block;color:#a9bdc6;font-size:12px;line-height:1.6;margin-top:8px}
.showcase-disclosure{font-size:10px;color:#8ba4af;margin-top:15px}
.download-panel{grid-template-columns:minmax(250px,33%) 1fr}
.download-photo{background:#e7ddcf;min-height:350px;isolation:isolate}
.download-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain;z-index:-1}
.download-photo>span{top:auto;bottom:16px;font-size:10px;letter-spacing:2px;background:#102731e6;padding:8px 12px;color:#f8e4bb;border:1px solid #b9c7be5e;border-radius:4px}
.building-art-dialog{width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #a0aea380;border-radius:14px;overflow:auto;background:#122733;color:#eaf2ef;box-shadow:0 20px 100px #000a}
.building-art-dialog::backdrop{background:#031018e8;backdrop-filter:blur(5px)}
.building-art-dialog form{position:sticky;top:0;height:0;z-index:1}
.art-close{position:absolute;right:12px;top:12px;width:42px;height:42px;background:#0d202deb;border:1px solid #9eafad;border-radius:50%;color:#fff;font-size:27px;cursor:pointer}
#building-art-image{display:block;width:100%;height:auto;max-height:calc(100dvh - 185px);object-fit:contain;background:#e7ddcf}
.art-dialog-copy{padding:20px 25px 23px}
.art-dialog-copy .eyebrow{color:#dec38e;font-size:9px}
.art-dialog-copy h2{font-size:25px;margin:6px 0;color:#fff0d3}
.art-dialog-copy>p:last-child{font-size:13px;color:#b9ccd0;line-height:1.5}
body.art-open{overflow:hidden}
@media(min-width:1800px){.hero-copy{max-width:690px}.hero-description{max-width:440px;font-size:17px}.building-photo{aspect-ratio:1.45}}
@media(max-width:1100px){.hero-copy{max-width:510px;padding-left:35px}.hero-copy h1{font-size:49px}.hero-description{font-size:14px;max-width:360px}.hero-visual:after{background:linear-gradient(90deg,#061c27ed,#06202bbb 30%,transparent 78%)}.building-gallery{gap:16px}.building-caption{padding:17px}.building-caption strong{font-size:20px}.building-line{font-size:11px}.building-photo{aspect-ratio:1}}
@media(max-width:1000px){.building-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.building-photo{aspect-ratio:1.3}.hero-actions{gap:15px}}
@media(max-width:740px){.showcase-hero{height:auto;min-height:0;border-radius:12px}.hero-visual{position:relative;inset:auto;aspect-ratio:7/3;z-index:0}.hero-visual img{position:absolute;inset:0}.hero-visual:after{background:linear-gradient(0deg,#08282d,transparent 34%)}.hero-visual figcaption{font-size:8px;right:9px;bottom:15px;padding:4px 6px}.hero-copy{padding:18px 25px 29px;max-width:none;height:auto}.hero-copy>.eyebrow{font-size:10px;margin-bottom:17px;letter-spacing:1.9px}.hero-copy>.eyebrow span{font-size:9px;margin-left:7px}.hero-copy h1{font-size:clamp(35px,7.4vw,53px);letter-spacing:-1.5px}.hero-description{max-width:470px;font-size:14px;margin-top:18px}.hero-actions{margin-top:21px;gap:20px}.hero-platform{font-size:9px}.showcase-pillars{gap:8px;padding:16px 0;margin-bottom:26px}.showcase-pillars p{font-size:10px;display:block;text-align:center;line-height:1.5}.showcase-pillars span{display:grid;margin:0 auto 7px}.page-heading h2{font-size:24px}.showcase-heading{display:block}.showcase-heading h2{font-size:35px}.showcase-heading .art-note{text-align:left;margin-top:13px}.building-showcase{margin:35px 0}.building-caption strong{font-size:19px}.building-line{font-size:12px}.download-panel{grid-template-columns:1fr}.download-photo{min-height:280px}.download-photo img{object-fit:contain}.art-dialog-copy{padding:16px 20px}.art-dialog-copy h2{font-size:22px}}
@media(max-width:520px){.building-gallery{grid-template-columns:1fr;gap:18px}.building-photo{aspect-ratio:1.15}.building-caption{padding:18px 20px}.building-caption strong{font-size:22px}.building-category{font-size:9px}.hero-actions{gap:14px;width:100%;align-items:flex-start;flex-direction:column}.showcase-primary{width:100%;font-size:14px}.hero-platform{font-size:9px}.showcase-secondary{font-size:12px}.showcase-heading p:not(.eyebrow){font-size:13px}.hero-copy>.eyebrow span{display:block;margin:5px 0 0}.hero-copy{padding-left:21px;padding-right:21px}.showcase-pillars p{font-size:9px}.showcase-disclosure{font-size:9px}}
@media(prefers-reduced-motion:reduce){.building-card,.building-photo img,.showcase-primary{transition:none;transform:none!important}}
