.portfolio{background:#eee8e9;position:relative;isolation:isolate;padding-bottom:80px;overflow:clip}
.portfolio-heading{position:sticky;top:116px;max-width:280px;z-index:2}
.portfolio-heading h2{font-size:88px;line-height:1.02;margin:24px 0}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px 30px;margin-top:-160px;margin-left:27%;max-width:760px;position:relative;z-index:1}
.work-card{border:0;background:none;color:inherit;text-align:left;padding:0;cursor:pointer;grid-column:5/13;min-width:0}
.work-card:nth-child(4n+2){grid-column:1/7;margin-top:0}
.work-card:nth-child(4n+3){grid-column:8/13;margin-top:35px}
.work-card:nth-child(4n+4){grid-column:2/9;margin-top:0}
.work-image{display:block;position:relative;overflow:hidden;background:#d8d1d3;aspect-ratio:3/4}
.work-card:nth-child(4n+2) .work-image{aspect-ratio:4/5}.work-card:nth-child(4n+3) .work-image{aspect-ratio:3/4}
.work-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.work-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;font-size:15px}.work-caption svg{width:18px;height:18px}
.work-number{display:block;position:absolute;left:16px;top:16px;font-size:11px;background:#fff;color:#342730;padding:8px}
.work-open{position:absolute;right:16px;bottom:16px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#342730;transition:transform .3s}
.work-open svg{width:20px;height:20px}.work-card:hover .work-image img{transform:scale(1.035)}.work-card:hover .work-open{transform:rotate(45deg)}
.portfolio-more{margin:70px 0 30px 27%;position:relative;z-index:2}
.portfolio-wordmark{font-family:'Cormorant Garamond',serif;font-size:108px;line-height:.95;color:#c5b6bc;display:flex;justify-content:space-between;gap:20px;padding-top:70px;overflow:hidden;pointer-events:none}
.portfolio-wordmark span{display:block}.portfolio-wordmark span:nth-child(4n+2){font-style:italic}
#detail-dialog.work-detail{width:min(1080px,94vw);max-width:1080px;background:#f7f5f5}
.work-dialog{display:grid;grid-template-columns:1.2fr 1fr;gap:0;align-items:center}
.work-full{display:block;width:100%;height:min(70vh,720px);object-fit:contain;background:#e9e5e6}
.work-dialog .dialog-content{padding:48px 36px}.work-dialog h2{font-size:52px;line-height:1.04}
.work-controls{display:flex;align-items:center;gap:18px;margin-top:32px}.work-controls .icon-button{border:1px solid #b0a3a8}.work-controls span{font-size:12px}
.related-works{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.related-works button{border:0;padding:0;background:none}.related-works img{width:100%;aspect-ratio:3/4;object-fit:cover}
.team-image{overflow:hidden}.team-image img{will-change:auto}.team-card{perspective:900px}.team-name,.team-teaser{transition:transform .4s}.team-card:hover .team-name{transform:translateX(6px)}
.button{position:relative;overflow:hidden}.button svg{transition:transform .3s}.button:hover svg{transform:translate(3px,-3px)}
#navigation a{position:relative}#navigation a:after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}#navigation a:hover:after{transform:scaleX(1)}
.languages button{transition:background .25s,color .25s}.languages button[aria-pressed=true]{background:#e7dde1}
.service-row{transition:background-color .25s}.service-row:hover{background:#f5f0f2}.service-group{overflow:clip}
.hero-content h1 span,.hero-content h1 em{clip-path:inset(-10% -5% -12% -5%)}
@media(min-width:901px){.team-card:nth-child(even){padding-top:26px}}
@media(min-width:761px) and (max-width:900px){.hero-content{top:34px;text-align:center;left:24px;right:24px}.hero h1 span{font-size:68px}.hero h1 em{font-size:82px}.hero-location{font-size:14px}.hero-kicker{font-size:16px}.hero-photo{top:-3%;height:138%}.hero-address{display:none}}
@media(max-width:1100px){.portfolio-heading h2{font-size:68px}.portfolio-grid{gap:36px 20px;margin-left:24%}.portfolio-wordmark{font-size:100px}}
@media(max-width:760px){.portfolio{padding-bottom:44px}.portfolio-heading{position:static;max-width:none}.portfolio-heading h2{font-size:62px;margin:20px 0}.portfolio-grid{margin:44px 0 0;gap:34px 16px;grid-template-columns:repeat(6,minmax(0,1fr))}.work-card{grid-column:1/6}.work-card:nth-child(4n+2){grid-column:3/7;margin-top:0}.work-card:nth-child(4n+3){grid-column:1/5;margin-top:0}.work-card:nth-child(4n+4){grid-column:2/7;margin-top:0}.work-caption{font-size:13px}.work-number{top:10px;left:10px}.work-open{width:40px;height:40px;right:10px;bottom:10px}.portfolio-more{margin:44px 0 0;font-size:13px}.portfolio-wordmark{font-size:58px;flex-wrap:wrap;gap:8px 16px;padding-top:50px}.portfolio-wordmark span:nth-child(4n+2){margin-left:auto}.portfolio-wordmark span:last-child{margin-left:auto}.work-dialog{display:block}.work-full{height:48svh;max-height:520px}.work-dialog .dialog-content{padding:26px}.work-dialog h2{font-size:38px}.work-controls{margin-top:22px}.header .languages button{min-width:38px}.header-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.team-card:hover .team-name,.work-card:hover .work-image img,.work-card:hover .work-open{transform:none}}
.ai-label{display:block;font-size:11px;line-height:1.5;margin-top:8px;color:#5d4c54}.ai-disclosure{font-size:13px;line-height:1.6;color:#5d4c54;margin:18px 0}
.portfolio-grid:has(>.work-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:660px;margin-top:-100px;margin-left:auto}.portfolio-grid:has(>.work-card:nth-child(2):last-child)>.work-card{grid-column:auto;width:100%;max-width:315px}.portfolio-grid:has(>.work-card:nth-child(2):last-child)>.work-card:nth-child(2){margin-top:110px}.portfolio-grid:has(>.work-card:nth-child(2):last-child) .work-image{aspect-ratio:3/4}
.work-full{max-width:360px;max-height:640px;margin:auto}.work-dialog{grid-template-columns:minmax(0,440px) minmax(0,1fr)}
.work-dialog-large .work-full{max-width:100%;max-height:800px}
.portfolio-grid:has(>.work-card:nth-child(4):last-child)>.work-card:nth-child(-n+2){max-width:315px}
.portfolio-grid:has(>.work-card:nth-child(4):last-child)>.work-card:first-child{justify-self:end}
@media(min-width:761px){.portfolio-grid:has(>.work-card:nth-child(4):last-child)>.work-card:nth-child(3){grid-column:7/13;margin-top:80px}.portfolio-grid:has(>.work-card:nth-child(4):last-child)>.work-card:nth-child(4){grid-column:1/8}}
@media(max-width:1000px){.portfolio-heading{position:static;max-width:none}.portfolio-grid:has(>.work-card:nth-child(2):last-child){margin:44px auto 0}.portfolio-more{margin-left:0}}
@media(max-width:600px){.portfolio-grid:has(>.work-card:nth-child(2):last-child){display:flex;flex-direction:column;gap:36px}.portfolio-grid:has(>.work-card:nth-child(2):last-child)>.work-card{width:86%;max-width:280px}.portfolio-grid:has(>.work-card:nth-child(2):last-child)>.work-card:nth-child(2){margin:0 0 0 auto}}

/* User-requested image polish: preserve the full About portrait on phones and
   use one consistent rounded treatment for portfolio artwork. */
.work-image{border-radius:16px}
.related-works img{border-radius:12px}
@media(max-width:760px){
  .about-photo{width:100%;margin:4px 0 0}
  .about-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:14px}
  .work-image{border-radius:14px}
}
