/* home-01.pdf: 1920 × 5700. Keep homepage geometry separate from other templates. */
.home-layout{position:relative}
.home-section{position:relative;width:100%}
.home-section .rule{top:5.715115vw}
.home-section h1{position:absolute;top:8.541667vw;left:-1.493056vw;width:100%;font-size:1.458333vw;line-height:1.25;font-weight:700;text-align:center}
.home-section:first-child h1{left:-.416667vw}
.home-banner{position:absolute;top:12.734375vw;left:3.90625vw;width:92.1875vw;height:30.78125vw;display:block}
.home-banner img{display:block;width:100%;height:100%;object-fit:cover}
.home-intro{position:absolute;top:48.958333vw;left:7.578125vw;color:#000;font-size:1.09375vw;line-height:1.458333vw}
.home-grid{position:absolute;top:58.603229vw;left:7.578125vw;right:7.578125vw;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.291667vw}
.home-grid a,.home-grid img{display:block;width:100%}
.home-grid img{height:32.748854vw;object-fit:cover}

.home-footer{position:absolute;top:291.997615vw;left:3.90625vw;right:3.90625vw;border-top:.104167vw solid var(--ink);padding-top:.364583vw;font-size:1.458333vw;line-height:1.25;font-weight:700;text-align:center}
.home-footer p{transform:translateX(-1.493056vw)}
@media(max-width:650px){
 .home-layout{min-height:0}
 .home-section,.home-section:nth-child(n){position:relative;top:auto;height:auto;padding:70px 24px 40px}
 .home-section:first-child{padding-top:95px}
 .home-section .rule{top:24px;left:24px;right:24px}
 .home-section h1,.home-section:first-child h1{position:static;width:auto;font-size:14px;line-height:1.3;margin-bottom:24px}
 .home-banner{position:static;width:100%;height:auto}
 .home-banner img{height:auto}
 .home-intro{position:static;font-size:12px;line-height:17px;margin-top:30px;max-width:360px}
 .home-intro br{display:none}
 .home-grid{position:static;margin-top:30px;grid-template-columns:1fr;gap:24px}
 .home-grid img{height:auto}
   .home-footer{position:static;margin:40px 24px 0;padding:12px 0 24px;border-width:1px;font-size:12px}
 .home-footer p{transform:none}
}

/* Flow sections naturally; preserve the reference spacing for any section count. */
@media(min-width:651px){
 .home-section{padding-top:12.734375vw}
 .home-section+.home-section{margin-top:1.304167vw}
 .home-banner{position:static;margin:0 3.90625vw}
 .home-intro{
  position:static;margin:5.442708vw 0 0;
  margin-inline-start:7.578125vw;min-height:4.375vw;
 }
 .home-grid{position:static;margin:5.269896vw 7.578125vw 0}
 .home-grid:empty{display:none}
}
@media(max-width:650px){
 .home-banner{margin:0}
 .home-intro{min-height:0}
 .home-grid:empty{display:none}
}
