
/* ===== pagina progetto ===== */
:root{--sand:#f2dfc0;--terra:#d9552b;--cream:#fff3dc;--slant:clamp(34px,6.5vw,96px)}
body{background:var(--yellow);overflow-x:hidden}
.pg-section{position:relative}
/* bordo obliquo = la linea del logo (-19°) */
.slant{clip-path:polygon(0 var(--slant),100% 0,100% 100%,0 100%);margin-top:calc(var(--slant) * -1);padding-top:calc(var(--slant) + clamp(56px,8vw,110px))}
.pg-eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(15px,2.4vh,22px);line-height:1;display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 clamp(18px,3.4vh,36px);text-align:center}
.pg-eyebrow::before{content:"";width:46px;height:4px;background:currentColor;transform:rotate(-20deg);flex:none}

/* HERO — giallo, titolo rosso */
.p-hero{background:var(--yellow);color:var(--red);min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:clamp(120px,16vh,170px) var(--pad) clamp(90px,12vh,140px);overflow:hidden;position:relative}
.p-hero .pg-eyebrow{position:absolute;left:0;right:0;top:clamp(86px,12vh,118px);margin:0}
.p-hero h1{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;text-transform:uppercase;line-height:.88;letter-spacing:-.01em;font-size:clamp(54px,12.5vw,230px);max-width:16ch;margin:0;overflow:hidden;padding:.05em .04em}
.p-hero h1 .ln{display:block;overflow:hidden}.p-hero h1 .ln>span{display:inline-block}
.p-sub{margin-top:clamp(16px,3vh,32px);font-family:'Barlow Condensed';font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(16px,2.2vw,26px)}
.p-chip{margin-top:clamp(16px,2.6vh,28px);display:inline-flex;align-items:center;gap:10px;border:2px solid var(--red);padding:8px 18px;font-family:'Barlow Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:16px}
.p-chip i{width:10px;height:10px;border-radius:50%;background:var(--red);display:block}
.p-chip.pres i{background:transparent;border:2px solid var(--red)}
.p-slash{position:absolute;left:-10%;right:-10%;bottom:10%;height:clamp(12px,1.8vw,24px);background:var(--red);transform:rotate(-19deg);transform-origin:center;z-index:0;opacity:.95}
.p-hero>*:not(.p-slash){position:relative;z-index:1}
.p-hero .p-slash{z-index:0}
.p-hero>.pg-eyebrow{position:absolute}.p-hero>.p-scroll{position:absolute}
.p-scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-family:'Barlow Condensed';font-weight:700;letter-spacing:.3em;text-transform:uppercase;font-size:13px;z-index:2}

/* barre (stessa transizione di "tutti i progetti") */
.p-bars{position:absolute;left:0;right:0;top:0;height:clamp(90px,14vw,210px);transform:translateY(-100%);display:flex;pointer-events:none;z-index:3}
.p-bars i{flex:1;background:var(--red);margin-right:-1px}

