@import "https://fonts.googleapis.com/css2?family=Coiny&family=Nunito:wght@400;600;700;800;900&display=swap";:root{--paper:#fbf7ee;--paper-deep:#f4ead8;--white:#fffefa;--ink:#123b69;--red:#b6372d;--red-dark:#81241e;--yellow:#f2b72d;--muted:#66758a;--line:#d9ccb8;--shadow:0 12px 28px #3727181f;--display:"Coiny", system-ui, sans-serif;--body:"Nunito", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:68px}body{color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;background:#e7e1d7;margin:0;font-size:16px;line-height:1.45}button,input,select,textarea{font:inherit}button{color:inherit}button,summary,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}main{background:var(--paper);width:min(100%,480px);min-height:100vh;margin:0 auto;overflow:hidden;box-shadow:0 0 50px #0000001f}.nav{z-index:30;justify-content:space-between;align-items:center;width:min(100%,480px);height:64px;padding:8px 16px;display:flex;position:absolute}.brand,.menu{cursor:pointer;min-width:44px;min-height:44px}.brand{color:var(--red);font-family:var(--display);letter-spacing:.04em;background:0 0;border:0;border-radius:12px;font-size:15px}.menu{color:var(--red);background:#fffefae0;border:1px solid #b6372d1f;border-radius:50%;place-items:center;display:grid;box-shadow:0 5px 16px #2a1f1414}.menu-panel{border:1px solid var(--line);background:var(--white);min-width:190px;box-shadow:var(--shadow);border-radius:18px;padding:7px;display:grid;position:absolute;top:58px;right:16px}.menu-panel button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;min-height:44px;padding:8px 13px;font-weight:800}.menu-panel button:hover{background:var(--paper-deep)}.hero{text-align:center;background-image:radial-gradient(#d9cfbc .7px,#0000 .7px);background-size:7px 7px;min-height:100vh;padding:82px 16px 38px;position:relative}.stamp{border:2px solid var(--red);color:var(--red);letter-spacing:.08em;opacity:.82;border-radius:50%;padding:7px 8px;font-size:9px;font-weight:900;line-height:1.15;position:absolute;transform:rotate(-8deg)}.stamp-blois{top:75px;left:17px}h1,h2,.results h3,footer p{font-family:var(--display);font-weight:400}h1{letter-spacing:-.025em;margin:48px auto 8px;font-size:clamp(40px,11.2vw,53px);line-height:.98}h1 span{color:var(--red);display:block}.anniversary{letter-spacing:.03em;margin:17px 0 13px;font-size:15px;font-weight:700}.anniversary b:first-child{color:var(--red)}.lead{margin:0 auto 16px;font-size:18px;font-weight:700;line-height:1.32}.route-line{letter-spacing:.05em;justify-content:center;align-items:center;gap:5px;font-size:10px;font-weight:900;display:flex}.route-line i{color:var(--yellow);white-space:nowrap;font-style:normal;overflow:hidden}.route-line strong{color:var(--red)}.train-stage{width:109%;margin:0 -4.5% -1%;animation:4s ease-in-out infinite trainFloat;position:relative}.train{mix-blend-mode:multiply;width:100%;display:block}.train-passengers{pointer-events:none;position:absolute;inset:0}.train-passengers img{top:var(--window-y);left:var(--window-x);aspect-ratio:1;object-fit:cover;border:0;border-radius:50%;width:9.35%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 3px #0b326333}.member-strip{z-index:2;justify-content:center;gap:3px;margin:-4px 0 20px;display:flex;position:relative}.mini-member{flex-direction:column;align-items:center;width:61px;font-size:12px;line-height:1.15;display:flex;position:relative}.mini-member .member-photo{border:3px solid var(--yellow);background:#fff;border-radius:50%;width:50px;height:50px;margin-bottom:4px;animation:3.2s ease-in-out infinite portraitBob;display:block;overflow:hidden;box-shadow:0 5px 12px #0000001f}.mini-member:nth-child(2) .member-photo{animation-delay:-.6s}.mini-member:nth-child(3) .member-photo{animation-delay:-1.2s}.mini-member:nth-child(4) .member-photo{animation-delay:-1.8s}.mini-member:nth-child(5) .member-photo{animation-delay:-2.4s}.member-photo img{object-fit:cover;width:100%;height:100%;display:block}.mini-member small{min-height:12px;color:var(--red);font-size:9px;font-weight:800}.crew-count{width:fit-content;color:var(--red);background:#fff2ca;margin:-12px auto 18px;padding:6px 11px;font-size:11px;transform:rotate(-1deg)}.date-ticket{width:min(100%,374px);box-shadow:var(--shadow);background:#fffaf0;border:1.5px solid #d8c9ad;border-radius:22px;margin:0 auto;padding:16px}.date-ticket div{font-family:var(--display);justify-content:center;align-items:center;gap:9px;font-size:25px;line-height:1;display:flex}.date-ticket div svg{color:var(--red)}.date-ticket small{font-family:var(--body);font-size:14px;font-weight:900}.date-ticket button,.submit{background:var(--red);color:#fff;width:100%;min-height:52px;box-shadow:0 5px 0 var(--red-dark);cursor:pointer;border:0;border-radius:15px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:13px 16px;font-weight:900;transition:transform .16s,box-shadow .16s;display:flex}.date-ticket button:active,.submit:active{box-shadow:0 2px 0 var(--red-dark);transform:translateY(3px)}section{padding:66px 17px}.plans{background:var(--white)}.section-title{margin-bottom:25px;position:relative}.section-title h2,.vote h2,.memory-heading h2{letter-spacing:-.02em;margin:0;font-size:clamp(35px,10vw,44px);line-height:1.03}.section-title:after,.vote>h2:after{content:"";background:var(--red);border-radius:50%;width:138px;height:4px;margin-top:9px;display:block;transform:rotate(-2deg)}.mobile-break{display:block}.doodle-train{width:32px;height:32px;color:var(--red);position:absolute;bottom:0;right:3px;transform:rotate(4deg)}.ticket-list{gap:17px;display:grid}.plan-ticket{background:#fffaf0;border:2px solid #d2c4ae;border-radius:22px;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden;box-shadow:0 6px 15px #31241614}.plan-ticket.selected{border-color:var(--red);transform:rotate(-.25deg);box-shadow:0 10px 24px #b6372d21}.ticket-select{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr) 32px;gap:10px;width:100%;padding:17px 12px 14px;display:grid}.radio-mark{border:2px solid var(--ink);color:#fff;border-radius:50%;place-items:center;width:27px;height:27px;margin-top:2px;display:grid}.selected .radio-mark{border-color:var(--red);background:var(--red)}.ticket-main{gap:9px;min-width:0;display:grid}.ticket-heading{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.ticket-heading strong{color:var(--red);font-family:var(--display);font-size:21px;font-weight:400;line-height:1}.ticket-heading small{font-size:14px;font-weight:900}.ticket-line{border-bottom:1px dashed #b6a992;grid-template-columns:19px 1fr;align-items:start;gap:7px;padding-bottom:8px;font-size:14px;font-weight:800;line-height:1.35;display:grid}.ticket-line svg{color:var(--red);margin-top:1px}.price-row{grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-top:1px;display:grid}.price-row>strong{color:var(--red);font-family:var(--display);white-space:nowrap;font-size:28px;font-weight:400}.price-row>strong small{color:var(--ink);font-family:var(--body);font-size:12px;font-weight:800}.price-row>span{border-left:1px dashed #aa9d8a;align-items:center;gap:6px;padding-left:10px;font-size:12px;font-weight:900;line-height:1.3;display:flex}.price-row svg{color:var(--red);flex:none}.plan-note{font-size:14px;font-weight:700;line-height:1.4}.ticket-stub{color:var(--red);font-family:var(--display);border-left:1px dashed #a99982;place-items:center;font-size:22px;display:grid}.plan-breakdown{background:#ffffff85;border-top:1px dashed #c6b8a3;padding:17px 14px 18px}.itinerary-heading{color:var(--red);align-items:center;gap:7px;margin-bottom:16px;display:flex}.itinerary-heading b{letter-spacing:.035em;font-size:13px;font-weight:900}.itinerary-heading small{color:var(--muted);text-transform:uppercase;margin-left:auto;font-size:10px;font-weight:800}.itinerary-days{gap:17px;display:grid}.itinerary-day h3{background:var(--ink);color:#fff;letter-spacing:.055em;margin:0 0 10px;padding:5px 8px;font-size:10px;font-weight:900;display:inline-block;transform:rotate(-.5deg)}.itinerary-day ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.itinerary-day li{grid-template-columns:78px minmax(0,1fr);align-items:stretch;display:grid}.itinerary-day time{color:var(--red);font-family:var(--display);text-align:right;padding:2px 10px 13px 0;font-size:12px;font-weight:400;line-height:1.3}.itinerary-day li>span{border-left:2px dotted #cabca7;gap:2px;padding:1px 0 13px 15px;font-size:12.5px;line-height:1.35;display:grid;position:relative}.itinerary-day li>span:before{content:"";background:var(--yellow);width:8px;height:8px;box-shadow:0 0 0 1px var(--red);border:2px solid #fffaf0;border-radius:50%;position:absolute;top:3px;left:-5px}.itinerary-day li:last-child time,.itinerary-day li:last-child>span{padding-bottom:0}.itinerary-day li>span b{font-weight:900}.itinerary-day li>span small{color:var(--muted);font-size:11.5px;font-weight:700}.beauval-detail-link{width:fit-content;min-height:34px;color:var(--red);align-items:center;gap:4px;margin-top:4px;font-size:10.5px;font-weight:900;text-decoration:none;display:inline-flex}.beauval-detail-link:hover{text-decoration:underline}.flex-board{background-color:#fff4ce;background-image:radial-gradient(#b6372d21 .7px,#0000 .7px);background-size:7px 7px;border:2px dashed #b6372d5c;border-radius:15px;margin-top:17px;padding:13px}.flex-heading{color:var(--red);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:12px;display:grid}.flex-heading>svg:first-child{color:var(--yellow);fill:#f2b72d47;transform:rotate(-8deg)}.flex-heading>svg:last-child{transform:rotate(6deg)}.flex-heading span{display:grid}.flex-heading b{font-family:var(--display);font-size:15px;font-weight:400;line-height:1.1}.flex-heading small{color:var(--ink);font-size:10.5px;font-weight:800}.flex-options{grid-template-columns:1fr 1fr;gap:7px;display:grid}.flex-options>div{background:#ffffffd9;border:1px solid #123b6929;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:31px minmax(0,1fr);align-items:center;column-gap:7px;padding:8px;display:grid;box-shadow:0 3px #123b6914}.flex-options>div:nth-child(2n){transform:rotate(.6deg)}.flex-options>div:nth-child(odd){transform:rotate(-.6deg)}.flex-options span{background:var(--ink);color:#fff;border-radius:50%;grid-row:1/span 2;place-items:center;width:29px;height:29px;display:grid}.flex-options>div:nth-child(2) span,.flex-options>div:nth-child(4) span{background:var(--red)}.flex-options b{font-size:10.5px;font-weight:900;line-height:1.1}.flex-options small{color:var(--muted);font-size:9.5px;font-weight:800;line-height:1.2}.flex-board>p{color:var(--ink);text-align:center;margin:11px 2px 0;font-size:11px;font-weight:800;line-height:1.4}.backup-note{color:var(--red-dark);background:#fff1df;border:1px solid #b6372d3d;border-radius:11px;align-items:flex-start;gap:8px;margin:17px 0 0;padding:11px;font-size:11.5px;font-weight:700;line-height:1.4;display:flex}.backup-note svg{color:var(--red);flex:none;margin-top:1px}.tradeoffs{grid-template-columns:1fr 1fr;gap:8px;margin-top:17px;display:grid}.tradeoffs>div{background:#fff;border:1px solid #ded4c5;border-radius:12px;padding:11px 10px}.tradeoffs .pros{border-top:4px solid #4f9561}.tradeoffs .cons{border-top:4px solid var(--yellow)}.tradeoffs h3{align-items:center;gap:5px;margin:0 0 8px;font-size:12px;font-weight:900;display:flex}.tradeoffs .pros h3{color:#39774a}.tradeoffs .cons h3{color:var(--red-dark)}.tradeoffs ul{color:var(--muted);gap:6px;margin:0;padding-left:16px;font-size:11.5px;font-weight:700;line-height:1.35;display:grid}.leader-budget{color:var(--muted);border-top:1px dashed #c6b8a3;font-size:13px}.leader-budget summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;padding:8px 16px 8px 50px;font-weight:800;list-style:none;display:flex}.leader-budget summary::-webkit-details-marker{display:none}.leader-budget summary svg{transition:transform .2s}.leader-budget[open] summary svg{transform:rotate(180deg)}.leader-budget p{color:var(--red);margin:0;padding:0 16px 14px 50px;font-weight:900}.schedule-disclaimer{max-width:720px;color:var(--muted);background:#fff3cc;border-top:5px solid #f2b72dad;border-radius:9px;align-items:flex-start;gap:9px;margin:23px auto 0;padding:13px 14px;font-size:12px;font-weight:800;line-height:1.45;display:flex}.schedule-disclaimer svg{color:var(--red);flex:none;margin-top:1px}.memories{background:var(--ink);color:#fff;padding-inline:0;position:relative;overflow:hidden}.memories:before{content:"";opacity:.1;background-image:radial-gradient(#fff .7px,#0000 .7px);background-size:8px 8px;position:absolute;inset:0}.memory-heading{z-index:1;padding:0 21px;position:relative}.memory-heading p{color:var(--yellow);letter-spacing:.1em;text-transform:uppercase;margin:0 0 9px;font-size:12px;font-weight:900}.memory-heading h2{margin-bottom:29px}.film-strip{z-index:1;scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px;padding:10px 29px 29px;display:flex;position:relative;overflow-x:auto}.film-strip::-webkit-scrollbar{display:none}.film-strip figure{color:var(--ink);scroll-snap-align:center;transform:rotate(var(--tilt));background:#fffaf0;flex:0 0 82%;margin:0;padding:10px 10px 14px;transition:transform .25s;box-shadow:0 14px 30px #00000040}.film-strip figure:hover{transform:rotate(0)translateY(-4px)}.film-frame{aspect-ratio:4/3;background:#d9d1c3;overflow:hidden}.film-frame img{object-fit:cover;filter:saturate(.86)contrast(1.03);width:100%;height:100%;transition:transform .7s;display:block}.film-strip figure:hover img{transform:scale(1.035)}.film-strip figcaption{justify-content:space-between;align-items:baseline;gap:10px;padding:12px 4px 0;font-size:14px;display:flex}.film-strip figcaption b{font-weight:900}.film-strip figcaption span{color:var(--red);letter-spacing:.08em;font-size:10px;font-weight:900}.memories blockquote{z-index:1;text-align:center;border-top:1px solid #ffffff40;margin:21px 23px 0;padding:23px 12px 0;font-size:18px;font-weight:700;line-height:1.5;position:relative}.memories blockquote b{color:var(--yellow)}.vote{background:var(--paper);text-align:center;position:relative}.vote h2{font-size:clamp(38px,11vw,48px);display:inline-block}.portraits{justify-content:center;margin:30px -6px 25px;display:flex}.portraits button{cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;min-width:0;min-height:84px;padding:3px 1px}.portraits button:disabled{opacity:1;cursor:default}.portraits span{background:#ece5d7;border:3px solid #0000;border-radius:50%;width:clamp(52px,14vw,60px);height:clamp(52px,14vw,60px);margin:0 auto 5px;transition:all .2s;display:block;overflow:hidden;box-shadow:0 5px 12px #00000017}.portraits span img{object-fit:cover;width:100%;height:100%;display:block}.portraits button.active span{border-color:var(--red);background:#f6d372;transform:translateY(-4px)rotate(-4deg);box-shadow:0 8px 18px #ad2c2238}.portraits b,.portraits small{font-size:12px;line-height:1.15;display:block}.portraits small{min-height:11px;color:var(--red);font-size:9px}form{text-align:left;background:#fff;border:1px solid #ded6ca;border-radius:18px;padding:18px;box-shadow:0 8px 25px #0000000d}.access-card{background:#fff;border:1px solid #ded6ca;border-radius:18px;padding:21px 18px;font-weight:700;box-shadow:0 8px 25px #0000000d}.access-card b{color:var(--red);font-family:var(--display);font-size:19px;font-weight:400;display:block}.access-card p{color:var(--muted);margin:7px 0 0;font-size:14px}.voter-identity{border:1.5px solid var(--yellow);background:#fff5d3;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;min-height:54px;margin-bottom:17px;padding:10px 14px;display:flex}.voter-identity span{font-weight:800}.voter-identity b{color:var(--red);font-family:var(--display);font-size:20px;font-weight:400}.closed-notice{color:var(--red);text-align:center;background:#f2e9e7;border-radius:11px;margin:0 0 14px;padding:11px 13px;font-size:14px;font-weight:900}form>label,legend{margin:0 0 7px;font-weight:900;display:block}form label small{color:var(--muted);font-weight:600}select,textarea{border:1.5px solid var(--ink);width:100%;color:var(--ink);background:#fff;border-radius:12px;margin-bottom:17px;padding:13px 14px}select{min-height:50px}fieldset{border:0;margin:0 0 16px;padding:0}legend{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.vote-option{border:1.5px solid var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:10px;min-height:50px;margin-bottom:10px;padding:12px 13px;font-size:14px;font-weight:900;display:flex}.vote-option.checked{border-color:var(--red);color:var(--red);background:#fff4ee}.vote-option input{width:19px;height:19px;accent-color:var(--red);flex:none}textarea{resize:vertical;border-color:#aaa;min-height:90px;margin-bottom:0}.counter{color:var(--muted);text-align:right;margin-top:4px;font-size:12px}.submit{margin-top:14px}.submit:disabled{box-shadow:none;cursor:not-allowed;opacity:.58}.vote-error{color:var(--red);text-align:center;background:#fff1ed;border:1px solid #b6372d4d;border-radius:11px;margin:13px 0 0;padding:11px 13px;font-size:14px;font-weight:800}.admin-panel{text-align:left;background:#fff;border:1px solid #d9ccb8;border-radius:18px;padding:18px;box-shadow:0 8px 25px #0000000d}.admin-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.admin-heading small{color:var(--red);letter-spacing:.08em;font-size:10px;font-weight:900}.admin-heading h3{font-family:var(--display);margin:3px 0 0;font-size:21px;font-weight:400}.vote-status{letter-spacing:.05em;border-radius:999px;flex:none;padding:6px 9px;font-size:10px;font-weight:900}.vote-status.open{color:#23743b;background:#e3f4e7}.vote-status.closed{color:var(--red);background:#f2e9e7}.admin-voters{gap:8px;display:grid}.admin-voter{background:var(--paper);border:1px solid #e4ddd2;border-radius:11px;grid-template-columns:78px 1fr;align-items:start;gap:10px;min-height:48px;padding:10px 12px;display:grid}.admin-voter>span{font-weight:900}.admin-voter>div{gap:2px;display:grid}.admin-voter b{color:var(--red)}.admin-voter small{color:var(--muted);font-size:12px;line-height:1.35}.admin-voter em{color:var(--muted);font-size:13px;font-style:normal}.admin-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.admin-actions button{border:1.5px solid var(--ink);cursor:pointer;background:#fff;border-radius:11px;min-height:46px;padding:10px;font-size:13px;font-weight:900}.admin-actions button.danger{border-color:var(--red);color:var(--red)}.admin-actions button:disabled{cursor:wait;opacity:.55}.success-toast{z-index:50;border:2px solid var(--red);color:var(--red);box-shadow:var(--shadow);background:#fff7da;border-radius:999px;padding:12px 18px;font-weight:900;animation:.3s both toastIn;position:fixed;bottom:22px;right:50%;transform:translate(50%)}.results{text-align:left;margin-top:30px}.results h3{text-align:center;margin:0 0 14px;font-size:25px;font-weight:400}.result{background:#fff;border:1px solid #e0d8cc;border-radius:12px;margin-top:10px;padding:13px}.result div{justify-content:space-between;display:flex}.result strong{color:var(--red)}.result>span{background:#e7e8e9;border-radius:10px;height:8px;margin-top:9px;display:block;overflow:hidden}.result i{background:var(--ink);height:100%;transition:width .5s;display:block}.result-b i{background:var(--red)}.local-note{color:var(--muted);text-align:center;margin:13px 4px 0;font-size:13px;line-height:1.45}footer{box-shadow:var(--shadow);text-align:center;background:#fff4dc;border:1px solid #dfcfb5;border-radius:18px;margin:0 17px 27px;padding:31px 16px;transform:rotate(-.35deg)}footer p{margin:0 0 17px;font-size:20px;line-height:1.35}footer strong{color:var(--red)}footer small{font-size:12px;font-weight:800}@keyframes trainFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes portraitBob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-4px)rotate(1deg)}}@keyframes toastIn{0%{opacity:0;transform:translate(50%,10px)scale(.95)}}@media (width>=700px) and (width<=999px){main,.nav{width:min(100%,760px)}.hero{min-height:auto;padding:100px 7% 58px}.stamp-blois{top:88px;left:7%}h1{margin-top:58px;font-size:clamp(48px,7vw,58px)}.train-stage{width:min(108%,680px);margin:4px auto -4px}.member-strip{margin-top:0}.date-ticket{width:min(100%,420px)}section{padding-inline:7%}}@media (width>=1000px){main,.nav{width:min(100%,1120px)}.hero{text-align:left;grid-template-rows:auto auto auto auto auto auto;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);align-items:center;min-height:860px;padding:105px 7% 65px;display:grid}.stamp-blois{top:94px;left:7%}h1{grid-column:1;margin:75px 0 10px;font-size:clamp(52px,5vw,62px)}.anniversary,.lead,.route-line,.member-strip,.crew-count{grid-column:1}.anniversary{margin:12px 0}.lead{margin:0 0 18px;font-size:20px}.route-line{justify-content:flex-start}.train-stage{grid-area:1/2/span 5;width:106%;margin:40px -6% 0 0}.member-strip{justify-content:flex-start;margin-top:4px}.crew-count{margin:-11px 0 18px}.date-ticket{grid-column:1;width:min(100%,390px);margin:0}section{padding-top:78px;padding-bottom:78px}.plans,.vote{padding-inline:8%}.mobile-break{display:none}.ticket-list{grid-template-columns:1fr 1fr;align-items:start}.plan-ticket{height:100%}.memory-heading{padding-inline:8%}.film-strip{gap:24px;padding-inline:8%;overflow:visible}.film-strip figure{flex:1;min-width:0}.memories blockquote{max-width:720px;margin-inline:auto}.vote>h2{display:block}.vote>h2:after{margin-left:auto;margin-right:auto}.portraits,.vote form,.results{max-width:700px;margin-left:auto;margin-right:auto}.portraits{margin-top:32px}footer{margin-left:8%;margin-right:8%}}.mobile-preview main,.mobile-preview .nav{width:390px}.mobile-preview .hero{text-align:center;min-height:100vh;padding:82px 16px 38px;display:block}.mobile-preview .stamp-blois{top:75px;left:17px}.mobile-preview h1{margin:48px auto 8px;font-size:43px}.mobile-preview .anniversary,.mobile-preview .lead,.mobile-preview .route-line,.mobile-preview .member-strip,.mobile-preview .crew-count,.mobile-preview .date-ticket{margin-left:auto;margin-right:auto}.mobile-preview .route-line{justify-content:center}.mobile-preview .train-stage{width:109%;margin:0 -4.5% -1%}.mobile-preview .member-strip{justify-content:center}.mobile-preview section{padding-inline:17px}.mobile-preview .ticket-list{grid-template-columns:1fr}.mobile-preview .memory-heading{padding-inline:21px}.mobile-preview .film-strip{padding-inline:29px;overflow-x:auto}.mobile-preview .film-strip figure{flex:0 0 82%;min-width:auto}.mobile-preview .memories blockquote{margin-inline:23px}.mobile-preview .train-stage,.mobile-preview *{animation:none!important}@media (width<=380px){h1{font-size:39px}.mini-member{width:57px}.mini-member .member-photo{width:47px;height:47px}.price-row{grid-template-columns:1fr}.price-row>span{border-left:0;padding:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.beauval-route{background:#ddd7cd}.beauval-page{--beauval-paper:#fff8e9;--beauval-ink:#123b69;--beauval-red:#bd342a;--beauval-red-dark:#84231d;--beauval-yellow:#f2b72d;--beauval-green:#4f9561;width:min(100%,1180px);min-height:100vh;padding-bottom:calc(98px + env(safe-area-inset-bottom));background-color:var(--beauval-paper);color:var(--beauval-ink);background-image:radial-gradient(#d9cbb3 .75px,#0000 .75px);background-size:8px 8px;margin:0 auto;position:relative;overflow-x:clip;box-shadow:0 0 50px #0000001f}.beauval-page *,.beauval-page :before,.beauval-page :after{min-width:0}.beauval-page section{padding:0}.beauval-page button,.beauval-page a{-webkit-tap-highlight-color:transparent}.beauval-nav{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff8e9eb;border-bottom:1px solid #bd342a1f;justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:8px 15px;display:flex;position:sticky;top:0}.beauval-nav a,.beauval-nav span{letter-spacing:.06em;align-items:center;gap:6px;min-height:44px;font-size:10px;font-weight:900;text-decoration:none;display:flex}.beauval-nav a{color:var(--beauval-ink)}.beauval-nav span{color:var(--beauval-red);text-align:right;justify-content:flex-end}.beauval-nav svg{flex:none;width:17px;height:17px}.beauval-hero{text-align:center;align-items:center;gap:23px;padding:38px 17px 24px;display:grid}.beauval-hero .hero-copy{z-index:2;position:relative}.beauval-page .beauval-hero h1{color:var(--beauval-ink);font-family:var(--display);letter-spacing:-.045em;margin:0;font-size:clamp(44px,14vw,62px);font-weight:400;line-height:.9}.beauval-page .beauval-hero h1 span{color:var(--beauval-red)}.beauval-hero .hero-copy p{margin:15px 0 0;font-size:14px;font-weight:800;line-height:1.42}.journal-polaroid{background:#fff;width:min(100%,420px);margin:0 auto;padding:9px 9px 39px;position:relative;transform:rotate(-1.2deg);box-shadow:0 15px 30px #2f221433}.journal-polaroid .paper-tape{z-index:3;background:#f2b72dad;width:88px;height:25px;position:absolute;top:-11px;left:50%;transform:translate(-50%)rotate(3deg);box-shadow:inset 0 0 0 1px #744e0a14}.journal-polaroid img{aspect-ratio:4/2.75;object-fit:cover;object-position:50% 42%;filter:saturate(.88)contrast(1.04);width:100%;display:block}.journal-polaroid figcaption{justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;bottom:10px;left:13px;right:13px}.journal-polaroid figcaption span{letter-spacing:3px;font-size:17px}.journal-polaroid figcaption b{color:var(--beauval-red);font-family:cursive;font-size:14px}.beauval-content{width:min(100%,1040px);margin:0 auto}.bus-deadline-card{z-index:4;background:var(--beauval-red);color:#fff;box-shadow:0 7px 0 var(--beauval-red-dark), 0 16px 30px #461b1333;border-radius:18px;margin:0 15px 16px;padding:15px;position:relative}.bus-deadline-card.phase-return{background:#8c201b;animation:1.4s ease-in-out infinite urgentPulse}.bus-deadline-card.phase-complete{background:var(--beauval-green);box-shadow:0 7px #316b40}.bus-deadline-heading{align-items:center;gap:11px;display:flex}.bus-deadline-heading>span{width:47px;height:47px;color:var(--beauval-red);background:#fff0c4;border-radius:50%;flex:none;place-items:center;display:grid}.bus-deadline-heading>span svg{width:25px;height:25px}.bus-deadline-heading small{color:#ffe39a;letter-spacing:.1em;margin-bottom:2px;font-size:9px;font-weight:900;display:block}.beauval-page .bus-deadline-heading h2{color:#fff;font-family:var(--body);margin:0;font-size:clamp(17px,5vw,22px);font-weight:900;line-height:1.15}.bus-deadline-heading h2 b{color:#ffe39a}.bus-countdown{text-align:center;background:#ffffff1f;border-radius:9px;margin:10px 0 0;padding:8px 10px;font-size:11px;font-weight:750}.bus-countdown b{color:#ffe39a}.bus-deadline-times{text-align:center;border-top:1px dashed #ffffff70;grid-template-columns:1fr 15px 1fr 15px 1fr;align-items:center;gap:4px;margin-top:13px;padding-top:12px;display:grid}.bus-deadline-times div{display:grid}.bus-deadline-times time{color:#ffe39a;font-family:var(--display);font-size:16px;line-height:1}.bus-deadline-times span{margin-top:4px;font-size:9px;font-weight:850}.bus-deadline-times i{border-top:2px dotted #ffffff85}.journal-chapter{padding:58px 17px}.chapter-heading{margin-bottom:22px}.chapter-heading>p{color:var(--beauval-red);letter-spacing:.11em;margin:0 0 7px;font-size:10px;font-weight:900}.beauval-page .chapter-heading h2{font-family:var(--display);letter-spacing:-.025em;margin:0;font-size:clamp(31px,9vw,44px);font-weight:400;line-height:.98}.chapter-heading>span{color:#756c5f;margin-top:9px;font-size:12px;font-weight:750;line-height:1.45;display:block}.map-chapter{background-color:var(--beauval-ink);color:#fff;background-image:radial-gradient(#ffffff1c .7px,#0000 .7px);background-size:8px 8px;margin-top:55px}.map-chapter .chapter-heading>p{color:var(--beauval-yellow)}.map-chapter .chapter-heading>span{color:#cbd7e6}.adventure-map{width:100%}.map-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.map-toolbar>div{gap:7px;display:flex}.map-toolbar button{width:44px;height:44px;color:var(--beauval-ink);cursor:pointer;background:#fff;border:1px solid #ffffff4d;border-radius:50%;place-items:center;display:grid}.map-toolbar button:disabled{cursor:not-allowed;opacity:.42}.map-toolbar button svg{width:18px;height:18px}.map-toolbar>span{color:#dbe4ed;font-size:11px;font-weight:900}.map-viewport{aspect-ratio:2400/1651;touch-action:pan-y;background:#dcebd8;border:6px solid #fff;border-radius:5px;position:relative;overflow:hidden;box-shadow:0 14px 30px #00000052}.map-viewport.is-zoomed{cursor:grab}.map-viewport.is-zoomed:active{cursor:grabbing}.map-canvas{transform-origin:50%;width:100%;height:100%;transition:transform .18s;position:relative}.map-canvas picture,.map-canvas img{width:100%;height:100%;display:block}.map-canvas img{object-fit:fill;-webkit-user-select:none;user-select:none}.map-route{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.map-route polyline{fill:none;stroke:var(--beauval-red);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3 2.2;filter:drop-shadow(0 1px 1px #fff)}.map-checkpoint{z-index:4;background:var(--beauval-red);color:#fff;width:clamp(30px,8.5vw,40px);height:clamp(30px,8.5vw,40px);font-family:var(--display);cursor:pointer;border:3px solid #fff;border-radius:50%;place-items:center;font-size:12px;transition:transform .18s,background .18s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 9px #00000061}.map-checkpoint.is-selected{z-index:6;background:var(--beauval-yellow);color:var(--beauval-ink);transform:translate(-50%,-50%)scale(1.22)}.checkpoint-legend{grid-template-columns:1fr 1fr;gap:7px;margin:17px 0 0;padding:0;list-style:none;display:grid}.checkpoint-legend li:last-child{grid-column:1/-1}.checkpoint-legend button{color:#fff;text-align:left;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;grid-template-columns:27px 1fr;align-items:center;gap:7px;width:100%;min-height:48px;padding:7px;display:grid}.checkpoint-legend button span{background:var(--beauval-red);width:27px;height:27px;font-family:var(--display);border-radius:50%;place-items:center;font-size:10px;display:grid}.checkpoint-legend button b{font-size:9.5px;line-height:1.2}.checkpoint-legend .is-selected button{border-color:var(--beauval-yellow);background:#f2b72d29}.checkpoint-legend .is-selected button span{background:var(--beauval-yellow);color:var(--beauval-ink)}.official-map-link{color:#fff;align-items:center;width:fit-content;min-height:44px;margin:13px 0 0 auto;font-size:10px;font-weight:900;display:flex}.timeline-chapter{background:var(--beauval-paper)}.day-timeline{margin:0;padding:0;list-style:none}.day-timeline>li{grid-template-columns:57px 22px minmax(0,1fr);align-items:stretch;min-height:104px;display:grid}.day-timeline>li>time{color:var(--beauval-red);font-family:var(--display);text-align:right;padding:7px 9px 20px 0;font-size:13px}.timeline-node{z-index:2;border:3px solid var(--beauval-paper);background:var(--beauval-yellow);width:16px;height:16px;color:var(--beauval-ink);box-shadow:0 0 0 2px var(--beauval-red);border-radius:50%;place-items:center;margin:7px auto 0;font-size:8px;font-weight:900;display:grid;position:relative}.timeline-node:after{content:"";z-index:-1;border-left:2px dotted #c6b59a;height:92px;position:absolute;top:16px;left:5px}.day-timeline>li:last-child .timeline-node:after{display:none}.timeline-node svg{stroke-width:4px;width:9px;height:9px}.day-timeline article{padding:0 0 20px 7px}.day-timeline article>button{width:100%;min-height:64px;color:var(--beauval-ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;padding:8px 10px 10px}.day-timeline .transport-card{min-height:76px;color:var(--beauval-ink);background:#fff7df;border:1px dashed #ccb78f;border-radius:12px;padding:10px 11px}.day-timeline .transport-card>span{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.day-timeline .transport-card .transport-anchor{background:var(--beauval-ink);color:#fff;letter-spacing:.02em;border-radius:6px;margin-top:8px;padding:6px 8px;font-size:9px;display:block}.day-timeline .transport-card .transport-anchor time{color:var(--beauval-yellow);font-family:var(--display);font-size:12px}.day-timeline .transport-event .timeline-node svg{stroke-width:3px;width:10px;height:10px}.day-timeline article>button>span{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.day-timeline article b{font-size:14px;line-height:1.25}.day-timeline article small{color:#6d6b67;margin-top:5px;font-size:11px;font-weight:700;line-height:1.42;display:block}.day-timeline article em{color:var(--beauval-red-dark);letter-spacing:.05em;background:#fff0bd;border-radius:4px;align-items:center;gap:3px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:900;display:inline-flex}.day-timeline article em svg{width:10px;height:10px}.day-timeline article .complete-label{color:#326e42;background:#e2f1e5}.day-timeline article strong{background:var(--beauval-ink);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:5px;margin-top:7px;padding:4px 7px;font-size:8px;display:inline-block}.day-timeline article mark{border-left:3px solid var(--beauval-yellow);color:var(--beauval-red-dark);background:#fff1e9;margin-top:7px;padding:7px;font-size:9px;font-weight:800;line-height:1.4;display:block}.day-timeline .is-selected article>button{background:#fff;border-color:#bd342a40;box-shadow:0 7px 17px #2e211414}.day-timeline .is-next .timeline-node{animation:1.6s ease-in-out infinite activeDot}.day-timeline .is-completed .timeline-node{background:var(--beauval-green);color:#fff;box-shadow:0 0 0 2px #39774a}.day-timeline .is-completed time{color:#4d7b59}.show-chapter{padding-top:10px}.show-anchors{gap:13px;display:grid}.show-anchors>button{width:100%;color:var(--beauval-ink);text-align:left;cursor:pointer;background:#fff;border:2px solid #dfd1ba;border-radius:16px;grid-template-columns:58px 1fr;align-items:center;gap:12px;padding:14px;display:grid;box-shadow:0 5px #e1d2b8}.show-icon{width:56px;height:56px;color:var(--beauval-red);background:#fff0be;border-radius:50%;place-items:center;display:grid}.show-icon svg{stroke-width:2.5px;width:27px;height:27px}.show-copy{display:grid}.show-copy time{color:var(--beauval-red);font-family:var(--display);font-size:24px;line-height:1}.show-copy b{margin-top:4px;font-size:12px;line-height:1.25}.show-copy small{color:#756c5f;text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:850}.alternative-shows{background:#ffffff9e;border:1px dashed #b9a98e;border-radius:12px;margin-top:18px;padding:12px 13px;font-size:11px}.alternative-shows summary{min-height:34px;color:var(--beauval-red);cursor:pointer;font-weight:900}.alternative-shows div{margin-top:6px;font-weight:750}.alternative-shows p{color:#756c5f;margin:9px 0 0;font-size:10px;line-height:1.4}.pocket-chapter{padding-top:18px}.pocket-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pocket-grid article{background:#fff;border:1px solid #dfd4c2;border-radius:13px;min-height:142px;padding:13px;box-shadow:0 5px 13px #2a1f140d}.pocket-grid article.is-alert{background:#fff0e9;border-color:#e5b0a8}.pocket-grid svg{width:23px;height:23px;color:var(--beauval-red)}.pocket-grid h3{margin:8px 0 4px;font-size:12px}.pocket-grid p{color:#756c5f;margin:0;font-size:10px;font-weight:700;line-height:1.4}.final-return-card{border:2px dashed var(--beauval-red);background:#fff1be;border-radius:16px;grid-template-columns:52px 1fr;align-items:center;gap:13px;margin:0 17px 24px;padding:17px;display:grid}.final-return-card>span{background:var(--beauval-red);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.final-return-card small{color:var(--beauval-red);letter-spacing:.09em;font-size:9px;font-weight:900}.beauval-page .final-return-card h2{font-family:var(--display);margin:2px 0 4px;font-size:20px;font-weight:400;line-height:1.1}.final-return-card p{margin:0;font-size:10px;font-weight:750;line-height:1.4}.official-links{text-align:center;border-top:1px solid #d8cab4;margin:0 17px 36px;padding:16px}.official-links>svg{color:var(--beauval-yellow)}.official-links p{color:#756c5f;margin:7px auto 12px;font-size:10px;font-weight:750;line-height:1.4}.official-links>div{flex-wrap:wrap;justify-content:center;gap:8px 13px;display:flex}.official-links a{min-height:44px;color:var(--beauval-red);align-items:center;gap:4px;font-size:10px;font-weight:900;display:inline-flex}.official-links a svg{width:12px;height:12px}.sticky-return-action{z-index:60;right:max(12px,50vw - min(100vw,1180px)/2 + 12px);bottom:calc(10px + env(safe-area-inset-bottom));background:var(--beauval-red);color:#fff;min-width:min(340px,100vw - 24px);min-height:60px;box-shadow:0 7px 0 var(--beauval-red-dark), 0 13px 27px #39181252;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:10px 17px;display:flex;position:fixed}.phase-return .sticky-return-action{background:#8c201b;animation:1.4s ease-in-out infinite urgentPulse}.sticky-return-action>svg{flex:none;width:24px;height:24px}.sticky-return-action>span{text-align:left;font-size:12px;font-weight:900;line-height:1.1;display:grid}.sticky-return-action small{color:#ffe39a;letter-spacing:.02em;text-transform:uppercase;margin-top:3px;font-size:9px}.bus-sheet-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#071c32ad;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.bus-return-dialog{width:min(100%,520px);max-height:calc(100vh - 32px);padding:27px 18px calc(20px + env(safe-area-inset-bottom));border:3px solid var(--beauval-yellow);background-color:var(--beauval-paper);text-align:center;background-image:radial-gradient(#d9cbb3 .75px,#0000 .75px);background-size:8px 8px;border-radius:24px 24px 15px 15px;position:relative;overflow-y:auto;box-shadow:0 22px 60px #00000059}.sheet-close{width:44px;height:44px;color:var(--beauval-red);cursor:pointer;background:#fff;border:1px solid #dbcdb8;border-radius:50%;place-items:center;display:grid;position:absolute;top:11px;right:11px}.sheet-icon{background:var(--beauval-red);color:#fff;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 10px;display:grid}.sheet-kicker{color:var(--beauval-red);letter-spacing:.11em;margin:0;font-size:9px;font-weight:900}.beauval-page .bus-return-dialog h2,.bus-return-dialog h2{color:var(--beauval-ink);font-family:var(--display);margin:7px auto 19px;font-size:23px;font-weight:400;line-height:1.1}.return-anchors{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.return-anchors div{background:#fff;border:1px solid #e0d1b8;border-radius:11px;padding:10px 5px;display:grid}.return-anchors time{color:var(--beauval-red);font-family:var(--display);font-size:17px}.return-anchors span{font-size:9px;font-weight:850}.pickup-warning{border-left:4px solid var(--beauval-yellow);color:var(--beauval-ink);text-align:left;background:#fff2d0;align-items:flex-start;gap:9px;margin:14px 0;padding:12px;font-size:11px;font-weight:750;line-height:1.45;display:flex}.pickup-warning svg{width:20px;height:20px;color:var(--beauval-red);flex:none}.bus-return-dialog>a{background:var(--beauval-ink);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:48px;padding:11px 15px;font-size:11px;font-weight:900;text-decoration:none;display:inline-flex}.bus-return-dialog>a svg{width:15px;height:15px}@keyframes activeDot{50%{box-shadow:0 0 0 7px #f2b72d47, 0 0 0 2px var(--beauval-red)}}@keyframes urgentPulse{50%{filter:brightness(1.12)}}@media (width>=700px){.beauval-nav{padding-inline:5%}.beauval-hero{text-align:left;grid-template-columns:.8fr 1.2fr;gap:4%;min-height:475px;padding:54px 7% 32px}.beauval-page .beauval-hero h1{font-size:clamp(58px,8vw,83px)}.beauval-hero .hero-copy p{font-size:17px}.bus-deadline-card{max-width:680px;margin:-30px auto 0;padding:18px 20px}.journal-chapter{padding:78px 7%}.map-chapter{border-radius:26px;margin-top:78px}.checkpoint-legend{grid-template-columns:repeat(4,1fr)}.checkpoint-legend li:last-child{grid-column:auto}.show-anchors{grid-template-columns:1fr 1fr}.pocket-grid{grid-template-columns:repeat(4,1fr)}.final-return-card,.official-links{max-width:760px;margin-left:auto;margin-right:auto}.bus-sheet-backdrop{align-items:center}.bus-return-dialog{border-radius:24px;padding:34px 28px}}@media (width>=1000px){.beauval-page{width:min(100%,1180px)}.beauval-hero{min-height:535px;padding-inline:9%}.beauval-page .beauval-hero h1{font-size:88px}.beauval-content{grid-template-columns:1.05fr .95fr;align-items:start;padding:0 5% 20px;display:grid}.bus-deadline-card{grid-column:1/-1;width:min(100%,760px);margin-top:-42px}.map-chapter{border-radius:24px 0 0 24px;grid-column:1;margin:92px 0 70px;padding:58px 34px;position:sticky;top:76px}.timeline-chapter{background:#fffcf5e6;border:1px solid #e0d2bd;border-left:0;border-radius:0 24px 24px 0;grid-column:2;margin-top:92px;padding:58px 28px}.map-chapter .chapter-heading h2,.timeline-chapter .chapter-heading h2{text-wrap:balance;font-size:35px;line-height:1.04}.show-chapter,.pocket-chapter,.final-return-card,.official-links{grid-column:1/-1}.show-chapter{padding-top:84px}.pocket-chapter{padding-top:54px}.chapter-heading>span{font-size:13px}.day-timeline>li{grid-template-columns:61px 23px minmax(0,1fr)}.sticky-return-action{right:max(20px,50vw - 570px)}}@media (width<=359px){.beauval-nav span{max-width:155px;font-size:9px}.beauval-page .beauval-hero h1{font-size:41px}.bus-deadline-heading>span{width:42px;height:42px}.bus-deadline-times time{font-size:14px}.checkpoint-legend{grid-template-columns:1fr}.checkpoint-legend li:last-child{grid-column:auto}.pocket-grid{grid-template-columns:1fr}.sticky-return-action{width:calc(100% - 16px);min-width:0;left:8px;right:8px}}@media (prefers-reduced-motion:reduce){.beauval-page *,.beauval-page :before,.beauval-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.journal-polaroid{transform:none}}
