.pjx-projects{padding-block:var(--section-y)}.pjx-gallery-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:end;margin-bottom:clamp(36px,4vw,60px)}@media(max-width:1000px){.pjx-gallery-top{grid-template-columns:1fr}.pjx-gallery-aside{justify-self:start}}.pjx-gallery-head{max-width:640px;display:flex;flex-direction:column;gap:14px}.pjx-eyebrow-rule{display:flex;align-items:center;gap:14px}.pjx-eyebrow-rule__dot{width:9px;height:9px;border:1.5px solid var(--ink-900);border-radius:var(--r-pill);flex:none}.pjx-eyebrow-rule__line{height:1px;width:64px;background:var(--ink-900)}.pjx-gallery-aside{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-6);justify-self:end}.pjx-h2{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--fs-h2);line-height:var(--lh-snug);letter-spacing:-.018em;margin:2px 0 0}.pjx-intro{margin:0;color:var(--text-secondary);font-size:var(--fs-body);line-height:var(--lh-relaxed);max-width:52ch}.pjx-linkcta{font-family:var(--font-eyebrow);font-weight:var(--w-semibold);font-size:var(--fs-body-sm);letter-spacing:var(--ls-button);color:var(--text-primary);text-decoration:none;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;padding-bottom:4px;border-bottom:1.5px solid var(--ink-900);transition:gap var(--dur-base) var(--ease-out),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.pjx-linkcta:hover{gap:14px;color:var(--text-accent);border-color:var(--text-accent)}.pjx-gal{display:flex;flex-direction:column;gap:var(--grid-gap)}.pjx-row{display:grid;gap:var(--grid-gap)}.pjx-row--r1{grid-template-columns:2fr 1fr;height:clamp(360px,44vw,560px)}.pjx-row--r2{grid-template-columns:1fr 2fr;height:clamp(340px,40vw,520px)}.pjx-row--r3,.pjx-row--r4{grid-template-columns:1fr 1fr;height:clamp(320px,34vw,470px)}.pjx-card{position:relative;overflow:hidden;border-radius:var(--r-md);cursor:pointer;border:0;padding:0;margin:0;background:var(--surface-2);text-align:left;font:inherit;color:inherit;display:block;width:100%;height:100%}.pjx-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}.pjx-card:hover .pjx-card__img,.pjx-card:focus-visible .pjx-card__img{transform:scale(1.045)}.pjx-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0e1613e0,#0e1613b8 24%,#0e161361 44%,#0e161300 62%);z-index:1;opacity:1;transition:opacity var(--dur-base) var(--ease-standard)}.pjx-card:hover:after,.pjx-card:focus-visible:after{opacity:1}.pjx-card:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:3px}.pjx-card__meta{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,2vw,26px);display:flex;flex-direction:column;gap:7px;text-shadow:0 1px 3px rgba(20,22,21,.55)}.pjx-card__type{font-family:var(--font-eyebrow);font-size:.7rem;font-weight:var(--w-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--white);display:flex;align-items:center;gap:8px}.pjx-card__type:before{content:"";width:18px;height:1px;background:var(--accent)}.pjx-card__title{font-family:var(--font-display);font-weight:var(--w-bold);font-size:clamp(1.15rem,1.7vw,1.6rem);color:var(--white);letter-spacing:-.01em;line-height:1.08}.pjx-card__loc{font-size:var(--fs-caption);color:#ffffffe6;letter-spacing:.04em;display:flex;align-items:center;gap:9px}.pjx-card__view{display:inline-flex;align-items:center;gap:7px;margin-top:5px;font-family:var(--font-eyebrow);font-weight:var(--w-semibold);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--white);opacity:0;transform:translateY(6px);transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}.pjx-card:hover .pjx-card__view,.pjx-card:focus-visible .pjx-card__view{opacity:1;transform:none}.pjx-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:stretch;justify-content:flex-end}.pjx-modal__scrim{position:absolute;inset:0;background:#10121185;backdrop-filter:blur(2px);animation:pjx-scrim-in .18s var(--ease-standard) both}.pjx-modal__panel{position:relative;width:min(940px,100%);height:100%;background:var(--bg-page);overflow-y:auto;box-shadow:var(--shadow-lg);animation:pjx-panel-in .3s var(--ease-out) both}@keyframes pjx-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes pjx-panel-in{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.pjx-modal__scrim,.pjx-modal__panel{animation:none}}.pjx-modal__close{position:sticky;top:0;float:right;margin:18px 18px 0 0;z-index:5;width:42px;height:42px;border-radius:var(--r-pill);border:1px solid var(--border-hairline);background:#fbfbfae6;backdrop-filter:blur(6px);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-700);transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast)}.pjx-modal__close:hover{background:var(--ink-900);color:var(--white);transform:rotate(90deg)}.pjx-modal__close:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.pjx-m-hero{position:relative;width:100%;aspect-ratio:16 / 10;background:var(--surface-2);overflow:hidden}.pjx-m-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--dur-base) var(--ease-standard)}.pjx-m-hero__img.is-shown{opacity:1}.pjx-m-thumbs{display:flex;gap:10px;padding:14px clamp(28px,4vw,52px) 0}.pjx-m-thumb{width:76px;height:54px;border-radius:var(--r-sm);overflow:hidden;border:0;padding:0;cursor:pointer;position:relative;opacity:.5;transition:opacity var(--dur-fast);flex:none;background:var(--surface-2)}.pjx-m-thumb img{width:100%;height:100%;object-fit:cover}.pjx-m-thumb.is-active{opacity:1;box-shadow:0 0 0 2px var(--green-700)}.pjx-m-thumb:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.pjx-m-body{padding:clamp(26px,4vw,40px) clamp(28px,4vw,52px) clamp(48px,6vw,72px)}.pjx-m-eyebrow{font-family:var(--font-eyebrow);font-size:var(--fs-eyebrow);font-weight:var(--w-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-accent);display:flex;align-items:center;gap:10px}.pjx-m-eyebrow:before{content:"";width:22px;height:1.5px;background:var(--accent)}.pjx-m-title{font-family:var(--font-display);font-weight:var(--w-extrabold);font-size:clamp(2rem,4vw,3rem);line-height:1.02;letter-spacing:-.02em;margin:14px 0 0}.pjx-m-loc{margin-top:12px;color:var(--text-secondary);font-size:var(--fs-body-sm);display:flex;align-items:center;gap:9px}.pjx-m-loc svg{color:var(--accent)}.pjx-m-lead{font-family:var(--font-display);font-weight:var(--w-medium);font-size:var(--fs-lead);line-height:1.4;letter-spacing:-.01em;margin:24px 0 0;color:var(--text-primary);max-width:60ch}.pjx-m-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--border-hairline);border:1px solid var(--border-hairline);border-radius:var(--r-md);overflow:hidden;margin:30px 0 0}.pjx-m-stat{background:var(--bg-elevated);padding:18px 20px}.pjx-m-stat__v{font-family:var(--font-display);font-weight:var(--w-bold);font-size:clamp(1.4rem,2.2vw,1.9rem);letter-spacing:-.02em;line-height:1;color:var(--text-primary)}.pjx-m-stat__l{margin-top:7px;font-size:var(--fs-caption);color:var(--text-muted);letter-spacing:.02em}.pjx-m-role{margin:34px 0 0;display:grid;grid-template-columns:140px 1fr;gap:var(--sp-6)}.pjx-m-role h3{font-family:var(--font-eyebrow);font-size:var(--fs-eyebrow);font-weight:var(--w-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted);padding-top:4px;margin:0}.pjx-m-role p{margin:0 0 16px;color:var(--text-secondary);line-height:var(--lh-relaxed);font-size:var(--fs-body-sm)}.pjx-m-role p:last-child{margin-bottom:0}.pjx-m-role strong{color:var(--text-primary);font-weight:var(--w-bold)}.pjx-m-casestudy{margin:26px 0 0;display:inline-flex;align-items:center;gap:9px;font-family:var(--font-eyebrow);font-weight:var(--w-semibold);font-size:var(--fs-body-sm);letter-spacing:var(--ls-button);color:var(--text-accent);text-decoration:none;padding-bottom:3px;border-bottom:1.5px solid var(--green-200);transition:gap var(--dur-base) var(--ease-out),border-color var(--dur-fast) var(--ease-standard)}.pjx-m-casestudy:hover{gap:14px;border-color:var(--accent)}.pjx-m-cta{margin:38px 0 0;padding:26px clamp(22px,3vw,30px);background:var(--bg-feature);border-radius:var(--r-md);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.pjx-m-cta p{margin:0;color:var(--text-on-dark);font-family:var(--font-display);font-weight:var(--w-semibold);font-size:var(--fs-body);max-width:38ch}@media(max-width:760px){.pjx-row--r1,.pjx-row--r2,.pjx-row--r3,.pjx-row--r4{grid-template-columns:1fr;height:auto}.pjx-card{aspect-ratio:16 / 11;height:auto}.pjx-m-role{grid-template-columns:1fr;gap:8px}.pjx-modal{justify-content:stretch}}.pgal-page{padding-block:var(--section-y)}.pgal-head{display:grid;grid-template-columns:1fr;gap:var(--sp-8);align-items:end;margin-bottom:clamp(40px,5vw,72px)}@media(min-width:900px){.pgal-head{grid-template-columns:1.15fr 1fr;gap:var(--sp-16)}}.pgal-head__lead{display:flex;flex-direction:column;gap:var(--sp-5)}.pgal-h1{margin:0;font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--ls-heading);color:var(--text-primary);text-wrap:balance}.pgal-head__aside{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-5)}.pgal-intro{margin:0;font-size:var(--fs-lead);line-height:var(--lh-relaxed);color:var(--text-secondary);max-width:44ch}.pgal-linkcta{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-eyebrow);font-weight:var(--w-semibold);font-size:var(--fs-spec);letter-spacing:var(--ls-spec);text-transform:uppercase;color:var(--text-accent);text-decoration:none}.pgal-linkcta svg{transition:transform var(--dur-base) var(--ease-out)}.pgal-linkcta:hover svg{transform:translate(4px)}.pgal-plate-seq{display:flex;flex-direction:column;gap:clamp(44px,5.5vw,80px)}.pgal-plate-row--pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px)}@media(max-width:720px){.pgal-plate-row--pair{grid-template-columns:1fr;gap:clamp(36px,8vw,44px)}}.pgal-plate{margin:0;display:flex;flex-direction:column;min-width:0}.pgal-plate__btn{position:relative;display:block;width:100%;padding:0;border:0;margin:0;background:var(--surface-2);border-radius:var(--r-lg);overflow:hidden;cursor:zoom-in}.pgal-plate__btn:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:3px}.pgal-plate__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}.pgal-plate__btn:hover .pgal-plate__img,.pgal-plate__btn:focus-visible .pgal-plate__img{transform:scale(1.03)}.pgal-plate--full .pgal-plate__btn{aspect-ratio:21 / 10}.pgal-plate--pair .pgal-plate__btn{aspect-ratio:4 / 3}.pgal-plate--study .pgal-plate__btn{aspect-ratio:16 / 9}@media(max-width:720px){.pgal-plate--full .pgal-plate__btn{aspect-ratio:4 / 3}}.pgal-plate__tag{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;font-family:var(--font-eyebrow);font-weight:var(--w-semibold);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;line-height:1;padding:5px 10px;border-radius:var(--r-sm)}.pgal-plate__tag--delivered{background:var(--accent);color:var(--ink-900)}.pgal-plate__tag--concept{background:#fffffff0;color:var(--ink-900)}.pgal-plate__count{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-eyebrow);font-weight:var(--w-semibold);font-size:.6875rem;letter-spacing:.08em;line-height:1;padding:6px 9px;border-radius:var(--r-sm);background:#0e1613ad;color:#fff;backdrop-filter:blur(3px);font-variant-numeric:tabular-nums}.pgal-plate-studies{margin-top:clamp(56px,7vw,104px);padding-top:clamp(28px,3.5vw,44px);border-top:1px solid var(--border-hairline)}.pgal-plate-studies__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-6);flex-wrap:wrap;margin-bottom:clamp(20px,2.5vw,32px)}.pgal-plate-studies__h{margin:0;font-family:var(--font-eyebrow);font-size:var(--fs-eyebrow);font-weight:var(--w-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-secondary)}.pgal-plate-studies__note{margin:0;font-size:var(--fs-caption);color:var(--text-muted)}.pgal-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vw,44px)}.pgal-modal__scrim{position:absolute;inset:0;background:#0e1613f0;backdrop-filter:blur(4px)}.pgal-modal__panel{position:relative;z-index:1;max-width:min(1440px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);outline:none}.pgal-modal__figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);max-height:100%;min-width:min(560px,82vw)}.pgal-modal__img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain;border-radius:var(--r-sm);box-shadow:0 24px 60px #00000080}.pgal-modal__cap{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);width:100%;padding-top:var(--sp-2);border-top:1px solid rgba(255,255,255,.38)}.pgal-modal__meta{display:flex;align-items:baseline;gap:var(--sp-3);min-width:0;flex-wrap:wrap}.pgal-modal__title{font-family:var(--font-eyebrow);font-size:var(--fs-spec);font-weight:var(--w-semibold);letter-spacing:var(--ls-spec);text-transform:uppercase;color:#fff}.pgal-modal__sub{font-family:var(--font-eyebrow);font-size:var(--fs-spec);font-weight:var(--w-medium);letter-spacing:var(--ls-spec);text-transform:uppercase;color:#ffffffa8}.pgal-modal__count{flex:none;font-family:var(--font-eyebrow);font-size:var(--fs-spec);letter-spacing:.08em;color:#ffffffa8;font-variant-numeric:tabular-nums}.pgal-modal__thumbs{display:flex;gap:var(--sp-2);flex-wrap:wrap;justify-content:center}.pgal-modal__thumb{padding:0;border:1px solid transparent;border-radius:var(--r-sm);overflow:hidden;background:none;cursor:pointer;opacity:.55;transition:opacity var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.pgal-modal__thumb img{display:block;width:72px;height:48px;object-fit:cover}.pgal-modal__thumb:hover{opacity:.85}.pgal-modal__thumb.is-active{opacity:1;border-color:var(--accent)}.pgal-modal__thumb:focus-visible{outline:2px solid #fff;outline-offset:2px;opacity:1}.pgal-modal__close,.pgal-modal__nav{position:fixed;display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;color:#fff;background:#ffffff1a;border-radius:var(--r-pill);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.pgal-modal__close:hover,.pgal-modal__nav:hover{background:#ffffff38}.pgal-modal__close:focus-visible,.pgal-modal__nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.pgal-modal__close{top:clamp(12px,2.4vw,24px);right:clamp(12px,2.4vw,24px);width:44px;height:44px;z-index:2}.pgal-modal__nav{top:50%;transform:translateY(-50%);width:48px;height:48px;z-index:2}.pgal-modal__nav--prev{left:clamp(8px,2vw,24px)}.pgal-modal__nav--next{right:clamp(8px,2vw,24px)}.pgal-modal__nav:hover{transform:translateY(-50%) scale(1.06)}@media(max-width:560px){.pgal-modal__nav{width:40px;height:40px}.pgal-modal__thumbs{display:none}}@media(prefers-reduced-motion:reduce){.pgal-plate__img,.pgal-linkcta svg,.pgal-modal__close,.pgal-modal__nav,.pgal-modal__thumb{transition:none}.pgal-plate__btn:hover .pgal-plate__img,.pgal-plate__btn:focus-visible .pgal-plate__img{transform:none}.pgal-modal__nav:hover{transform:translateY(-50%)}}
