:root{
    --blue:#05294d;
    --blue2:#0b3b68;
    --green:#47762f;
    --green2:#5f8a40;
    --cream:#f7f1e8;
    --sand:#d3c0a0;
    --ink:#17202a;
    --muted:#667085;
    --border:#e7e1d7;
    --white:#fff;
    --shadow:0 18px 50px rgba(16,24,40,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fbf8f2;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit}
.container{width:min(1180px,calc(100% - 34px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(211,192,160,.45);backdrop-filter:blur(10px)}
.header-inner{min-height:84px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{width:138px;height:auto;display:block}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:14px;font-weight:700;color:var(--blue)}
.main-nav a{text-decoration:none;padding:10px 0;border-bottom:2px solid transparent}
.main-nav a:hover{border-color:var(--green)}
.language-switch{min-width:120px;font-size:12px}
.menu-toggle{display:none;background:var(--blue);color:white;border:0;border-radius:8px;padding:10px 14px;font-weight:700}
.hero{position:relative;min-height:680px;background:url('../img/hero-naro.jpg') center/cover no-repeat;color:white;display:flex;align-items:center;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,41,77,.92),rgba(5,41,77,.52),rgba(5,41,77,.18))}
.hero-inner{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:46px;align-items:center}
.hero-copy{max-width:720px}
.kicker{margin:0 0 13px;text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:800;color:var(--green2)}
.hero .kicker{color:#d8e7cd}
h1,h2,h3{margin:0;color:var(--blue)}
.hero h1,.page-hero h1{font-family:Georgia,'Times New Roman',serif;color:white;font-size:clamp(48px,7vw,92px);line-height:.93;letter-spacing:-.04em}
.hero .lead{font-size:22px;max-width:650px;color:rgba(255,255,255,.92);margin:24px 0 0}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border-radius:10px;border:0;text-decoration:none;font-weight:800;cursor:pointer;box-shadow:0 10px 25px rgba(0,0,0,.10)}
.btn-green{background:var(--green);color:white}
.btn-blue{background:var(--blue);color:white}
.btn-light{background:white;color:var(--blue)}
.hero-panel{background:rgba(255,255,255,.94);color:var(--ink);border-radius:20px;padding:24px;box-shadow:var(--shadow);display:grid;gap:12px}
.panel-item{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;border-bottom:1px solid var(--border);padding:8px 0 15px}
.panel-item:last-child{border-bottom:0;padding-bottom:0}
.panel-item strong{text-transform:uppercase;color:var(--green);font-size:18px}
.panel-item span{color:#334155;font-size:15px}
.action-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:-78px;position:relative;z-index:5}
.action-card{border-radius:22px;padding:34px;min-height:245px;color:white;box-shadow:var(--shadow);position:relative;overflow:hidden}
.action-card h2{font-family:Georgia,'Times New Roman',serif;color:white;font-size:35px;line-height:1.05}
.action-card p{font-size:17px;max-width:480px}
.action-card a{display:inline-flex;background:white;color:var(--blue);border-radius:9px;padding:12px 16px;text-decoration:none;font-weight:800;margin-top:10px}
.action-card.sell{background:linear-gradient(135deg,var(--green),#2d541d)}
.action-card.buy{background:linear-gradient(135deg,var(--blue),#021a32)}
.big-number{position:absolute;right:26px;top:18px;font-size:80px;font-weight:900;opacity:.12}
.section{padding:74px 0}
.section-head{max-width:760px;margin-bottom:30px}
.section-head h2,.split h2,.regolamento-box h2,.content-main h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,4vw,55px);line-height:1}
.naro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.naro-grid article{background:white;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(16,24,40,.07)}
.naro-grid img{width:100%;height:210px;object-fit:cover;display:block}
.naro-grid h3{font-size:20px;padding:20px 20px 0}
.naro-grid p{padding:0 20px 22px;color:#475467}
.soft{background:linear-gradient(180deg,#f6f0e6,#fbf8f2)}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}
.steps div{background:white;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:0 8px 22px rgba(16,24,40,.06)}
.steps span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--green);color:white;font-weight:900;margin-bottom:14px}
.steps strong{display:block;color:var(--blue);font-size:20px}
.regolamento-box{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:var(--blue);color:white;border-radius:22px;padding:38px;box-shadow:var(--shadow)}
.regolamento-box h2{color:white}
.regolamento-box p{color:rgba(255,255,255,.86)}
.doc-actions{display:flex;gap:12px;flex-wrap:wrap}
.site-footer{background:var(--blue);color:white;padding:38px 0}
.site-footer a{color:white;font-weight:800}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:32px}
.footer-grid p{color:rgba(255,255,255,.78)}
.page-hero{position:relative;color:white;background:center/cover no-repeat;isolation:isolate}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,41,77,.90),rgba(5,41,77,.45));z-index:-1}
.page-hero.compact{padding:96px 0}
.page-hero p:not(.kicker){font-size:21px;max-width:780px;color:rgba(255,255,255,.90)}
.content-layout{display:grid;grid-template-columns:1fr 340px;gap:38px}
.content-main p{font-size:18px;color:#475467}
.side-card,.two-modes article,.filter-box,.empty-state,.detail-card,.contact-cards article{background:white;border:1px solid var(--border);border-radius:18px;padding:26px;box-shadow:0 8px 22px rgba(16,24,40,.06)}
.two-modes{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.two-modes h2{font-family:Georgia,'Times New Roman',serif;font-size:36px;line-height:1.05;margin:12px 0 18px}
.two-modes li{margin:10px 0}
.label{display:inline-flex;color:white;border-radius:8px;padding:8px 13px;text-transform:uppercase;font-weight:900;font-size:13px}
.label.green{background:var(--green)}
.label.blue{background:var(--blue)}
.form-section{padding:60px 0 76px}
.smart-form{background:white;border:1px solid var(--border);border-radius:22px;padding:34px;box-shadow:var(--shadow)}
.smart-form h2{font-family:Georgia,'Times New Roman',serif;font-size:31px;margin:24px 0 16px}
.smart-form h2:first-child{margin-top:0}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
label{display:flex;flex-direction:column;gap:7px;color:var(--blue);font-weight:800;font-size:14px}
input,select,textarea{width:100%;border:1px solid #cfd4dc;border-radius:10px;padding:13px 14px;font:inherit;background:white}
textarea{min-height:112px;resize:vertical}
.checkbox{flex-direction:row;align-items:center;color:var(--ink);font-weight:600;margin:22px 0}
.checkbox input{width:auto}
.full{grid-column:1/-1}
.success,.error{padding:16px 18px;border-radius:12px;margin-bottom:20px}
.success{background:#e7f4e4;border:1px solid #b9ddb3}
.error{background:#fde7e7;border:1px solid #efb4b4}
.catalog-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}
.filter-box{position:sticky;top:106px}
.filter-box h2{font-size:25px;margin-bottom:18px}
.filter-box label{margin:12px 0}
.map{height:430px;border-radius:20px;border:1px solid var(--border);overflow:hidden;margin-bottom:24px;box-shadow:0 8px 22px rgba(16,24,40,.06)}
.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.property-card{background:white;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 8px 22px rgba(16,24,40,.06)}
.property-card img{width:100%;height:190px;object-fit:cover;display:block}
.property-body{padding:20px}
.property-body h2{font-size:24px;margin:10px 0}
.tag{display:inline-flex;background:#eef6e8;color:var(--green);border:1px solid #cfe3c1;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;text-transform:uppercase}
.property-body a{font-weight:900;color:var(--blue)}
.property-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}
.property-detail img{width:100%;height:520px;object-fit:cover;border-radius:22px;box-shadow:var(--shadow)}
.data-list{padding-left:18px}
.data-list li{margin:8px 0}
.accordion details{background:white;border:1px solid var(--border);border-radius:16px;padding:20px 22px;margin-bottom:14px;box-shadow:0 8px 22px rgba(16,24,40,.05)}
.accordion summary{cursor:pointer;color:var(--blue);font-size:19px;font-weight:900}
.document-list{display:grid;gap:18px}
.document-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:white;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 8px 22px rgba(16,24,40,.06)}
.document-card h2{font-size:28px;margin:10px 0}
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.contact-cards strong{display:block;color:var(--blue);font-size:20px;margin-bottom:8px}
@media(max-width:980px){
    .header-inner{flex-wrap:wrap;padding:12px 0}
    .brand img{width:112px}
    .menu-toggle{display:inline-flex;margin-left:auto}
    .main-nav{display:none;order:4;width:100%;flex-direction:column;align-items:flex-start;padding:8px 0 15px}
    .main-nav.is-open{display:flex}
    .language-switch{order:3;margin-left:auto}
    .hero{min-height:720px}
    .hero-inner,.action-cards,.naro-grid,.split,.two-modes,.content-layout,.catalog-layout,.property-detail,.footer-grid,.form-grid,.contact-cards{grid-template-columns:1fr}
    .hero-panel{margin-top:20px}
    .action-cards{margin-top:-40px}
    .property-grid{grid-template-columns:1fr}
    .filter-box{position:static}
    .regolamento-box{grid-template-columns:1fr}
    .page-hero.compact{padding:76px 0}
}


/* ADMIN PANEL - Case a 1 Euro Naro */
body.admin-body{
    margin:0;
    background:#f3f5f7;
    color:#17202a;
    font-family:Arial,Helvetica,sans-serif;
}
.admin-layout{
    display:grid;
    grid-template-columns:280px 1fr;
    min-height:100vh;
    background:#f3f5f7;
}
.admin-sidebar{
    background:linear-gradient(180deg,#05294d,#021a32);
    color:#fff;
    padding:28px 22px;
    position:sticky;
    top:0;
    min-height:100vh;
    box-shadow:14px 0 36px rgba(5,41,77,.16);
}
.admin-sidebar h2{
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:34px;
    line-height:1;
    margin:0 0 18px;
}
.admin-sidebar p{
    color:rgba(255,255,255,.75);
    font-size:14px;
    margin:0 0 24px;
    line-height:1.5;
}
.admin-sidebar a{
    display:flex;
    align-items:center;
    min-height:42px;
    padding:10px 12px;
    margin:4px 0;
    color:#fff;
    text-decoration:none;
    border-radius:10px;
    font-weight:700;
    font-size:14px;
    transition:background .18s ease, transform .18s ease;
}
.admin-sidebar a:hover{
    background:rgba(255,255,255,.13);
    transform:translateX(2px);
}
.admin-main{
    padding:34px;
    background:#f3f5f7;
}
.admin-main h1{
    color:#05294d;
    font-family:Georgia,'Times New Roman',serif;
    font-size:46px;
    line-height:1;
    margin:0 0 24px;
    letter-spacing:-.03em;
}
.admin-main h2{
    color:#05294d;
    font-family:Georgia,'Times New Roman',serif;
}
.dashboard-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:24px;
}
.admin-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:24px;
    margin-bottom:22px;
    box-shadow:0 12px 28px rgba(16,24,40,.07);
}
.dashboard-grid .admin-card strong{
    display:block;
    color:#667085;
    text-transform:uppercase;
    letter-spacing:.07em;
    font-size:12px;
    margin-bottom:10px;
}
.dashboard-grid .admin-card h2{
    font-family:Arial,Helvetica,sans-serif;
    font-size:42px;
    color:#05294d;
    margin:0;
}
.admin-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 12px 28px rgba(16,24,40,.06);
}
.admin-table th{
    background:#f8fafc;
    color:#05294d;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.admin-table th,
.admin-table td{
    padding:13px 14px;
    border-bottom:1px solid #edf0f3;
    text-align:left;
    vertical-align:top;
}
.admin-table tr:last-child td{
    border-bottom:0;
}
.admin-table a{
    color:#05294d;
    font-weight:800;
}
.admin-main .btn{
    box-shadow:none;
    margin:0 6px 8px 0;
}
.admin-main form.admin-card,
.admin-main .form-grid{
    background:#fff;
}
.admin-main pre{
    white-space:pre-wrap;
    overflow:auto;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:16px;
    font-size:13px;
}
.admin-main input,
.admin-main select,
.admin-main textarea{
    background:#fff;
}
.admin-main textarea{
    min-height:120px;
}
.admin-sidebar-logo{
    width:142px;
    height:auto;
    display:block;
    margin:0 0 22px;
    border-radius:12px;
    background:#fff;
    padding:8px;
}
.admin-stats-row{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}
@media(max-width:980px){
    .admin-layout{
        grid-template-columns:1fr;
    }
    .admin-sidebar{
        position:relative;
        min-height:auto;
    }
    .admin-sidebar a{
        display:inline-flex;
        margin:4px;
    }
    .dashboard-grid,
    .admin-stats-row{
        grid-template-columns:1fr;
    }
    .admin-main{
        padding:22px;
    }
    .admin-main h1{
        font-size:36px;
    }
}


/* MASTER MOCKUP V3 - HOME FULL WIDTH */
body{
    background:#fbf8f2;
}
.container{
    width:min(1320px,calc(100% - 56px));
    margin:0 auto;
}
.site-header.master-header{
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:100;
    background:transparent;
    border:0;
    box-shadow:none;
}
.site-header.master-header .header-inner{
    min-height:0;
    padding:18px 0 0;
}
.header-bar{
    width:100%;
    min-height:58px;
    display:flex;
    align-items:center;
    gap:18px;
    background:#05294d;
    color:#fff;
    border-radius:13px;
    padding:0 12px 0 14px;
    box-shadow:0 18px 46px rgba(5,41,77,.24);
}
.master-header .brand{
    width:148px;
    height:54px;
    display:flex;
    align-items:center;
}
.master-header .brand img{
    width:132px;
    max-height:50px;
    object-fit:contain;
    display:block;
    background:transparent;
    mix-blend-mode:normal;
    border-radius:6px;
}
.master-header .main-nav{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:19px;
    color:#fff;
    font-size:13px;
    font-weight:800;
}
.master-header .main-nav a{
    color:#fff;
    text-decoration:none;
    border:0;
    padding:20px 0;
    white-space:nowrap;
}
.master-header .main-nav a:hover{
    color:#d8e7cd;
}
.master-header .language-switch{
    min-width:86px;
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#06213f;
    border:1px solid rgba(255,255,255,.16);
    border-radius:9px;
    overflow:hidden;
}
.goog-te-gadget{font-family:Arial,Helvetica,sans-serif!important;color:#fff!important;font-size:0!important}
.goog-te-gadget .goog-te-combo{
    width:76px;
    border:0;
    outline:0;
    border-radius:7px;
    padding:7px 5px;
    background:#fff;
    color:#05294d;
    font-size:11px;
}
.goog-logo-link,.goog-te-gadget span{display:none!important}
.menu-toggle{
    display:none;
    background:#fff;
    color:#05294d;
    border:0;
    border-radius:8px;
    padding:10px 13px;
    font-weight:800;
}
.home-master{
    background:#fbf8f2;
}
.master-hero{
    position:relative;
    min-height:720px;
    color:#fff;
    overflow:hidden;
    background:#05294d;
    box-shadow:0 18px 44px rgba(16,24,40,.16);
}
.master-hero-bg{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(5,41,77,.88),rgba(5,41,77,.52),rgba(5,41,77,.18)),
        url('../img/centro-storico-aereo.jpg') center/cover no-repeat;
    transform:scale(1.01);
}
.master-hero-inner{
    position:relative;
    min-height:720px;
    display:grid;
    grid-template-columns:1fr 390px;
    grid-template-rows:1fr auto;
    gap:28px 46px;
    align-items:center;
    padding-top:106px;
    padding-bottom:42px;
}
.hero-left{
    max-width:650px;
    align-self:center;
}
.hero-left h1{
    margin:0 0 10px;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:54px;
    line-height:1;
    letter-spacing:.01em;
    text-transform:uppercase;
}
.hero-left p{
    margin:0 0 12px;
    color:#fff;
    font-size:34px;
    line-height:1.08;
    font-weight:400;
}
.hero-left span{
    display:block;
    max-width:430px;
    color:rgba(255,255,255,.88);
    font-size:18px;
    line-height:1.45;
}
.hero-values-card{
    align-self:center;
    background:rgba(255,255,255,.96);
    color:#17202a;
    border-radius:18px;
    padding:22px 28px;
    box-shadow:0 18px 42px rgba(0,0,0,.18);
}
.hero-values-card article{
    display:grid;
    grid-template-columns:132px 1fr;
    gap:16px;
    align-items:flex-start;
    padding:15px 0;
    border-bottom:1px solid #e7e1d7;
}
.hero-values-card article:last-child{
    border-bottom:0;
}
.hero-values-card strong{
    color:#47762f;
    text-transform:uppercase;
    font-size:17px;
    line-height:1.15;
}
.hero-values-card span{
    color:#344054;
    font-size:15px;
    line-height:1.45;
}
.hero-cta-row{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr;
    max-width:1040px;
    width:100%;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 18px 46px rgba(0,0,0,.24);
}
.hero-cta{
    min-height:178px;
    display:grid;
    grid-template-columns:118px 1fr;
    gap:22px;
    align-items:center;
    padding:32px 40px;
}
.hero-cta.sell{
    background:linear-gradient(135deg,#47762f,#285a1d);
}
.hero-cta.buy{
    background:linear-gradient(135deg,#05294d,#021a32);
}
.cta-icon{
    width:88px;
    height:88px;
    border:3px solid rgba(255,255,255,.72);
    border-radius:18px;
    display:grid;
    place-items:center;
    font-size:54px;
    line-height:1;
    font-weight:800;
}
.hero-cta h2{
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:25px;
    text-transform:uppercase;
    letter-spacing:.01em;
    margin:0 0 10px;
}
.hero-cta p{
    margin:0 0 14px;
    color:rgba(255,255,255,.88);
    font-size:16px;
}
.hero-cta a{
    display:inline-flex;
    background:#fff;
    color:#05294d;
    text-decoration:none;
    border-radius:7px;
    padding:11px 16px;
    font-weight:900;
    font-size:13px;
}
.master-info-grid{
    margin-top:36px;
}
.info-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:20px;
    padding:0 0 28px;
}
.info-card,.criteria-card,.obligations-card{
    background:#fff;
    border:1px solid #e7e1d7;
    border-radius:16px;
    padding:28px;
    box-shadow:0 10px 26px rgba(16,24,40,.07);
}
.info-card h2,.criteria-card h2,.obligations-card h2{
    color:#05294d;
    font-family:Arial,Helvetica,sans-serif;
    text-transform:uppercase;
    font-size:18px;
    letter-spacing:.02em;
    margin:0 0 18px;
}
.info-card p,.info-card li{
    color:#344054;
    font-size:15px;
}
.info-card ul{
    padding-left:20px;
    margin:0 0 22px;
}
.info-card li{
    margin:9px 0;
}
.info-card a,.dark-link{
    display:inline-flex;
    border:1px solid #47762f;
    color:#47762f;
    border-radius:7px;
    text-decoration:none;
    font-weight:900;
    padding:10px 13px;
    font-size:13px;
}
.pdf-badge{
    width:58px;
    height:70px;
    border:2px solid #e14d42;
    color:#e14d42;
    display:grid;
    place-items:center;
    border-radius:10px;
    font-weight:900;
    margin-bottom:14px;
}
.document-card-home .dark-link{
    background:#05294d;
    color:#fff;
    border-color:#05294d;
    margin:12px 0;
}
.document-card-home span{
    display:block;
    color:#667085;
    font-size:13px;
}
.score-and-obligations{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:20px;
    padding:0 0 42px;
}
.criteria-card table{
    width:100%;
    border-collapse:collapse;
    font-size:13px;
}
.criteria-card th,.criteria-card td{
    border-bottom:1px solid #e7e1d7;
    padding:8px 0;
    text-align:left;
}
.criteria-card th:last-child,.criteria-card td:last-child{
    text-align:right;
}
.obligation-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.obligation-grid div{
    border:1px solid #e7e1d7;
    border-radius:12px;
    min-height:96px;
    padding:18px 12px;
    text-align:center;
    background:#fbf8f2;
}
.obligation-grid strong{
    display:block;
    color:#05294d;
    text-transform:uppercase;
    font-size:13px;
    margin-bottom:8px;
}
.obligation-grid span{
    color:#475467;
    font-size:12px;
}
.site-footer{
    background:#05294d;
}
.footer-logo{
    width:130px;
    height:auto;
    display:block;
    margin-bottom:10px;
    background:#fff;
    border-radius:8px;
}
@media(max-width:1100px){
    .master-header .main-nav{
        gap:12px;
        font-size:12px;
    }
    .master-hero-inner{
        grid-template-columns:1fr;
    }
    .hero-values-card{
        max-width:520px;
    }
    .hero-cta-row{
        max-width:none;
    }
}
@media(max-width:980px){
    .container{
        width:min(100% - 34px, 1320px);
    }
    .site-header.master-header{
        position:absolute;
    }
    .header-bar{
        flex-wrap:wrap;
        padding:8px 12px;
    }
    .master-header .brand{
        width:auto;
    }
    .master-header .brand img{
        width:112px;
    }
    .menu-toggle{
        display:inline-flex;
        margin-left:auto;
    }
    .master-header .main-nav{
        display:none;
        width:100%;
        order:4;
        flex-direction:column;
        align-items:flex-start;
        gap:4px;
        padding:8px 0;
    }
    .master-header .main-nav.is-open{
        display:flex;
    }
    .master-header .main-nav a{
        padding:8px 0;
    }
    .master-header .language-switch{
        min-width:82px;
    }
    .master-hero{
        min-height:900px;
    }
    .master-hero-inner{
        min-height:900px;
        padding-top:122px;
        grid-template-columns:1fr;
    }
    .hero-left h1{
        font-size:38px;
    }
    .hero-left p{
        font-size:27px;
    }
    .hero-values-card article{
        grid-template-columns:110px 1fr;
    }
    .hero-cta-row{
        grid-template-columns:1fr;
    }
    .hero-cta{
        grid-template-columns:74px 1fr;
        min-height:145px;
        padding:22px;
    }
    .cta-icon{
        width:58px;
        height:58px;
        font-size:34px;
    }
    .info-grid,.score-and-obligations,.obligation-grid{
        grid-template-columns:1fr;
    }
}


/* MASTER MOCKUP V4 - readability, icons, blue-background logo, mobile fixes */
html{font-size:16px}
body{font-size:16px;line-height:1.5}
.site-header.master-header .header-inner{padding:18px 0 0}
.header-bar{min-height:64px;padding:0 14px 0 18px;gap:20px}
.master-header .brand{width:220px;height:60px;display:flex;align-items:center;flex:0 0 220px}
.master-header .brand img{width:208px;max-height:58px;object-fit:contain}
.master-header .main-nav{gap:22px;font-size:14px}
.master-header .main-nav a{padding:22px 0}
.master-header .language-switch{min-width:98px;min-height:40px}
.goog-te-gadget .goog-te-combo{width:86px;font-size:12px;padding:8px 6px}
.master-hero{min-height:760px}
.master-hero-inner{min-height:760px;grid-template-columns:minmax(0,1fr) 420px;gap:32px 48px;padding-top:112px;padding-bottom:52px}
.hero-left{max-width:720px}
.hero-left h1{font-size:66px;letter-spacing:.005em}
.hero-left p{font-size:39px;margin-bottom:14px}
.hero-left span{font-size:22px;max-width:540px}
.hero-values-card{border-radius:20px;padding:24px 30px}
.hero-values-card article{grid-template-columns:142px 1fr;padding:17px 0}
.hero-values-card strong{font-size:18px}
.hero-values-card span{font-size:17px;line-height:1.5}
.hero-cta-row{max-width:1120px;border-radius:18px}
.hero-cta{min-height:190px;grid-template-columns:130px 1fr;gap:22px;padding:34px 40px}
.cta-icon{width:94px;height:94px;border-radius:20px;padding:18px}
.cta-icon svg{width:100%;height:100%;display:block}
.hero-cta h2{font-size:27px;margin-bottom:12px}
.hero-cta p{font-size:18px;line-height:1.45;margin-bottom:16px;max-width:440px}
.hero-cta a{font-size:14px;padding:12px 17px}
.info-grid{gap:22px;padding:0 0 32px}
.info-card,.criteria-card,.obligations-card{border-radius:18px;padding:30px}
.info-card h2,.criteria-card h2,.obligations-card h2{font-size:19px;margin-bottom:18px}
.info-card p,.info-card li{font-size:17px;line-height:1.65}
.info-card li{margin:10px 0}
.info-card a,.dark-link{font-size:14px;padding:11px 15px}
.document-card-home strong{display:block;font-size:24px;line-height:1.25;color:#05294d;margin-bottom:10px}
.document-card-home span{font-size:14px}
.criteria-card table{font-size:15px}
.criteria-card th,.criteria-card td{padding:10px 0}
.obligation-grid div{min-height:118px;padding:20px 14px}
.obligation-grid strong{font-size:14px}
.obligation-grid span{font-size:13px;line-height:1.4}

@media (max-width:1100px){
  .master-header .brand{width:180px;flex-basis:180px}
  .master-header .brand img{width:170px}
  .master-header .main-nav{gap:14px;font-size:13px}
  .master-hero-inner{grid-template-columns:1fr 360px}
  .hero-left h1{font-size:54px}
  .hero-left p{font-size:33px}
  .hero-left span{font-size:19px}
  .hero-values-card span{font-size:15px}
}
@media (max-width:980px){
  html{font-size:17px}
  .container{width:min(100% - 28px,1320px)}
  .header-bar{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;min-height:72px;padding:10px 12px}
  .master-header .brand{width:auto;flex-basis:auto;height:auto}
  .master-header .brand img{width:150px;max-height:54px}
  .menu-toggle{display:inline-flex;justify-content:center;align-items:center;padding:12px 18px;font-size:15px}
  .master-header .language-switch{min-width:82px;justify-self:end}
  .goog-te-gadget .goog-te-combo{width:70px;font-size:11px;padding:7px 4px}
  .master-header .main-nav{display:none;width:100%;order:4;grid-column:1/-1;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 4px 4px;margin-left:0}
  .master-header .main-nav.is-open{display:flex}
  .master-header .main-nav a{padding:9px 0;font-size:14px}
  .master-hero{min-height:1020px}
  .master-hero-inner{min-height:1020px;grid-template-columns:1fr;gap:20px;padding-top:120px;padding-bottom:30px}
  .hero-left{max-width:none}
  .hero-left h1{font-size:38px;line-height:1.04;margin-bottom:10px}
  .hero-left p{font-size:28px;line-height:1.12;margin-bottom:10px}
  .hero-left span{font-size:18px;max-width:none}
  .hero-values-card{padding:18px 18px;border-radius:18px}
  .hero-values-card article{grid-template-columns:110px 1fr;gap:14px;padding:14px 0}
  .hero-values-card strong{font-size:17px}
  .hero-values-card span{font-size:16px;line-height:1.45}
  .hero-cta-row{grid-template-columns:1fr;max-width:none}
  .hero-cta{grid-template-columns:76px 1fr;min-height:auto;padding:24px 20px}
  .cta-icon{width:60px;height:60px;padding:10px;border-width:2px;border-radius:16px}
  .hero-cta h2{font-size:24px;line-height:1.1}
  .hero-cta p{font-size:17px;line-height:1.45;max-width:none}
  .hero-cta a{font-size:14px;padding:12px 15px}
  .info-grid,.score-and-obligations,.obligation-grid{grid-template-columns:1fr}
  .info-card,.criteria-card,.obligations-card{padding:26px;border-radius:18px}
  .info-card h2,.criteria-card h2,.obligations-card h2{font-size:18px}
  .info-card p,.info-card li,.criteria-card table{font-size:17px;line-height:1.6}
  .document-card-home strong{font-size:22px}
}
@media (max-width:520px){
  .master-header .brand img{width:132px}
  .menu-toggle{padding:11px 14px}
  .master-header .language-switch{min-width:74px}
  .hero-left h1{font-size:33px}
  .hero-left p{font-size:25px}
  .hero-left span{font-size:17px}
  .hero-values-card article{grid-template-columns:100px 1fr}
  .hero-values-card strong{font-size:16px}
  .hero-values-card span{font-size:15px}
  .hero-cta{grid-template-columns:62px 1fr;padding:20px 18px}
  .cta-icon{width:52px;height:52px;padding:9px}
  .hero-cta h2{font-size:22px}
  .hero-cta p{font-size:16px}
}


/* UPDATE V6 - logo dark background, Font Awesome icons, Conoscere Naro */
.master-header .brand{
    width:188px;
    flex:0 0 188px;
}
.master-header .brand img{
    width:176px;
    max-height:58px;
    object-fit:contain;
}
.cta-icon{
    display:flex;
    align-items:center;
    justify-content:center;
}
.cta-icon i{
    font-size:48px;
    line-height:1;
    color:#fff;
}
.hero-cta h2{
    font-size:28px;
}
.hero-cta p{
    font-size:18px;
}
.info-card p,
.info-card li{
    font-size:17px;
}
.discover-naro{
    margin:18px 0 36px;
    background:#fff;
    border:1px solid #e7e1d7;
    border-radius:22px;
    padding:34px;
    box-shadow:0 12px 30px rgba(16,24,40,.07);
}
.discover-head{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:28px;
    align-items:end;
    margin-bottom:26px;
}
.discover-head span{
    color:#47762f;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.14em;
    font-size:13px;
}
.discover-head h2{
    font-family:Georgia,'Times New Roman',serif;
    color:#05294d;
    font-size:44px;
    line-height:1.03;
    margin:8px 0 0;
}
.discover-head p{
    color:#344054;
    font-size:18px;
    line-height:1.62;
    margin:0;
}
.discover-grid{
    display:grid;
    grid-template-columns:1.15fr 1fr 1fr;
    gap:20px;
}
.discover-grid article{
    background:#fbf8f2;
    border:1px solid #e7e1d7;
    border-radius:18px;
    overflow:hidden;
}
.discover-grid article img{
    width:100%;
    height:190px;
    object-fit:cover;
    display:block;
}
.discover-grid article h3{
    color:#05294d;
    font-family:Arial,Helvetica,sans-serif;
    font-size:20px;
    line-height:1.22;
    margin:18px 20px 8px;
}
.discover-grid article p{
    color:#344054;
    font-size:16px;
    line-height:1.55;
    margin:0 20px 22px;
}
.discover-large{
    grid-row:span 2;
}
.discover-large img{
    height:430px !important;
}
.territory-pills{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}
.territory-pills span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    border:1px solid #cfe1c4;
    background:#eef6e8;
    color:#2f5c21;
    border-radius:999px;
    padding:10px 14px;
    font-weight:800;
    font-size:14px;
}
.territory-pills i{
    color:#47762f;
}
@media(max-width:1100px){
    .discover-head,
    .discover-grid{
        grid-template-columns:1fr;
    }
    .discover-large{
        grid-row:auto;
    }
    .discover-large img{
        height:260px !important;
    }
}
@media(max-width:980px){
    .master-header .brand{
        width:auto;
        flex-basis:auto;
    }
    .master-header .brand img{
        width:138px;
        max-height:56px;
    }
    .cta-icon i{
        font-size:34px;
    }
    .hero-cta h2{
        font-size:25px;
    }
    .hero-cta p{
        font-size:17px;
    }
    .discover-naro{
        padding:24px;
        border-radius:18px;
    }
    .discover-head h2{
        font-size:34px;
    }
    .discover-head p{
        font-size:17px;
    }
    .discover-grid article img,
    .discover-large img{
        height:220px !important;
    }
}
@media(max-width:520px){
    .master-header .brand img{
        width:126px;
    }
    .cta-icon i{
        font-size:30px;
    }
    .discover-head h2{
        font-size:30px;
    }
    .territory-pills span{
        width:100%;
        justify-content:flex-start;
    }
}




/* UPDATE V7 - contenuti istituzionali e conoscenza territorio */
.official-note{
    margin:34px 0 22px;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:26px;
    align-items:center;
    background:#05294d;
    color:#fff;
    border-radius:22px;
    padding:30px 34px;
    box-shadow:0 12px 30px rgba(16,24,40,.12);
}
.official-note span{
    display:block;
    color:#d8e7cd;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.14em;
    font-size:13px;
    margin-bottom:10px;
}
.official-note h2{
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:34px;
    line-height:1.08;
    margin:0;
}
.official-note p{
    color:rgba(255,255,255,.88);
    font-size:18px;
    line-height:1.6;
    margin:0;
}
.buyer-seller-paths{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin:6px 0 34px;
}
.buyer-seller-paths article{
    background:#fff;
    border:1px solid #e7e1d7;
    border-radius:20px;
    padding:30px;
    box-shadow:0 10px 26px rgba(16,24,40,.07);
}
.buyer-seller-paths span{
    width:62px;
    height:62px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:#eef6e8;
    color:#47762f;
    font-size:27px;
    margin-bottom:16px;
}
.buyer-seller-paths article:nth-child(2) span{
    background:#edf4fb;
    color:#05294d;
}
.buyer-seller-paths h2{
    color:#05294d;
    font-family:Georgia,'Times New Roman',serif;
    font-size:34px;
    line-height:1.08;
    margin:0 0 14px;
}
.buyer-seller-paths p{
    color:#344054;
    font-size:17px;
    line-height:1.62;
}
.buyer-seller-paths a{
    display:inline-flex;
    border:1px solid #47762f;
    color:#47762f;
    border-radius:7px;
    text-decoration:none;
    font-weight:900;
    padding:11px 15px;
    font-size:14px;
}
.buyer-seller-paths article:nth-child(2) a{
    border-color:#05294d;
    color:#05294d;
}
@media(max-width:980px){
    .official-note,
    .buyer-seller-paths{
        grid-template-columns:1fr;
    }
    .official-note{
        padding:24px;
        margin-top:26px;
    }
    .official-note h2,
    .buyer-seller-paths h2{
        font-size:29px;
    }
    .official-note p,
    .buyer-seller-paths p{
        font-size:17px;
    }
}


/* UPDATE V8 - full CSS restored after partial overwrite */
.master-header .brand img{
    display:block;
}
.cta-icon i{
    color:#fff;
}


/* UPDATE V9 - sezione conoscere naro più coinvolgente */
.discover-naro-dynamic{
    padding:38px;
    background:linear-gradient(180deg,#fff 0%,#fbf8f2 100%);
}
.discover-top{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:22px;
    align-items:stretch;
    margin-bottom:24px;
}
.discover-intro span{
    color:#47762f;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.14em;
    font-size:13px;
}
.discover-intro h2{
    font-family:Georgia,'Times New Roman',serif;
    color:#05294d;
    font-size:48px;
    line-height:1.02;
    margin:10px 0 14px;
    max-width:10ch;
}
.discover-intro p{
    color:#344054;
    font-size:21px;
    line-height:1.65;
    max-width:820px;
    margin:0;
}
.discover-side-note{
    background:#05294d;
    color:#fff;
    border-radius:22px;
    padding:26px 28px;
    box-shadow:0 12px 28px rgba(5,41,77,.16);
}
.discover-side-note strong{
    display:block;
    font-size:22px;
    line-height:1.2;
    margin-bottom:12px;
}
.discover-side-note ul{margin:0;padding:0;list-style:none;display:grid;gap:12px;}
.discover-side-note li{
    position:relative;
    padding-left:22px;
    color:rgba(255,255,255,.9);
    font-size:16px;
    line-height:1.5;
}
.discover-side-note li:before{
    content:'';
    width:8px;height:8px;border-radius:50%;
    background:#79a85d;position:absolute;left:0;top:8px;
}
.discover-mosaic{
    display:grid;
    grid-template-columns:1.25fr 1fr 1fr;
    gap:20px;
    align-items:stretch;
}
.mosaic-main, .mosaic-card{
    position:relative;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 12px 28px rgba(16,24,40,.10);
}
.mosaic-main{grid-row:span 2; min-height:620px;}
.mosaic-main img, .mosaic-card img{width:100%;height:100%;object-fit:cover;display:block;}
.mosaic-main:after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(5,41,77,.08) 0%, rgba(5,41,77,.78) 100%);
}
.mosaic-overlay{
    position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 28px 28px;color:#fff;
}
.mosaic-overlay span, .mosaic-copy span{
    display:inline-flex;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:10px;
}
.mosaic-overlay span{color:#dce9d0;}
.mosaic-overlay h3{
    font-family:Georgia,'Times New Roman',serif;
    font-size:38px;
    line-height:1.03;
    margin:0 0 10px;
    max-width:10ch;
}
.mosaic-overlay p{
    font-size:17px;
    line-height:1.6;
    margin:0;
    color:rgba(255,255,255,.92);
    max-width:38ch;
}
.mosaic-card{min-height:300px;background:#ddd;}
.mosaic-card:after{
    content:'';position:absolute;left:0;right:0;bottom:0;height:58%;
    background:linear-gradient(180deg,rgba(5,41,77,0) 0%, rgba(5,41,77,.88) 100%);
}
.mosaic-copy{
    position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px 22px 20px;color:#fff;
}
.mosaic-copy h3{
    font-size:26px;line-height:1.1;margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;
}
.mosaic-copy p{margin:0;color:rgba(255,255,255,.9);font-size:15px;line-height:1.52;}
.accent-gold .mosaic-copy span{color:#ffe3a8;}
.accent-blue .mosaic-copy span{color:#cde6ff;}
.accent-green .mosaic-copy span{color:#dce9d0;}
.discover-highlights{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-top:22px;
}
.discover-highlights article{
    background:#fff;
    border:1px solid #e6ddd1;
    border-radius:18px;
    padding:18px 16px;
    display:flex;
    gap:14px;
    align-items:flex-start;
}
.discover-highlights i{
    width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
    background:#eef6e8;color:#47762f;font-size:20px;flex:0 0 46px;
}
.discover-highlights strong{
    display:block;color:#05294d;font-size:17px;line-height:1.25;margin-bottom:6px;
}
.discover-highlights span{
    color:#344054;font-size:14px;line-height:1.48;display:block;
}
.dynamic-pills{margin-top:20px;}
@media(max-width:1200px){
    .discover-top{grid-template-columns:1fr;}
    .discover-intro h2{max-width:none;}
    .discover-mosaic{grid-template-columns:1fr 1fr;}
    .mosaic-main{grid-column:1 / -1;grid-row:auto;min-height:470px;}
    .discover-highlights{grid-template-columns:1fr 1fr;}
}
@media(max-width:820px){
    .discover-naro-dynamic{padding:24px;}
    .discover-intro h2{font-size:36px;}
    .discover-intro p{font-size:18px;}
    .discover-mosaic{grid-template-columns:1fr;}
    .mosaic-main{min-height:380px;}
    .mosaic-card{min-height:250px;}
    .discover-highlights{grid-template-columns:1fr;}
}
@media(max-width:520px){
    .discover-intro h2{font-size:31px;}
    .discover-intro p{font-size:17px;}
    .discover-side-note{padding:22px 20px;}
    .discover-side-note strong{font-size:20px;}
    .mosaic-overlay{padding:22px 18px 18px;}
    .mosaic-overlay h3{font-size:28px;max-width:none;}
    .mosaic-copy{padding:18px 18px 16px;}
    .mosaic-copy h3{font-size:22px;}
}


/* UPDATE V10 - terza colonna bilanciata come la prima */
.mosaic-tall{
    grid-row:span 2;
    min-height:620px;
}
@media(max-width:1200px){
    .mosaic-tall{
        grid-row:auto;
        min-height:300px;
    }
}
@media(max-width:820px){
    .mosaic-tall{
        min-height:250px;
    }
}


/* UPDATE V11 - public polish, SEO support, sticky menu, cookie consent, forms and FAQ */
.site-header.master-header{
    position:sticky !important;
    top:0;
    left:auto;
    right:auto;
    z-index:200;
    background:#fbf8f2;
    border-bottom:1px solid rgba(5,41,77,.08);
    box-shadow:0 10px 28px rgba(16,24,40,.08);
}
.site-header.master-header .header-inner{
    padding:10px 0;
}
.master-hero-inner{
    padding-top:46px !important;
}
.language-switch-labeled{
    gap:8px;
    padding:0 10px;
}
.language-label{
    color:#fff;
    font-weight:900;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.mosaic-overlay h3,
.mosaic-copy h3{
    color:#fff !important;
    text-shadow:0 2px 18px rgba(0,0,0,.42);
}
.cookie-consent{
    position:fixed;
    left:22px;
    right:22px;
    bottom:22px;
    z-index:500;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    max-width:980px;
    margin:0 auto;
    background:#05294d;
    color:#fff;
    border-radius:18px;
    padding:20px 22px;
    box-shadow:0 18px 45px rgba(0,0,0,.25);
}
.cookie-consent[hidden]{display:none;}
.cookie-consent strong{
    display:block;
    font-size:20px;
    margin-bottom:5px;
}
.cookie-consent p{
    margin:0;
    color:rgba(255,255,255,.86);
    font-size:15px;
    line-height:1.45;
}
.cookie-actions{
    display:flex;
    gap:10px;
    flex:0 0 auto;
}
.procedure-choice{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin:10px 0 28px;
}
.procedure-card{
    position:relative;
    display:block;
    background:#fbf8f2;
    border:2px solid #e7e1d7;
    border-radius:18px;
    padding:22px 22px 22px 72px;
    cursor:pointer;
    min-height:180px;
}
.procedure-card input{
    position:absolute;
    left:22px;
    top:26px;
    width:22px;
    height:22px;
}
.procedure-card span{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:14px;
    background:#eef6e8;
    color:#47762f;
    margin-bottom:12px;
}
.procedure-card strong{
    display:block;
    color:#05294d;
    font-size:24px;
    line-height:1.1;
    margin-bottom:10px;
}
.procedure-card p{
    color:#344054;
    font-size:16px;
    line-height:1.55;
    margin:0;
}
.procedure-card:has(input:checked){
    border-color:#47762f;
    box-shadow:0 10px 26px rgba(71,118,47,.12);
}
.form-help{
    color:#344054;
    font-size:17px;
    line-height:1.55;
    margin:-6px 0 18px;
}
.catalog-reminder{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    background:#05294d;
    color:#fff;
    border-radius:20px;
    padding:26px 30px;
    margin-bottom:24px;
    box-shadow:0 12px 30px rgba(16,24,40,.12);
}
.catalog-reminder h2{
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:32px;
    margin:0 0 8px;
}
.catalog-reminder p{
    color:rgba(255,255,255,.86);
    margin:0;
    font-size:17px;
    line-height:1.55;
}
.faq-layout{
    display:grid;
    grid-template-columns:360px 1fr;
    gap:28px;
    align-items:start;
}
.faq-intro{
    position:sticky;
    top:120px;
    background:#05294d;
    color:#fff;
    border-radius:20px;
    padding:28px;
}
.faq-intro span,
.section-title span,
.initiative-lead span{
    display:block;
    color:#d8e7cd;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-weight:900;
    font-size:13px;
    margin-bottom:10px;
}
.faq-intro h2{
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:34px;
    line-height:1.05;
    margin:0 0 12px;
}
.faq-intro p{
    color:rgba(255,255,255,.86);
    font-size:17px;
    line-height:1.55;
}
.faq-accordion details{
    margin-bottom:12px;
}
.faq-accordion summary{
    font-size:20px;
}
.initiative-lead{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:28px;
    background:#05294d;
    color:#fff;
    border-radius:22px;
    padding:34px;
    margin-bottom:24px;
}
.initiative-lead h2{
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:42px;
    line-height:1.05;
}
.initiative-lead p{
    color:rgba(255,255,255,.88);
    font-size:19px;
    line-height:1.65;
    margin:0;
}
.initiative-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:34px;
}
.initiative-columns article{
    background:#fff;
    border:1px solid #e7e1d7;
    border-radius:20px;
    padding:28px;
    box-shadow:0 10px 26px rgba(16,24,40,.07);
}
.initiative-columns i{
    width:58px;
    height:58px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:#eef6e8;
    color:#47762f;
    font-size:26px;
    margin-bottom:15px;
}
.initiative-columns article:nth-child(2) i{
    background:#edf4fb;
    color:#05294d;
}
.initiative-columns h2,
.section-title h2,
.example-section h2{
    color:#05294d;
    font-family:Georgia,'Times New Roman',serif;
    font-size:38px;
    line-height:1.05;
    margin:0 0 12px;
}
.initiative-columns p{
    color:#344054;
    font-size:17px;
    line-height:1.62;
}
.flow-section,
.timing-section,
.example-section{
    margin:34px 0;
}
.section-title{
    margin-bottom:18px;
}
.section-title span{
    color:#47762f;
}
.flow-chart{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}
.flow-chart article{
    position:relative;
    background:#fff;
    border:1px solid #e7e1d7;
    border-radius:18px;
    padding:24px;
    min-height:210px;
    box-shadow:0 10px 26px rgba(16,24,40,.07);
}
.flow-chart article:not(:last-child):after{
    content:"";
    position:absolute;
    right:-12px;
    top:50%;
    width:24px;
    height:2px;
    background:#47762f;
    z-index:2;
}
.flow-chart strong{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:50%;
    background:#47762f;
    color:#fff;
    font-size:20px;
    margin-bottom:18px;
}
.blue-flow strong,
.blue-flow article:not(:last-child):after{
    background:#05294d;
}
.flow-chart h3{
    color:#05294d;
    font-size:24px;
    margin:0 0 8px;
}
.flow-chart p,
.timeline-cards p,
.example-grid p{
    color:#344054;
    font-size:16px;
    line-height:1.55;
}
.timeline-cards,
.example-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}
.timeline-cards article,
.example-grid article{
    background:#fff;
    border:1px solid #e7e1d7;
    border-radius:18px;
    padding:24px;
    box-shadow:0 10px 26px rgba(16,24,40,.07);
}
.timeline-cards strong{
    color:#47762f;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.08em;
}
.timeline-cards h3,
.example-grid h3{
    color:#05294d;
    font-size:23px;
    line-height:1.15;
    margin:10px 0;
}
.example-grid{
    grid-template-columns:1fr 1fr;
}
@media(max-width:1100px){
    .faq-layout,
    .initiative-lead,
    .initiative-columns,
    .procedure-choice,
    .catalog-reminder{
        grid-template-columns:1fr;
    }
    .faq-intro{
        position:static;
    }
    .flow-chart,
    .timeline-cards{
        grid-template-columns:1fr 1fr;
    }
    .flow-chart article:not(:last-child):after{
        display:none;
    }
}
@media(max-width:720px){
    .cookie-consent{
        flex-direction:column;
        align-items:flex-start;
        left:14px;
        right:14px;
        bottom:14px;
    }
    .cookie-actions{
        width:100%;
        flex-direction:column;
    }
    .cookie-actions .btn{
        width:100%;
    }
    .flow-chart,
    .timeline-cards,
    .example-grid{
        grid-template-columns:1fr;
    }
    .initiative-lead{
        padding:24px;
    }
    .initiative-lead h2,
    .initiative-columns h2,
    .section-title h2,
    .example-section h2{
        font-size:30px;
    }
    .procedure-card{
        padding:20px;
    }
    .procedure-card input{
        position:static;
        margin-bottom:12px;
    }
}


/* UPDATE V12 - public css split, menu immobili, home catalog, required photo block */
.home-properties{
    margin:34px 0;
    background:#fff;
    border:1px solid #e7e1d7;
    border-radius:22px;
    padding:34px;
    box-shadow:0 12px 30px rgba(16,24,40,.07);
}
.home-properties-head{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-end;
    margin-bottom:24px;
}
.home-properties-head span{
    display:block;
    color:#47762f;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.14em;
    font-size:13px;
    margin-bottom:8px;
}
.home-properties-head h2{
    color:#05294d;
    font-family:Georgia,'Times New Roman',serif;
    font-size:44px;
    line-height:1.03;
    margin:0;
}
.home-properties-head p{
    color:#344054;
    font-size:18px;
    line-height:1.58;
    max-width:680px;
    margin:10px 0 0;
}
.home-properties-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.home-property-card{
    background:#fbf8f2;
    border:1px solid #e7e1d7;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 22px rgba(16,24,40,.06);
}
.home-property-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}
.home-property-card div{
    padding:20px;
}
.home-property-card h3{
    color:#05294d;
    font-size:24px;
    line-height:1.15;
    margin:8px 0;
}
.home-property-card p{
    color:#344054;
    font-size:16px;
    line-height:1.5;
}
.home-property-card a{
    font-weight:900;
    color:#05294d;
}
.photo-required-box{
    background:#eef6e8;
    border:1px solid #cfe1c4;
    border-radius:18px;
    padding:22px;
    margin:8px 0 22px;
}
.photo-required-box h3{
    color:#2f5c21;
    font-size:24px;
    margin:0 0 8px;
}
.photo-required-box p{
    color:#344054;
    font-size:16px;
    line-height:1.55;
    margin:0 0 14px;
}
.document-optional-box{
    background:#f8fafc;
    border:1px solid #d6dbe2;
    border-radius:18px;
    padding:22px;
    margin:8px 0 22px;
}
.document-optional-box h3{
    color:#05294d;
    font-size:24px;
    margin:0 0 8px;
}
@media(max-width:980px){
    .home-properties-head{
        flex-direction:column;
        align-items:flex-start;
    }
    .home-properties-grid{
        grid-template-columns:1fr;
    }
    .home-properties{
        padding:24px;
    }
    .home-properties-head h2{
        font-size:34px;
    }
}


/* UPDATE V13 - mappe catalogo e scheda immobile */
.map-note{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    background:#eef6e8;
    border:1px solid #cfe1c4;
    border-radius:16px;
    padding:16px 18px;
    margin-bottom:16px;
}
.map-note strong{
    color:#2f5c21;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.06em;
}
.map-note span{
    color:#344054;
    font-size:15px;
    line-height:1.45;
}
.property-location-section{
    padding-top:0;
}
.property-detail-map{
    height:480px;
    border-radius:22px;
    box-shadow:0 12px 30px rgba(16,24,40,.10);
}
.section-title p{
    color:#344054;
    font-size:18px;
    line-height:1.55;
    max-width:820px;
}
@media(max-width:980px){
    .map-note{
        flex-direction:column;
        align-items:flex-start;
    }
    .property-detail-map{
        height:380px;
    }
}


/* UPDATE V14 - fix inizializzazione mappe */
.map,
.property-detail-map{
    min-height:480px;
    background:#eef1f4;
}
#property-map{
    min-height:430px;
}
.map-fallback{
    min-height:inherit;
    display:grid;
    place-items:center;
    padding:24px;
    color:#05294d;
    font-weight:900;
    text-align:center;
}
.leaflet-container{
    font-family:Arial,Helvetica,sans-serif;
}


/* UPDATE V15 - codice immobile, candidatura precompilata e URL SEO */
.property-code-badge{
    display:inline-flex;
    align-items:center;
    width:max-content;
    background:#05294d;
    color:#fff;
    border-radius:999px;
    padding:7px 11px;
    font-weight:900;
    font-size:13px;
    letter-spacing:.04em;
    margin:8px 0 4px;
}
.home-code{
    margin-left:6px;
}
.property-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}
.property-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #05294d;
    border-radius:8px;
    padding:9px 12px;
    text-decoration:none;
    font-weight:900;
}
.property-actions .property-apply-link{
    background:#47762f;
    border-color:#47762f;
    color:#fff;
}
.property-code-highlight{
    background:#eef6e8;
    border:1px solid #cfe1c4;
    border-radius:16px;
    padding:18px;
    margin:14px 0 18px;
}
.property-code-highlight span{
    display:block;
    color:#47762f;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.12em;
    font-size:12px;
    margin-bottom:8px;
}
.property-code-highlight strong{
    display:block;
    color:#05294d;
    font-size:34px;
    line-height:1;
    letter-spacing:.04em;
}
.property-code-highlight p{
    margin:8px 0 0;
    color:#344054;
    font-size:15px;
}
.selected-property-box{
    background:#05294d;
    color:#fff;
    border-radius:18px;
    padding:22px 24px;
    margin:0 0 24px;
    box-shadow:0 12px 30px rgba(16,24,40,.12);
}
.selected-property-box span{
    display:block;
    color:#d8e7cd;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.12em;
    font-size:12px;
    margin-bottom:8px;
}
.selected-property-box strong{
    display:block;
    color:#fff;
    font-size:34px;
    line-height:1;
}
.selected-property-box p{
    color:rgba(255,255,255,.88);
    margin:8px 0 0;
    font-size:17px;
}
@media(max-width:720px){
    .property-actions{
        flex-direction:column;
    }
    .property-actions a{
        width:100%;
    }
}


/* UPDATE V16 - Google Maps embed e URL assolute candidatura */
.google-map-box{
    width:100%;
    min-height:430px;
    border-radius:22px;
    overflow:hidden;
    border:1px solid #e7e1d7;
    box-shadow:0 12px 30px rgba(16,24,40,.10);
    background:#eef1f4;
}
.google-map-box iframe{
    width:100%;
    height:430px;
    border:0;
    display:block;
}
.property-detail-map,
.property-detail-map iframe{
    min-height:480px;
    height:480px;
}
.map-open-link{
    margin-top:18px;
}
@media(max-width:980px){
    .google-map-box,
    .google-map-box iframe{
        min-height:360px;
        height:360px;
    }
    .property-detail-map,
    .property-detail-map iframe{
        min-height:380px;
        height:380px;
    }
}


/* UPDATE V17 - fix immagini scheda, mappa Google testuale, box candidatura */
.property-detail > img,
.property-card img,
.home-property-card img{
    display:block;
    width:100%;
    object-fit:cover;
    background:#e7e1d7;
}
.property-detail > img{
    min-height:420px;
    max-height:620px;
    border-radius:22px;
}
.selected-property-box{
    background:#eef6e8 !important;
    color:#05294d !important;
    border:1px solid #cfe1c4;
    box-shadow:0 12px 30px rgba(71,118,47,.10);
}
.selected-property-box span{
    color:#47762f !important;
}
.selected-property-box strong{
    color:#05294d !important;
}
.selected-property-box p{
    color:#344054 !important;
}
.direct-apply-link{
    display:inline-flex;
    margin-left:12px;
    color:#47762f;
    font-weight:900;
    text-decoration:underline;
}
.google-map-box iframe{
    filter:saturate(1.05) contrast(1.02);
}
.map-open-link{
    display:flex;
    gap:12px;
    align-items:center;
}
@media(max-width:720px){
    .direct-apply-link{
        display:flex;
        margin:12px 0 0;
    }
    .property-detail > img{
        min-height:260px;
    }
}


/* UPDATE V18 - navigazione assoluta e mappe con pin per singolo immobile */
.property-location-overview{
    background:#fff;
    border:1px solid #e7e1d7;
    border-radius:22px;
    padding:24px;
    margin:20px 0 28px;
    box-shadow:0 12px 30px rgba(16,24,40,.07);
}
.property-location-overview h2{
    color:#05294d;
    font-family:Georgia,'Times New Roman',serif;
    font-size:34px;
    line-height:1.05;
    margin:0 0 8px;
}
.property-location-overview p{
    color:#344054;
    font-size:16px;
    line-height:1.55;
    margin:0 0 20px;
}
.property-mini-maps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}
.property-mini-maps article{
    background:#fbf8f2;
    border:1px solid #e7e1d7;
    border-radius:18px;
    overflow:hidden;
}
.property-mini-maps iframe{
    display:block;
    width:100%;
    height:230px;
    border:0;
}
.property-mini-maps article div{
    padding:16px;
}
.property-mini-maps strong{
    display:block;
    color:#05294d;
    font-size:18px;
    margin-bottom:5px;
}
.property-mini-maps span{
    display:block;
    color:#344054;
    font-size:14px;
    line-height:1.45;
    margin-bottom:10px;
}
.property-mini-maps a{
    color:#47762f;
    font-weight:900;
}
@media(max-width:1100px){
    .property-mini-maps{
        grid-template-columns:1fr;
    }
    .property-mini-maps iframe{
        height:300px;
    }
}


/* UPDATE V19 - immobili reali e gallery */
.property-location-overview{
    background:#fff;
    border:1px solid #e7e1d7;
    border-radius:22px;
    padding:24px;
    margin:20px 0 28px;
    box-shadow:0 12px 30px rgba(16,24,40,.07);
}
.property-location-overview h2{
    color:#05294d;
    font-family:Georgia,'Times New Roman',serif;
    font-size:34px;
    line-height:1.05;
    margin:0 0 8px;
}
.property-location-overview p{
    color:#344054;
    font-size:16px;
    line-height:1.55;
    margin:0 0 20px;
}
.property-mini-maps{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}
.property-mini-maps article{
    background:#fbf8f2;
    border:1px solid #e7e1d7;
    border-radius:18px;
    overflow:hidden;
}
.property-mini-maps iframe{
    display:block;
    width:100%;
    height:260px;
    border:0;
}
.property-mini-maps article div{
    padding:16px;
}
.property-mini-maps strong{
    display:block;
    color:#05294d;
    font-size:18px;
    margin-bottom:5px;
}
.property-mini-maps span{
    display:block;
    color:#344054;
    font-size:14px;
    line-height:1.45;
    margin-bottom:10px;
}
.property-mini-maps a{
    color:#47762f;
    font-weight:900;
}
.property-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}
.property-gallery figure{
    margin:0;
    background:#fff;
    border:1px solid #e7e1d7;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 26px rgba(16,24,40,.07);
}
.property-gallery img{
    width:100%;
    height:520px;
    object-fit:cover;
    display:block;
}
.property-gallery figcaption{
    padding:12px 16px;
    color:#344054;
    font-weight:800;
    font-size:14px;
}
.property-detail > img,
.property-card img,
.home-property-card img{
    display:block;
    width:100%;
    object-fit:cover;
    background:#e7e1d7;
}
.property-detail > img{
    min-height:420px;
    max-height:620px;
    border-radius:22px;
}
.direct-apply-link{
    display:inline-flex;
    margin-left:12px;
    color:#47762f;
    font-weight:900;
    text-decoration:underline;
}
@media(max-width:1100px){
    .property-mini-maps,
    .property-gallery{
        grid-template-columns:1fr;
    }
    .property-mini-maps iframe{
        height:320px;
    }
    .property-gallery img{
        height:auto;
        max-height:620px;
    }
}
@media(max-width:720px){
    .direct-apply-link{
        display:flex;
        margin:12px 0 0;
    }
    .property-detail > img{
        min-height:260px;
    }
}


