.brand{position:relative;display:inline-flex;align-items:center;width:auto;height:3rem;border:0;border-radius:0;font-weight:400;letter-spacing:0}
.brand img{display:block;width:clamp(7.45rem,10vw,8.5rem);height:auto;object-fit:contain}
.brand::after{content:"";position:absolute;left:0;right:0;bottom:.08rem;width:auto;height:1px;border:0;border-radius:0;background:linear-gradient(90deg,var(--accent),var(--blue));transform:scaleX(.18);transform-origin:left center;opacity:.72;transition:transform .5s var(--ease-premium),opacity .35s}
.brand:hover::after,.brand:focus-visible::after{transform:scaleX(1);opacity:1}
.hero-portrait{position:relative;height:min(74vh,48rem);min-height:34rem;margin:0;border-radius:2rem;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 100px rgba(0,0,0,.45);background:#071017}
.hero-portrait::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,8,13,.45),transparent 38%),linear-gradient(0deg,rgba(5,8,13,.45),transparent 35%);pointer-events:none}
.hero-portrait::after{content:"";position:absolute;inset:auto 8% 8% auto;z-index:2;width:7rem;height:7rem;border:1px solid rgba(83,245,232,.28);border-radius:50%;box-shadow:0 0 60px rgba(83,245,232,.14);animation:portrait-orbit 7s ease-in-out infinite alternate;pointer-events:none}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:62% center;display:block;transform:scale(1.015);transition:transform 1.2s var(--ease-premium)}
.hero-portrait:hover img{transform:scale(1.045)}
.portrait-label{position:absolute;left:1.25rem;bottom:1.25rem;z-index:3;display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(5,8,13,.58);backdrop-filter:blur(12px);color:#dbe7ed;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.portrait-label::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}
@keyframes portrait-orbit{to{transform:translate(-1.2rem,-1rem) scale(.86);border-color:rgba(154,120,255,.4)}}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(22rem,.76fr);gap:clamp(2rem,5vw,6rem);align-items:end}
.page-hero-grid .page-hero-copy{padding-bottom:1rem}
.page-portrait{position:relative;margin:0;height:clamp(24rem,54vh,38rem);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:1.5rem;background:#071017;box-shadow:var(--shadow)}
.page-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,8,13,.45),transparent 45%),radial-gradient(circle at 70% 15%,rgba(var(--accent-rgb),.12),transparent 32%);pointer-events:none}
.page-portrait img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ease-premium)}
.page-portrait:hover img{transform:scale(1.025)}
.page-portrait.portrait-about img{object-position:center 24%}
.page-portrait.portrait-experience img{object-position:center}
.page-portrait.portrait-contact img{object-position:center}
.project-visual{inset:4.6rem 1rem 7.2rem 27%;z-index:0;overflow:hidden;border-radius:1rem;transform:perspective(900px) rotateY(-12deg) rotateX(5deg);box-shadow:0 28px 65px rgba(0,0,0,.46);transition:transform .8s var(--ease-premium),filter .8s var(--ease-premium);pointer-events:none}
.project-top,.project-bottom{z-index:2}
.project-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(255,255,255,.08),transparent 32%),linear-gradient(0deg,rgba(5,8,13,.42),transparent 45%);pointer-events:none}
.project-cover{width:100%;height:100%;object-fit:cover;display:block}
.project-card:hover .project-visual{transform:perspective(900px) rotateY(-5deg) rotateX(2deg) translate3d(-6px,-10px,22px);filter:saturate(1.08)}
.case-hero{position:relative;overflow:hidden;isolation:isolate}
.case-cover-media{position:absolute;inset:10% -3% 8% 46%;z-index:-1;border-radius:1.5rem;overflow:hidden;border:1px solid rgba(255,255,255,.12);transform:perspective(1000px) rotateY(-10deg);box-shadow:0 35px 90px rgba(0,0,0,.52)}
.case-cover-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),transparent 42%),linear-gradient(0deg,rgba(5,8,13,.58),transparent 45%)}
.case-cover-media img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-slot{background:#071017}
.gallery-slot::after{display:none}
.gallery-slot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease-premium),filter .5s}
.gallery-slot:hover img{transform:scale(1.035);filter:saturate(1.08)}
.gallery-slot::before{z-index:2;padding:.5rem .65rem;border-radius:.5rem;background:rgba(5,8,13,.66);backdrop-filter:blur(10px)}
@media(max-width:900px){.page-hero-grid{grid-template-columns:1fr}.page-portrait{height:32rem}.case-cover-media{inset:18% -18% 24% 36%;opacity:.52}.hero-portrait{height:54vh;min-height:28rem}}
@media(max-width:680px){.hero-portrait{position:absolute;inset:12% -32% auto 30%;height:58%;min-height:0;border:0;border-radius:1.2rem;opacity:.5;z-index:0}.hero-portrait::before{background:linear-gradient(90deg,#05080d 0%,rgba(5,8,13,.55) 38%,rgba(5,8,13,.18)),linear-gradient(0deg,#05080d 0%,transparent 45%)}.hero-portrait .portrait-label,.hero-portrait::after{display:none}.hero-content{position:relative;z-index:2}.page-hero-grid{gap:2rem}.page-portrait{height:25rem}.page-hero{align-items:center}.project-visual{left:36%;right:.5rem;opacity:.73}.case-cover-media{inset:12% -48% 28% 25%;opacity:.38}.gallery-slot{min-height:17rem}}
@media(prefers-reduced-motion:reduce){.hero-portrait::after{animation:none}.hero-portrait img,.project-visual,.page-portrait img,.gallery-slot img{transition:none}}
