/* Editorial portfolio — content first, generous typography, disciplined grid */
.home-hero-wrap { background:var(--paper); overflow:visible; }
.home-hero-wrap::before { display:none; }
.editorial-hero { padding-top:120px; }
.editorial-hero .hero-top { display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px; }
.editorial-title { font-family:Arial,Helvetica,sans-serif;font-size:clamp(64px,13.5vw,208px);font-weight:800;line-height:.83;letter-spacing:-.085em;margin:50px 0 36px; }
.editorial-title>span { display:block;white-space:nowrap; }
.title-dot { color:#b5d65b;font-size:.3em;vertical-align:top;letter-spacing:0;margin-left:.15em; }
.editorial-bottom { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:36px;margin-bottom:48px; }
.editorial-bottom p { max-width:34ch;color:var(--ink-2);font-size:15px;line-height:1.8; }
.editorial-bottom>.mono { text-align:right;line-height:2; }
.hero-circle { display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#b5d65b;color:#171c11;font-size:34px;transition:transform .3s; }
.hero-circle:hover { transform:rotate(45deg); }
.hero-feature { display:block;position:relative; }
.hero-feature .cover { aspect-ratio:auto;min-height:0;max-height:none; }
.hero-feature .cover img { position:relative;width:100%;height:auto;max-height:70vh;object-fit:contain;display:block;filter:none; }
.hero-feature .cover:has(img) .art { display:none; }
.hero-feature .cover:not(:has(img)) { aspect-ratio:21/9; }
.feature-caption { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.08em; }
.feature-caption b { font-size:18px;letter-spacing:0;font-weight:500; }
[data-section="works"] .grid-3 { grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 28px; }
[data-section="works"] .work-card:nth-child(2) { margin-top:0; }
[data-section="works"] .work-card:nth-child(3) { grid-column:auto;width:100%; }
[data-section="works"] .work-card:nth-child(3) .cover,[data-section="works"] .cover--portrait { aspect-ratio:auto; }
.work-card .cover:has(img) { aspect-ratio:auto; }
.work-card .cover img { position:relative;display:block;width:100%;height:auto;object-fit:contain; }
.work-card .cover:has(img) .art { display:none; }
.detail-hero .cover:has(img) { aspect-ratio:auto; }
.detail-hero .cover img { position:relative;display:block;width:100%;height:auto;object-fit:contain;cursor:zoom-in;filter:none; }
.detail-hero .cover:has(img) .art { display:none; }
.project-gallery { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:28px 20px; }
.gallery-tile { display:block;width:100%;padding:0;border:0;background:none;color:var(--ink);text-align:left;cursor:zoom-in;min-width:0; }
.gallery-tile img { display:block;width:100%;height:auto;filter:none;border-radius:2px;transition:opacity .3s; }
.gallery-tile:hover img { opacity:.85; }
.gallery-caption { display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.08em;color:var(--ink-3); }
.image-viewer { width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#111;color:#eee;overflow:hidden; }
.image-viewer[open] { display:grid;grid-template-rows:64px minmax(0,1fr) 64px; }
.image-viewer::backdrop { background:#111; }
.image-viewer header,.image-viewer footer { display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:16px;font-size:12px; }
.image-viewer button { background:transparent;color:inherit;border:1px solid #555;padding:10px 16px;cursor:pointer; }
.image-viewer button:focus-visible,.gallery-tile:focus-visible { outline:2px solid #b5d65b;outline-offset:4px; }
.viewer-stage { overflow:auto;text-align:center;display:flex;align-items:center;justify-content:center; }
.viewer-stage img { display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain; }
.is-zoomed .viewer-stage { display:block; }
.is-zoomed .viewer-stage img { max-height:none;max-width:none;width:auto;height:auto;margin:auto; }
@media(max-width:850px){ .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:600px){
 .editorial-hero{padding-top:100px}.editorial-title{font-size:14vw;margin:36px 0;letter-spacing:-.08em}
 .editorial-hero .hero-top .mono{display:none}.editorial-bottom{grid-template-columns:1fr auto;gap:16px}.editorial-bottom>.mono{display:none}.hero-circle{width:54px;height:54px}
 .feature-caption{flex-wrap:wrap}.feature-caption b{font-size:15px}.feature-caption>span:last-child{display:none}
 [data-section="works"] .grid-3{grid-template-columns:1fr;gap:32px}.project-gallery{gap:20px 12px}.gallery-caption{font-size:10px}.gallery-caption span{display:none}
 .image-viewer header,.image-viewer footer{padding:10px 12px}.image-viewer footer>span{display:none}.image-viewer button{padding:10px}
}
@media(prefers-reduced-motion:reduce){.hero-circle,.gallery-tile img{transition:none}}
/* Natural-ratio masonry: each column flows independently without row-height gaps. */
.project-gallery { display:block;columns:3;column-gap:16px; }
.project-gallery .gallery-tile { display:inline-block;vertical-align:top;break-inside:avoid;margin:0 0 16px;width:100%; }
.project-gallery .gallery-caption { padding:8px 0; }
@media(max-width:850px){.project-gallery{columns:2;column-gap:12px}.project-gallery .gallery-tile{margin-bottom:12px}}
@media(max-width:420px){.project-gallery{column-gap:10px}.project-gallery .gallery-tile{margin-bottom:10px}}
.project-gallery .gallery-tile { position:relative; }
.project-gallery .gallery-caption { position:absolute;inset:auto 8px 8px;padding:7px 9px;border:0;background:#111b;color:#fff;opacity:0;transition:opacity .2s;pointer-events:none; }
.project-gallery .gallery-tile:hover .gallery-caption,.project-gallery .gallery-tile:focus-visible .gallery-caption { opacity:1; }
