.jvs-portfolio{--jvs-portfolio-gap:clamp(10px,1.8vw,24px);--jvs-portfolio-ink:#17212b;--jvs-portfolio-muted:#69737c;width:100%;max-width:1320px;margin:0 auto;padding:var(--jvs-public-page-top,clamp(58px,7vw,108px)) var(--jvs-public-page-side,clamp(18px,4vw,48px));color:var(--jvs-portfolio-ink);box-sizing:border-box}
.jvs-portfolio *{box-sizing:border-box}.jvs-portfolio-intro{max-width:850px;margin:0 0 clamp(38px,6vw,76px)}.jvs-portfolio-intro>p{margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--jvs-portfolio-muted)}.jvs-portfolio-intro>h1{max-width:760px;margin:0 0 17px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,5.4vw,72px);font-weight:400;line-height:1.04;letter-spacing:-.025em;color:var(--jvs-portfolio-ink)}.jvs-portfolio-intro>span{font-size:clamp(15px,1.6vw,19px);color:var(--jvs-portfolio-muted)}
.jvs-portfolio-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 clamp(22px,3vw,40px)}
.jvs-portfolio-filters label{display:flex;min-width:180px;flex-direction:column;gap:6px;font:inherit}.jvs-portfolio-filters label span{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.jvs-portfolio-filters select,.jvs-portfolio-reset{min-height:44px;padding:8px 38px 8px 12px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:0;background-color:transparent;color:inherit;font:inherit}
.jvs-portfolio-reset{padding:8px 14px;cursor:pointer}.jvs-portfolio-reset:hover,.jvs-portfolio-reset:focus-visible{border-color:currentColor}
.jvs-portfolio-grid{display:block;columns:3;column-gap:var(--jvs-portfolio-gap)}.jvs-portfolio-grid>.jvs-portfolio-card{display:inline-block;width:100%;margin:0 0 var(--jvs-portfolio-gap);break-inside:avoid;vertical-align:top}
.jvs-portfolio-card[hidden]{display:none!important}.jvs-portfolio-open{position:relative;display:block;width:100%;margin:0;padding:0;overflow:hidden;border:0;background:#eee;cursor:zoom-in;color:#fff;text-align:left}
.jvs-portfolio-open img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .5s ease}.jvs-portfolio-open:hover img,.jvs-portfolio-open:focus-visible img{transform:scale(1.025)}
.jvs-portfolio-open:focus-visible{outline:3px solid currentColor;outline-offset:3px}.jvs-portfolio-overlay{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:3px;padding:44px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.72));opacity:0;transform:translateY(5px);transition:.25s ease}
.jvs-portfolio-open:hover .jvs-portfolio-overlay,.jvs-portfolio-open:focus-visible .jvs-portfolio-overlay{opacity:1;transform:none}.jvs-portfolio-overlay strong{font-size:1rem}.jvs-portfolio-overlay small{display:-webkit-box;overflow:hidden;color:#f4f4f4;font-size:.78rem;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.jvs-portfolio-no-results,.jvs-portfolio-empty{padding:42px 18px;text-align:center;color:var(--jvs-portfolio-muted)}
.jvs-portfolio-dialog{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:rgba(8,8,8,.96);color:#fff}.jvs-portfolio-dialog::backdrop{background:rgba(8,8,8,.96)}
.jvs-portfolio-dialog-inner{position:relative;display:grid;width:100%;height:100%;grid-template-columns:clamp(44px,7vw,90px) minmax(0,1fr) clamp(44px,7vw,90px);align-items:center}.jvs-portfolio-dialog figure{display:flex;width:100%;height:100%;margin:0;padding:clamp(50px,7vh,80px) 0 28px;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:14px;box-sizing:border-box}
.jvs-portfolio-dialog figure img{display:block;max-width:100%;max-height:calc(100vh - 155px);object-fit:contain}.jvs-portfolio-dialog figcaption{display:grid;width:min(100%,900px);grid-template-columns:1fr auto;gap:4px 18px}.jvs-portfolio-dialog figcaption strong{font-size:1rem}.jvs-portfolio-dialog figcaption span{grid-column:1;max-width:720px;color:#ccc;font-size:.85rem;line-height:1.45}.jvs-portfolio-dialog figcaption small{grid-column:2;grid-row:1;color:#aaa}
.jvs-portfolio-close,.jvs-portfolio-previous,.jvs-portfolio-next{border:0;background:transparent;color:#fff;cursor:pointer}.jvs-portfolio-close{position:absolute;z-index:2;top:18px;right:22px;width:44px;height:44px;font-size:34px;line-height:1}.jvs-portfolio-previous,.jvs-portfolio-next{width:100%;height:90px;font-size:28px}.jvs-portfolio-close:hover,.jvs-portfolio-close:focus-visible,.jvs-portfolio-previous:hover,.jvs-portfolio-previous:focus-visible,.jvs-portfolio-next:hover,.jvs-portfolio-next:focus-visible{background:rgba(255,255,255,.1);outline:1px solid rgba(255,255,255,.45)}
@media(max-width:900px){.jvs-portfolio-grid{columns:2}.jvs-portfolio-overlay{opacity:1;transform:none}.jvs-portfolio-dialog-inner{grid-template-columns:48px minmax(0,1fr) 48px}.jvs-portfolio-dialog figcaption{padding:0 10px;box-sizing:border-box}}
@media(max-width:560px){.jvs-portfolio-filters{align-items:stretch;flex-direction:column}.jvs-portfolio-filters label,.jvs-portfolio-filters select,.jvs-portfolio-reset{width:100%}.jvs-portfolio-grid{columns:1}.jvs-portfolio-dialog-inner{grid-template-columns:42px minmax(0,1fr) 42px}.jvs-portfolio-dialog figure{padding-top:62px}.jvs-portfolio-dialog figcaption{grid-template-columns:1fr}.jvs-portfolio-dialog figcaption small{grid-column:1;grid-row:auto}.jvs-portfolio-dialog figcaption span{grid-column:1}.jvs-portfolio-dialog figure img{max-height:calc(100vh - 205px)}}
@media(prefers-reduced-motion:reduce){.jvs-portfolio-open img,.jvs-portfolio-overlay{transition:none}}
.jvs-portfolio-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 clamp(24px,4vw,42px);padding-bottom:18px;border-bottom:1px solid #dedbd4}.jvs-portfolio-section-heading p{margin:0 0 8px;color:var(--jvs-portfolio-muted);font-size:10px;font-weight:700;letter-spacing:.17em}.jvs-portfolio-section-heading h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4vw,50px);font-weight:400;line-height:1.08}.jvs-portfolio-section-heading>span{color:var(--jvs-portfolio-muted);font-size:12px}.jvs-portfolio-photo-heading{margin-top:clamp(58px,8vw,110px)}
.jvs-portfolio-series-index{margin-bottom:clamp(58px,8vw,110px)}.jvs-portfolio-series-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px) clamp(18px,3vw,36px)}.jvs-portfolio-series-grid article.is-featured{grid-column:1/-1}.jvs-portfolio-series-grid article>a{display:grid;color:var(--jvs-portfolio-ink);text-decoration:none}.jvs-portfolio-series-grid article.is-featured>a{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);align-items:stretch}.jvs-portfolio-series-cover{position:relative;min-height:270px;overflow:hidden;background:#e6e4df;aspect-ratio:16/10}.jvs-portfolio-series-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.jvs-portfolio-series-grid a:hover .jvs-portfolio-series-cover img,.jvs-portfolio-series-grid a:focus-visible .jvs-portfolio-series-cover img{transform:scale(1.025)}.jvs-portfolio-series-cover>span{position:absolute;right:12px;bottom:12px;padding:6px 9px;background:rgba(23,33,43,.82);color:#fff;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.jvs-portfolio-series-copy{display:flex;align-items:flex-start;flex-direction:column;padding:20px 2px 0}.jvs-portfolio-series-grid .is-featured .jvs-portfolio-series-copy{justify-content:center;padding:clamp(28px,5vw,65px)}.jvs-portfolio-series-copy small{color:var(--jvs-portfolio-muted);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.jvs-portfolio-series-copy h3{margin:12px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(27px,3vw,43px);font-weight:400;line-height:1.08}.jvs-portfolio-series-copy p{margin:0 0 22px;color:var(--jvs-portfolio-muted);font-size:14px;line-height:1.65}.jvs-portfolio-series-copy strong{margin-top:auto;padding-bottom:4px;border-bottom:1px solid currentColor;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.jvs-portfolio-series{max-width:1440px}.jvs-portfolio-series-back{margin:0 0 clamp(42px,6vw,80px)}.jvs-portfolio-series-back a{color:var(--jvs-portfolio-muted);font-size:12px;font-weight:700;text-decoration:none}.jvs-portfolio-series-back a:hover,.jvs-portfolio-series-back a:focus-visible{color:var(--jvs-portfolio-ink);text-decoration:underline;text-underline-offset:4px}.jvs-portfolio-series-header{max-width:1050px;margin:0 0 clamp(42px,7vw,95px)}.jvs-portfolio-series-header>p{margin:0 0 18px;color:#9b6d43;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.jvs-portfolio-series-header>h1{margin:0 0 26px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,7.5vw,104px);font-weight:400;line-height:.98;letter-spacing:-.04em}.jvs-portfolio-series-header>div{max-width:790px;color:var(--jvs-portfolio-muted);font-size:clamp(18px,2vw,24px);line-height:1.6}.jvs-portfolio-series-header>span{display:block;margin-top:24px;color:var(--jvs-portfolio-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.jvs-portfolio-series-introduction{max-width:790px;margin:0 auto clamp(55px,9vw,125px);font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,1.6vw,22px);line-height:1.8}.jvs-portfolio-series-introduction h2,.jvs-portfolio-series-introduction h3{margin:2em 0 .7em;font-weight:400;line-height:1.15}.jvs-portfolio-series-sequence{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(36px,7vw,100px) clamp(14px,2.4vw,34px);align-items:start}.jvs-portfolio-series-photo{grid-column:span 6;margin:0}.jvs-portfolio-series-photo:first-child{grid-column:1/-1}.jvs-portfolio-series-photo:nth-child(4n+2){grid-column:span 7}.jvs-portfolio-series-photo:nth-child(4n+3){grid-column:span 5;margin-top:clamp(42px,8vw,120px)}.jvs-portfolio-series-photo:nth-child(4n+4){grid-column:2/span 5}.jvs-portfolio-series-photo:nth-child(4n+5){grid-column:7/span 6;margin-top:clamp(25px,5vw,75px)}.jvs-portfolio-series-photo>button{position:relative;display:block;width:100%;padding:0;border:0;background:#e8e6e1;cursor:zoom-in}.jvs-portfolio-series-photo>button:focus-visible{outline:3px solid var(--jvs-portfolio-ink);outline-offset:4px}.jvs-portfolio-series-photo>button>span{position:absolute;z-index:1;top:11px;left:11px;padding:5px 7px;background:rgba(23,33,43,.78);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em}.jvs-portfolio-series-photo img{display:block;width:100%;height:auto;transition:filter .3s ease}.jvs-portfolio-series-photo>button:hover img{filter:brightness(.94)}.jvs-portfolio-series-photo figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:12px 2px 0}.jvs-portfolio-series-photo figcaption strong{font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:400}.jvs-portfolio-series-photo figcaption span{max-width:62%;color:var(--jvs-portfolio-muted);font-size:12px;line-height:1.5;text-align:right}.jvs-portfolio-series-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(70px,11vw,150px);padding-top:26px;border-top:1px solid #dedbd4}.jvs-portfolio-series-footer>a{display:grid;grid-template-columns:1fr auto;gap:7px 20px;padding:clamp(25px,4vw,46px);background:#f2f0eb;color:var(--jvs-portfolio-ink);text-decoration:none}.jvs-portfolio-series-footer>a.is-request{background:var(--jvs-portfolio-ink);color:#fff}.jvs-portfolio-series-footer span{font-size:10px;font-weight:700;letter-spacing:.15em}.jvs-portfolio-series-footer strong{grid-column:1;font-family:Georgia,"Times New Roman",serif;font-size:clamp(23px,2.5vw,36px);font-weight:400}.jvs-portfolio-series-footer i{grid-column:2;grid-row:1/3;align-self:center;font-size:24px;font-style:normal;transition:transform .2s ease}.jvs-portfolio-series-footer a:hover i,.jvs-portfolio-series-footer a:focus-visible i{transform:translateX(5px)}
.jvs-portfolio-series-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(70px,11vw,150px);padding-top:26px;border-top:1px solid #dedbd4}.jvs-portfolio-series-navigation.has-1{grid-template-columns:1fr}.jvs-portfolio-series-navigation>a{display:grid;grid-template-columns:minmax(115px,.65fr) minmax(0,1.35fr);min-height:180px;overflow:hidden;background:#f2f0eb;color:var(--jvs-portfolio-ink);text-decoration:none}.jvs-portfolio-series-navigation figure{min-height:180px;margin:0;overflow:hidden;background:#e5e2dc}.jvs-portfolio-series-navigation img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.jvs-portfolio-series-navigation>a>span{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:8px;padding:clamp(18px,3vw,34px)}.jvs-portfolio-series-navigation small{font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.jvs-portfolio-series-navigation strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,2.3vw,34px);font-weight:400;line-height:1.08}.jvs-portfolio-series-navigation em{color:var(--jvs-portfolio-muted);font-size:9px;font-style:normal;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.jvs-portfolio-series-navigation>a:hover img,.jvs-portfolio-series-navigation>a:focus-visible img{transform:scale(1.035)}.jvs-portfolio-series-navigation+.jvs-portfolio-series-footer{margin-top:clamp(28px,4vw,48px)}
@media(max-width:900px){.jvs-portfolio-series-grid article.is-featured>a{grid-template-columns:1fr}.jvs-portfolio-series-grid .is-featured .jvs-portfolio-series-copy{padding:22px 2px 0}.jvs-portfolio-series-photo:nth-child(n){grid-column:span 6;margin-top:0}.jvs-portfolio-series-photo:first-child{grid-column:1/-1}.jvs-portfolio-series-navigation,.jvs-portfolio-series-footer{grid-template-columns:1fr}}
@media(max-width:620px){.jvs-portfolio-series-grid{grid-template-columns:1fr}.jvs-portfolio-series-grid article.is-featured{grid-column:1}.jvs-portfolio-section-heading{align-items:flex-start;flex-direction:column}.jvs-portfolio-series-sequence{grid-template-columns:1fr;gap:50px}.jvs-portfolio-series-photo:nth-child(n){grid-column:1}.jvs-portfolio-series-photo figcaption{flex-direction:column;gap:5px}.jvs-portfolio-series-photo figcaption span{max-width:none;text-align:left}.jvs-portfolio-series-navigation>a{grid-template-columns:105px minmax(0,1fr);min-height:150px}.jvs-portfolio-series-navigation figure{min-height:150px}.jvs-portfolio-series-footer{grid-template-columns:1fr}}
