body.project-page section{min-height:auto}body.project-page h2{width:auto;max-width:none}body.project-page .section-header{max-width:760px;margin-bottom:3rem}body.project-page .section-header h2 span{color:var(--theme-surface-on-surface-variant)}.project-hero{display:grid;grid-template-columns:subgrid;align-content:center;padding-block:8rem 6rem;min-height:100dvh}.project-hero>*{grid-column:main}.project-hero-content{max-width:920px}.project-hero h1{margin:1rem 0;font-size:clamp(4.5rem,14vw,12rem);line-height:.85;letter-spacing:-.08em;font-weight:500;color:var(--theme-surface-on-surface)}.project-hero h1 span{display:block;max-width:14ch;margin-top:1.25rem;font-size:clamp(2rem,5vw,4.4rem);line-height:1;letter-spacing:-.05em;font-weight:400;color:var(--theme-surface-on-surface-variant)}.project-hero-text{max-width:62ch;margin:2rem 0 0;font-size:1.08rem;line-height:1.8}.project-hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.project-hero-media{margin-top:4rem;border-radius:2.5rem;overflow:hidden;border:1px solid var(--theme-outline-variant);background:var(--theme-surface-surface-container);box-shadow:0 40px 120px #0000001f}.project-hero-media img{width:100%;display:block;aspect-ratio:16 / 9;object-fit:cover}.project-overview,.project-showcase,.project-features,.project-stack,.project-next{display:grid;grid-template-columns:subgrid;padding-block:7rem;border-top:1px solid var(--theme-outline-variant)}.project-overview>*,.project-showcase>*,.project-features>*,.project-stack>*,.project-next>*{grid-column:main}.project-overview{gap:3rem}.project-overview-text h2{max-width:780px}.project-overview-text h2 span{color:var(--theme-surface-on-surface-variant)}.project-overview-text p:not(.section-label){max-width:70ch;line-height:1.8;font-size:1.05rem}.project-meta{display:grid;grid-template-columns:1fr;gap:1rem}.project-meta div{padding:1.4rem;border-radius:1.5rem;border:1px solid var(--theme-outline-variant);background:var(--theme-surface-surface-container)}.project-meta span{display:block;margin-bottom:.5rem;font-size:.78rem;color:var(--theme-surface-on-surface-variant)}.project-meta strong{font-weight:500;color:var(--theme-surface-on-surface)}.floorcollapse-showcase{padding-top:2rem}.floorcollapse-demo{position:relative;width:100%;min-height:clamp(520px,76vh,820px);overflow:hidden;border-radius:2.5rem;border:1px solid var(--theme-outline-variant);background:var(--theme-surface-surface-container);box-shadow:0 40px 120px #0000001f}.floorcollapse-demo canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.floorcollapse-demo-copy{position:absolute;left:clamp(1.5rem,4vw,3rem);top:clamp(1.5rem,4vw,3rem);z-index:2;max-width:460px;pointer-events:none}.floorcollapse-demo-copy h2{margin:1rem 0;font-size:clamp(2.6rem,6vw,5.5rem);line-height:.9;letter-spacing:-.07em;color:#fff}.floorcollapse-demo-copy h2 span{display:block;color:#ffffff8c}.floorcollapse-demo-copy p:not(.section-label){max-width:42ch;line-height:1.7;color:#ffffffb8}.floorcollapse-demo-copy .section-label{color:#ffffff8c}.performance-inline{margin-top:1rem;display:grid;grid-template-columns:repeat(7,1fr);gap:1rem}.performance-inline article{min-height:120px;padding:1.2rem;border-radius:1.5rem;border:1px solid var(--theme-outline-variant);background:var(--theme-surface-surface-container);display:flex;flex-direction:column;justify-content:space-between}.performance-inline span{font-size:.78rem;color:var(--theme-surface-on-surface-variant)}.performance-inline strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1;font-weight:500;letter-spacing:-.06em;color:var(--theme-surface-on-surface)}@media not (min-width:1200px){.performance-inline{grid-template-columns:repeat(4,1fr)}}@media not (min-width:768px){.performance-inline{grid-template-columns:repeat(2,1fr)}.performance-inline article{min-height:105px;border-radius:1.2rem}}.project-feature-grid{display:grid;grid-template-columns:1fr;gap:1rem}.project-feature-grid article{min-height:260px;padding:1.5rem;border-radius:1.7rem;border:1px solid var(--theme-outline-variant);background:var(--theme-surface-surface-container);transition:transform .25s var(--ease-out-cubic),border-color .25s ease,box-shadow .25s ease}.project-feature-grid article:hover{transform:translateY(-4px);border-color:var(--theme-outline);box-shadow:0 24px 70px #00000014}.project-feature-grid .material-symbols-outlined{width:3rem;height:3rem;display:grid;place-content:center;margin-bottom:1.5rem;border-radius:1rem;background:var(--theme-surface-surface-container-higher);border:1px solid var(--theme-outline-variant);color:var(--theme-surface-on-surface)}.project-feature-grid h3{margin:0 0 .8rem;font-size:1.25rem;font-weight:500;letter-spacing:-.03em;color:var(--theme-surface-on-surface)}.project-feature-grid p{margin:0;line-height:1.7}.stack-list{display:flex;flex-wrap:wrap;gap:.7rem}.stack-list span{padding:.75rem 1.1rem;border-radius:999px;border:1px solid var(--theme-outline-variant);background:var(--theme-surface-surface-container);color:var(--theme-surface-on-surface-variant);font-size:.95rem}.project-next-card{position:relative;overflow:hidden;min-height:520px;padding:clamp(2rem,6vw,5rem);border-radius:2.5rem;background:#000;color:var(--theme-primary-on-primary);display:flex;justify-content:center;align-items:center}.project-next-content{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}#floorcollapse-next-wave{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.45}.project-next-card .section-label{color:#fff9}.project-next-card h2{margin:1rem 0;font-size:clamp(3rem,8vw,7rem);line-height:.9;letter-spacing:-.07em;color:var(--theme-primary-on-primary)}.project-next-card h2 span{color:#ffffff80}.project-next-card .project-link{background:#fff;color:#111}.project-next-card .project-link-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.16)}@media(min-width:900px){.project-meta,.project-feature-grid{grid-template-columns:repeat(4,1fr)}}@media not (min-width:768px){.project-hero{padding-block:7rem 4rem}.project-hero h1{font-size:4.5rem}.project-hero h1 span{font-size:2rem}.project-hero-media,.floorcollapse-demo{border-radius:1.5rem}.project-overview,.project-showcase,.project-features,.project-stack,.project-next{padding-block:5rem}.floorcollapse-demo{min-height:620px}.floorcollapse-demo-copy{max-width:calc(100% - 3rem)}.floorcollapse-demo-copy h2{font-size:3rem}.project-next-card{min-height:460px;border-radius:2rem}.project-next-card h2{font-size:3.2rem}}
