@font-face{font-family:Manrope;src:url('./assets/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--navy:#00175a;--blue:#006fcf;--ink:#18274b;--muted:#596278;--paper:#f8f9fc;--line:#dce1ec;--silver:#c8c9c7;--error:#a12c39;--error-bg:#fff2f3;--success:#22634f;--radius:6px;font-family:Manrope,'Avenir Next',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit}button{color:inherit}p,h1,h2,h3{margin:0}p{line-height:1.7}h1,h2,h3{font-weight:500;letter-spacing:-.045em}h2{font-size:2.5rem;line-height:1.2}h3{font-size:1.25rem;line-height:1.4}img{max-width:100%;display:block}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}input:focus{outline:3px solid #006fcf30;outline-offset:0;border-color:var(--blue)}[hidden]{display:none!important}.skip{position:fixed;top:10px;left:10px;z-index:30;padding:12px;background:var(--paper);transform:translateY(-160%)}.skip:focus{transform:none}.demo-bar{font-size:.7rem;text-align:center;letter-spacing:.03em;padding:9px 16px;color:#d8e3ff;background:var(--navy);line-height:1.4}.demo-bar span{padding:0 9px}.masthead{height:109px;padding:24px 5.5%;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.brand-link{display:inline-block;flex-shrink:0}.brand-link img{width:198px;height:auto}.anniversary{text-align:right;font-weight:500;font-size:1.75rem;letter-spacing:-.04em;line-height:1.1}.anniversary span{display:block;letter-spacing:.01em;font-size:.7rem;font-weight:500;margin-top:7px;color:var(--muted)}.experience{display:grid;grid-template-columns:1fr 1fr;min-height:700px}.scene{background:var(--navy);position:relative;overflow:hidden;padding:39px 11% 24px;color:#f3f5fc;display:flex;flex-direction:column;isolation:isolate}.scene-pattern{position:absolute;inset:0;background-image:url('./assets/world-service.webp');background-size:690px;opacity:.075;z-index:-1}.scene:after{content:'';position:absolute;width:700px;height:700px;border:1px solid #d7e2ff22;border-radius:50%;right:-450px;top:5%;z-index:-1}.scene-top{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.66rem;letter-spacing:.065em}.scene-kicker{text-transform:uppercase;font-weight:700}.scene-edition{opacity:.75;text-align:right;white-space:nowrap}.scene-copy{padding-top:77px}.scene-intro{color:#b5c6ed;font-size:.81rem;margin-bottom:18px}.scene h1{font-size:clamp(2.6rem,4.2vw,4.4rem);line-height:1.12;font-weight:400;letter-spacing:-.05em}.scene-lead{font-size:.87rem;line-height:1.8;color:#cbd5ee;margin-top:26px}.artboard{display:flex;align-items:center;gap:25px;margin-top:43px}.artboard-card{width:200px;flex-shrink:0;padding:13px;background:#fff;border-radius:3px}.artboard-card img{width:100%;height:auto}.artboard-caption>span{display:block;font-size:2rem;letter-spacing:-.04em;font-weight:300}.artboard-caption p{margin-top:6px;font-size:.72rem;color:#bdcbe8;line-height:1.6}.scene-bottom{display:flex;align-items:center;justify-content:space-between;font-size:.65rem;color:#becce9;border-top:1px solid #d7e2ff30;margin-top:auto;padding-top:18px}.compass{font-size:1.5rem;line-height:1}.workspace{background:var(--paper);padding:65px clamp(28px,6vw,106px) 50px;min-width:0;outline:none;display:flex;align-items:center}.app{width:100%;max-width:480px;margin:0 auto}.app>section{animation:arrive .16s ease-out}.eyebrow{display:flex;align-items:center;gap:9px;font-size:.7rem;color:var(--muted);margin-bottom:25px}.eyebrow svg{width:14px;height:14px;flex-shrink:0}.eyebrow .dot{width:5px;height:5px;background:var(--blue);border-radius:50%}.intro-copy{font-size:.9rem;color:var(--muted);margin-top:20px;line-height:1.8}.gate-form{margin-top:35px}.field{display:block;margin-bottom:22px}.field label,.field-label{display:block;font-weight:650;font-size:.78rem;margin-bottom:9px;letter-spacing:.005em}.input-wrap{position:relative}input:not([type=checkbox]){width:100%;min-height:54px;border:1px solid #b9c2d4;border-radius:var(--radius);padding:14px 16px;background:#fff;color:var(--ink);font-size:1rem;transition:border-color .16s}input::placeholder{color:var(--muted);opacity:1}input[aria-invalid=true]{border-color:var(--error)}.input-wrap input{padding-right:56px}.password-toggle{position:absolute;right:7px;top:5px;min-width:44px;min-height:44px;background:transparent;display:grid;place-items:center;border-radius:4px}.password-toggle svg{height:18px;width:18px;color:var(--muted)}.field-help{font-size:.72rem;color:var(--muted);line-height:1.6;margin-top:9px}.field-error{color:var(--error);font-size:.75rem;margin-top:8px;line-height:1.5}.primary,.secondary,.danger{min-height:53px;padding:14px 19px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:14px;font-size:.83rem;font-weight:650;line-height:1.5;text-decoration:none;transition:background .16s,border-color .16s}.primary{background:var(--navy);color:#f9fbff;border:1px solid var(--navy);width:100%}.primary:hover{background:#0a2c77}.primary svg{width:20px;height:20px;margin-left:auto}.primary span:first-child{margin-right:auto}.secondary{background:transparent;border:1px solid #b9c2d4;color:var(--ink)}.secondary:hover{background:#eef1f8}.danger{background:var(--error);color:#fff5f5}.form-bottom{font-size:.7rem;color:var(--muted);display:flex;align-items:flex-start;gap:8px;margin-top:17px;line-height:1.7}.form-bottom svg{width:13px;height:15px;flex-shrink:0;margin-top:2px}.divider-note{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.7rem;line-height:1.8}.divider-note strong{font-weight:650;color:var(--ink)}.footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:23px 5.5%;font-size:.65rem;color:var(--muted);border-top:1px solid var(--line);background:#fff}.footer>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.text-button{background:none;color:inherit;padding:0;text-decoration:underline;text-underline-offset:4px;font-size:inherit;min-height:44px}.error-box,.info-box{font-size:.8rem;line-height:1.7;border:1px solid #e6bfc5;background:var(--error-bg);color:#8a2230;border-radius:var(--radius);padding:14px 16px;margin:18px 0}.info-box{color:var(--ink);background:#eef2fb;border-color:#d9e2f5}.steps{display:flex;justify-content:space-between;gap:12px;padding:0;list-style:none;margin:0 0 38px}.steps li{font-size:.65rem;color:var(--muted);display:flex;align-items:center;gap:7px;position:relative}.steps span{display:grid;place-items:center;height:24px;width:24px;border:1px solid #bec7d7;border-radius:50%;font-size:.63rem;flex-shrink:0}.steps li[aria-current=step]{font-weight:700;color:var(--navy)}.steps li[aria-current=step] span,.steps li.complete span{color:#f3f7ff;background:var(--navy);border-color:var(--navy)}.view-heading{font-size:2rem;margin-bottom:14px}.back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;background:transparent;color:var(--muted);font-size:.75rem;padding:0;margin-bottom:17px}.back-link svg{width:16px;height:16px}.intro-list{list-style:none;padding:0;margin:29px 0 30px}.intro-list li{padding:16px 0;display:grid;grid-template-columns:30px 1fr;gap:14px;border-bottom:1px solid var(--line);font-size:.85rem;line-height:1.6}.intro-list li:first-child{border-top:1px solid var(--line)}.intro-list .list-n{font-size:.7rem;color:var(--blue);font-weight:650;padding-top:3px}.intro-list small{display:block;color:var(--muted);font-size:.74rem;margin-top:3px}.destination{border:0;padding:0;margin:25px 0 0;min-width:0}.destination legend{font-size:.85rem;font-weight:700;margin-bottom:12px}.photo-slot{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:19px;background:#edf0f7;border:1px solid var(--line);padding:18px 21px;margin-bottom:16px;border-radius:4px;overflow:hidden}.photo-slot .wall-number{font-size:2rem;font-weight:300;color:#697b9f;letter-spacing:-.06em}.photo-slot p{font-size:.74rem;color:var(--muted);line-height:1.7}.photo-slot strong{font-size:.75rem;color:var(--ink);font-weight:650;display:block;margin-bottom:3px}.destination-photo{width:100%;height:auto;object-fit:contain;border-radius:4px;margin-bottom:16px}.destination .field{margin-bottom:23px}.form-actions{display:flex;gap:12px;margin-top:26px}.form-actions .secondary{min-width:104px}.form-actions .primary{flex:1;min-width:0;gap:8px;padding-left:12px;padding-right:12px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-section{margin-top:28px}.optional{font-size:.7rem;font-weight:400;color:var(--muted)}.check-line{display:flex;align-items:flex-start;gap:11px;font-size:.73rem;line-height:1.7;margin-top:18px;cursor:pointer}.check-line input{accent-color:var(--navy);width:18px;height:18px;flex-shrink:0;margin:3px 0 0}.privacy-text{font-size:.72rem;color:var(--muted);line-height:1.8;margin-top:25px}.privacy-text .text-button{display:inline;min-height:auto}.review-block{margin-top:27px;border-top:1px solid var(--line);padding-top:19px}.review-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:7px}.review-heading h3{font-size:.88rem;font-weight:700;letter-spacing:0}.review-heading button{font-size:.73rem}.review-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line);font-size:.78rem;padding:12px 0;line-height:1.6}.review-row span:first-child{color:var(--muted);flex-shrink:0}.review-row span:last-child{text-align:right;overflow-wrap:anywhere}.review-person{font-size:.83rem;line-height:1.9;margin-top:8px;overflow-wrap:anywhere}.review-person small{display:block;color:var(--muted);font-size:.76rem}.review-footer{font-size:.7rem;line-height:1.8;color:var(--muted);margin:19px 0}.success-seal{height:64px;width:64px;border:1px solid #acc0b5;display:grid;place-items:center;border-radius:50%;margin-bottom:25px;color:var(--success)}.success-seal svg{height:29px;width:29px}.receipt{font-size:.7rem;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:29px 0 25px;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:18px}.receipt strong{font-weight:650;font-size:.93rem;letter-spacing:.08em;color:var(--ink)}.state-icon{font-size:2.5rem;color:var(--blue);margin-bottom:22px}.state-note{margin-top:26px;font-size:.8rem;color:var(--muted);line-height:1.9}.loading{font-size:.9rem;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:8px;padding:26px;max-width:520px;width:calc(100% - 32px);color:var(--ink);background:var(--paper)}dialog::backdrop{background:#00102e85}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:18px}.dialog-head h2{font-size:1.5rem}.icon-button{min-height:44px;min-width:44px;background:transparent;font-size:1.6rem}dialog p{font-size:.85rem}.fineprint{font-size:.72rem!important;color:var(--muted);margin-top:20px}.noscript{padding:30px}.experience.in-play .scene{min-height:700px}.experience.in-play .scene-copy{padding-top:90px}.experience.in-play .workspace{align-items:flex-start;padding-top:40px;padding-bottom:50px}.experience.in-play .artboard{margin-bottom:55px}.admin-page .scene h1{font-size:3.25rem}.admin-page .scene-copy{padding-top:75px}.admin-page .workspace{align-items:flex-start;padding-top:48px}.dev-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--navy);color:#f3f5fc;padding:12px 20px;border-radius:6px;box-shadow:0 5px 22px #00175a26;z-index:40;font-size:.75rem;text-align:center}.dev-toast button{background:none;color:inherit;text-decoration:underline;margin-left:12px;min-height:44px}.status-compact{font-size:.72rem;color:var(--muted);margin:12px 0}
@keyframes arrive{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.experience{min-height:790px}.scene{padding-left:15%;padding-right:12%}.scene-copy{padding-top:100px}.artboard{margin-top:55px}.artboard-card{width:240px}}
@media(max-width:1100px) and (min-width:761px){.scene{padding-left:9%;padding-right:9%}.scene-edition{display:none}.scene h1{font-size:3rem}.artboard{gap:17px}.artboard-card{width:155px}.artboard-caption>span{font-size:1.7rem}.artboard-caption p{font-size:.65rem}.workspace{padding-left:7%;padding-right:7%}.steps{gap:5px}.steps li{gap:5px;font-size:.6rem}}
@media(max-width:760px){.demo-bar{font-size:.6rem;padding:8px 10px}.demo-bar span{padding:0 4px}.masthead{height:84px;padding:19px 24px}.brand-link img{width:158px}.anniversary{font-size:1.5rem}.anniversary span{font-size:.54rem;max-width:104px;line-height:1.5;margin-top:4px}.experience{display:block;min-height:0}.scene{padding:24px 26px 23px;min-height:0}.scene-top{font-size:.59rem}.scene-edition{font-size:.58rem}.scene-copy{padding-top:29px}.scene-intro{font-size:.7rem;margin-bottom:10px}.scene h1{font-size:2.55rem;line-height:1.15}.scene-lead{font-size:.75rem;margin-top:16px;line-height:1.8}.scene-lead br{display:none}.artboard{display:none}.scene-bottom{margin-top:25px;padding-top:13px;font-size:.58rem}.compass{font-size:1.3rem}.workspace{padding:33px 26px 35px;display:block}.app{max-width:480px}h2{font-size:2rem}.eyebrow{font-size:.66rem;margin-bottom:17px}.intro-copy{font-size:.81rem;margin-top:15px}.gate-form{margin-top:24px}.field{margin-bottom:20px}.field label{font-size:.75rem}.field-help{font-size:.68rem}.divider-note{margin-top:26px;padding-top:18px;font-size:.66rem}.form-bottom{font-size:.65rem}.footer{padding:17px 26px;display:block;font-size:.6rem}.footer>div{justify-content:space-between;gap:10px}.footer>p{margin-bottom:3px}.footer .text-button{min-height:37px}.experience.in-play .scene{display:none}.experience.in-play .workspace{padding-top:25px;min-height:calc(100svh - 205px)}.steps{margin-bottom:25px;gap:7px}.steps li{font-size:.6rem;gap:6px}.steps span{width:22px;height:22px;font-size:.6rem}.view-heading{font-size:1.8rem}.back-link{font-size:.7rem;margin-bottom:12px}.destination{margin-top:23px}.photo-slot{padding:15px 18px;grid-template-columns:50px 1fr;gap:15px}.photo-slot p{font-size:.7rem}.photo-slot strong{font-size:.72rem}.two-fields{gap:12px}.review-row{font-size:.73rem}.admin-page .scene{display:none}.admin-page .workspace{padding-top:26px}.admin-page .view-heading{font-size:1.7rem}.dev-toast{width:calc(100% - 30px);bottom:12px}}
@media(max-width:760px){.scene-intro,.scene-lead{display:none}.scene-copy{padding-top:22px}.scene h1{font-size:2.2rem}.scene-bottom{margin-top:20px;padding-top:12px}.scene{padding-bottom:18px}}
@media(max-width:350px){.masthead{padding-left:18px;padding-right:18px}.brand-link img{width:140px}.workspace,.scene{padding-left:20px;padding-right:20px}.scene-edition{display:none}.steps li{font-size:.55rem;gap:4px}.two-fields{grid-template-columns:1fr;gap:0}}
.scene-photo-frame{position:absolute;inset:0;z-index:-3}.scene-photo-frame img{height:100%;width:100%;object-fit:cover;object-position:40% center}.scene-with-photos:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#00175a80 0%,#00175a80 40%,#00175aed 85%,#00175af5 100%);z-index:-2}.scene-with-photos .scene-pattern{opacity:.025}.scene-with-photos:after{display:none}.scene-with-photos .scene-intro{color:#e4ecff}.scene-with-photos .scene-lead{color:#edf2ff}.scene-gallery-wrap{margin:39px 0 35px}.scene-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.scene-gallery figure{margin:0;position:relative;overflow:hidden;border:1px solid #e5edff55;border-radius:3px}.scene-gallery img{width:100%;height:103px;object-fit:cover}.scene-gallery figcaption{position:absolute;left:7px;bottom:6px;border-radius:2px;background:var(--navy);color:#f5f8ff;font-size:.6rem;padding:3px 6px;line-height:1}.scene-gallery-wrap>p{font-size:.68rem;color:#d1ddef;margin-top:12px}.photo-demo-label{font-size:.65rem;color:var(--muted);margin-top:-8px;margin-bottom:14px;display:flex;align-items:center;gap:7px}.photo-demo-label:before{content:'';width:5px;height:5px;background:var(--blue);border-radius:50%}.destination-photo{aspect-ratio:3/2;object-fit:contain}.scene-with-photos .scene-copy{padding-top:77px}.scene-with-photos .scene-bottom{color:#d1ddef}.scene-with-photos .scene-edition{opacity:1;color:#edf2ff}
@media(min-width:1500px){.scene-with-photos .scene-copy{padding-top:100px}.scene-gallery-wrap{margin-top:45px}.scene-gallery img{height:125px}}
@media(max-width:760px){.scene-with-photos{padding-bottom:17px}.scene-with-photos .scene-copy{padding-top:35px}.scene-with-photos .scene-bottom{margin-top:28px}.scene-with-photos .scene-photo-frame img{object-position:center 46%}.scene-with-photos:before{background:linear-gradient(90deg,#00175ac9,#00175a66),linear-gradient(0deg,#00175ac9,transparent 70%)}.scene-gallery-wrap{display:none}.destination-photo{max-height:none}.destination .field.form-section{margin-top:21px}.photo-demo-label{font-size:.63rem;margin-bottom:13px}.experience.in-play .scene-with-photos .scene-copy{padding-top:35px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Lisibilité et navigation au clavier. */
input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.check-line{min-height:44px;align-items:center}
.privacy-text .text-button{display:inline-block;min-height:44px}
@media(max-width:760px){
  .intro-copy,.intro-list li,.state-note{font-size:.9375rem}
  .field label,.destination legend,.primary,.secondary,.danger,.review-person,.review-row{font-size:.875rem}
  .field-help,.field-error,.form-bottom,.privacy-text,.check-line,.review-footer,.review-person small,.intro-list small,.status-compact,.divider-note,.receipt,.optional,.photo-demo-label{font-size:.8125rem}
  .review-heading h3,.review-heading button{font-size:.875rem}
  .eyebrow{font-size:.75rem}
  .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .steps li{font-size:.75rem;flex-direction:column;text-align:center;line-height:1.5}
  .footer{font-size:.75rem}.footer .text-button{min-height:44px}
  .anniversary span{font-size:.65rem}
}

/* Information du jeu accessible avant toute saisie. */
.game-conditions{margin-top:18px;font-size:.8125rem;font-weight:650;color:var(--navy)}
.form-legal-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:14px 0;font-size:.8125rem;line-height:1.6}
.form-legal-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.footer{flex-wrap:wrap;gap:12px 24px}.footer nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px 20px}.footer nav a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px;font-size:.75rem}
.privacy-full-link{margin-top:18px;font-size:.875rem}.privacy-full-link a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
@media(max-width:760px){.footer nav{margin:10px 0;gap:4px 16px}.game-conditions{font-size:.8125rem}.form-legal-links{font-size:.875rem}}
