/* Continuità fra quote, struttura e fotografia. Nessuna geometria nella hero. */
.gallery-controls{position:relative;flex-wrap:wrap;gap:14px}
.gallery-controls .gallery-autoplay{width:auto;min-width:90px;padding:0 12px;font-size:12px;letter-spacing:.03em;border-color:transparent}
.gallery-controls:before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:#17352e14}
.gallery-controls:after{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:#527b46;transform:scaleX(0);transform-origin:left}
.gallery-running .gallery-controls:after{animation:gallery-time 6.5s linear forwards}
@keyframes gallery-time{to{transform:scaleX(1)}}
.composed-section{position:relative;--construction-progress:0}
.composition-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;color:#638451}
.composition-line path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--construction-progress));opacity:.58}
.composed-section>.photo-gallery,.composed-section>.page-photo{margin-top:25px}
.content-heading{position:relative;flex-wrap:wrap;align-content:start}.content-heading h2{flex:1;min-width:0}
.content-sketch{flex-basis:100%;max-width:260px;margin:28px 0 0 32px;color:#476551;opacity:.55}
.content-sketch .cm-tech-accent{stroke:#527b46;color:#527b46}
.composed-section .content-heading .section-number{transition:color .7s;color:#526d40}
.composition-arrived .content-heading .section-number{color:#214b3b}
/* The diagram rests on a gradual shadow, with no hard green panel around a photograph. */
.sector-visual .technical-drawing{background:radial-gradient(ellipse at 60% 70%,#17352e90,transparent 69%);width:61%;right:-1%;bottom:0;opacity:.9}
.stage-visual .sector-visual>img{animation:photo-enter .9s cubic-bezier(.16,1,.3,1) backwards}
.project img{transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .7s}.project:hover img{transform:scale(1.035)}
.project-arrow{transition:transform .4s}.project:hover .project-arrow{transform:translate(3px,-3px)}
.text-link{transition:color .25s}.text-link:hover{color:#496e39}
.text-link.light-link:hover{color:var(--signal)}
@media(max-width:600px){.content-sketch{max-width:160px;margin:14px 0 0 25px}.composition-line{opacity:.7}.gallery-controls{gap:10px}.gallery-controls .gallery-autoplay{min-width:86px}.sector-visual .technical-drawing{width:68%}}
@media(prefers-reduced-motion:reduce){.composition-line path{stroke-dashoffset:0}.gallery-running .gallery-controls:after{animation:none}.project img,.project-arrow{transition:none}}
.motion-off .composition-line path{stroke-dashoffset:0}
.prefab-item-commercial{grid-column:2;grid-row:1}.prefab-item-commercial img{width:100%;height:100%;object-fit:cover}.prefab-item-commercial:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#102820cc);pointer-events:none}.prefab-item-commercial>div{z-index:2}.prefab-item-commercial>div:not(.prefab-drawing){position:absolute;bottom:0;left:0;right:0}.prefab-item-commercial h4,.prefab-item-commercial span{color:#f6f8ee}
@media(max-width:600px){.prefab-item-commercial{grid-column:1;grid-row:auto}}
.gallery-slide:before,.page-photo:before{background-image:none}.gallery-slide[data-photo-ready]:before,.page-photo[data-photo-ready]:before{background-image:var(--photo-background)}
.prefab-item:not(.prefab-item-last):focus-within{outline:3px solid #527b46;outline-offset:4px}.prefab-item>img{transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.prefab-item:not(.prefab-item-last):hover>img{transform:scale(1.035)}
.content-body ul{padding-left:1.15em;margin:0 0 22px}.content-body li{padding-left:.15em;margin-bottom:4px}

/* Fotografie senza pannelli colorati né duplicati sfocati. */
.photo-gallery,.page-photo,.gallery-slide,.gallery-slide figcaption{background:transparent}
.gallery-slide:before,.page-photo:before,.page-hero-residential .page-hero-image:before,.page-hero-autostrade .page-hero-image:before{content:none!important}
.inner-page .page-hero.with-image{background:var(--paper)}
.page-hero-autostrade .page-hero-image,.page-hero-residential .page-hero-image{background:transparent;align-self:center}
.page-hero-autostrade .page-hero-image img,.page-hero-residential .page-hero-image img{position:static;display:block;height:auto;width:100%}
.gallery-slide img,.inner-page .gallery-slide img,.project-dialog .gallery-slide img,.rfx-feature .gallery-slide img{background:transparent}
.page-photo img{width:auto;max-width:100%;margin-inline:auto}
@media(max-width:600px){.page-hero-autostrade .page-hero-image,.page-hero-residential .page-hero-image{height:auto;width:100%}}

/* Vetroresina: il disegno dei prodotti precede il repertorio fotografico. */
.inner-page-vetroresina .page-hero{align-items:center}
.product-hero-drawing{margin:0;padding:30px 6% 40px 0;color:#375e49;min-width:0}
.product-hero-drawing .cm-tech-svg{width:100%;max-width:850px;margin-inline:auto}
.product-hero-drawing .cm-tech-accent{stroke:#739947;color:#739947}
.product-hero-drawing figcaption{font-size:15px;letter-spacing:.025em;text-align:center;margin-top:25px;color:#4c654e}
.product-hero-drawing figcaption span{padding-inline:14px}
.inner-page-vetroresina .content-sketch{display:none}
.inner-page-vetroresina .content-section>.photo-gallery,.inner-page-vetroresina .content-section>.page-photo{max-width:1050px;justify-self:center}
.inner-page-vetroresina .gallery-slide img{height:390px}
@media(max-width:600px){.product-hero-drawing{width:100%;padding:0 12px 30px;margin:0}.product-hero-drawing figcaption{font-size:13px;margin-top:12px}.inner-page-vetroresina .gallery-slide img{height:280px}}

/* Lettura a due livelli: introduzione, approfondimenti e foto affiancate. */
.reading-intro>p:first-child{font-size:1.08em;line-height:1.65}
.reading-detail{border-top:1px solid var(--line)}
.reading-detail:last-child{border-bottom:1px solid var(--line)}
.reading-detail summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:18px 0;font-size:16px;font-weight:500;line-height:1.45}
.reading-detail summary::-webkit-details-marker{display:none}
.reading-detail summary>span{font-size:24px;font-weight:300;flex:none;transition:transform .25s}
.reading-detail[open] summary>span{transform:rotate(45deg)}
.reading-detail-copy{padding:0 0 8px;font-size:16px;line-height:1.75}
.reading-detail-copy p{margin-bottom:18px}.reading-detail-copy ul{padding-left:20px}
.reading-facts{margin-top:25px;font-size:16px}.reading-facts ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.reading-facts li{border-top:2px solid #7d9858;padding:12px 18px 12px 0;flex:1;min-width:150px}
@media(min-width:1001px){
 .content-section.editorial-section{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);grid-template-rows:auto 1fr;gap:22px 60px;align-items:start;padding-block:70px}
 .editorial-section>.content-heading{grid-column:1;grid-row:1}.editorial-section>.content-body{grid-column:1;grid-row:2;font-size:17px}
 .content-section.editorial-section>.photo-gallery,.content-section.editorial-section>.page-photo{grid-column:2;grid-row:1/3;margin:0;min-width:0;align-self:start}
 .editorial-section>.photo-gallery .gallery-slide img{height:420px}.editorial-section>.page-photo img{max-height:460px}
 .editorial-section.editorial-reverse{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
 .editorial-reverse>.content-heading,.editorial-reverse>.content-body{grid-column:2}
 .content-section.editorial-reverse>.photo-gallery,.content-section.editorial-reverse>.page-photo{grid-column:1}
 .editorial-section .content-sketch,.editorial-section>.composition-line{display:none}
 .editorial-section .content-heading h2{font-size:clamp(28px,2.4vw,37px)}
}
@media(prefers-reduced-motion:reduce){.reading-detail summary>span{transition:none}}
.motion-off .reading-detail summary>span{transition:none}
@media print{.reading-detail>div{display:block!important}}
