body{
font-family: 'Inter', sans-serif;
margin:0;
background:#FFFAFA;
color:#333;
line-height:1.7;
scroll-behavior:smooth;
}

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

/* HEADER */

header{
text-align:center;
padding:10px 20px 50px;
background:linear-gradient(135deg,#FCD4D4,#FFFAFA);
}

h1{
font-family: 'Great Vibes',cursive;
font-size:40px;
}

h2{
font-family:'Lora', serif;
font-size:48px;
font-weight:400;
max-width:900px;
margin:auto;
}

.intro{
max-width:700px;
margin:30px auto;
font-size:18px;
}

/* MENU */

nav{
position:sticky;
top:0;
background:white;
display:flex;
justify-content:center;
gap:35px;
padding:15px;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
z-index:10;
}

nav a{
text-decoration:none;
color:#444;
font-weight:500;
transition:0.3s;
}

nav a:hover{
color:#c8a64a;
}

/* MAIN */

main{
max-width:900px;
margin:auto;
padding:70px 20px;
}

section{
scroll-margin-top: 90px;
}

h3{
font-family:'Lora', serif;
font-size:34px;

margin-bottom:30px;
border-bottom:2px solid #fabcbc;
display:inline-block;
padding-bottom:5px;
}

h4{
margin-top:40px;
font-size:24px;
}

/* ANIMATION SCROLL */

.fade{
opacity:0;
transform:translateY(40px);
transition:all 1s ease;
}

.fade.visible{
opacity:1;
transform:translateY(0);
}

/* BULLES */

.practiceContainer{
display:flex;
align-items:center;
justify-content:center;
gap:60px;
flex-wrap:wrap;
}

.bubblesRow{
display:flex;
gap:40px;
}

.bubble{
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:white;
box-shadow:0 15px 35px rgba(0,0,0,0.15);
cursor:pointer;
transition:0.35s;
text-align:center;
padding:20px;
}

.bubble:hover{
transform:translateY(-6px) scale(1.05);
}

.bubble.active{
background:#FABCBC;
color:white;
transform:scale(1.08);
}

.big{
width:200px;
height:200px;
font-size:20px;
}

.small{
width:120px;
height:120px;
font-size:14px;
}

.bubbleContent{
width:420px;
}

.bubbleText{
display:none;
background:white;
padding:25px;
border-radius:10px;
box-shadow:0 10px 25px rgba(0,0,0,0.12);
}

/* BOITES */

.boxes{
display:flex;
gap:20px;
flex-wrap:wrap;
}

.box{
flex:1;
min-width:220px;
background:white;
padding:25px;
border-radius:10px;
box-shadow:0 8px 20px rgba(0,0,0,0.1);
text-align:center;
}

.cadre-photo {
  width: 20%;
  height: auto;
}

.cadre-photo img {
    max-width: 20%;       /* Image réactive */
    height: auto;
}

.avatar {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
}

.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}