/* Source-based editorial covers. Actual website views remain in the project stories. */
.hanan-gallery,.retail-visual,.showcase-reference{position:relative;display:block;width:100%;height:auto;min-height:0;padding:0;aspect-ratio:3/2;overflow:hidden;isolation:isolate;background:#ddd8cf;color:#fff;text-align:left;border:0;border-radius:2px}
.portfolio-art{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.35,1)}
.hanan-gallery::after,.retail-visual::after,.showcase-reference::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),transparent 32%,transparent 55%,rgba(0,0,0,.7));z-index:1;pointer-events:none}
.hanan-gallery:hover .portfolio-art,.retail-visual:hover .portfolio-art,.showcase-reference:hover .portfolio-art{transform:scale(1.025)}
.showcase-label{position:absolute;z-index:2;top:24px;left:28px;right:28px;font-size:16px;font-family:var(--sans);letter-spacing:1px;line-height:1.5;text-shadow:0 1px 8px #000}
.showcase-caption{position:absolute;z-index:2;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:end;gap:18px}
.showcase-word{font:clamp(40px,4.5vw,64px)/1 var(--serif);letter-spacing:-1px}
.showcase-foot{font:16px/1.5 var(--sans);letter-spacing:.6px;display:flex;align-items:center;gap:18px;z-index:2}
.showcase-foot>span{font-size:24px}.showcase-reference .showcase-foot{position:absolute;left:24px;right:24px;bottom:20px;justify-content:space-between}
.inspiration-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.inspiration-other-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px;margin-top:50px}.inspiration-image.showcase-reference{height:auto;aspect-ratio:3/2;min-height:0}
.inspiration-head h3{font-size:38px}.inspiration-card>p{margin-top:15px}
.exocellure-project{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;margin-top:64px;scroll-margin-top:50px}.exocellure-copy{min-width:0}.exocellure-copy .project-title{margin-top:0}.exocellure-copy>p{font-size:20px;line-height:1.7;max-width:42ch;margin-top:20px}.exocellure-copy .feature-actions{display:flex;flex-wrap:wrap}
.credential-mark{height:84px;display:flex;align-items:center;margin-bottom:20px;gap:18px}.credential-mark img{object-fit:contain;width:72px;height:72px}.credential-mark .usa-flag{width:82px;height:auto;border:1px solid #d6cfc5}.credential-mark .microsoft-logo{width:205px;height:auto}.credential-mark .aws-logo{width:76px;height:76px;border-radius:8px}.audit-mark>span{font-size:16px;letter-spacing:.8px;color:var(--primary-strong);max-width:180px;line-height:1.5}

@media(min-width:1101px){.hanan-feature{grid-template-columns:1.2fr 1fr;gap:64px}}
@media(max-width:1100px){.exocellure-project{gap:36px}.showcase-caption{align-items:start;flex-direction:column;gap:10px}.inspiration-feature-grid{gap:22px}.showcase-label{top:20px;left:22px}.showcase-caption{left:22px;right:22px;bottom:20px}}
@media(max-width:820px){.inspiration-feature-grid,.inspiration-other-grid,.retail-pair{grid-template-columns:1fr}.exocellure-project{grid-template-columns:1fr;gap:30px;margin-top:50px}.exocellure-copy>p{max-width:none}.showcase-caption{flex-direction:row;align-items:end}}
@media(max-width:600px){.showcase-label{top:16px;left:18px;right:18px;font-size:16px;letter-spacing:.4px}.showcase-caption{left:18px;right:18px;bottom:15px;gap:6px;flex-direction:column;align-items:start}.showcase-word{font-size:40px}.showcase-foot{font-size:16px;letter-spacing:0;gap:12px}.showcase-foot>span{font-size:20px}.showcase-reference .showcase-foot{left:18px;right:18px;bottom:16px}.inspiration-feature-grid,.inspiration-other-grid{gap:40px}.inspiration-head h3{font-size:36px}.exocellure-copy>p{font-size:18px}.exocellure-copy .feature-actions{gap:18px}.exocellure-project{scroll-margin-top:30px}.credential-mark{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){.portfolio-art{transition:none}}

/* One uninterrupted work collection, including the full website selection. */
.portfolio-continuation{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px;margin-top:64px}
@media(max-width:820px){.portfolio-continuation{grid-template-columns:1fr;gap:40px;margin-top:50px}}
