/*
Theme Name: Marie Child
Template: marie
Version: 0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: marie-child

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
/* ====================================
   SCROLL SMOOTHER WRAPPER - CRITICAL
   ==================================== */
#smooth-wrapper {
    overflow: visible;
}
#smooth-content {
    overflow: visible;
    will-change: transform;
}
html, body {
    overflow-x: clip;
    overflow-y: visible;
}
/* ====================================
   FONT-FACE DECLARATIONS
   ==================================== */
/* Juana */
@font-face {
    font-family: 'juanaThin';
    src: url('fonts/Juana-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'juanaThin';
    src: url('fonts/Juana-ThinIt.woff2') format('woff2');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'juanaExtraLight';
    src: url('fonts/Juana-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'juanaExtraLight';
    src: url('fonts/Juana-ExtraLightIt.woff2') format('woff2');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'juanaLight';
    src: url('fonts/Juana-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'juanaLight';
    src: url('fonts/Juana-LightIt.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
/* Atlas Grotesk */
@font-face {
    font-family: 'AtlasThin';
    src: url('fonts/AtlasGrotesk-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
/* Sackers Gothic */
@font-face {
    font-family: 'sackersGothic';
    src: url('fonts/SackersGothicStd-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'sackersGothic';
    src: url('fonts/SackersGothicStd-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'sackersGothic';
    src: url('fonts/SackersGothicStd-Heavy.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
/* ====================================
   END FONT-FACE DECLARATIONS
   ==================================== */
.vc_column-inner {
    padding: 0 !important;
}
.wpb_button, .wpb_content_element, ul.wpb_thumbnails-fluid > li {
    margin-bottom: 0 !important;
}
/* ====================================
   DEFAULT H1 INITIAL STATE
   ==================================== */
h1 {
    overflow: hidden;
}
h1:has(em) {
    overflow: hidden;
}
h1 em {
    display: block;
    font-style: normal;
}
/* ====================================
   EXCEPTION FOR CONTACT BANNER H1
   Must preserve absolute positioning and centering
   ==================================== */
.con-banner h1 {
    /* Override global h1 styles for absolute positioning */
    /* Keep existing contact banner positioning */
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%) !important; /* Force centering */
    overflow: hidden; /* Keep for curtain effect */
}
/* ====================================
   LOADER & PRELOADER OPTIMIZATIONS
   ==================================== */
.c-folding-animation {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    pointer-events: none;
}
.page-id-8 .c-folding-animation, .page-id-8 .my-element-to-clip, .page-id-8 .my-element-to-clip img {
    display: none;
}
.page-id-20 .hm-loader, .page-id-112 .hm-loader, .page-id-22 .hm-loader, .page-id-147 .hm-loader, .page-id-152 .hm-loader, .page-id-194 .hm-loader, .page-id-198 .hm-loader, .page-id-235 .hm-loader {
    display: none;
}
.hm-loader {
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    background: #000;
    z-index: 99999;
    pointer-events: none;
    display: none;
}
.my-element-to-clip {
    height: 125vh;
    background: #111;
    transition: 1.5s cubic-bezier(.5, .2, .1, 1.14);
    clip-path: url(#myCurve);
}
.my-element-to-clip img {
    width: 150px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.hm-loader h1 {
    font-family: 'juanaExtraLight';
    font-size: 100px;
    font-weight: 400;
    color: #ffff;
    text-transform: uppercase;
}
a, span {
    display: inline-block;
    text-decoration: none;
}
/* ====================================
   HEADER WITH GPU OPTIMIZATION
   ==================================== */
header .logo {
    transform: translateY(10px);
}
.logo-white-inner {
    display: none;
}
.bdy-cls .logo-white-inner {
    display: block;
}
.bdy-cls .logo-dark {
    display: none;
}
header .logo img {
    width: 200px;
}
.ham {
    transform: translateY(10px);
}
body.page-id-235 .logo .logo-dark {
    display: none;
}
body.page-id-235 .logo .logo-white-inner {
    display: inline-block !important;
}
body.page-id-235 #nav-icon2 span {
    background: #ffffff;
}
/* ====================================
   HERO SECTION WITH GPU ACCELERATION
   ==================================== */
.hero-section {
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
.hero-section img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.5);
}
/* ====================================
   HOME SECTIONS ANIMATIONS
   ==================================== */
.home-sec2 {
    padding: 160px 0 180px;
}
.home-sec2 h2 {
    text-align: center;
    font-family: 'juanaExtraLight';
    font-size: 90px;
    text-transform: uppercase;
    line-height: .97;
}
.home-sec2 h2 br {
    display: none;
}
.home-sec2 h2 em {
    font-style: normal;
    display: block;
    overflow: hidden;
}
.home-sec2 h2 em small {
    display: block;
}
.home-sec2-row {
    max-width: 1000px;
    margin: 100px auto 0;
}
.home-sec2-row h5 {
    font-family: 'juanaExtraLight';
    font-size: 23px;
    line-height: 1.5;
    color: #181818;
    max-width: 500px;
}
.home-sec2-row p {
    font-family: 'AtlasThin';
    font-size: 14px;
    text-align: justify;
    color: #181818;
    line-height: 1.8;
    max-width: 520px;
}
/* Section 3 image alignment - right */
.hm-sec3-img-right {
    text-align: right;
}
.hm-sec3-img p, .hm3-img p {
    margin: 0;
    padding: 0;
    display: contents; /* Makes the p transparent, only shows the image */
}
/* ============================================================
   SECTION 3 — IMAGE LAYOUT
   ============================================================ */
/* Columns */
.hm-sec3-img-right {
    text-align: right;
}
.hm-sec3-img-mid {
    text-align: center;
    position: relative;
    margin-top: 80px;
    right: -20px;
}
/* Remove margins from <p> tags injected by WP Bakery */
.hm-sec3-img p, .hm3-img p {
    margin: 0;
    padding: 0;
    display: contents;
}
/* Section */
.hm-sec3 {
    padding-bottom: 0px;
}
/* ============================================================
   SECTION 3 — IMAGE CONTAINERS (fixed dimensions)
   ============================================================ */
.hm3-img-container {
    overflow: hidden;
    position: relative;
    display: inline-block; /* respects text-align of parent column */
    flex-shrink: 0;
}
.hm3-img-container--left {
    width: 208px;
    height: 304px;
}
.hm3-img-container--mid {
    width: 380px;
    height: 556px;
}
.hm3-img-container--mid-sm {
    width: 175px;
    height: 256px;
}
.hm3-img-container--right {
    width: 274px;
    height: 400px;
}
/* Image fills its container, cropped cleanly */
.hm3-img-container .hm3-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    max-width: none; /* overrides legacy max-width values */
}
/* Small overlapping image — absolute positioning */
.hm3-img-mid-sm {
    position: absolute;
    top: 10em;
    left: -70px;
}
/* ============================================================
   END SECTION 3
   ============================================================ */
/* Section 4 top padding */
.hm-sec4 {
    padding: 180px 0 0;
}
/* Section 4 right image container alignment */
.hm4-img-con-right {
    text-align: right;
    transform: translateY(120px);
    position: relative;
}
/* Section 4 subtitle text styling */
.hm-sec4-txt h6 {
    font-family: 'sackersGothic';
    font-size: 12px;
    font-weight: 400;
    color: #000;
    max-width: 300px;
    text-align: center;
    margin: 120px auto 0;
    line-height: 1.9;
    letter-spacing: 1px;
    text-transform: uppercase;
}
/* Section 4 main title row alignment */
.hm-sec4-row {
    text-align: center;
}
/* Section 4 main title styling */
.hm-sec4-row h2 {
    font-family: 'juanaExtraLight';
    font-size: 90px;
    line-height: .97;
    color: #181818;
    margin-top: -100px;
    position: relative;
}
/* Section 4 title line breaks hidden on desktop */
.hm-sec4-row h2 br {
    display: none;
}
/* Section 4 title animation container */
.hm-sec4-row h2 em {
    font-style: normal;
    overflow: hidden;
    display: block;
}
/* Section 4 title animation initial state */
.hm-sec4-row h2 em small {
    display: block;
}
/* Section 4 container max width constraint */
.hm-sec4 .container {
    max-width: 1140px !important;
}
/* Section 4 paragraph left column with flex alignment */
.hm-sec4-para .col-12.col-md-3:first-child {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
/* Section 4 paragraph left image container */
.para-img-left {
    margin-bottom: 0;
}
/* Section 4 paragraph right image container with positioning context */
.para-img-right {
    text-align: right;
    padding-right: 100px;
    position: relative;
}
/* Section 4 paragraph section with bottom padding */
.hm-sec4-para {
    margin-top: 100px;
    padding-bottom: 160px;
}
/* Section 4 paragraph row with positioning context */
.hm-sec4-para .row {
    position: relative;
}
/* Section 4 paragraph text styling without bottom margin */
.hm-sec4-para .para-txt {
    font-family: 'AtlasThin';
    font-weight: 400;
    font-size: 14px;
    text-align: center;
    max-width: 600px;
    margin: 120px auto 0;
    line-height: 1.8;
}
/* Maximum width constraints for section 4 images */
.hm4-img-con-left .hm4-img {
    max-width: 222px;
}
.hm4-img-con-right .hm4-img {
    max-width: 302px;
}
.para-img-left .para-img {
    max-width: 144px;
    transform: none !important;
    scale: none !important;
}
.para-img-right .para-img {
    max-width: 184px;
    position: absolute;
    bottom: -120px;
    right: 60px;
}
/* End of section 4 image width constraints */
.video-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
.video-hero__media {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}
.video-hero__video {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: translate3d(0px, 0px, 0px) scale(1.02);
    will-change: transform;
}
.video-hero__overlay {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.video-hero__content {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    padding: 60px;
}
#video-mid {
    margin: 240px 0 0;
}
#about-hero {
    margin-top: 180px;
}
/* ====================================
   BRANDS MARQUEE SECTION
   ==================================== */
.hm-brands {
    background: #222;
    padding: 150px 0;
}
.hm-brands .container {
    max-width: 1670px !important;
}
.logo_scroller {
    width: 100%;
    overflow: hidden;
    padding: 100px 70px;
    background: #181818;
}
.logo_scroller br {
    display: none;
}
.marquee_inner {
    display: flex;
    width: max-content;
    align-items: center;
}
.marquee_track {
    display: flex;
    width: max-content;
    align-items: center;
}
.marquee_track img {
    max-height: 38px;
    max-width: 340px;
    margin-right: 140px;
    flex-shrink: 0;
    height: auto;
    width: auto;
}
/* ====================================
   SECTION 5 - TESTIMONIALS AND GALLERY
   ==================================== */
.hm-sec5 {
    padding: 160px 0;
}
.hm-sec5 h2 {
    font-family: 'juanaExtraLight';
    font-size: 23px;
    line-height: 1.5;
    color: #181818;
    max-width: 556px;
    margin: 0 auto;
    text-align: center;
    padding: 0 0 100px;
}
.hm-sec5 h2 br {
    display: none !important;
}
.hm-sec5-img-row {
    margin-top: 100px;
}
.hm-sec5-testimonial-row {
    padding-top: 180px;
}
.hm-sec5-testimonial-row p {
    text-align: center;
    font-family: 'AtlasThin';
    font-size: 14px;
    line-height: 26px;
    letter-spacing: 0.01em;
    max-width: 645px;
    margin: 0 auto;
}
.hm-sec5-testimonial-row h6 {
    font-family: 'sackersGothic';
    font-size: 12px;
    margin-top: 30px;
    text-align: center;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}
.hm-sec5-testimonial-row p br {
    display: none;
}
/* ====================================
   TESTIMONIAL SLIDER
   ==================================== */
.hm-sec5-testimonial-row .swiper-testi {
    position: relative;
    display: grid;
    width: 100%;
    height: auto !important;
}
.hm-sec5-testimonial-row .swiper-wrapper {
    display: contents !important;
    width: 100%;
    height: auto !important;
    transform: none !important;
    transition: none !important;
    grid-template-columns: none !important;
}
.hm-sec5-testimonial-row .swiper-slide {
    grid-area: 1 / 1;
    width: 100%;
    height: auto !important;
    opacity: 0;
    transform: translate3d(0, 6px, 0);
    pointer-events: none;
    transition: opacity 900ms cubic-bezier(0.16, 1, 0.3, 1), transform 1200ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.hm-sec5-testimonial-row .swiper-slide.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
}
.hm-sec5-testimonial-row .swiper-slide p, .hm-sec5-testimonial-row .swiper-slide h6 {
    opacity: 0;
    transform: translate3d(0, 6px, 0);
    transition-property: opacity, transform;
    transition-duration: 800ms, 1100ms;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1), cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: 0ms, 0ms;
}
.hm-sec5-testimonial-row .swiper-slide.is-active p {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition-delay: 140ms, 140ms;
}
.hm-sec5-testimonial-row .swiper-slide.is-active h6 {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition-delay: 320ms, 320ms;
}
.hm-sec5-testimonial-row .swiper-slide.is-reset p, .hm-sec5-testimonial-row .swiper-slide.is-reset h6 {
    transition: none !important;
    opacity: 0 !important;
    transform: translate3d(0, 6px, 0) !important;
}
.testi-btns {
    position: relative;
}
.testi-btns .testi-btn {
    top: 35px;
    transition: opacity 300ms ease, transform 500ms ease;
}
.testi-btns .testi-btn:hover {
    opacity: 0.65;
    transform: translate3d(0, -1px, 0);
}
.testi-btns .testi-btn:active {
    opacity: 0.45;
    transform: translate3d(0, 0px, 0);
}
.testi-arrow {
    width: 57px;
    height: 57px;
    display: block;
}
.testi-arrow-left {
    transform: scaleX(-1);
}
.testi-btn:hover .testi-arrow {
    transform: translate3d(0, -1px, 0);
}
.testi-btn:hover .testi-arrow-left {
    transform: scaleX(-1) translate3d(0, -1px, 0);
}
/* ====================================
   SECTION 5 - LAYOUT POSITIONS
   ==================================== */
.hm-sec5-img-right {
    text-align: right;
    top: 100px;
    position: relative;
}
.hm-sec5-img-left {
    position: relative;
    top: 100px;
}
.hm-sec5-img-mid {
    text-align: center;
    position: relative;
}
.sec5-mid-img1 {
    position: absolute;
    top: 30%;
    left: -40px;
}
.sec5-mid-img2 {
    position: absolute;
    bottom: -50px;
    right: -80px;
}
/* ====================================
   SECTION 5 - IMAGE CONTAINERS (fixed dimensions)
   ==================================== */
.hm5-img-container {
    overflow: hidden;
    position: relative;
    display: inline-block;
}
.hm5-img-container .hm-sec5-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    max-width: none;
}
/* Supprime les anciens max-width — remplacés par les conteneurs */
.hm-sec5-img-left .hm-sec5-img, .hm-sec5-img-mid > p .hm-sec5-img, .hm-sec5-img-mid > .hm-sec5-img, .sec5-mid-img1 .hm-sec5-img, .sec5-mid-img2 .hm-sec5-img, .hm-sec5-img-right .hm-sec5-img {
    max-width: none;
}
.hm-sec5-img {
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
/* Dimensions desktop exactes */
.hm5-img-container--left {
    width: 201px;
    height: 267px;
}
.hm5-img-container--mid {
    width: 370px;
    height: 491px;
}
.hm5-img-container--mid-sm1 {
    width: 136px;
    height: 180px;
}
.hm5-img-container--mid-sm2 {
    width: 182px;
    height: 241px;
}
.hm5-img-container--right {
    width: 201px;
    height: 267px;
}
/* ====================================
   SECTION 6 - HERO IMAGE
   ==================================== */
.hm-sec6 {
    position: relative;
    height: 100vh;
    overflow: hidden;
}
.hm-sec6-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 0;
    overflow: hidden;
    background: #fff;
}
.hm-sec6-img img {
    width: 100%;
    height: auto;
    min-height: 120vh;
    object-fit: cover;
    display: block;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.hm-sec6 .container {
    position: relative;
    height: 100vh;
    z-index: 2;
}
.hm-sec6 .row, .hm-sec6 .col-12 {
    height: 100%;
}
.hm-sec6 h2 {
    font-family: 'juanaExtraLight';
    font-size: 90px;
    text-align: center;
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
    position: absolute !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}
.hm-sec6 h2 br {
    display: none;
}
.hm-sec6 em {
    font-style: normal;
    overflow: hidden;
    display: block;
}
.hm-sec6 em small {
    display: block;
}
/* ====================================
   FOOTER
   ==================================== */
footer {
    padding: 50px 0;
    background-color: #fff;
    border-top: solid 1px #aaaaaa;
}
body.page-id-8 footer, body.page-id-308 footer, body.page-id-20 footer {
    border-top: 0;
}
.ftr-menu ul {
    display: flex;
    align-items: center;
    gap: 0 50px;
}
.ftr-menu ul li a {
    font-family: 'sackersGothic';
    font-size: 11px;
    color: #181818;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    position: relative;
}
.ftr-menu ul li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #000;
    transform: scale(0);
    transform-origin: right;
    transition: transform .5s ease-in-out;
}
.ftr-menu ul li a:hover::after {
    transform: scale(1);
    transform-origin: left;
}
.ftr-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}
.ftr-logo img, .ftr-logo svg {
    width: 100%;
    max-width: 80px;
    height: auto;
    display: block;
}
.ftr-menu-last {
    justify-content: flex-end;
    display: flex;
}
/* ====================================
   INNER PAGES HEADER + CONTACT PAGE
   ==================================== */
/* Inner page banner section padding */
.con-banner {
    padding: 100px 0 180px;
    position: relative;
}
/* Inner page main title styling */
.con-banner h1 {
    font-family: 'juanaExtraLight';
    font-size: 110px;
    font-weight: 400;
    color: #000;
    text-align: center;
    overflow: hidden;
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    text-transform: uppercase;
}
/* Inner page title animation wrapper */
.con-banner h1 em {
    display: block;
    font-style: normal;
}
/* Inner page banner center image alignment and offset */
.contact-banner-img-mid {
    text-align: center;
    transform: translateY(30px);
}
/* Inner page banner right image alignment and offset */
.contact-banner-img-right {
    text-align: right;
    transform: translateY(30px);
}
/* Inner page banner left image alignment and offset */
.contact-banner-img-left {
    text-align: left;
    transform: translateY(30px);
}
/* ====================================
   INNER PAGES HEADER — FIXED IMAGE CONTAINERS
   ==================================== */
.con-banner-img-container {
    overflow: hidden;
    position: relative;
    display: inline-block;
}
.con-banner-img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    max-width: none;
}
/* Reset legacy max-width — replaced by fixed containers */
.contact-banner-img-left img, .contact-banner-img-mid img, .contact-banner-img-right img {
    max-width: none;
}
/* Desktop base dimensions */
.con-banner-img-container--side {
    width: 365px;
    height: 531px;
}
.con-banner-img-container--mid {
    width: 250px;
    height: 364px;
}
/* ====================================
   CONTACT PAGE - SECTION 2
   ==================================== */
/* Contact page section 2 padding */
.con-pg-sec2 {
    padding: 0 0 180px;
}
/* Contact page section 2 subtitle styling */
.con-pg-sec2 h6 {
    font-family: 'juanaExtraLight';
    font-size: 20px;
    line-height: 1.6;
    text-align: center;
    max-width: 645px;
    margin: auto;
    color: #181818;
}
/* Contact page section 2 link styling */
.con-pg-sec2 h6 a {
    color: #181818;
}
/* ====================================
   CONTACT PAGE - FORM SECTION
   ==================================== */
/* Contact form section padding */
.con-pg-form-sec {
    padding-bottom: 150px;
}
.con-pg-form-sec .wpcf7 {
    max-width: 1000px;
    margin: 0 auto;
}
/* Contact form group spacing */
.con-pg-form-sec .form-group {
    margin-bottom: 50px !important;
}
/* Base styling for all form inputs */
.con-pg-form-sec .form-group input, .con-pg-form-sec .form-group select, .con-pg-form-sec .form-group textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid #e0e0e0;
    outline: none;
    font-family: 'sackersGothic';
    font-weight: 400;
    padding: 15px 0;
    background-color: #fff;
    color: #000;
}
/* Specific styling for textarea */
.con-pg-form-sec .form-group textarea {
    padding-top: 15px;
    padding-bottom: 0;
    resize: none;
    height: 55px;
}
/* Contact form select - custom arrow */
.con-pg-form-sec .form-group select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 15 9' fill='none' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Crect width='15' height='9' fill='url(%23pattern0_2001_2)'/%3E%3Cdefs%3E%3Cpattern id='pattern0_2001_2' patternContentUnits='objectBoundingBox' width='1' height='1'%3E%3Cuse xlink:href='%23image0_2001_2' transform='scale(0.0666667 0.111111)'/%3E%3C/pattern%3E%3Cimage id='image0_2001_2' width='15' height='9' preserveAspectRatio='none' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAJCAYAAADtj3ZXAAAAS0lEQVQokWNgYGDoYGBgUGIgHZQzQTXuJtGAVQwMDMbInLtEGrAKijEECRmAVSMxBuDViM8AojRiM4AkjcgGvCNHIwyU45RhYGAAAH8oFKokgkNoAAAAAElFTkSuQmCC'/%3E%3C/defs%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
    background-size: 12px 8px;
}
/* Placeholder and select options styling */
.con-pg-form-sec .form-group input::placeholder, .con-pg-form-sec .form-group textarea::placeholder, .con-pg-form-sec .form-group select option {
    font-family: 'sackersGothic';
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    color: #000;
    text-align: left;
}
/* Global form elements base styling - overrides Bootstrap defaults */
button, input, optgroup, select, textarea {
    font-family: 'sackersGothic';
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    color: #000;
    text-align: left;
}
/* Contact form submit button styling */
.con-pg-form-sec .btnn-group input {
    font-family: 'sackersGothic';
    font-size: 11px;
    font-weight: 400;
    padding: 16px 28px;
    margin-top: 40px;
    background: #000;
    border: 1px solid #000;
    color: #fff;
    text-transform: uppercase;
    transition: all 0.3s ease-in-out;
}
/* Contact form submit button hover state */
.con-pg-form-sec .btnn-group input:hover {
    background: transparent;
    color: #000;
}
/* Contact Form 7 wrapper styling */
.wpcf7-form-control-wrap {
    width: 100%;
    display: block;
}
/* Contact Form 7 validation error message */
.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 12px;
    font-weight: 400;
    display: block;
    padding-top: 10px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    font-family: 'AtlasThin';
    font-size: 12px;
    font-weight: 400;
}
/* ====================================
   GALLERY GRID
   ==================================== */
.gall-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0 4px;
}
.gall-grid .gall-img {
    width: 100%;
    height: 264px;
    overflow: hidden;
}
.gall-grid .gall-img a {
    width: 100%;
    height: 264px;
    overflow: hidden;
}
.gall-grid .gall-img img {
    width: 100%;
    height: 264px;
    object-fit: cover;
    transition: all .9s ease-in-out;
}
/* ====================================
   ABOUT PAGE
   ==================================== */
.about-sec4 {
    padding: 150px 0;
    text-align: center;
}
.about-sec4 h6 {
    font-family: 'sackersGothic';
    font-size: 12px;
    color: #181818;
    line-height: 1.7;
    text-transform: uppercase;
    max-width: 270px;
    margin: 0 auto 40px;
}
.about-sec4 p {
    font-family: 'AtlasThin';
    font-size: 14px;
    color: #181818;
    line-height: 1.7;
    text-align: justify;
    text-align-last: center;
    max-width: 600px;
    margin: auto;
}
.page-id-112 .logo_scroller {
    background: #fff;
    padding: 40px 0 200px;
}
/* About Section Bottom */
.about-sec-btm {
    padding-bottom: 180px;
    padding-top: 240px;
    padding-left: 90px; /* Compensate for image overflow */
}
.about-sec-btm .row:last-child {
    align-items: flex-end;
}
/* About Section Bottom - Right Column */
.about-sec-btm-right {
    margin-top: 0;
    display: flex;
    align-items: flex-end;
    min-height: auto;
    padding-left: 0;
    margin-left: 0;
}
/* About Section Bottom - Image Container */
.about-sec-btm-img {
    display: flex;
    justify-content: flex-end;
    margin-right: -15px;
    overflow: hidden;
    max-width: 688px;
    margin-left: auto;
}
/* About Section Bottom - Image Container 2 */
.about-sec-btm-img2 {
    margin-top: -200px;
    position: relative;
}
/* About Section Bottom - Image 2 Main */
.about-sec-btm-img2 img {
    width: 90%;
    max-width: 440px;
    object-fit: cover;
}
/* About Section Bottom - Image 2 Inner (Overlapping Image) */
.about-sec-btm-img2-inner {
    position: absolute;
    bottom: -116px;
    left: -90px;
}
/* About Section Bottom - Image 2 Inner Image */
.about-sec-btm-img2-inner img {
    max-width: 240px;
}
/* About Section Bottom - Top Right Image */
.about-sec-btm-img img {
    max-width: 688px;
    transform-origin: center center;
}
/* About Section Bottom - Left Column Heading */
.about-sec-btm-left h6 {
    font-family: 'sackersGothic';
    font-size: 13px;
    color: #181818;
    margin-bottom: 40px !important;
    text-transform: uppercase;
}
/* About Section Bottom - Left Column Paragraph */
.about-sec-btm-left p {
    font-family: 'AtlasThin';
    font-size: 14px;
    color: #181818;
    line-height: 1.7;
    max-width: 490px;
}
/* About Section Bottom - Remove Line Breaks in Paragraphs */
.about-sec-btm p br {
    display: none;
}
/* About Section Bottom - Right Column Paragraph */
.about-sec-btm-right p {
    font-family: 'AtlasThin';
    font-size: 14px;
    color: #181818;
    line-height: 1.7;
    max-width: 420px;
}
/* ====================================
   PORTFOLIO PAGE
   ==================================== */
.port-sec1 {
    padding: 150px 0;
    text-align: center;
}
.port-sec1 h1 {
    font-family: 'juanaExtraLight';
    font-size: 110px;
    font-weight: 400;
    color: #000;
    text-align: center;
    overflow: hidden;
    text-transform: uppercase;
    margin-bottom: 60px !important;
}
.port-sec1 h1 em {
    display: block;
    font-style: normal;
}
.port-sec1 p {
    font-family: 'juanaExtraLight';
    font-size: 20px;
    line-height: 1.5;
    text-align: center;
    max-width: 665px;
    margin: auto;
    color: #181818;
}
/* Section padding: 7.5px to complete the gutter spacing */
.port-pg-sec2 {
    padding: 7.5px 7.5px 15px 7.5px;
}
.port-pg-sec2 a br {
    display: none !important;
}
/* Remove container-fluid default padding */
.port-pg-sec2 .container-fluid {
    padding: 0 !important;
}
.portfolio {
    background: #eee;
}
/* Set Bootstrap 5 gutters to 15px (7.5px on each side of items) */
.portfolio-container.gx-3 {
    --bs-gutter-x: 15px !important; /* 7.5px left + 7.5px right = 15px total between images */
}
.portfolio-container.gy-2 {
    --bs-gutter-y: 15px !important; /* 7.5px top + 7.5px bottom = 15px total between rows */
}
/* Remove margin from row */
.portfolio-container.row {
    margin: 0 !important;
}
/* Remove default margin on portfolio items */
.portfolio .portfolio-item {
    margin-bottom: 0 !important;
}
.portfolio #portfolio-flters {
    padding: 0;
    margin: 0 auto 0px auto;
    list-style: none;
    text-align: center;
}
.portfolio #portfolio-flters li {
    cursor: pointer;
    display: inline-block;
    padding: 8px 15px 10px 15px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: #444444;
    margin-bottom: 5px;
    transition: all 0.3s ease-in-out;
    border-radius: 3px;
}
.portfolio #portfolio-flters li:hover, .portfolio #portfolio-flters li.filter-active {
    color: #fff;
    background: #00344d;
}
.portfolio #portfolio-flters li:last-child {
    margin-right: 0;
}
/* Main container for portfolio items with overflow hidden for zoom effect */
.portfolio .portfolio-wrap {
    position: relative;
    overflow: hidden;
    z-index: 1;
    background: rgba(17, 17, 17, 0.6);
}
/* Dark overlay that fades in on hover - ultra slow transition */
.portfolio .portfolio-wrap::before {
    content: "";
    background: rgba(17, 17, 17, 0.6);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transition: opacity 1.6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2;
    opacity: 0;
}
/* Image zoom - extremely slow and subtle for luxury feel */
.portfolio .portfolio-wrap img {
    transition: transform 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform; /* GPU acceleration for smooth animation */
}
/* Text overlay container - delayed fade-in */
.portfolio .portfolio-wrap .portfolio-info {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    transition: opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1) 0.3s;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 20px;
}
/* Title with slide-up animation */
.portfolio .portfolio-wrap .portfolio-info h4 {
    font-size: 20px;
    color: #fff;
    font-weight: 600;
    transform: translateY(20px);
    transition: transform 1.4s cubic-bezier(0.4, 0, 0.2, 1) 0.4s;
}
/* Subtitle with staggered slide-up animation */
.portfolio .portfolio-wrap .portfolio-info p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    text-transform: uppercase;
    padding: 0;
    margin: 0;
    font-style: italic;
    transform: translateY(20px);
    transition: transform 1.4s cubic-bezier(0.4, 0, 0.2, 1) 0.5s;
}
/* Action links container */
.portfolio .portfolio-wrap .portfolio-links {
    text-align: center;
    z-index: 4;
}
/* Individual action links with slow color transition */
.portfolio .portfolio-wrap .portfolio-links a {
    color: rgba(255, 255, 255, 0.4);
    margin: 0 5px 0 0;
    font-size: 28px;
    display: inline-block;
    transition: color 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}
