.jp{background:var(--bg);color:var(--white)}.jp .container{max-width:1200px;padding:0 var(--gutter);margin:0 auto}.jp .section{padding:clamp(60px,9vh,120px) 0}.jp [data-reveal]{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(40px)}.jp [data-reveal].in{opacity:1;transform:none}.jp .subtitle{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#2f6b57;border:1px solid #2f6b574d;border-radius:999px;padding:6px 14px;font-size:11px;display:inline-block}.jp .h1{letter-spacing:-.01em;font-family:Newsreader,Georgia,serif;font-size:clamp(34px,4.4vw,64px);font-weight:500;line-height:1.02}.jp .h2{letter-spacing:-.02em;font-family:Afacad Flux,Afacad,sans-serif;font-size:clamp(28px,3.4vw,50px);font-weight:700;line-height:1.03}.jp .h4{font-family:Afacad Flux,Afacad,sans-serif;font-size:clamp(22px,1.9vw,30px);font-weight:600;line-height:1.12}.jp .lede{color:#f1f1eead;font-size:clamp(15px,1.1vw,18px);line-height:1.55}.jp .white{color:#f1f1ee}.jp .white.lede{color:#f1f1eeb8}.jp .jp-light{color:#0d1310;clip-path:inset(0 -100vmax);background:#f8f4f1;box-shadow:0 0 0 100vmax #f8f4f1}.jp .jp-light .lede{color:#0d1310a8}.jp .container.jp-about{max-width:1400px}.jp-about{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(30px,4vw,64px);display:grid}.jp-about-img{aspect-ratio:6/5;background:#142019;border-radius:20px;overflow:hidden}.jp-about-img img{object-fit:cover;object-position:27% center;width:100%;height:100%;display:block}.jp-about-copy{flex-direction:column;align-items:flex-start;gap:26px;display:flex}.jp-accent{background:#101613}.jp-vhead{flex-direction:column;align-items:flex-start;gap:18px;max-width:660px;margin-bottom:clamp(30px,4vw,54px);display:flex}.jp-services{border-top:1px solid #f1f1ee24;flex-direction:column;display:flex}.jp-service{color:inherit;border-bottom:1px solid #f1f1ee24;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:clamp(22px,2.6vw,34px) 0;text-decoration:none;transition:padding-left .35s;display:grid}.jp-service:hover{padding-left:14px}.jp-service .st h3{margin-bottom:7px}.jp-service .st p{color:#f1f1ee99;max-width:52ch;font-size:15px}.jp-service-thumb{opacity:0;border-radius:10px;width:104px;height:74px;transition:opacity .35s,transform .35s;overflow:hidden;transform:translate(12px)}.jp-service:hover .jp-service-thumb{opacity:1;transform:none}.jp-service-thumb img{object-fit:cover;width:100%;height:100%}.jp-arrow{opacity:.5;filter:invert();width:22px;height:22px;transition:transform .35s}.jp-service:hover .jp-arrow{transform:translate(4px,-4px)}.jp-dark{color:#f1f1ee;background:#0d1310}.jp-process-pin{background:#0d1310;height:100vh;position:relative;overflow:hidden}.jp-pp-bg{z-index:0;position:absolute;inset:0}.jp-pp-bg img{object-fit:cover;width:100%;height:100%}.jp-pp-scrim{background:#0d1310bd;position:absolute;inset:0}.jp-pp-heading{z-index:2;text-align:center;letter-spacing:-.02em;text-transform:uppercase;color:#f1f1ee;pointer-events:none;justify-content:center;align-items:center;font-family:Afacad Flux,Afacad,sans-serif;font-size:clamp(40px,7vw,104px);font-weight:700;line-height:.98;display:flex;position:absolute;inset:0}.jp-pp-cards{z-index:3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.jp-pp-card{-webkit-backdrop-filter:blur(16px);text-align:center;background:#f1f1ee0f;border:1px solid #f1f1ee24;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;width:min(640px,88vw);min-height:clamp(420px,68vh,620px);padding:clamp(34px,4vw,60px);display:flex;position:absolute}.jp-pp-card .num{color:var(--lightblue);font-family:Newsreader,Georgia,serif;font-size:clamp(52px,6vw,88px);line-height:1}.jp-pp-card h3{color:#f1f1ee;margin:16px 0 12px;font-family:Afacad Flux,Afacad,sans-serif;font-size:clamp(24px,2.2vw,34px);font-weight:600}.jp-pp-card p{color:#f1f1eeb8;max-width:44ch;margin:0 auto;font-size:clamp(15px,1.1vw,18px);line-height:1.5}.jp-process-pin.static{height:auto;padding:clamp(60px,9vh,120px) 0}.jp-process-pin.static .jp-pp-heading{padding:0 var(--gutter);justify-content:flex-start;margin-bottom:26px;font-size:clamp(34px,5vw,60px);position:static}.jp-process-pin.static .jp-pp-bg,.jp-process-pin.static .jp-pp-scrim{display:none}.jp-process-pin.static .jp-pp-cards{max-width:1200px;padding:0 var(--gutter);flex-flow:wrap;align-items:stretch;gap:clamp(14px,1.4vw,20px);margin:0 auto;position:static}.jp-process-pin.static .jp-pp-card{background:#f1f1ee0d;border-color:#f1f1ee29;flex:240px;width:auto;min-height:auto;padding:clamp(26px,2.4vw,40px);position:static}.jp-process-pin.static .jp-pp-card h3{margin-top:0}.jp-cases{columns:2;column-gap:clamp(16px,1.6vw,22px)}.jp-case{aspect-ratio:3/2;color:#f1f1ee;break-inside:avoid;border-radius:20px;width:100%;margin-bottom:clamp(16px,1.6vw,22px);text-decoration:none;display:block;position:relative;overflow:hidden}.jp-case.tall{aspect-ratio:4/5}.jp-case img{object-fit:cover;width:100%;height:100%;transition:transform .6s;position:absolute;inset:0}.jp-case:hover img{transform:scale(1.06)}.jp-case .cap{background:linear-gradient(#0000,#0d13101a 30%,#0d1310e0);width:100%;padding:24px;position:absolute;bottom:0;left:0}.jp-case .cap h3{font-family:Afacad Flux,Afacad,sans-serif;font-size:clamp(19px,1.6vw,24px);font-weight:600}.jp-case .cap p{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--lightblue);margin-top:7px;font-size:11px}.jp-cta-pin{background:#f8f4f1;height:100vh;position:relative;overflow:hidden}.jp-cta-fill{clip-path:inset(41% 5% round 26px);background:#0d1310;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.jp-cta-content{text-align:center;flex-direction:column;align-items:center;gap:22px;max-width:760px;padding:0 24px;display:flex}.jp-cta-content .subtitle{color:var(--lightblue);border-color:#cbe7fe4d}.jp-cta-content .sub-btn-primary{color:#0d1310;background:#f1f1ee}.jp-cta-content .sub-btn-ghost{color:#f1f1ee;border-color:#f1f1ee73}.jp-cta-pin.static{height:auto}.jp-cta-pin.static .jp-cta-fill{clip-path:none;margin:clamp(30px,4vw,54px) var(--gutter);border-radius:24px;padding:clamp(50px,8vh,96px) 24px;position:relative;inset:auto}@media (width<=860px){.jp-about{grid-template-columns:1fr}.jp-cases{columns:1}.jp-service{grid-template-columns:1fr auto}.jp-service-thumb{display:none}.jp-pp-heading{font-size:clamp(34px,10vw,60px)}.jp-pp-card{width:min(440px,88vw)}}
