*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --acc:#FF4500;--bg:#080808;--fg:#F0EDE6;
  --fd:rgba(240,237,230,.45);--ff:rgba(240,237,230,.11);
  --fd2:rgba(240,237,230,.2);
  --font-d:'Bebas Neue',sans-serif;
  --font-b:'DM Sans',sans-serif;
  --font-m:'DM Mono',monospace;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--bg);color:var(--fg);font-family:var(--font-b);cursor:none;overflow-x:hidden;min-height:100vh}
body::before{content:'';position:fixed;inset:0;z-index:9990;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.03;animation:grain .8s steps(2) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}25%{transform:translate(-1px,1px)}50%{transform:translate(1px,-1px)}75%{transform:translate(-1px,-1px)}}
#cur{position:fixed;width:10px;height:10px;background:var(--acc);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,transform .08s;opacity:0}
#cur-ring{position:fixed;width:38px;height:38px;border:1px solid rgba(255,69,0,.4);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .25s,height .25s,opacity .25s;opacity:0}
.page{display:none;animation:pgIn .35s ease forwards}
.page.active{display:block}
@keyframes pgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
header{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:rgba(8,8,8,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--ff)}
.logo{font-family:var(--font-d);font-size:22px;letter-spacing:.15em;color:var(--fg);text-decoration:none;cursor:none;background:none;border:none}
nav{display:flex;gap: 8px;margin-top: 4px;align-items:center}
nav a,nav button{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--fd);text-decoration:none;transition:color .2s;cursor:none;background:none;border:none;padding:4px 0;border-bottom:1px solid transparent;font-family:var(--font-b)}
nav a:hover,nav button:hover,nav a.active,nav button.active{color:var(--fg)}
nav a.active,nav button.active{border-bottom-color:var(--acc)}
.ndot{width:3px;height:3px;background:var(--ff);border-radius:50%}
.loc{position:fixed;left:0;top:50%;transform-origin:left center;transform:translateX(0) translateY(-50%) rotate(-90deg) translateX(-50%);z-index:50;font-size:8px;letter-spacing:.22em;color:var(--ff);white-space:nowrap;pointer-events:none}
.loc span{display:inline-block;animation:locScroll 22s linear infinite}
@keyframes locScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.rv{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.rv.vi{opacity:1;transform:translateY(0)}
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:100px 32px 60px;position:relative;overflow:hidden}
.hero-ey{font-size:9px;letter-spacing:.42em;text-transform:uppercase;color:var(--acc);margin-bottom:28px;opacity:0;animation:fadeUp .8s .2s forwards}
.hero-title{font-family:var(--font-d);font-size:clamp(72px,13vw,180px);line-height:.9;letter-spacing:.02em;text-align:center}
.hero-line{overflow:hidden;display:block}
.hero-line span{display:block;opacity:0;transform:translateY(100%);animation:slideUp .9s cubic-bezier(.22,1,.36,1) forwards}
.hero-line:nth-child(1) span{animation-delay:.1s}
.hero-line:nth-child(2) span{animation-delay:.22s}
.hero-line:nth-child(3) span{animation-delay:.34s}
.hero-tagline{max-width:500px;text-align:center;margin-top:40px;font-size:13px;line-height:1.85;color:var(--fd);font-weight:300;opacity:0;animation:fadeUp .8s .85s forwards}
.hero-actions{display:flex;gap:20px;margin-top:48px;opacity:0;animation:fadeUp .8s 1.05s forwards;flex-wrap:wrap;justify-content:center}
.accent-dot{position:absolute;width:8px;height:8px;background:var(--acc);border-radius:50%;bottom:44px;left:50%;transform:translateX(-50%);animation:pulse 2.5s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:translateX(-50%) scale(1);opacity:1}50%{transform:translateX(-50%) scale(1.8);opacity:.3}}
.id-card{position: relative;bottom:24px;left:24px;z-index:50;opacity:0;animation:fadeUp .8s 1.3s forwards}
.id-card p{font-size:9px;letter-spacing:.12em;color:var(--fd);line-height:2;text-transform:uppercase}
.id-card .idn{color:var(--fg);font-weight:500}
.scroll-hint{position:fixed;bottom:24px;right:24px;z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeUp .8s 1.5s forwards}
.scroll-hint span{font-size:8px;letter-spacing:.2em;color:var(--ff);writing-mode:vertical-lr}
.scroll-line{width:1px;height:36px;background:var(--ff);overflow:hidden;position:relative}
.scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--acc);animation:sline 2s ease-in-out infinite}
@keyframes sline{0%{top:-100%}100%{top:100%}}
.btn-p{font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:13px 32px;border:1px solid var(--acc);color:var(--fg);background:transparent;text-decoration:none;transition:all .25s;position:relative;overflow:hidden;cursor:none;display:inline-block;font-family:var(--font-b)}
.btn-p::before{content:'';position:absolute;inset:0;background:var(--acc);transform:translateX(-101%);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.btn-p:hover::before{transform:translateX(0)}
.btn-p span{position:relative;z-index:1}
.btn-s{font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:13px 24px;color:var(--fd);text-decoration:none;transition:color .2s;cursor:none;background:none;border:none;font-family:var(--font-b)}
.btn-s:hover{color:var(--fg)}
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ff);border-bottom:1px solid var(--ff);background:var(--ff);gap:1px}
.stat-item{padding:36px 40px;background:var(--bg);text-align:center}
.stat-num{font-family:var(--font-d);font-size:66px;line-height:1;letter-spacing:.02em}
.stat-num em{color:var(--acc);font-style:normal}
.stat-lab{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--fd);margin-top:8px}
.sec-hdr{padding:72px 32px 36px;display:flex;align-items:baseline;justify-content:space-between}
.sec-title{font-family:var(--font-d);font-size:clamp(52px,8vw,100px);letter-spacing:.02em}
.sec-link{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fd);text-decoration:none;transition:color .2s;cursor:none;background:none;border:none;font-family:var(--font-b)}
.sec-link:hover{color:var(--acc)}
.pg3{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ff)}
.pc{border-right:1px solid var(--ff);aspect-ratio:3/4;position:relative;overflow:hidden;text-decoration:none;color:var(--fg);cursor:none}
.pc:last-child{border-right:none}
.pc-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.pc:hover .pc-bg{transform:scale(1.05)}
.pc-img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:1;transition:opacity .4s}
.pc:hover .pc-img{opacity:.92}
.pc-col{position:absolute;inset:0;opacity:0;transition:opacity .3s}
.pc:hover .pc-col{opacity:.06}
.pc-letter{font-family:var(--font-d);font-size:180px;color:rgba(255,255,255,.05);user-select:none;line-height:1}
.pc-info{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(transparent,rgba(8,8,8,.92))}
.pc-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.pc-tag{font-size:8px;letter-spacing:.14em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--ff);color:var(--ff)}
.pc-title{font-family:var(--font-d);font-size:26px;letter-spacing:.04em;line-height:1}
.pc-sub{font-size:10px;color:var(--fd);margin-top:3px;letter-spacing:.05em}
.pc-arrow{position:absolute;top:20px;right:20px;opacity:0;transform:translate(6px,-6px);transition:all .3s;color:var(--acc);font-size:18px}
.pc:hover .pc-arrow{opacity:1;transform:translate(0,0)}
.svc-list{border-top:1px solid var(--ff)}
.svc-row{border-bottom:1px solid var(--ff);display:grid;grid-template-columns:60px 1fr 1fr auto;align-items:center;padding:24px 32px;gap:24px;cursor:none;transition:background .2s;text-decoration:none;color:var(--fg);background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;font-family:var(--font-b)}
.svc-row:hover{background:rgba(240,237,230,.02)}
.svc-num{font-family:var(--font-d);font-size:13px;color:var(--ff);letter-spacing:.1em}
.svc-name{font-family:var(--font-d);font-size:clamp(28px,4vw,52px);letter-spacing:.04em;line-height:1}
.svc-tagline{font-size:12px;color:var(--fd);letter-spacing:.04em;line-height:1.6}
.svc-tags{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}
.stag{font-size:8px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--ff);color:var(--ff)}
.marq-wrap{overflow:hidden;border-top:1px solid var(--ff);padding:0 0 60px}
.marq-track{display:flex;gap:0;white-space:nowrap;animation:marq 38s linear infinite}
.marq-track:hover{animation-play-state:paused}
.marq-item{display:inline-flex;flex-direction:column;align-items:center;padding:28px 44px;border-right:1px solid var(--ff);min-width:190px}
.marq-name{font-family:var(--font-d);font-size:16px;letter-spacing:.06em}
.marq-city{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--ff);margin-top:3px}
@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ct-strip{padding:72px 32px;border-top:1px solid var(--ff);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:32px}
.ct-strip h2{font-family:var(--font-d);font-size:clamp(40px,6vw,80px);letter-spacing:.02em;line-height:1}
.ct-strip h2 em{font-style:normal;color:var(--acc)}
.ct-right{display:flex;flex-direction:column;gap:14px;align-items:flex-end}
.ct-email{font-size:14px;letter-spacing:.08em;color:var(--fg);text-decoration:none;border-bottom:1px solid var(--ff);padding-bottom:6px;transition:border-color .2s;cursor:none}
.ct-email:hover{border-color:var(--acc)}
/* ── Footer ──────────────────────────────────────────────────── */





