/* YRUZPHOTO dynamic page blocks -- limited to .cms-* to preserve existing styles. */
.cms-sections{background:#071827;color:#f2f6fa;isolation:isolate;display:block;width:100%;}
.cms-block{max-width:1240px;margin:0 auto;padding:clamp(38px,6vw,92px) clamp(22px,4vw,64px);box-sizing:border-box;}
.cms-eyebrow{font-size:.67rem;letter-spacing:.24em;color:#7ea8c8;display:block;margin-bottom:12px;font-weight:700;}
.cms-section-heading{margin-bottom:25px;max-width:850px;}
.cms-section-heading h2{font-size:clamp(1.55rem,4vw,3rem);line-height:1.12;letter-spacing:-.04em;font-weight:750;color:#f7fbff;margin:0 0 14px;}
.cms-section-heading p{font-size:clamp(.95rem,1.6vw,1.13rem);line-height:1.65;color:#afc3d4;margin:0;white-space:pre-line;}
.cms-align-center{text-align:center;}.cms-align-center .cms-section-heading{margin-left:auto;margin-right:auto;}
.cms-cta{display:inline-flex;align-items:center;gap:20px;border:1px solid #e1ecf5;background:#e1ecf5;color:#0a1f31;padding:13px 20px;margin-top:16px;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.055em;transition:transform .2s,background .2s;}
.cms-cta:hover{transform:translateY(-2px);background:white;}.cms-cta-secondary{background:transparent;color:#f0f7ff;border-color:#6689a7;}.cms-cta-secondary:hover{background:#183750;}
.cms-image-text{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(26px,5vw,72px);align-items:center;}
.cms-image-text.cms-image-right .cms-image-text-media{order:2;}
.cms-image-text-media{min-width:0;}.cms-image-text-media img{width:100%;max-height:640px;object-fit:cover;display:block;aspect-ratio:1.18;}
.cms-image-text-media>span{font-size:.7rem;letter-spacing:.09em;color:#92b4ce;display:block;margin-top:12px;}
.cms-photo-carousel{background:#0d2539;border:1px solid #25445e;padding:clamp(10px,2.2vw,22px);}
.cms-carousel-main{position:relative;overflow:hidden;background:#08131d;}
.cms-carousel-open{display:block;position:relative;}.cms-carousel-open img{display:block;width:100%;height:clamp(280px,54vw,640px);object-fit:contain;}
.cms-open-badge{position:absolute;right:15px;bottom:16px;font-size:.7rem;letter-spacing:.12em;color:#fff;background:#071825b9;padding:10px 14px;}
.cms-nav-arrow{border:1px solid #ffffff70;background:#071c2dbd;color:#f3f8ff;font-size:1.6rem;width:44px;height:44px;cursor:pointer;position:absolute;top:48%;z-index:1;}
.cms-arrow-prev{left:10px;}.cms-arrow-next{right:10px;}.cms-nav-arrow:hover{background:#2a4d6a;}
.cms-carousel-meta{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:14px 0 17px;color:#bfd3e5;font-size:.78rem;letter-spacing:.08em;min-height:20px;}
.cms-slide-caption{text-align:right;overflow:hidden;text-overflow:ellipsis;}
.cms-carousel-thumbs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:0 0 8px;}
.cms-carousel-thumbs button{flex:0 0 84px;height:68px;border:2px solid transparent;background:#132e43;padding:0;cursor:pointer;opacity:.55;}
.cms-carousel-thumbs button[aria-current="true"]{opacity:1;border-color:#d4ebff;}.cms-carousel-thumbs img{width:100%;height:100%;object-fit:cover;display:block;}
.cms-photo-grid{display:grid;grid-template-columns:repeat(var(--cms-cols),minmax(0,1fr));gap:14px;}
.cms-photo-grid-item{display:block;position:relative;overflow:hidden;min-width:0;background:#162c3d;text-decoration:none;color:#fff;}
.cms-photo-grid-item img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .45s;}
.cms-photo-grid-item:hover img{transform:scale(1.05);}.cms-photo-grid-item span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#07121be8);padding:30px 15px 14px;font-size:.85rem;}
.cms-projects-scroller{display:flex;overflow-x:auto;gap:18px;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px;}
.cms-project-card{flex:0 0 clamp(220px,30vw,350px);background:#102b43;color:#f7f9ff;text-decoration:none;position:relative;scroll-snap-align:start;display:flex;flex-direction:column;border:1px solid #284762;}
.cms-project-cover{display:block;overflow:hidden;background:#0d2336;}.cms-project-cover img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .4s;}
.cms-project-card:hover .cms-project-cover img{transform:scale(1.04)}.cms-project-meta{color:#80adc8;letter-spacing:.14em;font-size:.62rem;padding:18px 19px 2px;}
.cms-project-card strong{font-size:1.02rem;padding:7px 30px 23px 19px;line-height:1.24;}.cms-project-go{position:absolute;right:18px;bottom:20px;color:#fff;}
.cms-project-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:11px;color:#a7bfd5;letter-spacing:.13em;font-size:.62rem;}
.cms-project-controls button{background:transparent;border:1px solid #486985;color:#f1f8ff;min-height:37px;min-width:43px;cursor:pointer;}
.cms-button-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;}
.cms-button-row .cms-cta{margin:0;}
@media(max-width:720px){.cms-image-text{grid-template-columns:1fr;}.cms-image-text.cms-image-right .cms-image-text-media{order:0;}.cms-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cms-block{padding:45px 20px;}.cms-project-card{flex-basis:min(78vw,310px);}.cms-open-badge{font-size:.55rem;}.cms-carousel-thumbs button{flex-basis:65px;height:55px;}}
@media(prefers-reduced-motion:reduce){.cms-cta,.cms-image-text-media img,.cms-photo-grid-item img,.cms-project-cover img{transition:none}}

/* V44 : sections propres a chaque onglet du portfolio */
.cms-portfolio-kind[hidden]{display:none!important}
.cms-portfolio-kind{max-width:1380px;margin:22px auto 45px}
