:root{--cream:#f7f4ef;--paper:#fff;--sage:#eee9e1;--peach:#d71920;--peach-soft:#fad8d8;--ink:#0b0b0c;--muted:#5f6064;--line:#e5e1da;--white:#fff;--header-bg:#050505;--footer-bg:#050505;--button-text:#fff;--font-heading:'Barlow Condensed',Impact,sans-serif;--font-body:Inter,Arial,sans-serif;--shadow:0 24px 70px rgba(0,0,0,.12);--pattern-image:none;--pattern-size:180px;--pattern-opacity:0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(91%,1180px);margin:auto}.narrow{max-width:820px}.centered{text-align:center}
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:var(--header-bg);border-bottom:1px solid rgba(255,255,255,.10);transition:.25s}.site-header.is-scrolled{box-shadow:0 18px 44px rgba(0,0,0,.22)}.header-inner{min-height:92px;padding:12px 0;display:flex;align-items:center;gap:28px;justify-content:space-between}.brand{display:flex;align-items:center;min-width:0}.brand-logo{display:block;width:min(var(--logo-header-width,230px),30vw)!important;max-height:66px!important;height:auto!important;object-fit:contain!important}.brand-text{display:grid}.brand-text span{font-family:var(--font-heading);font-size:32px;line-height:.85;text-transform:uppercase}.brand small{font-size:11px;letter-spacing:.22em;font-weight:900;color:var(--peach);margin-top:6px}.main-nav{flex:1;display:flex;justify-content:center}.menu{list-style:none;margin:0;padding:0;display:flex;gap:24px;align-items:center;font-weight:900;font-size:13px;letter-spacing:.03em;text-transform:uppercase;flex-wrap:wrap}.menu a{color:#fff;position:relative;opacity:.86}.menu a.is-current,.menu a:hover{opacity:1}.menu a.is-current:after,.menu a:hover:after{content:'';position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--peach)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:900;font-size:14px;transition:.2s;border:1px solid transparent;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}.btn-dark{background:var(--peach);color:var(--button-text);box-shadow:0 12px 26px rgba(215,25,32,.24)}.btn-light{background:#fff;color:var(--ink)}.btn-ghost{border-color:rgba(11,11,12,.15);background:#fff;color:var(--ink)}.site-header .btn-ghost,.site-header .btn-dark{box-shadow:none}.btn:hover{transform:translateY(-2px)}.btn.full{width:100%;margin-top:20px}.nav-toggle{display:none;border:1px solid rgba(255,255,255,.16);background:#111;border-radius:14px;width:46px;height:46px;padding:11px}.nav-toggle span{display:block;height:2px;background:#fff;margin:5px 0}
.section{padding:82px 0}.eyebrow{display:inline-block;color:var(--peach);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.15em;margin-bottom:14px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-heading);letter-spacing:-.02em;line-height:.92;text-transform:uppercase}h1{font-size:clamp(48px,7.4vw,98px);margin-bottom:24px}h2{font-size:clamp(36px,5.2vw,60px);margin-bottom:18px}h3{font-size:23px;margin-bottom:10px}.hero-copy p,.section-head p,.copy-block p{color:var(--muted);font-size:18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.centered-actions{justify-content:center}
.home-hero-clean{min-height:100svh;display:flex;align-items:center;padding:152px 0 88px;background:linear-gradient(105deg,#fff 0%,#fff 56%,#111 56%,#111 100%);position:relative;overflow:hidden}.inner-hero{padding:154px 0 84px;background:linear-gradient(135deg,#fff,var(--cream))}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}.hero-visual,.media-card{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:#111;position:relative}.hero-visual:after,.media-card:after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.20);border-radius:28px;pointer-events:none}.hero-visual .cover,.media-card .cover{width:100%;height:100%;min-height:430px;object-fit:cover}.home-hero-clean .hero-visual{transform:rotate(-1.5deg)}
.mini-stats{margin-top:-44px;position:relative;z-index:2}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#050505;color:#fff;border:1px solid #191919;box-shadow:var(--shadow);border-radius:28px;padding:8px}.stats-grid div{padding:24px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}.stats-grid div:last-child{border-right:0}.stats-grid strong{display:block;font-family:var(--font-heading);font-size:42px;line-height:1;color:#fff}.stats-grid span{color:#d9d9d9;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.section-head{text-align:center;margin:0 auto 44px;max-width:820px}.home-services-section{background:#fff}.home-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.home-card,.info-panel,.step-card,.review-card,.faq-item{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 18px 48px rgba(0,0,0,.06);overflow:hidden}.home-card{padding:14px;transition:.2s}.home-card:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(0,0,0,.10)}.card-img{border-radius:20px;width:100%;aspect-ratio:4/3;object-fit:cover;background:#111}.card-content{padding:18px}.card-content p,.home-card p,.step-card p,.review-card p{color:var(--muted)}.pill,.tags span{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--peach-soft);color:var(--peach);font-weight:900;font-size:12px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.service-meta{display:flex;justify-content:space-between;gap:16px;margin:16px 0;color:var(--muted);font-size:14px}.service-meta strong{color:var(--peach);white-space:nowrap}.card-link{font-weight:900;color:var(--peach);text-transform:uppercase;font-size:13px;letter-spacing:.05em}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.align-start{align-items:start}.copy-block{max-width:580px}.home-knowhow-section{background:var(--cream)}.steps-section{background:#0b0b0c;color:#fff}.steps-section .section-head p,.steps-section p{color:#ddd}.step-card{background:#121214;color:#fff;border-color:#242428}.step-card h3{color:#fff}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step-card{padding:30px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review-card{padding:28px}.stars{color:var(--peach);letter-spacing:.12em;margin-bottom:12px}.review-card blockquote{font-family:var(--font-heading);font-size:29px;line-height:1;margin:0 0 18px;text-transform:uppercase}.cta-band{background:#080808;color:#fff;text-align:center;position:relative;overflow:hidden}.cta-band:after{content:'';position:absolute;inset:auto -10% -45% -10%;height:70%;background:radial-gradient(circle,rgba(215,25,32,.30),transparent 62%)}.cta-inner{max-width:820px;position:relative;z-index:1}.cta-band p{color:#ddd}.service-group{margin-top:52px}.service-group>h2{font-size:42px}.info-panel{padding:32px}.sticky-panel{position:sticky;top:116px}.info-row{border-bottom:1px solid var(--line);padding:16px 0;display:flex;justify-content:space-between;gap:20px}.info-row:last-child{border:0}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:36px}.lead-form label{display:grid;gap:7px;font-weight:800;color:var(--ink);margin-bottom:16px}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid var(--line);border-radius:15px;padding:14px 15px;font:inherit;background:#fff}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid rgba(215,25,32,.20);border-color:var(--peach)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hp{position:absolute;left:-9999px}.faq-item{padding:0;margin-bottom:14px}.faq-item summary{cursor:pointer;font-weight:900;padding:22px}.faq-item p{padding:0 22px 22px;color:var(--muted)}
.site-footer{background:var(--footer-bg);color:#fff;padding:62px 0;border-top:1px solid rgba(255,255,255,.10)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:34px}.footer-brand{font-family:var(--font-heading);font-size:42px;text-transform:uppercase}.footer-logo{display:block!important;width:min(var(--logo-footer-width,280px),100%)!important;max-width:100%!important;height:auto!important;margin:0 0 18px!important}.site-footer p{color:#cfcfcf}.footer-link{display:block;margin:8px 0;font-weight:800;color:#fff;opacity:.84}.footer-link:hover{opacity:1;color:var(--peach)}.socials{display:flex;gap:12px;flex-wrap:wrap}.socials a{font-weight:900;color:var(--peach)}
.instagram-section{background:linear-gradient(180deg,#fff,var(--cream))}.instagram-container{max-width:min(940px,92vw)!important}.instagram-frame-wrap{overflow:hidden!important;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.instagram-frame{display:block!important;width:100%!important;height:900px;min-height:720px!important;border:0!important;background:#fff!important;transition:height .25s ease}.instagram-frame[data-resized="1"]{min-height:0!important}
@media(max-width:1100px){.menu{gap:16px;font-size:12px}.brand-logo{width:min(var(--logo-header-width,230px),28vw)!important}}
@media(max-width:980px){.header-cta{display:none}.nav-toggle{display:block}.header-inner{min-height:78px}.brand-logo{width:min(var(--logo-mobile-width,180px),56vw)!important;max-height:56px!important}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#050505;padding:22px 5%;border-bottom:1px solid rgba(255,255,255,.12)}.main-nav.is-open{display:block}.menu{align-items:flex-start;flex-direction:column}.home-hero-clean{min-height:auto;background:#fff;padding-top:126px}.inner-hero{padding-top:126px}.hero-grid,.split,.contact-grid,.footer-grid{grid-template-columns:1fr}.home-card-grid,.steps-grid,.reviews-grid{grid-template-columns:1fr 1fr}.hero-visual .cover,.media-card .cover{min-height:320px}.stats-grid{grid-template-columns:1fr}.stats-grid div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.stats-grid div:last-child{border-bottom:0}.instagram-frame{height:980px;min-height:760px!important}}
@media(max-width:640px){.section{padding:58px 0}.home-card-grid,.steps-grid,.reviews-grid,.form-grid{grid-template-columns:1fr}.inner-hero,.home-hero-clean{padding-top:112px}.hero-visual{display:none}.info-row{display:grid}.stats-grid strong{font-size:36px}.instagram-frame{height:1080px;min-height:860px!important}.footer-logo{width:min(var(--logo-footer-width,260px),90vw)!important}}


/* V2 NSBD enhancements: neon media, services table, contact switcher */
.hero-visual,.media-card,.home-card,.services-table-wrap,.info-panel{position:relative}
.hero-visual:before,.media-card:before,.home-card:before,.services-table-wrap:before,.info-panel:before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(215,25,32,.55),rgba(255,255,255,0),rgba(215,25,32,.18));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.hero-visual,.media-card,.home-card,.services-table-wrap{box-shadow:0 20px 50px rgba(0,0,0,.10),0 0 0 1px rgba(215,25,32,.05),0 0 28px rgba(215,25,32,.10)}
.hero-visual:hover,.media-card:hover,.home-card:hover{box-shadow:0 24px 60px rgba(0,0,0,.12),0 0 32px rgba(215,25,32,.18)}
.neon-thumb{box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 12px rgba(215,25,32,.25),0 0 26px rgba(215,25,32,.18)}
.service-filter-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 auto 26px;max-width:980px}
.service-filter-btn{appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px 18px;border-radius:999px;font:inherit;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:.2s}
.service-filter-btn.is-active,.service-filter-btn:hover{background:var(--peach);border-color:var(--peach);color:#fff;box-shadow:0 12px 26px rgba(215,25,32,.24)}
.services-table-wrap{background:#fff;border:1px solid var(--line);border-radius:28px;padding:12px;overflow:auto}
.services-table{width:100%;border-collapse:separate;border-spacing:0}
.services-table th,.services-table td{padding:18px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.services-table th{font-family:var(--font-heading);font-size:20px;text-transform:uppercase;letter-spacing:.02em;background:#fff;position:sticky;top:0;z-index:1}
.services-table tbody tr:last-child td{border-bottom:0}
.service-title-cell{display:flex;align-items:center;gap:16px;min-width:280px}
.service-title-cell strong{display:block;font-size:20px;line-height:1.05}
.service-title-cell small{display:block;color:var(--muted);margin-top:8px}
.service-thumb{width:110px;min-width:110px;height:82px;object-fit:cover;border-radius:18px;background:#111}
.service-inline-meta{display:grid;gap:8px;color:var(--muted);min-width:200px}
.service-inline-meta strong{color:var(--ink)}
.service-actions-cell{display:flex;flex-direction:column;gap:10px;min-width:150px}
.table-pill{margin:0}
.contact-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 20px}
.contact-mode-btn{appearance:none;border:1px solid var(--line);background:var(--cream);color:var(--ink);padding:14px 16px;border-radius:16px;font:inherit;font-weight:900;cursor:pointer;transition:.2s}
.contact-mode-btn.is-active{background:#111;color:#fff;border-color:#111;box-shadow:0 16px 32px rgba(0,0,0,.10),0 0 24px rgba(215,25,32,.12)}
.contact-mode-form{display:none}
.contact-mode-form.is-active{display:block}
.contact-side-note{margin-top:24px;padding:18px;border-radius:20px;background:var(--cream);border:1px solid var(--line)}
.contact-side-note p{margin:8px 0 0;color:var(--muted)}
@media(max-width:980px){.services-table thead{display:none}.services-table,.services-table tbody,.services-table tr,.services-table td{display:block;width:100%}.services-table tr{padding:16px;border-bottom:1px solid var(--line)}.services-table tbody tr:last-child{border-bottom:0}.services-table td{border:0;padding:10px 12px}.services-table td:before{content:attr(data-label);display:block;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.service-title-cell{min-width:0}.service-actions-cell{flex-direction:row;flex-wrap:wrap}}
@media(max-width:640px){.service-title-cell{align-items:flex-start;flex-direction:column}.service-thumb{width:100%;height:180px}.contact-mode-toggle{grid-template-columns:1fr}}


/* V3: centered hero copy, blue-white neon, footer sunset, card catalogs */
.hero-copy{max-width:680px;margin-inline:auto;text-align:center}.hero-copy .actions,.centered-actions{justify-content:center}.hero-grid{align-items:center}.inner-hero .hero-grid,.home-hero-clean .hero-grid{justify-items:center}
.hero-copy .eyebrow{justify-self:center}
.hero-visual,.media-card,.home-card,.services-table-wrap,.info-panel,.instagram-frame-wrap{box-shadow:0 18px 46px rgba(0,0,0,.10),0 0 0 1px rgba(122,238,255,.06),0 0 28px rgba(90,175,255,.18)}
.hero-visual:before,.media-card:before,.home-card:before,.services-table-wrap:before,.info-panel:before,.instagram-frame-wrap:before{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(86,179,255,.75),rgba(0,82,255,.0),rgba(107,211,255,.2))}
.home-card:hover,.hero-visual:hover,.media-card:hover{box-shadow:0 24px 58px rgba(0,0,0,.14),0 0 26px rgba(69,175,255,.22),0 0 42px rgba(118,228,255,.10)}
.site-footer{position:relative;overflow:hidden}.site-footer:before{content:'';position:absolute;left:-4%;top:44px;width:42%;height:8px;border-radius:999px;background:linear-gradient(90deg,#c7fbff 0%,#66d8ff 38%,#1b68ff 100%);box-shadow:0 0 18px rgba(126,231,255,.92),0 0 34px rgba(30,103,255,.5)}.site-footer:after{content:'';position:absolute;right:4%;top:24px;width:220px;height:220px;border-radius:50%;background:repeating-linear-gradient(to bottom,#ffb34b 0 12px,#ff7b8b 12px 24px,#8865ff 24px 36px,#21bcff 36px 48px,#0c0d14 48px 54px);opacity:.92;box-shadow:0 0 36px rgba(255,132,115,.22)}.site-footer .footer-grid{position:relative;z-index:2}.site-footer h3,.site-footer p,.site-footer a{position:relative;z-index:2}
.site-footer .socials a,.footer-link{color:#fff}.site-footer p{color:#dedede}
.home-projects-section{background:linear-gradient(180deg,#fff,#f7fbff)}
.project-grid,.service-catalog-grid{align-items:stretch}.service-card,.project-card{display:flex;flex-direction:column}.service-card .card-content,.project-card .card-content{display:flex;flex-direction:column;gap:4px;height:100%}.compact-tags{margin-top:8px}.compact-tags span{font-size:11px;padding:6px 9px}.service-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:12px}.project-actions{margin-top:26px}
@media(max-width:980px){.site-footer:before{width:52%;top:22px}.site-footer:after{width:160px;height:160px;right:-24px;top:36px}.hero-copy{max-width:100%}}
@media(max-width:640px){.site-footer:before{width:64%;height:6px}.site-footer:after{width:118px;height:118px;top:18px}}

/* V4: neon image lines outside cards + cleaner footer */
.site-footer:before{content:none!important;display:none!important}
.site-footer{background:#050505!important;background-image:none!important;position:relative;overflow:hidden}
.site-footer:after{content:'';position:absolute;right:4%;top:24px;width:220px;height:220px;border-radius:50%;background:linear-gradient(to bottom,#ffd54a 0 20%,#f04444 20% 40%,#7e5cff 40% 60%,#123178 60% 80%,#3bd8ff 80% 100%);opacity:.92;box-shadow:0 0 28px rgba(75,205,255,.18);pointer-events:none}
.site-footer .footer-grid{position:relative;z-index:2}
.site-footer h3,.site-footer p,.site-footer a{position:relative;z-index:2}

/* on retire l'ancien filet/border néon des cards et panneaux */
.home-card:before,.info-panel:before,.step-card:before,.review-card:before,.faq-item:before,.services-table-wrap:before{content:none!important;display:none!important}
.home-card,.info-panel,.step-card,.review-card,.faq-item{box-shadow:0 18px 48px rgba(0,0,0,.06)}
.home-card:hover{box-shadow:0 26px 60px rgba(0,0,0,.10)}

/* filet néon blanc -> bleu sur les images hors cards */
.hero-visual,.media-card,.instagram-frame-wrap{position:relative;overflow:hidden;box-shadow:0 18px 46px rgba(0,0,0,.10),0 0 26px rgba(62,178,255,.14)!important}
.hero-visual:before,.media-card:before,.instagram-frame-wrap:before{content:''!important;display:block!important;position:absolute;left:-3%;top:32px;width:56%;height:7px;border-radius:999px;background:linear-gradient(90deg,#fff 0%,#bdfcff 22%,#53d9ff 56%,#1d63ff 100%);box-shadow:0 0 14px rgba(199,251,255,.92),0 0 28px rgba(66,168,255,.55);z-index:3;pointer-events:none;padding:0;-webkit-mask:none;mask:none}
.hero-visual:after,.media-card:after{border-color:rgba(255,255,255,.18)}
.hero-visual .cover,.media-card .cover{transition:filter .25s ease,transform .25s ease}
.hero-visual:hover .cover,.media-card:hover .cover{filter:brightness(1.035) contrast(1.02);transform:scale(1.012)}
.instagram-frame-wrap:hover{box-shadow:0 20px 54px rgba(0,0,0,.10),0 0 30px rgba(62,178,255,.18)!important}

@media(max-width:980px){.site-footer:after{width:160px;height:160px;right:-24px;top:36px}.hero-visual:before,.media-card:before,.instagram-frame-wrap:before{width:62%;top:24px;height:6px}}
@media(max-width:640px){.site-footer:after{width:118px;height:118px;top:18px}.hero-visual:before,.media-card:before,.instagram-frame-wrap:before{width:72%;height:5px;top:18px}}

/* V5: bordure matière néon sur images hors cards + soleil footer strié */
.hero-visual,
.media-card,
.instagram-frame-wrap{
  position:relative!important;
  overflow:hidden!important;
  border:0!important;
  box-shadow:none!important;
  background:#050505!important;
}

/* bordure extérieure type matière néon, pas une ombre */
.hero-visual:before,
.media-card:before,
.instagram-frame-wrap:before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border-radius:inherit!important;
  padding:2px!important;
  z-index:4!important;
  pointer-events:none!important;
  background:
    linear-gradient(115deg,
      #ffffff 0%,
      #d9ffff 14%,
      #52e7ff 28%,
      #1f76ff 46%,
      rgba(15,25,70,.08) 57%,
      #ffffff 68%,
      #60e9ff 82%,
      #174eff 100%
    )!important;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  mask-composite:exclude!important;
  box-shadow:none!important;
}

/* petite ligne interne, comme une matière lumineuse dans la bordure */
.hero-visual:after,
.media-card:after,
.instagram-frame-wrap:after{
  content:''!important;
  position:absolute!important;
  inset:10px!important;
  border-radius:22px!important;
  border:1px solid rgba(211,252,255,.28)!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.0),rgba(255,255,255,.18),rgba(64,202,255,.10),rgba(255,255,255,0)) top left / 58% 1px no-repeat,
    linear-gradient(180deg,rgba(255,255,255,.0),rgba(70,190,255,.16),rgba(255,255,255,0)) top left / 1px 55% no-repeat!important;
  pointer-events:none!important;
  z-index:5!important;
}

.hero-visual .cover,
.media-card .cover{
  transition:filter .28s ease,transform .28s ease!important;
}
.hero-visual:hover .cover,
.media-card:hover .cover{
  filter:brightness(.985) contrast(1.035) saturate(1.02)!important;
  transform:scale(1.008)!important;
}
.instagram-frame-wrap:hover{box-shadow:none!important}

/* on garde les cards propres */
.home-card:before,
.home-card:after,
.service-card:before,
.service-card:after,
.project-card:before,
.project-card:after{
  content:none!important;
  display:none!important;
}
.home-card,
.service-card,
.project-card{
  box-shadow:0 18px 48px rgba(0,0,0,.06)!important;
}
.home-card:hover,
.service-card:hover,
.project-card:hover{
  box-shadow:0 26px 60px rgba(0,0,0,.10)!important;
}

/* footer : plus de dégradé rouge, uniquement noir + soleil rétro strié */
.site-footer{
  background:#050505!important;
  background-image:none!important;
}
.site-footer:before{
  content:none!important;
  display:none!important;
}
.site-footer:after{
  content:''!important;
  position:absolute!important;
  right:4%!important;
  top:22px!important;
  width:230px!important;
  height:230px!important;
  border-radius:50%!important;
  opacity:.94!important;
  pointer-events:none!important;
  background:
    repeating-linear-gradient(to bottom,
      rgba(4,4,8,.92) 0 2px,
      rgba(4,4,8,0) 2px 16px
    ),
    linear-gradient(to bottom,
      #ffd84d 0% 15%,
      #050505 15% 17%,
      #e9413f 17% 31%,
      #050505 31% 33%,
      #8a51ff 33% 48%,
      #050505 48% 51%,
      #102c78 51% 76%,
      #050505 76% 79%,
      #3fe0ff 79% 100%
    )!important;
  box-shadow:0 0 24px rgba(58,207,255,.14)!important;
}

@media(max-width:980px){
  .site-footer:after{width:165px!important;height:165px!important;right:-22px!important;top:34px!important}
  .hero-visual:after,.media-card:after,.instagram-frame-wrap:after{inset:8px!important;border-radius:20px!important}
}
@media(max-width:640px){
  .site-footer:after{width:118px!important;height:118px!important;top:18px!important}
  .hero-visual:before,.media-card:before,.instagram-frame-wrap:before{padding:1.5px!important}
  .hero-visual:after,.media-card:after,.instagram-frame-wrap:after{inset:7px!important;border-radius:18px!important}
}


/* V6: CTA sans halo rouge + feed JSON natif + matière néon renforcée hors feed */
.cta-band:after{content:none!important;display:none!important;background:none!important;}

/* pas de néon sur le feed Instagram */
.instagram-frame-wrap,
.instagram-json-feed,
.instagram-post-card,
.instagram-post-media{
  box-shadow:none!important;
}
.instagram-frame-wrap:before,
.instagram-frame-wrap:after,
.instagram-json-feed:before,
.instagram-json-feed:after,
.instagram-post-card:before,
.instagram-post-card:after,
.instagram-post-media:before,
.instagram-post-media:after{
  content:none!important;
  display:none!important;
}
.instagram-section{background:#fff!important;}
.instagram-container{max-width:min(1180px,92vw)!important;}
.instagram-json-feed{background:#fff;border:1px solid var(--line);border-radius:28px;padding:18px;overflow:hidden;}
.instagram-feed-status{padding:28px;text-align:center;color:var(--muted);font-weight:800;}
.instagram-json-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.instagram-post-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .2s ease,border-color .2s ease;}
.instagram-post-card:hover{transform:translateY(-3px);border-color:rgba(11,11,12,.18);}
.instagram-post-media{position:relative;display:block;aspect-ratio:1/1;background:#111;overflow:hidden;}
.instagram-post-media img{width:100%;height:100%;object-fit:cover;display:block;transition:filter .25s ease,transform .25s ease;}
.instagram-post-card:hover .instagram-post-media img{filter:brightness(.96) contrast(1.03);transform:scale(1.015);}
.instagram-video-badge{position:absolute;left:12px;top:12px;background:#fff;color:#111;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.instagram-empty-thumb{display:grid;place-items:center;width:100%;height:100%;color:#fff;font-weight:900;}
.instagram-post-body{padding:14px;}
.instagram-post-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:10px;}
.instagram-post-meta strong{color:var(--ink);}
.instagram-post-meta span{color:var(--muted);white-space:nowrap;}
.instagram-post-body p{font-size:13px;line-height:1.45;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.instagram-post-stats{display:flex;gap:12px;margin-top:12px;color:var(--ink);font-size:12px;font-weight:900;}

/* néon/bordure matière plus visible sur les grosses images, mais pas sur le feed */
.hero-visual:before,
.media-card:before{
  padding:4px!important;
  background:
    linear-gradient(115deg,
      #ffffff 0%,
      #ecffff 10%,
      #8bf6ff 20%,
      #2bd8ff 34%,
      #1368ff 50%,
      rgba(7,15,55,.12) 58%,
      #ffffff 69%,
      #50efff 84%,
      #0c47ff 100%
    )!important;
}
.hero-visual:after,
.media-card:after{
  inset:12px!important;
  border:1px solid rgba(219,252,255,.38)!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.28),rgba(65,207,255,.18),rgba(255,255,255,0)) top left / 68% 2px no-repeat,
    linear-gradient(180deg,rgba(255,255,255,0),rgba(75,206,255,.24),rgba(255,255,255,0)) top left / 2px 66% no-repeat!important;
}

@media(max-width:980px){.instagram-json-grid{grid-template-columns:repeat(2,1fr)}.hero-visual:before,.media-card:before{padding:3px!important}}
@media(max-width:640px){.instagram-json-grid{grid-template-columns:1fr}.instagram-json-feed{padding:12px;border-radius:22px}.hero-visual:before,.media-card:before{padding:2px!important}}

/* V7: héros des pages internes en 1 colonne, texte centré, sans image */
.inner-hero .hero-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  text-align:center!important;
  gap:0!important;
}

.inner-hero .hero-copy{
  width:min(70%,920px)!important;
  max-width:920px!important;
  margin-inline:auto!important;
  text-align:center!important;
}

.inner-hero .hero-copy p{
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.inner-hero .hero-copy .actions{
  justify-content:center!important;
}

.inner-hero .hero-visual{
  display:none!important;
}

/* on ne touche pas au hero de la home */
.home-hero-clean .hero-grid{
  grid-template-columns:1.02fr .98fr;
  gap:56px;
}

@media(max-width:980px){
  .inner-hero .hero-copy{
    width:min(88%,760px)!important;
  }
}

@media(max-width:640px){
  .inner-hero .hero-copy{
    width:100%!important;
  }
}

/* V8: correctifs service detail + titres + nav lisible */
/* Titres moins massifs, sans toucher au texte courant */
h1{font-size:clamp(40px,5.8vw,76px)!important;line-height:.96!important;}
h2{font-size:clamp(30px,4vw,46px)!important;line-height:.98!important;}
.section-head h2{font-size:clamp(32px,4.2vw,50px)!important;}
.info-panel h2{font-size:clamp(30px,3.4vw,42px)!important;line-height:1!important;}
.cta-band h2{font-size:clamp(32px,4.6vw,54px)!important;}
.home-hero-clean h1{font-size:clamp(46px,6.8vw,88px)!important;}

/* Pages détail service / réalisation : on évite que le footer remonte trop près des panneaux */
body[class*="prestations-"] .service-detail-hero + .section,
body[class*="realisations-"] .service-detail-hero + .section{
  padding-top:70px!important;
  padding-bottom:132px!important;
  position:relative!important;
  z-index:2!important;
  background:#fff!important;
}

body[class*="prestations-"] .service-detail-hero + .section .split,
body[class*="realisations-"] .service-detail-hero + .section .split{
  align-items:start!important;
  gap:64px!important;
}

body[class*="prestations-"] .sticky-panel,
body[class*="realisations-"] .sticky-panel{
  align-self:start!important;
  margin-bottom:20px!important;
}

.sticky-panel .btn.full{
  margin-bottom:2px!important;
}

/* Nav active plus visible */
.menu a.is-current{color:#fff!important;opacity:1!important;}
.menu a.is-current:after{height:3px!important;bottom:-10px!important;box-shadow:0 0 12px rgba(215,25,32,.42)!important;}

@media(max-width:980px){
  h1{font-size:clamp(36px,8vw,60px)!important;}
  h2,.section-head h2,.info-panel h2{font-size:clamp(28px,6vw,42px)!important;}
  body[class*="prestations-"] .service-detail-hero + .section,
  body[class*="realisations-"] .service-detail-hero + .section{
    padding-bottom:92px!important;
  }
  body[class*="prestations-"] .service-detail-hero + .section .split,
  body[class*="realisations-"] .service-detail-hero + .section .split{
    gap:28px!important;
  }
  .sticky-panel{position:relative!important;top:auto!important;}
}

@media(max-width:640px){
  h1{font-size:clamp(34px,11vw,48px)!important;}
  h2,.section-head h2,.info-panel h2{font-size:clamp(26px,8vw,36px)!important;}
  .info-panel{padding:24px!important;}
  body[class*="prestations-"] .service-detail-hero + .section,
  body[class*="realisations-"] .service-detail-hero + .section{
    padding-top:48px!important;
    padding-bottom:78px!important;
  }
}

.footer-legal-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;font-size:13px}.footer-legal-links a{color:#ddd;text-decoration:underline;text-underline-offset:4px}.legal-content-section .narrow{max-width:920px}.legal-block{margin-bottom:18px}.legal-block h2{font-size:32px}.legal-block p{color:var(--muted);line-height:1.75}


/* V12 - module pages SEO */
.seo-link-band{background:#070708;color:#fff;padding:54px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.seo-link-band-inner{text-align:center}.seo-link-band h2{font-size:clamp(30px,4vw,54px);margin:8px 0 24px;color:#fff}.seo-link-list{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.seo-page-link{width:min(360px,100%);display:grid;gap:6px;padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;text-align:left;transition:.2s}.seo-page-link strong{font-family:var(--font-heading);font-size:24px;line-height:1;text-transform:uppercase}.seo-page-link span{color:#d7dce8;font-size:14px;line-height:1.45}.seo-page-link:hover{transform:translateY(-3px);background:rgba(255,255,255,.10);border-color:rgba(111,214,255,.5)}
.seo-page-content-section .narrow{max-width:980px}.seo-page-main{margin-bottom:22px}.seo-page-main h2{font-size:clamp(30px,4vw,52px)}.seo-page-main p{color:var(--muted);font-size:18px;line-height:1.8}.seo-page-cta{text-align:center;background:#0b0b0c;color:#fff}.seo-page-cta h2{color:#fff}.seo-page-cta p{color:#ddd}.seo-page-tags{justify-content:center}
@media(max-width:760px){.seo-link-band{padding:40px 0}.seo-page-link{text-align:center}.seo-page-main p{font-size:16px}}

/* V13 - module SEO en fond clair */
.seo-link-band{
  background:linear-gradient(180deg,#f7f4ef 0%,#ffffff 100%)!important;
  color:var(--ink)!important;
  padding:50px 0!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
}
.seo-link-band-inner{text-align:center!important}
.seo-link-band .eyebrow{color:var(--peach)!important}
.seo-link-band h2{
  color:var(--ink)!important;
  font-size:clamp(28px,3.2vw,42px)!important;
  margin:8px 0 22px!important;
}
.seo-link-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  justify-content:center!important;
}
.seo-page-link{
  width:min(360px,100%)!important;
  display:grid!important;
  gap:7px!important;
  padding:18px 20px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important;
  text-align:left!important;
  box-shadow:0 18px 42px rgba(0,0,0,.055)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
.seo-page-link strong{
  color:var(--ink)!important;
  font-family:var(--font-heading)!important;
  font-size:22px!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
.seo-page-link span{
  color:var(--muted)!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.seo-page-link:hover{
  transform:translateY(-3px)!important;
  background:#fff!important;
  border-color:rgba(215,25,32,.28)!important;
  box-shadow:0 24px 54px rgba(0,0,0,.09)!important;
}
.seo-page-content-section{
  background:linear-gradient(180deg,#ffffff 0%,#f7f4ef 100%)!important;
}
.seo-page-main,
.seo-page-cta{
  background:#fff!important;
  color:var(--ink)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.055)!important;
}
.seo-page-cta h2,
.seo-page-main h2{color:var(--ink)!important}
.seo-page-cta p,
.seo-page-main p{color:var(--muted)!important}
.seo-page-cta .btn-light{background:var(--peach)!important;color:#fff!important}
@media(max-width:760px){
  .seo-link-band{padding:38px 0!important}
  .seo-page-link{text-align:center!important}
}


/* V14 - page 404 */
.notfound-hero .actions {
  margin-top: 28px;
  justify-content: center;
}

/* V14 - Détails services/réalisations : colonnes centrées + galerie médias projet */
body[class*="prestations-"] .service-detail-hero + .section .detail-split,
body[class*="realisations-"] .service-detail-hero + .section .detail-split{
  align-items:center!important;
  gap:64px!important;
}
.detail-split .sticky-panel{
  position:relative!important;
  top:auto!important;
  align-self:center!important;
  margin-bottom:0!important;
}
.detail-info-section + .project-media-section{
  padding-top:0!important;
}
.project-media-section{
  background:#fff!important;
  position:relative;
  z-index:2;
}
.project-media-head{
  margin-bottom:32px!important;
}
.project-media-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:start;
}
.project-media-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  padding:12px;
  box-shadow:0 18px 48px rgba(0,0,0,.06);
  overflow:hidden;
}
.project-media-visual{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  border-radius:20px;
  overflow:hidden;
  background:#080808;
}
.project-media-visual img,
.project-media-visual video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.project-media-visual video{
  background:#080808;
}
.project-media-link{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:#fff;
  font-weight:900;
  text-align:center;
  padding:20px;
}
.project-media-card p{
  margin:12px 6px 4px;
  color:var(--muted);
  font-weight:800;
  font-size:14px;
}
@media(max-width:980px){
  body[class*="prestations-"] .service-detail-hero + .section .detail-split,
  body[class*="realisations-"] .service-detail-hero + .section .detail-split{
    align-items:stretch!important;
    gap:28px!important;
  }
  .project-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  .project-media-grid{grid-template-columns:1fr;}
}

/* V15 - alignement détails + grille médias flexible */
.detail-info-section .detail-split{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.72fr)!important;
  align-items:center!important;
  gap:clamp(30px,5vw,70px)!important;
  max-width:1080px!important;
}
body[class*="prestations-"] .detail-info-section .detail-split,
body[class*="realisations-"] .detail-info-section .detail-split{
  align-items:center!important;
}
body[class*="prestations-"] .detail-info-section .detail-split > .info-panel,
body[class*="realisations-"] .detail-info-section .detail-split > .info-panel{
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
body[class*="prestations-"] .detail-info-section .detail-split > .sticky-panel,
body[class*="realisations-"] .detail-info-section .detail-split > .sticky-panel{
  position:relative!important;
  top:auto!important;
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.detail-service-section .info-panel,
.detail-project-section .info-panel{
  height:auto!important;
}

.project-media-section .container{
  width:min(91%,1120px)!important;
}
.project-media-section{
  background:#fff!important;
  padding-top:0!important;
}
.project-media-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;
  gap:18px!important;
  max-width:1080px!important;
  margin:0 auto!important;
  align-items:start!important;
}
.project-media-card{
  background:#f2f2f2!important;
  border:1px solid #e2e2e2!important;
  border-radius:24px!important;
  padding:10px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.project-media-card:hover{
  background:#ededed!important;
  transform:translateY(-2px);
}
.project-media-visual{
  position:relative!important;
  width:100%!important;
  min-height:170px!important;
  max-height:460px!important;
  aspect-ratio:auto!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#ddd!important;
  display:grid!important;
  place-items:center!important;
}
.project-media-visual img,
.project-media-visual video{
  width:100%!important;
  height:auto!important;
  max-height:460px!important;
  display:block!important;
  object-fit:contain!important;
  background:#ddd!important;
}
.project-media-card--video .project-media-visual{
  background:#111!important;
}
.project-media-card--video .project-media-visual video{
  background:#111!important;
}
.project-media-card p{
  margin:10px 6px 2px!important;
  color:#555!important;
  font-size:13px!important;
  font-weight:800!important;
}
.project-media-link{
  min-height:170px!important;
  color:#222!important;
  background:#ddd!important;
}
@media(min-width:900px){
  .project-media-card--image:nth-child(5n+1),
  .project-media-card--video:nth-child(5n+2){
    grid-column:span 2;
  }
}
@media(max-width:980px){
  .detail-info-section .detail-split{
    grid-template-columns:1fr!important;
    max-width:760px!important;
    gap:28px!important;
  }
  .project-media-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;
  }
  .project-media-card--image:nth-child(5n+1),
  .project-media-card--video:nth-child(5n+2){
    grid-column:auto!important;
  }
}
@media(max-width:640px){
  .project-media-grid{grid-template-columns:1fr!important;}
}

/* V16 PATCH DESIGN - alignement services + masonry médias réalisations */
.detail-service-section .container.detail-split,
body[class*="prestations-"] .detail-service-section .container.detail-split{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,420px)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(28px,5vw,68px)!important;
  max-width:1080px!important;
  min-height:clamp(360px,42vh,560px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.detail-service-section .container.detail-split > .info-panel,
body[class*="prestations-"] .detail-service-section .container.detail-split > .info-panel,
.detail-service-section .container.detail-split > .sticky-panel,
body[class*="prestations-"] .detail-service-section .container.detail-split > .sticky-panel{
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.detail-service-section .container.detail-split > .info-panel{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.detail-service-section .container.detail-split > .sticky-panel{
  position:relative!important;
  top:auto!important;
  height:max-content!important;
}

.project-media-section{
  background:#fff!important;
  padding-top:0!important;
}
.project-media-section .container{
  width:min(92%,1180px)!important;
}
.project-media-head{
  max-width:760px!important;
  margin-bottom:30px!important;
}
.project-media-grid{
  --masonry-row:8px;
  --masonry-gap:16px;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))!important;
  grid-auto-rows:var(--masonry-row)!important;
  gap:var(--masonry-gap)!important;
  align-items:start!important;
  max-width:1120px!important;
  margin:0 auto!important;
}
.project-media-grid:not(.is-masonry-ready) .project-media-card{
  grid-row-end:span 34;
}
.project-media-card,
.project-media-card--image:nth-child(5n+1),
.project-media-card--video:nth-child(5n+2){
  grid-column:auto!important;
}
.project-media-card{
  background:#eeeeee!important;
  border:1px solid #dedede!important;
  border-radius:22px!important;
  padding:10px!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transform:none!important;
  break-inside:avoid!important;
}
.project-media-card:hover{
  background:#e9e9e9!important;
  transform:translateY(-2px)!important;
}
.project-media-visual{
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#d9d9d9!important;
  display:block!important;
}
.project-media-card--video .project-media-visual,
.project-media-card--link .project-media-visual{
  aspect-ratio:16/10!important;
  background:#151515!important;
}
.project-media-visual img{
  width:100%!important;
  height:auto!important;
  max-height:560px!important;
  display:block!important;
  object-fit:cover!important;
  background:#d9d9d9!important;
}
.project-media-visual video{
  width:100%!important;
  height:100%!important;
  min-height:190px!important;
  display:block!important;
  object-fit:cover!important;
  background:#151515!important;
}
.project-media-link{
  min-height:190px!important;
  height:100%!important;
  background:#d9d9d9!important;
  color:#222!important;
  border-radius:16px!important;
}
.project-media-card p{
  margin:10px 6px 2px!important;
  color:#555!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:800!important;
}
@media(min-width:1180px){
  .project-media-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important;}
}
@media(max-width:980px){
  .detail-service-section .container.detail-split,
  body[class*="prestations-"] .detail-service-section .container.detail-split{
    grid-template-columns:1fr!important;
    min-height:0!important;
    max-width:760px!important;
    gap:28px!important;
  }
  .project-media-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))!important;}
}
@media(max-width:640px){
  .project-media-grid{
    display:block!important;
    max-width:420px!important;
  }
  .project-media-card{
    margin-bottom:16px!important;
  }
}


/* V17 - vidéo mise en avant format Reel sur les fiches réalisations */
.project-featured-video-section{
  background:#f4f4f4!important;
  padding-top:42px!important;
  padding-bottom:54px!important;
}
.project-featured-video-wrap{
  width:min(92%,1120px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,380px)!important;
  gap:44px!important;
  align-items:center!important;
}
.project-featured-video-copy{
  max-width:620px!important;
}
.project-featured-video-copy h2{
  margin:8px 0 12px!important;
}
.project-featured-video-copy p{
  color:#626262!important;
  line-height:1.7!important;
  max-width:560px!important;
}
.project-reel-shell{
  display:flex!important;
  justify-content:center!important;
}
.project-reel-frame{
  width:min(100%,360px)!important;
  aspect-ratio:9/16!important;
  background:#111!important;
  border:10px solid #e8e8e8!important;
  border-radius:32px!important;
  overflow:hidden!important;
  box-shadow:0 24px 70px rgba(0,0,0,.18)!important;
  position:relative!important;
}
.project-reel-frame:before{
  content:'';
  position:absolute;
  left:50%;
  top:10px;
  z-index:2;
  width:82px;
  height:18px;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(0,0,0,.55);
  pointer-events:none;
}
.project-reel-frame video{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  background:#111!important;
}
.project-reel-link{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  font-weight:900!important;
  text-align:center!important;
  padding:24px!important;
}
@media(max-width:860px){
  .project-featured-video-wrap{
    grid-template-columns:1fr!important;
    text-align:left!important;
  }
  .project-reel-shell{
    justify-content:flex-start!important;
  }
}
@media(max-width:520px){
  .project-featured-video-section{
    padding-top:32px!important;
  }
  .project-reel-frame{
    width:min(100%,320px)!important;
    border-width:8px!important;
    border-radius:26px!important;
  }
}

/* V18 - vidéo mise en avant intégrée dans le panneau texte réalisation */
.project-featured-video-inline{
  width:100%!important;
  margin:26px 0 24px!important;
  display:flex!important;
  justify-content:center!important;
}
.info-panel .project-featured-video-inline + .tags{
  margin-top:8px!important;
}
.project-reel-frame--inline{
  width:min(82%,360px)!important;
  max-width:360px!important;
  border-width:8px!important;
  border-radius:28px!important;
  box-shadow:0 18px 48px rgba(0,0,0,.16)!important;
}
.project-reel-frame--inline video{
  object-fit:contain!important;
}
@media(max-width:680px){
  .project-featured-video-inline{
    justify-content:flex-start!important;
    margin:22px 0 22px!important;
  }
  .project-reel-frame--inline{
    width:min(100%,320px)!important;
    max-width:320px!important;
    border-radius:24px!important;
  }
}

/* V19 - correction sticky panel après intégration vidéo inline
   Objectif : garder la vidéo dans le panneau texte, mais rendre le panneau infos à droite sticky à nouveau. */
@media (min-width:981px){
  .detail-info-section .container.detail-split,
  body[class*="prestations-"] .detail-info-section .container.detail-split,
  body[class*="realisations-"] .detail-info-section .container.detail-split,
  .detail-service-section .container.detail-split,
  body[class*="prestations-"] .detail-service-section .container.detail-split{
    align-items:start!important;
    align-content:start!important;
  }

  .detail-info-section .container.detail-split > .info-panel:not(.sticky-panel),
  body[class*="prestations-"] .detail-info-section .container.detail-split > .info-panel:not(.sticky-panel),
  body[class*="realisations-"] .detail-info-section .container.detail-split > .info-panel:not(.sticky-panel){
    align-self:start!important;
  }

  .detail-info-section .container.detail-split > .sticky-panel,
  body[class*="prestations-"] .detail-info-section .container.detail-split > .sticky-panel,
  body[class*="realisations-"] .detail-info-section .container.detail-split > .sticky-panel,
  .detail-service-section .container.detail-split > .sticky-panel,
  body[class*="prestations-"] .detail-service-section .container.detail-split > .sticky-panel{
    position:sticky!important;
    top:116px!important;
    align-self:start!important;
    height:max-content!important;
    margin-top:0!important;
    margin-bottom:20px!important;
  }
}

@media (max-width:980px){
  .detail-info-section .container.detail-split > .sticky-panel,
  .detail-service-section .container.detail-split > .sticky-panel{
    position:relative!important;
    top:auto!important;
    align-self:stretch!important;
  }
}
