/* Regissøren: the website. The app's own look: a party at night, Shrikhand and Bricolage, one colour per game. */
@font-face{font-family:Shrikhand;src:url(fonts/shrikhand.woff) format("woff");font-display:swap}
@font-face{font-family:Bricolage;src:url(fonts/bricolage.woff) format("woff");font-weight:400 800;font-stretch:75% 100%;font-display:swap}

:root{
  color-scheme:dark;
  --natt:#1b1446;--natt2:#261c5c;--natt3:#34287a;--krem:#fff6e5;--krem-dim:rgba(255,246,229,.72);--line:rgba(255,246,229,.12);
  --rosa:#ff4f9a;--sol:#ffd23f;--hav:#2f6bff;--gress:#2bd47d;--appelsin:#ff7a2f;--lilla:#8b5cf6;--rod:#ff3b3b;--turkis:#12c2c2;--gull:#ffc93c;
  --display:Shrikhand,Georgia,serif;--text:Bricolage,-apple-system,system-ui,sans-serif;
  --spring:cubic-bezier(.2,1.25,.32,1);--out:cubic-bezier(.16,1,.3,1);--in-out:cubic-bezier(.65,0,.35,1);
  --r:26px;--wrap:1160px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--natt);color:var(--krem);font:18px/1.6 var(--text);overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--sol);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.14em}
:focus-visible{outline:3px solid var(--sol);outline-offset:3px;border-radius:8px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.06;margin:0;text-wrap:balance}
h2{font-size:clamp(34px,6vw,58px)}
h3{font-size:24px}
p{margin:0 0 1em;text-wrap:pretty}
p:last-child{margin-bottom:0}
ul,ol{margin:0}
.y{color:var(--sol)}.p{color:var(--rosa)}.t{color:var(--turkis)}.g{color:var(--gress)}
.fine{font-size:15px;color:var(--krem-dim)}
.center{text-align:center}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:16px;top:12px;z-index:99;background:var(--sol);color:var(--natt);padding:8px 16px;border-radius:99px;font-weight:700}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
section{position:relative;padding:104px 20px}
.wrap{max-width:var(--wrap);margin:0 auto}
.head{max-width:760px;margin:0 auto 44px;text-align:center}
.head p{color:var(--krem-dim);font-size:20px;margin-top:16px}
.tilt{display:inline-block;transform:rotate(-2deg)}

