/* Portfolio detail sheets: shared structure, restrained color, generous imagery. */
.project-dialog{--sheet-accent:#47664f;--sheet-wash:#e8efdf;width:min(1120px,94vw);max-height:92vh;max-height:92dvh;background:linear-gradient(145deg,var(--sheet-wash) 0,#fffdf8 350px);border:1px solid #ffffffb3;border-radius:24px;box-shadow:0 32px 110px #16333140;color:#253c36;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a9b7a8 transparent}
.project-dialog[data-tone=peach]{--sheet-accent:#96604d;--sheet-wash:#f5e3d7}
.project-dialog[data-tone=sky]{--sheet-accent:#426b80;--sheet-wash:#deedf0}
.project-dialog[data-layout=compact]{width:min(740px,94vw)}
.project-dialog::backdrop{background:#203d476b;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.project-dialog[open]{animation:detail-sheet-enter .4s cubic-bezier(.2,.8,.2,1) both}
.project-dialog .dialog-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;padding:12px 24px;background:#fffdf8ec;border-bottom:1px solid #29483e10;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.project-dialog .dialog-top>span{font-size:10px;font-weight:650;letter-spacing:.12em;color:var(--sheet-accent)}
.project-dialog .dialog-top>span::before{content:"";display:inline-block;vertical-align:middle;width:6px;height:6px;background:var(--sheet-accent);border-radius:50%;margin-right:10px}
.project-dialog .dialog-close{background:#fffdf8;color:#284940;border:1px solid #b9c8be;box-shadow:none;width:44px;height:44px;font-size:27px}
.project-dialog .dialog-close:hover{background:var(--sheet-wash);transform:rotate(8deg)}
.project-dialog .detail-body{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:38px;row-gap:18px;padding:40px clamp(24px,5vw,68px) 62px;align-items:start}
.project-dialog .detail-body>*{min-width:0;grid-column:1/-1;margin:0}
.project-dialog .detail-body>small{justify-self:start;padding:8px 13px;background:#fffdf8b8;border:1px solid #ffffff;border-radius:30px;font-size:9px;line-height:1.5;letter-spacing:.1em;color:var(--sheet-accent)}
.project-dialog .detail-body h2{font-size:clamp(28px,3.7vw,46px);line-height:1.3;font-weight:650;letter-spacing:-.045em;max-width:900px;margin:3px 0 5px;text-wrap:balance;color:#233c34}
.project-dialog .detail-body>p{grid-column:2;font-size:14px;line-height:1.95;max-width:none;color:#53665d;margin:0}
.project-dialog .detail-body>h2+p{grid-column:1/-1;max-width:760px;font-size:16px;line-height:1.85;margin-bottom:8px;color:#52665c}
.project-dialog .detail-body>h3{grid-column:1;font-size:12px;font-weight:650;line-height:1.9;color:var(--sheet-accent);letter-spacing:.025em;margin:3px 0 0;padding-top:4px;border-top:2px solid var(--sheet-accent)}
.project-dialog .detail-body>.section-handnote{grid-column:1/-1;font-size:15px;line-height:1.8;font-weight:400;color:var(--sheet-accent);transform:none;max-width:760px;margin:0 0 6px}
.project-dialog .case-facts{gap:8px;display:flex;flex-wrap:wrap;margin:4px 0 22px;padding:0 0 26px;border:0;border-bottom:1px solid #29483e1f}
.project-dialog .case-facts span{font-size:10px;line-height:1.5;padding:7px 12px;background:#e5ecd9;border:0;border-radius:7px;color:#4a624d}
.project-dialog .case-facts span:nth-child(3n+2){background:#f5e3d3;color:#8c5b40}
.project-dialog .case-facts span:nth-child(3n){background:#e0eaf0;color:#436377}
.project-dialog .detail-body .work-note{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;background:none;border:0;padding:28px 0 12px;margin-top:6px;border-top:1px solid #29483e1f}
.project-dialog .detail-body .work-note h3{grid-column:1/-1;font-size:12px;font-weight:650;color:var(--sheet-accent);margin:0 0 4px}
.project-dialog .detail-body .work-note p{padding:20px 18px;margin:0;background:#eaf0e3;border-radius:12px;font-size:13px;line-height:1.9;max-width:none;text-align:start}
.project-dialog .detail-body .work-note p:nth-of-type(2){background:#f7e8dc}
.project-dialog .detail-body .work-note p:nth-of-type(3){background:#e5edf1}
.project-dialog .work-note p small{display:block;font-size:10px;font-weight:650;margin-bottom:12px;color:var(--sheet-accent);letter-spacing:.12em}
.project-dialog .detail-body figure{background:none;border:0;padding:0;margin:12px 0;box-shadow:none;border-radius:0}
.project-dialog .detail-body figure img{background:transparent;max-height:600px;object-fit:contain;border-radius:10px}
.project-dialog .detail-body figure figcaption{padding:10px 0 0;font-size:10px;color:#7d8b81;line-height:1.6}
.project-dialog .detail-body>.case-gallery,.project-dialog .detail-body>.kiri-editorial{margin:18px 0 0}
.project-dialog .gallery-track{border-radius:12px;background:transparent}
.project-dialog .gallery-track figure{margin:0;padding:0}
.project-dialog .gallery-track img{height:460px;max-height:none;background:#eff1e9}
.project-dialog .gallery-controls{justify-content:flex-end;gap:14px}
.project-dialog .gallery-controls button{width:40px;height:40px;border:1px solid #bac7b9;background:#fffdf8;border-radius:50%;font-size:16px;padding:0}
.project-dialog .gallery-controls span{font-size:10px;font-variant-numeric:tabular-nums}
.project-dialog .detail-body a:not(.email-address){font-size:12px;color:var(--sheet-accent);border:0;border-bottom:1px solid #99ad9b;padding-bottom:5px;justify-self:start;margin-top:6px}
.project-dialog .detail-body>.case-sources{grid-column:1/-1;font-size:11px}
.project-dialog .flow-visual{gap:12px;padding:0;background:none;border:0;margin:14px 0}
.project-dialog .flow-visual div{padding:24px 18px;border-radius:12px;background:#e6eddd;font-family:inherit;font-size:11px;color:#415a49}
.project-dialog .flow-visual div:nth-child(2){background:#f6e3d4}.project-dialog .flow-visual div:nth-child(3){background:#deebef}.project-dialog .flow-visual div:nth-child(4){background:#ece5f1}
.project-dialog .flow-visual b{font-size:24px;font-weight:500;color:#51654e;margin-bottom:24px}
.project-dialog .flow-visual small{font-family:inherit;font-size:11px;line-height:1.8}
.project-dialog .comms-process{border:0;padding:0;background:none}
.project-dialog .comms-process section{padding:20px 0;border-bottom:1px solid #29483e1a}
.project-dialog .detail-body .qr{width:min(280px,100%);justify-self:center;margin:12px 0;background:white;padding:12px;border-radius:15px}
.project-dialog[data-layout=compact] .detail-body{display:block;padding:34px clamp(24px,5vw,52px) 46px}
.project-dialog[data-layout=compact] .detail-body>small{display:inline-block;margin-bottom:18px}
.project-dialog[data-layout=compact] .detail-body h2{font-size:clamp(26px,3.5vw,36px);margin-bottom:20px}
.project-dialog[data-layout=compact] .detail-body>p{font-size:14px;line-height:1.9;margin:14px 0}
.project-dialog[data-layout=compact] .detail-body .qr{margin:22px auto 0}
.project-dialog[data-layout=compact] .detail-body>.section-handnote{font-size:13px;margin-top:24px}
@keyframes detail-sheet-enter{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.project-dialog{width:96vw;max-height:94vh;max-height:94dvh;border-radius:18px}.project-dialog .dialog-top{padding:10px 16px}.project-dialog .detail-body{grid-template-columns:1fr;padding:28px 22px 38px;gap:16px}.project-dialog .detail-body>p,.project-dialog .detail-body>h3{grid-column:1/-1}.project-dialog .detail-body>h3{justify-self:start;margin:12px 0 0;padding-top:8px}.project-dialog .detail-body>h2+p{font-size:14px}.project-dialog .detail-body .work-note{grid-template-columns:1fr;gap:10px}.project-dialog .detail-body .work-note p{padding:17px}.project-dialog .work-note p small{margin-bottom:6px}.project-dialog .gallery-track img{height:310px}.project-dialog .flow-visual{grid-template-columns:repeat(2,minmax(0,1fr))}.project-dialog .flow-visual div{padding:18px 13px}.project-dialog .flow-visual b{margin-bottom:14px}.project-dialog .case-facts{margin-bottom:10px;padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.project-dialog[open]{animation:none}.project-dialog .dialog-close{transition:none}.project-dialog .dialog-close:hover{transform:none}}
.project-dialog .case-sources{margin:30px 0 0;padding-top:24px;border-top:1px solid #7794aa35}.case-institution{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:12px;color:#58778e}.case-institution>span{color:#8996a0;font-size:11px}.project-dialog .case-sources h3{font-size:19px;margin:25px 0 13px}.regional-sites{display:grid;grid-template-columns:1fr 1fr;gap:10px}.regional-sites>a{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #c5d4df;background:#f2f7fa88;border-radius:9px;font-size:13px;color:#42647c}.regional-socials{margin:0}.regional-socials>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #9fb3c329;font-size:13px}.regional-socials dt{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 10px;color:#48687f;min-width:0}.social-account-name{font-weight:600}.social-place-divider{color:#b6c2ca}.social-account-place{font-size:12px;color:#73899b}.regional-socials dd{margin:0;flex-shrink:0;font-size:12px;color:#8295a3}.project-dialog .regional-socials dd a{font:inherit;color:inherit;margin:0;border:0;padding:0}.case-sources a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.regional-sites{grid-template-columns:1fr}.regional-socials>div{gap:7px;flex-direction:column}.regional-socials dt{gap:4px 8px}.regional-socials dd{font-size:11px}.regional-sites>a{padding:12px}.case-institution{font-size:11px}}