.portfolio .portfolio-wrap .portfolio-links a:hover {
    color: #fff;
}
/* Hover state: show dark overlay */
.portfolio .portfolio-wrap:hover::before {
    opacity: 1;
}
/* Hover state: ultra-subtle zoom for high-end luxury feel */
.portfolio .portfolio-wrap:hover img {
    transform: scale(1.04); /* Very subtle 4% zoom - refined luxury aesthetic */
}
/* Hover state: reveal text overlay */
.portfolio .portfolio-wrap:hover .portfolio-info {
    opacity: 1;
}
/* Hover state: slide text elements into place */
.portfolio .portfolio-wrap:hover .portfolio-info h4, .portfolio .portfolio-wrap:hover .portfolio-info p {
    transform: translateY(0);
}
/* Container for portfolio images with overflow hidden */
.port-imgg {
    width: 100%;
    position: relative;
    overflow: hidden;
}
/* Images inside .port-imgg with ultra-slow zoom transition */
.port-imgg img {
    width: 100% !important;
    display: block;
    transition: transform 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform; /* GPU acceleration for smooth performance */
}
/* Hover zoom for images - ultra-subtle 4% scale for luxury aesthetic */
.port-imgg:hover img {
    transform: scale(1.04);
}
/* Button hover state */
.portfolio a.btnn:hover {
    background: #00344d;
    color: #fff;
}
/* Lightbox description centering */
.gslide-desc {
    text-align: center;
}
/* Info text overlay for .port-imgg with fade and slide animation */
.port-imgg .info {
    position: absolute;
    top: 1rem;
    left: 1rem;
    width: 80%;
    color: #fff;
    z-index: 100;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.6s cubic-bezier(0.4, 0, 0.2, 1) 0.3s, transform 1.4s cubic-bezier(0.4, 0, 0.2, 1) 0.4s;
}
/* Show info overlay on hover */
.port-imgg:hover .info {
    opacity: 1;
    transform: translateY(0);
}
/* Link wrapper - full coverage */
.port-imgg a {
    width: 100%;
    display: block;
    height: 100%;
}
/* Full-cover image styling with object-fit */
.port-imgg a img {
    width: 100% !important;
    height: 100%;
    object-fit: cover;
}
/* ====================================
   PROPOSAL PAGE
   ==================================== */
