:root{--acc:#D9A441}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 17px/1.55 "Public Sans",system-ui,sans-serif;background:#0A0705;color:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}h1,h2,h3,p{margin:0}img,video{max-width:100%;display:block}
.row{display:flex;flex-wrap:wrap;gap:12px}:focus-visible{outline:3px solid #fff;outline-offset:3px}
.mono{font:500 12px/1 "IBM Plex Mono";letter-spacing:.2em;text-transform:uppercase}
.btn{display:inline-block;padding:17px 30px;background:var(--acc);color:var(--on,#111);font:600 15px/1 "Public Sans";text-decoration:none;border-radius:999px;transition:transform .2s,filter .2s}.btn:hover{transform:translateY(-3px);filter:brightness(1.08)}.btn.g{background:#ffffff1c;color:#fff;box-shadow:inset 0 0 0 1.5px #ffffffaa;backdrop-filter:blur(6px)}
/* barre */
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:6px;padding:12px clamp(14px,3vw,40px);background:linear-gradient(180deg,#000a,transparent)}
.nav b{font:850 16px/1 Archivo;font-stretch:78%;text-transform:uppercase;letter-spacing:.05em;margin-right:auto;white-space:nowrap}
.nav a.l{font:600 13px/1 "Public Sans";text-decoration:none;padding:10px 14px;border-radius:999px;opacity:.85;white-space:nowrap}.nav a.l:hover,.nav a.l.on{background:#ffffff26;opacity:1}
.nav a.c{background:#fff;color:#111;font:700 13px/1 "Public Sans";padding:10px 16px;border-radius:999px;text-decoration:none;white-space:nowrap}
/* accueil : 4 portes */
.home{position:relative;height:100svh;min-height:640px;display:flex;flex-direction:column;overflow:hidden}
.home .intro{position:absolute;z-index:5;left:clamp(20px,5vw,72px);top:15vh;right:20px;pointer-events:none}
.home h1{font:850 clamp(38px,7.4vw,118px)/.9 Archivo;font-stretch:66%;text-transform:uppercase;max-width:14ch;text-shadow:0 4px 50px #000a}
.home .intro p{margin-top:16px;font-size:clamp(16px,1.8vw,21px);max-width:30rem;text-shadow:0 2px 20px #000}
.doors{display:flex;flex:1}
.door{position:relative;flex:1;overflow:hidden;text-decoration:none;display:grid;align-content:end;padding:26px;transition:flex .6s cubic-bezier(.2,.7,.2,1);border-left:1px solid #fff3}
.door:first-child{border:0}.door:hover,.door:focus-visible{flex:2.1}
.door .ph{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.2s,filter .6s;filter:brightness(.62) saturate(1.1)}.door:hover .ph{transform:scale(1.06);filter:brightness(.85) saturate(1.2)}
.door::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000d 0,#0000 55%)}
.door>*{position:relative;z-index:2}.door .mono{opacity:.85;margin-bottom:10px}.door h2{font:600 clamp(26px,3vw,46px)/1 var(--f);font-style:var(--i);font-stretch:var(--s,100%);text-transform:var(--t,none)}
.door span.go{margin-top:12px;font:600 14px/1 "Public Sans";opacity:0;transform:translateY(8px);transition:.4s}.door:hover span.go{opacity:1;transform:none}
/* mondes */
.world{position:relative;overflow:hidden;isolation:isolate}
.bg{position:absolute;inset:-12% 0;z-index:-2;background-size:cover;background-position:center;transform:translateY(calc(var(--p,0)*-70px));will-change:transform}
.world::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--veil)}
.w1{padding:clamp(90px,14vh,170px) clamp(20px,6vw,96px)}
.world h2.big{margin-block:14px 26px}
.lede{font-size:clamp(17px,1.9vw,22px);max-width:32rem;margin-bottom:30px;opacity:.92}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px}
.card{padding:28px 24px;backdrop-filter:blur(14px);background:var(--card);border:1px solid var(--cb);transition:transform .35s}.card:hover{transform:translateY(-8px)}
.card b{display:block;margin-bottom:10px}.card h3{margin-bottom:8px}.card p{opacity:.85;font-size:15px}
.reel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;margin-top:60px}.reel figure{margin:0;flex:none;scroll-snap-align:start}.reel video{height:min(54vh,420px);aspect-ratio:9/16;object-fit:cover;border-radius:14px;background:#000}.reel figcaption{font:400 11px/1.4 "IBM Plex Mono";letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-top:8px}
.photos{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:70px}
.photos img{width:100%;height:100%;object-fit:cover;border-radius:6px;min-height:280px;box-shadow:0 40px 60px -30px #000a}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center}
.phone{justify-self:center;height:min(70vh,600px);aspect-ratio:9/16;border-radius:34px;overflow:hidden;border:7px solid #1a2050;box-shadow:0 0 0 1px #fff3,0 40px 120px -20px #4D6BFF;animation:fl 5s ease-in-out infinite alternate;transform:rotate(4deg)}.phone video{width:100%;height:100%;object-fit:cover}@keyframes fl{to{transform:rotate(-2deg) translateY(-14px)}}
.fm{display:flex;align-items:flex-end;gap:14px;margin-top:30px}.fm div{border:1.5px solid #5CF2FF;display:grid;place-items:center;font:500 12px "IBM Plex Mono";color:#5CF2FF;background:#4d6bff22}.fm .v{width:70px;aspect-ratio:9/16}.fm .q{width:100px;aspect-ratio:1}.fm .w{width:150px;aspect-ratio:16/9}
/* marques */
#marques{--veil:linear-gradient(90deg,#0A0705f2 0,#0A0705cc 45%,#0A070566 100%);--card:#0A0705aa;--cb:#d9a44155;--acc:#D9A441;--on:#150E05;color:#F3E3C3;background:#0A0705}
#marques h2.big{font:italic 500 clamp(46px,8vw,128px)/.9 "Cormorant Garamond",serif;max-width:11ch}#marques em{color:#D9A441}
#marques .btn{background:linear-gradient(135deg,#F0CB77,#C48A25)}#marques .btn.g{background:transparent;box-shadow:inset 0 0 0 1px #D9A441;color:#F3E3C3}
#marques .card b{font:italic 500 38px/1 "Cormorant Garamond",serif;color:#D9A441}#marques .card h3{font:600 24px/1.05 "Cormorant Garamond",serif}
#marques .mono{color:#D9A441}
.dust{position:absolute;inset:0;z-index:-1;pointer-events:none;width:100%;height:100%}
/* clubs */
#clubs{--veil:linear-gradient(180deg,#06110Acc 0,#06110A88 40%,#06110Af2 100%);--card:#06110Acc;--cb:#C8F03C55;--acc:#C8F03C;--on:#10150A;color:#EEF8DF;background:#06110A}
#clubs h2.big{font:900 clamp(48px,9vw,150px)/.84 Archivo;font-stretch:66%;text-transform:uppercase;max-width:11ch}#clubs em{font-style:normal;color:#C8F03C}
#clubs .btn{border-radius:0;font:700 15px/1 Archivo;font-stretch:90%;text-transform:uppercase;letter-spacing:.04em;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%)}#clubs .btn.g{clip-path:none}
#clubs .card b{font:900 40px/1 Archivo;font-stretch:70%;color:#C8F03C;text-transform:uppercase}#clubs .card h3{font:800 22px/1.1 Archivo;font-stretch:80%;text-transform:uppercase}#clubs .mono{color:#C8F03C}
.tick{overflow:hidden;background:#C8F03C;color:#10150A;white-space:nowrap;font:800 clamp(18px,2.4vw,28px)/1 Archivo;font-stretch:72%;text-transform:uppercase;padding:14px 0}.tick div{display:inline-block;animation:mq 28s linear infinite}.tick span{margin-inline:24px}@keyframes mq{to{transform:translateX(-50%)}}
.score{display:inline-flex;border:1.5px solid #C8F03C;background:#06110Acc;font:900 22px/1 Archivo;font-stretch:80%;margin-bottom:20px}.score span{padding:10px 16px}.score .l{background:#C8F03C;color:#10150A}.score .m{font:500 12px/1 "IBM Plex Mono";display:grid;place-items:center;letter-spacing:.14em}
/* gîtes */
#gites{--veil:linear-gradient(180deg,#2B2A6B66 0,#0003 40%,#3A1F12cc 100%);--card:#fff;--cb:transparent;--acc:#FF7A3D;--on:#2a1004;color:#fff;background:#3A1F12}
#gites h2.big{font:italic 500 clamp(46px,8.6vw,140px)/.92 "Cormorant Garamond",serif;max-width:12ch;text-shadow:0 6px 60px #2B2A6B88}#gites .btn{box-shadow:0 14px 30px -12px #ff7a3daa}
#gites .card{color:#3A1F12;padding:12px 12px 22px;backdrop-filter:none;box-shadow:0 30px 50px -28px #000a}#gites .card:nth-child(1){rotate:-2deg}#gites .card:nth-child(2){rotate:1.5deg;margin-top:24px}#gites .card:nth-child(3){rotate:-1deg}#gites .card:hover{rotate:0deg}
#gites .card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:14px}#gites .card h3{font:600 28px/1 "Cormorant Garamond",serif;padding-inline:8px}#gites .card p{padding-inline:8px}#gites .card b{padding-inline:8px;font:500 11px/1 "IBM Plex Mono";letter-spacing:.2em;color:#B3441F}
#gites .mono{color:#FFE6B0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#fff4;margin-top:60px;border:1px solid #fff4}.facts div{background:#2a1810cc;padding:24px 22px;backdrop-filter:blur(8px)}.facts b{font:italic 600 clamp(28px,3.6vw,46px)/1 "Cormorant Garamond",serif;color:#FFC46B;display:block}.facts span{font-size:14px;opacity:.85}
/* start-ups */
#startups{--veil:linear-gradient(180deg,#070B24f0 0,#070B24b8 50%,#070B24f5 100%);--card:#4d6bff1f;--cb:#ffffff30;--acc:#4D6BFF;--on:#fff;color:#EEF1FF;background:#070B24}
#startups h2.big{font:900 clamp(46px,8.4vw,136px)/.88 Archivo;font-stretch:66%;text-transform:uppercase;max-width:11ch}#startups em{font-style:normal;color:#5CF2FF}
#startups .btn{box-shadow:0 0 40px -6px #4D6BFF;font:700 15px/1 Archivo;font-stretch:90%;text-transform:uppercase;letter-spacing:.05em}
#startups .card b{font:900 40px/1 Archivo;font-stretch:66%;color:#5CF2FF}#startups .card h3{font:800 20px/1.1 Archivo;font-stretch:80%;text-transform:uppercase}#startups .mono{color:#5CF2FF}
.cd{font:900 clamp(80px,13vw,200px)/.8 Archivo;font-stretch:62%;color:transparent;-webkit-text-stroke:2px #5CF2FF;min-height:.8em;margin-bottom:8px;text-shadow:0 0 50px #5cf2ff66}
/* contact */
.end{min-height:90svh;display:grid;place-content:center;justify-items:center;text-align:center;gap:26px;padding:12vh 20px;background:radial-gradient(900px 500px at 50% 30%,#3a2a12,#0A0705);position:relative}
.end h2{font:italic 500 clamp(50px,10vw,160px)/.88 "Cormorant Garamond",serif}.end h2 em{color:#D9A441}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.chips a{padding:14px 22px;border-radius:999px;border:1.5px solid #ffffff66;text-decoration:none;font:600 15px/1 "Public Sans";transition:.25s}.chips a:hover{background:#fff;color:#111}
.fine{font:400 11.5px/1.6 "IBM Plex Mono";opacity:.55;padding:0 20px 40px;text-align:center;background:#0A0705}
.rv{opacity:0;transform:translateY(32px);transition:opacity .9s,transform .9s}.rv.in{opacity:1;transform:none}.no-js .rv{opacity:1;transform:none}
@media(max-width:860px){.nav a.l{display:none}.doors{flex-direction:column}.door{padding:18px;border-left:0;border-top:1px solid #fff3}.door:hover{flex:1}.door span.go{opacity:1;transform:none}.door{min-height:190px}.cards,.photos,.split,.facts{grid-template-columns:1fr}#gites .card:nth-child(2){margin-top:0}.phone{height:42vh;transform:none;animation:none}.world::before{background:var(--veilm,var(--veil))}#marques{--veilm:linear-gradient(0deg,#0A0705f2,#0A0705aa)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.bg{transform:none}}
/* pages */
.nav a.l.on{background:#ffffff26;opacity:1}
.crumb{margin-bottom:26px}.crumb a{font:500 12px/1 "IBM Plex Mono";letter-spacing:.16em;text-transform:uppercase;text-decoration:none;opacity:.8}.crumb a:hover{opacity:1}
.page{min-height:100svh;padding-top:clamp(110px,18vh,190px)}
.exs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:70px}
.ex{display:block;text-decoration:none;position:relative;overflow:hidden;background:var(--card);border:1px solid var(--cb);transition:transform .35s}.ex:hover{transform:translateY(-8px)}
.ex .im{aspect-ratio:16/10;background-size:cover;background-position:center;transition:transform 1s}.ex:hover .im{transform:scale(1.05)}.ex .im{overflow:hidden}
.ex .tx{padding:20px 22px 24px;position:relative;background:var(--card);backdrop-filter:blur(10px)}.ex .tag{font:500 11px/1 "IBM Plex Mono";letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}.ex h3{margin:10px 0 6px;font-size:22px;line-height:1.1}.ex p{opacity:.85;font-size:15px}
.sub{font:500 12px/1 "IBM Plex Mono";letter-spacing:.2em;text-transform:uppercase;margin:80px 0 22px;color:var(--acc)}
.mock{margin-top:70px;display:grid;grid-template-columns:1.2fr 1fr;gap:0;background:#fff;color:#3A1F12;box-shadow:0 50px 90px -40px #000c;border-radius:10px;overflow:hidden}
.mock .bar{grid-column:1/-1;background:#EADFD2;padding:10px 14px;display:flex;gap:7px;align-items:center;font:500 11px "IBM Plex Mono"}.mock .bar i{width:10px;height:10px;border-radius:50%;background:#c9b9a8}.mock .bar span{margin-left:12px;opacity:.7}
.mock .pic{min-height:360px;background-size:cover;background-position:center;position:relative}.mock .pic h3{position:absolute;left:24px;bottom:22px;font:italic 600 clamp(30px,3.6vw,48px)/1 "Cormorant Garamond",serif;color:#fff;text-shadow:0 4px 30px #000a}
.mock .bk{padding:28px 26px;display:grid;gap:14px;align-content:start}.mock .bk b{font:italic 600 34px/1 "Cormorant Garamond",serif}.mock .bk small{font:500 11px "IBM Plex Mono";letter-spacing:.14em;text-transform:uppercase;color:#B3441F}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font:500 12px "IBM Plex Mono";text-align:center}.cal span{padding:8px 0;border-radius:6px;background:#F3E9DC}.cal .x{background:#EADFD2;color:#a99;text-decoration:line-through}.cal .s{background:#FF7A3D;color:#2a1004;font-weight:700}
.mock .go{display:block;text-align:center;background:#3A1F12;color:#fff;border-radius:999px;padding:14px;font:600 14px "Public Sans"}
.vids{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.vids figure{margin:0}.vids video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:14px;background:#000}.vids figcaption{font:400 11px/1.4 "IBM Plex Mono";letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-top:8px}
.wide{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#000;margin-top:20px;box-shadow:0 40px 80px -30px #000c}
.more{display:flex;flex-wrap:wrap;gap:12px;margin-top:70px}
.also{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 clamp(20px,6vw,96px) 90px;background:#0A0705}.also a{display:block;padding:22px;border:1px solid #fff3;text-decoration:none;border-radius:6px;transition:.25s}.also a:hover{background:#fff;color:#111}.also .mono{opacity:.7}.also b{display:block;margin-top:8px;font:700 20px/1.1 "Public Sans"}
.home .intro{pointer-events:none}.homex{padding:clamp(80px,12vh,150px) clamp(20px,6vw,96px);background:#0A0705}.homex h2{font:850 clamp(38px,6vw,90px)/.92 Archivo;font-stretch:66%;text-transform:uppercase;max-width:14ch;margin-block:14px 40px}
@media(max-width:860px){.exs,.mock,.vids,.also{grid-template-columns:1fr 1fr}.exs,.mock{grid-template-columns:1fr}.mock .pic{min-height:240px}.also{grid-template-columns:1fr}}
.nav{background:#0A0705d9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.nav>a:first-child{margin-right:auto}
/* accueil : titre compact au-dessus des portes, sans les cacher */
.home .intro{position:relative;z-index:5;left:auto;top:auto;right:auto;padding:84px clamp(20px,5vw,72px) 22px;background:#0A0705;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 40px}
.home h1{font-size:clamp(28px,4.2vw,64px);line-height:.95;max-width:none;text-shadow:none}
.home .intro p{margin:0;max-width:26rem;font-size:clamp(14px,1.3vw,17px);text-shadow:none;opacity:.8}
.home{height:100svh;min-height:640px}.doors{min-height:0}
@media(max-width:860px){.home{height:auto}.home .intro{padding:84px 20px 18px}.home h1{font-size:34px}}
/* bannière « préparé pour », WhatsApp flottant, grille 4 cartes */
.pour{position:relative;z-index:5;margin:58px 0 0;padding-top:10px;background:#D9A441;color:#150E05;font:600 13px/1.2 "Public Sans";padding-bottom:10px;padding-left:16px;padding-right:16px;text-align:center}.pour[hidden]{display:none}
.wafab{position:fixed;z-index:55;right:16px;bottom:16px;background:#25D366;color:#06210f;font:700 14px/1 "Public Sans";text-decoration:none;padding:14px 20px;border-radius:999px;box-shadow:0 12px 30px -8px #000c;transition:transform .2s}.wafab:hover{transform:translateY(-3px)}
@media(min-width:861px){.wafab{display:none}}
.cards.c4{grid-template-columns:repeat(4,1fr)}@media(max-width:860px){.cards.c4{grid-template-columns:1fr}}
