
:root{color-scheme:dark;--ink:#CCC7BF;--logo:#EDE8E0;--dim:rgba(237,232,224,.68);--mute:rgba(237,232,224,.5);--line:rgba(237,232,224,.14);--red:#D7111E}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{opacity:0;transition:opacity .5s ease}html.shown body{opacity:1}
body{margin:0;background:#000;color:var(--ink);font-family:'Inter',sans-serif;font-weight:300;font-size:17px;line-height:1.65}
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
main{flex:1 0 auto;display:flex;flex-direction:column}
main>section:last-child{flex:1 0 auto}
main>section[id]:last-child{min-height:calc(100vh - 100px)}
footer{flex-shrink:0}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:#000 url(/img/hatter.jpg) center/cover no-repeat;pointer-events:none}
a{color:var(--ink)}a:hover{color:var(--red)}
a:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.wrap{max-width:1360px;margin:0 auto;padding-left:40px;padding-right:40px}
.serif{font-family:'Cormorant Garamond',serif;font-weight:400}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:.16em}
.test{background:var(--red);color:#fff;text-align:center;font-size:12px;letter-spacing:.08em;padding:6px 12px}
/* fejléc */
.top{position:sticky;top:0;z-index:30;background:rgba(10,10,10,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(237,232,224,.07)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;min-height:84px}
.logo{color:var(--logo);text-decoration:none;font-family:'Cormorant Garamond',serif;font-weight:500;font-size:22px;letter-spacing:.22em}
.menu{display:flex;flex-wrap:wrap;gap:2px 28px;align-items:center}
.menu>a,.menu .dd>a{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:.06em;text-decoration:none;padding:10px 0;display:inline-block;position:relative}
.menu>a{color:var(--dim)}.menu>a:hover{color:var(--red)}
.menu a.on{color:var(--red)}
.menu>a::after,.menu .dd>a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.7,0,.2,1)}
.menu>a:hover::after,.menu .dd>a:hover::after,.menu a.on::after{transform:scaleX(1)}
.dd{position:relative}
.dd .sub{position:absolute;left:-18px;top:100%;min-width:240px;background:rgba(12,12,12,.96);border:1px solid var(--line);padding:10px 0;display:none}
.dd:hover .sub,.dd:focus-within .sub{display:block}
.sub a{display:block;padding:9px 18px;text-decoration:none;font-size:15px;letter-spacing:.04em}
.lang{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em}
.lang a{text-decoration:none;color:var(--mute)}.lang b{font-weight:500}
.subnav{border-top:1px solid rgba(237,232,224,.07)}
.top .subnav .wrap{min-height:48px;display:flex;flex-wrap:wrap;gap:4px 28px;align-items:center;justify-content:flex-start}
.subnav a{font-family:'Cormorant Garamond',serif;font-size:18px;letter-spacing:.2em;text-decoration:none;color:var(--dim);padding:8px 0}
.subnav a.main{color:var(--ink)}
.subnav a.here,.subnav a.here:hover{color:var(--red)}
.subnav a:hover{color:var(--red)}
/* általános */
section{border-top:1px solid rgba(237,232,224,.08)}
section:first-of-type{border-top:0}
[id]{scroll-margin-top:150px}
.lbl{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.2em;color:var(--mute)}
.redl{width:56px;height:1px;background:var(--red);display:block;border:0;margin:0}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400;margin:0}
.more{font-size:16px;font-weight:500;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:4px;align-self:flex-start}
/* lábléc */
footer{border-top:1px solid rgba(237,232,224,.08)}
footer .wrap{padding-top:32px;padding-bottom:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:14px;color:rgba(237,232,224,.62)}
footer nav{display:flex;flex-wrap:wrap;gap:6px 24px;font-size:12px}
footer nav a{color:rgba(237,232,224,.55);text-decoration:none}
.mailbtn{background:none;border:0;margin:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.mailbtn:hover{color:var(--red)}
.copied{margin-left:12px;font-size:12px;opacity:0;transition:opacity .4s}.copied.on{opacity:1}
/* főoldal */
.hero{display:flex;flex-wrap:wrap;align-items:flex-start;gap:64px;padding-top:121px;padding-bottom:96px}
.intro{margin:0;max-width:560px;font-size:19px;line-height:1.65;color:rgba(237,232,224,.82)}
.hero .txt{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:24px}
.hero figure{flex:1 1 460px;min-width:0;margin:0;border:1px solid rgba(237,232,224,.45)}
.hero img{display:block;width:100%;height:clamp(420px,72vh,760px);object-fit:cover;object-position:center 25%;filter:grayscale(1) contrast(1.05) brightness(.92)}
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 48px}
.door{text-decoration:none;display:flex;flex-direction:column;gap:12px;padding-top:28px;border-top:1px solid rgba(237,232,224,.16);min-height:190px}
.door.open{border-top-color:rgba(215,17,30,.7)}
.door .st{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.16em;color:var(--mute)}
.door.open .st{color:var(--red)}
.door .t{font-family:'Cormorant Garamond',serif;font-size:40px;line-height:1}
.door .d{font-size:15px;line-height:1.6;color:var(--dim)}
/* blokkok */
.block{display:flex;flex-wrap:wrap;gap:56px;padding-top:120px;padding-bottom:120px}
.block .head{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:18px}
.block .body{flex:2 1 560px;min-width:0;display:flex;flex-direction:column;gap:22px}
.block h2{font-size:clamp(40px,4.4vw,64px);line-height:1}
.dim{color:var(--dim)}
.dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:640px}
.dates div{border-top:1px solid rgba(237,232,224,.2);padding-top:18px;display:flex;flex-direction:column;gap:4px}
.dates .serif{font-size:30px}
.soon{display:flex;flex-direction:column;justify-content:center;gap:24px;padding-top:80px;padding-bottom:120px}
.soon h1{font-size:clamp(56px,7vw,110px);line-height:.95}
/* JELENLÉT */
.jhero{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:40px;padding-bottom:96px}
.jhero .txt{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:32px}
.jhero h1{font-size:clamp(56px,7.4vw,118px);line-height:.98}
.jhero em,.demoh em{font-style:italic;color:var(--red)}
.jhero figure{flex:1 1 520px;min-width:0;margin:0;border:1px solid rgba(237,232,224,.55)}
.jhero img{display:block;width:100%;height:clamp(420px,78vh,820px);object-fit:cover;object-position:center 25%;filter:grayscale(1) contrast(1.05) brightness(.92)}
.stmt{max-width:980px;margin:0 auto;padding:140px 40px;text-align:center;display:flex;flex-direction:column;gap:28px;align-items:center}
.stmt p.big{margin:0;font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.6vw,68px);line-height:1.12}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:56px}
.steps div{border-top:1px solid rgba(237,232,224,.16);padding-top:28px;display:flex;flex-direction:column;gap:14px}
.steps .n{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.16em;color:var(--red)}
.steps h3{font-size:30px;font-weight:500}
.prog{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:6px 40px;align-items:baseline;padding:24px 0;border-top:1px solid rgba(237,232,224,.16)}
.prog:last-child{border-bottom:1px solid rgba(237,232,224,.16)}
.prog h3{font-size:28px;font-weight:500}
.prog p{margin:0;max-width:none;width:auto;height:auto;color:var(--dim)}
.demoh{font-size:clamp(44px,5.4vw,80px);line-height:1.02}
.masonry{columns:3 320px;column-gap:40px}
.mcard{break-inside:avoid;display:flex;flex-direction:column;gap:16px;margin:0 0 40px;padding:14px 14px 22px;border:1px solid rgba(237,232,224,.16);text-decoration:none;color:inherit;transition:border-color .4s}
.mcard:hover{border-color:rgba(237,232,224,.38)}
.mcard .mtxt{padding:0 4px}
.mcard .mthumb{border:0}
.mthumb{display:block;width:100%;overflow:hidden;border:1px solid rgba(237,232,224,.14);background:#0b0b0b;position:relative}
.mthumb img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.9);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.mthumb.vthumb{display:flex;align-items:center;justify-content:center}
.mcard:hover .mthumb img{transform:scale(1.03)}
.mcard:hover .mtitle,.mcard:focus-visible .mtitle{color:var(--red)}
.mcard:hover .play{border-color:var(--red)}
.mcard:focus-visible{outline:2px solid var(--red);outline-offset:6px}
.mtxt{display:flex;flex-direction:column;gap:8px}
.mtxt .lbl{font-size:14px}
.mtitle{font-family:'Cormorant Garamond',serif;font-size:26px;line-height:1.1;text-transform:uppercase;letter-spacing:.02em;font-variant-numeric:lining-nums;transition:color .3s}
.mlead{font-size:15px;line-height:1.6;color:var(--dim)}
.pframe{border:1px solid rgba(237,232,224,.16);padding:clamp(20px,2.6vw,36px);display:flex;flex-direction:column;gap:32px;min-width:0}
.pframe .body{display:flex;flex-direction:column;gap:22px}
.pframe>.head,.pframe>.body{flex:0 0 auto}
.block>.pframe{align-self:start}
.wip{margin:0;display:flex;align-items:center;gap:12px;font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:.2em;color:var(--dim);text-transform:uppercase}
.wipdot{width:7px;height:7px;border-radius:50%;background:var(--red);flex:0 0 auto;animation:wipp 2.4s ease-in-out infinite}
@keyframes wipp{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.wipdot{animation:none}}
.ext{display:inline-block;margin-top:8px;font-size:15px;font-weight:500;letter-spacing:.03em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:2px}.ext:hover{color:var(--red)}
.social{display:flex;align-items:center;gap:18px}
.social a{color:rgba(237,232,224,.55);display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;text-decoration:none;transition:color .3s}
.social a:hover,.social a:focus-visible{color:var(--red)}
.social .imdb{font-family:'Inter',sans-serif;font-size:12px;font-weight:500;letter-spacing:.04em;border:1.4px solid currentColor;border-radius:3px;padding:1px 4px;min-height:0}
.post-row .pthumb{display:none}
.thumb{aspect-ratio:4/3;background:#0b0b0b;border:1px solid rgba(237,232,224,.14);overflow:hidden;position:relative}
.thumb img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.9)}
.vthumb{display:flex;align-items:center;justify-content:center;background:#0b0b0b url(/img/hatter.jpg) center/cover}
.play{display:block;width:64px;height:64px;border:1px solid rgba(237,232,224,.7);border-radius:50%;position:relative}
.play::after{content:"";position:absolute;left:26px;top:20px;border-style:solid;border-width:12px 0 12px 18px;border-color:transparent transparent transparent var(--ink)}
.plink{text-decoration:none}.plink:hover{color:var(--red)}
.vid,.pimg{margin:0;display:flex;flex-direction:column;gap:10px}
.vid .vbtn{aspect-ratio:16/9;width:100%;background:#0b0b0b url(/img/hatter.jpg) center/cover;border:1px solid rgba(237,232,224,.2);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.vid .vbtn:hover .play,.vid .vbtn:focus-visible .play{border-color:var(--red);background:rgba(215,17,30,.25)}
.vid iframe{aspect-ratio:16/9;width:100%;border:0}
.pimg img{display:block;width:100%;height:auto;border:1px solid rgba(237,232,224,.2);filter:grayscale(1) contrast(1.05) brightness(.92)}
.vcap{font-size:13px;color:var(--mute)}
.note-big{margin:0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(26px,2.6vw,36px);line-height:1.3;color:var(--ink)}
.vid.vert{max-width:400px}.vrow{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:flex-start}.vrow .vid{flex:0 1 360px}.vtext{flex:1 1 240px;display:flex;flex-direction:column;gap:22px}.vid.vert .vbtn,.vid.vert iframe{aspect-ratio:9/16}

@media (min-width:1040px){.post-row{grid-template-rows:auto auto 1fr}.post-row .pthumb{display:block;grid-column:1;grid-row:1 / span 3;align-self:start}}

.ask{align-self:flex-end;width:100%;max-width:460px;margin-top:24px;display:flex;flex-direction:column;gap:10px}
.ask label{font-size:15px;color:var(--dim)}
.ask .row{display:flex;gap:10px}
.ask input[type=email]{flex:1 1 0;min-width:0;background:rgba(0,0,0,.45);border:1px solid rgba(237,232,224,.45);border-radius:2px;outline:0;color:var(--ink);font:inherit;font-size:16px;padding:9px 14px;min-height:44px;transition:border-color .4s}
.ask input[type=email]:focus{border-color:var(--red)}
.ask input::placeholder{color:rgba(237,232,224,.4)}
.ask button{flex:0 0 auto;background:transparent;border:1px solid var(--red);border-radius:2px;color:var(--ink);font:inherit;font-size:14px;font-weight:500;letter-spacing:.06em;padding:9px 20px;min-height:44px;cursor:pointer;transition:background .3s}
.ask button:hover,.ask button:focus-visible{background:var(--red);outline:0}
.ask button:disabled,.ask input:disabled{opacity:.45;cursor:default}
.ask button:disabled:hover{background:transparent}
.ask .note{margin:0;font-size:12px;line-height:1.5;color:var(--mute)}
.ask .note a{color:var(--mute)}
.ask .msg{margin:0;font-size:14px}.ask .msg:empty{display:none}.ask .msg.err{color:#ff7a7a}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}


/* jogi oldalak */
.legal{max-width:820px;padding-top:56px;padding-bottom:80px}
.legal h1{font-size:clamp(34px,6vw,54px);line-height:1.05;margin:0 0 12px}
.legal h2{font-size:25px;font-weight:500;line-height:1.2;margin:40px 0 10px}
.legal h3{font-family:'Inter',sans-serif;font-weight:500;font-size:16px;margin:24px 0 6px}
.legal p,.legal li,.legal td{color:rgba(237,232,224,.82)}
.legal ul{padding-left:20px}.legal li{margin:0 0 6px}
.legal b,.legal strong{font-weight:500;color:var(--ink)}
.legal .meta{font-size:14px;color:var(--mute);margin:0 0 28px}
.legal .tbl{width:100%;overflow-x:auto}
.legal table{width:100%;border-collapse:collapse;font-size:15px;margin:8px 0 12px}
.legal th,.legal td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--line)}
.legal th{font-weight:500;color:rgba(237,232,224,.6);font-size:13px;letter-spacing:.04em;white-space:nowrap;width:34%}

/* a főoldal tipográfiája mindenhol: Cormorant, nagybetű */
.pt{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:40px;line-height:.95;letter-spacing:-.01em;text-transform:uppercase;margin:0}
.kick,.lbl{font-family:'Cormorant Garamond',serif;font-size:20px;letter-spacing:.24em;color:rgba(237,232,224,.62);text-transform:uppercase}
.lbl{font-size:17px}
h2:not(.slogan),h3{text-transform:uppercase}
.block h2:not(.slogan){font-size:clamp(30px,3vw,40px);letter-spacing:.02em;line-height:1.05}
.prog h3,.steps h3{font-size:22px;letter-spacing:.04em}
.slogan{text-transform:none}
h1,h2,h3,.serif,.pt,.kick,.lbl,.subnav a,.menu a{font-variant-numeric:lining-nums}
@media (min-width:1040px){
 .block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:56px;row-gap:32px}
 .block>.head,.block>.body,.block>.pframe{grid-column:2}
}
@media (max-width:860px){
 .doors{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
 .wrap{padding-left:20px;padding-right:20px}
 .doors{grid-template-columns:1fr}
 .menu{gap:0 16px}.menu>a,.menu .dd>a{font-size:18px}
 .top .wrap{min-height:0;padding-top:12px;padding-bottom:8px}
 .block{padding-top:72px;padding-bottom:72px}
 .prog{grid-template-columns:1fr}
 .stmt{padding:90px 20px}
 .top{position:static}
 .hero{padding-top:72px}
 [id]{scroll-margin-top:16px}
}
