.media-gallery-section{max-width:1240px;margin-inline:auto;padding:clamp(2rem,5vw,5rem) clamp(1rem,3vw,2rem)}
.media-gallery{columns:1;column-gap:1.25rem}.media-gallery__item{position:relative;break-inside:avoid;margin:0 0 1.25rem;border-radius:18px;overflow:hidden;background:var(--light-color,#fff);box-shadow:0 8px 30px rgba(15,23,42,.08);transition:transform .25s ease,box-shadow .25s ease}.media-gallery__item:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(15,23,42,.14)}
.media-gallery__trigger{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.media-gallery__trigger img{display:block;width:100%;height:auto}.media-gallery__zoom{position:absolute;inset-inline-end:1rem;bottom:1rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;font-size:1.5rem;color:#fff;background:rgba(8,15,25,.7);backdrop-filter:blur(8px);opacity:0;transform:scale(.85);transition:.2s}.media-gallery__trigger:hover .media-gallery__zoom,.media-gallery__trigger:focus-visible .media-gallery__zoom{opacity:1;transform:none}.media-gallery figcaption{padding:.85rem 1rem 1rem;line-height:1.55;color:var(--text-dark,#252525)}
@media(min-width:600px){.media-gallery{columns:2}}@media(min-width:980px){.media-gallery{columns:3}}
.italian-showcase{display:block}.italian-showcase>.pillars-preview-content{display:flex}.video-showcase{width:100%;margin-top:clamp(2rem,5vw,4rem);padding-top:2rem;border-top:1px solid rgba(128,128,128,.2)}.video-showcase__heading{text-align:center;margin-bottom:1.5rem}.video-showcase__eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700;color:var(--theme-orange)}.video-showcase__heading h3{margin:.35rem 0;font-size:clamp(1.5rem,3vw,2.25rem)}.video-showcase__rail{display:flex;gap:1.25rem;justify-content:center;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem .25rem 1.25rem}.video-card{flex:0 0 min(76vw,260px);scroll-snap-align:center;position:relative;border-radius:20px;padding:.75rem;background:var(--light-color,#fff);box-shadow:0 10px 32px rgba(15,23,42,.1)}.video-card--landscape{flex-basis:min(86vw,420px)}.video-card__button{width:100%;padding:0;border:0;background:transparent;text-align:start;color:inherit;cursor:pointer}.video-card__frame{position:relative;display:block;overflow:hidden;border-radius:14px;aspect-ratio:9/16;background:#111}.video-card--landscape .video-card__frame{aspect-ratio:16/9}.video-card__frame img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.video-card__button:hover img{transform:scale(1.025)}.video-card__play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;color:#fff;background:rgba(232,76,30,.92);box-shadow:0 8px 25px rgba(0,0,0,.28)}.video-card strong{display:block;padding:.85rem .25rem .3rem;line-height:1.4}.video-card__youtube{display:inline-block;padding:.25rem;font-size:.82rem}
.media-viewer{position:fixed;inset:0;z-index:10000;display:none;place-items:center;padding:1rem;background:rgba(4,8,14,.94)}.media-viewer[aria-hidden="false"]{display:grid}.media-viewer__dialog{position:relative;width:min(1120px,96vw);max-height:94vh;display:grid;grid-template-rows:1fr auto;justify-items:center}.media-viewer__content{max-width:100%;max-height:82vh}.media-viewer__content img{display:block;max-width:100%;max-height:82vh;object-fit:contain}.media-viewer__content iframe{display:block;width:min(92vw,420px);height:min(82vh,747px);border:0}.media-viewer__caption{color:#fff;text-align:center;padding:1rem}.media-viewer__caption strong{display:block}.media-viewer__close,.media-viewer__nav{position:fixed;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);cursor:pointer}.media-viewer__close{top:1rem;inset-inline-end:1rem;width:3rem;height:3rem;font-size:1.6rem}.media-viewer__nav{top:50%;width:3rem;height:3rem;font-size:1.5rem}.media-viewer__prev{inset-inline-start:1rem}.media-viewer__next{inset-inline-end:1rem}.media-viewer__count{display:block;margin-top:.35rem;font-size:.8rem;opacity:.75}.media-viewer-open{overflow:hidden}
@media(max-width:768px){.italian-showcase>.pillars-preview-content{flex-direction:column}.video-showcase__rail{justify-content:flex-start}}

.pillar-page{max-width:1280px;margin:0 auto;padding:clamp(6rem,11vw,9rem) clamp(1rem,4vw,3rem) 5rem}.pillar-page__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:center;margin-bottom:clamp(4rem,8vw,7rem)}.pillar-page__hero-copy h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.1;margin:0 0 1.25rem}.pillar-page__hero-copy p{font-size:1.08rem;line-height:1.9;max-width:62ch}.pillar-page__hero img{width:100%;border-radius:28px;box-shadow:0 24px 65px rgba(15,23,42,.18)}.pillar-section-heading{text-align:center;max-width:760px;margin:0 auto 2rem}.pillar-section-heading>span,.pillar-home-preview__copy>span{color:var(--theme-orange);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.pillar-section-heading h2{font-size:clamp(1.8rem,4vw,3rem);margin:.4rem 0}.pillar-section-heading p{opacity:.76}.pillar-catalog{margin-bottom:clamp(4rem,8vw,7rem)}.pillar-catalog__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.15rem}.pillar-card{overflow:hidden;border:1px solid rgba(128,128,128,.18);border-radius:18px;background:var(--light-color,#fff);box-shadow:0 8px 28px rgba(15,23,42,.07);transition:transform .25s ease,box-shadow .25s ease}.pillar-card:hover{transform:translateY(-4px);box-shadow:0 17px 38px rgba(15,23,42,.13)}.pillar-card__image{position:relative;width:100%;padding:0;border:0;background:#f4f4f2;cursor:pointer}.pillar-card__image img{display:block;width:100%;height:auto}.pillar-card__copy{padding:.9rem}.pillar-card__copy h3{margin:0;color:var(--theme-orange);font-size:1.08rem}.pillar-card__copy p{margin:.45rem 0 0;font-size:.76rem;line-height:1.55;opacity:.78}.pillar-projects .media-gallery__item figcaption strong,.pillar-projects .media-gallery__item figcaption span{display:block}.pillar-projects .media-gallery__item figcaption span{font-size:.86rem;opacity:.78;margin-top:.35rem}.pillar-home-preview{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,5rem);align-items:center;max-width:1280px;margin:clamp(4rem,8vw,8rem) auto;padding:clamp(2rem,5vw,4rem);border-radius:30px;background:linear-gradient(135deg,rgba(232,76,30,.09),rgba(15,23,42,.04))}.pillar-home-preview__copy h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.15;margin:.5rem 0 1rem}.pillar-home-preview__copy p{line-height:1.85;margin-bottom:1.5rem}.pillar-home-preview__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.pillar-home-preview__item{position:relative;overflow:hidden;border-radius:18px;min-height:360px;color:#fff;box-shadow:0 14px 38px rgba(15,23,42,.18)}.pillar-home-preview__item:nth-child(2){transform:translateY(-1.25rem)}.pillar-home-preview__item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.pillar-home-preview__item:hover img{transform:scale(1.035)}.pillar-home-preview__item:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}.pillar-home-preview__item strong{position:absolute;z-index:1;inset:auto 1rem 1rem;font-size:1rem}.slider-content__link{display:block;width:100%;color:inherit}.slider-content__link:hover{color:inherit;text-decoration:none}

@media(max-width:1050px){.pillar-catalog__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pillar-home-preview{grid-template-columns:1fr}.pillar-home-preview__copy{text-align:center}}
@media(max-width:700px){.pillar-page__hero{grid-template-columns:1fr}.pillar-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.pillar-card__copy{padding:.7rem}.pillar-card__copy p{font-size:.7rem}.pillar-home-preview{margin-inline:1rem;padding:2rem 1rem}.pillar-home-preview__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:1.25rem 0}.pillar-home-preview__item{flex:0 0 76vw;min-height:430px;scroll-snap-align:center}.pillar-home-preview__item:nth-child(2){transform:none}}
@media(prefers-reduced-motion:reduce){.pillar-card,.pillar-home-preview__item img{transition:none}.pillar-card:hover{transform:none}}

/* Fixed hero frame prevents the top project image from stretching. */
.pillar-page__hero-media{
    display:grid;
    place-items:center;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:28px;
    background:#ececea;
    box-shadow:0 24px 65px rgba(15,23,42,.18);
}
.pillar-page__hero .pillar-page__hero-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    border-radius:0;
    box-shadow:none;
}
.media-gallery__zoom svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.media-gallery__zoom--text{width:auto;min-width:3.5rem;padding:0 .75rem;border-radius:999px;font-size:.72rem;font-weight:700}

/* Linked carousel slides retain the original split layout and show each image without cropping. */
.slider-content__link{display:flex;width:100%;color:inherit}
.slider-content__link>img{object-fit:contain;background:#171717}
@media(max-width:768px){.slider-content__link{flex-direction:column}.slider-content__link>img{width:100%;height:auto;order:2}.slider-content__link>.slidetext{width:100%}}

/* Reserve carousel geometry before JavaScript runs to prevent layout shifts. */
.slider-wrapper,.slider-slide,.slider-content,.slider-content__link{min-height:600px}
.slider-slide:first-child{display:flex}
@media(max-width:768px){.slider-wrapper,.slider-slide,.slider-content,.slider-content__link{min-height:620px}.slider-content__link>img{height:clamp(360px,110vw,500px);object-fit:contain}.slider-content__link>.slidetext{min-height:120px}}
.section-page-heading{max-width:1100px;margin:0 auto;padding:clamp(7rem,11vw,9rem) 1.25rem 2rem;text-align:center}.section-page-heading h1{margin:0 0 .75rem;font-size:clamp(2rem,5vw,3.6rem)}.section-page-heading p{max-width:760px;margin:0 auto;line-height:1.8}
@media(prefers-reduced-motion:reduce){.media-gallery__item,.media-gallery__zoom,.video-card__frame img{transition:none!important}.media-gallery__item:hover{transform:none}}
