.portfolio-detail-main{padding:clamp(118px,10vw,155px) var(--pad) clamp(65px,8vw,115px)}
.portfolio-back{display:inline-block;margin-bottom:clamp(36px,5vw,70px);font-size:.67rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.portfolio-back:hover,.portfolio-detail-bottom a:hover{opacity:.55}
.portfolio-detail-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);gap:clamp(25px,5vw,85px);align-items:end;margin-bottom:clamp(48px,6vw,90px)}
.portfolio-detail-intro h1{font:300 clamp(3.7rem,8vw,10rem) Manrope,Arial,sans-serif;letter-spacing:-.09em;line-height:.94;margin:22px 0 0;overflow-wrap:break-word}
.portfolio-detail-intro p{max-width:35ch;font-size:clamp(1.2rem,1.8vw,1.9rem);line-height:1.35;letter-spacing:-.035em;margin:0 0 6px}
.portfolio-slider{border-top:1px solid var(--line);padding-top:clamp(18px,3vw,36px)}
.portfolio-slide-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain}
.portfolio-slide-track::-webkit-scrollbar{display:none}
.portfolio-slide{flex:0 0 calc(25% - 15px);min-width:0;margin:0;scroll-snap-align:start}
.portfolio-slide-image{aspect-ratio:3/4;background:#f5f5f3;display:flex;align-items:center;justify-content:center}
.portfolio-slide-image img{display:block;width:100%;height:100%;object-fit:contain}
.portfolio-slide-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.portfolio-slide-open:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}
.portfolio-slide figcaption{min-height:45px;padding-top:12px;font-size:.64rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.portfolio-lightbox{width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:0;padding:clamp(14px,2vw,24px);background:#fff;color:var(--ink);box-shadow:0 20px 80px rgba(0,0,0,.18)}
.portfolio-lightbox::backdrop{background:rgba(20,20,20,.72)}
.portfolio-lightbox-close{display:block;margin:0 0 14px auto;padding:5px 0;border:0;background:none;color:inherit;cursor:pointer;font:600 .68rem 'DM Sans',Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.portfolio-lightbox img{display:block;max-width:100%;max-height:min(70dvh,720px);width:auto;height:auto;margin:auto;object-fit:contain}
.portfolio-lightbox p{margin:14px 0 0;font-size:.64rem;font-weight:500;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.portfolio-slider-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(10px,2vw,25px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.portfolio-slider-controls button{border:0;background:none;color:var(--ink);cursor:pointer;padding:10px 0;font:600 .68rem 'DM Sans',Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.portfolio-slider-controls button:first-child{text-align:left}
.portfolio-slider-controls button:last-child{text-align:right}
.portfolio-slider-controls button:hover{opacity:.55}
.portfolio-slider-controls button:disabled{opacity:.3;cursor:default}
.portfolio-detail-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:clamp(55px,8vw,105px);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:1100px){.portfolio-slide-track{gap:16px}.portfolio-slide{flex-basis:calc(33.333333% - 10.667px)}}
@media(max-width:900px){.portfolio-detail-intro{grid-template-columns:1fr;gap:24px}.portfolio-detail-intro p{max-width:42ch}}
@media(max-width:600px){.portfolio-detail-main{padding-top:108px}.portfolio-detail-intro h1{font-size:clamp(3rem,12vw,5rem)}.portfolio-slide-track{gap:10px}.portfolio-slide{flex-basis:calc(50% - 5px)}.portfolio-detail-bottom{flex-direction:column}.portfolio-slider-controls button{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.portfolio-slide-track{scroll-behavior:auto}}
