
:root{
  --black:#111;--white:#f4f2ed;--red:#ef3b2d;--grey:#d8d6d0;--ink:#171717;--line:rgba(17,17,17,.15);--muted:#696969;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,textarea,select{font:inherit}
.corner{
  position:fixed;z-index:70;background:var(--black);color:#fff;border:1px solid #ffffff22;
  padding:.75rem 1rem;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase
}
.c1{left:16px;top:16px}.c2{right:16px;top:16px}.c3{left:16px;bottom:16px}.c4{right:16px;bottom:16px}
.c1.active,.c2.active,.c3.active,.c4.active{background:var(--red)}
.logo-chip{
  position:fixed;left:50%;top:16px;transform:translateX(-50%);z-index:72;
  background:#fff;border:1px solid var(--line);padding:.7rem 1rem;font-weight:900
}
.hero{min-height:100vh;display:grid;grid-template-columns:.75fr 1.25fr;background:var(--black);color:#fff}
.hero-copy{padding:10vw 5vw 8vw;display:flex;flex-direction:column;justify-content:center}
.kicker{font-size:.65rem;letter-spacing:.2em;font-weight:900;color:var(--red)}
h1,h2,h3{margin-top:0}h1{font-size:clamp(4rem,10vw,9.5rem);line-height:.78;letter-spacing:-.08em;text-transform:uppercase;margin:.8rem 0 1.5rem}
.hero-copy p{color:#bbb;max-width:560px}
.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.5rem}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.1rem;border:2px solid currentColor;font-weight:900;text-transform:uppercase;cursor:pointer}
.btn.primary{background:var(--red);color:#fff;border-color:var(--red)}
.hero-art{background:var(--red);display:flex;align-items:center;padding:4vw}.hero-art img{border:2px solid #111}
.marquee{overflow:hidden;background:var(--red);color:#fff;border-block:2px solid #111;white-space:nowrap}
.marquee div{display:inline-block;padding:1rem 0;font-weight:900;font-size:1.2rem;letter-spacing:.08em;animation:move 18s linear infinite}
@keyframes move{to{transform:translateX(-50%)}}
.section{padding:7vw 6vw}.dark{background:var(--black);color:#fff}
.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:4vw;align-items:end;margin-bottom:2.5rem}
.section-head h2{font-size:clamp(3rem,6vw,6rem);line-height:.85;letter-spacing:-.06em;text-transform:uppercase;margin:.3rem 0}
.section-head p{color:var(--muted)}.dark .section-head p{color:#aaa}
.poster-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.poster-card{border:2px solid var(--black);background:#fff}.poster-card:nth-child(1){grid-column:span 5}.poster-card:nth-child(2){grid-column:span 4}.poster-card:nth-child(3){grid-column:span 3}
.poster-card img{aspect-ratio:1/1;object-fit:cover}.poster-copy{padding:1rem}.poster-copy h3{font-size:1.5rem;text-transform:uppercase;margin:.2rem 0}.poster-copy p{color:var(--muted)}
.mood{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--red);color:#fff}
.mood-copy{padding:7vw 6vw}.mood-copy p{color:#ffd5d0}.mood-ui{margin:5vw;background:var(--white);color:var(--black);padding:2rem;border:2px solid var(--black)}
.mood-ui>span{font-size:.7rem;font-weight:900;letter-spacing:.12em}
.mood-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0}
.mood-switch button{padding:1rem;border:2px solid var(--black);background:#fff;font-weight:900;cursor:pointer;text-transform:uppercase}.mood-switch button.active{background:var(--black);color:#fff}
.mood-result{border-top:2px solid var(--black);padding-top:1rem}.mood-result strong{display:block;font-size:2.5rem;line-height:1;text-transform:uppercase}.mood-result p{color:#555}
.service-list{border-top:2px solid currentColor}.service-row{display:grid;grid-template-columns:70px 1fr 120px;gap:1rem;padding:1.2rem 0;border-bottom:1px solid #ffffff2a}.service-row h3{margin:0;text-transform:uppercase}.service-row p{margin:.2rem 0 0;color:#aaa}.service-row strong{text-align:right;color:#ff8a7f}
.schedule{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.slots button{padding:1rem;border:2px solid var(--black);background:#fff;font-weight:900;cursor:pointer}.slots button.active{background:var(--red);color:#fff}
.note{margin-top:1rem;padding:1rem;background:#fff;border:2px solid var(--black)}
.pagehero{padding:10vw 6vw 5vw;background:var(--black);color:#fff}.pagehero h1{font-size:clamp(3.5rem,8vw,8rem)}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.filters button{border:2px solid var(--black);background:#fff;padding:.65rem .85rem;font-weight:900;cursor:pointer}.filters button.active{background:var(--black);color:#fff}
.catalog{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.card{background:#fff;border:2px solid var(--black);padding:1.3rem}.card h3{margin:.2rem 0;text-transform:uppercase}.card p{color:var(--muted)}.card.hidden{display:none}
.formlayout{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;padding:6vw}.form{display:grid;gap:1rem}.field label{display:block;font-size:.7rem;font-weight:900;letter-spacing:.12em;margin-bottom:.35rem}.field input,.field textarea,.field select{width:100%;padding:.9rem;border:2px solid var(--black);background:#fff}.status{min-height:1.3em;color:var(--red);font-weight:900}
.footer{padding:3rem 6vw 5rem;border-top:2px solid var(--black);display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem}.footer h4{font-size:.78rem;letter-spacing:.12em}.footer a,.footer p{display:block;color:var(--muted);font-size:.8rem;margin:.25rem 0}
@media(max-width:920px){.hero,.mood,.schedule,.formlayout{grid-template-columns:1fr}.hero-copy{padding:16vw 5vw 5vw}.hero-art{padding:0 5vw 9vw}.section-head{grid-template-columns:1fr}.poster-grid{grid-template-columns:1fr 1fr}.poster-card:nth-child(n){grid-column:auto}.mood-copy{padding-bottom:2vw}.mood-ui{margin-top:0}.catalog{grid-template-columns:1fr}.c3,.c4{display:none}}
@media(max-width:620px){.corner{font-size:.58rem;padding:.6rem .7rem}.logo-chip{top:58px}.hero-copy{padding:34vw 20px 5vw}.hero-art{padding:0 20px 12vw}h1{font-size:clamp(3.6rem,19vw,5.5rem)}.section,.pagehero,.formlayout{padding-left:20px;padding-right:20px}.poster-grid{grid-template-columns:1fr}.mood-copy{padding:14vw 20px 4vw}.mood-ui{margin:0 20px 14vw}.mood-switch,.slots{grid-template-columns:1fr 1fr}.footer{grid-template-columns:1fr;padding-left:20px;padding-right:20px}}
