.project-hero[data-astro-cid-hwyji337]{position:relative;min-height:70vh;overflow:hidden;display:flex;align-items:flex-end;background:var(--ink-base)}.project-hero-bg[data-astro-cid-hwyji337]{position:absolute;inset:0;z-index:1}.project-hero-bg[data-astro-cid-hwyji337] img[data-astro-cid-hwyji337]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.65}.project-hero-overlay[data-astro-cid-hwyji337]{position:absolute;inset:0;z-index:2;background:var(--project-hero-overlay)}.project-hero-content[data-astro-cid-hwyji337]{position:relative;z-index:3;width:100%;max-width:var(--container);margin:0 auto;padding:8rem var(--gutter) 4rem}.back-link[data-astro-cid-hwyji337]{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;color:var(--gray-300);text-decoration:none;margin-bottom:1.5rem;transition:color .3s ease}.back-link[data-astro-cid-hwyji337]:hover{color:var(--sky-soft)}.project-meta[data-astro-cid-hwyji337]{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.16em;color:var(--orange-v3);text-transform:uppercase;margin:0 0 1rem}.project-title[data-astro-cid-hwyji337]{font-family:var(--font-display);font-weight:700;font-size:clamp(2.5rem,6vw,5rem);line-height:1.04;letter-spacing:-.03em;color:var(--white-v3);margin:0 0 1rem;max-width:22ch}.project-type[data-astro-cid-hwyji337]{font-family:var(--font-display);font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.5;color:var(--gray-100);max-width:50ch;margin:0}.project-stats-section[data-astro-cid-hwyji337]{border-bottom:1px solid var(--section-divider);padding-block:2.5rem}.project-stats[data-astro-cid-hwyji337]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(min-width:768px){.project-stats[data-astro-cid-hwyji337]{grid-template-columns:repeat(4,1fr)}}.project-stat[data-astro-cid-hwyji337]{display:flex;flex-direction:column;gap:.4rem}.project-stat-label[data-astro-cid-hwyji337]{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-500)}.project-stat-value[data-astro-cid-hwyji337]{font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,2vw,1.6rem);color:var(--sky-soft);letter-spacing:-.01em}.story-summary[data-astro-cid-hwyji337]{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.25;max-width:30ch}.story-body[data-astro-cid-hwyji337]{display:grid;grid-template-columns:1fr;gap:1.4rem;max-width:70ch;margin-top:2rem}@media(min-width:1024px){.story-body[data-astro-cid-hwyji337]{grid-template-columns:repeat(2,1fr);max-width:100%;gap:clamp(2rem,4vw,3.5rem)}}.story-body[data-astro-cid-hwyji337] p[data-astro-cid-hwyji337]{font-family:var(--font-display);font-size:clamp(.95rem,1.2vw,1.05rem);line-height:1.7;color:var(--gray-100);margin:0}.deliverables-grid[data-astro-cid-hwyji337]{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:1fr;gap:.8rem}@media(min-width:640px){.deliverables-grid[data-astro-cid-hwyji337]{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.deliverables-grid[data-astro-cid-hwyji337]{grid-template-columns:repeat(3,1fr)}}.deliverable-card[data-astro-cid-hwyji337]{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.4rem;border:1px solid var(--card-border-elevated);border-radius:10px;background:var(--ink-card);transition:border-color .3s ease}.deliverable-card[data-astro-cid-hwyji337]:hover{border-color:#f2a66a4d}.deliverable-num[data-astro-cid-hwyji337]{font-family:var(--font-mono);font-weight:600;font-size:.85rem;color:var(--orange-v3);flex-shrink:0;width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;background:#f2a66a1a;border-radius:6px}.deliverable-text[data-astro-cid-hwyji337]{font-family:var(--font-display);font-size:.98rem;color:var(--white-v3);font-weight:500}.gallery-grid[data-astro-cid-hwyji337]{display:grid;grid-template-columns:1fr;gap:1.4rem;margin-top:2rem}@media(min-width:768px){.gallery-grid[data-astro-cid-hwyji337]{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.gallery-grid[data-astro-cid-hwyji337]{grid-template-columns:repeat(3,1fr);gap:1.6rem}}.gallery-item[data-astro-cid-hwyji337]{margin:0}.gallery-img-wrap[data-astro-cid-hwyji337]{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:12px;background:var(--ink-card);border:1px solid var(--section-divider)}.gallery-img-wrap[data-astro-cid-hwyji337] picture[data-astro-cid-hwyji337]{display:contents}.gallery-img-wrap[data-astro-cid-hwyji337] img[data-astro-cid-hwyji337]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.gallery-item[data-astro-cid-hwyji337]:hover .gallery-img-wrap[data-astro-cid-hwyji337] img[data-astro-cid-hwyji337]{transform:scale(1.04)}.gallery-tag[data-astro-cid-hwyji337]{position:absolute;top:.8rem;inset-inline-end:.8rem;background:#0f172ae0;color:#f5f7fa;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .6rem;border-radius:4px}.gallery-item[data-astro-cid-hwyji337] figcaption[data-astro-cid-hwyji337]{margin-top:.6rem;font-family:var(--font-mono);font-size:.72rem;color:var(--gray-500)}.gallery-img-wrap[data-astro-cid-hwyji337] img[data-astro-cid-hwyji337].gallery-img:not([src]){opacity:0}.gallery-img-wrap[data-astro-cid-hwyji337] img[data-astro-cid-hwyji337].gallery-img{transition:opacity .3s ease}.gallery-img-wrap[data-astro-cid-hwyji337] img[data-astro-cid-hwyji337].gallery-img[src]{opacity:1}.video-note[data-astro-cid-hwyji337]{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;color:var(--gray-500);margin:1rem 0 0}.video-grid[data-astro-cid-hwyji337]{display:grid;grid-template-columns:1fr;gap:1.6rem;margin-top:2rem}@media(min-width:1024px){.video-grid[data-astro-cid-hwyji337].multi{grid-template-columns:1fr 1fr}}.video-wrap[data-astro-cid-hwyji337]{overflow:hidden;border-radius:12px;border:1px solid var(--section-divider);background:var(--ink-card)}.video-wrap[data-astro-cid-hwyji337] video[data-astro-cid-hwyji337]{display:block;width:100%;height:auto;aspect-ratio:16 / 9;-o-object-fit:cover;object-fit:cover}
