/* Visual lock: existing Vayako brand and complete copy; choreographed browser-native motion,
   tactile CSS details, dimensional card composition inspired by reviewed React Bits. */
:root{--creme:#fffaf2;--texte:#102e42;--gris:#465c6a;--gris-clair:#59727d}
body{letter-spacing:0;font-family:Nunito,sans-serif;background:#fffaf2}
.wrap{max-width:1240px;padding-left:40px;padding-right:40px}
header{position:sticky;top:0;z-index:30;background:#fffaf2ed;backdrop-filter:blur(20px);border-bottom:1px solid #122e4210}
header .wrap{height:86px}.marque{color:var(--ink);font-size:29px}.marque img{width:44px;height:44px}
.desktop-nav{display:flex;gap:25px}.desktop-nav a{font-size:14px;font-weight:800;color:var(--texte);text-decoration:none}
.desktop-nav a:hover{color:#a94d0b}.langue summary{background:transparent;box-shadow:none;font-size:13px}
.btn{border-radius:16px;text-transform:none;font-size:15px;letter-spacing:0;padding:16px 23px;box-shadow:0 4px 0 #b95a19;position:relative;overflow:hidden;color:#092639;background:#ff9f50}
.btn::after{content:'↗';font-size:19px;margin-left:8px;transition:transform .2s}.btn:hover::after{transform:translate(3px,-3px)}
.btn.creux{box-shadow:0 0 0 1px #16344930 inset;color:#163449;background:#fff8}.btn svg{width:18px}
.bloc{padding:110px 0;overflow:clip;scroll-margin-top:86px}.bloc::after{display:none}
main>.bloc:first-child{padding-top:0;background:radial-gradient(ellipse at 84% 30%,#fbd9aa77 0,transparent 48%),#fffaf2}
.hero{grid-template-columns:1.08fr 1fr;gap:50px;min-height:640px;padding-top:65px;padding-bottom:65px}
.hero>div:last-child{grid-column:1;grid-row:1}.hero-img{grid-column:2;grid-row:1;height:510px;align-items:center;perspective:1000px}
h1,h2,h3{font-family:Fredoka,Nunito,sans-serif;font-weight:600;letter-spacing:-.035em}
h1{font-size:clamp(42px,4.6vw,66px);line-height:1.06;max-width:640px;margin-bottom:26px}h1 em{font-style:normal;color:#b34c11;position:relative}
h1 em::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:5px;background:#edaa623e;border-radius:50%}
h2{font-size:clamp(35px,3.8vw,54px);line-height:1.12;margin-bottom:23px}p{line-height:1.7}.lead{font-size:18px;max-width:32em}.note{font-size:12px;color:#54606c}
.hero-img>img{max-width:330px;width:70%;z-index:3;filter:drop-shadow(0 24px 20px #16425220);animation:none;transform:rotate(-6deg)}
.bulle{display:none}.planet{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e8f8f7,#acd9da 66%,#85b7bf);box-shadow:inset -18px -12px 35px #3b849826,0 35px 70px #357f8112;overflow:hidden;transform:rotate(-20deg)}
.planet::before,.planet::after,.latitude,.longitude{content:'';position:absolute;border:1px solid #fff8;border-radius:50%;inset:0 23%}.planet::after{inset:25% -10%}.latitude{inset:42% -10%}.longitude{inset:0 39%}
.orbit{position:absolute;width:125%;height:125%;overflow:visible;z-index:1;pointer-events:none}.orbit ellipse{fill:none;stroke:#d77c3d;stroke-width:1.4;stroke-dasharray:5 7}.orbit circle{fill:#e8853a;stroke:#fffaf2;stroke-width:5}
.travel-card{position:absolute;z-index:5;border:1px solid #fff9;background:#fffef9f0;backdrop-filter:blur(10px);box-shadow:0 14px 35px #16425215;border-radius:18px;padding:18px 22px;min-width:188px;will-change:transform}
.travel-card small{font-size:9px;letter-spacing:.14em;font-weight:900;color:#55737b;display:block}.travel-card strong{font-size:24px;color:var(--ink);display:block;margin:4px 0;font-family:Fredoka;font-weight:500}.travel-card>span:last-child{font-size:11px;color:#62727c}
.card-city{top:20px;left:-20px;transform:rotate(-8deg)}.card-trip{bottom:18px;right:-22px;transform:rotate(7deg)}.mini-route{display:flex;align-items:center;margin-top:12px}.mini-route i{width:9px;height:9px;background:#e8853a;border-radius:50%}.mini-route b{height:1px;background:#e8853a88;width:56px}.mascot-caption{position:absolute;bottom:0;left:-25px;z-index:4;max-width:150px;font-size:12px;font-weight:800;line-height:1.4;color:#5d727c;transform:rotate(-7deg)}
.preuve{border-top:1px solid #09263915;justify-content:space-between;margin-top:5px;padding-top:28px;padding-bottom:28px;gap:24px}.preuve>div{flex:1;max-width:none;min-width:0;background:none;padding:0;text-align:left}.preuve .n{padding:0;background:none;text-align:left;max-width:none;font-size:42px;color:var(--ink)}.preuve .l{padding:0;background:none;text-align:left;max-width:none;font-size:13px}.ruban{background:#eaf1ed;padding:19px 0;border-block:1px solid #1b473b10;transform:rotate(-1deg);width:102%;margin-left:-1%;position:relative;z-index:3}.ruban li{font-size:18px;color:#557063;font-weight:500}
.bloc.ciel{background:#eaf6f6}.duo{gap:95px;grid-template-columns:1fr 1fr;min-height:670px}.duo.inverse .txt{order:2}.puce{background:transparent!important;padding:0;border-radius:0;font-size:11px;letter-spacing:.16em;margin-bottom:23px}.puce::before{content:'';width:7px;height:7px;background:currentColor;border-radius:50%}.txt>p{font-size:17px}.liste{margin-top:28px}.liste li{font-size:15px;padding:14px 0;margin:0;border-top:1px solid #15324914;line-height:1.65}.coche{width:19px;height:19px;border-radius:50%;box-shadow:none;background:#317865;margin-top:3px}.coche::after{left:7px;top:4px;width:4px;height:8px;border-width:0 2px 2px 0}.liste b{display:block}
.scene{min-height:620px;isolation:isolate}.scene::before{width:470px;height:470px;border-radius:50%;opacity:.15;transform:none}.scene::after{width:530px;height:530px;border:1px dashed currentColor;background:transparent;opacity:.18;transform:rotate(15deg)}
.tel{max-width:285px;border-radius:42px;padding:8px;background:#163649;box-shadow:14px 25px 0 #16364909,0 35px 60px #15324920;transform:rotate(-5deg)}.tel::before{top:16px;width:75px;height:19px}.ecran{padding:0;display:block;background:#fffef8;border-radius:34px;text-align:left}.scene-guide{position:absolute;z-index:5;width:160px;height:180px;object-fit:contain;right:-12px;bottom:22px;filter:drop-shadow(0 14px 10px #17394815)}.inverse .scene-guide{right:auto;left:-15px;width:180px}
.concept-phone{padding:40px 19px 15px;min-height:100%;position:relative}.phone-top{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);margin-bottom:12px}.phone-top>span:last-child{margin-left:auto}.phone-top img{width:25px;height:25px;object-fit:contain}.screen-caption{font-size:9px;color:#697b82;display:block;margin-bottom:23px}.concept-phone h3{font-size:29px;margin-bottom:20px;letter-spacing:-.02em}.bubble{background:#e1f1f0;margin-left:22px;padding:13px;border-radius:16px 16px 3px 16px;font-size:12px;color:#234659}.chat-answer{font-size:14px;font-weight:800;margin:23px 0 15px;color:#1b3746}.choice{border:1px solid #17354620;border-radius:10px;padding:10px 12px;margin-bottom:8px;font-size:12px;color:#3e5969}.choice.chosen{background:#f8c591;border-color:#e8853a;color:#102d40;font-weight:800}.choice span{float:right}.concept-phone .phone-mascot{width:80px;height:85px;object-fit:contain;display:block;margin:14px 0 0 auto}.concept-phone .attente{font:10px Nunito;text-align:center;margin:14px 0 0;opacity:1;color:#6c7b82}
.trip-cover{background:#d7ebe4;border-radius:14px;padding:20px 14px 10px;color:#153d32}.trip-cover>span{font-size:9px;letter-spacing:.13em}.trip-cover h3{font-size:25px;margin:12px 0 0}.trip-cover svg{width:100%;height:65px;fill:#e8853a}.trip-cover path{fill:none;stroke:#c16c29;stroke-width:2;stroke-dasharray:3 3}.days{display:flex;gap:13px;font-size:10px;margin:20px 0 8px;align-items:center}.days b{background:#163c31;color:#fff;padding:7px 10px;border-radius:7px}.stop{display:flex;gap:10px;align-items:center;border-bottom:1px solid #13293712;padding:13px 0}.stop i{font-style:normal;font-size:10px;color:#bd6525;background:#f9e5d4;padding:9px;border-radius:9px}.stop b{display:block;font-size:11px;color:#21473b}.stop small{display:block;font-size:9px;color:#65796e;margin-top:3px}
.nuit{padding:100px 0;background:#082d3c!important;min-height:430px}.nuit .wrap{position:relative;z-index:2}.nuit h2{font-size:58px}.nuit p{font-size:18px!important;color:#c7dbe2;max-width:610px}.nuit img{max-width:340px}.flight-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.flight-path path{fill:none;stroke:#edb276;stroke-width:2;stroke-dasharray:9 10;opacity:.4}.bloc.feuille{background:#f0f5e7}.near-map{height:225px;background:#e2ecd9;position:relative;overflow:hidden;border-radius:13px}.map-road{position:absolute;height:12px;background:#fffcf0;border:1px solid #c8d0be;width:150%;left:-20%;z-index:1}.road-a{top:60px;transform:rotate(-23deg)}.road-b{top:140px;transform:rotate(40deg)}.road-c{top:120px;transform:rotate(90deg)}.map-river{position:absolute;right:-50px;top:0;height:120%;width:95px;background:#b7d9e5;transform:rotate(25deg)}.radar{position:absolute;z-index:2;width:160px;height:160px;border-radius:50%;border:1px solid #e8853a;background:#e8853a0a;top:32px;left:23px}.pin{position:absolute;z-index:3;width:15px;height:15px;border:3px solid white;background:#d97729;border-radius:50%;box-shadow:0 2px 8px #1234}.p1{top:62px;left:58px}.p2{top:138px;left:50px}.p3{top:85px;left:150px}.p4{top:170px;left:125px}.you{position:absolute;z-index:4;top:108px;left:100px;width:12px;height:12px;border-radius:50%;background:#245971;border:3px solid white}.radii{display:flex;justify-content:space-around;font-size:11px;margin:20px 0;align-items:center}.radii b{background:#133b32;color:#fff;border-radius:8px;padding:9px 18px}.near-categories{display:flex;flex-wrap:wrap;gap:7px}.near-categories span{font-size:10px;padding:8px;border-radius:20px;border:1px solid #1a392f25;color:#214a3e}
.mot{max-width:1050px}.mot h2{font-size:clamp(36px,5vw,65px);line-height:1.16}.mot span{display:block;margin-top:30px;font-size:13px}.fin{position:relative;padding-top:20px}.fin img{width:220px;height:240px;object-fit:contain}.fin h2{font-size:64px}.fin p{color:#163346}.bloc.flamme{background:#f5a65a;padding:65px 0 85px}.fin h2{color:#102e42}.fin .btn{color:#102e42;background:#fffaf2;box-shadow:0 4px 0 #b76c33}.motion-controls{position:fixed;right:16px;bottom:14px;z-index:100;background:#103243ee;color:#fff;border:1px solid #ffffff25;border-radius:30px;padding:9px 12px 9px 17px;box-shadow:0 5px 25px #1233;font-size:10px;display:flex;gap:15px;align-items:center;backdrop-filter:blur(15px)}.motion-controls button{font:800 10px Nunito;border:0;background:#ffbf80;border-radius:20px;padding:8px 10px;color:#102d40;cursor:pointer}
.paused *{animation-play-state:paused!important}.paused .scene{transform:none!important}
:focus-visible{outline:3px solid #146e96;outline-offset:5px}
@media(min-width:1500px){.hero{min-height:720px}.hero-img{height:560px}}
@media(max-width:1050px){.desktop-nav{display:none}.hero{gap:15px}.planet{width:340px;height:340px}.hero-img>img{max-width:280px}.travel-card{min-width:155px;padding:13px}.travel-card strong{font-size:21px}.card-city{left:0;top:30px}.card-trip{right:0;bottom:30px}.duo{gap:50px}.scene-guide{right:-10px;width:120px}}
@media(max-width:760px){.wrap{padding-left:24px;padding-right:24px}.bloc{padding:65px 0}header .wrap{height:72px}.marque{font-size:24px;gap:7px}.marque img{width:34px;height:34px}.tete-droite{gap:8px}.tete-droite .btn{padding:11px 12px;font-size:12px}.tete-droite .btn::after{display:none}.langue summary{padding:8px}.langue .code{display:none}.hero{display:flex;flex-direction:column;gap:12px;padding-top:36px;padding-bottom:35px}.hero>div:last-child{order:0}.hero-img{order:1;width:100%;height:385px;min-height:385px}.hero-img>img{width:58%;max-width:265px}.planet{width:300px;height:300px}.orbit{width:108%;height:108%}.travel-card{padding:12px;min-width:135px}.travel-card strong{font-size:18px}.travel-card small{font-size:8px}.card-city{top:20px;left:0}.card-trip{bottom:10px;right:0}.card-city>span:last-child{display:none}.mascot-caption{left:0;bottom:15px;font-size:10px;max-width:120px}h1{font-size:44px;max-width:560px}.lead{font-size:16px}.actions{gap:10px}.actions .btn{padding:13px 16px;font-size:13px}.note{font-size:11px}.preuve{gap:18px;margin-inline:24px;padding:23px 0;flex-wrap:nowrap}.preuve .n{font-size:27px;min-width:0}.preuve .l{font-size:10px;min-width:0}.duo{display:flex;flex-direction:column;gap:40px;min-height:0}.duo.inverse .txt{order:0}.scene{width:100%;min-height:570px}.scene::before{width:330px;height:330px}.scene::after{width:360px;height:360px}.scene-guide,.inverse .scene-guide{right:0;left:auto;width:130px;bottom:0}.tel{max-width:260px}h2{font-size:39px}.txt>p{font-size:16px}.liste li{font-size:14px}.nuit .wrap{display:flex;flex-direction:column;gap:25px}.nuit h2{font-size:43px}.nuit p{font-size:16px!important}.nuit img{max-width:240px}.vol{align-self:flex-end}.mot h2{font-size:40px}.fin h2{font-size:48px}.motion-controls{font-size:9px;right:8px;bottom:8px;gap:8px;padding:7px 9px 7px 12px}footer{padding-bottom:85px}footer .wrap{gap:15px;font-size:12px}}
.tel{aspect-ratio:auto;height:625px}.ecran{height:100%}
.motion-visible .radar{animation:radar-breathe 3s ease-out infinite}.motion-visible .pin{animation:pin-appear .55s both}.motion-visible .p2{animation-delay:.12s}.motion-visible .p3{animation-delay:.24s}.motion-visible .p4{animation-delay:.36s}
@keyframes radar-breathe{0%{transform:scale(.55);opacity:.1}55%{opacity:.8}100%{transform:scale(1.2);opacity:.1}}
@keyframes pin-appear{from{transform:translateY(-15px) scale(.2);opacity:0}to{transform:none;opacity:1}}
@media(max-width:760px){.tel{height:615px}.scene{min-height:655px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.scene{transform:none!important}.rev,.pop{opacity:1!important;transform:none!important}}