.proposal-sec1 {
    padding: 170px 0 70px;
    text-align: center;
}
.proposal-sec1 h1 {
    font-family: 'sackersGothic';
    font-size: 15px;
    color: #181818;
    text-transform: uppercase;
}
.proposal-sec1 h5 {
    font-family: 'juanaExtraLight';
    font-size: 20px;
    color: #181818;
    margin: 50px auto 40px;
    line-height: 1.6;
    max-width: 755px;
}
.proposal-sec1 h5 br {
    display: none;
}
.proposal-sec1 h6 {
    font-family: 'sackersGothic';
    font-size: 12px;
    color: #181818;
    text-transform: uppercase;
}
.proposal-sec2-right {
    text-align: right;
    position: relative;
}
.proposal-sec2-right .right-img2 {
    position: absolute;
    top: -120px;
    left: 0;
}
.proposal-sec2-left {
    position: relative;
}
.proposal-sec2-left .left-img1 {
    position: relative;
    z-index: 10;
}
.proposal-sec2-left .left-img2 {
    position: absolute;
    bottom: -160px;
    right: -40px;
    z-index: 2;
}
.proposal-sec2-middle {
    position: relative;
}
.proposal-sec2-middle .mid-img2 {
    position: absolute;
    left: 50%;
    width: 100%;
    top: 250px;
}
.proposal-sec2-middle .mid-img1 {
    position: absolute;
    top: 100px;
    left: -50px;
    z-index: 1;
}
.proposal-sec2 {
    padding: 250px 0 70px;
}
.proposal-sec3 {
    text-align: center;
    padding: 300px 15px 150px;
}
.proposal-sec3 h2 {
    font-family: 'juanaExtraLight';
    font-size: 75px;
    color: #181818;
    margin-bottom: 40px;
}
.proposal-sec3 h4 {
    font-family: 'juanaExtraLight';
    font-size: 20px;
    color: #181818;
    line-height: 1.4;
}
.proposal-sec4 {
    padding: 0 15px 150px;
}
.proposal-sec4 .container {
    max-width: 1140px !important;
}
.proposal-sec4-content {
    width: 100%;
    padding: 50px 20px 70px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    height: 100%;
}
.proposal-sec4-content h4 {
    font-family: 'sackersGothic';
    font-size: 13px;
    text-transform: uppercase;
    color: #181818;
    margin-bottom: 20px;
}
.proposal-sec4-content h6 {
    font-family: 'AtlasThin';
    font-size: 14px;
    color: #181818;
    margin-bottom: 10px;
    line-height: 1.7;
}
.venue-sec {
    padding: 0 0 150px;
}
.venue-sec .container-fluid {
    padding: 0 60px !important;
}
.venue-sec .venue-content {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}
.venue-sec .venue-content a {
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    z-index: 1;
    position: relative;
}
.venue-sec .venue-content a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0000004f;
    pointer-events: none;
    z-index: 1;
}
.venue-sec .venue-content a .img {
    width: 100%;
    height: 100%;
    position: relative;
}
.venue-sec .venue-content a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s ease-out;
}
.venue-sec .venue-content a:hover .img img {
    transform: scale(1.015);
}
.venue-sec .venue-content .info {
    position: absolute;
    bottom: 1.5em;
    left: 50%;
    transform: translatex(-50%);
    width: 100%;
    text-align: center;
    z-index: 2;
}
.venue-sec .venue-content .info h6 {
    font-family: 'sackersGothic';
    font-size: 13px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 6px;
}
.proposal-faq-sec .container-fluid {
    padding: 0 60px !important;
}
.proposal-faq-inner {
    width: 100%;
    height: 100%;
}
.proposal-faq-left {
    border: 1px solid #000;
    padding: 70px 40px 50px;
}
.proposal-faq-left h2 {
    margin-bottom: 100px;
}
.proposal-faq-item:first-child {
    padding-top: 0;
}
.proposal-faq-item {
    border-bottom: 1px solid #000;
    padding: 20px 0px;
}
.proposal-faq-item .faq-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.proposal-faq-item .faq-top .left {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0 30px;
}
.proposal-faq-item .faq-top .left h4 {
    margin-bottom: 0;
}
.proposal-faq-item .faq-top .right h6 {
    margin-bottom: 0;
}
.proposal-faq-item .faq-top .right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0 20px;
}
.proposal-faq-item .faq-btm-inner {
    margin-top: 20px;
}
.proposal-faq-item .faq-btm-inner p {
    margin-bottom: 0;
}
.proposal-faq-item .faq-btm {
    max-height: 0;
    overflow: hidden;
    transition: all .3s ease-in-out;
}
.proposal-faq-item .minus, .proposal-faq-item.active .plus {
    display: none;
}
.proposal-faq-item.active .minus {
    display: block;
}
.plus-minus {
    width: 40px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.proposal-faq-sec {
    padding: 0 0 150px;
}
.proposal-faq-left h5 {
    font-family: 'sackersGothic';
    font-size: 13px;
    color: #181818;
    text-transform: uppercase;
}
.proposal-faq-left h2 {
    font-family: 'juanaLight';
    font-size: 50px;
    color: #181818;
}
.proposal-faq-left p {
    font-family: 'AtlasThin';
    font-size: 14px;
    color: #181818;
    line-height: 1.7;
}
.proposal-faq-left p br {
    display: none;
}
.proposal-faq-left p:last-child {
    margin-bottom: 0 !important;
}
.faq-top {
    cursor: pointer;
}
.faq-top span, .faq-top h4 {
    font-family: 'sackersGothic';
    font-size: 13px;
    color: #181818;
    text-transform: uppercase;
}
.faq-top h6 {
    font-family: 'sackersGothic';
    font-size: 13px;
    color: #181818;
    text-transform: uppercase;
    font-weight: 600;
}
.faq-btm p {
    font-family: 'AtlasThin';
    font-size: 14px;
    color: #181818;
    line-height: 1.5;
}
.proposal-pg-sec6 {
    padding: 0 0 150px;
}
.proposal-sec6-top-para {
    text-align: center;
    margin: auto;
}
.proposal-sec6-top-para p {
    font-family: 'AtlasThin';
    font-size: 14px;
    line-height: 1.7;
    max-width: 650px;
    margin: auto;
}
.proposal-sec6-top-para p br {
    display: none;
}
.proposal-pg-sec6-row {
    margin-top: 100px;
}
.proposal-sec6-box {
    border: 1px solid #000;
    padding: 50px 80px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #fff;
}
.proposal-sec6-box-top {
    text-align: center;
}
.proposal-sec6-box-top h6 {
    font-family: 'sackersGothic';
    font-size: 13px;
    text-transform: uppercase;
}
.proposal-sec6-box-top h3 {
    font-family: 'juanaLight';
    font-size: 28px;
}
.proposal-sec6-box-top h5 {
    margin-top: 30px;
    font-family: 'sackersGothic';
    font-size: 10px;
    text-transform: uppercase;
}
.proposal-sec6-box-middle {
    margin-top: 50px;
}
.proposal-sec6-box-middle ul {
    list-style: none;
    padding: 0;
}
.proposal-sec6-box-middle ul li {
    margin-bottom: 12px;
    font-family: 'AtlasThin';
    font-size: 14px;
    text-align: center;
}
.proposal-sec6-box-btm {
    text-align: center;
    margin-top: 100px;
}
.proposal-sec6-box-btm h6 {
    font-family: 'sackersGothic';
    font-size: 10px;
    text-transform: uppercase;
}
.proposal-sec6-box-btm h3 {
    font-family: 'juanaLight';
    font-size: 28px;
}
.proposal-sec6-box-btm a.proposal-btn {
    background: #222;
    padding: 15px 50px;
    margin-top: 40px;
    display: inline-block;
    font-family: 'sackersGothic';
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    border: 1px solid #222;
    transition: all .3s ease-in-out;
}
.proposal-sec6-box-btm a.proposal-btn:hover {
    background: transparent;
    color: #000;
}
.proposal-pg-sec7 {
    background: #222;
    padding: 500px 0 100px;
    margin-top: -600px;
}
.proposal-pg-sec7-content {
    border: 1px solid #000;
    padding: 40px;
    text-align: center;
}
.proposal-pg-sec7-content h6 {
    color: #fff;
    font-family: 'sackersGothic';
    font-size: 12px;
    max-width: 570px;
    margin: auto;
    line-height: 1.7;
}
.proposal-pg-sec7-content h6 br {
    display: none;
}
.proposal-pg-sec7 .container-fluid {
    padding: 0 60px !important;
}
.proposal-pg-sec6 .container-fluid {
    padding: 0 60px !important;
}
/* ====================================
   PRIVACY PAGE
   ==================================== */
.privacy-sec {
    padding: 100px 20px 150px;
}
.hm-sec6 h1 {
    font-family: 'juanaExtraLight';
    font-size: 90px;
    text-align: center;
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
    position: absolute !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}
.hm-sec6 h1 br {
    display: none;
}
.hm-sec6 h1 em {
    font-style: normal;
    overflow: hidden;
    display: block;
}
.hm-sec6 h1 em small {
    display: block;
    font-size: inherit;
}
.privacy-content {
    max-width: 800px;
    margin: 0 auto;
}
.privacy-content h2 {
    font-family: 'juanaExtraLight';
    font-size: 30px;
    line-height: 1.7;
    margin: 50px auto 40px;
    color: #181818;
}
.privacy-content h3 {
    font-family: 'sackersGothic';
    font-size: 12px;
    line-height: 1.8;
    margin: 30px auto 20px;
    text-transform: uppercase;
    color: #181818;
    font-weight: 500;
}
.privacy-content p {
    font-family: 'AtlasThin';
    font-size: 14px;
    line-height: 1.7;
    color: #181818;
    margin-bottom: 12px;
}
.privacy-content a {
    font-family: 'AtlasThin';
    font-size: 14px;
    line-height: 1.7;
    color: #181818;
    margin-bottom: 12px;
    text-decoration: none;
}
.privacy-content a:hover {
    opacity: 0.7;
}
.privacy-content ul li {
    font-family: 'AtlasThin';
    font-size: 14px;
    line-height: 1.5;
    color: #181818;
    margin-bottom: 12px;
}
/* ====================================
   SERVICE DESIGN PAGE
   ==================================== */
.srv-pg-sec1 {
    padding: 150px 0 200px;
    text-align: center;
}
.srv-pg-sec1 h1 {
    font-family: 'juanaExtraLight';
    font-size: 110px;
    font-weight: 400;
    color: #000;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 50px;
}
.srv-pg-sec1 h1 em {
    display: block;
    font-style: normal;
}
.srv-pg-sec1 h6 {
    font-family: 'juanaExtraLight';
    font-size: 20px;
    line-height: 1.4;
    text-align: center;
    max-width: 645px;
    margin: auto;
    color: #181818;
}
.srv-pg-sec1 h6 br {
    display: none;
}
body.page-id-689 .srv-pg-sec1 h6 {
    max-width: 500px;
    margin: 0 auto;
}
.srv-pg-sec2, .srv-pg-sec3 {
    padding-left: calc((100% - 1140px) / 2);
}
.srv-pg-sec2-inner {
    width: 100%;
    height: 100%;
}
.srv-pg-sec2-left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.srv-pg-sec2-right-img {
    width: 100%;
    height: 100%;
}
.srv-pg-sec2 .srv-pg-sec2-left-img {
    max-width: 289px;
    height: auto;
    flex-shrink: 0;
}
.srv-pg-sec2-right {
    width: 100%;
    height: 100%;
}
.srv-pg-sec2-right-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.srv-pg-sec2-left-info {
    margin-top: 100px;
}
.srv-pg-sec2-left-info h6 {
    font-family: 'sackersGothic';
    font-size: 13px;
    text-transform: uppercase;
    margin-bottom: 30px;
}
.srv-pg-sec2-left-info p {
    font-family: 'AtlasThin';
    font-size: 14px;
    line-height: 1.7;
    color: #181818;
    max-width: 400px;
    margin-bottom: 0;
}
.srv-pg-sec3 .srv-pg-sec2-left-top {
    width: 100%;
    height: 100%;
}
.srv-pg-sec3 .srv-pg-sec2-left-img {
    width: 100%;
    height: auto;
    flex-shrink: 0;
}
.srv-pg-sec3 .srv-pg-sec2-left-img img {
    height: auto;
    width: 100%;
    max-width: 289px;
    display: block;
}
.srv-pg-sec3 {
    padding: 220px 0 600px;
}
.srv-pg-sec3 .container {
    max-width: 1140px !important;
}
.srv-pg-sec3 .srv-pg-sec2-left-info {
    margin-top: 0;
}
.srv-pg-sec4 {
    padding-left: calc((100% - 1140px) / 2);
    background: #f8f3ee;
    padding-bottom: 220px;
}
.srv-pg-sec4 .row {
    align-items: flex-end;
}
.srv-pg-sec4-right {
    text-align: right;
    position: relative;
    margin-top: -380px;
    align-self: flex-start;
}
.srv-pg-sec4-right-img {
    position: absolute;
    top: 100px;
    left: -100px;
}
.srv-pg-sec4-info {
    padding-top: 200px;
}
.srv-pg-sec4-info h6 {
    font-family: 'sackersGothic';
    font-size: 13px;
    text-transform: uppercase;
    margin-bottom: 30px;
    color: #181818;
}
.srv-pg-sec4-info p {
    font-family: 'AtlasThin';
    font-size: 14px;
    line-height: 1.7;
    color: #181818;
    max-width: 400px;
    margin-bottom: 0;
}
.srv-pg-sec4-info .number {
    margin-bottom: 200px;
}
.srv-pg-sec5 {
    padding: 0 0 600px;
    background: #f8f3ee;
}
.srv-pg-sec5 .srv-pg-sec2-left-img {
    max-width: 289px;
    height: auto;
    flex-shrink: 0;
}
.srv-pg-sec5 .container {
    max-width: 1140px !important;
}
.srv-pg-sec5 .srv-pg-sec2-left-info h6 {
    color: #181818;
    margin-top: 0;
}
.srv-pg-sec5 .srv-pg-sec2-left-info {
    margin-top: 0;
}
.srv-pg-sec5 .srv-pg-sec2-left-info p {
    color: #181818;
}
.srv-pg-sec4-right {
    width: 100%;
    height: 100%;
}
.srv-pg-sec4-right img {
    width: 100%;
    object-fit: cover;
}
.srv-pg-sec4-right-img {
    max-width: 289px;
}
.srv-pg-sec6 {
    padding-bottom: 200px;
    padding-left: calc((100% - 1140px) / 2);
}
.srv-pg-sec6 .row {
    align-items: flex-end;
}
.srv-pg-sec6 .srv-pg-sec4-right {
    margin-top: -380px;
}
.srv-pg-sec6 .srv-pg-sec4-info h6, .srv-pg-sec6 .srv-pg-sec4-info p {
    color: #181818;
}
.srv-pg-sec6 .srv-pg-sec4-right-img {
    top: 190px;
}
.srv-pg-sec7 {
    padding: 0 0 150px;
}
.srv-pg-sec7 .container {
    max-width: 1140px !important;
}
.srv-pg-sec7 .srv-pg-sec2-left-top {
    width: 100%;
    height: 100%;
}
.srv-pg-sec7 .srv-pg-sec2-left-img {
    width: 100%;
    height: auto;
    flex-shrink: 0;
}
.srv-pg-sec7 .srv-pg-sec2-left-img img {
    height: auto;
    width: 100%;
    max-width: 289px;
    display: block;
}
.srv-pg-sec2 p br, .srv-pg-sec3 p br, .srv-pg-sec4 p br, .srv-pg-sec5 p br, .srv-pg-sec6 p br, .srv-pg-sec7 p br {
    display: none;
}
.parallax-wrap {
    overflow: hidden;
}
.parallax-wrap img {
    transform: scale(1.08);
    will-change: transform;
}
.split-line-wrap {
    overflow: hidden;
}
/* ===================================================== */
/* LUXFOLIO GRID */
/* ===================================================== */
#luxfolio {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
#luxfolio, #luxfolio .luxfolio-max {
    max-width: none !important;
    padding: 0 !important;
}
#luxfolio :where(.container, .container-fluid, .vc_row, .wpb_row, .wpb_wrapper) {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.luxfolio-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 200px;
    padding: 80px 160px 200px;
    box-sizing: border-box;
    justify-items: center;
    align-items: start;
}
.luxfolio-grid > *:not(.luxfolio-item):not(a) {
    display: contents !important;
}
.luxfolio-grid p, .luxfolio-grid > p, .luxfolio-cell > p {
    display: none !important;
}
.luxfolio-item {
    position: relative;
    display: block;
    overflow: hidden;
    width: 305px;
    height: 203px;
    background: #fff;
    cursor: zoom-in;
    color: #fff;
}
.luxfolio-item img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 !important;
    transform: scale(1.001);
    transition: transform 1.6s cubic-bezier(.16, .72, .1, .98);
}
.luxfolio-item:hover img {
    transform: scale(1.012);
}
.luxfolio-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .94);
    opacity: 0;
    visibility: hidden;
    transition: opacity .45s ease, visibility .45s ease;
    cursor: zoom-out;
}
.luxfolio-lightbox.active {
    opacity: 1;
    visibility: visible;
}
.luxfolio-lightbox__img {
    max-width: 88vw;
    max-height: 88vh;
    border-radius: 0 !important;
    box-shadow: none;
    transform: none;
    transition: none;
}
.luxfolio-lightbox__btn, .luxfolio-lightbox__close {
    position: fixed;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    backdrop-filter: blur(4px);
    opacity: .9;
    transition: opacity .2s ease;
    text-decoration: none;
}
.luxfolio-lightbox__btn:hover, .luxfolio-lightbox__close:hover {
    opacity: 1;
}
.luxfolio-lightbox__btn--prev {
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
}
.luxfolio-lightbox__btn--next {
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
}
.luxfolio-lightbox__close {
    right: 22px;
    top: 18px;
    font-size: 22px;
    line-height: 1;
    color: rgba(255, 255, 255, 0.6);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    opacity: 0.7;
    transition: color 0.25s ease, opacity 0.25s ease, background 0.25s ease;
}
.luxfolio-lightbox__close:hover {
    color: #fff;
    opacity: 1;
    background: rgba(255, 255, 255, 0.15);
}
.luxfolio-lightbox__icon {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #fff;
    stroke-width: 2;
}
/* ===================================================== */
/* PORTFOLIO LISTING PAGE - Liste des couples */
/* ===================================================== */
.portfolio-listing-page {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: none !important;
    padding: 0 !important;
}
.portfolio-listing-page :where(.container, .container-fluid, .vc_row, .wpb_row, .wpb_wrapper) {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.portfolio-listing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 90px;
    padding: 90px;
    box-sizing: border-box;
    justify-items: stretch;
    align-items: stretch;
}
.portfolio-listing-grid > *:not(.portfolio-listing-thumb):not(a) {
    display: contents !important;
}
.portfolio-listing-grid p {
    display: none !important;
}
.portfolio-listing-thumb {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 360 / 530;
    background: #fff;
    cursor: pointer;
    text-decoration: none;
}
.portfolio-listing-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 !important;
    transform: scale(1.001);
    transition: transform 1.6s cubic-bezier(.16, .72, .1, .98);
}
.portfolio-listing-thumb:hover img {
    transform: scale(1.012);
}
.portfolio-listing-thumb__info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 35px 30px 30px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.18) 35%, rgba(0, 0, 0, 0.05) 60%, transparent 100%);
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.16, 0.72, 0.1, 0.98);
    pointer-events: none;
    backdrop-filter: blur(1px);
}
.portfolio-listing-thumb:hover .portfolio-listing-thumb__info {
    opacity: 1;
}
.portfolio-listing-thumb__info h3 {
    font-family: 'sackersGothic';
    color: #fff;
    font-size: 11px;
    margin: 0;
    font-weight: 400;
    letter-spacing: 0.5px;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
    opacity: 0.95;
}
/* ===================================================== */
/* MARIE GALLERY - Masonry Layout */
/* ===================================================== */
.marie-gallery-page {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.marie-gallery-wrapper {
    max-width: none !important;
    padding: 90px 0 !important;
}
.marie-gallery-page :where(.container-fluid, .vc_row, .wpb_row, .wpb_wrapper) {
    max-width: none !important;
    width: 100% !important;
}
.marie-gallery-page .container-fluid {
    padding-left: 35px;
    padding-right: 35px;
}
#marie-masonry-gallery {
    margin-left: -15px;
    margin-right: -15px;
}
.marie-photo-item {
    padding: 0 15px;
}
.marie-photo-link {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    position: relative;
    text-decoration: none;
    cursor: zoom-in;
}
.marie-photo-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    color: #fff;
}
.marie-photo-wrapper::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.16, 0.72, 0.1, 0.98);
    pointer-events: none;
    z-index: 1;
}
.marie-photo-link:hover .marie-photo-wrapper::after {
    opacity: 1;
}
.marie-photo-wrapper img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 0 !important;
    transform: scale(1.001);
    transition: transform 1.6s cubic-bezier(.16, .72, .1, .98);
    display: block;
}
.marie-photo-link:hover img {
    transform: scale(1.04);
}
/* ===================================================== */
/* MARIE LIGHTBOX - Popup zoom photos (NOUVEAU SYSTÈME) */
/* ===================================================== */
.marie-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .94);
    opacity: 0;
    visibility: hidden;
    transition: opacity .45s ease, visibility .45s ease;
    cursor: zoom-out;
}
.marie-lightbox.active {
    opacity: 1;
    visibility: visible;
}
.marie-lightbox__img {
    max-width: 88vw;
    max-height: 88vh;
    border-radius: 0 !important;
    box-shadow: none;
    transform: none;
    transition: none;
}
.marie-lightbox__img.imgA {
    position: relative;
    z-index: 2;
}
.marie-lightbox__img.imgB {
    position: absolute;
    z-index: 1;
}
.marie-lightbox__btn, .marie-lightbox__close {
    position: fixed;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    backdrop-filter: blur(4px);
    opacity: .9;
    transition: opacity .2s ease;
    text-decoration: none;
    cursor: pointer;
}
.marie-lightbox__btn:hover, .marie-lightbox__close:hover {
    opacity: 1;
}
.marie-lightbox__btn--prev {
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
}
.marie-lightbox__btn--next {
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
}
.marie-lightbox__close {
    right: 22px;
    top: 18px;
    font-size: 22px;
    line-height: 1;
    color: rgba(255, 255, 255, 0.6);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    opacity: 0.7;
    transition: color 0.25s ease, opacity 0.25s ease, background 0.25s ease;
}
.marie-lightbox__close:hover {
    color: #fff;
    opacity: 1;
    background: rgba(255, 255, 255, 0.15);
}
.marie-lightbox__icon {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #fff;
    stroke-width: 2;
}
/* ===================================================== */
/* MARIE CONTENT - Contenu texte après galerie */
/* ===================================================== */
.marie-dedicated-content {
    padding: 80px 0;
    background: #fff;
}
.marie-dedicated-content .container {
    max-width: 800px;
    margin: 0 auto;
}
.marie-dedicated-content p, .marie-dedicated-content a {
    font-family: 'AtlasThin';
    font-size: 14px;
    color: #181818;
    margin-bottom: 10px;
    line-height: 1.7;
    text-align: center;
}
/* ===================================================== */
/* MARIE VIDEO SECTION - Full width responsive video */
/* ===================================================== */
.marie-video-section {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0;
    background: #000;
    overflow: hidden;
}
/* Desktop: 100vw avec ratio 16:9 */
.marie-video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* Ratio 16:9 */
    background: #000;
}
.marie-video-container iframe, .marie-video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}
/* Vidéo native HTML5 - style amélioré */
.marie-native-video {
    display: block;
    background: #000;
}
.marie-native-video::-webkit-media-controls-panel {
    background: rgba(0, 0, 0, 0.8);
}
/* ===================================================== */
/* MARIE NAVIGATION - Luxury Style avec vignettes portrait */
/* ===================================================== */
.marie-nav-wrapper {
    padding: 60px 0;
    background: #fff;
    border-top: 1px solid #e5e5e5;
}
.marie-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}
/* Navigation Links Container */
.marie-nav-prev, .marie-nav-next {
    flex: 1;
    max-width: 450px;
}
.marie-nav-prev {
    text-align: left;
}
.marie-nav-next {
    text-align: right;
}
/* Link Styling - Hover plus subtil */
.marie-nav-link {
    display: flex;
    align-items: center;
    gap: 20px;
    text-decoration: none;
    color: #111;
    transition: all 0.8s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.marie-nav-prev .marie-nav-link {
    flex-direction: row;
}
.marie-nav-next .marie-nav-link {
    flex-direction: row-reverse;
}
.marie-nav-link:hover {
    opacity: 0.92; /* Plus subtil : 0.92 au lieu de 0.7 */
}
/* Thumbnail - Format portrait (70x90px) - Hover discret */
.marie-nav-thumb {
    width: 70px;
    height: 90px;
    overflow: hidden;
    flex-shrink: 0;
    transition: all 0.8s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.marie-nav-link:hover .marie-nav-thumb {
    transform: scale(1.02); /* Très subtil : 1.02 au lieu de 1.05 */
}
.marie-nav-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.marie-nav-link:hover .marie-nav-thumb img {
    transform: scale(1.04); /* Subtil : 1.04 au lieu de 1.1 */
}
/* Content */
.marie-nav-content {
    display: flex;
    align-items: center;
    gap: 16px;
}
.marie-nav-prev .marie-nav-content {
    flex-direction: row;
}
.marie-nav-next .marie-nav-content {
    flex-direction: row-reverse;
}
/* Arrow SVG - Mouvement minimal */
.marie-nav-arrow {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    transition: transform 0.8s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.marie-nav-arrow img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* Flip arrow for previous */
.marie-nav-arrow--prev {
    transform: rotate(180deg);
}
.marie-nav-link:hover .marie-nav-arrow--prev {
    transform: rotate(180deg) translateX(4px); /* Subtil : 4px au lieu de 8px */
}
.marie-nav-link:hover .marie-nav-arrow--next {
    transform: translateX(4px); /* Subtil : 4px au lieu de 8px */
}
/* Text - Label avec transition très douce */
.marie-nav-text {
    display: flex;
    flex-direction: column;
}
.marie-nav-label {
    font-family: var(--bs-body-font-family);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #111;
    transition: color 0.6s ease;
}
.marie-nav-link:hover .marie-nav-label {
    color: #999;
}
/* Grid Center - Icône brute comme Apricity */
.marie-nav-grid {
    flex-shrink: 0;
}
.marie-nav-grid-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 0;
    background: #fff;
    border: 0;
    text-decoration: none;
    color: #111;
    transition: all 0.6s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.marie-nav-grid-link:hover {
    background: #fff;
    color: #111;
    transform: scale(1.05); /* Subtil : 1.05 au lieu de 1.1 */
}
/* Icône grid - style minimal pour laisser l'icône s'afficher */
.marie-nav-grid-link i {
    font-size: 12px;
    transition: transform 0.8s ease;
}
.marie-nav-grid-link:hover i {
    transform: scale(1.01); /* Agrandissement discret */
    opacity: 0.8;
}
/* ===================================================== */
/* FIX WP BAKERY sur page Gallery */
/* ===================================================== */
.page-template-page-gallery .vc_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.page-template-page-gallery .wpb_column {
    padding-left: 15px;
    padding-right: 15px;
}
.portfolio-listing-page .vc_row, .portfolio-listing-page .wpb_column {
    display: block !important;
    width: 100% !important;
}
/* ===================================================== */
/* BLOCAGE LUXFOLIO SUR PAGE GALLERY - EMERGENCY FIX */
/* ===================================================== */
.portfolio-listing-page .portfolio-listing-thumb {
    pointer-events: auto !important;
    cursor: pointer !important;
}
.portfolio-listing-page .luxfolio-lightbox {
    display: none !important;
    pointer-events: none !important;
}
/* Force normal link behavior on gallery page */
body.page-template-page-gallery .portfolio-listing-thumb {
    display: block !important;
}
body.page-template-page-gallery .luxfolio-lightbox, body.page-template-page-gallery .luxfolio-lightbox * {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
/* ===================================================== */
/* PORTFOLIO LISTING PAGE - Header section (styles uniquement) */
/* ===================================================== */
.portfolio-listing-page .port-sec1 {
    padding: 120px 0 60px;
    text-align: center;
}
.portfolio-listing-page .port-sec1 h1 {
    font-family: 'juanaExtraLight';
    font-size: 110px;
    font-weight: 400;
    color: #000;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 24px;
}
.portfolio-listing-page .port-sec1 h1 em {
    font-style: normal;
    display: inline-block;
    /* opacity et transform gérés par GSAP */
}
.portfolio-listing-page .port-sec1 p {
    font-family: 'juanaExtraLight';
    font-size: 20px;
    line-height: 1.4;
    text-align: center;
    max-width: 665px;
    margin: 0 auto 10px;
    color: #181818;
}
/* ====================================
   EXPERIENCE PAGE
   ==================================== */
/* Main container */
.experience-section {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 40px;
    padding-bottom: 180px;
}
/* Odd sections (1, 3, 5) - Image left, text right */
.experience-section-1, .experience-section-3, .experience-section-5 {
    justify-content: space-between;
}
.experience-section-1 .experience-image, .experience-section-3 .experience-image, .experience-section-5 .experience-image {
    max-width: 473px;
    flex-shrink: 0;
}
.experience-section-1 .experience-content, .experience-section-3 .experience-content, .experience-section-5 .experience-content {
    max-width: 440px;
    margin-left: auto;
}
/* Even sections (2, 4, 6) - Text left, image right */
.experience-section-2, .experience-section-4, .experience-section-6 {
    justify-content: space-between;
}
.experience-section-2 .experience-content, .experience-section-4 .experience-content, .experience-section-6 .experience-content {
    max-width: 440px;
    margin-right: auto;
}
.experience-section-2 .experience-image, .experience-section-4 .experience-image, .experience-section-6 .experience-image {
    max-width: 330px;
    flex-shrink: 0;
}
/* Images */
.experience-image img {
    width: 100%;
    height: auto;
    display: block;
}
/* Text content */
.experience-content {
    display: flex;
    flex-direction: column;
}
/* Reset Bootstrap margins but keep spacing between elements */
.experience-content p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.experience-number {
    font-family: 'sackersGothic';
    font-size: 12px;
    letter-spacing: 1px;
    display: block;
    margin: 0 0 15px 0 !important;
}
.experience-title {
    font-family: 'sackersGothic';
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #181818;
    margin: 0 0 30px 0 !important;
}
.experience-text {
    font-family: 'AtlasThin';
    font-size: 14px;
    line-height: 1.7;
    color: #181818;
    text-align: justify;
}
/* ====================================
   EXPERIENCE PAGE - PRICING INTRO
   ==================================== */
.exp-pg-pricing-intro {
    padding: 180px 0 140px;
    max-width: 1300px;
    margin: 0 auto;
}
.exp-pricing-top-para {
    text-align: center;
    margin: auto;
    transform: translatey(10px);
}
.exp-pricing-top-para p {
    font-family: 'AtlasThin';
    font-size: 14px;
    line-height: 1.7;
    max-width: 650px;
    margin: auto;
}
.exp-pricing-top-para p br {
    display: none;
}
/* ====================================
   EXPERIENCE PAGE - PRICING BOXES
   ==================================== */
.exp-pg-pricing {
    padding: 0 0 150px;
    max-width: 1100px;
    margin: 0 auto;
}
.exp-pg-pricing-row {
    margin-top: 40px;
}
.exp-pricing-box {
    border: 1px solid #000;
    padding: 50px 38px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #fff;
}
.exp-pricing-box-top {
    text-align: center;
}
.exp-pricing-box-top h6 {
    font-family: 'sackersGothic';
    font-size: 12px;
    text-transform: uppercase;
}
.exp-pricing-box-top h3 {
    font-family: 'juanaLight';
    font-size: 22px;
}
.exp-pricing-box-top h5 {
    margin-top: 30px;
    font-family: 'sackersGothic';
    font-size: 10px;
    text-transform: uppercase;
}
.exp-pricing-box-middle {
    margin-top: 50px;
}
.exp-pricing-box-middle ul {
    list-style: none;
    padding: 0;
}
.exp-pricing-box-middle ul li {
    margin-bottom: 10px;
    font-family: 'AtlasThin';
    font-size: 13px;
    text-align: center;
}
.exp-pricing-box-btm {
    text-align: center;
    margin-top: 40px;
}
.exp-pricing-box-btm h6 {
    font-family: 'sackersGothic';
    font-size: 10px;
    text-transform: uppercase;
}
.exp-pricing-box-btm h3 {
    font-family: 'juanaLight';
    font-size: 24px;
}
.exp-pricing-box-btm a.exp-pricing-btn {
    background: #222;
    padding: 15px 38px;
    margin-top: 40px;
    display: inline-block;
    font-family: 'sackersGothic';
    font-size: 11px;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    border: 1px solid #222;
    transition: all .3s ease-in-out;
}
.exp-pricing-box-btm a.exp-pricing-btn:hover {
    background: transparent;
    color: #000;
}
/* ====================================
   EXPERIENCE PAGE - PRICING SINGLE BOX VARIANT
   ==================================== */
.exp-pg-pricing.exp-pricing-single .exp-pg-pricing-row .row {
    justify-content: center;
}
.exp-pg-pricing.exp-pricing-single .exp-pg-pricing-row .row > div {
    max-width: 560px;
    flex: 0 0 100%;
}
/* ====================================
   EXPERIENCE PAGE - PRICING INLINE FEE
   ==================================== */
.exp-pricing-box-btm .exp-pricing-fee-note {
    display: block;
    border: 1px solid #fff;
    padding: 18px 24px;
    margin-top: 30px;
    font-family: 'sackersGothic';
    font-size: 9px;
    text-transform: uppercase;
    line-height: 1.7;
    text-align: center;
    color: #fff;
    background: #222;
}
/* ====================================
   EXPERIENCE PAGE - FEE NARROW VARIANT
   ==================================== */
.exp-pg-fee.exp-fee-narrow .exp-pg-fee-content {
    max-width: 600px;
}
/* ====================================
   EXPERIENCE PAGE - FEE SECTION
   ==================================== */
.exp-pg-fee {
    background: #222;
    padding: 500px 0 160px;
    margin-top: -600px;
}
.exp-pg-fee-content {
    border: 1px solid #000;
    padding: 40px;
    text-align: center;
    transform: translatey(10px);
    max-width: 1080px;
    margin: 0 auto;
}
.exp-pg-fee-content h6 {
    color: #fff;
    font-family: 'sackersGothic';
    font-size: 10px;
    max-width: 570px;
    margin: auto;
    line-height: 1.7;
    text-transform: uppercase;
}
.exp-pg-fee-content h6 br {
    display: none;
}
/* ====================================
   PROPAL PAGE (New System)
   ==================================== */
/* Section 1 - Intro */
.propal-sec1 {
    padding: 234px 0 70px;
    text-align: center;
}
.propal-sec1 h1 {
    font-family: 'sackersGothic';
    font-size: 15px;
    color: #181818;
    text-transform: uppercase;
}
.propal-sec1 h5 {
    font-family: 'juanaExtraLight';
    font-size: 20px;
    color: #181818;
    margin: 50px auto 40px;
    line-height: 1.6;
    max-width: 690px;
}
.propal-sec1 h5 br {
    display: none;
}
.propal-sec1 h6 {
    font-family: 'sackersGothic';
    font-size: 12px;
    color: #181818;
    text-transform: uppercase;
}
/* Section 2 - Images Gallery */
.propal-sec2 {
    padding: 180px 0 70px;
    transform: translatey(10px);
}
.propal-sec2-left {
    position: relative;
}
.propal-sec2-left .left-img1 {
    position: relative;
    z-index: 10;
    width: 318px;
    height: 477px;
    overflow: hidden;
}
.propal-sec2-left .left-img2 {
    position: absolute;
    bottom: -130px;
    right: -30px;
    z-index: 2;
    width: 200px;
    height: 294px;
    overflow: hidden;
}
.propal-sec2-middle {
    position: relative;
}
.propal-sec2-middle .mid-img1 {
    position: absolute;
    top: 60px;
    left: -50px;
    z-index: 1;
    width: 377px;
    height: 283px;
    overflow: hidden;
}
.propal-sec2-middle .mid-img2 {
    position: absolute;
    left: 50%;
    top: 250px;
    width: 308px;
    height: 422px;
    overflow: hidden;
}
.propal-sec2-right {
    text-align: right;
    position: relative;
}
.propal-sec2-right .right-img1 {
    width: 304px;
    height: 456px;
    overflow: hidden;
    margin-left: auto;
}
.propal-sec2-right .right-img2 {
    position: absolute;
    top: -80px;
    left: 0;
    width: 190px;
    height: 265px;
    overflow: hidden;
}
/* All sec2 images fill their container */
.propal-sec2-left img, .propal-sec2-middle img, .propal-sec2-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Section 3 - Title */
.propal-sec3 {
    text-align: center;
    padding: 300px 15px 150px;
}
.propal-sec3 h2 {
    font-family: 'juanaExtraLight';
    font-size: 75px;
    color: #181818;
    margin-bottom: 40px;
}
.propal-sec3 h4 {
    font-family: 'juanaExtraLight';
    font-size: 20px;
    color: #181818;
    line-height: 1.4;
}
/* Section 4 - Info Boxes */
.propal-sec4 {
    padding: 0 15px 180px;
}
.propal-sec4 .container {
    max-width: 1140px;
}
.propal-sec4-content {
    width: 100%;
    padding: 50px 20px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    height: 100%;
    transform: translatey(10px);
}
.propal-sec4-content h4 {
    font-family: 'sackersGothic';
    font-size: 13px;
    text-transform: uppercase;
    color: #181818;
    margin-bottom: 20px;
}
.propal-sec4-content h6 {
    font-family: 'AtlasThin';
    font-size: 14px;
    color: #181818;
    margin-bottom: 10px;
    line-height: 1.7;
}
/* Section 5 - Venues */
.propal-venue-sec {
    padding: 0;
    max-width: 1300px;
    margin: auto;
}
.propal-venue-sec .container-fluid {
    padding: 0;
    max-width: 1100px;
    margin: auto;
}
.propal-venue-content {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    transform: translatey(10px);
}
.propal-venue-content a {
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    z-index: 1;
    position: relative;
}
.propal-venue-content a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
    pointer-events: none;
    z-index: 1;
}
.propal-venue-content a .img {
    width: 100%;
    height: 100%;
    position: relative;
}
.propal-venue-content a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s ease-out;
}
.propal-venue-content a:hover .img img {
    transform: scale(1.015);
}
.propal-venue-content .info {
    position: absolute;
    bottom: 1.5em;
    left: 50%;
    transform: translatex(-50%);
    width: 100%;
    text-align: center;
    z-index: 2;
}
.propal-venue-content .info h6 {
    font-family: 'juanaExtraLight';
    font-size: 18px;
    text-transform: capitalize;
    color: #fff;
    margin-bottom: 6px;
}
.propal-venue-content .info p {
    font-family: 'sackersGothic';
    font-size: 10px;
    color: #fff;
    margin: 0;
}
.propal-venue-content .info h6[style],
.propal-venue-content .info p[style] {
    color: #fff !important;
}
/* Section 6 - FAQ & Budget */
.propal-faq-sec {
    padding: 180px 0;
}
.propal-faq-sec .container-fluid {
    padding: 0;
    max-width: 1100px;
    margin: auto;
}
.propal-faq-inner {
    width: 100%;
    height: 100%;
}
.propal-faq-left {
    border: 1px solid #000;
    padding: 60px 30px;
    transform: translatey(10px);
}
.propal-faq-left h5 {
    font-family: 'sackersGothic';
    font-size: 12px;
    color: #181818;
    text-transform: uppercase;
}
.propal-faq-left h2 {
    font-family: 'juanaLight';
    font-size: 40px;
    color: #181818;
    margin-bottom: 40px;
}
.propal-faq-left p {
    font-family: 'AtlasThin';
    font-size: 14px;
    color: #181818;
    line-height: 1.6;
}
.propal-faq-left p br {
    display: none;
}
.propal-faq-left p:last-child {
    margin-bottom: 0 !important;
}
.propal-faq-right {
    transform: translatey(10px);
}
.propal-faq-item {
    border-bottom: 1px solid #000;
    padding: 20px 0px;
}
.propal-faq-item:first-child {
    padding-top: 0;
}
.propal-faq-item .faq-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}
.propal-faq-item .faq-top .left {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0 30px;
}
.propal-faq-item .faq-top .left h4 {
    margin-bottom: 0;
}
.propal-faq-item .faq-top .left span, .propal-faq-item .faq-top .left h4 {
    font-family: 'sackersGothic';
    font-size: 12px;
    color: #181818;
    text-transform: uppercase;
}
.propal-faq-item .faq-top .right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0 20px;
}
.propal-faq-item .faq-top .right h6 {
    font-family: 'sackersGothic';
    font-size: 12px;
    color: #181818;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 0;
}
.propal-faq-item .plus-minus {
    width: 40px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.propal-faq-item .faq-btm {
    max-height: 0;
    overflow: hidden;
    transition: all .3s ease-in-out;
}
.propal-faq-item .faq-btm-inner {
    margin-top: 20px;
}
.propal-faq-item .faq-btm-inner p {
    font-family: 'AtlasThin';
    font-size: 14px;
    color: #181818;
    line-height: 1.5;
    margin-bottom: 0;
}
.propal-faq-item .minus, .propal-faq-item.active .plus {
    display: none;
}
.propal-faq-item.active .minus {
    display: block;
}
/* ====================================
   JOURNEY SECTION
   ==================================== */
/* Container principal */
.journey-section {
    max-width: 1100px;
    margin: 0 auto;
    padding: 150px 40px 180px;
}
/* Header */
.journey-header {
    text-align: center;
    margin-bottom: 100px;
}
.journey-title {
    font-family: 'juanaExtraLight';
    font-size: 75px;
    color: #181818;
    margin-bottom: 40px;
    transform: translatey(10px);
}
.journey-subtitle {
    font-family: 'juanaExtraLight';
    font-size: 20px;
    color: #181818;
    line-height: 1.4;
    transform: translatey(10px);
}
/* Grid layout */
.journey-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px 60px;
}
/* Step item */
.journey-step {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}
/* Numbers */
.step-number {
    font-family: 'juanaExtraLight';
    font-size: 140px;
    line-height: 0.9;
    font-weight: 200;
    color: #181818;
    flex-shrink: 0;
    margin-top: 18px;
    width: 120px; /* Largeur fixe pour tous les chiffres */
    text-align: center; /* Centre le chiffre dans son espace */
}
/* Content */
.step-content {
    padding-top: 30px;
    flex: 1; /* Prend l'espace restant */
}
.step-title {
    font-family: 'sackersGothic';
    font-size: 12px;
    text-transform: uppercase;
    color: #181818;
    margin-bottom: 20px;
}
.step-text {
    font-family: 'AtlasThin', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    font-weight: 300;
    margin: 0;
    color: #181818;
    max-width: 380px;
}
/* ====================================
   DIFFERENCE SECTION
   ==================================== */