/* tones: the app's scene colours and the ink that reads on them */
[data-tone]{--b-ink:var(--natt);--b-paper:var(--krem)}
[data-tone=rosa]{--bg:var(--rosa);--ink:#2a0a2e;--b1:var(--rosa);--b2:var(--sol)}
[data-tone=sol]{--bg:var(--sol);--ink:var(--natt);--b1:var(--sol);--b2:var(--rosa)}
[data-tone=hav]{--bg:var(--hav);--ink:var(--krem);--b1:var(--hav);--b2:var(--sol)}
[data-tone=gress]{--bg:var(--gress);--ink:#0c2a1c;--b1:var(--gress);--b2:var(--rosa)}
[data-tone=appelsin]{--bg:var(--appelsin);--ink:#2a0e05;--b1:var(--appelsin);--b2:var(--sol)}
[data-tone=lilla]{--bg:var(--lilla);--ink:var(--krem);--b1:var(--lilla);--b2:var(--sol)}
[data-tone=rod]{--bg:var(--rod);--ink:var(--krem);--b1:var(--rod);--b2:var(--sol)}
[data-tone=turkis]{--bg:var(--turkis);--ink:#062a2e;--b1:var(--turkis);--b2:var(--rosa)}
[data-tone=natt]{--bg:var(--natt3);--ink:var(--krem);--b1:var(--sol);--b2:var(--rosa)}
[data-tone=gull]{--bg:var(--gull);--ink:var(--natt);--b1:var(--sol);--b2:var(--rosa)}

/* stickers: the app's scene badges on cream paper, with their idle life */
.sticker{display:inline-grid;place-items:center;flex:none;width:64px;height:64px;border-radius:30%;background:var(--krem);box-shadow:0 4px 0 rgba(0,0,0,.22);transform:rotate(-7deg)}
.sticker svg{width:74%;height:74%;overflow:visible}
.sticker.sm{width:46px;height:46px}
.sticker.lg{width:84px;height:84px}
.b-wobble{transform-origin:21px 29px;animation:wobble 1.6s var(--in-out) infinite}
.b-press{transform-origin:24px 40px;animation:press 1.8s var(--in-out) infinite}
.b-spark{transform-origin:42px 8px;animation:spark .5s steps(2) infinite}
.b-point{animation:point 1.4s var(--in-out) infinite}
.b-wave{transform-origin:24px 42px;animation:wave 2.2s var(--in-out) infinite}
.b-flash{animation:flash 2s steps(1) infinite}
.b-needle{transform-origin:24px 35px;animation:needle 3s var(--in-out) infinite alternate}
.b-hand{transform-origin:24px 27px;animation:tick 4s steps(8) infinite}
.b-seal{transform-origin:24px 27.5px;animation:pulse 1.8s var(--in-out) infinite}
.b-clink{animation:clink 2.4s var(--in-out) infinite;transform-origin:24px 30px}
.b-spin{transform-origin:24px 24px;animation:tick 8s linear infinite}
.b-clap{transform-origin:6px 19px;animation:clap 2.6s var(--in-out) infinite}
.b-twinkle{transform-origin:23px 25px;animation:twinkle 2.4s var(--in-out) infinite}
.b-shine{animation:shine 2.6s var(--in-out) infinite;transform-origin:24px 30px}
.b-dots{animation:dots 1.2s steps(3) infinite}
.b-tilt{transform-origin:24px 20px;animation:tilt 2.6s var(--in-out) infinite}
@keyframes wobble{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes press{0%,60%,100%{transform:none}70%{transform:scaleY(.88)}80%{transform:scaleY(1.03)}}
@keyframes spark{0%{opacity:1;transform:scale(1)}100%{opacity:.6;transform:scale(.7)}}
@keyframes point{0%,100%{transform:translateX(0)}50%{transform:translateX(2.5px)}}
@keyframes wave{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(-8deg)}80%{transform:rotate(8deg)}90%{transform:rotate(-4deg)}}
@keyframes flash{0%,92%{opacity:1}94%{opacity:.3}96%{opacity:1}98%{opacity:.4}}
@keyframes needle{from{transform:rotate(-70deg)}to{transform:rotate(10deg)}}
@keyframes tick{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes clink{0%,70%,100%{transform:scale(1)}80%{transform:scale(1.08) rotate(-3deg)}90%{transform:scale(1.04) rotate(2deg)}}
@keyframes clap{0%,70%,100%{transform:rotate(0)}78%{transform:rotate(-16deg)}86%{transform:rotate(0)}}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.08) rotate(8deg)}}
@keyframes shine{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@keyframes dots{0%{opacity:.35}50%{opacity:1}100%{opacity:.35}}
@keyframes tilt{0%,55%,100%{transform:rotate(0)}70%{transform:rotate(-9deg)}85%{transform:rotate(7deg)}}

/* top bar */
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(20px,env(safe-area-inset-left));
  background:rgba(27,20,70,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--krem);font-family:var(--display);font-size:22px}
.brand .sticker{width:40px;height:40px;box-shadow:0 3px 0 rgba(0,0,0,.25)}
.top nav{display:flex;align-items:center;gap:22px;font-weight:700;font-size:16px}
.top nav a{color:var(--krem);text-decoration:none;opacity:.85}
.top nav a:hover,.top nav a[aria-current]{opacity:1;color:var(--sol)}
.nav-cta{white-space:nowrap;background:var(--sol);color:var(--natt)!important;opacity:1!important;padding:8px 18px;border-radius:99px;box-shadow:0 4px 0 rgba(0,0,0,.25);transition:transform .2s var(--spring)}
.nav-cta:hover{transform:translateY(-2px) rotate(-2deg)}
.menu{display:none;position:relative}
.menu summary{white-space:nowrap;list-style:none;cursor:pointer;font-weight:700;font-size:16px;padding:8px 14px;border-radius:99px;border:2px solid var(--line)}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--natt3)}
.menu-panel{position:absolute;right:0;top:calc(100% + 10px);min-width:230px;background:var(--natt2);border-radius:20px;padding:10px;box-shadow:0 24px 50px rgba(4,2,18,.6),inset 0 0 0 1px var(--line);display:grid}
.menu-panel a{color:var(--krem);text-decoration:none;font-weight:700;padding:10px 14px;border-radius:12px}
.menu-panel a:hover{background:var(--natt3)}
@media(max-width:860px){.top nav .nl{display:none}.menu{display:block}.top nav{gap:8px}}
@media(max-width:400px){.brand{font-size:19px;gap:8px}.brand .sticker{width:34px;height:34px}.nav-cta{padding:8px 14px}.menu summary{padding:7px 12px}}
@media(max-width:360px){.brand span{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:800 17px/1 var(--text);padding:15px 24px;border-radius:99px;border:0;cursor:pointer;
  background:var(--sol);color:var(--natt);text-decoration:none;box-shadow:0 5px 0 rgba(0,0,0,.3);transition:transform .2s var(--spring),box-shadow .2s}
.btn:hover{transform:translateY(-2px) rotate(-1.5deg);box-shadow:0 7px 0 rgba(0,0,0,.3)}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.3)}
.btn svg{width:20px;height:20px}
.btn.ghost{background:transparent;color:var(--krem);box-shadow:inset 0 0 0 2px var(--line)}
.stores{display:flex;flex-wrap:wrap;gap:14px}
.store{display:inline-flex;align-items:center;gap:12px;min-width:200px;padding:12px 22px 12px 18px;border-radius:16px;background:#000;color:#fff;text-decoration:none;
  border:2px solid rgba(255,246,229,.22);transition:transform .2s var(--spring),box-shadow .2s;box-shadow:0 6px 0 rgba(0,0,0,.35)}
