/* ===== Liana Velvet — Noble-Nymph inspired theme ===== */
:root{
  --bg:        #0c0708;
  --bg-2:      #140d10;
  --panel:     #1a1013;
  --velvet:    #3a0d1c;
  --velvet-2:  #5e1228;
  --gold:      #d9b25f;
  --gold-2:    #f0d590;
  --rose:      #e7a3b4;
  --text:      #f3e9ea;
  --muted:     #b09aa0;
  --line:      rgba(217,178,95,.18);
  --serif:     'Cormorant Garamond', Georgia, serif;
  --sans:      'Jost', system-ui, sans-serif;
  --script:    'Yellowtail', cursive;
  --display:   'Cinzel Decorative', 'Cormorant Garamond', serif;
  --max:       1200px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1}
em{font-style:italic;color:var(--gold-2)}

.eyebrow{
  font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;
  color:var(--gold);font-weight:500;margin-bottom:1rem;
}
.section-head{text-align:center;max-width:720px;margin:0 auto 2.5rem}
.section-head h2{font-family:var(--display);font-weight:700;font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:.01em}
.section-sub{color:var(--muted);margin-top:.8rem}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.95rem 1.9rem;border-radius:999px;
  font-family:var(--sans);font-weight:500;font-size:.95rem;
  letter-spacing:.04em;cursor:pointer;border:1px solid transparent;
  transition:transform .25s,box-shadow .25s,background .25s,color .25s;
}
.btn--sm{padding:.45rem 1.1rem;font-size:.78rem}
.btn--gold{
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  color:#241406;box-shadow:0 8px 30px rgba(217,178,95,.28);
}
.btn--gold:hover{transform:translateY(-3px);box-shadow:0 12px 38px rgba(217,178,95,.45)}
.btn--ghost{border-color:var(--line);color:var(--text)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-2)}

/* ===== Age gate ===== */
.age-gate{
  position:fixed;inset:0;z-index:1000;
  background:rgba(6,3,4,.92);backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:center;padding:1.5rem;
}
.age-gate.hidden{display:none}
.age-gate__card{
  max-width:460px;text-align:center;background:var(--panel);
  border:1px solid var(--line);border-radius:20px;padding:3rem 2.4rem;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.age-gate__mark{
  display:inline-grid;place-items:center;width:64px;height:64px;margin-bottom:1.4rem;
  border-radius:50%;font-family:var(--serif);font-size:1.6rem;color:var(--gold-2);
  border:1px solid var(--gold);background:radial-gradient(circle,var(--velvet),transparent);
}
.age-gate__card h2{font-size:1.9rem;margin-bottom:1rem}
.age-gate__card p{color:var(--muted);margin-bottom:1.6rem}
.age-gate__actions{display:flex;flex-direction:column;gap:.8rem}
.age-gate__fine{font-size:.78rem;margin-top:1.4rem;margin-bottom:0}

/* ===== Header ===== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;gap:1.25rem;
  padding:.3rem clamp(1rem,4vw,3rem);
  background:rgba(12,7,8,.55);backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;transition:background .3s,border-color .3s;
}
.site-header.scrolled{background:rgba(12,7,8,.92);border-color:var(--line)}
.brand{display:flex;align-items:center;gap:.7rem;margin-right:auto}
.brand__mark{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  font-family:var(--serif);color:var(--gold-2);border:1px solid var(--gold);
  background:radial-gradient(circle,var(--velvet),transparent);font-size:.75rem;
}
.brand__name{font-family:var(--serif);font-size:1rem;letter-spacing:.03em}
.nav{display:flex;gap:1.8rem}
.nav a{font-size:.82rem;letter-spacing:.05em;color:var(--muted);transition:color .25s;position:relative}
.nav a:hover{color:var(--gold-2)}
.nav a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .25s}
.nav a:hover::after{width:100%}
.nav-toggle{display:none;background:none;border:none;color:var(--text);font-size:1.5rem;cursor:pointer}

/* ===== Hero ===== */
.hero{position:relative;min-height:100vh;display:grid;place-items:center;text-align:center;overflow:hidden}
.hero__photo{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:60% 28%;filter:saturate(1.02) brightness(.92) contrast(1.02);
}
.hero__bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 50% 54%,rgba(8,4,5,.5),transparent 62%),
    linear-gradient(180deg,rgba(8,4,5,.4) 0%,rgba(8,4,5,.12) 35%,rgba(8,4,5,.82) 100%);
}
.hero__bg::after{
  content:'';position:absolute;inset:0;opacity:.06;
  background-image:radial-gradient(circle,var(--gold) 1px,transparent 1px);
  background-size:38px 38px;
}
.hero__inner{position:relative;padding:0 1.5rem;animation:rise 1s ease both}
.hero__kicker{font-size:.85rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.hero__title{font-family:var(--script);font-size:clamp(3.6rem,14vw,10rem);font-weight:400;
  letter-spacing:0;line-height:1.05;text-shadow:0 6px 40px rgba(0,0,0,.55)}
.hero__title em{font-style:normal}
.hero__tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,3.2vw,2rem);color:var(--rose);margin:1.2rem 0 2.6rem;text-shadow:0 2px 16px rgba(0,0,0,.6)}
.hero__cta{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}
.hero__cta .btn--gold{padding:1.2rem 3rem;font-size:1.1rem;box-shadow:0 10px 40px rgba(217,178,95,.4)}
.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);font-size:1.5rem;color:var(--gold);animation:bob 2s infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,10px)}}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}

