.site-header {height:80px;}
.cinema-hero {position:relative;isolation:isolate;min-height:640px;height:calc(100svh - 80px);max-height:820px;margin-top:80px;overflow:hidden;background:#e9e7e1;}
.cinema-media {position:absolute;inset:0 0 0 20%;background:#b5b6b0;}
.cinema-media video {display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.cinema-hero::after {content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#e9e7e1 0%,#e9e7e1 22%,rgba(233,231,225,.97) 29%,rgba(233,231,225,.70) 37%,rgba(233,231,225,0) 53%);}
.cinema-content {position:relative;z-index:2;width:min(1220px,calc(100% - 80px));height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-bottom:24px;pointer-events:none;}
.cinema-content a,.cinema-content button {pointer-events:auto;}
.cinema-eyebrow {color:#555952;font-size:11px;font-weight:650;letter-spacing:.16em;margin:0 0 22px;text-transform:uppercase;}
.cinema-title {margin:0;font-size:clamp(68px,7.2vw,108px);line-height:.95;font-weight:550;letter-spacing:-.065em;}
.cinema-tagline {font-size:clamp(35px,3.3vw,48px);line-height:1.08;font-weight:500;max-width:445px;margin:26px 0 0;letter-spacing:-.05em;}
.cinema-description {font-size:15px;line-height:1.7;max-width:325px;margin:21px 0 0;color:#52554f;}
.cinema-actions {display:flex;align-items:center;gap:12px;margin-top:32px;}
.cinema-actions .button {min-height:48px;padding:0 23px;}
.film-open {background:rgba(247,246,242,.72);}
.cinema-status {margin:15px 0 0;font-size:10px;letter-spacing:.03em;color:#656860;}
.cinema-bottom {position:absolute;bottom:25px;left:max(40px,calc((100% - 1220px)/2));right:max(40px,calc((100% - 1220px)/2));z-index:3;display:flex;justify-content:space-between;align-items:center;}
.cinema-scroll {font-size:10px;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:15px;}
.cinema-play {min-width:44px;min-height:44px;padding:0 14px;border:1px solid rgba(23,24,23,.25);background:rgba(247,246,242,.92);font-size:11px;cursor:pointer;display:flex;align-items:center;gap:8px;border-radius:24px;}
.cinema-facts {display:flex;justify-content:center;gap:65px;align-items:center;padding:25px 28px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);}
.cinema-facts strong {font-weight:550;color:var(--ink);margin-right:7px;}
.cinema-icon {width:16px;height:16px;display:inline-block;}
.film-dialog {width:min(1140px,calc(100% - 40px));max-width:none;padding:0;border:0;background:#141512;color:white;overflow:visible;}
.film-dialog::backdrop {background:rgba(12,14,11,.85);backdrop-filter:blur(10px);}
.film-dialog video {width:100%;max-height:80svh;display:block;}
.film-dialog-head {padding:15px 18px;display:flex;justify-content:space-between;align-items:center;font-size:12px;}
.film-close {color:white;cursor:pointer;background:none;border:1px solid #777;padding:9px 16px;min-height:44px;}
@media(min-width:821px) and (max-width:1100px) {
 .cinema-content {width:calc(100% - 64px);}
 .cinema-tagline {font-size:35px;max-width:320px;}
 .cinema-actions {gap:14px;flex-direction:column;align-items:flex-start;}
 .cinema-description {max-width:280px;}
 .cinema-facts {gap:25px;}
}
@media(max-width:820px) {
 .site-header {height:68px;}
 .cinema-hero {margin-top:68px;display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;background:var(--paper);overflow:visible;}
 .cinema-hero::after {display:none;}
 .cinema-content {display:contents;}
 .cinema-heading {order:0;padding:29px 24px 23px;text-align:center;}
 .cinema-eyebrow {font-size:9px;margin-bottom:11px;letter-spacing:.12em;}
 .cinema-title {font-size:62px;}
 .cinema-tagline {font-size:30px;line-height:1.06;margin:13px auto 0;max-width:360px;}
 .cinema-tagline br {display:none;}
 .cinema-description {display:none;}
 .cinema-media {position:relative;inset:auto;order:1;width:100%;height:auto;aspect-ratio:1.12;overflow:hidden;background:#b5b6b0;}
 .cinema-media video {object-fit:cover;}
 .cinema-actions {order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:20px 18px 24px;}
 .cinema-actions .button {width:100%;padding:8px 12px;min-height:52px;font-size:12px;line-height:1.35;text-align:center;}
 .cinema-status {order:3;text-align:center;margin:12px 0 22px;padding:0 15px;font-size:10px;}
 .cinema-bottom {bottom:auto;top:calc(197px + (100vw / 1.12) - 54px);left:auto;right:14px;}
 .cinema-scroll {display:none;}
 .cinema-play {font-size:0;width:40px;min-width:40px;min-height:40px;height:40px;padding:0;justify-content:center;}
 .cinema-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;padding:21px 16px;font-size:10px;line-height:1.5;text-align:center;}
 .cinema-facts strong {display:block;margin:0 0 5px;font-size:13px;}
 .film-dialog {width:calc(100% - 20px);}
}
@media(prefers-reduced-motion:reduce) {.cinema-hero * {transition:none!important;}}

.cinema-media .cinema-play {position:absolute;right:24px;bottom:24px;z-index:4;}
@media(max-width:820px){.cinema-media .cinema-play{font-size:10px;width:auto;padding:0 13px;right:14px;bottom:14px;}.cinema-bottom{display:none;}}

.purchase-section {background:var(--soft);border-bottom:1px solid var(--line);scroll-margin-top:90px;}
.purchase-inner {width:min(var(--max),calc(100% - 64px));margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;padding:56px 0;}
.purchase-price h2 {font-size:32px;font-weight:500;margin:0 0 17px;line-height:1;}
.purchase-price-line {display:flex;align-items:baseline;gap:19px;flex-wrap:wrap;}
.purchase-price-line strong {font-family:"Space Grotesk",sans-serif;font-size:64px;letter-spacing:-.055em;line-height:1.1;font-weight:550;}
.purchase-price-line small {font-size:17px;letter-spacing:-.025em;}
.purchase-price-line del {color:var(--muted);font-size:18px;}
.purchase-price>p:not(.eyebrow) {margin:14px 0 7px;font-size:14px;}
.purchase-shipping {font-size:11px;color:var(--muted);}
.purchase-gift {font-size:22px;font-family:"Space Grotesk",sans-serif;letter-spacing:-.03em;margin:0 0 12px;font-weight:550;}
.purchase-reward {color:var(--muted);font-size:14px;line-height:1.75;margin:0;max-width:490px;}
.purchase-actions {display:flex;gap:10px;margin-top:23px;}
.purchase-actions .button {min-height:48px;}
.purchase-eligibility {font-size:10px;color:var(--muted);line-height:1.6;margin:13px 0 0;}
.connections-heading {display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:90px;}
.connections-heading h2 {font-size:clamp(42px,5vw,66px);font-weight:500;line-height:1.04;margin:0;}
.connections-intro>p {color:var(--muted);font-size:15px;line-height:1.85;margin:0 0 24px;}
.connection-capabilities {display:grid;grid-template-columns:1fr 1fr;gap:64px;margin:50px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;}
.connection-label {color:var(--orange-dark);font-size:9px;font-weight:750;letter-spacing:.12em;line-height:1.6;}
.connection-capabilities h3 {font-family:"Space Grotesk",sans-serif;font-weight:500;font-size:24px;letter-spacing:-.03em;margin:13px 0 8px;}
.connection-capabilities p {font-size:13px;line-height:1.8;max-width:470px;margin:0;color:var(--muted);}
.connections-projects-head {display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin:38px 0 20px;}
.connections-projects-head h3 {font-size:23px;letter-spacing:-.04em;font-weight:500;margin:0;}
.connections-projects-head p {font-size:12px;color:var(--muted);margin:0;}
.connections-projects {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.connections-projects article {display:flex;flex-direction:column;padding:24px 21px 12px;background:var(--soft);border:1px solid var(--line);min-width:0;}
.connections-projects h4 {font-family:"Space Grotesk",sans-serif;font-size:21px;line-height:1.15;letter-spacing:-.035em;font-weight:550;margin:13px 0;}
.connections-projects article>p:not(.connection-label) {font-size:12px;line-height:1.75;color:var(--muted);margin:0 0 14px;}
.connections-projects .connection-label {margin:0;}
.connections-projects article>p.connection-requirements {font-size:10px;}
.connections-projects article>a {font-size:11px;font-weight:650;display:flex;justify-content:space-between;align-items:center;min-height:44px;border-top:1px solid var(--line);margin-top:auto;}
.connections-projects article>a:hover {color:var(--orange-dark);}
.connections-note {font-size:11px;line-height:1.7;color:var(--muted);margin:20px 0 0;}
@media(max-width:1080px){.purchase-inner,.connections-heading{gap:40px;}.purchase-actions{flex-wrap:wrap;}.connections-projects{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:820px){
 .purchase-inner {width:calc(100% - 40px);grid-template-columns:1fr;gap:28px;padding:36px 0;}
 .purchase-price h2 {font-size:27px;}
 .purchase-price-line strong {font-size:52px;}
 .purchase-choice {padding-top:25px;border-top:1px solid var(--line);}
 .purchase-gift {font-size:21px;}
 .purchase-actions {display:grid;grid-template-columns:1fr;gap:9px;}
 .purchase-actions .button {width:100%;}
 .connections-heading {grid-template-columns:1fr;gap:25px;}
 .connections-heading h2 {font-size:44px;}
 .connection-capabilities {gap:24px;margin-top:32px;padding:24px 0;}
 .connection-capabilities h3 {font-size:21px;}
 .connections-projects-head {display:block;margin-top:28px;}
 .connections-projects-head p {margin-top:9px;line-height:1.7;}
 .connections-projects {gap:12px;}
 .connections-projects article {padding:19px 16px 8px;}
 .connections-projects h4 {font-size:20px;}
}
@media(max-width:560px){.connections-projects,.connection-capabilities{grid-template-columns:1fr;}.connection-capabilities>div+div{border-top:1px solid var(--line);padding-top:22px;}.purchase-inner{width:calc(100% - 32px);}}

/* Let the video library follow its content instead of forcing an entire screen. */
.video-showcase {min-height:0;}
.video-showcase-inner {padding:44px 0;}
.video-showcase-heading {margin-bottom:28px;}
@media(max-width:820px){.video-showcase-inner{padding:40px 0;}.video-showcase-heading{gap:20px;}}

html[lang="ja"] .cinema-tagline {font-size:clamp(28px,2.8vw,40px);line-height:1.4;letter-spacing:-.045em;}
html[lang="ja"] .connections-heading h2 {font-size:clamp(30px,3.3vw,46px);line-height:1.4;}
html[lang="ja"] .purchase-actions {flex-wrap:wrap;}
html[lang="ja"] .purchase-price h2 {line-height:1.4;}
html[lang="ja"] .purchase-gift {font-size:20px;line-height:1.6;}
@media(max-width:820px){html[lang="ja"] .cinema-tagline {font-size:25px;}html[lang="ja"] .cinema-tagline br{display:block;}html[lang="ja"] .connections-heading h2{font-size:30px;}}
