/* ==========================================================
   v1.5.0 — AEI PREMIUM EDITORIAL SYSTEM
   Restyling non distruttivo: preserva query, caroselli e contenuti.
   ========================================================== */
:root{
  --red:#e31b23;
  --red-dark:#b90f18;
  --ink:#101923;
  --navy:#091521;
  --navy-2:#10283e;
  --blue:#286aa6;
  --muted:#657180;
  --line:#e3e8ed;
  --paper:#ffffff;
  --wash:#f5f8fb;
  --radius:12px;
  --shadow:0 18px 52px rgba(9,21,33,.10);
  --font-ui:"Segoe UI Variable","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-display:"Segoe UI Variable Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-ui);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.aeim-intro-open{overflow:hidden}
h1,h2,h3,h4,.aei-wordmark strong,.primary-menu>li>a{font-family:var(--font-display)}
.container{width:min(1760px,calc(100% - 72px))}

/* Intro: copre davvero l'intero viewport e poi lascia la homepage. */
.aei-video-hero{
  position:fixed!important;
  inset:0!important;
  z-index:100000!important;
  width:100%!important;
  height:100vh!important;
  height:100svh!important;
  border:0!important;
  outline:0!important;
  background:#07111c!important;
  opacity:1;
  isolation:isolate;
  transition:opacity .82s ease,visibility .82s ease!important;
}
.aei-video-hero.is-dismissing{
  height:100vh!important;
  height:100svh!important;
  opacity:0!important;
  visibility:hidden;
}
.aei-video-hero__media{
  position:absolute;
  inset:-2px;
  width:calc(100% + 4px)!important;
  height:calc(100% + 4px)!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:scale(1.015);
  animation:aeimHeroDrift 6.5s ease-out both;
}
.aei-video-hero__shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(3,12,22,.78) 0%,rgba(3,12,22,.42) 45%,rgba(3,12,22,.12) 74%),
    linear-gradient(0deg,rgba(3,12,22,.58) 0%,rgba(3,12,22,.05) 48%,rgba(3,12,22,.22) 100%)!important;
}
.aei-video-hero__content{
  position:absolute;
  z-index:2;
  left:max(6vw,32px);
  top:50%;
  width:min(720px,78vw);
  color:#fff;
  transform:translateY(-48%);
  text-shadow:0 3px 24px rgba(0,0,0,.30);
  animation:aeimIntroCopy .9s .18s cubic-bezier(.2,.7,.2,1) both;
}
.aei-video-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin-bottom:20px;
  font-size:clamp(12px,1vw,15px);
  line-height:1;
  font-weight:750;
  letter-spacing:.32em;
  text-transform:uppercase;
}
.aei-video-hero__eyebrow::before{content:"";width:38px;height:2px;background:#62a9df}
.aei-video-hero__content h1{
  margin:0;
  max-width:700px;
  color:#fff;
  font-size:clamp(54px,6.25vw,100px);
  line-height:.92;
  font-weight:735;
  letter-spacing:-.058em;
  text-wrap:balance;
}
.aei-video-hero__content p{
  margin:25px 0 31px;
  color:rgba(255,255,255,.84);
  font-size:clamp(17px,1.25vw,22px);
  line-height:1.45;
  font-weight:430;
  letter-spacing:.015em;
}
.aei-video-hero__enter{
  min-height:48px;
  padding:0 24px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:99px;
  background:rgba(7,17,28,.28);
  color:#fff;
  font:650 14px/1 var(--font-ui);
  letter-spacing:.025em;
  backdrop-filter:blur(8px);
  cursor:pointer;
  transition:background .2s,border-color .2s,transform .2s;
}
.aei-video-hero__enter:hover,.aei-video-hero__enter:focus-visible{
  background:var(--red);
  border-color:var(--red);
  transform:translateY(-2px);
}
.aei-video-hero__skip{
  position:absolute;
  z-index:3;
  top:max(24px,4vh);
  right:max(24px,4vw);
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:99px;
  background:rgba(4,13,23,.28);
  color:#fff;
  font:600 13px/1 var(--font-ui);
  backdrop-filter:blur(8px);
  cursor:pointer;
}
@keyframes aeimHeroDrift{from{transform:scale(1.015)}to{transform:scale(1.055)}}
@keyframes aeimIntroCopy{from{opacity:0;transform:translateY(-43%)}to{opacity:1;transform:translateY(-48%)}}

/* Header e navigazione: più puliti e coerenti con la palette AEI. */
.site-header .utility-bar{background:var(--navy)!important}
.site-header .header-branding-wrap{background:#fff!important;border-bottom:1px solid var(--line)!important}
.site-header .header-branding-wrap .branding-row{min-height:116px!important}
.site-header .aei-i,.site-header .aei-news-row em{color:var(--blue)!important}
.site-header .aei-news-row i{background:var(--blue)!important}
.header-search .search-field{border-color:#d9e0e7;border-radius:10px 0 0 10px;font-family:var(--font-ui)}
.header-search .search-submit{background:var(--blue)!important;border-radius:0 10px 10px 0!important}
.main-navigation{background:var(--navy)!important;border-bottom:0!important;box-shadow:0 7px 22px rgba(5,15,25,.10)}
.primary-menu>li>a{min-height:54px!important;font-size:12px!important;letter-spacing:.055em!important}
.primary-menu>li>a::after{background:var(--blue)!important;height:3px!important}
.breaking-bar{background:#2f6fa9!important;border:0!important;color:#fff}
.breaking-inner>strong{background:var(--navy)!important;color:#fff!important}
.breaking-inner>strong::after{border-left-color:var(--navy)!important}
.ticker a{color:#fff!important}.ticker a:hover{color:#fff!important;opacity:.78}

/* Ritmo editoriale e card. */
.home-wrap{padding-block:54px 82px}
.home-editorial-layout{gap:42px!important;grid-template-columns:minmax(0,1fr) 330px!important}
.category-section{margin-top:68px!important}
.section-heading{margin-bottom:27px!important;border-bottom:1px solid var(--line)!important}
.section-heading h2{
  padding-bottom:12px!important;
  border-bottom:4px solid var(--red)!important;
  color:var(--ink);
  font-size:clamp(27px,2vw,36px)!important;
  line-height:1.05;
  font-weight:780;
  letter-spacing:-.045em!important;
}
.section-heading a{color:var(--red)!important;font-size:13px!important;font-weight:750!important}
.posts-grid{gap:30px 24px!important}
.post-card{background:transparent!important}
.post-card .card-image{border-radius:12px!important;box-shadow:0 14px 34px rgba(9,21,33,.09)!important}
.post-card .card-image::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}
.post-card .card-body{padding:17px 2px 8px!important}
.post-card h2{font-size:clamp(17px,1.15vw,21px)!important;line-height:1.22!important;letter-spacing:-.032em!important;font-weight:760!important}
.post-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:14px!important;line-height:1.65!important}
.category-pill{border-radius:99px!important;padding:6px 10px!important;font-size:9px!important;letter-spacing:.075em!important}

/* Il carosello principale resta invariato nella logica, ma guadagna presenza. */
@media(min-width:1051px){
  .desktop-hero-carousel{height:clamp(560px,39vw,690px)!important;border-radius:16px!important;box-shadow:0 26px 70px rgba(8,20,32,.18)!important}
  .desktop-hero-overlay{background:linear-gradient(90deg,rgba(3,12,22,.50),rgba(3,12,22,.04) 70%),linear-gradient(0deg,rgba(3,12,22,.92),rgba(3,12,22,0) 64%)!important}
  .desktop-hero-copy{padding:48px 52px!important;max-width:82%!important}
  .desktop-hero-copy h2{font-size:clamp(38px,3.25vw,58px)!important;line-height:1.01!important;letter-spacing:-.052em!important;font-weight:790!important}
  .desktop-hero-arrow{width:48px!important;height:64px!important;border-radius:99px!important;background:rgba(5,16,27,.36)!important}
  .desktop-hero-arrow:hover{background:var(--red)!important}
}

/* Sidebar integrata nel normale scorrimento: nessuna seconda scrollbar. */
.home-editorial-rail__scroll{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important;padding-right:0!important}
.rail-singleton,.rail-latest{margin-bottom:34px!important;padding-bottom:28px!important}
.rail-section-heading{border-bottom:1px solid var(--line)!important;position:relative!important}
.rail-section-heading::after{content:"";position:absolute;left:0;bottom:-1px;width:54px;height:3px;background:var(--red)}
.rail-section-heading span{font-size:19px!important;letter-spacing:-.025em!important}
.rail-latest-copy h4{font-size:15px!important;line-height:1.24!important}
.rail-network .network-card{border-radius:12px!important;box-shadow:0 9px 26px rgba(9,21,33,.06)!important}

/* Speciale EV: fascia premium distinta, carosello e autoplay preservati. */
.special-ev-section{
  grid-column:1/-1;
  width:100%;
  margin-top:72px!important;
  padding:32px 32px 26px!important;
  border:0!important;
  border-radius:18px;
  background:linear-gradient(135deg,var(--navy) 0%,#102a43 100%);
  box-shadow:0 24px 60px rgba(7,18,29,.15);
  color:#fff;
}
.special-ev-section .carousel-heading .eyebrow{color:#72b8ec!important}
.special-ev-section .carousel-heading h2{color:#fff!important;font-size:clamp(29px,2.5vw,40px)!important}
.special-ev-section .carousel-btn{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.24)!important;color:#fff!important}
.special-ev-section .carousel-btn:hover{background:var(--red)!important;border-color:var(--red)!important}
.special-ev-section .carousel-card{background:transparent!important;color:#fff!important}
.special-ev-section .carousel-image{border-radius:12px!important;box-shadow:none!important}
.special-ev-section .carousel-card h3 a{color:#fff!important}
.special-ev-section .post-meta{color:rgba(255,255,255,.65)!important}

/* Articoli: lettura più contemporanea, senza alterare i contenuti. */
.article-header{max-width:1040px!important}
.article-header h1{font-family:var(--font-display);font-weight:780;letter-spacing:-.052em!important}
.entry-content{max-width:820px;margin-inline:auto;font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.82}
.entry-content h2,.entry-content h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.03em}
.article-hero img{border-radius:16px!important;box-shadow:0 20px 55px rgba(9,21,33,.10)}

/* Footer più leggibile e adatto a ospitare un'identità commerciale premium. */
.site-footer{background:linear-gradient(145deg,#07111b 0%,#0d1c2b 58%,#09131f 100%)!important;border-top:4px solid var(--blue)!important}
.site-footer::after{border-color:rgba(54,137,202,.20)!important;box-shadow:0 0 0 50px rgba(54,137,202,.025),0 0 0 100px rgba(54,137,202,.014)!important}
.site-footer h3::after{background:var(--red)!important}
.footer-aei-mark i,.footer-aei-news{color:#4e9bd4!important}.footer-aei-news b{background:#4e9bd4!important}

@media(max-width:1050px){
  .container{width:min(100% - 42px,1180px)}
  .home-editorial-layout{grid-template-columns:1fr!important}
  .home-editorial-rail{margin-top:40px}
  .home-editorial-rail__scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
  .rail-network{grid-column:1/-1}
}
@media(max-width:700px){
  .container{width:min(100% - 28px,1180px)}
  .aei-video-hero__media{object-position:56% center!important}
  .aei-video-hero__shade{background:linear-gradient(0deg,rgba(3,12,22,.82),rgba(3,12,22,.12) 74%)!important}
  .aei-video-hero__content{left:24px;right:24px;top:auto;bottom:10vh;width:auto;transform:none!important;animation:aeimIntroCopyMobile .8s .12s ease both}
  .aei-video-hero__eyebrow{margin-bottom:13px;font-size:11px;letter-spacing:.25em}
  .aei-video-hero__eyebrow::before{width:30px;height:2px}
  .aei-video-hero__content h1{max-width:560px;font-size:clamp(41px,12vw,62px);line-height:.94;letter-spacing:-.055em}
  .aei-video-hero__content p{max-width:310px;margin:18px 0 24px;font-size:16px;line-height:1.4}
  .aei-video-hero__enter{min-height:45px;font-size:13px}
  .aei-video-hero__skip{top:20px;right:18px;font-size:12px}
  .home-wrap{padding-block:30px 58px}
  .category-section{margin-top:50px!important}
  .posts-grid{gap:28px!important}
  .post-card h2{font-size:21px!important}
  .home-editorial-rail__scroll{display:block}
  .special-ev-section{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:27px 16px 22px!important;
    border-radius:16px!important;
  }
  .special-ev-section .carousel-heading{padding-inline:2px}
  .site-footer{border-top-width:3px!important}
}
@keyframes aeimIntroCopyMobile{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .aei-video-hero__content,.aei-video-hero__media{animation:none!important}
}

/* v1.5.1 — rail esteso, senza doppio scorrimento, e rimozione progress intro. */
body.aeim-intro-open{background:#06111d!important}
.home-editorial-rail__scroll{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important;padding-right:0!important}
.rail-secondary{margin:36px 0 30px}
.rail-secondary-lead{margin-bottom:20px}
.rail-secondary-lead__image{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:12px;background:#e9eef3;box-shadow:0 13px 32px rgba(9,21,33,.10)}
.rail-secondary-lead__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.rail-secondary-lead:hover .rail-secondary-lead__image img{transform:scale(1.035)}
.rail-secondary-kicker{display:block;margin:13px 0 7px;color:var(--red);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.rail-secondary-lead h3{margin:0 0 8px;font-size:21px;line-height:1.16;letter-spacing:-.035em}
.rail-secondary-item{display:grid;grid-template-columns:106px minmax(0,1fr);gap:13px;padding:14px 0;border-top:1px solid var(--line)}
.rail-secondary-item .rail-latest-thumb{aspect-ratio:16/10}
.rail-partner{position:relative;overflow:hidden;margin-top:34px;padding:26px 24px 24px;border-radius:16px;background:linear-gradient(145deg,#091521,#12324d);color:#fff;box-shadow:0 18px 46px rgba(7,18,29,.16)}
.rail-partner::after{content:"";position:absolute;width:150px;height:150px;right:-75px;bottom:-85px;border:1px solid rgba(79,158,215,.28);border-radius:50%;box-shadow:0 0 0 30px rgba(79,158,215,.04)}
.rail-partner>span{display:block;color:#73b9e9;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.rail-partner h3{position:relative;z-index:1;margin:10px 0 10px;font-size:24px;line-height:1.06;letter-spacing:-.045em}
.rail-partner p{position:relative;z-index:1;margin:0 0 18px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.55}
.rail-partner a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:9px;color:#fff;font-size:13px;font-weight:750}
.rail-partner a b{color:#73b9e9;font-size:18px}
