.cinema-slider{top:15%}.slider-heading{padding-bottom:25px}.cinema-card{position:relative;display:block;padding:0;width:clamp(290px,30vw,440px);height:clamp(340px,53svh,520px);min-height:0;overflow:hidden;border:0;color:#fff;background:#173c2f;text-align:left}.card-photo{position:absolute;inset:0;background-position:center;background-size:cover;transition:transform .65s cubic-bezier(.2,.7,.3,1)}.cinema-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10251c10,#10251c35 25%,#10251cf0 100%);pointer-events:none}.card-body{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:28px;justify-content:flex-end}.card-category{margin-bottom:auto;align-self:flex-start;font-size:9px;letter-spacing:.15em;padding:8px 10px;background:#173c2fbb;border:1px solid #ffffff45}.cinema-card strong{font-size:clamp(23px,2.2vw,34px);max-width:14ch;line-height:1.05}.cinema-card p{margin:18px 0;color:#e3e9dc;font-size:12px;max-width:34ch;line-height:1.7}.card-action{border-top:1px solid #ffffff55;padding-top:16px;font-size:9px;letter-spacing:.13em;color:#dce7a9}.cinema-card:hover,.cinema-card:focus-visible{background:#173c2f;color:white}.cinema-card:hover .card-photo,.cinema-card:focus-visible .card-photo{transform:scale(1.065)}.cinema-card[data-discipline="1"]{width:clamp(310px,33vw,480px)}.cinema-card[data-discipline="4"]:after{background:linear-gradient(180deg,#28413110,#284131f5)}.cinema-card[data-discipline="5"] .card-body{background:#18392e75}.cinema-card[data-discipline="6"] .card-category{background:#dce7a9;color:#18392e}.cinema-card[data-discipline="6"] strong{font-size:clamp(30px,3.2vw,48px)}
.project-explorer{border:1px solid var(--line)}.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 28px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.13em}.map-toolbar button,.map-regions button,.atlas-back,.atlas-project{background:transparent;color:var(--ink);border:1px solid var(--line);padding:12px 16px;font-size:11px}.map-layout{display:grid;grid-template-columns:1.8fr 1fr}.map-wrap{position:relative;min-width:0}#project-map{height:530px;background:#d9e3da;z-index:0}.project-detail{padding:40px 30px;background:#e4e9db}.atlas-label{font-size:9px;letter-spacing:.15em}.project-detail h3{font-size:clamp(27px,3vw,43px);font-weight:500;letter-spacing:-.04em;margin:35px 0 20px}.project-detail p{font-size:13px;line-height:1.8}.atlas-empty{padding:24px 0;border-top:1px solid var(--line);color:#62715f}.project-detail .textlink{margin-top:25px}.map-regions{display:flex;flex-wrap:wrap;gap:8px;padding:24px 28px;border-top:1px solid var(--line)}.map-regions button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-explorer>.note{padding:0 28px 20px;margin:0}.map-status:empty{display:none}.map-status{position:absolute;bottom:35px;left:15px;right:15px;z-index:401;background:#f3f2e9;padding:12px;font-size:12px}.atlas-project{display:block;width:100%;text-align:left;margin:10px 0}.project-detail img{width:100%;max-height:240px;object-fit:cover}.project-pin span{display:block;width:24px;height:24px;background:#173c2f;border:4px solid #dce7a9;border-radius:50%;box-shadow:0 0 0 5px #173c2f30}.leaflet-container{font-family:'DM Sans','Microsoft YaHei',sans-serif}.leaflet-control-attribution{font-size:9px!important}.leaflet-control-zoom{border:0!important;box-shadow:0 3px 15px #173c2f20!important}
@media(max-width:760px){.cinema-slider{top:17%}.cinema-card,.cinema-card[data-discipline="1"]{width:78vw;height:48svh;min-height:320px}.card-body{padding:23px}.cinema-card strong{font-size:25px}.cinema-card p{font-size:11px;margin:13px 0}.map-layout{grid-template-columns:1fr}#project-map{height:380px}.project-detail{padding:28px}.map-toolbar{padding:20px;align-items:start}.map-toolbar span{max-width:140px;line-height:1.6}.map-toolbar button{font-size:9px}.map-regions{padding:20px;gap:7px}.map-regions button{padding:10px 13px}.project-detail h3{margin-top:20px}.slider-heading h2{font-size:28px}}
@media(max-height:650px) and (min-width:761px){.cinema-slider{top:13%}.cinema-card{height:55svh;min-height:280px}.card-body{padding:20px}.cinema-card p{margin:10px 0;font-size:11px}.card-category{padding:5px 8px}.slider-heading{padding-bottom:15px}.card-action{padding-top:9px}}
@media(prefers-reduced-motion:reduce){.card-photo{transition:none}.cinema-card:hover .card-photo{transform:none}}
/* Quiet geographic silhouette with project locations rather than a street map. */
.project-explorer{border:0;background:#193e30;color:#f3f2e9}.map-toolbar{border-bottom:1px solid #f3f2e926;padding:25px 32px}.map-location{font-size:9px;letter-spacing:.2em;color:#ccd8be}.map-layout{grid-template-columns:1.6fr 1fr;align-items:stretch}.map-wrap{display:flex;align-items:center;padding:40px 25px;min-height:390px}#project-map{height:auto;width:100%;background:transparent}.outline-canvas{position:relative;width:100%;margin:auto}.outline-canvas svg{width:100%;height:100%;display:block;overflow:visible}.outline-canvas path{fill:#c5d1b810;stroke:#cbd6bf88;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linejoin:round}.project-detail{background:transparent;color:#f3f2e9;padding:50px 35px;border-left:1px solid #f3f2e926}.atlas-label{color:#c4d2b4}.project-detail h3{font-size:clamp(28px,3vw,44px)}.atlas-empty{color:#c4d2b4;border-color:#f3f2e930}.project-detail .textlink{color:#e3eacb}.project-explorer>.note{color:#aebfa7;padding:22px 32px;border-top:1px solid #f3f2e926;font-size:10px;max-width:none}.atlas-back,.atlas-project{color:#f3f2e9;border-color:#f3f2e940}.outline-pin{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.outline-pin span{width:10px;height:10px;background:#e3eacb;border:2px solid #193e30;border-radius:50%;box-shadow:0 0 0 5px #e3eacb25;transition:box-shadow .2s,transform .2s}.outline-pin:hover span,.outline-pin[aria-pressed=true] span{transform:scale(1.3);box-shadow:0 0 0 9px #e3eacb30}.outline-pin:focus-visible{outline:1px solid #e3eacb;border-radius:50%}
@media(max-width:760px){.map-layout{grid-template-columns:1fr}.map-wrap{min-height:250px;padding:20px 10px}.project-detail{border-left:0;border-top:1px solid #f3f2e926;padding:30px 25px}.map-toolbar{padding:22px 25px}#project-map{height:auto}.project-explorer>.note{padding:20px 25px}}

/* Keep the subject legible in portrait discipline cards. */
.cinema-card[data-discipline="0"] .card-photo{background-position:62% center}.cinema-card[data-discipline="1"] .card-photo{background-position:center 45%}.cinema-card[data-discipline="2"] .card-photo{background-position:center center}.cinema-card[data-discipline="4"] .card-photo{background-position:62% center}.cinema-card[data-discipline="5"] .card-body{background:transparent}

/* Original company artwork alongside the existing studio wordmark. */
header .brand{display:flex;align-items:center;gap:14px;flex-shrink:0}header .brand-logo{display:block;width:112px;height:auto;object-fit:contain;background:white;padding:5px;border-radius:2px}header .brand-wordmark{display:block}header .brand small{white-space:nowrap}
@media(max-width:1000px){header{gap:20px}header .brand{gap:10px}header .brand-logo{width:86px}header .brand{font-size:19px;letter-spacing:2px}header .brand small{font-size:8px;letter-spacing:2px}}
@media(max-width:480px){header .brand-logo{width:72px;padding:4px}header .brand{gap:9px;font-size:16px}header .brand small{font-size:7px;letter-spacing:1.6px}}

/* Display only the original upper emblem, white on genuine transparent SVG space. */
header .brand-logo{background:transparent;padding:0;border-radius:0;overflow:hidden;width:112px;height:auto;flex-shrink:0}
@media(max-width:1000px){header .brand-logo{width:86px}}
@media(max-width:480px){header .brand-logo{width:72px;padding:0}}
/* Larger emblem aligned to the complete two-line company name. */
header .brand{align-items:center;gap:16px;line-height:1}
header .brand-wordmark{line-height:1}
header .brand-wordmark small{line-height:1;margin-top:7px}
header .brand-logo{width:146px;align-self:center}
@media(max-width:1000px){header .brand{gap:12px}header .brand-logo{width:112px}}
@media(max-width:480px){header .brand{gap:10px}header .brand-logo{width:96px}header .brand-wordmark small{margin-top:6px}}
