/* Project-specific composition; existing FIRST typography and shared UI are reused. */
.miruku-project { --first-pink:#ccc; background:#070709; }
.miruku-project .first-hero { grid-template-columns:42% 58%; padding-bottom:3vw; align-items:center; }
.miruku-project .first-intro h1 { font-size:6.3vw; line-height:.95; letter-spacing:-.035em; }
.miruku-project .first-years { font-size:1.65vw; line-height:1.6; margin:1.6vw 0 .6vw; }
.miruku-category { font-size:.9vw; letter-spacing:.12em; line-height:1.7; margin:0 0 1.7vw; }
.miruku-project .first-intro h2 { font-size:1.4vw; line-height:1.8; }

.miruku-project .first-section { border-color:#555; }
.miruku-project .archive-section { padding:2.5vw 0; }
.miruku-project .image-enlarge { display:block; width:100%; border:0; padding:0; background:none; cursor:zoom-in; }
.miruku-project img { object-fit:contain; }
.miruku-project figcaption { line-height:1.7; color:#aaa; font-size:clamp(11px,.85vw,13px); margin-top:8px; letter-spacing:.08em; }
.miruku-project .archive-section figure img { border:0; }
.miruku-sign-layout { display:grid; grid-template-columns:32% 21% 41%; gap:3%; align-items:start; }
.miruku-section-copy { display:block; padding-right:2vw; margin:0; }
.miruku-section-copy .section-index { font-size:clamp(12px,1.15vw,17px); letter-spacing:.12em; line-height:1.6; }
.miruku-section-copy .section-index span { font-size:clamp(27px,2.6vw,40px); line-height:1.2; margin-bottom:3px; }
.miruku-section-copy h3 { font-size:clamp(20px,1.9vw,29px); font-weight:400; margin:24px 0; }
.miruku-section-copy p { font-size:clamp(14px,1.3vw,19px); line-height:2; margin:22px 0 0; }
.miruku-section-copy .miruku-size { font-size:clamp(12px,1.12vw,17px); margin-top:0; white-space:nowrap; }
.miruku-project .miruku-sign-layout .image-enlarge { height:24.744vw; }
.miruku-project .miruku-sign-layout img { width:100%; height:100%; object-fit:contain; object-position:left top; }
.miruku-poster-layout { display:grid; grid-template-columns:20% repeat(3,minmax(0,1fr)); gap:2.4%; align-items:start; }
.miruku-poster-layout .miruku-section-copy { padding-right:0; }
.miruku-project .miruku-poster-layout img { width:100%; height:auto; }
.miruku-project-information { margin-top:28px; color:#aaa; font-size:12px; line-height:1.8; }
.miruku-project-information summary { cursor:pointer; letter-spacing:.1em; padding:8px 0; }
.miruku-information-content { display:grid; grid-template-columns:1.6fr 1fr; gap:40px; padding:20px 0 0; }
.miruku-information-content p { font-size:14px; line-height:1.9; }
.miruku-information-content p + p { margin-top:1em; }
.miruku-information-content h3 { font-size:12px; font-weight:400; margin:0 0 12px; }
.miruku-information-content ul { list-style:none; padding:0; margin:0; font-size:14px; line-height:1.9; }
.miruku-project .image-viewer { border-color:#555; }
.miruku-project .viewer-close { border-color:#777; background:#151515; }
@media(max-width:700px){
 .miruku-project .first-hero { padding-bottom:28px; gap:24px; }
 .miruku-project .first-intro h1 { font-size:17vw; }
 .miruku-project .first-years { font-size:18px; margin:18px 0 8px; }
 .miruku-category { font-size:11px; margin-bottom:18px; }
 .miruku-project .first-intro h2 { font-size:17px; margin-bottom:0; }
 .miruku-project .archive-section { padding:28px 0; }
 .miruku-sign-layout,.miruku-poster-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
 .miruku-section-copy { padding:0; }
 .miruku-section-copy h3 { font-size:21px; margin:16px 0; }
 .miruku-section-copy p { font-size:14px; line-height:1.9; margin-top:16px; }
 .miruku-section-copy .miruku-size { font-size:13px; }
 .miruku-project .miruku-sign-layout .image-enlarge { height:auto; }
 .miruku-project .miruku-sign-layout img { height:auto; }
 .miruku-sign-layout figure:nth-child(2) { width:min(70%,220px); margin-inline:auto; }
 .miruku-poster-layout figure { width:min(100%,280px); margin-inline:auto; }
 .miruku-information-content { grid-template-columns:1fr; gap:20px; }
 .miruku-project figcaption { font-size:11px; }
}

/* Desktop spacing only: preserve sign copy and artwork sizes. */
@media(min-width:701px){
 .miruku-sign-layout { grid-template-columns:32% 3% calc(24.744vw * 5492 / 11575) 28px 41%; column-gap:0; }
 .miruku-sign-layout > .miruku-section-copy { grid-column:1; }
 .miruku-sign-layout > figure:nth-child(2) { grid-column:3; }
 .miruku-sign-layout > figure:nth-child(3) { grid-column:5; }
 .miruku-poster-layout { grid-template-columns:32% 3% minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr); column-gap:0; }
 .miruku-poster-layout > .miruku-section-copy { grid-column:1; }
 .miruku-poster-layout > figure:nth-child(2) { grid-column:3; }
 .miruku-poster-layout > figure:nth-child(3) { grid-column:5; }
 .miruku-poster-layout > figure:nth-child(4) { grid-column:7; }
 .miruku-project .miruku-poster-layout .image-enlarge { aspect-ratio:4961 / 7016; }
 .miruku-project .miruku-poster-layout img { width:100%; height:100%; object-fit:contain; object-position:left top; }
}

/* Final 1440px reference alignment; tablet/mobile rules stay unchanged. */
@media(min-width:1024px){
 .miruku-sign-layout {
  --miruku-aligned-height:calc((52.78vw - 28px) / 1.9822833423);
  grid-template-columns:32% 10% calc(var(--miruku-aligned-height) * 5492 / 11575) 28px minmax(0,1fr);
 }
 .miruku-project .miruku-sign-layout .image-enlarge { height:var(--miruku-aligned-height); }
 .miruku-poster-layout { grid-template-columns:32% 10% minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr); }
}

@media(min-width:1024px){
 .miruku-project .miruku-sign-section { padding-bottom:calc(2.5vw + 24.744vw - (52.78vw - 28px) / 1.9822833423); }
 .miruku-poster-layout { min-height:calc((59.15vw - 48px) / 3 * 7016 / 4961 + 8px + 3 * 1.7 * clamp(11px,.85vw,13px)); }
}
