/* ================================
   YUNG'S AGENCY — PREMIUM REWORK
   Minimal Black & White Version
   ================================ */

:root {

  /* ================================
     COLORS
     ================================ */

  --bg-dark: #050505;
  --bg-darker: #000000;

  --text-white: #ffffff;
  --text-light: #b8b8b8;
  --text-gray: #8d8d8d;

  --primary-white: #ffffff;
  --soft-white: #f5f5f5;

  --accent-silver: #d6d6d6;
  --accent-light: #ececec;

  --blue-soft: #dbeafe;
  --blue-accent: #93c5fd;
  --blue-neon: #7dd3fc;
  --accent-gold: #d4af37;

  --glass-light: rgba(255, 255, 255, 0.06);
  --glass-lighter: rgba(255, 255, 255, 0.03);
  --glass-dark: rgba(255, 255, 255, 0.025);

  --border-soft: rgba(255, 255, 255, 0.08);

  /* ================================
     SPACING
     ================================ */

  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 1.5rem;
  --spacing-lg: 2rem;
  --spacing-xl: 3rem;
  --spacing-2xl: 5rem;
  --spacing-3xl: 7rem;

  /* ================================
     TRANSITIONS
     ================================ */

  --transition-fast: 0.3s ease;
  --transition-normal: 0.5s ease;
  --transition-slow: 0.8s ease;
}

/* ================================
   RESET
   ================================ */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:80px;
}

body{
  font-family:'Segoe UI', sans-serif;
  background: linear-gradient(
    135deg,
    var(--bg-darker) 0%,
    var(--bg-dark) 100%
  );

  color:var(--text-white);
  overflow-x:hidden;
  line-height:1.7;
  background-attachment:fixed;
}

/* ================================
   BACKGROUND EFFECT
   ================================ */

body::before{
  content:'';
  position:fixed;
  inset:0;

  background:
  radial-gradient(circle at top left,
  rgba(255,255,255,0.03),
  transparent 40%),

  radial-gradient(circle at bottom right,
  rgba(147,197,253,0.04),
  transparent 40%);

  pointer-events:none;
  z-index:-1;
}

/* ================================
   TYPOGRAPHY
   ================================ */

   .logo-image {
  width: 40px;
  height: 40px;
  object-fit: contain;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.2));
  transition: transform 0.3s ease;
}

.logo-image:hover {
  transform: scale(1.1) rotate(-3deg);
}
   

h1,h2,h3,h4,h5,h6{
  font-weight:700;
  line-height:1.1;
  letter-spacing:-0.03em;
}

h1{
  font-size:clamp(3rem,7vw,5rem);
  margin-bottom:var(--spacing-md);
}

h2{
  font-size:clamp(2rem,5vw,3.5rem);
  margin-bottom:var(--spacing-lg);
}

h3{
  font-size:clamp(1.4rem,3vw,2rem);
  margin-bottom:var(--spacing-md);
}

p{
  color:var(--text-light);
  font-size:1rem;
  max-width:700px;
}

a{
  text-decoration:none;
  color:var(--text-white);
  transition:all var(--transition-fast);
}

/* ================================
   NAVBAR
   ================================ */

nav{
  position:sticky;
  top:0;
  z-index:1000;

  background:rgba(0,0,0,0.65);
  backdrop-filter:blur(18px);

  border-bottom:1px solid var(--border-soft);

  transition:all var(--transition-normal);
}

.navbar{
  max-width:1500px;
  margin:auto;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:1.2rem 3rem;
}

/* ================================
   LOGO
   ================================ */

.logo-section{
  display:flex;
  align-items:center;
  gap:1rem;
}

.logo-placeholder{
  width:52px;
  height:52px;

  border-radius:14px;

  background:rgba(255,255,255,0.03);

  border:1px solid rgba(255,255,255,0.08);

  display:flex;
  align-items:center;
  justify-content:center;

  color:#888;

  transition:all var(--transition-fast);
}

.logo-placeholder:hover{
  border-color:rgba(255,255,255,0.2);

  transform:translateY(-2px);

  background:rgba(255,255,255,0.05);
}

.brand-name {
  font-size: 0.8rem;
  letter-spacing: 0.25em;
  font-weight: 600;
  color: white;
}

/* ================================
   NAV LINKS
   ================================ */

.nav-links{
  display:flex;
  list-style:none;
  gap:2.5rem;

   margin-left: auto;
}

