.project-detail-page{background:var(--bg);position:relative}.project-detail-hero{border-bottom:1px solid var(--border);background:linear-gradient(140deg, color-mix(in srgb, var(--surface) 94%, transparent), var(--bg));padding:clamp(4.8rem,8vw,7.7rem) 0 clamp(3.8rem,6.5vw,6.2rem);position:relative;overflow:hidden}.project-detail-hero-grid,.project-detail-hero-glow{pointer-events:none;position:absolute}.project-detail-hero-grid{opacity:.34;background-image:linear-gradient(#48a7500e 1px,#0000 1px),linear-gradient(90deg,#48a7500e 1px,#0000 1px);background-size:5.2rem 5.2rem;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#000000b3 58%,#0000 100%);mask-image:linear-gradient(#000 0%,#000000b3 58%,#0000 100%)}.project-detail-hero-glow{background:var(--brand-green);filter:blur(105px);opacity:.1;border-radius:50%;width:28rem;height:28rem}.project-detail-hero-glow-one{top:-12rem;left:-10rem}.project-detail-hero-glow-two{opacity:.07;bottom:-18rem;right:-12rem}.project-detail-hero-inner{z-index:2;position:relative}.project-detail-breadcrumbs{margin-bottom:clamp(2.2rem,4vw,3.5rem)}.project-detail-breadcrumbs ol,.project-detail-breadcrumbs li{align-items:center;display:flex}.project-detail-breadcrumbs ol{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.project-detail-breadcrumbs li{color:var(--text-muted);gap:.45rem;font-size:.78rem;font-weight:620}.project-detail-breadcrumbs a{color:var(--text-muted);transition:color var(--transition);text-decoration:none}.project-detail-breadcrumbs a:hover{color:var(--brand-green)}.project-detail-breadcrumbs li:last-child span{color:var(--brand-green);font-weight:760}.project-detail-hero-copy{max-width:68rem}.project-detail-hero-copy .section-kicker{margin-bottom:1rem}.project-detail-hero h1{max-width:58rem;color:var(--text);font-family:var(--font-display);letter-spacing:-.062em;text-wrap:balance;margin:0;font-size:clamp(2.9rem,6vw,6.4rem);font-weight:850;line-height:.96}.project-detail-hero-copy>p{max-width:54rem;color:var(--text-muted);margin:clamp(1.2rem,2vw,1.65rem) 0 0;font-size:clamp(.96rem,1.2vw,1.12rem);line-height:1.82}.project-detail-content{position:relative}.project-detail-layout{grid-template-columns:minmax(0,1.65fr) minmax(18rem,.72fr);align-items:start;gap:clamp(1.4rem,3vw,2.8rem);display:grid}.project-detail-gallery-wrap,.project-detail-info{min-width:0}.project-gallery-stage{aspect-ratio:1.52;border:1px solid var(--border);background:var(--surface-muted);border-radius:clamp(1.2rem,2.1vw,1.8rem);position:relative;overflow:hidden;box-shadow:0 24px 70px #0c1c121c}.project-gallery-slide,.project-gallery-image,.project-gallery-slide .projects-card-image-fallback{width:100%;height:100%;display:block}.project-gallery-slide{position:absolute;inset:0}.project-gallery-image{object-fit:cover}.project-gallery-stage>.projects-card-image-fallback{width:100%;height:100%}.project-gallery-overlay{pointer-events:none;background:linear-gradient(#0000 58%,#040c076b 100%);position:absolute;inset:0}.project-gallery-counter{z-index:3;color:#fff;letter-spacing:.08em;-webkit-backdrop-filter:blur(12px);background:#040c078f;border:1px solid #ffffff38;border-radius:999px;align-items:center;min-height:2.35rem;padding:0 .78rem;font-size:.68rem;font-weight:820;display:inline-flex;position:absolute;top:1rem;left:1rem}.project-gallery-controls{z-index:3;gap:.45rem;display:flex;position:absolute;bottom:1rem;right:1rem}.project-gallery-controls button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px);width:2.8rem;height:2.8rem;transition:background var(--transition), transform var(--transition), border-color var(--transition);background:#040c07a3;border:1px solid #ffffff3d;border-radius:.86rem;place-items:center;display:grid}.project-gallery-controls button:hover{background:var(--brand-green);border-color:#77d78275;transform:translateY(-2px)}.project-gallery-thumbnails{grid-template-columns:repeat(auto-fit,minmax(5rem,7rem));gap:.7rem;margin-top:.85rem;display:grid}.project-gallery-thumbnails button{aspect-ratio:1.2;border:1px solid var(--border);background:var(--surface-muted);cursor:pointer;opacity:.7;transition:opacity var(--transition), border-color var(--transition), transform var(--transition);border-radius:.82rem;padding:0;position:relative;overflow:hidden}.project-gallery-thumbnails button:hover,.project-gallery-thumbnails button.is-active{opacity:1;border-color:#48a7508c;transform:translateY(-2px)}.project-gallery-thumbnail-image,.project-gallery-thumbnails .projects-card-image-fallback{object-fit:cover;width:100%;height:100%;display:block}.project-gallery-thumbnails button>span:last-child{color:#fff;background:#050d09a3;border-radius:.4rem;place-items:center;min-width:1.35rem;height:1.35rem;font-size:.55rem;font-weight:820;display:grid;position:absolute;bottom:.38rem;right:.42rem}.project-detail-info{top:calc(var(--header-height,5rem) + 1.5rem);border:1px solid var(--border);background:var(--surface);border-radius:1.35rem;padding:clamp(1.25rem,2.2vw,1.8rem);position:sticky;box-shadow:0 18px 55px #101c1512}.project-detail-info-kicker{color:var(--brand-green);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;font-size:.7rem;font-weight:850;display:block}.project-detail-facts{margin:0;display:grid}.project-detail-fact{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);gap:.85rem;padding:1rem 0;display:grid}.project-detail-fact:first-child{border-top:0;padding-top:.2rem}.project-detail-fact:last-child{padding-bottom:0}.project-detail-fact-icon{width:2.5rem;height:2.5rem;color:var(--brand-green);background:#48a7501a;border-radius:.78rem;place-items:center;display:grid}.project-detail-fact dt{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;margin:0 0 .28rem;font-size:.61rem;font-weight:820}.project-detail-fact dd{color:var(--text);margin:0;font-size:.86rem;font-weight:720;line-height:1.5}:root[data-theme=dark] .project-detail-hero{background:linear-gradient(140deg,#0f1713,#0b100d)}:root[data-theme=dark] .project-gallery-stage,:root[data-theme=dark] .project-detail-info{box-shadow:0 24px 70px #00000047}@media (max-width:980px){.project-detail-layout{grid-template-columns:1fr}.project-detail-info{position:static}}@media (max-width:640px){.project-detail-hero{padding-top:3.8rem}.project-detail-hero h1{font-size:clamp(2.6rem,15vw,4.4rem)}.project-gallery-stage{aspect-ratio:1/.78;border-radius:1rem}.project-gallery-counter{top:.72rem;left:.72rem}.project-gallery-controls{bottom:.72rem;right:.72rem}.project-gallery-controls button{width:2.55rem;height:2.55rem}.project-gallery-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}.project-detail-info{border-radius:1.05rem;padding:1.1rem}}@media (prefers-reduced-motion:reduce){.project-detail-breadcrumbs a,.project-gallery-controls button,.project-gallery-thumbnails button{transition:none}}.project-gallery .projects-card-image-fallback{background:radial-gradient(circle at 72% 24%,#77d78280,#0000 18%),linear-gradient(135deg,#173b23 0%,#274b31 48%,#111a15 100%);position:relative}.project-gallery .projects-card-image-fallback:after{content:"LE";color:#ffffff14;letter-spacing:-.08em;font-size:clamp(3.2rem,10vw,7.5rem);font-weight:900;position:absolute;bottom:.35rem;right:1rem}.project-detail-runtime-state{align-items:center;min-height:clamp(30rem,70vh,48rem);display:grid}.project-detail-runtime-state-inner{text-align:center;justify-items:center;max-width:46rem;display:grid}.project-detail-runtime-state-icon{width:4rem;height:4rem;color:var(--brand-green);background:#48a7501a;border-radius:1.1rem;place-items:center;margin-bottom:1.2rem;display:grid}.project-detail-runtime-state h1{color:var(--text);font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,5vw,3.8rem);line-height:1}.project-detail-runtime-state p{max-width:34rem;color:var(--text-muted);margin:.85rem 0 0;line-height:1.7}.project-detail-runtime-actions{flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.4rem;display:flex}.project-detail-runtime-actions button,.project-detail-runtime-actions a{background:var(--surface);min-height:2.85rem;color:var(--text);font:inherit;cursor:pointer;transition:transform var(--transition), border-color var(--transition), color var(--transition);border:1px solid #48a75047;border-radius:.85rem;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.82rem;font-weight:760;text-decoration:none;display:inline-flex}.project-detail-runtime-actions button:hover,.project-detail-runtime-actions a:hover{color:var(--brand-green);border-color:#48a75085;transform:translateY(-1px)}.project-detail-runtime-spinner{animation:.9s linear infinite project-detail-runtime-spin}@keyframes project-detail-runtime-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.project-detail-runtime-actions button,.project-detail-runtime-actions a{transition:none}.project-detail-runtime-spinner{animation:none}}
