/* Index home enhancements - extracted & refined styling */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');

body{ font-family:'Montserrat','Inter',Arial,sans-serif; }

/* HERO REFINEMENT */
.hero{ position:relative; overflow:hidden; }
.hero::before{ content:''; position:absolute; inset:0; background:linear-gradient(120deg, rgba(233,49,150,.55), rgba(148,20,185,.55), rgba(255,116,3,.45)); opacity:.35; mix-blend-mode:screen; pointer-events:none; }
.hero-inner{ position:relative; }
.hero-copy h1{
	font-family:'Playfair Display',serif;
	font-size:clamp(2.6rem,6.6vw,4.2rem);
	line-height:1.05;
	color:#ffffff;
	background:none;
	-webkit-background-clip:unset;
	background-clip:unset;
}
.hero-copy p{ font-size:1.15rem; max-width:640px; }
.hero-metrics{ display:flex; gap:34px; flex-wrap:wrap; margin:40px 0 0; padding:0; list-style:none; }
.hero-metrics li{ flex:1 1 160px; min-width:140px; background:#fff; border-radius:18px; padding:18px 20px 20px; position:relative; box-shadow:0 14px 42px -12px rgba(40,8,56,.18); overflow:hidden; }
.hero-metrics li::before{ content:''; position:absolute; inset:0; padding:2px; border-radius:18px; background:linear-gradient(45deg,#e93196,#9414b9,#ff7403); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.6; transition:opacity .25s ease; }
.hero-metrics li::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:5px; background:linear-gradient(90deg,#e93196,#9414b9,#ff7403); opacity:.9; }
.hero-metrics li:hover::before{ opacity:1; }
.hero-metrics .val{ font:800 1.9rem 'Playfair Display',serif; margin:0 0 4px; letter-spacing:.02em; color:#2f2b29; }
.hero-metrics .label{ font:600 .66rem 'Inter',sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#6a6370; }

/* BEAUTY SECTION (moved from inline) */
.esthetique-section .intro p{ font-size:1.2em; }
.beauty-section{ position:relative; overflow:hidden; background:#f3f3f3; padding:60px 0; min-height:750px; }
.beauty-img-wrapper{ position:absolute; top:5%; left:0; width:48%; height:90%; transform:translateX(-40%); opacity:0; transition:transform 1.2s ease-out, opacity 1.2s ease-out; z-index:1; }
.beauty-img-wrapper img{ width:100%; height:100%; object-fit:cover; }
.beauty-img-wrapper.visible{ transform:translateX(0); opacity:1; }
.beauty-card{ position:relative; z-index:2; width:820px; height:720px; max-width:90vw; margin-left:auto; margin-right:5%; background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.08); display:flex; flex-direction:column; align-items:center; box-sizing:border-box; padding:60px 60px 40px; text-align:center; border-bottom:8px solid #b836a5; }
.beauty-title{ font-size:40px; line-height:1.2; color:#e6479a; font-weight:700; margin:0 0 30px; }
.beauty-subtitle{ font-size:18px; margin:0 0 10px; color:#000; }
.beauty-text{ font-size:15px; line-height:1.6; color:#333; max-width:100%; margin:0 auto 60px; }
.beauty-icons{ width:100%; display:flex; justify-content:center; gap:80px; margin-top:auto; margin-bottom:24px; }
.beauty-item{ display:inline-block; position:relative; text-align:center; padding-bottom:18px; text-decoration:none; color:inherit; }
.beauty-item:link, .beauty-item:visited, .beauty-item:hover, .beauty-item:focus{ text-decoration:none; color:inherit; }
.beauty-item::after{ content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%) scaleX(.85); width:128px; height:6px; background:var(--accent,#e93196); border-radius:3px; opacity:0; pointer-events:none; transition: opacity .18s ease, transform .18s ease; }
.beauty-item:hover::after, .beauty-item:focus-visible::after{ opacity:1; transform:translateX(-50%) scaleX(1); }
.beauty-icon{ width:180px; height:auto; display:block; margin:0 auto 15px; transition:transform 220ms ease, filter 220ms ease; will-change:transform; }
.beauty-item:hover .beauty-icon,.beauty-item:focus-within .beauty-icon{ transform:translateY(-6px) scale(1.08); }
@media (prefers-reduced-motion: reduce){ .beauty-icon{ transition:none; } }
.beauty-item-label{ font-size:16px; color:#111; }
@media (max-width:1100px){ .beauty-card{ width:90vw; height:auto; margin-right:auto; margin-left:auto; } .beauty-title{ font-size:32px; } .beauty-icons{ gap:50px; } .beauty-img-wrapper{ width:100%; height:45%; } }
@media (max-width:768px){ .beauty-section{ padding:40px 0; } .beauty-title{ font-size:28px; } .beauty-icons{ flex-direction:column; gap:25px; } }

/* VALUE PROPOSITION GRID */
.value-prop{ background:#fff; padding:90px 6% 70px; position:relative; }
.value-prop::before{ content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(233,49,150,0.07), rgba(148,20,185,0.05)); pointer-events:none; }
.value-prop-header{ text-align:center; max-width:900px; margin:0 auto 55px; }
.value-prop-header h2{ font-family:'Playfair Display',serif; font-size:3rem; margin:0 0 16px; }
.value-prop-header p{ font-size:1.15rem; color:#5c5665; margin:0; }
.vp-grid{ display:grid; gap:38px; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.vp-item{ background:#faf8fc; border:1px solid #e7daef; padding:26px 24px 30px; border-radius:20px; position:relative; box-shadow:0 14px 40px -12px rgba(42,14,58,.12); transition:transform .35s ease, box-shadow .35s ease; }
.vp-item:hover{ transform:translateY(-6px); box-shadow:0 24px 50px -14px rgba(42,14,58,.25); }
.vp-icon{ width:54px; height:54px; border-radius:14px; background:linear-gradient(45deg,#e93196,#9414b9,#ff7403); display:flex; align-items:center; justify-content:center; color:#fff; font-size:26px; margin-bottom:18px; box-shadow:0 10px 24px rgba(148,20,185,.35); }
.vp-item h3{ margin:0 0 10px; font:600 1.1rem 'Inter',sans-serif; }
.vp-item p{ margin:0; font-size:.9rem; line-height:1.55; color:#5d5664; }

/* Services strip background tweak retained */
.services-strip,.services-strip .services-grid{ background:#fde0ef; }

@media (max-width:860px){ .value-prop-header h2{ font-size:2.3rem; } }

/* HOME TABS CATEGORIES (light variant) */
.home-tabs{ background:#ffffff; padding:90px 6% 80px; position:relative; }
.home-tabs-header{ text-align:center; max-width:880px; margin:0 auto 50px; }
.home-tabs-header h2{ font-family:'Playfair Display',serif; font-size:3rem; margin:0 0 18px; }
.home-tabs-header p{ font-size:1.1rem; color:#5b5664; margin:0; }
.home-tablist{ display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin:0 0 42px; }
.home-tablist button{ font:600 13px/1 'Inter',sans-serif; letter-spacing:.09em; text-transform:uppercase; padding:12px 18px; border:none; border-radius:14px; background:#f2edf7; color:#4c3d58; cursor:pointer; transition:.25s; }
.home-tablist button:hover{ background:#e5d7f1; }
.home-tablist button[aria-selected='true']{ background:linear-gradient(45deg,#e93196,#9414b9,#ff7403); color:#fff; box-shadow:0 8px 26px -6px rgba(148,20,185,.45); }
.home-tabpanel{ display:none; animation:homePanel .55s cubic-bezier(.4,.12,.2,1); }
.home-tabpanel.is-active{ display:block; }
@keyframes homePanel{ from{ opacity:0; transform:translateY(16px);} to{ opacity:1; transform:translateY(0);} }
.home-cards{ display:grid; gap:30px; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.home-card{ position:relative; background:#fff; border-radius:20px; padding:24px 24px 30px; box-shadow:0 14px 42px -14px rgba(42,14,58,.18); overflow:hidden; }
.home-card::before{ content:''; position:absolute; inset:0; padding:2px; border-radius:20px; background:linear-gradient(45deg,#e93196,#9414b9,#ff7403); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
.home-card h3{ margin:4px 0 12px; font:600 1.05rem 'Inter',sans-serif; }
.home-card p{ margin:0 0 18px; font-size:.9rem; line-height:1.55; color:#554e5d; }
.home-chip-row{ display:flex; flex-wrap:wrap; gap:6px; }
.home-chip{ background:#faf7ff; border:1px solid #e3d6f1; font-size:.6rem; letter-spacing:.08em; padding:5px 9px; border-radius:999px; font-weight:600; color:#5b4c67; }

/* METHODOLOGIES BLOCK */
.home-tech{ margin:100px auto 80px; max-width:1100px; background:#fff; padding:70px 60px 80px; border-radius:34px; box-shadow:0 24px 70px -18px rgba(42,14,58,.28); position:relative; }
.home-tech::before{ content:''; position:absolute; inset:0; padding:3px; border-radius:34px; background:linear-gradient(110deg,#e93196,#9414b9 55%,#ff7403); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
.home-tech h3{ margin:0 0 26px; font:600 2.2rem 'Playfair Display',serif; }
.home-tech-grid{ display:grid; gap:34px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.home-tech-item{ background:#faf8fc; border:1px solid #eddeff; padding:22px 22px 26px; border-radius:20px; font-size:.9rem; line-height:1.55; position:relative; opacity:0; transform:translateY(30px); transition:opacity .6s ease, transform .6s ease; }
.home-tech-item.is-inview{ opacity:1; transform:translateY(0); }
.home-tech-item h5{ margin:0 0 10px; font:600 .95rem 'Inter'; letter-spacing:.03em; }

/* REVEAL ANIMATIONS (generic) */
.vp-item, .service-card, .home-card{ opacity:0; transform:translateY(26px); transition:opacity .6s ease, transform .6s ease; }
.vp-item.is-inview, .service-card.is-inview, .home-card.is-inview{ opacity:1; transform:translateY(0); }

@media (prefers-reduced-motion: reduce){
	.home-tabpanel{ animation:none; }
	.vp-item, .service-card, .home-card, .home-tech-item{ transition:none; }
}
