/*
Theme Name:   DOSEprod
Theme URI:    https://dose-productions.com
Author:       Nathaniel
Description:  Thème custom du portfolio DOSEprod (Sam Hayles, Graphic Design Studio). Présentation uniquement — le contenu (projets, galerie, formulaire) est géré par l'extension "DOSEprod Content".
Version:      1.4.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain:  doseprod
*/

/* ==========================================================================
   Tokens — calés sur le site d'origine : fond #000, Bebas Neue + Roboto, gris #acaeb0
   ========================================================================== */
:root{
  --bg:#000;--bg2:#0a0a0a;--panel:#111;
  --txt:#acaeb0;--txt2:#7c7e80;--white:#fff;
  --accent:#cdab85;                       /* crème du logo, avec parcimonie */
  --line:rgba(255,255,255,.10);
  --head:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
  --body:'Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gutter:clamp(16px,3vw,40px);
  --max:1600px;
}

/* ==========================================================================
   Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt);font-family:var(--body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
::selection{background:var(--accent);color:#000}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
:focus-visible{outline:1px solid var(--accent);outline-offset:3px}
.dp-wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

h1,h2,h3{font-family:var(--head);font-weight:400;letter-spacing:.02em;color:var(--white);line-height:.95;margin:0}

/* ==========================================================================
   Header
   ========================================================================== */
.dp-header{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.dp-header__in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px var(--gutter);max-width:var(--max);margin:0 auto}
.dp-logo img{height:54px;width:auto}
.dp-logo--text{font-family:var(--head);font-size:30px;letter-spacing:.06em;color:var(--white)}
.dp-nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,32px)}
.dp-nav ul{display:flex;align-items:center;gap:clamp(14px,2.2vw,32px);list-style:none;margin:0;padding:0}
.dp-nav li a{display:inline-block;font-family:var(--head);font-size:19px;letter-spacing:.12em;text-transform:uppercase;color:var(--white);position:relative;padding:4px 0;opacity:.85;transition:opacity .2s}
.dp-nav li a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.dp-nav li a:hover,.dp-nav li.current-menu-item>a,.dp-nav li.current_page_item>a,.dp-nav li.current-menu-ancestor>a{opacity:1}
.dp-nav li a:hover::after,.dp-nav li.current-menu-item>a::after,.dp-nav li.current_page_item>a::after,.dp-nav li.current-menu-ancestor>a::after{transform:scaleX(1)}
.dp-social{display:flex;gap:12px;margin-left:8px;padding-left:18px;border-left:1px solid var(--line);list-style:none;padding-top:0;padding-bottom:0}
.dp-social a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt)}
.dp-social a:hover{color:var(--white)}
.dp-burger{display:none;background:none;border:1px solid var(--line);color:var(--white);font-family:var(--head);font-size:16px;letter-spacing:.14em;padding:8px 12px;cursor:pointer}
@media(max-width:900px){.dp-header .dp-social{display:none}}
@media(max-width:640px){
  .dp-logo img{height:42px}
  .dp-burger{display:inline-block}
  .dp-nav ul{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#000;border-bottom:1px solid var(--line)}
  .dp-nav.is-open ul{display:flex}
  .dp-nav li a{display:block;padding:14px var(--gutter);border-top:1px solid var(--line);font-size:22px}
  .dp-nav li a::after{display:none}
}

/* ==========================================================================
   Home — intro + grille
   ========================================================================== */
.dp-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:clamp(28px,5vh,56px) 0 clamp(18px,3vh,28px);flex-wrap:wrap}
.dp-intro h1{font-size:clamp(34px,6vw,76px)}
.dp-intro h1 span{display:block;color:var(--txt2)}
.dp-intro__meta{font-family:var(--head);font-size:16px;letter-spacing:.14em;color:var(--txt2);text-align:right;line-height:1.5}

.dp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(10px,1.6vw,22px);padding-bottom:60px}
.dp-card{position:relative;display:block;background:var(--bg2);aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line)}
.dp-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .5s;filter:brightness(.92)}
.dp-card:hover img{transform:scale(1.04);filter:brightness(1)}
.dp-card__cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);display:flex;justify-content:space-between;align-items:flex-end;gap:10px;transform:translateY(6px);opacity:0;transition:.35s}
.dp-card:hover .dp-card__cap,.dp-card:focus-visible .dp-card__cap{transform:none;opacity:1}
@media(hover:none){.dp-card__cap{transform:none;opacity:1;padding-top:22px}}
.dp-card__title{font-family:var(--head);font-size:24px;letter-spacing:.06em;color:var(--white);line-height:1}
.dp-card__count{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);white-space:nowrap}
.dp-empty{padding:60px 0;text-align:center;color:var(--txt2)}

/* ==========================================================================
   Projet
   ========================================================================== */
.dp-crumb{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 0 26px;font-family:var(--head);font-size:16px;letter-spacing:.14em;color:var(--txt2);flex-wrap:wrap}
.dp-crumb a:hover{color:var(--white)}
.dp-project{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start;margin-bottom:clamp(40px,7vh,80px)}
@media(max-width:880px){.dp-project{grid-template-columns:1fr}}
.dp-project__cover{background:var(--bg2);border:1px solid var(--line)}
.dp-project__cover img{width:100%;height:auto}
.dp-project__title{font-size:clamp(44px,7vw,96px);line-height:.92;margin-bottom:22px}
.dp-project__content p{margin:0 0 14px;font-size:clamp(15px,1.3vw,17px);max-width:60ch}
.dp-project__content a{color:var(--white);border-bottom:1px solid var(--accent)}
.dp-link{display:inline-flex;gap:10px;align-items:center;margin-top:10px;font-family:var(--head);font-size:18px;letter-spacing:.12em;color:var(--white);border:1px solid var(--white);padding:10px 18px;transition:.2s}
.dp-link:hover{background:var(--white);color:#000}
.dp-project__meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.dp-project__meta div{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt2)}
.dp-project__meta b{display:block;font-family:var(--head);font-size:22px;letter-spacing:.06em;color:var(--white);font-weight:400;margin-top:2px}
.dp-gallery-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:16px}
.dp-gallery-head h2{font-size:clamp(26px,3.6vw,40px);letter-spacing:.06em}
.dp-gallery-head span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt2)}
.dp-gallery{columns:3;column-gap:clamp(10px,1.6vw,22px);padding-bottom:20px}
@media(max-width:1000px){.dp-gallery{columns:2}}
@media(max-width:560px){.dp-gallery{columns:1}}
.dp-gallery__item{break-inside:avoid;margin:0 0 clamp(10px,1.6vw,22px);background:var(--bg2);border:1px solid var(--line);cursor:zoom-in;overflow:hidden}
.dp-gallery__item img{width:100%;height:auto;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .4s;filter:brightness(.94)}
.dp-gallery__item:hover img{transform:scale(1.02);filter:brightness(1)}
.dp-pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:40px 0 70px;border-top:1px solid var(--line);padding-top:24px}
.dp-pn a{display:block}
.dp-pn a span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt2)}
.dp-pn a b{display:block;font-family:var(--head);font-size:clamp(22px,3vw,34px);letter-spacing:.04em;color:var(--white);font-weight:400;line-height:1;margin-top:4px}
.dp-pn a:hover b{color:var(--accent)}
.dp-pn a.dp-pn__next{text-align:right}

/* ==========================================================================
   Pages (About, Contact…)
   ========================================================================== */
