/* Retro biograf: presentation only; existing grids, sections and behavior stay intact. */
:root{--night:#090909;--night-2:#10100e;--panel:#171612;--panel-2:#211e17;--ink:#f7f1e3;--muted:#c8bfac;--line:#51442b;--amber:#dfb85d;--red:#df3024;--red-dark:#b82018;--radius:4px;color-scheme:dark}
body{background:#090909;color:var(--ink)}
h1,h2,h3{font-family:'Oswald','Fredoka',sans-serif;font-weight:600;letter-spacing:.015em!important;color:var(--amber);line-height:1.16}
.brand{color:var(--amber)}.brand small{color:var(--muted)}.brand-mark{box-shadow:3px 3px 0 var(--amber);border-radius:2px}
.site-header{background:rgba(9,9,9,.97);border-bottom:1px solid var(--amber)}
.main-nav a{color:var(--ink)}.main-nav a:hover{color:var(--amber)}.main-nav .nav-cta{background:var(--red);border-radius:2px}
.journey-nav{background:#11100c;border-color:var(--line)}.journey-nav a{border-color:var(--line);color:var(--ink)}.journey-nav a:hover,.journey-nav a:focus-visible{background:#252016}.journey-nav span{background:var(--red)}
.hero{background:radial-gradient(ellipse at 75% 60%,#b88c2726,transparent 55%),#090909;border-bottom:1px solid var(--amber)}
.hero h1,.promo-hero h1{text-transform:uppercase}.hero h1 em,.promo-hero h1 em{color:var(--amber)}
.hero-lead,.hero-note,.promo-hero .lead{color:var(--muted)}
.stars{background-image:repeating-conic-gradient(from 245deg at 75% 100%,transparent 0deg 13deg,#d4af550b 13deg 24deg);background-size:auto;background-position:center;opacity:1;mask-image:linear-gradient(#000,transparent)}
.hero-copy:before,.promo-shell:before{content:'';position:absolute;top:-28px;left:0;width:64px;height:14px;border-top:2px solid var(--amber);border-left:2px solid var(--amber);pointer-events:none}
.button{border-radius:2px;border-color:var(--amber);position:relative}
.button.primary,.main-nav .nav-cta{background-color:var(--red);color:#fff;border-color:var(--red);box-shadow:0 6px 20px #0005;clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}
.button.primary:hover,.button.primary:focus-visible{background:var(--red-dark)}.button.secondary{color:var(--ink);border-color:var(--amber);background:#090909}
.button:focus-visible,.nav-cta:focus-visible{outline:3px solid white;outline-offset:-5px}
.season-banner{background:#dfb85d;color:#15110b;border-bottom:3px double #45371e}.season-banner a,.season-banner strong,.season-banner span{color:#15110b}
.audiences,.benefits,.pricing,.faq,.schools{background:#11100d;color:var(--ink)}
.how,.films,.private-events,.gallery{background:#090909}
.section{border-bottom:1px solid #51442b}
.section-head>p:last-child,.pricing .section-head>p:last-child,.audiences .section-head>p:last-child,.benefits .section-head>p:last-child,.schools>div:last-child>p,.municipal-copy>p,.contact-copy>p,.price-detail,.faq-list p{color:var(--muted)}
.kicker,.eyebrow,.audiences .kicker,.benefits .kicker,.pricing .kicker,.faq .kicker,.calendar-section .kicker,.audience-type,.price-label{color:var(--amber)}
.audience-grid article,.benefit-grid article,.price-card,.private-grid article,.projector-card,.promo-cards article{background:#16140f;border:1px solid var(--line);border-radius:3px;box-shadow:inset 0 0 0 5px #16140f,inset 0 0 0 6px #dfb85d35}
.audience-grid article:nth-child(2),.audience-grid article:nth-child(3){border-top:1px solid var(--line)}
.audience-grid article>p:not(.audience-type),.benefits article p,.price-card ul,.price-card p:not(.price-label):not(.price),.private-grid span,.promo-cards span{color:var(--muted)}
.audience-grid article>strong,.price-card .price,.private-grid strong{color:var(--amber)}
.audience-grid a{border-color:var(--line);color:var(--ink)}.audience-grid a:hover,.audience-grid a span{color:var(--amber)}.audience-number{color:#b89855}
.benefit-grid .icon{background:#272115;color:var(--amber);border:1px solid #68532c;border-radius:2px}
.price-card.featured{border:2px solid var(--amber)}.price-card dl div{border-color:var(--line)}.price-card dd{color:var(--ink)}
.school-price{background:var(--red);box-shadow:12px 12px 0 #dfb85d;border:1px solid #f6d78c}.school-facts span{background:#211c13;border-color:var(--line);color:var(--ink)}
.projector-card .beam{background:radial-gradient(circle,#dfb85d25,transparent 65%)}.projector-card hr{border-color:var(--line)}
.private-photo figcaption{background:#19160f;color:var(--muted)}
.calendar-section{background:#11100d;color:var(--ink)}.calendar-section .section-head>p:last-child{color:var(--muted)}
.calendar-shell{border-color:var(--amber);border-radius:3px}.calendar-panel{background:#faf6e9;color:#17140d}.calendar-toolbar h3{color:#20190d}.selection-panel{background:#18150e}.selected-date{color:var(--amber)}
.calendar-tab{border-color:#816c40;background:#17140f;color:var(--ink)}.calendar-tab.active{background:var(--amber);color:#15110a;border-color:var(--amber)}
.calendar-toolbar button{background:#fffaf0;color:#17140d;border-color:#c7b990}.calendar-week span,.calendar-legend,.calendar-help{color:#655d4c}
.calendar-day{border-radius:2px}.calendar-day.free.selected{outline-color:#157348}.calendar-day.unavailable{background:#eee9dc;color:#777266}
.booking-form{border-color:var(--amber);border-radius:3px}.booking-form h3{color:#372916}.booking-form .kicker{color:#8b3a15}.booking-form a{color:#9b2019}
.gallery-item{background:linear-gradient(145deg,#211d13,#11100d);border-color:#806a3e;border-radius:3px}.gallery-item:before{background:#dfb85d10}
.references-placeholder,.faq-list details{border-color:var(--line)}.faq-list summary{color:var(--ink)}.faq-list summary:after{color:var(--amber)}
.download{background:#1a1710}.contact{background:#090909}.contact-grid{background:var(--line);border-color:var(--line)}.contact-grid div{background:#17140f}
footer{background:#070706;border-color:var(--line);color:var(--muted)}
.promo-page{background:radial-gradient(ellipse at 70% 40%,#b88c2724,transparent 60%),#090909;color:var(--ink)}
.promo-cards p,.promo-cards strong{color:var(--amber)}.promo-price span,.promo-disclaimer{color:var(--muted)}
:root .entrance-button{background:var(--red);box-shadow:0 8px 28px #df302429}
.hero-visual img,.promo-visual img{mix-blend-mode:lighten;filter:drop-shadow(0 15px 20px #0007)}
.legal-page h1,.legal-page h2{color:var(--amber)}
@media(max-width:820px){.main-nav{background:#11100c;border-color:var(--line)}}
/* Approved retro cinema layout, shared by all public pages. */
html{scroll-padding-top:100px}body{background:#0c0b09}.section{padding-top:72px;padding-bottom:72px}.section-head{text-align:center;margin-left:auto;margin-right:auto;max-width:780px}.section-head h2{text-transform:uppercase;font-size:clamp(2rem,4vw,3.3rem)}.section-head:after{content:'◆';display:block;color:var(--amber);margin:22px auto 0;font-size:12px;letter-spacing:8px}.kicker{letter-spacing:.16em;text-transform:uppercase;font-size:12px}.season-banner{padding-top:10px;padding-bottom:10px;font-size:13px}.journey-nav{position:static;display:flex;justify-content:center;flex-wrap:wrap;padding:8px 4%;gap:0}.journey-nav a{flex:1;max-width:280px;font-size:12px;padding:8px 16px}.journey-nav span{width:24px;height:24px;font-size:12px}
.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;padding:48px 24px 30px;min-height:0;background:#0a0907 url('kinecko-retro-background.png') center bottom/cover no-repeat;isolation:isolate}.hero .stars{display:none}.hero-copy{width:100%;max-width:850px;position:relative}.hero-copy:before{display:none}.hero h1{font-size:clamp(2.8rem,5.8vw,5.5rem);line-height:1.06;margin:20px 0;text-shadow:0 3px 12px #000;text-transform:uppercase}.hero h1 em{font-style:normal}.hero-lead{max-width:660px;margin:0 auto;font-size:17px;color:#eee5d0;text-shadow:0 2px 5px #000}.hero .eyebrow{justify-content:center}.hero-visual{width:min(620px,90vw);margin:-10px auto -5px;transform:none;align-self:center;position:relative}.hero-visual img{display:block;width:100%;height:auto;mix-blend-mode:normal;filter:drop-shadow(0 14px 12px #0008);transform:none;object-fit:contain}.hero-visual figcaption{font-size:10px;color:#d2c5a5;position:static;margin-top:-22px}.hero-actions{justify-content:center;margin:25px 0 12px;gap:16px}.hero-note{font-size:12px;max-width:680px;margin:0 auto;color:#d5cbb7}.button.primary,.main-nav .nav-cta{clip-path:polygon(0 0,100% 0,100% 35%,97% 42%,97% 58%,100% 65%,100% 100%,0 100%,0 65%,3% 58%,3% 42%,0 35%);border-radius:0;letter-spacing:.02em}.button{min-height:48px}.audiences{padding-top:48px}.audience-grid{gap:22px}.audience-grid article{padding:28px;position:relative}.audience-number{font-family:Oswald,sans-serif;font-size:24px;opacity:.65}.audience-grid h3{font-size:25px}.audience-grid article>a{margin-top:20px}.benefit-grid{gap:16px}.benefit-grid article{padding:24px}.benefit-grid .icon{font-size:23px}.steps li{border-top:1px solid var(--line);padding-top:25px}.steps li>span{border:1px solid var(--amber);background:#201a10;color:var(--amber);border-radius:0;transform:rotate(-3deg)}.municipal,.schools{gap:60px}.projector-card{padding:35px}.private-photo{max-height:260px;overflow:hidden;margin:0 0 28px;border:1px solid var(--line)}.private-photo img{width:100%;height:230px;object-fit:cover;object-position:center 55%}.private-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.private-grid article{text-align:center;padding:35px 22px}.private-grid strong{font-family:Oswald,sans-serif;font-size:38px}.private-note{text-align:center;color:var(--muted);max-width:850px;margin:24px auto 0}.price-card{padding:30px}.price-card .price{font-family:Oswald,sans-serif}.calendar-shell{box-shadow:0 0 0 5px #0d0c09,0 0 0 6px #8d733d;margin-top:25px}.calendar-panel{padding:30px}.contact-copy{text-align:center;max-width:760px;margin:0 auto 35px}.contact h2{font-size:clamp(2rem,4vw,3.2rem);text-transform:uppercase}.contact>#contact-toggle{display:flex;margin:28px auto 0}.contact-grid div{padding:25px}.faq-list{max-width:880px;margin:auto}.gallery-grid{gap:15px}.download{gap:25px}.legal-page{max-width:980px}.legal-page h1{text-transform:uppercase}.promo-page{background:#090806 url('kinecko-retro-background.png') center top/100% auto no-repeat}.promo-shell:before{display:none}.promo-hero{gap:20px}.promo-visual img{mix-blend-mode:normal;filter:drop-shadow(0 15px 15px #0008)}.promo-cards article{padding:28px}
@media(min-width:1000px){.hero-visual{width:610px}.hero{padding-top:42px}.hero h1{font-size:76px}.hero-visual img{max-height:365px}.hero-visual{margin-top:0}.section{padding-left:max(6%,calc((100vw - 1180px)/2));padding-right:max(6%,calc((100vw - 1180px)/2))}}
@media(max-width:820px){.section{padding-top:46px;padding-bottom:46px}.hero{padding:32px 18px 25px;background-size:auto 100%}.hero h1{font-size:clamp(2.5rem,8vw,4rem)}.hero-lead{font-size:15px}.hero-visual{width:min(580px,100%);margin:10px auto}.hero-visual figcaption{margin-top:-10px}.hero-actions{flex-wrap:wrap;margin-top:16px}.hero-note{font-size:11px}.journey-nav a{flex:1 1 45%;max-width:none;padding:6px;font-size:11px}.journey-nav strong{white-space:normal}.private-grid{grid-template-columns:1fr}.municipal,.schools{gap:30px}.contact-grid{grid-template-columns:1fr 1fr}.contact-grid strong{font-size:16px;overflow-wrap:anywhere}.promo-hero{text-align:center}.promo-hero .eyebrow{justify-content:center}.promo-visual{margin:0 auto}.promo-page{background-size:auto 850px}.calendar-panel{padding:16px}.private-photo{max-height:210px}.private-photo img{height:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand-logo{display:block;width:74px;height:70px;overflow:hidden;flex:0 0 auto}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}.footer-logo{width:176px;height:176px}.promo-logo{width:190px;height:190px}.promo-top{align-items:flex-start}
@media(max-width:820px){.brand-logo{width:64px;height:62px}.footer-logo{width:145px;height:145px}.promo-logo{width:150px;height:150px}}

/* Rounded, tactile calendar controls approved for the booking flow. */
.calendar-grid{gap:10px;justify-items:center}.calendar-day{width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;font-weight:700;border:2px solid transparent;box-shadow:0 4px 0 #b4aa92,0 7px 12px #0002;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.calendar-day.free{background:linear-gradient(145deg,#61cc83,#229a52);border-color:#126c3a;color:#062b17;box-shadow:0 4px 0 #116638,0 7px 12px #0b492a40}.calendar-day.held{background:linear-gradient(145deg,#f4d67f,#c9972b);border-color:#8a6417;color:#322100;box-shadow:0 4px 0 #8a6417,0 7px 12px #49350045}.calendar-day.busy{background:linear-gradient(145deg,#f06b60,#be2e25);border-color:#861a14;color:#fff;box-shadow:0 4px 0 #7f1913,0 7px 12px #5e120f45}.calendar-day.free:hover,.calendar-day.free:focus-visible{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 6px 0 #116638,0 9px 16px #0b492a55}.calendar-day.free:active{transform:translateY(3px);box-shadow:0 1px 0 #116638,0 3px 6px #0b492a44}.calendar-day.free.selected{outline:4px solid #dfb85d;outline-offset:2px}.calendar-day.unavailable{border-radius:50%;box-shadow:none;background:#e7e1d2;color:#817b6c;border-color:#d4ccba}.calendar-day.empty{background:transparent;border-color:transparent;box-shadow:none}.calendar-legend i{border-radius:50%;box-shadow:0 2px 0 #0004}.download-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.hero-visual img{border-radius:2px}
@media(max-width:520px){.calendar-grid{gap:6px}.calendar-day{width:40px;height:40px;min-width:40px}.download-links{justify-content:flex-start}}

/* The heading is anchored to the screen image, so it stays centred at every viewport ratio. */
.hero{position:relative;overflow:hidden;background:#0a0907}
.hero-scene{position:relative;width:calc(100% + 48px);height:clamp(520px,48vw,860px);margin-left:-24px;overflow:hidden;flex:none}
.hero-scene-canvas{position:absolute;left:50%;bottom:0;width:max(100%,760px);aspect-ratio:1674/942;transform:translateX(-50%)}
.hero-scene-canvas img{position:absolute;inset:0;display:block;width:100%;height:100%}
.hero-stars{position:absolute;z-index:1;inset:0;pointer-events:none;overflow:hidden;mask-image:linear-gradient(to bottom,#000 0 38%,transparent 58%)}
.hero-stars i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#fff8cf;opacity:.08;box-shadow:0 0 3px #fff,0 0 8px #f6d889;animation:hero-star-twinkle var(--d) var(--w) ease-in-out infinite}
.hero-stars i:before,.hero-stars i:after{content:'';position:absolute;left:50%;top:50%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:translate(-50%,-50%)}
.hero-stars i:before{width:calc(var(--s) * 5);height:1px}.hero-stars i:after{width:1px;height:calc(var(--s) * 5)}
@keyframes hero-star-twinkle{0%,72%,100%{opacity:.06;transform:scale(.55)}78%{opacity:.32;transform:scale(.8)}82%{opacity:1;transform:scale(1.45)}86%{opacity:.2;transform:scale(.7)}}
.shooting-star{position:absolute;z-index:2;left:var(--sx);top:var(--sy);width:3px;height:3px;border-radius:50%;background:#fffbdc;opacity:0;pointer-events:none;box-shadow:0 0 5px 2px #fff,0 0 12px 4px #f6d889;will-change:transform,opacity}
.shooting-star:before{content:'';position:absolute;right:2px;top:50%;width:var(--trail);height:2px;transform:translateY(-50%) rotate(27deg);transform-origin:right center;background:linear-gradient(90deg,transparent,#f6d88955 28%,#fffbdccc 82%,#fff);filter:drop-shadow(0 0 3px #f6d889)}
.shooting-star.is-falling{animation:hero-shooting-star var(--flight) cubic-bezier(.18,.62,.45,1) forwards}
@keyframes hero-shooting-star{0%{opacity:0;transform:translate3d(0,0,0) scale(.45)}9%{opacity:1}72%{opacity:1}100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) scale(.9)}}
.hero-screen-title{position:absolute;z-index:1;left:37.6%;top:33.7%;width:24.8%;height:25.1%;margin:0;display:flex;flex-direction:column;justify-content:center;transform:none;font-size:clamp(1.25rem,2.35vw,2.8rem)!important;line-height:1.04!important;color:#704611;text-align:center;text-shadow:0 1px 0 #fff9,0 2px 3px #3d270633;letter-spacing:.025em!important}
.hero-screen-title span,.hero-screen-title em{display:block}.hero-screen-title em{color:#704611!important}
.promo-page{position:relative;background-image:linear-gradient(90deg,rgba(9,8,6,.84) 0%,rgba(9,8,6,.58) 30%,rgba(9,8,6,.08) 58%,rgba(9,8,6,.12) 100%),url('kinecko-hero-blank-screen-v3.png');background-position:center center;background-size:cover;background-repeat:no-repeat}
.promo-hero{grid-template-columns:1.05fr .95fr}
@media(max-width:820px){.hero-scene{width:calc(100% + 36px);height:clamp(360px,92vw,460px);margin-left:-18px}.hero-screen-title{width:24%;font-size:clamp(1.1rem,4.8vw,1.55rem)!important}.promo-page{background-position:center top;background-size:auto 100%;background-attachment:scroll}}
@media(min-width:1400px){.hero-screen-title{top:35.5%}}
@media(prefers-reduced-motion:reduce){.hero-stars i{animation:none;opacity:.28;transform:scale(.7)}.shooting-star{display:none}}

/* Public film catalogues — square black-and-gold cinema styling. */
.catalog-audiences{gap:18px}.catalog-audience{border:1px solid #806a3e;border-radius:2px;background:#16140f;color:var(--ink);box-shadow:inset 0 0 0 5px #16140f,inset 0 0 0 6px #dfb85d35}.catalog-audience:hover,.catalog-audience:focus-visible{border-color:var(--amber);outline:2px solid #dfb85d55;outline-offset:2px}.catalog-audience.active{border-color:var(--amber);background:#211b10;box-shadow:inset 6px 0 0 var(--amber),inset 0 0 0 6px #211b10,inset 0 0 0 7px #dfb85d55}.catalog-audience strong{color:#fff7e7}.catalog-audience small{color:var(--muted)}
.catalog-browser{border:1px solid #806a3e;border-radius:2px;background:#11100d;box-shadow:inset 0 0 0 5px #11100d,inset 0 0 0 6px #dfb85d28}.catalog-tools input,.catalog-tools select{border:1px solid #806a3e;border-radius:2px;background:#1a1710;color:#fff7e7}.catalog-tools input:focus,.catalog-tools select:focus{outline:2px solid var(--amber);outline-offset:2px}.catalog-browser #film-count{color:var(--muted)}
.film-grid{gap:18px}.films .film-card{padding:8px 8px 18px;border:1px solid #806a3e;border-radius:2px;background:#16140f;color:var(--ink);box-shadow:inset 0 0 0 5px #16140f,inset 0 0 0 6px #dfb85d35}.films .film-card>:not(.film-poster){margin-left:14px;margin-right:14px}.film-poster{position:relative;width:calc(100% + 0px);aspect-ratio:2/3;margin:0 0 18px!important;overflow:hidden;border-bottom:1px solid #806a3e;background:#211b10}.film-poster img{display:block;width:100%;height:100%;object-fit:cover}.film-poster-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;background:radial-gradient(circle at 50% 30%,#4a3618,#17140f 68%)}.film-poster-placeholder:before{content:'✦';margin-bottom:18px;color:var(--amber);font-size:2.6rem}.film-poster-placeholder span,.film-poster-placeholder small{color:#c9b989;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.film-poster-placeholder strong{margin:14px 0;color:var(--amber);font-family:Oswald,sans-serif;font-size:clamp(1.5rem,2.5vw,2.2rem);line-height:1.08;text-transform:uppercase}.films .film-meta,.films .film-rating{color:var(--muted)}.films .film-genre{color:#f4ead3}.film-card-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:auto}.films .film-card .button{width:100%;margin:0;border-radius:0}.trailer-button{border-color:var(--amber);background:var(--amber);color:#15110b}.trailer-button:hover,.trailer-button:focus-visible{background:#f2cb70;color:#15110b}.catalog-empty{border-color:#806a3e;border-radius:0;color:var(--muted)}
.catalog-request{border:1px solid #f6d78c;border-radius:2px;background:var(--amber);color:#15110b;box-shadow:8px 8px 0 #3b2d13}.catalog-request h3{color:#15110b}.catalog-request .button{border-radius:0;background:#15110b;color:#fff7e7}.catalog-note{color:var(--muted)}
