/* WORKS archive: quiet exhibition with full-size detail viewer. */
.mon-works-archive .mon-works-archive-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:56px 32px; }
@media(min-width:1680px) {
 .mon-works-archive .mon-works-archive-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(min-width:901px) and (max-width:1199px) {
 .mon-works-archive .mon-works-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:701px) and (max-width:900px) {
 .mon-works-archive .mon-works-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.mon-works-archive .mon-work-entry { border:0; background:none; overflow:visible; }
.mon-work-entry .aw-open { display:block; width:100%; height:100%; padding:0; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; font:inherit; }
.mon-work-entry .aw-open:focus-visible { outline:2px solid #d3b566; outline-offset:5px; }
.mon-work-entry .aw-open figure { aspect-ratio:1; overflow:hidden; background:transparent; }
.mon-work-entry .aw-open img { width:100%; height:100%; object-fit:contain; filter:none; transition:opacity .35s ease; }
.mon-work-entry .aw-open:hover img { opacity:.9; }
/* Crop only the surrounding whitespace in this archive preview, not the original artwork. */
.mon-work-entry .aw-open img[src$="/logo-yonotobari-card.webp"] { object-fit:cover; object-position:center; transform:scale(1.65); }
.mon-work-entry .aw-card-copy { position:relative; padding:20px 0 0; }
.mon-work-entry .aw-card-copy>span { color:#a69c87; font-size:11px; letter-spacing:.1em; }
.mon-work-entry .aw-card-copy h3 { margin:8px 0 0; color:#d2bd87; font-size:20px; font-weight:400; line-height:1.5; }
.mon-work-entry .aw-action { display:flex; align-items:center; justify-content:space-between; margin-top:12px; color:#c5ae71; font-size:12px; font-weight:400; transition:opacity .25s ease; }
@media(hover:hover) {
 .mon-work-entry .aw-action { opacity:0; }
 .mon-work-entry .aw-open:hover .aw-action,.mon-work-entry .aw-open:focus-visible .aw-action { opacity:1; }
}
.mon-work-entry .aw-action span { font-size:20px; }
.aw-dialog { box-sizing:border-box; width:min(1180px,94vw); max-width:94vw; max-height:92dvh; padding:58px 28px 28px; border:1px solid #8e7945; background:#141310; color:#eee9de; overflow:auto; }
.aw-dialog::backdrop { background:rgba(0,0,0,.86); }
.aw-close { position:absolute; right:18px; top:10px; min-height:44px; padding:8px 14px; border:1px solid #79683e; background:#141310; color:#eee9de; cursor:pointer; font:inherit; font-size:14px; }
.aw-close:focus-visible { outline:2px solid #e5c775; outline-offset:3px; }
.aw-detail { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:30px; align-items:center; }
.aw-detail>img,.aw-detail>video { display:block; width:100%; max-height:74dvh; object-fit:contain; }
.aw-detail-copy { min-width:0; }
.aw-detail-copy h2 { font-size:clamp(24px,2.6vw,36px); line-height:1.5; color:#ddc27d; margin:12px 0 24px; }
.aw-detail-copy p { font-size:16px; line-height:1.9; font-weight:400; overflow-wrap:anywhere; }
.aw-detail-copy .aw-category { font-size:13px; color:#c8ae70; }
@media(max-width:700px) {
 .aw-dialog { padding:58px 18px 24px; }
 .aw-detail { grid-template-columns:1fr; gap:20px; }
 .aw-detail>img,.aw-detail>video { max-height:58dvh; }
 .mon-work-entry .aw-card-copy { padding:16px 0 0; }
 .mon-works-archive .mon-works-archive-grid { grid-template-columns:1fr; gap:44px; }
}
@media(prefers-reduced-motion:reduce) { .mon-work-entry .aw-open img,.mon-work-entry .aw-action { transition:none; } }
/* SNS: an upright editorial spread. */
.aw-social { padding:72px 0; background:radial-gradient(ellipse at 20% 40%,#20201b,#0c0d0c 75%); color:#ede7db; }
.aw-social__spread { width:calc(100% - 96px); max-width:1440px; margin:auto; display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(48px,6vw,100px); align-items:center; }
.aw-social__visual { min-width:0; }
.aw-social__visual img { display:block; width:100%; height:auto; }
.aw-social__copy { min-width:0; padding:24px 0; }
.aw-social .mon-section-kicker { display:flex; align-items:center; gap:18px; color:#bfa46c; letter-spacing:.2em; }
.aw-social .mon-section-kicker::before { content:""; width:34px; height:1px; background:#bfa46c; }
.aw-social #works-social-title { margin:34px 0 40px; color:#ede7db; font:inherit; font-size:clamp(25px,3vw,44px); font-weight:400; line-height:1.65; letter-spacing:.07em; }
.aw-social__links { display:grid; }
.aw-social__links::before { content:""; display:block; width:58px; height:1px; background:#bfa46c; margin-bottom:26px; }
.aw-social__links a { display:flex; align-items:center; gap:28px; min-height:104px; padding:22px 0; border-bottom:1px solid #76684988; color:#ede7db; text-decoration:none; transition:color .3s ease,border-color .3s ease; }
.aw-social__icon { width:34px; height:34px; flex:none; }
.aw-social__account { display:grid; gap:6px; }
.aw-social__name { font-size:21px; letter-spacing:.12em; }
.aw-social__handle { font-size:17px; letter-spacing:.06em; color:#c8c0b1; }
.aw-social__arrow { display:block; width:28px; height:28px; flex:none; margin-left:auto; transition:transform .3s ease; }
.aw-social__links a:hover { color:#d9be81; border-color:#bfa46c; }
.aw-social__links a:hover .aw-social__arrow { transform:translate(3px,-3px); }
.aw-social__links a:focus-visible { outline:2px solid #d3b566; outline-offset:5px; }
@media(max-width:900px) { .aw-social__spread { width:calc(100% - 48px); gap:32px; } .aw-social__links a { gap:18px; } .aw-social #works-social-title { letter-spacing:.025em; font-size:25px; } }
@media(max-width:700px) {
 .aw-social { padding:36px 0 48px; }
 .aw-social__spread { width:calc(100% - 44px); grid-template-columns:1fr; gap:32px; }
 .aw-social__visual img { max-height:380px; object-fit:cover; }
 .aw-social__copy { padding:0; }
 .aw-social #works-social-title { margin:24px 0 28px; font-size:27px; }
 .aw-social__links::before { margin-bottom:12px; }
 .aw-social__links a { min-height:90px; padding:18px 0; }
 .aw-social__name { font-size:20px; }
 .aw-social__handle { font-size:15px; }
 .aw-social__icon { width:30px; height:30px; }
}
@media(prefers-reduced-motion:reduce) { .aw-social__links a,.aw-social__arrow { transition:none; } }
