@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');:root{--bg:#090b18;--panel:#11152b;--txt:#f8f7ff;--muted:#c1bfd4;--orange:#ff652f;--pink:#ed2cba;--red:#fa303a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% 5%,#1a1640 0,transparent 35%),var(--bg);color:var(--txt);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.header{height:82px;position:sticky;top:0;z-index:20;background:rgba(7,9,22,.94);backdrop-filter:blur(16px);border-bottom:1px solid #ffffff18;display:flex;align-items:center;justify-content:space-between;padding:0 max(4%,calc((100vw - 1320px)/2))}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{width:70px}.brand-mark svg{width:100%;fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.brand-name{display:flex;flex-direction:column;line-height:.94}.brand-name strong{font-family:Outfit,sans-serif;font-size:26px;color:#ff9c3c;letter-spacing:-1px}.brand-name small{letter-spacing:4px;font-size:10px;margin-top:7px}.header nav{display:flex;align-items:center;gap:22px}.header nav a{font-size:13px;font-weight:700;transition:color .2s}.header nav a:hover,.header nav a.active{color:#ff9957}.header nav a.active:not(.nav-cta){border-bottom:2px solid var(--orange);padding-bottom:8px}.header nav a.nav-cta,.btn{background:linear-gradient(105deg,#e822c8,#ff6530);border:0;color:white;border-radius:40px;padding:14px 22px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 28px #ed2cba24;cursor:pointer}.header nav a.nav-cta{font-size:12px;padding:12px 18px}.btn:hover,.nav-cta:hover{filter:brightness(1.13);transform:translateY(-1px)}.btn-ghost{background:transparent;border:1px solid #b57bce;box-shadow:none}.menu-toggle{display:none;background:none;color:white;border:0;font-size:26px}.sr{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.hero{min-height:calc(100vh - 82px);max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:4%;padding:40px 5% 65px}.hero-art{position:relative;overflow:hidden;border-radius:28px;box-shadow:0 0 90px #ab26d62b;animation:art-in 1.5s both}.hero-art img{width:100%;height:auto;animation:gentle-zoom 2s ease-out both}.hero-content{animation:content-in 1.1s .35s both}.eyebrow{color:#ff8d54;font-weight:800;letter-spacing:2.5px;font-size:12px}.hero h1,.page-head h1{font-family:Outfit,sans-serif;font-size:clamp(44px,5.2vw,82px);line-height:1.04;letter-spacing:-2px;margin:20px 0}.hero h1 em,.page-head h1 em{font-style:normal;background:linear-gradient(95deg,#ff7436,#f03ac4);color:transparent;background-clip:text}.hero p,.page-head p{font-size:clamp(16px,1.6vw,20px);line-height:1.7;color:var(--muted);max-width:630px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.mini-intro{text-align:center;padding:25px 15px 55px;color:#d6c6f3}.pulse-line{color:var(--red);font-size:32px;font-weight:800}.page-head{text-align:center;padding:72px 20px 35px}.page-head h1{font-size:clamp(42px,5vw,65px);margin:12px 0}.page-head p{margin:0 auto}.content{max-width:1260px;margin:auto;padding:25px 25px 100px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card,.pack-card,.quote-form,.contact-details{background:linear-gradient(145deg,#161a35,#0d1022);border:1px solid #7e327a70;border-radius:19px;overflow:hidden}.service-card{padding:30px;min-height:235px}.service-icon{font-size:34px}.service-card h2{font-family:Outfit;font-size:25px}.service-card p,.pack-info p,.about-copy p,.contact-details p{color:var(--muted);line-height:1.65}.service-card a{color:#ff9a67;font-weight:800}.center{text-align:center;margin-top:38px}.pack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.pack-card img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#090b18}.pack-info{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.pack-info h2{margin:0;font-family:Outfit}.pack-info p{font-size:13px;margin:7px 0 0}.btn-small{padding:12px 18px;white-space:nowrap;font-size:13px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.gallery-grid a{overflow:hidden;border-radius:13px;border:1px solid #ffffff29;background:#11142a}.gallery-grid img{width:100%;height:255px;object-fit:cover;transition:transform .3s}.gallery-grid a:hover img{transform:scale(1.035)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.about-photo img{width:100%;border-radius:22px;object-fit:cover}.about-photo span{display:block;font-size:12px;color:#b5aec9;margin-top:9px}.about-copy h2,.contact-details h2{font-family:Outfit;font-size:35px}.about-copy .btn{margin-top:15px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px}.contact-details{padding:35px;height:max-content}.contact-link{display:block;color:#ff9a67;font-size:24px;font-weight:800;margin:30px 0}.quote-form{padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:8px}.quote-form label:has(textarea),.quote-form button,.quote-form .note{grid-column:1/-1}.quote-form input,.quote-form select,.quote-form textarea{background:#1c2239;border:1px solid #42415f;border-radius:9px;color:white;padding:13px;font:inherit;min-width:0}.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{outline:2px solid #e840ad}.note{font-size:12px!important;color:#aaa8c1!important}.legal{max-width:800px;line-height:1.8}footer{border-top:1px solid #ffffff1d;background:#070914;padding:35px 5% 20px;color:#aaaac0}footer .footer-inner{display:flex;gap:25px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:13px}footer .footer-logo{color:#ff8b4b}footer small{display:block;text-align:center;margin-top:30px;color:#77748e}@keyframes art-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes gentle-zoom{from{transform:scale(1.075);filter:brightness(.6)}to{transform:scale(1);filter:brightness(1)}}@keyframes content-in{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:translateX(0)}}@media(max-width:1050px){.header nav{gap:11px}.header nav a{font-size:11px}.brand-name strong{font-size:22px}.brand-mark{width:55px}.hero{gap:25px}.pack-info{flex-direction:column;align-items:start}}@media(max-width:780px){.header{height:72px;padding:0 20px}.menu-toggle{display:block}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#0b0e22;padding:22px;flex-direction:column;align-items:stretch;gap:17px;border-bottom:1px solid #6e327f}.header nav.open{display:flex}.header nav a{font-size:15px}.header nav a.active:not(.nav-cta){border:0;padding:0}.hero{grid-template-columns:1fr;min-height:auto;padding:30px 20px 60px;text-align:center}.hero-art{max-width:540px;width:100%;margin:auto}.hero-content{padding:5px 0 0}.hero h1{font-size:clamp(44px,10vw,65px)}.hero p{margin:auto}.actions{justify-content:center}.service-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.about-layout,.contact-layout{grid-template-columns:1fr}.page-head{padding-top:55px}.about-photo{max-width:600px;margin:auto}}@media(max-width:540px){.service-grid,.pack-grid,.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:260px}.pack-info{flex-direction:row;align-items:center}.pack-info h2{font-size:19px}.pack-info p{font-size:12px}.btn-small{font-size:12px}.quote-form{grid-template-columns:1fr;padding:20px}.content{padding:20px 17px 70px}.hero h1{letter-spacing:-1px}.actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Identité officielle : cardiogramme et infini rouges AU-DESSUS de PULS'E */
.brand-name{align-items:center;gap:1px}.brand-name .heartbeat-icon{width:93px;height:29px;display:block;margin-bottom:0;fill:none;stroke:#f53630;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.brand-name strong{font-size:23px}.brand-name small{margin-top:4px}.header{min-height:90px;height:auto;padding-top:8px;padding-bottom:8px}.footer-logo{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1}.footer-logo .heartbeat-icon{width:110px;height:35px;fill:none;stroke:#f53630;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.footer-logo b{font:800 23px Outfit,sans-serif;color:#ff9c3c}.footer-logo span{font-size:10px;letter-spacing:3px;color:#fff}.pulse-line{display:inline-block}.pulse-line .heartbeat-icon{width:165px;height:55px;fill:none;stroke:#f53630;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}@media(max-width:780px){.header{min-height:82px}.header nav{top:82px}}

/* Symbole exact extrait de l’illustration d’accueil, sans redessin */
.heartbeat-original{display:block;width:105px;height:auto;object-fit:contain;margin:0 auto 3px}.footer-logo .heartbeat-original{width:125px}.pulse-line .heartbeat-original{width:185px}.brand-name .heartbeat-original{width:95px}

/* Symbole exact extrait de l’illustration d’accueil, sans redessin */
.heartbeat-original{display:block;width:105px;height:auto;object-fit:contain;margin:0 auto 3px}.footer-logo .heartbeat-original{width:125px}.pulse-line .heartbeat-original{width:185px}.brand-name .heartbeat-original{width:95px}

/* Animations sélectionnables depuis l'éditeur */
body[data-home-effect="fade"] .hero-art,body[data-home-effect="fade"] .hero-art img{animation:site-fade 1.7s ease both}
body[data-home-effect="slide"] .hero-art{animation:site-slide 1.3s ease both}body[data-home-effect="slide"] .hero-art img{animation:none}
body[data-home-effect="glow"] .hero-art{animation:site-fade 1.2s ease both,site-glow 3s ease-in-out 1.2s infinite alternate}body[data-home-effect="glow"] .hero-art img{animation:none}
body[data-home-effect="none"] .hero-art,body[data-home-effect="none"] .hero-art img{animation:none}
@keyframes site-fade{from{opacity:0}to{opacity:1}}@keyframes site-slide{from{opacity:0;transform:translateY(65px)}to{opacity:1;transform:translateY(0)}}@keyframes site-glow{from{box-shadow:0 0 25px #9e20ff30}to{box-shadow:0 0 85px #e928a075}}
@media(prefers-reduced-motion:reduce){body[data-home-effect] .hero-art,body[data-home-effect] .hero-art img{animation:none!important}}

/* Visionneuse photo : flèches, fermeture, mobile et clavier */
.photo-viewer[hidden]{display:none!important}.photo-viewer{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(3,4,12,.96);color:white;padding:52px 54px 42px}.viewer-open{overflow:hidden}.photo-viewer figure{margin:0;max-width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.photo-viewer figure img{max-width:100%;max-height:calc(100dvh - 130px);object-fit:contain;border-radius:8px}.photo-viewer figcaption{font-size:14px;text-align:center;color:#e3dff2}.photo-viewer button{position:absolute;border:1px solid #ffffff50;background:#11162dd9;color:#fff;border-radius:50%;width:46px;height:46px;cursor:pointer;font-size:24px;display:grid;place-items:center}.photo-viewer button:hover,.photo-viewer button:focus-visible{background:#fa552a;outline:2px solid #fff}.viewer-close{top:15px;right:18px}.viewer-prev{left:10px;top:50%;transform:translateY(-50%)}.viewer-next{right:10px;top:50%;transform:translateY(-50%)}.viewer-count{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:13px;color:#c5bcd7}@media(max-width:600px){.photo-viewer{padding:65px 8px 55px}.photo-viewer figure img{max-height:calc(100dvh - 165px)}.viewer-prev,.viewer-next{top:auto;bottom:12px;transform:none}.viewer-prev{left:18px}.viewer-next{right:18px}}

/* Liens directs vers les réseaux sociaux */
.contact-socials{display:flex;flex-direction:column;gap:12px;margin:20px 0}.contact-socials a{color:#f2d7ff;text-decoration:none;font-weight:650}.contact-socials a:hover,.footer-inner a:hover{color:#ffb35b;text-decoration:underline}

/* Vignettes et lecteur vidéos */
.gallery-grid a{position:relative;display:block}.gallery-grid a[data-type="video"]::after{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#151327cc;border:2px solid white;color:white;border-radius:50%;width:62px;height:62px;display:grid;place-items:center;font-size:23px;pointer-events:none}.gallery-grid video{display:block;width:100%;height:255px;object-fit:cover;pointer-events:none}.viewer-media{display:flex;align-items:center;justify-content:center;max-width:100%}.viewer-media img,.viewer-media video{max-width:100%;max-height:calc(100dvh - 140px);object-fit:contain;border-radius:8px}.viewer-media video{width:min(1000px,calc(100vw - 120px));background:black}@media(max-width:600px){.gallery-grid video{height:260px}.viewer-media video{width:calc(100vw - 18px);max-height:calc(100dvh - 170px)}}