.store:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 10px 0 rgba(0,0,0,.35)}
.store svg{width:30px;height:30px;flex:none}
.store small{display:block;font-size:12px;opacity:.8;line-height:1.1}
.store b{display:block;font-size:20px;line-height:1.15}
.store.soon{opacity:.8;cursor:default}
.store.soon:hover{transform:none}

/* hero */
.hero{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:40px;max-width:1240px;margin:0 auto;min-height:calc(100svh - 62px);padding-top:56px;padding-bottom:80px}
.hero::before{content:"";position:absolute;inset:-10% -30%;z-index:-1;background:radial-gradient(ellipse 50% 45% at 70% 50%,rgba(139,92,246,.45),transparent 70%),radial-gradient(ellipse 40% 40% at 20% 20%,rgba(255,79,154,.18),transparent 70%)}
.clapper{position:relative;display:inline-block;margin-bottom:16px}
.clapper .sticker{width:124px;height:124px;border-radius:30%;animation:drop 1s var(--spring) both}
.clapper .b-clap{animation:clap-open 1.15s var(--spring) .35s both,clap 2.6s var(--in-out) 3.4s infinite}
.klapp{position:absolute;left:96px;top:-26px;font-family:var(--display);font-size:34px;color:var(--sol);white-space:nowrap;transform:rotate(-12deg) scale(0);transform-origin:left bottom;
  text-shadow:3px 3px 0 var(--rosa),-1px -1px 0 var(--natt);animation:klapp 1.9s var(--spring) .95s both;pointer-events:none}
@keyframes clap-open{0%{transform:rotate(0)}38%{transform:rotate(-30deg)}52%{transform:rotate(-30deg)}62%{transform:rotate(3deg)}70%,100%{transform:rotate(0)}}
@keyframes klapp{0%{transform:rotate(-12deg) scale(0);opacity:1}18%{transform:rotate(-12deg) scale(1.2)}30%{transform:rotate(-8deg) scale(1)}78%{opacity:1;transform:rotate(-8deg) scale(1)}100%{opacity:0;transform:rotate(-8deg) scale(1.05) translateY(-10px)}}
@keyframes drop{from{opacity:0;transform:translateY(-40px) rotate(-30deg) scale(.5)}}
.hero h1{font-size:clamp(48px,7.4vw,96px);transform:rotate(-3deg);transform-origin:left;margin:4px 0 26px}
.hero h1 span{display:inline-block;animation:rise .8s var(--spring) both}
.hero h1 span:nth-child(2){animation-delay:.12s}
.hero h1 span:nth-child(3){animation-delay:.24s;text-shadow:.04em .05em 0 rgba(0,0,0,.25)}
.lead{font-size:21px;max-width:580px;color:rgba(255,246,229,.9);margin:0 0 28px;animation:rise .8s var(--spring) .36s both}
.hero .stores{animation:rise .8s var(--spring) .48s both}
.hero .fine{margin-top:18px;animation:rise .8s var(--spring) .56s both}
@keyframes rise{from{opacity:0;transform:translateY(30px)}}
.hero-phones{position:relative;height:640px}
.phone{position:absolute;margin:0;padding:9px;border-radius:44px;background:linear-gradient(150deg,#3a3466,#15112f 22%,#0b0820 60%,#1d1840);box-shadow:0 40px 80px rgba(4,2,18,.6),inset 0 0 0 2px rgba(255,246,229,.12)}
.phone img{border-radius:36px;width:100%;height:auto}
.p-front{width:290px;left:8%;top:30px;transform:rotate(-7deg);animation:float 6s ease-in-out infinite;z-index:2}
.p-back{width:255px;right:2%;top:110px;transform:rotate(8deg);animation:float 7s ease-in-out -2s infinite}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -14px}}
.confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.shapes{position:absolute;inset:0;pointer-events:none;z-index:-1}
.s{position:absolute;display:block}
.s-circle{width:150px;height:150px;border-radius:50%;background:var(--rosa);right:-80px;top:60%;animation:drift 14s ease-in-out infinite alternate}
.s-star{width:110px;height:110px;background:var(--sol);clip-path:polygon(50% 0,62% 34%,98% 38%,70% 59%,79% 96%,50% 76%,21% 96%,30% 59%,2% 38%,38% 34%);right:4%;top:4%;animation:tick 22s linear infinite}
.s-plus{width:64px;height:64px;background:var(--gress);clip-path:polygon(38% 0,62% 0,62% 38%,100% 38%,100% 62%,62% 62%,62% 100%,38% 100%,38% 62%,0 62%,0 38%,38% 38%);right:46%;bottom:6%;animation:drift 11s ease-in-out infinite alternate-reverse}
.s-sq{width:44px;height:44px;background:var(--lilla);border-radius:6px;left:47%;top:10%;animation:drift 9s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(30px,-40px) rotate(40deg)}}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;text-align:center;min-height:auto;padding-top:40px}
  .hero h1{transform-origin:center}
  .lead{margin-inline:auto}
  .clapper{margin-inline:auto}
  .klapp{left:auto;right:-64px}
  .hero .stores{justify-content:center}
  .hero-phones{height:500px;max-width:420px;margin:0 auto;width:100%}
  .p-front{width:225px;left:4%}.p-back{width:200px}
  .s-circle{top:auto;bottom:4%;right:auto;left:-60px;width:110px;height:110px}
  .s-sq{left:6%;right:auto;top:1%;width:34px;height:34px}
}