.difference-section {
    max-width: 1100px;
    margin: 0 auto;
    padding: 180px 40px;
}
.difference-container {
    display: flex;
    align-items: center;
    gap: 100px;
}
/* Images gauche */
.difference-images {
    width: 534px;
    flex-shrink: 0;
    position: relative;
    height: 600px;
}
.image-bottom {
    max-width: 323px;
    position: absolute;
    left: 0;
    bottom: 0;
}
.image-bottom img {
    width: 100%;
    height: auto;
    display: block;
}
.image-overlap {
    max-width: 280px;
    position: absolute;
    top: 0;
    right: 0;
}
.image-overlap img {
    width: 100%;
    height: auto;
    display: block;
}
/* Contenu droite */
.difference-content {
    flex: 1;
    max-width: 450px;
}
.difference-title {
    font-family: 'juanaExtraLight';
    font-size: 24px;
    color: #181818;
    margin-bottom: 38px;
    line-height: 1.2;
}
.difference-text {
    font-family: 'AtlasThin', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #181818;
    margin-bottom: 25px;
}
.difference-content p, .difference-text {
    font-family: 'AtlasThin', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #181818;
    margin-bottom: 25px;
}
.difference-content p:last-child, .difference-text:last-child {
    margin-bottom: 0;
}
/* ====================================
   CONSULTING INTRO SECTION
   ==================================== */
