.page-hero{padding:10rem 0 5rem;color:#fff;background:radial-gradient(circle at 85% 25%,rgba(119,229,225,.18),transparent 25rem),linear-gradient(135deg,var(--ink),#202844)}
.page-hero h1{font-family:Manrope,sans-serif;font-size:clamp(3.5rem,7vw,7rem);font-weight:800;letter-spacing:-.055em;line-height:.9;margin-bottom:1.5rem}
.page-hero h1 span{color:var(--coral)}
.page-hero .lead{max-width:46rem;color:#d2d8e6;font-size:1.2rem}
.content-section{padding:6rem 0}.content-section.alt{background:#fff}.section-title{font-family:Manrope,sans-serif;font-size:clamp(2.2rem,4vw,4rem);font-weight:800;letter-spacing:-.045em}
.dark-overview{background:#080b13;color:#fff}.dark-overview .page-hero{background:radial-gradient(circle at 82% 18%,rgba(255,92,80,.18),transparent 28rem),#080b13}.dark-overview .content-section{background:#080b13}.dark-overview .project-card,.dark-overview .video-card{background:var(--ink-2);border-color:var(--line);color:#fff;box-shadow:0 .9rem 2.2rem rgba(0,0,0,.24)}.dark-overview .project-card:hover,.dark-overview .video-card:hover{color:#fff;border-color:var(--coral);box-shadow:0 1.2rem 2.8rem rgba(0,0,0,.36)}.dark-overview .project-card small,.dark-overview .video-card small{color:var(--cyan)}
.project-card,.video-card{display:block;height:100%;background:#fff;border:1px solid #dfe4ed;border-radius:1rem;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 .7rem 2rem rgba(17,22,39,.06);transition:.22s ease}
.project-card:hover,.video-card:hover{color:var(--ink);transform:translateY(-5px);box-shadow:0 1.2rem 2.6rem rgba(17,22,39,.13)}
.project-card img,.video-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--ink)}
.project-card div,.video-card div{padding:1.25rem}.project-card small,.video-card small{display:block;color:#bf352d;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.35rem}.project-card h2,.video-card h2{font:800 1.25rem Manrope,sans-serif;margin:0}
.feature-image{border-radius:1.2rem;box-shadow:1rem 1rem 0 var(--coral);width:100%}.feature-copy h2{font:800 clamp(2.5rem,5vw,5rem)/.95 Manrope,sans-serif;letter-spacing:-.05em}.feature-copy p{font-size:1.15rem;color:#5f687a}.feature-copy .btn{margin-top:1rem}
.download-panel{padding:3rem;border-radius:1.2rem;background:var(--ink);color:#fff}.download-panel p{color:#c5ccdb}.credit-note{font-size:.9rem;color:#7a8396}
.gallery-shell{min-height:100vh;padding:9rem 0 5rem;background:#080b13;color:#fff}.gallery-head{max-width:52rem;margin-bottom:2rem}.gallery-head h1{font:800 clamp(3rem,6vw,6rem)/.9 Manrope,sans-serif;letter-spacing:-.05em}.gallery-head p{color:#b8c0d1;font-size:1.1rem}.model-viewer{position:relative;display:grid;place-items:center;min-height:60vh;background:var(--ink);border:1px solid var(--line);border-radius:1.2rem;overflow:hidden}.model-viewer img{display:block;max-width:100%;max-height:72vh;object-fit:contain}.gallery-control{position:absolute;top:50%;transform:translateY(-50%);width:3.2rem;height:3.2rem;border:0;border-radius:50%;background:rgba(17,22,39,.82);color:#fff;font-size:1.7rem}.gallery-control:hover{background:var(--coral);color:var(--ink)}.gallery-control.prev{left:1rem}.gallery-control.next{right:1rem}.gallery-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;color:#aeb6ca}.gallery-meta button{border:0;background:transparent;color:var(--cyan);font-weight:700}.back-link{color:var(--cyan);font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline}
.gallery-meta>div{display:flex;flex-wrap:wrap;gap:1rem}
@media(max-width:767.98px){.page-hero{padding:8rem 0 4rem}.content-section{padding:4rem 0}.download-panel{padding:2rem}.model-viewer{min-height:55vh}.gallery-control{width:2.7rem;height:2.7rem}.gallery-control.prev{left:.5rem}.gallery-control.next{right:.5rem}}
