/*
Theme Name: Hedhera Child
Template: hedhera
Version: 0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hedhera-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.
*/
body, html {
    overflow-x: clip;
    overflow-y: visible;
}
body {
    background: #fff;
}
p {
    font-weight: 100;
}
h1, h2 {
    letter-spacing: 1px;
	color: #000;
}
@font-face {
    font-family: 'Atlas Grotesk';
    src: url('fonts/AtlasGrotesk-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Atlas Grotesk';
    src: url('fonts/AtlasGrotesk-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Chiswick Poster';
    src: url('fonts/ChiswickPoster-Extralight-Web.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Chronicle Display';
    src: url('fonts/ChronicleDisplay-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Chronicle Display';
    src: url('fonts/ChronicleDisplay-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Chronicle Display';
    src: url('fonts/ChronicleDisplay-Roman.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Chronicle Display';
    src: url('fonts/ChronicleDisplay-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Plume';
    src: url('fonts/Plume-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
[data-speed] {
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.wpb_content_element {
    margin-bottom: 0 !important;
}
.top-heading h2 {
    font-family: 'Chiswick Poster';
    font-size: 39px;
    line-height: 1.2;
    font-weight: 200;
    text-transform: uppercase;
    color: #000;
}
.top-heading h2 em {
    font-style: normal;
    display: block;
    overflow: hidden;
}
.top-heading h2 em small {
    display: block;
}
.top-heading h2 br, .para-text p br {
    display: none;
}
.para-text {
    overflow: hidden;
}
.para-text p {
    font-family: 'Atlas Grotesk';
    font-size: 14px;
    line-height: 1.7;
    color: #000;
}
a.btnn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 0 20px;
    margin: 0.5rem auto;
    border: 1px solid #aaa;
    font-family: 'Chiswick Poster';
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #000;
    transition: all 0.6s;
}
a.btnn:hover {
    border: 1px solid #000;
    color: #fff;
    background: #000;
}
a {
    display: inline-block;
    text-decoration: none;
}
/* ============================================================
   CURTAIN ANIMATION
   ============================================================ */
.c-folding-animation {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    pointer-events: none;
}
.my-element-to-clip {
    height: 125vh;
    background: #faf7ee;
    clip-path: url(#myCurve);
    transition: height 1.5s cubic-bezier(.5, .2, .1, 1.14);  /* ← ajouté */
}
.c-folding-animation.actv .my-element-to-clip {  /* ← ajouté */
    height: 0;
}
.my-element-to-clip img {
    width: 150px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

/* ============================================================
   MENU + HEADER
   ============================================================ */
.menu-icon {
    width: 42px;
    height: 12px;
    position: relative;
    cursor: pointer;
}
.menu-icon span {
    position: absolute;
    width: 100%;
    height: 1px;
    background: #000;
    left: 0;
    transition: 0.3s ease;
    transform-origin: center;
}
.menu-icon span:nth-child(1) {
    top: 0;
}
.menu-icon span:nth-child(2) {
    bottom: 0;
    width: 26px;
}
.menu-lang {
    display: flex;
    align-items: center;
    gap: 8px;
}
.lang-sep {
    width: 1px;
    height: 22px;
}
.menu-lang a {
    font-family: 'Chronicle Display';
    font-size: 12px;
    text-transform: uppercase;
    color: #000;
    text-decoration: none;
    transition: opacity 0.3s ease, color 0.3s ease;
}
.menu-lang a:hover {
    opacity: 0.6;
}
/* Active state - menu open */
header.active .menu-icon span:nth-child(1) {
    top: 50%;
    width: 26px;
    transform: translateY(-50%) rotate(45deg);
}
header.active .menu-icon span:nth-child(2) {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
}
header.active .menu-icon span {
    background: #fff;
}
header.active nav {
    background: transparent;
}
header.active .logo {
    opacity: 0;
    pointer-events: none;
}
header.active .menu-lang a {
    color: #fff;
}
header.active .lang-sep line {
    stroke: #fff;
}
/* HEADER */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
}
header nav {
    background: #fff;
    transition: background 0.4s ease;
    padding: 16px 0;
}
header nav .container-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
header nav .logo a {
    display: flex;
    align-items: center;
}
header nav .logo img {
    width: 170px;
    display: block;
}
header nav .menu-lang #menu-language_switch {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
header nav .menu-lang #menu-language_switch .lang-item:nth-child(1) {
    order: 2;
    padding-left: 6px;
}
header nav .menu-lang #menu-language_switch .lang-item:nth-child(2) {
    border-right: 1px solid #000;
    padding-right: 6px;
    position: relative;
}
header nav .menu-lang #menu-language_switch .lang-item {
    line-height: .8;
}
header nav .menu-lang #menu-language_switch .lang-item a {
    font-family: 'Chiswick Poster';
    font-size: 16px;
    font-weight: 200;
    text-transform: uppercase;
    color: #000;
    line-height: 0;
    transition: all .3s ease-in-out;
}
header nav .menu-lang #menu-language_switch .lang-item a:hover {
    transform: translatey(-2px);
}
/* ============================================================
   MENU MODAL
   ============================================================ */
.menu-modal {
    position: fixed;
    inset: 0;
    z-index: 998;
    pointer-events: none;
    clip-path: inset(0 0 100% 0);
    will-change: clip-path;
}
.menu-modal.activee {
    pointer-events: all;
}
/* Fullscreen background - dual DIVS pour crossfade */
.mm-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0;
}
.mm-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 1;
}
.mm-bg.mm-dimmed::after {
    opacity: 1;
}
.mm-bgA, .mm-bgB {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    transform: scale(1.05);
    opacity: 0;
    transition: opacity 1s cubic-bezier(.2, .9, .2, 1), transform 3s ease-in-out;
    will-change: opacity, transform;
    z-index: 0;
}
.mm-bgA.mm-show, .mm-bgB.mm-show {
    opacity: 1;
    transform: scale(1);
}
/* Inner */
.menu-modal-inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    gap: 0;
    padding: 40px 0 30px;
    box-sizing: border-box;
}
/* Single link group (replaces .mm-top / .mm-bottom) */
.mm-links {
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 2;
}
/* Menu items */
.mm-item {
    overflow: hidden;
    text-align: center;
    padding: 4px 40px;
    margin: -4px -40px;
}
.mm-item a {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    font-family: 'Chiswick Poster';
    font-size: clamp(36px, 5vw, 48px);
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    line-height: 1.2;
    padding: 2px 0;
    transition: color 0.6s cubic-bezier(0.16, 0.72, 0.1, 0.98);
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}
.mm-item a em {
    font-family: 'Chiswick Poster';
    font-style: italic;
    font-size: clamp(13px, 1.4vw, 17px);
    font-weight: 300;
    color: inherit;
    position: relative;
    top: -0.6em;
    opacity: 0;
}
.mm-item a span {
    display: inline-block;
}
/* FOOTER */
footer {
    background: #faf7ee;
}
footer .ftr-main-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 40px 0;
}
footer .ftr-main-flex ul {
    display: flex;
    align-items: center;
    gap: 0 40px;
}
footer .ftr-main-flex ul li a {
    font-family: 'Atlas Grotesk';
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #000;
    font-weight: 300;
    transition: all .3s ease-in-out;
}
footer .ftr-main-flex ul li a:hover {
    transform: translatey(-2px);
}
footer .ftr-main-flex .left ul {
    justify-content: flex-start;
}
footer .ftr-main-flex .right ul {
    justify-content: flex-end;
}
footer .ftr-main-flex .left {
    flex: 1;
}
footer .ftr-main-flex .mid {
    flex: 1;
    text-align: center;
}
footer .ftr-main-flex .right {
    flex: 1;
}
footer .ftr-main-flex .mid img {
    width: 120px;
}
footer .ftr-btm {
    background: #000;
    padding: 10px 0;
}
footer .ftr-btm-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
footer .ftr-btm-flex p {
    font-family: 'Chiswick Poster';
    font-size: 8px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #acacac;
    font-weight: 500;
    margin: 0;
}
footer .ftr-btm-flex p a {
    color: #acacac;
    transition: opacity 0.6s ease;
}
footer .ftr-btm-flex p a:hover {
    opacity: 0.4;
}
footer .ftr-btm-flex .mid {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
footer .ftr-btm-flex .mid .socials p {
    display: flex;
    align-items: center;
    gap: 8px;
}
footer .ftr-btm-flex .mid .socials a {
    transition: opacity 0.6s ease;
}
footer .ftr-btm-flex .mid .socials a:hover {
    opacity: 0.4;
}
/* Hide footer bottom on portfolio pages */
.page-template-page-portfolio footer .ftr-btm, .single-portfolio footer .ftr-btm, .single-post footer .ftr-btm {
    display: none;
}
/* FOOTER */
/* HERO SECTION */
.hero {
    height: 100vh;
    overflow: hidden;
}
.hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* HERO SECTION */
/* HOME SECTION TWO */
.hm-section2 {
    padding: 150px 0 250px;
    text-align: center;
}
.sec2-content .top-heading {
    max-width: 640px;
    margin: auto;
}
.sec2-content .para-text {
    max-width: 500px;
    margin: 40px auto 30px;
}
/* HOME SECTION TWO */
/* HOME SECTION THREE */
.hm-sec3-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 160px;
}
.hm-sec3-flex .img-left {
    position: relative;
}
.hm-sec3-flex .img-abs {
    position: absolute;
    top: -30%;
    right: -50%;
}
.hm-sec3-flex .img-right {
    position: relative;
    z-index: 2;
}
.hm-section3 {
    padding: 70px 0 100px 0;
}
.hm-sec3-flex .img-left img {
    max-width: 443px;
}
.hm-sec3-flex .img-abs img {
    max-width: 300px;
}
.hm-sec3-flex .img-right img {
    max-width: 433px;
}
/* HOME SECTION THREE */
/* SECTION 4 STYLES */
.hm-section4 {
    background: #faf7ee;
    padding: 120px 0;
}
.hm-section4 .top-heading h2 {
    text-align: center;
    color: #000;
    overflow: hidden;
}
.hm-section4 .top-heading h2 em {
    font-style: normal;
    display: block;
    transform: translateY(50px) rotate(50deg);
}
.hm-section4 h3 {
    font-family: 'Plume';
    font-size: 48px;
    font-weight: 400;
    text-align: center;
    color: #000;
    max-width: 415px;
    margin: 30px auto 0;
    line-height: .6;
}
.hm-sec4-slider {
    margin-top: 110px;
    overflow: hidden;
}
.hm-sec4-slider .swiper-wrapper {
    align-items: center;
}
.hm-sec4-slider .swiper-slide {
    text-align: center;
    width: auto !important;
}
.hm-sec4-slider .swiper-slide:nth-child(odd) .sec4-slide-content .img {
    width: 100%;
    height: 100%;
    text-align: center;
}
.hm-sec4-slider .swiper-slide:nth-child(odd) .sec4-slide-content {
    width: 365px;
}
.hm-sec4-slider .swiper-slide:nth-child(even) .sec4-slide-content {
    width: 288px;
}
.hm-sec4-slider .swiper-slide:nth-child(odd) .sec4-slide-content .img img {
    width: 365px;
    height: 542px;
    object-fit: cover;
}
.hm-sec4-slider .swiper-slide:nth-child(even) .sec4-slide-content .img img {
    width: 288px;
    height: 428px;
    object-fit: cover;
}
.sec4-slide-content {
    width: 100%;
    height: 100%;
    text-align: center;
}
.sec4-slide-content .info {
    margin-top: 20px;
    width: 100%;
}
.sec4-slide-content .info h4 {
    font-size: 12px;
    color: #000;
    font-style: italic;
    font-family: 'Chiswick Poster';
    text-align: center;
    border-bottom: 1px solid #aaaaaa;
    padding-bottom: 20px;
    margin-bottom: 20px;
    width: 100%;
}
.sec4-slide-content .info h4 a {
    color: #000;
    text-decoration: none;
    display: block;
    width: 100%;
}
/* SECTION 4 STYLES */
/* HOME SECTION FIVE */
.hm-section5 {
    padding: 150px 0 180px 0;
}
.hm-section5 {
    text-align: center;
}
.hm-section5 .top-heading h2 {
    max-width: 450px;
    margin: auto;
}
.hm-section5 .para-text {
    max-width: 500px;
    margin: 40px auto 20px;
}
.hm-section5 .img {
    overflow: hidden;
    max-width: 435px;
    margin: auto;
}
.hm-section5 .img img {
    will-change: transform;
}
/* HOME SECTION FIVE */
/* HOME LOGO SECTION */
.marquee_inner {
    display: flex;
    width: max-content;
}
.logo_scroller {
    width: 100%;
    overflow: hidden;
}
.marquee_track {
    display: flex;
    width: max-content;
}
.marquee_track img {
    max-height: 28px;
    margin-right: 140px;
    flex-shrink: 0;
}
/* HOME LOGO SECTION */
/* ABOUT BRAND */
.page-id-101 .hm-logo-section {
    background: #000;
    padding: 80px;
}
.page-id-101 .hm-logo-section .marquee_track img {
    filter: brightness(0) invert(1);
}
/* ABOUT BRAND */
/* HOME SECTION SEVEN */
.hm-section7 {
    padding: 200px 0 0;
}
.hm-section7 .container-fluid {
    padding: 0 !important;
}
.hm-section7 .row {
    align-items: center;
    margin: 0 !important;
    --bs-gutter-x: 0;
}
.hm-section7 .row > div {
    padding: 0 !important;
}
.hm-section7 .left {
    overflow: hidden;
}
.hm-section7 .left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hm-section7 .right {
    overflow: hidden;
}
.hm-section7 .right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hm-section7 .mid {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}
.hm-section7 .mid .btnn-wrap {
    margin-top: 30px;
}
/* HOME SECTION SEVEN */
/* SECTION 8 */
.hm-section8 {
    padding: 150px 0 200px;
    text-align: center;
}
.hm-section8 .top-heading h2 em {
    display: block;
    font-style: normal;
    overflow: hidden;
}
.hm-section8 .top-heading h2 em small {
    display: block;
    transform: translateY(50px) rotate(50deg);
}
.hm-section8 p {
    font-family: 'Atlas Grotesk';
    font-size: 14px;
    line-height: 1.7;
    color: #000;
    max-width: 600px;
    margin: 60px auto 0;
}
/* SECTION 8 */
/* SECTION 9 */
.hm-section9 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
}
.hm-sec9-mid {
    position: relative;
    left: -100px;
}
.mid-img-main {
    width: 376px;
    height: 534px;
    overflow: hidden;
}
.mid-img-main img {
    width: 376px;
    height: 534px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.mid-img2 {
    position: absolute;
    bottom: -48px;
    left: -80px;
    width: 188px;
    height: 268px;
    overflow: hidden;
}
.mid-img2 img {
    width: 188px;
    height: 268px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.mid-img3 {
    position: absolute;
    top: 48px;
    right: -80px;
    width: 164px;
    height: 232px;
    overflow: hidden;
}
.mid-img3 img {
    width: 164px;
    height: 232px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.hm-sec9-right {
    position: relative;
}
.right-img1 {
    position: relative;
    z-index: 1;
    width: 206px;
    height: 292px;
    overflow: hidden;
}
.right-img1 img {
    width: 206px;
    height: 292px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.right-img2 {
    position: absolute;
    left: -240px;
    top: -48px;
    width: 348px;
    height: 248px;
    overflow: hidden;
}
.right-img2 img {
    width: 348px;
    height: 248px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.hm-sec9-left .left-img-main {
    width: 242px;
    height: 342px;
    overflow: hidden;
}
.hm-sec9-left .left-img-main img {
    width: 242px;
    height: 342px;
    object-fit: cover;
    object-position: center;
    display: block;
}
/* SECTION 9 */
/* HM SECTON BOTTOM */
.hm-sec-btm {
    padding-top: 200px;
}
.hm-sec-btm-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.hm-sec-btm-flex .img, .hm-sec-btm-flex .img a {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.hm-sec-btm-flex .img a br {
    display: none;
}
.hm-sec-btm-flex .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .9s ease-in-out;
}
.hm-sec-btm-flex .img:hover img {
    transform: scale(1.01);
}
/* HM SECTON BOTTOM */
/* ABOUT PAGE SECTION TWO */
.about-sec2 .container {
    max-width: 780px;
    margin: auto;
}
.about-sec2 {
    padding: 150px 0;
}
.about-sec2 .top-heading {
    text-align: right;
}
.about-sec2-right {
    margin-left: 70px;
}
.about-sec2-right p {
    font-family: 'Atlas Grotesk';
    margin-bottom: 30px;
    text-align: justify;
}
.about-sec2-right p:last-child {
    margin-bottom: 0;
}
/* ABOUT PAGE SECTION TWO */
/* ABOUT PAGE SECTION THREE */
.about-sec3-con {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.about-sec3-con .img {
    overflow: hidden;
    flex-shrink: 0;
}
.about-sec3-con .img.portrait {
    width: 200px;
    height: 294px;
}
.about-sec3-con .img.paysage {
    width: 274px;
    height: 188px;
}
.about-sec3-con .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
/* ABOUT TESTIMONIALS */
.about-testimonials {
    padding: 120px 0 150px;
}
.about-testimonials .about-testi-wrapper {
    max-width: 740px;
    margin: auto;
}
.testi-content {
    text-align: center;
}
.testi-content p {
    font-family: 'Chronicle Display';
    font-size: 15px;
    font-style: italic;
}
.testi-content p br {
    display: none;
}
.testi-content h4 {
    font-family: 'Plume';
    font-size: 52px;
    line-height: 1.5;
}
.about-testimonials .about-testi-arrows {
    position: relative;
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.testi-btn {
    cursor: pointer;
    transition: all 0.4s ease;
}
.testi-btn::after {
    display: none;
}
.testi-btn svg {
    width: 50px;
    transition: transform 0.4s ease;
}
.testi-prev svg {
    transform: scaleX(-1);
}
.testi-btn:hover svg {
    transform: translateX(5px);
}
.testi-prev:hover svg {
    transform: scaleX(-1) translateX(5px);
}
/* ABOUT TESTIMONIALS */
/* ABOUT SECTION FIVE */
.about-sec5 {
    overflow: visible;
    display: flex;
    justify-content: center;
}
.about-sec5-inner {
    position: relative;
    width: 1100px;
    height: 660px;
    overflow: visible;
}
.about-sec5-left .img2 img, .about-sec5-right .img3 > img {
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
}
.about-sec5-left .img2 {
    position: absolute;
    top: 0;
    left: 184px;
    z-index: 5;
    width: 410px;
    height: 590px;
}
.about-sec5-left .img2 img {
    width: 410px;
    height: 590px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.about-sec5-left .img1-abs {
    position: absolute;
    top: 126px;
    left: 0;
    width: 234px;
    height: 342px;
    z-index: 10;
}
.about-sec5-left .img1-abs img {
    width: 234px;
    height: 342px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.about-sec5-right .img3 {
    position: absolute;
    top: 230px;
    left: 570px;
    width: 300px;
    height: 432px;
    z-index: 3;
}
.about-sec5-right .img3 > img {
    width: 300px;
    height: 432px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.about-sec5-right .img4-abs {
    position: absolute;
    top: 68px;
    left: 770px;
    width: 324px;
    height: 225px;
    z-index: 10;
}
.about-sec5-right .img4-abs img {
    width: 324px;
    height: 225px;
    object-fit: cover;
    object-position: center;
    display: block;
}
/* ABOUT SECTION FIVE */
.abt-sec6-img {
    margin-top: 60px;
}
/* ABOUT FOUR COL SECTION */
.about-four-col-sec .container-fluid {
    padding: 0 !important;
}
.about-four-col-sec .col-flex {
    display: flex;
    align-items: center;
    gap: 20px;
    --bs-gutter-x: 0;
}
.four-col-content {
    flex: 1;
    aspect-ratio: 345/477;
    overflow: hidden;
    position: relative;
    border: 1px solid #aaaaaa;
}
.four-col-content .col-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}
.four-col-content .col-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .7s ease-in-out;
}
.four-col-content:hover .col-img img {
    transform: scale(1.01);
}
.four-col-content .top-logo {
    position: absolute;
    top: 2em;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 2;
}
.four-col-content .top-logo img {
    width: 200px;
    height: auto;
    display: inline-block;
}
.four-col-content:nth-child(1) .top-logo img {
    filter: brightness(0) invert(1);
}
/* ABOUT FOUR COL SECTION */
/* ================================================
   ABOUT SEC BOTTOM
   ================================================ */
.about-sec-btm {
    padding: 150px 0 200px;
    background: #faf7ee;
    margin-top: 220px;
    margin-bottom: -1px;
}
/* Limit container width for both section variants */
.about-sec-btm .container, .about-sec-btm-alt .container {
    max-width: 1100px;
}
/* Override Bootstrap row with custom flexbox */
.abt-btm-row1, .abt-btm-row2 {
    display: flex;
    align-items: center;
    gap: 200px;
    flex-wrap: nowrap;
}
/* Row 2 : reverse order + top spacing */
.abt-btm-row2 {
    margin-top: 200px;
    flex-direction: row-reverse;
}
/* Neutralize Bootstrap .row > * overrides */
.abt-btm-row1 > .about-btm-left, .abt-btm-row1 > .about-btm-right, .abt-btm-row2 > .about-btm-left, .abt-btm-row2 > .about-btm-right {
    width: auto;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
}
/* ------------------------------------------------
   Image block : 530px total (440px main + 90px small overflow)
   padding-bottom absorbs small image bottom overflow
   ------------------------------------------------ */
.abt-btm-row1 > .about-btm-left, .abt-btm-row2 > .about-btm-left {
    flex-shrink: 0;
    width: 530px;
    max-width: 530px;
    position: relative;
    padding-bottom: 48px;
}
.abt-left-img-main {
    position: relative;
    width: 440px;
}
.abt-left-img-main img {
    width: 440px;
    max-width: 440px;
    height: auto;
    display: block;
}
/* Small image : bottom-right of main
   - overlaps 130px horizontally (226 - 96 = 130px)
   - overlaps 220px vertically, sticks out 48px below */
.about-left-img-sm {
    position: absolute;
    bottom: -48px;
    right: -90px;
}
.about-left-img-sm img {
    width: 226px;
    max-width: 226px;
    height: auto;
    display: block;
}
/* ------------------------------------------------
   Text block : centered vertically, offset 88px
   bottom to align with main image center
   ------------------------------------------------ */
.abt-btm-row1 > .about-btm-right, .abt-btm-row2 > .about-btm-right {
    flex: 1;
    max-width: 370px;
    align-self: center;
    padding-bottom: 88px;
}
.about-btm-right h4 {
    margin-top: 70px;
    font-family: 'Chiswick Poster';
    text-transform: uppercase;
    font-size: 25px;
    letter-spacing: 1px;
    margin-bottom: 15px;
}
.about-btm-right h3 {
    font-family: 'Chiswick Poster';
    font-size: 80px;
    font-weight: 200;
}
.about-btm-right p {
    font-family: 'Atlas Grotesk';
    font-size: 14px;
    line-height: 1.7;
    color: #000;
    text-align: justify;
    font-weight: 100;
}
.about-btm-right p br {
    display: none;
}
/* ================================================
   ABOUT SEC BOTTOM ALT (white background variant)
   Inherits all layout rules above, only bg differs
   ================================================ */
.about-sec-btm-alt {
    padding: 150px 0 200px;
    background: #fff;
}
/* ================================================
   ABOUT SEC 5
   ================================================ */
.about-sec5 {
    padding-top: 150px;
}
/* ============================================================
   CONTACT BANNER
   ============================================================ */
.contact-sec {
    padding: 150px 0;
    position: relative;
    /* Full bleed — break out of any parent container */
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    overflow: hidden;
}
.contact-banner-wrap {
    position: relative;
    width: 100%;
}
.contact-sec .row {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
.contact-sec .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}
.contact-sec h1 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Chiswick Poster';
    color: #000;
    font-size: 100px;
    font-weight: 200;
    z-index: 99;
    white-space: nowrap;
    margin: 0;
    pointer-events: none;
}
.contact-left-img {
    text-align: left;
    overflow: hidden;
}
.contact-mid-img {
    text-align: center;
    overflow: hidden;
}
.contact-right-img {
    text-align: right;
    overflow: hidden;
}
.contact-left-img img, .contact-right-img img {
    width: 362px;
    height: 258px;
    object-fit: cover;
}
.contact-mid-img img {
    width: 324px;
    height: 476px;
    object-fit: cover;
}
/* ============================================================
   CONTACT FORM WRAPPER
   ============================================================ */
.hed-contact-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 0 150px;
}
.contact-input {
    margin: 0 0 50px 0 !important;
    position: relative;
    z-index: 1;
}
.hed-contact-wrap .row {
    position: relative;
    z-index: 1;
}
/* ============================================================
   LABELS
   ============================================================ */
.contact-input label {
    display: block;
    font-family: 'Atlas Grotesk';
    font-size: 10px;
    font-weight: 300;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #282828;
    margin-bottom: 14px;
}
.contact-input label span, .contact-input label span.wpcf7-required, .contact-input label abbr, .contact-input label abbr.wpcf7-required, .contact-input .wpcf7-form-control-wrap abbr, .contact-input .wpcf7-form-control-wrap abbr.wpcf7-required {
    color: #7a273d !important;
    text-decoration: none !important;
}
/* ============================================================
   INPUTS / TEXTAREA / SELECT
   ============================================================ */
.contact-input input, .contact-input textarea, .contact-input select {
    font-family: 'Atlas Grotesk';
    font-weight: 100;
    font-size: 11px;
    width: 100%;
    height: auto;
    background: transparent;
    color: #282828;
    border: none;
    border-bottom: 1px solid #aaa;
    padding: 0 0 8px;
    text-transform: none;
    letter-spacing: 0.5px;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    transition: border-color 0.3s ease;
    display: block;
}
.contact-input input:focus, .contact-input textarea:focus, .contact-input select:focus {
    border-bottom-color: #f0ede9;
}
.contact-input textarea {
    height: 50px;
    resize: none;
    padding: 0 0 14px;
}
/* ============================================================
   DATE FIELD
   ============================================================ */
.contact-input input[type="date"] {
    color: #282828;
}
.contact-input input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0.4;
    cursor: pointer;
}
/* ============================================================
   REMOVE NATIVE BROWSER UI
   ============================================================ */
.contact-input input[type="number"]::-webkit-inner-spin-button, .contact-input input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.contact-input input[type="number"] {
    -moz-appearance: textfield;
}
.contact-input input::-webkit-credentials-auto-fill-button, .contact-input input::-webkit-contacts-auto-fill-button {
    display: none;
    visibility: hidden;
    pointer-events: none;
}
/* ============================================================
   LUXURY CUSTOM SELECT
   ============================================================ */
.hed-select-wrapper {
    position: relative;
    width: 100%;
    z-index: 50;
}
.hed-select-wrapper.open {
    z-index: 500;
}
.hed-select-selected {
    font-family: 'Atlas Grotesk';
    font-weight: 100;
    font-size: 11px;
    text-transform: none;
    letter-spacing: 0.5px;
    color: #282828;
    border-bottom: 1px solid #aaa;
    padding: 0 0 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: border-color 0.3s ease;
    background: transparent;
}
.hed-select-selected::after {
    display: none;
}
.hed-select-text {
    flex: 1;
}
.hed-select-arrow {
    display: inline-block;
    width: 12px;
    height: 7px;
    flex-shrink: 0;
    margin-left: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23282828' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    transform-origin: center;
}
.hed-select-wrapper.open .hed-select-selected {
    border-bottom-color: #f0ede9;
}
/* List détachée dans le body */
.hed-select-list--detached {
    position: absolute;
    background: #ffffff;
    border: 1px solid #f0ede9;
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 99999;
    overflow: visible;
    display: none;
}
.hed-select-list--detached li {
    font-family: 'Atlas Grotesk';
    font-weight: 100;
    font-size: 11px;
    text-transform: none;
    letter-spacing: 0.5px;
    color: #282828;
    padding: 14px 20px;
    cursor: pointer;
    border-bottom: 1px solid #f0ede9;
    background: #ffffff;
    position: relative;
    z-index: 1;
    transition: background 0.25s ease, letter-spacing 0.35s ease;
}
.hed-select-list--detached li:last-child {
    border-bottom: none;
}
.hed-select-list--detached li:hover {
    background: #faf7ee !important;
    letter-spacing: 1px;
}
/* ============================================================
   SUBMIT BUTTON
   ============================================================ */
.submit_btn input[type="submit"] {
    font-family: 'Chiswick Poster';
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #000;
    background: transparent;
    border: 1px solid #aaa;
    padding: 12px 30px;
    width: auto;
    cursor: pointer;
    transition: all 0.5s ease;
    outline: none;
    appearance: none;
    border-radius: 0;
}
.submit_btn input[type="submit"]:hover {
    background: #000;
    border-color: #000;
    color: #fff;
}
/* ============================================================
   CF7 VALIDATION
   ============================================================ */
.wpcf7-not-valid-tip {
    font-family: 'Atlas Grotesk';
    font-size: 10px;
    color: #c0392b;
    margin-top: 8px;
    letter-spacing: 1px;
}
.wpcf7-response-output {
    font-family: 'Atlas Grotesk';
    font-size: 11px;
    letter-spacing: 1px;
    border: none !important;
    padding: 10px 0 !important;
    margin: 10px 0 0 !important;
}
/* THANK YOU PAGE */
.thank_you_page_wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 80px 0 0;
}
.thank_you_page_wrapper > p:empty {
    display: none;
}
.thank_you_page_wrapper h1 {
    font-family: 'Chiswick Poster';
    font-size: 10vw;
    text-transform: uppercase;
    text-align: center;
}
/* Custom swipe cursor */
.swiper-sec4-slider {
    cursor: none;
}
.swipe-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.3s ease, transform 0.3s ease;
    font-family: 'Chiswick Poster', serif;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
}
.swipe-cursor.active {
    opacity: 1;
    transform: scale(1);
}
.swipe-cursor.dragging {
    transform: scale(0.8);
    background: rgba(255, 255, 255, 0.2);
}
/* SERVICE SECTION BOTTOM */
.srv-section-btm {
    padding: 150px 0;
    text-align: center;
}
.srv-btm-content .top-heading {
    max-width: 640px;
    margin: auto;
}
.srv-btm-content .para-text {
    max-width: 500px;
    margin: 40px auto 30px;
}
/* SERVICE SECTION BOTTOM */
/* ============================================================
   PORTFOLIO LISTING PAGE
   ============================================================ */
.hed-port-grid {
    padding: 0;
}
.hed-port-flex {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.hed-port-item {
    width: 33.333%;
    aspect-ratio: 3/4;
    overflow: hidden;
}
.hed-port-item a {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    color: transparent;
}
.hed-port-item a br {
    display: none;
}
.hed-port-link-disabled {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}
.hed-port-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .9s ease-in-out;
}
.hed-port-item:hover img {
    transform: scale(1.01);
}
/* Gradient via pseudo-element */
.hed-port-item a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 10%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.25) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.6s ease;
    z-index: 1;
}
.hed-port-item:hover a::after {
    opacity: 1;
}
/* Portfolio item - couple name at bottom */
.hed-port-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    padding-bottom: 20px;
    background: none;
    z-index: 2;
    pointer-events: none;
}
.hed-port-name {
    font-family: 'Chronicle Display';
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.hed-port-item:hover .hed-port-name {
    opacity: 1;
    transform: translateY(0);
}
/* ============================================================
   SINGLE PORTFOLIO - MASONRY GALLERY
   ============================================================ */
.hed-gallery-page {
    width: 100%;
}
.hed-gallery-wrapper {
    padding: 40px 0;
}
.hed-gallery-page .container-fluid {
    padding-left: 20px;
    padding-right: 20px;
}
#hed-masonry-gallery {
    margin-left: -10px;
    margin-right: -10px;
}
.hed-masonry-item {
    padding: 10px !important;
    margin-bottom: 0 !important;
}
.hed-photo {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    position: relative;
    text-decoration: none;
    cursor: zoom-in;
}
.hed-photo-wrapper {
    position: relative;
    overflow: hidden;
    background: #fff;
}
.hed-photo-wrapper img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    transform: scale(1.001);
    transition: transform .9s ease-in-out;
}
.hed-photo:hover .hed-photo-wrapper img {
    transform: scale(1.01);
} /* ============================================================
   SINGLE PORTFOLIO - MASONRY GALLERY
   ============================================================ */
