  
    /* ===== VARIABILI GLOBALI ===== */
    :root {
      --brand-primary: #0b4fa3;
      --brand-secondary: #083d7e;
      --brand-accent: #e63946;
      --dark-blue: #0a2b52;
      --light-blue: #f0f7ff;
      --gray-light: #f8f9fa;
      --gray-dark: #6c757d;
      --border-color: rgba(0, 0, 0, 0.08);
    }

    /* Reset bordi */
    *[class*="rounded"], .btn, .card, .form-control, .navbar {
      border-radius: 0 !important;
    }

    body {
      font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
      color: #212529;
      line-height: 1.6;
      overflow-x: hidden;
    }

    /* ===== TOP BAR ===== */
    .header-top {
      background: linear-gradient(135deg, var(--dark-blue) 0%, #071a33 100%);
      color: rgba(255, 255, 255, 0.9);
      font-size: 0.9rem;
      padding: 0.5rem 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    .header-top a {
      color: white;
      text-decoration: none;
      transition: opacity 0.2s;
    }
    .header-top .dropdown-menu a {
        color: rgb(10, 43, 82)!important;
    }
    .header-top a:hover {
      opacity: 0.8;
      text-decoration: underline;
    }

    /* ===== NAVBAR ===== */
    .navbar {
      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
      background: white !important;
      transition: all 0.3s ease;
    }
    .navbar.scrolled {
      background: rgba(255, 255, 255, 0.95) !important;
      backdrop-filter: blur(10px);
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    }
    .nav-link {
      font-weight: 500;
      color: var(--dark-blue) !important;
      padding: 0.5rem 1rem !important;
      position: relative;
    }
    .nav-link:hover, .nav-link.active {
      color: var(--brand-primary) !important;
    }
    .nav-link.active::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 1rem;
      right: 1rem;
      height: 3px;
      background: var(--brand-primary);
    }

    /* ===== BUTTONS ===== */
    .btn-brand {
      background: var(--brand-primary);
      border-color: var(--brand-primary);
      color: white;
      font-weight: 600;
      padding: 0.5rem 1.5rem;
      transition: all 0.3s;
    }
    .btn-brand:hover {
      background: var(--brand-secondary);
      border-color: var(--brand-secondary);
      color: white;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(11, 79, 163, 0.2);
    }
    .btn-outline-brand {
      color: var(--brand-primary);
      border-color: var(--brand-primary);
    }
    .btn-outline-brand:hover {
      background: var(--brand-primary);
      color: white;
    }

    /* ===== HERO (parallax) ===== */
    .hero {
      position: relative;
      min-height: 85vh;
      display: flex;
      align-items: center;
      overflow: hidden;
      background: linear-gradient(135deg, var(--dark-blue) 0%, #0a2b52 100%);
    }
    .hero-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 120%;
      background-image: url('https://primamilanoovest.it/media/2026/01/Sedriano-Polizia-Locale.jpg');
      background-size: cover;
      background-position: center;
      background-attachment: fixed;
      transform: translateZ(0);
      will-change: transform;
      z-index: 1;
    }
    .hero-bg::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(135deg, 
        rgba(10, 43, 82, 0.85) 0%, 
        rgba(10, 43, 82, 0.75) 50%,
        rgba(10, 43, 82, 0.9) 100%);
    }
    .hero-content {
      position: relative;
      z-index: 2;
      color: white;
      padding: 4rem 0;
    }
    .hero-title {
      font-weight: 800;
      margin-bottom: 1.5rem;
      line-height: 1.1;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    }
    .hero-subtitle {
      font-size: 1.25rem;
      margin-bottom: 2.5rem;
      opacity: 0.95;
      max-width: 700px;
      text-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
    }
    .hero-badge {
      display: inline-block;
      background: var(--brand-accent);
      color: white;
      padding: 0.5rem 1.5rem;
      font-weight: 600;
      font-size: 0.9rem;
      letter-spacing: 1px;
      margin-bottom: 2rem;
      text-transform: uppercase;
    }

    /* ===== STATS ===== */
    .stats-section {
      background: linear-gradient(135deg, var(--dark-blue) 0%, #0a2b52 100%);
      color: white;
      padding: 4rem 0;
      position: relative;
      z-index: 2;
    }
    .stat-item {
      text-align: center;
      padding: 1.5rem;
    }
    .stat-number {
      font-size: 2.5rem;
      font-weight: 700;
      color: white;
      margin-bottom: 0.5rem;
    }
    .stat-label {
      font-size: 0.95rem;
      opacity: 0.9;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    /* ===== SEZIONE TITOLO ===== */
    .section-title {
      color: var(--dark-blue);
      font-weight: 700;
      margin-bottom: 1rem;
      position: relative;
      padding-bottom: 0.5rem;
    }
    .section-title::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 60px;
      height: 4px;
      background: var(--brand-accent);
    }

    /* ===== CARD SOCI FONDATORI (stile da a.htm) ===== */
    .region-section {
      background: white;
      padding: 5rem 0;
      z-index: 2;
    }
    .region-card {
      position: relative;
      min-height: 320px;
      border: 1px solid var(--border-color);
      overflow: hidden;
      background: #0b1b33;
      box-shadow: 0 10px 28px rgba(2,8,23,.10);
      transform: translateY(0);
      transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
      cursor: pointer;
      height: 100%;
    }
    .region-card:hover{
      transform: translateY(-4px) scale(1.02);
      box-shadow: 0 20px 50px rgba(2,8,23,.18);
      filter: brightness(1.05);
    }
    .region-card::before{
      content:"";
      position:absolute; inset:0;
      background-image: var(--bg);
      background-size: cover;
      background-position: center;
      filter: saturate(1.05) contrast(1.05);
      transform: scale(1.02);
      transition: transform .18s ease;
    }
    .region-card:hover::before{
      transform: scale(1.05);
    }
    .region-card::after{
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.4), rgba(30, 41, 59, 0.5));
      transition: background .18s ease;
    }
    .region-card:hover::after{
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.7), rgba(30, 41, 59, 0.8));
    }
    .region-card .content{
      position:relative;
      padding: 24px;
      color:#fff;
      display:flex;
      flex-direction:column;
      height:100%;
      gap: 12px;
      z-index: 1;
    }
    .region-card .title{
      font-weight: 900;
      font-size: 1.3rem;
      margin:0;
      color:#fff;
      line-height: 1.2;
    }
    .region-card .meta{
      margin:0;
      font-size: 1rem;
      max-width: 55ch;
      color:#fff;
      line-height: 1.4;
    }
    .region-card .contacts{
      margin-top:auto;
      padding-top:12px;
      border-top: 1px solid rgba(255,255,255,.40);
      font-size: .98rem;
      color:#fff;
    }
    .region-card .contacts a{
      color:#fff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }
    .region-card .content,
    .region-card .content a,
    .region-card .content strong{
      text-shadow: 0 2px 12px rgba(0,0,0,.6), 0 1px 4px rgba(0,0,0,.4);
    }
    .badge-soft{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.4rem .7rem;
      font-weight:800;
      font-size:.85rem;
      background: rgba(0,0,0,.28);
      border: 1px solid rgba(255,255,255,.32);
      color:#fff;
      width: fit-content;
      text-shadow: 0 1px 6px rgba(0,0,0,.5);
    }

    /* ===== SEZIONE CHI SIAMO ACCATTIVANTE ===== */
    .chi-siamo-image-wrapper {
      position: relative;
      overflow: hidden;
      min-height: 600px;
    }
    .chi-siamo-image {
      transition: transform 8s ease;
      object-fit: cover;
    }
    .chi-siamo-image-wrapper:hover .chi-siamo-image {
      transform: scale(1.05);
    }
    .chi-siamo-overlay {
      background: linear-gradient(135deg, rgba(10,43,82,0.3) 0%, rgba(10,43,82,0.8) 100%);
      pointer-events: none;
      transition: background 0.3s ease;
    }
    .chi-siamo-image-wrapper:hover .chi-siamo-overlay {
      background: linear-gradient(135deg, rgba(10,43,82,0.2) 0%, rgba(10,43,82,0.7) 100%);
    }
    .badge-soft-chi-siamo {
      display: inline-block;
      padding: 0.5rem 1.2rem;
      background: rgba(230, 57, 70, 0.9);
      color: white;
      font-weight: 700;
      font-size: 0.9rem;
      letter-spacing: 1px;
      text-transform: uppercase;
      backdrop-filter: blur(5px);
      border: 1px solid rgba(255,255,255,0.3);
    }
    .chi-siamo-bg-pattern {
      background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
      border-left: 1px solid #cbd5e1;
      position: relative;
    }
    .chi-siamo-bg-pattern::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-image: 
        radial-gradient(circle at 20% 30%, rgba(11,79,163,0.03) 0px, transparent 50px),
        radial-gradient(circle at 80% 70%, rgba(230,57,70,0.03) 0px, transparent 50px);
      background-size: 100px 100px;
    }
    .chi-siamo-content {
      animation: fadeInUp 0.8s ease-out;
    }
    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .title-decoration {
      width: 80px;
      height: 4px;
      background: linear-gradient(90deg, #0b4fa3, #e63946);
      margin-bottom: 1.5rem;
    }
    .drop-cap::first-letter {
      font-size: 4rem;
      float: left;
      line-height: 1;
      margin-right: 0.5rem;
      color: #0b4fa3;
      font-weight: 800;
      text-shadow: 2px 2px 0 rgba(11,79,163,0.1);
    }
    .stat-mini-card {
      background: white;
      border: 1px solid rgba(0,0,0,0.05);
      box-shadow: 0 4px 12px rgba(0,0,0,0.02);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .stat-mini-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 25px rgba(11,79,163,0.1);
      border-color: rgba(11,79,163,0.2);
    }
    .quote-block {
      position: relative;
      background: linear-gradient(145deg, rgba(11,79,163,0.02), rgba(230,57,70,0.02));
      border-left: 4px solid #e63946;
      transition: all 0.2s ease;
    }
    .quote-block:hover {
      background: linear-gradient(145deg, rgba(11,79,163,0.05), rgba(230,57,70,0.05));
      border-left-width: 6px;
    }
    .hover-lift {
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .hover-lift:hover {
      transform: translateY(-3px);
      box-shadow: 0 15px 30px rgba(11,79,163,0.2) !important;
    }
    .text-brand {
      color: #0b4fa3 !important;
    }
    .bg-accent {
      background: #e63946 !important;
    }

    /* ===== SERVIZI SECTION ===== */
    .services-section {
      background: white;
      padding: 5rem 0;
      z-index: 2;
    }
    .service-box {
      background: var(--light-blue);
      border: 1px solid var(--border-color);
      padding: 2rem;
      height: 100%;
      transition: all 0.3s ease;
    }
    .service-box:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    }
    .service-box h3 {
      color: var(--dark-blue);
      font-weight: 700;
      margin-bottom: 1.5rem;
      padding-bottom: 0.5rem;
      border-bottom: 3px solid var(--brand-accent);
    }
    .service-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .service-list li {
      margin-bottom: 1rem;
    }
    .service-list a {
      color: var(--dark-blue);
      text-decoration: none;
      font-weight: 500;
      display: flex;
      align-items: center;
      transition: all 0.2s;
      padding: 0.5rem;
      background: white;
      border: 1px solid var(--border-color);
    }
    .service-list a:hover {
      background: var(--brand-primary);
      color: white;
      border-color: var(--brand-primary);
      transform: translateX(5px);
    }
    .service-list a i {
      margin-right: 1rem;
      font-size: 1.2rem;
    }

    /* ===== NEWS CON IMMAGINI ===== */
    .news-section {
      background: var(--gray-light);
      padding: 5rem 0;
      z-index: 2;
    }
    .news-card {
      height: 100%;
      background: white;
      border: none;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
      transition: all 0.3s;
      overflow: hidden;
    }
    .news-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    }
    .news-thumb {
      height: 200px;
      background-image: var(--newsbg);
      background-size: cover;
      background-position: center;
      position: relative;
    }
    .news-thumb::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 60%;
      background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
    }
    .news-date {
      position: absolute;
      bottom: 1rem;
      left: 1rem;
      color: white;
      font-size: 0.85rem;
      font-weight: 600;
      z-index: 2;
      text-shadow: 0 1px 5px rgba(0,0,0,0.5);
    }
    .news-body {
      padding: 1.5rem;
    }

    /* ===== FOOTER ===== */
    .main-footer {
      background: var(--dark-blue);
      color: rgba(255, 255, 255, 0.9);
      padding: 3rem 0 1.5rem;
      z-index: 2;
    }
    .footer-logo {
      max-height: 100px; 
      margin-bottom: 1rem;
      border: 5px solid white;
    }
    .footer-title {
      color: white;
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 1rem;
    }
    .footer-links {
      list-style: none;
      padding: 0;
    }
    .footer-links li {
      margin-bottom: 0.5rem;
    }
    .footer-links a {
      color: rgba(255, 255, 255, 0.8);
      text-decoration: none;
      transition: color 0.2s;
    }
    .footer-links a:hover {
      color: white;
      text-decoration: underline;
    }
    .copyright {
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      padding-top: 1.5rem;
      margin-top: 2rem;
      font-size: 0.9rem;
      color: rgba(255, 255, 255, 0.7);
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 992px) {
      .chi-siamo-image-wrapper { min-height: 400px; }
      .chi-siamo-content { padding: 3rem !important; }
      #chi-siamo .col-lg-6:first-child { height: 400px; }
    }
    @media (max-width: 768px) {
      .hero-bg { background-attachment: scroll; }
      .hero { min-height: 70vh; }
      .chi-siamo-image-wrapper { min-height: 300px; }
      .chi-siamo-content { padding: 2rem !important; }
      .stat-mini-card .h3 { font-size: 1.5rem; }
      #chi-siamo .col-lg-6:first-child { height: 300px; }
    }
    @media (max-width: 576px) {
      #chi-siamo .p-5 { padding: 1.5rem !important; }
      #chi-siamo h2 { font-size: 1.75rem !important; }
    }

