@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%;
}


.news-header {
    padding: 110px 0 90px;
    background: #f3efe4;
    text-align: center;
}

.news-header__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: #8a1f2d;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.news-header h1 {
    max-width: 850px;
    margin: 0 auto 20px;
    color: #28251f;
    font-size: clamp(40px, 6vw, 72px);
    line-height: 1.05;
}

.news-header p {
    max-width: 720px;
    margin: 0 auto;
    color: #5f5a51;
    font-size: 18px;
    line-height: 1.7;
}

.news-list-section {
    padding: 90px 0 110px;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px;
}

.news-card {
    overflow: hidden;
    border: 1px solid #e4e0d7;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(28, 24, 18, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

    .news-card:hover {
        transform: translateY(-7px);
        box-shadow: 0 20px 45px rgba(28, 24, 18, 0.13);
    }

.news-card__image {
    position: relative;
    display: block;
    height: 260px;
    overflow: hidden;
    background: #ece7dc;
}

    .news-card__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.4s ease;
    }

.news-card:hover .news-card__image img {
    transform: scale(1.04);
}

.news-card__placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #8a1f2d, #b88346);
    color: #fff;
    font-size: 31px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.news-card__featured {
    position: absolute;
    top: 18px;
    left: 18px;
    padding: 7px 13px;
    border-radius: 999px;
    background: #8a1f2d;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.news-card__content {
    padding: 28px;
}

    .news-card__content time {
        color: #8a1f2d;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    .news-card__content h2 {
        margin: 13px 0;
        font-size: 25px;
        line-height: 1.25;
    }

        .news-card__content h2 a {
            color: #28251f;
            text-decoration: none;
        }

    .news-card__content p {
        display: -webkit-box;
        overflow: hidden;
        margin-bottom: 23px;
        color: #68625a;
        line-height: 1.7;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

.news-card__link {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    color: #8a1f2d;
    font-weight: 700;
    text-decoration: none;
}

.news-empty {
    padding: 80px 25px;
    border: 1px solid #e4e0d7;
    border-radius: 18px;
    text-align: center;
}

.news-pagination {
    display: flex;
    gap: 25px;
    align-items: center;
    justify-content: center;
    margin-top: 65px;
}

.news-pagination__pages {
    display: flex;
    gap: 8px;
}

.news-pagination a,
.news-pagination span {
    display: inline-flex;
    min-width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd7cb;
    border-radius: 50%;
    color: #28251f;
    text-decoration: none;
}

    .news-pagination span.active {
        border-color: #8a1f2d;
        background: #8a1f2d;
        color: #fff;
    }

.news-pagination .news-pagination__arrow {
    width: auto;
    padding: 0 17px;
    border-radius: 999px;
}

/* Dettaglio */

.news-detail {
    padding-bottom: 100px;
}

.news-detail__header {
    padding: 85px 0 160px;
    background: #f3efe4;
}

.news-detail__header-inner {
    max-width: 940px;
}

.news-detail__back {
    display: inline-block;
    margin-bottom: 42px;
    color: #8a1f2d;
    font-weight: 700;
    text-decoration: none;
}

.news-detail__meta {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 20px;
    color: #8a1f2d;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.news-detail__header h1 {
    max-width: 900px;
    margin-bottom: 25px;
    color: #28251f;
    font-size: clamp(40px, 6vw, 70px);
    line-height: 1.08;
}

.news-detail__intro {
    max-width: 820px;
    margin: 0;
    color: #5f5a51;
    font-size: 21px;
    line-height: 1.7;
}

.news-detail__cover {
    position: relative;
    z-index: 2;
    overflow: hidden;
    max-width: 1100px;
    margin: -100px auto 65px;
    border-radius: 22px;
    box-shadow: 0 20px 55px rgba(28, 24, 18, 0.18);
}

    .news-detail__cover img {
        display: block;
        width: 100%;
        max-height: 670px;
        object-fit: cover;
    }

.news-detail__body {
    max-width: 860px;
    margin: 0 auto;
    color: #49453f;
    font-size: 18px;
    line-height: 1.85;
}

    .news-detail__body h2,
    .news-detail__body h3 {
        margin-top: 45px;
        margin-bottom: 18px;
        color: #28251f;
    }

    .news-detail__body img {
        max-width: 100%;
        height: auto;
        margin: 25px 0;
        border-radius: 14px;
    }

    .news-detail__body a {
        color: #8a1f2d;
    }

.news-detail__footer {
    max-width: 860px;
    margin: 60px auto 0;
    padding-top: 28px;
    border-top: 1px solid #ddd7cb;
}

    .news-detail__footer a {
        color: #8a1f2d;
        font-weight: 700;
        text-decoration: none;
    }

@media (max-width: 991px) {
    .news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .news-header {
        padding: 75px 0 65px;
    }

    .news-list-section {
        padding: 60px 0 80px;
    }

    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card__image {
        height: 230px;
    }

    .news-pagination {
        flex-wrap: wrap;
    }

    .news-detail__header {
        padding: 60px 0 125px;
    }

    .news-detail__cover {
        margin-top: -75px;
        margin-bottom: 45px;
        border-radius: 14px;
    }

    .news-detail__body {
        font-size: 17px;
    }
}