.hed-gallery-page {
    width: 100%;
}
.hed-gallery-wrapper {
    padding: 40px 0;
}
.hed-gallery-page .container-fluid {
    padding-left: 20px;
    padding-right: 20px;
}
#hed-masonry-gallery {
    margin-left: -10px;
    margin-right: -10px;
}
.hed-masonry-item {
    padding: 10px !important;
    margin-bottom: 0 !important;
}
.hed-photo {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    position: relative;
    text-decoration: none;
    cursor: zoom-in;
}
.hed-photo-wrapper {
    position: relative;
    overflow: hidden;
    background: #fff;
}
.hed-photo-wrapper img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    transform: scale(1.001);
    transition: transform .9s ease-in-out;
}
.hed-photo:hover .hed-photo-wrapper img {
    transform: scale(1.01);
}
/* ============================================================
   SINGLE PORTFOLIO - LIGHTBOX
   ============================================================ */
.hed-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;
}
.hed-lightbox.active {
    opacity: 1;
    visibility: visible;
}
.hed-lightbox__img {
    max-width: 88vw;
    max-height: 88vh;
    border-radius: 0 !important;
    box-shadow: none;
    transform: none;
    transition: none;
}
.hed-lightbox__img.imgA {
    position: relative;
    z-index: 2;
}
.hed-lightbox__img.imgB {
    position: absolute;
    z-index: 1;
}
.hed-lightbox__btn, .hed-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;
}
.hed-lightbox__btn:hover, .hed-lightbox__close:hover {
    opacity: 1;
}
.hed-lightbox__btn--prev {
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
}
.hed-lightbox__btn--next {
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
}
.hed-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;
}
.hed-lightbox__close:hover {
    color: #fff;
    opacity: 1;
    background: rgba(255, 255, 255, 0.15);
}
.hed-lightbox__icon {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #fff;
    stroke-width: 2;
}
/* ============================================================
   SINGLE PORTFOLIO - VIDEO
   ============================================================ */
