/* Borsani - pagine Storia, Servizi, Progetti, Magazine (Mr. Soluzioni Digitali) */
:root{--b-rosso:#DA291C;--b-rosso-h:#B5200F;--b-grafite:#231F1C;--b-grigio:#6B6560;--b-pietra:#EEE8E0;--b-pietra-2:#E3DBD0;--b-linea:rgba(35,31,28,.14);--b-ease:cubic-bezier(.2,.7,.2,1)}

/* ---------- blocchi pagina (HTML in Elementor) ---------- */
.bpg-page{font-family:"Archivo",sans-serif;color:var(--b-grafite)}
.bpg-page *{box-sizing:border-box}
.bpg-page img{display:block;max-width:100%;height:auto}
.bpg-in{width:min(1240px,100% - 48px);margin:0 auto}
.bpg-label{display:block;font:600 12px/1 "Archivo",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--b-rosso);margin-bottom:18px}
.bpg-page h1,.bpg-page h2,.bpg-page h3{font-family:"Archivo",sans-serif;font-weight:600;font-stretch:125%;letter-spacing:-.015em;color:inherit;margin:0}
.bpg-hero{background:var(--b-pietra);padding:110px 0 96px}
.bpg-hero h1{font-size:clamp(38px,5.6vw,84px);line-height:1.03;max-width:12.5em;margin-bottom:26px}
.bpg-hero p{font-size:19px;line-height:1.6;color:var(--b-grigio);max-width:36em;margin:0}
.bpg-sec{padding:120px 0}
.bpg-sec.alt{background:var(--b-pietra)}
.bpg-sec.dark{background:var(--b-grafite);color:#EEE8E0}
.bpg-sec.dark .bpg-muted{color:#BDB4AA}
.bpg-sec h2{font-size:clamp(30px,3.6vw,54px);line-height:1.07;margin-bottom:22px;max-width:16em}
.bpg-muted{color:var(--b-grigio)}
.bpg-lead{font-size:18px;line-height:1.65;max-width:38em}
.bpg-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.bpg-media{border-radius:4px;overflow:hidden;background:var(--b-pietra-2)}
.bpg-media img{width:100%;height:100%;object-fit:cover}
.bpg-btn{display:inline-flex;align-items:center;gap:10px;font:600 15px/1 "Archivo",sans-serif;padding:17px 26px;border-radius:4px;text-decoration:none;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s}
.bpg-btn--red{background:var(--b-rosso);color:#fff!important}
.bpg-btn--red:hover{background:var(--b-rosso-h)}
.bpg-btn--line{border-color:currentColor;color:inherit!important}
.bpg-btn--line:hover{background:var(--b-grafite);color:#fff!important;border-color:var(--b-grafite)}
.bpg-sec.dark .bpg-btn--line:hover{background:#EEE8E0;color:var(--b-grafite)!important;border-color:#EEE8E0}
.bpg-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}

/* timeline */
.bpg-time{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--b-grafite)}
.bpg-time li{padding:28px 28px 0 0;position:relative}
.bpg-time li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--b-rosso)}
.bpg-time .y{display:block;font-weight:600;font-stretch:125%;font-size:clamp(34px,3.4vw,52px);line-height:1;margin-bottom:16px}
.bpg-time h3{font-size:19px;margin-bottom:10px}
.bpg-time p{font-size:15px;line-height:1.6;color:var(--b-grigio);margin:0}

/* valori / card numerate */
.bpg-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.bpg-grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.bpg-card{background:#fff;border-radius:6px;padding:32px}
.bpg-sec.alt .bpg-card{background:#fff}
.bpg-card h3{font-size:22px;margin-bottom:10px}
.bpg-card p{font-size:15px;line-height:1.6;color:var(--b-grigio);margin:0}
.bpg-card ul{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--b-linea)}
.bpg-card li{padding:13px 0;border-bottom:1px solid var(--b-linea);font-size:16px}
.bpg-card .n{display:block;font-weight:600;font-stretch:125%;color:var(--b-rosso);font-size:15px;margin-bottom:14px}

/* processo */
.bpg-steps{list-style:none;margin:48px 0 0;padding:0;border-top:1px solid rgba(238,232,224,.18)}
.bpg-steps li{display:grid;grid-template-columns:110px 1fr 1.2fr;gap:24px;align-items:baseline;padding:30px 0;border-bottom:1px solid rgba(238,232,224,.18)}
.bpg-steps .n{font-weight:600;font-stretch:125%;font-size:40px;line-height:1;color:var(--b-rosso)}
.bpg-steps h3{font-size:24px;color:#fff}
.bpg-steps p{margin:0;color:#BDB4AA;font-size:16px;line-height:1.6}

/* galleria pagina */
.bpg-gal{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:48px}
.bpg-gal .bpg-media:nth-child(1){grid-column:span 7;aspect-ratio:4/3}
.bpg-gal .bpg-media:nth-child(2){grid-column:span 5;aspect-ratio:4/5}
.bpg-gal .bpg-media:nth-child(3){grid-column:span 4;aspect-ratio:1}
.bpg-gal .bpg-media:nth-child(4){grid-column:span 4;aspect-ratio:1}
.bpg-gal .bpg-media:nth-child(5){grid-column:span 4;aspect-ratio:1}

/* marchi */
.bpg-brands{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.bpg-brands span{padding:12px 18px;border:1px solid var(--b-linea);border-radius:999px;font-weight:600;font-size:14px;background:#fff}

/* CTA finale */
.bpg-cta{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end}
.bpg-cta .bpg-ctas{justify-content:flex-end;margin-top:0}

@media (max-width:999px){
 .bpg-split,.bpg-cta,.bpg-grid2{grid-template-columns:1fr;gap:40px}
 .bpg-time,.bpg-grid4{grid-template-columns:1fr 1fr;row-gap:40px}
 .bpg-steps li{grid-template-columns:70px 1fr}
 .bpg-steps p{grid-column:2}
 .bpg-cta .bpg-ctas{justify-content:flex-start}
}
@media (max-width:640px){
 .bpg-hero{padding:72px 0 64px}.bpg-sec{padding:80px 0}
 .bpg-in{width:calc(100% - 32px)}
 .bpg-time,.bpg-grid4{grid-template-columns:1fr}
 .bpg-gal{grid-template-columns:1fr 1fr}
 .bpg-gal .bpg-media{grid-column:span 1!important;aspect-ratio:1!important}
 .bpg-gal .bpg-media:nth-child(1){grid-column:span 2!important;aspect-ratio:4/3!important}
}

/* ---------- archivio Progetti e Magazine (Blocksy) ---------- */
.bpg .hero-section[data-type=type-2],.bpg .hero-section{background:var(--b-pietra)}
.bpg .hero-section .page-title{font-family:"Archivo",sans-serif;font-weight:600;font-stretch:125%;letter-spacing:-.015em}
.bpg.post-type-archive-progetto .hero-section .page-title,.bpg.tax-tipologia .hero-section .page-title,.bpg.blog .hero-section .page-title{font-size:clamp(38px,5.4vw,80px)}
.bpg .page-description{font-size:18px;line-height:1.6;color:var(--b-grigio);max-width:36em}
.bpg-filter{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.bpg-filter a{display:inline-flex;padding:11px 18px;border:1px solid rgba(35,31,28,.22);border-radius:999px;font:600 14px/1 "Archivo",sans-serif;color:var(--b-grafite);text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.bpg-filter a:hover{border-color:var(--b-grafite)}
.bpg-filter a[aria-current]{background:var(--b-grafite);border-color:var(--b-grafite);color:#fff}
.bpg .entries .entry-card{background:transparent!important;box-shadow:none!important;border:0!important}
.bpg .entries .ct-media-container{border-radius:4px;overflow:hidden}
.bpg .entries .ct-media-container img{transition:transform 1s var(--b-ease)}
.bpg .entries .entry-card:hover .ct-media-container img{transform:scale(1.045)}
.bpg .entries .entry-title{font-family:"Archivo",sans-serif;font-weight:600;font-stretch:125%;font-size:22px;line-height:1.2}
.bpg .entries .entry-title a{color:var(--b-grafite)}
.bpg .entries .entry-title a:hover{color:var(--b-rosso)}
.bpg .entries .entry-excerpt{color:var(--b-grigio);font-size:15px}
.bpg .entries .entry-meta{font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.bpg .entries .entry-meta a{color:var(--b-rosso)}

/* singolo progetto */
.single-progetto .entry-content>p:first-child{font-size:20px;line-height:1.6;color:var(--b-grigio);max-width:40em}
.single-progetto .bpg-gallery{gap:16px!important;margin-top:40px}
.single-progetto .bpg-gallery img{border-radius:4px}
.single-progetto .hero-section .page-title{font-family:"Archivo",sans-serif;font-weight:600;font-stretch:125%;font-size:clamp(34px,4.6vw,64px)}

/* schede archivio: foto in alto, niente autore/data */
.bpg .entries .entry-card{display:flex;flex-direction:column}
.bpg .entries .entry-card>.ct-media-container,.bpg .entries .entry-card>a.ct-media-container{order:-3;margin-bottom:20px}
.bpg .entries .entry-card>.entry-meta:not(:has(.meta-author)):not(:has(.meta-date)){order:-2;margin-bottom:6px}
.bpg .entries .entry-card .entry-meta:has(.meta-author),.bpg .entries .entry-card .entry-meta:has(.meta-date){display:none}
.post-type-archive-progetto .entries .ct-media-container,.tax-tipologia .entries .ct-media-container{aspect-ratio:4/3}
.post-type-archive-progetto .entries .ct-media-container img,.tax-tipologia .entries .ct-media-container img{width:100%;height:100%;object-fit:cover}
/* progetto singolo: niente descrizione doppia ne' autore/data */
.single-progetto .hero-section .page-description{display:none}
.single-progetto .hero-section .entry-meta .meta-author,.single-progetto .hero-section .entry-meta .meta-date{display:none}
.single-progetto .hero-section .entry-meta a{color:var(--b-rosso)}

/* ===== Animazioni: stati iniziali (solo con html.ba = movimento consentito e GSAP presente) ===== */
.ba :is([data-reveal], .bpg-hero p, .bpg-hero .bpg-label, .bpg-lead, .bpg-card, .bpg-time li, .bpg-steps li, .bpg-gal .bpg-media, .bpg-brands span, .bpg-ctas, .bpg-split > .bpg-media, .bct-hero p, .bct-info > *, .bct-formbox, .bw-lead, .bw-cats, .bw ul.products li.product, .bw-band, .bpg .entries .entry-card, .bf-col, .bf-cta, .bf-socials, .bf-statement .bf-label, .single-progetto .bpg-gallery figure){opacity:0;transform:translateY(24px)}
.ba :is([data-split], .bpg-hero h1, .bpg-page .bpg-sec h2, .bct-hero h1, .bw-title, .bf-big, .hh h1, .hh h2):not(.is-split){opacity:0}
.is-split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.09em;margin-bottom:-.09em}
.is-split .w>span{display:inline-block}

/* linea della timeline che si disegna */
.bpg-time{position:relative;border-top:0!important}
.bpg-time::after{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--b-grafite);transform:scaleX(var(--line,1));transform-origin:left}

/* ===== Hero fotografica (Storia, Servizi) ===== */
.bpg-hero--photo{position:relative;min-height:min(88vh,860px);display:flex;align-items:flex-end;padding:180px 0 88px;background:#231F1C;color:#fff;overflow:hidden}
.bpg-hero--photo .bpg-bg{position:absolute;inset:0;overflow:hidden}
.bpg-hero--photo .bpg-bg img{width:100%;height:100%;object-fit:cover;transform-origin:50% 40%}
.bpg-hero--photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(35,31,28,.86) 0%,rgba(35,31,28,.55) 50%,rgba(35,31,28,.2) 100%),linear-gradient(0deg,rgba(35,31,28,.75),transparent 45%),linear-gradient(180deg,rgba(35,31,28,.55),transparent 28%)}
.bpg-hero--photo .bpg-in{position:relative;z-index:2}
.bpg-hero--photo h1{color:#fff}
.bpg-hero--photo p{color:#E3DBD0}
.bpg-hero--photo .bpg-label{color:#E8A39C}
@media (max-width:640px){.bpg-hero--photo{min-height:78vh;padding:140px 0 56px}}