:root { --bg:#0f0f0f; --panel:#0a0a0a; --line:#1f1f1f; --text:#faf8f5; --muted:#888; --gold:#c9a962; }
*{box-sizing:border-box} body{margin:0;font-family:"Manrope",sans-serif;background:var(--bg);color:var(--text)}
.shell{width:min(1280px,calc(100% - 48px));margin:0 auto}.nav{height:80px;display:flex;align-items:center;justify-content:space-between}
.logo{font:500 22px/1 "Playfair Display",serif;letter-spacing:2px}.menu{display:flex;gap:40px;align-items:center}.menu a{color:var(--muted);text-decoration:none;font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:1px solid transparent;text-decoration:none;font-weight:600;font-size:13px;transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease}
.btn-gold{background:var(--gold);color:#111;box-shadow:0 0 0 rgba(201,169,98,.35);animation:goldPulse 2.8s ease-in-out infinite}
.btn-dark{background:#151515;color:var(--text);border-color:#2a2a2a}
.btn:hover{transform:translateY(-2px)}
.btn-dark:hover{border-color:#3c3c3c;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.hero,.final-cta{position:relative;overflow:hidden}.hero{min-height:800px}
.hero-bg{position:absolute;inset:0;background:url('/magicien/images/generated-1772700941725.png') center/cover;opacity:.4;animation:bgFloat 16s ease-in-out infinite}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0f0f0fcc 0%,#0f0f0f33 45%,#0f0f0fd9 100%)}
.hero-content,.final-content{position:relative;z-index:1;min-height:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:32px}
.hero-content > *{opacity:0;transform:translateY(14px);animation:fadeUp .9s cubic-bezier(.2,.8,.2,1) forwards}
.hero-content > :nth-child(2){animation-delay:.15s}
.hero-content > :nth-child(3){animation-delay:.3s}
.hero-content > :nth-child(4){animation-delay:.45s}
.badge{border:1px solid #c9a96240;padding:8px 20px;color:var(--gold);font-size:11px;letter-spacing:1px;animation:badgeGlow 3s ease-in-out infinite}
h1,h2{margin:0;font-family:"Playfair Display",serif;font-weight:500}h1{font-size:clamp(42px,8vw,80px)}.hero p{color:var(--muted);font-size:18px;line-height:1.6;max-width:600px;margin:0}.cta-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.trust{min-height:100px;display:flex;align-items:center;justify-content:center;gap:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#444;font-size:14px;letter-spacing:2px;font-weight:500;flex-wrap:wrap;padding:20px 0}
.trust span{transition:color .25s ease, transform .25s ease}
.trust span:hover{color:#7a7a7a;transform:translateY(-2px)}
.section{padding:100px 0}.eyebrow{margin:0 0 10px;color:var(--gold);font-size:11px;font-weight:600;letter-spacing:2px;text-align:center}.section h2{font-size:clamp(34px,5vw,48px);text-align:center}.subtitle{text-align:center;color:var(--muted);max-width:520px;margin:16px auto 0;line-height:1.6}
.grid-3{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-top:48px}
.card,.testimonials blockquote{background:var(--panel);border:1px solid var(--line);transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease}
.card:hover,.testimonials blockquote:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.25);border-color:#363636}
.card img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .45s ease, filter .45s ease}
.card:hover img{transform:scale(1.04);filter:brightness(1.05)}
.card h3{margin:16px 16px 8px;font-family:"Playfair Display",serif;font-size:24px}.card p{margin:0 16px 20px;color:var(--muted)}
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);padding:80px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.stats strong{display:block;font:500 48px/1 "Playfair Display",serif;color:var(--gold)}.stats span{color:var(--muted);font-size:14px}
.testimonials blockquote{margin:0;padding:32px;display:grid;gap:20px}.testimonials cite{color:var(--muted);font-style:normal;font-size:14px}
.gallery-wrap{background:var(--panel)}.gallery{margin-top:48px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.gallery img{width:100%;height:500px;object-fit:cover;border:1px solid var(--line)}
.final-cta{min-height:500px}.final-bg{position:absolute;inset:0;background:url('/magicien/images/generated-1772701095761.png') center/cover;opacity:.25}.final-content h2{font-size:clamp(34px,5vw,48px);max-width:780px}.final-content p{color:var(--muted);max-width:520px;line-height:1.6;margin:0}.final-content small{color:#666}
.footer{background:var(--panel);border-top:1px solid var(--line);padding:60px 0}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-top p{color:var(--muted);max-width:320px}.footer-bottom{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#444;font-size:12px}
@media (max-width:1024px){.menu a:not(.btn){display:none}.grid-3,.stats-grid,.gallery{grid-template-columns:1fr}.gallery img{height:300px}.footer-top,.footer-bottom{flex-direction:column}}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes badgeGlow{0%,100%{box-shadow:0 0 0 rgba(201,169,98,.0)}50%{box-shadow:0 0 18px rgba(201,169,98,.25)}}
@keyframes goldPulse{0%,100%{box-shadow:0 0 0 rgba(201,169,98,.0)}50%{box-shadow:0 0 22px rgba(201,169,98,.35)}}
@keyframes bgFloat{0%,100%{transform:scale(1.02)}50%{transform:scale(1.08)}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.stagger-1{transition-delay:.06s}
.stagger-2{transition-delay:.12s}
.stagger-3{transition-delay:.18s}
.stagger-4{transition-delay:.24s}