.dp-page{padding:clamp(30px,5vh,60px) 0 70px}
.dp-page__title{font-size:clamp(44px,7vw,96px);margin-bottom:26px}
.dp-page__content{max-width:72ch}
.dp-page__content h2{font-size:26px;letter-spacing:.1em;margin:34px 0 12px}
.dp-page__content h3{font-size:20px;letter-spacing:.12em;color:var(--accent);margin:24px 0 8px}
.dp-page__content p{margin:0 0 14px;font-size:clamp(15px,1.3vw,17px)}
.dp-page__content p:first-child{font-size:clamp(17px,1.6vw,21px);color:var(--white)}
.dp-page__content a{color:var(--white);border-bottom:1px solid var(--accent)}
.dp-page__content strong{color:var(--white);font-weight:500}
.dp-page__content ul{padding-left:18px}
.dp-page__content figure,.dp-figure{margin:26px 0;border:1px solid var(--line);background:var(--bg2)}
.dp-page__content figure img{width:100%}
.dp-page--contact .dp-page__content{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
@media(max-width:900px){.dp-page--contact .dp-page__content{grid-template-columns:1fr}}
.dp-page--contact .dp-page__content>p{grid-column:1}
.dp-page--contact .dp-contact{grid-column:2;grid-row:1/span 6}
@media(max-width:900px){.dp-page--contact .dp-contact{grid-column:1;grid-row:auto}}

/* Formulaire de contact (le balisage vient de l'extension) */
.dp-form label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt2);margin:0 0 6px}
.dp-form input,.dp-form textarea{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--white);font-family:var(--body);font-size:15px;padding:12px 14px;outline:none;transition:border-color .2s;border-radius:0}
.dp-form input:focus,.dp-form textarea:focus{border-color:var(--accent)}
.dp-form textarea{min-height:160px;resize:vertical}
.dp-button{font-family:var(--head);font-size:20px;letter-spacing:.12em;background:var(--white);color:#000;border:0;padding:12px 26px;cursor:pointer;transition:.2s}
.dp-button:hover{background:var(--accent)}
.dp-button[disabled]{opacity:.6;cursor:wait}
.dp-error{color:#e07070}

/* ==========================================================================
   Footer
   ========================================================================== */
.dp-footer{border-top:1px solid var(--line);margin-top:20px}
.dp-footer__in{max-width:var(--max);margin:0 auto;padding:22px var(--gutter);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt2)}
.dp-footer .dp-social{margin:0;padding:0;border:0}
.dp-footer a:hover{color:var(--white)}

/* ==========================================================================
   Lightbox (JS du thème)
   ========================================================================== */
.dp-lb{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.96);display:none;place-items:center;padding:24px;opacity:0;transition:opacity .25s}
.dp-lb.is-open{display:grid;opacity:1}
.dp-lb img{max-width:min(96vw,1400px);max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.dp-lb__btn{position:absolute;font-family:var(--head);color:var(--white);background:rgba(255,255,255,.06);border:1px solid var(--line);cursor:pointer;transition:.2s}
.dp-lb__close{top:18px;right:20px;font-size:16px;letter-spacing:.14em;padding:8px 14px}
.dp-lb__prev,.dp-lb__next{top:50%;transform:translateY(-50%);width:50px;height:50px;font-size:30px;display:grid;place-items:center}
.dp-lb__prev{left:16px}.dp-lb__next{right:16px}
.dp-lb__btn:hover{background:var(--white);color:#000}
.dp-lb__cap{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--txt2)}
body.dp-lb-open{overflow:hidden}

@media(prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}

/* ==========================================================================
   v1.1 — Ambiance, grain, flicker, glitch, filtres, load more
   ========================================================================== */

/* Couches de fond : teinte (couleur de la cover / crème) + grain léger */
.dp-ambient{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:var(--tint,#cdab85);opacity:.14;mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(75% 60% at 50% 18%,#000 0%,rgba(0,0,0,.5) 38%,transparent 74%);mask-image:radial-gradient(75% 60% at 50% 18%,#000 0%,rgba(0,0,0,.5) 38%,transparent 74%);
  transition:background-color 1.1s ease,opacity .9s ease}
body.dp-tint-hover .dp-ambient{opacity:.24}
body.single-project .dp-ambient{opacity:.2;-webkit-mask-image:radial-gradient(70% 70% at 30% 35%,#000 0%,rgba(0,0,0,.5) 40%,transparent 75%);mask-image:radial-gradient(70% 70% at 30% 35%,#000 0%,rgba(0,0,0,.5) 40%,transparent 75%)}
.dp-grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.dp-header,main.dp-wrap,.dp-footer{position:relative;z-index:2}

/* Logo : flicker occasionnel (déclenché par le JS, ~toutes les 7–15 s) */
.dp-logo{display:inline-block;position:relative}
.dp-logo.is-flicker{animation:dp-flicker .75s steps(1,end)}
@keyframes dp-flicker{0%{opacity:1}7%{opacity:.3}11%{opacity:1}28%{opacity:.55;filter:brightness(1.7) contrast(1.2)}33%{opacity:1;filter:none}57%{opacity:.75;transform:translateX(1px)}61%{opacity:1;transform:none}100%{opacity:1}}

/* Filtres par type */
.dp-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.dp-filter{font-family:var(--head);font-size:16px;letter-spacing:.12em;text-transform:uppercase;background:none;border:1px solid var(--line);color:var(--txt);padding:7px 14px;cursor:pointer;transition:.2s}
.dp-filter span{color:var(--txt2);font-size:13px;margin-left:4px}
.dp-filter:hover{border-color:var(--white);color:var(--white)}
.dp-filter.is-on{border-color:var(--accent);color:var(--white);box-shadow:inset 0 -2px 0 var(--accent)}

/* Cartes : apparition en cascade, halo dans la couleur de l'image, aberration chromatique + slice au survol */
.dp-card{isolation:isolate;animation:dp-in .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0) * 55ms);transition:box-shadow .5s,border-color .5s}
@keyframes dp-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.dp-card:hover{box-shadow:0 34px 80px -28px var(--c,#cdab85);border-color:rgba(255,255,255,.22)}
.dp-card::before,.dp-card::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:var(--img) center/cover no-repeat;mix-blend-mode:screen}
.dp-card::before{filter:hue-rotate(-100deg) saturate(3) contrast(1.15)}
.dp-card::after{filter:hue-rotate(110deg) saturate(3) contrast(1.15)}
.dp-card.is-glitch::before{animation:dp-ca-a .55s steps(3,end)}
.dp-card.is-glitch::after{animation:dp-ca-b .55s steps(3,end)}
@keyframes dp-ca-a{0%{opacity:0;transform:translate(-4px,0);clip-path:inset(0)}20%{opacity:.75;transform:translate(-7px,2px);clip-path:inset(18% 0 52% 0)}45%{opacity:.5;transform:translate(3px,-1px);clip-path:inset(62% 0 8% 0)}70%{opacity:.35;transform:translate(-2px,0);clip-path:inset(0 0 78% 0)}100%{opacity:0;transform:none}}
@keyframes dp-ca-b{0%{opacity:0;transform:translate(4px,0);clip-path:inset(0)}20%{opacity:.7;transform:translate(7px,-2px);clip-path:inset(40% 0 30% 0)}45%{opacity:.5;transform:translate(-3px,1px);clip-path:inset(5% 0 70% 0)}70%{opacity:.3;transform:translate(2px,0);clip-path:inset(75% 0 0 0)}100%{opacity:0;transform:none}}
.dp-card__text{display:flex;flex-direction:column;min-width:0}
.dp-card__type{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:3px}
.dp-card__title{position:relative;display:inline-block}
.dp-card__title::before{content:attr(data-text);position:absolute;left:0;top:0;color:var(--c,#cdab85);opacity:0;clip-path:inset(0 0 55% 0);transform:translateX(-3px);pointer-events:none}
.dp-card.is-glitch .dp-card__title::before{animation:dp-ghost .5s steps(2,end)}
@keyframes dp-ghost{0%{opacity:0}25%{opacity:.9;transform:translateX(-3px);clip-path:inset(0 0 55% 0)}50%{opacity:.7;transform:translateX(3px);clip-path:inset(50% 0 0 0)}75%{opacity:.5;transform:translateX(-1px);clip-path:inset(25% 0 30% 0)}100%{opacity:0}}

/* Load more */
.dp-more{display:flex;justify-content:center;align-items:center;gap:16px;padding:10px 0 60px}
.dp-more__btn{font-family:var(--head);font-size:20px;letter-spacing:.12em;background:none;border:1px solid var(--white);color:var(--white);padding:11px 26px;cursor:pointer;transition:.2s}
.dp-more__btn:hover{background:var(--white);color:#000}
.dp-more.is-loading .dp-more__btn{opacity:.45;pointer-events:none}
.dp-more__status{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt2)}
.dp-grid{padding-bottom:20px}
.dp-grid.is-swapping .dp-card{animation:dp-out .22s both}
@keyframes dp-out{to{opacity:0;transform:translateY(8px)}}

/* Mobile : 2 colonnes, vignettes réduites, légende compacte */
@media(max-width:640px){
  .dp-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .dp-card__cap{padding:16px 10px 9px}
  .dp-card__title{font-size:15px}
  .dp-card__type,.dp-card__count{display:none}
  .dp-filters{gap:6px}.dp-filter{font-size:14px;padding:6px 10px}
}

/* Fiche projet : cover flottante avec halo teinté, titre avec ghost au survol, galerie en cascade */
.dp-project__cover{position:relative;border:0;background:none;animation:dp-float 9s ease-in-out infinite}
.dp-project__cover::before{content:"";position:absolute;inset:6% 4% -2% 4%;z-index:-1;background:var(--tint,#cdab85);filter:blur(64px);opacity:.42;border-radius:40%}
.dp-project__cover img{position:relative;border:1px solid var(--line);box-shadow:0 50px 90px -30px rgba(0,0,0,.95)}
@keyframes dp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.dp-project__title{position:relative}
.dp-project__title::before{content:attr(data-text);position:absolute;inset:0;color:var(--tint,#cdab85);opacity:0;clip-path:inset(0 0 50% 0);transform:translateX(-4px);pointer-events:none}
.dp-project__title:hover::before{animation:dp-ghost .5s steps(2,end)}
.dp-gallery__item{animation:dp-in .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0) * 40ms)}

@media(prefers-reduced-motion:reduce){
  .dp-card,.dp-gallery__item{animation:none}
  .dp-project__cover{animation:none}
  .dp-logo.is-flicker,.dp-card.is-glitch::before,.dp-card.is-glitch::after,.dp-card.is-glitch .dp-card__title::before,.dp-project__title:hover::before{animation:none}
}

/* ==========================================================================
   v1.2 — icônes RS, ambiance 2 tons + cover floutée, rayures, float fluide,
   galerie & artworks, modes/filtres, load auto, lightbox floutée, About, légal
   ========================================================================== */

/* Réseaux sociaux en icônes */
.dp-social{display:flex;gap:6px;margin:0;padding:0;list-style:none;border:0}
.dp-social--header{margin-left:8px;padding-left:14px;border-left:1px solid var(--line)}
.dp-social a{display:grid;place-items:center;width:34px;height:34px;padding:0;color:var(--txt);border:1px solid transparent;font-size:0;letter-spacing:0;transition:color .2s,border-color .2s,transform .2s}
.dp-social a:hover{color:var(--white);border-color:var(--line);transform:translateY(-1px)}
.dp-social svg{width:17px;height:17px;display:block}
@media(max-width:900px){.dp-header .dp-social{display:flex}}
@media(max-width:640px){.dp-header .dp-social{display:none}}

/* Ambiance : deux tons issus de la cover, plus marqués, + la cover elle-même très floutée sur les fiches */
.dp-ambient{opacity:.24;-webkit-mask-image:radial-gradient(70% 60% at 28% 18%,#000 0%,rgba(0,0,0,.45) 40%,transparent 74%);mask-image:radial-gradient(70% 60% at 28% 18%,#000 0%,rgba(0,0,0,.45) 40%,transparent 74%)}
.dp-ambient2{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:var(--tint2,#5a4a3a);opacity:.3;mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(75% 65% at 82% 88%,#000 0%,rgba(0,0,0,.45) 40%,transparent 76%);mask-image:radial-gradient(75% 65% at 82% 88%,#000 0%,rgba(0,0,0,.45) 40%,transparent 76%);
  transition:background-color 1.1s ease,opacity .9s ease}
body.dp-tint-hover .dp-ambient{opacity:.34}
body.single-project .dp-ambient{opacity:.34;-webkit-mask-image:radial-gradient(70% 70% at 28% 30%,#000 0%,rgba(0,0,0,.5) 40%,transparent 76%);mask-image:radial-gradient(70% 70% at 28% 30%,#000 0%,rgba(0,0,0,.5) 40%,transparent 76%)}
body.single-project .dp-ambient2{opacity:.4}
.dp-art-bg{position:fixed;inset:-12%;z-index:0;pointer-events:none;background:var(--cover) center/cover no-repeat;filter:blur(90px) saturate(1.5) brightness(.85);opacity:.42;transform:translateZ(0)}

/* Rayures façon fond V1 (procédural, tuilé) */
.dp-scratches{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:screen;background-size:900px 900px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900' fill='none' stroke-linecap='round'%3E%3Cpath d='M256 66L637 -226' stroke='%23fff' stroke-opacity='0.09' stroke-width='0.6'/%3E%3Cpath d='M360 165L606 -61' stroke='%23fff' stroke-opacity='0.12' stroke-width='1.3'/%3E%3Cpath d='M-49 844L63 902' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.7'/%3E%3Cpath d='M7 683L8 968' stroke='%23fff' stroke-opacity='0.21' stroke-width='0.8'/%3E%3Cpath d='M173 98L215 497' stroke='%23fff' stroke-opacity='0.1' stroke-width='1.3'/%3E%3Cpath d='M30 360L382 138' stroke='%23fff' stroke-opacity='0.15' stroke-width='1.2'/%3E%3Cpath d='M245 665L252 953' stroke='%23fff' stroke-opacity='0.16' stroke-width='0.5'/%3E%3Cpath d='M672 612L682 701' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.6'/%3E%3Cpath d='M29 -35L144 -42' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.9'/%3E%3Cpath d='M872 801L1372 764' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.6'/%3E%3Cpath d='M155 157L460 76' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.8'/%3E%3Cpath d='M38 845L293 839' stroke='%23fff' stroke-opacity='0.12' stroke-width='0.9'/%3E%3Cpath d='M340 110L415 81' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.6'/%3E%3Cpath d='M300 -72L363 267' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.6'/%3E%3Cpath d='M437 976L491 1261' stroke='%23fff' stroke-opacity='0.17' stroke-width='0.9'/%3E%3Cpath d='M126 947L16 1446' stroke='%23fff' stroke-opacity='0.2' stroke-width='1.1'/%3E%3Cpath d='M187 303L181 663' stroke='%23fff' stroke-opacity='0.15' stroke-width='1.1'/%3E%3Cpath d='M734 115L968 78' stroke='%23fff' stroke-opacity='0.05' stroke-width='0.5'/%3E%3Cpath d='M207 185L221 685' stroke='%23fff' stroke-opacity='0.11' stroke-width='0.7'/%3E%3Cpath d='M150 116L622 201' stroke='%23fff' stroke-opacity='0.11' stroke-width='1.0'/%3E%3Cpath d='M818 32L1237 118' stroke='%23fff' stroke-opacity='0.11' stroke-width='1.1'/%3E%3Cpath d='M969 335L1004 420' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.9'/%3E%3Cpath d='M621 573L686 635' stroke='%23fff' stroke-opacity='0.19' stroke-width='1.1'/%3E%3Cpath d='M13 724L100 554' stroke='%23fff' stroke-opacity='0.1' stroke-width='0.7'/%3E%3Cpath d='M545 185L915 157' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.9'/%3E%3Cpath d='M810 866L1118 1027' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.6'/%3E%3Cpath d='M56 581L481 588' stroke='%23fff' stroke-opacity='0.07' stroke-width='0.9'/%3E%3Cpath d='M173 205L408 61' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.9'/%3E%3Cpath d='M463 662L469 1148' stroke='%23fff' stroke-opacity='0.2' stroke-width='0.7'/%3E%3Cpath d='M392 358L696 577' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.2'/%3E%3Cpath d='M70 688L433 874' stroke='%23fff' stroke-opacity='0.07' stroke-width='1.2'/%3E%3Cpath d='M79 635L245 626' stroke='%23fff' stroke-opacity='0.1' stroke-width='1.1'/%3E%3Cpath d='M-79 509L8 413' stroke='%23fff' stroke-opacity='0.21' stroke-width='0.7'/%3E%3Cpath d='M864 -8L1314 53' stroke='%23fff' stroke-opacity='0.16' stroke-width='1.3'/%3E%3Cpath d='M347 490L536 678' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.3'/%3E%3Cpath d='M598 782L681 798' stroke='%23fff' stroke-opacity='0.22' stroke-width='0.8'/%3E%3Cpath d='M907 584L884 683' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.7'/%3E%3Cpath d='M236 735L529 309' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.5'/%3E%3Cpath d='M456 976L824 1006' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.2'/%3E%3Cpath d='M967 239L1187 373' stroke='%23fff' stroke-opacity='0.11' stroke-width='0.5'/%3E%3Cpath d='M43 -22L495 -122' stroke='%23fff' stroke-opacity='0.16' stroke-width='0.7'/%3E%3Cpath d='M166 222L181 730' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.7'/%3E%3Cpath d='M962 241L1140 305' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.6'/%3E%3Cpath d='M799 58L1055 -162' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.1'/%3E%3Cpath d='M623 688L782 818' stroke='%23fff' stroke-opacity='0.16' stroke-width='0.6'/%3E%3Cpath d='M807 687L1125 376' stroke='%23fff' stroke-opacity='0.15' stroke-width='1.2'/%3E%3Cpath d='M651 663L780 453' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.5'/%3E%3Cpath d='M-79 485L118 172' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.1'/%3E%3Cpath d='M177 -18L472 19' stroke='%23fff' stroke-opacity='0.12' stroke-width='0.9'/%3E%3Cpath d='M652 744L733 1101' stroke='%23fff' stroke-opacity='0.17' stroke-width='1.0'/%3E%3Cpath d='M47 431L252 400' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.9'/%3E%3Cpath d='M413 30L600 -58' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.9'/%3E%3Cpath d='M994 993L1084 883' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.3'/%3E%3Cpath d='M46 802L297 767' stroke='%23fff' stroke-opacity='0.08' stroke-width='1.3'/%3E%3Cpath d='M650 346L655 427' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.2'/%3E%3Cpath d='M32 919L283 902' stroke='%23fff' stroke-opacity='0.2' stroke-width='0.6'/%3E%3Cpath d='M918 731L1075 837' stroke='%23fff' stroke-opacity='0.1' stroke-width='0.9'/%3E%3Cpath d='M109 311L281 668' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.1'/%3E%3Cpath d='M396 728L524 815' stroke='%23fff' stroke-opacity='0.12' stroke-width='0.7'/%3E%3Cpath d='M181 713L314 711' stroke='%23fff' stroke-opacity='0.16' stroke-width='0.6'/%3E%3Cpath d='M451 793L591 812' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.6'/%3E%3Cpath d='M276 0L520 50' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.7'/%3E%3Cpath d='M197 727L277 818' stroke='%23fff' stroke-opacity='0.2' stroke-width='0.8'/%3E%3Cpath d='M610 375L995 299' stroke='%23fff' stroke-opacity='0.2' stroke-width='0.9'/%3E%3Cpath d='M546 -100L732 -65' stroke='%23fff' stroke-opacity='0.07' stroke-width='0.6'/%3E%3Cpath d='M475 650L591 667' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.5'/%3E%3Cpath d='M38 526L425 552' stroke='%23fff' stroke-opacity='0.07' stroke-width='0.6'/%3E%3Cpath d='M477 541L449 1059' stroke='%23fff' stroke-opacity='0.1' stroke-width='0.8'/%3E%3Cpath d='M823 167L849 268' stroke='%23fff' stroke-opacity='0.08' stroke-width='1.2'/%3E%3Cpath d='M612 -11L639 384' stroke='%23fff' stroke-opacity='0.11' stroke-width='0.8'/%3E%3Ccircle cx='6' cy='263' r='1.2' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='446' cy='180' r='1.2' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='419' cy='239' r='1.3' fill='%23fff' fill-opacity='0.10'/%3E%3Ccircle cx='561' cy='549' r='1.3' fill='%23fff' fill-opacity='0.19'/%3E%3Ccircle cx='819' cy='51' r='1.0' fill='%23fff' fill-opacity='0.28'/%3E%3Ccircle cx='49' cy='21' r='1.0' fill='%23fff' fill-opacity='0.17'/%3E%3Ccircle cx='639' cy='166' r='0.8' fill='%23fff' fill-opacity='0.24'/%3E%3Ccircle cx='283' cy='102' r='0.5' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='172' cy='587' r='0.9' fill='%23fff' fill-opacity='0.18'/%3E%3Ccircle cx='281' cy='653' r='1.2' fill='%23fff' fill-opacity='0.30'/%3E%3Ccircle cx='398' cy='98' r='0.5' fill='%23fff' fill-opacity='0.10'/%3E%3Ccircle cx='378' cy='797' r='1.0' fill='%23fff' fill-opacity='0.25'/%3E%3Ccircle cx='342' cy='692' r='0.7' fill='%23fff' fill-opacity='0.26'/%3E%3Ccircle cx='79' cy='635' r='0.6' fill='%23fff' fill-opacity='0.20'/%3E%3Ccircle cx='402' cy='291' r='1.1' fill='%23fff' fill-opacity='0.18'/%3E%3Ccircle cx='568' cy='223' r='1.0' fill='%23fff' fill-opacity='0.17'/%3E%3Ccircle cx='338' cy='418' r='1.2' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='175' cy='57' r='1.0' fill='%23fff' fill-opacity='0.16'/%3E%3Ccircle cx='301' cy='858' r='0.4' fill='%23fff' fill-opacity='0.24'/%3E%3Ccircle cx='621' cy='832' r='0.7' fill='%23fff' fill-opacity='0.24'/%3E%3Ccircle cx='536' cy='725' r='1.3' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='743' cy='97' r='1.1' fill='%23fff' fill-opacity='0.18'/%3E%3Ccircle cx='699' cy='711' r='1.3' fill='%23fff' fill-opacity='0.26'/%3E%3Ccircle cx='119' cy='447' r='0.4' fill='%23fff' fill-opacity='0.28'/%3E%3Ccircle cx='273' cy='623' r='0.6' fill='%23fff' fill-opacity='0.13'/%3E%3Ccircle cx='775' cy='415' r='1.2' fill='%23fff' fill-opacity='0.21'/%3E%3Ccircle cx='461' cy='353' r='0.6' fill='%23fff' fill-opacity='0.17'/%3E%3Ccircle cx='585' cy='434' r='0.9' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='384' cy='95' r='0.5' fill='%23fff' fill-opacity='0.22'/%3E%3Ccircle cx='188' cy='379' r='1.4' fill='%23fff' fill-opacity='0.29'/%3E%3Ccircle cx='156' cy='120' r='0.9' fill='%23fff' fill-opacity='0.28'/%3E%3Ccircle cx='211' cy='485' r='1.2' fill='%23fff' fill-opacity='0.25'/%3E%3Ccircle cx='702' cy='265' r='0.7' fill='%23fff' fill-opacity='0.14'/%3E%3Ccircle cx='229' cy='234' r='0.8' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='212' cy='253' r='1.3' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='58' cy='226' r='0.6' fill='%23fff' fill-opacity='0.20'/%3E%3Ccircle cx='585' cy='90' r='0.9' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='4' cy='795' r='0.6' fill='%23fff' fill-opacity='0.18'/%3E%3Ccircle cx='336' cy='789' r='0.6' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='540' cy='745' r='0.6' fill='%23fff' fill-opacity='0.10'/%3E%3C/svg%3E")}
.dp-header,main.dp-wrap,.dp-footer{z-index:2}

/* Toolbar : bascule Projects / Artworks + filtres */
.dp-toolbar{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;margin:0 0 26px}
.dp-modes{display:flex;border:1px solid var(--line)}
.dp-mode{font-family:var(--head);font-size:17px;letter-spacing:.12em;text-transform:uppercase;background:none;border:0;color:var(--txt);padding:8px 16px;cursor:pointer;transition:.2s}
.dp-mode:hover{color:var(--white)}
.dp-mode.is-on{background:var(--white);color:#000}
.dp-filters{margin:0}
.dp-filters[hidden]{display:none}

/* Load auto : sentinelle invisible, bouton seulement en cas d'échec */
.dp-more{display:flex;flex-direction:column;align-items:center;gap:12px;padding:10px 0 60px;min-height:56px}
.dp-more__sentinel{display:block;width:1px;height:1px}
.dp-more__btn[hidden]{display:none}
.dp-more__status:empty{display:none}
.dp-more.is-loading .dp-more__status{animation:dp-pulse 1.2s ease-in-out infinite}
@keyframes dp-pulse{0%,100%{opacity:.35}50%{opacity:1}}

/* Fiche projet : halo séparé (statique) + visuel flottant composité (fluide) */
.dp-project__cover{animation:none;position:relative}
.dp-project__cover::before{display:none}
.dp-project__halo{position:absolute;inset:8% 6% 0 6%;z-index:0;border-radius:40%;filter:blur(70px);opacity:.5;
  background:radial-gradient(circle at 50% 45%,var(--tint,#cdab85) 0%,var(--tint2,#5a4a3a) 55%,transparent 82%);animation:dp-halo 12s ease-in-out infinite}
@keyframes dp-halo{0%,100%{opacity:.42}50%{opacity:.62}}
.dp-project__float{position:relative;z-index:1;will-change:transform;transform:translate3d(0,0,0);animation:dp-float 12s cubic-bezier(.45,0,.55,1) infinite}
@keyframes dp-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-12px,0)}}
.dp-project__float img{display:block;width:100%;height:auto;border:1px solid var(--line);box-shadow:0 50px 90px -30px rgba(0,0,0,.95)}

/* Galerie de la fiche : pas de loupe, cadre qui s'ouvre + aberration brève au survol */
.dp-gallery__item{cursor:pointer;position:relative;isolation:isolate;outline:1px solid transparent;outline-offset:-1px;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s,outline-color .3s,outline-offset .3s}
.dp-gallery__item:hover{transform:translateY(-4px);box-shadow:0 34px 70px -26px var(--tint,#cdab85);outline-color:var(--tint,#cdab85);outline-offset:6px}
.dp-gallery__item img{transition:transform .8s cubic-bezier(.16,1,.3,1),filter .4s}
.dp-gallery__item:hover img{transform:scale(1.015);filter:brightness(1)}
.dp-gallery__item::before,.dp-gallery__item::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:var(--img) center/cover no-repeat;mix-blend-mode:screen}
.dp-gallery__item::before{filter:hue-rotate(-100deg) saturate(3) contrast(1.15)}
.dp-gallery__item::after{filter:hue-rotate(110deg) saturate(3) contrast(1.15)}
.dp-gallery__item.is-glitch::before{animation:dp-ca-a .5s steps(3,end)}
.dp-gallery__item.is-glitch::after{animation:dp-ca-b .5s steps(3,end)}

/* Mode Artworks : masonry de tous les visuels */
.dp-grid--art{display:block;columns:4;column-gap:clamp(10px,1.6vw,22px)}
@media(max-width:1200px){.dp-grid--art{columns:3}}
@media(max-width:900px){.dp-grid--art{columns:2}}
.dp-art{position:relative;isolation:isolate;break-inside:avoid;margin:0 0 clamp(10px,1.6vw,22px);background:var(--bg2);border:1px solid var(--line);cursor:pointer;overflow:hidden;
  animation:dp-in .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0) * 35ms);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s,border-color .45s}
.dp-art:hover{transform:translateY(-4px);box-shadow:0 34px 70px -26px var(--c,#cdab85);border-color:rgba(255,255,255,.22)}
.dp-art img{width:100%;height:auto;display:block;filter:brightness(.94);transition:filter .4s}
.dp-art:hover img{filter:brightness(1)}
.dp-art::before,.dp-art::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:var(--img) center/cover no-repeat;mix-blend-mode:screen}
.dp-art::before{filter:hue-rotate(-100deg) saturate(3) contrast(1.15)}
.dp-art::after{filter:hue-rotate(110deg) saturate(3) contrast(1.15)}
.dp-art.is-glitch::before{animation:dp-ca-a .5s steps(3,end)}
.dp-art.is-glitch::after{animation:dp-ca-b .5s steps(3,end)}
.dp-art__cap{position:absolute;left:0;right:0;bottom:0;z-index:3;margin:0;padding:34px 12px 10px;background:linear-gradient(to top,rgba(0,0,0,.88),transparent);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;opacity:0;transform:translateY(6px);transition:.35s;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.dp-art:hover .dp-art__cap,.dp-art:focus-visible .dp-art__cap{opacity:1;transform:none}
@media(hover:none){.dp-art__cap{opacity:1;transform:none;padding-top:20px}}
.dp-art__client{flex:1 1 100%;font-family:var(--head);font-size:18px;letter-spacing:.06em;text-transform:none;color:var(--white)}
.dp-art__cat{color:var(--accent)}
.dp-art__link{margin-left:auto;color:var(--txt)}
.dp-art__link:hover{color:var(--white)}

/* Lightbox : fond flouté + grain + halo teinté, entrée décalée façon glitch */
.dp-lb{background:rgba(0,0,0,.7);backdrop-filter:blur(28px) saturate(1.2);-webkit-backdrop-filter:blur(28px) saturate(1.2)}
.dp-lb::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.dp-lb::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:screen;background:radial-gradient(55% 55% at 50% 50%,var(--tint,#cdab85) 0%,transparent 72%)}
.dp-lb img{position:relative;z-index:1}
.dp-lb.is-open img{animation:dp-lb-in .6s cubic-bezier(.16,1,.3,1) both}
@keyframes dp-lb-in{0%{opacity:0;transform:translate(-14px,8px) scale(.97);filter:drop-shadow(-7px 0 0 rgba(255,40,80,.85)) drop-shadow(7px 0 0 rgba(0,220,255,.85))}45%{opacity:1;filter:drop-shadow(-3px 0 0 rgba(255,40,80,.6)) drop-shadow(3px 0 0 rgba(0,220,255,.6))}100%{opacity:1;transform:none;filter:none}}
.dp-lb img.is-swap{animation:dp-lb-swap .4s steps(3,end) both}
@keyframes dp-lb-swap{0%{opacity:.5;transform:translateX(-8px);filter:drop-shadow(-5px 0 0 rgba(255,40,80,.7)) drop-shadow(5px 0 0 rgba(0,220,255,.7))}50%{transform:translateX(6px);filter:drop-shadow(3px 0 0 rgba(255,40,80,.5)) drop-shadow(-3px 0 0 rgba(0,220,255,.5))}100%{opacity:1;transform:none;filter:none}}
.dp-lb__btn{z-index:2}.dp-lb__cap{z-index:2}

/* About : deux colonnes, visuel collant, listes en colonnes */
.dp-about{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(28px,5vw,80px);align-items:start;padding:clamp(30px,5vh,60px) 0 70px}
@media(max-width:900px){.dp-about{grid-template-columns:1fr}}
.dp-page__title span{display:block;color:var(--txt2);font-size:.4em;letter-spacing:.14em;margin-top:8px}
.dp-about__content{max-width:none}
.dp-about__content>p:first-of-type{font-size:clamp(17px,1.6vw,21px);color:var(--white)}
.dp-about__content h2{font-size:28px;letter-spacing:.1em;margin:44px 0 14px}
.dp-about__content h3{font-family:var(--head);font-size:20px;letter-spacing:.12em;color:var(--accent);margin:26px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.dp-list{list-style:none;padding:0;margin:0 0 10px;columns:2;column-gap:28px;font-size:13.5px;line-height:1.8}
.dp-list li{break-inside:avoid}
.dp-list em{color:var(--txt2);font-style:normal;font-size:11px;margin-left:4px}
.dp-list--services{columns:1;font-size:15px}
.dp-list--services li{padding-left:14px;position:relative}
.dp-list--services li::before{content:"";position:absolute;left:0;top:.9em;width:6px;height:1px;background:var(--accent)}
@media(min-width:1200px){.dp-list{columns:3}}
@media(max-width:560px){.dp-list{columns:1}}
.dp-about__side{position:sticky;top:96px}
.dp-about__visual{border:1px solid var(--line);background:var(--bg2);box-shadow:0 40px 80px -30px rgba(0,0,0,.95)}
.dp-about__visual img{width:100%;height:auto;display:block}
.dp-about__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:18px 0}
.dp-about__facts div{background:var(--bg);padding:14px 12px}
.dp-about__facts b{display:block;font-family:var(--head);font-size:clamp(26px,3vw,40px);line-height:1;color:var(--white);font-weight:400}
.dp-about__facts span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt2)}
.dp-social--about{gap:8px}.dp-social--about a{border-color:var(--line)}

/* Footer : mentions légales (modale) + crédit */
.dp-footer__meta{display:flex;gap:10px;align-items:center}
.dp-legal-open{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}
.dp-legal-open:hover,.dp-credit:hover{color:var(--white)}
.dp-credit b{color:var(--accent);font-weight:500}
.dp-legal{position:fixed;inset:0;z-index:95;display:none;place-items:center;padding:20px;background:rgba(0,0,0,.75);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;transition:opacity .25s}
.dp-legal.is-open{display:grid;opacity:1}
.dp-legal__panel{position:relative;max-width:720px;max-height:86vh;overflow:auto;background:#0b0b0b;border:1px solid var(--line);padding:clamp(24px,4vw,44px);box-shadow:0 50px 100px rgba(0,0,0,.7)}
.dp-legal__panel h2{font-size:clamp(30px,4vw,44px);letter-spacing:.06em;margin-bottom:18px}
.dp-legal__panel h3{font-size:18px;letter-spacing:.14em;color:var(--accent);margin:22px 0 6px}
.dp-legal__panel p{font-size:14px;line-height:1.7;margin:0 0 6px}
.dp-legal__panel a{color:var(--white);border-bottom:1px solid var(--accent)}
.dp-legal__close{position:absolute;top:12px;right:14px;background:none;border:1px solid var(--line);color:var(--white);width:36px;height:36px;font-size:22px;line-height:1;cursor:pointer}
.dp-legal__close:hover{background:var(--white);color:#000}
body.dp-modal-open{overflow:hidden}

@media(prefers-reduced-motion:reduce){
  .dp-project__float,.dp-project__halo,.dp-art{animation:none}
  .dp-lb.is-open img,.dp-lb img.is-swap,.dp-gallery__item.is-glitch::before,.dp-gallery__item.is-glitch::after,.dp-art.is-glitch::before,.dp-art.is-glitch::after{animation:none}
}


/* ==========================================================================
   v1.3 — header fixe flouté + logo débordant, nav/RS séparés, menu mobile,
   rayures variées, flicker varié, 4 variantes d'effets, masonry JS
   ========================================================================== */

/* Header : fixe, semi-transparent, flouté ; le logo déborde sous le trait (la goutte passe la ligne) */
:root{--header-h:78px;--logo-h:56px;--logo-overhang:0px} /* logo JPEG opaque : pas de débord tant qu'il n'y a pas de PNG/SVG transparent */
.dp-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(0,0,0,.5);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid rgba(255,255,255,.14);overflow:visible;
  transition:background .4s}
body.dp-scrolled .dp-header{background:rgba(0,0,0,.62)}
.dp-header__in{padding:10px var(--gutter);overflow:visible}
main.dp-wrap{padding-top:calc(var(--header-h) + 34px)}
.dp-logo{position:relative;z-index:3;line-height:0;margin:0 0 calc(-1 * var(--logo-overhang))}
.dp-logo img{height:var(--logo-h);width:auto}
.dp-logo--text{margin:0;font-size:30px;line-height:1}
@media(max-width:640px){:root{--logo-h:44px;--logo-overhang:0px}}

/* Nav : panneau (menu + RS) — les règles ne touchent plus que .dp-menu, plus jamais le ul des RS */
.dp-nav{position:static;display:flex;align-items:center}
.dp-nav ul{display:revert;position:static;gap:0;list-style:none;margin:0;padding:0}
.dp-nav__panel{display:flex;align-items:center;gap:clamp(14px,2.2vw,26px)}
.dp-nav .dp-menu{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px)}
.dp-nav .dp-menu li{display:block}
.dp-social{display:flex;align-items:center;gap:2px}
.dp-social--header{margin-left:4px;padding-left:12px;border-left:1px solid var(--line)}
.dp-social li{display:block;line-height:0}
.dp-social li a{display:grid;place-items:center;width:32px;height:32px;padding:0;color:var(--txt);opacity:1;border:1px solid transparent;font-size:0;letter-spacing:0;transition:color .2s,transform .2s,border-color .2s}
.dp-social li a::after{display:none}
.dp-social li a:hover{color:var(--white);transform:translateY(-1px);border-color:transparent}
.dp-social svg{width:16px;height:16px}
.dp-social--header svg{width:15px;height:15px}
.dp-header .dp-social{display:flex}
.dp-burger{display:none;align-items:center;gap:10px}
.dp-burger__bars{display:inline-flex;flex-direction:column;gap:4px;width:18px}
.dp-burger__bars i{display:block;height:1.5px;background:currentColor;transition:transform .25s,opacity .25s}
.dp-nav.is-open .dp-burger__bars i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.dp-nav.is-open .dp-burger__bars i:nth-child(2){opacity:0}
.dp-nav.is-open .dp-burger__bars i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
@media(max-width:760px){
  .dp-burger{display:inline-flex}
  .dp-nav__panel{display:none;position:fixed;left:0;right:0;top:var(--header-h);bottom:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:8px 0 30px;background:rgba(0,0,0,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:auto}
  .dp-nav.is-open .dp-nav__panel{display:flex}
  .dp-nav .dp-menu{flex-direction:column;align-items:stretch;gap:0}
  .dp-nav .dp-menu li a{display:block;padding:16px var(--gutter);border-top:1px solid var(--line);font-size:26px;opacity:1}
  .dp-nav .dp-menu li a::after{display:none}
  .dp-social--header{margin:22px var(--gutter) 0;padding:22px 0 0;border-left:0;border-top:1px solid var(--line);gap:10px}
  .dp-social--header li a{width:44px;height:44px;border-color:var(--line)}
  .dp-social--header svg{width:18px;height:18px}
  body.dp-menu-open{overflow:hidden}
}

/* Rayures : deux tuiles de tailles et graines différentes → la répétition ne se voit plus */
.dp-scratches{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1100' height='1100' fill='none' stroke-linecap='round'%3E%3Cpath d='M209 607L586 134' stroke='%23fff' stroke-opacity='0.12' stroke-width='1.0'/%3E%3Cpath d='M149 832L447 1157' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.9'/%3E%3Cpath d='M864 773L1082 264' stroke='%23fff' stroke-opacity='0.08' stroke-width='1.0'/%3E%3Cpath d='M1096 404L1537 792' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.5'/%3E%3Cpath d='M182 1155L586 1157' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.8'/%3E%3Cpath d='M202 338L648 513' stroke='%23fff' stroke-opacity='0.09' stroke-width='0.9'/%3E%3Cpath d='M644 35L722 -24' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.4'/%3E%3Cpath d='M15 941L71 875' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.4'/%3E%3Cpath d='M834 330L834 395' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.9'/%3E%3Cpath d='M1134 1163L1109 1410' stroke='%23fff' stroke-opacity='0.19' stroke-width='1.3'/%3E%3Cpath d='M391 499L375 817' stroke='%23fff' stroke-opacity='0.16' stroke-width='0.6'/%3E%3Cpath d='M291 1171L310 1241' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.0'/%3E%3Cpath d='M-22 716L51 723' stroke='%23fff' stroke-opacity='0.05' stroke-width='1.1'/%3E%3Cpath d='M1152 226L1201 739' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.7'/%3E%3Cpath d='M923 36L1089 457' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.7'/%3E%3Cpath d='M781 744L989 992' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.6'/%3E%3Cpath d='M338 745L521 914' stroke='%23fff' stroke-opacity='0.17' stroke-width='1.0'/%3E%3Cpath d='M1023 342L1258 353' stroke='%23fff' stroke-opacity='0.17' stroke-width='0.7'/%3E%3Cpath d='M350 442L577 180' stroke='%23fff' stroke-opacity='0.17' stroke-width='1.0'/%3E%3Cpath d='M563 627L657 1001' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.3'/%3E%3Cpath d='M1015 1162L1521 1481' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.0'/%3E%3Cpath d='M-83 869L9 870' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.5'/%3E%3Cpath d='M63 1164L342 904' stroke='%23fff' stroke-opacity='0.17' stroke-width='0.6'/%3E%3Cpath d='M929 1098L1019 1104' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.7'/%3E%3Cpath d='M585 450L631 525' stroke='%23fff' stroke-opacity='0.05' stroke-width='0.9'/%3E%3Cpath d='M-57 827L380 727' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.8'/%3E%3Cpath d='M148 327L325 -32' stroke='%23fff' stroke-opacity='0.05' stroke-width='0.9'/%3E%3Cpath d='M745 604L1247 484' stroke='%23fff' stroke-opacity='0.09' stroke-width='1.4'/%3E%3Cpath d='M444 -77L707 97' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.3'/%3E%3Cpath d='M387 1067L838 977' stroke='%23fff' stroke-opacity='0.16' stroke-width='1.0'/%3E%3Cpath d='M34 664L172 290' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.8'/%3E%3Cpath d='M965 344L1047 743' stroke='%23fff' stroke-opacity='0.17' stroke-width='0.4'/%3E%3Cpath d='M898 565L1220 345' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.6'/%3E%3Cpath d='M1 1198L-29 1477' stroke='%23fff' stroke-opacity='0.1' stroke-width='0.8'/%3E%3Cpath d='M444 8L556 296' stroke='%23fff' stroke-opacity='0.13' stroke-width='1.0'/%3E%3Cpath d='M1101 791L1602 702' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.9'/%3E%3Cpath d='M476 835L573 1448' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.9'/%3E%3Cpath d='M913 773L1071 959' stroke='%23fff' stroke-opacity='0.08' stroke-width='1.2'/%3E%3Cpath d='M161 641L641 620' stroke='%23fff' stroke-opacity='0.07' stroke-width='1.0'/%3E%3Cpath d='M1072 748L1196 431' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.6'/%3E%3Cpath d='M833 778L852 919' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.1'/%3E%3Cpath d='M-52 1114L10 999' stroke='%23fff' stroke-opacity='0.08' stroke-width='1.3'/%3E%3Cpath d='M-53 488L297 457' stroke='%23fff' stroke-opacity='0.07' stroke-width='1.0'/%3E%3Cpath d='M1142 408L1379 189' stroke='%23fff' stroke-opacity='0.12' stroke-width='0.7'/%3E%3Cpath d='M586 811L589 935' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.7'/%3E%3Cpath d='M636 583L950 902' stroke='%23fff' stroke-opacity='0.16' stroke-width='0.5'/%3E%3Cpath d='M382 1096L765 1182' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.9'/%3E%3Cpath d='M306 129L582 136' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.8'/%3E%3Cpath d='M1034 -45L946 576' stroke='%23fff' stroke-opacity='0.11' stroke-width='1.2'/%3E%3Cpath d='M-10 547L150 488' stroke='%23fff' stroke-opacity='0.07' stroke-width='0.8'/%3E%3Cpath d='M866 960L1117 1255' stroke='%23fff' stroke-opacity='0.07' stroke-width='0.6'/%3E%3Cpath d='M1029 380L1278 368' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.7'/%3E%3Cpath d='M547 588L759 1037' stroke='%23fff' stroke-opacity='0.04' stroke-width='1.2'/%3E%3Cpath d='M761 539L1156 160' stroke='%23fff' stroke-opacity='0.19' stroke-width='1.3'/%3E%3Cpath d='M45 268L105 223' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.9'/%3E%3Cpath d='M548 -75L894 -535' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.3'/%3E%3Cpath d='M831 862L1302 952' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.7'/%3E%3Cpath d='M923 431L1261 253' stroke='%23fff' stroke-opacity='0.11' stroke-width='1.0'/%3E%3Cpath d='M296 504L343 780' stroke='%23fff' stroke-opacity='0.1' stroke-width='0.9'/%3E%3Cpath d='M675 191L1049 120' stroke='%23fff' stroke-opacity='0.07' stroke-width='0.4'/%3E%3Cpath d='M660 555L745 598' stroke='%23fff' stroke-opacity='0.04' stroke-width='0.8'/%3E%3Cpath d='M430 814L587 947' stroke='%23fff' stroke-opacity='0.1' stroke-width='0.6'/%3E%3Cpath d='M333 51L863 -7' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.9'/%3E%3Cpath d='M629 -61L1254 -208' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.4'/%3E%3Cpath d='M-61 18L-19 193' stroke='%23fff' stroke-opacity='0.2' stroke-width='0.9'/%3E%3Cpath d='M945 1093L1057 1099' stroke='%23fff' stroke-opacity='0.09' stroke-width='1.2'/%3E%3Cpath d='M49 407L602 312' stroke='%23fff' stroke-opacity='0.13' stroke-width='1.3'/%3E%3Cpath d='M372 439L559 751' stroke='%23fff' stroke-opacity='0.16' stroke-width='1.3'/%3E%3Cpath d='M806 1134L1000 657' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.5'/%3E%3Cpath d='M208 997L81 1642' stroke='%23fff' stroke-opacity='0.04' stroke-width='0.6'/%3E%3Cpath d='M923 1090L1089 1209' stroke='%23fff' stroke-opacity='0.05' stroke-width='0.6'/%3E%3Cpath d='M738 661L1097 608' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.7'/%3E%3Cpath d='M1048 917L1443 499' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.3'/%3E%3Cpath d='M232 42L738 -63' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.7'/%3E%3Cpath d='M684 479L746 594' stroke='%23fff' stroke-opacity='0.04' stroke-width='0.7'/%3E%3Cpath d='M735 344L666 650' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.0'/%3E%3Cpath d='M178 356L382 508' stroke='%23fff' stroke-opacity='0.16' stroke-width='0.6'/%3E%3Cpath d='M184 1038L115 1663' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.3'/%3E%3Cpath d='M529 905L640 775' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.1'/%3E%3Cpath d='M283 575L365 566' stroke='%23fff' stroke-opacity='0.11' stroke-width='0.6'/%3E%3Cpath d='M917 86L1428 6' stroke='%23fff' stroke-opacity='0.15' stroke-width='1.4'/%3E%3Cpath d='M1174 1039L1417 1169' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.7'/%3E%3Cpath d='M502 1053L562 1019' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.5'/%3E%3Cpath d='M-73 1135L-172 1775' stroke='%23fff' stroke-opacity='0.05' stroke-width='0.6'/%3E%3Cpath d='M-83 462L-88 679' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.9'/%3E%3Cpath d='M840 341L1426 577' stroke='%23fff' stroke-opacity='0.16' stroke-width='1.2'/%3E%3Cpath d='M436 876L869 771' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.3'/%3E%3Cpath d='M508 765L623 971' stroke='%23fff' stroke-opacity='0.05' stroke-width='0.5'/%3E%3Cpath d='M982 32L1055 663' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.7'/%3E%3Cpath d='M579 435L800 320' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.5'/%3E%3Cpath d='M63 921L375 724' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.4'/%3E%3Ccircle cx='708' cy='215' r='1.5' fill='%23fff' fill-opacity='0.10'/%3E%3Ccircle cx='422' cy='911' r='0.8' fill='%23fff' fill-opacity='0.13'/%3E%3Ccircle cx='1045' cy='1038' r='0.8' fill='%23fff' fill-opacity='0.15'/%3E%3Ccircle cx='310' cy='145' r='0.7' fill='%23fff' fill-opacity='0.30'/%3E%3Ccircle cx='87' cy='253' r='0.6' fill='%23fff' fill-opacity='0.08'/%3E%3Ccircle cx='579' cy='817' r='1.4' fill='%23fff' fill-opacity='0.21'/%3E%3Ccircle cx='900' cy='6' r='0.7' fill='%23fff' fill-opacity='0.29'/%3E%3Ccircle cx='76' cy='294' r='1.0' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='601' cy='52' r='0.7' fill='%23fff' fill-opacity='0.29'/%3E%3Ccircle cx='159' cy='996' r='0.6' fill='%23fff' fill-opacity='0.30'/%3E%3Ccircle cx='742' cy='712' r='0.6' fill='%23fff' fill-opacity='0.07'/%3E%3Ccircle cx='835' cy='194' r='0.6' fill='%23fff' fill-opacity='0.26'/%3E%3Ccircle cx='962' cy='54' r='1.6' fill='%23fff' fill-opacity='0.19'/%3E%3Ccircle cx='421' cy='118' r='0.9' fill='%23fff' fill-opacity='0.30'/%3E%3Ccircle cx='309' cy='144' r='0.6' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='388' cy='1006' r='0.5' fill='%23fff' fill-opacity='0.11'/%3E%3Ccircle cx='1033' cy='1097' r='1.6' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='390' cy='1046' r='1.0' fill='%23fff' fill-opacity='0.23'/%3E%3Ccircle cx='345' cy='23' r='0.8' fill='%23fff' fill-opacity='0.24'/%3E%3Ccircle cx='860' cy='626' r='1.0' fill='%23fff' fill-opacity='0.19'/%3E%3Ccircle cx='487' cy='588' r='1.4' fill='%23fff' fill-opacity='0.11'/%3E%3Ccircle cx='654' cy='1026' r='1.4' fill='%23fff' fill-opacity='0.10'/%3E%3Ccircle cx='1060' cy='924' r='0.6' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='223' cy='58' r='1.6' fill='%23fff' fill-opacity='0.16'/%3E%3Ccircle cx='960' cy='126' r='0.4' fill='%23fff' fill-opacity='0.27'/%3E%3Ccircle cx='873' cy='1091' r='1.2' fill='%23fff' fill-opacity='0.19'/%3E%3Ccircle cx='843' cy='102' r='1.0' fill='%23fff' fill-opacity='0.17'/%3E%3Ccircle cx='161' cy='660' r='0.8' fill='%23fff' fill-opacity='0.18'/%3E%3Ccircle cx='411' cy='350' r='0.8' fill='%23fff' fill-opacity='0.20'/%3E%3Ccircle cx='1079' cy='1030' r='1.4' fill='%23fff' fill-opacity='0.26'/%3E%3Ccircle cx='315' cy='1074' r='0.7' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='551' cy='805' r='0.8' fill='%23fff' fill-opacity='0.21'/%3E%3Ccircle cx='311' cy='1064' r='0.9' fill='%23fff' fill-opacity='0.17'/%3E%3Ccircle cx='585' cy='962' r='1.6' fill='%23fff' fill-opacity='0.19'/%3E%3Ccircle cx='486' cy='680' r='0.5' fill='%23fff' fill-opacity='0.16'/%3E%3Ccircle cx='932' cy='855' r='0.5' fill='%23fff' fill-opacity='0.27'/%3E%3Ccircle cx='422' cy='1079' r='0.8' fill='%23fff' fill-opacity='0.11'/%3E%3Ccircle cx='604' cy='972' r='0.9' fill='%23fff' fill-opacity='0.27'/%3E%3Ccircle cx='783' cy='398' r='0.8' fill='%23fff' fill-opacity='0.18'/%3E%3Ccircle cx='439' cy='410' r='1.2' fill='%23fff' fill-opacity='0.27'/%3E%3Ccircle cx='643' cy='161' r='0.7' fill='%23fff' fill-opacity='0.15'/%3E%3Ccircle cx='676' cy='153' r='0.5' fill='%23fff' fill-opacity='0.14'/%3E%3Ccircle cx='311' cy='32' r='1.0' fill='%23fff' fill-opacity='0.28'/%3E%3Ccircle cx='588' cy='811' r='1.4' fill='%23fff' fill-opacity='0.26'/%3E%3Ccircle cx='1004' cy='486' r='1.2' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='968' cy='416' r='1.0' fill='%23fff' fill-opacity='0.27'/%3E%3Ccircle cx='315' cy='209' r='1.4' fill='%23fff' fill-opacity='0.20'/%3E%3Ccircle cx='93' cy='31' r='0.8' fill='%23fff' fill-opacity='0.06'/%3E%3Ccircle cx='916' cy='202' r='0.7' fill='%23fff' fill-opacity='0.15'/%3E%3Ccircle cx='563' cy='476' r='1.2' fill='%23fff' fill-opacity='0.22'/%3E%3Ccircle cx='480' cy='107' r='1.6' fill='%23fff' fill-opacity='0.23'/%3E%3Ccircle cx='92' cy='486' r='1.3' fill='%23fff' fill-opacity='0.30'/%3E%3Ccircle cx='73' cy='10' r='1.0' fill='%23fff' fill-opacity='0.16'/%3E%3Ccircle cx='984' cy='909' r='0.8' fill='%23fff' fill-opacity='0.16'/%3E%3Ccircle cx='641' cy='973' r='0.6' fill='%23fff' fill-opacity='0.15'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1700' height='1700' fill='none' stroke-linecap='round'%3E%3Cpath d='M1187 1391L1221 2012' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.5'/%3E%3Cpath d='M683 1739L1153 2511' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.5'/%3E%3Cpath d='M766 1546L1550 1578' stroke='%23fff' stroke-opacity='0.1' stroke-width='1.1'/%3E%3Cpath d='M468 1638L1198 1245' stroke='%23fff' stroke-opacity='0.1' stroke-width='0.5'/%3E%3Cpath d='M1090 99L1550 -220' stroke='%23fff' stroke-opacity='0.17' stroke-width='0.9'/%3E%3Cpath d='M714 930L883 927' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.7'/%3E%3Cpath d='M144 439L230 337' stroke='%23fff' stroke-opacity='0.09' stroke-width='1.4'/%3E%3Cpath d='M699 780L668 908' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.8'/%3E%3Cpath d='M1578 1480L2251 1591' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.4'/%3E%3Cpath d='M631 1140L621 1402' stroke='%23fff' stroke-opacity='0.12' stroke-width='0.5'/%3E%3Cpath d='M1372 1142L2246 1644' stroke='%23fff' stroke-opacity='0.17' stroke-width='1.2'/%3E%3Cpath d='M968 1262L1821 1275' stroke='%23fff' stroke-opacity='0.19' stroke-width='1.3'/%3E%3Cpath d='M325 -25L1037 -176' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.7'/%3E%3Cpath d='M255 1534L710 1572' stroke='%23fff' stroke-opacity='0.05' stroke-width='0.8'/%3E%3Cpath d='M502 597L844 868' stroke='%23fff' stroke-opacity='0.2' stroke-width='0.6'/%3E%3Cpath d='M1161 953L1777 530' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.7'/%3E%3Cpath d='M929 936L1109 900' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.7'/%3E%3Cpath d='M671 327L1602 148' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.8'/%3E%3Cpath d='M478 1008L865 1198' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.8'/%3E%3Cpath d='M1730 -6L2269 -619' stroke='%23fff' stroke-opacity='0.11' stroke-width='0.5'/%3E%3Cpath d='M915 197L1537 281' stroke='%23fff' stroke-opacity='0.13' stroke-width='1.4'/%3E%3Cpath d='M-96 360L211 305' stroke='%23fff' stroke-opacity='0.11' stroke-width='1.2'/%3E%3Cpath d='M165 228L121 524' stroke='%23fff' stroke-opacity='0.07' stroke-width='0.5'/%3E%3Cpath d='M1669 -51L2065 -957' stroke='%23fff' stroke-opacity='0.05' stroke-width='0.8'/%3E%3Cpath d='M834 608L1079 281' stroke='%23fff' stroke-opacity='0.07' stroke-width='1.0'/%3E%3Cpath d='M829 379L913 419' stroke='%23fff' stroke-opacity='0.07' stroke-width='1.2'/%3E%3Cpath d='M634 -66L910 -34' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.6'/%3E%3Cpath d='M217 628L842 899' stroke='%23fff' stroke-opacity='0.12' stroke-width='0.9'/%3E%3Cpath d='M293 38L789 482' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.6'/%3E%3Cpath d='M-77 1734L259 2372' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.9'/%3E%3Cpath d='M1217 670L1182 1228' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.0'/%3E%3Cpath d='M1619 756L1822 754' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.8'/%3E%3Cpath d='M309 1598L716 1522' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.0'/%3E%3Cpath d='M1768 -20L1648 494' stroke='%23fff' stroke-opacity='0.11' stroke-width='1.3'/%3E%3Cpath d='M143 437L1078 678' stroke='%23fff' stroke-opacity='0.15' stroke-width='1.2'/%3E%3Cpath d='M947 284L1314 -398' stroke='%23fff' stroke-opacity='0.2' stroke-width='0.8'/%3E%3Cpath d='M1278 1689L1376 1612' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.8'/%3E%3Cpath d='M591 273L974 276' stroke='%23fff' stroke-opacity='0.09' stroke-width='1.3'/%3E%3Cpath d='M853 708L1808 783' stroke='%23fff' stroke-opacity='0.09' stroke-width='0.4'/%3E%3Cpath d='M153 1003L1003 961' stroke='%23fff' stroke-opacity='0.08' stroke-width='1.2'/%3E%3Cpath d='M1180 499L2013 386' stroke='%23fff' stroke-opacity='0.04' stroke-width='1.3'/%3E%3Cpath d='M1323 780L1310 845' stroke='%23fff' stroke-opacity='0.11' stroke-width='0.7'/%3E%3Cpath d='M1473 1748L2224 1595' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.7'/%3E%3Cpath d='M467 1573L651 2382' stroke='%23fff' stroke-opacity='0.17' stroke-width='0.8'/%3E%3Cpath d='M1407 735L1761 951' stroke='%23fff' stroke-opacity='0.1' stroke-width='1.3'/%3E%3Cpath d='M1203 765L1644 710' stroke='%23fff' stroke-opacity='0.16' stroke-width='1.4'/%3E%3Cpath d='M1023 1338L1760 1692' stroke='%23fff' stroke-opacity='0.15' stroke-width='1.0'/%3E%3Cpath d='M637 1454L1147 1502' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.2'/%3E%3Cpath d='M-72 1427L489 1401' stroke='%23fff' stroke-opacity='0.05' stroke-width='1.1'/%3E%3Cpath d='M74 872L50 1836' stroke='%23fff' stroke-opacity='0.19' stroke-width='1.3'/%3E%3Cpath d='M357 1165L490 1174' stroke='%23fff' stroke-opacity='0.12' stroke-width='1.1'/%3E%3Cpath d='M1008 330L1632 627' stroke='%23fff' stroke-opacity='0.1' stroke-width='0.8'/%3E%3Cpath d='M735 256L1494 800' stroke='%23fff' stroke-opacity='0.09' stroke-width='1.2'/%3E%3Cpath d='M331 845L712 1268' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.9'/%3E%3Cpath d='M815 1496L880 1492' stroke='%23fff' stroke-opacity='0.07' stroke-width='1.1'/%3E%3Cpath d='M1540 589L1841 419' stroke='%23fff' stroke-opacity='0.09' stroke-width='1.3'/%3E%3Cpath d='M1539 1615L1579 1806' stroke='%23fff' stroke-opacity='0.08' stroke-width='1.1'/%3E%3Cpath d='M486 1315L924 923' stroke='%23fff' stroke-opacity='0.04' stroke-width='0.4'/%3E%3Cpath d='M1042 110L1767 36' stroke='%23fff' stroke-opacity='0.05' stroke-width='0.6'/%3E%3Cpath d='M1467 291L1536 982' stroke='%23fff' stroke-opacity='0.09' stroke-width='0.7'/%3E%3Cpath d='M1609 23L2257 -120' stroke='%23fff' stroke-opacity='0.07' stroke-width='0.9'/%3E%3Cpath d='M1067 -99L1057 105' stroke='%23fff' stroke-opacity='0.09' stroke-width='0.9'/%3E%3Cpath d='M1347 1578L1348 1936' stroke='%23fff' stroke-opacity='0.1' stroke-width='0.6'/%3E%3Cpath d='M876 322L852 549' stroke='%23fff' stroke-opacity='0.17' stroke-width='0.8'/%3E%3Cpath d='M643 674L782 990' stroke='%23fff' stroke-opacity='0.09' stroke-width='0.7'/%3E%3Cpath d='M1458 79L2077 150' stroke='%23fff' stroke-opacity='0.16' stroke-width='1.1'/%3E%3Cpath d='M-39 -22L-112 316' stroke='%23fff' stroke-opacity='0.07' stroke-width='1.3'/%3E%3Cpath d='M218 153L325 941' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.1'/%3E%3Cpath d='M1294 1291L1281 1353' stroke='%23fff' stroke-opacity='0.13' stroke-width='1.2'/%3E%3Cpath d='M1038 418L1600 286' stroke='%23fff' stroke-opacity='0.1' stroke-width='1.0'/%3E%3Cpath d='M306 1791L450 1529' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.4'/%3E%3Cpath d='M1477 817L2027 802' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.8'/%3E%3Cpath d='M920 921L1061 1047' stroke='%23fff' stroke-opacity='0.11' stroke-width='0.7'/%3E%3Cpath d='M1218 1796L1275 2324' stroke='%23fff' stroke-opacity='0.12' stroke-width='0.9'/%3E%3Cpath d='M947 1483L1179 1521' stroke='%23fff' stroke-opacity='0.19' stroke-width='1.3'/%3E%3Cpath d='M244 306L211 437' stroke='%23fff' stroke-opacity='0.09' stroke-width='0.8'/%3E%3Cpath d='M199 1323L826 1693' stroke='%23fff' stroke-opacity='0.13' stroke-width='1.4'/%3E%3Cpath d='M1735 906L2078 847' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.1'/%3E%3Cpath d='M107 181L155 125' stroke='%23fff' stroke-opacity='0.09' stroke-width='0.6'/%3E%3Cpath d='M365 472L877 939' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.6'/%3E%3Cpath d='M381 1796L802 1828' stroke='%23fff' stroke-opacity='0.05' stroke-width='1.2'/%3E%3Cpath d='M202 766L362 1112' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.9'/%3E%3Cpath d='M1583 1600L1743 1836' stroke='%23fff' stroke-opacity='0.17' stroke-width='1.2'/%3E%3Cpath d='M1350 985L2177 838' stroke='%23fff' stroke-opacity='0.09' stroke-width='1.4'/%3E%3Cpath d='M904 125L1795 49' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.9'/%3E%3Cpath d='M1075 692L1071 1240' stroke='%23fff' stroke-opacity='0.04' stroke-width='0.5'/%3E%3Cpath d='M419 780L438 1480' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.7'/%3E%3Cpath d='M140 1663L83 2212' stroke='%23fff' stroke-opacity='0.16' stroke-width='0.8'/%3E%3Cpath d='M829 1685L969 1807' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.6'/%3E%3Cpath d='M499 1055L723 601' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.2'/%3E%3Cpath d='M540 1169L715 1184' stroke='%23fff' stroke-opacity='0.07' stroke-width='1.3'/%3E%3Cpath d='M1132 1782L1235 1931' stroke='%23fff' stroke-opacity='0.1' stroke-width='0.7'/%3E%3Cpath d='M1585 211L1901 284' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.6'/%3E%3Cpath d='M322 490L197 1218' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.6'/%3E%3Cpath d='M1360 1264L1758 1537' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.8'/%3E%3Cpath d='M1348 1551L1410 1391' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.3'/%3E%3Cpath d='M1122 165L1596 -27' stroke='%23fff' stroke-opacity='0.12' stroke-width='0.9'/%3E%3Cpath d='M208 1238L56 1830' stroke='%23fff' stroke-opacity='0.16' stroke-width='1.2'/%3E%3Cpath d='M449 1479L526 2194' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.3'/%3E%3Cpath d='M1089 340L1519 295' stroke='%23fff' stroke-opacity='0.05' stroke-width='1.4'/%3E%3Cpath d='M938 303L1206 295' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.5'/%3E%3Cpath d='M574 413L712 321' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.9'/%3E%3Cpath d='M412 1538L722 1572' stroke='%23fff' stroke-opacity='0.13' stroke-width='1.2'/%3E%3Cpath d='M177 1769L620 1124' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.8'/%3E%3Cpath d='M1622 1048L1556 1871' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.9'/%3E%3Cpath d='M1764 548L2191 124' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.2'/%3E%3Cpath d='M1728 1692L2165 2579' stroke='%23fff' stroke-opacity='0.04' stroke-width='1.2'/%3E%3Cpath d='M847 1483L961 1751' stroke='%23fff' stroke-opacity='0.09' stroke-width='1.0'/%3E%3Cpath d='M1312 725L1484 1596' stroke='%23fff' stroke-opacity='0.11' stroke-width='1.4'/%3E%3Cpath d='M363 1252L437 1242' stroke='%23fff' stroke-opacity='0.11' stroke-width='0.8'/%3E%3Cpath d='M1091 154L1604 -254' stroke='%23fff' stroke-opacity='0.08' stroke-width='0.6'/%3E%3Cpath d='M489 1083L675 1104' stroke='%23fff' stroke-opacity='0.07' stroke-width='1.4'/%3E%3Cpath d='M1289 805L1410 882' stroke='%23fff' stroke-opacity='0.19' stroke-width='0.4'/%3E%3Cpath d='M1508 1006L1519 1313' stroke='%23fff' stroke-opacity='0.04' stroke-width='1.1'/%3E%3Cpath d='M481 1054L1162 928' stroke='%23fff' stroke-opacity='0.04' stroke-width='1.3'/%3E%3Cpath d='M983 355L1100 109' stroke='%23fff' stroke-opacity='0.1' stroke-width='1.3'/%3E%3Cpath d='M1378 1185L2116 1003' stroke='%23fff' stroke-opacity='0.05' stroke-width='1.0'/%3E%3Cpath d='M1456 1548L1825 1527' stroke='%23fff' stroke-opacity='0.17' stroke-width='1.0'/%3E%3Cpath d='M1316 422L1567 608' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.3'/%3E%3Cpath d='M485 1264L1012 942' stroke='%23fff' stroke-opacity='0.06' stroke-width='0.6'/%3E%3Cpath d='M1760 871L2275 850' stroke='%23fff' stroke-opacity='0.16' stroke-width='0.9'/%3E%3Cpath d='M1237 1225L1930 1204' stroke='%23fff' stroke-opacity='0.09' stroke-width='0.4'/%3E%3Cpath d='M1433 1317L1988 830' stroke='%23fff' stroke-opacity='0.14' stroke-width='1.3'/%3E%3Cpath d='M-29 311L82 785' stroke='%23fff' stroke-opacity='0.1' stroke-width='1.2'/%3E%3Cpath d='M-13 1547L165 1376' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.0'/%3E%3Cpath d='M1088 1100L1212 1003' stroke='%23fff' stroke-opacity='0.11' stroke-width='0.7'/%3E%3Cpath d='M1719 513L1862 509' stroke='%23fff' stroke-opacity='0.05' stroke-width='0.8'/%3E%3Cpath d='M1699 143L1839 179' stroke='%23fff' stroke-opacity='0.11' stroke-width='0.9'/%3E%3Cpath d='M1491 826L2084 1163' stroke='%23fff' stroke-opacity='0.18' stroke-width='1.2'/%3E%3Cpath d='M311 69L471 225' stroke='%23fff' stroke-opacity='0.18' stroke-width='0.9'/%3E%3Cpath d='M110 1755L-53 2451' stroke='%23fff' stroke-opacity='0.2' stroke-width='0.7'/%3E%3Cpath d='M172 49L741 -755' stroke='%23fff' stroke-opacity='0.07' stroke-width='1.3'/%3E%3Cpath d='M830 1233L995 943' stroke='%23fff' stroke-opacity='0.12' stroke-width='0.9'/%3E%3Cpath d='M936 1503L1133 1161' stroke='%23fff' stroke-opacity='0.04' stroke-width='1.4'/%3E%3Cpath d='M863 1307L1037 1269' stroke='%23fff' stroke-opacity='0.13' stroke-width='0.9'/%3E%3Cpath d='M692 243L933 -262' stroke='%23fff' stroke-opacity='0.05' stroke-width='1.3'/%3E%3Cpath d='M151 463L561 1357' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.1'/%3E%3Cpath d='M1153 567L1298 726' stroke='%23fff' stroke-opacity='0.06' stroke-width='1.1'/%3E%3Cpath d='M795 1656L1057 2264' stroke='%23fff' stroke-opacity='0.2' stroke-width='0.4'/%3E%3Cpath d='M1044 188L1605 -321' stroke='%23fff' stroke-opacity='0.05' stroke-width='1.1'/%3E%3Cpath d='M1359 847L1745 524' stroke='%23fff' stroke-opacity='0.08' stroke-width='1.0'/%3E%3Ccircle cx='1571' cy='1073' r='1.4' fill='%23fff' fill-opacity='0.17'/%3E%3Ccircle cx='1551' cy='1042' r='0.5' fill='%23fff' fill-opacity='0.22'/%3E%3Ccircle cx='185' cy='274' r='0.6' fill='%23fff' fill-opacity='0.29'/%3E%3Ccircle cx='735' cy='461' r='0.4' fill='%23fff' fill-opacity='0.23'/%3E%3Ccircle cx='511' cy='390' r='1.4' fill='%23fff' fill-opacity='0.30'/%3E%3Ccircle cx='749' cy='315' r='1.1' fill='%23fff' fill-opacity='0.08'/%3E%3Ccircle cx='565' cy='605' r='1.5' fill='%23fff' fill-opacity='0.23'/%3E%3Ccircle cx='114' cy='317' r='0.4' fill='%23fff' fill-opacity='0.26'/%3E%3Ccircle cx='476' cy='425' r='1.3' fill='%23fff' fill-opacity='0.25'/%3E%3Ccircle cx='1078' cy='1479' r='0.7' fill='%23fff' fill-opacity='0.14'/%3E%3Ccircle cx='1014' cy='436' r='0.9' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='1479' cy='95' r='0.8' fill='%23fff' fill-opacity='0.22'/%3E%3Ccircle cx='1690' cy='14' r='0.5' fill='%23fff' fill-opacity='0.11'/%3E%3Ccircle cx='1043' cy='723' r='1.2' fill='%23fff' fill-opacity='0.08'/%3E%3Ccircle cx='768' cy='1362' r='0.7' fill='%23fff' fill-opacity='0.29'/%3E%3Ccircle cx='519' cy='420' r='1.1' fill='%23fff' fill-opacity='0.28'/%3E%3Ccircle cx='1611' cy='69' r='0.5' fill='%23fff' fill-opacity='0.06'/%3E%3Ccircle cx='386' cy='1311' r='0.7' fill='%23fff' fill-opacity='0.14'/%3E%3Ccircle cx='1105' cy='96' r='1.3' fill='%23fff' fill-opacity='0.15'/%3E%3Ccircle cx='1391' cy='385' r='1.2' fill='%23fff' fill-opacity='0.11'/%3E%3Ccircle cx='1219' cy='1379' r='0.6' fill='%23fff' fill-opacity='0.21'/%3E%3Ccircle cx='180' cy='554' r='1.0' fill='%23fff' fill-opacity='0.16'/%3E%3Ccircle cx='675' cy='786' r='0.9' fill='%23fff' fill-opacity='0.19'/%3E%3Ccircle cx='401' cy='1626' r='1.3' fill='%23fff' fill-opacity='0.15'/%3E%3Ccircle cx='1361' cy='317' r='0.6' fill='%23fff' fill-opacity='0.11'/%3E%3Ccircle cx='1554' cy='1116' r='0.5' fill='%23fff' fill-opacity='0.10'/%3E%3Ccircle cx='1356' cy='1387' r='0.8' fill='%23fff' fill-opacity='0.22'/%3E%3Ccircle cx='330' cy='1466' r='0.8' fill='%23fff' fill-opacity='0.29'/%3E%3Ccircle cx='420' cy='1036' r='1.3' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='1026' cy='1679' r='1.4' fill='%23fff' fill-opacity='0.22'/%3E%3Ccircle cx='259' cy='1027' r='1.2' fill='%23fff' fill-opacity='0.23'/%3E%3Ccircle cx='556' cy='190' r='1.4' fill='%23fff' fill-opacity='0.10'/%3E%3Ccircle cx='956' cy='770' r='0.8' fill='%23fff' fill-opacity='0.13'/%3E%3Ccircle cx='1150' cy='423' r='1.5' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='1055' cy='1097' r='1.5' fill='%23fff' fill-opacity='0.20'/%3E%3Ccircle cx='41' cy='1343' r='1.3' fill='%23fff' fill-opacity='0.26'/%3E%3Ccircle cx='1662' cy='1098' r='0.6' fill='%23fff' fill-opacity='0.21'/%3E%3Ccircle cx='1686' cy='1667' r='0.8' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='777' cy='952' r='1.3' fill='%23fff' fill-opacity='0.18'/%3E%3Ccircle cx='431' cy='246' r='0.8' fill='%23fff' fill-opacity='0.25'/%3E%3Ccircle cx='68' cy='320' r='1.4' fill='%23fff' fill-opacity='0.19'/%3E%3Ccircle cx='342' cy='157' r='1.4' fill='%23fff' fill-opacity='0.28'/%3E%3Ccircle cx='1157' cy='1363' r='0.8' fill='%23fff' fill-opacity='0.28'/%3E%3Ccircle cx='317' cy='854' r='0.8' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='1090' cy='1435' r='1.2' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='215' cy='334' r='1.4' fill='%23fff' fill-opacity='0.13'/%3E%3Ccircle cx='335' cy='1651' r='1.6' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='769' cy='853' r='0.8' fill='%23fff' fill-opacity='0.29'/%3E%3Ccircle cx='82' cy='1432' r='1.3' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='605' cy='1681' r='0.5' fill='%23fff' fill-opacity='0.21'/%3E%3Ccircle cx='1625' cy='612' r='1.3' fill='%23fff' fill-opacity='0.17'/%3E%3Ccircle cx='464' cy='1357' r='1.4' fill='%23fff' fill-opacity='0.22'/%3E%3Ccircle cx='624' cy='244' r='1.1' fill='%23fff' fill-opacity='0.14'/%3E%3Ccircle cx='405' cy='914' r='0.7' fill='%23fff' fill-opacity='0.11'/%3E%3Ccircle cx='1426' cy='801' r='0.8' fill='%23fff' fill-opacity='0.23'/%3E%3Ccircle cx='1538' cy='1454' r='0.8' fill='%23fff' fill-opacity='0.20'/%3E%3Ccircle cx='1010' cy='1475' r='1.1' fill='%23fff' fill-opacity='0.20'/%3E%3Ccircle cx='842' cy='101' r='1.2' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='1551' cy='447' r='1.6' fill='%23fff' fill-opacity='0.19'/%3E%3Ccircle cx='53' cy='173' r='0.5' fill='%23fff' fill-opacity='0.16'/%3E%3Ccircle cx='1684' cy='658' r='0.6' fill='%23fff' fill-opacity='0.19'/%3E%3Ccircle cx='1689' cy='293' r='1.1' fill='%23fff' fill-opacity='0.09'/%3E%3Ccircle cx='940' cy='1641' r='1.0' fill='%23fff' fill-opacity='0.27'/%3E%3Ccircle cx='1176' cy='1698' r='0.5' fill='%23fff' fill-opacity='0.15'/%3E%3Ccircle cx='587' cy='1515' r='1.2' fill='%23fff' fill-opacity='0.08'/%3E%3Ccircle cx='1409' cy='5' r='1.4' fill='%23fff' fill-opacity='0.10'/%3E%3Ccircle cx='1440' cy='236' r='0.6' fill='%23fff' fill-opacity='0.10'/%3E%3Ccircle cx='548' cy='482' r='0.5' fill='%23fff' fill-opacity='0.14'/%3E%3Ccircle cx='342' cy='1686' r='0.9' fill='%23fff' fill-opacity='0.11'/%3E%3Ccircle cx='955' cy='1487' r='0.9' fill='%23fff' fill-opacity='0.26'/%3E%3Ccircle cx='793' cy='1055' r='1.3' fill='%23fff' fill-opacity='0.20'/%3E%3Ccircle cx='598' cy='1308' r='0.5' fill='%23fff' fill-opacity='0.10'/%3E%3Ccircle cx='1365' cy='22' r='1.2' fill='%23fff' fill-opacity='0.23'/%3E%3Ccircle cx='487' cy='737' r='0.6' fill='%23fff' fill-opacity='0.29'/%3E%3Ccircle cx='773' cy='1024' r='1.2' fill='%23fff' fill-opacity='0.25'/%3E%3Ccircle cx='1222' cy='1426' r='1.5' fill='%23fff' fill-opacity='0.24'/%3E%3Ccircle cx='1000' cy='484' r='0.9' fill='%23fff' fill-opacity='0.13'/%3E%3Ccircle cx='1599' cy='130' r='1.3' fill='%23fff' fill-opacity='0.11'/%3E%3Ccircle cx='848' cy='925' r='1.1' fill='%23fff' fill-opacity='0.18'/%3E%3Ccircle cx='310' cy='811' r='1.2' fill='%23fff' fill-opacity='0.27'/%3E%3Ccircle cx='1634' cy='648' r='0.7' fill='%23fff' fill-opacity='0.12'/%3E%3Ccircle cx='878' cy='806' r='1.1' fill='%23fff' fill-opacity='0.21'/%3E%3Ccircle cx='945' cy='1196' r='0.7' fill='%23fff' fill-opacity='0.10'/%3E%3Ccircle cx='840' cy='1419' r='0.5' fill='%23fff' fill-opacity='0.22'/%3E%3Ccircle cx='1194' cy='696' r='0.6' fill='%23fff' fill-opacity='0.08'/%3E%3C/svg%3E");background-size:1100px 1100px,1700px 1700px;background-position:0 0,700px 300px}

/* Flicker du logo : deux variantes (blink + glitch décalé) */
.dp-logo.is-flicker{animation:dp-flicker .75s steps(1,end)}
.dp-logo.is-flicker-b{animation:dp-flicker-b .55s steps(1,end)}
@keyframes dp-flicker-b{0%{transform:none;filter:none}12%{transform:translateX(-2px) skewX(-4deg);filter:brightness(1.8) contrast(1.3);opacity:.85}24%{transform:translateX(2px);opacity:.6}36%{transform:none;filter:none;opacity:1}62%{transform:translateX(1px) skewX(2deg);opacity:.75}70%{transform:none;opacity:1}100%{transform:none;filter:none;opacity:1}}

/* Effets de survol : 4 variantes, tirées au sort à chaque survol (jamais deux fois la même d'affilée) */
.dp-card,.dp-art,.dp-gallery__item{--fxdur:.55s}
/* fx1 : aberration chromatique (existant) */
.dp-card.is-fx1::before,.dp-art.is-fx1::before,.dp-gallery__item.is-fx1::before{animation:dp-ca-a var(--fxdur) steps(3,end)}
.dp-card.is-fx1::after,.dp-art.is-fx1::after,.dp-gallery__item.is-fx1::after{animation:dp-ca-b var(--fxdur) steps(3,end)}
.dp-card.is-fx1 .dp-card__title::before{animation:dp-ghost .5s steps(2,end)}
/* fx2 : déchirure — deux bandes de l'image décalées horizontalement */
.is-fx2::before,.is-fx2::after{mix-blend-mode:normal!important;filter:none!important}
.is-fx2::before{animation:dp-tear-a var(--fxdur) steps(4,end)}
.is-fx2::after{animation:dp-tear-b var(--fxdur) steps(4,end)}
@keyframes dp-tear-a{0%{opacity:1;clip-path:inset(22% 0 66% 0);transform:translateX(-8px)}30%{clip-path:inset(40% 0 52% 0);transform:translateX(9px)}60%{clip-path:inset(8% 0 84% 0);transform:translateX(-5px)}85%{opacity:1;clip-path:inset(70% 0 20% 0);transform:translateX(4px)}100%{opacity:0;transform:none}}
@keyframes dp-tear-b{0%{opacity:1;clip-path:inset(60% 0 30% 0);transform:translateX(7px)}30%{clip-path:inset(12% 0 80% 0);transform:translateX(-9px)}60%{clip-path:inset(48% 0 44% 0);transform:translateX(6px)}85%{opacity:1;clip-path:inset(30% 0 62% 0);transform:translateX(-3px)}100%{opacity:0;transform:none}}
/* fx3 : balayage lumineux + flash */
.is-fx3::before{background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.28) 48%,rgba(255,255,255,.06) 52%,transparent 100%)!important;filter:none!important;mix-blend-mode:screen!important;animation:dp-scan var(--fxdur) cubic-bezier(.3,.7,.3,1)}
.is-fx3::after{animation:none}
.is-fx3 img{animation:dp-flash .5s ease-out}
@keyframes dp-scan{0%{opacity:1;transform:translateY(-100%)}100%{opacity:.6;transform:translateY(100%)}}
@keyframes dp-flash{0%{filter:brightness(1)}20%{filter:brightness(1.35) contrast(1.05)}100%{filter:brightness(1)}}
/* fx4 : négatif instantané puis retour, léger recul */
.is-fx4 img{animation:dp-neg .5s steps(1,end)}
@keyframes dp-neg{0%{filter:none}10%{filter:invert(1) hue-rotate(180deg) contrast(1.1)}18%{filter:none}34%{filter:invert(1) hue-rotate(180deg);opacity:.85}42%{filter:none;opacity:1}100%{filter:none}}
.is-fx4::before,.is-fx4::after{animation:none}

/* Masonry JS (mode Artworks) : colonnes stables, rien ne bouge à l'insertion */
.dp-grid--art{display:flex;align-items:flex-start;gap:clamp(10px,1.6vw,22px);columns:auto}
.dp-grid--art .dp-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:clamp(10px,1.6vw,22px)}
.dp-grid--art .dp-art{margin:0}

.dp-about__side{top:calc(var(--header-h) + 24px)}

@media(prefers-reduced-motion:reduce){
  .is-fx2::before,.is-fx2::after,.is-fx3::before,.is-fx3 img,.is-fx4 img,.dp-logo.is-flicker-b{animation:none}
}


/* ==========================================================================
   v1.4 — About redesign
   ========================================================================== */
.dp-about2{padding:clamp(16px,3vh,30px) 0 70px}
.dp-about2__hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(28px,5vw,80px);align-items:center;margin-bottom:clamp(44px,7vh,80px)}
@media(max-width:900px){.dp-about2__hero{grid-template-columns:1fr}}
.dp-about2__kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.dp-about2__statement{font-family:var(--head);font-size:clamp(40px,6.4vw,92px);line-height:.92;letter-spacing:.02em;color:var(--white);margin:0 0 26px;font-weight:400}
.dp-about2__statement em{font-style:normal;color:var(--txt2)}
.dp-about2__intro p{font-size:clamp(16px,1.4vw,19px);line-height:1.65;max-width:56ch;margin:0 0 12px;color:var(--txt)}
.dp-about2__intro p:first-child{color:var(--white)}
.dp-about2__visual{position:relative}
.dp-about2__visual .dp-project__halo{inset:10% 8% 2% 8%;opacity:.35;background:radial-gradient(circle at 50% 45%,rgba(205,171,133,.9) 0%,rgba(90,74,58,.8) 55%,transparent 82%)}
.dp-about2__float{position:relative;z-index:1;will-change:transform;transform:translate3d(0,0,0);animation:dp-float 14s cubic-bezier(.45,0,.55,1) infinite}
.dp-about2__float img{display:block;width:100%;height:auto;border:1px solid var(--line);box-shadow:0 50px 90px -30px rgba(0,0,0,.95)}

.dp-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 clamp(44px,7vh,80px)}
@media(max-width:640px){.dp-facts{grid-template-columns:repeat(2,1fr)}}
.dp-fact{background:var(--bg);padding:22px 18px}
.dp-fact b{display:block;font-family:var(--head);font-size:clamp(34px,4.5vw,60px);line-height:1;color:var(--white);font-weight:400}
.dp-fact span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--txt2)}

.dp-sec{margin-bottom:clamp(44px,7vh,80px)}
.dp-sec__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.dp-sec__head h2{font-size:clamp(28px,4vw,48px);letter-spacing:.06em}
.dp-sec__head span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--txt2)}

.dp-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.dp-service{position:relative;background:var(--bg);padding:26px 20px 22px;transition:background .3s;animation:dp-in .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0) * 50ms)}
.dp-service:hover{background:#0c0c0c}
.dp-service i{display:block;font-family:var(--head);font-style:normal;font-size:12px;letter-spacing:.22em;color:var(--accent);margin-bottom:14px}
.dp-service b{display:block;font-family:var(--head);font-size:clamp(20px,2vw,26px);letter-spacing:.04em;line-height:1.05;color:var(--white);font-weight:400}
.dp-service::after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.dp-service:hover::after{transform:scaleX(1)}

.dp-clients{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px);align-items:start}
@media(max-width:900px){.dp-clients{grid-template-columns:1fr}}
.dp-cgroup h3{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--head);font-size:22px;letter-spacing:.1em;color:var(--white);padding-bottom:10px;border-bottom:1px solid var(--line);margin:0 0 6px;font-weight:400}
.dp-cgroup h3 span{font-family:var(--body);font-size:11px;letter-spacing:.18em;color:var(--accent)}
.dp-cgroup ul{list-style:none;margin:0;padding:0}
.dp-cgroup li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px;color:var(--txt);transition:color .2s,padding-left .25s}
.dp-cgroup li:hover{color:var(--white);padding-left:6px}
.dp-cgroup li em{font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt2);white-space:nowrap}

.dp-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:clamp(26px,4vw,44px);border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 60%)}
.dp-cta b{display:block;font-family:var(--head);font-size:clamp(28px,4vw,52px);letter-spacing:.04em;color:var(--white);font-weight:400;line-height:1}
.dp-cta span{display:block;color:var(--txt);margin-top:8px}

/* Formulaire : question de vérification (optionnelle) */
.dp-field--check label{color:var(--accent)}
.dp-field--check input{max-width:140px}

@media(prefers-reduced-motion:reduce){.dp-about2__float,.dp-service{animation:none}}
