.portfolio-intro{padding:170px 0 50px}
.portfolio-intro h1{font-size:clamp(42px,6vw,84px);letter-spacing:-.055em;line-height:1.05;max-width:900px;margin:20px 0}
.portfolio-intro p{max-width:680px;color:var(--muted)}
.portfolio-gallery{padding:0 0 60px}
.portfolio-placeholder{align-self:center;margin:auto;max-width:85%;text-align:center;font-size:clamp(20px,2.3vw,32px);font-weight:700;line-height:1.15;color:#b9f4ff;padding-bottom:28px}
.portfolio-contact{padding:50px 0 90px}
.portfolio-contact h2{margin-bottom:28px}
.project-card:focus-visible{outline:2px solid var(--cyan);outline-offset:6px;border-radius:15px}
#portfolioDialog{width:min(960px,94vw);max-height:90dvh;overflow:auto;margin:auto;padding:22px;border:1px solid rgba(103,232,249,.3);border-radius:20px;background:#0d1426;color:white}
#portfolioDialog::backdrop{background:rgba(0,0,0,.85)}
.video-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.video-heading h2{font-size:clamp(20px,3vw,30px);letter-spacing:-.025em}
#closeVideo{border:1px solid #485368;background:#141e31;border-radius:50%;color:white;font-size:28px;min-width:44px;height:44px;cursor:pointer}
#portfolioVideo{display:block;width:100%;max-height:65dvh;background:#000}
#videoFile{display:inline-block;margin-top:16px;color:#67e8f9}
#videoError{margin-top:16px;color:#f8d394}
@media(max-width:650px){.portfolio-intro{padding-top:130px}.portfolio-gallery .project-carousel{grid-template-columns:1fr}.portfolio-intro h1{overflow-wrap:break-word}}
