/* Official supplied artwork; page-local styling, 2026-10-15. */
.goenkuji-preparation{padding-top:var(--header-h);background:#0b0d0b;color:#f0eadf}
.goenkuji-preparation__hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:640px;height:clamp(640px,56.28vw,960px);overflow:hidden;background:#1c1c16}
.goenkuji-preparation__visual{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%}
.goenkuji-preparation__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
.goenkuji-preparation__shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(7,7,6,.9) 0%,rgba(7,7,6,.74) 28%,rgba(7,7,6,.44) 46%,rgba(7,7,6,.1) 67%,rgba(7,7,6,.02) 100%),linear-gradient(0deg,#0b0d0b 0%,transparent 18%)}
.goenkuji-preparation__copy{position:relative;z-index:1;width:min(1440px,100%);margin-inline:auto;padding:68px clamp(24px,8vw,140px) 96px;box-sizing:border-box}
.goenkuji-preparation__copy .eyebrow{margin:0;color:#d4bd89;font-size:11px;letter-spacing:.22em}
.goenkuji-preparation__status{display:table;margin:22px 0 28px;padding:7px 15px;border:1px solid rgba(202,178,126,.5);background:rgba(7,7,6,.18);color:#e2cfa7;font-size:12px;line-height:1.8;letter-spacing:.14em}
.goenkuji-preparation h1{max-width:540px;margin:0;color:#f0eadf;font-family:var(--serif-jp,serif);font-size:clamp(72px,7vw,112px);font-weight:400;line-height:1.23;letter-spacing:.15em}
.goenkuji-preparation h1 span{display:block;margin-bottom:16px;font-size:18px;line-height:1.6;letter-spacing:.26em}
.goenkuji-preparation__reading{margin:14px 0 30px;color:#d4bd89;font-size:13px;line-height:1.8;letter-spacing:.4em}
.goenkuji-preparation__tagline{max-width:540px;margin:0;color:#f0eadf;font-size:clamp(21px,1.9vw,28px);line-height:1.9;letter-spacing:.035em}
.goenkuji-preparation__tagline span{display:inline-block}
.goenkuji-preparation__description{max-width:420px;margin:16px 0 0;color:#ded7c8;font-size:16px;line-height:2.1;letter-spacing:.04em}
.goenkuji-preparation__caption{position:absolute;right:var(--page-x);bottom:28px;z-index:1;margin:0;color:#ded3bd;font-size:11px;line-height:1.8;letter-spacing:.16em}
.goenkuji-preparation__notice{border-top:1px solid rgba(182,160,112,.25);padding:72px var(--page-x) 88px;text-align:center;background:#0b0d0b}
.goenkuji-preparation__notice .eyebrow{color:#b6a070;font-size:11px;letter-spacing:.2em}
.goenkuji-preparation__notice h2{margin:22px 0;color:#ece5d8;font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.8;letter-spacing:.08em}
.goenkuji-preparation__notice>p:not(.eyebrow){max-width:620px;margin:22px auto;color:#c8c0b0;font-size:15px;line-height:2.2}
.goenkuji-preparation__notice .text-link{margin-top:12px;font-size:14px}
.goenkuji-preparation a:focus-visible{outline:2px solid #d4bd89;outline-offset:5px}
@media(max-width:900px){
 .goenkuji-preparation__hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;height:auto;background:#0b0d0b}
 .goenkuji-preparation__visual{position:relative;inset:auto;z-index:0;aspect-ratio:16/9;height:auto}
 .goenkuji-preparation__shade{inset:0 0 auto;z-index:1;aspect-ratio:16/9;height:auto;background:linear-gradient(0deg,#0b0d0b 0%,rgba(11,13,11,.45) 11%,transparent 32%)}
 .goenkuji-preparation__copy{z-index:1;padding:18px var(--page-x) 26px}
 .goenkuji-preparation__caption{position:static;padding:0 var(--page-x) 42px;color:#b6a070;font-size:11px}
 .goenkuji-preparation h1{font-size:clamp(60px,12vw,84px)}
 .goenkuji-preparation h1 span{margin-bottom:10px;font-size:16px}
 .goenkuji-preparation__status{margin:18px 0 24px}
 .goenkuji-preparation__reading{margin:12px 0 23px;font-size:12px}
 .goenkuji-preparation__tagline{font-size:25px}
}
@media(max-width:720px){
 .goenkuji-preparation__visual,.goenkuji-preparation__shade{aspect-ratio:4/3}
 .goenkuji-preparation__copy .eyebrow{font-size:10px}
 .goenkuji-preparation h1{font-size:clamp(58px,17vw,76px)}
 .goenkuji-preparation__status{font-size:11px;padding:6px 13px}
 .goenkuji-preparation__tagline{font-size:23px;line-height:1.9}
 .goenkuji-preparation__description{font-size:15px;line-height:2.1;margin-top:16px}
 .goenkuji-preparation__notice{padding-top:44px;padding-bottom:54px}
 .goenkuji-preparation__notice h2{font-size:28px}
 .goenkuji-preparation__notice>p:not(.eyebrow){font-size:14px}
}