.consulting-intro {
    padding: 60px 0 180px;
}
.consulting-intro h2 {
    text-align: center;
    font-family: 'juanaExtraLight';
    font-size: 90px;
    text-transform: uppercase;
    line-height: .97;
}
.consulting-intro h2 br {
    display: none;
}
.consulting-intro h2 em {
    font-style: normal;
    display: block;
    overflow: hidden;
}
.consulting-intro h2 em small {
    display: block;
}
.consulting-intro h3 {
    font-family: 'juanaExtraLight';
    font-size: 19px;
    line-height: 1.4;
    color: #181818;
    max-width: 355px;
    margin: 0 auto 50px;
    text-align: left;
    letter-spacing: 0.5px;
}
.consulting-intro-row {
    max-width: 1000px;
    margin: 140px auto 0;
}
.consulting-intro-row .row {
    display: flex;
    align-items: center;
}
.consulting-intro-row p {
    font-family: 'AtlasThin';
    font-size: 14px;
    text-align: justify;
    color: #181818;
    line-height: 1.7;
    max-width: 355px;
    margin: 10px auto;
}
/* Image column */
.consulting-intro-img {
    overflow: hidden;
    max-width: 355px;
    height: 530px;
    margin: 0 auto;
}
.consulting-intro-img img {
    width: 100%;
    height: 110%;
    object-fit: cover;
    display: block;
}
/* ====================================
   CONSULTING SECTION 1
   ==================================== */
.consulting-sec1 {
    padding: 60px 0 160px;
}
.consulting-sec1 h2 {
    font-family: 'juanaExtraLight';
    font-size: 75px;
    line-height: .97;
    color: #181818;
    position: relative;
    text-align: center;
    text-transform: uppercase;
}
.consulting-sec1 h2 br {
    display: none;
}
.consulting-sec1 h2 em {
    font-style: normal;
    overflow: hidden;
    display: block;
}
.consulting-sec1 h2 em small {
    display: block;
}
.consulting-sec1 h2 .shift-line {
    margin-bottom: 60px;
    display: block;
}
.consulting-sec1 h3 {
    font-family: 'sackersGothic';
    font-size: 12px;
    font-weight: 400;
    color: #000;
    max-width: 300px;
    text-align: center;
    margin: 0 auto 60px;
    line-height: 1.9;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.consulting-sec1 p {
    font-family: 'AtlasThin';
    font-weight: 400;
    font-size: 14px;
    text-align: center;
    max-width: 550px;
    margin: 0 auto 20px;
    line-height: 1.8;
}
#consulting-port {
    padding: 150px 0 40px;
}
#consulting-port p {
    max-width: 675px;
}
/* ============================================
   Consulting Image Section
   3 images: small left (edge), large center, small right (edge)
   ============================================ */
.consulting-sec-img {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 100px 0;
    overflow: hidden;
}
/* Side containers: fixed dimensions */
.consulting-sec-img__left, .consulting-sec-img__right {
    width: 240px;
    height: 360px;
    overflow: hidden;
    flex-shrink: 0;
}
/* Center container: fixed dimensions, larger */
.consulting-sec-img__center {
    width: 380px;
    height: 530px;
    overflow: hidden;
    flex-shrink: 0;
    margin: 0 auto;
}
/* All images: fill their container, keep proportions */
.consulting-sec-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* ====================================
   CONSULTING SECTION 2
   ==================================== */
.consulting-sec2 {
    padding: 140px 0;
}
.consulting-sec2-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}
.consulting-sec2 h2 {
    font-family: 'juanaExtraLight';
    font-size: 75px;
    line-height: 0.97;
    color: #181818;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 120px;
}
.consulting-sec2 h2 br {
    display: none;
}
.consulting-sec2 h2 em {
    font-style: normal;
    overflow: hidden;
    display: block;
}
.consulting-sec2 h2 em small {
    display: block;
}
.consulting-sec2-row {
    display: flex;
    align-items: center;
    gap: 60px;
}
.consulting-sec2-left {
    flex: 0 0 45%;
    overflow: hidden;
    background: #fff;
    height: 715px;
}
.consulting-sec2-left img {
    width: 100%;
    max-width: 477px;
    height: 110%;
    display: block;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}
.consulting-sec2-right {
    flex: 1;
}
.consulting-sec2-item {
    display: flex;
    gap: 15px;
    margin-bottom: 40px;
    align-items: flex-start;
}
.consulting-sec2-item:last-child {
    margin-bottom: 0;
}
.consulting-sec2-right h3 {
    font-family: 'sackersGothic';
    font-size: 11px;
    font-weight: 400;
    color: #181818;
    letter-spacing: 1px;
    margin: 0;
    flex-shrink: 0;
    line-height: 1.8;
}
.consulting-sec2-right h4 {
    font-family: 'sackersGothic';
    font-size: 11px;
    line-height: 1.8;
    font-weight: 400;
    color: #181818;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
    flex: 1;
}
.consulting-sec2-right p {
    font-family: 'AtlasThin';
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    color: #181818;
    margin: 0;
}
.consulting-sec2-content {
    flex: 1;
}
#sb_instagram {
    padding-bottom: 0px !important;
}
#sb_instagram #sbi_images {
    padding-bottom: 0px !important;
}
#sb_instagram span {
    display: none !important;
}
#sb_instagram .sbi_type_carousel .fa-clone {
    display: none;
}
#sb_instagram svg:not(:root).svg-inline--fa {
    display: none !important;
}
/* ============================================
   PACKAGE DETAIL — CONTINUOUS FLOW
   Prefix: .package-detail
   ============================================ */
/* --- Kill smooth wrapper on this template --- */
body.page-template-page-package-detail, body.page-template-page-package-detail html {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
body.page-template-page-package-detail #smooth-wrapper {
    all: unset !important;
    display: block !important;
}
body.page-template-page-package-detail #smooth-content {
    all: unset !important;
    display: block !important;
}
body.page-template-page-package-detail footer {
    display: none !important;
}
body.page-template-page-package-detail .my-element-to-clip {
    display: none !important;
    height: 0 !important;
}
/* --- Force header above scroll --- */
body.page-template-page-package-detail .logo, body.page-template-page-package-detail .ham, body.page-template-page-package-detail header, body.page-template-page-package-detail nav {
    z-index: 200 !important;
}
/* --- Main wrapper --- */
.package-detail {
    width: 100%;
    overflow: hidden;
}
/* --- Track: continuous horizontal flow --- */
.package-detail__track {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    height: 100vh;
    gap: 0;
    will-change: transform;
}
/* ============================================
   FLOW ITEMS (generic)
   ============================================ */
.package-detail__item {
    flex: 0 0 auto;
    height: 100vh;
    display: flex;
    align-items: center;
}
/* Images */
.package-detail__item--image {}
/* Text items */
.package-detail__item--text {}
/* Last element: breathing room at end of scroll */
.package-detail__item:last-child {
    margin-right: 180px;
}
.package-detail__item + .package-detail__item {
    margin-left: 180px;
}
/* No extra margin after hero — image bleeds to edge */
.package-detail__item--hero + .package-detail__item {
    margin-left: 240px;
}
/* ============================================
   HERO (intro — 100vw, untouched)
   ============================================ */
.package-detail__item--hero {
    flex: 0 0 100vw;
    width: 100vw;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
    padding: 0;
}
.package-detail__hero-text {
    flex: 0 0 50%;
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 60px;
}
.package-detail__surtitle {
    font-family: 'sackersGothic';
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #181818;
    margin-bottom: 20px;
    line-height: 1.6;
    text-align: center;
}
.package-detail__title {
    font-family: 'juanaExtraLight';
    font-size: clamp(30px, 5vw, 60px);
    font-weight: 400;
    line-height: 1.15;
    color: #181818;
    text-align: center;
}
.package-detail__hero-image {
    flex: 0 0 50%;
    width: 50%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    line-height: 0;
    font-size: 0;
}
.package-detail__hero-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* ============================================
   IMAGE ITEMS (2:3 ratio containers)
   ============================================ */
.package-detail__item--image {
    overflow: hidden;
    position: relative;
}
.package-detail__item--image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
/* Full: 80vh × 53.3vh */
.package-detail__item--full {
    height: 80vh;
    width: calc(80vh * 0.667);
}
/* Extra-full: 100vh × 66.7vh */
.package-detail__item--extrafull {
    height: 100vh;
    width: calc(100vh * 0.667);
}
/* Medium: 70vh × 46.7vh */
.package-detail__item--medium {
    height: 70vh;
    width: calc(70vh * 0.667);
}
/* Small: 50vh × 33.3vh */
.package-detail__item--small {
    height: 50vh;
    width: calc(50vh * 0.667);
}
/* ============================================
   TEXT ITEMS
   ============================================ */
.package-detail__item--text {
    flex: 0 0 auto;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 15px;
    padding: 0;
    text-align: left;
}
.package-detail__slide-title {
    font-family: 'juanaExtraLight';
    font-size: clamp(28px, 2.5vw, 42px);
    font-weight: 400;
    line-height: 1.1;
    color: #181818;
    text-align: left;
    margin-bottom: 30px;
}
.package-detail__block-subtitle {
    font-family: 'sackersGothic';
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #181818;
    margin-bottom: 15px;
    line-height: 1.7;
}
.package-detail__block-text {
    font-family: 'AtlasThin';
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    color: #181818;
}
/* ============================================
   2-COLUMN TEXT LAYOUT
   ============================================ */
.package-detail__item--2col {
    max-width: 860px !important;
    width: 860px;
}
.package-detail__blocks-grid {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}
.package-detail__blocks-col {
    flex: 0 0 400px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
/* ============================================
   NEXT PACKAGE NAVIGATION
   ============================================ */
.package-detail__item--next {
    flex: 0 0 auto;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    padding: 0 80px;
    z-index: 10;
}
.package-detail__next-preview {
    position: absolute;
    width: 240px;
    height: 360px;
    pointer-events: none;
    z-index: 1;
    transform: translate(-50%, -50%);
}
.package-detail__next-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.package-detail__next-content {
    text-align: center;
    position: relative;
    z-index: 2;
}
.package-detail__next-label {
    font-family: 'sackersGothic';
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #181818;
    margin-bottom: 15px;
}
.package-detail__next-title {
    font-family: 'juanaExtraLight';
    font-size: clamp(24px, 2vw, 34px);
    font-weight: 400;
    line-height: 1.1;
    color: #181818;
}
/* ============================================
   COUNTER (fixed bottom left)
   ============================================ */
.package-detail__counter {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 50;
    font-family: 'sackersGothic';
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #181818;
    pointer-events: none;
    transition: color 0.3s ease;
}
/* ============================================
   PROGRESS BAR (fixed bottom)
   ============================================ */
.package-detail__progress {
    position: fixed;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0%;
    background: #1a1a1a;
    z-index: 50;
    pointer-events: none;
    transition: background 0.3s ease;
}
#goToTop {
    display: none;
}
/* ====================================
   SELECTED WORK - Fixed aspect ratios
   Portrait: 447x694 → ratio 0.644
   Landscape: 447x307 → ratio 1.456
   ==================================== */
body.page-template-page-selected-work .marie-photo-wrapper {
    overflow: hidden;
}
body.page-template-page-selected-work .marie-photo-wrapper--portrait {
    aspect-ratio: 447 / 694;
}
body.page-template-page-selected-work .marie-photo-wrapper--landscape {
    aspect-ratio: 447 / 307;
}
body.page-template-page-selected-work .marie-photo-wrapper img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}
/* ====================================
   CORRECTIF VISIBILITÉ - NE PAS TOUCHER AU MENU
   ==================================== */
/* tout ce bloc jusqu'à */
.hm-loader * {
    /* Préservé pour les animations GSAP */
}
.propal-wrapper [style] {
    text-align: inherit !important;
    color: inherit !important;
    background-color: transparent !important;
}
/* ====================================
   RESPONSIVE DESIGN
   ==================================== */
