.page-projects .nav{-webkit-backdrop-filter:blur(16px)saturate(1.2);border-bottom-color:var(--line);background:#0a120e9e}html.has-detail{overflow:hidden}.live-dot{background:var(--ember);width:8px;height:8px;animation:pulse 2s var(--ease-out) infinite;border-radius:50%;display:inline-block;box-shadow:0 0 #f0a04b99}.phero{padding:calc(var(--nav-h) + clamp(56px, 11vh, 120px)) 0 0;background:radial-gradient(90% 70% at 85% 0%, #f0a04b1f, transparent 60%), var(--forest-950);position:relative;overflow:hidden}.phero__back{color:#efe8dabf;transition:color .3s, gap .4s var(--ease-out);align-items:center;gap:10px;margin-bottom:28px;font-size:14px;font-weight:500;display:inline-flex}.phero__back:hover{color:var(--ember-hi);gap:14px}.phero__back+.kicker{display:flex}.phero__title{letter-spacing:-.04em;max-width:13ch;font-size:clamp(3.2rem,8.6vw,9rem);font-weight:330;line-height:.92}.phero__title em{color:var(--ember-hi)}.phero__lede{color:#efe8dac7;max-width:34em;margin-top:28px;font-size:clamp(16px,1.3vw,19px)}.phero__stats{flex-wrap:wrap;gap:16px 48px;margin-top:40px;display:flex}.phero__stats dt{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-weight:600}.phero__stats dd{color:var(--ember-hi);font:300 clamp(40px, 4.4vw, 64px) / 1 var(--serif);font-variant-numeric:tabular-nums}.phero__strip{margin-top:clamp(56px,9vh,100px);padding:24px 0 40px;transform:rotate(-2deg);-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.phero__strip-track{gap:14px;width:max-content;animation:90s linear infinite ticker;display:flex}.phero__strip img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.85)brightness(.85);border-radius:14px;width:auto;height:clamp(130px,18vw,230px)}.pnow{background:var(--forest-950);padding:clamp(70px,10vh,120px) 0 0}.pnow h2{margin-bottom:36px}.pnow .kicker .live-dot{margin-right:-4px}.pnow__grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;display:grid}.plist{background:var(--forest-950);padding:clamp(70px,10vh,120px) 0 clamp(90px,14vh,160px)}.plist__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-bottom:40px;display:flex}.plist__head h2{font-size:clamp(2.2rem,4.4vw,4.2rem)}.pfilters{flex-wrap:wrap;gap:8px;display:flex}.pfilter{cursor:pointer;background:0 0;border:1px solid #efe8da38;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;transition:background .35s,border-color .35s,color .35s;display:inline-flex}.pfilter span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;transition:color .35s}.pfilter:hover{border-color:#f0a04b99}.pfilter[aria-pressed=true]{background:var(--bone);border-color:var(--bone);color:var(--ink)}.pfilter[aria-pressed=true] span{color:#141a16bf}.pgrid{grid-template-columns:repeat(3,1fr);gap:40px 28px;display:grid}.pempty{color:var(--muted);text-align:center;padding:60px 0}.pcard{flex-direction:column;min-width:0;display:flex}.pcard--large{grid-area:span 2/span 2}.pcard__media{aspect-ratio:4/3;background:var(--forest-800);isolation:isolate;border-radius:20px;display:block;position:relative;overflow:hidden}.pcard--large .pcard__media{aspect-ratio:auto;flex:1;min-height:340px}.pcard__media img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease-out), clip-path .9s var(--ease-in-out), filter .6s;position:absolute;inset:0}.pcard__cover{filter:saturate(.95)brightness(.95)}.pcard__before{clip-path:inset(0 100% 0 0);filter:saturate(.8)}.pcard__media:after{content:"";pointer-events:none;background:linear-gradient(#05080659,#0000 30% 70%,#0508064d);position:absolute;inset:0}.pcard__badge,.pcard__flip{z-index:2;-webkit-backdrop-filter:blur(8px);letter-spacing:.16em;text-transform:uppercase;background:#0a120e99;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;top:14px}.pcard__badge{left:14px}.pcard__flip{background:var(--bone);color:var(--ink);opacity:0;transition:opacity .4s, transform .5s var(--ease-out);right:14px;transform:translateY(-6px)}@media (hover:hover){.pcard:hover .pcard__cover{transform:scale(1.05)}.pcard:hover .pcard__before{clip-path:inset(0);transform:scale(1.05)}.pcard:hover .pcard__flip{opacity:1;transform:none}}.pcard__body{padding:18px 4px 0}.pcard__body h3{font-size:clamp(22px,1.8vw,28px);line-height:1.12}.pcard--large .pcard__body h3{font-size:clamp(26px,2.6vw,40px)}.pcard__body h3 a{transition:background-size .6s var(--ease-out), color .3s;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat}.pcard:hover .pcard__body h3 a{color:var(--ember-hi);background-size:100% 1px}.pcard__meta{color:var(--muted);margin-top:8px;font-size:14px}.pcard__stages{letter-spacing:.12em;text-transform:uppercase;color:#efe8dab3;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:12px;font-weight:600;list-style:none;display:flex}.pcard__stages li{align-items:center;gap:7px;display:inline-flex}.pcard__stages li:before{content:"";background:var(--stone);border-radius:50%;width:7px;height:7px}.pcard__stages .is-progress:before{background:var(--ember)}.pcard__stages .is-after:before{background:var(--sage)}@media (width<=1100px){.pgrid{grid-template-columns:repeat(2,1fr)}.pcard--large{grid-row:auto}.pcard--large .pcard__media{aspect-ratio:16/9;min-height:0}}@media (width<=700px){.pgrid{grid-template-columns:1fr}.pcard--large{grid-column:auto}.pcard--large .pcard__media{aspect-ratio:4/3}}.pcta{background:var(--forest-900);border-top:1px solid var(--line);padding:clamp(70px,10vh,110px) 0}.pcta__inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.pdetail{z-index:180;background:var(--forest-950);transition:transform .75s var(--ease-in-out);position:fixed;inset:0;transform:translateY(100%)}.pdetail.is-open{transform:none}.pdetail__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;overflow-y:auto}.pdetail__close{z-index:5;-webkit-backdrop-filter:blur(10px);cursor:pointer;letter-spacing:.14em;text-transform:uppercase;background:#0a120e99;border:1px solid #efe8da4d;border-radius:999px;align-items:center;gap:10px;height:46px;padding:0 8px 0 18px;font-size:13px;font-weight:600;transition:background .3s,color .3s;display:inline-flex;position:fixed;top:18px;right:clamp(14px,2.4vw,32px)}.pdetail__close i{background:var(--bone);width:32px;height:32px;color:var(--ink);transition:transform .5s var(--ease-out);border-radius:50%;place-items:center;font-size:20px;font-style:normal;line-height:1;display:grid}.pdetail__close:hover{background:var(--ember);color:#1d1206}.pdetail__close:hover i{transform:rotate(90deg)}.pdetail__hero{height:min(78vh,760px);min-height:420px;position:relative;overflow:hidden}.pdetail__hero img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pdetail__shade{background:linear-gradient(0deg, var(--forest-950), #0a120e66 40%, #0a120e26 70%, #0a120e80);position:absolute;inset:0}.pdetail__heading{position:absolute;bottom:clamp(28px,6vh,64px);left:0;right:0}.pdetail__heading .kicker{gap:10px}.pdetail__heading h2{letter-spacing:-.035em;text-shadow:0 10px 50px #0006;max-width:18ch;font-size:clamp(2.6rem,6vw,6rem);font-weight:330}.pdetail__intro{grid-template-columns:1.4fr .8fr;gap:clamp(28px,5vw,80px);padding:clamp(28px,5vh,56px) 0 clamp(40px,8vh,80px);display:grid}.pdetail__text p{max-width:36em;font:340 clamp(20px, 1.8vw, 26px) / 1.45 var(--serif);color:#efe8dae6}.pdetail__text p+p{margin-top:18px}.pdetail__facts h3{color:var(--muted);font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px}.pdetail__facts h3+*{margin-bottom:28px}.pdetail__tags{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.pdetail__tags li{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px}.pdetail__jump{display:grid}.pdetail__jump a{border-top:1px solid var(--line);font:400 20px var(--serif);transition:color .3s, padding .4s var(--ease-out);justify-content:space-between;padding:12px 0;display:flex}.pdetail__jump a span{color:var(--muted);font:600 12px var(--sans);letter-spacing:.12em}.pdetail__jump a:hover{color:var(--ember-hi);padding-left:8px}.pstage{border-top:1px solid var(--line);padding:clamp(40px,7vh,72px) 0}.pstage--progress{background:linear-gradient(#f0a04b0d,#0000 40%)}.pstage__title{align-items:baseline;gap:16px;margin-bottom:28px;font-size:clamp(30px,3.4vw,48px);display:flex}.pstage__title span{color:var(--ember);font:600 12px var(--sans);letter-spacing:.18em}.pstage__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.pstage__grid--n1{grid-template-columns:1fr;max-width:960px}.pstage__grid--n2{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}.pphoto{aspect-ratio:4/3;cursor:zoom-in;background:var(--forest-800);border-radius:14px;margin:0;position:relative;overflow:hidden}.pstage__grid--n1 .pphoto{aspect-ratio:auto}.pphoto img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease-out), filter .5s}.pphoto:hover img,.pphoto:focus-visible img{transform:scale(1.04)}.pphoto figcaption{-webkit-backdrop-filter:blur(6px);background:#0a120e9e;border-radius:999px;max-width:calc(100% - 20px);padding:6px 11px;font-size:13px;position:absolute;bottom:10px;left:10px}.pdetail__foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding:clamp(40px,8vh,80px) 0 clamp(60px,10vh,110px);display:flex}.pdetail__foot-left{justify-items:start;gap:14px;display:grid}.pdetail__all{cursor:pointer;background:0 0;border:1px solid #efe8da4d;border-radius:999px;align-items:center;gap:10px;height:48px;padding:0 20px;font-size:14px;font-weight:600;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.pdetail__all:hover{background:var(--bone);border-color:var(--bone);color:var(--ink)}.pdetail__next{text-align:right;font:330 clamp(26px, 3.2vw, 44px) / 1.1 var(--serif);letter-spacing:-.02em;gap:6px;margin-left:auto;transition:color .3s;display:grid}.pdetail__next span{color:var(--muted);font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase}.pdetail__next i{color:var(--ember);transition:transform .6s var(--ease-out);font-style:normal;display:inline-block}.pdetail__next:hover{color:var(--ember-hi)}.pdetail__next:hover i{transform:translate(8px)}@media (width<=860px){.pdetail__intro{grid-template-columns:1fr}}.viewer{z-index:260;opacity:0;transition:opacity .4s var(--ease-out);background:#050806f2;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:56px clamp(8px,2vw,24px) 24px;display:grid;position:fixed;inset:0}.viewer.is-open{opacity:1}.viewer__figure{justify-items:center;gap:14px;min-width:0;display:grid}.viewer__figure img{object-fit:contain;border-radius:12px;max-width:100%;max-height:calc(100svh - 150px)}.viewer figcaption{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;font-size:14px;display:flex}.viewer__stage{background:var(--ember);color:#1d1206;letter-spacing:.16em;text-transform:uppercase;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.viewer__count{color:var(--muted);font-variant-numeric:tabular-nums}.viewer__nav,.viewer__close{border:1px solid var(--line);cursor:pointer;width:52px;height:52px;transition:background .3s, color .3s, transform .4s var(--ease-out);background:#0a120e99;border-radius:50%;place-items:center;font-size:20px;display:grid}.viewer__nav:hover,.viewer__close:hover{background:var(--ember);color:#1d1206}.viewer__nav--prev:hover{transform:translate(-3px)}.viewer__nav--next:hover{transform:translate(3px)}.viewer__close{font-size:26px;position:absolute;top:12px;right:12px}@media (width<=700px){.viewer{grid-template-columns:1fr;padding:64px 8px 90px}.viewer__nav{position:absolute;bottom:22px}.viewer__nav--prev{left:calc(50% - 64px)}.viewer__nav--next{right:calc(50% - 64px)}}
