.portfolio-intro{padding:62px 0 65px;background:#17212b}
.portfolio-intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:100px;align-items:end}
.portfolio-intro .eyebrow{color:#bbbbbb;margin-bottom:22px}
.portfolio-intro h1{font-size:clamp(52px,5.6vw,78px);line-height:1.04;letter-spacing:-.05em}
.portfolio-intro h1 span{color:#ffb45c}
.portfolio-intro-grid>div:last-child{max-width:365px;justify-self:end;padding-bottom:5px}
.portfolio-intro-grid>div:last-child>p{color:#cccccc;font-size:17px;line-height:1.75;margin-bottom:25px}
.portfolio-collection{padding:40px 0 70px;background:#fff;color:#17212b}
.portfolio-toolbar{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:32px}
.portfolio-filters{display:flex;gap:9px;flex-wrap:wrap}
.project-filter{border:0;border-radius:999px;padding:12px 20px;min-height:46px;background:#f5f5f5;color:#17212b;font-size:14px;transition:background-color 180ms ease,color 180ms ease}
.project-filter:hover{background:#e9e9e9}.project-filter[aria-pressed=true]{background:#17212b;color:#fff}
.project-filter:focus-visible{outline-color:#17212b}
.portfolio-count{font-size:13px;color:#666;white-space:nowrap}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:38px 30px}
.portfolio-card{grid-column:span 6;min-width:0;display:block;border-radius:22px;transition:transform 280ms ease}
.portfolio-card:first-child{grid-column:span 7}.portfolio-card:nth-child(2){grid-column:span 5}
.portfolio-grid.is-filtered .portfolio-card{grid-column:span 6}
.portfolio-photo{position:relative;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:22px;overflow:hidden;aspect-ratio:1.45;padding:30px}
.portfolio-card:first-child .portfolio-photo,.portfolio-card:nth-child(2) .portfolio-photo{height:430px;aspect-ratio:auto}
.portfolio-grid.is-filtered .portfolio-photo{height:auto;aspect-ratio:1.45}
.model-visual{display:block;width:100%;height:100%;min-width:0;overflow:hidden;mix-blend-mode:multiply;transition:transform 450ms cubic-bezier(.2,.7,.2,1)}
.portfolio-card:hover .model-visual{transform:scale(1.025)}
.portfolio-card:hover{transform:translateY(-3px)}
.portfolio-card:hover h2,.portfolio-card:focus-visible h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.portfolio-card:focus-visible{outline-color:#17212b;outline-offset:7px}
.portfolio-caption{padding:22px 5px 2px}
.project-kind{display:block;font-size:12px;color:#666666;margin-bottom:9px}
.portfolio-caption h2{font-size:26px;line-height:1.2;letter-spacing:-.035em}
.portfolio-caption p{font-size:15px;color:#666666;margin-top:11px;line-height:1.7;max-width:520px}
.portfolio-invite{grid-column:span 6;min-height:100%;display:flex;flex-direction:column;align-items:start;justify-content:center;padding:45px;background:#f5f5f5;border-radius:22px}
.portfolio-invite .eyebrow{color:#666;margin-bottom:23px}
.portfolio-invite h2{font-size:45px;line-height:1.1}
.portfolio-invite>p:not(.eyebrow){max-width:330px;font-size:16px;color:#666;margin-top:23px}
.portfolio-invite .button{margin-top:27px}
.portfolio-page .site-footer{padding-top:55px}
.nav-link[aria-current=page]{color:#ffb45c}
.case-intro{padding:38px 0 65px;background:#17212b}
.case-back{display:inline-flex;min-height:44px;align-items:center;font-size:14px;color:#c5c5c5;margin-bottom:32px}
.case-back:hover{text-decoration:underline;text-underline-offset:5px}
.case-intro .eyebrow{color:#bbbbbb;margin-bottom:19px}
.case-intro h1{font-size:clamp(40px,5.3vw,72px);line-height:1.1;max-width:1080px}
.case-lead{font-size:18px;line-height:1.75;max-width:760px;margin-top:23px;color:#cccccc}
.case-body{padding:40px 0 0;background:#fff;color:#17212b}
.case-main-photo{height:min(54vw,650px);padding:40px;border-radius:25px;background:#f5f5f5;overflow:hidden}
.case-story{display:grid;grid-template-columns:1.4fr 1fr;gap:100px;padding:65px 0 70px}
.case-story h2{font-size:34px;margin-bottom:25px;letter-spacing:-.035em}
.case-story p{font-size:17px;line-height:1.85;color:#555;max-width:700px}
.case-story p+p{margin-top:18px}
.case-facts{margin:0;background:#f5f5f5;border-radius:22px;padding:30px;align-self:start;display:grid;gap:24px}
.case-facts dt{font-size:12px;color:#666;margin-bottom:6px}.case-facts dd{margin:0;font-size:16px;font-weight:700;line-height:1.6}
.case-gallery h2{font-size:40px;margin-bottom:30px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.gallery-shot{border:0;min-width:0;padding:0;background:#f5f5f5;border-radius:21px;overflow:hidden;aspect-ratio:1.4}
.gallery-shot img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform 350ms ease}
.gallery-shot:hover img{transform:scale(1.025)}.gallery-shot:focus-visible{outline-color:#17212b}
.case-next{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:70px 0}
.case-next .eyebrow{color:#666;margin-bottom:16px}.case-next h2{font-size:36px;max-width:700px}.case-next a:hover h2{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.case-next>.button{flex:none}
.project-lightbox{width:min(1200px,calc(100% - 60px));max-width:none;padding:22px 28px;background:#fff;color:#17212b;border:0;border-radius:24px;overflow:auto;max-height:calc(100dvh - 40px)}
.project-lightbox::backdrop{background:#17212be8;backdrop-filter:blur(7px)}
.lightbox-top,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}
.lightbox-position{font-size:13px;color:#666}
.lightbox-close,.lightbox-controls button{min-height:44px;border:0;border-radius:999px;background:#f5f5f5;color:#17212b;padding:10px 20px;font-size:14px}
.lightbox-controls button:disabled{opacity:.35;cursor:default}
.lightbox-close:focus-visible,.lightbox-controls button:focus-visible{outline-color:#17212b}
.lightbox-image{height:min(65dvh,700px);display:flex;align-items:center;justify-content:center;margin:18px 0}
.lightbox-image img{width:100%;height:100%;object-fit:contain}
@media(max-width:1100px){.portfolio-intro-grid{gap:65px}.portfolio-card:first-child .portfolio-photo,.portfolio-card:nth-child(2) .portfolio-photo{height:350px}.portfolio-photo{padding:23px}.case-story{gap:60px}.portfolio-invite{padding:35px}.portfolio-invite h2{font-size:40px}}
@media(max-width:800px){.portfolio-intro-grid{gap:40px}.portfolio-intro h1{font-size:58px}.portfolio-intro-grid>div:last-child>p{font-size:15px}.portfolio-toolbar{align-items:start}.portfolio-count{padding-top:13px}.portfolio-filters{gap:8px}.project-filter{padding:11px 16px;font-size:13px}.portfolio-card:first-child,.portfolio-card:nth-child(2){grid-column:span 6}.portfolio-card:first-child .portfolio-photo,.portfolio-card:nth-child(2) .portfolio-photo{height:auto;aspect-ratio:1.2}.portfolio-photo{aspect-ratio:1.2}.portfolio-caption h2{font-size:23px}.portfolio-caption p{font-size:14px}.portfolio-grid{gap:32px 23px}.case-story{gap:35px}.case-story p{font-size:16px}.case-facts{padding:25px}.portfolio-invite{padding:29px}.portfolio-invite h2{font-size:36px}}
@media(max-width:680px){.portfolio-intro{padding:35px 0 42px}.portfolio-intro-grid{display:block}.portfolio-intro h1{font-size:54px}.portfolio-intro .eyebrow{font-size:10px;margin-bottom:19px}.portfolio-intro-grid>div:last-child{margin-top:25px;max-width:420px}.portfolio-intro-grid>div:last-child>p{font-size:15px;margin-bottom:22px}.portfolio-intro .button{font-size:13px;min-height:48px}.portfolio-collection{padding:25px 0 45px}.portfolio-toolbar{display:block;margin-bottom:24px}.portfolio-count{font-size:12px;padding:0;margin-top:18px}.portfolio-filters{gap:8px}.project-filter{padding:11px 15px;min-height:44px;font-size:12px}.portfolio-grid{display:block}.portfolio-card,.portfolio-card:first-child,.portfolio-card:nth-child(2){margin-bottom:31px;display:block}.portfolio-photo,.portfolio-card:first-child .portfolio-photo,.portfolio-card:nth-child(2) .portfolio-photo,.portfolio-grid.is-filtered .portfolio-photo{height:auto;aspect-ratio:1.2;border-radius:20px;padding:20px}.portfolio-caption{padding:19px 3px 0}.project-kind{font-size:11px;margin-bottom:7px}.portfolio-caption h2{font-size:24px}.portfolio-caption p{font-size:14px;line-height:1.75;margin-top:9px}.portfolio-invite{margin-top:9px;min-height:340px;padding:30px;border-radius:20px}.portfolio-invite h2{font-size:39px}.portfolio-invite>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:20px}.portfolio-invite .button{font-size:13px}.case-intro{padding:21px 0 38px}.case-back{font-size:13px;margin-bottom:23px}.case-intro .eyebrow{font-size:10px;margin-bottom:15px}.case-intro h1{font-size:41px;overflow-wrap:anywhere}.case-lead{font-size:15px;line-height:1.8;margin-top:20px}.case-body{padding-top:24px}.case-main-photo{height:360px;padding:20px;border-radius:21px}.case-story{display:block;padding:36px 0 42px}.case-story h2{font-size:29px;margin-bottom:20px}.case-story p{font-size:15px;line-height:1.85}.case-facts{margin-top:28px;padding:25px;border-radius:20px;gap:20px}.case-gallery h2{font-size:32px;margin-bottom:25px}.gallery-grid{grid-template-columns:1fr;gap:20px}.gallery-shot{aspect-ratio:1.35;border-radius:19px}.case-next{display:block;padding:44px 0}.case-next h2{font-size:30px}.case-next>.button{margin-top:28px;font-size:13px}.project-lightbox{width:calc(100% - 24px);padding:16px;border-radius:20px;max-height:calc(100dvh - 24px)}.lightbox-image{height:62dvh;margin:12px 0}.lightbox-close,.lightbox-controls button{font-size:12px;padding-inline:15px}.lightbox-position{font-size:12px}}
@media(max-width:359px){.portfolio-intro h1{font-size:47px}.project-filter{font-size:11px;padding-inline:13px}.case-intro h1{font-size:36px}.case-main-photo{height:310px}}
@media(prefers-reduced-motion:reduce){.project-filter,.portfolio-card,.model-visual,.gallery-shot img{transition:none}.project-lightbox::backdrop{backdrop-filter:none}}
