:root{--navy:#102e40;--navy2:#1d4655;--ink:#183546;--cream:#fff7e9;--peach:#f9d9bd;--gold:#e6a95e;--orange:#d86c43;--mint:#c4ddcb;--soft:#fffcf4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--cream);font-family:'DM Sans',Arial,sans-serif;background:radial-gradient(ellipse at 13% 18%,#295b64 0,transparent 35%),radial-gradient(ellipse at 83% 42%,#304954 0,transparent 35%),linear-gradient(155deg,#102e40 0%,#173649 54%,#112a3b 100%);min-height:100vh;overflow-x:hidden}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ffd08a;outline-offset:4px}.aurora{position:fixed;border-radius:50%;opacity:.18;filter:blur(90px);pointer-events:none}.aurora-a{width:500px;height:450px;background:#b4e1c0;left:-250px;top:400px}.aurora-b{width:400px;height:500px;background:#fd985c;right:-270px;top:800px}.top{max-width:1180px;padding:30px 30px;margin:auto;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.brandmark{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.brandstar{color:#eebc7a;font-size:25px}.year-tag{font-size:11px;border:1px solid #ffffff50;border-radius:30px;padding:9px 15px;letter-spacing:.13em}.hero{text-align:center;position:relative;z-index:1;padding:42px 24px 48px;max-width:970px;margin:auto}.eyebrow,.micro{font-size:11px;letter-spacing:.25em;font-weight:700;color:#f6c78e}.eyebrow{display:flex;justify-content:center;align-items:center;gap:16px}.rule{display:inline-block;width:42px;height:1px;background:#dfb780}.hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.08;font-size:clamp(58px,9.5vw,116px);letter-spacing:-.05em;margin:25px auto 22px}.hero h1 em{color:#efc090;font-weight:500}.lead{font-size:clamp(15px,1.9vw,19px);line-height:1.7;max-width:620px;margin:auto;color:#f7e8db}.hero-badges{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:30px auto;color:#ead9c5;font-size:12px;letter-spacing:.04em}.hero-badges span:first-letter{color:#edb780}.note{display:flex;text-align:left;gap:16px;align-items:center;max-width:670px;margin:32px auto 0;padding:19px 24px;border:1px solid #d3c9ab50;border-radius:18px;background:#fff4dc13;line-height:1.6;font-size:14px;color:#f9ead8}.note-star{font-size:32px;color:#f1bb84;flex-shrink:0}.calendar-section{position:relative;max-width:1160px;margin:0 auto 75px;padding:0 28px}.calendar-head{display:flex;justify-content:space-between;align-items:flex-end;margin:22px 0 28px;gap:15px}.calendar-head h2{font:500 clamp(26px,3.6vw,37px)/1.2 'Playfair Display',Georgia,serif;margin:8px 0 0}.progress{text-align:right;display:flex;flex-direction:column;gap:2px;color:#f7e2ca}.progress strong{font:600 25px 'Playfair Display';color:#efc090}.progress span{font-size:11px;color:#e1d4c6}.calendar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.door{position:relative;min-height:164px;aspect-ratio:.91;border-radius:17px;border:1px solid #ffffff55;background:linear-gradient(148deg,#f8e1c0,#f5c7a4);box-shadow:0 10px 28px #08151c22;overflow:hidden;transition:transform .22s,box-shadow .22s;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:15px 9px;color:#183948}.door:hover:not(:disabled){transform:translateY(-5px) rotate(-.7deg);box-shadow:0 15px 35px #07141a60}.door:disabled{cursor:default}.door:nth-child(6n+2){background:linear-gradient(140deg,#d3e5d4,#acd1c1)}.door:nth-child(6n+3){background:linear-gradient(148deg,#eeb6a3,#e3977b)}.door:nth-child(6n+4){background:linear-gradient(140deg,#e9dba5,#ead08a)}.door:nth-child(6n+5){background:linear-gradient(140deg,#d4d9e8,#b9cbe0)}.door:nth-child(6n+6){background:linear-gradient(140deg,#e1ccb7,#cdb39f)}.door.locked{background:linear-gradient(145deg,#285164,#1a4053);border:1px solid #d3c7ad38;color:#d5d8d0}.door:before{content:"";position:absolute;inset:7px;border:1px solid currentColor;opacity:.22;border-radius:11px;pointer-events:none}.door .number{font:500 clamp(28px,3.5vw,43px)/1 'Playfair Display',Georgia,serif;z-index:1}.door .door-icon{font-size:36px;line-height:1.1;z-index:1;filter:drop-shadow(0 2px 2px #00000018)}.door .door-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}.door.locked .door-icon{color:#dab382}.door.today{outline:3px solid #f4c284;outline-offset:3px}.door.today:after{content:"VANDAAG";position:absolute;right:-29px;top:12px;transform:rotate(40deg);background:#f7b56f;color:#193c4b;font-size:9px;font-weight:700;padding:4px 31px}.calendar-foot{text-align:center;font-size:12px;line-height:1.6;color:#c9d6d3;margin:28px auto}.footer-story{text-align:center;padding:55px 20px 80px;background:linear-gradient(180deg,transparent,#071e2b88)}.footer-story .diamond{font-size:34px;color:#e3b77d}.footer-story p{font:500 clamp(21px,2.7vw,30px)/1.5 'Playfair Display';color:#f7e7d4;margin:14px auto 24px}.footer-rule{height:1px;background:#e6d9c04d;max-width:170px;margin:20px auto}.footer-story small{font-size:10px;letter-spacing:.17em;color:#cabfad}.snowflakes span{position:absolute;color:#e4d0b7;opacity:.5;pointer-events:none}.snowflakes span:nth-child(1){top:180px;left:9%;font-size:24px}.snowflakes span:nth-child(2){top:330px;right:12%;font-size:32px}.snowflakes span:nth-child(3){top:570px;left:5%;font-size:18px}.snowflakes span:nth-child(4){top:95px;right:25%;font-size:18px}.snowflakes span:nth-child(5){top:770px;right:4%;font-size:20px}.snowflakes span:nth-child(6){top:1040px;left:12%;font-size:18px}.modal-backdrop{position:fixed;inset:0;background:#071924d9;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(7px)}.modal-backdrop[hidden]{display:none}.modal{width:min(670px,100%);max-height:min(850px,94vh);display:flex;flex-direction:column;border-radius:23px;overflow:hidden;background:#fff9ef;color:var(--ink);box-shadow:0 35px 100px #0009}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:19px 30px;background:#e6f0e8;color:#24483f;font-weight:700;font-size:11px;letter-spacing:.17em}.close{background:transparent;border:0;color:#24483f;font-size:20px;width:38px;height:38px;border-radius:50%}.close:hover{background:#ffffff80}.modal-scroll{padding:26px 38px 30px;overflow:auto}.modal-visual{height:93px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#fee5bf,#faead7 63%,transparent 64%);margin:-4px auto 20px}.big-star{color:#d48e50;font-size:70px}.modal-kind{color:#b16b3b;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700}.modal h2{font:500 clamp(30px,5vw,46px)/1.17 'Playfair Display',Georgia,serif;letter-spacing:-.028em;margin:11px 0 10px}.modal-subtitle{color:#b1764f;font-size:15px;font-style:italic;margin:0 0 22px}.modal-body{font-size:16px;line-height:1.85;white-space:pre-line}.challenge{margin-top:23px;padding:19px 20px;border-radius:13px;background:#e8f1e8;color:#294e47;font-weight:600;font-size:14px;line-height:1.6}.challenge:before{content:'✦  ';color:#b57e4e}.modal-bottom{border-top:1px solid #e4d9c7;display:flex;justify-content:space-between;padding:15px 23px;gap:10px}.outlined-btn,.primary-btn{border-radius:40px;padding:11px 17px;font-weight:700;font-size:12px}.outlined-btn{border:1px solid #b7c7c1;background:white;color:#294f4a}.primary-btn{background:#193d4b;color:white;border:1px solid #193d4b}.outlined-btn:disabled,.primary-btn:disabled{opacity:.35;cursor:default}.option-list{display:grid;gap:9px;margin:21px 0 4px}.option{border:1px solid #d9bca4;border-radius:13px;background:#fff5e6;text-align:left;padding:13px 15px;color:#23414c}.option:hover{background:#fae9d2}.option[aria-pressed=true]{background:#d7e8db;border-color:#537b66}.answer{margin-top:14px;padding:14px;border-left:3px solid #dc9b58;background:#fff0da;line-height:1.6;font-size:14px}.breath-widget{text-align:center;padding:16px}.breath-orb{width:105px;height:105px;border-radius:50%;background:radial-gradient(circle,#f5cfa2,#c4dfd1);margin:18px auto;transition:transform 4s ease-in-out}.breath-orb.inhale{transform:scale(1.45)}.breath-orb.exhale{transform:scale(.84);transition-duration:6s}.mini-button{border:0;border-radius:35px;background:#285663;color:white;padding:12px 21px;font-weight:700;margin:10px 0}.breath-status{font-size:13px;font-weight:700;color:#36595b}.prompt-card{padding:21px;border-radius:15px;background:#f9ead8;border:1px solid #dfc19e;font:500 22px/1.5 'Playfair Display';margin:18px 0;color:#244754}.talkplate{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.talkplate>div{background:#e8eee5;border-radius:14px;padding:17px 11px;text-align:center}.talkplate strong{font:600 19px 'Playfair Display';display:block;margin-bottom:8px}.talkplate small{font-size:12px;line-height:1.5;display:block}.illusion{display:flex;justify-content:center;padding:15px}.illusion svg{max-width:230px}.bingo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:20px}.bingo-cell{padding:12px 6px;min-height:85px;border:1px solid #d7bba1;border-radius:9px;background:#fff0d9;font-size:12px;text-align:center}.bingo-cell.marked{background:#c5ded1;text-decoration:line-through}.link-btn{display:inline-block;margin-top:17px;padding:12px 17px;border-radius:30px;background:#254856;color:white;text-decoration:none;font-size:13px;font-weight:700}.flip-row{margin-top:16px;display:grid;gap:8px}.flip-item{background:#fff0dd;padding:12px;border-radius:10px;font-size:14px}.copy-feedback{font-size:12px;color:#356b55;min-height:17px}
@media(max-width:760px){.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.door{min-height:130px}.top{padding:23px 17px}.hero{padding:35px 16px 45px}.hero-badges{gap:10px 16px}.calendar-section{padding:0 15px}.modal-scroll{padding:20px 23px 25px}.modal-head{padding:12px 20px}.talkplate{grid-template-columns:1fr}.bingo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:410px){.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.door{min-height:120px}.year-tag{font-size:9px}.brandmark{font-size:9px}.calendar-head h2{font-size:25px}.progress strong{font-size:18px}.hero h1{font-size:59px}.modal-backdrop{padding:8px}.modal{max-height:96vh}.modal-scroll{padding:18px}.modal-bottom{padding:12px}.note{padding:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Versie 2 – lichte, warme en speelse decembereditie */
:root{--navy:#0F1E30;--navy2:#30445A;--ink:#243247;--cream:#FAF5ED;--peach:#F6D9C5;--gold:#D5AA64;--orange:#EF641C;--mint:#F2E2D5;--soft:#FFFDF9}
body{font-family:'Source Sans 3',Arial,sans-serif;color:var(--ink);background:radial-gradient(ellipse at 10% 12%,#FFF1DA 0,transparent 37%),radial-gradient(ellipse at 87% 37%,#F8DCD5 0,transparent 36%),linear-gradient(145deg,#FFFDF8,#F8EFE5 60%,#FFF8EE)}
.aurora{opacity:.17}.aurora-a{background:#EFA66C}.aurora-b{background:#F6B8A3}
.brandmark,.year-tag,.hero h1,.calendar-head h2{color:var(--navy)}.brandstar{color:#EF641C}.year-tag{border-color:#C9A98D}
.eyebrow,.micro{color:#AB5D37}.rule{background:#D39B70}.hero h1 em{color:#C86D4B}.lead{color:#5B5560}.hero-badges{color:#6F5F59}.hero-badges span:first-letter{color:#E47647}.note{background:#FFFFFFB8;color:#584D4B;border-color:#EDD4BC;box-shadow:0 14px 34px #9A664218}.note-star{color:#D37F4F}
.progress,.progress strong{color:#B96842}.progress span,.calendar-foot{color:#776B66}.calendar-grid{gap:15px}
.door{box-shadow:0 9px 25px #A67D5C22;border-color:#FFFFFFD9;transform:rotate(-.6deg)}.door:nth-child(even){transform:rotate(.7deg)}.door:hover:not(:disabled){transform:translateY(-6px) rotate(0deg);box-shadow:0 17px 30px #A67D5C35}
.door:nth-child(6n+2){background:linear-gradient(145deg,#F8E7CE,#F2CDA9)}.door:nth-child(6n+3){background:linear-gradient(145deg,#F9D3C8,#F1AC9A)}.door:nth-child(6n+4){background:linear-gradient(145deg,#F6EBC8,#EED595)}.door:nth-child(6n+5){background:linear-gradient(145deg,#E9E8F5,#D1D5EA)}.door:nth-child(6n+6){background:linear-gradient(145deg,#F5DBCA,#E9BC9D)}
.door.locked{background:linear-gradient(145deg,#F8E8D8,#EED6C6);color:#766055;border-color:#FFFFFFD0}.door.locked .door-icon{color:#B98768}.door.today{outline-color:#EF641C}.door.today:after{background:#EF641C;color:white}
.footer-story{background:linear-gradient(180deg,transparent,#F2DED0AA)}.footer-story p{color:#3E4050}.footer-story .diamond{color:#C47D55}.footer-rule{background:#D7BBA8}.footer-story small{color:#806E68}.snowflakes span{color:#D7A977;opacity:.55}
.modal-backdrop{background:#2A2534A8}.modal{background:#FFFCF7}.modal-head{background:#F8E6D7;color:#7F4C37}.close{color:#7F4C37}.modal-kind,.modal-subtitle{color:#BD6A45}.challenge{background:#FFF0DC;color:#6D4B39}.breath-orb{background:radial-gradient(circle,#F6D39F,#EEAD98)}.primary-btn,.mini-button{background:#0F1E30;border-color:#0F1E30}.outlined-btn{color:#0F1E30;border-color:#DABDA8}

/* V3: helder contrast, echte Studio Stuurkracht kleuren. */
:root{--navy:#0F1E30;--orange:#EF641C;--paper:#FFFFFF;--ink:#0F1E30}
body{background:#FFFFFF;color:#0F1E30;font-family:'Source Sans 3',sans-serif}
.aurora{opacity:.55;filter:blur(95px)}.aurora-a{background:#F7B692;left:-320px;top:160px}.aurora-b{background:#EF641C;right:-340px;top:700px;opacity:.12}
.top{max-width:1240px;padding-top:24px;padding-bottom:24px;border-bottom:1px solid #E4E6EB}
.brandmark{color:#0F1E30;font-size:12px;letter-spacing:.09em}.brandstar{color:#EF641C;font-size:29px}.year-tag{color:#0F1E30;border:1px solid #0F1E30;font-weight:700}
.hero{max-width:1150px;padding:64px 24px 55px}
.hero:before{content:'';position:absolute;width:200px;height:200px;border-radius:50%;background:#FDE6DC;z-index:-1;top:40px;right:2%;filter:blur(2px)}
.eyebrow,.micro{color:#EF641C;letter-spacing:.16em;font-size:12px}.rule{background:#EF641C}
.hero h1{color:#0F1E30;font-size:clamp(62px,9vw,116px);margin:23px auto 21px;font-weight:700;letter-spacing:-.05em}
.hero h1 em{color:#EF641C;font-weight:600;font-style:italic}
.lead{color:#243148;font-size:clamp(17px,2vw,21px);line-height:1.6;font-weight:500;max-width:730px}
.hero-badges{color:#0F1E30;font-size:13px;font-weight:700;gap:13px;margin-top:28px}
.hero-badges span{border:1px solid #DEE1E7;background:#FFF;border-radius:40px;padding:8px 14px;box-shadow:0 3px 11px #0F1E3010}
.hero-badges span:first-letter{color:#EF641C}
.note{background:#0F1E30;color:#FFFFFF;border:0;box-shadow:0 16px 40px #0F1E3027;max-width:735px;border-radius:17px;padding:20px 25px;font-size:15px}
.note-star{color:#FF9158}
.calendar-section{max-width:1210px;background:#F5F7F9;border-radius:28px;padding:34px 35px 28px;margin-bottom:35px;box-shadow:inset 0 1px #E9EBEF}
.calendar-head h2{color:#0F1E30;font-weight:700}.progress strong{color:#EF641C}.progress span,.calendar-foot{color:#536175}
.calendar-grid{gap:13px}
.door,.door.locked{background:#FFFFFF;color:#0F1E30;border:2px solid #DCE2E8;border-radius:16px;box-shadow:0 5px 0 #E0E4E9,0 8px 22px #0F1E3010;transform:none}
.door:nth-child(6n+2),.door.locked:nth-child(6n+2){background:#0F1E30;color:#FFFFFF;border-color:#0F1E30;box-shadow:0 5px 0 #354354,0 8px 22px #0F1E3025}
.door:nth-child(6n+3),.door.locked:nth-child(6n+3){background:#EF641C;color:#FFFFFF;border-color:#EF641C;box-shadow:0 5px 0 #C45117,0 8px 22px #EF641C24}
.door:nth-child(6n+4),.door.locked:nth-child(6n+4){background:#FFE8DC;color:#0F1E30;border-color:#FFE8DC;box-shadow:0 5px 0 #F1C4AA,0 8px 22px #EF641C17}
.door:nth-child(6n+5),.door.locked:nth-child(6n+5){background:#FFFFFF;color:#0F1E30;border-color:#DCE2E8}
.door:nth-child(6n+6),.door.locked:nth-child(6n+6){background:#233C59;color:#FFFFFF;border-color:#233C59;box-shadow:0 5px 0 #112840,0 8px 22px #0F1E3025}
.door.locked .door-icon{color:inherit;opacity:.8}.door:before{border-color:currentColor;opacity:.19}.door:hover:not(:disabled){transform:translateY(-6px) rotate(-1deg);box-shadow:0 14px 33px #0F1E3039}
.door .number{font-weight:700}.door .door-label{letter-spacing:.1em}.door.today{outline:3px solid #EF641C;outline-offset:3px}.door.today:after{background:#EF641C;color:#FFF}
.footer-story{background:#0F1E30;padding:45px 20px 55px}.footer-story p{color:#FFFFFF}.footer-story .diamond{color:#EF641C}.footer-story small{color:#DFE3E9}.footer-rule{background:#EF641C}
.snowflakes span{color:#EF641C;opacity:.20}
.modal{background:#FFFFFF;color:#0F1E30}.modal-head{background:#0F1E30;color:#FFFFFF}.close{color:#FFFFFF}.close:hover{background:#ffffff22}.modal-kind,.modal-subtitle{color:#EF641C}.modal-visual{background:radial-gradient(ellipse at center,#FFE1D1,#FFF 65%,transparent 66%)}.big-star{color:#EF641C}.challenge{background:#FFF0E8;color:#0F1E30}.primary-btn,.mini-button,.link-btn{background:#EF641C;border-color:#EF641C;color:white}.outlined-btn{border-color:#0F1E30;color:#0F1E30}.prompt-card{background:#FFF1E9;border-color:#FAC6AB;color:#0F1E30}.talkplate>div{background:#F3F6F9}.bingo-cell{background:#FFF1E9}.bingo-cell.marked{background:#DCE9F4}.option{background:#F9FAFB;border-color:#D3D9E0}.option[aria-pressed=true]{background:#FFE1D1;border-color:#EF641C}
@media(max-width:760px){.calendar-section{margin:0 10px 25px;padding:27px 13px;border-radius:20px}.hero{padding:50px 16px 36px}.door{min-height:128px}.note{margin-top:23px}}


/* v4: warm winterlicht, géén zakelijke tegelinterface */
:root{--navy:#0F1E30;--orange:#EF641C;--amber:#f8cd7f}
body{background:#101d30;color:#fffaf3;font-family:'Source Sans 3',sans-serif}
.aurora,.snowflakes{display:none}
.top{max-width:none;padding:20px max(24px,calc((100% - 1160px)/2));border:0;background:#0a1829;color:#fcebdc}
.brandmark,.year-tag{color:#fff5e8}.brandstar{color:#EF641C}.year-tag{border-color:#cfae806b}
.village-scene{position:absolute;top:63px;left:0;right:0;height:500px;background:url('winter-scene.svg') center bottom/cover no-repeat;opacity:.97;pointer-events:none}
.hero{padding:72px 20px 70px;max-width:1060px;min-height:480px;isolation:isolate;text-shadow:0 3px 18px #06101ecc}
.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#0F1E30d9 2%,#0F1E307d 51%,transparent 82%);z-index:-1;filter:none;width:auto;height:auto;border-radius:0}
.eyebrow,.micro{color:#ffca81;letter-spacing:.13em}.rule{background:#ffca81}
.hero h1{font-size:clamp(55px,8vw,104px);color:#fffaf1;font-weight:600;margin:20px 0;text-shadow:0 5px 25px #000a}
.hero h1 em{color:#ffca83;font-weight:500}
.lead{color:#fffaee;max-width:630px;font-size:clamp(16px,2vw,20px);font-weight:500;text-shadow:0 3px 10px #000}
.hero-badges{gap:10px;margin:22px auto 0}
.hero-badges span{background:#152941cc;color:#ffeac7;border:1px solid #ebc98f77;border-radius:25px;padding:8px 15px;box-shadow:none;font-size:12px}
.note{background:#fffaf0f2;border:1px solid #edd29c;color:#253349;max-width:650px;box-shadow:0 13px 43px #07132380;padding:13px 20px;margin:22px auto 0}
.note-star{color:#EF641C}
.calendar-section{background:linear-gradient(165deg,#172b40,#0b1b2e);border:1px solid #d5b47a70;max-width:1190px;padding:35px 36px 33px;box-shadow:0 24px 80px #030d1d88, inset 0 1px #fff2;border-radius:27px;margin:-7px auto 55px;z-index:2}
.calendar-head h2{color:#fff9e9}.progress strong{color:#ffc778}.progress span,.calendar-foot{color:#dfd8c8}
.calendar-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:100px;gap:12px}
.door,.door.locked,.door:nth-child(n),.door.locked:nth-child(n){min-height:0;aspect-ratio:auto;height:auto;box-shadow:inset 0 0 0 1px #ffe3a433,0 7px 16px #03091266;border:2px solid #d1a76b;border-radius:11px;background:linear-gradient(145deg,#713e37,#4b2930);color:#ffe9b3;transform:rotate(0deg);padding:12px 7px;justify-content:space-between}
.door:nth-child(5n+2),.door.locked:nth-child(5n+2){background:linear-gradient(150deg,#1f4350,#102b3c);border-color:#b8a06d}
.door:nth-child(7n+4),.door.locked:nth-child(7n+4){background:linear-gradient(150deg,#7b453a,#592e2e);border-color:#edb675}
.door:nth-child(11n+7),.door.locked:nth-child(11n+7){background:linear-gradient(150deg,#33494b,#19333b);border-color:#d6ad77}
.door:nth-child(8n+1){grid-row:span 2;grid-column:span 2}
.door:nth-child(11){grid-column:span 2}
.door:nth-child(17){grid-column:span 2}
.door:nth-child(22){grid-column:span 2}
.door:nth-child(3n+1){transform:rotate(-.7deg)}
.door:nth-child(4n+2){transform:rotate(.65deg)}
.door:before{inset:7px;opacity:.45;border:1px dashed #ffe4b2;border-radius:5px}
.door:after{content:'✧';position:absolute;right:12px;top:8px;font-size:13px;color:#ffe2ac99;pointer-events:none}
.door:not(:disabled):hover{transform:translateY(-6px) rotate(1deg) scale(1.02);box-shadow:0 0 27px #ffce8970,0 12px 28px #0008;border-color:#ffe5a3}
.door .number{font:600 clamp(29px,3.8vw,49px)/1 'Playfair Display';text-shadow:0 3px 12px #0008}
.door .door-icon{font-size:29px;color:#ffcc87;filter:drop-shadow(0 0 8px #ffbb70a0)}
.door .door-label{color:#ffeaca;opacity:.92;font-size:10px;letter-spacing:.04em}
.door.locked .door-icon{opacity:.9;color:#ffcc87}
.door.today{outline:2px solid #ffce7e}
.door.today:after{content:'VANDAAG';position:absolute;top:12px;right:-32px;background:#EF641C;color:white;font-size:9px;padding:4px 34px;transform:rotate(39deg)}
.footer-story{background:linear-gradient(#0e1e32,#091321);padding:33px 20px 52px}.footer-story .diamond{color:#EF641C}
.modal{box-shadow:0 35px 120px #000b}.modal-head{background:#0F1E30}.modal-visual{background:radial-gradient(ellipse at center,#fff0d2,#fff 65%,transparent 66%)}
@media(max-width:760px){.top{padding:17px}.village-scene{top:61px;height:465px}.hero{padding:55px 18px 52px;min-height:460px}.hero h1{font-size:clamp(50px,11vw,80px)}.calendar-section{margin:0 10px 25px;padding:23px 13px;border-radius:20px}.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:83px;gap:9px}.door:nth-child(8n+1){grid-column:span 2;grid-row:span 2}.door:nth-child(11),.door:nth-child(17),.door:nth-child(22){grid-column:span 2}.door .number{font-size:30px}.door .door-label{font-size:9px}.door .door-icon{font-size:24px}.hero-badges span{font-size:11px}.note{font-size:13px}}
@media(max-width:390px){.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:86px}.door:nth-child(8n+1){grid-column:span 2;grid-row:span 2}}

/* v5: echte verrassingen achter de deurtjes */
.surprise-result,.wish-display{margin:18px 0 4px;padding:24px 20px;border-radius:18px;background:linear-gradient(135deg,#fff1dd,#fff9ee);color:#15304a;border:1px solid #e9c692;font:600 19px/1.55 'Playfair Display',serif;min-height:36px;text-align:center}
.surprise-result:empty{display:none}.pop{animation:popIn .5s ease both}@keyframes popIn{from{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:none}}
.personality-question{font-weight:700;margin:14px 0 6px}.wish-input{box-sizing:border-box;width:100%;padding:14px;border:1px solid #d8b780;border-radius:12px;font:inherit;margin:10px 0}
.gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px auto;max-width:330px}.gift-box{font-size:32px;background:#fdf1d8;border:2px solid #e1bd76;border-radius:15px;padding:14px;cursor:pointer;transition:transform .2s}.gift-box:hover{transform:translateY(-5px)}.gift-box:disabled{opacity:.8;cursor:default}
.night-sky,.snow-sky{height:200px;border-radius:18px;background:radial-gradient(circle at 50% 85%,#815a4c,#142c4a 58%,#08192e);position:relative;overflow:hidden;margin:18px 0}.light-point{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffe4a8;box-shadow:0 0 17px 6px #ffdc82;animation:twinkle 2s ease-in-out infinite alternate}.night-caption,.snow-message{position:absolute;inset:auto 10px 16px;display:block;text-align:center;color:#fff2d7;font:600 22px 'Playfair Display',serif;text-shadow:0 2px 12px #000}
@keyframes twinkle{from{opacity:.25;transform:scale(.65)}to{opacity:1;transform:scale(1.5)}}.flake{position:absolute;top:-35px;color:#fff2db;text-shadow:0 0 6px white;animation:snowfall linear forwards;pointer-events:none}@keyframes snowfall{to{transform:translateY(245px) rotate(260deg);opacity:.15}}
.modal-body{white-space:normal}.modal-body p{line-height:1.7}.modal-subtitle{font-weight:600}.door{cursor:pointer}.door:disabled{cursor:not-allowed}

/* Vrijblijvende, stille standaard: zachte muziek alleen na een bewuste klik. */
.header-actions{display:flex;align-items:center;gap:12px}.music-toggle{font-family:'Source Sans 3',sans-serif;background:#fff9ef12;color:#fff7e9;border:1px solid #f8ddb775;border-radius:30px;padding:9px 14px;font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.music-toggle:hover,.music-toggle[aria-pressed="true"]{background:#EF641C;border-color:#EF641C;color:#fff}.music-toggle:focus-visible{outline:3px solid #ffd08a;outline-offset:3px}@media(max-width:440px){.header-actions{gap:6px}.music-toggle{font-size:10px;padding:8px}.year-tag{padding:8px;font-size:8px}}

/* v7 - duidelijke prijs bij het pakjesspel, zichtbare muziekkeuze */
.music-invite{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:20px auto 2px;color:#fff6e4;font-size:13px;text-shadow:0 2px 9px #0009}
.music-feature{font-size:15px;padding:13px 23px;border:2px solid #ffcb80;background:#EF641C;color:white;box-shadow:0 4px 25px #ef641c66}
.music-feature:hover,.music-feature[aria-pressed="true"]{background:#ff8a3c;box-shadow:0 0 22px #ffbc73a8}
.gift-box{min-height:88px;display:flex;align-items:center;justify-content:center}
.gift-box.gift-opened{background:#d8eaf5;color:#11354e;border-color:#74b5e2;font-size:43px;opacity:1}
.gift-box.gift-winner{background:radial-gradient(circle,#fffac9,#ffcf67 78%);border:4px solid #EF641C;box-shadow:0 0 25px #ffc74b,0 0 0 5px #fff4cd;transform:scale(1.09);font-size:53px;opacity:1;animation:winningGift .65s ease both}
@keyframes winningGift{0%{transform:scale(.75) rotate(-10deg)}60%{transform:scale(1.18) rotate(5deg)}100%{transform:scale(1.09)}}
@media(max-width:550px){.music-invite{flex-direction:column;gap:7px}.music-feature{font-size:14px}.gift-box{min-height:70px}}

/* De originele vaas/gezichten-illusie, rustig en duidelijk weergegeven. */
.illusion img{display:block;max-width:min(100%,300px);height:auto;object-fit:contain;border-radius:6px;background:#fff}