/* ===== Platform strip (marquee) ===== */
.strip{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--bg-2);padding:1rem 0}
.strip__track{display:flex;gap:2.5rem;white-space:nowrap;width:max-content;
  font-family:var(--serif);font-size:1.3rem;color:var(--gold);letter-spacing:.1em;
  animation:slide 22s linear infinite}
.strip__track span{opacity:.8}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.strip__track{animation:none}}

/* ===== Sections layout ===== */
section{padding:clamp(3rem,6vw,5rem) clamp(1rem,5vw,3rem)}
section:not(.hero):not(.cta-banner){max-width:var(--max);margin:0 auto}

/* ===== About ===== */
.about{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.about__media{position:relative}
.about__img{
  width:100%;border-radius:20px;border:1px solid var(--line);
  aspect-ratio:3/4;object-fit:cover;object-position:50% 30%;
  box-shadow:0 30px 70px rgba(0,0,0,.5);
}
.about__avatar{
  position:absolute;bottom:-22px;right:-22px;
  width:130px;height:130px;border-radius:50%;object-fit:cover;
  border:3px solid var(--gold);box-shadow:0 14px 40px rgba(0,0,0,.55);
}
.about__text h2{font-size:clamp(2rem,4.5vw,3.2rem);margin-bottom:1.4rem}
.about__text p{color:var(--muted);margin-bottom:1.1rem}
.stats{list-style:none;display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap}
.stats li{display:flex;flex-direction:column}
.stats strong{font-family:var(--serif);font-size:1.7rem;color:var(--gold-2)}
.stats span{font-size:.82rem;color:var(--muted);letter-spacing:.05em}

/* ===== Placeholders (replace with real photos) ===== */
.ph{
  position:relative;border-radius:16px;border:1px solid var(--line);overflow:hidden;
  background:
    linear-gradient(135deg,var(--velvet),var(--bg-2)),
    var(--panel);
  display:grid;place-items:center;min-height:220px;
}
.ph::before{
  content:attr(data-label);
  font-family:var(--serif);font-style:italic;color:rgba(243,233,234,.4);font-size:1rem;
  letter-spacing:.05em;
}
.ph::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 30% 20%,rgba(217,178,95,.18),transparent 60%);
}
.ph--portrait{min-height:480px;border-radius:20px}

/* ===== Gallery ===== */
.gallery__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;
  grid-auto-flow:dense;
}
.ph--card{min-height:260px;transition:transform .35s,box-shadow .35s}
.ph--card:hover{transform:scale(1.02);box-shadow:0 18px 50px rgba(0,0,0,.5)}
.ph--tall{grid-row:span 2;min-height:540px}
.ph.locked{cursor:pointer}
.ph .lock{
  position:absolute;z-index:2;bottom:14px;left:14px;
  font-size:.78rem;letter-spacing:.08em;color:var(--gold-2);
  background:rgba(12,7,8,.6);border:1px solid var(--line);
  padding:.35rem .75rem;border-radius:999px;backdrop-filter:blur(4px);
  opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;
}
.ph.locked:hover .lock{opacity:1;transform:none}
.ph.locked::after{
  background:radial-gradient(circle at 30% 20%,rgba(217,178,95,.18),transparent 60%),
             rgba(12,7,8,.35);
  backdrop-filter:blur(3px);transition:backdrop-filter .35s;
}
.ph.locked:hover::after{backdrop-filter:blur(1px)}
/* real photo cards */
.shot{
  position:relative;margin:0;border-radius:16px;overflow:hidden;
  border:1px solid var(--line);min-height:260px;
  transition:transform .35s,box-shadow .35s;
}
.shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s,filter .35s}
.shot--tall{grid-row:span 2}
.shot:hover{transform:scale(1.01);box-shadow:0 18px 50px rgba(0,0,0,.5)}
.shot:hover img{transform:scale(1.06)}
.shot.locked img{filter:brightness(.82)}
.shot.locked:hover img{filter:brightness(.7)}
.shot .lock{
  position:absolute;z-index:2;bottom:14px;left:14px;
  font-size:.78rem;letter-spacing:.08em;color:var(--gold-2);
  background:rgba(12,7,8,.6);border:1px solid var(--line);
  padding:.35rem .75rem;border-radius:999px;backdrop-filter:blur(4px);
  opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;
}
.shot.locked:hover .lock{opacity:1;transform:none}
.gallery__note{text-align:center;margin-top:2rem;color:var(--muted)}
.gallery__note a{color:var(--gold-2);border-bottom:1px solid var(--line)}
.gallery__note a:hover{color:var(--gold)}

