:root{
 --bg:#f6f8f6;
 --white:#ffffff;
 --ink:#122016;
 --muted:#647067;
 --line:#dce5dd;
 --green:#15803d;
 --green2:#22a447;
 --green-soft:#eaf6ed;
 --dark:#0c1810;
 --amber:#b7791f;
 --blue:#2563a6;
 --purple:#7352a3;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
 margin:0;
 background:var(--bg);
 color:var(--ink);
 font-family:Inter,Arial,Helvetica,sans-serif;
 line-height:1.6
}

a{color:inherit}

.wrap{
 width:min(1180px,calc(100% - 40px));
 margin:auto
}

.top{
 position:sticky;
 top:0;
 z-index:30;
 background:rgba(255,255,255,.94);
 backdrop-filter:blur(14px);
 border-bottom:1px solid var(--line)
}

.nav{
 min-height:76px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:24px
}

.brand{
 display:flex;
 align-items:center;
 gap:13px;
 text-decoration:none;
 font-weight:900
}

.brand img{
 width:150px;
 max-height:54px;
 object-fit:contain
}

.brand-fallback{
 color:var(--green);
 font-size:24px;
 letter-spacing:.04em
}

.links{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:22px
}

.links a{
 text-decoration:none;
 font-size:14px;
 font-weight:750
}

.links a:hover{color:var(--green)}

.hero{
 padding:92px 0 74px;
 background:
 radial-gradient(circle at 85% 10%,rgba(34,164,71,.13),transparent 30%),
 linear-gradient(180deg,#fff,#f6f8f6)
}

.hero-grid{
 display:grid;
 grid-template-columns:1.15fr .85fr;
 gap:65px;
 align-items:center
}

.eyebrow{
 color:var(--green);
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.12em;
 font-size:13px
}

h1{
 font-size:clamp(42px,6vw,72px);
 line-height:1.03;
 letter-spacing:-.045em;
 margin:16px 0 22px
}

.hero p{
 max-width:750px;
 font-size:20px;
 color:var(--muted)
}

.actions{
 display:flex;
 gap:12px;
 flex-wrap:wrap;
 margin-top:28px
}

.btn{
 display:inline-flex;
 min-height:46px;
 align-items:center;
 justify-content:center;
 padding:10px 17px;
 border-radius:10px;
 border:1px solid var(--line);
 background:#fff;
 color:var(--ink);
 text-decoration:none;
 font-weight:850;
 cursor:pointer
}

.btn.primary{
 background:var(--green);
 color:white;
 border-color:var(--green)
}

.hero-panel{
 background:var(--dark);
 color:white;
 padding:30px;
 border-radius:24px
}

.hero-panel h2{margin-top:0}

.pipeline{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:10px
}

.pipe{
 border:1px solid rgba(255,255,255,.14);
 border-radius:14px;
 padding:14px
}

.pipe b{
 display:block;
 font-size:25px
}

.pipe span{
 font-size:13px;
 color:#bdd0c1
}

section{padding:70px 0}

.section-head{
 display:grid;
 grid-template-columns:.75fr 1.25fr;
 gap:50px;
 margin-bottom:34px
}

.section-head h2{
 margin:0;
 font-size:38px;
 line-height:1.1
}

.section-head p{
 margin:0;
 color:var(--muted);
 font-size:17px
}

.stage-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:14px
}

.stage{
 background:#fff;
 border:1px solid var(--line);
 border-radius:18px;
 padding:20px
}

.stage strong{
 display:block;
 margin-bottom:8px
}

.stage p{
 color:var(--muted);
 font-size:14px;
 margin-bottom:0
}

.portfolio{
 background:#fff;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line)
}

.filters{
 display:grid;
 grid-template-columns:1fr 1fr 1.3fr;
 gap:12px;
 margin-bottom:25px
}

.control label{
 display:block;
 font-size:13px;
 font-weight:850;
 margin-bottom:7px
}

select{
 width:100%;
 min-height:48px;
 background:white;
 border:1px solid #ccd8ce;
 border-radius:10px;
 padding:0 12px;
 color:var(--ink);
 font-size:16px
}

.project-card{
 border:1px solid var(--line);
 border-radius:22px;
 overflow:hidden
}

.project-top{
 padding:27px;
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:20px;
 background:#fafcfa
}

.project-top h3{
 font-size:31px;
 margin:3px 0 0
}

