/* Image galleries: additions only, base design lives in styles.css */
.gallery-image.is-plan{object-fit:contain;background:#f3efe7}
.gallery-tag{position:absolute;top:14px;left:14px;z-index:2;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#fff;background:rgba(31,34,34,.52);backdrop-filter:blur(5px);padding:6px 9px;pointer-events:none}

/* Click-to-expand viewer */
.gallery-frame.is-zoomable .gallery-image{cursor:zoom-in}
.gallery-image:focus-visible{outline:2px solid var(--gold,#dca64e);outline-offset:-4px}
.gallery-expand{position:absolute;top:12px;right:14px;z-index:2;width:30px;height:30px;display:grid;place-items:center;font-size:16px;color:#fff;background:rgba(31,34,34,.52);backdrop-filter:blur(5px);border-radius:50%;pointer-events:none;opacity:.75;transition:opacity .2s}
.gallery:hover .gallery-expand{opacity:1}
.lightbox-lock,.lightbox-lock body{overflow:hidden}
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(20,21,20,.985);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}
.lightbox.is-open{opacity:1}
.lightbox[hidden]{display:none}
.lightbox-figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 84px 28px;box-sizing:border-box}
.lightbox-img{max-width:100%;max-height:calc(100% - 44px);object-fit:contain;display:block;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.lightbox-img.is-plan{background:#f3efe7}
.lightbox-caption{margin-top:14px;color:#d9d5cc;font-size:12px;letter-spacing:.06em;text-align:center;max-width:820px;line-height:1.5}
.lightbox-count{position:absolute;top:22px;left:24px;color:#d9d5cc;font-size:11px;letter-spacing:.14em}
.lightbox button{position:absolute;border:0;color:#fff;background:rgba(255,255,255,.1);cursor:pointer;display:grid;place-items:center;border-radius:50%;transition:background .2s}
.lightbox button:hover,.lightbox button:focus-visible{background:rgba(238,234,225,.92);color:#242522;outline:none}
.lightbox-close{top:14px;right:16px;width:44px;height:44px;font-size:28px;line-height:1}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:24px}
.lightbox-prev{left:18px}.lightbox-next{right:18px}
@media(max-width:650px){.lightbox-figure{padding:60px 10px 84px}.lightbox-prev,.lightbox-next{top:auto;bottom:18px;transform:none;width:46px;height:46px}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}.lightbox-caption{font-size:11px;padding:0 8px}}

/* Text-only project cards (no images) */
.case.case-text{grid-template-columns:1fr}
.case-text-cols{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:4vw;align-items:start}
.case-text .detail:first-child{margin-top:20px}
.press-jump{display:inline-block;margin-top:18px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink,#242522);text-decoration:none;border-bottom:1px solid var(--gold,#dca64e);padding-bottom:3px}
.press-jump:hover{color:var(--gold,#dca64e)}
@media(max-width:900px){.case-text-cols{grid-template-columns:1fr}.case-text .detail:first-child{margin-top:0}}
.case-text .status-label{display:inline-block;margin-top:18px}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-sent{color:var(--gold,#dca64e)}

/* Hero rotation (crossfade + slow zoom) */
.hero-underlay{opacity:1}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1);transition:opacity 2.4s ease;will-change:opacity,transform}
.hero-slide.is-photo{background:linear-gradient(90deg,rgba(28,32,36,.9) 0%,rgba(28,32,36,.62) 50%,rgba(28,32,36,.32) 100%),var(--img) center/cover no-repeat}
.hero-slide.is-plan{background:var(--img) right -2vw center/auto 112% no-repeat}
.hero-slide.is-on{opacity:1;transform:scale(1.06);transition:opacity 2.4s ease,transform 9.4s linear}
.hero-slide.is-leaving{transform:scale(1.06)}
.hero-motion-grid{opacity:.55}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
@media(max-width:650px){.hero-slide.is-plan{background-position:center;background-size:auto 100%}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide.is-on{transform:none}}
/* Hero: no diagonal lines or gold streak */
.hero-underlay{background:linear-gradient(125deg,#292e34 0%,#363e45 52%,#24292e 100%)}