.hed-video-section {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0;
    background: #000;
    overflow: hidden;
}
.hed-video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    background: #000;
}
.hed-video-container iframe, .hed-video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}
.hed-native-video {
    display: block;
    background: #000;
}
.hed-native-video::-webkit-media-controls-panel {
    background: rgba(0, 0, 0, 0.8);
}
/* ============================================================
   SINGLE PORTFOLIO - DEDICATED CONTENT
   ============================================================ */
.hed-dedicated-content {
    padding: 80px 0;
    background: #fff;
}
.hed-dedicated-content .container {
    max-width: 800px;
    margin: 0 auto;
}
.hed-dedicated-content p, .hed-dedicated-content a {
    font-family: 'Atlas Grotesk';
    font-size: 14px;
    color: #181818;
    margin-bottom: 10px;
    line-height: 1.7;
    text-align: center;
}
/* ============================================================
   SINGLE PORTFOLIO - NAVIGATION
   [img] [←] [PREV.]  ...  [grid]  ...  [NEXT.] [→] [img]
   ============================================================ */
.hed-nav-wrapper {
    padding: 80px 0;
    background: #fff;
    border-top: 1px solid #e5e5e5;
}
.hed-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.hed-nav-prev {
    flex: 1;
}
.hed-nav-next {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}
.hed-nav-link {
    display: inline-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);
}
.hed-nav-link:hover {
    opacity: 0.92;
}
/* Thumbnail - portrait format */
.hed-nav-thumb {
    width: 60px;
    height: 85px;
    overflow: hidden;
    flex-shrink: 0;
}
.hed-nav-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.hed-nav-link:hover .hed-nav-thumb img {
    transform: scale(1.04);
}
/* Content (arrow + label) */
.hed-nav-content {
    display: inline-flex;
    align-items: center;
    gap: 16px;
}
/* Arrow - Hedhera custom SVG */
.hed-nav-arrow {
    width: 24px;
    height: 6px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    transition: transform 0.8s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.hed-nav-arrow svg {
    width: 100%;
    height: 100%;
    display: block;
}
.hed-nav-arrow--prev {
    transform: rotate(180deg);
}
.hed-nav-link:hover .hed-nav-arrow--prev {
    transform: rotate(180deg) translateX(4px);
}
.hed-nav-link:hover .hed-nav-arrow--next {
    transform: translateX(4px);
}
/* Label */
.hed-nav-label {
    font-family: var(--bs-body-font-family);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #111;
    line-height: 1;
    transition: color 0.6s ease;
}
.hed-nav-link:hover .hed-nav-label {
    color: #999;
}
/* Grid center icon (ALL link) */
.hed-nav-grid {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.hed-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);
}
.hed-nav-grid-link:hover {
    background: #fff;
    color: #111;
    transform: scale(1.05);
}
.hed-nav-grid-link svg {
    transition: opacity 0.3s ease;
}
.hed-nav-grid-link:hover svg {
    opacity: 0.6;
}
/* ============================================================
   SINGLE PORTFOLIO - CREDITS SECTION
   ============================================================ */
