/* Project-detail hero only. Global typography, buttons, spacing and responsive tokens remain canonical. */
.project-hero{position:relative;isolation:isolate;min-height:clamp(700px,88svh,900px);display:flex;align-items:center;overflow:hidden;background:var(--dp-black);color:var(--dp-white);padding:clamp(72px,8vw,112px) 0 clamp(72px,7vw,100px)}
.project-hero__backdrop{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(9,8,12,.99) 0%,rgba(9,8,12,.94) 43%,rgba(9,8,12,.62) 72%,rgba(9,8,12,.84) 100%),url("../images/projects/featured-projects-bg.webp") center/cover no-repeat;filter:saturate(.7);transform:scale(1.03)}
.project-hero__backdrop::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 52%,rgba(112,40,223,.20),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.025),transparent 35%,rgba(0,0,0,.20))}
.project-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,.72fr);gap:clamp(46px,7vw,110px);align-items:center}
.project-hero__copy{max-width:690px;padding-right:clamp(0px,2vw,28px)}
.project-hero__eyebrow{color:#fff;letter-spacing:.02em}
.project-hero__category{margin-top:20px;color:rgba(255,255,255,.66);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.project-hero h1{margin-top:10px;max-width:8ch;font-size:clamp(4.5rem,8vw,8rem);line-height:.82;color:#fff}
.project-hero__accent{display:block;margin-top:.08em;color:var(--dp-purple);font-size:.56em;line-height:.94;letter-spacing:-.01em}
.project-hero__lead{max-width:560px;margin-top:25px;color:rgba(255,255,255,.76);font-size:var(--dp-body-lg);line-height:1.7}
.project-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.project-hero__actions .btn-secondary{--btn-bg:rgba(255,255,255,.08);--btn-fill:#fff;--btn-fg:#fff;--btn-icon-bg:rgba(255,255,255,.09);--btn-glow:rgba(255,255,255,.13);border-color:rgba(255,255,255,.24);box-shadow:none;backdrop-filter:blur(12px)}
.project-hero__actions .btn-secondary:hover,.project-hero__actions .btn-secondary:focus-visible{color:var(--dp-black);border-color:#fff}
.project-hero__actions .btn-secondary:hover .btn-icon,.project-hero__actions .btn-secondary:focus-visible .btn-icon{color:var(--dp-black);background:#fff;border-color:#fff}
.project-hero__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.project-hero__tags span{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border:1px solid rgba(255,255,255,.23);border-radius:999px;color:rgba(255,255,255,.82);font-size:.67rem;font-weight:600;letter-spacing:.03em;background:rgba(255,255,255,.035);backdrop-filter:blur(8px)}
.project-hero__media{margin:0;justify-self:end;width:min(100%,560px)}
.project-hero__media-frame{position:relative;overflow:hidden;aspect-ratio:4/5;border:1px solid rgba(255,255,255,.20);border-radius:var(--dp-radius-lg);background:#17141a;box-shadow:0 35px 90px rgba(0,0,0,.40),0 0 70px rgba(20,10,35,0.120);transform:rotate(2.2deg);transition:transform 900ms var(--dp-ease-premium),box-shadow 700ms var(--dp-ease-premium)}
.project-hero__media-frame::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.03),transparent 52%,rgba(0,0,0,.28));pointer-events:none}
.project-hero__media-frame img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1200ms var(--dp-ease-premium);position:relative;z-index:1}
.project-hero__media-glow{position:absolute;z-index:0;inset:12% -15% -12%;background:radial-gradient(circle,rgba(112,40,223,.38),transparent 62%);filter:blur(22px)}
.project-hero__media figcaption{margin-top:14px;color:rgba(255,255,255,.48);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.project-hero__media:hover .project-hero__media-frame,.project-hero__media:focus-within .project-hero__media-frame{transform:rotate(0deg) translateY(-5px);box-shadow:0 42px 100px rgba(0,0,0,.45),0 0 90px rgba(20,10,35,0.180)}
.project-hero__media:hover img,.project-hero__media:focus-within img{transform:scale(1.035)}
.project-hero__meta{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.48);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase}
.project-hero__meta>span:nth-child(2){width:4px;height:4px;border-radius:50%;background:var(--dp-purple)}
@media(max-width:991px){
 .project-hero{min-height:auto;padding-top:72px;padding-bottom:105px}
 .project-hero__grid{grid-template-columns:1fr;gap:48px}
 .project-hero__copy{max-width:760px}
 .project-hero h1{font-size:clamp(4rem,11vw,6.8rem)}
 .project-hero__media{justify-self:center;width:min(100%,620px)}
 .project-hero__meta{position:static;transform:none;margin-top:46px}
}
@media(max-width:640px){
 .project-hero{padding-top:58px;padding-bottom:72px}
 .project-hero__grid{gap:34px}
 .project-hero__category{margin-top:16px;font-size:.68rem}
 .project-hero h1{font-size:clamp(3.55rem,17vw,5.2rem);max-width:7.5ch}
 .project-hero__lead{margin-top:20px;font-size:.94rem;line-height:1.62}
 .project-hero__actions{margin-top:24px;display:grid;grid-template-columns:1fr;gap:9px}
 .project-hero__actions .btn{width:100%}
 .project-hero__tags{margin-top:24px}
 .project-hero__media-frame{border-radius:22px;transform:none;box-shadow:0 26px 65px rgba(0,0,0,.36)}
 .project-hero__media figcaption{text-align:left}
 .project-hero__meta{flex-wrap:wrap;gap:8px 11px;margin-top:34px;line-height:1.5}
}
@media(max-width:380px){
 .project-hero h1{font-size:clamp(3.15rem,16vw,4.25rem)}
 .project-hero__tags span{font-size:.61rem;padding-inline:9px}
}
@media(prefers-reduced-motion:reduce){
 .project-hero__media-frame,.project-hero__media-frame img{transition:none}
 .project-hero__media:hover .project-hero__media-frame,.project-hero__media:focus-within .project-hero__media-frame{transform:none}
 .project-hero__media:hover img,.project-hero__media:focus-within img{transform:none}
}