/* tapes */
.tapes{position:relative;height:190px;margin:-30px 0 0;overflow:hidden;pointer-events:none}
.tape{position:absolute;left:-5%;width:110%;padding:18px 0;overflow:hidden;box-shadow:0 10px 30px rgba(4,2,18,.35)}
.tape.t1{top:28px;background:var(--sol);color:var(--natt);transform:rotate(-3deg)}
.tape.t2{top:96px;background:var(--rosa);color:#2a0a2e;transform:rotate(2.2deg)}
.run{display:flex;gap:38px;width:max-content;font-family:var(--display);font-size:28px;white-space:nowrap;animation:run 60s linear infinite}
.t2 .run{animation-direction:reverse;animation-duration:70s}
.run span::after{content:"\2605";margin-left:38px;color:var(--rosa)}
.t2 .run span::after{color:var(--sol)}
@keyframes run{to{transform:translateX(-50%)}}

/* the show */
.acts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:var(--wrap);margin:0 auto}
.act{background:var(--natt2);border-radius:var(--r);padding:30px;box-shadow:inset 0 0 0 2px var(--line);position:relative}
.act:nth-child(1){transform:rotate(-1.5deg)}.act:nth-child(3){transform:rotate(1.5deg)}
.act .sticker{position:absolute;right:18px;top:-24px}
.act-no{display:inline-block;background:var(--rosa);color:#2a0a2e;font-weight:800;padding:4px 14px;border-radius:99px;font-size:14px;margin-bottom:14px}
.act:nth-child(2) .act-no{background:var(--sol);color:var(--natt)}.act:nth-child(3) .act-no{background:var(--gress);color:#0c2a1c}
.act h3{font-size:30px;margin-bottom:10px}
.act p{color:var(--krem-dim)}
.krydder{max-width:var(--wrap);margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.krydd{display:flex;gap:16px;align-items:center;background:rgba(255,246,229,.04);border-radius:20px;padding:16px 18px;box-shadow:inset 0 0 0 1px var(--line)}
.krydd b{display:block;font-size:18px}
.krydd span{display:block;font-size:15px;color:var(--krem-dim);line-height:1.45}
@media(max-width:900px){.acts,.krydder{grid-template-columns:1fr}.act{transform:none!important}}
@media(min-width:600px) and (max-width:900px){.krydder{grid-template-columns:1fr 1fr}}

/* try a card */
.deck-box{max-width:980px;margin:0 auto 72px;display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center}
.deck-box h3{font-size:clamp(30px,4vw,42px);margin-bottom:14px}
.deck-box p{color:var(--krem-dim)}
.deck-box .pcard p{color:inherit}
.deck-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.deck-tabs button{font:700 15px/1 var(--text);padding:10px 16px;border-radius:99px;border:0;cursor:pointer;color:var(--krem);background:rgba(255,246,229,.06);box-shadow:inset 0 0 0 2px var(--line);transition:transform .2s var(--spring)}
.deck-tabs button:hover{transform:translateY(-2px)}
.deck-tabs button[aria-selected=true]{background:var(--krem);color:var(--natt);box-shadow:none}
.deck{position:relative;perspective:1200px;min-height:360px}
.deck::before,.deck::after{content:"";position:absolute;inset:0;border-radius:30px;background:var(--bg);opacity:.35;transform:rotate(4deg) translate(10px,8px)}
.deck::after{opacity:.6;transform:rotate(-3deg) translate(-6px,4px)}
.pcard{position:relative;z-index:1;min-height:360px;border-radius:30px;padding:28px;background:var(--bg);color:var(--ink);box-shadow:0 30px 60px rgba(4,2,18,.45);display:flex;flex-direction:column;transform-origin:50% 50%;transition:background .3s}
.pcard.out{animation:flipout .28s ease-in both}.pcard.in{animation:flipin .5s var(--spring) both}
@keyframes flipout{to{transform:rotateY(90deg) scale(.96)}}
@keyframes flipin{from{transform:rotateY(-90deg) scale(.96)}to{transform:none}}
.pc-head{display:flex;align-items:center;gap:14px;font-family:var(--display);font-size:24px}
.pc-lead{margin:auto 0 6px;font-weight:600;opacity:.8;font-size:18px}
.pc-text{font-weight:800;font-size:clamp(26px,3.2vw,34px);line-height:1.12;margin:0 0 18px;letter-spacing:-.01em}
.pc-or{font-family:var(--display);font-size:20px;opacity:.8;margin:2px 0 6px}
.pc-hint{font-size:15px;font-weight:600;background:rgba(0,0,0,.1);border-radius:14px;padding:10px 14px;margin:0}
.deck-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(max-width:860px){.deck-box{grid-template-columns:1fr;gap:26px}.deck,.pcard{min-height:330px}}

/* the games */
.group{max-width:var(--wrap);margin:0 auto 56px}
.group-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.group-head h3{font-size:clamp(28px,3.6vw,38px)}
.group-head p{margin:0;color:var(--krem-dim)}
.games{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.game{background:var(--bg);color:var(--ink);border-radius:24px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:10px;position:relative;
  box-shadow:0 8px 0 rgba(0,0,0,.18);transition:transform .25s var(--spring),box-shadow .25s}
.game:hover{transform:translateY(-6px) rotate(-1.2deg);box-shadow:0 14px 0 rgba(0,0,0,.18)}
.game:nth-child(even):hover{transform:translateY(-6px) rotate(1.2deg)}
.game:hover .sticker{animation:jiggle .5s var(--spring)}
@keyframes jiggle{30%{transform:rotate(-16deg) scale(1.1)}60%{transform:rotate(4deg)}}
.game-top{display:flex;align-items:center;gap:14px}
.game-top .sticker{width:54px;height:54px}
.game h4{font-family:var(--display);font-weight:400;font-size:clamp(19px,5.4vw,24px);line-height:1.08;margin:0;overflow-wrap:break-word}
.game p{margin:0;font-size:16px;line-height:1.5}
.game .meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px;padding-top:8px}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;padding:5px 10px;border-radius:99px;background:rgba(0,0,0,.12)}
.tag svg{width:15px;height:15px}
.game a{color:inherit;font-weight:800;font-size:15px}
.game a::after{content:"";position:absolute;inset:0;border-radius:24px}
.paid .game{box-shadow:0 8px 0 rgba(0,0,0,.18),inset 0 0 0 3px rgba(255,246,229,.0)}
.pill{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14px;padding:6px 14px;border-radius:99px;background:rgba(255,246,229,.08);box-shadow:inset 0 0 0 2px var(--line)}
.pill svg{width:16px;height:16px;color:var(--sol)}

/* film strip */
.film{padding:90px 0 100px;overflow:hidden}
.film .head{padding:0 20px}
.strip{position:relative;background:#0d0a26;padding:34px 0;transform:rotate(-1.5deg);margin:0 -2%;box-shadow:0 30px 60px rgba(4,2,18,.5)}
.strip::before,.strip::after{content:"";position:absolute;left:0;right:0;height:14px;background:repeating-linear-gradient(90deg,transparent 0 14px,rgba(255,246,229,.85) 14px 30px,transparent 30px 44px);opacity:.85}
.strip::before{top:10px}.strip::after{bottom:10px}
.strip-in{overflow:hidden}
.loop{display:flex;width:max-content;animation:run 80s linear infinite}
.strip:hover .loop,.strip:focus-within .loop{animation-play-state:paused}
.reel{display:flex;gap:26px;padding:0 13px;margin:0;list-style:none}
.shot{margin:0;width:200px;flex:none}
.shot .phone{position:relative;padding:7px;border-radius:34px}
.shot img{border-radius:28px}
.shot figcaption{text-align:center;font-weight:700;font-size:15px;margin-top:12px;color:var(--krem-dim)}

/* quiz */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:var(--wrap);margin:0 auto}
.feature.flip .f-text{order:2}
.feature h2{margin-bottom:18px}
.feature .f-text>p{color:rgba(255,246,229,.88)}
.duo{position:relative;height:620px}
.duo .phone{width:260px}
.duo .a{left:4%;top:0;transform:rotate(-6deg);animation:float 6s ease-in-out infinite}
.duo .b{right:4%;top:70px;transform:rotate(6deg);animation:float 7s ease-in-out -3s infinite}
.rounds{list-style:none;padding:0;margin:26px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rounds li{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.35;color:var(--krem-dim)}
.rounds b{display:block;color:var(--krem);font-size:16px}
.chips{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-weight:700;font-size:14px;padding:6px 13px;border-radius:99px;background:rgba(255,246,229,.07);box-shadow:inset 0 0 0 1px var(--line)}
.steps{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px;counter-reset:s}
.steps li{display:flex;gap:14px;align-items:flex-start;counter-increment:s;font-size:17px}
.steps li::before{content:counter(s);flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sol);color:var(--natt);font-weight:800;font-size:16px}
@media(max-width:900px){.feature{grid-template-columns:1fr;gap:30px}.feature.flip .f-text{order:0}.duo{height:500px;max-width:440px;margin:0 auto;width:100%}.duo .phone{width:210px}.rounds{grid-template-columns:1fr}}

/* Hvem er jeg */
.landscape{display:grid;place-items:center}
.landscape .phone{position:relative;width:min(560px,100%);transform:rotate(-3deg);animation:wob 5s ease-in-out infinite}
@keyframes wob{0%,100%{rotate:0deg}50%{rotate:2deg}}

/* occasions */
.occ-grid{list-style:none;padding:0;max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.occ{background:var(--natt2);border-radius:var(--r);padding:26px;box-shadow:inset 0 0 0 2px var(--line);display:flex;flex-direction:column;gap:10px;transition:transform .25s var(--spring)}
.occ:hover{transform:translateY(-4px) rotate(-1deg)}
.occ-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--sol);color:var(--natt);transform:rotate(-6deg)}
.occ:nth-child(3n+2) .occ-icon{background:var(--rosa);color:#2a0a2e}.occ:nth-child(3n) .occ-icon{background:var(--turkis);color:#062a2e}
.occ-icon svg{width:28px;height:28px}
.occ h3{font-size:26px}
.occ p{margin:0;color:var(--krem-dim);font-size:16px}
.occ .tag{background:rgba(255,246,229,.08);color:var(--krem);align-self:flex-start}
.occ a{font-weight:800;font-size:15px;margin-top:auto}

/* taxi */
.taxi{padding:70px 20px}
.taxi-box{max-width:980px;margin:0 auto;background:var(--sol);color:var(--natt);border-radius:32px;padding:36px 40px;display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;transform:rotate(-1deg);box-shadow:0 10px 0 rgba(0,0,0,.25);overflow:hidden;position:relative}
.taxi-box h2{font-size:clamp(30px,4.4vw,46px);margin-bottom:10px}
.taxi-box p{font-size:18px;font-weight:600;margin:0}
.road{position:absolute;left:0;right:0;bottom:16px;height:4px;background:repeating-linear-gradient(90deg,rgba(27,20,70,.35) 0 22px,transparent 22px 40px)}
.car{position:absolute;bottom:20px;left:-60px;width:44px;height:44px;color:var(--natt);animation:drive 7s linear infinite}
.car svg{width:100%;height:100%}
@keyframes drive{to{left:calc(100% + 60px)}}
.clock{width:120px;height:120px;border-radius:50%;background:var(--krem);box-shadow:inset 0 0 0 6px var(--natt);position:relative}
.clock i{position:absolute;left:50%;top:50%;width:6px;border-radius:3px;background:var(--natt);transform-origin:50% 0}
.clock .h{height:30px;margin-left:-3px;transform:rotate(200deg);animation:tick 60s linear infinite}
.clock .m{height:42px;margin-left:-3px;background:var(--rosa);transform:rotate(120deg);animation:tick 5s linear infinite}
.clock::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--natt)}
@media(max-width:700px){.taxi-box{grid-template-columns:1fr;text-align:center;padding:30px 24px 48px}.clock{margin:0 auto;width:96px;height:96px}}