/* META — rosso */
.p-meta{background:var(--red);color:var(--yellow);padding:clamp(56px,8vw,100px) 0}
.p-meta .g{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(28px,4vw,56px)}
.p-meta h4{font-family:'Barlow Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:15px;margin-bottom:10px;color:var(--yellow);opacity:.85}
.p-meta p{font-family:'Barlow Condensed';font-weight:800;text-transform:uppercase;font-size:clamp(26px,3vw,44px);line-height:1.02;color:var(--cream)}

/* IL PROGETTO — sabbia */
.p-intro{background:var(--sand);color:var(--red);padding-bottom:clamp(70px,10vw,140px)}
.p-intro .lead{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:700;line-height:1.04;font-size:clamp(32px,5vw,78px);max-width:1100px;margin:0 auto;text-align:left}
.p-intro .two{max-width:760px;margin:clamp(30px,5vw,60px) auto 0;font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:#3a2a22}

/* GALLERIA — giallo */
.p-gal{background:var(--yellow);color:var(--red);padding-bottom:clamp(70px,10vw,140px)}
.p-gal .gg{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.6vw,22px)}
.ph{position:relative;background:var(--red);color:var(--yellow);overflow:hidden;min-height:clamp(180px,26vw,380px);display:flex;align-items:flex-end;padding:18px 20px}
.ph::before{content:"";position:absolute;left:-10%;right:-10%;top:50%;height:clamp(8px,1.2vw,16px);background:var(--yellow);transform:rotate(-19deg);opacity:.9}
.ph span{position:relative;font-family:'Barlow Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:14px}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ph.has::before{display:none}.ph.has span{display:none}
.ph.a{grid-column:span 8;min-height:clamp(240px,36vw,520px)}.ph.b{grid-column:span 4;background:var(--terra)}.ph.c{grid-column:span 5;background:var(--sand);color:var(--red)}.ph.c::before{background:var(--red)}.ph.d{grid-column:span 7}
@media(max-width:760px){.ph.a,.ph.b,.ph.c,.ph.d{grid-column:span 12}}

/* OBIETTIVI — terracotta */
.p-obj{background:var(--terra);color:var(--cream);padding-bottom:clamp(70px,10vw,140px)}
.p-obj .list{border-top:3px solid var(--cream)}
.p-obj .row{display:grid;grid-template-columns:90px 1fr 1.4fr;gap:30px;padding:30px 0;border-bottom:1px solid #fff3dc66;align-items:baseline;transition:.3s}
.p-obj .row:hover{background:#c24a22;padding-left:18px}
.p-obj .row i{font-style:normal;font-family:'Barlow Condensed';font-weight:800;font-size:34px;color:var(--yellow)}
.p-obj .row h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(28px,3.2vw,46px);line-height:1}
.p-obj .row p{color:var(--cream)}
@media(max-width:800px){.p-obj .row{grid-template-columns:50px 1fr}.p-obj .row p{grid-column:2}}

/* NUMERI — rosso */
.p-num{background:var(--red);color:var(--yellow);padding-bottom:clamp(70px,10vw,130px)}
.p-num .g{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(24px,4vw,60px);text-align:center}
.p-num b{display:block;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;line-height:.9;font-size:clamp(80px,13vw,210px);color:var(--yellow)}
.p-num span{font-family:'Barlow Condensed';font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(15px,1.6vw,22px);color:var(--cream)}

/* PARTNER — striscia gialla sottile */
.p-part{background:var(--yellow);color:var(--red);padding:18px 0 14px;overflow:hidden}
.p-part .pg-eyebrow{margin-bottom:6px}
.p-part .marq{display:flex;gap:60px;white-space:nowrap;width:max-content;animation:m 40s linear infinite}
.p-part .marq span{font-family:'Barlow Condensed';font-weight:800;text-transform:uppercase;font-size:clamp(34px,4.5vw,64px);color:var(--red)}
.p-part .marq span:nth-child(even){color:transparent;-webkit-text-stroke:1.5px var(--red)}

/* ALTRI PROGETTI — sabbia */
.p-next{background:var(--sand);color:var(--red);padding-bottom:clamp(60px,8vw,110px)}
.p-next .nn{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,40px)}
.p-next a{display:block;text-decoration:none;color:var(--red);border:2px solid var(--red);padding:clamp(22px,3vw,40px);transition:background .3s,color .3s,transform .4s}
.p-next a:hover{background:var(--red);color:var(--yellow);transform:translateY(-6px)}
.p-next small{display:block;font-family:'Barlow Condensed';font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:15px;margin-bottom:12px}
.p-next h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(32px,4.6vw,72px);line-height:.95}
.p-next a.nx{text-align:right}
@media(max-width:700px){.p-next .nn{grid-template-columns:1fr}.p-next a.nx{text-align:left}}
.p-all{display:block;text-align:center;margin-top:clamp(26px,4vw,48px);font-family:'Barlow Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:22px;color:var(--red);text-decoration:none}

/* CONTATTO — rosso */
.p-cta{background:var(--red);color:var(--yellow);padding-bottom:clamp(70px,9vw,120px)}
.p-cta .cc{display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,4vw,60px);flex-wrap:wrap}
.p-cta h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;text-transform:uppercase;line-height:.88;font-size:clamp(54px,11vw,180px);color:var(--yellow)}
.p-cta p{font-size:clamp(17px,1.5vw,21px);color:var(--cream);margin-top:18px;max-width:34ch}
.p-cta .btn{display:inline-block;margin-top:26px;border:2px solid var(--yellow);color:var(--yellow);padding:14px 28px;font-family:'Barlow Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:20px;text-decoration:none;transition:.3s}
.p-cta .btn:hover{background:var(--yellow);color:var(--red)}
.p-cta img{width:clamp(240px,34vw,500px);height:auto;margin-left:auto}

footer{background:var(--yellow);color:var(--ink)}footer a{color:var(--red)}

/* ingresso: tendina rossa che sale */
.pin{position:fixed;inset:0;background:var(--red);z-index:300;pointer-events:none}
.pin img{position:absolute;left:50%;top:50%;width:clamp(200px,28vw,380px);transform:translate(-50%,-50%)}
.pout{position:fixed;inset:0;background:var(--red);z-index:300;transform:translateY(100%);pointer-events:none}
html{scroll-behavior:auto}
.rv{opacity:0;transform:translateY(40px)}

/* ===== pagine interne (pagina.html) ===== */
.b-yellow{background:var(--yellow);color:var(--red);--body:var(--red);--acc:var(--red)}
.b-red{background:var(--red);color:var(--yellow);--body:var(--cream);--acc:var(--yellow)}
.b-sand{background:var(--sand);color:var(--red);--body:#3a2a22;--acc:var(--red)}
.b-terra{background:var(--terra);color:var(--cream);--body:var(--cream);--acc:var(--yellow)}
.p-hero.b-red .p-slash,.p-hero.b-terra .p-slash{background:var(--yellow)}
.p-hero.b-red .p-chip,.p-hero.b-terra .p-chip{border-color:currentColor}
.blk{position:relative;padding-bottom:clamp(70px,10vw,140px)}
.blk .pg-eyebrow{color:inherit}
.h2c{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;text-transform:uppercase;line-height:.92;font-size:clamp(40px,6vw,96px);margin:0 0 clamp(18px,2.6vw,34px);color:inherit}
.txt{font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:var(--body);margin:0 0 1em;max-width:62ch}
.blk .lead{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:700;line-height:1.04;font-size:clamp(32px,5vw,78px);max-width:1100px;margin:0 auto;text-align:left}
.blk .two{max-width:760px;margin:clamp(30px,5vw,60px) auto 0;font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:var(--body)}
/* split: testo + immagine */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.split.rev .sx{order:2}
.split .ph{min-height:clamp(260px,34vw,520px);background:var(--acc);color:var(--bg,#fff)}
.b-yellow .split .ph{background:var(--red);color:var(--yellow)}.b-yellow .ph::before{background:var(--yellow)}
.b-red .split .ph{background:var(--yellow);color:var(--red)}.b-red .ph::before{background:var(--red)}
.b-sand .split .ph{background:var(--red);color:var(--yellow)}.b-sand .ph::before{background:var(--yellow)}
.b-terra .split .ph{background:var(--sand);color:var(--red)}.b-terra .ph::before{background:var(--red)}
.split ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.split li{font-family:'Barlow Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(17px,1.6vw,22px);padding-left:34px;position:relative;color:inherit}
.split li::before{content:"";position:absolute;left:0;top:.55em;width:22px;height:4px;background:currentColor;transform:rotate(-20deg)}
@media(max-width:820px){.split{grid-template-columns:1fr}.split.rev .sx{order:0}}
/* numeri */
.nums3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(24px,4vw,60px);text-align:center}
.nums3 b{display:block;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;line-height:.9;font-size:clamp(80px,13vw,210px);color:inherit}
.nums3 span{font-family:'Barlow Condensed';font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(15px,1.6vw,22px);color:var(--body)}
/* card (valori / team) */
.cg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(14px,2vw,26px)}
.cd{border:2px solid currentColor;padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;gap:10px;transition:background .3s,color .3s,transform .4s}
.cd:hover{background:var(--acc);color:var(--bgc,var(--red));transform:translateY(-6px)}
.b-red .cd:hover{--bgc:var(--red)}.b-yellow .cd:hover{--bgc:var(--yellow)}.b-sand .cd:hover{--bgc:var(--sand)}.b-terra .cd:hover{--bgc:var(--terra)}
.cd:hover p{color:inherit}
.cd .vn{font-family:'Barlow Condensed';font-weight:800;font-size:22px;color:inherit}
.cd h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(30px,3.4vw,50px);line-height:.95;margin:0;color:inherit}
.cd p{margin:0;font-size:16px;line-height:1.5;color:var(--body)}
.cd small{font-family:'Barlow Condensed';font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px}
.cd .ph{min-height:200px;margin-bottom:6px;background:var(--red);color:var(--yellow)}
.b-red .cd .ph{background:var(--yellow);color:var(--red)}.b-red .cd .ph::before{background:var(--red)}
.cd .ph::before{background:var(--yellow)}
.pmore{display:block;text-align:center;margin-top:clamp(26px,4vw,48px);font-family:'Barlow Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:22px;color:inherit;text-decoration:none}
/* filtri progetti */
.pf{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(20px,3vw,40px);justify-content:center}
.pf button{font-family:'Barlow Condensed';font-weight:700;text-transform:uppercase;font-size:19px;letter-spacing:.04em;padding:8px 20px;border:2px solid currentColor;background:transparent;color:inherit;cursor:pointer;transition:.2s}
.pf button:hover,.pf button.on{background:var(--red);color:var(--yellow);border-color:var(--red)}
.pf sup{color:inherit;margin-left:4px;font-size:.6em}
.cd.hide{display:none}
.cd .st{margin-top:auto;font-family:'Barlow Condensed';font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:14px}
/* quote */
.qt{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;text-transform:uppercase;line-height:.95;font-size:clamp(40px,7vw,120px);max-width:16ch;margin:0 auto;text-align:center;color:inherit}
/* contatti */
.ci{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(24px,4vw,50px);margin-bottom:clamp(36px,5vw,70px)}
.ci h4{font-family:'Barlow Condensed';font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:15px;margin:0 0 8px;color:inherit}
.ci a,.ci p{font-size:clamp(20px,2vw,26px);font-weight:500;text-decoration:none;color:var(--body);margin:0}
.ci a:hover{text-decoration:underline}
.cf{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px);max-width:980px;margin:0 auto}
.cf label{display:block;font-family:'Barlow Condensed';font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:14px;margin-bottom:6px}
.cf input,.cf textarea{width:100%;font:inherit;font-size:17px;padding:12px 14px;border:2px solid var(--red);background:#fff;color:var(--ink);border-radius:0}
.cf textarea{min-height:150px;resize:vertical}.cf .full{grid-column:1/-1}
.cf button{font-family:'Barlow Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:20px;padding:14px 30px;border:2px solid var(--red);background:var(--red);color:var(--yellow);cursor:pointer}
.cf button:hover{background:transparent;color:var(--red)}
.map{grid-column:1/-1;min-height:clamp(220px,30vw,380px)}
@media(max-width:700px){.cf{grid-template-columns:1fr}}
/* prossima pagina */
.nextp{display:block;text-decoration:none;color:inherit;padding-bottom:clamp(50px,7vw,100px)}
.nextp small{display:block;text-align:center;font-family:'Barlow Condensed';font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:15px;margin-bottom:10px;color:inherit}
.nextp h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;text-transform:uppercase;line-height:.88;font-size:clamp(60px,14vw,240px);text-align:center;margin:0;color:inherit;transition:transform .5s}
.nextp:hover h3{transform:translateX(16px)}
.ci a,.ci p{overflow-wrap:anywhere}
.cd h3{font-size:clamp(26px,2.8vw,44px);overflow-wrap:anywhere}

/* ===== intestazione compatta: si va subito ai contenuti ===== */
.p-hero{min-height:0!important;justify-content:flex-start;padding:clamp(150px,23vh,215px) var(--pad) clamp(60px,8vw,110px)}
.p-hero h1{font-size:clamp(46px,10.5vw,176px);max-width:none;line-height:.9}
.p-hero .p-sub{margin-top:clamp(12px,2vh,24px)}
.p-hero .p-slash{bottom:-.6%;left:42%;right:-12%;height:clamp(8px,1.2vw,16px);opacity:.9}
.p-hero .p-scroll{display:none}
.p-hero+.slant{padding-top:calc(var(--slant) + clamp(40px,6vw,80px))}
.p-hero h1 .ln{display:inline-block}
.cd h3 a{color:inherit;text-decoration:none}.cd h3 a:hover{text-decoration:underline}

/* scheda progetto: valori lunghi nella fascia rossa */
.p-meta .g{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.p-meta .g>div{min-width:0}
.p-meta p{font-size:clamp(22px,2.3vw,36px);overflow-wrap:anywhere;hyphens:auto}