.nav-links a{
  color:var(--text-light);
  font-size:0.75rem;
  position:relative;
}

.nav-links a::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-6px;

  width:0%;
  height:1px;

  background:white;

  transition:width var(--transition-fast);
}

.nav-links a:hover::after{
  width:100%;
}

.nav-links a:hover{
  color:white;
}

/* ================================
   CTA BUTTON
   ================================ */

.cta-button{
  padding:0.6rem 1rem;

  border:none;
  border-radius:10px;

  background:white;
  color:black;

  font-weight:600;

  cursor:pointer;

  transition:all var(--transition-fast);

 margin-left: 1.3rem;
}

.cta-button:hover{
  background:#d9d9d9;
  transform:translateY(-2px);
}

/* ================================
   BUTTONS
   ================================ */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:1rem 2rem;

  border-radius:12px;

  transition:all var(--transition-fast);

  font-weight:600;

  cursor:pointer;
}

.btn-primary{
  background:white;
  color:black;
}

.btn-primary:hover{
  background:#d8d8d8;
  transform:translateY(-3px);
}

.btn-secondary{
  background:transparent;

  border:1px solid rgba(255,255,255,0.1);

  color:white;

  backdrop-filter:blur(10px);
}

.btn-secondary:hover{
  background:rgba(255,255,255,0.05);

  border-color:rgba(255,255,255,0.2);
}

/* ================================
   SECTION
   ================================ */

section{
  padding:7rem 3rem;
  position:relative;
}

.container{
  max-width:1400px;
  margin:auto;
}

.section-title{
  margin-bottom:5rem;
  text-align:center;
}

.section-title h2{
  color:white;
}

.section-title p{
  margin:auto;
}

/* ================================
   GLASS CARD
   ================================ */

   /* =========================
   LABS CONTENT
========================= */

.labs-content{
  position:relative;
  z-index:1;
  text-align:center;
}

/* =========================
   LABS TITLE
========================= */

.labs-title{

  margin-bottom:var(--spacing-lg);

  animation:fadeInUp 1s ease-out;

  font-size:clamp(3rem,7vw,5rem);

  font-weight:700;

  letter-spacing:-0.03em;

  background:linear-gradient(
    135deg,
    #ffffff,
    #bdbdbd
  );

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* =========================
   LABS DESCRIPTION
========================= */

.labs-description{

  font-size:1.2rem;

  color:var(--text-light);

  max-width:700px;

  margin:0 auto var(--spacing-2xl);

  line-height:1.8;

  animation:fadeInUp 1s ease-out .2s backwards;
}

.labs-section {
  position: relative;
  padding: 120px var(--spacing-2xl);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(
    135deg,
    rgba(14,165,233,0.15),
    rgba(168,85,247,0.15)
  );
}

/* IMAGE POSITIONNÉE À DROITE */
.floating-image {
  position: absolute;
  right: 3%;
  top: 50%;
  transform: translateY(-50%);
  width: 500px; /* agrandi */
  z-index: 1;
}

/* IMAGE */
.floating-image img {
  width: 100%;
  height: auto;
  object-fit: cover;

  animation: floatZoom 6s ease-in-out infinite;

  filter: drop-shadow(0 25px 50px rgba(0,0,0,0.45));

  border-radius: 30px;
}


.ebook-card img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  aspect-ratio: 3/2;
}

.glass-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
  transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal), background var(--transition-normal);
  backdrop-filter: blur(18px);
  min-height: auto;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-between;
}

.glass-card:hover {
  transform: translateY(-10px);
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.07);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.22);
}

/* Glass card content refinements */
.glass-card h3{
  margin: 0 0 0.5rem 0;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.2;
}

.glass-card p, .glass-card li {
  color: var(--text-light);
  line-height: 1.6;
  word-break: break-word;
}

.glass-card ul{padding-left:0;}

.glass-card .btn{margin-top:0.5rem}

.stagger-item {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.85s ease forwards;
}

.formation-media {
  min-height: 220px;
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
}

.formation-media img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  aspect-ratio: 16/9;
}

.ebook-card {
  width: 100%;
  min-height: auto;
  overflow: hidden;
  display:flex;
  flex-direction:column;
}

.ebook-card img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 3/2;
}

.portfolio-media {
  min-height: 220px;
  border-radius: 24px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}

.portfolio-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.28) 100%);
}

