/* Top proposal 2. Original proposal 1 remains in its own directory. */
.section-heading p{font-size:12px;letter-spacing:.1em}
.cinematic-hero{position:relative;height:100svh;min-height:620px;max-height:1200px;color:#fff;isolation:isolate;overflow:hidden;background:#183852}
.cinematic-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;z-index:-2}
.cinematic-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,22,39,.17),transparent 28%),linear-gradient(90deg,rgba(8,22,39,.19),transparent 62%)}
.cinematic-hero .site-header{height:100px;max-width:none;position:relative}
.cinematic-hero .wordmark{font-size:16px;font-weight:400}
.cinematic-hero .nav a{font-size:11px;text-shadow:0 1px 10px #21334c}
.cinematic-hero .nav{gap:32px}
.cinematic-title{position:absolute;left:var(--gutter);top:42%;font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-size:clamp(36px,4.2vw,66px);font-weight:400;letter-spacing:.06em;line-height:1.7;text-shadow:0 2px 20px #18324e55}
.cinematic-title:lang(en){font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(40px,4.9vw,78px);letter-spacing:-.04em;line-height:1.15;max-width:70%}
.cinematic-signature{position:absolute;right:var(--gutter);bottom:55px;width:clamp(90px,8vw,120px)}
.cinematic-signature img{width:100%;height:auto;filter:brightness(0) invert(1);opacity:.94}
.cinematic-scroll{position:absolute;left:var(--gutter);bottom:57px;display:flex;align-items:center;gap:30px;font-size:8px;letter-spacing:.2em}
.cinematic-scroll span:last-child{font-size:20px;font-weight:300}
.page-home .intro{margin-top:170px;margin-bottom:175px}
.gallery-index-link{display:flex;justify-content:flex-end;margin-top:55px}
.galleries-intro{padding-top:70px;padding-bottom:130px}
.galleries-intro h1{font-size:clamp(60px,9vw,138px);font-weight:400;letter-spacing:-.065em;line-height:1.1;margin-bottom:40px}
.galleries-intro>p:last-child{font-size:clamp(16px,1.7vw,23px);line-height:2.2;letter-spacing:.05em;margin-left:17%}
.theme-story{display:grid;grid-template-columns:5% 42% 1fr;gap:2%;padding:55px 0 70px;border-top:1px solid var(--line);align-items:start}
.theme-story .chapter-number{margin:12px 0 0;font-size:10px}
.theme-story h2{font-size:clamp(28px,3.1vw,50px);line-height:1.2;font-weight:400;letter-spacing:-.035em;overflow-wrap:anywhere}
.theme-story h2 a{display:flex;gap:20px;align-items:baseline}
.theme-story h2 a span{font-size:17px;color:var(--blue)}
.theme-story h2 a:hover{color:#367ba9}
.theme-story>p{font-size:14px;line-height:2.25;padding-top:4px;letter-spacing:.02em}
.about-chapter h2{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-size:clamp(26px,3.1vw,49px);font-weight:400;line-height:1.7;letter-spacing:.035em;margin-bottom:32px}
.about-chapter h2:lang(en){font-family:inherit;letter-spacing:-.025em}
.about-chapter p{font-size:clamp(17px,1.6vw,24px);max-width:650px;line-height:2.3}
.about-chapter p:lang(en){font-size:clamp(19px,2vw,29px);line-height:1.9}
.about-chapter{min-height:90svh}
.return-links{display:flex;gap:35px}.return-links .text-link{min-width:100px;justify-content:space-between}
.empty-note{padding:80px 0;color:var(--muted)}
.site-footer.shell{padding-left:var(--gutter);padding-right:var(--gutter)}
@media(min-width:1800px){.cinematic-title{left:max(var(--gutter),calc((100vw - 1640px)/2))}}
@media(max-width:800px){.cinematic-hero{min-height:560px;max-height:none}.cinematic-title{top:41%;font-size:40px}.cinematic-signature{bottom:40px;width:94px}.cinematic-scroll{bottom:41px}.cinematic-hero .site-header{height:78px}.theme-story{grid-template-columns:5% 1fr;column-gap:6%;padding:40px 0 50px}.theme-story h2{font-size:40px}.theme-story>p{grid-column:2;margin-top:22px}.galleries-intro{padding:50px 0 90px}.galleries-intro>p:last-child{margin-left:11%}.about-chapter{padding-left:12%;padding-right:12%}.page-home .intro{margin-top:120px;margin-bottom:125px}}
@media(max-width:520px){.cinematic-hero{height:94svh;min-height:540px}.cinematic-photo{object-position:50% 56%}.cinematic-title{top:40%;font-size:33px;letter-spacing:.025em;white-space:nowrap}.cinematic-title:lang(en){font-size:43px;max-width:85%;white-space:normal}.cinematic-hero .site-header{height:72px}.cinematic-hero .nav{gap:20px}.cinematic-hero .nav a{font-size:10px}.cinematic-signature{width:88px;bottom:35px}.cinematic-scroll{bottom:35px;gap:18px;font-size:7px}.page-home .intro{margin-top:100px;margin-bottom:105px}.gallery-index-link{margin-top:28px}.theme-story{padding:32px 0 42px}.theme-story h2{font-size:33px}.theme-story>p{font-size:13px;line-height:2.15}.galleries-intro>p:last-child{font-size:15px;margin-left:0}.galleries-intro{padding-top:34px;padding-bottom:72px}.galleries-intro h1{font-size:66px;margin-bottom:32px}.about-chapter{padding:65px 26px;min-height:80svh}.about-chapter h2{font-size:27px;margin-bottom:28px}.about-chapter p{font-size:17px}.about-chapter p:lang(en){font-size:21px}.return-links{gap:30px}.return-links .text-link{font-size:13px}.gallery-links a{font-size:34px}}
@media(max-width:360px){.cinematic-title{font-size:29px}.cinematic-hero .nav{gap:13px}.cinematic-hero .wordmark{font-size:14px}.gallery-links a{font-size:29px}}
@media(prefers-reduced-motion:reduce){.about-chapter{min-height:auto}.cinematic-hero{scroll-behavior:auto}}

/* Keep the longer, two-line copy within the photograph on small screens. */
.cinematic-title{max-width:calc(100% - var(--gutter)*2);white-space:normal}
@media(max-width:520px){.cinematic-title:lang(ja),.about-title:lang(ja){font-size:clamp(23px,7vw,33px);letter-spacing:.025em}.cinematic-title:lang(en){font-size:clamp(34px,10vw,43px)}}

.page-seo-h2{font-size:clamp(16px,2vw,22px);font-weight:400;line-height:1.65;margin:16px 0;white-space:pre-line}

/* Homepage footer: copyright, operator and privacy links. */
.footer-legal{display:flex;align-items:center;gap:8px 24px;min-width:0}
.footer-legal>a{color:inherit;white-space:nowrap}
.footer-legal>a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-legal+.footer-right{flex-shrink:0}
@media(max-width:800px){.footer-legal{flex-wrap:wrap}}
@media(max-width:520px){.footer-legal{column-gap:16px}}
