/* Scoped progressive enhancement: original carousel remains the no-JS/error fallback. */
#portfolio[data-aps-cinematic]{--aps-cinema-paper:#f6f3ed;--aps-cinema-gold:#f2c94c;color:var(--aps-cinema-paper);border-radius:0;position:relative;overflow:clip;}
#portfolio[data-aps-cinematic] .portfolioHead{align-items:flex-start;margin-bottom:28px;}
#portfolio[data-aps-cinematic] .portfolioIntro .eyebrow{color:var(--aps-cinema-gold);letter-spacing:.2em;}
#portfolio[data-aps-cinematic] .portfolioHead h2{color:var(--aps-cinema-paper)!important;}
#portfolio[data-aps-cinematic] .portfolioHead p{color:#c7d6d7!important;}
@keyframes aps-caption-in{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Immersive direction: one large project scene, driven by the existing gallery. */
#portfolio[data-aps-cinematic] {background:#070c0f;padding-block:clamp(55px,7vw,100px);}
#portfolio[data-aps-cinematic] .portfolioIntro {max-width:none;width:100%;}
#portfolio[data-aps-cinematic] .portfolioHead h2 {font-family:Arial,Helvetica,sans-serif;font-size:clamp(48px,7.5vw,110px);font-weight:900;line-height:.98;letter-spacing:-.05em;text-transform:uppercase;max-width:980px;}
#portfolio[data-aps-cinematic] .portfolioHead p {max-width:620px;font-size:14px;line-height:1.8;margin-top:28px;}
#portfolio[data-aps-cinematic] .portfolioCarousel,
#portfolio[data-aps-cinematic] .portfolioSummary {display:none;}
.aps-immersive[hidden] {display:none!important;}
.aps-immersive {margin-top:38px;}
.aps-scene {position:relative;height:clamp(430px,60vw,730px);overflow:hidden;background:#10171b;touch-action:pan-y;isolation:isolate;}
.aps-scene::after {content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,#0005,transparent 25%,transparent 70%,#0009);}
.aps-scene-layer {position:absolute;inset:0;opacity:0;transform:translate3d(3%,0,0) scale(1.025);transition:opacity .75s ease,transform .9s cubic-bezier(.2,.65,.25,1);z-index:1;overflow:hidden;}
.aps-scene-layer.is-in {opacity:1;transform:translate3d(0,0,0) scale(1);z-index:2;}
.aps-scene-layer.is-out {opacity:0;transform:translate3d(-3%,0,0) scale(1.025);z-index:1;}
.aps-scene-layer img {position:absolute;inset:0;display:block;width:100%;height:100%;}
.aps-scene-backdrop {object-fit:cover;filter:blur(18px);opacity:.3;transform:scale(1.08);}
.aps-scene-image {object-fit:contain;}
.aps-scene-layer.is-in .aps-scene-image {animation:aps-camera-settle 8s cubic-bezier(.2,.5,.3,1) both;}
@keyframes aps-camera-settle {from{transform:scale(1.04)}to{transform:scale(1)}}
.aps-scene-open {position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;z-index:4;background:transparent;cursor:zoom-in;}
.aps-scene-open:focus-visible {outline:3px solid #f2c94c;outline-offset:-6px;}
.aps-scene-open-hint {position:absolute;left:30px;bottom:30px;padding:12px 16px;background:#080e13c9;color:#fff;font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.13em;}
.aps-scene-counter {position:absolute;right:30px;top:28px;color:white;background:#080e13c9;padding:10px 14px;z-index:5;font:600 11px/1.4 system-ui,sans-serif;letter-spacing:.16em;pointer-events:none;}
.aps-scene-prev,.aps-scene-next {position:absolute;bottom:30px;z-index:5;width:52px;height:52px;border:1px solid #ffffff80;background:#080e13b3;color:#fff;font-size:23px;cursor:pointer;border-radius:50%;transition:background .2s,border-color .2s;}
.aps-scene-prev {right:94px;}.aps-scene-next {right:30px;}
.aps-scene-prev:hover,.aps-scene-next:hover {background:#00758c;border-color:#f2c94c;}
.aps-scene-prev:focus-visible,.aps-scene-next:focus-visible,.aps-next-preview:focus-visible {outline:3px solid #f2c94c;outline-offset:4px;}
.aps-scene-details {display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:60px;align-items:start;padding:32px 0 12px;}
.aps-scene-label {color:#f2c94c;font:650 9px/1.5 system-ui,sans-serif;letter-spacing:.18em;}
#portfolio[data-aps-cinematic] .aps-scene-details h3 {color:#f6f3ed!important;font-size:clamp(25px,3vw,40px);line-height:1.2;margin:12px 0 16px;letter-spacing:-.03em;font-weight:700;}
#portfolio[data-aps-cinematic] .aps-scene-details p {color:#c7d6d7!important;font-size:14px;line-height:1.8;max-width:630px;margin:0;}
.aps-next-preview {display:flex;gap:18px;text-align:left;background:transparent;border:0;border-top:1px solid #ffffff35;padding:18px 0;color:#f6f3ed;cursor:pointer;align-items:center;}
.aps-next-preview img {width:104px;height:74px;object-fit:cover;flex:none;opacity:.8;transition:opacity .2s;}
.aps-next-preview:hover img {opacity:1;}
.aps-next-preview>span {display:grid;gap:9px;font-size:13px;line-height:1.4;}
.aps-next-preview small {color:#f2c94c;font-size:9px;letter-spacing:.1em;}
.aps-scene-details-enter {animation:aps-caption-in .5s ease-out both;}
.aps-scene-paused .aps-scene-image {animation-play-state:paused!important;}
#portfolio[data-aps-still] .aps-scene-layer,
#portfolio[data-aps-still] .aps-scene-image,
#portfolio[data-aps-still] .aps-scene-details {animation:none!important;transition:none!important;transform:none!important;}
@media(max-width:720px){
  #portfolio[data-aps-cinematic] .portfolioHead h2 {font-size:clamp(42px,11.8vw,72px);}
  #portfolio[data-aps-cinematic] .portfolioHead p {font-size:13px;margin-top:22px;}
  .aps-immersive {margin-top:25px;}
  .aps-scene {height:clamp(380px,65svh,580px);}
  .aps-scene-open-hint {left:15px;bottom:20px;font-size:8px;padding:9px;}
  .aps-scene-counter {right:15px;top:15px;font-size:10px;}
  .aps-scene-prev,.aps-scene-next {width:42px;height:42px;bottom:17px;}
  .aps-scene-prev {right:67px;}.aps-scene-next {right:15px;}
  .aps-scene-details {grid-template-columns:1fr;gap:22px;padding-top:24px;}
  .aps-next-preview {max-width:100%;}
  .aps-scene-layer {transition:opacity .35s;transform:none;}
  .aps-scene-layer.is-in .aps-scene-image {animation:none;}
  .aps-scene-backdrop {filter:none;opacity:.15;}
}
@media(prefers-reduced-motion:reduce){
  .aps-scene-layer,.aps-scene-image,.aps-scene-details {animation:none!important;transition:none!important;transform:none!important;}
}


.aps-scene-motion{display:inline-block;margin-top:18px;padding:9px 12px;border:1px solid #ffffff70;border-radius:3px;background:transparent;color:#f6f3ed;font:600 11px/1.4 system-ui,sans-serif;cursor:pointer;}
.aps-scene-motion[aria-pressed="true"]{background:#f2c94c;color:#10171b;border-color:#f2c94c;}
.aps-scene-motion:focus-visible{outline:3px solid #f2c94c;outline-offset:4px;}
@media(max-width:720px){#portfolio[data-aps-cinematic]{padding-block:48px;}}
