:where(.psw-realisation-hero,.psw-realisation-gallery,.psw-realisation-details){--psw-realisation-accent:#F0C011;--psw-realisation-ink:#242424;--psw-realisation-muted:#63615E;--psw-realisation-paper:#F7F5F2;--psw-realisation-line:rgba(36,36,36,.13);--psw-realisation-shadow:0 18px 50px rgba(25,25,25,.09);box-sizing:border-box;width:100vw;margin-left:calc(50% - 50vw);font-family:Inter,Arial,sans-serif;color:var(--psw-realisation-ink)}
:where(.psw-realisation-hero,.psw-realisation-gallery,.psw-realisation-details) *,:where(.psw-realisation-hero,.psw-realisation-gallery,.psw-realisation-details) *::before,:where(.psw-realisation-hero,.psw-realisation-gallery,.psw-realisation-details) *::after{box-sizing:border-box}
:where(.psw-realisation-hero,.psw-realisation-gallery,.psw-realisation-details) :where(h1,h2,h3,p,figure){margin:0}
:where(.psw-realisation-hero,.psw-realisation-gallery,.psw-realisation-details) :where(h1,h2,h3){font-family:Manrope,Arial,sans-serif;text-wrap:balance}
:where(.psw-realisation-hero,.psw-realisation-gallery,.psw-realisation-details) img{display:block;max-width:100%}
.psw-realisation-accent{color:var(--psw-realisation-accent)}
.psw-realisation-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:clamp(15px,2vw,24px);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.psw-realisation-eyebrow::before{content:"";width:34px;height:2px;background:var(--psw-realisation-accent);flex:0 0 auto}
.psw-realisation-btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:54px;padding:15px 27px;background:var(--psw-realisation-accent);color:#171717;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;transition:transform .35s ease,box-shadow .35s ease}.psw-realisation-btn:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(240,192,17,.24);color:#171717}.psw-realisation-btn i{transition:transform .35s ease}.psw-realisation-btn:hover i{transform:translateX(5px)}
.is-realisation-motion-pending [data-psw-realisation-reveal]{opacity:0;transform:translateY(24px);transition:opacity var(--psw-realisation-duration,650ms) ease,transform var(--psw-realisation-duration,650ms) cubic-bezier(.2,.72,.25,1);transition-delay:calc(var(--psw-realisation-delay,0ms) + var(--psw-index,0)*75ms)}.is-realisation-motion-pending [data-psw-realisation-reveal="image"]{transform:scale(1.04);clip-path:inset(0 12% 0 0)}.is-realisation-motion-pending [data-psw-realisation-reveal="fade"]{transform:none}.is-realisation-motion-pending.is-realisation-visible [data-psw-realisation-reveal]{opacity:1;transform:none;clip-path:inset(0)}

/* Hero */
.psw-realisation-hero{overflow:hidden;background:var(--psw-realisation-paper)}.psw-realisation-hero__inner{max-width:1600px;margin:auto}.psw-realisation-hero__inner.is-fluid{max-width:none}.psw-realisation-hero__grid{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);min-height:clamp(540px,56vw,760px)}
.psw-realisation-hero__content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,6vw,94px) clamp(30px,6vw,90px)}.psw-realisation-hero__content::after{content:"";position:absolute;z-index:-1;right:-128px;top:0;width:190px;height:100%;background:var(--psw-realisation-paper);clip-path:polygon(0 0,42% 0,100% 100%,0 100%)}
.psw-realisation-hero__title{max-width:670px;font-size:clamp(40px,4.8vw,76px);font-weight:500;line-height:1.04;letter-spacing:-.045em}.psw-realisation-hero__description{max-width:640px;margin-top:clamp(20px,2.5vw,32px);font-size:clamp(14px,1.1vw,17px);line-height:1.7;color:var(--psw-realisation-muted)}
.psw-realisation-hero__infos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:clamp(30px,4vw,52px)}.psw-realisation-hero__info{display:flex;align-items:center;gap:15px;padding:8px 28px 8px 0;border-right:1px solid var(--psw-realisation-line)}.psw-realisation-hero__info+.psw-realisation-hero__info{padding-left:28px}.psw-realisation-hero__info:last-child{border-right:0}.psw-realisation-hero__info-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:#EFEBE5;flex:0 0 auto}.psw-realisation-hero__info-icon img{width:34px;height:34px}.psw-realisation-hero__info strong,.psw-realisation-hero__info small{display:block}.psw-realisation-hero__info strong{font:800 14px/1.3 Manrope,Arial,sans-serif}.psw-realisation-hero__info small{margin-top:5px;font-size:13px;color:var(--psw-realisation-muted)}
.psw-realisation-hero__media{position:relative;min-height:500px;overflow:visible}.psw-realisation-hero__media picture,.psw-realisation-hero__image{width:100%;height:100%}.psw-realisation-hero__image{object-fit:cover}.psw-realisation-hero__card{position:absolute;z-index:4;right:clamp(24px,4vw,64px);top:50%;width:min(290px,36%);padding:clamp(25px,3vw,43px);transform:translateY(-50%);background:#202833;color:#fff;box-shadow:var(--psw-realisation-shadow)}.psw-realisation-hero__card>div{position:relative;padding:0 0 20px 28px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.25)}.psw-realisation-hero__card>div:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.psw-realisation-hero__card>div::before{content:"";position:absolute;left:0;top:.8em;width:16px;height:2px;background:var(--psw-realisation-accent)}.psw-realisation-hero__card strong,.psw-realisation-hero__card span{display:block}.psw-realisation-hero__card strong{font:700 clamp(17px,1.7vw,24px)/1.25 Manrope,Arial,sans-serif}.psw-realisation-hero__card span{margin-top:5px;font-size:12px;color:rgba(255,255,255,.75)}

/* Gallery */
.psw-realisation-gallery{position:relative;background:#fff;padding-block:clamp(45px,6vw,86px)}.psw-realisation-gallery__inner{max-width:1440px;margin:auto;padding-inline:clamp(20px,4vw,64px)}.psw-realisation-gallery__inner.is-fluid{max-width:none}.psw-realisation-gallery__layout{display:grid;grid-template-columns:minmax(0,53fr) minmax(0,47fr);gap:clamp(22px,3vw,42px);align-items:center}.psw-realisation-gallery__stage{position:relative;height:clamp(360px,38vw,570px);overflow:hidden;background:#dedbd6;box-shadow:var(--psw-realisation-shadow);cursor:zoom-in}.psw-realisation-gallery__stage>img{width:100%;height:100%;object-fit:cover;transition:opacity .28s ease,transform .6s ease}.psw-realisation-gallery__stage:hover>img{transform:scale(1.02)}.psw-realisation-gallery__stage.is-changing>img{opacity:0}.psw-realisation-gallery__nav{position:absolute;z-index:3;top:50%;display:grid;width:48px;height:48px;place-items:center;border:0;border-radius:50%;background:#fff;color:#242424;box-shadow:0 8px 24px rgba(0,0,0,.12);cursor:pointer;transform:translateY(-50%);font-size:28px}.psw-realisation-gallery__nav.is-prev{left:20px}.psw-realisation-gallery__nav.is-next{right:20px}.psw-realisation-gallery__caption{position:absolute;left:18px;bottom:16px;max-width:calc(100% - 36px);padding:8px 12px;background:rgba(32,32,32,.74);color:#fff;font-size:11px}
.psw-realisation-gallery__thumbs{display:flex;gap:10px;align-items:center;overflow-x:auto;padding:4px 3px 14px;scroll-snap-type:x mandatory;scrollbar-width:thin}.psw-realisation-gallery__thumb{width:clamp(105px,10vw,160px);aspect-ratio:1.25;flex:0 0 auto;padding:0;border:2px solid transparent;background:#eee;cursor:pointer;overflow:hidden;scroll-snap-align:start;transition:border-color .25s ease,transform .25s ease}.psw-realisation-gallery__thumb.is-active{border-color:var(--psw-realisation-accent);transform:translateY(-2px)}.psw-realisation-gallery__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.psw-realisation-gallery__thumb:hover img{transform:scale(1.05)}
.psw-realisation-gallery__lightbox{position:fixed;z-index:999999;inset:0;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:clamp(20px,4vw,60px);background:rgba(15,15,15,.96);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}.psw-realisation-gallery__lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.psw-realisation-gallery__lightbox figure{display:grid;place-items:center;max-width:1400px;max-height:90vh;margin:auto}.psw-realisation-gallery__lightbox img{max-width:100%;max-height:82vh;object-fit:contain}.psw-realisation-gallery__lightbox figcaption{margin-top:14px;color:#fff;font-size:13px;text-align:center}.psw-realisation-gallery__close,.psw-realisation-gallery__lightbox-nav{border:0;background:transparent;color:#fff;cursor:pointer}.psw-realisation-gallery__close{position:absolute;right:26px;top:16px;font-size:42px;line-height:1}.psw-realisation-gallery__lightbox-nav{font-size:52px}.psw-realisation-lightbox-open{overflow:hidden}

/* Details */
.psw-realisation-details{background:var(--psw-realisation-paper);padding-block:clamp(65px,8vw,118px)}.psw-realisation-details__inner{max-width:1440px;margin:auto;padding-inline:clamp(20px,4vw,64px)}.psw-realisation-details__inner.is-fluid{max-width:none}.psw-realisation-details__grid{display:grid;grid-template-columns:minmax(0,36fr) minmax(0,34fr) minmax(0,30fr);gap:clamp(30px,4vw,62px)}.psw-realisation-details__column{min-width:0;padding-right:clamp(20px,3vw,46px);border-right:1px solid var(--psw-realisation-line)}.psw-realisation-details__column:last-child{padding:clamp(24px,3vw,42px);border-right:0}.psw-realisation-details__title{font-size:clamp(34px,3.8vw,60px);font-weight:500;line-height:1.08;letter-spacing:-.04em}.psw-realisation-details__description{margin-top:24px;font-size:clamp(14px,1vw,16px);line-height:1.65;color:var(--psw-realisation-muted)}.psw-realisation-details__description p+p{margin-top:12px}.psw-realisation-details__project .psw-realisation-btn{margin-top:28px}.psw-realisation-details__list{display:grid;gap:0}.psw-realisation-details__item{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--psw-realisation-line);transition:transform .35s ease}.psw-realisation-details__item:last-child{border-bottom:0}.psw-realisation-details__item:hover{transform:translateX(4px)}.psw-realisation-details__item>span{display:grid;width:42px;height:42px;place-items:center;flex:0 0 auto}.psw-realisation-details__item img{width:34px;height:34px;object-fit:contain}.psw-realisation-details__item h3{font-size:14px;font-weight:800;line-height:1.35}.psw-realisation-details__item p{margin-top:4px;font-size:12px;line-height:1.5;color:var(--psw-realisation-muted)}.psw-realisation-details__results{background:#fff;box-shadow:0 15px 48px rgba(25,25,25,.045)}

@media(max-width:1024px){.psw-realisation-hero__grid{grid-template-columns:1fr 1fr}.psw-realisation-hero__card{right:18px;width:48%}.psw-realisation-gallery__layout{grid-template-columns:1fr}.psw-realisation-gallery__thumbs{justify-content:flex-start}.psw-realisation-details__grid{grid-template-columns:1fr 1fr}.psw-realisation-details__project{grid-column:1/-1;padding-right:0;padding-bottom:42px;border-right:0;border-bottom:1px solid var(--psw-realisation-line)}.psw-realisation-details__services{border-right:1px solid var(--psw-realisation-line)} }
@media(max-width:767px){.psw-realisation-hero__grid{display:flex;min-height:auto;flex-direction:column}.psw-realisation-hero__content{padding:56px 20px 42px}.psw-realisation-hero__content::after{display:none}.psw-realisation-hero__title{font-size:clamp(38px,11vw,53px)}.psw-realisation-hero__infos{grid-template-columns:1fr}.psw-realisation-hero__info,.psw-realisation-hero__info+.psw-realisation-hero__info{padding:15px 0;border-right:0;border-bottom:1px solid var(--psw-realisation-line)}.psw-realisation-hero__media{min-height:500px}.psw-realisation-hero__card{right:16px;left:16px;top:auto;bottom:16px;width:auto;transform:none;padding:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.psw-realisation-hero__card>div{margin:0;padding:0 0 0 20px;border:0}.psw-realisation-gallery{padding-block:45px}.psw-realisation-gallery__inner{padding-inline:20px}.psw-realisation-gallery__stage{height:300px}.psw-realisation-gallery__nav{width:42px;height:42px}.psw-realisation-gallery__lightbox{grid-template-columns:42px minmax(0,1fr) 42px;padding:16px}.psw-realisation-details{padding-block:58px}.psw-realisation-details__inner{padding-inline:20px}.psw-realisation-details__grid{grid-template-columns:1fr}.psw-realisation-details__column,.psw-realisation-details__project,.psw-realisation-details__services{grid-column:auto;padding:0 0 38px;border-right:0;border-bottom:1px solid var(--psw-realisation-line)}.psw-realisation-details__column:last-child{padding:28px 22px;border-bottom:0}.psw-realisation-details__project .psw-realisation-btn{width:100%}}
@media(prefers-reduced-motion:reduce){:where(.psw-realisation-hero,.psw-realisation-gallery,.psw-realisation-details) *,:where(.psw-realisation-hero,.psw-realisation-gallery,.psw-realisation-details) *::before,:where(.psw-realisation-hero,.psw-realisation-gallery,.psw-realisation-details) *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.is-realisation-motion-pending [data-psw-realisation-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}}
