.hero{position:relative;min-height:100svh;color:#fff;background:#222}.hero-media,.hero-media img{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center 48%}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.38),transparent 55%)}.hero-content{position:relative;z-index:1;display:flex;min-height:100svh;align-items:flex-end;padding:var(--header-height) clamp(24px,5vw,80px) clamp(40px,8vh,96px)}.hero h1{font-size:clamp(36px,6vw,88px);font-weight:400;line-height:.95;letter-spacing:.02em}.hero-role{margin-top:var(--space-5);font-size:clamp(13px,1.2vw,16px);line-height:1.6;letter-spacing:.05em}.portals{padding-top:var(--section-space)}.portal{position:relative;display:block;overflow:hidden;max-width:1120px;margin-inline:auto;aspect-ratio:16/8;color:#fff;background:#222}.portal+.portal{margin-top:clamp(72px,10vw,140px)}.portal img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.portal::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.16);transition:background .6s}.portal-content{position:absolute;z-index:2;left:clamp(20px,4vw,56px);bottom:clamp(20px,4vw,48px)}.portal--photo .portal-content{left:auto;right:clamp(20px,4vw,56px);text-align:right}.portal-title{font-size:clamp(32px,5vw,68px);font-weight:400;line-height:1;letter-spacing:.06em}.portal-subtitle{margin-top:10px;font-size:12px;letter-spacing:.08em}.portal-view{display:block;margin-top:18px;font-size:10px;letter-spacing:.14em;opacity:0;transform:translateY(8px);transition:.5s}.portal:hover img{transform:scale(1.035)}.portal:hover::after{background:rgba(0,0,0,.3)}.portal:hover .portal-view{opacity:1;transform:none}.works-heading{margin-bottom:clamp(40px,6vw,80px)}.works-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(8px,1.4vw,20px)}.work{position:relative;overflow:hidden;background:var(--color-background-sub)}.work:nth-child(1){grid-column:span 5;aspect-ratio:4/5}.work:nth-child(2){grid-column:span 7;aspect-ratio:7/4}.work:nth-child(3){grid-column:6/span 3;aspect-ratio:1}.work:nth-child(4){grid-column:9/span 4;aspect-ratio:4/5;margin-top:calc(clamp(8px,1.4vw,20px)*-1)}.work:nth-child(5){grid-column:span 5;aspect-ratio:3/2}.work:nth-child(6){grid-column:6/span 7;aspect-ratio:16/9}.work img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.work-info{position:absolute;inset:auto 0 0;padding:22px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));opacity:0;transform:translateY(8px);transition:.4s}.work:hover img{transform:scale(1.025)}.work:hover .work-info,.work:focus-within .work-info{opacity:1;transform:none}.work-title{font-size:14px;letter-spacing:.04em}.work-meta{font-size:11px;letter-spacing:.08em;opacity:.8}.note-section{background:var(--color-background-sub)}.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(40px,6vw,72px)}.note-card img{width:100%;aspect-ratio:1.91/1;object-fit:cover}.note-card h3{margin-top:18px;font-size:15px;font-weight:500;line-height:1.5}.note-meta{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;letter-spacing:.08em;color:var(--color-text-sub)}.text-link{display:inline-block;margin-top:clamp(40px,5vw,64px);padding-bottom:6px;border-bottom:1px solid currentColor;font-size:11px;letter-spacing:.12em}.site-footer{padding:var(--section-space) var(--page-gutter) clamp(32px,5vw,64px)}.footer-main,.footer-bottom{display:flex;justify-content:space-between}.footer-name{font-size:clamp(24px,3vw,40px);font-weight:400;letter-spacing:.04em}.footer-role{margin-top:14px;color:var(--color-text-sub)}.footer-links{display:grid;align-content:start;gap:8px;min-width:180px}.footer-links a{font-size:13px;letter-spacing:.08em}.footer-bottom{align-items:flex-end;margin-top:clamp(72px,10vw,140px);padding-top:20px;border-top:1px solid var(--color-border);font-size:10px;letter-spacing:.1em;color:var(--color-text-sub)}