@media(max-width:700px){
  
  
}
footer p{font-size:9px;letter-spacing:.12em;color:var(--ff);text-transform:uppercase}
.pg-hero{padding:120px 32px 48px;border-bottom:1px solid var(--ff)}
.pg-hero-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.pg-title{font-family:var(--font-d);font-size:clamp(80px,14vw,180px);letter-spacing:.02em;line-height:.9}
.pg-count{font-family:var(--font-d);font-size:42px;color:var(--acc)}
.pg-count-lab{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--fd);margin-top:4px}
.filters{padding:20px 32px;border-bottom:1px solid var(--ff);display:flex;gap:10px;flex-wrap:wrap}
.fb{font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:7px 16px;border:1px solid var(--ff);color:var(--fd);background:transparent;cursor:none;transition:all .2s;font-family:var(--font-b)}
.fb:hover{border-color:var(--fg);color:var(--fg)}
.fb.act{border-color:var(--acc);color:var(--acc)}
.pw{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ff)}
.pcard{border-right:1px solid var(--ff);border-bottom:1px solid var(--ff);aspect-ratio:1/1.15;position:relative;overflow:hidden;text-decoration:none;color:var(--fg);cursor:none;transition:opacity .3s}
.pcard:nth-child(3n){border-right:none}
.pcard.off{display:none}
.pcard-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.pcard:hover .pcard-bg{transform:scale(1.05)}
.pcard-img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:1;transition:opacity .4s}
.pcard:hover .pcard-img{opacity:.95}
.pcard-col{position:absolute;inset:0;opacity:0;transition:opacity .3s}
.pcard:hover .pcard-col{opacity:.06}
.pcard-letter{font-family:var(--font-d);font-size:200px;color:rgba(255,255,255,.04);user-select:none;line-height:1;position:absolute}
.pcard-body{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(transparent,rgba(8,8,8,.9))}
.pcard-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:7px}
.ptag{font-size:7px;letter-spacing:.14em;text-transform:uppercase;padding:2px 6px;border:1px solid var(--ff);color:var(--ff)}
.pcard-title{font-family:var(--font-d);font-size:24px;letter-spacing:.04em;line-height:1}
.pcard-sub{font-size:9px;color:var(--fd);margin-top:2px}
.pcard-num{position:absolute;top:16px;left:16px;font-family:var(--font-d);font-size:11px;color:var(--ff);letter-spacing:.1em}
.pcard-year{position:absolute;top:16px;right:16px;font-size:9px;color:var(--ff)}
.pcard-arr{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:28px;color:var(--acc);transition:transform .3s cubic-bezier(.22,1,.36,1);opacity:0}
.pcard:hover .pcard-arr{transform:translate(-50%,-50%) scale(1);opacity:1}
.feat-pill{font-size:7px;letter-spacing:.14em;text-transform:uppercase;position:absolute;top:16px;left:50%;transform:translateX(-50%);padding:2px 8px;background:var(--acc);color:white}
.svc-block{
  border-bottom:1px solid var(--ff);
  display:grid;grid-template-columns:1fr 1fr;
  min-height:50vh;position:relative;overflow:hidden;
}
.svc-block:nth-child(even) .svl{order:2}
.svc-block:nth-child(even) .svr{order:1;border-left:none;border-right:1px solid var(--ff)}
.svl{padding:52px 44px;border-right:1px solid var(--ff);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.svl-bg-letter{position:absolute;bottom:-40px;left:-20px;font-family:var(--font-d);font-size:280px;line-height:1;pointer-events:none;user-select:none;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.svc-block:hover .svl-bg-letter{transform:scale(1.05) rotate(-3deg)}
.svl-num{font-family:var(--font-d);font-size:12px;color:var(--ff);letter-spacing:.2em;margin-bottom:28px}
.svl-title{font-family:var(--font-d);font-size:clamp(52px,7vw,88px);letter-spacing:.02em;line-height:.9;position:relative;z-index:1}
.svl-hl{font-size:13px;font-weight:300;line-height:1.75;color:var(--fd);margin-top:20px;max-width:330px;position:relative;z-index:1}
.svl-cta{
  display:inline-flex;align-items:center;gap:10px;margin-top:32px;
  font-family:var(--font-d);font-size:20px;letter-spacing:.1em;
  background:none;border:1px solid rgba(240,237,230,.3);
  color:var(--fg);padding:12px 24px;cursor:pointer;
  transition:all .25s;position:relative;overflow:hidden;
}
.svl-cta::before{content:'';position:absolute;inset:0;background:var(--acc);transform:translateX(-101%);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.svl-cta:hover::before{transform:translateX(0)}
.svl-cta span{position:relative;z-index:1}
.svl-cta:hover{border-color:var(--acc);color:var(--fg)}
.svl-cta:hover{border-bottom-color:var(--acc);color:var(--acc)}
.svr{padding:52px 44px;display:flex;flex-direction:column;justify-content:center}
.svc-items-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ff);border:1px solid var(--ff);margin-top:20px}
.svc-ig-item{padding:18px 20px;background:var(--bg);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fd);transition:all .2s;position:relative;overflow:hidden}
.svc-ig-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;transform:scaleY(0);transition:transform .2s}
.svc-ig-item:hover{color:var(--fg);background:rgba(240,237,230,.03)}
.svc-ig-item:hover::before{transform:scaleY(1)}
.svc-icon{font-size:28px;margin-bottom:16px;display:block}
.approach{padding:72px 32px;border-top:1px solid var(--ff)}
.approach h2{font-family:var(--font-d);font-size:clamp(36px,5vw,68px);margin-bottom:40px;letter-spacing:.02em}
.apg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ff)}
.api{padding:36px 28px;background:var(--bg)}
.api-step{font-family:var(--font-d);font-size:48px;color:rgb(240 237 230);letter-spacing:.04em;display:block}
.api-arrow{display:block;width:40px;height:40px;color:var(--acc);margin-bottom:8px;transition:transform .3s cubic-bezier(.22,1,.36,1),color .2s}
.api-arrow .step-arrow-svg{width:100%;height:100%}
.api:hover .api-arrow{transform:translate(3px,-3px);color:rgba(255,255,255,.9)}
.api-name{font-size: 16px;color: aqua;font-weight: 900;letter-spacing:.08em;text-transform:uppercase;margin:14px 0 10px}
.api-desc{font-size: 14px;color: rgb(240 237 230);line-height:1.75;font-weight:300}
.manifesto{padding:120px 32px 72px;max-width:920px}
.manifesto-label{font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--acc);margin-bottom:28px}
.manifesto-text{font-family:var(--font-d);font-size:clamp(44px,7vw,92px);letter-spacing:.02em;line-height:.95}
.manifesto-text em{font-style:normal;color:var(--fd)}
.manifesto-sub{font-size: 16px;font-weight:300;line-height:1.9;color: #fff;max-width:500px;margin-top:44px}
.manifesto-sub strong{font-weight:500;color:var(--fg)}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ff);border-bottom:1px solid var(--ff)}
.sc{padding:36px 28px;border-right:1px solid var(--ff);text-align:center}
.sc:last-child{border-right:none}
.sc-num{font-family:var(--font-d);font-size:56px;line-height:1;letter-spacing:.04em}
.sc-num em{color:var(--acc);font-style:normal}
.sc-lab{font-size: 12px;letter-spacing:.2em;text-transform:uppercase;color: #fff;margin-top:6px}
.vals{padding:72px 32px}
.vals h2{font-family:var(--font-d);font-size:clamp(48px,8vw,110px);letter-spacing:.02em;margin-bottom:40px;line-height:.9}
.vg{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ff)}
.vi2{padding:44px 36px;background:var(--bg)}
.vi2-num{font-family:var(--font-d);font-size:52px;color:#fff;display:block;margin-bottom:16px}
.vi2-arrow{display:block;width:36px;height:36px;color:rgba(240,237,230,.45);margin-bottom:20px;transition:color .3s,transform .3s cubic-bezier(.22,1,.36,1)}
.vi2-arrow .step-arrow-svg{width:100%;height:100%}
.vi2:hover .vi2-arrow{color:var(--acc);transform:translate(3px,-3px)}
.vi2-name{font-size: 16px;font-weight: 900;color: aqua;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.vi2-desc{font-size: 14px;color: #fff;line-height:1.8;font-weight:300}
.clients-sec{border-top:1px solid var(--ff)}
.clients-hdr{padding:52px 32px 36px;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px}
.cs-num{font-family:var(--font-d);font-size:76px;color:var(--acc);line-height:1}
.cs-lab{font-size: 12px;letter-spacing:.2em;text-transform:uppercase;color: #fff;}
.cwall{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--ff)}
.ccell{border-right:1px solid var(--ff);border-bottom:1px solid var(--ff);padding:20px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;transition:background .2s}
.ccell:nth-child(6n){border-right:none}
.ccell:hover{background:rgba(240,237,230,.03)}
.cc-name{font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.cc-city{font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:var(--ff)}
.proj-hero{min-height:75vh;display:flex;align-items:flex-end;padding:120px 32px 52px;position:relative;overflow:hidden}
.ph-next-btn{
  position:absolute;bottom:32px;right:32px;
  display:flex;flex-direction:column;align-items:flex-end;gap:2px;
  background:rgba(8,8,8,.55);border:1px solid rgba(255,255,255,.14);
  padding:10px 16px 10px 20px;border-radius:4px;
  cursor:pointer;color:rgba(240,237,230,.7);
  backdrop-filter:blur(8px);
  transition:background .2s,border-color .2s,transform .3s cubic-bezier(.22,1,.36,1),color .2s;
  text-align:right;z-index:10;font-family:var(--font-b);
}
.ph-next-btn:hover{background:rgba(8,8,8,.8);border-color:rgba(255,255,255,.3);color:rgba(240,237,230,1);transform:translateY(-3px)}
.ph-next-label{font-size:8px;letter-spacing:.2em;text-transform:uppercase;opacity:.5;margin-bottom:2px}
.ph-next-title{font-size:12px;font-weight:500;letter-spacing:.04em;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-next-arrow{width:18px;height:18px;margin-top:4px;transition:transform .2s cubic-bezier(.22,1,.36,1);align-self:flex-end}
.ph-next-btn:hover .ph-next-arrow{transform:translate(2px,-2px)}
@media(max-width:768px){.ph-next-btn{bottom:16px;right:16px;padding:8px 12px}}
.ph-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.ph-col{position:absolute;inset:0;opacity:0}
.ph-img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:.85}
.ph-letter{font-family:var(--font-d);font-size:50vw;color:rgba(255,255,255,.04);user-select:none;line-height:1;position:absolute}
.ph-content{position:relative;z-index:1;width:100%}
.ph-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.ph-tag{font-size:8px;letter-spacing:.18em;text-transform:uppercase;padding:3px 10px;border:1px solid var(--ff);color:var(--fd)}
.ph-title{font-family:var(--font-d);font-size:clamp(64px,12vw,152px);letter-spacing:.02em;line-height:.9}
.ph-sub{font-size:14px;color:var(--fd);margin-top:10px;font-weight:300;letter-spacing:.05em}
.ph-meta{display:flex;gap:44px;margin-top:36px;padding-top:28px;border-top:1px solid var(--ff);flex-wrap:wrap}
.pm-lab{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:5px}
.pm-val{font-size:12px;color:var(--fg)}
.proj-gallery{padding:0;border-bottom:1px solid var(--ff)}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--ff)}
.gallery-item{aspect-ratio:16/9;overflow:hidden;position:relative;background:#111}
.gallery-item:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:16/9}
.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover}
.gallery-empty{padding:64px 32px;text-align:center;color:var(--fd);font-size:13px}

.proj-desc p{font-size:15px;color:var(--fd);line-height:1.85;font-weight:300}
.proj-nav-bar{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ff)}

