/* SEW refined immersion: photography carries the story, not labels about authenticity. */
html {scroll-behavior:smooth}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid #ff8376;outline-offset:4px}
.immersive-v4 .project-experience-lede{font-size:.82rem}
.project-card figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.project-card figcaption strong{font-size:1.25rem;letter-spacing:-.025em}
.project-card .project-open{font:800 .74rem/1.25 Manrope,Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;margin-top:15px;background:#ec4946;color:white;border:1px solid #fa736a;border-radius:8px;padding:12px 16px;cursor:pointer;box-shadow:0 8px 22px #0002;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.project-card .project-open:hover{background:#ff6057;transform:translateY(-2px)}
.project-card .project-open:active{transform:translateY(0)}
.project-note{font-size:.75rem;opacity:.88}
.immersive-v4 .hero h1{letter-spacing:-.045em}
.immersive-v4 .project-card:hover .project-corner{border-color:#fa777077}
/* Gallery uses the original, high-resolution installation photographs when available. */
.sew-lightbox[hidden]{display:none!important}
html.gallery-open{overflow:hidden}
.sew-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:clamp(9px,3vw,32px);color:#f1f6f9;font-family:Manrope,Inter,system-ui,sans-serif}
.sew-lightbox-backdrop{position:absolute;inset:0;background:rgba(1,7,12,.94);backdrop-filter:blur(16px)}
.sew-lightbox-inner{position:relative;z-index:1;width:min(1240px,100%);max-height:95dvh;display:flex;flex-direction:column;gap:14px}
.sew-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.sew-lightbox-heading span{color:#ff857d;letter-spacing:.14em;font-size:.66rem;font-weight:800}
.sew-lightbox-heading h2{margin:3px 0 0;color:#f2f7fa;font-size:clamp(1.2rem,3vw,2rem);line-height:1.2}
.sew-lightbox-close,.sew-lightbox-prev,.sew-lightbox-next{color:white;cursor:pointer;background:rgba(10,30,42,.92);border:1px solid #8ba2b280;border-radius:12px;transition:background .2s ease}
.sew-lightbox-close:hover,.sew-lightbox-prev:hover,.sew-lightbox-next:hover{background:#dc3e3c}
.sew-lightbox-close{font-size:1.3rem;padding:12px 17px;min-width:48px;min-height:48px}
.sew-lightbox-frame{min-height:0;display:flex;justify-content:center;align-items:center;position:relative;background:#0b1a24;border:1px solid #ffffff33;border-radius:13px;overflow:hidden}
.sew-lightbox-frame img{width:100%;height:auto;max-height:min(72dvh,850px);object-fit:contain;display:block}
.sew-lightbox-prev,.sew-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);font-size:2.5rem;z-index:1;width:48px;height:62px;display:grid;place-items:center}
.sew-lightbox-prev{left:12px}.sew-lightbox-next{right:12px}
.sew-lightbox-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b9d0db;font-size:.77rem}
.sew-lightbox-foot p{margin:0}.sew-lightbox-counter{white-space:nowrap;color:#ff8c80;font-weight:800}
@media(max-width:790px){.sew-lightbox-inner{max-height:96dvh}.sew-lightbox-frame img{max-height:70dvh}.sew-lightbox-prev,.sew-lightbox-next{width:42px;height:52px;font-size:2.1rem}.project-card .project-open{min-height:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card .project-open{transition:none!important}}

/* v7: clear, descriptive section labels replace ornamental 01 / 02 / 03 counters. */
.journey-rail a .journey-dot{width:24px;height:24px;padding:0;display:grid;place-items:center;font-size:1.15rem;line-height:1;color:#ff6d64;}
.fw6-feature-mark{flex:0 0 25px;color:#f76d65;font-size:.66rem;line-height:1.8;display:inline-block;}

.feature-count,.detail-num{font-size:1rem;letter-spacing:0}
