:root{
--porcelaine:#f2f1ec; --carte:#ffffff; --encre:#121214; --gris:#6e6d72; --ligne:rgba(18,18,20,.1);
--abricot:#ff6b3d; --peche:#ffc9a8;
--t1:#e7ecff; --t2:#fbe7e1; --t3:#e8f0e2; --tint:var(--porcelaine);
--sans:"Geist",Arial,Helvetica,sans-serif;
--serif:"Instrument Serif",Georgia,"Times New Roman",serif;
--mono:"Geist Mono",ui-monospace,Menlo,monospace;
--r:28px; --pad:12px;
color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html,body{background:var(--tint);color:var(--encre);transition:background-color .8s ease}
body{margin:0;font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--abricot);outline-offset:3px}
.mono{font:500 .72rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.gris{color:var(--gris)}
em.s{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.wrap{padding-inline:clamp(16px,3vw,40px)}
.pill{display:inline-flex;align-items:center;gap:.7em;height:46px;padding:0 1.3em;border-radius:999px;border:0;background:var(--carte);color:var(--encre);font:500 .78rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;box-shadow:0 1px 0 var(--ligne)}
.pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}
.pill--dark{background:var(--encre);color:#fff}
.pill--abricot{background:var(--abricot);color:#fff}
.icon-btn{width:46px;height:46px;border-radius:50%;border:0;background:var(--carte);cursor:pointer;display:grid;place-items:center}
.icon-btn i{display:flex;gap:4px}.icon-btn i b{width:5px;height:5px;border-radius:50%;background:var(--encre)}
.roll{display:inline-flex;overflow:hidden;vertical-align:bottom}
.roll>span{position:relative;display:inline-block;white-space:pre;transition:transform .5s cubic-bezier(.6,0,.2,1);transition-delay:calc(var(--i)*18ms)}
.roll>span::after{content:attr(data-c);position:absolute;left:0;top:100%}
a:hover .roll>span,button:hover .roll>span,.card:hover .roll>span{transform:translateY(-100%)}
.loader{position:fixed;inset:0;z-index:100;perspective:1600px;pointer-events:auto}
.loader__glow{position:absolute;inset:0;background:radial-gradient(ellipse 40% 60% at 50% 50%,#fff 0%,#ffe2d2 30%,rgba(255,107,61,.35) 55%,var(--porcelaine) 80%);opacity:0;transition:opacity .6s}
.leaf{position:absolute;inset:0;background:var(--porcelaine);will-change:transform;transition:transform 1.6s cubic-bezier(.65,0,.2,1),filter 1.6s}
.leaf--l{clip-path:inset(0 50% 0 0);transform-origin:0 50%}
.leaf--r{clip-path:inset(0 0 0 50%);transform-origin:100% 50%}
.loader__brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:26px;width:min(300px,62vw)}
.lg__img{width:100%;display:grid;justify-items:center;animation:lin 1.4s cubic-bezier(.2,.8,.2,1) both}.lg__img img{width:62%;height:auto}.lg__img .wm{font:500 clamp(2rem,9vw,2.9rem)/1 "Cormorant Garamond",Georgia,serif;letter-spacing:.42em;margin:14px 0 8px;padding-left:.42em;color:#16161a}.lg__img .tg{font:400 clamp(.6rem,2.4vw,.78rem)/1 "Geist",Arial,sans-serif;letter-spacing:.42em;padding-left:.42em;color:#16161a}
@keyframes lin{from{opacity:0;transform:translateY(16px) scale(.96)}}
.hold{position:absolute;left:50%;top:calc(50% + clamp(150px,22vh,210px));width:116px;height:116px;margin-left:-58px;border-radius:50%;border:0;background:var(--encre);color:#fff;cursor:pointer;z-index:5;display:grid;place-items:center;opacity:0;transform:scale(.6);pointer-events:none;transition:opacity .5s,transform .6s cubic-bezier(.2,1.4,.4,1),background .3s;touch-action:none;-webkit-user-select:none;user-select:none}
.hold span{font:500 .66rem/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:center}
.hold svg{position:absolute;inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);transform:rotate(-90deg)}
.hold circle{fill:none;stroke:var(--abricot);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:var(--h,1);stroke-linecap:round}
.loader.ready .hold{opacity:1;transform:scale(1);pointer-events:auto;animation:breathe 2.2s ease-in-out .6s infinite}
.loader.holding .hold{background:var(--abricot);transform:scale(.94);animation:none}
@keyframes breathe{50%{box-shadow:0 0 0 14px rgba(255,107,61,.14)}}
.loader.flash .hold,.loader.open .hold{opacity:0;transform:scale(1.4);pointer-events:none}
.loader__bar{width:140px;height:3px;background:var(--ligne);border-radius:3px;overflow:hidden}
.loader__bar i{display:block;height:100%;background:var(--encre);transform-origin:left;transform:scaleX(var(--p,0))}
.loader__step{font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gris);min-height:1em}
.loader__who{position:absolute;left:clamp(16px,3vw,40px);bottom:calc(20px + clamp(5rem,16vw,13rem) * .86);font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.loader.ready .loader__who{color:var(--abricot)}
.loader.ready .seam{opacity:.22}
.loader.holding .seam{opacity:.6}
.loader.ready .loader__step{font:400 clamp(1rem,1.6vw,1.25rem)/1.35 var(--sans);letter-spacing:-.01em;text-transform:none;color:var(--encre);text-align:center;max-width:26ch}
.loader.ready .loader__step b{color:var(--abricot);font-weight:500}
.loader__n{position:absolute;left:clamp(16px,3vw,40px);bottom:20px;font:300 clamp(5rem,16vw,13rem)/.8 var(--sans);letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.seam{position:absolute;left:50%;top:50%;width:2px;height:100%;margin-left:-1px;background:linear-gradient(transparent,var(--abricot) 30%,#fff 50%,var(--abricot) 70%,transparent);transform:translateY(-50%) scaleY(var(--p,0));box-shadow:0 0 18px 2px rgba(255,107,61,.55);z-index:3;transition:width .45s,margin .45s,opacity .8s}
.loader.open .seam{opacity:0}
.loader.open{-webkit-mask:radial-gradient(circle at var(--cx) var(--cy),transparent var(--r),#000 calc(var(--r) + 1px));mask:radial-gradient(circle at var(--cx) var(--cy),transparent var(--r),#000 calc(var(--r) + 1px))}
.loader.open .loader__brand{transition:transform 1.3s cubic-bezier(.7,0,.2,1),opacity 1s;transform:translate(-50%,-56%) scale(1.25);opacity:0}
.loader.open .loader__n{transition:opacity .5s;opacity:0}
.halo{position:fixed;left:var(--cx);top:var(--cy);width:calc(var(--r) * 2);height:calc(var(--r) * 2);transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--abricot);box-shadow:0 0 40px 6px rgba(255,107,61,.35),inset 0 0 40px 6px rgba(255,107,61,.25);z-index:101;pointer-events:none;opacity:var(--ho,1)}
.top{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(22px + env(safe-area-inset-top,0px)) calc(var(--pad) + clamp(14px,2.4vw,30px)) 0;pointer-events:none}
.top>*{pointer-events:auto}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;height:46px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px)}
.brand img{width:36px;height:auto}
.top__r{display:flex;gap:8px}
.hero{height:100vh;height:100svh;min-height:620px;padding:var(--pad);position:relative}
.stage{position:relative;height:100%;border-radius:var(--r);overflow:hidden;background:radial-gradient(ellipse 70% 60% at 68% 40%,#fff 0%,#f7f3ee 45%,#ece8e1 100%)}
#scene{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}
.hero__txt{position:absolute;left:clamp(18px,3vw,40px);right:clamp(18px,3vw,40px);bottom:clamp(20px,4vh,40px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;pointer-events:none}
.hero h1{font:300 clamp(3.2rem,9.4vw,9.6rem)/.9 var(--sans);letter-spacing:-.055em;margin:0;text-wrap:balance}
.hero h1 em.s{color:var(--abricot)}
.hero__side{display:grid;gap:14px;justify-items:end;text-align:right;pointer-events:auto;max-width:300px}
.hero__side p{margin:0;font-size:.95rem;color:#3d3c41}
.namefield{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border-radius:999px;padding:5px 5px 5px 16px;width:min(300px,80vw)}
.namefield input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:400 .92rem/1 var(--sans);padding:.7em 0}
.namefield label{position:absolute;left:-9999px}
.namefield button{width:36px;height:36px;border-radius:50%;border:0;background:var(--encre);color:#fff;cursor:pointer;flex:none}
.hint{position:absolute;top:50%;left:clamp(18px,3vw,40px);transform:translateY(-50%);pointer-events:none}
.marq{overflow:hidden;white-space:nowrap;padding-block:14px}
.marq__in{display:inline-flex;gap:3rem;animation:marq 28s linear infinite}
.marq span{display:inline-flex;align-items:center;gap:3rem}
.marq span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--abricot)}
@keyframes marq{to{transform:translateX(-50%)}}
@media(max-width:760px){.hero__txt{grid-template-columns:minmax(0,1fr)}.hero__side{justify-items:start;text-align:left}.hint{display:none}}
.manifest{position:relative;padding-block:clamp(110px,18vh,200px);overflow:hidden}
.manifest__grid{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(20px,4vw,60px)}
.statement{font:300 clamp(2.2rem,5.6vw,5.4rem)/1.02 var(--sans);letter-spacing:-.045em;margin:0;position:relative;z-index:2}
.statement .w{opacity:.14;transition:opacity .2s}
.statement em.s{color:var(--abricot)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(40px,7vh,80px);position:relative;z-index:2}
.chip{padding:.75em 1.3em;border-radius:999px;background:var(--carte);font:400 clamp(1rem,1.8vw,1.4rem)/1 var(--sans);letter-spacing:-.02em;will-change:transform}
.chip s{text-decoration-color:var(--abricot);text-decoration-thickness:2px}
.ribbon{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.ribbon path{fill:none;stroke:url(#rg);stroke-width:46;stroke-linecap:round}
.manifest__end{margin-top:clamp(40px,7vh,80px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;position:relative;z-index:2}
.manifest__end p{margin:0;max-width:40ch}
@media(max-width:760px){.manifest__grid{grid-template-columns:minmax(0,1fr)}.ribbon path{stroke-width:28}}
.univers{padding-block:clamp(60px,10vh,120px)}
.univers__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(30px,6vh,70px)}
.univers__head h2{font:300 clamp(3.4rem,11vw,10.5rem)/.85 var(--sans);letter-spacing:-.06em;margin:0}
.univers__head h2 sup{font:400 .9rem/1 var(--mono);letter-spacing:0;vertical-align:top;margin-left:.4em}
.cards{display:grid;gap:clamp(40px,8vh,90px)}
.card{display:block;text-decoration:none;cursor:pointer}
.card__media{position:relative;aspect-ratio:16/8;border-radius:var(--r);overflow:hidden;background:var(--carte);will-change:transform;transform-origin:center}
.card__media canvas{position:absolute;inset:0;width:100%;height:100%}
.card__big{position:absolute;right:4%;bottom:-8%;font:400 clamp(9rem,30vw,26rem)/.8 var(--serif);font-style:italic;color:rgba(255,255,255,.55);mix-blend-mode:overlay;pointer-events:none}
.card__tag{position:absolute;left:18px;top:18px;display:flex;gap:6px;flex-wrap:wrap}
.card__tag span{padding:.55em .9em;border-radius:999px;background:rgba(255,255,255,.8);backdrop-filter:blur(6px)}
.card__play{position:absolute;left:50%;top:50%;width:120px;height:62px;margin:-31px 0 0 -60px;border-radius:999px;background:#fff;display:grid;place-items:center;transform:scale(.6);opacity:0;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .3s}
.card:hover .card__play{transform:none;opacity:1}
.card__meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-top:18px}
.card__title{font:400 clamp(2rem,4.4vw,3.6rem)/1 var(--sans);letter-spacing:-.045em;display:flex;align-items:center;gap:.4em}
.card__title .arr{font-family:var(--sans);font-weight:300;transition:transform .4s}
.card:hover .arr{transform:translateX(8px)}
.card__meta p{margin:0;max-width:40ch;color:#3d3c41}
@media(max-width:760px){.card__media{aspect-ratio:4/3}}
.method{height:100vh;height:100svh;min-height:600px;padding:var(--pad)}
.method__card{position:relative;height:100%;border-radius:var(--r);background:var(--encre);color:#fff;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:clamp(70px,10vh,100px) clamp(18px,3vw,40px) clamp(20px,4vh,40px)}
.method__num{font:300 clamp(9rem,30vw,28rem)/.78 var(--sans);letter-spacing:-.08em;align-self:end;font-variant-numeric:tabular-nums}
.method__right{display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-width:0}
.method__right h2{font:300 clamp(2.2rem,4.6vw,4.4rem)/.95 var(--sans);letter-spacing:-.05em;margin:0}
.method__right h2 em.s{color:var(--peche)}
.step h3{font:400 clamp(1.8rem,3.4vw,3rem)/1 var(--sans);letter-spacing:-.04em;margin:0 0 .6rem}
.step p{margin:0;max-width:36ch;color:#b9b8bd}
.ring{position:absolute;right:clamp(20px,3vw,44px);top:clamp(80px,12vh,120px);width:clamp(110px,12vw,170px);aspect-ratio:1;border-radius:50%;background:var(--abricot);display:grid;place-items:center;text-align:center}
.ring svg{position:absolute;inset:-14px;width:calc(100% + 28px);height:calc(100% + 28px);transform:rotate(-90deg)}
.ring circle{fill:none;stroke:rgba(255,255,255,.9);stroke-width:2}
.ring span{font:500 .72rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.dots{display:flex;gap:6px}.dots i{width:22px;height:3px;border-radius:3px;background:rgba(255,255,255,.2);transition:background .3s}.dots i.on{background:#fff}
@media(max-width:760px){.method__card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.method__num{order:2;font-size:9rem}.ring{top:auto;bottom:24px;right:20px;width:110px}}
.bento{padding-block:clamp(90px,14vh,160px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--pad)}
.b{border-radius:var(--r);background:var(--carte);padding:clamp(20px,2.6vw,34px);min-width:0}
.b1{grid-column:span 7;display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:420px}
.b1 h2{font:300 clamp(2.6rem,6vw,5.6rem)/.92 var(--sans);letter-spacing:-.055em;margin:0}
.b1 h2 em.s{color:var(--abricot)}
.b2{grid-column:span 5;display:flex;flex-direction:column;gap:16px}
.seatgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1}
.seat{border:0;border-radius:18px;background:var(--porcelaine);min-height:84px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:12px;text-align:left;transition:background .25s,color .25s,transform .25s}
.seat b{font:400 1.6rem/1 var(--sans);letter-spacing:-.04em}
.seat.free:hover,.seat.sel{background:var(--abricot);color:#fff;transform:translateY(-2px)}
.seat.busy{opacity:.45;cursor:not-allowed}
.seatinfo{min-height:74px;font-size:.92rem}
.seatinfo dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;margin:0}
.seatinfo dt{color:var(--gris)}
@media(max-width:900px){.b1,.b2{grid-column:span 12}.b1{min-height:0}}
.quiz{padding-bottom:clamp(90px,14vh,160px)}
.quiz__card{border-radius:var(--r);background:var(--carte);padding:clamp(22px,3.4vw,48px)}
.quiz__top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-end}
.quiz h2{font:300 clamp(2.6rem,6vw,5.6rem)/.92 var(--sans);letter-spacing:-.055em;margin:0}
.quiz h2 em.s{color:var(--abricot)}
.notch{display:flex;gap:6px}.notch i{width:34px;height:3px;border-radius:3px;background:var(--ligne)}.notch i.on{background:var(--encre)}
.q{margin-top:clamp(28px,5vh,50px)}
.q h3{font:400 clamp(1.6rem,3vw,2.4rem)/1.1 var(--sans);letter-spacing:-.035em;margin:.6rem 0 1.2rem}
.opts{display:flex;flex-wrap:wrap;gap:10px}
.opt{border:0;border-radius:999px;background:var(--porcelaine);padding:1.05em 1.6em;font:400 clamp(1rem,1.6vw,1.25rem)/1 var(--sans);letter-spacing:-.02em;cursor:pointer;transition:background .25s,color .25s}
.opt:hover{background:var(--encre);color:#fff}
.res{margin-top:clamp(28px,5vh,50px);display:grid;gap:14px}
.res .big{font:300 clamp(3rem,8vw,7rem)/.9 var(--sans);letter-spacing:-.06em}
.res .big em.s{color:var(--abricot)}
.res p{margin:0;max-width:52ch}
.row{display:flex;gap:8px;flex-wrap:wrap}
.cta{padding:var(--pad)}
.cta__card{border-radius:var(--r);background:var(--abricot);color:#fff;padding:clamp(28px,5vw,70px) clamp(18px,3vw,40px) clamp(20px,3vw,30px);overflow:hidden;position:relative}
.cta__card h2{font:300 clamp(3.4rem,12vw,12rem)/.86 var(--sans);letter-spacing:-.065em;margin:0}
.cta__card h2 em.s{color:var(--encre)}
.cta__row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-top:clamp(30px,6vh,70px)}
.cta__row address{font-style:normal;font-size:.95rem;line-height:1.7}
.cta__mail{font:400 clamp(1.4rem,2.6vw,2.2rem)/1 var(--sans);letter-spacing:-.03em;user-select:all}
.legal{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px clamp(16px,3vw,40px) 26px;color:var(--gris)}
.legal a{text-decoration:none}
.panel[hidden]{display:none}
.panel{position:fixed;inset:0;z-index:70;background:rgba(18,18,20,.22);backdrop-filter:blur(6px)}
.menu{position:absolute;top:calc(80px + env(safe-area-inset-top,0px));right:calc(var(--pad) + clamp(14px,2.4vw,30px));width:min(380px,calc(100% - 32px));display:grid;gap:8px;animation:pop .35s cubic-bezier(.2,.8,.2,1)}
.menu nav{background:var(--carte);border-radius:20px;padding:12px}
.menu nav a{display:block;padding:12px 14px;border-radius:12px;text-decoration:none;font:400 1.6rem/1 var(--sans);letter-spacing:-.04em}
.menu nav a:hover{background:var(--porcelaine)}
.menu .talk{display:flex;justify-content:space-between;align-items:center;background:var(--encre);color:#fff;border-radius:20px;padding:20px 22px;border:0;cursor:pointer;font:500 .8rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
@keyframes pop{from{opacity:0;transform:translateY(-10px) scale(.98)}}
.drawer{position:absolute;top:var(--pad);right:var(--pad);bottom:var(--pad);width:min(470px,calc(100% - 24px));background:var(--carte);border-radius:var(--r);padding:26px;overflow:auto;display:flex;flex-direction:column;gap:14px;animation:slide .5s cubic-bezier(.2,.8,.2,1)}
@keyframes slide{from{transform:translateX(110%)}}
.drawer h3{font:300 2.6rem/.95 var(--sans);letter-spacing:-.05em;margin:0}
.drawer h3 em.s{color:var(--abricot)}
.drawer label{display:grid;gap:6px}
.drawer input,.drawer select,.drawer textarea{border:0;border-radius:14px;background:var(--porcelaine);padding:.9em 1em;font:400 1rem/1.3 var(--sans);width:100%}
.drawer .consent{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:#3d3c41}
.drawer .consent input{width:auto;margin-top:3px}
.drawer .x{align-self:flex-end}
.ok{font:300 1.8rem/1.15 var(--sans);letter-spacing:-.03em}
.cur{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--encre);z-index:90;pointer-events:none;transition:width .3s,height .3s,margin .3s,background .3s;opacity:0}
.cur.big{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(255,107,61,.25)}
@media(hover:none){.cur{display:none}}
@media(max-width:560px){.top{padding-inline:calc(var(--pad) + 12px)}.top .pill{height:42px;padding:0 1em;font-size:.68rem}.icon-btn{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.statement .w{opacity:1}}