.portfolio-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.portfolio-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.premium-ticker {
  padding: 1.5rem 0;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
}

.ticker-track {
  display: flex;
  align-items: center;
  gap: 4rem;
  animation: tickerScroll 18s linear infinite;
  white-space: nowrap;
}

.ticker-track span {
  color: rgba(255, 255, 255, 0.28);
  font-size: clamp(1rem, 2vw, 1.3rem);
  letter-spacing: 0.6em;
  text-transform: uppercase;
}

@keyframes tickerScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

.fade-in-up {
  opacity: 1 !important;
  transform: translateY(0) !important;
}


/* ================================
   HERO SECTION
   ================================ */

.hero{
  min-height:calc(100vh - 90px);
  padding:6rem var(--spacing-2xl) 4rem;

  display:flex;
  align-items:center;
  justify-content:center;

  text-align:center;

  position:relative;
  overflow:hidden;
}

.hero-background{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

.hero-glow{
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  filter:blur(120px);
  opacity:0.32;
}

.hero-glow--blue{
  top:-80px;
  left:-80px;
  background:rgba(14,165,233,0.3);
}

.hero-glow--purple{
  right:-100px;
  bottom:-100px;
  background:rgba(168,85,247,0.25);
}

.hero-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size:120px 120px;
}

.hero-floating{
  position:absolute;
  top:30%;
  left:60%;
  width:320px;
  height:320px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 0 120px rgba(255,255,255,0.06);
  transform:translate(-50%, -50%);
}

.hero-content{
  max-width:900px;
  position:relative;
  z-index:1;
}

.hero-intro{
  margin-bottom:3rem;
}

.section-label{
  display:inline-flex;
  padding:0.65rem 1.1rem;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:999px;
  color:var(--text-light);
  font-size:0.78rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  margin-bottom:1.5rem;
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,0.03);
}

.hero-subtitle{
  color:var(--text-light);
  font-size:1.15rem;
  margin:0 auto 2.5rem;
  max-width:760px;
  line-height:1.8;
}

.hero-buttons{
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:3rem;
}

.hero-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1.5rem;
  margin-top:2.5rem;
}

.stat-value{
  font-size:2.2rem;
  font-weight:700;
  color:var(--accent-gold);
  margin-bottom:0.8rem;
}

.scroll-indicator{
  position:absolute;
  left:50%;
  bottom:2.5rem;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:0.9rem;
  color:var(--text-light);
  font-size:0.95rem;
}

.scroll-arrow{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  animation:bounce 2s ease-in-out infinite;
}

.scroll-arrow::after{
  content:'';
  width:8px;
  height:8px;
  border-right:2px solid var(--blue-neon);
  border-bottom:2px solid var(--blue-neon);
  transform:rotate(45deg);
}

.formation-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  align-items:start;
}

.formation-group h3{
  color:white;
  margin-bottom:1.5rem;
}

.cards-grid{
  display:grid;
  gap:1.5rem;
}

.formation-card{
  display:grid;
  gap:1.2rem;
}

.formation-media{
  min-height:160px;
  height:auto;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.5rem;
  color:white;
  padding:0.25rem;
  overflow:hidden;
}

