@import url('https://fonts.googleapis.com/css2?family=Lilita+One&display=swap');
:root{--pink:#f8c5e8;--pink-hot:#f2a8dc;--yellow:#fff7b8;--cream:#fffdf7;--ink:#2c2240;--line:2px solid var(--ink);--shadow:6px 6px 0 var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--yellow);color:var(--ink);font-family:"Courier Prime",monospace;font-size:16px;line-height:1.55}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,247,184,.94);backdrop-filter:blur(10px);border-bottom:var(--line)}.nav{min-height:100px;display:flex;align-items:center;gap:20px}.logo{display:block;width:225px;margin-right:auto}.logo img{width:100%;height:auto}.navlinks{display:flex;align-items:center;gap:7px}.navlinks a{background:var(--pink);border:1.5px solid var(--ink);border-radius:999px;padding:9px 13px;text-decoration:none;font-size:.79rem;box-shadow:2px 2px 0 var(--ink);transition:.15s;white-space:nowrap}.navlinks a:hover,.navlinks a[aria-current=page]{background:var(--ink);color:var(--yellow);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.menu{display:none;border:var(--line);border-radius:999px;background:var(--pink);font:inherit;font-weight:bold;padding:8px 14px}
.hero{min-height:calc(100vh - 100px);background:var(--cream);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:42px;padding:54px max(20px,calc((100vw - 1160px)/2));overflow:hidden}.hero h1,.display{font-family:"Lilita One",sans-serif;text-transform:uppercase;letter-spacing:-.025em;line-height:.9}.hero h1{font-size:clamp(3.7rem,7.7vw,7.6rem);color:var(--pink-hot);margin:0 0 25px}.hero-copy p{font-size:1.06rem;max-width:650px}.hero-photo{height:min(74vh,720px);position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;border:3px solid var(--pink-hot);box-shadow:14px 14px 0 var(--yellow)}.hero-photo:after{content:"1€ = 1 surprise";position:absolute;right:-20px;bottom:28px;background:var(--pink);border:var(--line);border-radius:50%;width:128px;aspect-ratio:1;display:grid;place-items:center;text-align:center;font-weight:bold;transform:rotate(8deg)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:var(--line);border-radius:999px;background:var(--pink-hot);color:var(--ink);text-decoration:none;font-weight:bold;padding:12px 24px;box-shadow:4px 4px 0 var(--ink);transition:.15s}.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.btn.yellow{background:var(--yellow);color:var(--ink)}.btn.cream{background:var(--cream);color:var(--ink)}
.ticker{overflow:hidden;border-block:var(--line);background:var(--pink-hot);color:var(--yellow);padding:12px 0;white-space:nowrap;font-weight:bold}.ticker span{display:inline-block;animation:ticker 24s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}
.section{padding:95px 0}.section.cream{background:var(--cream)}.section.pink{background:var(--pink-hot);color:var(--ink)}.section h2,.page-title{font-family:"Lilita One",sans-serif;letter-spacing:-.015em;line-height:.98;margin:0 0 24px}.section h2{font-size:clamp(2.7rem,4.8vw,4.5rem);color:var(--pink-hot)}.pink h2{color:var(--yellow)}.intro{font-size:1.08rem;max-width:780px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:46px;align-items:center}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px}.photo-card{background:var(--pink);border:var(--line);padding:14px 14px 23px;box-shadow:var(--shadow)}.photo-card:nth-child(2){transform:rotate(1.2deg)}.photo-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1.5px solid var(--ink)}.photo-card h3{font-family:"Lilita One",sans-serif;font-size:1.55rem;margin:18px 4px 6px}.photo-card p{margin:0 4px;font-size:.92rem}
.feature{background:var(--cream);color:var(--ink);border:var(--line);padding:30px;box-shadow:var(--shadow)}.feature h3{font-family:"Lilita One",sans-serif;font-size:1.85rem;margin:0 0 10px}.feature-list{display:grid;gap:18px}.split-photo img{width:100%;max-height:650px;object-fit:cover;border:3px solid var(--ink);box-shadow:12px 12px 0 var(--pink)}
.page-hero{padding:85px 0 65px;background:var(--cream);border-bottom:var(--line)}.page-title{font-size:clamp(3.5rem,8vw,7rem);color:var(--pink-hot)}.kicker{display:inline-block;background:var(--yellow);border:var(--line);padding:6px 11px;font-weight:bold;transform:rotate(-1deg);margin-bottom:18px}.page-hero p{font-size:1.12rem;max-width:780px}
.price{background:var(--pink);border:var(--line);padding:38px;box-shadow:var(--shadow)}.price strong.big{font-family:"Lilita One",sans-serif;font-size:3.6rem;line-height:1;display:block}.checklist{padding:0;list-style:none}.checklist li{position:relative;padding-left:28px;margin:12px 0}.checklist li:before{content:"♥";position:absolute;left:0;color:var(--pink-hot)}.options{background:var(--cream);border:var(--line);padding:28px;margin-top:24px}.options dl{margin:0}.options div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px dashed var(--ink)}.options div:last-child{border:0}.options dt{font-weight:bold}.options dd{margin:0;text-align:right}
.form-card{background:var(--cream);border:var(--line);padding:38px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:bold}.field input,.field select,.field textarea{width:100%;border:var(--line);background:white;padding:13px;font:inherit;border-radius:0}.field textarea{min-height:140px;resize:vertical}.form-note{font-size:.82rem;margin-top:15px}
.map-shell{display:grid;grid-template-columns:1.3fr .7fr;gap:32px}.map{min-height:560px;position:relative;background:#f7d7cf;border:var(--line);overflow:hidden;box-shadow:var(--shadow)}.map:before{content:"MARSEILLE";position:absolute;inset:0;display:grid;place-items:center;font-family:"Lilita One",sans-serif;font-size:clamp(4rem,11vw,9rem);color:rgba(44,34,64,.07);transform:rotate(-14deg)}.district{position:absolute;border:2px dashed rgba(44,34,64,.24);border-radius:46% 54% 60% 40%;background:rgba(255,247,184,.45)}.d1{inset:8% 35% 42% 10%}.d2{inset:32% 10% 9% 37%}.heart-pin{position:absolute;width:54px;height:50px;border:0;background:none;cursor:pointer;filter:drop-shadow(3px 4px 0 var(--ink));transition:.15s}.heart-pin:hover{transform:scale(1.12)}.heart-pin img{width:100%;height:100%;object-fit:contain}.pin-1{left:45%;top:47%}.pin-2{left:58%;top:59%}.pin-3{left:63%;top:44%}.soon:after{content:"Bientôt";position:absolute;left:38px;top:-8px;background:var(--yellow);border:1px solid var(--ink);padding:2px 6px;font:700 11px "Courier Prime";white-space:nowrap}.map-card{background:var(--cream);border:var(--line);padding:28px}.location-card{display:none}.location-card.active{display:block}.location-card img{aspect-ratio:4/3;object-fit:cover;border:var(--line);margin-bottom:15px}
.contact-band{text-align:center;background:var(--pink);padding:90px 0;border-top:var(--line)}.contact-band h2{font-family:"Lilita One",sans-serif;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.95;color:var(--yellow);margin:0 0 20px}.site-footer{background:#fff;color:var(--pink-hot);padding:42px 0;border-top:var(--line)}.footer{display:flex;flex-direction:column;justify-content:center;gap:20px;align-items:center;text-align:center}.footer img{width:150px;filter:none}.footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.about-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}
@media(max-width:900px){.nav{min-height:78px}.logo{width:190px}.menu{display:block}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:var(--yellow);padding:18px;border-bottom:var(--line);grid-template-columns:1fr 1fr}.navlinks.open{display:grid}.navlinks a{text-align:center}.hero{grid-template-columns:1fr;padding-top:45px}.hero-photo{height:560px}.grid-2,.map-shell{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.photo-card:nth-child(2){transform:none}.section{padding:70px 0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer{align-items:center;flex-direction:column}}
@media(max-width:520px){.container{width:min(100% - 26px,1160px)}.hero{padding-inline:15px}.hero h1{font-size:3.35rem}.hero-photo{height:480px}.page-hero{padding:58px 0 45px}.page-title{font-size:3.5rem}.section h2{font-size:2.65rem}.contact-band h2{font-size:2.9rem}.price,.form-card{padding:24px}.options div{display:block}.options dd{text-align:left;margin-top:4px}.map{min-height:430px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.ticker span{animation:none}.hero-machine-float{animation:none}}
.ticker{border-top:0;border-bottom:0}
.hero-photo{height:min(70vh,680px);max-width:500px;margin-inline:auto}.hero-photo img{object-fit:contain;border:0;box-shadow:none}
.photo-card{border:0;box-shadow:none}.machine-gallery .photo-card{color:var(--yellow)}.photo-card:nth-child(2){transform:none}.photo-card img{border:0}
.split-photo{display:flex;justify-content:center}.split-photo img{width:min(100%,480px);max-height:560px;border:0;box-shadow:none}
.section.pink .split-photo img{box-shadow:12px 12px 0 var(--yellow)}.section:not(.pink) .split-photo img{box-shadow:12px 12px 0 var(--pink-hot)}
.location-card img{border:0;box-shadow:8px 8px 0 var(--pink-hot)}
@media(max-width:900px){.photo-grid{width:min(100%,520px);margin-inline:auto}.split-photo img{width:min(90%,480px)}}
@media(max-width:520px){.hero-photo{height:440px}.split-photo img{width:min(92%,420px)}}
.hero-motion{grid-template-columns:1.04fr .96fr;padding-right:0;gap:0}.hero-motion .hero-copy{padding-right:45px}.hero-stage{--mx:0px;--my:0px;--bx:0px;--by:0px;--sy:0px;align-self:stretch;min-height:calc(100vh - 100px);position:relative;display:grid;place-items:center;background:var(--pink-hot);overflow:hidden}.hero-stage:before{content:"";position:absolute;inset:-10%;background:linear-gradient(135deg,transparent 0 47%,rgba(255,247,184,.62) 47% 50%,transparent 50% 100%);background-size:70px 70px;opacity:.28;transform:translate(var(--bx),var(--by))}.hero-machine-float{position:relative;z-index:3;width:min(82%,580px);height:min(76vh,720px);object-fit:contain;filter:drop-shadow(18px 20px 0 rgba(44,34,64,.15));transform:translate(var(--mx),calc(var(--my) + var(--sy)));animation:heroFloat 4s ease-in-out infinite;transition:transform .18s ease-out}@keyframes heroFloat{50%{margin-top:-16px}}.hero-echo{position:absolute;z-index:1;left:-2%;top:5%;font:clamp(4.5rem,8vw,8rem)/.72 "Lilita One",sans-serif;color:rgba(255,247,184,.35);letter-spacing:-.04em;transform:translateY(calc(0px - var(--sy)))}.hero-price{position:absolute;z-index:5;top:8%;left:7%;width:122px;aspect-ratio:1;border:2px solid var(--ink);border-radius:50%;background:var(--yellow);display:grid;place-content:center;text-align:center;font:2.9rem/.8 "Lilita One",sans-serif;transform:rotate(-8deg)}.hero-price small{display:block;margin-top:8px;font:700 .65rem/1.05 "Courier Prime",monospace}.home-moments{display:grid;grid-template-columns:1fr 1fr}.home-moment{min-height:76vh;padding:42px;position:relative;overflow:hidden;text-decoration:none;color:var(--ink)}.home-moment.event{background:var(--pink-hot)}.home-moment.places{background:var(--yellow)}.home-moment>span{position:relative;z-index:4;font-weight:bold}.home-moment h2{position:relative;z-index:4;font:clamp(3.2rem,5.9vw,6.4rem)/.8 "Lilita One",sans-serif;letter-spacing:-.03em;margin:38px 0}.home-moment.event h2{color:var(--yellow)}.home-moment.places h2{color:var(--pink-hot)}.home-moment img{position:absolute;right:5%;bottom:7%;width:48%;height:54%;object-fit:cover;filter:grayscale(1);mix-blend-mode:multiply;transition:.45s ease}.home-moment:hover img{filter:grayscale(0);mix-blend-mode:normal;transform:rotate(2deg) scale(1.035)}.home-moment b{position:absolute;z-index:5;left:42px;bottom:38px;border:1.5px solid var(--ink);border-radius:999px;padding:10px 16px;background:var(--cream)}@media(max-width:1120px){.nav{min-height:78px}.logo{width:190px}.menu{display:block}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:var(--yellow);padding:18px;border-bottom:var(--line);grid-template-columns:1fr 1fr}.navlinks.open{display:grid}.navlinks a{text-align:center;font-size:.78rem}}@media(max-width:900px){.hero-motion{grid-template-columns:1fr;padding-right:0}.hero-motion .hero-copy{padding:15px 20px 45px}.hero-stage{min-height:68vh}.hero-machine-float{height:62vh}.home-moments{grid-template-columns:1fr}.home-moment{min-height:68vh}}@media(max-width:520px){.hero-price{width:92px;font-size:2.2rem}.home-moment{padding:30px 20px;min-height:62vh}.home-moment h2{font-size:3.35rem}.home-moment b{left:20px;bottom:24px}.home-moment img{width:58%;height:45%}}

/* Finition douce : aucun trait noir entre les grandes parties. */
.site-header,.page-hero,.contact-band,.site-footer{border-top:0;border-bottom:0}
.ticker{border:0}
.kicker{border:0;border-radius:999px;box-shadow:0 7px 18px rgba(44,34,64,.12);transform:none;padding:7px 13px}
.navlinks a,.menu,.btn,.hero-price,.home-moment b,.soon:after{border:0;box-shadow:0 7px 18px rgba(44,34,64,.13)}
.feature,.price,.options,.form-card,.map,.map-card{border:0;box-shadow:0 14px 34px rgba(77,42,69,.1)}
.field input,.field select,.field textarea{border:1px solid rgba(44,34,64,.16);border-radius:12px}
.options div{border-bottom:0;margin-bottom:5px;padding:12px 13px;border-radius:10px;background:rgba(242,166,195,.18)}
@media(max-width:1120px){.navlinks{border-bottom:0;box-shadow:0 12px 25px rgba(44,34,64,.1)}}

/* Événements : deux formules lisibles, puis toutes les options à la carte. */
.pricing-section .pricing-title{max-width:760px;margin:18px 0 34px}
.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.package-card{position:relative;display:flex;flex-direction:column;min-height:390px;padding:38px;border-radius:30px;overflow:hidden}
.package-card.discovery{background:var(--yellow);box-shadow:12px 12px 0 var(--pink-hot)}
.package-card.signature{background:var(--pink);box-shadow:12px 12px 0 #fff2a8}
.package-card:after{content:"♥";position:absolute;right:24px;top:16px;color:rgba(242,168,220,.42);font:5.8rem/1 "Lilita One",sans-serif;transform:rotate(9deg)}
.package-card.signature:after{color:rgba(255,247,184,.72)}
.package-name{position:relative;z-index:1;display:block;margin-bottom:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.package-card strong.big{position:relative;z-index:1;margin-bottom:20px;color:var(--pink-hot);font-size:clamp(3.5rem,6vw,5.3rem)}
.package-card.signature strong.big{color:var(--yellow)}
.package-card .checklist{position:relative;z-index:1;margin:auto 0 0}
.package-card .checklist li{margin:15px 0}
.options-block{display:grid;grid-template-columns:.72fr 1.28fr;gap:46px;align-items:start;margin-top:70px}
.options-head h2{margin-bottom:16px}
.options-head p{margin:0;max-width:480px}
.options-block .options{margin-top:0;border-radius:28px;padding:20px}
@media(max-width:820px){.package-grid,.options-block{grid-template-columns:1fr}.package-grid{gap:36px}.package-card{min-height:0}.options-block{gap:24px;margin-top:60px}}

/* Carte marseillaise stylisée et très discrète. */
.map{background-color:#ffd5e5;background-image:linear-gradient(28deg,transparent 0 39%,rgba(255,247,184,.92) 40% 42%,transparent 43% 100%),linear-gradient(118deg,transparent 0 56%,rgba(255,255,255,.55) 57% 59%,transparent 60% 100%),repeating-linear-gradient(8deg,transparent 0 46px,rgba(223,120,173,.13) 47px 49px,transparent 50px 92px),repeating-linear-gradient(96deg,transparent 0 62px,rgba(255,247,184,.58) 63px 67px,transparent 68px 128px)}
.map:before{content:"";inset:7% 8%;display:block;border:0;border-radius:42% 58% 48% 52%;background:radial-gradient(ellipse at 20% 25%,transparent 0 11%,rgba(255,255,255,.42) 11.5% 12%,transparent 12.5%),radial-gradient(ellipse at 76% 64%,transparent 0 16%,rgba(223,120,173,.12) 16.5% 17%,transparent 17.5%);transform:rotate(-6deg)}
.map:after{content:"";position:absolute;left:-4%;right:58%;bottom:-16%;height:52%;background:#fff7b8;border-radius:50% 52% 0 0;opacity:.9;transform:rotate(13deg);box-shadow:0 -10px 30px rgba(255,255,255,.3)}
.district{z-index:1;border:1.5px dashed rgba(223,120,173,.3);background:rgba(255,247,184,.18)}
.heart-pin{z-index:3}

/* Accueil : séparations fines, colorées et sans contour noir. */
.hero-motion + .ticker,.ticker + .section,.section + .home-moments,.home-moments + .contact-band{position:relative}
.hero-motion + .ticker:before,.ticker + .section:before,.section + .home-moments:before,.home-moments + .contact-band:before{content:"";position:absolute;z-index:8;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,rgba(223,120,173,.78),rgba(255,247,184,.9),rgba(242,166,195,.78));box-shadow:0 5px 16px rgba(223,120,173,.2);pointer-events:none}

/* Le nom du lieu apparaît au survol ou au clavier. */
.heart-pin:after{content:attr(data-place);position:absolute;z-index:10;left:50%;bottom:calc(100% + 9px);top:auto;width:max-content;max-width:190px;padding:7px 10px;border:0;border-radius:999px;background:var(--cream);color:var(--ink);font:700 12px/1.2 "Courier Prime",monospace;white-space:nowrap;box-shadow:0 7px 18px rgba(44,34,64,.16);opacity:0;transform:translate(-50%,7px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}
.heart-pin:hover:after,.heart-pin:focus-visible:after{opacity:1;transform:translate(-50%,0)}
.heart-pin:focus-visible{outline:3px solid var(--yellow);outline-offset:5px;border-radius:50%}

.past-stops{padding:76px 0 84px;background:var(--cream);text-align:center;box-shadow:inset 0 4px 0 rgba(242,166,195,.6)}
.past-stops h2{margin:18px 0 30px;color:var(--pink-hot);font:clamp(2.5rem,5vw,4.5rem)/.92 "Lilita One",sans-serif;letter-spacing:-.015em}
.past-stops-layout{width:min(100%,820px);display:grid;grid-template-columns:minmax(230px,320px) minmax(280px,1fr);gap:34px;align-items:start;margin:0 auto;text-align:left}
.past-stops-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.past-stop{margin:0;padding:0;background:transparent}
.past-stop button{width:100%;display:flex;align-items:center;gap:13px;padding:11px 12px;border:0;border-radius:18px;background:transparent;color:inherit;font:700 1.08rem/1.25 inherit;text-align:left;cursor:pointer;transition:background .18s ease,transform .18s ease}
.past-stop button:hover,.past-stop button:focus-visible,.past-stop button.active{background:var(--pink);transform:translateX(6px);outline:none}
.past-stop img{width:28px;height:25px;flex:none;object-fit:contain}
.past-stop-preview{min-height:220px;display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;padding:22px;border-radius:30px;background:#fff;box-shadow:0 16px 40px rgba(218,112,158,.18);overflow:hidden}
.past-stop-preview>img{width:150px;height:176px;border-radius:20px;object-fit:cover}
.past-stop-preview>img[hidden]{display:none}
.past-stop-preview>div>span{color:var(--pink-hot);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.past-stop-preview h3{margin:8px 0 10px;color:var(--pink-hot);font:2rem/1 "Lilita One",sans-serif}
.past-stop-preview p{margin:0;line-height:1.5}
@media(max-width:700px){.past-stops{padding:60px 0 66px}.past-stops-layout{grid-template-columns:1fr;width:min(100%,430px);gap:20px}.past-stop-preview{grid-template-columns:110px 1fr;min-height:170px}.past-stop-preview>img{width:110px;height:130px}}
