.operation { grid-template-columns: .78fr 1.22fr; gap: 70px; }
.technical-diagram { position: relative; min-height: 650px; display: flex; align-items: center; justify-content: center; background: radial-gradient(ellipse, #fff 0%, #e6eae7 67%, transparent 68%); }
.technical-diagram img { width: 100%; height: 650px; object-fit: contain; filter: drop-shadow(0 28px 25px rgba(22,31,25,.18)); }
.hotspot { position: absolute; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: #0b1209; font-weight: 800; font-size: .78rem; box-shadow: 0 0 0 6px rgba(88,198,56,.2), 0 6px 16px rgba(0,0,0,.2); transition: .2s; z-index: 3; }
.hotspot:hover { transform: scale(1.14); background: var(--green-bright); }
.hotspot:after { content: attr(data-label); position: absolute; left: 42px; white-space: nowrap; padding: 6px 8px; background: #121714; color: #fff; font-size: .64rem; letter-spacing: .04em; opacity: 0; pointer-events: none; transform: translateX(-5px); transition: .2s; }
.hotspot:hover:after, .hotspot:focus:after { opacity: 1; transform: none; }
.hotspot.h1 { left: 20%; top: 37%; }
.hotspot.h2 { left: 5%; top: 55%; }
.hotspot.h3 { right: 9%; bottom: 20%; }
.hotspot.h4 { left: 35%; top: 7%; }
.hotspot.h5 { right: 22%; top: 15%; }
.hotspot.h6 { left: 40%; top: 31%; }
.operation .component-list { grid-column: 1/-1; grid-template-columns: repeat(6,1fr); }
.operation .component-list div { gap: 10px; transition: .2s; }
.operation .component-list div:target { background: #d7edd0; box-shadow: inset 0 -2px var(--green); }
.operation .component-list span { font-size: .8rem; }
@media(max-width:900px){.operation{grid-template-columns:1fr}.technical-diagram{min-height:570px}.technical-diagram img{height:570px}.operation .component-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.technical-diagram{min-height:440px}.technical-diagram img{height:440px}.hotspot{width:28px;height:28px;font-size:.68rem}.hotspot:after{display:none}.operation .component-list{grid-template-columns:1fr 1fr}}
.detail-cta-note { max-width: 660px; margin: 18px 0 0; color: #173410; font-size: .88rem; line-height: 1.75; }

.projects-gallery-launch{background:#111713;color:#fff}.projects-gallery-launch .detail-kicker{color:rgba(255,255,255,.42);border-color:rgba(255,255,255,.15)}
.gallery-launch-copy{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.gallery-launch-copy h2{margin-bottom:0}.gallery-launch-copy>div:last-child>p{color:rgba(255,255,255,.68);line-height:1.8;max-width:540px;margin:0 0 26px}
.gallery-open{appearance:none;border:1px solid var(--green-bright);background:var(--green);color:#0a1609;padding:17px 20px;font:800 .78rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.gallery-open span{margin-left:38px}.gallery-open:hover{background:var(--green-bright)}
.gallery-album,.gallery-viewer{border:0;padding:0;color:#fff;background:#111713;box-shadow:0 30px 90px #0009}.gallery-album::backdrop,.gallery-viewer::backdrop{background:rgba(2,5,3,.82);backdrop-filter:blur(7px)}
.gallery-album{width:min(1120px,92vw);max-width:none;max-height:88vh;padding:28px}.gallery-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.gallery-dialog-head h2{font:600 clamp(2rem,4vw,3.4rem)/1 Oswald,sans-serif;text-transform:uppercase;margin:7px 0 0}.gallery-dialog-head .eyebrow{color:var(--green-bright);margin:0}
.gallery-close,.viewer-close{border:1px solid #566058;background:#1b221d;color:#fff;width:45px;height:45px;font-size:2rem;line-height:1;cursor:pointer}.gallery-close:hover,.viewer-close:hover{border-color:var(--green-bright);color:var(--green-bright)}
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.album-grid button{border:0;padding:0;background:#222a24;cursor:zoom-in;aspect-ratio:4/3;overflow:hidden}.album-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.album-grid button:hover img,.album-grid button:focus-visible img{transform:scale(1.035)}
.gallery-viewer{width:min(940px,90vw);max-width:none;max-height:90vh;padding:18px}.gallery-viewer img{display:block;width:auto;height:auto;max-width:100%;max-height:75vh;margin:auto;object-fit:contain}.gallery-viewer p{margin:12px 52px 2px 0;color:#cbd3cd;font-size:.9rem}.viewer-close{position:absolute;right:18px;top:18px;z-index:2;background:#0a0d0bcc}
body:has(dialog[open]){overflow:hidden}
@media(max-width:800px){.gallery-launch-copy{grid-template-columns:1fr;gap:25px}.album-grid{grid-template-columns:repeat(2,1fr)}.gallery-album{padding:20px}}
@media(max-width:560px){.album-grid{grid-template-columns:1fr 1fr;gap:7px}.album-grid button{aspect-ratio:3/4}.gallery-dialog-head h2{font-size:2rem}.gallery-album{width:94vw;max-height:90vh;padding:16px}.gallery-viewer{width:94vw;padding:12px}.gallery-viewer img{max-height:72vh}.viewer-close{right:12px;top:12px}}
