@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/cormorant-garamond-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mulish-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/mulish-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/mulish-latin-700-normal.woff2) format('woff2')}
:root{--wine:#4f1022;--rose:#b3223f;--blush:#fbeef0;--gold:#c8a24a;--ink:#2b1a1f;--mute:#6f5a60;--line:#ecd5d9}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Mulish',system-ui,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65;font-size:17px}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 .5em;color:var(--wine)}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}h3{font-size:1.5rem}
a{color:var(--rose)}img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
header.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--wine);font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:700}
.brand img{width:56px;height:56px;object-fit:contain}
nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
nav a{display:block;padding:8px 13px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;border-radius:99px}
nav a:hover{background:var(--blush)}nav a.on{background:var(--rose);color:#fff}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:1rem;cursor:pointer}
.btn{display:inline-block;background:var(--rose);color:#fff;border:0;padding:13px 26px;border-radius:99px;text-decoration:none;font-weight:700;font-size:1rem;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--wine)}.btn.ghost{background:transparent;border:2px solid #fff;color:#fff}.btn.ghost:hover{background:#fff;color:var(--wine)}
.btn.gold{background:var(--gold);color:var(--wine)}.btn.sm{padding:9px 20px;font-size:.92rem}
.hero{position:relative;color:#fff;min-height:78vh;display:flex;align-items:center;background:var(--wine) center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(60,8,24,.88),rgba(60,8,24,.35))}
.hero .wrap{position:relative;padding-top:70px;padding-bottom:70px}
.hero h1{color:#fff;max-width:14ch}.hero p{max-width:52ch;font-size:1.2rem}
.hero.small{min-height:44vh}.hero.small h1{font-size:clamp(2.2rem,5vw,3.6rem);max-width:none}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
section{padding:72px 0}section.alt{background:var(--blush)}
.intro{max-width:720px;margin-bottom:36px}.intro p{color:var(--mute)}
.grid{display:grid;gap:24px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.ph{position:relative;border-radius:16px;overflow:hidden;min-height:340px;background:var(--wine) center/cover no-repeat;color:#fff;display:flex;align-items:flex-end}
.ph::before{content:none}
.ph .t{position:relative;padding:22px}.ph h3{color:#fff;margin-bottom:.25em}.ph p{margin:0 0 14px;font-size:.96rem}
.ph.tall{min-height:420px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}
.step{display:flex;gap:16px}.step b{flex:none;width:44px;height:44px;border-radius:50%;background:var(--rose);color:#fff;display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-size:1.4rem}
.quote{display:flex;gap:16px;align-items:flex-start}.quote img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex:none}.quote p{margin:0 0 6px}.quote small{color:var(--mute)}
.band{background:var(--wine);color:#fff;text-align:center;padding:64px 0}.band h2{color:#fff}
.gal{columns:3;column-gap:16px}.gal figure{margin:0 0 16px;position:relative;break-inside:avoid;cursor:zoom-in;border-radius:14px;overflow:hidden}
.gal img{width:100%}.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#fff;background:linear-gradient(transparent,rgba(40,6,18,.85));font-size:.92rem}
#lb{position:fixed;inset:0;background:rgba(251,238,240,.96);display:none;align-items:center;justify-content:center;z-index:100;padding:20px;flex-direction:column;gap:12px}
#lb.open{display:flex}#lb img{max-height:82vh;border-radius:10px}#lb p{color:var(--ink);margin:0}#lb button{position:absolute;top:16px;right:20px;background:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:1.3rem;cursor:pointer}
form label{display:block;font-weight:700;margin:14px 0 6px;font-size:.95rem}
input,select,textarea{width:100%;padding:13px 14px;border:1.5px solid #d9bcc2;border-radius:10px;font:inherit;background:#fff}
textarea{min-height:130px}.check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:.92rem}.check input{width:auto;margin-top:6px}
details{border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:12px;background:#fff}
summary{cursor:pointer;font-weight:700;color:var(--wine);font-size:1.05rem}details[open] summary{margin-bottom:8px}
.live{background:#1d0a12;border-radius:18px;padding:18px;color:#fff}
.live video{width:100%;aspect-ratio:16/9;background:#000;border-radius:12px;object-fit:cover}
.ctrl{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.ctrl .btn{padding:10px 18px;font-size:.92rem}
.ctrl .btn[aria-pressed=true]{background:var(--gold);color:var(--wine)}
#liveMsg{margin:12px 0 0;color:#f3c9d1;font-size:.93rem;min-height:1.4em}
.meter{height:8px;background:#3a1a25;border-radius:9px;margin-top:12px;overflow:hidden}.meter i{display:block;height:100%;width:0;background:var(--gold);transition:width .1s}
.legal h2{font-size:1.7rem;margin-top:1.6em}.legal{max-width:820px}
footer{background:var(--wine);color:#e9cfd5;padding:56px 0 24px}
footer h4{color:#fff;font-family:'Cormorant Garamond',serif;font-size:1.3rem;margin:0 0 10px}
footer a{color:#fff;text-decoration:none}footer a:hover{text-decoration:underline}footer ul{list-style:none;margin:0;padding:0}footer li{margin:6px 0}
.copy{border-top:1px solid rgba(255,255,255,.2);margin-top:34px;padding-top:18px;font-size:.9rem;text-align:center}
.tag{display:inline-block;background:var(--blush);color:var(--rose);padding:3px 12px;border-radius:99px;font-size:.85rem;font-weight:700;margin-bottom:8px}
.post img{border-radius:14px;margin-bottom:14px;aspect-ratio:16/10;object-fit:cover;width:100%}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}.gal{columns:2}.g2{grid-template-columns:1fr}}
@media(max-width:700px){.burger{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px}nav.open{display:block}nav ul{flex-direction:column}.g3,.g4{grid-template-columns:1fr}.gal{columns:1}section{padding:52px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.plan{display:flex;flex-direction:column;gap:6px}.plan.best{border:2px solid var(--gold);box-shadow:0 8px 28px rgba(200,162,74,.25)}
.price{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:700;color:var(--rose);margin:0;line-height:1}.price small{font-family:'Mulish',sans-serif;font-size:.9rem;color:var(--mute);font-weight:600}
.av{padding-left:20px;margin:6px 0 16px}.av li{margin:5px 0}.or{text-align:center;color:var(--mute);margin:10px 0}

.pay{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:26px 0 0}.pay span{border:1.5px solid var(--line);background:#fff;border-radius:8px;padding:6px 14px;font-weight:800;font-size:.9rem;color:var(--wine);letter-spacing:.04em}.pay .lock{border:0;background:none;font-weight:700;letter-spacing:0}
.online{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}.online-t{margin:0;font-weight:700;color:var(--wine)}.online-s{margin:6px 0 0;font-size:.92rem;color:var(--mute)}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#2e9e5b;margin-right:8px;box-shadow:0 0 0 4px rgba(46,158,91,.2)}
.online-l{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.online-l li{position:relative}.online-l img{border-radius:50%;display:block}.online-l span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hero.big{min-height:92vh;overflow:hidden;background:var(--wine)}.hero.big .wrap{z-index:2}
.hbg{position:absolute;inset:0;background-size:cover;background-position:center;animation:kb 26s ease-in-out infinite alternate}
.hvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero.big::before{z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.82rem;font-weight:700;color:var(--gold);margin:0 0 14px}
.trust{padding:34px 0;background:#fff;border-bottom:1px solid var(--line)}.trust .card{padding:20px}.trust h3{font-size:1.2rem;margin-bottom:.2em}.ico{font-size:1.5rem;margin:0 0 6px;color:var(--rose);font-weight:800}
#age{position:fixed;inset:0;z-index:200;background:#fbeef0;display:flex;align-items:center;justify-content:center;padding:20px}#age[hidden]{display:none}
.age-box{background:#fff;border-radius:18px;padding:34px 28px;max-width:460px;text-align:center}.age-box img{margin:0 auto 10px}
@media(prefers-reduced-motion:reduce){.hbg{animation:none}.hvid{display:none}}

.social{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:26px}.social span{margin-right:6px}.social a{border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:5px 14px;font-size:.88rem}.social a:hover{background:#fff;color:var(--wine);text-decoration:none}
.qexit{position:fixed;right:14px;bottom:14px;z-index:60;background:var(--wine);color:#fff;border:2px solid #fff;border-radius:99px;padding:9px 16px;font:700 .88rem 'Mulish',sans-serif;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.app{display:grid;grid-template-columns:230px 1fr;gap:26px;align-items:start}
.side{position:sticky;top:96px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px}
.side button,.side a{display:flex;width:100%;gap:10px;align-items:center;text-align:left;background:none;border:0;border-radius:10px;padding:12px 14px;font:700 .98rem 'Mulish',sans-serif;color:var(--ink);cursor:pointer;text-decoration:none}
.side button:hover,.side a:hover{background:var(--blush)}.side .on{background:var(--rose);color:#fff}
.panel{display:none}.panel.on{display:block}.panel h2{font-size:2rem}
.avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;background:var(--blush);border:3px solid var(--gold)}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.mcard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.mcard img{width:100%;aspect-ratio:4/5;object-fit:cover}.mcard div{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.mcard small{color:var(--mute);display:block}.heart{background:none;border:0;font-size:1.5rem;cursor:pointer;color:#c9a9b0}.heart[aria-pressed=true]{color:var(--rose)}
body.discret .mcard img,body.discret .avatar,body.discret .cv img,body.discret .bub img.pic{filter:blur(14px)}body.discret .mcard img:hover,body.discret .avatar:hover,body.discret .cv:hover img,body.discret .bub img.pic:hover{filter:none}
.row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}
.chat{display:grid;grid-template-columns:300px 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;height:min(74vh,700px);background:#fff}
.clist{border-right:1px solid var(--line);overflow:auto}.cv{display:flex;gap:12px;align-items:center;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 14px;cursor:pointer;text-align:left;font:inherit}
.cv:hover,.cv.on{background:var(--blush)}.cv img{width:46px;height:46px;border-radius:50%;object-fit:cover}.cv small{display:block;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.thr{display:flex;flex-direction:column;min-width:0}.thh{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);position:relative}.thh img{width:42px;height:42px;border-radius:50%;object-fit:cover}.thh b{flex:1}
.back{display:none;background:none;border:0;font-size:1.4rem;cursor:pointer}.kebab{background:none;border:0;font-size:1.5rem;cursor:pointer;padding:4px 10px}
.cmenu{position:absolute;right:12px;top:56px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:5;min-width:190px;display:none}.cmenu.open{display:block}.cmenu button{display:block;width:100%;text-align:left;background:none;border:0;padding:12px 16px;font:600 .95rem 'Mulish',sans-serif;cursor:pointer}.cmenu button:hover{background:var(--blush)}
#msgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:#fdf6f7}
.bub{max-width:76%;padding:10px 14px;border-radius:18px;background:#fff;border:1px solid var(--line);align-self:flex-start;word-wrap:break-word}.bub.me{align-self:flex-end;background:var(--rose);color:#fff;border-color:var(--rose)}.bub time{display:block;font-size:.72rem;opacity:.7;margin-top:2px}
.bub img.pic{max-width:240px;border-radius:12px;display:block;cursor:pointer}.bub img.pic.bl{filter:blur(18px)}
.empty{margin:auto;text-align:center;color:var(--mute);max-width:300px}
.comp{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);align-items:flex-end}.comp textarea{min-height:44px;max-height:120px;resize:none;border-radius:22px;padding:10px 16px}.comp .btn{padding:11px 20px}.comp .att{background:var(--blush);border:0;border-radius:50%;width:44px;height:44px;font-size:1.2rem;cursor:pointer;flex:none}
.mod{position:fixed;inset:0;background:rgba(251,238,240,.82);z-index:150;display:flex;align-items:center;justify-content:center;padding:18px}.mod>div{border:1px solid var(--line);box-shadow:0 12px 40px rgba(79,16,34,.25);background:#fff;border-radius:16px;padding:26px;max-width:460px;width:100%;max-height:90vh;overflow:auto}.mod img{border-radius:12px;margin:10px 0}
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.badge{text-align:center}.badge .ico{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;background:var(--blush);border:2px solid var(--gold);display:grid;place-items:center;font-size:1.6rem}
.charte{counter-reset:c;list-style:none;padding:0}.charte li{counter-increment:c;display:flex;gap:14px;margin:14px 0}.charte li::before{content:counter(c);flex:none;width:34px;height:34px;border-radius:50%;background:var(--rose);color:#fff;display:grid;place-items:center;font-weight:800}
@media(max-width:800px){.app{grid-template-columns:1fr;padding-bottom:70px}.side{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:70;border-radius:0;display:flex;padding:4px;border-width:1px 0 0}.side button,.side a{flex-direction:column;gap:2px;font-size:.7rem;padding:8px 4px;text-align:center;justify-content:center}.badges{grid-template-columns:1fr}
.chat{grid-template-columns:1fr}.chat .thr{display:none}.chat.show .thr{display:flex}.chat.show .clist{display:none}.back{display:block}.qexit{bottom:78px}}

.chip{display:inline-block;border:1.5px solid var(--line);border-radius:99px;padding:5px 13px;font:600 .88rem 'Mulish',sans-serif;background:#fff;color:var(--ink);cursor:pointer;margin:0 6px 6px 0}.chip.on{background:var(--rose);border-color:var(--rose);color:#fff}.chip.sm{padding:2px 10px;font-size:.78rem;cursor:default}
.tags{margin:.4em 0}.blurwrap{position:relative;overflow:hidden}.blurwrap img{filter:blur(16px) saturate(.7)}.blurwrap::after{content:"";position:absolute;inset:0;background:rgba(173,216,255,.55);pointer-events:none}.blurwrap span{position:absolute;z-index:2;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#0b3a66;font-weight:800;font-size:.85rem}
.prog{height:10px;background:var(--blush);border-radius:9px;overflow:hidden;margin-top:8px}.prog i{display:block;height:100%;background:var(--rose);width:0;transition:width .3s}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.stats .card{text-align:center;padding:16px}.stats b{display:block;font:700 2rem 'Cormorant Garamond',serif;color:var(--rose)}
.fi h3{font-size:1.25rem;margin-bottom:.2em}#feed{display:grid;gap:14px}
.gal6{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:10px 0}.gi img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.gi .blurwrap{border-radius:12px}
.pv{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 6px 22px rgba(79,16,34,.08)}.pvh{display:flex;gap:14px;align-items:center}.pvh img{width:84px;height:84px;border-radius:50%;object-fit:cover}.pvh .blurwrap{border-radius:50%;width:84px;height:84px;flex:none}.pvh .blurwrap span{display:none}.pvh h3{margin:0}
.pvg{display:flex;gap:8px;margin:8px 0}.pvg img,.pvg .blurwrap{width:64px;height:64px;border-radius:10px;object-fit:cover}.pvg .blurwrap span{display:none}
.filters{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:18px}.filters .grid{gap:12px}
.mcard .blurwrap{aspect-ratio:4/5}.mcard .blurwrap img{aspect-ratio:4/5;object-fit:cover;height:100%}
@media(max-width:800px){.side{overflow-x:auto}.side button{flex:0 0 auto;min-width:84px}.stats{grid-template-columns:1fr 1fr 1fr}}

/* ===== Bandeau d'en-tête professionnel + accessibilité ===== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.topbar{background:#3a0a18;color:#fff;font-size:.86rem;line-height:1.3}
.tb{display:flex;gap:4px 24px;align-items:center;flex-wrap:wrap;min-height:38px;padding-top:5px;padding-bottom:5px}
.topbar a{color:#fff;text-decoration:underline;text-underline-offset:3px}.topbar a:hover{color:#f3d9a0}
.tb-clock{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.tb-clock time::first-letter{text-transform:uppercase}
.htxt{max-width:700px;background:none;padding:0;border:0}
.hero h1,.hero p,.ph h3,.ph p,.gal figcaption,.band h2{text-shadow:0 1px 2px rgba(0,0,0,.9),0 3px 18px rgba(0,0,0,.7)}
.hero.small .htxt{max-width:760px}
@media(max-width:700px){.tb .tb-i{display:none}.tb a.tb-i{display:inline}.tb{justify-content:space-between}}
@media(prefers-contrast:more){.hero::before{background:rgba(0,0,0,.72)}.topbar{background:#000}}
@media(forced-colors:active){.htxt{border:2px solid CanvasText}}
.htxt .eyebrow{color:#f3d9a0}

/* ===== Indicateur « en ligne » (pastille verte) ===== */
.avw{position:relative;display:inline-block}.on-dot{position:absolute;right:2px;bottom:2px;width:14px;height:14px;border-radius:50%;background:#2e9e5b;border:2.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.2)}.on-dot[hidden]{display:none}
.mcard .avw{display:block}.mcard .on-dot{width:18px;height:18px;top:10px;right:10px;bottom:auto}.cv .avw,.thh .avw,.pvh .avw{flex:none}.pvh .on-dot{width:16px;height:16px}
.pastille{display:inline-block;width:10px;height:10px;border-radius:50%;background:#2e9e5b;margin-right:6px;vertical-align:middle}
.grp{grid-column:1/-1;font:700 .95rem 'Mulish',sans-serif;color:var(--wine);margin:10px 0 2px;padding:6px 14px 6px 0;border-bottom:1px solid var(--line)}p.grp{margin:0;padding:8px 14px;background:#fdf6f7}
.st{display:block;font-size:.8rem;color:var(--mute);font-weight:400}.st.on{color:#1d7a43;font-weight:700}.avlabel{cursor:pointer;display:inline-block}

#resa h2{font-size:1.6rem;margin-top:1.4em}#resa .chip{font-size:.95rem;padding:8px 16px}#resa .chip:disabled{opacity:.5;cursor:not-allowed;text-decoration:line-through}#resa .chip.on{color:#fff}
#r-err{color:#a11a2d;font-weight:700}#r-ok{border:2px solid var(--gold)}
