.portfolio-hero{padding-bottom:38px}
.portfolio-proof{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.portfolio-proof span{padding:10px 14px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.045);color:#dce5ff;font-size:.82rem;font-weight:700;letter-spacing:.03em}
.portfolio-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);gap:44px;align-items:end;margin-bottom:34px}
.portfolio-intro h2{max-width:760px;margin:14px 0 0;font-size:clamp(2rem,4vw,3.55rem);line-height:1.02}
.portfolio-intro>p{margin:0;color:var(--muted);line-height:1.75}
.case-list{display:grid;gap:28px}
.case-card{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);overflow:hidden;border-radius:30px;min-height:560px}
.case-reverse .case-preview{order:2}.case-reverse .case-content{order:1}
.case-preview{position:relative;min-height:100%;padding:28px;overflow:hidden;border-right:1px solid rgba(255,255,255,.08)}
.case-reverse .case-preview{border-right:0;border-left:1px solid rgba(255,255,255,.08)}
.case-preview:before,.case-preview:after{content:"";position:absolute;border-radius:50%;filter:blur(12px);pointer-events:none}
.case-preview:before{width:300px;height:300px;right:-110px;top:-80px;background:rgba(124,92,255,.33)}
.case-preview:after{width:230px;height:230px;left:-100px;bottom:-95px;background:rgba(48,210,255,.18)}
.browser-bar{position:relative;z-index:2;height:38px;border:1px solid rgba(255,255,255,.12);border-bottom:0;border-radius:18px 18px 0 0;background:rgba(5,8,20,.7);display:flex;align-items:center;gap:7px;padding:0 16px;color:rgba(255,255,255,.58);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}
.browser-bar i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22)}
.browser-bar span{margin-left:auto}
.festival-stage,.corporate-stage,.restaurant-stage{position:relative;z-index:1;height:430px;border:1px solid rgba(255,255,255,.12);border-radius:0 0 22px 22px;box-shadow:0 28px 70px rgba(0,0,0,.28);overflow:hidden}
.festival-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 30%,rgba(255,58,180,.26),transparent 28%),linear-gradient(145deg,#100525,#050716 70%)}
.festival-stage:before{content:"";position:absolute;inset:42% -10% -12%;background:linear-gradient(140deg,transparent 0 48%,rgba(110,83,255,.22) 49% 52%,transparent 53%),linear-gradient(40deg,transparent 0 48%,rgba(31,220,255,.16) 49% 52%,transparent 53%);transform:perspective(400px) rotateX(56deg)}
.preview-kicker{color:#65ddff;font-size:.72rem;font-weight:900;letter-spacing:.24em}.festival-stage strong{font-size:clamp(3.4rem,7vw,6rem);line-height:.9;letter-spacing:-.07em;text-shadow:0 0 40px rgba(180,83,255,.42)}
.festival-stage small{margin-top:18px;color:#c8d0e8}.preview-actions{display:flex;gap:10px;margin-top:28px}.preview-actions b{display:block;width:100px;height:34px;border-radius:999px;background:linear-gradient(90deg,#6f53ff,#d94cff)}.preview-actions b+ b{background:transparent;border:1px solid rgba(255,255,255,.3)}
.corporate-stage{padding:25px;background:linear-gradient(135deg,#f8fbff,#dfeeff);color:#0a2f58}.corp-nav{display:flex;gap:17px;align-items:center}.corp-nav b{margin-right:auto}.corp-nav span{width:44px;height:5px;border-radius:6px;background:#a7bad0}.corp-grid{display:grid;grid-template-columns:1fr .78fr;gap:20px;align-items:center;height:calc(100% - 35px)}.corp-grid small{display:block;color:#1e71bd;font-weight:900;letter-spacing:.16em}.corp-grid strong{display:block;margin:14px 0;font-size:3.25rem;line-height:.93}.corp-grid>div:first-child>span{display:block;width:120px;height:38px;border-radius:999px;background:#1673c5}.corp-image{height:270px;border-radius:120px 18px 120px 18px;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#ffe8a4,transparent 24%),linear-gradient(145deg,#86b64a,#1b682d);color:#fff;font-size:3rem;font-weight:900;box-shadow:0 28px 45px rgba(14,59,94,.2)}
.restaurant-stage{display:flex;flex-direction:column;justify-content:center;padding:42px;background:linear-gradient(105deg,rgba(11,7,4,.94),rgba(24,11,5,.68)),radial-gradient(circle at 80% 20%,#c84c1c,transparent 35%),#130904}.restaurant-stage>span{color:#ffb154;font-size:.75rem;font-weight:900;letter-spacing:.2em}.restaurant-stage>strong{font-size:4.2rem;line-height:1;margin:10px 0;color:#fff}.restaurant-stage>small{max-width:240px;color:#e9d8c5;font-size:1rem}.food-ring{position:absolute;right:-35px;bottom:-30px;width:245px;height:245px;border-radius:50%;border:30px solid rgba(255,166,76,.24);display:grid;place-items:center;background:radial-gradient(circle,#f7b65b 0 13%,#8a2e0f 14% 45%,#261108 46%);box-shadow:0 0 0 18px rgba(255,255,255,.04)}.food-ring b{color:#fff;font-size:2.4rem}
.case-content{padding:48px;display:flex;flex-direction:column;justify-content:center}
.case-topline{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.case-status{padding:7px 10px;border-radius:999px;background:rgba(120,88,255,.16);border:1px solid rgba(139,107,255,.34);color:#cbbcff}
.case-content h3{font-size:clamp(2rem,4vw,3.35rem);margin:18px 0 14px;line-height:1}.case-lead{color:#dce4f5;font-size:1.03rem;line-height:1.75;margin:0 0 25px}.case-details{display:grid;gap:14px;margin:0}.case-details div{padding:15px 17px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.025)}.case-details dt{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:#9c86ff}.case-details dd{margin:6px 0 0;color:var(--muted);font-size:.9rem;line-height:1.62}.case-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px}.text-link{color:#e7ecff;font-weight:800;text-decoration:none}.text-link span{display:inline-block;margin-left:5px;transition:transform .2s ease}.text-link:hover span{transform:translateX(4px)}
.portfolio-cta{display:flex;align-items:center;justify-content:space-between;gap:40px}.portfolio-cta>div{max-width:820px}.portfolio-cta .btn{flex:0 0 auto}
@media(max-width:980px){.portfolio-intro,.case-card{grid-template-columns:1fr}.case-reverse .case-preview,.case-reverse .case-content{order:initial}.case-preview,.case-reverse .case-preview{border:0;border-bottom:1px solid rgba(255,255,255,.08)}.case-content{padding:36px}.portfolio-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.portfolio-proof{justify-content:flex-start}.case-preview{padding:14px}.festival-stage,.corporate-stage,.restaurant-stage{height:330px}.festival-stage strong{font-size:3.5rem}.corp-grid strong{font-size:2.2rem}.corp-image{height:190px}.restaurant-stage{padding:25px}.restaurant-stage>strong{font-size:3rem}.food-ring{width:180px;height:180px;right:-50px}.case-content{padding:27px 22px}.case-actions{align-items:stretch;flex-direction:column}.case-actions .btn{text-align:center}.portfolio-intro{gap:20px}}

/* Réalisation client : L’Atelier Beauté by Elo */
.beauty-stage{position:relative;z-index:1;height:430px;border:1px solid rgba(255,255,255,.12);border-radius:0 0 22px 22px;box-shadow:0 28px 70px rgba(0,0,0,.28);overflow:hidden;padding:28px;background:radial-gradient(circle at 78% 22%,rgba(218,154,181,.38),transparent 30%),linear-gradient(145deg,#fff8f5,#f3dfe5 62%,#d8aa93);color:#4b2d35}
.beauty-stage:before{content:"";position:absolute;inset:auto -50px -90px auto;width:285px;height:285px;border-radius:50%;border:42px solid rgba(255,255,255,.38);box-shadow:0 0 0 18px rgba(176,121,101,.08)}
.beauty-nav{position:relative;z-index:2;display:flex;align-items:center;gap:17px;color:#6d404b;font-size:.74rem;letter-spacing:.12em}.beauty-nav b{margin-right:auto}.beauty-nav span{width:42px;height:5px;border-radius:999px;background:rgba(109,64,75,.24)}
.beauty-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;height:calc(100% - 30px);max-width:72%}.beauty-kicker{color:#a16f58;font-size:.7rem;font-weight:900;letter-spacing:.2em}.beauty-content strong{display:block;margin:14px 0 16px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.9rem,5vw,4.8rem);font-weight:500;line-height:.88;letter-spacing:-.045em}.beauty-content small{color:#7e5b63;font-size:.95rem}.beauty-actions{display:flex;gap:10px;margin-top:25px}.beauty-actions b{display:block;width:112px;height:34px;border-radius:999px;background:linear-gradient(90deg,#b77c68,#d9a3b9)}.beauty-actions b+b{width:82px;background:transparent;border:1px solid rgba(109,64,75,.28)}
.beauty-orbit{position:absolute;right:12px;bottom:20px;width:170px;height:170px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f6dfe6,#c992a7);border:14px solid rgba(255,255,255,.5);box-shadow:0 20px 45px rgba(100,53,68,.2)}.beauty-orbit span{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:rgba(255,255,255,.72);color:#8e5968;font-family:Georgia,"Times New Roman",serif;font-size:2rem}
@media(max-width:620px){.beauty-stage{height:330px;padding:20px}.beauty-content{max-width:82%}.beauty-content strong{font-size:2.8rem}.beauty-nav span{display:none}.beauty-orbit{width:125px;height:125px;right:-18px;bottom:-15px;border-width:10px}.beauty-orbit span{width:66px;height:66px;font-size:1.5rem}}
