/* Archive preview: expose copy normally animated by the original theme. */
.hero__title,.hero__subtitle,.hero__btn,.hero__description{opacity:1!important}
.hero{isolation:isolate;pointer-events:auto}
.hero:not(.hero--map)>.hero__bg{display:block!important;z-index:0}
.hero:not(.hero--map)>.hero__content{position:relative;z-index:10}
.hero:not(.hero--map)>.hero__bg>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.content--page,.content--portfolio-archive{position:relative;z-index:6;background:#fff}
.content--portfolio-archive{padding-top:3rem;padding-bottom:4rem}
.content--portfolio-archive .project{opacity:1!important;visibility:visible!important}
.filter,.filter__tags-container{opacity:1!important;pointer-events:auto!important}
.content--portfolio-archive .infinite_scroll.masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.25rem;height:auto!important}
.content--portfolio-archive .infinite_scroll .masonry__item{position:relative!important;top:auto!important;left:auto!important;width:auto!important;transform:none!important;margin:0!important}
.content--portfolio-archive .project[hidden]{display:none!important}
@media(max-width:900px){.content--portfolio-archive .infinite_scroll.masonry{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.content--portfolio-archive .infinite_scroll.masonry{grid-template-columns:1fr}}
.hero--map{background:#2a2928!important;min-height:280px}
.hero--map .hero__bg-map{display:none}
.preview-map-fallback{position:relative;z-index:2;min-height:280px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font:300 1.4rem/1.7 Lato,Arial,sans-serif;letter-spacing:.025em;padding:3rem}
.preview-map-fallback div:before{content:"";display:block;width:34px;height:2px;background:#d49000;margin:0 auto 1.5rem}
.hero:has(.preview-missing-image){background:#343331}
.hero .preview-missing-image{visibility:hidden}
.masonry__item-image:has(.preview-missing-image){background:#e9e8e6;min-height:220px}
.masonry__item-image:has(.preview-missing-image):after{content:'Image not archived';display:block;text-align:center;color:#777;font:12px/1.4 Lato,Arial,sans-serif;padding:5rem 1rem}
.masonry__item-image .preview-missing-image,.gallery .gallery-item .preview-missing-image,.entry-thumbnail .preview-missing-image{display:none!important}
.gallery .gallery-item:has(.preview-missing-image) .gallery-icon{background:#e9e8e6;min-height:0!important;aspect-ratio:1;position:relative}
.gallery .gallery-item:has(.preview-missing-image) .gallery-icon:after{content:'Image not archived';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#777;font:12px/1.4 Lato,Arial,sans-serif;pointer-events:none}
.entry-thumbnail:has(.preview-missing-image){background:#e9e8e6;aspect-ratio:400/281;position:relative}
.entry-thumbnail:has(.preview-missing-image):after{content:'Image not archived';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#777;font:12px/1.4 Lato,Arial,sans-serif}
.legacy-team-link{border-top:1px solid #ddd;margin:3rem 0;padding:2rem 0;color:#555;font-size:1rem}
.legacy-team-link a{color:#d49000;text-decoration:underline}
.legacy-profile{max-width:900px;font:16px/1.65 Lato,Arial,sans-serif}
.legacy-profile h2{margin-top:2.5rem}.legacy-profile h3{margin-top:2rem;color:#d49000}.legacy-profile h4{margin:1.4rem 0 .3rem}
.legacy-profile p{margin:.5rem 0 1.2rem}
.legacy-text{border:0!important;background:transparent!important;padding:0!important}.legacy-text:before{display:none!important}
.recovery-dialog{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;padding:2rem}
.recovery-dialog__inner{max-width:720px;background:#fff;color:#333;padding:2rem;overflow-wrap:anywhere;box-shadow:0 1rem 3rem #111}
.recovery-dialog button{float:right;cursor:pointer}

/* Static-site fix: theme masonry JS doesn't position the homepage "Progetti Recenti" grid,
   so floated cards of different heights snagged and left gaps. Start each row on a new line. */
.projects.projects--grid.masonry:not(.infinite_scroll)>.masonry__item{clear:none}
@media only screen and (max-width:799px){.projects.projects--grid.masonry:not(.infinite_scroll)>.masonry__item:nth-child(2n+1){clear:left}}
@media only screen and (min-width:800px){.projects.projects--grid.masonry:not(.infinite_scroll)>.masonry__item:nth-child(3n+1){clear:left}}

/* Keep hero text colours if a browser translation tool wraps text in <font> tags */
.hero font,.hero__content font{color:inherit!important}

/* Temporary-site notice */
.pp8-notice{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(23,22,23,.55);opacity:0;transition:opacity .35s ease}
.pp8-notice.is-visible{opacity:1}
.pp8-notice__card{position:relative;max-width:460px;width:100%;background:#fff;color:#171617;padding:44px 40px 36px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25);border-top:3px solid #d49000}
.pp8-notice__label{margin:0 0 14px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#d49000;font-weight:700}
.pp8-notice__title{margin:0 0 18px;font-size:22px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:#171617;font-weight:700}
.pp8-notice__text{margin:0 0 14px;font-size:15px;line-height:1.65;color:#444}
.pp8-notice__contact{margin:0 0 28px;font-size:14px;color:#444}
.pp8-notice__contact a{color:#d49000;text-decoration:none;border-bottom:1px solid rgba(212,144,0,.4)}
.pp8-notice__btn{display:inline-block;border:0;cursor:pointer;background:#171617;color:#fff;padding:13px 34px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-family:inherit;transition:background .2s}
.pp8-notice__btn:hover,.pp8-notice__btn:focus-visible{background:#d49000}
.pp8-notice__close{position:absolute;top:10px;right:12px;border:0;background:none;font-size:26px;line-height:1;color:#888;cursor:pointer;padding:6px}
.pp8-notice__close:hover{color:#171617}
@media(max-width:480px){.pp8-notice__card{padding:36px 24px 28px}.pp8-notice__title{font-size:18px}}

/* Static-site fix: the theme hides blog cards (opacity:0) until its JS fades them in; that JS can't run here */
.archive-blog .masonry__item{opacity:1!important}

/* Static-site fix: the theme's Entypo icon font wasn't archived; draw the contact-page
   social icons with Font Awesome instead (same icons the footer uses) */
.pixcode--icon[class*="icon-e-"]:before{font-family:FontAwesome!important}
.pixcode--icon.icon-e-facebook:before{content:"\f09a"!important}
.pixcode--icon.icon-e-youtube:before{content:"\f167"!important}
.pixcode--icon.icon-e-linkedin:before{content:"\f0e1"!important}
.pixcode--icon.icon-e-share:before{content:"\f1e0"!important}
.pixcode--icon.icon-e-twitter:before{content:"\f099"!important}
.pixcode--icon.icon-e-pinterest:before{content:"\f0d2"!important}
