.projects-page{gap:0;display:grid}.projects-hero{isolation:isolate;border:1px solid var(--border-mid);background:radial-gradient(circle at 85% 15%,color-mix(in oklab,var(--brand-mid)14%,transparent),transparent 28%),var(--surface-card-strong);box-shadow:var(--shadow-2);border-radius:clamp(1.35rem,2.5vw,2rem);grid-template-columns:minmax(0,1.45fr) minmax(16rem,.55fr);align-items:end;gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.5rem,4vw,3.5rem);display:grid;position:relative;overflow:hidden}.projects-page>.projects-hero{margin-top:clamp(.85rem,1.6vw,1.25rem)}.projects-hero:after{content:"";z-index:-1;opacity:.36;background-image:linear-gradient(135deg,color-mix(in oklab,var(--brand-mid)9%,transparent)1px,transparent 1px);background-size:1.35rem 1.35rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 10%,#000 72%);mask-image:linear-gradient(90deg,#0000 10%,#000 72%)}.projects-hero__copy{max-width:48rem}.projects-hero__copy .section-kicker{justify-content:flex-start;margin-inline:0}.projects-hero__title{text-wrap:balance;max-width:24ch;margin:1.1rem 0 0}.projects-hero__lead{max-width:44rem;margin:1.4rem 0 0;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.68}.projects-hero__note{border:1px solid var(--border-soft);background:var(--surface-glass);box-shadow:var(--shadow-1);border-radius:1.15rem;gap:.85rem;padding:1.2rem;display:grid}.projects-hero__note-index{letter-spacing:.14em;color:var(--color-primary);font-size:.78rem;font-weight:800}.projects-hero__note p{color:var(--color-text-secondary);margin:0;font-size:.92rem;line-height:1.65}.projects-list{gap:clamp(4.5rem,10vw,9rem);margin-top:clamp(2.5rem,6vw,5.5rem);display:grid}.project-case{scroll-margin-top:calc(var(--header-h) + 5.25rem);grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(2rem,5vw,5.25rem);display:grid}.project-case--reverse .project-case__content{order:2}.project-case--reverse .project-case__visuals{order:1}.project-case__content{top:calc(var(--header-h) + 2rem);position:sticky}.project-case__meta{color:var(--color-text-secondary);letter-spacing:.075em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.65rem .85rem;font-size:.78rem;font-weight:700;display:flex}.project-status{border:1px solid var(--border-soft);background:var(--surface-chip);border-radius:999px;align-items:center;min-height:2rem;padding:.38rem .68rem;display:inline-flex}.project-status--live:before,.project-status--archive:before{content:"";border-radius:999px;width:.48rem;height:.48rem;margin-right:.5rem}.project-status--live:before{background:#2ca46f;box-shadow:0 0 0 .22rem #2ca46f2e;box-shadow:0 0 0 .22rem lab(60.0128% -43.6403 17.7821/.18)}.project-status--archive:before{background:var(--brand-mid)}.project-case__title{letter-spacing:-.04em;margin:1.2rem 0 0;font-size:clamp(2rem,4vw,3.65rem);line-height:1}.project-case__summary{margin:1.1rem 0 0;font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.67}.project-case__context{border-left:3px solid var(--brand-mid);background:color-mix(in oklab,var(--brand-mid)7%,transparent);color:var(--color-text-secondary);border-radius:0 .8rem .8rem 0;margin:1rem 0 0;padding:.9rem 1rem;font-size:.9rem;line-height:1.58}.project-case__built{margin-top:1.65rem}.project-case__built h3,.project-case__proof>span{letter-spacing:.11em;text-transform:uppercase;color:var(--color-primary);margin:0 0 .7rem;font-size:.76rem;font-weight:800}.project-case__built ul{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.project-case__built li{color:var(--color-text-secondary);grid-template-columns:1.15rem minmax(0,1fr);gap:.62rem;line-height:1.55;display:grid}.project-case__built li svg{color:var(--color-primary);margin-top:.16rem}.project-case__proof{border-top:1px solid var(--border-soft);margin-top:1.6rem;padding-top:1.2rem}.project-case__proof p{color:var(--color-text);margin:.45rem 0 0;line-height:1.62}.project-case__link,.projects-final__secondary{min-height:2.9rem;color:var(--color-primary);outline:none;align-items:center;gap:.55rem;margin-top:1.35rem;font-weight:800;display:inline-flex}.project-case__link:focus-visible,.projects-final__secondary:focus-visible{box-shadow:0 0 0 3px var(--ring-soft),0 0 0 1px var(--ring-brand);border-radius:.45rem}.project-case__archive-note{color:var(--color-text-secondary);margin-top:1.35rem;font-size:.84rem;display:block}.project-case__visuals{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.7vw,1.25rem);display:grid}.project-shot{border:1px solid var(--border-mid);background:var(--surface-card);box-shadow:var(--shadow-2);border-radius:clamp(1rem,2vw,1.4rem);margin:0;overflow:hidden}.project-shot--primary,.project-shot--wide{grid-column:1/-1}.project-shot img{aspect-ratio:1265/712;object-fit:cover;object-position:top;width:100%;height:auto;display:block}.project-shot figcaption{border-top:1px solid var(--border-soft);color:var(--color-text-secondary);padding:.72rem .9rem .82rem;font-size:.74rem;line-height:1.45}.projects-final{border:1px solid var(--border-mid);background:var(--surface-accent);box-shadow:var(--shadow-2);border-radius:1.7rem;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);align-items:end;gap:2rem;margin-top:clamp(2.5rem,6vw,5.5rem);padding:clamp(1.5rem,4vw,3rem);display:grid}.projects-final .section-kicker{justify-content:flex-start;margin-inline:0}.projects-final h2{max-width:22ch;margin:1rem 0 0}.projects-final p{max-width:43rem;margin:1rem 0 0}.projects-final__actions{flex-direction:column;align-items:stretch;display:flex}.projects-final__actions .kamoza-button{justify-content:center}.projects-final__secondary{justify-content:center;margin-top:.65rem}@media (max-width:900px){.projects-hero,.project-case,.projects-final{grid-template-columns:1fr}.projects-hero__title{max-width:14ch}.project-case__content,.project-case--reverse .project-case__content,.project-case--reverse .project-case__visuals{order:initial;position:static}.project-case__content{max-width:46rem}.projects-final__actions{max-width:23rem}}@media (max-width:560px){.projects-page{gap:0}.projects-hero{padding:1.25rem}.projects-hero__title{max-width:20ch}.projects-list{gap:4.25rem}.project-case{gap:1.4rem}.project-case__visuals{grid-template-columns:1fr}.project-shot,.project-shot--primary{grid-column:auto}.project-shot figcaption{font-size:.7rem}.projects-final{padding:1.25rem}}@media (prefers-reduced-motion:reduce){.project-case__link,.projects-final__secondary{transition:none}}