.domain{
 color:var(--green);
 font-weight:850
}

.status{
 white-space:nowrap;
 border-radius:999px;
 padding:7px 12px;
 font-size:12px;
 font-weight:900
}

.status.online{background:#dcf5e3;color:#12652d}
.status.development{background:#e3efff;color:#174b89}
.status.study{background:#fff1cc;color:#815600}
.status.opportunity{background:#f1e9ff;color:#674296}
.status.asset{background:#e9ecea;color:#48524b}

.project-body{
 padding:27px;
 display:grid;
 grid-template-columns:1.15fr .85fr;
 gap:35px
}

.project-description{
 font-size:18px;
 margin-top:0
}

.two-col{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:20px
}

.data-box{
 background:#f7faf7;
 border:1px solid var(--line);
 border-radius:14px;
 padding:17px
}

.data-box h4{margin-top:0}

.data-box ul{
 margin:0;
 padding-left:20px
}

.risk{
 border-left:4px solid #d49122;
 background:#fff9ec;
 padding:15px 17px;
 border-radius:8px
}

.invest-box{
 background:var(--dark);
 color:white;
 border-radius:18px;
 padding:23px
}

.invest-box small{
 color:#b9c8bd
}

.invest-box .btn{
 margin-top:16px
}

.ai-notice{
 margin-top:14px;
 font-size:13px;
 color:#b9c8bd
}

.areas{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:15px
}

.area{
 background:white;
 border:1px solid var(--line);
 border-radius:17px;
 padding:21px
}

.area h3{margin-top:0}

.area p{
 color:var(--muted);
 margin-bottom:0
}

.invest{
 background:var(--dark);
 color:white
}

.invest .section-head p{color:#b9c8bd}

.invest-steps{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:14px
}

.invest-step{
 border:1px solid rgba(255,255,255,.15);
 padding:21px;
 border-radius:17px
}

.invest-step b{
 font-size:18px
}

.invest-step p{
 color:#b9c8bd;
 margin-bottom:0
}

.disclaimer{
 margin-top:28px;
 padding:18px;
 border:1px solid rgba(255,255,255,.14);
 border-radius:14px;
 color:#cbd8ce;
 font-size:14px
}

footer{
 background:#07100a;
 color:#c3d0c5;
 padding:38px 0
}

.foot{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:30px
}

.foot strong{color:white}

.hidden{display:none!important}

@media(max-width:850px){
 .hero-grid,
 .section-head,
 .project-body,
 .foot{
   grid-template-columns:1fr
 }

 .stage-grid,
 .areas,
 .invest-steps{
   grid-template-columns:1fr 1fr
 }

 .filters{
   grid-template-columns:1fr
 }

 .links{display:none}
}

@media(max-width:560px){
 .wrap{
   width:min(100% - 28px,1180px)
 }

 .hero{padding:65px 0 48px}

 .stage-grid,
 .areas,
 .invest-steps,
 .pipeline,
 .two-col{
   grid-template-columns:1fr
 }

 .project-top{
   display:block
 }

 .status{
   display:inline-block;
   margin-top:14px
 }
}


/* ==========================================================
   AREE DI INVESTIMENTO
   ========================================================== */

.investment-areas{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:16px
}

.investment-area{
 background:#fff;
 border:1px solid var(--line);
 border-radius:18px;
 overflow:hidden
}

.investment-area[open]{
 border-color:#b8d6bf
}

.investment-area summary{
 cursor:pointer;
 list-style:none;
 padding:21px 22px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 font-weight:900;
 font-size:18px
}

.investment-area summary::-webkit-details-marker{
 display:none
}

.investment-area summary::after{
 content:"+";
 color:var(--green);
 font-size:26px;
 font-weight:500;
 line-height:1
}

.investment-area[open] summary::after{
 content:"−"
}

.area-summary{
 min-width:0
}

.area-summary small{
 display:block;
 margin-top:4px;
 color:var(--muted);
 font-weight:600;
 font-size:13px
}

.investment-projects{
 border-top:1px solid var(--line);
 padding:8px 20px 18px
}

.investment-project{
 display:grid;
 grid-template-columns:1fr auto;
 gap:18px;
 align-items:center;
 padding:15px 0;
 border-bottom:1px solid #edf1ed
}

.investment-project:last-child{
 border-bottom:0
}

.investment-project-name{
 min-width:0
}

.investment-project-name strong{
 display:block;
 font-size:16px
}

.investment-project-name span{
 display:block;
 color:var(--muted);
 font-size:13px;
 margin-top:3px
}

.project-open{
 min-height:40px;
 border:1px solid var(--line);
 border-radius:9px;
 background:#fff;
 color:var(--green);
 padding:7px 12px;
 font-weight:850;
 cursor:pointer
}

.project-open:hover{
 background:var(--green-soft)
}

.area-count{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-width:28px;
 height:28px;
 padding:0 8px;
 border-radius:999px;
 background:var(--green-soft);
 color:var(--green);
 font-size:12px;
 font-weight:900
}

.portfolio-intro{
 background:var(--green-soft);
 border:1px solid #cce5d1;
 border-radius:15px;
 padding:16px 18px;
 margin-bottom:24px;
 color:#294b32
}

@media(max-width:850px){
 .investment-areas{
   grid-template-columns:1fr
 }
}

@media(max-width:520px){
 .investment-project{
   grid-template-columns:1fr
 }

 .project-open{
   width:100%
 }
}

/* ==========================================================
   AREE DI INVESTIMENTO
   ========================================================== */

.investment-areas{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:16px
}

.investment-area{
 background:#fff;
 border:1px solid var(--line);
 border-radius:18px;
 overflow:hidden
}

.investment-area[open]{
 border-color:#b8d6bf
}

.investment-area summary{
 cursor:pointer;
 list-style:none;
 padding:21px 22px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 font-weight:900;
 font-size:18px
}

.investment-area summary::-webkit-details-marker{
 display:none
}

.investment-area summary::after{
 content:"+";
 color:var(--green);
 font-size:26px;
 font-weight:500;
 line-height:1
}

.investment-area[open] summary::after{
 content:"−"
}

.area-summary{
 min-width:0
}

.area-summary small{
 display:block;
 margin-top:4px;
 color:var(--muted);
 font-weight:600;
 font-size:13px
}

.investment-projects{
 border-top:1px solid var(--line);
 padding:8px 20px 18px
}

.investment-project{
 display:grid;
 grid-template-columns:1fr auto;
 gap:18px;
 align-items:center;
 padding:15px 0;
 border-bottom:1px solid #edf1ed
}

.investment-project:last-child{
 border-bottom:0
}

.investment-project-name{
 min-width:0
}

.investment-project-name strong{
 display:block;
 font-size:16px
}

.investment-project-name span{
 display:block;
 color:var(--muted);
 font-size:13px;
 margin-top:3px
}

.project-open{
 min-height:40px;
 border:1px solid var(--line);
 border-radius:9px;
 background:#fff;
 color:var(--green);
 padding:7px 12px;
 font-weight:850;
 cursor:pointer
}

.project-open:hover{
 background:var(--green-soft)
}

.area-count{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-width:28px;
 height:28px;
 padding:0 8px;
 border-radius:999px;
 background:var(--green-soft);
 color:var(--green);
 font-size:12px;
 font-weight:900
}

.portfolio-intro{
 background:var(--green-soft);
 border:1px solid #cce5d1;
 border-radius:15px;
 padding:16px 18px;
 margin-bottom:24px;
 color:#294b32
}

@media(max-width:850px){
 .investment-areas{
   grid-template-columns:1fr
 }
}

@media(max-width:520px){
 .investment-project{
   grid-template-columns:1fr
 }

 .project-open{
   width:100%
 }
}


/* ==========================================================
   INCISTA - PORTAFOGLIO STATISTICO
   ========================================================== */

:root{
  --pie-online:#27c76f;
  --pie-development:#4f8cff;
  --pie-study:#f0b84b;
  --pie-asset:#8f6bd8;
  --pie-opportunity:#657080;
}

.portfolio-stats{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:42px;
  align-items:center;
  margin:28px 0 38px;
  padding:30px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}

.portfolio-stats-copy h3{
  margin:8px 0 6px;
  font-size:clamp(1.35rem,2vw,2rem);
}

.portfolio-stats-copy p{
  margin:0 0 20px;
  opacity:.75;
}

.pie-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
}

.pie-legend span{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:.9rem;
}

.legend-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}

.legend-dot.online{background:var(--pie-online);}
.legend-dot.development{background:var(--pie-development);}
.legend-dot.study{background:var(--pie-study);}
.legend-dot.asset{background:var(--pie-asset);}
.legend-dot.opportunity{background:var(--pie-opportunity);}

.portfolio-pie-wrap{
  display:flex;
  align-items:center;
  gap:24px;
}

.portfolio-pie{
  width:210px;
  height:210px;
  border-radius:50%;
  position:relative;
  flex:0 0 auto;
}

.portfolio-pie::after{
  content:"";
  position:absolute;
  inset:37px;
  border-radius:50%;
  background:#0b1018;
}

.pie-center{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.pie-center strong{
  font-size:2rem;
  line-height:1;
}

.pie-center span{
  margin-top:5px;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  opacity:.65;
}

.started-count{
  min-width:105px;
  text-align:center;
}

.started-count strong{
  display:block;
  font-size:2.4rem;
  line-height:1;
}

.started-count span{
  display:block;
  margin-top:7px;
  max-width:100px;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  opacity:.7;
}

.project-statuses{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}

.status.started{
  font-weight:800;
  letter-spacing:.04em;
  border:1px solid rgba(255,255,255,.22);
}

@media (max-width:800px){

  .portfolio-stats{
    grid-template-columns:1fr;
  }

  .portfolio-pie-wrap{
    justify-content:center;
  }

  .portfolio-pie{
    width:190px;
    height:190px;
  }

}


/* ==========================================================
   INCISTA - PIPELINE PRINCIPALE CON GRAFICO
   ========================================================== */

.hero-pipeline-chart{
  display:block;
}

.hero-pipeline-chart h2{
  margin-bottom:24px;
}

.hero-pie-area{
  display:flex;
  align-items:center;
  gap:28px;
}

.hero-pie{
  width:190px;
  height:190px;
  flex:0 0 190px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 18px 40px rgba(0,0,0,.22);
}

.hero-pie::after{
  inset:34px;
  background:#07180f;
}

.hero-pie-data{
  flex:1;
  min-width:0;
}

.hero-started{
  text-align:left;
  margin-bottom:20px;
}

.hero-started strong{
  font-size:2.8rem;
}

.hero-started span{
  max-width:none;
}

.hero-legend{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.hero-legend span{
  display:grid;
  grid-template-columns:12px 1fr auto;
  gap:8px;
  align-items:center;
}

.hero-legend b{
  font-size:1rem;
}

.pipeline-note{
  margin-top:24px !important;
  font-size:.95rem;
  opacity:.70;
}

@media (max-width:1050px){

  .hero-pie-area{
    flex-direction:column;
    align-items:flex-start;
  }

  .hero-pie{
    align-self:center;
  }

  .hero-pie-data{
    width:100%;
  }
}

@media (max-width:700px){

  .hero-pie{
    width:170px;
    height:170px;
    flex-basis:170px;
  }

}


/* ==========================================================
   INCISTA - PIPELINE PRINCIPALE CON GRAFICO
   ========================================================== */

.hero-pipeline-chart{
  display:block;
}

.hero-pipeline-chart h2{
  margin-bottom:24px;
}

.hero-pie-area{
  display:flex;
  align-items:center;
  gap:28px;
}

.hero-pie{
  width:190px;
  height:190px;
  flex:0 0 190px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 18px 40px rgba(0,0,0,.22);
}

.hero-pie::after{
  inset:34px;
  background:#07180f;
}

.hero-pie-data{
  flex:1;
  min-width:0;
}

.hero-started{
  text-align:left;
  margin-bottom:20px;
}

.hero-started strong{
  font-size:2.8rem;
}

.hero-started span{
  max-width:none;
}

.hero-legend{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.hero-legend span{
  display:grid;
  grid-template-columns:12px 1fr auto;
  gap:8px;
  align-items:center;
}

.hero-legend b{
  font-size:1rem;
}

.pipeline-note{
  margin-top:24px !important;
  font-size:.95rem;
  opacity:.70;
}

@media (max-width:1050px){

  .hero-pie-area{
    flex-direction:column;
    align-items:flex-start;
  }

  .hero-pie{
    align-self:center;
  }

  .hero-pie-data{
    width:100%;
  }
}

@media (max-width:700px){

  .hero-pie{
    width:170px;
    height:170px;
    flex-basis:170px;
  }

}

.status.upcoming{
  font-weight:800;
  letter-spacing:.04em;
  border:1px solid rgba(255,255,255,.18);
  opacity:.95;
}

