/* CRIXEL Nuit — independent visual layer, no database migration. */
:root,.editor-styles-wrapper{
 --background:218 39% 6%;--foreground:210 33% 95%;
 --card:217 30% 10%;--card-foreground:210 33% 95%;
 --popover:217 30% 10%;--popover-foreground:210 33% 95%;
 --primary:210 33% 95%;--primary-foreground:218 39% 6%;
 --secondary:217 30% 10%;--secondary-foreground:210 33% 95%;
 --muted:217 25% 13%;--muted-foreground:214 18% 72%;
 --accent:217 25% 16%;--accent-foreground:210 33% 95%;
 --destructive:0 83% 70%;--destructive-foreground:218 39% 6%;
 --border:216 23% 23%;--input:216 23% 35%;--ring:22 100% 65%;
 --brand:22 100% 65%;--brand-foreground:218 39% 6%;--brand-soft:21 35% 13%;
 --ink:218 39% 5%;--ink-foreground:210 33% 95%;--radius:.75rem;
 --nuit-line:214 27% 33%;--nuit-cyan:187 58% 69%;
 color-scheme:dark;
}
body.crixel-site{background:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased}
.crixel-nuit ::selection{background:hsl(var(--brand)/.28);color:hsl(var(--foreground))}
.crixel-nuit header{background:hsl(var(--background)/.91);border-color:hsl(var(--border)/.75);box-shadow:0 8px 35px hsl(220 50% 2%/.25)}
.crixel-nuit header a img{filter:none}
.crixel-nuit header nav a:not([class*="bg-brand"]){color:hsl(var(--muted-foreground))}
.crixel-nuit header nav a:hover{color:hsl(var(--foreground))}
.crixel-nuit header nav a[class*="bg-brand"]{color:hsl(var(--brand-foreground))}
.crixel-nuit a[class*="bg-brand"],.crixel-nuit button[type="submit"],.crixel-nuit .crixel-web-button{box-shadow:0 4px 22px hsl(var(--brand)/.12);transition:background-color .2s,box-shadow .2s,transform .2s}
.crixel-nuit a[class*="bg-brand"]:hover,.crixel-nuit button[type="submit"]:hover,.crixel-nuit .crixel-web-button:hover{box-shadow:0 6px 30px hsl(var(--brand)/.23)}
.crixel-nuit :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid hsl(var(--brand));outline-offset:4px}
.crixel-nuit #haut{position:relative;isolation:isolate;background:radial-gradient(ellipse at 85% 32%,hsl(var(--brand)/.065),transparent 45%),radial-gradient(ellipse at 60% 15%,hsl(var(--nuit-cyan)/.045),transparent 55%),hsl(var(--background))}
.crixel-nuit #haut::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(hsl(var(--nuit-line)/.10) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--nuit-line)/.10) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 12%,#000 85%)}
.crixel-nuit #haut>.wp-block-group{position:relative;z-index:1}
.crixel-nuit #haut h1{font-weight:600;letter-spacing:-.045em;line-height:1.1;text-wrap:balance}
.crixel-nuit .crixel-web-accent{color:hsl(var(--brand));box-shadow:none}
.crixel-nuit #haut p strong{font-weight:600;color:hsl(var(--foreground))}
.crixel-nuit #haut p[class*="rounded-full"]{background:hsl(var(--card)/.85);border-color:hsl(var(--border));font-size:11px;letter-spacing:.12em}
.crixel-nuit #haut img{border:1px solid hsl(var(--foreground)/.12);box-shadow:0 28px 70px hsl(220 60% 2%/.55);filter:saturate(.88)}
.crixel-nuit #haut [aria-hidden="true"][class*="border-brand"]{border-width:1px;border-color:hsl(var(--brand)/.38)}
.crixel-nuit #haut [class*="-bottom-5"]{background:hsl(var(--card)/.96);border-color:hsl(var(--border));box-shadow:0 10px 35px hsl(220 60% 2%/.5)}
.crixel-nuit .crixel-nuit-network{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:hidden;color:hsl(var(--nuit-line)/.7)}
.crixel-nuit .crixel-nuit-network path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
.crixel-nuit .crixel-nuit-network circle{fill:hsl(var(--background));stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
.crixel-nuit .crixel-nuit-network .crixel-nuit-pulse{stroke:hsl(var(--brand)/.85);stroke-width:1.7;stroke-linecap:round;stroke-dasharray:3 97;stroke-dashoffset:8}
.crixel-nuit.crixel-network-ready .crixel-nuit-pulse{animation:crixel-network-flow 10s linear infinite}
.crixel-nuit .crixel-nuit-network .crixel-nuit-pulse:nth-of-type(4n){animation-delay:-5s;animation-duration:13s;stroke:hsl(var(--nuit-cyan)/.7)}
@keyframes crixel-network-flow{from{stroke-dashoffset:8}to{stroke-dashoffset:-92}}
.crixel-nuit-paused .crixel-nuit-pulse{animation-play-state:paused!important}
.crixel-nuit .crixel-nuit-motion{position:absolute;z-index:2;right:max(20px,calc((100% - 1088px)/2));bottom:12px;min-height:44px;display:none;align-items:center;gap:8px;color:hsl(var(--muted-foreground));font:500 11px/1.4 "DM Sans",sans-serif;padding:8px 0 8px 12px;background:transparent;cursor:pointer}
.crixel-nuit.crixel-network-ready .crixel-nuit-motion{display:inline-flex}
.crixel-nuit .crixel-nuit-motion::before{content:"";width:8px;height:8px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.crixel-nuit .crixel-nuit-motion[aria-pressed="true"]::before{border:0;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor}
.crixel-nuit #sites-web{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,hsl(218 35% 8%),hsl(217 30% 10%));border-color:hsl(var(--border)/.65)}
.crixel-nuit #sites-web>.crixel-web-wrap{position:relative;z-index:1}
.crixel-nuit #sites-web>.crixel-nuit-network{height:110px;inset:auto 0 0;opacity:.65}
.crixel-nuit .crixel-web-card{position:relative;background:linear-gradient(150deg,hsl(217 28% 13%/.75),hsl(218 32% 8%/.92));border:1px solid hsl(var(--border));border-radius:14px;box-shadow:0 15px 40px hsl(220 60% 2%/.15);transition:transform .25s,border-color .25s}
.crixel-nuit .crixel-web-card::before{content:"";position:absolute;inset:0 24px auto;height:1px;background:linear-gradient(90deg,transparent,hsl(var(--brand)/.6),transparent)}
.crixel-nuit .crixel-web-card h3{font-weight:500;font-size:22px;letter-spacing:-.035em;line-height:1.25}
.crixel-nuit .crixel-web-number{font:500 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}
.crixel-nuit :is(.crixel-web-section h1,.crixel-web-section h2){font-weight:500;text-wrap:balance;letter-spacing:-.04em}
.crixel-nuit .crixel-web-eyebrow{font-weight:500;letter-spacing:.15em}
.crixel-nuit #prestations>div>div[class*="grid"]{gap:18px}
.crixel-nuit #prestations article{height:100%;padding:26px;border:1px solid hsl(var(--border)/.8);border-radius:12px;background:linear-gradient(145deg,hsl(var(--card)/.75),hsl(var(--background)));transition:border-color .25s,transform .25s}
.crixel-nuit #prestations article>span{padding-top:3px;font:500 12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:hsl(var(--brand)/.9)}
.crixel-nuit #prestations article h3{font-weight:500;letter-spacing:-.02em}
.crixel-nuit #prestations article svg{color:hsl(var(--muted-foreground))}
.crixel-nuit #le-soir{background:radial-gradient(ellipse at 10% 55%,hsl(var(--brand)/.06),transparent 55%),hsl(var(--ink));border-top:1px solid hsl(var(--border)/.65);border-bottom:1px solid hsl(var(--border)/.65)}
.crixel-nuit #le-soir img{filter:saturate(.8);box-shadow:0 20px 60px hsl(220 60% 2%/.5)}
.crixel-nuit #apropos{padding-top:80px;padding-bottom:32px}
.crixel-nuit #zone [class*="bg-secondary"]{background:hsl(var(--card));border:1px solid hsl(var(--border))}
.crixel-nuit #tarifs{background:linear-gradient(180deg,hsl(var(--secondary)/.55),hsl(var(--background)));border-color:hsl(var(--border)/.65)}
.crixel-nuit #tarifs [class*="bg-card"]{background:hsl(var(--card)/.65);border-color:hsl(var(--border));box-shadow:0 18px 45px hsl(220 60% 2%/.15)}
.crixel-nuit .crixel-web-pricing{background:linear-gradient(120deg,hsl(var(--brand)/.04),hsl(var(--card)/.8));border-color:hsl(var(--brand)/.25)}
.crixel-nuit .crixel-contact{background:linear-gradient(145deg,hsl(217 28% 12%),hsl(var(--card)));box-shadow:0 25px 70px hsl(220 60% 2%/.28);border:1px solid hsl(var(--border))}
.crixel-nuit .crixel-contact :is(input:not([type="hidden"]),textarea,select){background:hsl(var(--background)/.65);border-color:hsl(var(--input));color:hsl(var(--foreground));min-height:48px}
.crixel-nuit .crixel-contact :is(input,textarea)::placeholder{color:hsl(214 16% 65%);opacity:1}
.crixel-nuit .crixel-contact input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px hsl(var(--card)) inset;-webkit-text-fill-color:hsl(var(--foreground));caret-color:hsl(var(--foreground))}
.crixel-nuit .crixel-contact label{color:hsl(var(--foreground))}
.crixel-nuit .crixel-notice{background:hsl(var(--brand-soft));color:hsl(var(--foreground))}
.crixel-nuit footer{background:hsl(218 39% 4%);border-top:1px solid hsl(var(--border)/.7)}
.crixel-nuit footer [class*="text-ink-foreground/"]{color:hsl(var(--muted-foreground))}
.crixel-nuit #le-soir [class*="text-ink-foreground/"]{color:hsl(var(--muted-foreground))}
.crixel-nuit .crixel-web-page{position:relative;background:radial-gradient(ellipse at 95% 20%,hsl(var(--brand)/.075),transparent 65%),hsl(var(--secondary)/.4);border-bottom:1px solid hsl(var(--border))}
.crixel-nuit .crixel-web-tint{background:hsl(var(--secondary)/.5)}
.crixel-nuit .crixel-web-faq details[open]{border-bottom-color:hsl(var(--brand)/.4)}
.crixel-nuit .crixel-web-faq summary{font-weight:500}
.crixel-nuit main :is(p,li,a){overflow-wrap:break-word}
.crixel-nuit .crixel-skip{background:hsl(var(--brand));color:hsl(var(--brand-foreground))}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.crixel-nuit .crixel-web-card:hover,.crixel-nuit #prestations article:hover{transform:translateY(-3px);border-color:hsl(var(--brand)/.48)}}
@media(max-width:767px){
 .crixel-nuit #haut>.wp-block-group{padding-top:32px;gap:44px;padding-bottom:82px}
 .crixel-nuit #haut h1{font-size:clamp(2.15rem,7.8vw,3rem)}
 .crixel-nuit #haut>.crixel-nuit-network{opacity:.45}
 .crixel-nuit #haut p[class*="text-lg"]{font-size:17px}
 .crixel-nuit #prestations article{padding:22px;gap:16px}
 .crixel-nuit #apropos{padding-top:56px}
 .crixel-nuit #sites-web>.crixel-nuit-network{height:65px;opacity:.45}
 .crixel-nuit .crixel-web-actions{gap:20px}
}
@media(prefers-reduced-motion:reduce){
 .crixel-nuit .crixel-nuit-pulse{animation:none!important;stroke-dasharray:none!important;opacity:.18}
 .crixel-nuit.crixel-network-ready .crixel-nuit-motion{display:none}
 .crixel-nuit :is(.crixel-web-card,#prestations article,a,button){transition:none!important;transform:none!important}
}
@media print{
 :root{--background:0 0% 100%;--foreground:0 0% 0%;--muted-foreground:0 0% 25%;--card:0 0% 100%;--secondary:0 0% 95%;--ink:0 0% 100%;--ink-foreground:0 0% 0%;--brand:16 85% 35%;--brand-foreground:0 0% 100%}
 .crixel-nuit .crixel-nuit-network,.crixel-nuit .crixel-nuit-motion{display:none}
}
