/* Phocea portfolio — Production 2.8.0 · local cached previews */
body.phocea-project-archive,body.phocea-project-single{--work-shadow:0 30px 80px rgba(17,16,14,.12);--work-violet:#7839ee}.work-main,.work-single-main{overflow:hidden}.work-kicker{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--violet);margin:0 0 14px}.work-main em,.work-single-main em{font-style:normal;color:var(--violet)}
.work-hero{min-height:650px;display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:5.5vw;padding:78px 0 92px}.work-hero-copy h1{font:700 clamp(54px,5.2vw,94px)/.9 var(--serif);letter-spacing:-.055em;margin:0 0 26px}.work-hero-copy>p:not(.work-kicker){max-width:640px;font-size:15px;line-height:1.72;color:#423d37}.work-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.work-hero-stack{height:470px;position:relative;perspective:1500px}.work-stack-card{position:absolute;width:65%;border:1px solid rgba(20,18,15,.13);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--work-shadow);transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .4s ease}.work-stack-card>img,.work-stack-card>.work-poster{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}.stack-1{left:18%;top:10%;z-index:3;transform:rotate(-1deg)}.stack-2{left:2%;top:27%;z-index:2;transform:rotate(-5deg) scale(.88);opacity:.86}.stack-3{right:0;top:30%;z-index:1;transform:rotate(5deg) scale(.86);opacity:.74}.work-hero-stack:hover .stack-1{transform:translateY(-8px) rotate(0)}.work-hero-stack:hover .stack-2{transform:translate(-12px,7px) rotate(-7deg) scale(.88)}.work-hero-stack:hover .stack-3{transform:translate(13px,4px) rotate(7deg) scale(.86)}.work-stack-signature{position:absolute;right:1%;bottom:6%;font:700 18px var(--serif);letter-spacing:.08em;transform:rotate(-4deg)}.work-stack-signature small{display:block;font:12px var(--hand);color:var(--violet);letter-spacing:0}.work-browser-bar{height:35px;display:flex;align-items:center;gap:6px;padding:0 12px;background:rgba(250,249,246,.98);border-bottom:1px solid rgba(17,16,14,.09)}.work-browser-bar i{width:7px;height:7px;border-radius:50%;background:#bbb6af;flex:0 0 auto}.work-browser-bar span{margin-left:7px;font-size:9px;color:#6b655e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-browser-bar a{margin-left:auto;font-size:9px;font-weight:850;color:var(--violet)}
.work-poster{background:radial-gradient(circle at 80% 20%,rgba(120,57,238,.14),transparent 34%),linear-gradient(135deg,#f8f5ef,#eee8f7);display:grid!important;place-content:center;text-align:center;min-height:220px}.work-poster b{font:700 clamp(42px,5vw,76px)/1 var(--serif);letter-spacing:-.05em;color:#111}.work-poster span{font:700 16px var(--serif);margin-top:8px}.work-poster small{font-size:9px;color:var(--muted);margin-top:4px}
.work-featured{padding:98px 0 120px;background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(120,57,238,.028))}.work-featured-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:10vw;margin-bottom:48px}.work-featured-intro h2,.work-library-head h2{font:700 clamp(44px,4.3vw,76px)/.92 var(--serif);letter-spacing:-.05em;margin:0}.work-featured-intro>p{max-width:480px;color:var(--muted);font-size:12px;line-height:1.75}.work-featured-layout{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(540px,1.28fr);gap:5vw;align-items:start}.work-featured-list{display:grid}.work-featured-item{position:relative;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:24px 2px;border-top:1px solid var(--line);transition:opacity .25s ease,transform .25s ease,background .25s ease}.work-featured-item:last-child{border-bottom:1px solid var(--line)}.work-featured-item:not(.is-active){opacity:.48}.work-featured-item.is-active{opacity:1;transform:translateX(8px)}.work-featured-item.is-active:before{content:"";position:absolute;left:-15px;top:18px;bottom:18px;width:3px;border-radius:4px;background:var(--violet)}.work-featured-no{font:800 9px var(--sans);color:var(--violet)}.work-featured-item small{font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--violet);font-weight:900}.work-featured-item h3{font:700 clamp(21px,1.7vw,30px)/1 var(--serif);margin:5px 0}.work-featured-item p{font-size:9.5px;color:var(--muted);margin:0}.work-featured-item>a{font-size:9px;font-weight:850;white-space:nowrap}.work-featured-stage{position:sticky;top:112px}.work-featured-browser{border:1px solid rgba(17,16,14,.14);border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 34px 90px rgba(17,16,14,.13)}.work-featured-screen{position:relative;aspect-ratio:16/10;overflow:hidden;background:#efede8}.work-featured-screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:opacity .22s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.work-featured-browser:hover .work-featured-screen img{transform:scale(1.02) translateY(-1%)}.work-stage-poster{position:absolute;inset:0;background:radial-gradient(circle at 70% 15%,rgba(120,57,238,.16),transparent 32%),linear-gradient(135deg,#f8f4ed,#ebe4f7);display:grid;place-content:center;text-align:center}.work-stage-poster b{font:700 clamp(70px,8vw,130px)/.8 var(--serif);letter-spacing:-.07em}.work-stage-poster span{font:700 21px var(--serif);margin-top:18px}.work-stage-caption{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:17px 19px 20px}.work-stage-caption span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--violet);font-weight:900}.work-stage-caption strong{font:700 22px var(--serif);text-align:right}.work-stage-note{font-size:9.5px;color:var(--muted);line-height:1.5;margin:10px 4px 0;text-align:right}
.work-library{padding:112px 0 120px}.work-library-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;margin-bottom:34px}.work-library-head>div:first-child>p:last-child{font-size:11px;color:var(--muted);margin:12px 0 0}.work-filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:760px}.work-filters button{border:1px solid var(--line);background:rgba(255,255,255,.55);border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer;transition:.2s}.work-filters button:hover{border-color:rgba(120,57,238,.5)}.work-filters button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 14px}.work-card{min-width:0}.work-card[hidden]{display:none}.work-card-link{display:block}.work-card-media{overflow:hidden;border-radius:10px}.work-card-preview{position:relative;overflow:hidden;border:1px solid rgba(17,16,14,.11);border-radius:10px;background:#fff}.work-card-preview>img,.work-card-preview>.work-poster{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .5s ease}.work-card-preview>.work-poster{min-height:0}.work-card:hover .work-card-preview>img,.work-card:hover .work-card-preview>.work-poster{transform:scale(1.035)}.work-card-open{position:absolute;right:10px;bottom:10px;background:rgba(17,16,14,.88);color:#fff;padding:7px 9px;border-radius:999px;font-size:8px;font-weight:850;opacity:0;transform:translateY(4px);transition:.2s}.work-card:hover .work-card-open{opacity:1;transform:none}.work-card-copy{padding:11px 3px 0;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:end}.work-card-copy small{grid-column:1/-1;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--violet);font-weight:900}.work-card-copy h3{font:700 18px/1.08 var(--serif);margin:0}.work-card-copy>span{font-size:8.5px;color:var(--muted);max-width:120px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.work-dark-break{background-image:url('../images/cta-bg.webp');background-size:cover;background-position:center;color:#fff;padding:88px 0}.work-dark-inner{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.work-dark-inner h2{font:700 clamp(42px,4vw,70px)/.92 var(--serif);margin:0}.work-dark-inner>p{max-width:560px;color:#c8c1b8;line-height:1.72}
/* Single project remains optional; it uses the same local media. */
.work-case-hero{padding:90px 0 45px}.work-case-copy h1{font:700 clamp(56px,6vw,98px)/.9 var(--serif);margin:0 0 22px;letter-spacing:-.05em}.work-case-copy>p{max-width:730px;line-height:1.7;color:var(--muted)}.work-case-actions{display:flex;gap:10px;margin-top:25px}.work-case-auto{padding:20px 0 90px}.work-showcase-browser{border:1px solid rgba(17,16,14,.14);border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(17,16,14,.10)}.work-showcase-screen{position:relative;overflow:hidden;aspect-ratio:16/9;background:#eceae5}.work-showcase-screen img{width:100%;height:100%;display:block;object-fit:cover;object-position:top}.work-preview-fallback{position:absolute;inset:0;display:none;place-content:center;text-align:center;background:linear-gradient(135deg,#f7f4ee,#eee8f7);padding:30px}.work-showcase-screen.no-image .work-preview-fallback{display:grid}.work-preview-fallback b{font:700 28px var(--serif)}.work-story{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:100px}.work-story-card{border-top:1px solid var(--line);padding:22px 18px 28px;background:rgba(255,255,255,.32)}.work-story-card small{color:var(--violet);font-weight:900}.work-story-card h2{font:700 28px var(--serif);margin:14px 0}.work-story-card p{font-size:12px;line-height:1.7;color:var(--muted)}
.work-reveal{opacity:0;transform:translateY(18px);transition:opacity .62s ease,transform .62s cubic-bezier(.2,.7,.2,1)}.work-reveal.is-visible{opacity:1;transform:none}
@media(max-width:1180px){.work-featured-layout{grid-template-columns:.8fr 1.2fr;gap:32px}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-hero{grid-template-columns:.9fr 1.1fr}.work-featured-item{grid-template-columns:36px 1fr}.work-featured-item>a{display:none}}
@media(max-width:880px){.work-hero{grid-template-columns:1fr;min-height:0;padding:45px 0 70px}.work-hero-stack{height:370px}.work-featured-intro{grid-template-columns:1fr;gap:20px}.work-featured-layout{grid-template-columns:1fr}.work-featured-stage{position:relative;top:auto;order:-1;margin-bottom:18px}.work-featured-item{padding:18px 4px}.work-library-head{grid-template-columns:1fr;align-items:start}.work-filters{justify-content:flex-start}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-dark-inner{grid-template-columns:1fr;gap:28px}.work-story{grid-template-columns:1fr}.work-stage-note{text-align:left}}
@media(max-width:560px){.work-hero-copy h1{font-size:48px}.work-hero-stack{height:290px}.work-stack-card{width:72%}.work-featured{padding:70px 0 80px}.work-featured-intro h2,.work-library-head h2{font-size:44px}.work-featured-browser{border-radius:10px}.work-featured-item{grid-template-columns:30px 1fr}.work-featured-item h3{font-size:22px}.work-grid{grid-template-columns:1fr}.work-card-preview>img,.work-card-preview>.work-poster{aspect-ratio:16/10}.work-library{padding:78px 0 85px}.work-hero-actions{flex-direction:column}.work-hero-actions .button{width:100%}.work-stage-caption{align-items:start;flex-direction:column}.work-stage-caption strong{text-align:left}.work-case-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.work-reveal{opacity:1;transform:none;transition:none}.work-stack-card,.work-featured-item,.work-card-preview>*{transition:none}}

/* Phocea refinements 2.13 — grounded in staging capture review */

/* All three projects are intentionally visible in the top scene. */
.portfolio-280 .work-hero-stack{perspective:1100px;isolation:isolate}
.portfolio-280 .work-stack-card{width:58%;box-shadow:0 22px 65px rgba(14,12,13,.18)}
.portfolio-280 .stack-1{left:0%;top:10%;z-index:2;transform:rotate(-6deg) scale(.9)}
.portfolio-280 .stack-2{left:26%;top:1%;z-index:3;transform:rotate(2deg) scale(.95)}
.portfolio-280 .stack-3{right:-1%;top:35%;z-index:4;transform:rotate(6deg) scale(.90);opacity:1}
.portfolio-280 .work-hero-stack:hover .stack-1{transform:translate(-8px,-8px) rotate(-7deg) scale(.9)}
.portfolio-280 .work-hero-stack:hover .stack-2{transform:translate(0,-12px) rotate(1deg) scale(.95)}
.portfolio-280 .work-hero-stack:hover .stack-3{transform:translate(6px,9px) rotate(4deg) scale(.9)}
.portfolio-280 .work-featured-item{cursor:pointer;transition:opacity .25s ease,background-color .25s ease,transform .3s ease;padding:27px 10px}
.portfolio-280 .work-featured-item:is(.is-active,:hover,:focus-within){opacity:1;background:linear-gradient(95deg,rgba(120,57,238,.07),transparent 80%)}
.portfolio-280 .work-featured-item h3{font-size:clamp(22px,1.7vw,30px);line-height:1.1}
.portfolio-280 .work-featured-no{font-size:12px}
.portfolio-280 .work-featured-item small{font-size:12px}
.portfolio-280 .work-featured-item p{font-size:13px}
.portfolio-280 .work-featured-stage{top:112px}
.portfolio-280 .work-featured-screen{min-height:420px;background:#ece6df}
.portfolio-280 .work-featured-screen img{object-fit:cover;object-position:top;max-height:650px}
.portfolio-280 .work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px}
.portfolio-280 .work-card-preview>img{object-position:center top;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .3s}
.portfolio-280 .work-card:hover .work-card-preview>img{transform:scale(1.045)}
.portfolio-280 .work-card-copy h3{font-size:clamp(20px,1.55vw,27px)}
.portfolio-280 .work-library-head>div:first-child>p:last-child{font-size:15px}
.portfolio-280 .work-dark-inner p{font-size:16px}
@media(max-width:1060px){.portfolio-280 .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-280 .work-featured-screen{min-height:320px}}
@media(max-width:880px){.portfolio-280 .work-featured-stage{top:auto}.portfolio-280 .work-hero-stack{height:340px}}
@media(max-width:580px){.portfolio-280 .work-grid{grid-template-columns:1fr}.portfolio-280 .work-stack-card{width:73%}.portfolio-280 .stack-1{left:-4%}.portfolio-280 .stack-2{left:18%}.portfolio-280 .stack-3{right:-5%}.portfolio-280 .work-featured-screen{min-height:250px}}

