
/* V14.7 — reactive portrait and supplied project artwork */
#about .editorial{grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);align-items:start;gap:6vw}#about .editorial .copy{margin:20px 0 0 auto;max-width:440px}.about-portrait-column{min-width:0}#about .about-portrait-column h2{margin:30px 0 0;font-size:clamp(54px,5.5vw,90px);max-width:100%}
.portrait-scene{--turn-x:0deg;--turn-y:0deg;--shift-x:0px;--shift-y:0px;--light-x:50%;--light-y:45%;display:block;position:relative;height:clamp(380px,39vw,590px);isolation:isolate;perspective:1000px;background:radial-gradient(ellipse at var(--light-x) var(--light-y),rgba(245,73,39,.11),transparent 63%);border-bottom:1px solid rgba(235,231,221,.21);overflow:hidden}.portrait-grid{position:absolute;inset:22px;opacity:.5;background-image:linear-gradient(rgba(255,211,130,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,211,130,.06) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse,#000,transparent 70%)}.portrait-orbit{position:absolute;left:15%;top:17%;width:70%;aspect-ratio:1;border:1px solid rgba(255,211,130,.35);border-radius:50%;transform:rotateX(20deg) rotateZ(-24deg);transition:transform .35s ease;z-index:0}.portrait-orbit.orbit-two{inset:28% 9% auto auto;width:82%;height:40%;border-color:rgba(245,73,39,.65);transform:rotate(-24deg);border-radius:50%;background:linear-gradient(100deg,transparent,rgba(245,73,39,.06),transparent)}.portrait-cutout{position:absolute;left:50%;bottom:25px;height:95%;width:auto;max-width:96%;object-fit:contain;z-index:2;transform:translateX(calc(-50% + var(--shift-x))) translateY(var(--shift-y)) rotateX(var(--turn-x)) rotateY(var(--turn-y));transform-origin:50% 55%;transition:transform .35s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 18px 24px rgba(0,0,0,.32));pointer-events:none}.portrait-scene:hover .orbit-one{transform:rotateX(35deg) rotateZ(-12deg)}.portrait-label{position:absolute;left:22px;top:30px;z-index:3;color:var(--soft);font-size:9px}.portrait-label span{color:var(--accent)}.portrait-cross{position:absolute;color:var(--primary);font:300 36px/1 var(--mono);z-index:1}.cross-one{right:6%;top:24%}.cross-two{left:10%;bottom:25%;color:var(--accent)}.portrait-caption{position:absolute;inset:auto 22px 15px;z-index:4;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--soft)}.portrait-caption>span{font-size:24px;color:var(--primary)}.portrait-scene:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.feature-art.has-key-image{height:auto!important;min-height:0!important;aspect-ratio:16/9}.feature-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s ease}.feature-art:hover .feature-image{transform:scale(1.025)}.feature-image.xr-image{object-position:center 56%}.feature-art.has-key-image .feature-tag{padding:8px 10px;background:rgba(12,13,13,.72);color:#eee9df}.feature-art.has-key-image:after{background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 35%)}.supplied-key-lead>img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.supplied-key-lead figcaption{color:var(--muted);margin-top:12px}.dgc-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.dgc-gallery figure{margin:0;min-width:0}.dgc-gallery img{display:block;width:100%;height:auto}.dgc-gallery figcaption{color:var(--muted);margin-top:12px}
@media(max-width:950px){#about .editorial{gap:32px}#about .about-portrait-column h2{font-size:clamp(42px,5.7vw,62px)}.portrait-label{font-size:8px;left:12px;top:18px}.portrait-scene{height:440px}.portrait-cutout{height:91%}.portrait-orbit{top:27%}}
@media(max-width:700px){#about .editorial{grid-template-columns:1fr;gap:35px}#about .editorial .copy{margin:0;max-width:100%}#about .about-portrait-column h2{font-size:clamp(44px,10.5vw,68px)}.portrait-scene{height:clamp(380px,100vw,500px)}.portrait-label{left:15px;top:24px}.portrait-cutout{height:94%}.portrait-orbit{top:22%}.portrait-caption{left:15px;right:15px}.dgc-gallery{grid-template-columns:1fr}.feature-art.has-key-image .feature-tag{font-size:7px;top:10px;left:10px}.feature-art.has-key-image .feature-mark{width:38px;height:38px;right:12px;bottom:12px;font-size:20px}}
@media(prefers-reduced-motion:reduce){.portrait-cutout,.portrait-orbit,.feature-image{transition:none!important}.portrait-cutout{transform:translateX(-50%)!important}.portrait-scene:hover .orbit-one{transform:rotateX(20deg) rotateZ(-24deg)}.feature-art:hover .feature-image{transform:none}}

/* V14.8 — relaxed portrait first; jumping portrait reserved for a later addition */
.portrait-scene.is-smiling .portrait-cutout{bottom:0;height:97%;max-width:98%;mask-image:linear-gradient(to bottom,#000 89%,transparent 100%)}
.portrait-scene.is-smiling .portrait-caption{padding:9px 0;background:linear-gradient(90deg,rgba(12,13,13,.7),transparent)}
@media(max-width:700px){.portrait-scene.is-smiling .portrait-cutout{height:95%}}

/* V14.10 — monochrome portrait with scroll-driven background layers */
.portrait-cutout{filter:grayscale(1) drop-shadow(0 18px 24px rgba(0,0,0,.32))}
.portrait-scene{--orbit-spin:0deg;--orbit-drift:0px;--orbit-sway:0px;--grid-drift:0px;--cross-drift:0px}
.portrait-grid{transform:translateY(var(--grid-drift));transition:none}
.portrait-orbit.orbit-one{transform:translate3d(var(--orbit-sway),var(--orbit-drift),0) rotateX(20deg) rotateZ(calc(-24deg + var(--orbit-spin)));transition:none}
.portrait-scene:hover .orbit-one{transform:translate3d(var(--orbit-sway),var(--orbit-drift),0) rotateX(35deg) rotateZ(calc(-12deg + var(--orbit-spin)))}
.portrait-orbit.orbit-two{transform:translate3d(calc(var(--orbit-sway) * -1),calc(var(--orbit-drift) * -.7),0) rotate(calc(-24deg - var(--orbit-spin)));transition:none}
.cross-one{transform:translateY(var(--cross-drift)) rotate(var(--orbit-spin))}
.cross-two{transform:translateY(calc(var(--cross-drift) * -.65)) rotate(calc(var(--orbit-spin) * -1))}
@media(prefers-reduced-motion:reduce){.portrait-grid,.portrait-cross{transform:none!important}.portrait-orbit.orbit-one,.portrait-scene:hover .orbit-one{transform:rotateX(20deg) rotateZ(-24deg)!important}.portrait-orbit.orbit-two{transform:rotate(-24deg)!important}}
