/* Home-only photographic cover. Existing content and CMS image slots retained. */
.cover-note,.cover-portfolio-link {display:none}
.home-hero .cover-edge {position:absolute;top:calc(50% - 23px);z-index:4;display:grid;place-items:center;width:48px;height:64px;padding:0;border:0;border-radius:0;background:transparent;color:rgba(255,255,255,.78);cursor:pointer;transform:translateY(-50%);box-shadow:none;backdrop-filter:none}
.home-hero .cover-edge-previous {left:18px}
.home-hero .cover-edge-next {right:18px}
.home-hero .cover-edge svg {width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.28))}
.home-hero .cover-edge:hover {background:transparent;color:#fff}
.home-hero .cover-edge:focus-visible {outline:2px solid #fff;outline-offset:4px}
@media(max-width:760px) {
 .home-hero .cover-edge {width:44px;height:52px;background:transparent}
 .home-hero .cover-edge-previous {left:10px}
 .home-hero .cover-edge-next {right:10px}
}
@media(min-width:1001px) {
 body.home-immersive .home-hero .cover-edge {top:50%;width:52px;height:72px}
 body.home-immersive .home-hero .cover-edge-previous {left:2vw}
 body.home-immersive .home-hero .cover-edge-next {right:2vw}
}
.home-hero {padding:0 0 2rem;gap:0;min-height:0}
.home-hero .cover-frame {order:-1;position:relative;width:100%;background:#141614}
.home-hero .hero-collage {order:-1;display:flex;align-items:stretch;gap:0;width:100%;height:clamp(360px,calc(100svh - 240px),800px);margin:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;background:#141614}
.home-hero .hero-collage::-webkit-scrollbar {display:none}
.home-hero .hero-collage img {flex:0 0 100%;width:100%;min-width:100%;height:100%;max-height:none;margin:0;align-self:stretch;object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always;background:#141614}
.home-hero .hero-collage .hero-main {object-position:50% 58%}
.home-hero .hero-collage .hero-side.top {object-fit:cover;object-position:50% 12%}
.home-hero .hero-collage .hero-side.bottom {object-position:50% 50%;align-self:stretch;margin:0}
.cover-controls {position:absolute;bottom:20px;right:4vw;display:flex;align-items:center;gap:16px;color:white;background:rgba(16,19,17,.8);padding:2px 8px;z-index:2}
.cover-controls button {display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:inherit;cursor:pointer}
.cover-controls button:hover {color:#e0c486}
.cover-controls button:focus-visible {outline:2px solid white;outline-offset:-3px}
.cover-controls svg {width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4}
.cover-count {font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.14em;min-width:42px;text-align:center}
.home-hero .hero-copy {padding:1.8rem 4vw 0;column-gap:6vw;grid-template-columns:1fr 1fr}
.home-hero .hero-copy .eyebrow {font-size:.64rem;margin-bottom:.6rem}
html .home-hero.hero h1,html[data-language]:not([data-language="it"]) .home-hero.hero h1 {font-size:clamp(1.6rem,2.35vw,2.75rem);max-width:30ch;line-height:1.18}
.home-hero .hero-copy .hero-lead {font-size:.9rem;line-height:1.55;max-width:64ch}
.home-hero .hero-copy .button-row {margin-top:1rem;gap:.7rem}
.home-hero .hero-copy .button-row>a {min-height:44px;padding:0 1.15rem;font-size:.78rem}
.home-hero .hero-copy .signal-list {margin-top:1.25rem}
@media(min-width:761px) {
 .home-hero .hero-collage {height:clamp(430px,60svh,780px);background:#eeece7}
 .home-hero .hero-collage img,
 .home-hero .hero-collage .hero-side.top,
 .home-hero .hero-collage .hero-side.bottom {object-fit:cover;background:#eeece7}
 .home-hero .hero-copy {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:clamp(32px,5vw,80px);width:100%;max-width:1440px;margin:0 auto;padding:clamp(24px,2.2vw,36px) 4vw 8px;text-align:left}
 .home-hero .hero-copy .eyebrow {grid-column:1 / -1;grid-row:1;font-size:.7rem;margin-bottom:14px}
 html .home-hero.hero h1,html[data-language]:not([data-language="it"]) .home-hero.hero h1 {grid-column:1;grid-row:2 / 4;font-size:clamp(32px,3.1vw,48px);max-width:26ch;line-height:1.1;margin:0;letter-spacing:-.045em}
 .home-hero .hero-copy .hero-lead {grid-column:2;grid-row:2;font-size:clamp(16px,1.2vw,18px);line-height:1.55;color:#565950;max-width:52ch;margin:3px 0 0}
 .home-hero .hero-copy .button-row {grid-column:2;grid-row:3;justify-content:flex-start;margin-top:18px;gap:12px}
 .home-hero .hero-copy .button-row>a {font-size:1rem;min-height:48px;padding:0 24px}
 .home-hero .hero-copy .signal-list {grid-column:1 / -1;grid-row:4;justify-content:flex-start;font-size:.8rem;margin-top:22px}
}
@media(min-width:761px) and (max-width:1000px) {
 .home-hero .hero-copy {display:block}
 .home-hero .hero-copy .hero-lead {margin-top:16px}
}
@media(max-width:760px) {
 .home-hero .hero-collage {height:clamp(300px,54svh,560px)}
 .home-hero .hero-collage .hero-main {object-position:50% 55%}
 .home-hero .hero-collage .hero-side.top {object-position:55% 12%}
 .home-hero .hero-collage .hero-side.bottom {object-fit:cover;object-position:center}
 .cover-controls {bottom:12px;right:18px;gap:8px}
 .home-hero .hero-copy {padding:1.4rem 18px 0}
 html .home-hero.hero h1,html[data-language]:not([data-language="it"]) .home-hero.hero h1 {font-size:clamp(1.55rem,6.3vw,2.1rem);max-width:28ch}
 .home-hero .hero-copy .hero-lead {margin-top:.8rem}
 .home-hero .hero-copy .button-row>a {flex:0 0 auto;width:auto}
}

/* Full-viewport homepage cover; other pages retain their own layout. */
@media(min-width:0px) {
 body.home-immersive .site-header {position:fixed;inset:0 0 auto;z-index:100}
 body.home-immersive.cover-at-top:not(.nav-open) .site-header {background:transparent;border-bottom-color:transparent;color:#fff}
 body.home-immersive.cover-at-top:not(.nav-open) .brand,
 body.home-immersive.cover-at-top:not(.nav-open) .brand small,
 body.home-immersive.cover-at-top:not(.nav-open) .header-social a,
 body.home-immersive.cover-at-top:not(.nav-open) .language-trigger {color:#fff}
 body.home-immersive.cover-at-top:not(.nav-open) .language-trigger {border-color:rgba(255,255,255,.4)}
 body.home-immersive.cover-at-top:not(.nav-open) .nav-toggle span {background:#fff}
 body.home-immersive.cover-at-top:not(.nav-open) .reading-rule {opacity:0}
 body.home-immersive .home-hero .hero-collage {height:100vh;height:100svh;min-height:540px;max-height:none;background:#141614}
 body.home-immersive .home-hero .cover-frame::after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.57),transparent 24%,transparent 58%,rgba(0,0,0,.64));z-index:1}
 body.home-immersive .home-hero .cover-catalogue {position:absolute;left:4vw;bottom:48px;z-index:2;display:grid;justify-content:start;gap:12px;padding:0;border:0;background:none;color:#fff;max-width:calc(100% - 380px)}
 body.home-immersive .cover-note {display:block;font-size:10px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85)}
 body.home-immersive .cover-category {font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,2.5vw,40px);line-height:1.15;font-weight:400;text-transform:none;letter-spacing:-.015em;color:#fff}
 body.home-immersive .cover-segments {display:none}
 body.home-immersive .cover-portfolio-link {display:inline-flex;justify-self:start;align-items:center;min-height:44px;margin-top:2px;padding:0 0 3px;border-bottom:1px solid rgba(255,255,255,.65);color:white;font-size:12px;letter-spacing:.04em;text-decoration:none}
 body.home-immersive .cover-portfolio-link:hover {border-bottom-color:#e0c486;color:#e0c486}
 body.home-immersive .home-hero .cover-controls {right:4vw;bottom:48px;z-index:3;gap:10px;padding:0;border:0;background:none;color:#fff}
 body.home-immersive .cover-controls button {width:44px;height:44px}
 body.home-immersive .cover-count {font-size:10px;letter-spacing:.12em}
 body.home-immersive .cover-controls svg {width:21px;height:21px;stroke-width:1.2}
}
@media(max-width:1000px) {
 body.home-immersive .home-hero .hero-collage {height:100svh;min-height:0}
 body.home-immersive .home-hero .cover-catalogue {left:24px;right:24px;bottom:96px;max-width:none;gap:8px}
 body.home-immersive .cover-note {font-size:9px;letter-spacing:.1em;max-width:32ch}
 body.home-immersive .cover-category {font-size:clamp(25px,6.5vw,34px);max-width:22ch;line-height:1.15}
 body.home-immersive .cover-portfolio-link {font-size:12px;min-height:44px}
 body.home-immersive .home-hero .cover-controls {bottom:20px;right:18px;gap:8px}
 body.home-immersive .home-hero .cover-edge {top:45%;width:44px;height:52px}
 body.home-immersive .home-hero .hero-collage .hero-main {object-position:73% 50%}
 body.home-immersive .home-hero .hero-collage .hero-side.top {object-position:55% 50%}
 body.home-immersive .home-hero .hero-collage .hero-side.bottom {object-position:50% 50%}
 body.home-immersive .home-hero .hero-collage .hero-side.bottom.hero-hospitality {object-fit:cover;object-position:18% 50%}
 body.home-immersive .home-hero .hero-collage .hero-chef {object-position:45% 50%}
 body.home-immersive .home-hero .cover-frame::after {background:linear-gradient(180deg,rgba(0,0,0,.58),transparent 23%,transparent 54%,rgba(0,0,0,.7))}
 body.home-immersive.cover-in-view .mobile-contact {display:none}
 body.home-immersive.nav-open .mobile-contact {display:none}
}
@media(max-width:360px) {
 body.home-immersive .home-hero .cover-catalogue {left:18px;right:18px;bottom:88px}
 body.home-immersive .cover-category {font-size:25px}
}
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape) {
 body.home-immersive .home-hero .cover-catalogue {bottom:24px;right:250px;gap:4px}
 body.home-immersive .cover-note {font-size:8px}
 body.home-immersive .cover-category {font-size:24px}
}
@media(min-width:1181px) {
 body.home-immersive.cover-at-top:not(.nav-open) .primary-nav>a {color:#fff}
 body.home-immersive.cover-at-top:not(.nav-open) .primary-nav .nav-cta {background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff}
}