.formation-media.free{
  background:linear-gradient(135deg, #0ea5e9, #8b5cf6);
}

.formation-media.premium{
  background:linear-gradient(135deg, #a855f7, #06b6d4);
}

.formation-body{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.card-meta{
  color:var(--text-light);
  font-size:0.95rem;
}

.ebooks-grid,
.portfolio-grid,
.labs-preview-grid,
.about-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.5rem;
}

.ebook-preview{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.ebook-body{
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.card-badge{
  display:inline-flex;
  padding:0.45rem 0.9rem;
  border-radius:999px;
  background:rgba(212,175,55,0.08);
  border:1px solid rgba(212,175,55,0.18);
  color:var(--accent-gold);
  font-size:0.8rem;
  width:max-content;
}

.price{
  font-weight:700;
  color:var(--accent-gold);
}

.ebook-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-top:auto;
}

.portfolio-card .portfolio-media{
  height:180px;
  border-radius:20px;
  margin-bottom:1.5rem;
}

.portfolio-media--web{
  background:linear-gradient(135deg, #0ea5e9, #8b5cf6);
}

.portfolio-media--branding{
  background:linear-gradient(135deg, #a855f7, #06b6d4);
}

.portfolio-media--mobile{
  background:linear-gradient(135deg, #06b6d4, #0ea5e9);
}

.portfolio-body h4,
.about-card h4{
  margin-bottom:0.8rem;
}

.labs-preview{
  position:relative;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:32px;
}

.labs-card{
  text-align:center;
  padding:2rem;
}

.labs-icon{
  width:72px;
  height:72px;
  margin:0 auto 1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:rgba(255,255,255,0.05);
  font-size:2rem;
}

.labs-hero-card{
  margin-top:2rem;
  padding:2.5rem;
  border-radius:28px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  backdrop-filter:blur(14px);
}

.labs-hero-copy{
  max-width:760px;
  margin:auto;
  text-align:center;
}

.about-card{
  padding:2rem;
}

.about-card p{
  color:var(--text-light);
}

@media(max-width:900px){
  .formation-grid{
    grid-template-columns:1fr;
  }
}

.hero h1{
  margin-bottom:1.5rem;
}

.hero p{
  margin:auto;
  margin-bottom:2rem;
}

.hero-buttons{
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
}

/* ================================
   FOOTER
   ================================ */

footer{
  padding:5rem 3rem;

  border-top:1px solid rgba(255,255,255,0.05);

  background:rgba(255,255,255,0.015);

  backdrop-filter:blur(14px);
}

.footer-content{
  max-width:1400px;
  margin:auto;

  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

  gap:3rem;
}

.footer-section h4{
  margin-bottom:1rem;
  color:white;
}

.footer-section ul{
  list-style:none;
}

.footer-section li{
  margin-bottom:0.8rem;
}

.footer-section a{
  color:var(--text-light);
}

.footer-section a:hover{
  color:white;
}

.social-icons{
  display:flex;
  gap:1rem;
  margin-top:1rem;
}

.social-icon{
  width:42px;
  height:42px;

  border-radius:50%;

  background:rgba(255,255,255,0.04);

  border:1px solid rgba(255,255,255,0.06);

  display:flex;
  align-items:center;
  justify-content:center;

  transition:all var(--transition-fast);
}

.social-icon:hover{
  transform:translateY(-4px);

  background:white;
  color:black;
}

/* ================================
   WHATSAPP BUTTON
   ================================ */

.whatsapp-button{
  position:fixed;

  bottom:2rem;
  right:2rem;

  width:60px;
  height:60px;

  border-radius:50%;

  background:#25d366;

  display:flex;
  align-items:center;
  justify-content:center;

  z-index:999;

  box-shadow:
  0 0 25px rgba(37,211,102,0.25);

  transition:all var(--transition-fast);
}



.whatsapp-button:hover{
  transform:scale(1.08);
}

.whatsapp-icon{
  color:white;
  font-size:1.7rem;
  width:32px;
  height:32px;
}

.whatsapp-image {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
/* ================================
   SCROLL BAR
   ================================ */

.scroll-progress{
  position:fixed;

  top:0;
  left:0;

  height:2px;

  width:0%;

  z-index:2000;

  background:white;
}

/* ================================
   ANIMATIONS
   ================================ */

.floating{
  animation:floating 4s ease-in-out infinite;
}

@keyframes floating{
  0%,100%{
    transform:translateY(0px);
  }

  50%{
    transform:translateY(-12px);
  }
}

.fade-in{
  animation:fadeIn 1s ease;
}

@keyframes fadeIn{
  from{
    opacity:0;
  }

  to{
    opacity:1;
  }
}

/* ================================
   RESPONSIVE
   ================================ */

@media(max-width:900px){

  .nav-links{
    display:none;
  }

  .navbar{
    padding:1rem 1.5rem;
  }

  section{
    padding:5rem 1.5rem;
  }

  .premium-ticker {
    padding: 1rem 0;
  }

  .formation-media {
    min-height: 180px;
  }

  .ebook-card {
    min-height: auto;
  }

  h1{
    font-size:2.5rem;
  }

  .hero-buttons{
    flex-direction:column;
    align-items:center;
  }

}

@media(max-width:600px){

  .brand-name{
    font-size:0.9rem;
    letter-spacing:0.15em;
  }

  .logo-placeholder{
    width:45px;
    height:45px;
  }

  .cta-button{
    padding:0.8rem 1.2rem;
  }

  .ticker-track {
    gap: 2rem;
  }

  .ticker-track span {
    font-size: 1rem;
    letter-spacing: 0.35em;
  }

}