.hed-credits-section {
    padding: 80px 0;
    background: #fff;
}
.hed-credits-list {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}
.hed-credit-item {
    margin-bottom: 20px;
}
.hed-credit-role {
    display: block;
    font-family: 'Chiswick Poster';
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #181818;
}
.hed-credit-name {
    display: inline-block;
    font-family: 'Atlas Grotesk';
    font-size: 14px;
    font-weight: 300;
    color: #181818;
    margin-top: 2px;
}
a.hed-credit-name {
    text-decoration: none;
    color: #181818;
    transition: color 1.2s cubic-bezier(0.16, 0.72, 0.1, 0.98), transform 1.2s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
a.hed-credit-name:hover {
    color: #999;
    transform: translateY(1px);
}
/* ============================================================
   INNER BANNER
   ============================================================ */
.inner-banner-sec {
    padding: 150px 0;
    position: relative;
    /* Full bleed — break out of any parent container */
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    overflow: hidden;
}
.inner-banner-sec .row {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
.inner-banner-sec .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}
.inner-banner-sec h1 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Chiswick Poster';
    font-size: 100px;
    font-weight: 100;
    text-transform: uppercase;
    z-index: 99;
    white-space: nowrap;
    margin: 0;
    pointer-events: none;
}
.inner-banner-btn {
    text-align: center;
    margin-top: 2rem;
}
.inner-banner-left-img {
    text-align: left;
    overflow: hidden;
}
.inner-banner-mid-img {
    text-align: center;
    overflow: hidden;
}
.inner-banner-right-img {
    text-align: right;
    overflow: hidden;
}
.inner-banner-left-img img, .inner-banner-right-img img {
    width: 362px;
    height: 250px;
    object-fit: cover;
}
.inner-banner-mid-img img {
    width: 344px;
    height: 466px;
    object-fit: cover;
}
.container-narrow {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
}
/* ============================================================
   BLOG LISTING
   ============================================================ */
.blog-listing-sec {
    padding: 200px 0 0;
}
/* Title — max 3 lines then ellipsis, word-aware via CSS */
.blog-listing-title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Posts hidden until load more is triggered */
.blog-row--hidden {
    display: none;
}
/* Load more button — custom arrow SVG + Chronicle Display text below, no underline */
.blog-loadmore-wrap {
    text-align: center;
    padding: 0 0 120px;
}
.blog-loadmore {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: transform 0.6s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.blog-loadmore:hover {
    transform: translateY(5px);
}
.blog-loadmore.is-hidden {
    display: none;
}
/* SVG arrow icon — rotated 90deg to point downward */
.blog-loadmore__icon {
    width: 80px;
    height: 20px;
    display: block;
    transform: rotate(90deg);
    transition: transform 0.6s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.blog-loadmore__icon svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: #111;
}
.blog-loadmore:hover .blog-loadmore__icon {
    transform: rotate(90deg) translateX(6px);
}
/* Text below arrow — Chronicle Display, uppercase, no italic, no movement on hover */
.blog-loadmore__label {
    font-family: 'Chiswick Poster', serif;
    font-size: 11px;
    font-weight: 100;
    font-style: normal;
    letter-spacing: 2px;
    color: #111;
    text-decoration: none;
    text-transform: uppercase;
}
/* Spacing between each post row */
.blog-row {
    margin-bottom: 240px;
}
/* Last visible row before load more button — reduced margin */
.blog-row:last-of-type {
    margin-bottom: 180px;
}
/* Text column */
.blog-listing-left h6 {
    font-family: 'Atlas Grotesk';
    text-transform: uppercase;
    font-size: 9px;
    font-weight: 100;
    letter-spacing: 0.5px;
}
.blog-listing-left h2 {
    font-family: 'Chiswick Poster';
    font-size: 40px;
    text-transform: uppercase;
    max-width: 400px;
    font-weight: 100;
    line-height: 1.2;
}
.blog-listing-left .read-more {
    margin-top: 40px;
    font-weight: 800;
    font-family: 'Atlas Grotesk';
    font-size: 9px;
    letter-spacing: 1px;
    padding-bottom: 6px;
    color: #000;
    border-bottom: 1px solid #aaa;
    transition: all .3s ease-in-out;
    display: inline-block;
}
.blog-listing-left .read-more:hover {
    transform: translateY(-4px);
}
/* ============================================================
   BLOG LISTING — 3-IMAGE COLLAGE
   Exact dimensions from Hedhera PSD mockup:
   img1 left portrait   : 281 x 379px — anchored top-left, full height
   img2 center portrait : 181 x 241px — overlaps img1 on the right, top-aligned
   img3 right landscape : 275 x 189px — right of img2, offset downward
   All boxes use overflow:hidden + object-fit:cover —
   uploaded image size never breaks the layout.
   ============================================================ */
.blog-img-main {
    position: relative;
    width: 562px;
    height: 379px;
    flex-shrink: 0;
    margin: 0 auto;
}
/* img1 — large portrait, full height, anchored top-left */
.blog-img1-wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 281px;
    height: 379px;
    overflow: hidden;
    z-index: 1;
}
.blog-img1-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 3s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.blog-img1-wrap:hover img {
    transform: scale(1.012);
}
/* img2 — medium portrait, overlaps img1 on the right, top-aligned */
.blog-img2 {
    position: absolute;
    left: 242px;
    top: -48px;
    width: 181px;
    height: 241px;
    overflow: hidden;
    z-index: 2;
}
.blog-img2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 3s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.blog-img2:hover img {
    transform: scale(1.012);
}
/* img3 — landscape, offset right and down from img2 */
.blog-img3 {
    position: absolute;
    left: 378px;
    top: 130px;
    width: 275px;
    height: 189px;
    overflow: hidden;
    z-index: 2;
}
.blog-img3 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 3s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.blog-img3:hover img {
    transform: scale(1.012);
}
/* Even rows: mirrored composition (images left, text right)
   left:Xpx becomes right:Xpx — top values stay identical */
