.projects-hero{padding:100px 0 70px;background:var(--ink);color:var(--white)}
.projects-hero-inner{max-width:1040px}
.projects-back{display:inline-flex;margin-bottom:32px;color:rgba(255,255,255,.68);font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.projects-hero h1{font-size:clamp(2.8rem,5vw,4.9rem);letter-spacing:-.04em;line-height:1;margin:16px 0 25px;max-width:980px}
.projects-intro{max-width:800px;color:rgba(255,255,255,.72);font-size:1.03rem;line-height:1.68}
.projects-index{background:var(--paper)}
.projects-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:end;margin-bottom:42px}
.projects-heading h2{font-size:clamp(2.2rem,3.7vw,3.6rem);line-height:1.04;margin:8px 0 0;max-width:720px}
.projects-heading>p{margin:0;color:var(--muted);line-height:1.7;max-width:520px}
.projects-list{border-top:1px solid var(--line)}
.project-entry{border-bottom:1px solid var(--line);background:transparent}
.project-entry summary{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(190px,.42fr) 26px;gap:22px;align-items:center;padding:25px 4px;cursor:pointer;list-style:none;transition:padding .2s ease,background .2s ease}
.project-entry summary::-webkit-details-marker{display:none}
.project-entry summary:hover{background:rgba(255,255,255,.48);padding-left:14px;padding-right:14px}
.project-index{font-family:Georgia,'Times New Roman',serif;color:#9a7c46;font-size:.92rem}
.project-summary-main{display:flex;flex-direction:column;gap:5px;min-width:0}
.project-category{color:var(--gold);font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.project-summary-main strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.45rem,2.4vw,2.25rem);font-weight:500;line-height:1.08;letter-spacing:-.025em}
.project-summary-meta{color:var(--muted);font-size:.78rem;line-height:1.45;text-align:right}
.project-toggle{position:relative;width:20px;height:20px;justify-self:end}
.project-toggle:before,.project-toggle:after{content:"";position:absolute;left:3px;top:9px;width:14px;height:1px;background:var(--ink);transition:transform .2s ease}
.project-toggle:after{transform:rotate(90deg)}
.project-entry[open] .project-toggle:after{transform:rotate(0)}
.project-entry[open] summary{background:rgba(255,255,255,.55)}
.project-entry-environmental summary{box-shadow:inset 3px 0 0 rgba(79,104,82,.55)}
.project-detail{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:54px;padding:8px 56px 34px 72px;background:rgba(255,255,255,.55)}
.project-description{margin:0;color:#394047;font-size:1rem;line-height:1.72;max-width:650px}
.project-facts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.project-facts li{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.84rem}
.project-facts span{color:var(--muted)}
.project-status{grid-column:1/-1;display:block;margin-top:-18px;color:#777f85;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.projects-philosophy{background:var(--white)}
.philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:start}
.philosophy-grid h2{font-size:clamp(2.25rem,3.6vw,3.7rem)}
.philosophy-grid p{color:var(--muted);font-size:1.04rem;margin-bottom:28px}
@media(max-width:900px){
  .projects-heading,.philosophy-grid{grid-template-columns:1fr;gap:28px}
  .project-entry summary{grid-template-columns:38px minmax(0,1fr) 24px;gap:16px}
  .project-summary-meta{grid-column:2;text-align:left;margin-top:-8px}
  .project-toggle{grid-column:3;grid-row:1/3}
  .project-detail{grid-template-columns:1fr;gap:26px;padding:6px 30px 30px 54px}
  .project-status{grid-column:auto;margin-top:0}
}
@media(max-width:560px){
  .projects-hero{padding:78px 0 52px}
  .projects-back{margin-bottom:24px}
  .projects-heading{margin-bottom:30px}
  .project-entry summary{grid-template-columns:28px minmax(0,1fr) 20px;gap:12px;padding:20px 0}
  .project-entry summary:hover{padding-left:6px;padding-right:6px}
  .project-index{font-size:.78rem}
  .project-summary-main strong{font-size:1.42rem}
  .project-detail{padding:4px 16px 26px 40px}
  .project-facts li{grid-template-columns:1fr;gap:3px}
}


/* Institutional marks + healthcare project — v4.9 */
.project-detail--with-logo{
  grid-template-columns:minmax(0,1fr) 190px;
  align-items:start;
}
.project-copy{min-width:0}
.project-logo,.project-logo-stack{
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:start;
  min-height:150px;
  padding:20px;
  background:rgba(255,255,255,.58);
  border:1px solid var(--line);
}
.project-logo img,.project-logo-stack img{
  display:block;
  width:auto;
  max-width:140px;
  max-height:118px;
  object-fit:contain;
  filter:saturate(.78) brightness(1.03);opacity:.82;
}
.project-logo-stack{flex-direction:column;gap:18px}
.project-logo-stack .project-logo{
  min-height:0;padding:0;border:0;background:transparent;
}
.project-entry-healthcare summary{box-shadow:inset 3px 0 0 rgba(20,116,145,.48)}
.projects-institutions{
  margin-top:72px;
  padding-top:34px;
  border-top:1px solid var(--line);
}
.projects-logo-row{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:24px;
  margin-top:24px;
  align-items:center;
}
.projects-logo-row img{
  display:block;
  width:100%;
  height:92px;
  object-fit:contain;
  opacity:.64;
  filter:saturate(.72) brightness(1.04);
  pointer-events:none;
}
@media(max-width:900px){
  .project-detail--with-logo{grid-template-columns:1fr}
  .project-logo,.project-logo-stack{justify-self:start;min-height:0;max-width:210px}
  .projects-logo-row{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .projects-logo-row{grid-template-columns:repeat(2,1fr);gap:18px}
  .projects-logo-row img{height:74px}
}


/* Retail brands — v5.4 */
.project-entry-retail summary{box-shadow:inset 3px 0 0 rgba(115,83,52,.30)}
.project-logo--brand{background:#fff}
.project-logo--brand img{
  max-width:150px;
  max-height:74px;
  opacity:.78;
  filter:saturate(.82) brightness(1.03);
}
.projects-logo-row{
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:20px;
}
.projects-logo-row img{
  height:54px;
  max-width:120px;
  justify-self:center;
}
@media(max-width:900px){
  .projects-logo-row{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:560px){
  .projects-logo-row{grid-template-columns:repeat(2,1fr)}
  .projects-logo-row img{height:46px}
}




/* Loghi enti Progetti — v6.3 */
.projects-institutions{
  margin-top:64px;
  padding-top:32px;
  border-top:1px solid var(--line);
}
.projects-logo-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:30px 36px !important;
  align-items:center !important;
  margin-top:26px !important;
  overflow:visible !important;
}
.projects-logo-row .entity-logo-item{
  position:relative;
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  overflow:visible;
}
.projects-logo-row .entity-logo-item img{
  display:block !important;
  width:auto !important;
  height:72px !important;
  max-width:175px !important;
  object-fit:contain !important;
  opacity:.70 !important;
  filter:saturate(.78) brightness(1.03) !important;
  transform:scale(1);
  transition:transform .18s ease,opacity .18s ease,filter .18s ease;
}
.projects-logo-row .entity-logo-item:hover{
  z-index:20;
}
.projects-logo-row .entity-logo-item:hover img{
  transform:scale(1.14) !important;
  opacity:.98 !important;
  filter:saturate(.96) brightness(1.02) !important;
}
.projects-logo-row .entity-logo-name{
  position:absolute;
  left:50%;
  bottom:-10px;
  transform:translate(-50%,4px);
  max-width:220px;
  padding:5px 9px;
  border-radius:3px;
  background:#11161c;
  color:#fff;
  font-size:.69rem;
  line-height:1.25;
  text-align:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.projects-logo-row .entity-logo-item:hover .entity-logo-name{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
@media(max-width:760px){
  .projects-logo-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px 16px !important;
  }
  .projects-logo-row .entity-logo-item{
    min-height:104px;
  }
  .projects-logo-row .entity-logo-item img{
    height:60px !important;
    max-width:150px !important;
  }
}
@media(max-width:430px){
  .projects-logo-row{
    grid-template-columns:1fr !important;
  }
}


/* Titolo sezione enti Progetti — v6.7 */
.projects-institutions .section-kicker{
  font-size:clamp(.88rem,1.15vw,1.08rem) !important;
  line-height:1.35 !important;
  letter-spacing:.10em !important;
  font-weight:700 !important;
}
