/* Landing-page compositions. */
.page-index .cinema-copy h1.hero-statement { font:700 clamp(34px,4.2vw,66px)/1.65 var(--font-family); letter-spacing:.015em; text-transform:none; }
.page-index main > .lp-section { padding-block:68px 90px; color:var(--ink); }
.page-index .lp-title { font:800 clamp(48px,6.1vw,88px)/1.04 var(--font-family); letter-spacing:-.01em; }
.page-index .lp-subtitle { font:800 clamp(32px,3vw,46px)/1.1 var(--font-family); }
.page-index .lp-ja-title { font-size:clamp(18px,1.7vw,24px); line-height:1.7; font-weight:600; margin-block:14px; }
.page-index .lp-body { font-size:clamp(15px,1.15vw,17px); line-height:1.95; }
.page-index .lp-section .eyebrow { margin-bottom:16px; }
.page-index .lp-section figure { margin:0; }
.page-index .lp-section figure img { width:100%; }
.page-index .lp-section .text-link { color:var(--blue); }
.page-index .lp-philosophy .text-link,.page-index .lp-founder .text-link { color:var(--ink); }
.page-index .lp-cta { margin-top:24px; white-space:nowrap; }
.lp-about-layout { display:grid; grid-template-columns:1.06fr 1fr; gap:36px 7%; align-items:start; }
.lp-what { grid-column:1; grid-row:1; min-width:0; }
.lp-about-photo { grid-column:2; grid-row:1; align-self:center; }
.lp-about-photo img { height:auto; }
.page-index .lp-name-meaning { margin-top:24px; }
.page-index .lp-about-value { margin-block:26px 18px; font-size:clamp(20px,1.9vw,27px); }
.page-index .lp-about-link { display:inline-flex; min-height:44px; align-items:center; margin-top:20px; line-height:1.7; }
.lp-pillars { margin:24px 0 0; }
.lp-pillars div { display:grid; grid-template-columns:90px 1fr; align-items:baseline; gap:16px; padding-block:13px; border-top:1px solid #13161930; }
.lp-pillars dt { font-size:25px; font-weight:700; line-height:1.2; }
.lp-pillars dd { margin:0; font-size:14px; line-height:1.7; }
.lp-philosophy { background:#c6cacd; }
.lp-philosophy-layout { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
.page-index .lp-philosophy .lp-title { font-size:clamp(46px,5.8vw,84px); }
.lp-philosophy-text { font-size:17px; line-height:1.9; }
.lp-philosophy-text p + p { margin-top:18px; }
.lp-philosophy-text p { text-wrap:pretty; }
.lp-philosophy-text .text-link { margin-top:12px; }
.lp-programs { background:linear-gradient(110deg,#bcced7,#bac4d8); }
.lp-programs-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:30px 7%; align-items:center; }
.lp-programs-title { grid-column:1 / -1; }
.lp-programs-photo { align-self:start; }
.lp-programs-photo img { height:auto; aspect-ratio:4 / 3; object-fit:cover; object-position:50% top; }
.lp-program-list a { display:grid; grid-template-columns:minmax(0,1fr); gap:5px; position:relative; padding-block:18px; border-top:1px solid #13161940; }
.lp-program-list a:last-child { border-bottom:1px solid #13161940; }
.lp-program-list a > span { font-size:clamp(28px,3vw,40px); font-weight:700; line-height:1.1; }
.lp-program-list small { font-size:14px; line-height:1.6; }
.lp-founder { background:#e3e3e3; }
.lp-founder-layout { display:grid; grid-template-columns:1fr .65fr; gap:28px 9%; align-items:center; }
.lp-founder-title { grid-column:1; grid-row:1; }
.lp-founder-copy { grid-column:1; grid-row:2; }
.lp-founder-copy h3 { font-size:25px; font-weight:600; }
.lp-founder-name { font-size:21px; font-weight:600; margin-block:4px 20px; }
.lp-founder-photo { grid-column:2; grid-row:1 / 3; width:76%; justify-self:center; }
.lp-founder-photo img { height:auto; }
.lp-contact { background:#cfd5dd; }
.lp-contact-layout { display:grid; grid-template-columns:.9fr 1.35fr; gap:28px 6%; align-items:center; }
.lp-contact-title { grid-column:1; grid-row:1; }
.lp-contact-title .lp-body { margin-top:22px; }
.lp-contact-photo { grid-column:2; grid-row:1 / 3; }
.lp-contact-photo img { height:auto; aspect-ratio:3 / 2; object-fit:cover; }
.lp-contact-links { grid-column:1; grid-row:2; }
.lp-contact-links a { display:block; padding-block:12px; border-top:1px solid #13161935; font-size:15px; font-weight:600; text-wrap:balance; }
.lp-contact-links a.lp-support-link { margin-top:14px; border:0; font-size:14px; }
.lp-crowdfunding { background:#fff; }
.lp-crowdfunding-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:8%; align-items:center; }
.lp-crowdfunding-photo img { height:auto; aspect-ratio:4 / 3; object-fit:contain; }
.page-index .lp-support-title { font-size:clamp(30px,3.5vw,48px); font-weight:700; line-height:1.5; letter-spacing:-.035em; }
.lp-crowdfunding-copy .lp-body { margin-top:20px; text-wrap:balance; }
.page-index .site-footer { padding-block:36px 26px; }
.page-index .footer-wordmark { font-size:76px; }
.page-index .footer-contact { font-size:40px; }
.page-index .footer-bottom { margin-top:24px; }
.page-index .footer-bottom nav { gap:12px 22px; }
@media (max-width:800px) {
 .page-index main > .lp-section { padding-block:48px 68px; }
 .lp-about-layout { grid-template-columns:1fr; gap:30px; }
 .lp-what { grid-column:1; grid-row:1; }
 .lp-about-photo { grid-column:1; grid-row:2; width:100%; max-width:630px; justify-self:center; }
 .lp-philosophy-layout { grid-template-columns:1fr 1.15fr; gap:6%; }
 .lp-philosophy-text { font-size:16px; }
 .lp-philosophy-text p { break-inside:avoid; }
 .lp-programs-layout { gap:26px 5%; }
 .lp-program-list a { padding-block:12px; }
 .lp-program-list a > span { font-size:28px; }
 .lp-program-list small { font-size:13px; }
 .lp-founder-layout { column-gap:6%; }
 .lp-founder-photo { width:100%; }
 .lp-contact-layout { grid-template-columns:1fr; gap:24px; }
 .lp-contact-title { grid-column:1; grid-row:1; }
 .lp-contact-photo { grid-column:1; grid-row:2; }
 .lp-contact-links { grid-column:1; grid-row:3; }
 .lp-crowdfunding-layout { grid-template-columns:1fr; gap:28px; }
 .lp-crowdfunding-copy { grid-row:1; }
 .lp-crowdfunding-photo { grid-row:2; }
}
@media (max-width:520px) {
 .page-index .cinema-copy h1.hero-statement { font-size:clamp(26px,7.6vw,39px); line-height:1.7; letter-spacing:0; }
 .page-index main > .lp-section { padding-block:34px 48px; }
 .page-index .lp-title { font-size:43px; }
 .page-index .lp-subtitle { font-size:30px; }
 .page-index .lp-ja-title { font-size:17px; margin-block:10px; }
 .page-index .lp-body { font-size:14px; line-height:1.85; }
 .page-index .lp-section .eyebrow { font-size:12px; margin-bottom:10px; }
 .lp-about-layout { grid-template-columns:1fr; gap:26px; }
 .page-index .lp-name-meaning { margin-top:18px; }
 .page-index .lp-about-value { font-size:19px; margin-block:20px 14px; }
 .page-index .lp-about-link { margin-top:14px; font-size:14px; }
 .lp-pillars { margin-top:18px; }
 .lp-pillars div { grid-template-columns:70px 1fr; gap:10px; padding-block:9px; }
 .lp-pillars dt { font-size:22px; }
 .lp-pillars dd { font-size:12px; line-height:1.7; }
 .lp-about-photo img { height:auto; object-fit:contain; }
 .lp-philosophy-layout { grid-template-columns:1fr; gap:22px; }
 .page-index .lp-philosophy .lp-title { font-size:43px; }
 .lp-philosophy-text { columns:auto; font-size:14px; line-height:1.85; }
 .lp-philosophy-text p + p { margin-top:13px; }
 .lp-philosophy-text br { display:none; }
 .lp-philosophy-text .text-link { font-size:13px; margin-top:4px; }
 .lp-programs-layout { grid-template-columns:1fr; gap:18px; }
 .lp-programs-photo img { height:auto; aspect-ratio:4 / 3; object-position:50% top; }
 .lp-program-list a { padding-block:10px; gap:3px 12px; }
 .lp-program-list a > span { font-size:27px; }
 .lp-program-list small { font-size:12px; }
 .lp-founder-layout { grid-template-columns:1fr .8fr; gap:16px; }
 .lp-founder-title { grid-column:1 / -1; grid-row:1; }
 .lp-founder-photo { grid-column:2; grid-row:2; }
 .lp-founder-copy { grid-column:1; grid-row:2; }
 .lp-founder-copy h3 { font-size:20px; }
 .lp-founder-name { font-size:17px; margin-bottom:12px; }
 .lp-founder-copy .text-link { font-size:12px; white-space:nowrap; }
 .page-index .lp-cta { min-height:48px; margin-top:18px; padding:12px 20px; font-size:14px; }
 .lp-founder-copy .lp-cta { font-size:12px; padding-inline:14px; }
 .lp-founder-photo img { max-height:230px; object-fit:cover; }
 .lp-contact-layout { grid-template-columns:1fr; gap:20px; }
 .lp-contact-title .lp-body { margin-top:14px; }
 .lp-contact-photo { grid-column:1; grid-row:2; align-self:start; }
 .lp-contact-photo img { height:auto; aspect-ratio:3 / 2; object-fit:cover; }
 .lp-contact-links { grid-column:1; }
 .lp-contact-links a { font-size:14px; padding-block:11px; }
 .lp-contact-links a.lp-support-link { margin-top:6px; font-size:12px; }
 .lp-crowdfunding-layout { gap:24px; }
 .page-index .lp-support-title { font-size:30px; }
 .lp-crowdfunding-copy .lp-body { margin-top:12px; }
 .lp-crowdfunding-copy .lp-cta { font-size:13px; padding-inline:16px; max-width:calc(100% - 4px); white-space:normal; text-wrap:balance; }
 .page-index .site-footer { padding-block:22px 20px; }
 .page-index .footer-top { gap:12px; }
 .page-index .footer-wordmark { font-size:54px; }
 .page-index .footer-top p { font-size:11px; }
 .page-index .footer-contact { font-size:30px; }
 .page-index .footer-bottom { margin-top:18px; gap:14px; }
 .page-index .footer-bottom nav { gap:10px 18px; }
 .page-index .footer-bottom nav a { font-size:14px; }
}