@media(min-width: 1601px) {
    header .container {
        max-width: 1600px !important;
    }
    .about-sec-btm-right {
        min-height: 400px;
        margin-left: calc(((100% - 597px) / 2) - 15px);
    }
    .about-sec-btm-img2 {
        margin-top: -280px;
    }
    .about-sec-btm-img {
        max-width: 808px;
    }
    .about-sec-btm-img img {
        max-width: 808px;
    }
    .con-banner-img-container--side {
        width: 405px;
        height: 589px;
    }
    .con-banner-img-container--mid {
        width: 260px;
        height: 378px;
    }
    .experience-section {
        max-width: 1300px;
    }
    .exp-pg-pricing-intro, .exp-pg-pricing {
        max-width: 1300px;
    }
    .exp-pg-fee-content {
        max-width: 1280px;
    }
    .journey-section {
        max-width: 1300px;
        margin: 0 auto;
    }
    .difference-section {
        max-width: 1300px;
        margin: 0 auto;
    }
    .propal-sec4 .container {
        max-width: 1340px;
    }
    .propal-sec2-left .left-img1 {
        width: 348px;
        height: 522px;
    }
    .propal-sec2-left .left-img2 {
        width: 231px;
        height: 339px;
    }
    .propal-sec2-middle .mid-img1 {
        width: 387px;
        height: 291px;
        top: 70px;
        left: -40px;
    }
    .propal-sec2-middle .mid-img2 {
        width: 338px;
        height: 464px;
    }
    .propal-sec2-right .right-img1 {
        width: 334px;
        height: 502px;
    }
    .propal-sec2-right .right-img2 {
        width: 218px;
        height: 303px;
        left: 100px;
    }
    .propal-venue-sec .container-fluid {
        max-width: 1300px;
    }
    .propal-faq-sec .container-fluid {
        max-width: 1300px;
    }
    .propal-faq-left {
        padding: 70px 70px 50px;
    }
    .hm3-img-mid-sm {
        left: 0;
    }
    .hm-sec3-img-mid {
        right: 0;
    }
    .sec5-mid-img1 {
        left: 25px;
    }
    .sec5-mid-img2 {
        right: 0;
    }
    .hm5-img-container--left {
        width: 201px;
        height: 267px;
    }
    .hm5-img-container--mid {
        width: 370px;
        height: 491px;
    }
    .hm5-img-container--mid-sm1 {
        width: 136px;
        height: 180px;
    }
    .hm5-img-container--mid-sm2 {
        width: 182px;
        height: 241px;
    }
    .hm5-img-container--right {
        width: 201px;
        height: 267px;
    }
    .consulting-sec-img__center {
        width: 440px;
        height: 590px;
    }
    .package-detail {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
    }
    .package-detail__counter, .package-detail__progress {
        z-index: 100;
    }
    .package-detail__item--hero {
        padding: 0;
        gap: 0;
    }
    .package-detail__hero-text {
        padding: 0 60px;
    }
    .package-detail__item--full {
        height: 88vh;
        width: calc(88vh * 0.667);
    }
    .package-detail__item--extrafull {
        height: 100vh;
        width: calc(100vh * 0.667);
    }
    .package-detail__item--medium {
        height: 75vh;
        width: calc(75vh * 0.667);
    }
    .package-detail__item--2col {
        max-width: 1060px !important;
        width: 1060px;
    }
    .package-detail__blocks-col {
        flex: 0 0 500px;
    }
    .package-detail__item--text {
        max-width: 500px;
    }
    .package-detail__item + .package-detail__item {
        margin-left: 240px;
    }
    .package-detail__item:last-child {
        margin-right: 240px;
    }
    .package-detail__title {
        font-size: clamp(40px, 5vw, 70px);
    }
    .package-detail__slide-title {
        font-size: clamp(32px, 3vw, 48px);
        margin-bottom: 40px;
    }
    .luxfolio-grid {
        padding: 80px 200px 200px;
    }
}
@media(max-width: 1299px) {
    .srv-pg-sec2, .srv-pg-sec3, .srv-pg-sec4, .srv-pg-sec6, .srv-pg-sec7 {
        padding-left: 25px !important;
    }
    .srv-pg-sec3 .container {
        max-width: 100% !important;
        padding: 0;
    }
    .srv-pg-sec3, .srv-pg-sec7 {
        padding-right: 15px;
    }
    .hm3-img-container--left {
        width: 180px;
        height: 264px;
    }
    .hm3-img-container--mid {
        width: 340px;
        height: 497px;
    }
    .hm3-img-container--mid-sm {
        width: 150px;
        height: 220px;
    }
    .hm3-img-container--right {
        width: 240px;
        height: 351px;
    }
    .hm-sec4-row h2 small {
        font-size: 90px;
    }
    .hm4-img-con-left .hm4-img {
        max-width: 190px;
    }
    .hm4-img-con-right .hm4-img {
        max-width: 260px;
    }
    .para-img-left .para-img {
        max-width: 120px;
    }
    .para-img-right .para-img {
        max-width: 160px;
        right: 50px;
        bottom: -100px;
    }
    .hm-sec5 h2 {
        font-size: 22px;
        line-height: 34px;
    }
    .hm-sec5-img-left, .hm-sec5-img-right {
        top: 80px;
    }
    .hm5-img-container--left {
        width: 175px;
        height: 232px;
    }
    .hm5-img-container--mid {
        width: 320px;
        height: 425px;
    }
    .hm5-img-container--mid-sm1 {
        width: 118px;
        height: 157px;
    }
    .hm5-img-container--mid-sm2 {
        width: 158px;
        height: 210px;
    }
    .hm5-img-container--right {
        width: 175px;
        height: 232px;
    }
    .sec5-mid-img1 {
        left: -30px;
    }
    .sec5-mid-img2 {
        right: -60px;
    }
    .hm-sec6 h2 small {
        font-size: 90px;
    }
    .con-banner-img-container--side {
        width: 305px;
        height: 444px;
    }
    .con-banner-img-container--mid {
        width: 210px;
        height: 306px;
    }
    .con-banner h1 {
        font-size: 100px;
    }
    .about-sec-btm-right {
        margin-left: 15px;
    }
    .about-sec-btm-img2 {
        margin-top: -200px;
    }
    .about-sec-btm-img2-inner {
        bottom: -80px;
    }
    .experience-section {
        max-width: 1000px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .experience-section-1 .experience-image, .experience-section-3 .experience-image, .experience-section-5 .experience-image {
        max-width: 400px;
    }
    .experience-section-1 .experience-content, .experience-section-3 .experience-content, .experience-section-5 .experience-content, .experience-section-2 .experience-content, .experience-section-4 .experience-content, .experience-section-6 .experience-content {
        max-width: 380px;
    }
    .experience-section-2 .experience-image, .experience-section-4 .experience-image, .experience-section-6 .experience-image {
        max-width: 280px;
    }
    .exp-pg-pricing-intro, .exp-pg-pricing {
        max-width: 1000px;
    }
    .exp-pg-fee-content {
        max-width: 980px;
        margin: auto;
    }
    .propal-sec2-left .left-img1 {
        max-width: 280px;
    }
    .propal-sec2-left .left-img2 {
        max-width: 180px;
        bottom: -120px;
    }
    .propal-sec2-middle .mid-img1 {
        max-width: 320px;
    }
    .propal-sec2-middle .mid-img2 {
        max-width: 270px;
    }
    .propal-sec2-right .right-img1, .propal-sec2-right .right-img1 img {
        max-width: 260px;
    }
    .propal-sec2-right .right-img2 {
        max-width: 170px;
    }
    .consulting-sec-img__left, .consulting-sec-img__right {
        width: 200px;
        height: 300px;
    }
    .consulting-sec-img__center {
        width: 320px;
        height: 450px;
    }
    .con-pg-form-sec .wpcf7 {
        max-width: 950px;
    }
    .package-detail__item + .package-detail__item {
        margin-left: 180px;
    }
    .package-detail__item--hero {
        padding: 0;
    }
    .package-detail__hero-text {
        padding: 0 40px;
    }
}
@media(max-width: 1199px) {
    .proposal-sec2-right .right-img2 {
        left: -120px;
    }
    .venue-sec .container-fluid {
        padding: 0 15px !important;
    }
    .venue-sec, .proposal-faq-sec, .proposal-pg-sec6 {
        padding: 0 15px 90px;
    }
    .proposal-faq-sec .container-fluid {
        padding: 0 15px !important;
    }
    .proposal-pg-sec6 .container-fluid {
        padding: 0 15px !important;
    }
    .proposal-pg-sec7 .container-fluid {
        padding: 0 15px !important;
    }
    header .container {
        max-width: 1140px !important;
    }
    .proposal-pg-sec7 {
        padding: 570px 15px 90px;
        margin-top: -600px;
    }
    .hm-sec4-row h2 small {
        font-size: 80px;
    }
    .hm4-img-con-right {
        transform: translateY(100px);
    }
    .para-img-right .para-img {
        right: 40px;
        bottom: -100px;
    }
    .hm-sec5 {
        padding: 120px 0;
    }
    .hm-sec5 h2 {
        font-size: 20px;
        line-height: 32px;
        padding: 0 0 80px;
    }
    .hm-sec5-img-row {
        margin-top: 80px;
    }
    .hm-sec5-testimonial-row {
        padding-top: 120px;
    }
    .hm-sec5-img-left, .hm-sec5-img-right {
        top: 60px;
    }
    .hm-sec6 h2 small {
        font-size: 80px;
    }
    .con-banner {
        padding: 80px 0 120px;
    }
    .con-banner h1 {
        font-size: 90px;
    }
    .about-sec-btm-img2 {
        margin-top: -180px;
    }
    .experience-section {
        gap: 30px;
    }
    .exp-pricing-box {
        padding: 40px 25px;
    }
    .exp-pricing-box-top h3 {
        font-size: 20px;
    }
    .exp-pricing-box-btm h3 {
        font-size: 22px;
    }
    .propal-sec3 {
        padding: 250px 15px 120px;
    }
    .propal-sec3 h2 {
        font-size: 65px;
    }
    .con-pg-form-sec .wpcf7 {
        max-width: 900px;
    }
}
@media (max-width: 1024px) {
    .video-hero__content {
        padding: 30px;
    }
    .srv-pg-sec6, .srv-pg-sec7 {
        padding-bottom: 100px;
    }
    .srv-pg-sec6 .srv-pg-sec4-right-img {
        top: 40px;
    }
    .srv-pg-sec5 {
        padding: 0 25px 300px;
    }
    .srv-pg-sec6 .srv-pg-sec4-right {
        margin-top: -150px;
    }
    .srv-pg-sec4-right-img {
        top: 50px;
    }
    .srv-pg-sec4-left {
        padding-right: 30px;
    }
    .srv-pg-sec4-info .number {
        margin-bottom: 100px;
    }
    .srv-pg-sec3 {
        padding: 150px 25px 220px;
    }
    .srv-pg-sec4-right {
        margin-top: -100px;
    }
    .srv-pg-sec7 {
        padding: 0 15px 70px 15px !important;
    }
    .hm-sec3-img-mid {
        margin-top: 50px;
    }
    .hm3-img-mid-sm {
        top: 7em;
    }
    .hm3-img-container--left {
        width: 160px;
        height: 234px;
    }
    .hm3-img-container--mid {
        width: 280px;
        height: 410px;
    }
    .hm3-img-container--mid-sm {
        width: 130px;
        height: 190px;
    }
    .hm3-img-container--right {
        width: 200px;
        height: 293px;
    }
    .hm-sec4 {
        padding: 120px 0 0;
    }
    .hm-sec4-row h2 {
        margin-top: -80px;
    }
    .hm-sec4-row h2 small {
        font-size: 70px;
    }
    .hm4-img-con-right {
        transform: translateY(80px);
    }
    .hm-sec4-txt h6 {
        margin: 80px auto 0;
    }
    .hm-sec4-para .para-txt {
        margin: 80px auto 0;
    }
    .hm4-img-con-left .hm4-img {
        max-width: 160px;
    }
    .hm4-img-con-right .hm4-img {
        max-width: 220px;
    }
    .para-img-left .para-img {
        max-width: 100px;
    }
    .para-img-right .para-img {
        max-width: 140px;
        right: 30px;
        bottom: -80px;
    }
    .hm-sec5 {
        padding: 100px 0;
    }
    .hm-sec5 h2 {
        font-size: 18px;
        line-height: 28px;
        padding: 0 0 60px;
    }
    .hm-sec5-img-row {
        margin-top: 60px;
    }
    .hm-sec5-testimonial-row {
        padding-top: 100px;
    }
    .hm-sec5-testimonial-row p {
        font-size: 13px;
        line-height: 24px;
    }
    .hm-sec5-img-right, .hm-sec5-img-left {
        top: 60px;
    }
    .hm5-img-container--left {
        width: 145px;
        height: 193px;
    }
    .hm5-img-container--mid {
        width: 260px;
        height: 345px;
    }
    .hm5-img-container--mid-sm1 {
        width: 96px;
        height: 127px;
    }
    .hm5-img-container--mid-sm2 {
        width: 128px;
        height: 170px;
    }
    .hm5-img-container--right {
        width: 145px;
        height: 193px;
    }
    .sec5-mid-img1 {
        top: 25%;
        left: 5px;
    }
    .sec5-mid-img2 {
        bottom: -40px;
        right: -50px;
    }
    .hm-sec6 h2 small {
        font-size: 70px;
    }
    .about-sec-btm-img2 {
        margin-top: -150px;
    }
    .about-sec-btm-img2-inner {
        bottom: -60px;
    }
    .luxfolio-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 120px;
        padding: 60px 120px 120px;
    }
    .portfolio-listing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 60px;
        padding: 60px;
    }
    .marie-gallery-wrapper {
        padding: 80px 0 !important;
    }
    .marie-nav-wrapper {
        padding: 50px 0;
    }
    .experience-section {
        max-width: 900px;
        padding-bottom: 120px;
    }
    .experience-section-1 .experience-image, .experience-section-3 .experience-image, .experience-section-5 .experience-image {
        max-width: 350px;
    }
    .experience-section-1 .experience-content, .experience-section-3 .experience-content, .experience-section-5 .experience-content, .experience-section-2 .experience-content, .experience-section-4 .experience-content, .experience-section-6 .experience-content {
        max-width: 340px;
    }
    .experience-section-2 .experience-image, .experience-section-4 .experience-image, .experience-section-6 .experience-image {
        max-width: 250px;
    }
    .exp-pg-pricing-intro {
        padding: 120px 0 100px;
    }
    .exp-pg-pricing {
        padding: 0 0 100px;
        max-width: 900px;
    }
    .exp-pg-fee-content {
        max-width: 880px;
        margin: auto;
    }
    .exp-pg-fee {
        padding: 450px 0 120px;
        margin-top: -500px;
    }
    .exp-pricing-box-middle ul li {
        font-size: 12px;
        margin-bottom: 8px;
    }
    .propal-sec2 {
        padding: 150px 0 60px;
    }
    .propal-sec3 h2 {
        font-size: 60px;
    }
    .con-pg-form-sec .wpcf7 {
        max-width: 800px;
    }
    .con-banner {
        padding: 70px 0 100px;
    }
    .con-banner h1 {
        font-size: 80px;
    }
    .con-banner-img-container--side {
        width: 240px;
        height: 349px;
    }
    .con-banner-img-container--mid {
        width: 170px;
        height: 248px;
    }
    .package-detail__item + .package-detail__item {
        margin-left: 120px;
    }
    .package-detail__hero-text {
        padding: 0 30px;
    }
    .package-detail__title {
        font-size: clamp(32px, 4vw, 55px);
    }
    .package-detail__item--text {
        max-width: 350px;
    }
    .package-detail__item--2col {
        max-width: 760px !important;
        width: 760px;
    }
    .package-detail__blocks-col {
        flex: 0 0 350px;
    }
}
@media(max-width: 991px) {
    .proposal-pg-sec6-row {
        margin-top: 40px;
    }
    .proposal-faq-left {
        padding: 40px 20px;
    }
    .proposal-faq-left h2 {
        margin-bottom: 40px;
        font-size: 26px !important;
    }
    .faq-top h4 {
        font-family: 'sackersGothic';
        font-size: 12px;
        color: #181818;
        text-transform: uppercase;
    }
    .venue-sec, .proposal-faq-sec {
        padding: 0 15px 40px;
    }
    .contact-banner-img-con.contact-banner-img-mid img {
        max-width: 160px;
    }
    .about-sec-btm {
        padding-bottom: 100px;
        padding-left: 15px;
    }
    .about-sec-btm-right {
        margin-left: 0;
        margin-top: 50px;
        padding-right: 25px;
    }
    .about-sec-btm-left {
        padding-left: 25px;
    }
    .about-sec-btm-img {
        margin-right: 0;
        justify-content: center;
    }
    .about-sec-btm-img2 {
        margin-top: 50px;
    }
    .about-sec-btm-img2-inner {
        bottom: -40px;
        left: 0;
    }
    header .container-flex {
        max-width: 1440px !important;
    }
    .ftr-menu ul, .ftr-menu-last {
        justify-content: center;
    }
    .ftr-logo {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .srv-pg-sec2 .srv-pg-sec2-right-img {
        padding-left: 40px;
    }
    .hm-sec3-img-mid {
        margin-top: 50px;
    }
    .hm3-img-mid-sm {
        top: 112px;
    }
    .hm4-img-con-right {
        transform: translateY(60px);
    }
    .para-img-right .para-img {
        right: 20px;
        bottom: -60px;
    }
    .home-sec2 h2 small, .hm-sec4-row h2 small, .hm-sec6 h2 small {
        font-size: 80px;
    }
    .hm-sec5 {
        padding: 80px 0;
    }
    .hm-sec5 h2 {
        max-width: 100%;
        padding: 0 20px 50px;
    }
    .hm-sec5-img-row {
        margin-top: 50px;
    }
    .hm-sec5-testimonial-row {
        padding-top: 80px;
    }
    .hm-sec5-testimonial-row .container {
        max-width: 100% !important;
        padding: 0 30px;
    }
    .hm-sec5-testimonial-row p {
        max-width: 520px;
    }
    .hm-sec5-img-left, .hm-sec5-img-right {
        top: 40px;
    }
    .hm5-img-container--left {
        width: 120px;
        height: 159px;
    }
    .hm5-img-container--mid {
        width: 220px;
        height: 292px;
    }
    .hm5-img-container--mid-sm1 {
        width: 80px;
        height: 106px;
    }
    .hm5-img-container--mid-sm2 {
        width: 108px;
        height: 143px;
    }
    .hm5-img-container--right {
        width: 120px;
        height: 159px;
    }
    .sec5-mid-img1 {
        left: -15px;
    }
    .sec5-mid-img2 {
        bottom: -30px;
        right: -30px;
    }
    .home-sec2 h2 small, .hm-sec6 h2 small {
        font-size: 60px;
    }
    .con-banner {
        padding: 60px 0 80px;
    }
    .con-banner h1 {
        font-size: 70px;
    }
    .con-banner-img-container--side {
        width: 200px;
        height: 291px;
    }
    .con-banner-img-container--mid {
        width: 140px;
        height: 204px;
    }
    .experience-section {
        gap: 25px;
    }
    .exp-pricing-top-para p {
        font-size: 13px;
    }
    .exp-pricing-box {
        padding: 35px 20px;
    }
    .journey-grid {
        grid-template-columns: 1fr;
    }
    .propal-sec2-left .left-img2 {
        bottom: -80px;
        right: -20px;
    }
    .propal-sec2-middle .mid-img1 {
        top: 60px;
        left: -30px;
    }
    .propal-sec2-middle .mid-img2 {
        top: 180px;
    }
    .propal-sec2-right .right-img2 {
        top: -40px;
    }
    .propal-sec3 {
        padding: 200px 15px 100px;
    }
    .propal-sec3 h2 {
        font-size: 55px;
    }
    .difference-section {
        padding: 120px 40px;
    }
    .difference-container {
        gap: 60px;
    }
    .difference-images {
        width: 400px;
        height: 450px;
    }
    .image-bottom {
        max-width: 250px;
    }
    .image-overlap {
        max-width: 220px;
    }
    .consulting-sec1 h2, .consulting-sec2 h2 {
        font-size: 50px;
    }
    .consulting-sec2-row {
        flex-direction: column;
        gap: 80px;
    }
    .consulting-sec2-left {
        flex: 0 0 100%;
    }
    .consulting-sec-img {
        padding: 60px 0;
    }
    .consulting-sec-img__left, .consulting-sec-img__right {
        width: 160px;
        height: 240px;
    }
    .consulting-sec-img__center {
        width: 260px;
        height: 370px;
    }
    .consulting-intro {
        padding: 60px 0 100px;
    }
    .consulting-intro h2 {
        font-size: 60px;
    }
    .consulting-intro-row {
        margin-top: 80px;
    }
    .con-pg-form-sec .wpcf7 {
        max-width: 700px;
    }
    #goToTop {
        display: none;
    }
}
@media(max-width: 768px) {
    header .logo img {
        width: 170px;
    }
    header .container-flex {
        padding-left: 22px;
        padding-right: 22px;
    }
    .privacy-content {
        padding: 0 20px;
    }
    .privacy-content h2 {
        font-size: 28px;
    }
    #privacy h1 {
        font-size: 45px;
    }
    .privacy-content p {
        text-align: justify;
    }
    .privacy-sec h1 {
        font-size: 38px;
        margin-bottom: 40px !important;
    }
    .privacy-content h3 {
        font-size: 11px;
    }
    .privacy-sec {
        padding: 40px 15px 90px;
    }
    .proposal-sec6-box-top h3 {
        font-size: 24px;
    }
    .proposal-sec6-box-btm {
        text-align: center;
        margin-top: 60px;
    }
    .proposal-pg-sec7-content {
        padding: 20px;
    }
    .proposal-pg-sec7 {
        padding: 550px 15px 40px;
        margin-top: -600px;
    }
    .proposal-sec6-box {
        padding: 40px 20px;
    }
    .proposal-faq-item .faq-top .right h6 {
        text-align: right;
    }
    .faq-top h6 {
        font-size: 12px;
    }
    .proposal-faq-item .faq-top .right {
        gap: 0;
    }
    .proposal-faq-item .faq-top .left {
        gap: 0 10px;
    }
    .venue-sec, .proposal-faq-sec {
        padding: 0 15px 40px;
    }
    .proposal-sec4 {
        padding: 0 15px 40px;
    }
    .proposal-sec3 {
        padding: 0 0 40px;
    }
    .proposal-sec3 h2 {
        font-size: 40px;
        margin-bottom: 20px;
    }
    .proposal-sec3 h4 {
        font-size: 18px;
    }
    .proposal-sec1 h5 {
        font-size: 18px;
        margin: 20px auto;
    }
    .proposal-sec2-right .right-img2, .proposal-sec2-middle .mid-img1, .proposal-sec2-middle .mid-img2, .proposal-sec2-left .left-img2, .proposal-sec2-left .left-img1 {
        position: initial;
    }
    .proposal-sec1 {
        padding: 100px 15px 40px;
    }
    .proposal-sec2 {
        padding: 0px 10px 40px;
    }
    .proposal-sec2 img {
        width: 100%;
    }
    .port-sec1 {
        padding: 120px 20px 60px;
        text-align: center;
    }
    .port-sec1 h1 {
        font-size: 45px;
        margin-bottom: 30px !important;
    }
    .port-sec1 p {
        font-size: 16px;
    }
    .about-sec-btm {
        padding-bottom: 40px !important;
        padding-top: 60px;
        padding-left: 0;
        margin: 0 auto;
    }
    .about-sec-btm .row {
        flex-direction: column;
        align-items: center;
    }
    .about-sec-btm .row > .col-md-6 {
        width: 100%;
        max-width: 100%;
    }
    .about-sec-btm .row:last-child > .col-md-6:last-child {
        order: -1;
    }
    .about-sec-btm .row:last-child > .col-md-6:first-child {
        display: flex;
        justify-content: center;
    }
    .about-sec-btm-left {
        width: 100%;
        max-width: 100%;
        text-align: center;
        padding: 0 30px 90px;
        margin: 0 auto;
    }
    .about-sec-btm-left h6 {
        margin-bottom: 20px !important;
    }
    .about-sec-btm-left p {
        max-width: 100%;
        text-align: center;
        margin: 0 auto;
    }
    .about-sec-btm-img {
        justify-content: center;
        text-align: center;
        margin-right: 0;
        margin-bottom: 0;
    }
    .about-sec-btm-img img {
        max-width: 300px;
    }
    .about-sec-btm-right {
        padding: 0 30px 60px;
        margin-top: 60px;
        margin-left: 0;
        text-align: center;
        justify-content: center;
        min-height: auto;
        display: block;
    }
    .about-sec-btm-right p {
        max-width: 100%;
        margin: 0 auto;
        text-align: center;
    }
    .about-sec-btm-img2 {
        max-width: 300px;
        width: 300px;
        margin: 30px auto 90px !important;
        position: relative;
        overflow: visible;
        left: 24px;
    }
    .about-sec-btm-img2 p {
        margin: 0;
        line-height: 0;
        text-align: center;
    }
    .about-sec-btm-img2 > p > img {
        max-width: 200px !important;
        width: 200px !important;
        height: auto !important;
        object-fit: unset !important;
        display: inline-block;
    }
    .about-sec-btm-img2-inner {
        position: absolute;
        bottom: -30px;
        left: 0;
    }
    .about-sec-btm-img2-inner img {
        max-width: 100px !important;
        width: 100px !important;
    }
    .page-id-112 .logo_scroller {
        padding: 0 0 120px;
    }
    .about-sec4 {
        padding: 90px 30px 120px;
    }
    .about-sec4 h6 {
        margin-bottom: 20px !important;
    }
    .gall-grid {
        grid-template-columns: 1fr;
        gap: 10px 0;
    }
    .gall-grid .gall-img a br {
        display: none;
    }
    .con-banner {
        padding: 0 0 30px;
        position: relative;
    }
    body.page-id-22 .con-banner, body.page-id-147 .con-banner {
        padding: 0;
    }
    body.page-id-22 .con-banner h1, body.page-id-147 .con-banner h1 {
        bottom: -59px;
    }
    .con-banner {
        padding: 0 0 30px;
        position: relative;
    }
    .con-banner h1 {
        position: absolute;
        bottom: -28px;
        left: 50%;
        transform: translateX(-50%);
        top: auto !important;
        margin-bottom: 0 !important;
        z-index: 10;
        white-space: nowrap;
        width: max-content;
        font-size: 60px;
    }
    .con-banner h1 em {
        white-space: nowrap;
    }
    /* Hide left and right images on mobile */
    .contact-banner-img-left, .contact-banner-img-right {
        display: none;
    }
    /* Center image full width */
    .contact-banner-img-mid {
        display: block;
        text-align: center;
        transform: translateY(0);
    }
    .con-banner .row .col-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .contact-banner-img-con {
        height: 100vh;
        height: 100dvh;
        min-height: 100vh;
        min-height: 100dvh;
    }
    .con-banner-img-container--side {
        display: none;
    }
    .con-banner-img-container--mid {
        width: 100%;
        height: 100vh;
        height: 100dvh;
        display: block;
    }
    .contact-banner-img-con img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .contact-banner-img-con.contact-banner-img-mid img {
        max-width: 100%;
    }
    /* Contact page section 2 mobile spacing */
    .con-pg-sec2 {
        padding: 80px 30px;
    }
    .con-pg-sec2 h6 {
        font-size: 18px;
    }
    /* Contact form mobile spacing */
    .con-pg-form-sec {
        padding: 30px 30px 100px;
    }
    .con-pg-form-sec .btnn-group input {
        margin-top: 0;
    }
    .home-sec2 h2 small {
        font-size: 35px;
    }
    .home-sec2 {
        padding: 100px 30px;
    }
    .home-sec2-row {
        margin-top: 20px;
    }
    .home-sec2-row h5 {
        font-size: 18px;
        padding: 30px 0px 25px;
        text-align: center;
    }
    .hm-sec3-img-right, .hm-sec3-img-mid, .hm-sec3-img-left {
        text-align: center;
        position: static;
        margin: 0 auto;
        left: auto;
        right: auto;
    }
    .hm-sec3-img-mid {
        margin-top: 0;
    }
    .hm3-img-mid-sm {
        position: static;
        top: auto;
        left: auto;
    }
    /* Hide left, right and small center images on mobile */
    .hm-sec3-img-left, .hm-sec3-img-right, .hm3-img-mid-sm {
        display: none;
    }
    /* Center image only — full width */
    .hm3-img-container--mid {
        width: 300px;
        height: 440px;
        margin: 0 auto;
        display: block;
    }
    .hm4-img-con-left .hm4-img, .hm4-img-con-right .hm4-img, .para-img-left .para-img {
        display: none;
    }
    .para-img-right .para-img {
        position: relative;
        bottom: auto;
        right: auto;
        max-width: 300px;
        display: block;
        margin: 0 auto;
    }
    /* Section 4 title and subtitle spacing */
    .hm-sec4-txt h6 {
        font-size: 10px;
        margin-top: 70px;
        margin-bottom: 0 !important;
        max-width: 100%;
        padding: 0 30px;
    }
    .hm-sec4-row h2 {
        margin-top: 25px;
    }
    .hm-sec4-row h2 small {
        font-size: 35px;
    }
    /* Paragraph section spacing */
    .hm-sec4-para {
        margin-top: 40px;
        padding-bottom: 110px;
    }
    .hm-sec4-para .para-txt {
        text-align: justify;
        margin: 0 auto;
        padding: 0 40px;
    }
    .hm-sec4 {
        padding: 0;
    }
    /* Remove flex layout on mobile for left column */
    .hm-sec4-para .col-12.col-md-3:first-child {
        display: block;
    }
    /* Image styling for mobile */
    .para-img-con img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    /* Remove absolute positioning on right image */
    .para-img-right {
        padding-right: 0 !important;
    }
    .para-img-right .para-img {
        position: static;
        margin-top: 110px;
    }
    /* Text padding */
    .para-txt {
        padding: 40px 20px;
    }
    /* Stack images with spacing on mobile */
    .hm-sec4 .col-12 {
        margin-bottom: 0;
    }
    .marquee_track img {
        max-height: 22px;
        margin-right: 36px;
        flex-shrink: 0;
    }
    .logo_scroller {
        padding: 50px 70px;
    }
    .hm-sec5 {
        padding: 90px 0 0;
    }
    .hm-sec5 h2 {
        font-size: 18px;
        padding: 0 20px 70px;
    }
    .hm-sec5-img-row {
        margin-top: 25px;
    }
    /* Masquer tout sauf l'image centrale principale */
    .hm-sec5-img-left, .hm-sec5-img-right, .sec5-mid-img1, .sec5-mid-img2 {
        display: none;
    }
    .hm-sec5-img-right, .hm-sec5-img-left {
        top: auto;
    }
    .hm-sec5-img-mid {
        text-align: center;
        position: static;
    }
    /* Image centrale via conteneur fixe */
    .hm5-img-container--mid {
        width: 300px;
        height: 398px;
        margin: 0 auto;
        display: block;
    }
    .hm-sec5-testimonial-row {
        padding-top: 50px;
    }
    .hm-sec5-testimonial-row p {
        font-size: 13px;
        line-height: 22px;
        padding: 0 20px;
    }
    .hm-sec5-testimonial-row h6 {
        font-size: 11px;
        margin-top: 20px;
    }
    .testi-btns {
        display: none;
    }
    .hm-sec6 h2 small {
        font-size: 35px;
        line-height: 1.1;
    }
    .ftr-logo img, .ftr-logo svg {
        padding: 20px 0 35px;
    }
    footer {
        padding: 60px 0 35px;
    }
    footer .col-12.col-lg-5.col-md-12 {
        margin-top: 0 !important;
    }
    .ftr-logo img {
        max-width: 150px;
    }
    .ftr-menu ul li a {
        font-size: 10px;
    }
    /* Section 1 - Hero area */
    .srv-pg-sec1 {
        padding: 120px 20px 80px;
    }
    .srv-pg-sec1 h1 {
        font-size: 42px;
        margin-bottom: 30px;
    }
    .srv-pg-sec1 h6 {
        font-size: 16px;
        max-width: 100%;
    }
    /* Reset desktop padding on all sections */
    .srv-pg-sec2, .srv-pg-sec3, .srv-pg-sec4, .srv-pg-sec6 {
        padding-left: 0;
        padding-right: 0;
    }
    /* Stack all rows vertically and center */
    .srv-pg-sec2 .row, .srv-pg-sec3 .row, .srv-pg-sec4 .row, .srv-pg-sec5 .row, .srv-pg-sec6 .row, .srv-pg-sec7 .row {
        flex-direction: column;
        align-items: center;
    }
    /* Full width columns on mobile */
    .srv-pg-sec2 .row > [class*="col"], .srv-pg-sec3 .row > [class*="col"], .srv-pg-sec4 .row > [class*="col"], .srv-pg-sec5 .row > [class*="col"], .srv-pg-sec6 .row > [class*="col"], .srv-pg-sec7 .row > [class*="col"] {
        width: 100%;
        max-width: 100%;
    }
    /* Reset desktop padding on right image */
    .srv-pg-sec2 .srv-pg-sec2-right-img {
        padding-left: 0;
    }
    /* Uniform section padding */
    .srv-pg-sec2, .srv-pg-sec5, .srv-pg-sec7 {
        padding: 0 20px 80px !important;
    }
    .srv-pg-sec3 {
        padding: 0 20px 80px !important;
    }
    .srv-pg-sec4 {
        padding: 0 20px 30px !important;
    }
    .srv-pg-sec6 {
        padding: 0 20px 30px !important;
    }
    /* Center images with constrained width */
    .srv-pg-sec2-right-img, .srv-pg-sec2-left-img, .srv-pg-sec4-right, .srv-pg-sec4-right-img {
        text-align: center;
        max-width: 300px !important;
        margin: 0 auto 80px;
    }
    /* Right image responsive adjustments */
    .srv-pg-sec2-right-img img {
        height: auto !important;
        object-fit: unset !important;
        padding-top: 80px;
    }
    /* Hide section 4 right image on mobile */
    .srv-pg-sec4-right img {
        height: auto !important;
        object-fit: unset !important;
        display: none;
    }
    /* Constrain left images in sections 3 and 7 */
    .srv-pg-sec3 .srv-pg-sec2-left-img img, .srv-pg-sec7 .srv-pg-sec2-left-img img {
        max-width: 300px !important;
        height: auto !important;
        object-fit: unset !important;
    }
    /* Reset desktop left column layout */
    .srv-pg-sec2-left {
        display: block;
    }
    /* Center text info blocks */
    .srv-pg-sec2-left-info {
        margin-top: 0;
        margin-bottom: 60px;
        text-align: center;
        padding: 0 15px;
    }
    .srv-pg-sec2-left-info p {
        max-width: 100%;
        text-align: center;
        margin: 0 auto;
        padding-bottom: 0;
    }
    .srv-pg-sec4-info p {
        max-width: 100%;
        text-align: center;
        margin: 0 auto;
        padding-bottom: 60px;
    }
    /* Center subtitles */
    .srv-pg-sec2-left-info h6, .srv-pg-sec4-info h6 {
        text-align: center;
        padding-bottom: 15px;
        font-size: 12px;
    }
    /* Reset section 4 & 6 desktop positioning */
    .srv-pg-sec4-right {
        position: relative;
        margin-top: 0;
        text-align: center;
        align-self: center;
        display: none;
    }
    .srv-pg-sec4-right-img {
        position: relative;
        top: auto;
        left: auto;
    }
    .srv-pg-sec4-info {
        text-align: center;
        padding: 80px 15px 0;
    }
    .srv-pg-sec4-left {
        padding-right: 0;
    }
    .srv-pg-sec4-info .number {
        margin-bottom: 0;
    }
    .srv-pg-sec6 .srv-pg-sec4-right {
        margin-top: 0;
    }
    .srv-pg-sec6 .srv-pg-sec4-right-img {
        top: auto;
    }
    /* Section 5 - Reset for mobile */
    .srv-pg-sec5 {
        padding: 100px 20px;
    }
    .srv-pg-sec5 .srv-pg-sec2-left-info {
        text-align: center;
    }
    /* Hide section 3 top left image on mobile */
    .srv-pg-sec3 .srv-pg-sec2-left-top .srv-pg-sec2-left-img {
        display: none;
    }
    /* Parallax reset */
    .parallax-wrap img {}
    .video-hero__content {
        padding: 22px;
    }
    .luxfolio-grid {
        gap: 40px;
        padding: 40px 40px 60px;
    }
    .luxfolio-item {
        width: 100%;
        height: auto;
        aspect-ratio: 3/2;
    }
    .portfolio-listing-grid {
        gap: 40px;
        padding: 40px;
    }
    .portfolio-listing-page .port-sec1 {
        padding: 120px 20px 50px;
    }
    .portfolio-listing-page .port-sec1 h1 {
        font-size: 45px;
        margin-bottom: 30px;
    }
    .portfolio-listing-page .port-sec1 p {
        font-size: 18px;
    }
    .marie-gallery-page .container-fluid {
        padding-left: 20px;
        padding-right: 20px;
    }
    #marie-masonry-gallery {
        margin-left: -10px;
        margin-right: -10px;
    }
    .marie-photo-item {
        padding: 0 10px;
    }
    .marie-lightbox__btn--prev {
        left: 12px;
    }
    .marie-lightbox__btn--next {
        right: 12px;
    }
    .marie-lightbox__close {
        right: 12px;
        top: 12px;
    }
    .marie-nav-link:hover {
        opacity: 1; /* No change */
    }
    .marie-nav-link:hover .marie-nav-thumb {
        transform: none; /* No scale */
    }
    .marie-nav-link:hover .marie-nav-thumb img {
        transform: none; /* No scale */
    }
    .marie-nav-link:hover .marie-nav-arrow--prev {
        transform: rotate(180deg); /* Keep only rotation */
    }
    .marie-nav-link:hover .marie-nav-arrow--next {
        transform: none; /* No translateX */
    }
    .marie-nav-link:hover .marie-nav-label {
        color: #111; /* No color change */
    }
    .marie-nav-grid-link:hover {
        transform: none; /* No scale */
    }
    .marie-nav-grid-link:hover i {
        transform: none; /* No scale */
        opacity: 1; /* No fade */
    }
    .experience-section {
        flex-direction: column;
        gap: 40px;
        padding-bottom: 110px;
        padding-left: 30px;
        padding-right: 30px;
    }
    /* Reset all sections to single column */
    .experience-section-1, .experience-section-2, .experience-section-3, .experience-section-4, .experience-section-5, .experience-section-6 {
        flex-direction: column;
    }
    /* Order: Image always first, then content */
    .experience-image {
        order: 1;
    }
    .experience-content {
        order: 2;
    }
    /* Reset all images to full width */
    .experience-section-1 .experience-image, .experience-section-2 .experience-image, .experience-section-3 .experience-image, .experience-section-4 .experience-image, .experience-section-5 .experience-image, .experience-section-6 .experience-image {
        max-width: 100%;
        margin: 0 auto;
    }
    /* Reset all content to centered */
    .experience-section-1 .experience-content, .experience-section-2 .experience-content, .experience-section-3 .experience-content, .experience-section-4 .experience-content, .experience-section-5 .experience-content, .experience-section-6 .experience-content {
        max-width: 100%;
        margin: 80px auto 0;
        text-align: center;
    }
    .experience-text {
        text-align: center;
    }
    .exp-pg-pricing-intro {
        padding: 100px 20px 70px;
    }
    .exp-pg-pricing {
        padding: 0 20px 80px;
    }
    .exp-pg-pricing-row {
        margin-top: 30px;
    }
    .exp-pricing-box {
        margin-bottom: 20px;
    }
    .exp-pricing-box-middle {
        margin-top: 30px;
    }
    .exp-pricing-box-btm {
        margin-top: 60px;
    }
    .exp-pg-pricing.exp-pricing-single .exp-pricing-box-btm {
        margin-top: 20px;
    }
    .exp-pg-fee {
        padding: 350px 20px 80px;
        margin-top: -400px;
    }
    .exp-pg-fee-content {
        padding: 30px 20px;
        margin-left: 0;
        margin-right: 0;
    }
    .exp-pg-fee-content h6 {
        font-size: 9px;
    }
    .exp-pricing-box-btm .exp-pricing-fee-note {
        font-size: 8px;
        line-height: 1.8;
    }
    .exp-pg-pricing.exp-pricing-single .exp-pricing-box {
        padding: 35px 20px;
    }
    .journey-section {
        padding: 100px 30px;
    }
    .journey-header {
        margin-bottom: 60px;
    }
    .journey-title {
        font-size: 60px;
    }
    .journey-subtitle {
        font-size: 18px;
    }
    .journey-step {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
    }
    .step-number {
        font-size: 100px;
        margin-top: 0;
    }
    .step-content {
        padding-top: 0;
    }
    .step-text {
        max-width: 100%;
    }
    .propal-sec1 {
        padding: 160px 0 0px;
    }
    .propal-sec1 h1 {
        font-size: 13px;
    }
    .propal-sec1 h5 {
        font-size: 15px;
    }
    .propal-sec1 h6 {
        font-size: 10px;
    }
    .propal-sec2 {
        padding: 100px 0 40px;
    }
    .propal-sec2-left, .propal-sec2-middle, .propal-sec2-right {
        margin-bottom: 0;
        text-align: center;
    }
    .propal-sec2-left .left-img1, .propal-sec2-left .left-img2, .propal-sec2-middle .mid-img1, .propal-sec2-middle .mid-img2, .propal-sec2-right .right-img1, .propal-sec2-right .right-img2 {
        position: static !important;
        margin: 0 auto 40px;
        display: block;
        max-width: 330px;
        width: 100%;
        height: auto;
    }
    .propal-sec2-left img, .propal-sec2-middle img, .propal-sec2-right img {
        height: auto;
        object-fit: initial;
    }
    .propal-sec3 {
        padding: 20px 15px 80px;
    }
    .propal-sec3 h2 {
        font-size: 45px;
        margin-bottom: 30px;
    }
    .propal-sec3 h4 {
        font-size: 18px;
    }
    .propal-sec4-content {
        text-align: center;
    }
    .propal-sec4 {
        padding: 0 25px 120px;
    }
    .propal-venue-sec {
        padding: 0;
        max-width: 600px;
        margin: auto;
    }
    .difference-section {
        padding: 100px 30px;
    }
    .difference-container {
        flex-direction: column;
        gap: 60px;
        align-items: center;
    }
    .difference-images {
        width: 400px;
        height: 400px;
        margin: 0 auto;
    }
    .difference-content {
        text-align: center;
        max-width: 100%;
    }
    .propal-faq-sec {
        padding: 120px 0;
        max-width: 600px;
        margin: auto;
    }
    .portfolio-listing-thumb__info h3 {
        font-size: 9px;
    }
    .consulting-sec1 {
        padding: 40px 0 100px;
    }
    .consulting-sec1 h2, .consulting-sec2 h2 {
        font-size: 38px;
        line-height: 1.1;
    }
    .consulting-sec1 h2 .shift-line {
        margin-bottom: 40px;
    }
    #consulting-port {
        padding: 120px 0 80px;
    }
    .consulting-sec2 {
        padding: 0;
    }
    .consulting-sec2 h2 {
        margin: 60px auto;
    }
    .consulting-sec2-left {
        height: auto;
    }
    .consulting-sec2-left img {
        max-width: 100%;
        padding: 0 40px;
        height: auto;
    }
    .consulting-sec1 p {
        padding: 0 40px;
    }
    .consulting-sec2-right h3, .consulting-sec2-right h4 {
        font-size: 10px;
    }
    .consulting-sec2-item {
        padding: 0 40px;
    }
    .consulting-sec2-row {
        flex-direction: column-reverse;
        gap: 38px;
    }
    .consulting-sec2-row p {
        margin-bottom: 0;
    }
    #propal-minimal .left-img2, #propal-minimal .mid-img1, #propal-minimal .mid-img2, #propal-minimal .right-img1, #propal-minimal .right-img2 {
        display: none;
    }
    .hm-sec6-img img {
        width: 100%;
        height: auto;
        min-height: 112vh;
        object-fit: cover;
        object-position: 49% 50%;
    }
    #consulting-port p {
        padding: 0 20px;
    }
    .consulting-sec-img {
        justify-content: center;
        padding: 0;
    }
    .consulting-sec-img__left, .consulting-sec-img__right {
        display: none;
    }
    .consulting-sec-img__center {
        width: 100%;
        max-width: 300px;
        height: 100%;
        margin: 0 auto;
    }
    .consulting-sec-img img {
        min-height: 360px;
    }
    .consulting-intro {
        padding: 80px 0 0;
    }
    .consulting-intro h2 {
        font-size: 35px;
    }
    .consulting-intro h3 {
        font-size: 18px;
        max-width: 100%;
        text-align: center;
        margin-bottom: 25px;
    }
    .consulting-intro-row {
        margin-top: 40px;
        max-width: 300px;
    }
    .consulting-intro-row p {
        text-align-last: center;
    }
    .consulting-intro-img {
        max-width: 300px;
        margin: 80px auto 0;
    }
    #consulting-hero-img {
        display: none;
    }
    .step-title {
        font-size: 11px;
    }
    body.page-id-22 footer, body.page-id-147 footer {
        border: 0;
    }
    /* Mobile: vertical scroll */
    .package-detail__track {
        flex-direction: column;
        height: auto;
        padding: 0 25px;
    }
    .package-detail__item + .package-detail__item {
        margin: 20px auto;
    }
    .package-detail__item {
        height: auto;
        width: 100% !important;
    }
    .package-detail__item--hero {
        flex: none;
        width: 100% !important;
        height: auto;
        min-height: auto;
        flex-direction: column;
        padding: 120px 0 0;
        gap: 30px;
    }
    .package-detail__hero-text {
        max-width: 100%;
        width: 100%;
        padding: 0;
        align-items: center;
        text-align: center;
    }
    .package-detail__surtitle {
        text-align: center;
        margin-bottom: 8px;
    }
    .package-detail__title {
        text-align: center;
        width: 100%;
        margin-bottom: 40px;
    }
    .package-detail__hero-image {
        flex: none;
        height: auto;
        width: 100%;
        padding: 0;
        overflow: visible;
    }
    .package-detail__hero-image img {
        position: relative;
        height: 55vh;
        width: 100%;
        object-fit: cover;
    }
    .package-detail__item--image {
        position: relative;
        height: auto !important;
        width: 100% !important;
        aspect-ratio: 2 / 3;
    }
    .package-detail__item--image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .package-detail__counter {
        left: 20px;
        bottom: 20px;
    }
    /* Next package - mobile */
    .package-detail__item--next {
        padding: 0;
        height: auto;
        min-height: 50vh;
    }
    /* 2-column stacks on mobile */
    .package-detail__blocks-grid {
        flex-direction: column;
        gap: 15px;
    }
    .package-detail__item--2col {
        max-width: 100%;
    }
    .package-detail__next-preview {
        display: none;
    }
    /* Everything centered on mobile */
    .package-detail__item--text {
        max-width: 100%;
        padding: 20px 0;
        align-items: center;
        text-align: center;
    }
    .package-detail__slide-title {
        text-align: center;
        padding-top: 40px;
    }
    .package-detail__block {
        text-align: center;
    }
    .package-detail__block-subtitle {
        text-align: center;
    }
    .package-detail__block-text {
        text-align: center;
        padding-bottom: 15px;
    }
    #goToTop {
        display: none;
        position: fixed;
        bottom: 24px;
        right: 20px;
        width: 44px;
        height: 44px;
        border: none;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.6);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        color: #fff;
        cursor: pointer;
        z-index: 9999;
        opacity: 0;
        transform: translateY(20px);
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
        transition: background 0.3s ease;
    }
    #goToTop.visible {
        display: flex;
        opacity: 1;
        transform: translateY(0);
    }
    #goToTop:active {
        background: rgba(0, 0, 0, 0.8);
        transform: scale(0.92);
    }
    body.page-template-page-selected-work .marie-gallery-wrapper {
        padding: 0 !important;
    }
    #video-mid {
        margin: 80px 0 60px;
    }
    #about-hero {
        margin: 80px 0 60px;
    }
}
@media(max-width: 575px) {
    .hm-sec5-testimonial-row p {
        font-size: 12px;
        line-height: 20px;
    }
    .con-banner h1 {
        font-size: 50px;
        bottom: -12px;
    }
    .luxfolio-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 30px 20px 50px;
    }
    .luxfolio-lightbox__btn--prev {
        left: 12px;
    }
    .luxfolio-lightbox__btn--next {
        right: 12px;
    }
    .luxfolio-lightbox__close {
        right: 12px;
        top: 12px;
    }
    .luxfolio-lightbox__img {
        max-width: 92vw;
        max-height: 92vh;
    }
    .portfolio-listing-grid {
        gap: 20px;
        padding: 30px 20px;
    }
    .portfolio-listing-page .port-sec1 p {
        font-size: 16px;
    }
    /* Vidéo full height sur mobile portrait */
    .marie-video-container {
        padding-bottom: 0;
        height: 100vh;
        height: 100dvh;
    }
    .marie-dedicated-content {
        padding: 50px 20px;
    }
    .marie-nav-wrapper {
        padding: 40px 15px;
    }
    .marie-navigation {
        gap: 12px;
        align-items: center;
    }
    .marie-nav-prev, .marie-nav-next {
        min-width: 0;
    }
    .marie-nav-link {
        gap: 10px;
    }
    .marie-nav-content {
        gap: 8px;
        align-items: center;
    }
    .marie-nav-thumb {
        width: 40px;
        height: 52px;
    }
    .marie-nav-arrow {
        width: 18px;
        height: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .marie-nav-arrow img {
        display: block;
    }
    .marie-nav-label {
        font-size: 8px;
        letter-spacing: 0.5px;
    }
    .marie-nav-grid-link {
        width: 20px;
        height: 20px;
    }
    .marie-nav-grid-link i {
        font-size: 9px;
    }
    .marie-lightbox__img {
        max-width: 92vw;
        max-height: 92vh;
    }
    .experience-section-1 .experience-image, .experience-section-2 .experience-image, .experience-section-3 .experience-image, .experience-section-4 .experience-image, .experience-section-5 .experience-image, .experience-section-6 .experience-image {
        max-width: 300px;
    }
    .experience-section-1 .experience-content, .experience-section-2 .experience-content, .experience-section-3 .experience-content, .experience-section-4 .experience-content, .experience-section-5 .experience-content, .experience-section-6 .experience-content {
        max-width: 300px;
    }
    .experience-section {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 100px;
        gap: 30px;
    }
    .experience-number {
        font-size: 11px;
        margin: 0 0 10px 0 !important;
    }
    .experience-title {
        font-size: 11px;
        margin: 0 0 20px 0 !important;
    }
    .experience-text {
        font-size: 13px;
        line-height: 1.6;
    }
    .exp-pricing-top-para p {
        max-width: 300px;
    }
    .exp-pg-pricing {
        padding: 0 0 60px;
        max-width: 300px;
    }
    .exp-pricing-box {
        padding: 30px 15px;
    }
    .exp-pricing-box-top h6 {
        font-size: 11px;
    }
    .exp-pricing-box-top h3 {
        font-size: 18px;
    }
    .exp-pricing-box-top h5 {
        margin-top: 20px;
        font-size: 9px;
    }
    .exp-pricing-box-middle {
        margin-top: 25px;
    }
    .exp-pricing-box-middle ul li {
        font-size: 11px;
        margin-bottom: 7px;
    }
    .exp-pricing-box-btm {
        margin-top: 40px;
    }
    .exp-pg-pricing.exp-pricing-single .exp-pricing-box-btm {
        margin-top: 0;
    }
    .exp-pricing-box-btm h6 {
        font-size: 9px;
    }
    .exp-pricing-box-btm h3 {
        font-size: 20px;
    }
    .exp-pricing-box-btm a.exp-pricing-btn {
        padding: 12px 30px;
        font-size: 10px;
        margin-top: 30px;
    }
    .exp-pg-fee {
        padding: 335px 15px 60px;
        margin-top: -350px;
    }
    .exp-pg-fee-content {
        padding: 25px 15px;
        max-width: 280px;
        margin: auto;
    }
    .exp-pg-fee-content h6 {
        font-size: 8px;
    }
    .propal-sec2 {
        padding: 80px 0 30px;
    }
    .propal-sec2-left .left-img1, .propal-sec2-left .left-img2, .propal-sec2-left .left-img1 img, .propal-sec2-left .left-img2 img, .propal-sec2-middle .mid-img1, .propal-sec2-middle .mid-img2, .propal-sec2-middle .mid-img1 img, .propal-sec2-middle .mid-img2 img, .propal-sec2-right .right-img1, .propal-sec2-right .right-img2, .propal-sec2-right .right-img1 img, .propal-sec2-right .right-img2 img {
        max-width: 300px;
    }
    .propal-sec3 {
        padding: 30px 15px 80px;
    }
    .propal-sec3 h2 {
        font-size: 35px;
    }
    .propal-sec3 h4 {
        font-size: 16px;
    }
    .propal-venue-sec {
        padding: 0;
        max-width: 300px;
        margin: auto;
    }
    .propal-faq-sec {
        padding: 100px 0 120px;
        max-width: 300px;
        margin: auto;
    }
    .journey-title {
        font-size: 35px;
    }
    .step-number {
        font-size: 70px;
    }
    .propal-sec4-content h4 {
        font-size: 12px;
    }
    .propal-faq-item .faq-top .left {
        gap: 0 15px;
    }
    .propal-faq-item .faq-top .left span, .propal-faq-item .faq-top .left h4 {
        font-size: 8px;
    }
    .propal-faq-item .faq-top .right {
        gap: 0 15px;
    }
    .propal-faq-item .faq-top .right h6 {
        font-size: 9px;
    }
    .propal-faq-item .plus-minus {
        width: 10px;
        height: 15px;
    }
    .difference-section {
        padding: 80px 20px;
    }
    .difference-images {
        width: 300px;
        height: 300px;
    }
    .image-bottom {
        max-width: 200px;
    }
    .image-overlap {
        max-width: 160px;
    }
    .difference-title {
        font-size: 22px;
        margin-bottom: 30px;
    }
    .difference-content p, .difference-text {
        font-size: 14px;
    }
    .about-sec-btm-left p, .about-sec-btm-right p {
        max-width: 300px;
    }
    .consulting-sec2-item {
        gap: 10px;
    }
    .consulting-sec2-left img {
        max-width: 300px;
        padding: 0;
    }
    .consulting-sec2-item {
        padding: 0 40px;
    }
    body.page-id-22 .con-banner h1, body.page-id-147 .con-banner h1 {
        bottom: -51px;
    }
    .marie-lightbox__btn--prev, .marie-lightbox__btn--next {
        top: auto;
        bottom: 20px;
        transform: none;
    }
    .marie-lightbox__btn--prev {
        left: calc(50% - 60px);
    }
    .marie-lightbox__btn--next {
        right: calc(50% - 60px);
    }
}