@font-face{font-family:"ArialWeb";src:url("assets/fonts/arial.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"ArialWeb";src:url("assets/fonts/arial-bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"ArialWeb";src:url("assets/fonts/arial-italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"ArialWeb";src:url("assets/fonts/arial-bold-italic.ttf") format("truetype");font-weight:700;font-style:italic;font-display:swap}

:root{
--cp-ff-body:"ArialWeb",Arial,Helvetica,sans-serif;
--cp-ff-heading:"ArialWeb",Arial,Helvetica,sans-serif;
--cp-ff-p:"ArialWeb",Arial,Helvetica,sans-serif;
--spago-brown:#945553;
--spago-brown-dark:#945553;
--cp-color-theme-primary:#945553;
--spago-red:#c0504d;
--spago-text:#3a3a3a;
--spago-text-light:#f3e9e7;
--spago-card-bg:#efe6e4;
--eu-blue:#003399;
--eu-yellow:#FFCC00;
--piemonte-grey:#8c8c8c;
--piemonte-red:#c0392b;
--rurale-teal:#0a6e6e;
}

/* === BASE === */
body{font-family:var(--cp-ff-body);color:var(--spago-text)}

/* === LAYOUT === */
.spago-container{max-width:1140px;margin:0 auto;padding:0 1rem}

/* === HEADER === */
.header{position:relative}
.header .primary-header a{color:var(--spago-brown)!important;text-transform:inherit!important}
.header .primary-header-inner .header-menu-wrap ul li{margin:0 15px}
.primary-header.fixed{background-color:#fff}

/* === HERO === */
.hero-content{padding:200px 0}
.hero-content .hero-content-inner .title{font-size:60px}

/* === SHARED: BADGE + HEADING === */
.spago-number{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--spago-brown);color:#fff;font-weight:700;font-size:1.1rem;border-radius:4px;flex-shrink:0}
.spago-heading{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem}
.spago-heading h2{font-weight:700;font-size:1.9rem;color:#222;margin:0}

/* === FUNDING BANNER === */
.funding-banner{padding:2.5rem 1rem;background:#fff}
.funding-text{max-width:760px;margin:0 auto;text-align:center;font-size:.92rem;line-height:1.55;color:#222}
.logos-row{display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap;margin-bottom:1.75rem}
.logo-item{display:flex;align-items:center;height:60px}
.eu-flag{width:90px;height:60px;background:var(--eu-blue);position:relative;flex-shrink:0}
.eu-flag .star{position:absolute;color:var(--eu-yellow);font-size:9px;transform:translate(-50%,-50%)}
.it-emblem{width:54px;height:60px;display:flex;align-items:center;justify-content:center}
.it-emblem svg{width:100%;height:100%}
.piemonte-logo{display:flex;align-items:center;gap:.6rem}
.piemonte-mark{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;width:46px;height:46px;gap:2px}
.piemonte-mark span{background:var(--piemonte-grey)}
.piemonte-mark span:nth-child(2),.piemonte-mark span:nth-child(3){background:var(--piemonte-red)}
.piemonte-text{font-family:Georgia,"Times New Roman",serif;line-height:1.05;text-align:left}
.piemonte-text .top{font-size:1.05rem;letter-spacing:.06em;color:#1a1a1a}
.piemonte-text .bottom{font-size:1.15rem;font-weight:700;letter-spacing:.04em;color:#1a1a1a}
.rurale-logo{display:flex;align-items:center;gap:.55rem}
.rurale-icon{width:34px;height:42px}
.rurale-text{text-align:left;line-height:1.15}
.rurale-text .line1{font-size:.78rem;font-weight:700;color:#1a1a1a}
.rurale-text .line2{font-size:.95rem;font-weight:800;color:var(--rurale-teal)}
.rurale-text .line2 span{color:#1a1a1a}

/* === S01: IL PROGETTO IN SINTESI === */
.progetto-sintesi-section{padding:4rem 0;background:#fff}
.progetto-sintesi-section p{font-size:.97rem;line-height:1.65;color:var(--spago-text)}
.progetto-sintesi-section .highlight{color:var(--spago-red);font-weight:600}
.progetto-sintesi-section h5{font-weight:700;font-size:1.05rem;color:#222;margin-top:1.4rem;margin-bottom:.4rem}
.progetto-sintesi-section h5:first-of-type{margin-top:0}
.progetto-sintesi-section .info-block p{margin-bottom:1.1rem;font-size:.93rem}

/* === S02: PERCHÉ NASCE SPAGO === */
.perche-spago-section{background:var(--spago-brown);color:var(--spago-text-light);padding:0;overflow:hidden}
.perche-spago-section .row{--bs-gutter-x:0}
.perche-spago-section .perche-img-col{min-height:100%;display:flex;align-items:stretch;background:#fff}
.perche-spago-section .perche-img-col img{width:100%;height:100%;object-fit:cover;object-position:center;min-height:320px}
.perche-spago-section .perche-content-col{padding:3.5rem 3rem}
.perche-spago-section .spago-number,.partenariato-section .spago-number{background:#fff;color:var(--spago-brown)}
.perche-spago-section .spago-heading h2,.partenariato-section .spago-heading h2{color:#fff}
.perche-spago-section h3.subtitle{font-weight:700;font-size:1.4rem;color:#fff;margin-bottom:1.25rem;line-height:1.3}
.perche-spago-section p{font-size:.92rem;line-height:1.65;color:var(--spago-text-light);opacity:.95}
.perche-spago-section p strong{color:#fff}

/* === S03: L'INNOVAZIONE === */
.innovazione-section{padding:4rem 0;background:#fff}
.innovazione-section .intro-title{font-weight:700;font-size:1.3rem;color:#222;line-height:1.35;margin-bottom:1.25rem}
.innovazione-section .intro-text p{font-size:.95rem;line-height:1.65;color:var(--spago-text);margin-bottom:1rem}
.innovazione-card{margin-top:2rem}
.innovazione-card .card-label{display:inline-block;background:var(--spago-brown);color:#fff;font-weight:700;font-size:.95rem;padding:.55rem 1.1rem;border-radius:3px;margin-bottom:1rem}
.innovazione-card p{font-size:.88rem;line-height:1.6;color:var(--spago-text);margin-bottom:.85rem}
.innovazione-card p:last-child{margin-bottom:0}

/* === S04: COME SI SVILUPPA === */
.sviluppo-section{padding:4rem 0;background:#fff}
.sviluppo-section .sviluppo-img-col img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.sviluppo-section .spago-heading{margin-bottom:1.5rem}
.sviluppo-section .sviluppo-text p{font-size:.92rem;line-height:1.65;color:var(--spago-text);margin-bottom:1.1rem}
.sviluppo-section .sviluppo-text p:last-child{margin-bottom:0}

/* === S05: A CHI SI RIVOLGE === */
.target-section{padding:4rem 0;background:#fff}
.target-section .subtitle{font-weight:700;font-size:1.2rem;color:#222;margin-bottom:.75rem;margin-left:calc(42px + 1rem)}
.target-section .intro-text{font-size:.92rem;line-height:1.6;color:var(--spago-text);margin-bottom:2rem;margin-left:calc(42px + 1rem);max-width:600px}
.target-card{background:var(--spago-card-bg);border-radius:4px;overflow:hidden;height:100%}
.target-card .card-header-box{background:var(--spago-brown);color:#fff;font-weight:700;font-size:.95rem;line-height:1.3;padding:.85rem 1.1rem;margin:.9rem .9rem 0;border-radius:3px}
.target-card .card-body-text{padding:1rem 1.1rem 1.3rem}
.target-card .card-body-text p{font-size:.85rem;line-height:1.6;color:var(--spago-text);margin:0}

/* === S06: DIVULGAZIONE === */
.divulgazione-section{padding:4rem 0;background:#fff}
.divulgazione-section .divulgazione-img-col img{width:100%;height:100%;object-fit:cover;border-radius:4px;min-height:320px}
.divulgazione-section .subtitle{font-weight:700;font-size:1.2rem;color:#222;margin-bottom:1.1rem}
.divulgazione-section .divulgazione-text p{font-size:.92rem;line-height:1.65;color:var(--spago-text);margin-bottom:1.1rem}
.divulgazione-section .divulgazione-text p:last-child{margin-bottom:0}
.divulgazione-section .divulgazione-text strong{color:#222}

/* === S07: PARTENARIATO === */
.partenariato-section{background:var(--spago-brown-dark);padding:3.5rem 0;color:#fff}
.partenariato-section .subtitle{font-weight:700;font-size:1.15rem;color:#fff;margin-left:calc(42px + 1rem);margin-bottom:.4rem}
.partenariato-section .intro-text{font-size:.85rem;line-height:1.55;color:rgba(255,255,255,.9);margin-left:calc(42px + 1rem);max-width:500px;margin-bottom:2.2rem}
.partner-card{margin-bottom:2.2rem}
.partner-card .logo-wrap{height:60px;display:flex;align-items:center;margin-bottom:1rem}
.partner-card .logo-wrap img{max-height:55px;max-width:170px;object-fit:contain}
.partner-card .name-box{display:inline-block;border:1px solid rgba(255,255,255,.6);color:#fff;font-size:.8rem;font-weight:600;padding:.4rem .8rem;border-radius:2px;margin-bottom:.8rem}
.partner-card p{font-size:.8rem;line-height:1.55;color:rgba(255,255,255,.9);margin:0}

/* === NEWS === */
.news-section{background:#fff;padding:4rem 0}
.news-card{border:1px solid #e3dcdb;border-radius:4px;overflow:hidden;height:100%;display:flex;flex-direction:column}
.news-card .news-thumb{background:#d9d9d9;aspect-ratio:16/10;width:100%}
.news-card .news-body{padding:1.1rem 1.25rem 1.4rem;flex:1;display:flex;flex-direction:column}
.news-card .news-date{font-size:.78rem;color:#777;margin-bottom:.5rem}
.news-card .news-title{font-size:1.05rem;font-weight:700;color:#222;margin-bottom:.5rem;line-height:1.3}
.news-card .news-excerpt{font-size:.85rem;line-height:1.55;color:var(--spago-text);margin-bottom:.9rem;flex:1}
.news-card .news-link{font-size:.85rem;font-weight:600;color:var(--spago-red);text-decoration:underline}
.news-card .news-link:hover{color:var(--spago-brown-dark)}

/* === FINANZIAMENTI === */
.finanziamenti-section{padding:3.5rem 1rem;background:#fff;text-align:center}
.finanziamenti-section h2{font-weight:600;font-size:2rem;color:#1a1a1a;margin-bottom:1.75rem}
.finanziamenti-text{max-width:680px;margin:0 auto 2.25rem;font-size:.9rem;line-height:1.55;color:#333}

/* === TIMELINE FASI === */
.fasi-section{padding:4rem 0;background:#fff}
.timeline{position:relative;padding:0}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:#d9cac9;transform:translateX(-50%);z-index:0}
.fase-row{display:flex;align-items:flex-start;margin-bottom:3.5rem;position:relative}
.fase-row::before{content:'';position:absolute;left:50%;top:1.6rem;width:14px;height:14px;background:var(--spago-brown);border-radius:50%;transform:translateX(-50%);z-index:1}
.fase-row.left .fase-card{margin-right:calc(50% + 2rem);margin-left:0;text-align:left}
.fase-row.right .fase-card{margin-left:calc(50% + 2rem);margin-right:0;text-align:left}
.fase-card{flex:1}
.fase-card h3{font-size:1.4rem;font-weight:700;color:#222;margin-bottom:.25rem;line-height:1.25}
.fase-card .fase-subtitle{font-size:1rem;font-weight:600;color:var(--spago-brown);margin-bottom:.75rem}
.fase-card ul{padding-left:1.2rem;margin-bottom:1rem}
.fase-card ul li{font-size:.84rem;line-height:1.55;color:var(--spago-text);margin-bottom:.2rem}
.risultato-box{background:var(--spago-brown);color:#fff;border-radius:3px;padding:.8rem 1rem;font-size:.8rem;line-height:1.5}
.risultato-box strong{display:block;font-weight:700;margin-bottom:.25rem;font-size:.83rem}

/* === ATTIVITA PAGE === */
.attivita-intro-section{padding:5rem 0 4rem;background:#fff}
.attivita-intro-section h1{font-size:2rem;font-weight:700;color:#222;line-height:1.25;margin-bottom:1.5rem}
.attivita-intro-section p{font-size:.93rem;line-height:1.65;color:var(--spago-text);margin-bottom:1rem}
.attivita-intro-section p:last-child{margin-bottom:0}
.attivita-intro-img{width:100%;height:100%;object-fit:cover;border-radius:4px;min-height:280px}
.obiettivi-section{background:var(--spago-brown);padding:3.5rem 0;color:#fff}
.obiettivi-section h2{font-size:1.6rem;font-weight:700;color:#fff;margin-bottom:.6rem}
.obiettivi-section .obiettivi-intro{font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.88);margin-bottom:2.2rem;max-width:780px}
.obiettivo-card{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:1.5rem}
.obiettivo-number{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;background:#fff;color:var(--spago-brown);font-weight:700;font-size:.85rem;border-radius:3px;flex-shrink:0}
.obiettivo-card p{font-size:.83rem;line-height:1.5;color:rgba(255,255,255,.92);margin:0;padding-top:.35rem}

/* === WORK IN PROGRESS === */
.wip-wrapper{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:4rem 1rem;background:#fff}
.wip-inner{text-align:center;max-width:480px}
.wip-inner img{max-width:100%;margin-bottom:2rem}
.wip-inner h1{font-size:1.55rem;font-weight:600;color:var(--spago-brown);margin-bottom:1.1rem;line-height:1.3}
.wip-inner .wip-divider{width:40px;height:3px;background:var(--spago-brown);margin:0 auto 1.2rem;border-radius:2px}
.wip-inner p{font-size:.92rem;line-height:1.6;color:#555;margin:0}

/* === FOOTER === */
.footer-section.footer-1::before{content:none}
.footer-section.footer-1{background:var(--spago-brown-dark);padding-top:3rem}
.footer-section.footer-1 .footer-wrap{padding:1.5rem 0 2.5rem}
.footer-section.footer-1 .widget-header .footer-logo a{font-family:var(--cp-ff-heading);font-size:1.9rem;font-weight:700;color:#fff}
.footer-section.footer-1 .footer-widget p{color:var(--spago-text-light);font-size:.9rem;line-height:1.55;margin-bottom:0}
.footer-section.footer-1 .footer-widget p strong{color:#fff}
.footer-section.footer-1 .widget-title{color:#fff;font-size:1.05rem;font-weight:700;margin-bottom:.6rem}
.footer-section.footer-1 .footer-list,.footer-section.footer-1 .address-list{list-style:none;margin:0;padding:0}
.footer-section.footer-1 .footer-list li,.footer-section.footer-1 .address-list li{color:var(--spago-text-light);font-size:.9rem;line-height:1.55}
.footer-section.footer-1 .footer-list li a,.footer-section.footer-1 .address-list li a{color:var(--spago-text-light)}
.footer-section.footer-1 .footer-list li a:hover,.footer-section.footer-1 .address-list li a:hover{color:#fff;text-decoration:underline}
.footer-section.footer-1 .footer-col-2 .footer-list li{margin-bottom:.25rem}
.copyright-area{border-top:1px solid rgba(255,255,255,.25);padding:1.1rem 0;background:var(--spago-brown-dark)}
.copyright-content{text-align:center}
.copyright-content .footer-links-row{list-style:none;display:flex;justify-content:center;gap:1.5rem;margin:0 0 .9rem;padding:0}
.copyright-content .footer-links-row a{color:var(--spago-text-light);font-size:.82rem}
.copyright-content .footer-links-row a:hover{color:#fff;text-decoration:underline}
.copyright-content p{color:var(--spago-text-light);font-size:.8rem;margin:0}
.copyright-content p a{color:#fff;font-weight:600}
.copyright-content p a:hover{text-decoration:underline}

/* === RESPONSIVE === */
@media(max-width:767.98px){
.perche-spago-section .perche-content-col{padding:2.5rem 1.5rem}
.timeline::before{left:14px}
.fase-row::before{left:14px;transform:none}
.fase-row.left .fase-card,.fase-row.right .fase-card{margin-left:2.5rem;margin-right:0;text-align:left}
}
@media(max-width:991.98px){
.target-section .subtitle,.target-section .intro-text,
.partenariato-section .subtitle,.partenariato-section .intro-text{margin-left:0}
}
@media(max-width:576px){
.logos-row{gap:1.4rem}
.funding-text,.finanziamenti-text{font-size:.82rem}
.finanziamenti-section h2{font-size:1.6rem}
}
.header .primary-header-inner .header-menu-wrap ul li a{position: relative;text-decoration: none;padding-bottom: 3px;
}
.header .primary-header-inner .header-menu-wrap ul li a::after{content: '';position: absolute;left: 0;bottom: 0;width: 0;height: 2px;background: var(--spago-brown);border-radius: 2px;transition: width .25s ease;
}
.header .primary-header-inner .header-menu-wrap ul li a:hover::after,
.header .primary-header-inner .header-menu-wrap ul li a.nav-active::after{width: 100%;
}