/* ENS: scoped compositions from Mighty M13, M22, M30 and M08. */
/* Native Coupes uses style.css layout rules. Legacy rules below stay active for
   other families; additions here cover light-theme contrast and user controls. */
.ens-coupes-native .ens-catalog-footer .container { width:min(1290px,100% - 48px); max-width:1290px; padding:0; }
.ens-coupes-native main .rts-breadcrumb-area { background-image:none; height:auto; min-height:540px; isolation:isolate; }
.ens-coupes-native main .rts-breadcrumb-area .inner .title,
.ens-coupes-native main .rts-breadcrumb-area .inner .works,
.ens-coupes-native main .title-areas-wrapper-pd .left-area .title,
.ens-coupes-native main .title-areas-wrapper-pd .single-categoiry .light,
.ens-coupes-native main .accordion-style-pd-1 .accordion-button { color:#141414; }
.ens-coupes-native main .rts-breadcrumb-area .bg-text { color:rgba(20,20,20,.04); }
.ens-coupes-native main .ens-intro { margin-inline:auto; }
.ens-coupes-native main .container-140 { width:auto; max-width:1640px; padding:0 20px; margin:auto; }
.ens-coupes-native main .portfolio-large-img-and-top-title { background:#fff; }
.ens-coupes-native main .left-pd-image-bt-content .title,
.ens-coupes-native main .accordion-style-pd-1 .accordion .accordion-item .accordion-header .accordion-button,
.ens-coupes-native main .title-areas-wrapper-pd .left-area .bottom-area .single-categoiry .light { color:#141414; }
.ens-coupes-native main .rts-btn.btn-dark { color:#fff; }
.ens-coupes-native main .title-areas-wrapper-pd .left-area { min-width:0; }
.ens-coupes-native main .title-areas-wrapper-pd { gap:20px; }
.ens-coupes-native main .thumbnail img { width:100%; height:auto; aspect-ratio:740/400; object-fit:cover; }
.ens-coupes-native main .ens-native-detail-photo img { width:100%; height:auto; aspect-ratio:1454/670; object-fit:cover; }
.ens-coupes-native main .ens-native-detail-photo figcaption { font-size:12px; line-height:1.6; margin-top:10px; }
@media(prefers-reduced-motion:reduce) {
 .ens-coupes-native main .ens-native-detail-photo { transform:none; }
}
.ens-coupes-native main .ens-photo-note { top:10px; bottom:auto; }
.ens-coupes-native main .ens-save { top:90px; right:10px; width:44px; height:44px; }
.ens-coupes-native main .signle-portfolio-style-four-inner:focus-within .inner-content { left:40px; opacity:1; }
.ens-coupes-native main .signle-portfolio-style-four-inner:focus-within .thumbnail img { transform:scale(1.2) skew(0deg); }
.ens-coupes-native main .signle-portfolio-style-four-inner .inner-content { max-width:calc(100% - 60px); }
.ens-coupes-native main .ens-section-heading { margin-bottom:40px; }
.ens-coupes-native main .ens-section-heading h2 { font-size:30px; }
.ens-coupes-native main .cta-main-wrapper-inner .left { min-width:0; }
.ens-coupes-native main .cta-main-wrapper-inner .left p { max-width:600px; color:#fff; }
/* The public Cabinet photograph is lighter than the original Mighty CTA asset. */
.ens-coupes-native main .cta-main-wrapper-inner { background-image:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),url('../images/cta/03.jpg?v=8'); }
@media(max-width:991px) {
 .ens-coupes-native main .container-140 { padding:0 15px; }
 .ens-coupes-native main .ens-save { top:60px; }
}
@media(max-width:767px) {
 .ens-coupes-native main .rts-breadcrumb-area { min-height:0; }
 .ens-coupes-native main .ens-save { top:25px; }
 .ens-coupes-native .ens-catalog-footer .container { width:calc(100% - 36px); }
}
/* Hover descriptions must also be available on touch devices and with a keyboard. */
@media(hover:none) {
 .ens-coupes-native main .signle-portfolio-style-four-inner .inner-content { opacity:1; left:20px; bottom:40px; max-width:calc(100% - 40px); }
 .ens-coupes-native main .signle-portfolio-style-four-inner .inner-content a { padding:12px 16px; }
}
.ens-coupes { background:#fff; color:#171717; --color-heading-1:#171717; --color-body:#555; }
.ens-coupes *, .ens-coupes *::before, .ens-coupes *::after { letter-spacing:0; }
.ens-coupes h1,.ens-coupes h2,.ens-coupes h3,.ens-coupes h4 { color:inherit; overflow-wrap:break-word; }
.ens-coupes p { color:inherit; }
.ens-coupes a { color:inherit; text-decoration:none; }
.ens-coupes button { font:inherit; }
.ens-coupes [hidden] { display:none !important; }
.ens-coupes a:focus-visible,.ens-coupes button:focus-visible,.ens-coupes input:focus-visible,.ens-coupes select:focus-visible,.ens-coupes summary:focus-visible { outline:2px solid #50796d; outline-offset:5px; }
:where(body:not(.ens-coupes-native)) .ens-coupes .container { width:min(1290px,100% - 48px); max-width:1290px; padding:0; }
:where(body:not(.ens-coupes-native)) .ens-coupes .container-140 { width:min(1454px,100% - 48px); margin:auto; }
.ens-skip { position:fixed; top:10px; left:10px; z-index:10000; background:white; padding:14px; transform:translateY(-160%); }
.ens-skip:focus { transform:none; }
.ens-site-header { min-height:100px; padding:20px 40px; display:grid; grid-template-columns:1fr auto 1fr; gap:28px; align-items:center; border-bottom:1px solid #ddd; position:relative; z-index:30; background:#fff; }
.ens-brand { width:190px; height:46px; max-width:100%; display:flex; justify-content:center; align-items:center; overflow:hidden; }
.ens-brand img { width:380px; max-width:none; height:95px; flex:none; object-fit:contain; }
.ens-desktop-nav { display:flex; gap:28px; align-items:center; font-size:14px; font-weight:600; }
.ens-desktop-nav a { padding:12px 0; border-bottom:1px solid transparent; }
.ens-desktop-nav a[aria-current],.ens-desktop-nav a:hover { border-color:#171717; }
.ens-site-header .ens-book { justify-self:end; font-size:13px; padding:13px 24px; white-space:nowrap; color:white; background:#292929; border-radius:30px; min-height:42px; }
.ens-icon { display:inline-grid; place-items:center; width:44px; height:44px; flex-shrink:0; border:1px solid #c7c7c7; border-radius:50%; background:white; color:#171717; cursor:pointer; }
.ens-icon[aria-pressed=true] { background:#245e4c; color:white; border-color:#245e4c; }
.ens-icon:hover { background:#ecefec; color:#171717; }
.ens-icon[aria-pressed=true]:hover { background:#194f3d; color:white; }
.ens-menu-toggle { display:none; }
#ens-mobile-menu { position:absolute; inset:100% 0 auto; background:#fff; padding:20px 24px 28px; max-height:calc(100svh - 80px); overflow:auto; border-bottom:1px solid #bbb; }
#ens-mobile-menu a { display:block; padding:14px 0; border-bottom:1px solid #eee; font-size:19px; }
.ens-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 12px; font-size:13px; color:#666; margin-bottom:36px; }
:where(body:not(.ens-coupes-native)) .ens-catalog-heading { padding:35px 0 24px; background:none; }
:where(body:not(.ens-coupes-native)) .ens-catalog-heading .baread-crumb-main-wrapper { padding:0; }
:where(body:not(.ens-coupes-native)) .ens-catalog-heading .inner { padding:0; }
:where(body:not(.ens-coupes-native)) .ens-catalog-heading .works,.ens-coupes .pre-title { font-size:14px; color:#666; display:block; margin-bottom:18px; }
:where(body:not(.ens-coupes-native)) .ens-catalog-heading .title { font-size:68px; line-height:1.06; text-transform:none; margin:0 0 24px; max-width:1000px; }
:where(body:not(.ens-coupes-native)) .ens-catalog-heading .baread-crumb-main-wrapper .inner .title,:where(body:not(.ens-coupes-native)) .ens-catalog-heading .baread-crumb-main-wrapper .inner .works { color:#171717; }
.ens-intro { max-width:720px; font-size:20px; line-height:1.55; margin:0; }
.ens-catalog { padding-top:38px; }
.ens-filters { display:grid; grid-template-columns:minmax(220px,2fr) 1fr 1fr auto 44px; gap:18px; align-items:end; padding:25px 0; border-top:1px solid #ccc; }
.ens-filters label { display:flex; flex-direction:column; gap:8px; color:#393939; font-size:13px; margin:0; }
.ens-filters input[type=search],.ens-filters select { height:46px; width:100%; border:1px solid #bbb; background:#fff; color:#171717; font-size:15px; padding:0 12px; border-radius:0; }
.ens-filters .ens-search span { position:relative; }
.ens-search i { position:absolute; left:13px; top:16px; }
.ens-filters .ens-search input { padding-left:36px; }
.ens-filters .ens-check { min-height:46px; display:flex; align-items:center; flex-direction:row; gap:8px; white-space:nowrap; }
.ens-check input[type=checkbox] { appearance:auto; width:18px; height:18px; opacity:1; position:static; }
.ens-family-nav { display:flex; flex-wrap:wrap; gap:6px 22px; border-bottom:1px solid #ddd; padding-bottom:14px; }
.ens-family-nav a { padding:8px 0; font-size:14px; border-bottom:2px solid transparent; }
.ens-family-nav a[aria-current] { border-color:#171717; font-weight:700; }
.ens-result-line { display:flex; flex-wrap:wrap; gap:8px 25px; justify-content:space-between; margin:20px 0 12px; font-size:13px; color:#656565; }
.ens-result-line p { margin:0; }
.ens-result-line [role=status] { color:#222; }
:where(body:not(.ens-coupes-native)) .ens-coupes .signle-portfolio-style-four-inner { padding:0 !important; overflow:visible; position:relative; }
:where(body:not(.ens-coupes-native)) .ens-coupes .ens-style-grid,:where(body:not(.ens-coupes-native)) .ens-coupes .ens-related .row,.ens-coupes .ens-vous-paths .row { row-gap:42px !important; }
:where(body:not(.ens-coupes-native)) .ens-coupes .signle-portfolio-style-four-inner .thumbnail { width:100%; max-width:none; }
:where(body:not(.ens-coupes-native)) .ens-coupes .signle-portfolio-style-four-inner .thumbnail img { width:100%; height:100%; object-fit:cover; }
:where(body:not(.ens-coupes-native)) .ens-coupes .signle-portfolio-style-four-inner .ens-photo { aspect-ratio:740/400; }
:where(body:not(.ens-coupes-native)) .ens-coupes .signle-portfolio-style-four-inner .inner-content { opacity:1; position:static; padding-top:16px; }
:where(body:not(.ens-coupes-native)) .ens-coupes .signle-portfolio-style-four-inner .inner-content span { background:none; color:#6a6a6a; padding:0; font-size:12px; text-transform:none; }
:where(body:not(.ens-coupes-native)) .ens-coupes .signle-portfolio-style-four-inner .inner-content a { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:6px 0; background:none; }
:where(body:not(.ens-coupes-native)) .ens-coupes .signle-portfolio-style-four-inner .inner-content .name { font-size:24px; font-weight:500; }
.ens-photo { position:relative; overflow:hidden; display:block; background:#e2e1de; }
.ens-photo-note { position:absolute; bottom:10px; left:10px; background:rgba(255,255,255,.95); color:#444; font-size:11px; padding:3px 8px; z-index:2; }
.ens-save { position:absolute; top:12px; right:12px; z-index:3; width:36px; height:36px; font-size:12px !important; }
.ens-empty { padding:60px 0; }
.ens-empty h2 { font-size:30px; }
:where(body:not(.ens-coupes-native)) .ens-catalog-cta { background:#fff; padding:80px 0; }
:where(body:not(.ens-coupes-native)) .ens-catalog-cta h2 { font-size:48px; line-height:1.1; }
:where(body:not(.ens-coupes-native)) .ens-catalog-cta p { max-width:600px; }
:where(body:not(.ens-coupes-native)) .ens-coupes .rts-btn { font-size:14px; min-height:46px; border-radius:0; display:inline-flex; align-items:center; justify-content:center; gap:15px; }
:where(body:not(.ens-coupes-native)) .ens-coupes .rts-btn.btn-dark { background:#202020; color:#fff; }
.ens-coupes .ens-site-header .ens-book { border-radius:30px; }
:where(body:not(.ens-coupes-native)) .ens-style-heading { padding:35px 0 70px; background:none; }
:where(body:not(.ens-coupes-native)) .ens-coupes .ens-style-heading .title-areas-wrapper-pd .left-area .title,:where(body:not(.ens-coupes-native)) .ens-coupes .ens-style-heading .single-categoiry span { color:#171717; }
:where(body:not(.ens-coupes-native)) .ens-style-heading .bottom-area::before,:where(body:not(.ens-coupes-native)) .ens-style-heading .bottom-area::after { display:none; }
:where(body:not(.ens-coupes-native)) .ens-style-heading .title-areas-wrapper-pd { padding:0 0 40px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
:where(body:not(.ens-coupes-native)) .ens-style-heading h1.title { font-size:76px; line-height:1.05; margin:0 0 26px; }
:where(body:not(.ens-coupes-native)) .ens-style-heading .works { color:#666; font-size:14px; margin-bottom:12px; }
:where(body:not(.ens-coupes-native)) .ens-style-heading .bottom-area { display:flex; gap:60px; margin:0; }
:where(body:not(.ens-coupes-native)) .ens-style-heading .single-categoiry p { margin:0 0 4px; color:#666; font-size:13px; }
:where(body:not(.ens-coupes-native)) .ens-style-heading .single-categoiry span { color:#171717; }
:where(body:not(.ens-coupes-native)) .ens-coupes .ens-style-heading>.container-140 { padding:0; }
:where(body:not(.ens-coupes-native)) .ens-detail-photo { margin:0; width:100%; max-width:none; }
:where(body:not(.ens-coupes-native)) .ens-coupes .ens-detail-photo img { display:block; width:100%; max-width:none; height:auto; aspect-ratio:1454/670; object-fit:cover; }
:where(body:not(.ens-coupes-native)) .ens-detail-photo figcaption { color:#686868; font-size:12px; padding-top:10px; }
:where(body:not(.ens-coupes-native)) .ens-coupes .left-pd-image-bt-content h2 { font-size:40px; line-height:1.15; }
:where(body:not(.ens-coupes-native)) .ens-style-questions details { padding:22px 0; border-top:1px solid #bbb; }
:where(body:not(.ens-coupes-native)) .ens-style-questions summary { font-size:20px; color:#171717; cursor:pointer; }
:where(body:not(.ens-coupes-native)) .ens-style-questions p { margin:18px 0 0; color:#565656; }
:where(body:not(.ens-coupes-native)) .ens-related { border-top:1px solid #ddd; }
:where(body:not(.ens-coupes-native)) .ens-section-heading { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:40px; }
:where(body:not(.ens-coupes-native)) .ens-section-heading h2 { font-size:44px; line-height:1.15; margin:0; }
:where(body:not(.ens-coupes-native)) .ens-section-heading>a { font-size:14px; white-space:nowrap; }
.ens-catalog-footer { padding:70px 0 25px; background:#131313; color:white; }
.ens-catalog-footer .footer-main-wrapper-one { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:40px; }
.ens-catalog-footer .logo-footer img { width:210px; height:auto; filter:brightness(0) invert(1); }
.ens-catalog-footer .logo-footer { display:flex; align-items:center; justify-content:center; overflow:hidden; width:210px; height:50px; }
.ens-catalog-footer .logo-footer img { width:420px; max-width:none; height:105px; flex:none; }
.ens-catalog-footer .disc { margin:18px 0; }
.ens-catalog-footer .footer-nav { display:flex; flex-wrap:wrap; gap:15px 30px; max-width:630px; }
.ens-catalog-footer .copyright-area { display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; padding-top:35px; margin-top:40px; border-top:1px solid #444; font-size:12px; }
.ens-family-slider { padding:45px 0 30px; overflow:hidden; background:#121212; color:#fff; }
.ens-vous-title { width:min(1290px,100% - 48px); margin:0 auto 35px; }
.ens-vous-title p { font-size:14px; color:#aaa; margin-bottom:15px; }
.ens-vous-title h1 { font-size:68px; line-height:1.07; margin:0 0 22px; }
.ens-vous-title>a { font-size:15px; border-bottom:1px solid #666; padding-bottom:5px; }
.ens-family-slider .swiper { overflow:hidden; }
.ens-family-slider .swiper.mySwiper_portfolio-3.swiper-container-horizontal .swiper-slide { height:auto; align-items:stretch; }
.ens-family-slider .single-swiper-item { width:100%; }
.ens-family-slider .single-swiper-item .thumbnail { aspect-ratio:1/1; }
.ens-family-slider .single-swiper-item img { width:100%; height:100%; object-fit:cover; cursor:grab; }
.ens-family-slider .mySwiper_portfolio-3 .single-swiper-item .discrip-port { position:relative; left:auto; bottom:auto; opacity:1; background:#fff; color:#171717; padding:22px; min-height:105px; display:block; }
.ens-family-slider .mySwiper_portfolio-3 .single-swiper-item .discrip-port .title { font-size:23px; margin:0 0 7px; }
.ens-family-slider .discrip-port span { font-size:13px; }
.ens-slider-controls { display:flex; gap:20px; align-items:center; justify-content:center; padding:24px 0 0; position:relative; z-index:2; }
.ens-family-slider .swiper-pagination { position:static; width:auto; display:flex; align-items:center; gap:10px; }
.ens-family-slider .swiper-pagination .swiper-pagination-bullet { background:#888 !important; width:8px !important; height:8px !important; margin:0 !important; border:0 !important; }
.ens-family-slider .swiper-pagination .swiper-pagination-bullet-active { background:#fff !important; }
.ens-family-note { font-size:12px; color:#aaa !important; text-align:center; margin:15px 24px 0; }
.ens-horizontal { overflow:hidden; }
.ens-horizontal .portfolio-six-swiper-wrapper .swiper-slide,.ens-horizontal .portfolio-six-swiper-wrapper .swiper-slide .portfolio-six-single-swiper { height:650px; }
.ens-horizontal .portfolio-six-single-swiper .left-content { position:relative; top:auto; width:45%; padding:90px 50px; color:#fff; align-self:center; }
.ens-horizontal .portfolio-six-single-swiper .left-content .title { font-size:48px; line-height:1.12; color:white; text-transform:none; }
.ens-horizontal .portfolio-six-single-swiper .right-content { margin:0; width:55%; }
.ens-horizontal .portfolio-six-single-swiper .right-content .thumbnail { height:100%; width:100%; }
.ens-horizontal .portfolio-six-single-swiper .right-content img { width:100%; height:100%; object-fit:cover; }
.ens-horizontal .ens-slider-controls { padding:20px; background:#121212; }
@media(max-width:1100px) { .ens-site-header { padding:20px 24px; gap:18px; } .ens-desktop-nav { gap:17px; } .ens-brand { width:160px; } .ens-brand img { width:320px; height:80px; } .ens-filters { grid-template-columns:2fr 1fr 1fr; } .ens-filters .ens-check { grid-column:1/3; } .ens-filters>button { justify-self:end; } }
@media(min-width:768px) and (max-width:1023px) {
 .ens-site-header { grid-template-columns:1fr 160px 1fr; }
 .ens-brand { grid-column:2; grid-row:1; justify-self:center; }
 .ens-site-header .ens-book { grid-column:1; grid-row:1; justify-self:start; }
 .ens-menu-toggle { display:inline-grid; grid-column:3; grid-row:1; justify-self:end; }
 .ens-desktop-nav { display:none; }
}
@media(max-width:767px) {
 .ens-site-header { min-height:80px; padding:16px 18px; grid-template-columns:1fr 136px 1fr; gap:10px; }
 .ens-brand { grid-column:2; grid-row:1; width:136px; justify-self:center; }
 .ens-brand img { width:272px; height:68px; }
 .ens-site-header .ens-book { grid-column:1; grid-row:1; justify-self:start; font-size:11px; padding:10px 12px; min-height:40px; }
 .ens-menu-toggle { display:inline-grid; grid-column:3; grid-row:1; justify-self:end; }
 .ens-desktop-nav { display:none; }
 :where(body:not(.ens-coupes-native)) .ens-catalog-heading .title,.ens-vous-title h1 { font-size:42px; }
 :where(body:not(.ens-coupes-native)) .ens-style-heading h1.title { font-size:45px; }
 .ens-intro { font-size:17px; }
 :where(body:not(.ens-coupes-native)) .ens-catalog-heading,:where(body:not(.ens-coupes-native)) .ens-style-heading { padding-top:25px; }
 :where(body:not(.ens-coupes-native)) .ens-coupes .container,:where(body:not(.ens-coupes-native)) .ens-coupes .container-140,.ens-vous-title { width:calc(100% - 36px); }
 .ens-filters { grid-template-columns:1fr 1fr; gap:18px 12px; }
 .ens-filters .ens-search { grid-column:1/-1; }
 .ens-filters .ens-check { grid-column:1; font-size:12px; }
 .ens-result-line { display:block; }
 .ens-result-line p+p { margin-top:7px; }
 .ens-family-nav { gap:0 17px; }
 :where(body:not(.ens-coupes-native)) .ens-catalog-cta h2,:where(body:not(.ens-coupes-native)) .ens-section-heading h2,:where(body:not(.ens-coupes-native)) .ens-coupes .left-pd-image-bt-content h2 { font-size:34px; }
 :where(body:not(.ens-coupes-native)) .ens-section-heading { display:block; }
 :where(body:not(.ens-coupes-native)) .ens-section-heading>a { display:inline-block; margin-top:20px; }
 :where(body:not(.ens-coupes-native)) .ens-style-heading .bottom-area { gap:30px; }
 :where(body:not(.ens-coupes-native)) .ens-style-heading { padding-bottom:45px; }
 :where(body:not(.ens-coupes-native)) .ens-coupes .rts-section-gap { padding:65px 0; }
 :where(body:not(.ens-coupes-native)) .ens-coupes .rts-section-gapBottom { padding-bottom:65px; }
 .ens-catalog { padding:25px 0 60px; }
 .ens-horizontal .portfolio-six-swiper-wrapper .swiper-slide,.ens-horizontal .portfolio-six-swiper-wrapper .swiper-slide .portfolio-six-single-swiper { height:770px; }
 .ens-horizontal .portfolio-six-single-swiper { flex-direction:column-reverse; }
 .ens-horizontal .portfolio-six-single-swiper .left-content { width:100%; padding:28px 24px; top:auto !important; flex:1; }
 .ens-horizontal .portfolio-six-single-swiper .left-content .title { font-size:35px; }
 .ens-horizontal .portfolio-six-single-swiper .right-content { width:100%; height:380px; margin:0; }
 .ens-catalog-footer .footer-nav { flex-direction:column; }
}
@media(max-width:359px) { .ens-site-header { grid-template-columns:1fr 116px 1fr; padding:14px 12px; gap:8px; } .ens-brand { width:116px; } .ens-brand img { width:232px; height:58px; } .ens-site-header .ens-book { padding:9px; } }
@media(prefers-reduced-motion:reduce) { .ens-coupes *, .ens-coupes *::before, .ens-coupes *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } .ens-coupes .thumbnail img { transform:none !important; } }
