/* Echo: galleria editoriale ispirata al riferimento Opera Prima. */
:root { --bg: #FFFFFF; --accent: #DEE8C4; --accent-soft: #DEE8C4; }
body { background: #fff; }
.site-nav, nav:not(.breadcrumb) { background: rgba(255,255,255,.97); border-bottom: 0; }
.nav-logo img, .footer-logo img { filter: grayscale(1); }
.nav-links a, .btn, .nav-cta { text-transform: none; letter-spacing: 0; font-weight: 400; }
.nav-links a { font-size: .92rem; }
.btn { border-color: #c0c7b5; border-radius: 0; }
.site-footer, body > footer { background: #D0C3C0; color: #252922; }
.site-footer a, .site-footer p, .site-footer address { color: #252922; }
.social-section { max-width: 1200px; margin: auto; padding: 60px 30px 80px; }
.social-heading { font-family: var(--font-serif, Georgia, serif); font-size: 1.35rem; font-weight: 400; margin-bottom: 24px; }
.social-intro { color: #565c52; max-width: 620px; margin-bottom: 25px; }
.social-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.social-filter { font: inherit; font-size: .85rem; background: white; color: #343a30; border: 1px solid #c0c7b5; padding: 9px 16px; cursor: pointer; }
.social-filter[aria-pressed="true"] { background: #DEE8C4; border-color: #aebd9c; }
.social-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.social-post { min-width: 0; }
.social-post[hidden] { display: none; }
.social-link { display: block; text-decoration: none; color: #252922; }
.social-media { aspect-ratio: 1; overflow: hidden; background: #DEE8C4; display: flex; flex-direction: column; justify-content: space-between; padding: 25px; }
.social-media:has(img) { padding: 0; background: #f4f5f1; }
.social-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.social-text { font-family: var(--font-serif, Georgia, serif); font-size: clamp(1.2rem,2vw,1.8rem); line-height: 1.3; font-weight: 400; }
.social-label { font-size: .8rem; line-height: 1.5; }
.social-caption { display: block; font-size: .8rem; padding: 10px 0 15px; line-height: 1.5; }
.social-caption strong { display: block; font-weight: 500; }
.social-summary { display: block; color: #5a6154; margin-top: 3px; }
.social-link:hover .social-caption strong { text-decoration: underline; }
.social-link:focus-visible, .social-filter:focus-visible { outline: 3px solid #586949; outline-offset: 4px; }
.social-profiles { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 28px; font-size: .85rem; }
.social-profiles a { color: #37432e; text-underline-offset: 4px; }
.social-page { padding-top: 95px; }
.social-page .social-heading { font-size: 1.8rem; }
.social-page-footer { padding: 32px 20px; text-align: center; display: block; font-size: .82rem; }
.social-page-footer a { color: inherit; }
.social-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media(max-width:900px) { .social-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:650px) {
 .social-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .social-section { padding: 40px 18px 50px; }
 .social-media { padding: 18px; }
 .social-text { font-size: 1.2rem; }
 .social-page { padding-top: 150px; }
 .social-page .site-nav { flex-wrap: wrap; justify-content: center; }
 .social-page .nav-links { gap: 15px; flex-wrap: wrap; justify-content: center; }
}
@media(max-width:360px) { .social-grid { grid-template-columns: 1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

.social-media img[src$="efn-archivio.png"] { filter: grayscale(1); object-fit: contain; }

.nav-logo img { width: 116px; height: 32px; filter: none; }
.footer-logo img { width: 95px; height: 26px; filter: none; }

@media(max-width:650px) {
 .site-nav, nav:not(.breadcrumb) { flex-wrap: wrap; padding: 12px 18px; gap: 10px; }
 .nav-links, .social-page .nav-links { display: flex; order: 3; width: 100%; gap: 10px 16px; flex-wrap: wrap; justify-content: center; }
 .nav-links a { font-size: .78rem; }
 .social-page { padding-top: 110px; }
 .social-page .social-section { padding-top: 30px; }
}

/* Media overview — Echo */
.echo-visual-home .hero{min-height:0;grid-template-columns:1fr 1.55fr;gap:48px;padding-top:48px;padding-bottom:38px;align-items:center}
.echo-visual-home .hero-title{font-size:clamp(40px,4.4vw,70px);line-height:1.06}
.echo-visual-home .hero-subtitle{font-size:16px;max-width:400px}
.echo-visual-home .hero-media{height:430px;margin:0}
.echo-visual-home .hero-media img{height:100%;width:100%;object-fit:cover}
.social-section{max-width:1400px;padding:68px 40px 86px;margin:auto}
.media-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#67775e;margin:0 0 22px}
.social-heading{font-size:clamp(32px,3.8vw,56px);font-weight:400;letter-spacing:-.045em;margin:0 0 20px;line-height:1.1}
.social-intro{max-width:650px;line-height:1.65;color:#6d6962;font-size:16px;margin-bottom:32px}
.social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 12px;align-items:start}
.social-post-wide{grid-column:span 2}
.social-media{height:310px;aspect-ratio:auto;background:#f2f0eb;padding:0;display:block;overflow:hidden}
.social-media img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .5s}
.social-link:hover img{transform:scale(1.025)}
.media-contain img{object-fit:contain}
.social-media video{width:100%;height:100%;object-fit:cover;display:block;background:#20221f}
.social-caption{padding:17px 3px 0;display:block;background:none;color:#24241f}
.media-author{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#77746b;margin-bottom:9px}
.social-caption h3{font-size:18px;line-height:1.25;font-weight:500;letter-spacing:-.025em;margin:0 0 8px;font-family:Inter,Arial,sans-serif}
.social-caption p{font-size:12px;line-height:1.6;margin:0;max-width:390px;color:#79776e}
.social-link{display:block;color:inherit;text-decoration:none}
.video-launch{position:relative;display:block;padding:0;border:0;border-radius:0;background:#252b25;width:100%;height:100%;cursor:pointer;color:white}
.video-launch img{object-fit:cover;filter:brightness(.8)}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.95);color:#2d392b;font-size:20px;padding-left:4px}
.video-call{position:absolute;bottom:24px;left:26px;font-size:12px;letter-spacing:.04em}
.video-launch:hover img{filter:brightness(.95)}
.video-frame iframe{width:100%;height:100%;display:block;border:0}
.video-parts{display:flex;gap:18px;margin:12px 3px 0;flex-wrap:wrap}
.video-parts a{font-size:11px;color:#596a4f;text-decoration:underline;text-underline-offset:4px}
.social-status{font-size:11px;color:#77746b;margin:15px 0 24px}
.social-filter{background:white;border-color:#d6dbce;padding:9px 16px;font-size:12px;color:#3d4636}
.social-filter[aria-pressed=true]{background:#dee8d5;color:#2d392b;border-color:#b9c6af}
.social-profiles{border-top:1px solid #e7e5df;padding-top:25px;margin-top:54px}
.social-post[hidden]{display:none!important}
.video-launch:focus-visible,.social-link:focus-visible,.social-filter:focus-visible{outline:3px solid #75846b;outline-offset:4px}
@media(max-width:1000px){.social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.social-media{height:290px}.echo-visual-home .hero{gap:24px}.echo-visual-home .hero-media{height:380px}}
@media(max-width:760px){.social-section{padding:44px 20px 60px}.social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 10px}.social-media{height:250px}.social-post-wide .social-media{height:280px}.echo-visual-home .hero{grid-template-columns:1fr;padding:32px 20px 10px;gap:26px}.echo-visual-home .hero-media{height:340px}.echo-visual-home .hero-title{font-size:48px}.social-caption h3{font-size:16px}.social-profiles{gap:16px}.social-heading{font-size:34px}}
@media(max-width:430px){.social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-media{height:220px}.social-post-wide .social-media{height:230px}.social-caption p{font-size:11px}.social-caption h3{font-size:15px}.social-filters{gap:6px}.social-filter{padding:9px 11px;font-size:11px}.echo-visual-home .hero-title{font-size:43px}}
@media(prefers-reduced-motion:reduce){.social-media img{transition:none}.social-link:hover img{transform:none}}

.video-launch[hidden]{display:none!important}

.echo-visual-home .hero{padding-top:120px}.social-caption h2{font-family:Inter,Arial,sans-serif;font-size:18px;font-weight:500;line-height:1.25;letter-spacing:-.025em;margin:0 0 8px}@media(max-width:760px){.echo-visual-home .hero{padding-top:180px}.social-caption h2{font-size:16px}}@media(max-width:430px){.echo-visual-home .hero{padding-top:200px}.social-caption h2{font-size:15px}}

.social-post-wide .social-media video{object-fit:contain}

@media(max-width:760px){.echo-visual-home .hero{padding-top:165px}.echo-visual-home .hero-media{order:-1}}

/* Galleria minuta: materiali e lavorazioni in primo piano. */
.social-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 12px}
.social-media{height:240px}
@media(max-width:760px){.social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-media{height:190px}}

/* Direzione visiva Echo: immagini monocrome e scritte verde tenue. */
:root{--echo-pastel-ink:#6f8568;--echo-pastel-soft:#dee8d5}
img{filter:grayscale(1)!important}
.hero-title,.social-heading,.social-caption h2,.social-caption h3,.media-author,.media-eyebrow,.hero-tag,.section-title,.section-kicker{color:var(--echo-pastel-ink)!important}
.social-caption p,.social-intro{color:var(--echo-pastel-ink)}
.social-filter{color:var(--echo-pastel-ink)}
.social-filter.active,.social-filter[aria-pressed="true"]{background:var(--echo-pastel-soft);color:#3d5038}

video,.video-frame iframe{filter:grayscale(1)}
main h1,main h2,main h3,main p,.echo-visual-home h1,.echo-visual-home h2,.echo-visual-home h3,.echo-visual-home p{color:var(--echo-pastel-ink)}
