/* Mariani local saved site: section layout, smoother transitions, adaptive navigation */
:root { --section-scroll-duration: 1370; --header-text-light: #fff; --header-text-dark: #141414; }
html,body{overflow-x:hidden!important;overflow-y:auto!important;height:auto!important;scroll-behavior:auto!important;}
html{scroll-snap-type:none!important;}
.landing-wrapper{height:auto!important;position:relative!important;transform:none!important;}
.landing-wrapper>.magnet{position:relative!important;display:block!important;min-height:0!important;width:100%!important;height:100svh!important;overflow:hidden;scroll-snap-align:none!important;}
.landing-wrapper>.magnet>section{height:100%!important;min-height:0!important;position:relative;}
.landing-wrapper>.magnet>section>a{display:block;height:100%;}
.landing-wrapper>.magnet .fullscreen-image{height:100%!important;}
.landing-wrapper>.magnet .fullscreen-image img{height:100%;width:100%;object-fit:cover;}
.landing-wrapper>.magnet.active .reveal{opacity:1!important;transform:none!important;}
/* News is a light section and remains scrollable when viewport is small. */
.landing-wrapper>#landing-section-6{height:auto!important;min-height:100svh!important;overflow:visible!important;background:#dbdcdb;}
.landing-wrapper>#landing-section-6>.news{height:auto!important;min-height:100svh!important;padding:clamp(110px,13vh,165px) 0 clamp(55px,8vh,100px)!important;margin:0!important;box-sizing:border-box;}
.landing-wrapper>#landing-section-6 .news>.container{height:auto!important;min-height:0!important;}
.landing-wrapper>#landing-section-6 .news__item{margin-bottom:clamp(32px,5vh,70px)!important;}
.landing-wrapper>#landing-section-6 .news__item:last-child{margin-bottom:0!important;}
/* footer is content height instead of a forced second 100vh page */
.landing-wrapper>#landing-section-7{height:auto!important;min-height:0!important;overflow:visible!important;background:#151515;color:#fff;padding:clamp(45px,6vh,76px) 0 clamp(24px,3vh,42px)!important;box-sizing:border-box;}
.landing-wrapper>#landing-section-7>*{min-height:0!important;}
.landing-wrapper>#landing-section-7 .footer-newsletter{margin-bottom:clamp(24px,4vh,48px)!important;}
.landing-wrapper>#landing-section-7 .footer{padding:0!important;margin:0!important;min-height:0!important;}
/* repaired original down arrow artwork and animation: match original 2s / 30px movement */
.landing-wrapper>.magnet .arrow-down{background-image:url('./arrow-down-white.svg')!important;background-repeat:no-repeat!important;background-position:center!important;background-size:42px 42px!important;width:48px!important;height:48px!important;position:absolute!important;bottom:2.5em!important;left:50%!important;z-index:18!important;cursor:pointer;display:block!important;animation:mariani-arrowdown 2000ms linear 600ms infinite!important;}
@keyframes mariani-arrowdown{0%{transform:translate3d(-50%,0,0);opacity:0}33%,66%{opacity:1}100%{transform:translate3d(-50%,30px,0);opacity:0}}
.landing-wrapper>#landing-section-5 .arrow-down{display:block!important;}
.landing-wrapper>#landing-section-6 .arrow-down{display:none!important;}
.landing-wrapper>#landing-section-7 .arrow-up{background-image:url('./arrow-down-white.svg')!important;}
/* Header remains stable on entry to news. Hover and expanded overlay retain their dark appearance. */
.header-container,.header-container.scrolling,.header-container.fixed{position:fixed!important;top:0!important;transform:translate3d(0,0,0)!important;transition:background-color .55s ease,color .55s ease!important;}
.header-container:not(:hover):not(.active){background-color:transparent!important;}
.header-container:not(:hover):not(.active)::before{opacity:0!important;height:0!important;}
.header-container.header-theme-dark:not(:hover):not(.active),.header-container.header-theme-dark:not(:hover):not(.active) a{color:var(--header-text-dark)!important;}
.header-container.header-theme-light:not(:hover):not(.active),.header-container.header-theme-light:not(:hover):not(.active) a{color:var(--header-text-light)!important;}
.header-container.header-theme-dark:not(:hover):not(.active) .header__logo svg :is(path,polygon,rect){fill:var(--header-text-dark)!important;}
.header-container.header-theme-light:not(:hover):not(.active) .header__logo svg :is(path,polygon,rect){fill:var(--header-text-light)!important;}
.header-container:hover,.header-container.active{color:white!important;}
.header-container:hover a,.header-container.active a{color:#fff!important;}
.header-container:hover .header__logo svg :is(path,polygon,rect),.header-container.active .header__logo svg :is(path,polygon,rect){fill:#fff!important;}
@media(max-width:767px){.landing-wrapper>.magnet{height:100svh!important;min-height:400px!important}.landing-wrapper>#landing-section-6 .news{padding-top:105px!important}.landing-wrapper>#landing-section-7{padding-top:45px!important}.landing-wrapper>.magnet .arrow-down{bottom:2em!important;background-size:32px 32px!important;width:38px!important;height:38px!important}}
@media(prefers-reduced-motion:reduce){.landing-wrapper>.magnet .arrow-down{animation:none!important;opacity:1!important}}

/* v4: mobile matches the original site's compact, edge-to-edge landing layout.
   Desktop full-page navigation is intentionally left untouched. */
@media (max-width: 767px) {
  :root { --mobile-landing-image-ratio: 2.2; --mobile-header-height: 70px; }
  html, body { height: auto !important; overflow-y: auto !important; overflow-x: hidden !important; scroll-snap-type: none !important; overscroll-behavior-y: auto !important; scroll-behavior: auto !important; }
  .landing-wrapper { display: block !important; height: auto !important; min-height: 0 !important; transform: none !important; margin: 0 !important; padding: 0 !important; }
  .landing-wrapper > .magnet:nth-child(-n+5) {
    position: relative !important; display: block !important;
    height: auto !important; min-height: 0 !important; max-height: none !important;
    aspect-ratio: var(--mobile-landing-image-ratio) / 1;
    width: 100% !important; margin: 0 !important; padding: 0 !important;
    overflow: hidden !important; scroll-snap-align: none !important;
  }
  .landing-wrapper > .magnet:nth-child(-n+5) > section,
  .landing-wrapper > .magnet:nth-child(-n+5) > section > a,
  .landing-wrapper > .magnet:nth-child(-n+5) .fullscreen-image {
    display: block !important; width: 100% !important; height: 100% !important;
    min-height: 0 !important; max-height: none !important;
    position: relative !important; margin: 0 !important; padding: 0 !important;
  }
  .landing-wrapper > .magnet:nth-child(-n+5) .fullscreen-image { position: absolute !important; inset: 0 !important; }
  .landing-wrapper > .magnet:nth-child(-n+5) .fullscreen-image img {
    width: 100% !important; height: 100% !important; display: block !important;
    object-fit: cover !important; object-position: center !important;
  }
  .landing-wrapper > .magnet:nth-child(-n+5) .caption {
    position: absolute !important; z-index: 2 !important;
  }
  .landing-wrapper > .magnet:nth-child(-n+5) .arrow-down { display: none !important; }
  .landing-wrapper > #landing-section-6 { height: auto !important; min-height: 0 !important; overflow: visible !important; }
  .landing-wrapper > #landing-section-6 > .news {
    height: auto !important; min-height: 0 !important; padding-top: calc(var(--mobile-header-height) + 38px) !important;
  }
  .landing-wrapper > #landing-section-7 { height: auto !important; min-height: 0 !important; }
  /* Keep the actual menu bar and its black backdrop fixed at every scroll position. */
  .header-container, .header-container.scrolling, .header-container.fixed,
  .header-container.header-theme-dark, .header-container.header-theme-light {
    position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important;
    width: 100% !important; z-index: 1001 !important;
    transform: translate3d(0,0,0) !important;
    background: #1b1b1b !important; color: #fff !important;
  }
  .header-container::before,
  .header-container:not(:hover):not(.active)::before {
    content: '' !important; display: block !important; opacity: 1 !important;
    height: 100% !important; background: #1b1b1b !important;
    transition: none !important;
  }
  .header-container .header { box-sizing: border-box; min-height: var(--mobile-header-height); }
  .header-container a, .header-container.header-theme-dark:not(:hover):not(.active) a,
  .header-container.header-theme-light:not(:hover):not(.active) a { color: #fff !important; }
  .header-container .header__logo svg :is(path,polygon,rect),
  .header-container.header-theme-dark:not(:hover):not(.active) .header__logo svg :is(path,polygon,rect),
  .header-container.header-theme-light:not(:hover):not(.active) .header__logo svg :is(path,polygon,rect) { fill: #fff !important; }
  .header-container:hover, .header-container.active { background-color: #1b1b1b !important; }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  /* No section snapping or animated programmatic scrolling on handheld devices. */
  html { scroll-behavior: auto !important; }
}