.blog-row--reverse {
    flex-direction: row-reverse;
}
.blog-row--reverse .blog-img-main {
    margin: 0 auto;
}
.blog-row--reverse .blog-img1-wrap {
    left: auto;
    right: 0;
}
.blog-row--reverse .blog-img2 {
    left: auto;
    right: 242px;
    top: -48px;
}
.blog-row--reverse .blog-img3 {
    left: auto;
    right: 378px;
    top: 130px;
}
/* ============================================================
   SINGLE BLOG POST — bs- prefix
   Container max-width: 900px
   Full-width elements: gallery, video
   ============================================================ */
/* Shared centered container */
.bs-container {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px;
}
/* Uniform vertical spacing: 75px top + bottom per module */
.bs-module {
    padding: 75px 0;
}
.bs-module--credits {
    padding: 75px 0 150px;
}
/* Title-only modules — no vertical padding (titles handle their own margin) */
.bs-module--title {
    padding: 0;
}
/* Italic-only module — no vertical padding */
.bs-module--italic {
    padding: 0;
}
/* ============================================================
   HERO — featured image full viewport
   ============================================================ */
/* Fallback: no featured image — text-only centered hero */
.bs-hero {
    position: relative;
    padding: 160px 0 80px;
    text-align: center;
    background: #fff;
}
/* When featured image exists: full-viewport cover.
   Using width:100% instead of 100vw + negative margin-left
   to avoid compositing conflicts with ScrollSmoother
   (smooth-wrapper is position:fixed — negative margin causes
   overflow that duplicates the rendered content). */
.bs-hero--has-img {
    position: relative;
    width: 100%;
    height: 100vh;
    padding: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 75px;
}
/* Background image layer */
.bs-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.bs-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
/* Dark gradient overlay for text legibility — bottom to top */
.bs-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.15) 50%, rgba(0, 0, 0, 0) 100%);
}
/* Text block anchored to bottom of hero, above overlay */
.bs-hero__inner {
    position: relative;
    z-index: 2;
    max-width: 900px;
    width: 100%;
    padding: 0 30px 60px;
    text-align: center;
}
/* Category label */
.bs-hero__cat {
    display: inline-block;
    font-family: 'Atlas Grotesk', sans-serif;
    font-size: 9px;
    font-weight: 100;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 20px;
}
/* White when over image, grey on text-only hero */
.bs-hero--has-img .bs-hero__cat {
    color: rgba(255, 255, 255, 0.75);
}
.bs-hero:not(.bs-hero--has-img) .bs-hero__cat {
    color: #999;
}
/* Separator between multiple categories */
.bs-hero__cat + .bs-hero__cat::before {
    content: ' — ';
}
/* Main title */
.bs-hero__title {
    font-family: 'Chiswick Poster', serif;
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 100;
    text-transform: uppercase;
    line-height: 1.1;
    letter-spacing: 0.02em;
    margin: 0;
}
.bs-hero--has-img .bs-hero__title {
    color: #fff;
}
.bs-hero:not(.bs-hero--has-img) .bs-hero__title {
    color: #111;
}
/* Date — hidden */
.bs-hero__meta {
    display: none;
}
/* ============================================================
   TEXT MODULE — 3-level title hierarchy
   h2 : Titre 1 — Chronicle Display, uppercase, large
   h3 : Titre 2 — Chronicle Display, normal case, medium
   h4 : Titre 3 — Atlas Grotesk caps, small
   ============================================================ */
/* Titre 1 — Chronicle Display, uppercase, large */
.bs-text__title--h2 {
    font-family: 'Chiswick Poster', serif;
    font-size: clamp(26px, 3.5vw, 36px);
    font-weight: 100;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.15;
    color: #111;
    margin: 0 0 28px;
}
/* Titre 2 — Chronicle Display, normal case, medium */
.bs-text__title--h3 {
    font-family: 'Chiswick Poster', serif;
    font-size: clamp(28px, 2vw, 34px);
    font-weight: 100;
    text-align: center;
    text-transform: none;
    letter-spacing: 0.01em;
    line-height: 1.3;
    color: #111;
    margin: 0 0 24px;
}
/* Titre 3 — Atlas Grotesk caps, small */
.bs-text__title--h4 {
    font-family: 'Atlas Grotesk', sans-serif;
    font-size: 11px;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #000;
    margin: 0 0 40px;
}
/* Spacing when titles are stacked */
.bs-text__title--h2 + .bs-text__title--h3 {
    margin-top: -8px;
}
.bs-text__title--h2 + .bs-text__title--h4 {
    margin-top: -12px;
}
.bs-text__title--h3 + .bs-text__title--h4 {
    margin-top: -8px;
}
.bs-text__title--h4 + .bs-text__title--h2 {
    margin-top: 4px;
}
.bs-text__title--h4 + .bs-text__title--h3 {
    margin-top: 4px;
}
/* Italic zone — between titles and body, or standalone */
.bs-text__italic {
    font-family: 'Chiswick Poster', serif;
    font-size: clamp(15px, 1.5vw, 17px);
    font-style: italic;
    font-weight: 100;
    line-height: 1.5;
    color: #000;
    margin: 0 0 28px;
    text-align: justify;
    text-align-last: center;
}
.bs-text__title--h2 + .bs-text__italic, .bs-text__title--h3 + .bs-text__italic, .bs-text__title--h4 + .bs-text__italic {
    margin-top: 4px;
}
/* WYSIWYG body text */
.bs-text__content {
    font-family: 'Atlas Grotesk', sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.7;
    color: #000;
    text-align: justify;
    text-align-last: center;
}
.bs-text__content p {
    margin-bottom: 1.4em;
}
.bs-text__content a {
    color: #111;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.4s ease;
}
.bs-text__content a:hover {
    color: #999;
}
.bs-text__content strong {
    font-weight: 600;
    color: #000;
}
.bs-text__content em {
    font-style: italic;
}
.bs-text__content blockquote {
    border-left: 1px solid #ddd;
    padding-left: 24px;
    margin: 40px 0;
    font-style: italic;
    color: #666;
}
/* List block — standalone layout, one item per line */
.bs-text__list {
    font-family: 'Atlas Grotesk', sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.7;
    color: #000;
    padding-left: 0;
    margin: 0;
    list-style: none;
}
.bs-text__list--ul {
    list-style: none;
    padding-left: 0;
}
.bs-text__list--ul li::before {
    content: '—';
    color: #aaa;
    margin-right: 10px;
    font-weight: 300;
}
.bs-text__list--ol {
    list-style: decimal;
    padding-left: 20px;
}
.bs-text__list--ol li::marker {
    color: #aaa;
}
.bs-text__list li {
    margin-bottom: 10px;
    padding-left: 4px;
}
/* ============================================================
   IMAGES MODULE — Portrait (2/3) & Paysage (3/2)
   ============================================================ */
.bs-images__row {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}
.bs-module--images-1 .bs-images__item, .bs-module--images-2 .bs-images__item, .bs-module--images-3 .bs-images__item {
    flex: 1;
}
.bs-images__item {
    margin: 0;
    overflow: hidden;
}
/* Portrait ratio (images_block) */
.bs-module--images .bs-images__item {
    aspect-ratio: 2/3;
}
/* Paysage ratio (images_landscape_block) */
.bs-module--images-landscape .bs-images__item {
    aspect-ratio: 3/2;
}
.bs-images__item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 3s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.bs-images__item:hover img {
    transform: scale(1.012);
}
/* Optional caption below each image */
.bs-images__item figcaption {
    font-family: 'Atlas Grotesk', sans-serif;
    font-size: 10px;
    font-weight: 300;
    letter-spacing: 0.5px;
    color: #aaa;
    margin-top: 10px;
    text-align: center;
}
/* ============================================================
   HERO BANNER MODULE (full bleed, 100dvh)
   ============================================================ */
.bs-module--hero-banner {
    width: 100%;
    height: 100dvh;
    overflow: hidden;
    padding: 0;
}
.bs-module--hero-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* ============================================================
   MASONRY GALLERY MODULE
   ============================================================ */
.bs-module--gallery {
    padding: 75px 0;
    width: 100%;
    overflow: hidden;
}
.bs-gallery-wrapper {
    padding: 0;
}
.bs-gallery-wrapper .container-fluid {
    padding-left: 20px;
    padding-right: 20px;
}
/* Negative margin compensates for item padding */
.bs-masonry-grid {
    margin-left: -10px;
    margin-right: -10px;
}
.bs-masonry-item {
    padding: 10px !important;
    margin-bottom: 0 !important;
}
/* Clickable image link — triggers lightbox */
.bs-photo {
    width: 100%;
    display: block;
    text-decoration: none;
    cursor: zoom-in;
}
.bs-photo-wrapper {
    overflow: hidden;
    background: #f8f8f8;
}
.bs-photo-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transform: scale(1.001);
    transition: transform 3s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.bs-photo:hover .bs-photo-wrapper img {
    transform: scale(1.012);
}
/* ============================================================
   CREDITS MODULE
   ============================================================ */
