@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{--ink:#111a21;--ink2:#2f4049;--paper:#f3f4ef;--white:#fffefa;--line:#ccd4ce;--lime:#d8f278;--orange:#ef805e;--blue:#5270cc;--max:1260px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Space Grotesk',Arial,sans-serif;line-height:1.5}button,input{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.06}h1{font-size:clamp(3.8rem,7.8vw,8.8rem);letter-spacing:-.085em}h2{font-size:clamp(2.7rem,4.5vw,5.2rem);letter-spacing:-.07em}h3{letter-spacing:-.055em}.shell{width:min(calc(100% - 54px),var(--max));margin-inline:auto}.section{padding-block:112px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:16px;z-index:100;background:var(--white);padding:12px 18px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}button:disabled{cursor:not-allowed}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}.header-grid{min-height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}.logo{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:1.16rem;font-weight:700;letter-spacing:-.07em;white-space:nowrap}.logo-symbol{width:36px;height:36px;background:var(--ink);color:var(--lime);border-radius:50%;display:grid;place-items:center;font-size:1.55rem;line-height:1}.logo span span{color:var(--orange)}.site-header nav{display:flex;gap:28px}.site-header nav a{font-size:.85rem;font-weight:600;text-decoration:none}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.header-date{text-align:right;font:600 .68rem 'IBM Plex Mono',monospace;letter-spacing:.06em;color:var(--ink2)}.hero{background:#e9ede5;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.08fr .92fr;min-height:675px;gap:18px;align-items:center}.hero-copy{position:relative;z-index:2;padding-block:85px}.overline,.section-index{font:700 .74rem 'IBM Plex Mono',monospace;letter-spacing:.12em}.overline{display:flex;align-items:center;gap:12px;margin-bottom:25px}.signal-dot{width:8px;height:8px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 5px rgba(239,128,94,.18)}.hero h1{margin:0 0 26px;max-width:810px}.hero h1 em{font-style:normal;color:var(--blue)}.hero h1 .online-line{font-size:.68em;letter-spacing:-.06em}.hero-lead{font-size:1.06rem;max-width:600px;color:var(--ink2)}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:21px;min-height:53px;padding:14px 22px;text-decoration:none;font-weight:700;font-size:.84rem;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn-dark{background:var(--ink);color:var(--white)}.btn-dark:hover{background:#304851}.btn-line{border:1px solid var(--ink)}.hero-footnote{font:.67rem 'IBM Plex Mono',monospace;color:#53645f;max-width:530px;margin:26px 0 0}.hero-visual{height:580px;position:relative;display:grid;place-items:center;isolation:isolate}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(33,65,69,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(33,65,69,.1) 1px,transparent 1px);background-size:47px 47px;mask-image:radial-gradient(circle at center,#000 28%,transparent 75%)}.orbit{position:absolute;border:1.5px solid #a9b9a9;border-radius:50%;transform:rotate(-23deg)}.orbit-a{width:500px;height:500px}.orbit-b{width:400px;height:400px}.orbit-c{width:280px;height:280px}.orbit-a::before,.orbit-b::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--orange);top:50%;left:-7px}.orbit-b::after{background:var(--blue);left:auto;right:-7px}.planet{width:216px;height:216px;border-radius:50%;background:var(--lime);box-shadow:24px 20px 0 rgba(17,26,33,.13);position:relative;overflow:hidden}.planet::before{content:"";position:absolute;width:200px;height:200px;top:-55px;left:50px;border:2px solid #abc853;border-radius:50%}.planet::after{content:"";position:absolute;width:280px;height:280px;top:50px;left:-150px;border:2px solid #abc853;border-radius:50%}.planet span{position:absolute;top:105px;left:50px;width:130px;height:28px;border-top:2px solid #abc853;transform:rotate(28deg)}.visual-star{position:absolute;font-size:3rem}.star-a{top:66px;left:10px;color:var(--orange)}.star-b{right:25px;bottom:53px;color:var(--blue)}.visual-tag{position:absolute;background:var(--white);border:1px solid var(--ink);padding:12px 17px;display:flex;align-items:center;gap:20px;box-shadow:6px 6px 0 var(--ink);font-family:'IBM Plex Mono',monospace}.visual-tag span{font-size:.61rem;font-weight:700}.visual-tag strong{font-size:1.2rem}.tag-top{top:76px;right:-15px;transform:rotate(8deg)}.tag-bottom{bottom:94px;left:-12px;transform:rotate(-7deg)}.visual-coord{position:absolute;bottom:8px;right:22px;font:600 .62rem 'IBM Plex Mono',monospace;color:#687873;letter-spacing:.1em}.ticker{background:var(--ink);color:var(--white);overflow:hidden;padding:18px 0}.ticker-track{width:max-content;display:flex;align-items:center;gap:33px;white-space:nowrap;font:700 .75rem 'IBM Plex Mono',monospace;letter-spacing:.16em;animation:ticker 33s linear infinite}.ticker span{color:var(--lime)}@keyframes ticker{to{transform:translateX(-27%)}}
.section-intro{display:grid;grid-template-columns:1.15fr .55fr;align-items:end;gap:40px;margin-bottom:38px}.section-index{color:#a6523a;margin:0 0 12px}.section-intro h2{margin:0}.section-intro h2 span,.watch h2 span,.faq h2 span{color:var(--blue)}.section-intro>p{margin:0;max-width:395px;color:#55645f;font-size:.88rem;line-height:1.7}.catalog-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:22px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:var(--white);padding:10px 14px;font:600 .7rem 'IBM Plex Mono',monospace}.filter:hover{border-color:var(--ink)}.filter.active{background:var(--ink);color:var(--lime);border-color:var(--ink)}.search{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ink);min-width:230px;padding:7px 0}.search span[aria-hidden]{font-size:1.5rem;line-height:1}.search input{border:0;outline:0;background:transparent;width:100%;font-size:.82rem;color:var(--ink)}.search:focus-within{outline:2px solid var(--orange);outline-offset:4px}.catalog-status{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-block:20px 14px}.catalog-status p{font:500 .7rem 'IBM Plex Mono',monospace;color:#687873;margin:0}.catalog-status button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:.7rem;font-weight:700}.catalog-status button[hidden]{display:none}.film-list{border-top:1px solid var(--ink)}.film{display:grid;grid-template-columns:55px 210px 1fr;gap:25px;align-items:stretch;border-bottom:1px solid var(--ink);padding-block:22px}.film[hidden]{display:none}.film-count{padding-top:6px;font:700 .84rem 'IBM Plex Mono',monospace;color:#77827b}.film-art{height:215px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:15px 17px;color:var(--white);isolation:isolate}.film-art::before,.film-art::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.4);width:230px;height:230px;border-radius:50%;top:-82px;right:-95px;z-index:-1}.film-art::after{width:154px;height:154px;top:-18px;right:-36px}.film-art span{font:600 .56rem 'IBM Plex Mono',monospace;letter-spacing:.14em}.film-art b{font-size:2.2rem;letter-spacing:-.075em;line-height:.91}.film-art i{position:absolute;font-style:normal;font-size:7rem;right:16px;top:42px;line-height:1;opacity:.7;z-index:-1}.art-hail{background:#294561}.art-hail i{color:#f9e1a6}.art-mando{background:#426f71}.art-mando i{color:#d8f278}.art-masters{background:#7f506b}.art-masters i{color:#f4d0a4}.art-disclosure{background:#596b9b}.art-disclosure i{font-size:9rem;color:#d5e7ff}.art-odyssey{background:#a75e47}.art-odyssey i{color:#f9d19d}.art-spider{background:#3c63a5}.art-spider i{color:#ef805e}.art-avengers{background:#455248}.art-avengers i{color:#d8f278}.film-main{min-width:0;display:flex;flex-direction:column;padding:3px 0 0}.film-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.genre,.film-top time{font:700 .61rem 'IBM Plex Mono',monospace;letter-spacing:.07em}.genre{color:#a55741}.film-top time{color:#5d6f69;white-space:nowrap}.film h3{font-size:clamp(1.45rem,2.2vw,2.3rem);margin:16px 0 13px}.film h3 small{display:block;font-size:.72rem;font-family:'IBM Plex Mono',monospace;letter-spacing:0;font-weight:500;color:#667871;margin-top:7px}.film-main>p{max-width:770px;color:#394a4c;font-size:.83rem;line-height:1.67;margin-bottom:17px}.film-bottom{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:11px}.film-bottom>span{color:#798780;font-size:.69rem;max-width:350px}.film-bottom a{font-size:.74rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.film-bottom a:hover{color:#a6523a}.source-links{display:flex;gap:16px;flex-wrap:wrap}.empty{margin-top:25px;padding:22px;background:var(--white);border:1px solid var(--line)}
.routes{background:var(--lime)}.routes .section-intro>p{color:#395039}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.route{min-height:360px;padding:25px;display:flex;flex-direction:column;position:relative;background:var(--ink);color:var(--white);text-decoration:none;transition:transform .2s,background .2s}.route:hover{transform:translateY(-5px);background:#253842}.route:nth-child(2){background:#3b4f7f}.route:nth-child(2):hover{background:#4e659a}.route:nth-child(3){background:#985948}.route:nth-child(3):hover{background:#ad6954}.route-num{font:700 .66rem 'IBM Plex Mono',monospace;letter-spacing:.12em;color:var(--lime);margin-bottom:47px}.route strong{font-size:clamp(1.6rem,2.6vw,2.7rem);line-height:1.05;letter-spacing:-.07em}.route p{font-size:.76rem;max-width:250px;color:#d6e2d8;margin:18px 0 0}.route-arrow{font-size:1.6rem;position:absolute;bottom:18px;right:22px}.watch-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.watch h2{margin:0 0 20px}.watch-layout>div:first-child>p:last-child{max-width:470px;font-size:.87rem;color:#4c615b;line-height:1.75}.watch-panel{border:1px solid var(--ink);background:var(--white);padding:8px 30px}.watch-panel ol{list-style:none;padding:0;margin:0}.watch-panel li{display:grid;grid-template-columns:44px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.watch-panel li:last-child{border-bottom:0}.watch-panel li>span{font:700 .8rem 'IBM Plex Mono',monospace;color:#ab573b}.watch-panel strong{font-size:.95rem}.watch-panel p{color:#61726d;font-size:.76rem;margin:8px 0 0}.faq{background:#e3e9e4}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq h2{margin:0}.faq-list{border-top:1px solid #aebcb4}.faq-list details{border-bottom:1px solid #aebcb4;padding:21px 0}.faq-list summary{cursor:pointer;font-weight:700;list-style:none;padding-right:28px;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:0;top:-5px;font-size:1.4rem;font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list p{color:#4d605b;font-size:.79rem;line-height:1.7;margin:14px 0 0}.footer{background:var(--ink);color:var(--white);padding:48px 0 25px}.footer .logo-symbol{background:var(--lime);color:var(--ink)}.footer-main,.footer-base{display:flex;justify-content:space-between;gap:30px}.footer-main p{font-size:.76rem;color:#bdcbc4;margin:17px 0 0}.footer-main>a{font:600 .68rem 'IBM Plex Mono',monospace;text-decoration:none}.footer-main>a:hover{text-decoration:underline}.footer-base{margin-top:46px;padding-top:22px;border-top:1px solid #52615c;color:#bdcbc4;font:400 .63rem 'IBM Plex Mono',monospace}.footer-base p{margin:0;max-width:710px}.footer-base span{white-space:nowrap}
@media(max-width:1120px){.hero-layout{grid-template-columns:1fr .8fr}.hero-visual{transform:scale(.8);transform-origin:center}.film{grid-template-columns:40px 180px 1fr;gap:16px}.film-art{height:200px}.film-bottom{align-items:start;flex-direction:column;gap:7px}.watch-layout,.faq-layout{gap:55px}}@media(max-width:780px){.shell{width:min(calc(100% - 32px),var(--max))}.section{padding-block:72px}.header-grid{grid-template-columns:1fr auto;min-height:68px;padding-block:12px}.site-header nav{grid-column:1/-1;justify-content:space-between;padding-bottom:5px;gap:10px}.site-header nav a{font-size:.72rem}.header-date{font-size:.6rem}.hero-layout{grid-template-columns:1fr;gap:0}.hero-copy{padding:67px 0 0}.hero h1{font-size:clamp(3.4rem,11vw,6.5rem)}.hero-visual{height:440px;max-width:600px;width:100%;margin:auto;transform:scale(.7);transform-origin:top center}.section-intro{grid-template-columns:1fr;gap:15px}.section-intro>p{max-width:700px}.catalog-controls{align-items:stretch;flex-direction:column}.search{width:100%}.film{grid-template-columns:30px 150px 1fr;gap:12px}.film-art{height:185px}.film-art b{font-size:1.6rem}.film-top{display:block}.film-top time{display:block;margin-top:6px}.film h3{margin:12px 0}.route-grid{grid-template-columns:1fr}.route{min-height:260px}.route-num{margin-bottom:33px}.watch-layout,.faq-layout{grid-template-columns:1fr;gap:25px}.footer-base{display:block}.footer-base span{display:block;margin-top:10px}}@media(max-width:600px){.hero h1{font-size:clamp(3rem,12.3vw,4.5rem)}.hero-lead{font-size:.92rem}.hero-cta{flex-direction:column;align-items:stretch}.hero-visual{height:340px;transform:scale(.53);transform-origin:top left;width:640px;margin-left:-10px}.film{grid-template-columns:33px 1fr;gap:12px;padding-block:17px}.film-art{grid-column:2;height:160px}.film-main{grid-column:2}.film-count{grid-row:1/3}.film-art b{font-size:2rem}.film-top{display:flex}.film-top time{margin-top:0}.film h3{font-size:1.5rem}.film-bottom{flex-direction:column}.watch-panel{padding-inline:18px}.header-date{display:none}.header-grid{grid-template-columns:1fr}.site-header nav{grid-column:1}.footer-main{display:block}.footer-main>a{display:inline-block;margin-top:22px}}@media(max-width:390px){.hero-visual{margin-left:-42px}.film-top{display:block}.film-top time{margin-top:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.btn,.route{transition:none}}
/* Keep the artwork inside the mobile grid track so it cannot narrow the copy. */
@media(max-width:780px){.hero-layout{grid-template-columns:minmax(0,1fr)}.hero-copy,.hero-visual{min-width:0}}
@media(max-width:600px){.hero-visual{width:100%;max-width:100%;margin-left:0;transform-origin:top center}}

/* General cinema hero: a screen replaces the former planetary drawing. */
.screen-art{position:relative;width:min(82%,450px);height:320px;background:linear-gradient(145deg,#21323a 0%,#131e24 58%,#3b5961 100%);border:13px solid #111a21;box-shadow:22px 22px 0 #b7c8ad;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:24px;color:#f3f4ef;transform:rotate(-5deg)}
.screen-art::before,.screen-art::after{content:"";position:absolute;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,#d8f278 0 22px,transparent 22px 32px)}
.screen-art::before{top:0}.screen-art::after{bottom:0}
.screen-art span{font:700 .75rem 'IBM Plex Mono',monospace;letter-spacing:.1em}
.screen-art strong{display:grid;place-items:center;width:105px;height:105px;border-radius:50%;background:#d8f278;color:#111a21;font-size:3.6rem;font-weight:500;padding-left:8px}
@media(max-width:600px){.hero h1{font-size:clamp(2.8rem,11.2vw,4.3rem)}}