.pnb:first-child{border-right:1px solid var(--ff)}
.pnb:last-child{text-align:right}
.pnb:hover{background:rgba(240,237,230,.02)}
.pnb-dir{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--ff);margin-bottom:10px}
.pnb-title{font-family:var(--font-d);font-size:28px;letter-spacing:.04em}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideUp{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}
/* =============== LOGIN PAGE =============== */
#pg-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}
.login-box{width:360px;padding:48px 40px;border:1px solid var(--ff);position:relative}
.login-logo{font-family:var(--font-d);font-size:32px;letter-spacing:.15em;margin-bottom:8px}
.login-sub{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fd);margin-bottom:40px}
.login-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fd);margin-bottom:8px;display:block}
.login-input{width:100%;padding:12px 16px;background:rgba(240,237,230,.04);border:1px solid var(--ff);color:var(--fg);font-family:var(--font-b);font-size:13px;outline:none;transition:border-color .2s;margin-bottom:16px}
.login-input:focus{border-color:var(--fd2)}
.login-btn{width:100%;padding:13px;background:var(--acc);border:1px solid var(--acc);color:#fff;font-family:var(--font-d);font-size:20px;letter-spacing:.1em;cursor:pointer;transition:background .2s;margin-top:8px}
.login-btn:hover{background:#ff5a1a}
.login-err{font-size:11px;color:#ef4444;margin-top:12px;text-align:center;display:none}
.login-corner{position:absolute;width:20px;height:20px;border-color:var(--acc);border-style:solid}
.login-corner.tl{top:-1px;left:-1px;border-width:2px 0 0 2px}
.login-corner.tr{top:-1px;right:-1px;border-width:2px 2px 0 0}
.login-corner.bl{bottom:-1px;left:-1px;border-width:0 0 2px 2px}
.login-corner.br{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
/* =============== BACK OFFICE =============== */
#pg-bo{min-height:100vh}
.bo-layout{display:flex;min-height:100vh;height:100vh;overflow:hidden}
.bo-sidebar{width:220px;flex-shrink:0;background:#0C0C0E;border-right:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;height:100vh;overflow:hidden}
.bo-brand{padding:18px 18px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:9px}
.bo-logo-t{font-family:var(--font-d);font-size:16px;letter-spacing:.12em}
.bo-badge{font-size:9px;padding:2px 6px;background:rgba(255,69,0,.15);color:var(--acc);border-radius:3px;font-weight:500}
.bo-nav{padding:12px 0;flex:1;display:flex;flex-direction:column;align-items:stretch;overflow-y:auto}
.bo-ng{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,230,224,.2);padding:8px 16px 3px}
.bo-ni{display:flex;align-items:center;gap:9px;padding:9px 16px;cursor:pointer;font-size:12px;color:rgba(232,230,224,.5);transition:all .15s;border-left:2px solid transparent;user-select:none;background:none;border-right:none;border-top:none;border-bottom:none;width:100%;text-align:left;font-family:var(--font-b)}
.bo-ni:hover{background:rgba(255,255,255,.04);color:var(--fg)}
.bo-ni.act{background:rgba(255,255,255,.05);color:var(--fg);border-left-color:var(--acc)}
.bo-ni-ic{font-size:13px;width:16px;text-align:center;flex-shrink:0}
.bo-ni-bd{margin-left:auto;font-size:9px;padding:1px 6px;background:rgba(255,255,255,.08);border-radius:10px;color:rgba(232,230,224,.5)}
.bo-sf{padding:14px;border-top:1px solid rgba(255,255,255,.07)}
.vsb{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:8px;border:1px solid rgba(255,255,255,.12);background:transparent;color:rgba(232,230,224,.5);font-size:11px;border-radius:4px;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.vsb:hover{border-color:rgba(232,230,224,.35);color:var(--fg)}
.bo-main{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column}
.bo-topbar{padding:0 24px;height:52px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;background:#0C0C0E;flex-shrink:0}
.bo-st{display:flex;align-items:center;gap:8px;font-size:11px;color:rgba(232,230,224,.45)}
.bo-st-dot{width:5px;height:5px;border-radius:50%;background:#22C55E;flex-shrink:0}
.bo-acts{display:flex;gap:8px;align-items:center}
.bb{font-size:11px;padding:6px 14px;border-radius:4px;cursor:pointer;font-family:var(--font-b);font-weight:500;transition:all .18s;letter-spacing:.02em}
.bb-out{background:transparent;border:1px solid rgba(255,255,255,.14);color:rgba(232,230,224,.6)}
.bb-out:hover{border-color:rgba(232,230,224,.35);color:var(--fg)}
.bb-pri{background:var(--acc);border:1px solid var(--acc);color:#fff}
.bb-pri:hover{background:#ff5a1a}
.bb-sm{padding:4px 10px;font-size:10px}
.bb-danger{background:transparent;border:1px solid rgba(239,68,68,.3);color:rgba(239,68,68,.7)}
.bb-danger:hover{background:rgba(239,68,68,.08);border-color:#ef4444;color:#ef4444}
.bo-content{flex:1;overflow-y:auto;padding:20px;min-height:0}
.bo-content::-webkit-scrollbar{width:4px;height:4px}
.bo-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
.bc{background:#131316;border:1px solid rgba(255,255,255,.07);border-radius:7px;overflow:hidden;margin-bottom:12px}
.bc-hdr{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between}
.bc-title{font-size:12px;font-weight:500}
.bc-body{padding:18px}
.boh{display:none}
.pr-list{display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.07)}
.pr{background:#131316;padding:12px 16px;display:grid;grid-template-columns:24px 1fr auto auto;gap:10px;align-items:center;transition:background .15s}
.pr:hover{background:#1A1A1F}
.dh{color:rgba(232,230,224,.2);font-size:14px;text-align:center;cursor:grab}
.pr-title{font-size:12px;font-weight:500;margin-bottom:2px}
.pr-meta{font-size:10px;color:rgba(232,230,224,.45);display:flex;gap:6px;flex-wrap:wrap}
.tp{font-size:8px;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border:1px solid rgba(255,255,255,.14);color:rgba(232,230,224,.5);border-radius:3px}
.fp{background:rgba(250,204,21,.1);color:#FACC15;border-color:rgba(250,204,21,.2)}
.pr-acts{display:flex;gap:5px;align-items:center}
.tog2{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:11px;color:rgba(232,230,224,.55)}
.tog2 input[type=checkbox]{appearance:none;width:32px;height:17px;background:rgba(255,255,255,.15);border-radius:9px;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}
.tog2 input[type=checkbox]:checked{background:var(--acc)}
.tog2 input[type=checkbox]::after{content:'';position:absolute;top:2px;left:2px;width:13px;height:13px;background:#fff;border-radius:50%;transition:transform .2s}
.tog2 input[type=checkbox]:checked::after{transform:translateX(15px)}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sca{background:#131316;border:1px solid rgba(255,255,255,.07);border-radius:7px;overflow:hidden}
.sca-hdr{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07)}
.sca-name{font-size:15px;font-weight:500;letter-spacing:.08em}
.sca-body{padding:14px 16px}
.sca-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}
.sca-tag{font-size:9px;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;background:#1A1A1F;border:1px solid rgba(255,255,255,.07);border-radius:3px;color:rgba(232,230,224,.5)}
.sca-hl{font-size:10px;color:rgba(232,230,224,.3);font-style:italic;line-height:1.5}
.csrch-wrap{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:8px}
.csrch-in{flex:1;background:transparent;border:none;outline:none;color:var(--fg);font-family:var(--font-b);font-size:12px}
.cg2{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.07)}
.cc2{background:#131316;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;transition:background .15s}
.cc2:hover{background:#1A1A1F}
.cc2-n{font-size:11px;font-weight:500;margin-bottom:2px}
.cc2-c{font-size:9px;color:rgba(232,230,224,.35)}
.tp-prev{border-radius:7px;overflow:hidden;margin-top:14px;border:1px solid rgba(255,255,255,.07);min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:background .3s}
.bo-sbar{background:#0C0C0E;padding:5px 18px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;font-size:9px;color:rgba(232,230,224,.3)}
.fg2{margin-bottom:14px}
.fl2{font-size:10px;letter-spacing:.06em;color:rgba(232,230,224,.5);margin-bottom:5px;display:block;text-transform:uppercase}
.fi2,.fta2,.fse2{width:100%;padding:8px 10px;background:#080808;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--fg);font-family:var(--font-b);font-size:12px;transition:border-color .15s;outline:none}
.fi2:focus,.fta2:focus,.fse2:focus{border-color:rgba(255,255,255,.25)}
.fta2{resize:vertical;min-height:72px}
.fse2 option{background:#131316}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* media upload */
.media-zone{border:1px dashed rgba(255,255,255,.2);border-radius:6px;padding:28px;text-align:center;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}
.media-zone:hover{border-color:var(--acc);background:rgba(255,69,0,.04)}
.media-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.media-zone p{font-size:12px;color:rgba(232,230,224,.4);line-height:1.6}
.media-zone span{color:var(--acc);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.media-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.media-thumb{aspect-ratio:16/9;border-radius:4px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.1)}
.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover}
.media-thumb-del{position:absolute;top:4px;right:4px;width:20px;height:20px;background:rgba(0,0,0,.7);border:none;color:#fff;font-size:11px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}
.media-thumb-del:hover{background:rgba(239,68,68,.8)}
/* seo panel */
.seo-preview{background:#fff;border-radius:6px;padding:14px 16px;margin-top:10px}
.seo-preview-url{font-size:11px;color:#1a0dab;margin-bottom:3px}
.seo-preview-title{font-size:16px;color:#1a0dab;font-weight:400;margin-bottom:3px}
.seo-preview-desc{font-size:12px;color:#4d5156;line-height:1.5}
.seo-score{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.seo-pill{font-size:10px;padding:3px 10px;border-radius:10px;font-weight:500}
.seo-ok{background:#d4edda;color:#155724}
.seo-warn{background:#fff3cd;color:#856404}
.seo-err{background:#f8d7da;color:#721c24}
/* modal */
.mo{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:800;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.mo.open{opacity:1;pointer-events:all}
.mbox{background:#131316;border:1px solid rgba(255,255,255,.14);border-radius:8px;width:640px;max-width:96vw;max-height:88vh;overflow-y:auto}
.mh{padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between}
.mh-t{font-size:14px;font-weight:500}
.mh-x{background:none;border:none;color:rgba(232,230,224,.4);cursor:pointer;font-size:20px;line-height:1;padding:0;transition:color .15s}
.mh-x:hover{color:var(--fg)}
.mb{padding:20px}
.mf{padding:14px 20px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:flex-end;gap:8px}
/* toast */
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(70px);background:#131316;border:1px solid rgba(255,255,255,.14);padding:10px 24px;border-radius:7px;font-size:12px;z-index:999;transition:transform .3s cubic-bezier(.22,1,.36,1);display:flex;align-items:center;gap:8px;white-space:nowrap}
#toast.show{transform:translateX(-50%) translateY(0)}
.t-dot{width:5px;height:5px;border-radius:50%;background:#22C55E;flex-shrink:0}
/* responsive */
@media(max-width:900px){
  .pg3{grid-template-columns:1fr 1fr}
  .pw{grid-template-columns:1fr 1fr}
  .svc-block,.sg,.vg,.fr2,.cg2,.apg,.stats-row{grid-template-columns:1fr}
  .svc-row{grid-template-columns:1fr;padding:18px 16px;gap:8px}
  .svc-name{font-size:clamp(28px,7vw,52px)}
  .svc-tags{justify-content:flex-start;margin-top:6px}
  .svc-tagline{display:none}
  .cwall{grid-template-columns:repeat(3,1fr)}
  .cwall .ccell:nth-child(6n){border-right:1px solid var(--ff)}
  .cwall .ccell:nth-child(3n){border-right:none}
  .bo-sidebar{width:52px}
  .bo-ni span:not(.bo-ni-ic){display:none}
  .bo-ni-bd{display:none}
  .bo-brand .bo-badge,.bo-ng{display:none}
  .vsb span{display:none}
  header{padding:14px 20px;display: math;gap: 14px !important;/* font-size: smaller !important; */}
  .loc{display:none}
  .stats-band{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:1fr}
}

/* ════ LOGO IPK ════════════════════════════════ */
.ipk-logo{display:block;overflow:visible;transition:opacity .2s}
/* lettres blanches */
.li,.lp,.lk{fill:#F0EDE6}
/* lignes colorées : rose=cls-4, bleu=cls-2, jaune=cls-3 */
.ll1{fill:#E6007E}   /* rose   — x=29.51 (cls-4) */
.ll2{fill:#009FE3}   /* bleu   — x=30.68 (cls-2) */
.ll3{fill:#FFED00}   /* jaune  — x=31.83 (cls-3) */

/* ── état initial : tout invisible ──────────── */
.ipk-logo .li,.ipk-logo .lp,.ipk-logo .lk{opacity:0}
.ipk-logo .ll{transform-origin:50% 100%;transform:scaleY(0);opacity:0}

/* ── .anim-go déclenche la séquence ─────────── */
/* I, P, K : fade in */
.ipk-logo.anim-go .li{animation:lFade .3s .05s ease forwards}
.ipk-logo.anim-go .lp{animation:lFade .3s .08s ease forwards}
.ipk-logo.anim-go .lk{animation:lFade .3s .12s ease forwards}
/* lignes : poussent de bas en haut séquentiellement */
.ipk-logo.anim-go .ll1{animation:lRise .5s .15s cubic-bezier(.22,1,.36,1) forwards}
.ipk-logo.anim-go .ll2{animation:lRise .5s .28s cubic-bezier(.22,1,.36,1) forwards}
.ipk-logo.anim-go .ll3{animation:lRise .5s .41s cubic-bezier(.22,1,.36,1) forwards}

@keyframes lFade{to{opacity:1}}
@keyframes lRise{0%{transform:scaleY(0);opacity:0}60%{opacity:1}100%{transform:scaleY(1);opacity:1}}

/* ── hover : les 3 lignes s'agitent ─────────── */
@keyframes lWig{0%,100%{transform:scaleY(1)}30%{transform:scaleY(1.1) translateY(-5%)}70%{transform:scaleY(.93) translateY(2%)}}
.logo-hd:hover .ll1{animation:lWig .35s .00s ease}
.logo-hd:hover .ll2{animation:lWig .35s .06s ease}
.logo-hd:hover .ll3{animation:lWig .35s .12s ease}
/* hover sur logo sidebar aussi */
.logo-sb:hover .ll1{animation:lWig .35s .00s ease}
.logo-sb:hover .ll2{animation:lWig .35s .06s ease}
.logo-sb:hover .ll3{animation:lWig .35s .12s ease}

/* ── tailles contextuelles ───────────────────── */
/* header nav */
.logo-hd{display:flex;align-items:center;background:none;border:none;cursor:pointer;padding:0;font-family:inherit}
.logo-hd .ipk-logo{height:20px;width:auto}
/* hero homepage */
.logo-hero{display:block;margin:0 auto 36px;opacity:0;animation:fadeUp .7s .05s ease forwards}
.logo-hero .ipk-logo{height:clamp(34px,4.5vw,54px);width:auto}
/* footer */
.logo-ft .ipk-logo{height:13px;width:auto;opacity:.45}
/* login page */
.logo-lg{margin-bottom:32px}
.logo-lg .ipk-logo{height:40px;width:auto}
/* BO sidebar */
.logo-sb{display:block}
.logo-sb .ipk-logo{height:17px;width:auto}
/* sidebar: lignes statiques (pas d'anim boot) */
.logo-sb .ipk-logo .ll{transform:scaleY(1);opacity:1;animation:none!important}
.logo-sb .ipk-logo .li,.logo-sb .ipk-logo .lp,.logo-sb .ipk-logo .lk{opacity:1;animation:none!important}
/* thème aperçu BO */
.logo-prev .ipk-logo{height:28px;width:auto}
.logo-prev .ipk-logo .ll{transform:scaleY(1);opacity:1;animation:none!important}
.logo-prev .ipk-logo .li,.logo-prev .ipk-logo .lp,.logo-prev .ipk-logo .lk{opacity:1;animation:none!important}
/* ── Cursor — masqué sur écrans tactiles ── */
@media (hover: none), (pointer: coarse) {
  #cur, #cur-ring { display: none !important; }
  body { cursor: auto !important; }
  a, button, [onclick] { cursor: pointer !important; }
}

@media(max-width:600px){
  .svc-items-grid{grid-template-columns:1fr 1fr}
  .svc-ig-item{padding:12px 14px;font-size:9px}
  .svl-title{font-size:clamp(44px,10vw,80px)}
  .pg-title{font-size:clamp(60px,16vw,140px)}
}

/* ═══════════════════════════════════════
   FORMULAIRE DE CONTACT
═══════════════════════════════════════ */
.ct-form-wrap{padding:0 32px 72px;max-width:640px;margin:0 auto}
.ct-form{display:flex;flex-direction:column;gap:0;border: 1px solid rgb(240 237 230 / 87%);}
.ct-field{position:relative;border-bottom:1px solid var(--ff)}
.ct-field:last-of-type{border-bottom:none}
.ct-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color: rgb(240 237 230);position:absolute;top:16px;left:20px;transition:all .2s;pointer-events:none}
.ct-input,.ct-textarea{width:100%;background:transparent;border:none;outline:none;color: #f0ede6;font-family:var(--font-b);font-size:14px;font-weight:300;padding:36px 20px 14px;resize:none}
.ct-input:focus ~ .ct-label,
.ct-input:not(:placeholder-shown) ~ .ct-label,
.ct-textarea:focus ~ .ct-label,
.ct-textarea:not(:placeholder-shown) ~ .ct-label{top:8px;font-size:8px;color:var(--acc)}
.ct-input::placeholder,.ct-textarea::placeholder{color:transparent}
.ct-textarea{min-height:120px}
.ct-field-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--ff)}
.ct-field-row .ct-field{border-bottom:none}
.ct-field-row .ct-field:first-child{border-right:1px solid var(--ff)}
/* Services checkboxes */
.ct-services-wrap{padding:20px 20px 12px;border-bottom:1px solid var(--ff)}
.ct-services-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color: rgb(240 237 230);margin-bottom:12px;display:block}
.ct-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ct-svc-chk{display:none}
.ct-svc-lbl{font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:8px 10px;border:1px solid var(--ff);color:var(--fd);text-align:center;cursor:pointer;transition:all .18s}
.ct-svc-chk:checked + .ct-svc-lbl{border-color:var(--acc);color:var(--acc);background:rgba(255,69,0,.06)}
/* Submit */
.ct-submit-wrap{padding:20px}
.ct-submit{width:100%;padding:14px;background:transparent;border:1px solid var(--acc);color:var(--fg);font-family:var(--font-d);font-size:22px;letter-spacing:.1em;cursor:pointer;transition:all .25s;position:relative;overflow:hidden}
.ct-submit::before{content:'';position:absolute;inset:0;background:var(--acc);transform:translateX(-101%);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.ct-submit:hover::before{transform:translateX(0)}
.ct-submit span{position:relative;z-index:1}
.ct-submit:disabled{opacity:.5;cursor:not-allowed}
/* States */
.ct-success{text-align:center;padding:48px 20px;display:none}
.ct-success.show{display:block}
.ct-success-icon{font-size:32px;margin-bottom:16px;color:var(--acc)}
.ct-success h3{font-family:var(--font-d);font-size:36px;letter-spacing:.06em;margin-bottom:8px}
.ct-success p{font-size:13px;color:var(--fd);font-weight:300}
.ct-error-msg{font-size:11px;color:#ef4444;padding:8px 20px;display:none}
.ct-error-msg.show{display:block}
/* Section contact redesign */
.ct-strip-new{padding:72px 32px 0;border-top:1px solid var(--ff)}
.ct-strip-new h2{font-family:var(--font-d);font-size:clamp(40px,6vw,80px);letter-spacing:.02em;line-height:1;margin-bottom:12px}
.ct-strip-new h2 em{font-style:normal;color:var(--acc)}
.ct-strip-new .ct-strip-sub{font-size: 16px;color: #fff;font-weight:300;margin-bottom:48px}
@media(max-width:900px){
  .ct-services-grid{grid-template-columns:1fr 1fr}
  .ct-field-row{grid-template-columns:1fr}
  .ct-field-row .ct-field:first-child{border-right:none;border-bottom:1px solid var(--ff)}
  .ct-form-wrap{padding:0 16px 48px}
  .ct-strip-new{padding:48px 16px 0}
}

/* ═══════════════════════════════════════
   MINI CONTACT — Slide-up panel
   Apparaît depuis le bas sur tous les cta inline
═══════════════════════════════════════ */
.mini-ct-overlay{
  position:fixed;inset:0;z-index:700;
  background:rgba(8,8,8,.75);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.mini-ct-overlay.open{opacity:1;pointer-events:all}

.mini-ct-panel{
  position:relative;
  width:min(560px,94vw);z-index:701;
  background:#0d0d10;border:1px solid rgba(240,237,230,.1);
  border-radius:8px;
  transform:translateY(40px) scale(.97);opacity:0;
  transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s;
}
.mini-ct-overlay.open .mini-ct-panel{transform:translateY(0) scale(1);opacity:1}

.mini-ct-head{
  padding:20px 24px 16px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid rgba(240,237,230,.07);
}
.mini-ct-title{font-family:var(--font-d);font-size:22px;letter-spacing:.06em}
.mini-ct-close{
  background:none;border:none;color:rgba(240,237,230,.4);
  font-size:22px;cursor:pointer;transition:color .15s;line-height:1;padding:0;
}
.mini-ct-close:hover{color:var(--fg)}

.mini-ct-body{padding:20px 24px 28px;display:flex;flex-direction:column;gap:12px}

/* Inline fields — 2 colonnes */
.mini-ct-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* Champ mini */
.mini-field{position:relative}
.mini-input,.mini-textarea{
  width:100%;background:rgba(240,237,230,.04);
  border:1px solid rgba(240,237,230,.1);border-radius:0;
  color:var(--fg);font-family:var(--font-b);font-size:13px;font-weight:300;
  padding:28px 14px 10px;outline:none;resize:none;
  transition:border-color .2s;
}
.mini-input:focus,.mini-textarea:focus{border-color:rgba(240,237,230,.3)}
.mini-textarea{min-height:80px}
.mini-label{
  position:absolute;top:10px;left:14px;
  font-size:8px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(240,237,230,.35);pointer-events:none;
  transition:all .2s;
}
.mini-input:focus ~ .mini-label,
.mini-input:not(:placeholder-shown) ~ .mini-label,
.mini-textarea:focus ~ .mini-label,
.mini-textarea:not(:placeholder-shown) ~ .mini-label{
  color:var(--acc);
}
.mini-input::placeholder,.mini-textarea::placeholder{color:transparent}

/* Services pills compacts */
.mini-svcs{display:flex;gap:6px;flex-wrap:wrap;padding:2px 0}
.mini-svc-chk{display:none}
.mini-svc-lbl{
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 10px;border:1px solid rgba(240,237,230,.12);
  color:rgba(240,237,230,.4);cursor:pointer;transition:all .18s;
}
.mini-svc-chk:checked + .mini-svc-lbl{
  border-color:var(--acc);color:var(--acc);background:rgba(255,69,0,.08);
}

/* Submit */
.mini-submit{
  width:100%;padding:12px;background:transparent;
  border:1px solid var(--acc);color:var(--fg);
  font-family:var(--font-d);font-size:20px;letter-spacing:.1em;
  cursor:pointer;transition:all .25s;position:relative;overflow:hidden;
}
.mini-submit::before{
  content:'';position:absolute;inset:0;background:var(--acc);
  transform:translateX(-101%);transition:transform .25s cubic-bezier(.22,1,.36,1);
}
.mini-submit:hover::before{transform:translateX(0)}
.mini-submit span{position:relative;z-index:1}
.mini-submit:disabled{opacity:.5;cursor:not-allowed}
.mini-submit:disabled::before{display:none}

/* Succès */
.mini-success{
  display:none;text-align:center;padding:36px 24px;
}
.mini-success.show{display:block}
.mini-success-icon{font-size:24px;color:var(--acc);margin-bottom:12px}
.mini-success h3{font-family:var(--font-d);font-size:28px;letter-spacing:.06em;margin-bottom:6px}
.mini-success p{font-size:12px;color:rgba(240,237,230,.45);font-weight:300}

.mini-err{font-size:11px;color:#ef4444;display:none;margin-top:-4px}
.mini-err.show{display:block}

/* Context label — "Projet DESIGN" etc. */
.mini-context{
  font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--acc);margin-bottom:4px;
}

@media(max-width:600px){
  .mini-ct-panel{width:100%}
  .mini-ct-row{grid-template-columns:1fr}
  .mini-ct-head{padding:16px 16px 12px}
  .mini-ct-body{padding:16px 16px 24px}
}

.pc-tag:hover,.ptag:hover{border-color: #fff;color: #fff;}
.stag:hover,.ph-tag:hover{border-color: #fff;color: #fff;}

.pc-tag,.ptag{border-color: #fff;color: #fff;}
.stag,.ph-tag{border-color: #fff;color: #fff;}


/* ── Easter egg : light mode ─────────────────────────── */
.theme-egg{
  position:fixed;bottom:24px;right:24px;z-index:600;
  width:36px;height:36px;border-radius:50%;
  background:rgba(240,237,230,.06);border:1px solid rgba(240,237,230,.12);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;cursor:pointer;transition:all .3s;
  opacity:0;pointer-events:none;
}
.theme-egg:hover{background:rgba(240,237,230,.12);transform:scale(1.1)}
.theme-egg.show{opacity:1;pointer-events:all}

/* Light mode global */
html.light-mode{
  --bg:#F5F3EE;--fg:#0C0C0E;--ff:rgba(12,12,14,.15);--fd:rgba(12,12,14,.45);--acc:#FF4500;
}
html.light-mode body{background:#F5F3EE;color:#0C0C0E}
html.light-mode header{background:rgba(245,243,238,.92);border-color:rgba(12,12,14,.1)}
html.light-mode .hero{background:#F5F3EE}
html.light-mode .pc-bg,.html.light-mode .pcard-bg{background:#E8E5DF}
html.light-mode .id-card{color:rgba(12,12,14,.6)}
html.light-mode .svc-row{border-color:rgba(12,12,14,.1)}
html.light-mode .section-block{border-color:rgba(12,12,14,.08)}
html.light-mode .pg-title,.html.light-mode h2{color:#0C0C0E}
html.light-mode 
html.light-mode .marq-item{border-color:rgba(12,12,14,.1)}
html.light-mode .marq-name{color:#0C0C0E}
html.light-mode .marq-city{color:rgba(12,12,14,.4)}
html.light-mode .loc{color:rgba(12,12,14,.25)}
html.light-mode .mini-ct-panel{background:#EEECEA;border-color:rgba(12,12,14,.15)}
html.light-mode .mini-input,.html.light-mode .mini-textarea{background:rgba(12,12,14,.04);border-color:rgba(12,12,14,.15);color:#0C0C0E}
html.light-mode #cur{background:var(--acc)}
html.light-mode #cur-ring{border-color:rgba(255,69,0,.4)}

/* ── Projet : Preview CTA button ────────────────────────────── */
.proj-preview-cta{padding:32px;display:flex;justify-content:center;border-top:1px solid var(--ff)}
.proj-preview-btn{
  display:flex;align-items:center;gap:12px;
  padding:14px 28px;
  background:transparent;border:1px solid var(--acc);
  color:var(--fg);font-family:var(--font-d);font-size:20px;
  letter-spacing:.1em;cursor:pointer;transition:all .25s;
  position:relative;overflow:hidden;
}
.proj-preview-btn::before{content:'';position:absolute;inset:0;background:var(--acc);transform:translateX(-101%);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.proj-preview-btn:hover::before{transform:translateX(0)}
.proj-preview-btn>*{position:relative;z-index:1}
.ppb-icon{font-size:16px;opacity:.6}
.ppb-arrow{opacity:.5;transition:opacity .2s,transform .2s}
.proj-preview-btn:hover .ppb-arrow{opacity:1;transform:translateX(4px)}

/* ── Gallery GIF ─────────────────────────────────────────────── */
.gallery-gif{width:100%;height:100%;object-fit:cover}
.gallery-item{position:relative;overflow:hidden;background:#111}
.gallery-item video,.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}

/* ── Services tags chips (site public) ──────────────────────── */
.svc-tag-chip{
  display:inline-flex;align-items:center;gap:3px;
  padding:3px 9px;
  border:1px solid rgba(240,237,230,.25);
  color:rgba(240,237,230,.65);
  font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;border-radius:2px;transition:all .18s;
  background:transparent;
}
.svc-tag-chip:hover{border-color:var(--acc);color:var(--acc)}

/* ── Mobile improvements ─────────────────────────────────────── */
@media(max-width:768px){
  .proj-preview-btn{font-size:16px;padding:12px 20px}
  .gallery-grid{grid-template-columns:1fr!important}
  .ph-meta-grid{grid-template-columns:1fr 1fr!important}
}

/* ── Clients marquee ─────────────────────────────────────────── */
.marq-wrap{overflow:hidden;border-top:1px solid var(--ff);border-bottom:1px solid var(--ff);padding:0;position:relative}
.marq-wrap::before,.marq-wrap::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.marq-wrap::before{left:0;background:linear-gradient(to right,var(--bg),transparent)}
.marq-wrap::after{right:0;background:linear-gradient(to left,var(--bg),transparent)}
.marq-track{display:flex;animation: marq-scroll 75s linear infinite;width:max-content}
.marq-track:hover{animation-play-state:paused}
.marq-item-link{cursor:pointer!important;transition:background .15s;border-radius:3px;padding:0 4px}
.marq-item-link:hover{background:rgba(255,255,255,.05)}
.marq-item-link:hover .marq-name{color:rgba(240,237,230,1)}
.marq-item-link .marq-arrow{font-size:10px;color:var(--acc);opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s;display:inline-block;margin-left:4px;vertical-align:middle}
.marq-item-link:hover .marq-arrow{opacity:1;transform:translateX(0)}
@keyframes marq-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.marq-item{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding: 22px 52px;
  border-right:1px solid var(--ff);
  flex-shrink:0;
  min-width:160px;
  transition:background .2s;
}
.marq-item:hover{background:rgba(255,255,255,.03)}
.marq-name{font-size: 22px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg);white-space:nowrap;}
.marq-city{font-size: 12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fd);margin-top:3px;white-space:nowrap}

/* ── Footer ──────────────────────────────────────────────────── */


.ft-left 
.ft-left .ipk-logo{width:60px;height:auto;opacity:.5;transition:opacity .2s}
.ft-left .ipk-logo:hover{opacity:.8}






@media(max-width:768px){
  
  
  
}



.svc-section.hov{background:rgba(255,255,255,.015)}

.svc-num{
  font-family:var(--font-d);font-size:80px;
  color:rgba(240,237,230,.06);line-height:1;
  position:absolute;top:-10px;left:20px;
  pointer-events:none;
}
.svc-name{
  font-family:var(--font-d);font-size:clamp(48px,5vw,80px);
  letter-spacing:.04em;line-height:.95;margin-top:40px;
}
.svc-icon-big{
  font-size:40px;color:rgba(240,237,230,.2);
  margin-top:auto;
}

.svc-headline{
  font-size:clamp(18px,2vw,24px);
  font-weight:300;line-height:1.5;
  color:var(--fg);margin-bottom:16px;
}
.svc-body{
  font-size:14px;color:var(--fd);line-height:1.7;
  max-width:580px;margin-bottom:32px;
}



/* Mobile services */
@media(max-width:900px){
  
  
  
  
  .svc-num{font-size:60px}
}

/* ══════════════════════════════════════════════════════════════
   SERVICES — Rows with hover project cards
══════════════════════════════════════════════════════════════ */

/* ── Ligne principale ───────────────────────────────────────── */
.svc-row-block{
  border-bottom:1px solid var(--ff);
  transition:background .2s;
  cursor:default;
}
.svc-row-block.hov{background:rgba(255,255,255,.018)}

.svc-main-row{
  display:grid;
  grid-template-columns:220px 1fr auto;
  align-items:center;
  padding:32px 40px;
  gap:32px;
  transition:padding .3s;
}
.svc-row-block.hov .svc-main-row{padding-top:28px}

/* Gauche : numéro + nom */
.svc-row-left{display:flex;align-items:baseline;gap:16px}
.svc-row-num{
  font-family:var(--font-d);font-size:13px;
  color:rgba(240,237,230,.2);letter-spacing:.1em;
  flex-shrink:0;
}
.svc-row-name{
  font-family:var(--font-d);
  font-size:clamp(36px,4vw,62px);
  letter-spacing:.04em;line-height:1;
  color:var(--svc-color,var(--fg));
  transition:letter-spacing .3s,font-size .3s;
}
.svc-row-block.hov .svc-row-name{letter-spacing:.07em}

/* Milieu : headline + body */
.svc-row-mid{padding:0 16px}
.svc-row-hl{
  font-size:15px;font-weight:300;color:var(--fg);
  line-height:1.5;margin-bottom:6px;
}
.svc-row-body{font-size:12px;color:var(--fd);line-height:1.6}

/* Droite : tags + CTA */
.svc-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.svc-row-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:320px}
.svc-tag{
  font-size: 9px;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:4px 9px;
  border: 1px solid #fff !important;
  color: #fff !important;
  transition:all .2s;
  border-radius:2px;
}
.svc-row-block.hov .svc-tag{border-color:rgba(240,237,230,.28);color:rgba(240,237,230,.7)}
.svc-tag-more{color:var(--acc)!important;border-color:rgba(255,69,0,.3)!important}
.svc-tag-clickable{cursor:pointer!important}
.svc-tag-clickable:hover{border-color:var(--acc)!important;color:var(--acc)!important;background:rgba(255,69,0,.06)}

/* CTA bouton — couleur du service au hover */
.svc-cta-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 22px;
  background:transparent;
  border:1px solid rgba(240,237,230,.25);
  color:rgba(240,237,230,.6);
  font-family:var(--font-d);font-size:17px;
  letter-spacing:.08em;cursor:pointer;
  transition:all .25s cubic-bezier(.22,1,.36,1);
  position:relative;overflow:hidden;white-space:nowrap;
}
.svc-cta-btn::before{
  content:'';position:absolute;inset:0;
  background:var(--svc-color);
  transform:translateX(-101%);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.svc-cta-btn:hover::before,.svc-row-block.hov .svc-cta-btn::before{
  transform:translateX(0);
}
.svc-cta-btn span{position:relative;z-index:1}
.svc-cta-btn:hover,.svc-row-block.hov .svc-cta-btn{
  border-color:var(--svc-color);
  color:#fff;
}
/* Texte reste visible même quand fond coloré */
.svc-cta-btn:hover span,.svc-row-block.hov .svc-cta-btn span{
  color:var(--svc-text-color,#fff)!important;
}
.svc-cta-arrow{
  transition:transform .2s;font-size:14px;
}
.svc-cta-btn:hover .svc-cta-arrow,.svc-row-block.hov .svc-cta-arrow{
  transform:translateX(4px);
}

/* ── Panneau projets (slide) ────────────────────────────────── */
.svc-proj-panel{
  overflow:hidden;
  max-height:0;
  transition:max-height .45s cubic-bezier(.22,1,.36,1);
}
.svc-row-block.hov .svc-proj-panel{max-height:280px}

.svc-proj-panel-inner{
  padding:0 40px 24px;
  display:flex;flex-direction:column;gap:12px;
}
.svc-proj-label{
  font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  opacity:.7;
}
.svc-proj-cards{
  display:flex;gap:10px;align-items:stretch;
}

/* Cards projets */
.svc-proj-card{
  position:relative;
  width:180px;flex-shrink:0;
  height:120px;
  border-radius:4px;overflow:hidden;
  text-decoration:none;
  display:flex;flex-direction:column;justify-content:flex-end;
  transform:translateY(20px) scale(.95);opacity:0;
  transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s cubic-bezier(.22,1,.36,1),border-color .2s,box-shadow .3s;
  border:1px solid rgba(255,255,255,.08);
  background:#111;
  box-shadow:0 0 0 0 transparent;
}
.svc-row-block.hov .svc-proj-card{
  transform:translateY(0) scale(1);opacity:1;
}
/* Délai en cascade — organique */
.svc-row-block.hov .svc-proj-card:nth-child(1){transition-delay:.04s}
.svc-row-block.hov .svc-proj-card:nth-child(2){transition-delay:.10s}
.svc-row-block.hov .svc-proj-card:nth-child(3){transition-delay:.17s}
.svc-row-block.hov .svc-proj-card:nth-child(4){transition-delay:.25s}
.svc-row-block.hov .svc-proj-card:nth-child(5){transition-delay:.34s}

.svc-proj-card:hover{
  border-color:rgba(255,255,255,.28);
  transform:translateY(-6px) scale(1.02)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.5);
}
.svc-proj-card-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:transform .6s cubic-bezier(.22,1,.36,1),filter .4s;
  filter:brightness(.85);
}
.svc-proj-card:hover .svc-proj-card-img{
  transform:scale(1.1);
  filter:brightness(1);
}
/* Glow couleur service au hover */
.svc-proj-card-glow{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 110%,var(--card-color,var(--acc)) 0%,transparent 65%);
  opacity:0;transition:opacity .4s;z-index:1;mix-blend-mode:overlay;
}
.svc-proj-card:hover .svc-proj-card-glow{opacity:.55}
/* Overlay gradient */
.svc-proj-card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(transparent 30%,rgba(8,8,8,.92));
  z-index:1;
}
/* CTA "Voir" au hover */
.svc-proj-card-cta{
  position:absolute;top:8px;right:8px;z-index:3;
  font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(240,237,230,.9);font-weight:600;
  opacity:0;transform:translateY(-4px);
  transition:opacity .25s .05s,transform .3s cubic-bezier(.22,1,.36,1);
  background:rgba(8,8,8,.55);padding:3px 7px;border-radius:2px;
  backdrop-filter:blur(4px);
}
.svc-proj-card:hover .svc-proj-card-cta{opacity:1;transform:translateY(0)}
.svc-proj-card-name{
  position:relative;z-index:2;
  padding:8px 10px 6px;
  font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(240,237,230,.9);font-weight:500;
}

/* Card "+N" */
.svc-proj-card-more{
  background:rgba(255,255,255,.04);
  border:1px dashed rgba(255,255,255,.18);
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:4px;
}
.svc-proj-card-more span:first-child{
  font-family:var(--font-d);font-size:28px;
  color:var(--svc-color);line-height:1;
}
.svc-proj-card-more-label{
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(240,237,230,.4);
}
.svc-proj-card-more:hover{
  border-color:var(--svc-color)!important;
  background:rgba(255,255,255,.06)!important;
}

/* ── Mobile services ─────────────────────────────────────────── */
@media(max-width:900px){
  .svc-main-row{
    grid-template-columns:1fr;
    padding:24px 20px;gap:16px;
  }
  .svc-row-left{gap:12px}
  .svc-row-right{align-items:flex-start}
  .svc-row-tags{justify-content:flex-start}
  .svc-proj-panel-inner{padding:0 20px 20px}
  .svc-proj-card{width:130px;height:90px}
  .svc-row-block.hov .svc-proj-panel{max-height:200px}
}
@media(max-width:500px){
  .svc-proj-card{width:110px;height:80px}
  .svc-row-name{font-size:38px}
}

/* ── Hero projet : overlay lisibilité ───────────────────────── */
.proj-hero{position:relative}
.proj-hero::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(
    to bottom,
    rgba(8,8,8,.25) 0%,
    rgba(8,8,8,.1)  40%,
    rgba(8,8,8,.55) 70%,
    rgba(8,8,8,.85) 100%
  );
  pointer-events:none;
  z-index:1;
}
/* Tous les éléments texte au-dessus de l'overlay */
.proj-hero > *:not(.ph-bg){z-index:2}
.ph-tags{position:relative;z-index:2}
.ph-meta{position:relative;z-index:2}
.ph-title{position:relative;z-index:2}
.ph-sub{position:relative;z-index:2}
/* Image hero : opacité légèrement réduite */
.ph-img{opacity:.85!important}

/* ── Projet : CTA strip pied de page ────────────────────────── */
.proj-cta-strip{
  border-top:1px solid var(--ff);
  padding:72px 40px 80px;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.proj-cta-strip::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at center,rgba(255,69,0,.06) 0%,transparent 70%);
  pointer-events:none;
}
.proj-cta-strip-inner{
  text-align:center;position:relative;z-index:1;
}
.proj-cta-label{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--fd);margin-bottom:16px;
}
.proj-cta-title{
  font-family:var(--font-d);
  font-size:clamp(48px,8vw,96px);
  letter-spacing:.04em;line-height:.95;
  margin-bottom:32px;
}
.proj-cta-btn{
  display:inline-flex;align-items:center;gap:14px;
  padding:16px 36px;
  background:transparent;
  border:1px solid var(--acc);
  color:var(--fg);
  font-family:var(--font-d);font-size:22px;
  letter-spacing:.1em;cursor:pointer;
  transition:all .3s cubic-bezier(.22,1,.36,1);
  position:relative;overflow:hidden;
}
.proj-cta-btn::before{
  content:'';position:absolute;inset:0;
  background:var(--acc);
  transform:translateX(-101%);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.proj-cta-btn:hover::before{transform:translateX(0)}
.proj-cta-btn span{position:relative;z-index:1}
.proj-cta-btn:hover{border-color:var(--acc)}
@media(max-width:768px){
  .proj-cta-strip{padding:48px 24px 56px}
  .proj-cta-title{font-size:clamp(36px,12vw,64px)}
  .proj-cta-btn{font-size:18px;padding:14px 28px}
}


  .pnb:first-child{border-right:none;border-bottom:1px solid var(--ff)}
  .pnb{padding:24px 20px}
  .pnb:last-child{text-align:left}
  .pnb:last-child .pnb-dir{justify-content:flex-start}
}

/* ── Projet : bouton preview iframe ─────────────────────────── */
.proj-preview-cta{
  padding:20px 40px;
  border-top:1px solid var(--ff);
  display:flex;align-items:center;
}
.proj-preview-btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:12px 24px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  color:var(--fg);cursor:pointer;
  font-family:var(--font-b);font-size:12px;
  letter-spacing:.08em;
  transition:all .25s;border-radius:3px;
}
.proj-preview-btn:hover{
  background:var(--acc);border-color:var(--acc);color:#fff;
}
.ppb-icon{font-size:16px;color:var(--acc);transition:color .25s}
.proj-preview-btn:hover .ppb-icon{color:#fff}
.ppb-url{color:rgba(240,237,230,.4);font-size:10px;font-family:var(--font-m)}
.proj-preview-btn:hover .ppb-url{color:rgba(255,255,255,.7)}
.ppb-arrow{font-size:14px;transition:transform .2s}
.proj-preview-btn:hover .ppb-arrow{transform:translateX(4px)}

/* ── Projet nav prev/next — version impactante ──────────────── */
.proj-nav-bar{
  display:grid;grid-template-columns:1fr 1fr;
  border-top:2px solid var(--ff);
}
.pnb{
  display:flex;flex-direction:column;justify-content:center;
  padding:40px 48px;
  background:transparent;border:none;
  color:var(--fg);cursor:pointer;
  transition:background .3s;
  position:relative;overflow:hidden;
  text-align:left;
  min-height:140px;
}
.pnb:first-child{border-right:1px solid var(--ff)}
/* Fond coloré au hover */
.pnb::before{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,.04);
  transform:translateX(-101%);
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.pnb:last-child::before{transform:translateX(101%)}
.pnb:hover::before{transform:translateX(0)!important}
.pnb:last-child{text-align:right}
/* Label directionnel — grand et visible */
.pnb-dir{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--acc);margin-bottom:12px;font-weight:600;
  display:flex;align-items:center;gap:8px;
}
.pnb:first-child .pnb-dir::before{
  transition:transform .2s;
}
.pnb:first-child:hover .pnb-dir::before{transform:translateX(-4px)}
.pnb:last-child .pnb-dir{justify-content: flex-end !important;}
.pnb:last-child .pnb-dir::after{
  transition:transform .2s;
}
.pnb:last-child:hover .pnb-dir::after{transform:translateX(4px)}
/* Titre projet — grand */
.pnb-title{
  font-family:var(--font-d);
  font-size:clamp(24px,3.5vw,48px);
  letter-spacing:.04em;
  line-height:1.05;
  transition:letter-spacing .25s;
}
.pnb:hover .pnb-title{letter-spacing:.07em}
@media(max-width:700px){
  .proj-nav-bar{grid-template-columns:1fr}
  .pnb:first-child{border-right:none;border-bottom:1px solid var(--ff)}
  .pnb{padding:28px 24px;min-height:100px}
  .pnb:last-child{text-align:left}
  .pnb:last-child .pnb-dir{justify-content:flex-start}
}

/* ── Projet : barre partage ─────────────────────────────────── */
.proj-share-bar{
  padding:20px 40px;
  border-top:1px solid var(--ff);
  display:flex;align-items:center;gap:12px;
}
.proj-share-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 20px;
  background:transparent;
  border:1px solid rgba(240,237,230,.2);
  color:rgba(240,237,230,.6);
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  cursor:pointer;border-radius:3px;
  transition:all .2s;font-family:var(--font-b);
}
.proj-share-btn:hover{
  border-color:var(--acc);color:var(--acc);
  background:rgba(255,69,0,.06);
}
.proj-share-icon{font-size:14px}


  
  .gallery-desc-inner{padding:28px 24px}
  .gallery-desc-item:last-child:nth-child(odd){aspect-ratio:auto}
}


  .gallery-desc-item{min-height:200px}
  .gallery-desc-inner{padding:28px 20px}
  .gallery-desc-item:last-child:nth-child(odd){grid-column:1}
}




  .gallery-desc-inner{
    grid-template-columns: 1fr;
  }
  .gallery-desc-text{
    padding: 28px 20px;
    border-right: none;
    border-bottom: 1px solid rgba(8,8,8,.08);
  }
  
}

/* ══════════════════════════════════════════════════════════════
   GALERIE PROJET — Bloc description (hors grille, pleine largeur)
══════════════════════════════════════════════════════════════ */
.gallery-desc-block{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:0;
  border-top:1px solid rgba(255,255,255,.06);
  background:var(--bg);
}

/* Colonne texte */
.gdb-text{
  padding:52px 56px 52px 44px;
  border-right:1px solid rgba(255,255,255,.06);
}
.gdb-content{ color:var(--fd); }
.gdb-content p{
  font-size:clamp(14px,1.3vw,17px);
  font-weight:300;line-height:1.75;
  color:rgba(240,237,230,.8);
  margin:0 0 14px;
}
.gdb-content p:last-child{ margin-bottom:0; }
.gdb-content h2{
  font-family:var(--font-d);
  font-size:clamp(20px,2.2vw,30px);
  letter-spacing:.04em;text-transform:uppercase;
  color:var(--fg);margin:0 0 12px;line-height:1.1;
}
.gdb-content h3{
  font-family:var(--font-d);
  font-size:clamp(16px,1.6vw,22px);
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--acc);margin:16px 0 8px;line-height:1.1;
}
.gdb-content h3:first-child{ margin-top:0; }
.gdb-content strong{ color:var(--fg);font-weight:600; }
.gdb-content em{ color:rgba(240,237,230,.55);font-style:italic; }
.gdb-content ul{
  margin:10px 0 14px 0;padding:0;list-style:none;
}
.gdb-content li{
  font-size:clamp(13px,1.1vw,15px);
  color:rgba(240,237,230,.7);
  line-height:1.6;margin-bottom:8px;
  padding-left:16px;position:relative;
}
.gdb-content li::before{
  content:'';position:absolute;left:0;top:.6em;
  width:5px;height:5px;border-radius:50%;
  background:var(--acc);
}

/* Colonne méta */
.gdb-meta{
  padding:40px 28px;
  display:flex;flex-direction:column;
  gap:24px;
  background:rgba(255,255,255,.02);
}
.gdb-tags{
  display:flex;flex-direction:column;gap:4px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.gdb-tag{
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(240,237,230,.45);
  padding:4px 0;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.gdb-tag:last-child{ border-bottom:none; }
.gdb-infos{
  display:flex;flex-direction:column;gap:14px;
  flex:1;
}
.gdb-info-row{
  display:flex;flex-direction:column;gap:2px;
}
.gdb-info-label{
  font-size:8px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(240,237,230,.25);
}
.gdb-info-val{
  font-size:13px;color:rgba(240,237,230,.7);
  letter-spacing:.02em;
}
.gdb-actions{
  display: inline-flex;
  /* width: 50%; */
  flex-direction:column;
  text-align: center;
  gap:8px;
  flex-flow: row;
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.06);
}
.gdb-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;
  background:transparent;
  border:1px solid rgba(240,237,230,.15);
  color:rgba(240,237,230,.5);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  cursor:pointer;border-radius:3px;
  transition:all .2s;font-family:var(--font-b);
  width:100%;text-align:center;
}
.gdb-btn:hover{
  border-color:var(--acc);color:var(--acc);
  background:rgba(255,69,0,.06);
}
.gdb-btn-preview{
  border-color:rgba(240,237,230,.25);
  color:rgba(240,237,230,.65);
}
.gdb-btn-preview:hover{
  background:var(--acc);border-color:var(--acc);color:#fff;
}

/* Mobile */
@media(max-width:768px){
  .gallery-desc-block{
    grid-template-columns:1fr;
  }
  .gdb-text{
    padding:32px 20px;
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .gdb-meta{
    padding:24px 20px;
  }
  .gdb-tags{ flex-direction:row;flex-wrap:wrap;gap:6px; }
  .gdb-tag{ border-bottom:none;border:1px solid rgba(255,255,255,.1);padding:3px 8px;border-radius:2px; }
  .gdb-actions{ flex-direction:row; }
  .gdb-btn{ flex:1; }
}

/* ── Tags cliquables dans la slide desc ─────────────────────── */
.gdb-tag-link{
  cursor:pointer!important;
  transition:color .18s,border-color .18s!important;
}
.gdb-tag-link:hover{
  color:var(--acc)!important;
  border-bottom-color:rgba(255,69,0,.4)!important;
}
/* Flèche → au hover */
.gdb-tag-link::after{
  content:' →';
  opacity:0;
  transition:opacity .15s;
  font-size:8px;
}
.gdb-tag-link:hover::after{ opacity:1; }

/* ── CTA Contact dans la slide desc ─────────────────────────── */
.gdb-btn-contact{
  background:var(--acc)!important;
  border-color:var(--acc)!important;
  color:#fff!important;
  font-weight:600!important;
  letter-spacing:.1em!important;
}
.gdb-btn-contact:hover{
  background:#d63800!important;
  border-color:#d63800!important;
  color:#fff!important;
}

/* ══════════════════════════════════════════════════════════════
   LECTEUR TÉMOIGNAGE — Style WhatsApp vocal
══════════════════════════════════════════════════════════════ */



/* Header : avatar + meta */

.testi-avatar-wrap{
  flex-shrink:0;
  position:relative;
  width:44px;height:44px;
}
.testi-avatar-wrap::after{
  content:'';
  position:absolute;inset:-3px;
  border-radius:50%;
  border:2px solid transparent;
  transition:border-color .3s;
}
.testi-avatar-wrap.playing::after{
  border-color:var(--acc);
  animation:testi-pulse 1.5s ease-in-out infinite;
}
@keyframes testi-pulse{
  0%,100%{ transform:scale(1);   opacity:1; }
  50%    { transform:scale(1.08); opacity:.7; }
}

.testi-avatar-placeholder{
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  font-size:20px;
}





/* Player */


/* Bouton play/pause — bulle WhatsApp */
.testi-play-btn{
  flex-shrink:0;
  width:38px;height:38px;border-radius:50%;
  background:var(--acc);border:none;
  color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:transform .15s, background .2s;
  box-shadow:0 2px 8px rgba(255,69,0,.35);
}
.testi-play-btn:hover{ transform:scale(1.08); background:#e53e00; }
.testi-play-btn:active{ transform:scale(.95); }
.testi-play-btn svg{ width:14px;height:14px; }
.testi-icon-play{ margin-left:2px; }

/* Waveform */
.testi-wave-wrap{
  flex:1;position:relative;cursor:pointer;
  height:36px;min-width:0;
}

.testi-progress-bar{
  position:absolute;
  bottom:0;left:0;
  height:2px;
  background:var(--acc);
  border-radius:1px;
  width:0%;
  transition:width .1s linear;
  pointer-events:none;
}

/* Timer */


/* ── BO admin: champ témoignage ─────────────────────────────── */
#ep-tm-avatar-drop:hover{ border-color:var(--acc)!important; }

/* ══════════════════════════════════════════════════════════════
   TESTIMONIAL PLAYER — Style WhatsApp vocal
══════════════════════════════════════════════════════════════ */

/* Container dans la slide desc */
.gdb-testi{ margin-bottom:4px; }


.testi-card:hover{ background:rgba(240,237,230,.09); }

/* Header : avatar + méta */

.testi-avatar-wrap{
  flex-shrink:0;
  width:40px;height:40px;
  border-radius:50%;overflow:hidden;
  background:rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
}

.testi-avatar-placeholder{
  font-size:18px;line-height:1;
  color:rgba(240,237,230,.3);
}





/* Lecteur */


/* Bouton play/pause — rond vert WhatsApp */
.testi-play-btn{
  flex-shrink:0;
  width:38px;height:38px;
  border-radius:50%;
  background:#25D366;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  transition:background .15s,transform .1s;
  box-shadow:0 2px 8px rgba(37,211,102,.3);
}
.testi-play-btn:hover{ background:#1ea952; }
.testi-play-btn:active{ transform:scale(.93); }
.testi-play-btn svg{ width:16px;height:16px; }

/* Zone waveform */
.testi-wave-wrap{
  flex:1;position:relative;height:36px;cursor:pointer;
}

/* Barre de progression (overlay) */
.testi-progress-bar{
  position:absolute;top:0;left:0;bottom:0;
  background:rgba(37,211,102,.15);
  border-right:2px solid #25D366;
  width:0%;
  pointer-events:none;
  transition:none;
}

/* Timer */


/* Pulsation quand lecture en cours */
.testi-card.playing .testi-play-btn{
  background:#1ea952;
  box-shadow:0 0 0 4px rgba(37,211,102,.2);
}

/* Version dans la slide desc (fond clair) */
.gallery-desc-block 
.gallery-desc-block .testi-card:hover{ background:rgba(8,8,8,.09); }
.gallery-desc-block 
.gallery-desc-block 
.gallery-desc-block 
.gallery-desc-block 
.gallery-desc-block .testi-avatar-placeholder{ color:rgba(8,8,8,.3); }

/* Responsive */
@media(max-width:600px){
  .testi-play-btn{ width:34px;height:34px; }
  .testi-play-btn svg{ width:14px;height:14px; }
}

/* ══════════════════════════════════════════════════════════════
   TÉMOIGNAGE AUDIO — Style WhatsApp vocal
══════════════════════════════════════════════════════════════ */

/* Slot wrapper dans la colonne méta */
.testi-slot-wrap{
  padding-bottom:16px;
  margin-bottom:4px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

/* Card principale */
.tp-card{
  display:flex;
  align-items:flex-start;
  width: 480px;
  gap:10px;
  padding:12px 14px;
  background:rgba(37,211,102,.07);
  border:1px solid rgba(37,211,102,.18);
  border-radius:14px 14px 14px 4px; /* bulle WhatsApp */
  position:relative;
  transition:background .2s;
}
.tp-card.tp-playing{
  background:rgba(37,211,102,.12);
  border-color:rgba(37,211,102,.35);
}

/* Avatar */
.tp-avatar{
  width:38px;height:38px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
  border:2px solid rgba(37,211,102,.3);
}
.tp-avatar-ph{
  width:38px;height:38px;
  border-radius:50%;
  background:rgba(37,211,102,.2);
  border:2px solid rgba(37,211,102,.3);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;color:rgba(37,211,102,.8);
  flex-shrink:0;
}

/* Corps */
.tp-body{ flex:1;min-width:0; }
.tp-meta{
  display:flex;align-items:center;gap:6px;
  margin-bottom:8px;flex-wrap:wrap;
}
.tp-name{
  font-size:11px;font-weight:600;
  color:rgba(240,237,230,.9);
  letter-spacing:.04em;
}
.tp-role{
  font-size:9px;color:rgba(240,237,230,.4);
  letter-spacing:.06em;
}
.tp-badge{
  font-size:8px;letter-spacing:.12em;text-transform:uppercase;
  color:#25D366;background:rgba(37,211,102,.1);
  padding:2px 6px;border-radius:10px;
  border:1px solid rgba(37,211,102,.2);
}

/* Lecteur */
.tp-player{
  display:flex;
  align-items:center;
  gap:8px;
}

/* Bouton play/pause */
.tp-btn{
  width:34px;height:34px;
  border-radius:50%;
  background:#25D366;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:background .15s, transform .1s;
  box-shadow:0 2px 8px rgba(37,211,102,.35);
}
.tp-btn:hover{ background:#20bd59; transform:scale(1.08); }
.tp-btn:active{ transform:scale(.96); }
.tp-ico{ width:14px;height:14px;color:#fff; }
.tp-ico-play{ margin-left:2px; }

/* Animation pulse quand en lecture */
.tp-card.tp-playing .tp-btn{
  animation:tp-pulse 1.4s ease-in-out infinite;
}
@keyframes tp-pulse{
  0%,100%{ box-shadow:0 2px 8px rgba(37,211,102,.35); }
  50%{ box-shadow:0 2px 16px rgba(37,211,102,.6),0 0 0 4px rgba(37,211,102,.12); }
}

/* Zone waveform */
.tp-wave-wrap{
  flex:1;
  position:relative;
  height:32px;
  cursor:pointer;
}
.tp-canvas{
  width:100%;height:32px;
  display:block;
}
.tp-cursor{
  position:absolute;
  top:0;bottom:0;
  width:2px;
  background:#25D366;
  border-radius:1px;
  left:0%;
  transition:left .05s linear;
  pointer-events:none;
  opacity:.7;
}

/* Timer */
.tp-time{
  font-size:10px;
  color:rgba(240,237,230,.4);
  letter-spacing:.06em;
  flex-shrink:0;
  min-width:28px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.tp-card.tp-playing .tp-time{ color:#25D366; }

/* Pointe de bulle */
.tp-card::before{
  content:'';
  position:absolute;
  bottom:-1px;left:-6px;
  width:10px;height:10px;
  background:rgba(37,211,102,.07);
  clip-path:polygon(100% 0,100% 100%,0 100%);
  border-left:1px solid rgba(37,211,102,.18);
  border-bottom:1px solid rgba(37,211,102,.18);
}
.tp-card.tp-playing::before{ background:rgba(37,211,102,.12); }

@media(max-width:768px){
  .tp-card{ border-radius:12px 12px 12px 3px; }
}

/* ══════════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════════ */
footer{
  padding:28px 40px;
  border-top:1px solid var(--ff);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:32px;
}

/* Gauche — logo + email */
.ft-left{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.logo-ft .ipk-logo{
  width:60px;height:auto;
  opacity:.7;
  transition:opacity .2s;
}
.logo-ft:hover .ipk-logo{ opacity:1; }
.ft-mail{
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(240,237,230,.3);
  text-decoration:none;
  transition:color .2s;
}
.ft-mail:not(:empty):hover{ color:var(--acc); }

/* Centre — localisation + copyright */
.ft-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  text-align:center;
}
.ft-loc{
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(240,237,230,.4);
}
.ft-copy{
  font-size:9px;
  color:rgba(240,237,230,.18);
  letter-spacing:.06em;
  white-space:nowrap;
}

/* Droite — liens */
.ft-right{
  display:flex;
  gap:20px;
  align-items:center;
  justify-content:flex-end;
}
.ft-link{
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(240,237,230,.35);
  text-decoration:none;
  transition:color .2s;
}
.ft-link:hover{ color:var(--acc); }

/* Mobile */
@media(max-width:700px){
  footer{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:20px;
    padding:28px 20px;
  }
  .ft-left{ align-items:center; }
  .ft-right{ justify-content:center; }
}



@media(max-width:480px){
.tp-card { width: 360px;}
}

@media(max-width:380px){
.tp-card { width: 320px;}
}



/* ── Audio type : Média (violet) ────────────────────────────── */
.tp-card.tp-media{
  background:rgba(167,139,250,.07);
  border-color:rgba(167,139,250,.18);
}
.tp-card.tp-media.tp-playing{
  background:rgba(167,139,250,.12);
  border-color:rgba(167,139,250,.35);
}
.tp-card.tp-media::before{
  background:rgba(167,139,250,.07);
  border-left-color:rgba(167,139,250,.18);
  border-bottom-color:rgba(167,139,250,.18);
}
.tp-card.tp-media .tp-btn{
  background:#a78bfa;
  box-shadow:0 2px 8px rgba(167,139,250,.35);
}
.tp-card.tp-media .tp-btn:hover{ background:#8b5cf6; }
.tp-card.tp-media .tp-badge{ color:#a78bfa; background:rgba(167,139,250,.1); border-color:rgba(167,139,250,.2); }
.tp-card.tp-media.tp-playing .tp-time{ color:#a78bfa; }
.tp-card.tp-media.tp-playing .tp-btn{
  animation:tp-pulse-media 1.4s ease-in-out infinite;
}
@keyframes tp-pulse-media{
  0%,100%{ box-shadow:0 2px 8px rgba(167,139,250,.35); }
  50%{ box-shadow:0 2px 16px rgba(167,139,250,.6),0 0 0 4px rgba(167,139,250,.12); }
}
/* Waveform violette dans testiInit — géré via classe sur canvas */
.tp-card.tp-media .tp-cursor{ background:#a78bfa; }


/* ══════════════════════════════════════════════════════════════
   BO — MODAL ONGLETS (mp-tab / mp-pane)
══════════════════════════════════════════════════════════════ */
.mp-tab{
  background:none;border:none;border-bottom:2px solid transparent;
  color:rgba(232,230,224,.4);font-size:11px;letter-spacing:.08em;
  padding:7px 14px 9px;cursor:pointer;font-family:var(--font-b);
  transition:color .15s,border-color .15s;
}
.mp-tab:hover{color:rgba(232,230,224,.7)}
.mp-tab.active{color:var(--fg);border-bottom-color:var(--acc)}
.mp-pane{display:none}
.mp-pane.active{display:block}

/* ══════════════════════════════════════════════════════════════
   BO — CHAMPS FORMULAIRE (fi, fta, fse, fg, fr, fl, tog)
══════════════════════════════════════════════════════════════ */
.fi,.fta,.fse{
  width:100%;padding:8px 10px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:4px;color:var(--fg);
  font-family:var(--font-b);font-size:12px;
  transition:border-color .15s;outline:none;
}
.fi:focus,.fta:focus,.fse:focus{border-color:rgba(255,255,255,.25)}
.fta{resize:vertical;min-height:72px;line-height:1.5}
.fse option{background:#131316}
.fg{display:flex;flex-direction:column;gap:4px;flex:1}
.fl{
  font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(232,230,224,.4);font-weight:500;
}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tog{
  display:inline-flex;align-items:center;gap:8px;
  cursor:pointer;font-size:11px;color:rgba(232,230,224,.55);
  user-select:none;
}
.tog input[type=checkbox]{
  appearance:none;width:32px;height:17px;
  background:rgba(255,255,255,.15);border-radius:9px;
  cursor:pointer;position:relative;transition:background .2s;flex-shrink:0;
}
.tog input[type=checkbox]:checked{background:var(--acc)}
.tog input[type=checkbox]::after{
  content:'';position:absolute;top:2px;left:2px;
  width:13px;height:13px;background:#fff;border-radius:50%;
  transition:transform .2s;
}
.tog input[type=checkbox]:checked::after{transform:translateX(15px)}

/* ══════════════════════════════════════════════════════════════
   BO — SECTIONS CONTENU (bc, bch, bct, bcb, bb variants)
══════════════════════════════════════════════════════════════ */
.bch{
  padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:space-between;
}
.bct{font-size:13px;font-weight:600;letter-spacing:.04em}
.bcb{padding:18px}
.bbo{background:transparent;border:1px solid rgba(255,255,255,.14);color:rgba(232,230,224,.6)}
.bbo:hover{border-color:rgba(232,230,224,.35);color:var(--fg)}
.bbp{background:var(--acc);border:1px solid var(--acc);color:#fff}
.bbp:hover{background:#ff5a1a}
.bbs{padding:4px 10px;font-size:10px}
.mh{padding:12px 16px 0;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mht{font-size:14px;font-weight:600;padding-bottom:12px}
.mhx{background:none;border:none;color:rgba(232,230,224,.4);cursor:pointer;font-size:22px;line-height:1;padding:0;transition:color .15s;margin-top:2px}
.mhx:hover{color:var(--fg)}
.mbd{padding:18px}
.mft{
  padding:12px 16px;border-top:1px solid rgba(255,255,255,.07);
  display:flex;justify-content:flex-end;gap:8px;
}
.bo-topbar .bb{font-size:11px;padding:5px 12px}
/* Client grid dans le BO */
.csw{
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.07);
}
.csi{
  flex:1;background:transparent;border:none;outline:none;
  color:var(--fg);font-family:var(--font-b);font-size:12px;
}
.cg{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1px;background:rgba(255,255,255,.06);
}
.cc{
  background:#131316;padding:12px 14px;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .15s;gap:8px;
}
.cc:hover{background:#1A1A1F}
.ccn{font-size:12px;font-weight:500;margin-bottom:2px}
.ccc{font-size:9px;color:rgba(232,230,224,.35);letter-spacing:.06em}

/* ── Nav : lien Espace Pro ─────────────────────────────────── */
.nli-pro{
  color:var(--acc)!important;
  border:1px solid rgba(255,69,0,.25);
  padding:4px 10px!important;
  border-radius:3px;
  font-size:10px!important;
  letter-spacing:.12em;
  transition:background .2s,border-color .2s!important;
  cursor:none;
}
.nli-pro:hover{
  background:rgba(255,69,0,.08)!important;
  border-color:var(--acc)!important;
}

/* ── BO Clients — barre de stats ───────────────────────────── */
#cli-stats-bar .stat-card-bo{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  border-radius:6px;padding:14px 16px;
}
#cli-stats-bar .stat-val{
  font-size:20px;font-weight:700;margin-bottom:3px;
}
#cli-stats-bar .stat-lbl{
  font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(232,230,224,.3);
}
/* Filtre status clients */
#cli-filter-status{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(232,230,224,.6);
  border-radius:4px;font-size:10px;
  padding:4px 8px;
}

/* ── BO Sidebar nav ─────────────────────────────────────────── */
.bon{padding:12px 0;flex:1;display:flex;flex-direction:column;overflow-y:auto}
.bong{
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(232,230,224,.2);padding:8px 16px 3px;
}
.boni{
  display:flex;align-items:center;gap:9px;padding:9px 16px;
  cursor:pointer;font-size:12px;color:rgba(232,230,224,.5);
  transition:all .15s;border-left:2px solid transparent;
  user-select:none;background:none;border-right:none;
  border-top:none;border-bottom:none;width:100%;
  text-align:left;font-family:var(--font-b);
}
.boni:hover{background:rgba(255,255,255,.04);color:var(--fg)}
.boni.act{background:rgba(255,255,255,.05);color:var(--fg);border-left-color:var(--acc)}
.bonic{font-size:13px;width:16px;text-align:center;flex-shrink:0}
.bonibd{
  margin-left:auto;font-size:9px;padding:1px 6px;
  background:rgba(255,255,255,.08);border-radius:10px;
  color:rgba(232,230,224,.5);
}