/* UPDATE V20 - Google Maps JavaScript API con marker */
.api-map-panel{
    position:relative;
    min-height:500px;
    margin:18px 0 30px;
    border:1px solid #e7e1d7;
    border-radius:22px;
    overflow:hidden;
    background:#eef1f4;
    box-shadow:0 12px 30px rgba(16,24,40,.10);
}
.google-js-map{
    width:100%;
    min-height:500px;
}
.map-consent-placeholder{
    position:absolute;
    inset:0;
    z-index:5;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:30px;
    text-align:center;
    background:linear-gradient(135deg,#eef6e8,#f8fafc);
}
.map-consent-placeholder[hidden]{
    display:none;
}
.map-consent-placeholder strong{
    color:#05294d;
    font-family:Georgia,'Times New Roman',serif;
    font-size:32px;
}
.map-consent-placeholder p{
    max-width:620px;
    margin:0;
    color:#344054;
    font-size:17px;
    line-height:1.55;
}
.map-runtime-error{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:8;
    max-width:620px;
    padding:20px 24px;
    border:1px solid #efb4b4;
    border-radius:14px;
    background:#fde7e7;
    color:#7a1d1d;
    font-weight:900;
    text-align:center;
}
.map-info-window{
    min-width:220px;
    max-width:310px;
}
.map-info-window strong{
    display:block;
    color:#47762f;
    font-size:13px;
    letter-spacing:.05em;
    margin-bottom:5px;
}
.map-info-window h3{
    margin:0 0 8px;
    color:#05294d;
    font-size:18px;
    line-height:1.2;
}
.map-info-window p{
    margin:0 0 10px;
    color:#344054;
    line-height:1.4;
}
.map-info-window a{
    display:inline-flex;
    margin-right:10px;
    color:#05294d;
    font-weight:900;
}
@media(max-width:720px){
    .api-map-panel,
    .google-js-map{
        min-height:390px;
    }
    .map-consent-placeholder strong{
        font-size:27px;
    }
}


/* UPDATE V21 - avviso geocodifica separato dagli errori di caricamento */
.map-runtime-warning{
    position:absolute;
    left:50%;
    bottom:24px;
    transform:translateX(-50%);
    z-index:8;
    width:min(720px,calc(100% - 48px));
    padding:15px 18px;
    border:1px solid #e7c56a;
    border-radius:12px;
    background:#fff6d9;
    color:#6b4d00;
    font-weight:800;
    text-align:center;
    box-shadow:0 10px 24px rgba(16,24,40,.12);
}


/* UPDATE V23 - box valori hero più ordinato e coerente */
.hero-values-card{
    align-self:center;
    padding:24px;
    border:1px solid rgba(255,255,255,.68);
    border-radius:22px;
    background:rgba(255,255,255,.96);
    color:#17202a;
    box-shadow:0 22px 50px rgba(0,0,0,.20);
    backdrop-filter:blur(12px);
}
.hero-values-head{
    margin-bottom:18px;
    padding:0 2px 16px;
    border-bottom:1px solid #e7e1d7;
}
.hero-values-head span{
    display:block;
    margin-bottom:7px;
    color:#47762f;
    font-size:11px;
    line-height:1;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.hero-values-head h2{
    margin:0;
    color:#05294d;
    font-family:Georgia,'Times New Roman',serif;
    font-size:27px;
    line-height:1.05;
    letter-spacing:-.025em;
}
.hero-values-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.hero-values-card .hero-values-grid article{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:11px;
    align-items:start;
    min-height:128px;
    padding:15px;
    border:1px solid #e5e9df;
    border-radius:14px;
    background:linear-gradient(145deg,#ffffff,#f7faf4);
}
.hero-values-card .hero-values-grid article:last-child{
    border-bottom:1px solid #e5e9df;
}
.value-number{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:9px;
    background:#edf6e8;
    color:#47762f;
    font-size:11px;
    line-height:1;
    font-weight:900;
}
.hero-values-card .hero-values-grid h3{
    margin:1px 0 7px;
    color:#05294d;
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    line-height:1.15;
    font-weight:900;
    text-transform:none;
}
.hero-values-card .hero-values-grid p{
    margin:0;
    color:#475467;
    font-size:14px;
    line-height:1.42;
}
@media(max-width:1100px){
    .hero-values-card{
        padding:20px;
    }
    .hero-values-head h2{
        font-size:24px;
    }
    .hero-values-card .hero-values-grid article{
        min-height:118px;
        padding:13px;
    }
    .hero-values-card .hero-values-grid h3{
        font-size:15px;
    }
    .hero-values-card .hero-values-grid p{
        font-size:13px;
    }
}
@media(max-width:980px){
    .hero-values-card{
        padding:20px;
    }
    .hero-values-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .hero-values-card .hero-values-grid article{
        grid-template-columns:34px minmax(0,1fr);
        min-height:120px;
    }
}
@media(max-width:560px){
    .hero-values-grid{
        grid-template-columns:1fr;
    }
    .hero-values-card .hero-values-grid article{
        min-height:auto;
    }
}