/* claps */
.care{list-style:none;padding:0;max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.care li{border-radius:24px;padding:24px;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;gap:10px}
.care svg{width:40px;height:40px}
.care b{font-size:20px;line-height:1.2}
.care span{font-size:16px;line-height:1.45}
.clapping rect:first-of-type{transform-box:fill-box;transform-origin:100% 100%;animation:hl 1s var(--in-out) infinite}
.clapping rect:last-of-type{transform-box:fill-box;transform-origin:0 100%;animation:hr 1s var(--in-out) infinite}
.clapping path{animation:spark 1s steps(2) infinite}
@keyframes hl{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(6deg)}}
@keyframes hr{0%,100%{transform:rotate(12deg)}50%{transform:rotate(-6deg)}}
@media(max-width:900px){.care{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.care{grid-template-columns:1fr}}

/* prices: tickets, as in the app's Butikk */
.tickets{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:22px;align-items:start}
.free{background:var(--natt2);border-radius:var(--r);padding:30px;box-shadow:inset 0 0 0 2px var(--line)}
.free h3,.ticket h3{font-size:32px;margin-bottom:6px}
.free ul,.ticket ul{padding-left:20px;margin:14px 0 0}
.free li,.ticket li{margin:6px 0}
.ticket{--c:var(--sol);--i:var(--natt);display:grid;grid-template-columns:minmax(0,1fr) auto;background:var(--c);color:var(--i);border-radius:24px;position:relative;box-shadow:0 8px 0 rgba(0,0,0,.25);transform:rotate(1.2deg)}
.ticket .tb{padding:28px 26px;min-width:0;overflow-wrap:break-word}
.ticket .stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:20px 22px;border-left:3px dashed rgba(0,0,0,.25);min-width:118px;text-align:center}
.ticket .stub b{font-family:var(--display);font-weight:400;font-size:34px;line-height:1;white-space:nowrap}
.ticket .stub span{font-size:13px;font-weight:700}
.ticket::before,.ticket::after{content:"";position:absolute;right:118px;width:28px;height:28px;margin-right:-14px;border-radius:50%;background:var(--natt)}
.ticket::before{top:-14px}.ticket::after{bottom:-14px}
.ticket .sub{font-weight:700;opacity:.8;margin:0}
.packs{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.packs .ticket{transform:none;box-shadow:0 6px 0 rgba(0,0,0,.25)}
.packs .ticket .tb{padding:18px}
.packs .ticket h3{font-size:22px}
.packs .ticket p{font-size:14px;line-height:1.45;margin:6px 0 0}
.packs .ticket .stub{min-width:96px;padding:14px 10px}
.packs .ticket .stub b{font-size:23px}
.packs .ticket::before,.packs .ticket::after{right:96px}
.ticket.quiz{--c:var(--hav);--i:var(--krem)}.ticket.jul{--c:var(--rod);--i:var(--krem)}.ticket.hytte{--c:var(--gress);--i:#0c2a1c}.ticket.bursdag{--c:var(--rosa);--i:#2a0a2e}
@media(max-width:900px){.tickets{grid-template-columns:minmax(0,1fr)}.ticket{transform:none}}
@media(max-width:480px){.ticket .stub{min-width:88px;padding:16px 8px}.ticket .stub b{font-size:24px}.ticket::before,.ticket::after{right:88px}.ticket .tb{padding:20px 16px}.packs .ticket .stub{min-width:88px}.packs .ticket::before,.packs .ticket::after{right:88px}}
@media(max-width:560px){.packs{grid-template-columns:minmax(0,1fr)}}

/* guides */
.guide-list{list-style:none;padding:0;max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.guide-list a{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:20px;background:rgba(255,246,229,.05);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;color:var(--krem);transition:transform .2s var(--spring),background .2s}
.guide-list a:hover{transform:translateY(-3px);background:rgba(255,246,229,.09)}
.guide-list b{display:block;font-size:17px}
.guide-list span{display:block;font-size:14px;color:var(--krem-dim);line-height:1.4}

/* questions */
.faq{max-width:820px;margin:0 auto}
.faq details,.qa details{background:var(--natt2);border-radius:18px;margin-bottom:12px;box-shadow:inset 0 0 0 2px var(--line)}
.faq summary,.qa summary{cursor:pointer;padding:18px 54px 18px 22px;font-weight:700;list-style:none;position:relative}
.faq summary::-webkit-details-marker,.qa summary::-webkit-details-marker{display:none}
.faq summary::after,.qa summary::after{content:"+";position:absolute;right:22px;top:50%;translate:0 -50%;font-size:26px;color:var(--sol);transition:rotate .25s var(--spring)}
.faq details[open] summary::after,.qa details[open] summary::after{rotate:45deg}
.faq details>div,.qa details>div{padding:0 22px 20px;color:var(--krem-dim)}

/* finale: the credits */
.finale{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;max-width:1060px;margin:0 auto}
.credits{position:relative;height:460px;border-radius:34px;background:#000;overflow:hidden;box-shadow:0 30px 70px rgba(4,2,18,.6),inset 0 0 0 2px rgba(255,246,229,.1);
  -webkit-mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}
.roll{position:absolute;left:0;right:0;top:100%;text-align:center;animation:roll 34s linear infinite}
@keyframes roll{to{transform:translateY(calc(-100% - 460px))}}
.roll p{margin:0}
.roll .c-small{font-size:13px;color:rgba(255,246,229,.6);margin-top:22px;font-weight:600}
.roll .c-title{font-family:var(--display);font-size:40px;color:var(--sol);transform:rotate(-3deg);margin:6px 0 18px}
.roll .c-name{font-family:var(--display);font-size:26px}
.roll .c-role{font-size:12px;color:rgba(255,246,229,.6);margin-top:12px}
.finale h2{margin-bottom:18px}
.finale .stores{margin-top:26px}
@media(max-width:860px){.finale{grid-template-columns:1fr;text-align:center}.finale .stores{justify-content:center}.credits{height:380px;max-width:360px;margin:0 auto;width:100%}}

/* footer */
.foot{border-top:1px solid var(--line);padding:56px 20px 40px}
.foot-in{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}
.foot h2{font-size:22px;margin-bottom:12px}
.foot ul{list-style:none;padding:0;display:grid;gap:6px}
.foot a{color:var(--krem);opacity:.85}
.foot a:hover{opacity:1;color:var(--sol)}
.foot .fine{max-width:var(--wrap);margin:34px auto 0;font-size:13px}
@media(max-width:760px){.foot-in{grid-template-columns:1fr 1fr}.foot-in>div:first-child{grid-column:1/-1}}

/* guide and text pages */
.page-hero{max-width:900px;margin:0 auto;padding:70px 20px 30px;text-align:center}
.page-hero .sticker{margin-bottom:18px}
.page-hero h1{font-size:clamp(40px,6.4vw,72px);transform:rotate(-2deg);margin-bottom:22px}
.page-hero p{font-size:20px;color:rgba(255,246,229,.9);max-width:700px;margin-inline:auto}
.crumbs{font-size:14px;color:var(--krem-dim);margin-bottom:22px}
.crumbs a{color:var(--krem-dim)}
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;max-width:1080px;margin:0 auto;padding:30px 20px 60px;align-items:start}
.article h2{font-size:clamp(28px,4vw,40px);margin:46px 0 18px}
.article h2:first-child{margin-top:0}
.rules{list-style:none;padding:0;counter-reset:r;display:grid;gap:12px}
.rules li{counter-increment:r;display:flex;gap:14px;align-items:flex-start;background:var(--natt2);border-radius:18px;padding:16px 18px;box-shadow:inset 0 0 0 1px var(--line)}
.rules li::before{content:counter(r);flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--bg,var(--sol));color:var(--ink,var(--natt));font-weight:800}
.examples{padding-left:0;list-style:none;counter-reset:e;display:grid;gap:8px}
.examples li{counter-increment:e;display:flex;gap:14px;padding:12px 16px;border-radius:14px;background:rgba(255,246,229,.04)}
.examples li:nth-child(odd){background:rgba(255,246,229,.07)}
.examples li::before{content:counter(e);flex:none;min-width:28px;font-weight:800;color:var(--bg,var(--sol))}
.tips{padding-left:22px}
.tips li{margin:8px 0}
.qa details{background:rgba(255,246,229,.05)}
.qa summary{font-weight:600}
.qa .ans{color:var(--krem)}
.qa .ans b{color:var(--sol)}
.qtheme{font-family:var(--display);font-size:22px;margin:28px 0 10px;color:var(--sol)}
.aside{position:sticky;top:96px;display:grid;gap:18px}
.aside .phone{position:relative;width:100%;max-width:300px;margin:0 auto;transform:rotate(3deg)}
.aside .phone+.phone{transform:rotate(-3deg)}
.cta-box{background:var(--sol);color:var(--natt);border-radius:28px;padding:28px;box-shadow:0 8px 0 rgba(0,0,0,.25)}
.cta-box h2,.cta-box h3{font-size:28px;margin:0 0 10px}
.cta-box p{font-weight:600}
.cta-box .stores{margin-top:16px}
.pack-box{background:var(--natt2);border-radius:24px;padding:24px;box-shadow:inset 0 0 0 2px var(--line);margin-top:28px}
.pack-box h3{font-size:26px;margin-bottom:8px}
.linked{list-style:none;padding:0;display:grid;gap:10px}
.linked a{display:block;padding:14px 18px;border-radius:16px;background:var(--natt2);text-decoration:none;color:var(--krem);box-shadow:inset 0 0 0 1px var(--line)}
.linked a:hover{background:var(--natt3)}
.linked b{color:var(--sol)}
.related{max-width:1080px;margin:0 auto;padding:10px 20px 80px}
.related h2{font-size:30px;margin-bottom:18px}
@media(max-width:900px){.article{grid-template-columns:1fr;gap:30px}.aside{position:static}}
.doc{max-width:760px;margin:0 auto;padding:30px 20px 90px}
.doc h2{font-size:32px;margin:44px 0 14px}
.doc h3{font-family:var(--text);font-weight:800;font-size:20px;margin:24px 0 8px}
.doc ul,.doc ol{padding-left:22px}
.doc li{margin:6px 0}
.doc .phone{position:relative;width:240px;margin:24px auto;transform:rotate(-3deg)}
.box{background:var(--natt2);border-radius:22px;padding:22px 24px;box-shadow:inset 0 0 0 2px var(--line);margin:20px 0}
.lost{min-height:70vh;display:grid;place-items:center;text-align:center;padding:60px 20px}
.lost h1{font-size:clamp(44px,8vw,84px);transform:rotate(-3deg);margin:20px 0}

/* reveal on scroll */
.js .reveal{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .8s var(--spring)}
.js .reveal.in{opacity:1;transform:none}
.js .deal>li{opacity:0;transform:translateY(30px) rotate(-4deg);transition:opacity .5s ease calc(var(--i,0)*45ms),transform .7s var(--spring) calc(var(--i,0)*45ms)}
.js .deal.in>li{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal,.js .deal>li{opacity:1;transform:none}
  .confetti,.klapp,.car{display:none}
  .strip-in{overflow-x:auto}
  .roll{position:static;padding:30px 0}
  .credits{height:auto;max-height:460px;overflow-y:auto}
}