.bs-module--credits {
    /* no border-top */
}
.bs-credits-list {
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.bs-credit-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
/* Role label — Chronicle Display small caps */
.bs-credit-role {
    font-family: 'Chiswick Poster', serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: #181818;
}
/* Person name — Atlas Grotesk light */
.bs-credit-name {
    font-family: 'Atlas Grotesk', sans-serif;
    font-size: 13px;
    font-weight: 300;
    color: #555;
}
a.bs-credit-name {
    text-decoration: none;
    color: #555;
    transition: color 1s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
a.bs-credit-name:hover {
    color: #999;
}
/* ============================================================
   VIDEO MODULE — full width, 16:9 ratio
   Using width:100% instead of 100vw + negative margin
   to avoid z-index stacking issues when ScrollSmoother
   is disabled on single post pages.
   ============================================================ */
.bs-module--video {
    padding: 75px 0;
    width: 100%;
    overflow: hidden;
}
/* Responsive 16:9 aspect ratio trick */
.bs-video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    background: #000;
    overflow: hidden;
}
.bs-video-container iframe, .bs-video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}
/* ============================================================
   PREV / NEXT NAVIGATION
   ============================================================ */
.bs-nav-wrapper {
    padding: 80px 0;
    background: #fff;
    border-top: 1px solid #e5e5e5;
}
.bs-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.bs-nav-prev {
    flex: 1;
}
.bs-nav-next {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}
.bs-nav-link {
    display: inline-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);
}
/* Portrait-format thumbnail */
.bs-nav-thumb {
    width: 60px;
    height: 85px;
    overflow: hidden;
    flex-shrink: 0;
}
.bs-nav-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 3s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.bs-nav-link:hover .bs-nav-thumb img {
    transform: scale(1.012);
}
/* Arrow + label wrapper */
.bs-nav-content {
    display: inline-flex;
    align-items: center;
    gap: 16px;
}
/* Custom SVG arrow */
.bs-nav-arrow {
    width: 24px;
    height: 6px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    transition: transform 0.8s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.bs-nav-arrow svg {
    width: 100%;
    height: 100%;
    display: block;
}
/* Previous arrow points left */
.bs-nav-arrow--prev {
    transform: rotate(180deg);
}
.bs-nav-link:hover .bs-nav-arrow--prev {
    transform: rotate(180deg) translateX(4px);
}
.bs-nav-link:hover .bs-nav-arrow--next {
    transform: translateX(4px);
}
/* Text group: label + article title */
.bs-nav-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
/* PREV. / NEXT. label */
.bs-nav-label {
    font-family: 'Atlas Grotesk', sans-serif;
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #111;
    line-height: 1;
    transition: color 0.6s ease;
}
.bs-nav-link:hover .bs-nav-label {
    color: #999;
}
/* Truncated article title below label */
.bs-nav-title {
    font-family: 'Chiswick Poster', serif;
    font-size: 13px;
    font-weight: 100;
    color: #555;
    line-height: 1.3;
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Center grid icon — links back to /news */
.bs-nav-grid {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.bs-nav-grid-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    text-decoration: none;
    color: #111;
    transition: all 0.6s cubic-bezier(0.16, 0.72, 0.1, 0.98);
}
.bs-nav-grid-link:hover {
    color: #111;
    transform: scale(1.012);
}
.bs-nav-grid-link svg {
    transition: opacity 0.3s ease;
}
.bs-nav-grid-link:hover svg {
    opacity: 0.5;
}
/* ============================================================
   VIDEO HERO — Full bleed, 100dvh (WP Bakery element)
   ============================================================ */
.video-hero-section {
    position: relative;
    width: 100%;
    height: 100dvh;
    height: 100vh; /* fallback */
    overflow: hidden;
    padding: 0;
    margin: 0;
}
.video-hero-section iframe, .video-hero-section video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    border: 0;
    object-fit: cover;
}
/* ============================================================
   MENTIONS LÉGALES 
   ============================================================ */
.ml-container {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 40px 120px;
}
.ml-container h2 {
    font-family: 'Chiswick Poster';
    font-weight: 200;
    font-size: 26px;
    margin-top: 60px;
    margin-bottom: 20px;
    color: #000;
    letter-spacing: 0.5px;
}
.ml-container h3 {
    font-family: 'Atlas Grotesk';
    font-weight: 400;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-top: 40px;
    margin-bottom: 20px;
    color: #000;
}
.ml-container p {
    font-family: 'Atlas Grotesk';
    font-weight: 300;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 18px;
    text-align: justify;
    color: #333;
}
.ml-container a {
    color: #1a1a1a;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.3s ease;
}
.ml-container a:hover {
    opacity: 0.6;
}
.ml-container ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 18px;
}
.ml-container ul li {
    font-family: 'Atlas Grotesk';
    font-weight: 300;
    font-size: 14px;
    line-height: 1.8;
    padding-left: 20px;
    position: relative;
    margin-bottom: 8px;
    color: #333;
}
.ml-container ul li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: #999;
}
.ml-separator {
    width: 40px;
    height: 1px;
    background: #ccc;
    margin: 50px 0;
}
.ml-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 40px;
    margin-bottom: 24px;
    font-size: 14px;
}
.ml-info-grid dt {
    font-family: 'Atlas Grotesk';
    color: #999;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-top: 12px;
}
.ml-info-grid dd {
    font-family: 'Atlas Grotesk';
    font-weight: 300;
    color: #1a1a1a;
    margin-bottom: 4px;
}
.ml-footer-note {
    margin-top: 80px;
    padding-top: 30px;
    border-top: 1px solid #e5e5e5;
    font-family: 'Atlas Grotesk';
    font-size: 13px;
    font-weight: 300;
    color: #999;
    text-align: center;
}
#sb_instagram #sbi_images {
    padding: 0;
}
#sb_instagram .sbi_type_carousel .fa-clone {
    display: none !important;
}
#sb_instagram .sbi_type_carousel .svg-inline--fa.fa-play, #sb_instagram .sbi_type_video .svg-inline--fa.fa-play, .sbi_type_carousel svg.fa-clone {
    display: none !important;
}
/* ============================================================
   FULLSCREEN BANNER
   100vh × 100vw image with parallax.
   The wrapper clips the image overflow caused by parallax.
   ============================================================ */
.hed-fullscreen-banner {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}
.hed-fullscreen-banner__img-wrap {
    position: absolute;
    top: -100px;
    left: 0;
    right: 0;
    bottom: -100px;
    overflow: hidden;
}
.hed-fullscreen-banner__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* ============================================================
   RESPONSIVE WEB
   ============================================================ */
