:root{
  --bg:#060b22;--bg2:#071333;--header-tail:#060b22;--panel:#07142f;--panel2:#0b1c3f;--text:#f8fbff;--muted:#aebde0;
  --cyan:#20dcff;--blue:#3478ff;--violet:#9558ff;--pink:#ff35bc;--magenta:#e821ff;--orange:#ff9729;--yellow:#ffd43b;
  --line:rgba(111,164,255,.17);--radius:26px;--shadow:0 28px 76px rgba(0,0,0,.34);--container:1200px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--header-tail);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3{margin-top:0;letter-spacing:-.025em}h1{font-size:clamp(2.1rem,4.2vw,4.4rem);line-height:1.01}h2{font-size:clamp(1.75rem,3vw,3rem);line-height:1.08}h3{font-size:1.22rem}p{color:var(--muted);line-height:1.72}.container{width:min(var(--container),calc(100% - 38px));margin-inline:auto}.section{position:relative;padding:86px 0}.section.compact{padding:58px 0}.eyebrow{margin:0 0 11px;color:var(--cyan);font-size:.71rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.lead{font-size:clamp(1rem,1.4vw,1.2rem);max-width:820px}/* Texte Shimmer IA — couleurs pilotées depuis Administration > Réglages */
.gradient-text,.ai-shimmer-text{background:linear-gradient(90deg,var(--ai-glow-1,#20dcff),var(--ai-glow-2,#9558ff),var(--ai-glow-3,#ff35bc),var(--ai-glow-4,#ff9729),var(--ai-glow-1,#20dcff));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:aiTextShimmer var(--ai-glow-speed,3s) linear infinite;font-weight:800}
@keyframes aiTextShimmer{0%{background-position:-200% center}100%{background-position:200% center}}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);gap:42px;align-items:end;margin-bottom:34px}.section-heading p{margin:0}.section-heading.centered{grid-template-columns:1fr;text-align:center;max-width:840px;margin:0 auto 38px}.section-heading.centered p{margin:auto;max-width:720px}

/* Header visuel + interface 100% CSS */
.visual-header{position:relative;overflow:hidden;isolation:isolate;background:var(--header-tail);--mx:50%;--my:45%}.hero-picture,.header-art{display:block;width:100%;height:auto}.visual-header::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:28%;background:linear-gradient(180deg,rgba(6,11,34,0) 0%,rgba(6,11,34,.34) 42%,rgba(6,11,34,.82) 72%,var(--header-tail) 100%);pointer-events:none}.visual-header::before{content:"";position:absolute;z-index:1;inset:0;background:radial-gradient(circle at var(--mx) var(--my),rgba(53,222,255,.08),transparent 23%);pointer-events:none}.desktop-main-menu{position:absolute;z-index:5;left:30%;right:22%;top:1.1%;height:6.8%;min-height:52px;display:flex;justify-content:center;align-items:center;gap:clamp(18px,2.15vw,42px)}.desktop-main-menu a{position:relative;text-decoration:none;font-weight:800;font-size:clamp(.78rem,.94vw,1rem);white-space:nowrap;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.85);transition:.2s ease}.desktop-main-menu a::after{content:"";position:absolute;left:50%;bottom:-10px;width:0;height:2px;border-radius:999px;transform:translateX(-50%);background:currentColor;box-shadow:0 0 12px currentColor;transition:width .2s}.desktop-main-menu a:hover,.desktop-main-menu a.active{transform:translateY(-1px)}.desktop-main-menu a:nth-child(1):hover,.desktop-main-menu a:nth-child(1).active{color:var(--cyan)}.desktop-main-menu a:nth-child(2):hover,.desktop-main-menu a:nth-child(2).active{color:#8f8dff}.desktop-main-menu a:nth-child(3):hover,.desktop-main-menu a:nth-child(3).active{color:var(--pink)}.desktop-main-menu a:nth-child(4):hover,.desktop-main-menu a:nth-child(4).active{color:var(--orange)}.desktop-main-menu a:nth-child(5):hover,.desktop-main-menu a:nth-child(5).active{color:var(--yellow)}.desktop-main-menu a:hover::after,.desktop-main-menu a.active::after{width:70%}.account-glow{position:absolute;z-index:7;right:3.7%;top:auto;bottom:4.4%;width:13.2%;min-width:150px;height:6.2%;min-height:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;color:#fff;font-weight:900;background:linear-gradient(90deg,#b92dff,#ff31b5 52%,#ff9c2b);border:1px solid rgba(255,255,255,.7);box-shadow:0 0 9px #ff36d0,0 0 28px rgba(255,45,195,.52),0 0 55px rgba(255,135,35,.25);transition:.2s}.account-glow:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.12);box-shadow:0 0 12px #fff,0 0 33px rgba(255,45,195,.75),0 0 62px rgba(255,135,35,.38)}.account-glow b{font-size:1.35em}.hero-css-actions{position:absolute;z-index:7;left:20.5%;bottom:4.4%;display:flex;gap:16px}.glow-btn{--g1:var(--pink);--g2:var(--orange);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border-radius:999px;border:1px solid rgba(255,255,255,.5);text-decoration:none;color:#fff;font-weight:900;font-size:.92rem;cursor:pointer;transition:.18s;overflow:visible}.glow-btn::before{content:"";position:absolute;z-index:-2;inset:-3px;border-radius:inherit;background:linear-gradient(95deg,var(--g1),#a34bff 42%,var(--g2));filter:blur(10px);opacity:.78;transition:.2s}.glow-btn::after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:linear-gradient(105deg,var(--g1),#b837ff 48%,var(--g2));box-shadow:inset 0 1px rgba(255,255,255,.5)}.glow-btn:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.1)}.glow-btn:hover::before{filter:blur(14px);opacity:1}.glow-btn-secondary{--g1:var(--cyan);--g2:#6572ff}.glow-btn-secondary::after{background:linear-gradient(180deg,rgba(5,20,59,.96),rgba(6,13,41,.96))}.glow-btn-secondary::before{background:linear-gradient(90deg,var(--cyan),#6a73ff,var(--pink));opacity:.63}.mobile-nav-shell,.mobile-hero-actions{display:none}

main{position:relative;background:var(--header-tail)}

/* Boutons partenaires — Glow IA piloté depuis l’administration */
.partner-glow{position:relative;isolation:isolate;min-width:190px;background:var(--ai-glow-inner,#0f172a);border:0;box-shadow:none;overflow:visible;backdrop-filter:blur(7px);animation:none}
.partner-glow::before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(90deg,var(--ai-glow-1,#20dcff),var(--ai-glow-2,#9558ff),var(--ai-glow-3,#ff35bc),var(--ai-glow-4,#ff9729),var(--ai-glow-1,#20dcff));background-size:300% 300%;animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;filter:blur(var(--ai-glow-blur,12px));z-index:-1;opacity:var(--ai-glow-opacity,.85);transition:filter .2s ease,opacity .2s ease}
.partner-glow::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:var(--ai-glow-border,3px);background:linear-gradient(90deg,var(--ai-glow-1,#20dcff),var(--ai-glow-2,#9558ff),var(--ai-glow-3,#ff35bc),var(--ai-glow-4,#ff9729),var(--ai-glow-1,#20dcff));background-size:300% 300%;animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}
.partner-glow span{position:relative;z-index:3;text-shadow:0 0 8px rgba(255,255,255,.35)}
.partner-glow:hover{transform:translateY(-3px) scale(1.035);filter:brightness(1.12)}
.partner-glow:hover::before{filter:blur(calc(var(--ai-glow-blur,12px) + 6px));opacity:1}
.partner-site,.partner-song{--g1:var(--ai-glow-1,#20dcff);--g2:var(--ai-glow-4,#ff9729)}
.admin-glow{animation:adminGlowPulse 3s ease-in-out infinite}
@keyframes aiGradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes adminGlowPulse{0%,100%{box-shadow:0 0 9px #ff36d0,0 0 28px rgba(255,45,195,.52),0 0 55px rgba(255,135,35,.25)}50%{box-shadow:0 0 13px #31dcff,0 0 34px rgba(255,45,195,.68),0 0 64px rgba(255,135,35,.34)}}

/* Accueil */
.intro-strip{padding-top:44px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}.intro-grid h1,.intro-grid .lead{margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.neon-card{--cardglow:var(--cyan);position:relative;overflow:hidden;padding:27px;border-radius:var(--radius);min-height:390px;border:1px solid var(--line);background:linear-gradient(155deg,rgba(12,30,72,.9),rgba(4,12,38,.96));box-shadow:var(--shadow)}.neon-card::before{content:"";position:absolute;right:-70px;top:-75px;width:180px;height:180px;border-radius:50%;background:var(--cardglow);filter:blur(55px);opacity:.18}.neon-card.cyan{--cardglow:var(--cyan)}.neon-card.pink{--cardglow:var(--pink)}.neon-card.orange{--cardglow:var(--orange)}.neon-card.violet{--cardglow:var(--violet)}.card-kicker{display:inline-block;color:#9ab1e3;font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:20px}.card-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;margin-bottom:24px;background:linear-gradient(145deg,rgba(35,219,255,.18),rgba(238,32,255,.2));border:1px solid rgba(255,255,255,.15);font-size:1.25rem;box-shadow:0 0 28px rgba(62,197,255,.14)}.neon-card p{margin-top:0}.neon-card ul{display:grid;gap:8px;list-style:none;padding:0;margin:18px 0 0;color:#dce7ff;font-size:.87rem}.neon-card li{position:relative;padding-left:18px}.neon-card li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--pink));box-shadow:0 0 9px var(--cyan)}.more-link{display:inline-flex;margin-top:19px;text-decoration:none;color:#fff;font-weight:850}.more-link span{color:var(--cyan);margin-left:8px}.studio-panel{display:grid;grid-template-columns:.86fr 1.14fr;gap:38px;align-items:center;padding:35px;border-radius:30px;border:1px solid rgba(103,169,255,.2);background:radial-gradient(circle at 78% 28%,rgba(255,48,189,.14),transparent 27%),linear-gradient(140deg,rgba(8,27,70,.95),rgba(3,10,34,.96));box-shadow:var(--shadow)}.creative-board{min-height:380px;border-radius:24px;padding:18px;background:#020817;border:1px solid rgba(67,205,255,.26);box-shadow:0 0 45px rgba(67,94,255,.16),0 28px 70px rgba(0,0,0,.35);display:grid;grid-template-columns:1fr 1fr;gap:12px}.board-screen{grid-column:1/-1;position:relative;border-radius:16px;overflow:hidden;min-height:205px;background:radial-gradient(circle at 70% 35%,rgba(255,60,187,.62),transparent 17%),linear-gradient(135deg,#123c8c,#6c1e86 55%,#ff6f53)}.board-screen::after{content:"PUB";position:absolute;left:20px;bottom:16px;font-size:3rem;font-weight:950;letter-spacing:-.06em;color:#fff;text-shadow:0 4px 25px rgba(0,0,0,.45)}.board-audio,.board-print{border-radius:15px;min-height:110px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(145deg,#0e2859,#0a1438);position:relative;overflow:hidden}.board-audio::before{content:"";position:absolute;left:12px;right:12px;top:50%;height:52px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,var(--cyan) 0 4px,transparent 4px 10px);mask:linear-gradient(0deg,transparent,black 18%,black 82%,transparent);opacity:.72}.board-print::before{content:"VOICE";position:absolute;inset:12px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#ff9b28,#ff2db3 56%,#8054ff);font-weight:950;letter-spacing:.15em}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.process-step{padding:23px;border-radius:21px;border:1px solid rgba(100,164,255,.16);background:rgba(6,18,51,.75)}.process-step span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,#236dff,#f82db4);font-weight:950;margin-bottom:18px}.process-step p{margin-bottom:0;font-size:.86rem}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{overflow:hidden;border-radius:24px;border:1px solid rgba(100,164,255,.16);background:linear-gradient(155deg,rgba(10,27,65,.9),rgba(4,12,37,.95));box-shadow:var(--shadow)}.project-visual{aspect-ratio:16/10;position:relative;overflow:hidden;background:linear-gradient(145deg,#103d8e,#8f227f 54%,#ff714d)}.project-visual img{width:100%;height:100%;object-fit:cover}.project-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:3rem;font-weight:950;color:rgba(255,255,255,.86);background:radial-gradient(circle at 65% 35%,rgba(255,255,255,.13),transparent 20%),repeating-linear-gradient(115deg,transparent 0 12%,rgba(255,255,255,.035) 12% 13%)}.project-body{padding:22px}.project-category{font-size:.67rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan)}.project-body h3{margin:7px 0}.project-body p{font-size:.86rem;margin-bottom:0}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.offer-card{position:relative;padding:30px;border-radius:25px;border:1px solid rgba(100,164,255,.16);background:linear-gradient(155deg,rgba(10,27,65,.92),rgba(4,11,36,.96));box-shadow:var(--shadow)}.offer-card.featured{border-color:rgba(255,63,191,.42);box-shadow:0 0 0 1px rgba(255,63,191,.12),0 30px 78px rgba(0,0,0,.35),0 0 55px rgba(255,43,181,.12)}.offer-badge{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(41,218,255,.08);border:1px solid rgba(41,218,255,.2);color:#dffaff;font-size:.69rem;font-weight:900}.offer-card.featured .offer-badge{background:rgba(255,48,188,.1);border-color:rgba(255,48,188,.25)}.offer-price{font-size:1.8rem;font-weight:950;margin:18px 0 4px}.offer-card ul{display:grid;gap:9px;list-style:none;padding:0;margin:20px 0;color:#dce7ff;font-size:.87rem}.offer-card li::before{content:"✓";color:var(--cyan);margin-right:9px}.cta-panel{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:34px;border-radius:28px;border:1px solid rgba(108,172,255,.19);background:radial-gradient(circle at 85% 40%,rgba(255,45,183,.16),transparent 25%),linear-gradient(135deg,rgba(9,27,70,.95),rgba(4,11,35,.95));box-shadow:var(--shadow)}.cta-panel p{max-width:760px;margin-bottom:0}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.trust-item{padding:19px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}.trust-item strong{display:block;margin-bottom:5px}.trust-item p{font-size:.8rem;margin:0}

/* Pages */
.page-hero{padding:74px 0 42px;background:linear-gradient(180deg,rgba(8,23,60,.55),transparent)}.page-hero.small{padding-bottom:20px}.page-hero-grid{display:grid;grid-template-columns:1fr .65fr;align-items:center;gap:35px}.page-hero .lead{margin-bottom:0}.feature-orb{justify-self:center;width:240px;height:240px;border-radius:50%;position:relative;background:radial-gradient(circle at 50% 50%,rgba(41,222,255,.22),rgba(255,48,188,.1) 45%,transparent 68%);border:1px solid rgba(107,183,255,.18);box-shadow:0 0 70px rgba(80,72,255,.17)}.feature-orb::before,.feature-orb::after{content:"";position:absolute;border-radius:24px;display:grid;place-items:center;font-weight:950;font-size:1.4rem;box-shadow:0 0 35px rgba(255,46,188,.32)}.feature-orb::before{content:"▶";width:86px;height:86px;left:28px;top:83px;background:linear-gradient(145deg,#196bff,#f62db5);transform:rotate(-9deg)}.feature-orb::after{content:"♪";width:76px;height:76px;right:23px;top:50px;background:linear-gradient(145deg,#ff9d28,#f62db5);transform:rotate(9deg)}.studio-workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.workflow-card{padding:25px;border-radius:22px;border:1px solid rgba(104,167,255,.16);background:rgba(6,18,51,.76)}.workflow-card span{color:var(--cyan);font-weight:950}.workflow-card p{margin-bottom:0;font-size:.86rem}.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:24px;align-items:start}.contact-note,.contact-form-card,.login-copy,.login-card,.legal-content{padding:29px;border-radius:25px;background:linear-gradient(150deg,rgba(9,27,66,.9),rgba(4,11,34,.94));border:1px solid rgba(98,164,255,.16)}.contact-note ul{display:grid;gap:10px;padding-left:20px;color:#dce6ff}.contact-form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.contact-form label,.login-card label{display:grid;gap:7px;color:#e8efff;font-size:.82rem;font-weight:800}.contact-form label small{color:#8297c6;font-weight:600}.contact-form input,.contact-form select,.contact-form textarea,.login-card input{width:100%;border-radius:14px;border:1px solid rgba(110,167,255,.2);background:rgba(2,10,34,.83);color:#fff;padding:13px 14px;outline:none;font:inherit}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,.login-card input:focus{border-color:rgba(36,221,255,.62);box-shadow:0 0 0 3px rgba(36,221,255,.08),0 0 20px rgba(36,221,255,.08)}.contact-form textarea{resize:vertical}.contact-form button,.login-card button{border:0}.hp{position:absolute!important;left:-9999px!important}.form-status{padding:13px 15px;border-radius:14px;margin-bottom:16px;font-size:.84rem}.form-status.success{background:rgba(36,220,154,.08);border:1px solid rgba(36,220,154,.27);color:#d9ffee}.form-status.error{background:rgba(255,67,116,.08);border:1px solid rgba(255,67,116,.27);color:#ffdce5}.form-status.info{background:rgba(37,221,255,.07);border:1px solid rgba(37,221,255,.2);color:#dffaff}.form-status ul{margin-bottom:0}.form-privacy{font-size:.75rem;margin:0}.form-privacy a{color:var(--cyan)}.login-shell{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:920px}.login-card{display:grid;gap:14px}.login-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.login-points span{padding:8px 10px;border-radius:999px;border:1px solid rgba(59,210,255,.18);color:#d9eaff;font-size:.76rem}.legal-content{max-width:940px;margin:auto}.legal-content h2{font-size:1.35rem;margin-top:32px;margin-bottom:7px}.legal-content p,.legal-content li{color:var(--muted);line-height:1.72}.legal-content a{color:var(--cyan)}.legal-warning{padding:15px 17px;margin-bottom:24px;border-radius:15px;background:rgba(255,158,37,.08);border:1px solid rgba(255,158,37,.25);color:#ffe8c9;font-size:.84rem}

/* Footer */
.site-footer{position:relative;margin-top:36px;padding:52px 0 27px;background:linear-gradient(180deg,rgba(2,7,26,.25),rgba(2,6,21,.98) 28%);overflow:hidden}.footer-glow{position:absolute;left:17%;right:17%;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),var(--pink),var(--orange),transparent);box-shadow:0 0 22px var(--pink)}.footer-main{display:grid;grid-template-columns:1.25fr .7fr .9fr;gap:38px}.footer-logo{width:245px;max-height:135px;object-fit:contain;object-position:left center;margin-bottom:8px}.footer-brand p{max-width:430px;font-size:.84rem;margin:0}.footer-title{text-transform:uppercase;letter-spacing:.13em;color:#88a1d6;font-weight:900;font-size:.69rem;margin:12px 0}.footer-links{display:grid;gap:8px}.footer-links a{text-decoration:none;color:#dce7ff;font-size:.85rem;transition:.16s}.footer-links a:hover{color:var(--cyan);text-shadow:0 0 10px rgba(37,221,255,.4)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:29px;padding-top:17px;border-top:1px solid rgba(255,255,255,.06)}.footer-bottom p{margin:0;font-size:.75rem}

@media(max-width:1180px){.desktop-main-menu{left:27%;right:20%;gap:18px}.account-glow{right:2.8%;width:15%;bottom:3.6%}.hero-css-actions{left:18%;bottom:3.6%}.section{padding:72px 0}.process-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.hero-picture{display:none}.visual-header{height:345px;background:url('../images/header-cree-ta-pub.webp') 44% center/auto 345px no-repeat,var(--bg)}.visual-header::after{height:35%}.desktop-main-menu,.account-glow,.hero-css-actions{display:none}.mobile-nav-shell{display:grid;position:sticky;top:0;z-index:50;grid-template-columns:auto 1fr auto;gap:9px;padding:9px 12px;background:rgba(6,11,34,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(89,173,255,.12)}.mobile-menu-toggle,.mobile-account{min-height:39px;border-radius:999px;border:1px solid rgba(93,177,255,.22);background:rgba(8,22,58,.86);color:#fff;padding:0 14px;display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:800}.mobile-account{grid-column:3;background:linear-gradient(90deg,#b22cff,#ff349c,#ff9b27);box-shadow:0 0 18px rgba(255,49,186,.2)}.burger{display:grid;gap:3px}.burger i{display:block;width:17px;height:2px;background:#fff;border-radius:2px}.mobile-nav{display:none;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:6px;padding:4px 0}.mobile-nav.open{display:grid}.mobile-nav a{padding:10px 12px;border-radius:12px;text-decoration:none;background:rgba(255,255,255,.035);color:#dce6ff;font-size:.82rem}.mobile-hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:10px 12px 0}.intro-grid,.studio-panel,.page-hero-grid,.contact-layout{grid-template-columns:1fr}.service-grid,.portfolio-grid,.offer-grid,.studio-workflow{grid-template-columns:1fr 1fr}.section-heading{grid-template-columns:1fr;gap:12px}.feature-orb{display:none}.trust-row{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1.1fr .8fr .8fr}}
@media(max-width:700px){.visual-header{height:270px;background-size:auto 290px;background-position:43% center}.container{width:min(100% - 22px,var(--container))}.section{padding:54px 0}.section.compact{padding:40px 0}.intro-strip{padding-top:28px}.intro-grid{gap:18px}h1{font-size:2.2rem}h2{font-size:1.78rem}.lead{font-size:.96rem}.service-grid,.portfolio-grid,.offer-grid,.studio-workflow,.process-grid,.trust-row{grid-template-columns:1fr}.neon-card{min-height:0}.studio-panel,.cta-panel{padding:22px;border-radius:22px}.creative-board{min-height:300px}.cta-panel{display:grid}.cta-panel .glow-btn{width:100%}.form-row{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-logo{width:190px}.mobile-hero-actions .glow-btn{flex:1 1 180px}.page-hero{padding-top:47px}.contact-note,.contact-form-card,.login-copy,.login-card,.legal-content{padding:21px}.footer-bottom{display:block}.footer-bottom p+p{margin-top:7px}}
@media(max-width:430px){.visual-header{height:230px;background-size:auto 250px;background-position:42% center}.mobile-nav{grid-template-columns:1fr}.mobile-account,.mobile-menu-toggle{font-size:.76rem}.mobile-hero-actions .glow-btn{flex-basis:100%}.section{padding:45px 0}.section.compact{padding:35px 0}h1{font-size:1.95rem}.site-footer{margin-top:18px}.footer-main{gap:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.desktop-main-menu a,.account-glow,.glow-btn{transition:none;animation:none}.partner-glow::before,.partner-glow::after,.gradient-text,.ai-shimmer-text{animation:none}.visual-header::before{display:none}}


/* =========================================================
   V1.5 — harmonisation globale du design + Glow IA + pages juridiques adaptées
   ========================================================= */

/* Continuité visuelle du header sur toutes les pages */
body{
  background:
    radial-gradient(circle at 10% 32%,rgba(32,220,255,.055),transparent 24%),
    radial-gradient(circle at 88% 58%,rgba(255,53,188,.055),transparent 24%),
    var(--header-tail);
}
main{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 14%,rgba(32,220,255,.055),transparent 24%),
    radial-gradient(circle at 88% 30%,rgba(149,88,255,.055),transparent 28%),
    radial-gradient(circle at 72% 76%,rgba(255,53,188,.045),transparent 25%),
    var(--header-tail);
}
main::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent,rgba(32,220,255,.045),transparent 37%,rgba(255,53,188,.035),transparent 72%),
    repeating-linear-gradient(120deg,transparent 0 130px,rgba(255,255,255,.008) 130px 131px);
  opacity:.8;
}
main > .section,
main > .page-hero{position:relative;z-index:1}

/* Les deux partenaires respirent davantage */
.hero-css-actions{gap:34px}
.mobile-hero-actions{gap:18px}

/* Même Glow IA sur tous les boutons publics */
.glow-btn,
.account-glow,
.mobile-account,
.mobile-menu-toggle{
  position:relative;
  isolation:isolate;
  overflow:visible;
  border:0;
  color:#fff;
  background:var(--ai-glow-inner,#0f172a);
  box-shadow:none;
}
.glow-btn::before,
.account-glow::before,
.mobile-account::before,
.mobile-menu-toggle::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(
    90deg,
    var(--ai-glow-1,#20dcff),
    var(--ai-glow-2,#9558ff),
    var(--ai-glow-3,#ff35bc),
    var(--ai-glow-4,#ff9729),
    var(--ai-glow-1,#20dcff)
  );
  background-size:300% 300%;
  animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;
  filter:blur(var(--ai-glow-blur,12px));
  opacity:var(--ai-glow-opacity,.85);
  z-index:-2;
  pointer-events:none;
  transition:filter .22s ease,opacity .22s ease;
}
.glow-btn::after,
.account-glow::after,
.mobile-account::after,
.mobile-menu-toggle::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:var(--ai-glow-border,3px);
  background:linear-gradient(
    90deg,
    var(--ai-glow-1,#20dcff),
    var(--ai-glow-2,#9558ff),
    var(--ai-glow-3,#ff35bc),
    var(--ai-glow-4,#ff9729),
    var(--ai-glow-1,#20dcff)
  );
  background-size:300% 300%;
  animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  z-index:3;
  pointer-events:none;
}
.glow-btn:hover,
.account-glow:hover,
.mobile-account:hover,
.mobile-menu-toggle:hover{
  transform:translateY(-3px) scale(1.025);
  filter:brightness(1.12);
}
.glow-btn:hover::before,
.account-glow:hover::before,
.mobile-account:hover::before,
.mobile-menu-toggle:hover::before{
  filter:blur(calc(var(--ai-glow-blur,12px) + 6px));
  opacity:1;
}
.glow-btn:focus-visible,
.account-glow:focus-visible,
.mobile-account:focus-visible,
.mobile-menu-toggle:focus-visible{
  outline:2px solid #fff;
  outline-offset:6px;
}
.glow-btn-primary,
.glow-btn-secondary{
  background:var(--ai-glow-inner,#0f172a);
}
.admin-glow{animation:none}
.partner-glow{min-width:196px}

/* Pages internes : même langage visuel que l'accueil */
.page-hero{
  padding:54px 0 38px;
  overflow:hidden;
  background:transparent;
}
.page-hero::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-180px;
  top:-280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,53,188,.11),rgba(149,88,255,.07) 34%,transparent 70%);
  filter:blur(3px);
  pointer-events:none;
}
.page-hero::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(1200px,calc(100% - 38px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--ai-glow-1,#20dcff),var(--ai-glow-2,#9558ff),var(--ai-glow-3,#ff35bc),transparent);
  opacity:.32;
}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{
  max-width:1050px;
  text-shadow:0 10px 34px rgba(0,0,0,.32),0 0 34px rgba(104,88,255,.06);
}
.page-hero .eyebrow{color:var(--ai-glow-1,#20dcff)}
.page-hero .lead{max-width:900px}
.page-hero.small{padding-top:48px;padding-bottom:34px}

/* Cartes unifiées */
.neon-card,
.workflow-card,
.offer-card,
.project-card,
.contact-note,
.contact-form-card,
.login-copy,
.login-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(110,171,255,.19);
  background:
    radial-gradient(circle at 90% 5%,rgba(255,53,188,.105),transparent 28%),
    radial-gradient(circle at 5% 95%,rgba(32,220,255,.07),transparent 25%),
    linear-gradient(150deg,rgba(11,30,73,.92),rgba(4,11,35,.97));
  box-shadow:0 28px 76px rgba(0,0,0,.34),0 0 50px rgba(92,75,255,.045);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.neon-card:hover,
.workflow-card:hover,
.offer-card:hover,
.project-card:hover{
  transform:translateY(-4px);
  border-color:rgba(149,88,255,.38);
  box-shadow:0 34px 84px rgba(0,0,0,.4),0 0 55px rgba(149,88,255,.095);
}
.workflow-card span,
.project-category,
.card-kicker{
  color:var(--ai-glow-1,#20dcff);
}
.offer-card.featured{
  border-color:rgba(255,53,188,.42);
  box-shadow:0 30px 82px rgba(0,0,0,.38),0 0 60px rgba(255,53,188,.13);
}

/* Panneaux de contenu et pages légales */
.legal-content{
  position:relative;
  overflow:hidden;
  max-width:1040px;
  padding:clamp(24px,4vw,46px);
  border:1px solid rgba(107,173,255,.2);
  background:
    radial-gradient(circle at 100% 0,rgba(255,53,188,.09),transparent 23%),
    radial-gradient(circle at 0 100%,rgba(32,220,255,.06),transparent 24%),
    linear-gradient(150deg,rgba(9,27,66,.93),rgba(4,11,34,.97));
  box-shadow:var(--shadow),0 0 55px rgba(89,74,255,.05);
}
.legal-content::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--ai-glow-1,#20dcff),var(--ai-glow-2,#9558ff),var(--ai-glow-3,#ff35bc),var(--ai-glow-4,#ff9729));
  opacity:.88;
}
.legal-content h2{
  position:relative;
  padding-bottom:10px;
  color:#fff;
}
.legal-content h2::after{
  content:"";
  display:block;
  width:72px;
  height:3px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ai-glow-1,#20dcff),var(--ai-glow-3,#ff35bc),var(--ai-glow-4,#ff9729));
  box-shadow:0 0 15px rgba(255,53,188,.22);
}
.legal-content strong{color:#fff}

/* Accents cohérents sur les formulaires */
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus,
.login-card input:focus{
  border-color:var(--ai-glow-1,#20dcff);
  box-shadow:0 0 0 3px rgba(32,220,255,.08),0 0 28px rgba(149,88,255,.12);
}

/* FAQ plus complète */
.faq-section{padding-top:70px}
.faq-grid{
  width:min(980px,100%);
  margin:0 auto;
  display:grid;
  gap:14px;
}
.faq-item{
  position:relative;
  border-radius:20px;
  border:1px solid rgba(104,169,255,.18);
  background:
    radial-gradient(circle at 96% 0,rgba(255,53,188,.08),transparent 26%),
    linear-gradient(145deg,rgba(9,26,64,.88),rgba(4,11,35,.95));
  box-shadow:0 18px 48px rgba(0,0,0,.22);
  overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.faq-item[open]{
  border-color:rgba(149,88,255,.42);
  box-shadow:0 22px 60px rgba(0,0,0,.28),0 0 34px rgba(149,88,255,.08);
}
.faq-item:hover{transform:translateY(-1px)}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:20px 22px;
  color:#fff;
  font-weight:850;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary b{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:11px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--ai-glow-2,#9558ff),var(--ai-glow-3,#ff35bc));
  box-shadow:0 0 22px rgba(255,53,188,.16);
  transition:transform .2s ease;
}
.faq-item[open] summary b{transform:rotate(45deg)}
.faq-answer{
  padding:0 22px 20px;
  border-top:1px solid rgba(255,255,255,.055);
}
.faq-answer p{margin:16px 0 0}

/* Le Studio et les CTA reprennent le relief de l'accueil */
.studio-panel,
.cta-panel{
  border-color:rgba(105,174,255,.22);
  background:
    radial-gradient(circle at 86% 18%,rgba(255,53,188,.14),transparent 28%),
    radial-gradient(circle at 8% 90%,rgba(32,220,255,.07),transparent 22%),
    linear-gradient(140deg,rgba(8,27,70,.96),rgba(3,10,34,.98));
}
.section:nth-of-type(even)::before{
  content:"";
  position:absolute;
  inset:10% -18%;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 80% 50%,rgba(149,88,255,.035),transparent 26%);
}

/* Boutons de menu mobile : garder le halo maîtrisé */
.mobile-menu-toggle::before,
.mobile-account::before{filter:blur(7px);opacity:.58}
.mobile-menu-toggle::after,
.mobile-account::after{padding:2px}

/* Accessibilité / petit écran */
@media(max-width:980px){
  .hero-css-actions{gap:22px}
  .mobile-hero-actions{gap:16px;padding-top:14px}
}
@media(max-width:700px){
  .page-hero{padding-top:42px;padding-bottom:28px}
  .faq-section{padding-top:48px}
  .faq-item summary{padding:17px 17px}
  .faq-answer{padding:0 17px 17px}
  .hero-css-actions{gap:18px}
}
@media(prefers-reduced-motion:reduce){
  .glow-btn::before,.glow-btn::after,
  .account-glow::before,.account-glow::after,
  .mobile-account::before,.mobile-account::after,
  .mobile-menu-toggle::before,.mobile-menu-toggle::after,
  .partner-glow::before,.partner-glow::after,
  .gradient-text,.ai-shimmer-text{
    animation:none!important;
  }
  .neon-card,.workflow-card,.offer-card,.project-card,.faq-item{transition:none}
}

/* =========================================================
   V1.6 — fusion header/footer, FAQ dédiée, repositionnement espace client,
   pages légales premium et séparateurs Glow IA
   ========================================================= */

/* Fusion visuelle header > page */
.visual-header{
  background:linear-gradient(180deg,#06102c 0%, #07122f 38%, var(--header-tail) 100%);
}
.visual-header::after{
  height:40%;
  background:linear-gradient(180deg,rgba(6,11,34,0) 0%,rgba(6,11,34,.42) 36%,rgba(6,11,34,.9) 68%,var(--header-tail) 100%);
}
main{
  margin-top:-26px;
  padding-top:26px;
}
main::after{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:74px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(6,11,34,.08),rgba(6,11,34,0));
}

/* Barre d'actions du header */
.hero-bottom-row{
  position:absolute;
  z-index:7;
  left:0;
  right:0;
  bottom:4.4%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:0 6.5%;
}
.hero-bottom-row-solo{justify-content:flex-end}
.hero-css-actions{
  position:static;
  display:flex;
  align-items:center;
  gap:34px;
  margin:0;
}
.account-glow{
  position:relative;
  right:auto;
  top:auto;
  bottom:auto;
  width:auto;
  min-width:190px;
  height:auto;
  min-height:52px;
  padding:0 26px;
  border-radius:999px;
  background:var(--ai-glow-inner,#0f172a);
  border:0;
  box-shadow:none;
}
.account-glow span,.mobile-account,.mobile-menu-toggle,.glow-btn{position:relative;z-index:4}
.account-glow b{font-size:1.1em;position:relative;z-index:4}

/* Tous les boutons publics : Glow IA homogène */
.account-glow::before,.account-glow::after{content:""}
.glow-btn,.account-glow,.mobile-account,.mobile-menu-toggle{
  position:relative;
  isolation:isolate;
  overflow:visible;
  background:var(--ai-glow-inner,#0f172a) !important;
  border:0 !important;
  box-shadow:none !important;
}
.glow-btn::before,.account-glow::before,.mobile-account::before,.mobile-menu-toggle::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--ai-glow-1,#20dcff),var(--ai-glow-2,#9558ff),var(--ai-glow-3,#ff35bc),var(--ai-glow-4,#ff9729),var(--ai-glow-1,#20dcff));
  background-size:300% 300%;
  animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;
  filter:blur(var(--ai-glow-blur,12px));
  opacity:var(--ai-glow-opacity,.85);
  z-index:-2;
  transition:filter .22s ease,opacity .22s ease,transform .22s ease;
}
.glow-btn::after,.account-glow::after,.mobile-account::after,.mobile-menu-toggle::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:var(--ai-glow-border,3px);
  background:linear-gradient(90deg,var(--ai-glow-1,#20dcff),var(--ai-glow-2,#9558ff),var(--ai-glow-3,#ff35bc),var(--ai-glow-4,#ff9729),var(--ai-glow-1,#20dcff));
  background-size:300% 300%;
  animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:3;
}
.glow-btn:hover,.account-glow:hover,.mobile-account:hover,.mobile-menu-toggle:hover{transform:translateY(-3px) scale(1.025);filter:brightness(1.12)}
.glow-btn:hover::before,.account-glow:hover::before,.mobile-account:hover::before,.mobile-menu-toggle:hover::before{filter:blur(calc(var(--ai-glow-blur,12px) + 6px));opacity:1}
.partner-glow{min-width:198px}
.mobile-account,.mobile-menu-toggle{border-radius:999px}

/* FAQ plus sur l'accueil */
.faq-page-section{padding-top:24px}
.faq-grid-large{width:min(980px,100%)}

/* Footer plus fondu et plus premium */
.site-footer{
  position:relative;
  margin-top:-18px;
  padding:88px 0 27px;
  background:
    radial-gradient(circle at 16% 0,rgba(32,220,255,.05),transparent 18%),
    radial-gradient(circle at 82% 10%,rgba(255,53,188,.06),transparent 22%),
    linear-gradient(180deg,rgba(6,11,34,0) 0%,rgba(4,9,28,.55) 14%,rgba(2,6,21,.98) 36%);
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:96px;
  background:linear-gradient(180deg,rgba(6,11,34,0),rgba(6,11,34,.45) 48%,rgba(4,8,23,.92));
  pointer-events:none;
}
.footer-glow{
  left:10%;
  right:10%;
  top:38px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--ai-glow-1,#20dcff),var(--ai-glow-2,#9558ff),var(--ai-glow-3,#ff35bc),var(--ai-glow-4,#ff9729),transparent);
  box-shadow:0 0 20px rgba(255,53,188,.22);
  opacity:.68;
}
.footer-main,.footer-bottom{position:relative;z-index:1}
.footer-main{padding-top:20px}
.footer-links a:hover{color:var(--ai-glow-1,#20dcff)}
.footer-bottom{
  align-items:center;
  border-top:1px solid rgba(255,255,255,.045);
}
.footer-bottom a{color:#fff;text-decoration:none;font-weight:800}
.footer-bottom a:hover{color:var(--ai-glow-1,#20dcff);text-shadow:0 0 12px rgba(32,220,255,.45)}

/* Pages légales et politique : nouvelle mise en page */
.legal-hero .lead{max-width:860px}
.legal-page-wrap{padding-top:26px}
.legal-shell{max-width:1060px;margin:0 auto}
.legal-article-card{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:24px;
  padding:28px 30px;
  border-radius:28px;
  border:1px solid rgba(111,171,255,.18);
  background:
    radial-gradient(circle at 100% 0,rgba(255,53,188,.07),transparent 22%),
    radial-gradient(circle at 0 100%,rgba(32,220,255,.055),transparent 22%),
    linear-gradient(145deg,rgba(9,26,64,.93),rgba(4,11,34,.97));
  box-shadow:0 30px 78px rgba(0,0,0,.28),0 0 55px rgba(90,78,255,.05);
}
.legal-article-number{
  width:64px;height:64px;border-radius:20px;display:grid;place-items:center;
  color:#fff;font-weight:900;font-size:1.05rem;
  background:linear-gradient(135deg,rgba(32,220,255,.16),rgba(255,53,188,.22));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 0 28px rgba(149,88,255,.12);
}
.legal-article-body h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(1.2rem,2vw,1.55rem);
  line-height:1.18;
}
.legal-article-body p{
  margin:0 0 16px;
  color:#d8e3ff;
  font-size:1rem;
  line-height:1.82;
}
.legal-article-body ul{margin:0;padding-left:18px;display:grid;gap:10px;color:#d8e3ff}
.legal-article-body li{line-height:1.72}
.legal-separator{
  display:flex;
  justify-content:center;
  padding:18px 0 22px;
}
.legal-separator span{
  position:relative;
  display:block;
  width:min(170px,42vw);
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ai-glow-1,#20dcff),var(--ai-glow-2,#9558ff),var(--ai-glow-3,#ff35bc),var(--ai-glow-4,#ff9729));
  box-shadow:0 0 18px rgba(149,88,255,.24),0 0 34px rgba(255,53,188,.16);
}
.legal-separator span::before{
  content:"";
  position:absolute;
  inset:-7px -18px;
  border-radius:999px;
  background:inherit;
  filter:blur(16px);
  opacity:.58;
}

/* Responsive ajustements */
@media(max-width:980px){
  .desktop-main-menu,.hero-bottom-row{display:none}
}
@media(max-width:700px){
  main{margin-top:-16px;padding-top:16px}
  .legal-article-card{grid-template-columns:1fr;gap:16px;padding:22px}
  .legal-article-number{width:54px;height:54px;border-radius:16px}
  .site-footer{padding-top:72px}
}

/* V1.7 — Glow IA global et boutons partenaires sur toutes les pages */
.glow-btn,
.account-glow,
.mobile-account,
.mobile-menu-toggle{
  --public-glow-1:var(--ai-glow-1,#20dcff);
  --public-glow-2:var(--ai-glow-2,#9558ff);
  --public-glow-3:var(--ai-glow-3,#ff35bc);
  --public-glow-4:var(--ai-glow-4,#ff9729);
}
.glow-btn::before,
.account-glow::before,
.mobile-account::before,
.mobile-menu-toggle::before,
.glow-btn::after,
.account-glow::after,
.mobile-account::after,
.mobile-menu-toggle::after{
  background-image:linear-gradient(90deg,var(--public-glow-1),var(--public-glow-2),var(--public-glow-3),var(--public-glow-4),var(--public-glow-1));
}

/* =========================================================
   V1.8 — passe visuelle complète + catalogue/tarifs/devis
   Socle commun à toutes les pages publiques
   ========================================================= */
:root{
  --page-bg:#060b22;
  --page-panel:rgba(8,23,58,.92);
  --page-panel-deep:rgba(4,12,37,.97);
  --page-border:rgba(111,171,255,.18);
  --page-text-soft:#d8e3ff;
  --section-space:58px;
}

body{
  background:
    radial-gradient(circle at 8% 18%,rgba(32,220,255,.035),transparent 24%),
    radial-gradient(circle at 92% 40%,rgba(149,88,255,.04),transparent 28%),
    var(--page-bg);
}
main{
  margin-top:-42px;
  padding-top:42px;
  background:transparent;
  isolation:isolate;
}
main::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:150px;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,var(--header-tail) 0%,rgba(6,11,34,.96) 34%,rgba(6,11,34,0) 100%);
}
main::after{display:none}

.section{padding:var(--section-space) 0}
.section.compact{padding:38px 0}
.section + .section{margin-top:0}
.section-heading{margin-bottom:28px;gap:36px}
.section-heading h2{margin-bottom:8px}
.section-heading p{max-width:720px}

/* Header : disparition de la démarcation + navigation compacte */
.visual-header{
  background:var(--header-tail);
  overflow:hidden;
}
.visual-header::after{
  height:52%;
  bottom:-1px;
  background:linear-gradient(180deg,
    rgba(6,11,34,0) 0%,
    rgba(6,11,34,.12) 20%,
    rgba(6,11,34,.46) 48%,
    rgba(6,11,34,.82) 70%,
    rgba(6,11,34,.97) 88%,
    var(--header-tail) 100%);
}
.desktop-main-menu{
  left:27%;
  right:17%;
  top:1.1%;
  gap:clamp(12px,1.35vw,28px);
}
.desktop-main-menu a{font-size:clamp(.72rem,.82vw,.93rem)}
.desktop-main-menu a:nth-child(7):hover,.desktop-main-menu a:nth-child(7).active{color:var(--cyan)}
.hero-bottom-row{padding-inline:6.5%;bottom:4.9%}
.hero-css-actions{gap:34px}

/* Tous les vrais boutons utilisent le Glow IA animé */
.glow-btn,.account-glow,.mobile-account,.mobile-menu-toggle{
  min-height:50px;
  background:var(--ai-glow-inner,#0f172a)!important;
  color:#fff;
  border:0!important;
  box-shadow:none!important;
}
.glow-btn::before,.account-glow::before,.mobile-account::before,.mobile-menu-toggle::before{
  inset:-2px;
  background:linear-gradient(90deg,var(--ai-glow-1),var(--ai-glow-2),var(--ai-glow-3),var(--ai-glow-4),var(--ai-glow-1));
  background-size:300% 300%;
  animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;
  filter:blur(var(--ai-glow-blur,12px));
  opacity:var(--ai-glow-opacity,.85);
}
.glow-btn::after,.account-glow::after,.mobile-account::after,.mobile-menu-toggle::after{
  background:linear-gradient(90deg,var(--ai-glow-1),var(--ai-glow-2),var(--ai-glow-3),var(--ai-glow-4),var(--ai-glow-1));
  background-size:300% 300%;
  animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;
}
.glow-btn-primary,.glow-btn-secondary{background:var(--ai-glow-inner,#0f172a)!important}
.glow-btn span,.glow-btn strong,.account-glow span{position:relative;z-index:5}

/* Titres et héros internes : plus compacts, plus cohérents */
.page-hero,.page-hero.small{
  position:relative;
  padding:44px 0 28px;
  overflow:hidden;
}
.page-hero::before{
  content:"";
  position:absolute;
  width:440px;
  height:440px;
  right:-170px;
  top:-250px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(149,88,255,.12),rgba(255,53,188,.045) 34%,transparent 70%);
  filter:blur(10px);
  pointer-events:none;
}
.page-hero .container{position:relative;z-index:1}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:center}
.page-hero h1{max-width:980px;margin:0 0 16px;font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.04}
.page-hero .lead{margin:0;max-width:900px;color:#c9d8f8;line-height:1.68}
.page-hero .eyebrow{margin-bottom:10px}
.feature-orb{
  justify-self:end;
  width:210px;height:210px;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,rgba(32,220,255,.35),rgba(149,88,255,.16) 38%,rgba(255,53,188,.08) 62%,transparent 70%);
  border:1px solid rgba(112,194,255,.16);
  box-shadow:0 0 65px rgba(78,101,255,.09),inset 0 0 50px rgba(32,220,255,.04);
}

/* Cartes communes : même relief sur toutes les pages */
.neon-card,.workflow-card,.project-card,.offer-card,.faq-item,.contact-note,.contact-form-card,.login-copy,.login-card,
.catalog-category-card,.product-card,.quote-context-card{
  border:1px solid var(--page-border);
  background:
    radial-gradient(circle at 100% 0,rgba(149,88,255,.075),transparent 23%),
    radial-gradient(circle at 0 100%,rgba(32,220,255,.035),transparent 22%),
    linear-gradient(145deg,var(--page-panel),var(--page-panel-deep));
  box-shadow:0 24px 68px rgba(0,0,0,.26),0 0 48px rgba(73,93,255,.035);
}
.neon-card,.workflow-card,.project-card,.offer-card,.catalog-category-card,.product-card,.quote-context-card{
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.neon-card:hover,.workflow-card:hover,.project-card:hover,.offer-card:hover,.catalog-category-card:hover,.product-card:hover{
  transform:translateY(-5px);
  border-color:rgba(113,197,255,.32);
  box-shadow:0 30px 78px rgba(0,0,0,.32),0 0 50px rgba(149,88,255,.07);
}
.service-grid{gap:20px}
.service-grid-full{grid-template-columns:repeat(3,minmax(0,1fr))}
.neon-card{min-height:350px;padding:25px;display:flex;flex-direction:column}
.neon-card h2,.neon-card h3{margin-bottom:10px;font-size:1.28rem}
.neon-card .more-link{margin-top:auto;padding-top:18px}

/* Liens secondaires propres, sans les confondre avec des boutons */
.more-link,.catalog-back-link{
  position:relative;
  color:#fff;
  text-decoration:none;
  font-weight:850;
  transition:color .18s ease,transform .18s ease;
}
.more-link:hover,.catalog-back-link:hover{color:var(--ai-glow-1);transform:translateX(2px)}
.home-link-row{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:24px}
.home-link-row .more-link{margin-top:0}

/* CTA homogènes */
.cta-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:32px;
  padding:30px 32px;
  border-radius:28px;
  border:1px solid rgba(105,174,255,.2);
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.cta-panel h2{margin-bottom:8px}
.cta-panel p:last-child{margin-bottom:0}

/* FAQ sans grands trous */
.faq-page-section{padding:24px 0 50px}
.faq-grid-large{width:min(1000px,100%);margin:0 auto;gap:12px}
.faq-item summary{padding:18px 20px}
.faq-answer{padding:0 20px 18px}

/* Pages légales : cartes plus lisibles + vrais séparateurs Glow IA animés */
.legal-page-wrap{padding-top:20px;padding-bottom:44px}
.legal-shell{max-width:1040px}
.legal-article-card{padding:26px 28px;gap:22px}
.legal-article-body p{font-size:.98rem;line-height:1.76}
.legal-separator{padding:16px 0 20px}
.legal-separator span{
  width:min(190px,44vw);
  height:4px;
  background:linear-gradient(90deg,var(--ai-glow-1),var(--ai-glow-2),var(--ai-glow-3),var(--ai-glow-4),var(--ai-glow-1));
  background-size:300% 300%;
  animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;
  box-shadow:none;
}
.legal-separator span::before{
  inset:-8px -18px;
  background:linear-gradient(90deg,var(--ai-glow-1),var(--ai-glow-2),var(--ai-glow-3),var(--ai-glow-4),var(--ai-glow-1));
  background-size:300% 300%;
  animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;
  filter:blur(var(--ai-glow-blur,12px));
  opacity:calc(var(--ai-glow-opacity,.85) * .62);
}

/* Footer : fusion réelle avec le fond de page */
.site-footer{
  margin-top:0;
  padding:90px 0 28px;
  background:
    linear-gradient(180deg,rgba(6,11,34,0) 0%,rgba(5,10,30,.22) 10%,rgba(3,8,25,.72) 28%,rgba(2,6,21,.98) 54%),
    radial-gradient(circle at 18% 28%,rgba(32,220,255,.04),transparent 24%),
    radial-gradient(circle at 82% 28%,rgba(255,53,188,.04),transparent 24%);
}
.site-footer::before{
  height:120px;
  background:linear-gradient(180deg,rgba(6,11,34,0),rgba(5,10,30,.18) 35%,rgba(3,8,25,.58) 75%,rgba(3,8,25,.85));
}
.footer-glow{
  top:50px;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--ai-glow-1),var(--ai-glow-2),var(--ai-glow-3),var(--ai-glow-4),var(--ai-glow-1),transparent);
  background-size:300% 300%;
  animation:aiGradientMove var(--ai-glow-speed,3s) ease infinite;
  filter:drop-shadow(0 0 10px rgba(255,53,188,.3));
  opacity:.62;
}
.footer-main{padding-top:14px}
.footer-bottom{margin-top:30px;padding-top:20px}

/* =========================================================
   Catalogue : page d'entrée + sous-pages sans iframe
   ========================================================= */
.catalog-overview-section{padding-top:30px}
.catalog-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.catalog-category-card{
  --cat-accent:var(--ai-glow-1);
  position:relative;
  min-height:310px;
  padding:26px;
  border-radius:28px;
  text-decoration:none;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.catalog-category-card::before{
  content:"";
  position:absolute;
  right:-60px;top:-70px;
  width:180px;height:180px;border-radius:50%;
  background:var(--cat-accent);
  filter:blur(60px);opacity:.12;
}
.catalog-category-card.cyan{--cat-accent:var(--ai-glow-1)}
.catalog-category-card.violet{--cat-accent:var(--ai-glow-2)}
.catalog-category-card.pink{--cat-accent:var(--ai-glow-3)}
.catalog-category-card.orange{--cat-accent:var(--ai-glow-4)}
.catalog-category-icon{
  width:54px;height:54px;border-radius:18px;display:grid;place-items:center;
  margin-bottom:18px;font-size:1.25rem;color:#fff;
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(145deg,rgba(32,220,255,.12),rgba(149,88,255,.16),rgba(255,53,188,.12));
  box-shadow:0 0 26px color-mix(in srgb,var(--cat-accent) 18%,transparent);
}
.catalog-category-kicker,.product-category-chip{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(32,220,255,.28);
  background:rgba(7,28,72,.58);
  color:#eaf7ff;
  font-size:.72rem;
  font-weight:900;
}
.catalog-category-card h2{font-size:1.35rem;margin:12px 0 8px}
.catalog-category-card p{margin:0 0 22px}
.catalog-category-bottom{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.065);display:flex;justify-content:space-between;align-items:end;gap:12px}
.catalog-category-bottom strong{color:#fff;font-size:1rem}
.catalog-category-bottom span{color:var(--ai-glow-1);font-weight:850;font-size:.84rem;text-align:right}

.catalog-hero-price{
  justify-self:end;
  width:230px;
  min-height:160px;
  padding:26px;
  border-radius:28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(111,171,255,.18);
  background:linear-gradient(145deg,rgba(9,28,69,.9),rgba(5,12,37,.96));
  box-shadow:0 20px 60px rgba(0,0,0,.24),0 0 48px rgba(149,88,255,.07);
}
.catalog-hero-price span{color:#9fb2da;font-weight:700;font-size:.83rem}
.catalog-hero-price strong{margin-top:5px;font-size:clamp(1.6rem,2.5vw,2.35rem);line-height:1.05;color:#fff}
.catalog-products-section{padding-top:28px}
.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.product-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:26px;
  border-radius:28px;
  overflow:visible;
}
.product-card::after{
  content:"";
  position:absolute;
  inset:auto 12% -1px 12%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--ai-glow-1),var(--ai-glow-3),transparent);
  opacity:.34;
}
.product-card{position:relative}
.product-card-top h2{font-size:1.2rem;margin:13px 0 6px}
.product-card-top p{margin:8px 0 0}
.product-price{font-size:2rem;font-weight:950;color:#fff;letter-spacing:-.035em;margin:4px 0 8px}
.product-price.quote-price{font-size:1.55rem}
.product-features{list-style:none;margin:20px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.065);display:grid;gap:10px;color:#e4edff;font-size:.9rem}
.product-features li{position:relative;padding-left:22px;line-height:1.5}
.product-features li::before{content:"✓";position:absolute;left:0;color:var(--ai-glow-1);font-weight:950;text-shadow:0 0 10px rgba(32,220,255,.35)}
.product-note{margin-top:20px;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,151,41,.24);background:rgba(255,151,41,.055);color:#f3e6cc;font-size:.82rem;line-height:1.55}
.product-card-action{margin-top:auto;padding-top:24px}
.product-card-action .glow-btn{width:max-content;min-width:132px}
.product-card-quote{border-color:rgba(255,53,188,.24)}

/* =========================================================
   Devis spécialisés par catégorie
   ========================================================= */
.quote-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:24px;align-items:start}
.quote-context-card{position:sticky;top:20px;padding:28px;border-radius:28px}
.quote-context-card h2{font-size:1.5rem;margin:16px 0 10px}
.quote-context-card .catalog-back-link{display:inline-flex;margin-top:16px}
.quote-form-card{padding:28px;border-radius:28px}
.contact-form{display:grid;gap:17px}
.contact-form label{display:grid;gap:8px;color:#f3f7ff;font-size:.88rem;font-weight:800}
.contact-form label small{display:inline;color:#8fa2cb;font-weight:600}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;
  border:1px solid rgba(118,164,239,.2);
  border-radius:14px;
  background:rgba(2,9,29,.76);
  color:#fff;
  padding:13px 14px;
  font:inherit;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  border-color:rgba(32,220,255,.5);
  box-shadow:0 0 0 3px rgba(32,220,255,.08),0 0 22px rgba(149,88,255,.06);
  background:rgba(3,12,36,.92);
}
.contact-form textarea{resize:vertical;min-height:118px}
.form-row{gap:16px}
.form-status{border-radius:15px;padding:14px 16px}
.form-status.success{border:1px solid rgba(32,220,255,.24);background:rgba(32,220,255,.06)}
.form-status.error{border:1px solid rgba(255,53,188,.25);background:rgba(255,53,188,.06)}
.form-privacy{margin:0;font-size:.8rem}

/* Contact, login, workflow, portfolio : resserrer les espacements */
.contact-layout,.login-shell{gap:24px}
.contact-note,.contact-form-card,.login-copy,.login-card{padding:28px;border-radius:28px}
.studio-workflow{gap:18px}
.workflow-card{min-height:220px;padding:24px}
.portfolio-grid{gap:20px}
.project-body{padding:22px}

/* Responsive */
@media(max-width:1100px){
  .desktop-main-menu{left:25%;right:14%;gap:12px}
  .desktop-main-menu a{font-size:.72rem}
  .catalog-category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-grid-full{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  main{margin-top:-18px;padding-top:18px}
  .mobile-nav-shell{display:grid}
  .mobile-hero-actions{display:flex;justify-content:center;flex-wrap:wrap}
  .page-hero,.page-hero.small{padding:36px 0 24px}
  .page-hero-grid{grid-template-columns:1fr;gap:18px}
  .feature-orb{display:none}
  .catalog-hero-price{justify-self:start;width:min(100%,280px);min-height:120px}
  .quote-layout{grid-template-columns:1fr}
  .quote-context-card{position:relative;top:auto}
  .cta-panel{grid-template-columns:1fr}
  .cta-panel .glow-btn{justify-self:start}
}
@media(max-width:700px){
  :root{--section-space:42px}
  .container{width:min(var(--container),calc(100% - 28px))}
  .page-hero,.page-hero.small{padding:30px 0 20px}
  .page-hero h1{font-size:clamp(1.85rem,9vw,2.7rem)}
  .section-heading{grid-template-columns:1fr;gap:10px;margin-bottom:22px}
  .service-grid,.service-grid-full,.catalog-category-grid,.product-grid,.portfolio-grid{grid-template-columns:1fr}
  .neon-card{min-height:auto}
  .catalog-category-card{min-height:260px}
  .catalog-toolbar{align-items:flex-start;flex-direction:column}
  .catalog-toolbar .glow-btn{width:100%}
  .product-card{padding:22px}
  .quote-form-card,.quote-context-card,.contact-note,.contact-form-card,.login-copy,.login-card{padding:22px}
  .form-row{grid-template-columns:1fr}
  .hero-css-actions{gap:16px}
  .mobile-hero-actions .glow-btn{min-width:150px;padding-inline:18px}
  .legal-article-card{padding:20px}
  .legal-separator{padding:12px 0 16px}
  .site-footer{padding-top:72px}
  .footer-main{gap:28px}
  .home-link-row{align-items:flex-start;flex-direction:column;gap:18px}
}

@media(prefers-reduced-motion:reduce){
  .legal-separator span,.legal-separator span::before,.footer-glow{animation:none!important}
}

/* =========================================================
   V1.9 — corrections de raccord header/footer + commandes
   ========================================================= */
:root{
  --header-tail:#050a21;
  --page-bg:#050a21;
}
body{
  background:
    radial-gradient(circle at 8% 22%,rgba(32,220,255,.026),transparent 26%),
    radial-gradient(circle at 92% 42%,rgba(149,88,255,.03),transparent 30%),
    var(--header-tail);
}
.visual-header{
  background:var(--header-tail);
}
.visual-header::after{
  bottom:-2px;
  height:58%;
  background:linear-gradient(180deg,
    rgba(5,10,33,0) 0%,
    rgba(5,10,33,.08) 20%,
    rgba(5,10,33,.34) 44%,
    rgba(5,10,33,.72) 67%,
    rgba(5,10,33,.94) 84%,
    var(--header-tail) 96%,
    var(--header-tail) 100%);
}
.hero-bottom-row{
  bottom:7.4%;
  padding-inline:6.2%;
}
main{
  margin-top:-64px;
  padding-top:64px;
  background:var(--header-tail);
}
main::before{
  height:190px;
  background:linear-gradient(180deg,var(--header-tail) 0%,var(--header-tail) 28%,rgba(5,10,33,.98) 48%,rgba(5,10,33,0) 100%);
}
.site-footer{
  margin-top:0;
  padding:84px 0 28px;
  background:linear-gradient(180deg,
    var(--header-tail) 0%,
    var(--header-tail) 16%,
    #04091e 44%,
    #03081a 70%,
    #020615 100%);
}
.site-footer::before{display:none}
.footer-glow{display:none}
.footer-main{padding-top:0}

/* Retours : pas de glyphes de flèche décoratifs */
.context-return-link,.catalog-back-link{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin-top:16px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(32,220,255,.18);
  background:rgba(32,220,255,.045);
  color:#eaf8ff;
  text-decoration:none;
  font-weight:850;
  font-size:.82rem;
  transition:.18s ease;
}
.context-return-link:hover,.catalog-back-link:hover{
  color:#fff;
  border-color:rgba(32,220,255,.36);
  background:rgba(32,220,255,.08);
  transform:translateY(-1px);
}

/* Tunnel de commande : formulaires spécifiques par produit */
.order-hero{padding-bottom:32px}
.order-summary-card{
  justify-self:end;
  width:min(100%,260px);
  min-height:165px;
  padding:24px;
  border-radius:28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(111,171,255,.18);
  background:radial-gradient(circle at 100% 0,rgba(255,53,188,.12),transparent 35%),linear-gradient(145deg,rgba(9,28,69,.94),rgba(5,12,37,.98));
  box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 48px rgba(149,88,255,.07);
}
.order-summary-card span{color:#9fb2da;font-size:.78rem;font-weight:850}
.order-summary-card strong{font-size:2.1rem;line-height:1.05;margin:7px 0;color:#fff}
.order-summary-card p{margin:0;color:#dce7ff;font-size:.88rem;line-height:1.5}
.order-layout{display:grid;grid-template-columns:minmax(270px,.66fr) minmax(0,1.34fr);gap:24px;align-items:start}
.order-context-card,.order-form-card{
  border:1px solid var(--page-border);
  border-radius:28px;
  background:radial-gradient(circle at 100% 0,rgba(149,88,255,.075),transparent 23%),radial-gradient(circle at 0 100%,rgba(32,220,255,.035),transparent 22%),linear-gradient(145deg,var(--page-panel),var(--page-panel-deep));
  box-shadow:0 24px 68px rgba(0,0,0,.26),0 0 48px rgba(73,93,255,.035);
}
.order-context-card{position:sticky;top:20px;padding:27px}
.order-context-card h2{font-size:1.42rem;margin:15px 0 9px}
.order-context-card p{margin:0}
.order-price-line{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.065)}
.order-price-line span{color:#8fa4cf;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}
.order-price-line strong{font-size:1.55rem}
.order-form-card{padding:28px}
.order-form{gap:20px}
.order-section{
  margin:0;
  padding:22px;
  border:1px solid rgba(111,171,255,.13);
  border-radius:22px;
  background:rgba(2,9,29,.36);
}
.order-section legend{
  padding:0 9px 0 0;
  color:#fff;
  font-size:1rem;
  font-weight:900;
}
.order-section legend span{
  display:inline-grid;
  place-items:center;
  width:34px;height:34px;
  margin-right:8px;
  border-radius:11px;
  background:linear-gradient(135deg,rgba(32,220,255,.15),rgba(149,88,255,.17),rgba(255,53,188,.13));
  border:1px solid rgba(255,255,255,.09);
  color:#dffaff;
  font-size:.7rem;
}
.order-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:7px}
.order-fields-grid .order-field-textarea,.order-fields-grid .order-field-file,.order-fields-grid .order-field-files{grid-column:1/-1}
.order-field{min-width:0}
.field-label{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.field-label em,.order-section label>em{font-style:normal;color:#8deeff;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}
.field-label small,.order-section label>small{color:#8397c2;font-weight:600}
.field-help{display:block;color:#7890bd!important;font-size:.72rem!important;line-height:1.45}
.upload-control{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:86px;
  padding:14px;
  border-radius:16px;
  border:1px dashed rgba(32,220,255,.28);
  background:rgba(32,220,255,.025);
  cursor:pointer;
}
.upload-control:hover{border-color:rgba(32,220,255,.5);background:rgba(32,220,255,.045)}
.upload-control input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-control::before{content:"+";flex:0 0 48px;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:1.5rem;color:#fff;background:linear-gradient(135deg,rgba(32,220,255,.18),rgba(149,88,255,.22),rgba(255,53,188,.14));border:1px solid rgba(255,255,255,.1)}
.upload-copy{display:grid;gap:3px;pointer-events:none}
.upload-copy strong{font-size:.86rem}.upload-copy small{font-size:.7rem;color:#8297c2;font-weight:600}
.consent-check{display:grid!important;grid-template-columns:22px 1fr;gap:10px!important;align-items:start;margin-top:14px;padding:12px 13px;border-radius:13px;background:rgba(255,255,255,.022);border:1px solid rgba(255,255,255,.05)}
.consent-check input{width:18px!important;height:18px;margin:2px 0 0;accent-color:#9558ff}
.consent-check span{font-weight:650;color:#cbd8f5;line-height:1.5;font-size:.78rem}
.order-submit-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 2px 0}
.order-submit-row>div{display:grid;gap:4px}.order-submit-row>div strong{font-size:.92rem}.order-submit-row>div span{font-size:.74rem;color:#7f94bf}
.order-success{display:grid;grid-template-columns:62px 1fr;gap:17px;align-items:start;padding:24px;border-radius:20px;border:1px solid rgba(32,220,255,.22);background:linear-gradient(145deg,rgba(32,220,255,.07),rgba(149,88,255,.055))}
.success-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:1.5rem;font-weight:950;background:linear-gradient(135deg,#20dcff,#9558ff,#ff35bc);color:#fff;box-shadow:0 0 26px rgba(32,220,255,.14)}
.order-success h2{margin:0 0 6px}.order-success p{margin:5px 0}

@media(max-width:1100px){
  .hero-bottom-row{bottom:7.8%}
  .order-layout{grid-template-columns:1fr}
  .order-context-card{position:relative;top:auto}
  .order-summary-card{justify-self:start}
}
@media(max-width:980px){
  main{margin-top:-24px;padding-top:24px}
  .site-footer{padding-top:70px}
}
@media(max-width:700px){
  .order-form-card,.order-context-card{padding:20px}
  .order-fields-grid{grid-template-columns:1fr}
  .order-fields-grid .order-field-textarea,.order-fields-grid .order-field-file,.order-fields-grid .order-field-files{grid-column:auto}
  .order-section{padding:17px}
  .order-submit-row{align-items:stretch;flex-direction:column}
  .order-submit-row .glow-btn{width:100%}
  .order-success{grid-template-columns:1fr}
}

/* =========================================================
   V1.9.1 — CORRECTIF VISUEL CSS UNIQUEMENT
   Raccords header / pages / footer + rythme vertical homogène.
   Ce bloc est volontairement autoritaire afin de neutraliser les
   anciennes couches de réglages visuels sans toucher au PHP/HTML.
   ========================================================= */
:root{
  --header-tail:#050a21;
  --page-bg:#050a21;
  --section-space:44px;
}

html,body{
  background-color:var(--page-bg);
}
body{
  background-image:
    radial-gradient(circle at 8% 22%,rgba(32,220,255,.026),transparent 27%),
    radial-gradient(circle at 92% 46%,rgba(149,88,255,.028),transparent 31%);
  background-repeat:no-repeat;
  background-size:100% 100%;
}

/* ---- Raccord du header : aucune bande ou cassure ---- */
.visual-header{
  margin:0!important;
  padding:0!important;
  background:var(--page-bg)!important;
  overflow:hidden;
}
.hero-picture,.header-art{
  margin:0!important;
  padding:0!important;
  vertical-align:bottom;
}
.visual-header::after{
  content:"";
  display:block!important;
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:-2px;
  height:46%;
  pointer-events:none;
  background:linear-gradient(180deg,
    rgba(5,10,33,0) 0%,
    rgba(5,10,33,.06) 18%,
    rgba(5,10,33,.22) 36%,
    rgba(5,10,33,.52) 58%,
    rgba(5,10,33,.82) 76%,
    rgba(5,10,33,.97) 90%,
    var(--page-bg) 98%,
    var(--page-bg) 100%)!important;
}
.hero-bottom-row{
  bottom:9%!important;
  padding-inline:6.2%!important;
}

/* ---- Corps de page : un seul fond continu ---- */
main{
  position:relative;
  margin:0!important;
  padding:0!important;
  background:var(--page-bg)!important;
  overflow:visible!important;
  isolation:auto!important;
}
main::before,
main::after{
  content:none!important;
  display:none!important;
}
main > .section,
main > .page-hero{
  background-color:transparent!important;
}

/* ---- Rythme vertical commun : fin des grands vides ---- */
.section{
  padding:44px 0!important;
  margin:0!important;
}
.section.compact{
  padding:28px 0!important;
}
.intro-strip{
  padding-top:34px!important;
  padding-bottom:38px!important;
}
.section-heading{
  margin-bottom:25px!important;
}
.section-heading.centered{
  margin-bottom:26px!important;
}
.section-heading.centered p{
  margin-top:0!important;
}
.process-grid,
.studio-workflow,
.trust-row,
.portfolio-grid,
.service-grid,
.service-grid-full,
.offer-grid{
  margin-top:0!important;
}

/* Héros internes : compacts et sans ligne de séparation */
.page-hero,
.page-hero.small{
  position:relative;
  padding:40px 0 26px!important;
  margin:0!important;
  background:transparent!important;
  overflow:hidden;
}
.page-hero::after{
  content:none!important;
  display:none!important;
}
.page-hero::before{
  opacity:.62;
}

/* Les panneaux restent séparés par leur carte, jamais par une bande de page */
.cta-panel,
.studio-panel,
.neon-card,
.workflow-card,
.process-step,
.trust-item,
.project-card,
.offer-card,
.faq-item,
.contact-note,
.contact-form-card,
.login-copy,
.login-card,
.legal-article-card,
.catalog-category-card,
.product-card,
.quote-context-card,
.quote-form-card,
.order-form-card,
.order-context-card{
  background-clip:padding-box;
}

/* ---- Footer : départ exactement dans la couleur de la page ---- */
.site-footer{
  position:relative;
  margin:0!important;
  padding:38px 0 24px!important;
  background:
    radial-gradient(circle at 18% 30%,rgba(32,220,255,.026),transparent 26%),
    radial-gradient(circle at 82% 30%,rgba(255,53,188,.026),transparent 26%),
    linear-gradient(180deg,
      var(--page-bg) 0%,
      var(--page-bg) 12%,
      #04091f 48%,
      #030719 76%,
      #020615 100%)!important;
  overflow:hidden;
}
.site-footer::before{
  content:none!important;
  display:none!important;
}
.footer-glow{
  display:none!important;
}
.footer-main{
  padding-top:0!important;
}
.footer-bottom{
  margin-top:24px!important;
  padding-top:16px!important;
}
main > .section:last-child{
  padding-bottom:30px!important;
}

/* ---- Desktop large : boutons entièrement dans l'image ---- */
@media(min-width:981px){
  .hero-bottom-row{bottom:9%!important}
}

/* ---- Tablette / mobile : même continuité, sans chevauchement négatif ---- */
@media(max-width:980px){
  main{
    margin:0!important;
    padding:0!important;
  }
  .section{padding:38px 0!important}
  .section.compact{padding:25px 0!important}
  .page-hero,.page-hero.small{padding:34px 0 22px!important}
  .site-footer{padding-top:34px!important}
}
@media(max-width:700px){
  .section{padding:34px 0!important}
  .section.compact{padding:22px 0!important}
  .intro-strip{padding-top:28px!important;padding-bottom:30px!important}
  .page-hero,.page-hero.small{padding:30px 0 20px!important}
  .site-footer{padding-top:30px!important}
  main > .section:last-child{padding-bottom:24px!important}
}

/* =========================================================
   V1.9.2 — CORRECTIF VISUEL CIBLÉ UNIQUEMENT
   Supprime les démarcations de fond et les halos parasites
   autour des cartes. Aucun changement fonctionnel.
   ========================================================= */
:root{
  --page-bg:#050a21;
  --header-tail:#050a21;
}

/* Un seul fond continu sur toute la page. */
html,
body{
  background:#050a21!important;
  background-image:none!important;
}

.visual-header,
main,
main > .section,
main > .page-hero,
.page-hero,
.page-hero.small,
.site-footer{
  background-color:#050a21!important;
}

main,
main > .section,
main > .page-hero,
.page-hero,
.page-hero.small{
  background-image:none!important;
}

/* Supprime les halos de page qui donnaient l'impression de bandes. */
main::before,
main::after,
.page-hero::before,
.page-hero::after,
.section:nth-of-type(even)::before{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Le bas du visuel se fond exactement dans la même couleur. */
.visual-header::after{
  bottom:-1px!important;
  height:44%!important;
  background:linear-gradient(180deg,
    rgba(5,10,33,0) 0%,
    rgba(5,10,33,.08) 22%,
    rgba(5,10,33,.28) 43%,
    rgba(5,10,33,.58) 63%,
    rgba(5,10,33,.86) 80%,
    #050a21 96%,
    #050a21 100%)!important;
}

/* Footer = même fond que le contenu : aucune rupture de teinte. */
.site-footer{
  margin-top:0!important;
  background:#050a21!important;
  background-image:none!important;
}
.site-footer::before,
.site-footer::after,
.footer-glow{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Cartes : relief sombre propre, sans halo coloré qui déborde. */
.neon-card,
.workflow-card,
.project-card,
.offer-card,
.faq-item,
.contact-note,
.contact-form-card,
.login-copy,
.login-card,
.legal-content,
.legal-article-card,
.catalog-category-card,
.product-card,
.quote-context-card,
.quote-form-card,
.order-summary-card,
.order-context-card,
.order-form-card,
.order-section,
.studio-panel,
.cta-panel,
.process-step,
.trust-item{
  box-shadow:0 18px 46px rgba(0,0,0,.24)!important;
}

.neon-card:hover,
.workflow-card:hover,
.project-card:hover,
.offer-card:hover,
.faq-item:hover,
.catalog-category-card:hover,
.product-card:hover{
  box-shadow:0 22px 54px rgba(0,0,0,.30)!important;
}

/* Les éventuels halos décoratifs restent strictement contenus dans les cartes. */
.neon-card,
.catalog-category-card,
.product-card,
.order-summary-card,
.order-context-card,
.order-form-card,
.quote-context-card,
.quote-form-card,
.studio-panel,
.cta-panel{
  isolation:isolate!important;
}

/* Pas de chevauchement/ombre de section au raccord avec le footer. */
main > .section:last-child,
main > .page-hero:last-child{
  box-shadow:none!important;
  margin-bottom:0!important;
}

/* === Espace client V2.0 === */
.client-hero{padding-bottom:28px}.client-nav-shell{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:6px;padding-bottom:18px}.client-welcome{display:grid;gap:2px;min-width:180px}.client-welcome strong{font-size:.96rem}.client-welcome span{font-size:.76rem;color:#8196c5}.client-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.client-nav a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;padding:10px 13px;border-radius:13px;border:1px solid rgba(112,165,255,.12);background:#07132f;color:#dfeaff;font-weight:800;font-size:.78rem}.client-nav a:hover,.client-nav a.active{border-color:rgba(32,220,255,.32);background:rgba(32,220,255,.06)}.client-nav a b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ff35bc;color:#fff;font-size:.68rem}.client-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.client-stats>div{padding:20px;border:1px solid rgba(112,165,255,.12);border-radius:18px;background:#07132f}.client-stats b{display:block;font-size:1.85rem}.client-stats span{color:#8fa3cf;font-size:.78rem}.client-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:18px}.client-panel,.client-chat-panel{padding:22px;border:1px solid rgba(112,165,255,.13);border-radius:22px;background:#07132f}.client-panel h2,.client-chat-panel h2{margin-top:0}.client-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.client-panel-head a{color:#8edfff;text-decoration:none;font-weight:800;font-size:.78rem}.client-order-row{display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.055)}.client-order-row:last-child{border-bottom:0}.client-order-row strong{display:block}.client-order-row span{display:block;color:#8297c3;font-size:.75rem;margin-top:4px}.client-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;border:1px solid rgba(32,220,255,.2);background:rgba(32,220,255,.06);color:#e7fbff;font-size:.7rem;font-style:normal;font-weight:850;white-space:nowrap}.client-status.en_production{border-color:rgba(255,53,188,.25);background:rgba(255,53,188,.07)}.client-status.terminee{border-color:rgba(67,221,159,.28);background:rgba(67,221,159,.07);color:#dcfff0}.client-status.annulee{border-color:rgba(255,82,119,.28);background:rgba(255,82,119,.07)}.client-quick{display:grid;gap:10px}.client-quick a{padding:15px;border-radius:15px;border:1px solid rgba(255,255,255,.07);text-decoration:none;background:#050d25}.client-quick strong,.client-quick span{display:block}.client-quick span{color:#8297c3;font-size:.77rem;margin-top:4px}.client-order-list{display:grid;gap:12px}.client-order-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;text-decoration:none;padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:#050d25}.client-order-card h2{margin:9px 0 4px;font-size:1.08rem}.client-order-card p{margin:0;color:#8297c3;font-size:.75rem}.client-order-card-side{display:grid;justify-items:end;gap:8px}.client-order-card-side strong{font-size:1.08rem}.client-order-card-side small{color:#8297c3}.client-order-detail{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);gap:18px}.client-info{padding:14px;border-radius:14px;margin:14px 0}.client-info p{margin:5px 0 0;color:#b4c2e2;font-size:.78rem}.client-info.success{border:1px solid rgba(67,221,159,.22);background:rgba(67,221,159,.06)}.client-info.locked{border:1px solid rgba(255,151,41,.22);background:rgba(255,151,41,.055)}.client-panel form label{display:grid;gap:7px;margin-bottom:13px;color:#dce8ff;font-weight:750;font-size:.8rem}.client-panel form input,.client-panel form textarea,.client-chat-form textarea{width:100%;padding:12px 13px;border-radius:12px;border:1px solid rgba(112,165,255,.18);background:#030a20;color:#fff;font:inherit}.client-panel form input[readonly],.client-panel form textarea[readonly]{opacity:.7;cursor:not-allowed}.client-profile-panel{max-width:920px;margin-inline:auto}.client-chat-panel{max-width:1040px;margin-inline:auto}.client-chat-log{display:grid;gap:12px;max-height:580px;overflow:auto;padding:4px 2px 16px}.chat-bubble{max-width:78%;padding:13px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.07)}.chat-bubble.mine{margin-left:auto;background:rgba(32,220,255,.07);border-color:rgba(32,220,255,.16)}.chat-bubble.staff{margin-right:auto;background:rgba(149,88,255,.08);border-color:rgba(149,88,255,.17)}.chat-bubble>div{display:flex;justify-content:space-between;gap:14px}.chat-bubble strong{font-size:.78rem}.chat-bubble time{color:#7f92bd;font-size:.68rem}.chat-bubble p{margin:7px 0 0;line-height:1.55}.client-chat-form{padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.client-chat-form textarea{margin-bottom:10px}.client-deliveries{display:grid;gap:18px}.client-delivery-group{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr);gap:18px;padding:18px;border-radius:18px;background:#050d25;border:1px solid rgba(255,255,255,.07)}.client-delivery-group h2{margin:8px 0 4px}.client-delivery-group p{margin:0;color:#8297c3;font-size:.76rem}.client-file-list{display:grid;gap:9px}.client-file{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 13px;border-radius:13px;border:1px solid rgba(32,220,255,.12);background:rgba(32,220,255,.035);text-decoration:none}.client-file strong,.client-file span{display:block}.client-file span{color:#8499c6;font-size:.72rem;margin-top:3px}.client-file b{font-size:.75rem;color:#8eeeff}.client-login-note{margin-top:18px;padding:12px 14px;border-radius:13px;border:1px solid rgba(32,220,255,.12);background:rgba(32,220,255,.035);font-size:.77rem}
@media(max-width:900px){.client-nav-shell{align-items:flex-start;flex-direction:column}.client-nav{justify-content:flex-start}.client-stats{grid-template-columns:repeat(2,1fr)}.client-grid,.client-order-detail,.client-delivery-group{grid-template-columns:1fr}.client-order-card{grid-template-columns:1fr}.client-order-card-side{justify-items:start}.chat-bubble{max-width:92%}}
@media(max-width:560px){.client-stats{grid-template-columns:1fr 1fr}.client-nav{display:grid;grid-template-columns:1fr 1fr;width:100%}.client-nav a{justify-content:center}.client-panel,.client-chat-panel{padding:16px}.client-order-card{padding:15px}}
.client-extra-files{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}.client-extra-files h3{margin:0 0 6px}.client-extra-files p{margin:0 0 12px;color:#8398c5;font-size:.78rem}.client-extra-files form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.client-extra-files input[type=file]{flex:1;min-width:250px;padding:10px;border-radius:12px;border:1px solid rgba(112,165,255,.18);background:#030a20;color:#dce8ff}

/* === Auth Espace client V2.2.1 : règles isolées === */
.password-field{position:relative;display:block}.password-field input{padding-right:52px!important}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border:0!important;border-radius:10px;background:transparent!important;color:#93a8d4;cursor:pointer;padding:0!important;box-shadow:none!important}.password-toggle:hover,.password-toggle:focus-visible,.password-toggle.is-visible{color:#20dcff;background:rgba(32,220,255,.07)!important}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-actions{display:grid;gap:10px;margin-top:2px}.auth-link{display:inline-flex;justify-content:center;color:#8ddfff;text-decoration:none;font-size:.79rem;font-weight:800}.auth-link:hover{text-decoration:underline}.auth-link.centered{text-align:center;margin-top:4px}.auth-secondary-btn{display:flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;border-radius:14px;border:1px solid rgba(32,220,255,.22);background:rgba(32,220,255,.045);color:#edfaff;text-decoration:none;font-size:.82rem;font-weight:850}.auth-secondary-btn:hover{border-color:rgba(255,53,188,.35);background:rgba(255,53,188,.06)}.auth-single{max-width:560px}.auth-help{margin:0 0 4px;color:#9dadd0;font-size:.86rem;line-height:1.65}.auth-register-card{grid-template-columns:1fr 1fr}.auth-register-card>h2,.auth-register-card>.form-status,.auth-register-card>.hp,.auth-register-card>.auth-consent,.auth-register-card>button{grid-column:1/-1}.auth-register-card label{align-content:start}.auth-register-card label small{color:#8197c5;font-weight:600}.auth-consent{grid-template-columns:auto 1fr!important;align-items:start!important;gap:10px!important;font-weight:600!important;line-height:1.5}.auth-consent input{width:18px!important;height:18px;margin:2px 0 0;padding:0}.auth-consent a,.client-login-note a{color:#76ddff}.login-copy h2{margin-top:0}.login-card h2{margin-top:0}
@media(max-width:700px){.auth-register-card{grid-template-columns:1fr}.auth-register-card>*{grid-column:1!important}}
.auth-reset-btn{border-color:rgba(149,88,255,.25);background:rgba(149,88,255,.045)}.auth-register-btn{border-color:rgba(32,220,255,.28);background:rgba(32,220,255,.055)}

/* V2.3 — Paiements Stripe / PayPal (nouvelles pages uniquement) */
.payment-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:28px;align-items:start}.payment-card,.payment-success-card{background:#07112c;border:1px solid rgba(64,125,205,.32);border-radius:24px;padding:28px}.payment-card h2,.payment-success-card h2{margin-top:10px}.payment-lines{display:grid;gap:10px;margin:24px 0}.payment-lines>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(121,160,220,.14)}.payment-lines .payment-total{font-size:1.16rem;border-bottom:0;padding-top:18px}.payment-lines .payment-total strong{font-size:1.5rem}.promo-inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.promo-inline label{flex:1;min-width:200px}.promo-inline input{width:100%}.payment-provider-btn{width:100%;margin-top:14px;text-align:center}.payment-success-card{max-width:780px;margin:0 auto;text-align:center}.payment-success-card .hero-actions{justify-content:center;margin-top:22px}@media(max-width:800px){.payment-layout{grid-template-columns:1fr}.payment-card,.payment-success-card{padding:22px}}

/* V2.6 · Informations médiateur */
.legal-contact-card{max-width:1040px;margin:0 auto;padding:24px 28px;border:1px solid rgba(32,220,255,.16);border-radius:20px;background:linear-gradient(145deg,rgba(10,27,65,.86),rgba(4,12,37,.94));box-shadow:0 18px 50px rgba(0,0,0,.18)}
.legal-contact-card h2{margin:0 0 8px}.legal-contact-card p{color:#aebde0;line-height:1.7}.legal-contact-card a{color:#9eeeff}

/* V2.7 — protection commande / démarrage immédiat */
.immediate-start-card{margin-top:18px;padding:20px 20px 18px;border:1px solid rgba(32,220,255,.24);border-radius:18px;background:radial-gradient(circle at 10% 0%,rgba(32,220,255,.08),transparent 34%),linear-gradient(145deg,rgba(9,24,58,.92),rgba(4,10,30,.94));box-shadow:0 16px 45px rgba(0,0,0,.18)}
.immediate-start-copy h3{margin:9px 0 7px;color:#fff}.immediate-start-copy p{margin:7px 0;color:#aebfe0;line-height:1.6}.immediate-start-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,151,41,.28);background:rgba(255,151,41,.08);color:#ffd4a0;font-size:.7rem;font-weight:900;letter-spacing:.08em}.immediate-start-check{margin-top:15px!important;padding:13px 14px;border-radius:13px;background:rgba(32,220,255,.045);border:1px solid rgba(32,220,255,.14)}.immediate-start-check strong{color:#fff}.immediate-start-check small{color:#91a7ce;line-height:1.5}.client-complaint-panel{margin-top:18px;padding:20px;border-radius:18px;border:1px solid rgba(255,151,41,.18);background:linear-gradient(145deg,rgba(20,20,50,.72),rgba(4,10,30,.82))}.client-complaint-panel h2{margin-bottom:7px}.client-complaint-panel p{color:#9eafd0}.client-complaint-history{margin-top:20px;display:grid;gap:10px}.complaint-history-item{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:rgba(3,10,28,.55)}.complaint-history-item>span{display:block;color:#7f94bf;font-size:.72rem;margin-top:3px}.complaint-history-item p{margin:8px 0 0;color:#dbe7ff}.complaint-history-item small{display:block;margin-top:8px;color:#8eeecb}.status-pill.en_attente_retractation{border-color:rgba(255,151,41,.28);background:rgba(255,151,41,.08);color:#ffd49b}.status-pill.a_preparer{border-color:rgba(32,220,255,.28);background:rgba(32,220,255,.08);color:#9feeff}
@media(max-width:780px){.immediate-start-card{padding:16px}.client-complaint-panel{padding:16px}}

/* =========================================================
   V2.8 — Nouveau header public Crée Ta Pub
   Visuel cinéma / radio + navigation intégrée
   ========================================================= */
.visual-header{
  height:clamp(330px,25vw,430px);
  min-height:330px;
  background:var(--header-tail);
  overflow:hidden;
  isolation:isolate;
}
.visual-header .hero-picture{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  overflow:hidden;
}
.visual-header .header-art{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center 50%;
}
.visual-header::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,3,15,.52) 0%,rgba(0,3,15,.16) 20%,rgba(0,3,15,0) 48%,rgba(3,8,25,.25) 72%,rgba(6,11,34,.72) 90%,var(--header-tail) 100%);
}
.visual-header::after{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:-1px;
  height:27%;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(6,11,34,0) 0%,rgba(6,11,34,.18) 28%,rgba(6,11,34,.55) 58%,rgba(6,11,34,.88) 82%,var(--header-tail) 100%);
}
.desktop-main-menu{
  z-index:8;
  left:23%;
  right:39%;
  top:18px;
  height:58px;
  min-height:0;
  gap:clamp(14px,1.55vw,30px);
  padding:0 8px;
  border-radius:18px;
  background:rgba(3,7,24,.28);
  backdrop-filter:blur(7px);
}
.desktop-main-menu a{
  font-size:clamp(.78rem,.88vw,.96rem);
  text-shadow:0 2px 12px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.65);
}
.hero-bottom-row{
  z-index:8;
  top:18px;
  bottom:auto;
  left:auto;
  right:2.5%;
  width:38%;
  padding:0;
  justify-content:flex-end;
  gap:12px;
}
.hero-css-actions{gap:12px;margin:0}
.glow-btn{
  min-height:50px;
  padding-inline:19px;
  font-size:.86rem;
  white-space:nowrap;
}
.account-glow{
  min-width:158px;
  min-height:50px;
  padding:0 17px;
  white-space:nowrap;
  border-radius:999px;
}
/* Le visuel reste continu avec le fond de toutes les pages publiques. */
main{margin-top:-1px;padding-top:1px}

@media(max-width:1280px){
  .desktop-main-menu{left:20%;right:43%;gap:13px}
  .desktop-main-menu a{font-size:.76rem}
  .hero-bottom-row{width:43%;right:2%}
  .glow-btn{padding-inline:15px;font-size:.79rem}
  .account-glow{min-width:142px}
}
@media(max-width:1080px){
  .desktop-main-menu{left:18%;right:47%;gap:10px}
  .desktop-main-menu a{font-size:.71rem}
  .hero-bottom-row{width:47%;gap:7px}
  .hero-css-actions{gap:7px}
  .glow-btn{padding-inline:12px;font-size:.72rem}
  .account-glow{min-width:126px;font-size:.72rem}
}
@media(max-width:980px){
  .visual-header{
    height:330px;
    min-height:330px;
    background:var(--header-tail);
  }
  .visual-header .hero-picture{display:block}
  .visual-header .header-art{object-position:center center}
  .desktop-main-menu,.hero-bottom-row{display:none}
  .mobile-nav-shell{position:relative;top:auto}
  .mobile-hero-actions{padding-top:10px}
}
@media(max-width:700px){
  .visual-header{height:275px;min-height:275px}
  .visual-header .header-art{object-position:center center}
}
@media(max-width:430px){
  .visual-header{height:235px;min-height:235px}
}

/* =========================================================
   V2.8.1 — Recomposition du header public
   Menu + actions regroupés dans une seule barre supérieure.
   Le visuel central reste dégagé : aucun contrôle ne chevauche le logo.
   ========================================================= */
@media(min-width:981px){
  .desktop-header-bar{
    position:absolute;
    z-index:8;
    top:16px;
    left:50%;
    transform:translateX(-50%);
    width:calc(100% - 44px);
    max-width:1780px;
    min-height:62px;
    padding:7px 12px 7px 22px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:22px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:20px;
    background:rgba(3,7,24,.46);
    backdrop-filter:blur(11px) saturate(125%);
    -webkit-backdrop-filter:blur(11px) saturate(125%);
    box-shadow:0 12px 32px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.08);
  }

  .desktop-main-menu{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    width:auto!important;
    height:auto!important;
    min-height:48px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:clamp(18px,1.45vw,31px)!important;
  }

  .desktop-main-menu a{
    font-size:clamp(.76rem,.82vw,.92rem)!important;
    text-shadow:0 2px 10px rgba(0,0,0,.92),0 0 8px rgba(0,0,0,.55);
  }

  .desktop-main-menu a::after{bottom:-7px}

  .hero-bottom-row{
    position:static!important;
    z-index:auto!important;
    width:auto!important;
    min-width:0;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center;
    justify-content:flex-end!important;
    gap:9px!important;
  }

  .hero-css-actions{
    position:static!important;
    display:flex!important;
    align-items:center;
    gap:9px!important;
    margin:0!important;
  }

  .hero-bottom-row .glow-btn{
    min-width:145px!important;
    min-height:44px!important;
    height:44px!important;
    padding:0 17px!important;
    font-size:.76rem!important;
  }

  .hero-bottom-row .account-glow{
    position:static!important;
    width:auto!important;
    min-width:146px!important;
    min-height:44px!important;
    height:44px!important;
    padding:0 15px!important;
    font-size:.76rem!important;
  }
}

@media(min-width:981px) and (max-width:1350px){
  .desktop-header-bar{gap:12px;padding-left:15px;padding-right:9px}
  .desktop-main-menu{gap:14px!important}
  .desktop-main-menu a{font-size:.70rem!important}
  .hero-bottom-row{gap:6px!important}
  .hero-css-actions{gap:6px!important}
  .hero-bottom-row .glow-btn{min-width:125px!important;padding-inline:12px!important;font-size:.68rem!important}
  .hero-bottom-row .account-glow{min-width:126px!important;padding-inline:11px!important;font-size:.68rem!important}
}

@media(max-width:980px){
  .desktop-header-bar{display:none!important}
}

/* =========================================================
   V2.8.2 — Navigation sous le visuel
   Le visuel reste entièrement dégagé. Les partenaires sortent
   du header. Seul Espace client utilise le Glow IA animé.
   ========================================================= */
.public-nav-bar{
  position:relative;
  z-index:20;
  width:100%;
  margin:0;
  background:linear-gradient(180deg,#060b22 0%,#07102a 100%);
  border:0;
  box-shadow:none;
}
.public-nav-inner{
  width:min(100% - 44px,1780px);
  min-height:66px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
}
.public-desktop-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,1.65vw,34px);
  min-width:0;
}
.public-desktop-menu a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  font-size:clamp(.78rem,.84vw,.94rem);
  white-space:nowrap;
  text-shadow:0 2px 10px rgba(0,0,0,.8);
  transition:color .18s ease,transform .18s ease;
}
.public-desktop-menu a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:0;
  height:2px;
  border-radius:999px;
  transform:translateX(-50%);
  background:currentColor;
  box-shadow:0 0 10px currentColor;
  transition:width .18s ease;
}
.public-desktop-menu a:hover,
.public-desktop-menu a.active{color:var(--cyan);transform:translateY(-1px)}
.public-desktop-menu a:hover::after,
.public-desktop-menu a.active::after{width:72%}

.public-account{
  position:relative!important;
  inset:auto!important;
  flex:0 0 auto;
  width:auto!important;
  min-width:158px!important;
  min-height:44px!important;
  height:44px!important;
  padding:0 17px!important;
  border-radius:999px;
}

.public-mobile-controls,
.public-mobile-menu{display:none}

/* La transition visuelle se fait uniquement par le fondu du visuel vers --header-tail. */
.visual-header + .public-nav-bar{margin-top:0}

@media(max-width:980px){
  .public-nav-bar{background:linear-gradient(180deg,#060b22 0%,#07102a 100%)}
  .public-nav-inner{
    width:calc(100% - 22px);
    min-height:58px;
    justify-content:space-between;
    gap:10px;
  }
  .public-desktop-menu{display:none}
  .public-mobile-controls{display:block}
  .public-mobile-toggle{
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:0 14px;
    border:1px solid rgba(112,165,255,.18);
    border-radius:999px;
    background:rgba(15,23,42,.92);
    color:#fff;
    font:800 .8rem/1 inherit;
    cursor:pointer;
    box-shadow:none;
  }
  .public-mobile-toggle:hover{background:rgba(20,32,58,.98)}
  .public-mobile-toggle .burger{display:grid;gap:3px}
  .public-mobile-toggle .burger i{display:block;width:17px;height:2px;background:#fff;border-radius:2px}
  .public-account{min-width:145px!important;min-height:42px!important;height:42px!important;font-size:.78rem!important}
  .public-mobile-menu{
    display:none;
    width:calc(100% - 22px);
    margin:0 auto 10px;
    padding:8px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    background:rgba(6,11,34,.98);
  }
  .public-mobile-menu.open{display:grid}
  .public-mobile-menu a{
    padding:10px 12px;
    border-radius:10px;
    color:#dce6ff;
    text-decoration:none;
    font-size:.8rem;
    font-weight:750;
    background:rgba(255,255,255,.035);
  }
  .public-mobile-menu a:hover{background:rgba(32,220,255,.07);color:#fff}
}

@media(max-width:430px){
  .public-nav-inner{width:calc(100% - 16px)}
  .public-account{min-width:136px!important;padding-inline:13px!important;font-size:.73rem!important}
  .public-mobile-menu{width:calc(100% - 16px);grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .public-desktop-menu a{transition:none}
}


/* =========================================================
   V2.9.0 — Finition header/footer responsive + Réalisations
   ========================================================= */
.visual-header + .public-nav-bar{
  margin-top:-34px;
  padding-top:34px;
  background:transparent;
  box-shadow:none;
  border:0;
}
.visual-header::after{
  height:42%;
  background:linear-gradient(180deg,rgba(6,11,34,0) 0%,rgba(6,11,34,.10) 28%,rgba(6,11,34,.42) 55%,rgba(6,11,34,.78) 76%,var(--header-tail) 100%);
}
.public-nav-inner{
  width:min(100% - 44px,1780px);
  min-height:66px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(260px,1fr);
  align-items:center;
  gap:0;
  justify-content:initial;
}
.public-desktop-menu{grid-column:2;gap:clamp(18px,1.5vw,31px)}
.public-account{
  grid-column:3;
  justify-self:end;
  margin-left:0;
  min-width:158px!important;
}
.public-nav-bar{background:transparent}

/* Réalisations publiques */
.portfolio-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 24px}
.portfolio-filter{appearance:none;border:1px solid rgba(105,167,255,.16);background:rgba(6,18,51,.68);color:#cfe0ff;padding:9px 13px;border-radius:999px;font:800 .74rem/1.1 inherit;cursor:pointer;transition:.18s ease}
.portfolio-filter:hover,.portfolio-filter.active{border-color:rgba(32,220,255,.38);color:#fff;background:linear-gradient(90deg,rgba(32,220,255,.10),rgba(149,88,255,.10));box-shadow:0 0 18px rgba(32,220,255,.06)}
.portfolio-project-card[hidden]{display:none!important}
.project-visual video{width:100%;height:100%;display:block;object-fit:cover;background:#020817}
.project-audio-cover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;background:#020817}
.project-audio-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.project-audio-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,9,29,.08),rgba(3,9,29,.92))}
.project-audio-cover audio{position:relative;z-index:2;width:calc(100% - 24px);margin:0 12px 12px}
.project-media-icon{position:absolute;z-index:1;inset:0;display:grid;place-items:center;font-size:5rem;color:#fff;text-shadow:0 0 35px var(--cyan)}
.portfolio-empty{padding:24px;text-align:center;border-radius:18px;border:1px dashed rgba(104,167,255,.18);color:#9fb0d5}
.portfolio-empty-state{padding:46px 24px;text-align:center;border-radius:24px;border:1px solid rgba(104,167,255,.14);background:rgba(6,18,51,.58)}
.portfolio-empty-state strong{font-size:1.2rem}
.portfolio-empty-state p{margin-bottom:0}

/* Administration Réalisations */
.portfolio-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.95fr);gap:18px;align-items:start}
.portfolio-switches{display:flex;gap:18px;flex-wrap:wrap;padding:11px 12px;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:rgba(255,255,255,.018)}
.portfolio-switches .checkbox{display:flex;align-items:center;gap:8px}
.portfolio-existing{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:13px;background:rgba(32,220,255,.035);border:1px solid rgba(32,220,255,.11);color:#9fb0d5;font-size:.75rem}
.portfolio-admin-preview{width:150px;height:82px;object-fit:cover;border-radius:10px}
.portfolio-category-list{display:grid;gap:8px;margin-bottom:13px}
.portfolio-category-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:12px;background:#050d27;border:1px solid rgba(255,255,255,.055)}
.portfolio-category-item span{font-size:.78rem;color:#dce8ff}
.portfolio-category-item .btn{min-height:33px;padding-inline:10px;font-size:.7rem}
.portfolio-category-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.portfolio-category-add input{width:100%;border:1px solid rgba(106,165,255,.2);border-radius:12px;background:#030b25;color:#fff;padding:10px 12px;outline:none;font:inherit}
.portfolio-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.portfolio-admin-list{display:grid;gap:10px}
.portfolio-admin-card{display:grid;grid-template-columns:94px minmax(0,1fr) auto;gap:13px;align-items:center;padding:11px;border-radius:15px;border:1px solid rgba(255,255,255,.06);background:#050d27}
.portfolio-admin-thumb{width:94px;height:68px;border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#123c8c,#8f227f 54%,#ff714d);display:grid;place-items:center;color:#fff;font-weight:950}
.portfolio-admin-thumb img{width:100%;height:100%;object-fit:cover}
.portfolio-admin-info{min-width:0}.portfolio-admin-info h3{margin:5px 0 3px;font-size:.95rem}.portfolio-admin-info p{margin:0;font-size:.73rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portfolio-admin-info small{display:block;margin-top:6px;color:#7186b1;font-size:.66rem}.portfolio-admin-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.portfolio-unpublished{border-color:rgba(255,151,41,.25);color:#ffd49b;background:rgba(255,151,41,.06)}

/* Footer mobile premium */
@media(max-width:980px){
  .visual-header + .public-nav-bar{margin-top:-28px;padding-top:28px}
  .public-nav-inner{width:calc(100% - 22px);display:flex;justify-content:space-between;gap:12px}
  .public-desktop-menu{display:none}
  .public-mobile-controls{display:block}
  .public-account{display:flex!important;grid-column:auto;justify-self:auto;margin-left:auto;min-width:150px!important;min-height:42px!important;height:42px!important;font-size:.78rem!important}
}
@media(max-width:700px){
  .visual-header{height:260px;min-height:260px}
  .visual-header + .public-nav-bar{margin-top:-22px;padding-top:22px}
  .public-nav-inner{width:calc(100% - 22px);min-height:60px}
  .public-account{min-width:145px!important}
  .site-footer{margin-top:26px;padding:38px 0 22px}
  .footer-main{grid-template-columns:1fr 1fr;gap:22px 16px}
  .footer-brand{grid-column:1/-1;text-align:center}
  .footer-logo{width:180px;margin:0 auto 9px}
  .footer-brand p{max-width:620px;margin-inline:auto;font-size:.78rem}
  .footer-title{font-size:.64rem;margin:4px 0 10px}
  .footer-links{gap:7px}
  .footer-links a{font-size:.76rem}
  .footer-bottom{display:grid;justify-items:center;text-align:center;gap:6px;margin-top:23px;padding-top:15px}
  .footer-bottom p{font-size:.69rem}
}
@media(max-width:430px){
  .visual-header{height:235px;min-height:235px}
  .public-nav-inner{width:calc(100% - 16px);gap:8px}
  .public-mobile-toggle{min-height:40px;padding-inline:12px;font-size:.75rem}
  .public-account{min-width:136px!important;padding-inline:12px!important;font-size:.72rem!important}
  .public-mobile-menu{width:calc(100% - 16px)}
  .footer-main{gap:20px 13px}
  .footer-links a{font-size:.72rem}
  .footer-bottom p{font-size:.65rem}
}
@media(max-width:350px){
  .public-account{min-width:126px!important;font-size:.68rem!important}
  .public-mobile-toggle{font-size:.7rem;padding-inline:10px}
}
@media(max-width:900px){.portfolio-admin-layout{grid-template-columns:1fr}.portfolio-admin-card{grid-template-columns:82px minmax(0,1fr)}.portfolio-admin-card>.admin-actions{grid-column:1/-1;justify-content:flex-end}.portfolio-admin-thumb{width:82px;height:62px}}
@media(max-width:560px){.portfolio-category-add{grid-template-columns:1fr}.portfolio-admin-card{grid-template-columns:1fr}.portfolio-admin-thumb{width:100%;height:150px}.portfolio-admin-card>.admin-actions{justify-content:flex-start}}
/* V2.9.0 final nav blend: old dark tone returns progressively, without a hard seam. */
.public-nav-bar{
  background:linear-gradient(180deg,rgba(6,11,34,0) 0%,rgba(6,11,34,.68) 24%,rgba(6,11,34,.96) 62%,#060b22 100%);
}
@media(max-width:980px){
  .public-nav-bar{
    background:linear-gradient(180deg,rgba(6,11,34,0) 0%,rgba(6,11,34,.82) 24%,#060b22 58%,#060b22 100%);
  }
}

/* V2.9.4 — Réalisations : visuels portrait + audio */
.portfolio-project-card.portfolio-portrait .project-visual{
  aspect-ratio:3/4;
  background:linear-gradient(145deg,rgba(10,25,62,.96),rgba(4,10,34,.98));
}
.portfolio-project-card.portfolio-portrait .project-visual img{
  object-fit:cover;
}
.portfolio-project-card.portfolio-audio .project-visual{
  aspect-ratio:16/10;
}
.portfolio-project-card.portfolio-audio .project-audio-cover{
  background:
    radial-gradient(circle at 28% 22%,rgba(32,220,255,.20),transparent 26%),
    radial-gradient(circle at 78% 72%,rgba(255,53,188,.18),transparent 30%),
    linear-gradient(145deg,#08183e,#040a25);
}

/* V2.10.0 — Réalisations / transparence / médias portrait / footer mobile */
.portfolio-project-card.portfolio-portrait .project-visual img,
.portfolio-project-card.portfolio-video-portrait .project-visual video{
  object-fit:contain;
  background:#020817;
}
.portfolio-project-card.portfolio-video-portrait .project-visual{
  aspect-ratio:9/16;
  background:linear-gradient(145deg,rgba(10,25,62,.96),rgba(4,10,34,.98));
}
.portfolio-project-card.portfolio-video-portrait .project-visual video{
  width:100%;height:100%;display:block;
}
.portfolio-transparency{
  margin:26px auto 0;
  max-width:980px;
  padding:16px 20px;
  border:1px solid rgba(32,220,255,.16);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(8,24,58,.72),rgba(4,10,30,.82));
  color:#9fb2d8;
  font-size:.78rem;
  line-height:1.55;
  text-align:center;
}
.portfolio-transparency strong{color:#fff}
.portfolio-demo-pill{color:#ffe1a8;border-color:rgba(255,151,41,.28);background:rgba(255,151,41,.08)}
@media(max-width:700px){
  .footer-main{grid-template-columns:1fr 1fr;gap:24px 16px}
  .footer-brand{grid-column:1/-1}
  .footer-logo{width:185px}
  .footer-bottom{display:grid;justify-items:center;text-align:center;gap:7px}
}
@media(max-width:430px){
  .footer-main{grid-template-columns:1fr;gap:20px}
  .footer-brand{grid-column:auto}
}
.footer-payment-block{margin-top:22px}
.footer-payment-label{margin-bottom:10px;color:#93a8cf;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.footer-payments{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative;z-index:1}
.payment-logo{display:inline-flex;align-items:center;justify-content:center;width:58px;height:34px;padding:6px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#fff;box-shadow:0 7px 20px rgba(0,0,0,.16),0 0 16px rgba(32,220,255,.06);overflow:hidden}
.payment-logo-wide{width:78px}
.payment-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.payment-logo:first-child img{max-height:27px}
@media(max-width:700px){.footer-payment-block{margin-top:18px}.footer-payments{gap:7px}.payment-logo{width:55px;height:32px}.payment-logo-wide{width:74px}}
@media(max-width:430px){.footer-payment-label{text-align:left}.footer-payments{justify-content:flex-start}}


/* V2.14.2 — Réalisations : implantation multi-format premium */
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
.portfolio-project-card{
  align-self:start;
  min-width:0;
  overflow:hidden;
  border-radius:24px;
}
.portfolio-project-card .project-visual{
  width:100%;
  overflow:hidden;
  border-bottom:1px solid rgba(100,164,255,.12);
}
.portfolio-project-card .project-body{
  min-width:0;
}
.portfolio-logo .project-visual{
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  padding:clamp(20px,2.2vw,34px);
  background:
    radial-gradient(circle at 30% 18%,rgba(32,220,255,.13),transparent 32%),
    radial-gradient(circle at 78% 82%,rgba(255,53,188,.12),transparent 34%),
    linear-gradient(145deg,#07132f,#03091d);
}
.portfolio-logo .project-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.portfolio-flyer .project-visual{
  aspect-ratio:3/4;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#07132f,#020817);
}
.portfolio-flyer .project-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.portfolio-video-portrait .project-visual{
  aspect-ratio:9/16;
  display:grid;
  place-items:center;
  background:#020817;
}
.portfolio-video-portrait .project-visual video{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#020817;
}
.portfolio-audio .project-visual{
  aspect-ratio:16/9;
}
.portfolio-audio .project-audio-cover{
  width:100%;
  height:100%;
}
@media(max-width:980px){
  .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media(max-width:620px){
  .portfolio-grid{grid-template-columns:1fr;gap:18px}
  .portfolio-logo .project-visual{padding:24px}
}

/* V2.14.2b — masonry : supprime les trous entre formats */
@media(min-width:621px){
  .portfolio-grid{grid-auto-rows:8px;column-gap:24px;row-gap:16px}
  .portfolio-project-card{margin:0}
}
@media(max-width:980px) and (min-width:621px){.portfolio-grid{column-gap:20px;row-gap:14px}}


/* V2.14.3 — Réalisations : grille droite, uniforme, sans débordement */
.portfolio-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;grid-auto-rows:auto!important;align-items:stretch!important}
.portfolio-project-card{display:flex!important;flex-direction:column!important;height:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;align-self:stretch!important;overflow:hidden!important;border-radius:24px!important}
.portfolio-project-card .project-visual,.portfolio-logo .project-visual,.portfolio-flyer .project-visual,.portfolio-video-portrait .project-visual,.portfolio-audio .project-visual{width:100%!important;max-width:100%!important;height:360px!important;min-height:360px!important;aspect-ratio:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;overflow:hidden!important;background:linear-gradient(145deg,#07132f,#020817)!important;box-sizing:border-box!important}
.portfolio-project-card .project-visual>img,.portfolio-logo .project-visual img,.portfolio-flyer .project-visual img,.portfolio-video-portrait .project-visual video{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;transform:none!important}
.portfolio-audio .project-audio-cover{width:100%!important;height:100%!important;max-width:100%!important;overflow:hidden!important;border-radius:16px!important}
.portfolio-project-card .project-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-width:0!important;min-height:190px!important;box-sizing:border-box!important}
.portfolio-project-card .project-body p{margin-bottom:0!important}
.portfolio-project-card .project-body .more-link{margin-top:auto!important;padding-top:18px!important}
@media(max-width:980px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}.portfolio-project-card .project-visual,.portfolio-logo .project-visual,.portfolio-flyer .project-visual,.portfolio-video-portrait .project-visual,.portfolio-audio .project-visual{height:330px!important;min-height:330px!important}}
@media(max-width:620px){.portfolio-grid{grid-template-columns:1fr!important;gap:18px!important}.portfolio-project-card .project-visual,.portfolio-logo .project-visual,.portfolio-flyer .project-visual,.portfolio-video-portrait .project-visual,.portfolio-audio .project-visual{height:360px!important;min-height:360px!important;padding:14px!important}.portfolio-project-card .project-body{min-height:0!important}}

/* V2.14.5 — portfolio lightbox, media premium, corrections source */
.portfolio-project-card .project-visual[data-lightbox-src]{cursor:zoom-in;position:relative}.portfolio-project-card .project-visual[data-lightbox-src]::after{content:'⌕';position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:rgba(3,9,29,.72);border:1px solid rgba(32,220,255,.28);color:#fff;font-size:18px;opacity:0;transition:.18s}.portfolio-project-card .project-visual[data-lightbox-src]:hover::after{opacity:1}
.portfolio-lightbox[hidden]{display:none!important}.portfolio-lightbox{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:28px}.portfolio-lightbox-backdrop{position:absolute;inset:0;background:rgba(1,4,15,.93);backdrop-filter:blur(16px)}.portfolio-lightbox-dialog{position:relative;z-index:1;display:grid;place-items:center;max-width:min(94vw,1300px);max-height:92vh;padding:20px;border-radius:24px;border:1px solid rgba(32,220,255,.22);background:linear-gradient(145deg,#07132f,#020817);box-shadow:0 40px 120px rgba(0,0,0,.65)}.portfolio-lightbox-dialog img{max-width:88vw;max-height:82vh;object-fit:contain;border-radius:14px}.portfolio-lightbox-close,.portfolio-lightbox-prev,.portfolio-lightbox-next{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.14);background:rgba(3,9,29,.82);color:#fff;cursor:pointer;display:grid;place-items:center}.portfolio-lightbox-close{right:14px;top:14px;width:42px;height:42px;border-radius:50%;font-size:28px}.portfolio-lightbox-prev,.portfolio-lightbox-next{top:50%;width:48px;height:64px;border-radius:16px;font-size:40px;transform:translateY(-50%)}.portfolio-lightbox-prev{left:14px}.portfolio-lightbox-next{right:14px}.portfolio-lightbox-caption{margin-top:12px;color:#dfeaff;font-weight:800}.portfolio-modal-open{overflow:hidden}
.portfolio-video-portrait .project-visual,.portfolio-audio .project-visual{position:relative;flex-direction:column!important}.portfolio-video-portrait video{width:100%!important;height:calc(100% - 54px)!important;object-fit:contain!important;border-radius:14px!important;background:#000}.portfolio-audio .project-audio-cover{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-end!important;background:radial-gradient(circle at 50% 36%,rgba(32,220,255,.18),transparent 28%),linear-gradient(145deg,#09183a,#03091d)!important}.portfolio-audio .project-media-icon{margin:auto!important;font-size:48px!important;text-shadow:0 0 24px rgba(32,220,255,.8)}.portfolio-media-controls{width:100%;min-height:50px;display:grid;grid-template-columns:auto minmax(70px,1fr) auto auto 72px;gap:8px;align-items:center;padding:9px 10px;border-radius:14px;background:linear-gradient(90deg,rgba(8,25,56,.96),rgba(16,13,52,.96));border:1px solid rgba(32,220,255,.16);box-shadow:0 0 24px rgba(32,220,255,.05)}.portfolio-media-controls.is-video{grid-template-columns:auto minmax(70px,1fr) auto auto 72px auto}.portfolio-media-controls button{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#07142f;color:#fff;cursor:pointer}.portfolio-media-controls input[type=range]{min-width:0;accent-color:#20dcff}.pm-time{font-size:11px;color:#b9caeb;white-space:nowrap}.portfolio-project-card audio{display:none!important}
@media(max-width:620px){.portfolio-media-controls{grid-template-columns:auto minmax(60px,1fr) auto auto}.pm-volume{display:none}.portfolio-media-controls.is-video{grid-template-columns:auto minmax(60px,1fr) auto auto auto}.portfolio-lightbox{padding:12px}.portfolio-lightbox-dialog{padding:12px}.portfolio-lightbox-prev{left:6px}.portfolio-lightbox-next{right:6px}}

/* V2.14.7 — player Réalisations : contrôles réellement cliquables */
.portfolio-audio .project-media-icon{pointer-events:none!important;position:relative;z-index:1!important}
.portfolio-media-controls{position:relative!important;z-index:5!important;pointer-events:auto!important}
