.project-nav .nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.project-nav .nav-inner>:first-child{justify-self:start}.project-nav .nav-inner>:nth-child(2){justify-self:center}.project-nav .nav-inner>:last-child{justify-self:end}.gh-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);padding:8px 14px;border:1px solid var(--ink-line);border-radius:999px;transition:all .2s var(--ease)}.gh-link:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-hero{padding-block:clamp(48px,7vw,100px) clamp(36px,5vw,72px);position:relative}.project-hero-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);margin-bottom:28px}.project-hero-meta .num{color:var(--accent);font-weight:600}.project-hero-meta .sep{color:var(--ink-line)}.project-hero-meta .pill{padding:4px 10px;border-radius:999px;background:var(--paper-warm);border:1px solid var(--ink-line);font-size:10px}.project-hero-meta .pill.live{color:#4a7a3f;border-color:#6b8e5a66;background:#6b8e5a1a}.project-hero-meta .pill.wip{color:#b78232;border-color:#e0a24c80;background:#e0a24c21}.project-title{font-family:var(--font-serif);font-size:clamp(64px,12vw,180px);font-weight:400;line-height:.9;letter-spacing:-.03em;color:var(--ink);margin-bottom:28px}.project-title .it{font-style:italic;color:var(--accent)}.project-tagline{font-family:var(--font-serif);font-size:clamp(20px,2.2vw,28px);line-height:1.4;color:var(--ink-2);max-width:720px;font-weight:400;margin-bottom:40px}.project-stack{display:flex;flex-wrap:wrap;gap:6px}.project-stack span{font-family:var(--font-mono);font-size:11px;padding:5px 11px;border-radius:999px;background:var(--paper-soft);color:var(--ink-2);border:1px solid var(--ink-line-soft)}.project-poster{margin-top:56px;border-radius:20px;overflow:hidden;border:1px solid var(--ink-line);background:var(--paper-soft);padding:14px;box-shadow:0 28px 60px -32px #1f1f2e73}.project-poster .poster-inner{border-radius:14px;overflow:hidden;position:relative}.project-poster img,.project-poster video{width:100%;display:block}.project-poster video{background:#000}.project-overview{padding-block:clamp(56px,8vw,110px)}.project-overview-grid{display:grid;grid-template-columns:1fr 2fr;gap:clamp(32px,5vw,80px);align-items:start}.project-overview-grid h3{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);padding-top:8px;border-top:1px solid var(--ink-line)}.project-overview-grid .body p{font-size:clamp(17px,1.4vw,19px);line-height:1.65;color:var(--ink-2);margin-bottom:22px;max-width:700px}.project-overview-grid .body p em{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-size:1.1em}.project-features{padding-block:clamp(56px,8vw,110px);position:relative}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:12px}.feature{background:var(--paper-soft);border:1px solid var(--ink-line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:14px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}.feature:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px #1f1f2e4d;border-color:#1f1f2e38}.feature .f-num{font-family:var(--font-mono);font-size:12px;color:var(--accent);letter-spacing:.12em}.feature h4{font-family:var(--font-serif);font-size:clamp(20px,1.8vw,26px);font-weight:400;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}.feature p{font-size:14.5px;line-height:1.6;color:var(--ink-2)}.project-showcase{padding-block:clamp(56px,8vw,110px)}.showcase-list{display:flex;flex-direction:column;gap:clamp(48px,7vw,90px)}.showcase-item{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}.showcase-item.with-text{grid-template-columns:1.2fr .9fr;gap:clamp(32px,5vw,72px)}.showcase-item.with-text.flip{grid-template-columns:.9fr 1.2fr}.showcase-item.with-text.flip .showcase-image{order:2}.showcase-item.with-text.flip .showcase-text{order:1}.showcase-image{border-radius:18px;overflow:hidden;border:1px solid var(--ink-line);background:var(--paper-soft);padding:12px;box-shadow:0 22px 50px -28px #1f1f2e66;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.showcase-image:hover{transform:translateY(-4px);box-shadow:0 30px 60px -28px #1f1f2e80}.showcase-image img{width:100%;display:block;border-radius:10px}.showcase-text{padding-top:8px;position:sticky;top:100px;align-self:start}.showcase-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.showcase-text h3{font-family:var(--font-serif);font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.1;letter-spacing:-.015em;margin-bottom:18px;color:var(--ink)}.showcase-text h3 .it{font-style:italic;color:var(--accent)}.showcase-text p{font-size:15.5px;line-height:1.65;color:var(--ink-2)}.project-next{padding-block:clamp(60px,9vw,120px);border-top:1px solid var(--ink-line);margin-top:clamp(48px,7vw,96px)}.next-wrap{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}.next-label{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);margin-bottom:12px}.next-title{font-family:var(--font-serif);font-size:clamp(40px,6vw,80px);font-weight:400;line-height:1;letter-spacing:-.02em;color:var(--ink);transition:color .2s var(--ease)}.next-title .it{font-style:italic;color:var(--accent)}a.next-link:hover .next-title{color:var(--accent)}.next-arrow{font-family:var(--font-serif);font-style:italic;font-size:clamp(36px,5vw,64px);color:var(--accent);transition:transform .3s var(--ease)}a.next-link:hover .next-arrow{transform:translate(8px,-6px)}@media (max-width: 900px){.project-overview-grid{grid-template-columns:1fr;gap:18px}.project-overview-grid h3{padding-top:0}.features-grid,.showcase-item.with-text,.showcase-item.with-text.flip{grid-template-columns:1fr}.showcase-item.with-text.flip .showcase-image{order:1}.showcase-item.with-text.flip .showcase-text{order:2}.showcase-text{position:static}.next-wrap{grid-template-columns:1fr}}
