/* Portfolio / News: one shared, independently scrolling detail window. */
html:has(#post-dialog){scrollbar-gutter:stable}
html.post-dialog-open{overflow:hidden}
.post-dialog{width:min(1040px,calc(100% - 80px));max-width:none;max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);padding:0;border:1px solid #304554;border-radius:18px;background:#0d1721;color:#edf4fa;overflow:hidden;box-shadow:0 32px 120px #0009;margin:auto}
.post-dialog[open]{display:flex;flex-direction:column}
.post-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-shrink:0;padding:17px 24px 17px 40px;border-bottom:1px solid #293b49;background:#0d1721;z-index:1}
.post-dialog-label{margin:0;color:#52ddc2;font-size:12px;font-weight:600;letter-spacing:.13em}
.post-dialog-close{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid #3a5264;border-radius:50%;background:transparent;color:#dae8f5;cursor:pointer;transition:background-color .25s,border-color .25s}
.post-dialog-close:hover{background:#19382f;border-color:#38c5a8}
.post-dialog-close span{position:relative;width:20px;height:20px}
.post-dialog-close span::before,.post-dialog-close span::after{content:"";position:absolute;top:9px;left:0;width:20px;height:1.5px;background:currentColor;transform:rotate(45deg)}
.post-dialog-close span::after{transform:rotate(-45deg)}
.post-dialog-body{padding:38px 56px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#536e80 #0d1721;min-height:0}
.post-article{width:100%;margin:0 auto}
.post-article>.eyebrow{font-size:12px;color:#a7c4d8;margin:0 0 14px;letter-spacing:.03em}
.post-article>h2{font-size:clamp(26px,3.1vw,40px);font-weight:700;line-height:1.5;letter-spacing:-.045em;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 30px;padding-bottom:28px;border-bottom:1px solid #293b49}
.post-article .article-cover{display:block;max-height:none;height:auto;object-fit:contain;margin-bottom:32px}
.post-article .prose{max-width:none;font-size:16px;line-height:1.95;color:#bdcede}
.post-article .prose:empty,.post-article .article-gallery:empty,.post-article .attachment-links:empty{display:none}
.post-article .article-gallery{gap:22px;margin-top:28px}
.post-article .attachment-links{margin:30px 0 16px}
.post-article .attachment-links a{padding:12px 20px;border:1px solid #35576a;border-radius:6px;background:#15352f;color:#82e9d2;font-size:14px;line-height:1.6}
.post-article iframe,.post-article video{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:10px;margin:24px 0}
.post-article table{max-width:100%}
.post-dialog-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px 24px;border-top:1px solid #293b49;flex-shrink:0;background:#0a131c}
.post-dialog-bottom button{width:auto;min-height:48px;border:0;border-radius:0;background:transparent;color:#adc8dc;font:inherit;font-size:14px;padding:12px 0;cursor:pointer;transition:color .3s}
.post-dialog-bottom [data-post-previous]{justify-self:start;text-align:left}
.post-dialog-bottom [data-post-next]{justify-self:end;text-align:right}
.post-dialog-bottom button:hover:not(:disabled){color:#50dec0}
.post-dialog-bottom button:disabled{opacity:.32;cursor:default}
.post-dialog-bottom span{color:#7d9aaf;font-size:12px;font-variant-numeric:tabular-nums}
.post-dialog :focus-visible{outline:2px solid #58e5c5;outline-offset:4px}
@media(max-width:700px){.post-dialog{width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:13px}.post-dialog-top{padding:12px 14px 12px 22px}.post-dialog-body{padding:25px 22px 20px}.post-article>h2{font-size:25px;margin-bottom:23px;padding-bottom:22px}.post-article .prose{font-size:15px}.post-dialog-bottom{padding:12px 20px}.post-article .article-cover,.post-article .article-gallery img{border-radius:7px}}
@media(prefers-reduced-motion:reduce){.post-dialog-close,.post-dialog-bottom button{transition:none}}
