/*============================================
 ____   ____ ____ _____ 
|  _ \ / ___|  _ \_   _|
| |_) | |   | |_) || |  
|  __/| |___|  _ < | |  
|_|    \____|_| \_\|_|  
Protocolli Creativi 2025 

============================================*/
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}
#visione {opacity:0;}
body {cursor:none;}
.navigation.post-navigation {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    margin-top: -289px;
    margin-bottom: 200px;
}


body.page-template-page-azienda.body_theme_light .line {color:#fff;}
.nav-links {color:inherit}
.distanza {margin-bottom: 70px!important;}
.title-inizio {opacity:0;}
.ruggeri__gallery__image:hover {opacity:0.5}
.aniverasry {font-family: "Meow Script", cursive;font-weight: 400;font-style: normal;font-size: 33px;text-transform: none;margin-top: 4px;color: red;text-align: right;}
.aniverasry.bianco {color:#fff}
body.body_theme_light .aniverasry.bianco {color:#000}
.overlay{display:none;position:fixed;inset:0;z-index:9999999}.stairs-wrap{height:100%;width:100%;display:flex}.stair{height:100%;width:20%;background:red}*{margin:0;padding:0}*,*::after,*::before{box-sizing:border-box}body.preloader-active{overflow:hidden;height:100vh}#preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;color:white}.counter{font-size:40vw;font-weight:600;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;opacity:.2;width:100vw;text-align:center;pointer-events:none;white-space:nowrap}.images-stack{position:absolute;top:50%;left:80%;width:200px;height:300px;overflow:visible;pointer-events:none;transform:translate(-50%,-50%)}.images-stack img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;box-shadow:0 4px 8px rgba(0,0,0,0.2)}body.preloader-active canvas,body.preloader-active .navbar,body.preloader-active .nav-menu{opacity:0}:root{--grid-gap:12px;--clr-lime-green:hsl(163,72%,41%);--clr-Bright-red:hsl(356,69%,56%);--clr-switch-theme:linear-gradient(to right,hsl(210,78%,56%),hsl(146,68%,55%));--clr-theme-bg:hsl(230,17%,14%);--clr-theme-pattern:hsl(232,19%,15%);--clr-theme-card-bg:hsl(228,28%,20%);--clr-theme-text:hsl(228,34%,66%);--clr-theme-text-secondary:hsl(0,0,100%);--gradient:conic-gradient(from 180deg at 50% 70%,hsla(0,0,98%,1) 0,#eec32d 72deg,#ec4b4b 144deg,#709ab9 216deg,#4dffbf 288deg,hsla(0,0,98%,1) 1turn)}html{font-size:calc(100vw / 1920 * 10);height:100%;left:0;position:fixed;top:0;user-select:none;width:100%;-webkit-text-size-adjust:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{font-family:"neue-haas-grotesk-display",sans-serif;font-size:15px;font-style:normal;margin:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;background:#000;color:#fff;letter-spacing:1.1px}body::before{--size:100px;--line:color-mix(in hsl,canvasText,transparent 80%);content:'';height:100vh;width:100vw;position:fixed;background:linear-gradient(90deg,var(--line) 1px,#3433338f 1px var(--size)) calc(var(--size) * .36) 50% / var(--size) var(--size),linear-gradient(var(--line) 1px,transparent 1px var(--size)) 0 calc(var(--size) * .32) / var(--size) var(--size);-webkit-mask:linear-gradient(-20deg,transparent 50%,white);mask:linear-gradient(-20deg,transparent 50%,white);top:0;transform-style:flat;pointer-events:none;z-index:-1}body.body_theme_light::before{--size:1px}body.body_theme_light{background:#fff;color:#000;--clr-switch-theme:hsl(230,22%,74%);--clr-theme-bg:hsl(0,0,100%);--clr-theme-pattern:hsl(225,100%,98%);--clr-theme-card-bg:hsl(227,47%,96%);--clr-theme-text:hsl(228,12%,44%);--clr-theme-text-secondary:hsl(230,17%,14%)}body.body_theme_light .footer_section{background-color:#ececec}body.body_theme_light .color-0{color:#77a297}body.body_theme_light .work-text-subtitle{color:#000}body.body_theme_light .logo-ruggeri{fill:#000}body.body_theme_light .logo-ruggeri-interno{fill:#000}
body.body_theme_light .navbar{background:rgba(0,0,0,0.4)}
body.body_theme_light .color-1{color:#674624}.logo-ruggeri{height:auto;display:block;fill:#fff;width:25vw}.loaded body:after{opacity:.06}.logo-ruggeri-interno{height:auto;display:block;fill:#fff;width:160px;margin:20px}.container{max-width:1100px;margin:32px auto;padding:16px}.two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}.card{border-radius:12px;padding:18px}.card h2{margin:0 0 8px 0;font-size:25px;font-weight:600}.card p{margin:0;line-height:1.5;color:#fff}.cursor{position:fixed;width:40px;height:40px;margin-left:-20px;margin-top:-20px;border-radius:50%;border:2px solid red;transition:transform .3s ease;transform-origin:center center;pointer-events:none;z-index:9999999}.grow,.grow-small{transform:scale(3);background:red;mix-blend-mode:difference;border:0}
.grow-ruggeri{transform:scale(4);border:red solid 1px;background:red;}
.grow-ruggeri::after{content:"VAI AL PROGETTO";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:5px;font-weight:400;color:#fff;pointer-events:none; font-size:3.0px; text-align:center;}
.contact-footer {position:relative;}
.contact-footer:before {content: "";position: absolute;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11.352' height='11.352' viewBox='0 0 11.352 11.352'><g transform='translate(-4.939 -4.939)'><path d='M8,6h7.692v7.692' transform='translate(-0.462)' fill='none' stroke='%23cde5df' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/><path d='M6,15.23,15.23,6' fill='none' stroke='%23cde5df' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/></g></svg>");width: 23px;height: 23px;background-size: contain;background-repeat: no-repeat;right:0px;}
.grow-apri{transform:scale(2);border:red solid 1px;background:red;}
.grow-apri::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11.352' height='11.352' viewBox='0 0 11.352 11.352'><g transform='translate(-4.939 -4.939)'><path d='M8,6h7.692v7.692' transform='translate(-0.462)' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/><path d='M6,15.23,15.23,6' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/></g></svg>");
  width: 10px;
  height: 10px;
  background-size: contain;
  background-repeat: no-repeat;}
/* Contenitore invisibile che segue il mouse */
.hover-image {
  position: fixed;
  top: -100px;
  left: 15%;
  width: 320px;            /* puoi cambiare la dimensione */
  height: auto;
  pointer-events: none;    /* fondamentale */
  transform-style: preserve-3d;
  z-index:9999;
  opacity: 0;
  scale: 0.9;

  /* Effetti visual moderni */
  border-radius: 2px;
  overflow: hidden;
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.18),
    0 4px 10px rgba(0, 0, 0, 0.1);
  will-change: transform, opacity, filter, clip-path;}


/* NUOVE */

.prallax-img {
  position: relative;
  overflow: hidden;
  height:auto; /* puoi modificarlo */
}

.prallax-img img {
  width: 100%;
  height: 120%;        /* leggero zoom per evitare buchi ai bordi */
  object-fit: cover;
  will-change: transform;
}

.wrapper-img {overflow:hidden}
.wrapper-img{clip-path:polygon(0 0,100% 0,100% 0,0 0);transition:clip-path 1s ease-out}
.wrapper-img img{width:100%;height:100%;display:block;transform-origin:top top}




/* L’immagine interna */
.hover-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  will-change: transform, filter;
}
/* Disabilitare completamente su mobile */
@media (max-width: 768px) {
  .hover-image {
    display: none !important;
  }
}

article p:first-of-type::first-letter {
  font-size: 70px;          /* molto più grande */
 font-family: "ivypresto-display", serif;
  font-weight: 700;
  float: left;
  line-height: 0.9;
  padding-right: 30px;
  padding-top: 10px;
}



.grow-small{transform:scale(2)}.grow-punto{transform:scale(2);border:red solid 1px;background:transparent}
.grow-movimento, .grow-movimentos {transform:scale(3);border:red solid 1px;background:transparent}
.scritta-scale,.scrittas-scale  {display:none;position:relative;width:100%;height:100%}
.cursor-circle-text{transform-origin:50% 50%;animation:rotateText 6s linear infinite;position:absolute;top:-8px;left:-8px;text-transform:uppercase}@keyframes rotateText{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.titolo-pagina{font-size:3vw;font-weight:500;font-family:"neue-haas-grotesk-display",sans-serif}.crea{transition:color .1s ease}.theme-toggle{background:0;border:0;cursor:pointer;padding:8px}.icon{width:24px;height:24px;opacity:1;transform-origin:center;position:relative;top:6px}.hidden{display:none}.navbar{position:fixed;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:50px;padding:6px 6px 6px 30px;display:flex;align-items:center;border:1px solid rgba(255,255,255,0.1);z-index:99999;bottom:100px}
.navbar-sinistra,.navbar-destra {position:fixed;background:transparent;backdrop-filter:none;border-radius:0;padding:0;z-index:99999;bottom:100px;box-shadow:none}
.navbar-sinistra {left:40px;}
.navbar-destra {right:40px;left:auto;}
.content-press {width:100%; max-width: 1100px; margin:0 auto;}
.content-press img {width:100%; height:auto;}
.content-press ul li {list-style:none; margin-bottom:30px;}
.content-press ul li a {display:block; font-size:30px;}
.content-press ul li span {display:block;margin-bottom:20px; color:#ffd9b3; font-size: 13px;}
.content-press ul li span:after {display:block; background:#ffd9b3; width:5%; height:1px; content:"";margin-top: 5px;}
.content-press ul li p {display:block;margin-bottom:10px; opacity:0.5}
.titolo-pagina.scritta.press span {font-family:"neue-haas-grotesk-display",sans-serif}
.alto-4 {padding-bottom: 400px;}
.ruggerri-press {width:70%; margin-bottom: 10%; display:block; margin-left:auto; margin-right:auto;}
article p {font-size: 23px;line-height: 34px; margin-bottom:30px;}
body.body_theme_light .content-press ul li a {color:#000}
body.body_theme_light .content-press ul li span {color: rgb(103, 70, 36);}
body.body_theme_light .content-press ul li span:after {background:rgb(103, 70, 36);}
body.body_theme_light .contact-footer:before {background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11.352' height='11.352' viewBox='0 0 11.352 11.352'><g transform='translate(-4.939 -4.939)'><path d='M8,6h7.692v7.692' transform='translate(-0.462)' fill='none' stroke='%23ff0000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/><path d='M6,15.23,15.23,6' fill='none' stroke='%23ff0000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/></g></svg>");}
.categoira-pro{position:absolute}.pro{color:red;margin:0 10px 0 10px}.nav-container{display:flex;align-items:center;gap:0}.nav-center{display:flex;align-items:center}.nav-links{display:flex;list-style:none;gap:0;align-items:center}.nav-links li{padding:0 18px;border-right:1px solid rgba(255,255,255,0.1)}.nav-links li:last-child{border-right:none}.nav-links a{color:rgba(255,255,255,0.6);text-decoration:none;font-weight:500;font-size:14px;letter-spacing:0.5px;text-transform:uppercase;transition:color .3s ease;position:relative;font-family:"neue-haas-grotesk-display",sans-serif}.nav-links a:hover,.nav-links a.active{color:#fff}.nav-links a::after{display:none}.navbar .signup-btn{font-size:13px;letter-spacing:0.5px;text-transform:uppercase;padding:10px 24px;font-weight:600;font-family:"neue-haas-grotesk-display",sans-serif;border-radius:44px;margin:0;display:flex;align-items:center}
.auth-buttons{display:flex;gap:15px;align-items:center}
.auth-btn{padding:8px 20px;border-radius:25px;text-decoration:none;font-weight:400;font-size:17px;transition:all .3s ease}.login-btn{color:#e0e0e0;border:1px solid #333}.login-btn:hover{color:#fff;border-color:#555}.signup-btn{background:#fff;color:#000;white-space:nowrap}.signup-btn:hover{background:#f0f0f0;transform:translateY(-1px)}img{display:block}canvas{height:100%;left:0;opacity:0;position:fixed;top:0;width:100%}a{color:#fff;outline:0;text-decoration:none}a:hover,a:focus{outline:0}.logo a:after,.logo a:before{display:none}header{display:block;position:fixed;z-index:11;width:100%;padding:20px;height:auto}.logo{float:left;position:relative; margin-left:12px;}.logo a img{width:120px}.nav-menu{grid-area:links;padding:0;margin:0;justify-self:end;white-space:nowrap}.nav-menu ul{list-style:none;float:right}.nav-menu ul li{display:inline-block;margin:0 20px 0 20px}.nav-menu ul li a{display:inline-block;font-size:15px;color:#fff;font-weight:500;position:relative;text-transform:uppercase}.nav-menu ul li a::after{content:'';position:absolute;width:0;height:2px;bottom:-5px;left:50%;background:#fff;transition:all .3s ease;transform:translateX(-50%)}.nav-menu ul li a:hover::after{width:100%}.sotto-menu{display:block;position:fixed;z-index:11;width:100%;padding:20px;height:auto;bottom:40px;left:0}.sotto-menu .nav-menu{float:left}
.collaborazione-architetto{position:fixed;bottom:40px;right:0;padding:20px;z-index:11;font-size:15px;color:#fff;font-weight:500;text-transform:uppercase}body.body_theme_light .nav-menu ul li a{color:#000}body.body_theme_light .nav-menu ul li a::after{background:#000}
body.body_theme_light .collaborazione-architetto{color:#000}@keyframes grain{0{transform:translate(20%,-15%)}10%{transform:translate(-20%,-15%)}20%{transform:translate(20%,-5%)}30%{transform:translate(-20%,-5%)}40%{transform:translate(20%,5%)}50%{transform:translate(-20%,5%)}60%{transform:translate(20%,15%)}70%{transform:translate(-20%,15%)}80%{transform:translate(20%,5%)}90%{transform:translate(-20%,5%)}100%{transform:translate(20%,-5%)}}a{display:inline-block}.contenuto-home{height:100%;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:1}.home-header{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:11;pointer-events:none}.page-header{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:relative;top:0;width:100%;z-index:2}.loaded .home-header{opacity:1;transition:opacity .4s ease}.home.titolo-pagina{font-size:9vw;font-weight:500;font-family:"neue-haas-grotesk-display",sans-serif;position:relative;text-transform:uppercase}.scritte-footer span.c{position:relative}.titolo-pagina span{font-family:"ivypresto-display",serif;font-weight:100}.titolo-pagina span.red{font-family:"neue-haas-grotesk-display",sans-serif;color:red;font-weight:800}.page-header .titolo-pagina{font-size:7vw;font-weight:800;line-height:6vw;padding:0 50px}.ruggeri__description{font-size:2rem;margin-top:-1rem;opacity:.75}.ruggeri__gallery{height:295rem;position:relative;visibility:hidden}.ruggeri__gallery__figure{position:absolute}.ruggeri__gallery__figure:nth-child(1){height:30rem;width:60rem}.ruggeri__gallery__figure:nth-child(2){height:50rem;left:85rem;top:30rem;width:40rem}.ruggeri__gallery__figure:nth-child(3){height:40rem;left:15rem;top:60rem;width:50rem}.ruggeri__gallery__figure:nth-child(4){height:30rem;right:0;top:10rem;width:50rem}.ruggeri__gallery__figure:nth-child(5){height:60rem;right:15rem;top:55rem;width:40rem}.ruggeri__gallery__figure:nth-child(6){height:65rem;left:5rem;top:120rem;width:47.5rem}.ruggeri__gallery__figure:nth-child(7){height:60rem;right:0;top:130rem;width:40rem}.ruggeri__gallery__figure:nth-child(8){height:40rem;left:85rem;top:95rem;width:30rem}.ruggeri__gallery__figure:nth-child(9){height:55rem;left:75rem;top:155rem;width:40rem}.ruggeri__gallery__figure:nth-child(10){height:33rem;right:0;top:215rem;width:20rem}.ruggeri__gallery__figure:nth-child(11){height:40rem;left:70rem;top:235rem;width:70rem}.ruggeri__gallery__figure:nth-child(12){left:0;top:210rem;height:60rem;width:40rem}.ruggeri__gallery__image{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.dash-cards{display:grid;grid-template-columns:repeat(1,1fr);grid-gap:1.5rem 2rem;padding-bottom:1.5rem}@media(min-width:40em){.dash-cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:64em){.dash-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}canvas{z-index:10}section{width:100%;padding-left:20px;padding-right:20px;clear:both;position:relative}section.none{padding-left:0;padding-right:0}p{font-size:20px;font-weight:normal}.step-preforma{width:700px;height:auto;margin-left:60%;border:red solid 1px;margin-top:10%;margin-bottom:4%}.titolo-pagina{margin-top:25%;margin-bottom:10%}.home-header .titolo-pagina{margin-top:8%}.linea{position:relative;width:100%;height:0;border-top:1px solid #434343;margin:30px 0 0 0;clear:both}.container{display:flex;justify-content:center;align-items:center;height:100vh;position:relative;overflow:hidden}.testa-immagine{opacity:0;height:80vh;width:60%;margin:auto;background-position:center center;background-size:cover;background-reapeat:no-repeat}.padding-100{padding-top:200px}.grid{grid-area:main;display:grid;width:100%;height:100%;grid-template-columns:repeat(8,1fr);grid-template-rows:1fr 1fr 1fr}.grid--spaced{gap:var(--grid-gap)}.grid--zoomed{gap:2rem;grid-template-columns:repeat(3,70%);grid-template-rows:repeat(3,60%);justify-content:center;align-content:center;aspect-ratio:2 / 1}.grid--zoomed .grid__img{width:100%;height:100%}.grid--columns{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(2,min-content);align-content:center}.grid--single{height:auto;justify-self:center}.grid--column{grid-template-columns:repeat(15,calc((100% - 14 * 10px) / 15));gap:10px;grid-template-rows:auto}.grid__img:has(.grid__img-inner){position:relative;overflow:hidden;display:grid;place-items:center;max-height:100%;min-width:100%}.grid__img .grid__img-inner{width:100%;height:100%;background-size:cover;background-position:50% 50%;will-change:transform}.ar-wide{aspect-ratio:4/3}.ar-narrow{aspect-ratio:2/3}.ar-rect{aspect-ratio:1}.span-2{grid-column:auto / span 2}.span-3{grid-column:auto / span 3}.grid--small{grid-template-columns:repeat(9,1fr);grid-auto-rows:1fr}.grid--tiny{height:60vh;grid-template-columns:repeat(14,1fr);grid-auto-rows:auto}.grid--wide{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.pos-1{grid-area:1 / 1}.pos-2{grid-area:1 / 3}.pos-3{grid-area:1 / 4}.pos-4{grid-area:1 / 5}.pos-5{grid-area:1 / 7}.pos-6{grid-area:2 / 1}.pos-7{grid-area:2 / 3}.pos-8{grid-area:2 / 4}.pos-9{grid-area:2 / 6}.pos-10{grid-area:2 / 7}.pos-11{grid-area:2 / 8}.pos-12{grid-area:3 / 1}.pos-13{grid-area:3 / 2}.pos-14{grid-area:3 / 4}.pos-15{grid-area:3 / 5}.pos-16{grid-area:3 / 7}.pos-17{grid-area:3 / 8}.pos-18{grid-area:2 / 5}.grid__img{background-size:cover;background-position:50% 50%;pointer-events:none;will-change:transform;transform:translateZ(0.1px)}.grid--columns .grid__img{height:min-content;aspect-ratio:2 / 3}.prefazione{width:650px;position:absolute;right:20%;top:30%;font-size:25px;font-weight:200;letter-spacing:1px}.prefazione .line{margin-top:10px}.content__text{font-size:30px;max-width:625px;line-height:1.4;margin:.5rem 0;font-weight:400;margin-left:30%;margin-bottom:-1000px}.plus-spazio{position:absolute;bottom:68px;margin-left:10px;font-size:24px;max-width:625px;line-height:1.4;margin-left:40%;color:#c0bcb9}.content{position:relative;min-height:60dvh;align-content:center}.scritte-generiche{opacity:0;filter:blur(10px);transition:none}.header{position:relative;height:100vh;overflow:hidden;padding:0 20px 100px}.header-reveal{position:absolute;top:50%;left:50%;width:1400px;height:700px;max-width:90vw;max-height:65vh;background-size:cover;background-position:center;transform:translate(-50%,-50%) scale(0.4);transform-origin:center center;will-change:transform}.image-item{width:200px;height:300px;object-fit:cover;position:absolute;opacity:0;pointer-events:none;border-radius:3px;transform-origin:center}.image-gallery{display:none}.side-scroll{position:relative;width:100%;overflow:hidden;height:1000px}.side-scroll-list-wrapper{display:flex;overflow:hidden;width:100%}.side-scroll-list{display:flex;white-space:nowrap}.alto-inverso{margin-top:14%;margin-bottom:-600px}.side-scroll-list>div{margin:20px}.side-scroll-list>div:first-child{margin-left:10%}.side-scroll{position:relative;overflow:hidden}.side-scroll-fade-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:inherit;opacity:0;backdrop-filter:blur(10px);pointer-events:none;z-index:10}.reverse-text{white-space:nowrap;left:-100%;transform:translateY(-50%);font-size:80px;opacity:.8}.colore-red{color:red}.type-tiny{margin-top:30px;font-size:32px;font-weight:300}.button_reference.fix-bottom-left{position:fixed;bottom:.5rem;left:.5rem}.code_js,.code_css{display:none}.hero_container{justify-content:space-between;align-items:flex-end;height:100vh;display:flex;position:relative}.color-0{color:#cde5df}.work_item{background-color:#000;align-items:stretch;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.work_video-wrapper{z-index:1;grid-column-gap:2.5vw;grid-row-gap:2.5vw;justify-content:center;align-items:center;display:flex;position:relative}.work-text-subtitle{grid-column-gap:.5vw;grid-row-gap:.5vw;color:#fff;text-transform:uppercase;flex-flow:column;padding-bottom:.5vw;padding-right:1vw;font-family:"neue-haas-grotesk-display",sans-serif;display:flex}.work_video{object-fit:cover;width:100%;height:400px;display:block;position:relative;overflow:hidden;background-size:cover;background-position:center}.work_video>video{background-size:cover;background-position:50% 50%;position:absolute;margin:auto;width:100%;height:100%;right:-100%;bottom:-100%;top:-100%;left:-100%;object-fit:cover;z-index:-100}.work_video-container{aspect-ratio:16 / 9;flex:1 0 auto}.work_item-wrapper{grid-column-gap:16px;grid-row-gap:16px;flex-flow:column;grid-template-rows:auto;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;grid-auto-columns:1fr;justify-content:space-around;align-items:stretch;width:100%;padding:2vw 4vw;display:flex;position:relative}.work_text{justify-content:space-between;align-items:flex-end;width:100%;padding-top:0vw;display:flex;position:relative;margin-bottom:3vw}.footer_image-wrapper{width:100%;height:100%;position:absolute}.hero_image{opacity:.6;object-fit:cover;width:100%;height:100%}.hero_text{color:#fff;text-transform:none;flex:1;justify-content:flex-start;align-items:center;padding-bottom:12vw;padding-left:4vw;padding-right:4vw;font-family:"neue-haas-grotesk-display",sans-serif;font-size:10vw;font-weight:800;line-height:.9;display:flex;position:relative}.work_image{opacity:.75;object-fit:cover;width:100%;height:100%;position:relative}.color-3{color:#e2ffe2}.work_image-wrapper{width:100%;height:100%;position:absolute}.work_text-title{color:#fff;text-transform:none;flex-flow:column;font-family:"neue-haas-grotesk-display",sans-serif;font-size:2vw;font-weight:500;line-height:1;display:flex;position:relative}.sticky{position:sticky}.nav_link{color:#fff;font-size:1.25rem;text-decoration:none;overflow:hidden}.nav_top{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.nav_top-line{width:calc(100% - 2rem);height:1px;position:absolute;inset:auto 0 0 50%;transform:translate(-50%)}.line{will-change:transform;line-height:1.2}.line-wrapper{overflow:hidden}.work_item-overlay{z-index:2;pointer-events:none;background-color:#000;display:none;position:absolute;inset:0}.footer_section{z-index:1;background-color:#000;position:relative}.footer_image{opacity:.6;object-fit:cover;width:100%;height:100%}.color-2{color:#bdd9ff}.color-1{color:#ffd9b3}.footer_container{justify-content:space-between;align-items:flex-end;height:100vh;display:flex;position:relative}.footer_text{color:#fff;text-transform:uppercase;flex:1;justify-content:flex-start;align-items:center;padding-bottom:8vw;padding-left:4vw;padding-right:4vw;font-size:12.5vw;font-weight:500;line-height:.9;display:flex;position:relative}.footer-secondo{margin-bottom:9vw}.footer-secondo p{font-size:inherit;line-height:inherit;margin:0}.section-bg-video{width:311px;opacity:.2;margin-right:33px}.get-in{font-size:10vw;font-weight:800;text-transform:none;white-space:nowrap}
@media(max-width:1024px){.footer_text .get-in{font-size:clamp(32px,7vw,10vw)}}.logo-ruggeri.grande{width:68.7vw}main{overflow-x:hidden}.toggle-switch{position:relative;width:50px;height:27px;border-radius:3.125rem;background-color:hsl(230,22%,74%);overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:0 6px;transition:background-color 250ms ease-in-out}.toggle-switch__icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#888;transition:opacity 200ms ease-in-out;z-index:1}.toggle-switch__icon--sun{opacity:0}.toggle-switch__check{position:absolute;inset:0;opacity:0;z-index:3;cursor:pointer}.toggle-switch__circle{position:absolute;top:50%;left:25%;transform:translate(-50%,-50%);width:1.5625rem;height:1.5625rem;border-radius:50%;background-color:var(--clr-theme-pattern,#fff);transition:left 200ms ease-in-out;z-index:2}.toggle-switch__check:checked ~ .toggle-switch__circle{left:74%}.toggle-switch__check:checked ~ .toggle-switch__icon--moon{opacity:0}.toggle-switch__check:checked ~ .toggle-switch__icon--sun{opacity:1;color:#facc15}.hero_text span.red{color:red;font-weight:800}.hero_text span.corsivo{font-family:"ivypresto-display",serif;font-weight:100}.corsivo{font-family:"ivypresto-display",serif;font-weight:100}.work_text-title.posizione-bassa{width:100%;max-width:1000px;margin:0 auto;position:relative;top:-260px}.work_text-title.posizione-bassa .line.piccolo{line-height:24px !important}.descrizione{font-size:22px !important}
/* Glossy Circle Button */
.glossy-circle-btn { width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,0.2); background:rgba(255,255,255,0.05); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .3s,border-color .3s; }
.glossy-circle-btn:hover { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.35); }
.glossy-circle-btn__icon { width:18px; height:18px; display:block; }

/* Galleria button — Desktop */
.galleria-btn { position:fixed; z-index:99999; bottom:160px; right:40px; }
.galleria-btn .glossy-circle-btn__icon { width:30px !important; height:30px !important; object-fit:contain; }

/* Nav arrows */
.nav-arrow { width:34px; height:auto; display:inline-block; vertical-align:middle; }
.nav-arrow--right { transform:scaleX(-1); }

/* Menu icon swap */
.mobile-menu-toggle .close-icon { display:none; }
.mobile-menu-toggle.is-active .menu-icon { display:none; }
.mobile-menu-toggle.is-active .close-icon { display:block; }
.overlay-bg{position:fixed;inset:0;background:rgba(0,0,0,0.4);backdrop-filter:blur(3px);opacity:0;display:none;z-index:999}.mega-menu{display:none;flex-direction:column;position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;z-index:1000;background:rgba(255,255,255,0.98);border-radius:0 0 24px 24px;box-shadow:0 10px 40px rgba(0,0,0,0.15);overflow-y:auto;padding:2rem;opacity:1}.menu-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;margin-bottom:0;width:100%;padding:5vw 2rem 3vw}.menu-header h2{font-size:24px;margin:0;color:red}.menu-header p{color:#fff;font-size:16px;font-weight:500;line-height:30px}.menu-actions{display:flex;gap:1rem;align-items:center}.menu-categories button{background:#f3f3f3;border:0;border-radius:20px;padding:12px 12px;cursor:pointer;font-weight:500;font-size:16px}.menu-categories button.active{background:#000;color:#fff}.close-btn{background:white;border:1px solid #ddd;padding:6px 10px;border-radius:6px;cursor:pointer}
.menu-item_ruggeri h3{font-size:15px;margin:12px 0 0 0;color:rgba(255,255,255,0.7);font-weight:400;font-family:"neue-haas-grotesk-display",sans-serif}
.mega-menu {z-index: 99999;}
#closeMenu{background:transparent;border:1.5px solid rgba(255,255,255,0.35);border-radius:50%;width:38px;height:38px;padding:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.5);font-size:14px;cursor:pointer;transition:border-color .3s,color .3s;position:fixed;right:30px;top:30px;z-index:100000}#closeMenu:hover{border-color:rgba(255,255,255,0.7);color:rgba(255,255,255,0.85)}
.menu-item_ruggeri p{font-size:.85rem;color:#fff;flex-grow:1}
.menu-item_ruggeri a{font-size:16px;font-weight:600;color:#fff;text-decoration:underline;margin-top:.8rem;align-self:flex-end}
.menu-ruggeri{width:40px;height:40px;display:inline-block}
main.menu-grid{display:flex;gap:4.5rem;padding:0 3rem;width:100%;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;margin-bottom:8vh}main.menu-grid::-webkit-scrollbar{display:none}#megaMenu{display:none;flex-direction:column;overflow:hidden;white-space:normal;gap:0;padding:0;background:#151515;justify-content:flex-start;align-items:center;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;transform:none;border-radius:0;box-shadow:none}#megaMenu::-webkit-scrollbar{display:none}

.menu-item_ruggeri {display:block;flex:0 0 30vw;
	background:transparent;
	opacity:0;transform:translateY(30px);
	margin:0;white-space:normal}

.menu-item_ruggeri img {width:100%;height:22vw;object-fit:cover;display:block;border-radius:0}.menu-categories button{background:transparent;border:0;border-radius:20px;padding:12px 27px;cursor:pointer;font-weight:500;font-size:16px;position:absolute;right:20px;top:30px}.menu-header h2{font-size:6vw;margin:0;color:#ffd9b3;font-weight:300;font-family:"ivypresto-display",serif;line-height:1}.menu-header p{font-size:1.3rem;letter-spacing:.4em;text-transform:uppercase;font-weight:300;opacity:.7}.mobile-menu-toggle{display:none}

/* === MEGA MENU MOBILE (classe aggiunta da JS) === */
#megaMenu.mega-menu--mobile {
  display:block !important;
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:100vw !important;
  height:100vh !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch;
  background:#1a1a1a !important;
  z-index:99999 !important;
  transform:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  white-space:normal !important;
}
#megaMenu.mega-menu--mobile .menu-header {
  display:block !important;
  text-align:center;
  padding:15vw 20px 4vw 20px;
  width:100% !important;
  box-sizing:border-box !important;
}
#megaMenu.mega-menu--mobile main.menu-grid {
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  width:100% !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  gap:0 !important;
}
#megaMenu.mega-menu--mobile .menu-item_ruggeri {
  display:block !important;
  width:auto !important;
  flex:none !important;
  margin:0 20px 2.5rem 20px !important;
  white-space:normal !important;
  box-sizing:border-box !important;
}
#megaMenu.mega-menu--mobile .menu-item_ruggeri img {
  width:100% !important;
  max-width:100% !important;
  display:block !important;
  aspect-ratio:auto !important;
  border-radius:0 !important;
  height:auto !important;
}
#megaMenu.mega-menu--mobile .menu-item_ruggeri h3 {
  font-size:17px !important;
  margin:8px 0 0 0 !important;
  color:rgba(255,255,255,0.7) !important;
}

/* === MOBILE MENU OVERLAY === */
.mobile-menu-container{position:fixed !important;top:0 !important;left:0 !important;width:100vw !important;height:100vh !important;z-index:9999;background:rgba(10,10,10,0.95);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:none !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;-webkit-transition:opacity .4s ease,visibility .4s ease;overflow:hidden !important}
.mobile-menu-container.active{opacity:1 !important;visibility:visible !important}
.mobile-nav-links{list-style:none !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;height:100vh !important;gap:20px !important;text-align:center;padding:0 !important;margin:0 !important}
.mobile-nav-links li.menu-item{height:auto !important;min-height:0 !important;margin:0 !important;padding:0 !important;flex:none !important;border:none !important;box-shadow:none !important;text-align:center;width:100%}
.mobile-nav-links li.menu-item a{text-decoration:none !important;font-family:"ivypresto-display",serif !important;font-size:36px !important;font-weight:400;font-style:italic !important;text-transform:none !important;letter-spacing:0;color:#fff !important;display:block !important;line-height:1.2 !important;border:none !important;padding:0 !important;margin:0 !important}
.mobile-menu-container .mobile-nav-links li.menu-item.menu-item-object-progetti a{font-family:"ivypresto-display",serif !important;font-size:36px !important;font-style:italic !important;font-weight:400;text-transform:none !important;letter-spacing:0;color:#fff !important;line-height:1.2 !important}
.mobile-contatti-btn{margin-top:30px !important;text-align:center;padding:0 !important}
.mobile-contatti-btn .signup-btn{display:inline-block !important;background:#fff !important;color:#000 !important;padding:12px 30px !important;border-radius:30px !important;font-size:14px !important;text-transform:uppercase !important;letter-spacing:1px !important;font-family:"neue-haas-grotesk-display",sans-serif;font-weight:600}
/* === HAMBURGER TOGGLE === */
.mobile-menu-toggle{cursor:pointer}
.hamburger-line{display:block;width:24px;height:2px;background:#fff;transition:all .3s ease}
.mobile-menu-toggle.is-active .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}
.mobile-menu-toggle.is-active .hamburger-line:nth-child(2){opacity:0}
.mobile-menu-toggle.is-active .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}


	main.menu-grid  {-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#f00 transparent;padding-bottom:20px} 
	main.menu-grid::-webkit-scrollbar{height:4px} 
	main.menu-grid::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0.4);border-radius:10px} 
  main.menu-grid::-webkit-scrollbar-track{background:transparent}
.fre {width:30px; height:auto;}

.pro-link span {position:relative; top:-9px; display:inline-block;}
a {transition: all 0.8s ease; -o-transition: all 0.8s ease; -maz-transition: all 0.8s ease; -webkit-transition: all 0.8s ease;}
.menu {height:100vh; overflow: hidden;cursor: -webkit-grab;cursor: grab;}
.menu.is-dragging {cursor: -webkit-grabbing; cursor: grabbing;}
.menu ul {counter-reset: count; }
.menu ul li  {list-style:none;margin-top:0px!important; }
.menu--item {counter-increment: count; position: absolute; z-index:10;top: 0;left: 0;width: 100%;font-size:5Bunvw; line-height:3vw;padding:0px;text-align: center;}
.titolo-referes  {font-weight: 800;}
.titolo-referes span {font-weight: 100;}
.titolo-referes span.red {font-family: "neue-haas-grotesk-display", sans-serif;color: red;font-weight: 500;display:inline-block;margin:10px 0;}
.interne {opacity:0.1}
.data-luogo {display:inline-block;font-size:18px; }
.data-luogo em {display:inline-block; font-size: 16px; opacity:0.6; font-style: normal;}
.testo-giro {fill:#ffd9b3}
body.body_theme_light .menu--item a {color:#000;}
body.body_theme_light .testo-giro {fill:#674624} 
body.body_theme_light .menu--item a:hover {color:#674624}
#logo-ruggeri {width:100px; height:auto;}
.st0 {fill: #fe0401;}
body.body_theme_light .st1 {fill: #010001;}
.st1 {fill: #fff;}
.menu--item a {text-decoration: none;position: relative;z-index: 1;display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;font-size:2vw;
  -webkit-appearance: none;background: none;padding: 0;border: none;outline: none;box-shadow: none;color: #ffd9b3;cursor: pointer; }
.menu--item  {font-size:1.5vw;}
.menu--item .titolo-pro {font-size:2vw;}


.menu--item a:hover {color:#ffd9b3}
.freccia-bg {width:15px; height:15px; background-repeat:no-repeat; background-position:center;visibility: hidden;background-size: contain; display:inline-block; transform: rotate(90deg);background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11.352' height='11.352' viewBox='0 0 11.352 11.352'><g transform='translate(-4.939 -4.939)'><path d='M8,6h7.692v7.692' transform='translate(-0.462)' fill='none' stroke='%23ffd9b3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/><path d='M6,15.23,15.23,6' fill='none' stroke='%23ffd9b3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/></g></svg>");}
.menu--item a:hover .freccia-bg {visibility:visible;}
body.body_theme_light .freccia-bg {background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11.352' height='11.352' viewBox='0 0 11.352 11.352'><g transform='translate(-4.939 -4.939)'><path d='M8,6h7.692v7.692' transform='translate(-0.462)' fill='none' stroke='%23674624' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/><path d='M6,15.23,15.23,6' fill='none' stroke='%23674624' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/></g></svg>");}
.iub-legal-link {color:inherit; text-decoration:none; background:none;}
.iub-legal-link:hover {opacity:0.7;}
body.iub-modal-open {cursor:auto;}
body.iub-modal-open .cursor {display:none !important;}
body.body_theme_light .line {color:#000}
body.body_theme_light .card h2 {color:red;}
body.body_theme_light .color-0 {color: #fe0502;}
body.body_theme_light .glossy-circle-btn { border-color:rgba(0,0,0,0.15); background:rgba(0,0,0,0.05); }
body.body_theme_light .nav-arrow { filter:invert(1); }
body.body_theme_light .glossy-circle-btn__icon { filter:invert(1); }
body.body_theme_light .close-icon { stroke:#000; }
body.body_theme_light .pro-link { color:rgba(0,0,0,0.5) !important; }
/* rimosso border-bottom mobile-nav-links — gestito nel blocco overlay */


/* === Footer testo su riga dedicata sotto i 1600px === */
@media (max-width: 1600px) {
  .footer_container {flex-wrap:wrap;}
  .footer-secondo {width:100%; position:relative; bottom:auto; padding:0 4vw 4vw; font-size:13px; font-style:normal; line-height:1.6;}
}

/* === PREV/NEXT Desktop alignment === */
@media (min-width: 992px) {
  .navbar-sinistra .pro-link,
  .navbar-destra .pro-link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px;
  }
  .navbar-sinistra .pro-link span,
  .navbar-destra .pro-link span {
    margin: 0 !important;
    line-height: 1 !important;
    padding: 0 !important;
    position: static !important;
    top: auto !important;
  }
}

/* ===============================
MOBILE & RESPONSIVE
=============================== */

@media (max-width: 1200px) {
	.ruggeri__gallery__figure:nth-child(1) {
		height: 60rem;
		width: 100rem
	}
	.ruggeri__gallery__figure:nth-child(2) {
		height: 110rem;
		left: auto;
		right: 0;
		top: 25rem;
		width: 70rem
	}

	.ruggeri__gallery__figure:nth-child(3) {
		height: 80rem;
		left: 12rem;
		top: 80rem;
		width: 89rem
	}

	.ruggeri__gallery__figure:nth-child(4) {
		height: 60rem;
		right: 0;
		top: 153rem;
		width: 60rem
	}
	.ruggeri__gallery__figure:nth-child(5) {
		height: 110rem;
		left: 0;
		right: auto;
		top: 180rem;
		width: 70rem
	}
	.ruggeri__gallery__figure:nth-child(6) {
		height: 135rem;
		left: 95rem;
		top: 230rem;
		width: 87.5rem
	}
	.ruggeri__gallery__figure:nth-child(7) {
		height: 110rem;
		left: 0;
		right: auto;
		top: 310rem;
		width: 80rem
	}
	.ruggeri__gallery__figure:nth-child(8) {
		height: 50rem;
		left: auto;
		right: 0;
		top: 385rem;
		width: 80rem
	}
	.ruggeri__gallery__figure:nth-child(9) {
		height: 100rem;
		left: 110rem;
		top: 450rem;
		width: 70rem
	}
	.ruggeri__gallery__figure:nth-child(10) {
		height: 50rem;
		left: 20rem;
		right: auto;
		top: 440rem;
		width: 55rem
	}
	.ruggeri__gallery__figure:nth-child(11) {
		height: 70rem;
		left: auto;
		right: 0;
		top: 570rem;
		width: 70rem
	}
	.ruggeri__gallery__figure:nth-child(12) {
		left: 0;
		top: 515rem;
		height: 100rem;
		width: 90rem
	}
/* Fine */
}
@media (max-width: 1200px) {
	.ruggeri__gallery {height: 650rem}
/* Fine */
}

@media (max-width: 1024px) {
.logo a img {width: 80px;}
.prefazione {font-size: 21px;}
.reverse-text {font-size: 50px;}
.type-tiny {font-size: 20px;}
p {font-size: 16px;font-weight: normal;}
/* Fine */
}


@media (max-width: 820px) {
	
.work_section {height:auto !important;}
.work_item {position:relative !important;height:auto !important;clip-path:none !important;}
.work_image-wrapper {display:none !important;}
.work_item-wrapper {padding:0 !important;}
.work_item-overlay {display:none !important;}
.work_video-wrapper {display:block;position:relative;}
.work_video {width:100%;height:55vw;}
.work_video-container {margin-bottom:20px;}
.ghost_work-container {display:none !important;}
	
.sin-azienda p {font-size: 15px;line-height: 24px;}	
.contact-footer:before {width: 12px;height: 12px;right: -18px;}
body.single-progetti .page-header .titolo-pagina {line-height:11vw; padding: 0 26px;}
body.single-progetti .prefazione {width: 65%;position: absolute;right: 21%;top: 37%; font-size: 16px;font-weight: 200;letter-spacing: 1px;line-height: 25px;}
ul.menu--wrapper li {margin-top:50px!important;}
.nav-menu ul li {display:none;}
.nav-menu ul li:last-child {display:none;}
.none-mobile {display:none!important;}
.collaborazione-architetto {display:none!important;}
.titolo-pagina.scritta.press span {line-height: 41px;}
.menu--item  {font-size:27px; line-height:60px;}
.menu--item a,.menu--item .titolo-pro  {font-size:27px;}
.menu--item .data-luogo,.menu--item .data-luogo em {font-size:16px;}
.menu--item a .freccia-bg,.menu--item .data-luogo  {display:none}
.aniverasry {font-size: 24px;}
.content-press ul li a {display: block;font-size: 20px;margin-bottom: 9px;}
.page-header .titolo-pagina {font-size:10vw; line-height:10vw;}
.logo {margin-left: 0px;}
#logo-ruggeri {width: 65px;}
.alto-4 {padding-bottom: 100px;margin-top:100px;}
article p { font-size: 18px;line-height: 27px;margin-bottom: 20px;}
.images-stack {top:76%;left:50%;}
/* Gallery */
.menu-header {position:relative;top:auto;left:auto;padding:20vw 1.5rem 6vw;text-align:center;align-items:center}
.menu-categories {position:static;} .menu-categories button {right:auto;top:auto;position:static;}
#closeMenu{position:fixed !important;right:20px;top:20px;width:40px;height:40px;font-size:18px;z-index:100001}
.menu-header {padding:15vw 5vw 4vw;}
.menu-header h2 {font-size:13vw;}
.menu-item_ruggeri h3 {font-size:17px;margin:8px 0 0 0;}
.galleria-btn {right:auto !important;}
.menu-trigger:after {display:none !important;}
.cursor {display:none} 
.nav-center {display:none} 
.nav-menu ul li {margin: 0px 10px 0px 0px;}
.titolo-pagina {margin-top: 100%;margin-bottom: 7%;}
.linea {display:none}
.two-col {grid-template-columns: 1fr;}
.container { margin:0px; padding: 12px;}
.logo-ruggeri {width: 48vw;}
.page-header {height: 97vw;}
.page-header .titolo-pagina {line-height: 8vw;padding: 0 10px;}
.header-reveal {top: 38%;}
.header-reveal {max-width: 226vw;max-height: 100vh;background-position: 70% center;}
.alto-inverso {margin-top: -26%;margin-bottom: 0px;}
.reverse-text {font-size:35px;}
.header {background:transparent!important}
.grid--columns .grid__img {height: min-content;aspect-ratio: 2 / 2.3;margin-bottom: 25px;}
.grid {grid-area:main; display:block; width:100%;height:79%; grid-template-columns: 1fr;grid-template-rows: auto;margin-top:100px !important;margin: 0 auto;}
.header {padding-bottom: 0px !important;height: 600px !important;padding-top: 100px !important;}
.menu-item_ruggeri {
    display: inline-block;
    flex: 0 0 calc(33.333% - 1rem);
    width: 370px;
    height: 269px;
    background: #222;
    scroll-snap-align: start;
    opacity: 0;
    transform: translateX(-40px);
    margin: 0 20px 0 20px;
}

   

.logo a img {width: 60px;}
.images-stack {width:100px; height:150px;}
    /* === PREV/NEXT — Barra inferiore mobile === */
    .navbar-sinistra::before {
        display: none !important;
    }
    .navbar-sinistra, .navbar-destra {
        bottom: calc(55px + env(safe-area-inset-bottom, 0px)) !important;
        background: transparent !important;
        border-radius: 0 !important;
        padding: 0 !important;
        transform: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        border: none !important;
        box-shadow: none !important;
        width: auto !important;
        height: auto !important;
        display: flex !important;
        align-items: center !important;
        overflow: visible !important;
    }
    .navbar-sinistra {
        left: 15px !important;
        right: auto !important;
    }
    .navbar-destra {
        right: 15px !important;
        left: auto !important;
    }
    /* Reset interni */
    .navbar-sinistra .nav-links,
    .navbar-destra .nav-links {
        display: flex !important;
        align-items: center !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }
    .navbar-sinistra .nav-links li,
    .navbar-destra .nav-links li {
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
        border-right: none !important;
    }
    /* Mostra frecce SVG */
    .navbar-sinistra .nav-arrow,
    .navbar-destra .nav-arrow {
        display: inline-block !important;
        width: 24px !important;
        height: auto !important;
    }
    /* Stile link */
    .navbar-sinistra .pro-link,
    .navbar-destra .pro-link {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        color: #fff !important;
    }
    .navbar-sinistra .pro-link span,
    .navbar-destra .pro-link > span {
        font-size: 13px !important;
        font-weight: 600 !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
        color: #fff !important;
        font-family: "neue-haas-grotesk-display", sans-serif !important;
        position: static !important;
        line-height: normal !important;
        bottom: auto !important;
    }
    /* Rimuovi pseudo-elementi linee */
    .navbar-sinistra .pro-link::before,
    .navbar-sinistra .pro-link::after,
    .navbar-destra .pro-link::before,
    .navbar-destra .pro-link::after {
        display: none !important;
    }
    /* Galleria button centrato in basso */
    .galleria-btn {
        bottom: calc(50px + env(safe-area-inset-bottom, 0px)) !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
  
.content {min-height:40dvh;}
.type-tiny {font-size:43px; margin-bottom:7px;}
.footer_container {align-items: center;}
.logo-ruggeri.grande {width: 65.7vw;margin-bottom: 20px;}
.footer-secondo {position:absolute; bottom:120px; font-size:13px; margin-left:5px; font-style:italic; line-height:1.6;}
.footer-secondo p {font-size:inherit; line-height:inherit; margin:0;}
.footer-secondo a {color:#fff; text-decoration:none;}
.get-in {font-size:8vw;white-space:normal;word-break:break-word;}
.hero_text {padding-bottom:40vw;font-size: 15vw;}
.hero_text span.corsivo {font-size: 27vw;}
.work_text-title {font-size:4vw;}
.sticky {position: relative;z-index:10;background: #000;}
.work_text-title.posizione-bassa {display:none}
.card {padding: 3px;}
.card h2 {font-size:20px; }
.descrizione {font-size: 14px !important}

/* Menù */
    .navbar .auth-buttons{display:none}
    .navbar .nav-container{display:none}
    .navbar {
        left: auto;
        right: 20px;
        transform: none;
        padding: 0;
        top: 20px;
        bottom: auto;
        background: none;
        border: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        width: auto;
        border-radius: 0;
    }
    .mobile-menu-toggle {
        display: flex !important;
        justify-content: center;
        align-items: center;
        width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
        padding: 0 !important;
        cursor: pointer;
        z-index: 10000;
        position: relative;
        overflow: hidden;
    }
    /* Theme toggle dentro overlay */
    .mobile-theme-toggle {
        position: absolute;
        top: 25px;
        right: 25px;
    }
    .mobile-theme-toggle .theme-toggle {
        background: none;
        border: none;
        cursor: pointer;
        padding: 8px;
    }
    .mobile-theme-toggle .icon {
        width: 24px;
        height: 24px;
    }
/* Fine */
}



@media (max-width:680px) {
.mobile-none-tre .work_video-container:nth-child(n+4) {
    display: none;
}
.menu-ruggeri {width: 25px;height: 25px;}
#logo-ruggeri {width: 57px;}	
.logo {margin-left: 0px;padding:8px; background: rgba(26, 26, 26, 0.6);backdrop-filter: blur(10px);border-radius:5px;}	
body.body_theme_light .logo {background:rgb(230 230 230 / 60%);}
	
.navigation.post-navigation {
    margin-top:0px;
    margin-bottom: 200px;
    font-size: 13px;
    padding: 30px;
}	
body.body_theme_light .nav-previous a {color:#595959}
body.body_theme_light .footer_section a.ff {color:#111}
	
.navbar-sinistra, .navbar-destra {bottom: calc(50px + env(safe-area-inset-bottom, 0px)) !important; padding: 0 !important;}
.galleria-btn {bottom: calc(45px + env(safe-area-inset-bottom, 0px)) !important;}	
	
	
	
/* FINE */
}


/* ============================================
   SEZIONE AZIENDA — Layout Awwwards
   ============================================ */

.az-storytelling {
  width: 100%;
  background: #000;
  position: relative;
  z-index: 2;
  padding: 8vh 4vw 12vh;
}

.az-storytelling__block {
  max-width: 75%;
  margin-bottom: 18vh;
}

.az-storytelling__block:has(.az-text--sans) {
  max-width: 38%;
}

.az-storytelling__block:last-child {
  margin-bottom: 0;
}

.az-storytelling__block--left {
  margin-right: auto;
}

.az-storytelling__block--right {
  margin-left: auto;
}

/* SplitType: linee splittate */
.az-heading--serif .line {
  display: block;
  will-change: transform, opacity;
}

/* Heading principale (blocco 1): sans-serif bold, grande */
.az-heading--serif {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-size: clamp(30px, 3.2vw, 60px);
  line-height: 1.22;
  color: #fff;
  letter-spacing: -0.01em;
  margin: 0;
}

.az-heading--serif p {
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  letter-spacing: inherit;
  margin: 0;
}

/* Chiusura (blocco 4): stesso font, peso normale, size medio */
.az-heading--chiusura {
  font-weight: 400;
  font-size: clamp(24px, 2.8vw, 42px);
  line-height: 1.35;
  letter-spacing: -0.01em;
}

/* Paragrafi descrittivi (blocchi 2 e 3): piccoli */
.az-text--sans {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 400;
  font-size: clamp(13px, 2vw, 26px);
  line-height: 1.6;
  color: #fff;
  letter-spacing: 0.01em;
  margin: 0;
}

/* Light theme */
body.body_theme_light .az-storytelling { background: #fff; }
body.body_theme_light .az-heading--serif,
body.body_theme_light .az-heading--serif p { color: #000; }
body.body_theme_light .az-text--sans { color: #333; }


/* ============================================
   RESPONSIVE — Sezione Azienda
   ============================================ */

@media (max-width: 1024px) {
  .az-storytelling__block {
    max-width: 85%;
    margin-bottom: 12vh;
  }
  .az-storytelling__block:has(.az-text--sans) {
    max-width: 50%;
  }
  .az-heading--serif {
    font-size: clamp(26px, 4vw, 44px);
  }
}

@media (max-width: 820px) {
  .az-storytelling {
    padding: 8vh 20px 8vh;
  }
  .az-storytelling__block {
    max-width: 95%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 8vh;
  }
  .az-storytelling__block--right {
    margin-left: auto;
  }
  .az-heading--serif {
    font-size: clamp(24px, 6.5vw, 34px);
  }
  .az-heading--chiusura {
    font-size: clamp(16px, 4.5vw, 24px);
  }
  .az-text--sans {
    font-size: clamp(13px, 3.5vw, 18px);
  }
}


/* ============================================
   SEZIONE SERVIZI — Perché Scegliere Noi
   ============================================ */

.az-servizi {
  width: 100%;
  background: #000;
  position: relative;
  z-index: 2;
  padding: 12vh 4vw 16vh;
  overflow: visible;
}

.az-servizi__grid {
  display: flex;
  align-items: flex-start;
  gap: 4vw;
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
  overflow: visible;
}

/* Colonna sinistra: pinned via GSAP ScrollTrigger */
.az-servizi__left {
  width: 45%;
  flex-shrink: 0;
  padding-right: 2vw;
}

.az-servizi__titolo {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-size: clamp(28px, 3vw, 56px);
  line-height: 1.15;
  color: #fff;
  letter-spacing: -0.02em;
  margin: 0 0 3vh;
}

.az-servizi__desc {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 400;
  font-size: clamp(13px, 1.1vw, 18px);
  line-height: 1.65;
  color: rgba(255,255,255,0.65);
  margin: 0 0 4vh;
  max-width: 85%;
}

.az-servizi__highlight {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-size: clamp(14px, 1.2vw, 20px);
  line-height: 1.5;
  color: #fff;
  margin: 0;
}

/* Colonna destra: servizi */
.az-servizi__right {
  flex: 1;
  min-width: 0;
  padding-left: 2vw;
}

.az-servizi__item {
  border-top: 1px solid rgba(255,255,255,0.2);
  padding: 4vh 0;
}

.az-servizi__item:last-child {
  border-bottom: 1px solid rgba(255,255,255,0.2);
}

.az-servizi__item-head {
  display: flex;
  align-items: baseline;
  gap: 1.5vw;
  margin-bottom: 1.5vh;
}

.az-servizi__numero {
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: italic;
  font-size: clamp(28px, 2.8vw, 52px);
  line-height: 1;
  color: rgba(255,255,255,0.35);
  letter-spacing: -0.02em;
  flex-shrink: 0;
}

.az-servizi__item-titolo {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-size: clamp(18px, 1.6vw, 28px);
  line-height: 1.3;
  color: #fff;
  margin: 0;
}

.az-servizi__item-desc {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 400;
  font-size: clamp(13px, 1vw, 17px);
  line-height: 1.65;
  color: rgba(255,255,255,0.55);
  margin: 0;
  padding-left: calc(clamp(28px, 2.8vw, 52px) + 1.5vw);
}

/* Light theme */
body.body_theme_light .az-servizi { background: #fff; }
body.body_theme_light .az-servizi__titolo { color: #000; }
body.body_theme_light .az-servizi__desc { color: rgba(0,0,0,0.55); }
body.body_theme_light .az-servizi__highlight { color: #000; }
body.body_theme_light .az-servizi__item { border-color: rgba(0,0,0,0.15); }
body.body_theme_light .az-servizi__numero { color: rgba(0,0,0,0.25); }
body.body_theme_light .az-servizi__item-titolo { color: #000; }
body.body_theme_light .az-servizi__item-desc { color: rgba(0,0,0,0.5); }

/* ============================================
   RESPONSIVE — Sezione Servizi
   ============================================ */

@media (max-width: 1024px) {
  .az-servizi__grid {
    gap: 3vw;
  }
  .az-servizi__left {
    width: 42%;
  }
  .az-servizi__titolo {
    font-size: clamp(24px, 4vw, 40px);
  }
}

@media (max-width: 820px) {
  .az-servizi {
    padding: 8vh 20px 10vh;
  }
  .az-servizi__grid {
    flex-direction: column;
    gap: 6vh;
  }
  .az-servizi__left {
    width: 100%;
    padding-right: 0;
  }
  .az-servizi__right {
    padding-left: 0;
  }
  .az-servizi__desc {
    max-width: 100%;
  }
  .az-servizi__item-desc {
    padding-left: 0;
  }
}


/* ============================================
   PAGINA CONTATTI
   ============================================ */

.ct-contatti {
  width: 100%;
  min-height: 100vh;
  background: #000;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  padding: 20vh 4vw 10vh;
}

.ct-grid {
  display: flex;
  flex-direction: column;
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
}

/* Titolo: piena larghezza in alto */
.ct-left {
  width: 100%;
  margin-bottom: 6vh;
}

.ct-titolo {
  font-family: "ivypresto-display", serif;
  font-weight: 400;
  font-style: italic;
  font-size: clamp(32px, 3.5vw, 64px);
  line-height: 1.2;
  color: #fff;
  margin: 0;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

/* Blocchi dati: spostati a destra */
.ct-right {
  width: 55%;
  margin-left: auto;
}

/* Hairlines */
.ct-line {
  width: 100%;
  height: 1px;
  background: rgba(255,255,255,0.2);
}

/* Blocchi dati */
.ct-block {
  padding: 2.8vh 0;
}

.ct-label {
  display: block;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 400;
  font-size: clamp(11px, 0.85vw, 14px);
  line-height: 1.4;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.03em;
  margin-bottom: 1vh;
}

.ct-value {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 400;
  font-size: clamp(18px, 1.9vw, 34px);
  line-height: 1.25;
  color: #fff;
  margin: 0;
  letter-spacing: -0.01em;
}

.ct-value a {
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.ct-value a:hover {
  opacity: 0.6;
}

.ct-sep {
  color: rgba(255,255,255,0.35);
}

/* Light theme */
body.body_theme_light .ct-contatti { background: #fff; }
body.body_theme_light .ct-titolo { color: #000; }
body.body_theme_light .ct-value,
body.body_theme_light .ct-value a { color: #000; }
body.body_theme_light .ct-label { color: rgba(0,0,0,0.4); }
body.body_theme_light .ct-line { background: rgba(0,0,0,0.15); }
body.body_theme_light .ct-sep { color: rgba(0,0,0,0.3); }

/* ============================================
   RESPONSIVE — Pagina Contatti
   ============================================ */

@media (max-width: 1024px) {
  .ct-titolo {
    font-size: clamp(28px, 4.5vw, 48px);
  }
  .ct-right {
    width: 65%;
  }
  .ct-value {
    font-size: clamp(18px, 2.5vw, 30px);
  }
}

@media (max-width: 820px) {
  .ct-contatti {
    padding: 16vh 20px 8vh;
  }
  .ct-left {
    margin-bottom: 4vh;
  }
  .ct-right {
    width: 100%;
    margin-left: 0;
  }
  .ct-titolo {
    font-size: clamp(28px, 8vw, 40px);
    white-space: normal;
  }
  .ct-value {
    font-size: clamp(18px, 5vw, 28px);
  }
}

/* GDPR Page */
.gdpr-page {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 24px 80px;
  line-height: 1.7;
}
.gdpr-page h2 {
  font-size: clamp(20px, 3vw, 28px);
  margin-bottom: 32px;
  line-height: 1.3;
}
.gdpr-page p {
  font-size: clamp(14px, 1.5vw, 16px);
  margin-bottom: 16px;
}
.gdpr-page .gdpr-links {
  list-style: none;
  padding: 0;
  margin-top: 32px;
}
.gdpr-page .gdpr-links li {
  margin-bottom: 12px;
}
.gdpr-page .gdpr-links a {
  color: #ffd9b3;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity .3s;
}
.gdpr-page .gdpr-links a:hover {
  opacity: .7;
}
