@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Montserrat:wght@400;500;600;700;800;900&family=Poppins:wght@500;600;700;800&display=swap");

:root{
  --red:#cc0000;
  --text:#111111;
  --muted:#666b70;
  --line:#c8d0d5;
  --soft:#edf1f2;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter', Arial, Helvetica, sans-serif;
  font-size:15px;
  color:var(--text);
  background:#fff;
}

h1, h2, h3, h4, h5, h6{
  font-family:'Poppins', 'Montserrat', Arial, Helvetica, sans-serif;
  letter-spacing:-0.025em;
}

p, .nav, .btn, .kicker, .eyebrow{
  font-family:'Inter', Arial, Helvetica, sans-serif;
}

a{text-decoration:none;color:inherit}
.container{width:min(1440px, calc(100% - 72px)); margin:0 auto}

/* HEADER */
.topbar{
  background:var(--red);
  color:#fff;
  height:60px;
  display:flex;
  align-items:center;
  position:relative;
  z-index:20;
}
.topbar .container{
  width:min(1700px, calc(100% - 90px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand{
  display:flex;
  align-items:center;
}
.brand a{display:flex; align-items:center;}
.brand img{height:56px; width:auto; display:block;}
.nav{
  display:flex;
  gap:20px;
  align-items:center;
  font-size:12px;
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
  font-weight:400;
  letter-spacing:.01em;
}
.nav a{color:#fff; opacity:.96}
.nav a.active,.nav a:hover{text-decoration:none}

/* SOCIAL BAR */
.social-rail{
  position:fixed;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  background:#8a8a8a;
  z-index:9999;
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset;
}
.social-rail a{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.22);
  background:#8a8a8a;
  transition:background .2s ease, opacity .2s ease;
}
.social-rail a:last-child{border-bottom:0}
.social-rail a:hover{background:#7a7a7a}
.social-rail svg{
  width:23px;
  height:23px;
  display:block;
  fill:currentColor;
}
.social-rail a[aria-label*="Facebook"] svg{width:25px;height:25px;}
.social-rail a[aria-label*="WhatsApp"] svg{width:26px;height:26px;}
.social-rail a[aria-label*="X"] svg{width:21px;height:21px;}

/* HERO EXACTER LOOK */
.hero{
  min-height:560px;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  text-align:center;
  background:
    linear-gradient(90deg, rgba(0,0,0,.018), rgba(255,255,255,0) 15%, rgba(0,0,0,.014) 33%, rgba(255,255,255,0) 52%, rgba(0,0,0,.012) 75%, rgba(255,255,255,0)),
    linear-gradient(180deg, #efefef 0%, #f4f4f4 100%);
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
background: linear-gradient(rgba(255,255,255,0.91), rgba(255,255,255,0.91)), url('../img/background.jpg') center center /cover no-repeat;  filter:blur(1px);
}
.hero::after{
  content:"";
  position:absolute;
  left:18%;
  right:10%;
  bottom:84px;
  height:120px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.018)),
    linear-gradient(90deg,
      transparent 0 6%,
      rgba(0,0,0,.02) 6% 10%,
      transparent 10% 29%,
      rgba(0,0,0,.016) 29% 33%,
      transparent 33% 54%,
      rgba(0,0,0,.014) 54% 58%,
      transparent 58% 79%,
      rgba(0,0,0,.014) 79% 83%,
      transparent 83% 100%);
  opacity:.45;
}
.hero-content{
  position:relative;
  z-index:2;
  transform:translateY(-10px);
}
.kicker{
  font-family:'Poppins', 'Montserrat', Arial, Helvetica, sans-serif;
  font-size:22px;
  font-weight:400; /* più sottile */
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:42px;
}
.hero h1{
  margin:0 0 42px;
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
  font-size:clamp(66px, 7vw, 104px);
  line-height:.9;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.045em;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:228px;
  height:72px;
  border:2px solid rgba(0,0,0,.32);
  background:#f8f8f8;
  font-family:'Inter', Arial, Helvetica, sans-serif;
  font-size:18px;
  font-weight:500;
  color:#3c3c3c;
}

/* GENERIC SECTIONS */
.section-gray { background:var(--soft); padding:72px 0; }
.section-white { padding:72px 0; }
.intro { max-width:980px; margin:0 auto; text-align:center; }
.intro h2, .section-title { font-size:clamp(28px, 4vw, 52px); margin:8px 0 18px; line-height:1.05; }
.intro p, p { line-height:1.7; font-size:15px; }
.two-col { display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:start; }
.page-title { text-align:center; padding:56px 0 70px; }
.page-title .breadcrumbs { font-size:12px; margin-bottom:16px; color:#333; }
.page-title h1 { font-size:clamp(36px, 5vw, 62px); text-transform:none; font-weight:800; margin-bottom:0; }
.map-card {
  border:1px solid #a7adb3;
  background:
    linear-gradient(90deg, rgba(255,255,255,.7) 0 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.7) 0 1px, transparent 1px),
    linear-gradient(135deg, #bfd0c7, #e4ecea);
  background-size:54px 54px, 54px 54px, cover;
  min-height:320px;
  overflow:hidden;
  position:relative;
}
.map-card::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(120deg, transparent 0 16%, #ceb98f 16% 19%, transparent 19% 100%),
    linear-gradient(30deg, transparent 0 28%, #d7d0bc 28% 31%, transparent 31% 100%),
    radial-gradient(circle at 66% 42%, #dd1f1f 0 10px, rgba(221,31,31,.25) 11px 18px, transparent 19px);
}
.cards { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:22px; }
.card { border:1px solid #555; background:#fff; }
.card .content { padding:18px 18px 14px; }
.card h3 { font-size:18px; margin:0 0 12px; }
.card .date { font-size:12px; margin-bottom:16px; }
.card p { font-size:14px; color:#222; }
.card .link { margin-top:20px; color:var(--red); font-size:14px; }
.event-detail h2 { font-size:clamp(36px, 5vw, 54px); margin:0 0 30px; }
.label { font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:#444; }
.partner-strip { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #333; border-bottom:1px solid #333; }
.partner-strip .logo { min-height:170px; display:grid; place-items:center; border-right:1px solid #333; padding:20px; font-size:22px; text-align:center; font-weight:700; }
.partner-strip .logo:last-child { border-right:0; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:34px; }
.form-mock, .contact-mock { border-top:2px solid #111; padding-top:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.input, .textarea { width:100%; border:0; border-bottom:1px solid #888; padding:14px 4px; font-size:14px; margin-bottom:16px; background:transparent; }
.textarea { min-height:90px; resize:vertical; }
.small { font-size:12px; color:var(--muted); }
.footer-placeholder { background:#666; color:#fff; text-align:center; padding:46px 20px 150px; font-size:clamp(24px, 4vw, 34px); font-weight:800; }
.footer {
  background:var(--red);
  color:#fff;
}
.footer-reference{
  padding:22px 0 26px;
  overflow:hidden;
}
.footer-reference__inner{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:48px;
  min-height:210px;
}
.footer-reference__left{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  min-height:150px;
}
.footer-reference__logos{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}
.footer-logo{
  display:block;
  width:auto;
  object-fit:contain;
}
.footer-logo--pca{height:86px;}
.footer-logo--berbenno{height:82px;}
.footer-logo--polaggia{height:44px;}
.footer-reference__copyright{
  margin:34px 0 0;
  font-size:14px;
  line-height:1.35;
  text-decoration:underline;
  text-underline-offset:2px;
}
.footer-reference__right{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  min-width:280px;
  padding-bottom:12px;
}
.footer-reference__title{
  margin:0;
  font-size:26px;
  font-weight:700;
  color:#fff;
}
.footer-reference__socials{
  display:flex;
  gap:22px;
  margin-top:26px;
}
.footer-social-link{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}
.footer-social-link svg{
  width:100%;
  height:100%;
}
.footer-social-link svg *{
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-social-link svg .footer-social-fill{
  fill:currentColor;
  stroke:none;
}
.footer-social-link:hover{opacity:.85;}

.poster-code{
  height:230px;
  background:
    radial-gradient(circle at 70% 30%, rgba(255,190,110,.45), transparent 14%),
    linear-gradient(180deg, #20262c 0 22%, #3d1a17 22% 46%, #52382a 46% 100%);
}

@media (max-width: 1100px) {
  .nav{gap:20px; font-size:14px}
  .hero{min-height:560px}
  .kicker{
  font-family:'Poppins', 'Montserrat', Arial, Helvetica, sans-serif;
  font-size:22px;
  font-weight:400; /* più sottile */
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:42px;
}
  .hero h1{font-size:clamp(56px, 9vw, 88px)}
  .btn{width:190px;height:60px;font-size:16px}
  .social-rail{left:0}
}
@media (max-width: 900px) {
  .heritage-section{padding:68px 0}
  .heritage-grid{grid-template-columns:1fr; gap:32px}
  .heritage-copy{max-width:none}
  .heritage-copy h2{font-size:clamp(32px, 10vw, 52px)}

  .container, .topbar .container { width:min(1120px, calc(100% - 34px)); }
  .two-col, .contact-grid, .cards, .partner-strip { grid-template-columns:1fr; }
  .nav { gap:12px; flex-wrap:wrap; justify-content:flex-end; }
  .topbar { height:auto; padding:14px 0; }
  .brand{font-size:11px}
  .hero{min-height:460px}
  .kicker{
  font-family:'Poppins', 'Montserrat', Arial, Helvetica, sans-serif;
  font-size:22px;
  font-weight:400; /* più sottile */
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:42px;
}
  .hero h1{margin-bottom:30px; font-size:clamp(44px, 12vw, 68px)}
}


/* HERITAGE SECTION */
.heritage-section{
  background:#efefef;
  padding:56px 0 78px;
}
.heritage-wrap{
  width:min(1280px, calc(100% - 90px));
  margin:0 auto;
}
.heritage-copy{max-width:none}
.eyebrow{
  display:block;
  text-align:center;
  margin:0 0 18px;
  font-size:18px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#232323;
}
.heritage-section h2{
  margin:0;
  text-align:center;
  font-family:'Poppins', 'Montserrat', Arial, Helvetica, sans-serif;
  font-size:clamp(34px, 4vw, 48px);
  line-height:1.05;
  font-weight:600;
  letter-spacing:-0.035em;
  color:#111;
}
.heritage-section p{
  width:min(980px, calc(100% - 20px));
  margin:32px auto 52px;
  font-size:18px;
  line-height:1.65;
  color:#1b1b1b;
  text-align:center;
}
.heritage-section p strong{font-weight:700}
.heritage-section p em{font-style:italic}
.heritage-visual{
  width:min(1390px, 100%);
  margin:0 auto;
}
.heritage-photo-frame{padding:0;background:transparent;box-shadow:none}
.heritage-photo{
  aspect-ratio:1391 / 768;
  width:100%;
  background-image:url("../img/1.jpg");
  background-size:cover;
  background-position:center center;
  border:none;
}
@media (max-width: 900px) {
  .heritage-section{padding:42px 0 52px}
  .heritage-wrap{width:min(100%, calc(100% - 40px))}
  .eyebrow{font-size:13px; margin-bottom:12px}
  .heritage-section h2{font-size:clamp(30px, 9vw, 42px)}
  .heritage-section p{margin:24px auto 32px; font-size:17px; line-height:1.45; width:100%}
}


@media (max-width: 900px){
  .brand img{height:48px;}
  .footer-reference{padding:26px 0 30px;}
  .footer-reference__inner{
    min-height:auto;
    align-items:flex-start;
    flex-direction:column;
    gap:30px;
  }
  .footer-reference__right{
    min-width:0;
    width:100%;
    align-items:flex-start;
    padding-bottom:0;
  }
  .footer-reference__title{font-size:20px;}
  .footer-reference__socials{margin-top:16px;}
  .footer-logo--pca{height:62px;}
  .footer-logo--berbenno{height:58px;}
  .footer-logo--polaggia{height:36px;}
  .footer-reference__copyright{font-size:13px; margin-top:22px;}
}

/* =========================
   NEWSLETTER SPLIT (NUOVA)
========================= */

.newsletter-split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  min-height:360px;
}

.newsletter-left{
  background:#6f8a8f;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:60px;
}

.newsletter-content{
  max-width:520px;
  color:#fff;
}

.newsletter-content h2{
  font-size:40px;
  font-weight:800;
  margin-bottom:20px;
  text-decoration:underline;
}

.newsletter-content p{
  margin-bottom:40px;
  color:#e6eef0;
  line-height:1.6;
}

.newsletter-form{
  display:flex;
  align-items:center;
  gap:20px;
}

.newsletter-form input{
  flex:1;
  border:none;
  border-bottom:1px solid rgba(255,255,255,0.6);
  background:transparent;
  padding:12px 4px;
  color:#fff;
  font-size:16px;
}

.newsletter-form input::placeholder{
  color:#d0dadd;
}

.newsletter-form button{
  padding:14px 40px;
  border:1px solid #fff;
  background:transparent;
  color:#fff;
  font-weight:600;
  cursor:pointer;
}

.newsletter-right{
  background:url("../img/2.jpg") center/cover no-repeat;
}

@media (max-width: 900px){
  .newsletter-split{
    grid-template-columns:1fr;
  }

  .newsletter-right{
    min-height:300px;
  }

  .newsletter-content h2{
    font-size:36px;
  }
}

/* =========================
   SOCIAL SECTION - EXACT STYLE
========================= */

.social-section{
  background:#e9ecef;
  padding:72px 0;
}

/* HEADER (linea + titolo) */
.social-header{
  margin-bottom:50px;
}

.social-header hr{
  width:120px;
  height:2px;
  background:#1a1a1a;
  border:none;
  margin:0 0 20px 0;
}

.social-header h2{
  font-size:42px;
  font-weight:500;
  letter-spacing:-0.5px;
  text-decoration:underline;
  margin:0;
}

/* GRID */
.social-grid{
  display:grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap:40px;
  align-items:start;
}

/* CARD */
.social-card{
  overflow:hidden;
  background:#ddd;
}

.social-card{
  height:420px;
}

.social-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* DIMENSIONI UNIFORMI */
.social-card.large,
.social-card:not(.large){
  aspect-ratio:auto;
}

/* RESPONSIVE */
@media (max-width: 900px){
  .social-grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .social-header h2{
    font-size:32px;
  }

  .social-section{
    padding:60px 0;
  }
}

/* =========================
   CONTACT SECTION - SCREENSHOT STYLE
========================= */

.contact-section{
  background:#efefef;
  padding:28px 0 90px;
}

.contact-container{
  width:min(1660px, calc(100% - 120px));
}

.contact-heading{
  margin-bottom:84px;
}

.contact-kicker{
  margin:0 0 24px;
  font-size:18px;
  line-height:1.2;
  font-weight:600;
  color:#111;
}

.contact-heading h2{
  margin:0 0 24px;
  font-size:58px;
  line-height:0.95;
  font-weight:800;
  letter-spacing:-0.04em;
  color:#000;
}

.contact-intro{
  margin:0;
  max-width:760px;
  font-size:18px;
  line-height:1.6;
  color:#333;
}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.55fr) minmax(320px, 0.9fr);
  gap:110px;
  align-items:start;
}

.contact-form-col h3,
.contact-info-col h3{
  margin:0 0 28px;
  font-size:28px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-0.02em;
  color:#111;
}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.form-group label{
  font-size:18px;
  line-height:1.3;
  font-weight:500;
  color:#111;
}

.form-group input,
.form-group textarea{
  width:100%;
  border:2px solid #d6d6d6;
  background:#f4f4f4;
  padding:18px 20px;
  font-size:17px;
  font-family:Arial, Helvetica, sans-serif;
  color:#111;
  outline:none;
  box-shadow:none;
}

.form-group input{
  height:60px;
}

.form-group textarea{
  min-height:170px;
  resize:vertical;
}

.form-group input::placeholder,
.form-group textarea::placeholder{
  color:#b7b7b7;
}

.form-group input:focus,
.form-group textarea:focus{
  border-color:#bcbcbc;
  background:#f7f7f7;
}

.contact-mail{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:8px;
  font-size:18px;
  color:#222;
  word-break:break-word;
}

.contact-mail a{
  color:inherit;
  text-decoration:none;
}

.contact-icon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 24px;
}

.contact-icon svg{
  width:22px;
  height:22px;
  display:block;
}

.contact-info-col hr{
  border:0;
  border-top:2px solid #d0d0d0;
  margin:52px 0 42px;
  width:100%;
}

.contact-socials{
  display:flex;
  align-items:center;
  gap:26px;
}

.contact-social-link{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#111;
}

.contact-social-link svg{
  width:100%;
  height:100%;
  display:block;
}

.contact-social-link:hover{
  opacity:.7;
}

@media (max-width: 1100px){
  .contact-layout{
    gap:60px;
    grid-template-columns:1fr;
  }

  .contact-heading{
    margin-bottom:56px;
  }
}

@media (max-width: 900px){
  .contact-section{
    padding:26px 0 60px;
  }

  .contact-container{
    width:min(1120px, calc(100% - 40px));
  }

  .contact-kicker{
    font-size:15px;
    margin-bottom:16px;
  }

  .contact-heading h2{
    font-size:52px;
    margin-bottom:20px;
  }

  .contact-intro{
    font-size:16px;
  }

  .contact-form-col h3,
  .contact-info-col h3{
    font-size:28px;
    margin-bottom:24px;
  }

  .form-group label{
    font-size:16px;
  }

  .form-group input{
    height:60px;
  }

  .form-group textarea{
    min-height:160px;
  }
}


/* Shared navigation */
.topbar{
  background:var(--red);
  color:#fff;
  min-height:90px;
  display:flex;
  align-items:center;
  position:relative;
  z-index:20;
}
.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand img{height:56px; width:auto; display:block;}
.nav-toggle{display:none;}
.nav-toggle-label{
  display:none;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
}
.nav-toggle-label span{
  width:28px;
  height:2px;
  background:#fff;
  display:block;
}
.nav{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  align-items:center;
  justify-content:flex-end;
  font-size:12px;
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
  font-weight:400;
  letter-spacing:.01em;
}
.nav a{
  color:#fff;
  opacity:.96;
  padding:6px 0;
  position:relative;
}
.nav a.active::after,
.nav a:hover::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:2px;
  background:#fff;
}

.footer-reference{
  padding:28px 0 32px;
  overflow:hidden;
}
.footer-reference__inner{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:48px;
  min-height:210px;
}
.footer-reference__logos{display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.footer-logo--pca{height:60px;}
.footer-logo--berbenno{height:44px;}
.footer-logo--polaggia{height:44px;}

@media (max-width: 1100px) {
  .topbar{min-height:96px;}
  .brand img{height:56px;}
  .nav{gap:20px; font-size:12px;}
}

@media (max-width: 900px) {
  .topbar{padding:18px 0; min-height:auto;}
  .topbar-inner{position:relative; align-items:center;}
  .brand img{height:56px;}
  .nav-toggle-label{display:flex; margin-left:auto;}
  .nav{
    display:none;
    position:absolute;
    top:calc(100% + 12px);
    left:0;
    right:0;
    background:var(--red);
    border:1px solid rgba(255,255,255,.2);
    padding:18px 20px;
    border-radius:12px;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
  }
  .nav-toggle:checked ~ .nav{display:flex;}
  .nav a{width:100%;}
  .nav a.active::after,
  .nav a:hover::after{left:0; right:auto; width:100%; bottom:0;}
  .social-rail{display:none;}
  .footer-reference{padding:26px 0 30px;}
  .footer-reference__inner{min-height:auto; align-items:flex-start; flex-direction:column; gap:30px;}
  .footer-reference__right{min-width:0; width:100%; align-items:flex-start; padding-bottom:0;}
  .footer-reference__title{font-size:20px;}
  .footer-reference__socials{margin-top:16px;}
  .footer-logo--pca{height:70px;}
  .footer-logo--berbenno{height:60px;}
  .footer-logo--polaggia{height:50px;}
  .footer-reference__copyright{font-size:13px; margin-top:22px;}
}

@media (max-width: 640px) {
  .container, .topbar .container, .contact-container, .heritage-wrap { width:min(100%, calc(100% - 28px)); }
  .page-title{padding:40px 0 48px;}
  .section-gray, .section-white{padding:48px 0;}
  .partner-strip .logo{min-height:90px; font-size:18px;}
  .form-row{grid-template-columns:1fr;}
  .contact-grid{gap:24px;}
  .cards{grid-template-columns:1fr;}
  .newsletter-left{padding:36px 24px;}
  .newsletter-content h2{font-size:30px;}
  .newsletter-form{flex-direction:column; align-items:stretch; gap:14px;}
  .newsletter-form button{width:100%;}
  .contact-heading{margin-bottom:36px;}
  .contact-heading h2{font-size:40px;}
  .contact-layout{gap:20px;}
  .contact-mail{font-size:16px; gap:12px;}
  .social-header h2{font-size:28px;}
}

.page-hero {
    background-color: #ffffff;
    text-align: center;
    padding: 60px 20px;
    border-bottom: 1px solid #eee;
}

.page-hero .breadcrumb {
    font-size: 14px;
    color: #777;
    margin-bottom: 10px;
}

.page-hero h1 {
    font-size: 36px;
    font-weight: 700;
    margin: 0;
    color: #000;
}

.coming-soon {
    background-color: #6b6b6b; /* grigio */
    color: #ffffff;
    
    height: 70vh; /* altezza se vuoi lasciare header/footer visibili */
    /* oppure usa 100vh se vuoi fullscreen totale */
    
    display: flex;
    justify-content: center;
    align-items: center;
    
    text-align: center;
    padding: 20px;
}

.coming-soon h2 {
    font-size: 42px;
    font-weight: 600;
    margin: 0;
}

.contact-map-section {
    background-color: #dde1e1;
    padding: 80px 60px;
}

.contact-map-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 80px;
}

.contact-info {
    flex: 1;
    max-width: 500px;
}

.contact-info h2 {
    font-size: 32px;
    font-weight: 600;
    color: #111;
    margin-bottom: 20px;
}

.contact-info p {
    font-size: 18px;
    line-height: 1.6;
    color: #444;
    margin-bottom: 25px;
}

.contact-email {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
}

.email-icon {
    font-size: 18px;
    color: #111;
}
.contact-email a {
    color: #111;
    text-decoration: none;
}

.contact-email a:hover {
    text-decoration: underline;
}

.contact-map {
    flex: 1;
    max-width: 760px;
}

.contact-map iframe {
    width: 100%;
    height: 420px;
    display: block;
}

@media (max-width: 768px) {
    .contact-info h2 {
        font-size: 26px;
    }

    .contact-info p {
        font-size: 16px;
    }

    .contact-email {
        font-size: 14px;
    }
}

.events-section {
    background: #e3e6e6;
    padding: 50px 40px 70px;
}

.events-container {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
}

.event-card {
    background: transparent;
    border: 1px solid #8f8f8f;
    padding: 0 28px 30px;
}

.event-image {
    width: 100%;
    margin-bottom: 22px;
}

.event-image img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}

.event-content h3 {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: #111;
    margin: 0 0 22px;
}

.event-date {
    font-size: 14px;
    color: #444;
    margin: 0 0 42px;
}

.event-description {
    font-size: 16px;
    line-height: 1.9;
    color: #222;
    margin: 0 0 42px;
    max-width: 95%;
}

.event-link {
    font-size: 14px;
    color: #d86f7c;
    text-decoration: none;
    font-weight: 500;
}

.event-link:hover {
    text-decoration: underline;
}

.sponsor-section {
    background: #e3e6e6;
    padding: 60px 40px;
}

/* HEADER */
.sponsor-header {
    text-align: center;
    margin-bottom: 40px;
}

.sponsor-subtitle {
    font-size: 12px;
    letter-spacing: 2px;
    color: #666;
    margin-bottom: 10px;
}

.sponsor-header h2 {
    font-size: 36px;
    font-weight: 600;
    margin: 0;
    color: #111;
}

.sponsor-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #8f8f8f;
    background: #fff;
}

.sponsor-item {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 24px;
    border-right: 1px solid #8f8f8f;
}

.sponsor-item:last-child {
    border-right: none;
}

.sponsor-item img {
    width: 180px;
    max-width: 100%;
    height:52px;
    object-fit: contain;
    display: block;
}

@media (max-width: 992px) {
    .sponsor-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sponsor-item {
        min-height: 200px;
        border-bottom: 1px solid #8f8f8f;
    }

    .sponsor-item:nth-child(2n) {
        border-right: none;
    }

    .sponsor-item:nth-last-child(-n + 2) {
        border-bottom: none;
    }
}

@media (max-width: 576px) {
    .sponsor-grid {
        grid-template-columns: 1fr;
    }

    .sponsor-item {
        min-height: 180px;
        border-right: none;
        border-bottom: 1px solid #8f8f8f;
    }

    .sponsor-item:last-child {
        border-bottom: none;
    }

    .sponsor-header h2 {
        font-size: 28px;
    }
}

.nav-close{display:none;}
@media (max-width: 1100px) {
  .topbar{min-height:84px;}
  .brand img{height:56px;}
  .nav{gap:20px; font-size:12px;}
  .hero{min-height:500px}
}

@media (max-width: 900px) {
  body{font-size:14px;}
  .topbar{padding:14px 0; min-height:auto;}
  .topbar-inner{position:relative;}
  .brand img{height:56px;}
  .nav-toggle-label{display:flex; z-index:1002; position:relative;}
  .nav{
    display:flex;
    position:fixed;
    inset:0;
    width:100vw;
    height:100vh;
    padding:96px 28px 40px;
    background:rgba(204,0,0,.98);
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:20px;
    border:none;
    border-radius:0;
    box-shadow:none;
    transform:translateY(-100%);
    opacity:0;
    pointer-events:none;
    transition:transform .28s ease, opacity .28s ease;
    z-index:1001;
  }
  .nav-toggle:checked ~ .nav{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .nav a{width:auto; font-size:24px; padding:4px 0;}
  .nav a.active::after,
  .nav a:hover::after{left:0; right:0; width:100%; bottom:-6px;}
  .nav-close{
    display:flex;
    position:absolute;
    top:22px;
    right:24px;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:34px;
    line-height:1;
    cursor:pointer;
  }
  .hero{min-height:420px}
  .kicker{
  font-family:'Poppins', 'Montserrat', Arial, Helvetica, sans-serif;
  font-size:22px;
  font-weight:400; /* più sottile */
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:42px;
}
  .hero h1{font-size:clamp(42px, 12vw, 62px); margin-bottom:24px}
  .heritage-wrap{width:min(100%, calc(100% - 32px));}
  .heritage-section p{font-size:16px; margin:22px auto 28px;}
  .heritage-photo{min-height:260px; background-position:center center;}
  .newsletter-left{padding:42px 28px;}
  .newsletter-content h2{font-size:32px;}
  .social-header h2{font-size:30px;}
  .contact-container{width:min(100%, calc(100% - 32px));}
  .contact-heading{margin-bottom:36px;}
  .contact-heading h2{font-size:42px;}
  .contact-form-col h3, .contact-info-col h3{font-size:24px;}
  .footer-reference__logos{gap:22px;}
  .footer-logo--pca{height:56px;}
  .footer-logo--berbenno{height:54px;}
  .footer-logo--polaggia{height:54px;}
  .footer-reference__title{font-size:18px; text-decoration:underline; text-underline-offset:3px;}
  .contact-map-section{padding:48px 20px;}
  .contact-map-container{flex-direction:column; gap:28px;}
  .events-section{padding:40px 20px 50px;}
  .events-container{grid-template-columns:1fr; gap:28px;}
  .event-card{padding:0 18px 22px;}
  .event-image img{height:220px;}
  .sponsor-section{padding:48px 20px;}
}

@media (max-width: 640px) {
  .container, .topbar .container, .contact-container, .heritage-wrap { width:min(100%, calc(100% - 24px)); }
  .topbar{padding:12px 0;}
  .brand img{height:56px;}
  .nav a{font-size:22px;}
  .newsletter-left{padding:34px 20px;}
  .newsletter-content h2{font-size:28px;}
  .social-section{padding:52px 0;}
}


.hero-btn{
  margin-top:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:18px 48px;
  background:#f3f3f3;
  border:2px solid #cfcfcf;
  color:#333;
  font-size:16px;
  font-weight:400;
  letter-spacing:.02em;
}
/* HOVER GRIGIO */
.hero-btn:hover{
  background:#bfbfbf;
  border-color:#9a9a9a;
  color:#222;
}

/* =========================
   ARTICLES PAGE
========================= */
.articles-section{
  background:#e3e6e6;
  padding:64px 40px 84px;
}
.articles-container{
  max-width:1400px;
  margin:0 auto;
}
.articles-intro{
  max-width:900px;
  margin:0 auto 48px;
  text-align:center;
}
.articles-kicker{
  margin:0 0 14px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#555;
}
.articles-intro h2{
  margin:0 0 20px;
  font-size:clamp(32px, 4vw, 54px);
  line-height:1.05;
  font-weight:800;
}
.articles-intro p:last-child{
  margin:0 auto;
  max-width:760px;
  font-size:17px;
  line-height:1.7;
  color:#333;
}
.article-detail{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:44px;
  align-items:center;
  border:1px solid #8f8f8f;
  background:rgba(255,255,255,.28);
  padding:28px;
  margin-bottom:34px;
  scroll-margin-top:120px;
}
.article-detail:nth-of-type(even){
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
}
.article-detail:nth-of-type(even) .article-image{order:2;}
.article-image img{
  width:100%;
  height:390px;
  object-fit:cover;
  display:block;
}
.article-copy{padding:8px 8px 8px 0;}
.article-meta{
  margin:0 0 18px;
  font-size:14px;
  color:#555;
}
.article-copy h2{
  margin:0 0 24px;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1.1;
  font-weight:800;
}
.article-copy p{
  font-size:16px;
  line-height:1.85;
  color:#222;
  margin:0 0 18px;
}
.article-back{
  display:inline-flex;
  margin-top:14px;
  color:#d86f7c;
  font-size:14px;
  font-weight:600;
}
.article-back:hover{text-decoration:underline;}

@media (max-width: 900px){
  .articles-section{padding:44px 20px 58px;}
  .articles-intro{text-align:left; margin-bottom:32px;}
  .article-detail,
  .article-detail:nth-of-type(even){
    grid-template-columns:1fr;
    gap:24px;
    padding:18px;
  }
  .article-detail:nth-of-type(even) .article-image{order:0;}
  .article-image img{height:230px;}
  .article-copy{padding:0;}
}

/* =========================
   BLOG LAYOUT
========================= */
.blog-section{
  padding-top:72px;
}
.blog-featured{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr);
  gap:0;
  background:#fff;
  border:1px solid #8f8f8f;
  margin-bottom:38px;
  overflow:hidden;
}
.blog-featured__image img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  display:block;
}
.blog-featured__content{
  padding:48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.blog-featured__content h2{
  margin:0 0 22px;
  font-size:clamp(34px, 4vw, 58px);
  line-height:1.02;
}
.blog-featured__content p:not(.article-meta){
  font-size:18px;
  line-height:1.75;
  color:#222;
}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:28px;
}
.blog-card{
  background:#fff;
  border:1px solid #9c9c9c;
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
}
.blog-card__image img{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
}
.blog-card__content{
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.blog-card h3{
  margin:0 0 16px;
  font-size:24px;
  line-height:1.15;
}
.blog-card p:not(.article-meta){
  margin:0 0 18px;
  color:#333;
  line-height:1.7;
}
.blog-card .article-back{
  margin-top:auto;
}
.article-single-section{
  padding:64px 24px 84px;
}
.article-single-container{
  max-width:980px;
  margin:0 auto;
}
.article-single{
  background:#fff;
  border:1px solid #8f8f8f;
  padding:48px;
}
.article-single__header h1{
  margin:0 0 22px;
  font-size:clamp(40px, 5vw, 68px);
  line-height:1;
}
.article-single__lead{
  font-size:20px;
  line-height:1.65;
  color:#333;
  margin:0 0 34px;
}
.article-single__image img{
  width:100%;
  max-height:520px;
  object-fit:cover;
  display:block;
  margin-bottom:40px;
}
.article-single__body{
  max-width:780px;
  margin:0 auto;
}
.article-single__body p{
  font-size:18px;
  line-height:1.9;
  color:#222;
  margin:0 0 24px;
}
.article-single__footer{
  max-width:780px;
  margin:22px auto 0;
  padding-top:24px;
  border-top:1px solid #ddd;
}
.related-articles{
  margin-top:34px;
  background:rgba(255,255,255,.45);
  border:1px solid #a8a8a8;
  padding:30px;
}
.related-articles h2{
  margin:0 0 18px;
  font-size:28px;
}
.related-articles div{
  display:grid;
  gap:12px;
}
.related-articles a{
  color:#111;
  font-weight:600;
  border-bottom:1px solid rgba(0,0,0,.2);
  padding-bottom:12px;
}
.related-articles a:hover{
  color:var(--red);
}

@media (max-width: 1050px){
  .blog-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .blog-featured{grid-template-columns:1fr;}
  .blog-featured__image img{min-height:320px;}
}
@media (max-width: 700px){
  .blog-grid{grid-template-columns:1fr;}
  .blog-featured__content,
  .article-single{padding:26px;}
  .article-single__body p{font-size:16px;}
}

/* =========================
   FINAL RESPONSIVE FIXES
   - header coerente
   - hero mobile più lungo
   - popup menu mobile
   - ottimizzazione articoli
========================= */
.topbar{
  height:auto;
  min-height:90px;
  padding:0;
  display:flex;
  align-items:center;
  position:sticky;
  top:0;
  z-index:1000;
}
.topbar .container,
.topbar-inner{
  width:min(1700px, calc(100% - 90px));
  min-height:90px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand img{height:56px; width:auto; display:block;}
.nav{margin-left:auto;}

.blog-featured__image,
.blog-card__image{
  display:block;
  overflow:hidden;
  background:#d8dddd;
}
.blog-featured__image img,
.blog-card__image img,
.article-single__image img,
.article-image img{
  max-width:100%;
  height:auto;
}
.blog-featured__image img{
  height:100%;
  min-height:420px;
  object-fit:cover;
}
.blog-card__image img{
  height:230px;
  object-fit:cover;
}
.blog-card h3 a:hover,
.blog-featured__content h2 a:hover{
  color:var(--red);
}
.blog-card,
.blog-featured,
.article-single{
  box-shadow:0 16px 36px rgba(0,0,0,.06);
}

@media (max-width: 900px){
  .topbar{
    min-height:78px;
    padding:0;
  }
  .topbar .container,
  .topbar-inner{
    width:min(100%, calc(100% - 32px));
    min-height:78px;
  }
  .brand img{height:50px;}
  .nav-toggle-label{
    display:flex;
    width:46px;
    height:46px;
    z-index:1202;
    position:relative;
  }
  .nav-toggle-label span{
    transition:transform .25s ease, opacity .2s ease;
    transform-origin:center;
  }
  .nav-toggle:checked + .nav-toggle-label span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .nav-toggle:checked + .nav-toggle-label span:nth-child(2){opacity:0;}
  .nav-toggle:checked + .nav-toggle-label span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
  .nav{
    display:flex !important;
    position:fixed;
    inset:0;
    width:100vw;
    height:100dvh;
    min-height:100vh;
    padding:112px 26px 44px;
    background:rgba(204,0,0,.98);
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:18px;
    overflow-y:auto;
    border:0;
    border-radius:0;
    box-shadow:none;
    transform:translateX(100%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .28s ease, opacity .28s ease, visibility .28s ease;
    z-index:1201;
  }
  .nav-toggle:checked ~ .nav{
    transform:translateX(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .nav a{
    width:min(100%, 360px);
    padding:13px 12px;
    text-align:center;
    font-size:22px;
    line-height:1.15;
    border-bottom:1px solid rgba(255,255,255,.18);
  }
  .nav a.active::after,
  .nav a:hover::after{
    display:none;
  }
  .nav-close{
    display:flex;
    position:fixed;
    top:18px;
    right:18px;
    width:48px;
    height:48px;
    align-items:center;
    justify-content:center;
    font-size:38px;
    z-index:1203;
  }

  .hero{
    min-height:640px;
    padding:96px 20px 104px;
  }
  .hero-content{
    transform:none;
    width:100%;
  }
  .kicker{
    font-size:18px;
    margin-bottom:34px;
  }
  .hero h1{
    font-size:clamp(48px, 15vw, 76px);
    line-height:.92;
    margin-bottom:30px;
  }

  .articles-section{
    padding:42px 16px 58px;
  }
  .articles-container{
    max-width:720px;
  }
  .articles-intro{
    text-align:left;
    margin-bottom:28px;
  }
  .articles-intro h2{
    font-size:clamp(30px, 10vw, 44px);
  }
  .articles-intro p:last-child{
    font-size:16px;
    line-height:1.65;
  }
  .blog-section{padding-top:46px;}
  .blog-featured{
    grid-template-columns:1fr;
    margin-bottom:24px;
  }
  .blog-featured__image img{
    width:100%;
    min-height:0;
    height:260px;
  }
  .blog-featured__content{
    padding:26px 22px 28px;
  }
  .blog-featured__content h2{
    font-size:clamp(30px, 10vw, 42px);
  }
  .blog-featured__content p:not(.article-meta){
    font-size:16px;
    line-height:1.65;
  }
  .blog-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  .blog-card__image img{
    width:100%;
    height:220px;
  }
  .blog-card__content{
    padding:22px;
  }
  .blog-card h3{
    font-size:22px;
  }
  .article-single-section{
    padding:42px 16px 60px;
  }
  .article-single{
    padding:24px 18px;
  }
  .article-single__header h1{
    font-size:clamp(34px, 11vw, 48px);
  }
  .article-single__lead{
    font-size:17px;
    line-height:1.6;
  }
  .article-single__image img{
    max-height:none;
    height:auto;
    margin-bottom:28px;
  }
  .article-single__body p{
    font-size:16px;
    line-height:1.75;
  }
  .related-articles{
    padding:22px 18px;
  }
}

@media (max-width: 480px){
  .topbar .container,
  .topbar-inner{width:min(100%, calc(100% - 24px));}
  .brand img{height:46px;}
  .hero{
    min-height:700px;
    padding-top:112px;
    padding-bottom:120px;
  }
  .hero h1{font-size:clamp(46px, 17vw, 70px);}
  .hero-btn{width:100%; max-width:260px;}
  .nav a{font-size:20px;}
  .page-hero{padding:44px 16px;}
  .blog-featured__image img,
  .blog-card__image img{height:210px;}
}

.articles-archive{
  margin:0 0 64px;
}
.articles-archive__heading{
  max-width:900px;
  margin:0 auto 34px;
  text-align:center;
}
.articles-archive__heading h2{
  margin:0 0 16px;
  font-size:clamp(30px, 3.6vw, 48px);
  line-height:1.08;
  font-weight:800;
}
.articles-archive__heading p:last-child{
  margin:0 auto;
  max-width:720px;
  font-size:17px;
  line-height:1.7;
  color:#333;
}
.articles-archive__grid{
  max-width:100%;
}

@media (max-width: 720px){
  .articles-archive{
    margin-bottom:46px;
  }
  .articles-archive__heading{
    text-align:left;
    margin-bottom:26px;
  }
}

/* Archivio: eventi compatti e ottimizzazione mobile */
.archive-events{
  margin:0 0 34px;
  padding:26px;
  background:#fff;
  border:1px solid #9c9c9c;
  box-shadow:0 12px 28px rgba(0,0,0,.05);
}
.archive-events__heading{max-width:760px;margin:0 0 22px;}
.archive-events__heading h2{margin:0 0 12px;font-size:clamp(28px,3vw,42px);line-height:1.1;}
.archive-events__heading p:last-child{margin:0;color:#333;line-height:1.65;}
.archive-events__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.archive-event{display:grid;gap:8px;padding:18px;color:#111;border:1px solid rgba(0,0,0,.18);background:#f5f6f6;text-decoration:none;}
.archive-event:hover{border-color:var(--red);}
.archive-event__date{color:#666;font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.archive-event strong{font-size:20px;line-height:1.2;}
.archive-event span:last-child{color:#333;line-height:1.55;}
@media (max-width:900px){
  .page-hero h1{font-size:clamp(42px,13vw,64px);}
  .archive-events{padding:22px 18px;margin-bottom:26px;}
  .archive-events__list{grid-template-columns:1fr;gap:14px;}
  .archive-event{padding:16px;}
  .blog-featured{display:block;}
}
@media (max-width:480px){
  .archive-events{margin-left:-2px;margin-right:-2px;}
  .archive-events__heading h2{font-size:30px;}
  .archive-event strong{font-size:18px;}
  .articles-section{padding-left:14px;padding-right:14px;}
}

/* === FIX MENU MOBILE + ARCHIVIO MOBILE (24/04/2026) === */
@media (max-width: 900px){
  body.menu-open{overflow:hidden;touch-action:none;}
  .topbar{position:sticky;top:0;z-index:3000;}
  .nav-toggle{position:absolute;opacity:0;pointer-events:none;}
  .nav-toggle-label{cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .nav{display:flex!important;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:100vh!important;padding:96px 22px 34px!important;background:#cc0000!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;overflow-y:auto!important;transform:translateX(100%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:transform .25s ease,opacity .25s ease,visibility .25s ease!important;z-index:2998!important;}
  .nav-toggle:checked ~ .nav{transform:translateX(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
  .nav a{display:block!important;width:min(100%,340px)!important;padding:14px 10px!important;color:#fff!important;font-size:20px!important;line-height:1.2!important;text-align:center!important;border-bottom:1px solid rgba(255,255,255,.22)!important;}
  .nav-close{display:flex!important;position:fixed!important;top:16px!important;right:16px!important;width:52px!important;height:52px!important;align-items:center!important;justify-content:center!important;color:#fff!important;font-size:42px!important;line-height:1!important;cursor:pointer!important;z-index:3001!important;background:rgba(0,0,0,.16)!important;border-radius:999px!important;user-select:none!important;-webkit-tap-highlight-color:transparent!important;}
}
.archive-page .articles-container{max-width:1180px;}
.archive-page .articles-intro{margin-bottom:30px;}
.archive-page .blog-featured{display:none;}
.archive-page .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.archive-page .archive-events{max-width:920px;margin:0 auto 28px;padding:22px;border:1px solid rgba(0,0,0,.18);background:#fff;box-shadow:none;}
.archive-page .archive-events__heading{margin:0 0 16px;}
.archive-page .archive-events__heading h2{font-size:clamp(26px,3vw,36px);}
.archive-page .archive-events__heading p:last-child{font-size:15px;line-height:1.55;}
.archive-page .archive-events__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.archive-page .archive-event{padding:14px 16px;background:#f5f6f6;border:1px solid rgba(0,0,0,.14);}
.archive-page .archive-event strong{font-size:17px;line-height:1.25;}
.archive-page .archive-event span:last-child{display:none;}
@media (max-width:760px){
  .archive-page .page-hero{padding:38px 16px 34px;}
  .archive-page .page-hero .container{width:100%;}
  .archive-page .page-hero h1{font-size:clamp(40px,14vw,58px);line-height:.98;}
  .archive-page .articles-section{padding:32px 14px 48px;}
  .archive-page .articles-container{width:100%;max-width:520px;margin:0 auto;}
  .archive-page .articles-intro{margin-bottom:22px;text-align:left;}
  .archive-page .articles-intro h2{font-size:clamp(28px,9vw,38px);line-height:1.08;margin-bottom:14px;}
  .archive-page .articles-intro p:last-child{font-size:15px;line-height:1.6;}
  .archive-page .archive-events{margin:0 0 22px;padding:18px 14px;width:100%;}
  .archive-page .archive-events__heading h2{font-size:28px;margin-bottom:8px;}
  .archive-page .archive-events__list{grid-template-columns:1fr;gap:10px;}
  .archive-page .archive-event{display:block;padding:14px;}
  .archive-page .archive-event__date{display:block;margin-bottom:6px;font-size:12px;}
  .archive-page .archive-event strong{font-size:16px;}
  .archive-page .blog-grid{grid-template-columns:1fr;gap:18px;}
  .archive-page .blog-card{width:100%;box-shadow:none;}
  .archive-page .blog-card__image img{height:180px;width:100%;}
  .archive-page .blog-card__content{padding:18px 16px;}
  .archive-page .blog-card h3{font-size:20px;line-height:1.2;margin-bottom:10px;}
  .archive-page .blog-card p:not(.article-meta){font-size:15px;line-height:1.55;margin-bottom:12px;}
  .archive-page .article-meta{font-size:13px;margin-bottom:10px;}
  .archive-page .article-back{font-size:13px;margin-top:8px;}
}
@media (max-width:420px){.archive-page .articles-section{padding-left:12px;padding-right:12px;}.archive-page .blog-card__image img{height:165px;}.archive-page .blog-card__content{padding:16px 14px;}}