/* RESPONSIVE */
@media (min-width: 1601px) {
    .menu-modal-inner {
        padding: 80px 0 60px;
    }
    .mm-image {
        width: 213px;
        height: 320px;
        margin: 16px 0;
    }
    .mm-item a {
        font-size: 62px;
    }
}
@media(max-width: 1370px) {
    .hm-sec9-mid {
        left: -70px;
    }
    .mid-img-main, .mid-img-main img {
        width: 26vw;
        height: 37vw;
    }
    .mid-img2, .mid-img2 img {
        width: 13vw;
        height: 18.5vw;
    }
    .mid-img2 {
        bottom: -3vw;
        left: -5.5vw;
    }
    .mid-img3, .mid-img3 img {
        width: 11.5vw;
        height: 16vw;
    }
    .mid-img3 {
        top: 3.5vw;
        right: -5.5vw;
    }
    .hm-sec9-left .left-img-main, .hm-sec9-left .left-img-main img {
        width: 17vw;
        height: 24vw;
    }
    .right-img1, .right-img1 img {
        width: 14vw;
        height: 20vw;
    }
    .right-img2, .right-img2 img {
        width: 24vw;
        height: 17vw;
    }
    .right-img2 {
        left: -17vw;
        top: -3.5vw;
    }
}
@media (max-width: 1200px) {
    .blog-img-main {
        transform-origin: top left;
        transform: scale(0.85);
        margin-bottom: -55px;
    }
    .blog-row--reverse .blog-img-main {
        transform-origin: top right;
    }
    .hm-sec9-mid {
        left: -5vw;
    }
    .mid-img-main, .mid-img-main img {
        width: 24vw;
        height: 34vw;
    }
    .mid-img2, .mid-img2 img {
        width: 12vw;
        height: 17vw;
    }
    .mid-img2 {
        bottom: -3vw;
        left: -5vw;
    }
    .mid-img3, .mid-img3 img {
        width: 10.5vw;
        height: 15vw;
    }
    .mid-img3 {
        top: 3vw;
        right: -5vw;
    }
    .hm-sec9-left .left-img-main, .hm-sec9-left .left-img-main img {
        width: 15.5vw;
        height: 22vw;
    }
    .right-img1, .right-img1 img {
        width: 13vw;
        height: 18.5vw;
    }
    .right-img2, .right-img2 img {
        width: 22vw;
        height: 15.5vw;
    }
    .right-img2 {
        left: -15.5vw;
        top: -3vw;
    }
}
@media(max-width: 1099px) {
    .about-sec3-con {
        gap: 10px;
    }
    .about-sec3-con img {
        width: 100%;
    }
}
@media(max-width: 1024px) {
    .hm-sec9-mid {
        left: -4vw;
    }
    .mid-img-main, .mid-img-main img {
        width: 22vw;
        height: 31vw;
    }
    .mid-img2, .mid-img2 img {
        width: 11vw;
        height: 16vw;
    }
    .mid-img2 {
        bottom: -3vw;
        left: -4vw;
    }
    .mid-img3, .mid-img3 img {
        width: 10vw;
        height: 14vw;
    }
    .mid-img3 {
        top: 3vw;
        right: -4vw;
    }
    .hm-sec9-left .left-img-main, .hm-sec9-left .left-img-main img {
        width: 14vw;
        height: 20vw;
    }
    .right-img1, .right-img1 img {
        width: 12vw;
        height: 17vw;
    }
    .right-img2, .right-img2 img {
        width: 20vw;
        height: 14vw;
    }
    .right-img2 {
        left: -14vw;
        top: -3vw;
    }
    footer .ftr-main-flex ul {
        gap: 0px 20px;
    }
    footer .ftr-main-flex ul li a {
        font-size: 9px;
    }
    .about-sec-btm, .about-sec-btm-alt {
        padding: 100px 60px 150px;
        margin-top: 120px;
    }
    .abt-btm-row1, .abt-btm-row2 {
        gap: 80px;
    }
    .abt-btm-row2 {
        margin-top: 120px;
    }
    .about-sec2 {
        padding: 80px 60px 100px;
    }
    .about-sec2-right {
        margin-left: 40px;
    }
    .about-sec3 {
        overflow: hidden;
    }
    .about-sec3-con {
        align-items: center;
    }
    .about-sec3-con .img {
        flex-shrink: 1;
        transform: none !important;
    }
    .about-sec3-con .img.portrait {
        width: 16vw;
        height: 23.5vw;
    }
    .about-sec3-con .img.paysage {
        width: 22vw;
        height: 15vw;
    }
    .about-sec5-inner {
        width: 85vw;
        height: 52vw;
    }
    .about-sec5-left .img2 {
        left: 14.5vw;
        width: 32vw;
        height: 46vw;
    }
    .about-sec5-left .img2 img {
        width: 32vw;
        height: 46vw;
    }
    .about-sec5-left .img1-abs {
        top: 10vw;
        left: 0;
        width: 18.5vw;
        height: 27vw;
    }
    .about-sec5-left .img1-abs img {
        width: 18.5vw;
        height: 27vw;
    }
    .about-sec5-right .img3 {
        top: 18vw;
        left: 45vw;
        width: 23.5vw;
        height: 34vw;
    }
    .about-sec5-right .img3 > img {
        width: 23.5vw;
        height: 34vw;
    }
    .about-sec5-right .img4-abs {
        top: 5.5vw;
        left: 60.5vw;
        width: 25.5vw;
        height: 17.5vw;
    }
    .about-sec5-right .img4-abs img {
        width: 25.5vw;
        height: 17.5vw;
    }
    .hm-sec3-flex {
        gap: 0 8vw;
    }
    .hm-sec3-flex .img-left img {
        max-width: 30vw;
    }
    .hm-sec3-flex .img-abs img {
        max-width: 20vw;
    }
    .hm-sec3-flex .img-right img {
        max-width: 29vw;
    }
    .hm-section5 {
        padding: 100px 8px 120px;
    }
    .hm-section5 .img {
        max-width: 34vw;
    }
    .hm-section5 .top-heading h2 {
        max-width: 380px;
    }
    .hm-section5 .para-text {
        max-width: 420px;
    }
    .hm-section2 {
        padding: 150px 0 180px;
    }
    .contact-sec, .inner-banner-sec {
        padding: 120px 0 100px;
    }
    .contact-sec .row, .inner-banner-sec .row {
        position: relative;
    }
    .contact-sec h1, .inner-banner-sec h1 {
        font-size: 72px;
        margin-bottom: 0;
    }
    .contact-left-img img, .contact-right-img img, .inner-banner-left-img img, .inner-banner-right-img img {
        width: 24vw;
        height: 17vw;
    }
    .contact-mid-img img, .inner-banner-mid-img img {
        width: 22vw;
        height: 32vw;
    }
    .hed-contact-wrap {
        padding: 60px 20px 150px;
    }
}
@media(max-width: 991px) {
    /* Blog listing — stack text above collage */
    .blog-row {
        flex-direction: column !important;
        align-items: center !important;
        margin-bottom: 100px;
    }
    .blog-col-left, .blog-col-right {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        text-align: center;
    }
    .blog-listing-left {
        margin-bottom: 40px;
    }
    .blog-listing-left h2 {
        max-width: 100%;
        font-size: 32px;
    }
    .blog-img-main {
        transform: scale(0.75);
        transform-origin: top center;
        margin-bottom: -90px;
    }
    .blog-row--reverse .blog-img-main {
        transform-origin: top center;
    }
    /* Single — reduce container padding */
    .bs-container {
        padding-left: 24px;
        padding-right: 24px;
    }
    .bs-module {
        padding: 50px 0;
    }
    /* Single — images side by side become stacked */
    .bs-module--images-2 .bs-images__row, .bs-module--images-3 .bs-images__row {
        flex-direction: column;
        gap: 12px;
    }
    /* Nav — hide article title, keep label only */
    .bs-nav-title {
        display: none;
    }
    .about-four-col-sec .col-flex {
        flex-wrap: wrap;
        gap: 12px;
    }
    .four-col-content {
        height: 400px;
        width: 49.3%;
    }
    .four-col-content .top-logo img {
        width: 150px;
    }
    .top-heading h2 {
        font-size: 32px;
    }
    .img-abs img {
        width: 200px;
    }
    .container {
        max-width: 900px;
    }
    .mm-item a {
        font-size: clamp(28px, 4.5vw, 48px);
    }
    .mm-image {
        width: 180px;
        height: 270px;
        margin: 12px 0;
    }
    .menu-modal-inner {
        padding: 70px 0 40px;
    }
    .hed-port-item {
        width: 50%;
    }
    .contact-sec, .inner-banner-sec {
        padding: 120px 0 50px;
    }
    .contact-sec h1, .inner-banner-sec h1 {
        font-size: 60px;
        top: 0;
    }
    .contact-left-img img, .contact-right-img img, .inner-banner-left-img img, .inner-banner-right-img img {
        width: 26vw;
        height: 18vw;
    }
    .contact-mid-img img, .inner-banner-mid-img img {
        width: 24vw;
        height: 34vw;
    }
    .hm-section2 {
        padding: 120px 0;
    }
    .hm-section3 {
        padding: 120px 0;
    }
    .hm-sec3-flex {
        gap: 0 6vw;
    }
    .hm-sec3-flex .img-left img {
        max-width: 28vw;
    }
    .hm-sec3-flex .img-abs img {
        max-width: 18vw;
    }
    .hm-sec3-flex .img-right img {
        max-width: 27vw;
    }
    .hm-section4 {
        padding: 120px 0;
    }
    .hm-sec4-slider {
        margin-top: 80px;
    }
    .hm-section4 h3 {
        font-size: 48px;
        max-width: 380px;
        margin: 20px auto 0;
    }
    .about-sec3-con .img.portrait {
        width: 14vw;
        height: 20.5vw;
    }
    .about-sec3-con .img.paysage {
        width: 19vw;
        height: 13vw;
    }
    /* Section 9 — collage images */
    .hm-sec9-mid {
        left: -3.5vw;
    }
    .mid-img-main, .mid-img-main img {
        width: 23vw;
        height: 33vw;
    }
    .mid-img2, .mid-img2 img {
        width: 11.5vw;
        height: 16.5vw;
    }
    .mid-img2 {
        bottom: -3vw;
        left: -4vw;
    }
    .mid-img3, .mid-img3 img {
        width: 10.5vw;
        height: 14.5vw;
    }
    .mid-img3 {
        top: 3vw;
        right: -4vw;
    }
    .hm-sec9-left .left-img-main, .hm-sec9-left .left-img-main img {
        width: 15vw;
        height: 21vw;
    }
    .right-img1, .right-img1 img {
        width: 13vw;
        height: 18vw;
    }
    .right-img2, .right-img2 img {
        width: 21vw;
        height: 15vw;
    }
    .right-img2 {
        left: -14.5vw;
        top: -3vw;
    }
    /* About sec bottom */
    .about-sec-btm {
        padding: 80px 40px 120px;
        margin-top: 120px;
    }
    .about-sec-btm-alt {
        padding: 80px 40px 120px;
    }
    .abt-btm-row1, .abt-btm-row2 {
        gap: 40px;
    }
    .abt-btm-row2 {
        margin-top: 120px;
    }
    .abt-btm-row1 > .about-btm-left, .abt-btm-row2 > .about-btm-left {
        width: 320px;
        max-width: 320px;
        flex-shrink: 0;
    }
    .abt-left-img-main, .abt-left-img-main img {
        width: 280px;
        max-width: 280px;
    }
    .about-left-img-sm {
        right: -20px;
    }
    .about-left-img-sm img {
        width: 160px;
        max-width: 160px;
    }
    .about-btm-right h3 {
        font-size: 52px;
    }
    .about-btm-right h4 {
        margin-top: 40px;
    }
    .marquee_track img {
        max-height: 25px;
        margin-right: 80px;
    }
    .page-id-101 .hm-logo-section {
        padding: 50px 0;
    }
    .about-testimonials {
        padding: 120px 0;
    }
    .about-testimonials .about-testi-wrapper {
        max-width: 640px;
    }
    .about-sec5-inner {
        width: 68vw;
        height: 42vw;
    }
    .about-sec5-left .img2 {
        left: 11.5vw;
        width: 25.5vw;
        height: 37vw;
    }
    .about-sec5-left .img2 img {
        width: 25.5vw;
        height: 37vw;
    }
    .about-sec5-left .img1-abs {
        top: 8vw;
        left: 0;
        width: 15vw;
        height: 21.5vw;
    }
    .about-sec5-left .img1-abs img {
        width: 15vw;
        height: 21.5vw;
    }
    .about-sec5-right .img3 {
        top: 14.5vw;
        left: 36vw;
        width: 19vw;
        height: 27vw;
    }
    .about-sec5-right .img3 > img {
        width: 19vw;
        height: 27vw;
    }
    .about-sec5-right .img4-abs {
        top: 4.5vw;
        left: 48.5vw;
        width: 20.5vw;
        height: 14vw;
    }
    .about-sec5-right .img4-abs img {
        width: 20.5vw;
        height: 14vw;
    }
    .para-text {
        max-width: 370px;
    }
    .hm-section5 .img {
        max-width: 49vw;
    }
    .hm-section7 {
        padding: 120px 0 0;
    }
}
@media(max-width: 767px) {
    /* Blog listing */
    .blog-listing-sec {
        padding: 80px 0 0;
    }
    .blog-row {
        margin-bottom: 30px;
    }
    .blog-listing-left h2 {
        font-size: 28px;
    }
    /* Collage — single column: show only img1, hide img2/img3 */
    .blog-img-main {
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 4;
        transform: none;
        margin-bottom: 0;
        position: relative;
    }
    .blog-img1-wrap {
        position: relative;
        width: 100%;
        height: 100%;
        left: auto;
        top: auto;
    }
    .blog-img1-wrap img {
        min-width: 100%;
    }
    .blog-img2, .blog-img3 {
        display: none;
    }
    /* Single hero */
    .bs-hero--has-img {
        height: 100dvh;
    }
    .bs-hero__title {
        font-size: clamp(28px, 8vw, 39px);
    }
    /* Single modules */
    .bs-module {
        padding: 80px 0;
    }
    .bs-container {
        padding-left: 20px;
        padding-right: 20px;
    }
    /* Images — full width, 100dvh for single image */
    .bs-module--images-1 .bs-images__item img {
        width: 100vw;
        height: 100dvh;
        object-fit: cover;
        margin-left: calc(50% - 50vw);
    }
    .bs-module--images-2 .bs-images__row, .bs-module--images-3 .bs-images__row {
        flex-direction: column;
        gap: 10px;
    }
    /* Video — full width 100dvh */
    .bs-module--video {
        padding: 0;
    }
    .bs-video-container {
        height: 100dvh;
        padding-bottom: 0;
    }
    /* Gallery — 1 column */
    .bs-masonry-item {
        width: 100% !important;
    }
    /* Text */
    .bs-text__title--h2 {
        font-size: clamp(24px, 7vw, 32px);
    }
    .bs-text__title--h3 {
        font-size: clamp(20px, 5vw, 26px);
    }
    /* Nav */
    .bs-nav-wrapper {
        padding: 50px 0;
    }
    .bs-nav-title {
        display: none;
    }
    .bs-nav-grid-link {
        width: 22px;
        height: 22px;
    }
    .bs-nav-thumb {
        width: 50px;
        height: 70px;
        flex-shrink: 0;
    }
    .bs-nav-content {
        gap: 10px;
    }
    .bs-nav-link {
        gap: 12px;
    }
    /* Load more */
    .blog-loadmore__label {
        padding-bottom: 40px;
    }
    .blog-loadmore-wrap {
        padding: 0 0;
    }
    .blog-loadmore__icon {
        width: 50px;
        height: 12px;
    }
    /* Blog cols top padding */
    .blog-col-left, .blog-col-right {
        padding-top: 40px;
    }
    /* Read more link */
    .blog-listing-left .read-more {
        margin-top: 20px;
    }
    /* Last row before load more — reduced margin */
    .blog-row:last-of-type {
        margin-bottom: 120px;
    }
    .hm-sec-btm {
        padding-top: 40px;
    }
    .about-sec6 {
        padding-top: 0 !important;
    }
    .about-logo-section {
        padding: 80px 0;
    }
    .about-sec-btm {
        padding: 100px 0;
        margin-top: 100px;
    }
    .about-sec-btm-alt {
        padding: 100px 0 80px;
        margin-top: 0;
    }
    .abt-btm-row1, .abt-btm-row2 {
        flex-direction: column;
        gap: 60px;
        align-items: center;
    }
    .abt-btm-row2 {
        flex-direction: column;
        margin-top: 100px;
    }
    .abt-btm-row1 > .about-btm-left, .abt-btm-row2 > .about-btm-left {
        width: 80%;
        max-width: 375px;
        margin: 0 auto;
    }
    .abt-left-img-main, .abt-left-img-main img {
        width: 100%;
        max-width: 100%;
    }
    .about-left-img-sm {
        right: -30px;
        bottom: -30px;
    }
    .about-left-img-sm img {
        width: 160px;
        max-width: 160px;
    }
    .abt-btm-row1 > .about-btm-right, .abt-btm-row2 > .about-btm-right {
        max-width: 100%;
        padding: 0 12px;
        text-align: center;
    }
    .about-btm-right h3 {
        font-size: 50px;
    }
    .about-btm-right h4 {
        margin-top: 40px;
    }
    .about-btm-right p {
        text-align: center;
    }
    .about-four-col-sec {
        padding: 40px 10px;
    }
    .four-col-content {
        height: auto;
        width: 100%;
    }
    .about-four-col-sec .col-flex {
        flex-direction: column;
    }
    .abt-sec6-img {
        margin: 30px auto 0;
        text-align: center;
    }
    .abt-sec6-img p {
        text-align: center;
    }
    .about-testimonials .about-testi-arrows {
        margin-top: 20px;
    }
    .about-sec2 .top-heading {
        text-align: center;
        margin-bottom: 40px !important;
    }
    .about-sec2-right {
        margin-left: 0;
    }
    .about-testimonials {
        padding: 0;
    }
    .about-sec2 {
        padding: 100px 0;
    }
    .about-sec3-con {
        justify-content: center;
        gap: 12px;
        padding: 0 12px 100px;
    }
    .about-sec3-con .img {
        display: none;
    }
    .about-sec3-con .img.img3, .about-sec3-con .img.img4 {
        display: block;
        width: calc(50% - 8px);
        height: 280px;
    }
    .hm-sec-btm-flex {
        flex-direction: column;
    }
    .hm-section9 {
        justify-content: center;
    }
    .hm-sec9-left, .hm-sec9-right {
        display: none;
    }
    .hm-sec9-mid {
        position: static;
        left: 0;
        display: flex;
        gap: 12px;
        width: 100%;
        padding: 0 12px;
    }
    .mid-img-main, .mid-img2 {
        position: static;
        width: 50%;
        height: 280px;
    }
    .mid-img-main img, .mid-img2 img {
        width: 100%;
        height: 100%;
    }
    .mid-img3 {
        display: none;
    }
    .hm-section8 p {
        margin: 30px auto 0;
    }
    .hm-section5 {
        padding: 100px 0;
    }
    .top-heading h2 {
        font-size: 28px;
    }
    .hm-section8 {
        padding: 100px 0;
    }
    footer .ftr-main-flex {
        flex-direction: column;
        gap: 0;
        padding: 40px 0;
    }
    footer .ftr-main-flex .mid {
        order: -1;
    }
    footer .ftr-main-flex ul {
        gap: 0 20px;
    }
    footer .ftr-main-flex ul li a {
        font-size: 9px;
    }
    footer .ftr-main-flex .mid {
        padding-bottom: 30px;
    }
    header nav .logo img {
        width: 120px;
    }
    .menu-icon {
        width: 30px;
        height: 10px;
    }
    .menu-icon span:nth-child(2) {
        width: 20px;
    }
    header.active .menu-icon span:nth-child(1) {
        width: 20px;
    }
    .menu-lang a {
        font-size: 10px;
    }
    /* Hide center image - just bg + links */
    .mm-image {
        display: none;
    }
    .menu-modal-inner {
        padding: 60px 0 30px;
        gap: 0;
        justify-content: center;
    }
    .mm-item a {
        font-size: clamp(30px, 7vw, 36px);
        padding: 1px 0;
        line-height: 1.5;
        text-shadow: none;
    }
    .mm-item a em {
        font-size: clamp(10px, 2.5vw, 13px);
        top: -0.4em;
    }
    .hm-section7 {
        padding: 100px 0;
    }
    .hm-section7 .mid {
        margin-top: 60px;
    }
    .hm-section7 .right {
        margin-top: 90px;
    }
    .about-sec5 {
        padding: 0 0 100px;
    }
    .about-sec5-inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        width: 100%;
        height: auto;
        padding: 0 12px;
    }
    .about-sec5-left, .about-sec5-right {
        display: contents;
    }
    .about-sec5-left .img2, .about-sec5-left .img1-abs, .about-sec5-right .img3, .about-sec5-right .img4-abs {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        width: 100%;
        height: 220px;
    }
    .about-sec5-left .img2 img, .about-sec5-left .img1-abs img, .about-sec5-right .img3 > img, .about-sec5-right .img4-abs img {
        width: 100%;
        height: 220px;
        object-fit: cover;
        object-position: center;
        display: block;
    }
    footer .ftr-btm {
        display: none;
    }
    footer .ftr-main-flex .mid img {
        width: 100px;
    }
    .marquee_track img {
        margin-right: 60px;
    }
    .hed-port-flex {
        flex-direction: column;
        gap: 5px;
    }
    .hed-port-item {
        width: 100%;
        aspect-ratio: 2/3;
        padding-bottom: 0;
    }
    /* Name always visible on mobile (no hover on touch devices) */
    .hed-port-name {
        opacity: 1;
        transform: translateY(0);
    }
    .hed-port-overlay {
        padding-bottom: 14px;
    }
    .contact-sec, .inner-banner-sec {
        padding: 0 0 56px;
    }
    .contact-sec h1, .inner-banner-sec h1 {
        font-size: 40px;
        white-space: normal;
        text-align: center;
        width: 100%;
    }
    .contact-left-img, .contact-right-img, .inner-banner-left-img, .inner-banner-right-img {
        display: none;
    }
    .contact-mid-img img, .inner-banner-mid-img img {
        width: 100%;
        height: 100vh;
        height: 100dvh;
        object-fit: cover;
    }
    .hed-contact-wrap {
        max-width: 330px;
        padding: 70px 0 100px;
    }
    .hed-nav-wrapper {
        padding: 50px 0;
    }
    .hm-section2 {
        padding: 100px 0;
    }
    .hm-section3 {
        padding: 0 0 100px;
    }
    .hm-sec3-flex {
        flex-direction: column;
    }
    .hm-sec3-flex .img-abs {
        display: none;
    }
    .hm-sec3-flex .img-right {
        display: none;
    }
    .hm-sec3-flex .img-left {
        text-align: center;
    }
    .hm-sec3-flex .img-left img {
        max-width: 100%;
    }
    .hm-section4 {
        padding: 90px 0;
    }
    .hm-sec4-slider {
        margin-top: 60px;
    }
    .hm-sec4-slider .swiper-slide:nth-child(odd) .sec4-slide-content, .hm-sec4-slider .swiper-slide:nth-child(even) .sec4-slide-content {
        width: 280px;
    }
    .hm-sec4-slider .swiper-slide:nth-child(odd) .sec4-slide-content .img img, .hm-sec4-slider .swiper-slide:nth-child(even) .sec4-slide-content .img img {
        width: 280px;
        height: 420px;
    }
    .hm-sec5-right {
        margin: 52px auto;
    }
    .about-four-col-sec .col-flex {
        flex-wrap: wrap;
        gap: 12px;
        padding: 0;
    }
    .four-col-content {
        flex: none;
        width: 100%;
    }
    .srv-section-btm {
        padding: 60px 0 100px;
    }
    .hm-section5 .img {
        max-width: 100%;
    }
    .page-id-12 .video-hero-section, .page-id-1089 .video-hero-section {
        margin-top: 100px;
    }
    .ml-container {
        padding: 60px 24px 80px;
    }
    .ml-container h2 {
        font-size: 22px;
        margin-top: 40px;
    }
    .ml-info-grid {
        grid-template-columns: 1fr;
    }
}
@media(max-width: 575px) {
    .bs-text__list li {
        text-align: justify;
    }
    .bs-module--hero-banner img {
        min-height: 100vh;
    }
    .about-sec5-left img, .about-sec5-right img {
        width: 150px;
        height: 200px;
        object-fit: cover;
    }
    .about-sec5-left img, .about-sec5-right img {
        width: 150px;
        height: 200px;
        object-fit: cover;
    }
    .left-img-main img {
        width: 100%;
        height: auto;
    }
}
/* RESPONSIVE */