/* Editorial system shared by the portfolio and project pages. */
.hero .hero-roles{position:relative;inset:auto;max-width:100%}
.hero #hero-title{letter-spacing:-.04em;word-spacing:.1em}
.detail-figure{margin:60px 0}.detail-figure figcaption{margin-top:16px;font-size:11px;color:var(--muted)}.preserve-lines{white-space:pre-line}
.hero-free .hero{display:block;height:900px;overflow:hidden}.hero-free .hero-portrait{position:absolute;inset:0 0 0 40%;max-height:none;aspect-ratio:auto}.hero-free .hero-content{position:absolute;inset:0;display:block}.hero-free .hero .hero-name{position:absolute!important;left:clamp(20px,var(--hero-title-x),50%)!important;top:var(--hero-title-y)!important;width:min(45%,700px)!important;transform:translateY(-50%)}.hero-free .hero .hero-description{position:absolute!important;left:clamp(20px,var(--hero-tagline-x),60%)!important;top:var(--hero-tagline-y)!important;width:35%!important}.hero-free .hero .hero-roles{position:absolute;left:5%;bottom:110px;top:auto;max-width:90%}.gallery-glow .editorial-card:hover .cover-art{box-shadow:0 0 0 1px var(--accent),0 0 24px #a9c8e812}
@media(max-width:700px){.hero-free .hero{height:850px}.hero-free .hero-portrait{inset:0}.hero-free .hero .hero-name{left:clamp(20px,var(--mobile-hero-title-x),12%)!important;top:var(--mobile-hero-title-y)!important;width:82%!important}.hero-free .hero .hero-description{left:clamp(20px,var(--mobile-hero-tagline-x),12%)!important;top:var(--mobile-hero-tagline-y)!important;width:82%!important;background:#0a0a0a99;padding:8px}}
:root{--gutter:clamp(20px,5vw,88px);--muted:#999;--line:#ffffff26;--ease:cubic-bezier(.22,1,.36,1)}
body{background:var(--bg,#0a0a0a);color:var(--ink,#f5f5f2)}:focus-visible{outline:2px solid var(--accent,#a9c8e8);outline-offset:6px}
.nav{height:100px;background:transparent;border-bottom:1px solid var(--line);position:relative}.menu{gap:clamp(16px,2.1vw,34px)}.menu a{font-size:10px}.wordmark{width:78px}.about-entry{font-size:10px;border-radius:0}
.hero{height:auto;min-height:780px;max-height:none;padding:80px var(--gutter) 115px;display:grid;grid-template-columns:1fr .8fr;gap:5vw;align-items:center;overflow:visible}.hero-portrait{position:relative;inset:auto;grid-column:2;grid-row:1;z-index:0;aspect-ratio:4/5;max-height:650px;opacity:1;mask-image:none;background:#151515}.hero-portrait img{height:100%;object-fit:cover;object-position:center;filter:saturate(.6);transform:none}.hero-vignette{display:none}.hero-content{position:relative;inset:auto;grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:30px;margin:0;z-index:1}.hero .hero-name,.hero .hero-description{position:relative!important;inset:auto!important;transform:none;width:100%!important;max-width:100%}.hero h1{font-size:clamp(70px,8vw,var(--hero-size,128px));line-height:.94;max-width:10ch;letter-spacing:-.065em}.hero h1:after{display:none}.hero-description{font-size:clamp(16px,1.5vw,22px);line-height:1.6}.hero-roles{margin:0;font-size:9px;line-height:1.8;color:var(--muted)}.hero-footer{bottom:35px}
.section-shell{padding-block:110px}.section-heading{margin-bottom:50px}.section-heading h2{font-size:clamp(36px,5.8vw,84px)}.portfolio{display:flex;flex-direction:column;overflow:visible}.portfolio-controls{order:1;position:static;width:100%;max-width:none;margin:0 0 40px;padding:0 0 24px;border:0;border-bottom:1px solid var(--line);border-radius:0;display:flex;align-items:center;justify-content:space-between;gap:22px;background:none}.portfolio-index{font-size:10px;display:flex;flex-direction:column;gap:8px}.portfolio-index strong{font-size:11px}.portfolio-index span{font-size:10px}.filter-row{margin:0;gap:6px}.filter{border-radius:0;min-height:44px}.section-heading{order:0}
.editorial-gallery[data-layout="grid"]{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 32px;width:100%;margin:0;overflow:visible;mask-image:none}.editorial-card{display:block;position:relative;min-width:0;text-align:left}.editorial-card:nth-child(4n+2){margin-top:100px}.editorial-card.is-wide{grid-column:1/-1;margin-top:0}.editorial-card .cover-art{display:block;aspect-ratio:1;background:#151515;overflow:hidden;border-radius:0}.editorial-card.is-tall .cover-art{aspect-ratio:4/5}.editorial-card.is-wide .cover-art{aspect-ratio:16/10}.editorial-card .cover-art img{width:100%;height:100%;object-fit:contain;transition:transform .65s var(--ease),filter .35s}.editorial-card:hover .cover-art img{transform:scale(1.025);filter:brightness(.88)}.editorial-card .cover-caption{position:relative;inset:auto;padding:20px 38px 0 0;background:none;opacity:1;transform:none;display:block;color:var(--ink)}.editorial-card .cover-caption strong{display:block;font-family:var(--display);font-size:clamp(22px,2.4vw,35px);font-weight:500;letter-spacing:-.03em}.editorial-card .cover-caption small{display:block;margin-top:8px;font-size:11px;color:var(--muted);line-height:1.5}.editorial-card .cover-caption i{position:absolute;right:0;top:20px;font-size:25px;font-style:normal}.editorial-card .cover-shine{display:none}.project-number{position:absolute;top:14px;left:14px;padding:5px 8px;background:#0a0a0acc;color:white;font-size:10px;letter-spacing:.1em}.empty-copy{order:3}
.contact h2{font-size:clamp(44px,8vw,120px)}.giveaway{background:#151515;border-radius:0}.giveaway-orbit{display:none}.giveaway-card{border-radius:0}.visitor-section{opacity:.65}
.detail-shell{max-width:1600px;margin:auto;padding:70px var(--gutter)}.detail-heading{padding-block:35px 65px}.detail-heading h1{font-size:clamp(54px,9vw,140px);max-width:1100px;line-height:.95}.detail-meta{display:flex;flex-wrap:wrap;gap:35px;margin-top:32px;color:var(--muted);font-size:12px}.detail-image{display:block;width:100%;max-height:1000px;object-fit:contain;background:#151515}.detail-copy{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;padding-block:80px;border-bottom:1px solid var(--line)}.detail-copy p{font-size:clamp(18px,2vw,27px);line-height:1.65;max-width:720px}.detail-next{display:block;padding-block:65px}.detail-next strong{display:block;font-size:clamp(30px,5vw,70px);margin-top:20px;font-family:var(--display)}.detail-audio{width:100%;max-width:500px;margin-top:25px}.detail-nav{display:flex;justify-content:space-between;gap:20px;padding:28px var(--gutter);border-bottom:1px solid var(--line);font-size:12px}.detail-nav a{padding:12px 0}.detail-nav .brand{font-weight:700;letter-spacing:.15em}
@keyframes page-enter{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:none}}.detail-shell{animation:page-enter .3s var(--ease)}
@media(max-width:1000px){.hero{min-height:650px}.hero h1{font-size:clamp(54px,8vw,95px)}.portfolio-controls{align-items:flex-start;flex-direction:column}.about-entry{display:none}}
@media(max-width:700px){.nav{height:80px}.menu{top:79px;z-index:100}.menu a{font-size:20px;min-height:48px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:38px var(--gutter) 95px;min-height:0;gap:32px}.hero-content{order:0;gap:20px}.hero-portrait{order:1;width:100%;max-height:540px;aspect-ratio:4/4.5}.hero h1{font-size:clamp(48px,14vw,var(--mobile-hero-size,76px));max-width:100%;line-height:.97}.hero-description{font-size:16px}.eyebrow{margin-bottom:18px}.hero-footer{bottom:24px}.hero-coordinate{font-size:8px}.section-shell{padding-block:65px}.section-heading{margin-bottom:30px}.editorial-gallery[data-layout="grid"]{grid-template-columns:1fr;gap:40px}.editorial-card:nth-child(n){margin-top:0}.editorial-card.is-wide{grid-column:auto}.editorial-card .cover-caption{padding-top:16px}.portfolio-controls{gap:20px;margin-bottom:30px}.filter-row{gap:5px}.filter{font-size:8px;padding:10px}.detail-shell{padding-top:28px}.detail-heading{padding-block:20px 35px}.detail-meta{gap:18px}.detail-copy{grid-template-columns:1fr;gap:15px;padding-block:40px}.detail-next{padding-block:40px}.detail-nav{font-size:10px}.hero-roles{font-size:8px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.editorial-card .cover-art img{transition:none}}
#gallery.editorial-gallery{display:flex;flex-direction:column;grid-template-columns:none;gap:var(--cover-gap);overflow:hidden;width:100%;margin:0;max-width:100%;order:2;isolation:isolate}
#gallery .cover-row{width:100%;flex:none;min-width:0}
#gallery .cover-card{display:block;height:auto;margin:0;flex-shrink:0}
#gallery .cover-card .cover-art{position:absolute;inset:0;aspect-ratio:auto}
#gallery .cover-card img{object-fit:cover}
#gallery .editorial-card .cover-art{position:relative;inset:auto}
#gallery .editorial-card{margin:0}
.gallery-static #gallery .cover-row{overflow-x:auto}
@media(hover:none){#gallery .cover-caption{opacity:1;transform:none;pointer-events:none}}
