*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#180d28;color:#fff;font-family:Arial,sans-serif}.gate{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden;padding:32px 20px 22px;background:linear-gradient(100deg,rgba(23,7,39,.9),rgba(35,9,44,.56),rgba(23,7,39,.8)),url('/static/carnaval-sfeer.jpg') center/cover no-repeat}.gate:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 20%,#ffbf3820,transparent 55%);pointer-events:none}.eyebrow,.region{font-size:11px;letter-spacing:3px;font-weight:800;color:#ffdb77}.brand{display:block;text-decoration:none;color:#fff;font-weight:950;font-size:clamp(24px,4vw,42px);letter-spacing:-1.5px;text-shadow:0 3px 20px #000}.brand span{font-size:.45em;color:#ffd05c}.brand em{display:block;font-style:normal;font-size:.4em;letter-spacing:14px;color:#ffd05c}.invitation{margin:auto;max-width:720px;padding:32px 0 20px}.ribbon{display:inline-block;background:#ed3264;padding:9px 18px;border-radius:30px;font-size:11px;font-weight:900;letter-spacing:2px;transform:rotate(-2deg)}h1{font-size:clamp(44px,7vw,82px);line-height:1;letter-spacing:-3px;margin:22px 0;text-shadow:0 5px 30px #0008}h1 em{font-style:normal;color:#ffd362}.intro{font-size:clamp(14px,2vw,18px);line-height:1.65;color:#f6edff}.countdown{display:flex;justify-content:center;align-items:center;gap:12px;margin:28px 0}.countdown div{min-width:80px;padding:13px 10px;border:1px solid #ffe3a24d;border-radius:14px;background:#ffffff0c;backdrop-filter:blur(10px)}.countdown strong{display:block;font-size:36px;color:#ffe6a3;font-variant-numeric:tabular-nums}.countdown span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#dfd2e7}.countdown b{color:#ffd362}form{max-width:410px;margin:0 auto}label{display:block;font-size:13px;margin-bottom:12px}.entry{display:flex;gap:9px}input{width:155px;min-width:0;background:#fff;color:#251133;border:2px solid transparent;border-radius:10px;padding:14px;font-size:22px;letter-spacing:6px;text-align:center}input:focus{outline:3px solid #f6bc40}button{flex:1;background:#ffd05a;border:0;border-radius:10px;font-size:14px;font-weight:900;padding:14px;color:#2a1434;cursor:pointer}button:hover{background:#ffe29a}.error{font-size:13px;color:#fff0d0;background:#a21839;padding:12px;border-radius:8px}.region{margin-top:25px;font-size:10px}footer{font-size:12px;color:#d4c2dc;line-height:1.6}.sparkles{position:absolute;inset:12px 0 auto;font-size:24px;letter-spacing:5vw;color:#ffd05a66;pointer-events:none}@media(max-width:480px){.gate{padding:30px 16px 18px;background-position:center}.invitation{padding-top:22px}h1{letter-spacing:-2px}.countdown{gap:6px}.countdown div{min-width:62px;padding:10px 5px}.countdown strong{font-size:29px}.countdown span{font-size:8px}.entry input{width:132px}.eyebrow{font-size:8px;letter-spacing:2px}.ribbon{font-size:9px}.intro{font-size:14px}}@media(max-height:740px) and (min-width:600px){.gate{padding-top:18px}.invitation{padding-top:12px}h1{font-size:54px;margin:15px 0}.countdown{margin:18px 0}.intro{margin:8px 0}.ribbon{margin:10px 0}}
/* Cinematic reveal: independent of the public website layout. */
html,body{background:#080706}.gate{background:radial-gradient(ellipse at 50% 0%,#b67a2330,transparent 55%),linear-gradient(90deg,#050504ed,#151008ba,#050504ed),url('/static/gate-cinematic.png') center/cover no-repeat;background-color:#0a0806}.gate:before{content:'';position:absolute;inset:-20%;z-index:-1;background:conic-gradient(from 165deg at 50% 0%,transparent 0deg,#eab75616 10deg,transparent 18deg,#ffd17c12 25deg,transparent 35deg);filter:blur(12px);animation:light 12s ease-in-out infinite alternate}.gate:after{background:radial-gradient(ellipse at center,transparent 20%,#0009 100%)}.brand{color:#e8d7b4;letter-spacing:2px}.brand em,.brand span{color:#bc9554}.eyebrow,.region{color:#bba77d}.ribbon{background:transparent;color:#d7b56b;border:1px solid #b38b443d;border-radius:2px;transform:none;letter-spacing:4px;padding:10px 18px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1.1;letter-spacing:-1px}h1 em{color:#e2c38a;font-style:italic}.intro{color:#b4a99a;font-size:14px}.countdown{gap:20px;margin:34px 0}.countdown div{border:0;background:transparent;backdrop-filter:none;padding:0;min-width:102px}.countdown strong{font-family:Georgia,serif;font-weight:400;font-size:clamp(52px,8vw,92px);color:#efdcb6;text-shadow:0 0 35px #ddab3f28}.countdown span{display:block;margin-top:10px;letter-spacing:3px;color:#b09a72;font-size:9px}.countdown b{font-weight:300;color:#77603b;font-size:26px}label{color:#ab9b80;font-size:12px}input{background:#ffffff08;border:1px solid #a2814344;color:#f3dfb7;border-radius:3px;font-size:18px}button{background:#b99a5d1a;border:1px solid #a2814355;color:#e0c994;border-radius:3px;font-size:12px}button:hover{background:#b99a5d40}footer{color:#796f61;font-size:11px}.sparkles{color:#bb873b50;animation:embers 16s linear infinite;font-size:12px;letter-spacing:12vw;top:60%;text-shadow:3vw 100px #b2823d,16vw -110px #d8b566,32vw 180px #ab833d}.error{background:#512a1e;color:#f4d9b5}@keyframes embers{from{transform:translateY(20vh);opacity:0}20%,80%{opacity:.8}to{transform:translateY(-70vh);opacity:0}}@keyframes light{to{transform:rotate(7deg);opacity:.5}}@media(max-width:480px){.countdown{gap:9px;margin:28px 0}.countdown div{min-width:62px}.countdown strong{font-size:52px}.countdown span{font-size:7px;letter-spacing:1px}.countdown b{font-size:17px}.ribbon{letter-spacing:2px}h1{font-size:43px}.intro{font-size:12px}}


@media(max-width:760px){.gate{width:100%;max-width:100%;padding-left:16px;padding-right:16px;background:#090706}.gate:after{background:linear-gradient(to bottom,#08060618 0%,#09070600 100px,#090706 220px),url('/static/gate-cinematic.png') center top/100% auto no-repeat;opacity:1}.gate header{width:100%;position:relative}.brand{font-size:23px;letter-spacing:0}.brand em{font-size:11px;letter-spacing:10px}.eyebrow{font-size:7px;letter-spacing:1.5px}.invitation{width:100%;min-width:0}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:5px;margin:26px 0}.countdown>b{display:none}.countdown div{min-width:0;width:100%;padding:0}.countdown strong{font-size:clamp(32px,11vw,45px);line-height:1.1}.countdown span{font-size:8px;letter-spacing:.3px;white-space:nowrap;margin-top:8px}form{width:100%;max-width:100%;min-width:0}.entry{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:8px;width:100%;min-width:0}.entry input{width:100%;min-width:0;max-width:100%;padding:12px 8px;letter-spacing:5px}.entry button{min-width:0;padding:12px 5px;white-space:nowrap}h1{font-size:clamp(34px,11vw,44px);letter-spacing:-1px}.ribbon{font-size:8px;letter-spacing:1px;padding:9px 8px}.intro{font-size:11px}.region{font-size:8px;letter-spacing:1.5px}.sparkles{width:100%;letter-spacing:10vw}}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gate .invitation{width:min(720px,100%);margin:auto;padding:30px 0}.gate .countdown{margin:30px 0 36px}.gate form{opacity:.8}.gate form:focus-within,.gate form:hover{opacity:1}@media(max-width:760px){.gate .invitation{padding-top:100px}.gate .countdown{margin:24px 0 32px}}

@media(max-width:760px){.gate:after{background-image:linear-gradient(to bottom,#09070605 0,#09070600 calc(100vw * .40),#090706 calc(100vw * .62)),url('/static/gate-cinematic.png');background-size:100% 100%,100% auto;background-position:center top;background-repeat:no-repeat;opacity:1}.gate .invitation{padding-top:clamp(100px,28vw,190px)}}

/* Eigen filmisch staand beeld, als één volledig mobiel decor. */
@media(max-width:760px){.gate{min-height:100svh;padding:24px 18px;background:#10080c}.gate:after{inset:0;background-image:linear-gradient(180deg,#09050910 0%,#09050924 40%,#09050936 100%),url('/static/gate-cinematic-mobile.png');background-size:100% 100%,cover;background-position:center,center;background-repeat:no-repeat;opacity:1}.gate:before{opacity:.45}.gate .invitation{padding:0!important;margin:auto;width:min(420px,100%);transform:translateY(-1svh)}.gate h1{font-size:clamp(34px,10vw,45px);line-height:1.12;margin:0 0 27px;text-shadow:0 2px 12px #000}.gate .countdown{margin:0 0 30px;gap:5px}.gate .countdown strong{font-size:clamp(34px,10.5vw,46px);text-shadow:0 2px 12px #000}.gate .countdown span{color:#dcc79e;text-shadow:0 1px 4px #000}.gate form{opacity:1;background:#10080c88;backdrop-filter:blur(6px);border:1px solid #b89a5b55;border-radius:8px;padding:10px;box-shadow:0 10px 35px #0004}.gate .entry{grid-template-columns:minmax(0,1fr) 118px}.gate .entry input{background:#0c080b99}.gate .entry button{background:linear-gradient(135deg,#6e4d26bb,#25170dbb);color:#ffe2a5}.gate .error{margin-bottom:0}}

.gate-sound{position:fixed;right:18px;bottom:18px;width:40px;height:40px;padding:9px;z-index:10;display:grid;place-items:center;color:#d4b979;background:#10080ca6;border:1px solid #b89a5b66;border-radius:50%;backdrop-filter:blur(8px);opacity:.75}.gate-sound[aria-pressed=true]{opacity:1;color:#ffe1a3;box-shadow:0 0 18px #dca64125}.gate-sound:focus-visible{outline:2px solid #ffe1a3;outline-offset:3px}

@media(min-width:761px){.gate{background-image:linear-gradient(90deg,#0503052e,#0a040918,#0503052e),url('/static/gate-cinematic.png');background-size:100% 100%,cover;background-position:center;background-repeat:no-repeat}.gate:after{background:radial-gradient(ellipse at center,transparent 35%,#0003 100%)}.gate:before{opacity:.35}.gate h1,.gate .countdown strong{text-shadow:0 3px 15px #000a}}

.entry button{position:relative;overflow:hidden;isolation:isolate;box-shadow:inset 0 1px 0 #ffe4a54d,inset 0 -1px 0 #08050766}.entry button::after{content:'';position:absolute;top:-25%;bottom:-25%;left:-70%;width:45%;pointer-events:none;background:linear-gradient(105deg,transparent,#fff6,transparent);transform:translateX(0) skewX(-17deg);animation:gate-button-sheen 18s ease-in-out infinite}@keyframes gate-button-sheen{0%,75%{transform:translateX(0) skewX(-17deg)}85%,100%{transform:translateX(430%) skewX(-17deg)}}

.gate-visitor{margin:18px 0 0;color:#d6b77e;font-size:11px;letter-spacing:.5px;text-shadow:0 2px 5px #000}.gate-visitor strong{font-weight:600;font-variant-numeric:tabular-nums}

.gate-apply{width:min(410px,100%);margin:21px auto 0}.gate-apply>a{position:relative;display:block;padding:12px 15px;border:1px solid #c3a15b88;border-radius:5px;background:linear-gradient(135deg,#9c713433,#3f211d66);color:#f8dfaa;font-size:12px;font-weight:700;line-height:1.5;text-decoration:none;box-shadow:inset 0 1px 0 #fff2,0 4px 16px #0003;transition:background .2s,border-color .2s}.gate-apply>a:hover{background:#9c713455;border-color:#ffe3a0}.gate-apply>a:focus-visible{outline:2px solid #ffe3a0;outline-offset:4px}.gate-apply>p{color:#d0bc94;font-size:10px;line-height:1.5;margin:9px 0 0;text-shadow:0 1px 4px #000}@media(max-width:760px){.gate-apply{margin-top:17px}.gate-apply>a{font-size:11px;padding:10px 12px}.gate-apply>p{font-size:9px}.gate .gate-visitor{margin-top:15px}}

/* Keep the complete gate usable on phones held horizontally. */
@media (orientation:landscape) and (max-height:500px){.gate{min-height:100svh;padding:12px 20px}.gate .invitation{padding:0;width:min(600px,100%);margin:auto}.gate h1{font-size:32px;line-height:1.03;margin:8px 0 12px}.gate .countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px auto 16px;width:min(430px,100%)}.gate .countdown>b{display:none}.gate .countdown div{min-width:0;padding:0}.gate .countdown strong{font-size:42px;line-height:1}.gate .countdown span{font-size:8px;letter-spacing:1px;margin-top:5px}.gate form{width:min(360px,100%)}.gate .entry{padding:6px;gap:8px}.gate .entry input{padding:8px;font-size:17px;height:39px}.gate .entry button{padding:8px;font-size:11px;min-height:39px}.gate .gate-apply{width:min(360px,100%);margin-top:12px}.gate .gate-apply>a{font-size:10px;padding:8px 10px}.gate .gate-apply>p{font-size:9px;margin-top:5px}.gate .gate-visitor{font-size:10px;margin-top:9px}.gate .error{font-size:11px;padding:7px;margin:6px 0}.gate-sound{width:32px;height:32px;padding:6px;bottom:10px;right:10px}}