/* ===== Links hub ===== */
.links__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.link-card{
  display:flex;align-items:center;gap:1.2rem;
  padding:1.5rem 1.8rem;border-radius:16px;
  background:var(--panel);border:1px solid var(--line);
  transition:transform .25s,border-color .25s,background .25s;
}
.link-card:hover{transform:translateY(-4px);border-color:var(--gold);background:#22151a}
.link-card--feature{
  grid-column:1/-1;
  background:linear-gradient(120deg,var(--velvet),var(--panel));
}
.link-card__icon{font-size:1.8rem;width:54px;height:54px;display:grid;place-items:center;
  border-radius:12px;background:rgba(217,178,95,.1);border:1px solid var(--line);flex:none}
.link-card__body{display:flex;flex-direction:column;flex:1}
.link-card__body strong{font-family:var(--serif);font-size:1.35rem;font-weight:500}
.link-card__body span{font-size:.88rem;color:var(--muted)}
.link-card__body .badge{
  display:inline-block;margin-left:.5rem;font-style:normal;font-family:var(--sans);
  font-size:.68rem;letter-spacing:.04em;color:#241406;vertical-align:middle;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  padding:.18rem .55rem;border-radius:999px;
}
.link-card__go{font-size:1.3rem;color:var(--gold);transition:transform .25s}
.link-card:hover .link-card__go{transform:translateX(6px)}

/* ===== Perks ===== */
.perks__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.perk{padding:2rem 1.6rem;border-radius:16px;background:var(--panel);border:1px solid var(--line);transition:transform .3s}
.perk:hover{transform:translateY(-6px)}
.perk__num{font-family:var(--serif);font-size:2.4rem;color:var(--gold);opacity:.6}
.perk h3{font-size:1.4rem;margin:.6rem 0}
.perk p{color:var(--muted);font-size:.92rem}

/* ===== Membre (2 colonnes éditorial) ===== */
.member{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.member__intro h2{font-size:clamp(2.4rem,5.5vw,4rem);margin:.3rem 0 1.2rem}
.member__lead{color:var(--muted);margin-bottom:2rem;max-width:36ch}
.member__list{list-style:none;display:flex;flex-direction:column;gap:1.3rem}
.member__list li{display:flex;gap:1.1rem;align-items:flex-start;
  border-bottom:1px solid var(--line);padding-bottom:1.3rem}
.member__list li:last-child{border-bottom:0;padding-bottom:0}
.member__ico{color:var(--gold);font-size:1rem;margin-top:.35rem;flex:none}
.member__list strong{font-family:var(--serif);font-size:1.4rem;font-weight:500;display:block;margin-bottom:.2rem}
.member__list p{color:var(--muted);font-size:.92rem}

/* ===== FAQ ===== */
.faq__list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}
.faq__item{
  border:1px solid var(--line);border-radius:14px;background:var(--panel);
  padding:1.2rem 1.6rem;transition:border-color .25s;
}
.faq__item[open]{border-color:var(--gold)}
.faq__item summary{
  cursor:pointer;font-family:var(--serif);font-size:1.25rem;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:'+';color:var(--gold);font-size:1.6rem;transition:transform .25s}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{color:var(--muted);margin-top:.9rem}

/* ===== CTA banner ===== */
.cta-banner{
  text-align:center;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(94,18,40,.6),transparent 70%),
    var(--bg-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.cta-banner h2{font-family:var(--script);font-weight:400;font-size:clamp(2.6rem,6vw,4.4rem)}
.cta-banner p{color:var(--muted);margin:1rem 0 2rem}

/* ===== Footer ===== */
.site-footer{text-align:center;padding:3.5rem 1.5rem;background:var(--bg)}
.footer__brand{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-bottom:1.4rem}
.footer__social{display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.4rem}
.footer__social a{font-size:.9rem;color:var(--muted);letter-spacing:.05em;transition:color .25s}
.footer__social a:hover{color:var(--gold-2)}
.footer__legal{font-size:.8rem;color:var(--muted);max-width:520px;margin:0 auto}

/* ===== Responsive ===== */
@media(max-width:900px){
  .about{grid-template-columns:1fr}
  .perks__grid{grid-template-columns:repeat(2,1fr)}
  .member{grid-template-columns:1fr;gap:2.5rem}
}
@media(max-width:760px){
  .nav{
    position:fixed;top:68px;right:0;flex-direction:column;gap:0;
    background:var(--panel);border:1px solid var(--line);border-radius:0 0 0 16px;
    padding:1rem 1.5rem;transform:translateX(110%);transition:transform .3s;width:200px;
  }
  .nav.open{transform:none}
  .nav a{padding:.7rem 0}
  .nav-toggle{display:block}
  .gallery__grid{grid-template-columns:repeat(2,1fr)}
  .links__grid{grid-template-columns:1fr}
  .ph--tall{grid-row:span 1;min-height:260px}
}
@media(max-width:480px){
  .about__avatar{width:96px;height:96px;bottom:-14px;right:10px}
  .perks__grid{grid-template-columns:1fr}
  .gallery__grid{grid-template-columns:1fr}
  .stats{gap:1.2rem}
}
