
/* Allarme Roma - Ville Premium Landing 1.2.0 */
.arv120-page{
  --red:#d00014;
  --dark:#05070b;
  --ink:#0b1625;
  --muted:#5c6672;
  --line:#dde2e8;
  --soft:#f5f6f8;
  background:#fff;
  color:var(--ink);
  line-height:1.55;
  font-family:inherit;
}
.arv120-page *{box-sizing:border-box}
.arv120-page h1,.arv120-page h2,.arv120-page h3{margin:0 0 18px;line-height:1.07;color:var(--ink)}
.arv120-page p{margin:0 0 16px;font-size:18px}
.arv120-eyebrow{font-size:13px!important;letter-spacing:.11em;text-transform:uppercase;color:var(--red)!important;font-weight:900;margin-bottom:12px!important}
.arv120-wrap{max-width:1180px;margin:0 auto;padding-left:32px;padding-right:32px}
.arv120-strong{font-weight:900}
.arv120-red{color:var(--red)!important}

.arv120-hero{
  min-height:640px;
  position:relative;
  display:flex;
  align-items:flex-end;
  background:var(--dark);
  overflow:hidden;
}
.arv120-hero img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(1.06) contrast(1.08);
}
.arv120-hero:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.66) 45%,rgba(0,0,0,.18) 100%);
}
.arv120-hero-content{
  position:relative;z-index:1;width:100%;max-width:1180px;margin:0 auto;padding:92px 32px;
}
.arv120-hero h1{
  color:#fff!important;font-size:clamp(48px,5.8vw,84px);letter-spacing:-.055em;max-width:880px;
}
.arv120-hero p{color:#fff}
.arv120-lead{max-width:760px;font-size:clamp(19px,1.6vw,24px)!important;font-weight:750}
.arv120-btn{
  display:inline-flex;align-items:center;gap:12px;padding:15px 24px;border:2px solid #fff;color:#fff!important;
  text-transform:uppercase;font-weight:900;letter-spacing:.03em;font-size:14px;margin-top:10px;text-decoration:none!important;
}
.arv120-btn:hover{background:#fff;color:#111!important}
.arv120-btn-red{background:var(--red);border-color:var(--red)}
.arv120-btn-red:hover{background:#111;border-color:#111;color:#fff!important}

.arv120-row{
  max-width:1180px;margin:0 auto;padding:78px 32px;display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;
}
.arv120-row img,.arv120-integration img,.arv120-standard img,.arv120-approach img,.arv120-bottom img{
  width:100%;object-fit:cover;display:block;box-shadow:0 22px 60px rgba(8,11,15,.13);
}
.arv120-row img{height:340px}
.arv120-row h2{font-size:clamp(36px,3.5vw,54px);letter-spacing:-.04em}

.arv120-rings-head{text-align:center;max-width:980px;margin:0 auto;padding:36px 32px 30px}
.arv120-rings-head h2{font-size:clamp(34px,3.7vw,52px);letter-spacing:-.04em}
.arv120-rings-head p{font-size:20px}

.arv120-rings{max-width:1180px;margin:0 auto 64px;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.arv120-card{position:relative;border:1px solid var(--line);background:#fff;box-shadow:0 12px 35px rgba(8,11,15,.07)}
.arv120-card-img{position:relative;height:210px;overflow:hidden}
.arv120-card-img img{width:100%;height:100%;object-fit:cover;display:block;box-shadow:none}
.arv120-number{
  position:absolute;top:18px;left:18px;width:56px;height:56px;border-radius:999px;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:900;box-shadow:0 10px 24px rgba(208,0,20,.28);z-index:2;
}
.arv120-card-body{padding:30px 26px 32px;text-align:center}
.arv120-card-body h3{font-size:24px;margin-bottom:12px}
.arv120-card-body p{font-size:16px;margin-bottom:0;color:#202833}
.arv120-note{
  display:block!important;
  width:100%!important;
  max-width:920px!important;
  margin:-30px auto 70px auto!important;
  padding:0 32px!important;
  text-align:center!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1.55!important;
  float:none!important;
  clear:both!important;
}

.arv120-integration{background:var(--soft);padding:76px 0}
.arv120-integration-grid{max-width:1180px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:center}
.arv120-integration img{height:395px}
.arv120-integration h2,.arv120-approach h2,.arv120-standard h2{font-size:clamp(34px,3.4vw,52px);letter-spacing:-.04em}
.arv120-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0 0;padding:0;list-style:none}
.arv120-checks li{position:relative;padding-left:36px;font-size:16px;font-weight:750}
.arv120-checks li:before{content:"✓";position:absolute;left:0;top:0;width:24px;height:24px;border:2px solid var(--red);color:var(--red);border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px}

.arv120-standard{max-width:1180px;margin:0 auto;padding:78px 32px;display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.arv120-standard img{height:320px}

.arv120-approach{max-width:1180px;margin:0 auto;padding:0 32px 78px;display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.arv120-approach img{height:340px}
.arv120-bullets{display:grid;gap:14px;margin-top:22px}
.arv120-bullet{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start}
.arv120-bullet span{width:30px;height:30px;border:2px solid var(--red);border-radius:999px;color:var(--red);font-weight:900;display:flex;align-items:center;justify-content:center}
.arv120-bullet p{font-size:17px;margin:0}

.arv120-bottom{background:var(--dark);color:#fff}
.arv120-bottom-grid{max-width:1180px;margin:0 auto;padding:74px 32px;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.arv120-bottom h2,.arv120-bottom p{color:#fff!important}
.arv120-bottom h2{font-size:clamp(34px,3.4vw,52px);letter-spacing:-.04em}
.arv120-bottom img{height:320px}

.arv120-strip{background:#020305;color:#fff}
.arv120-strip-inner{max-width:1180px;margin:0 auto;padding:28px 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.arv120-strip-item{border-left:1px solid rgba(255,255,255,.25);padding-left:18px}
.arv120-strip-item strong{display:block;color:#fff;font-size:15px;margin-bottom:4px}
.arv120-strip-item span{display:block;color:rgba(255,255,255,.78);font-size:14px}

.arv120-links{max-width:1180px;margin:0 auto;padding:40px 32px 78px;display:flex;flex-wrap:wrap;gap:12px}
.arv120-links h2{flex-basis:100%;font-size:28px}
.arv120-links a{border:1px solid var(--line);padding:10px 14px;color:var(--ink)!important;font-weight:800;background:#fff;text-decoration:none!important}
.arv120-links a:hover{border-color:var(--red);color:var(--red)!important}

@media(max-width:920px){
  .arv120-row,.arv120-integration-grid,.arv120-standard,.arv120-approach,.arv120-bottom-grid{grid-template-columns:1fr}
  .arv120-rings{grid-template-columns:1fr}
  .arv120-strip-inner{grid-template-columns:1fr 1fr}
  .arv120-checks{grid-template-columns:1fr}
  .arv120-hero{min-height:560px}
}
@media(max-width:560px){
  .arv120-hero-content,.arv120-row,.arv120-rings,.arv120-rings-head,.arv120-integration-grid,.arv120-standard,.arv120-approach,.arv120-bottom-grid,.arv120-strip-inner,.arv120-links{padding-left:20px;padding-right:20px}
  .arv120-hero h1{font-size:40px}
  .arv120-row h2,.arv120-rings-head h2,.arv120-integration h2,.arv120-standard h2,.arv120-approach h2,.arv120-bottom h2{font-size:30px}
  .arv120-strip-inner{grid-template-columns:1fr}
}


.arv120-page p.arv120-note{
  display:block!important;
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}


/* 1.2.2 - sezione sistemi integrati Hikvision */
.avp-integrated-section{
	padding-top:56px !important;
	padding-bottom:56px !important;
}
.avp-integrated-heading{
	width:100%;
	max-width:1120px;
	margin:0 auto 42px;
	text-align:center;
}
.avp-integrated-heading h2{
	max-width:1080px;
	margin:0 auto;
	font-size:clamp(2.5rem,4.2vw,4.7rem);
	line-height:1.04;
	letter-spacing:-.04em;
	text-wrap:balance;
}
.avp-integrated-heading .eyebrow,
.avp-integrated-heading [class*="eyebrow"]{
	text-align:center !important;
	margin-left:auto !important;
	margin-right:auto !important;
}
.avp-integrated-section p{
	text-align:justify;
	text-justify:inter-word;
}
@media (max-width:900px){
	.avp-integrated-heading{margin-bottom:30px}
	.avp-integrated-heading h2{font-size:clamp(2.2rem,7vw,3.5rem)}
}
@media (max-width:620px){
	.avp-integrated-section{padding-top:44px !important;padding-bottom:44px !important}
	.avp-integrated-section p{text-align:left}
}




/* 1.2.5 - sezione Hikvision ricostruita: titolo sopra, colonne 50/50 */
.avp-hikvision-dialogue{
    padding:56px 0 !important;
}
.avp-hikvision-dialogue .avp-container{
    width:min(1240px, calc(100% - 48px)) !important;
    max-width:1240px !important;
    margin:0 auto !important;
}
.avp-hikvision-dialogue__heading{
    width:100% !important;
    max-width:1100px !important;
    margin:0 auto 44px !important;
    text-align:center !important;
}
.avp-hikvision-dialogue__heading h2{
    width:100% !important;
    max-width:1100px !important;
    margin:0 auto !important;
    text-align:center !important;
    font-size:clamp(2.6rem,4.2vw,4.6rem) !important;
    line-height:1.03 !important;
    letter-spacing:-.035em !important;
    text-wrap:balance;
}
.avp-hikvision-dialogue__heading .eyebrow,
.avp-hikvision-dialogue__heading [class*="eyebrow"]{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.avp-hikvision-dialogue__grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:48px !important;
    align-items:start !important;
}
.avp-hikvision-dialogue__media,
.avp-hikvision-dialogue__content{
    min-width:0 !important;
    width:100% !important;
}
.avp-hikvision-dialogue__media > *{
    width:100% !important;
    max-width:none !important;
}
.avp-hikvision-dialogue__media img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
}
.avp-hikvision-dialogue__content p{
    text-align:justify !important;
    text-justify:inter-word !important;
}
@media(max-width:900px){
    .avp-hikvision-dialogue__grid{
        grid-template-columns:1fr !important;
        gap:30px !important;
    }
    .avp-hikvision-dialogue__heading{
        margin-bottom:30px !important;
    }
}
@media(max-width:620px){
    .avp-hikvision-dialogue .avp-container{
        width:min(100% - 32px, 1240px) !important;
    }
    .avp-hikvision-dialogue__content p{
        text-align:left !important;
    }
}


/* 1.2.6 - vantaggi Hikvision fuori dalle colonne */
.avp-hikvision-dialogue__benefits{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    margin:34px 0 0 !important;
    padding:0 !important;
}
.avp-hikvision-dialogue__benefits li{
    min-width:0 !important;
    margin:0 !important;
}
@media(max-width:980px){
    .avp-hikvision-dialogue__benefits{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}
@media(max-width:620px){
    .avp-hikvision-dialogue__benefits{
        grid-template-columns:1fr !important;
    }
}
