
:root{
  --accent:#EE2B47; --accent-deep:#C81E37; --accent-light:#F58A9A;
  --accent-tint:rgba(238,43,71,.07);
  --navy:#2C2E3E; --navy-deep:#232533; --slate:#34374C;
  --ink:#232B36; --body-c:#4B5563; --mute:#8A94A3;
  --bg:#F6F6F6; --card:#FFFFFF; --cream:#F1EDE3;
  --bone:#E7E8EE; --line:#E4E5EB;
  --disp:'Plus Jakarta Sans',sans-serif; --body:'Inter',sans-serif;
  --mono:'IBM Plex Mono',monospace; --r:0;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}}
body{font-family:var(--body);color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;line-height:1.65;overflow-x:hidden}
img,svg{display:block}
a{color:inherit}
::selection{background:var(--accent);color:#fff}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}

/* --- lessico editoriale --- */
.kicker{display:flex;align-items:center;gap:14px;font-family:var(--mono);
  font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--accent);font-weight:600}
.kicker::after{content:"";width:64px;height:1px;background:currentColor;
  opacity:.6}
.chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink);border:1px solid var(--ink);padding:7px 12px;
  background:transparent}
.chip b{font-weight:600;color:var(--accent)}
h2.sec{font-family:var(--disp);font-weight:800;letter-spacing:-.015em;
  font-size:clamp(28px,3.8vw,44px);line-height:1.06;color:var(--navy);
  margin:16px 0 18px;text-transform:uppercase}
h2.sec em{font-style:italic;color:var(--accent)}
.sub{color:var(--body-c);max-width:62ch}
.mark{font-family:var(--disp);font-weight:800;text-transform:uppercase;
  line-height:.9;pointer-events:none;user-select:none}
.num-badge{width:34px;height:34px;border:1.5px solid var(--accent);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:12px;color:var(--accent)}

.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);
  font-weight:800;font-size:14px;text-decoration:none;padding:15px 28px;
  border:none;cursor:pointer;transition:background .15s ease,
  transform .15s ease,color .15s ease}
.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.btn.primary{background:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-deep);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--navy);
  border:1.5px solid var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}

/* --- placeholder fotografico --- */
.ph{position:relative;background:
  linear-gradient(135deg,#3A3D50 0%,#2C2E3E 45%,#232533 100%);
  overflow:hidden;min-height:220px}
.ph::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.028) 0 2px,
  transparent 2px 14px)}
.ph::after{content:"";position:absolute;inset:0;
  background:radial-gradient(70% 90% at 70% 20%,rgba(238,43,71,.28),
  transparent 60%)}
.ph span{position:absolute;left:14px;bottom:12px;z-index:2;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(246,246,246,.72);
  border:1px solid rgba(246,246,246,.28);padding:5px 9px;
  background:rgba(35,37,51,.5)}
.pband .ph{min-height:var(--phh,340px)}
.pband{border-bottom:1px solid var(--line)}

/* --- header --- */
header{position:sticky;top:0;z-index:60;background:rgba(246,246,246,.9);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;
  height:64px;gap:20px}
.logo-head{height:17px;width:auto}
.nav nav{display:flex;gap:4px;align-items:center}
.nav nav>a,.dd>a{font-family:var(--mono);font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--body-c);
  text-decoration:none;padding:9px 12px;display:inline-flex;
  align-items:center;gap:7px}
.nav nav>a:hover,.dd>a:hover,.dd:focus-within>a,
.nav nav>a.on,.dd>a.on{color:var(--accent)}
.dd{position:relative}
.dd>a::after{content:"";width:0;height:0;border-left:4px solid transparent;
  border-right:4px solid transparent;border-top:5px solid currentColor;
  opacity:.55;transition:transform .18s ease}
.dd:hover>a::after,.dd:focus-within>a::after{transform:rotate(180deg)}
.dd .menu{position:absolute;top:calc(100% + 8px);left:0;min-width:250px;
  background:#fff;border:1px solid var(--navy);padding:6px;
  box-shadow:8px 8px 0 rgba(44,46,62,.12);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s}
.dd:hover .menu,.dd:focus-within .menu{opacity:1;visibility:visible;
  transform:none}
.dd .menu::before{content:"";position:absolute;top:-9px;left:0;right:0;
  height:9px}
.dd .menu a{display:block;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--body-c);
  text-decoration:none;padding:11px 14px}
.dd .menu a:hover{background:var(--accent-tint);color:var(--accent)}
.nav .right{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1.5px solid var(--navy);overflow:hidden;
  font-family:var(--mono);font-size:11px}
.lang a{text-decoration:none;padding:7px 11px;color:var(--mute)}
.lang a.on{background:var(--navy);color:#fff}
.lang a:not(.on):hover{color:var(--navy)}
.nav .cta{font-family:var(--disp);font-weight:800;font-size:13px;
  color:#fff;background:var(--accent);text-decoration:none;
  padding:12px 20px;white-space:nowrap}
.nav .cta:hover{background:var(--accent-deep)}
#mtoggle{display:none}
.burger{display:none;width:42px;height:42px;border:1.5px solid var(--navy);
  cursor:pointer;align-items:center;justify-content:center;
  flex-direction:column;gap:5px;background:#fff}
.burger span{display:block;width:18px;height:2px;background:var(--navy);
  transition:transform .2s ease,opacity .2s ease}
#mtoggle:checked~.burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#mtoggle:checked~.burger span:nth-child(2){opacity:0}
#mtoggle:checked~.burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile{display:none}
#mtoggle:checked~.mobile{display:block}
.mobile{position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--bg);
  z-index:55;overflow:auto;padding:22px 28px 40px}
.mobile .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);margin:18px 0 6px}
.mobile a{display:block;font-family:var(--disp);font-weight:800;
  font-size:16px;text-transform:uppercase;color:var(--navy);
  text-decoration:none;padding:11px 0;border-bottom:1px solid var(--line)}
.mobile .cta-m{margin-top:26px;text-align:center;background:var(--accent);
  color:#fff;border-bottom:none;padding:14px}
.mobile .lang{margin-top:18px;width:max-content}

/* --- hero home editoriale --- */
.hero{position:relative;padding:64px 0 110px;border-bottom:1px solid var(--line)}
.hero .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;
  align-items:start;position:relative}
.hero h1{font-family:var(--disp);font-weight:800;text-transform:uppercase;
  letter-spacing:-.02em;font-size:clamp(52px,7vw,96px);line-height:.94;
  color:var(--navy);position:relative;z-index:3;margin-top:26px}
.hero h1 .r{color:var(--accent)}
.hero .lead{max-width:40ch;color:var(--body-c);font-size:16px;
  margin-top:24px;position:relative;z-index:3}
.hero .photo{position:relative;margin-left:-70px;z-index:1}
.hero .photo .ph{min-height:480px}
.hero .card{position:absolute;right:34px;bottom:-64px;z-index:4;
  width:min(360px,80%);background:var(--accent);color:#fff;
  padding:26px 26px 24px;box-shadow:0 30px 60px -24px rgba(238,43,71,.45)}
.hero .card .k{font-family:var(--mono);font-size:10.5px;
  letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid
  rgba(255,255,255,.4);padding-bottom:9px;margin-bottom:14px}
.hero .card p{font-family:var(--disp);font-weight:800;font-size:21px;
  line-height:1.25;text-transform:uppercase}
.hero .card a{display:inline-block;margin-top:16px;font-family:var(--mono);
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#fff;
  text-decoration:none;border-bottom:1px solid #fff;padding-bottom:3px}
.hero .card a:hover{opacity:.85}
.hero .mark{position:absolute;left:-6px;bottom:-30px;z-index:2;
  font-size:clamp(90px,13vw,180px);color:transparent;
  -webkit-text-stroke:1.5px rgba(44,46,62,.16)}

/* --- bande fotografiche con testo --- */
.tband{position:relative;color:#fff;overflow:hidden}
.tband .bg{position:absolute;inset:0}
.tband .bg .ph{position:absolute;inset:0;min-height:0}
.tband .bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(35,37,51,.92) 0%,
  rgba(35,37,51,.55) 46%,rgba(35,37,51,.15) 100%)}
.tband.flip .bg::after{background:linear-gradient(270deg,
  rgba(35,37,51,.92) 0%,rgba(35,37,51,.55) 46%,rgba(35,37,51,.15) 100%)}
.tband .wrap{position:relative;z-index:2;display:grid;
  grid-template-columns:1fr 1fr;gap:40px;padding-top:110px;
  padding-bottom:110px}
.tband.flip .txt{grid-column:2}
.tband .txt p{color:#C9CEDA;max-width:46ch;font-size:15px}
.tband .txt .kicker{color:var(--accent-light)}
.tband h2.sec{color:#fff}
.tband h2.sec em{color:var(--accent-light)}
.tband .txt .go{display:inline-flex;align-items:center;gap:10px;
  margin-top:22px;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.18em;text-transform:uppercase;color:#fff;
  text-decoration:none}
.tband .txt .go::before{content:"▶";font-size:9px;color:var(--accent)}
.tband .txt .go:hover{color:var(--accent-light)}
.tband+.tband{border-top:1px solid rgba(246,246,246,.08)}

/* --- collage --- */
.collage{background:var(--cream);padding:100px 0;position:relative;
  overflow:hidden;border-bottom:1px solid var(--line)}
.collage .head{display:flex;justify-content:space-between;
  align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:46px}
.collage .cgridx{display:grid;grid-template-columns:repeat(12,1fr);
  grid-auto-rows:84px;gap:14px;position:relative}
.cl{position:relative}
.cl .ph{position:absolute;inset:0;min-height:0}
.cl .cap{position:absolute;left:0;bottom:0;z-index:3;background:var(--navy);
  color:#fff;font-family:var(--disp);font-weight:800;font-size:15px;
  text-transform:uppercase;padding:10px 16px}
.cl .cap small{display:block;font-family:var(--mono);font-weight:400;
  font-size:9.5px;letter-spacing:.18em;color:var(--accent-light);
  margin-top:2px}
.cl:hover .cap{background:var(--accent)}
.cl:hover .cap small{color:#fff}
.cl.a{grid-column:1/6;grid-row:1/5}
.cl.b{grid-column:6/10;grid-row:1/3}
.cl.c{grid-column:10/13;grid-row:1/4}
.cl.d{grid-column:6/9;grid-row:3/5}
.cl.redblock{grid-column:9/13;grid-row:4/5;background:var(--accent)}
.cl.redblock .mark{position:absolute;right:14px;bottom:6px;
  font-size:56px;color:#fff}
.collage .mark.ghost{position:absolute;right:-10px;top:26px;
  font-size:clamp(80px,10vw,150px);color:transparent;
  -webkit-text-stroke:1.5px rgba(44,46,62,.14)}
.cl a{position:absolute;inset:0;z-index:4}

/* --- datasheet --- */
.datasheet{background:#fff;border-bottom:1px solid var(--line);
  padding:100px 0}
.datasheet .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;
  align-items:center}
.datasheet table{width:100%;border-collapse:collapse;font-size:14px}
.datasheet td{padding:13px 4px;border-bottom:1px solid var(--line)}
.datasheet td.k{font-family:var(--mono);font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--mute);width:55%}
.datasheet td.v{font-family:var(--disp);font-weight:800;color:var(--navy);
  text-align:right}
.datasheet td.v em{font-style:normal;color:var(--accent)}
.datasheet .side{position:relative}
.datasheet .side .ph{min-height:380px}
.datasheet .side .num-badge{position:absolute;top:-17px;left:-17px;z-index:3;
  background:#fff}

/* --- hero pagine interne --- */
.phero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);
  background:#fff}
.phero::after{content:"ERA –";position:absolute;right:-8px;bottom:-26px;
  font-family:var(--disp);font-weight:800;text-transform:uppercase;
  line-height:.9;font-size:clamp(80px,11vw,160px);color:transparent;
  -webkit-text-stroke:1.5px rgba(44,46,62,.10);pointer-events:none}
.phero .wrap{position:relative;z-index:2;padding-top:76px;
  padding-bottom:64px;max-width:860px}
.phero h1{font-family:var(--disp);font-weight:800;letter-spacing:-.02em;
  text-transform:uppercase;font-size:clamp(32px,4.6vw,54px);
  line-height:1.05;color:var(--navy);margin:20px 0 16px}
.phero h1 em{font-style:italic;color:var(--accent)}
.phero .lead{color:var(--body-c);font-size:16.5px}
.phero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}

/* --- board (riletta editoriale) --- */
.board{background:var(--navy);border:1px solid var(--slate);
  border-top:4px solid var(--accent);color:var(--bone);
  font-family:var(--mono);box-shadow:14px 14px 0 rgba(44,46,62,.10);
  overflow:hidden}
.board .bar{display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;border-bottom:1px solid rgba(231,232,238,.12);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.board .bar .live{display:flex;align-items:center;gap:8px;
  color:var(--accent-light)}
.board .bar .dot{width:8px;height:8px;border-radius:50%;
  background:var(--accent);animation:blink 1.6s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.board table{width:100%;border-collapse:collapse;font-size:12.5px}
.board td{padding:11px 20px;border-bottom:1px solid rgba(231,232,238,.08);
  white-space:nowrap}
.board tr:last-child td{border-bottom:none}
.board .dim{color:#858CA3}
.board .grow{width:100%}
.board .st{text-align:right;letter-spacing:.06em;font-size:11px}
.board .ok{color:#9fd3c5}
.board .wait{color:var(--accent-light)}
.board .foot{padding:12px 20px;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:#858CA3;background:var(--navy-deep)}

/* --- sezioni e card --- */
.sect{padding:90px 0;border-bottom:1px solid var(--line)}
.sect.tint{background:var(--cream)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;
  align-items:center}
.bgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;
  margin-top:44px}
.bcard{background:var(--card);border:1px solid var(--line);padding:28px;
  display:flex;flex-direction:column;gap:12px;
  transition:border-color .15s ease,box-shadow .15s ease}
.bcard:hover{border-color:var(--accent);
  box-shadow:10px 10px 0 rgba(238,43,71,.10)}
.bcard.c4{grid-column:span 4}.bcard.c5{grid-column:span 5}
.bcard.c6{grid-column:span 6}.bcard.c7{grid-column:span 7}
.bcard.c8{grid-column:span 8}.bcard.c12{grid-column:span 12}
.bcard .chips{display:flex;gap:8px;flex-wrap:wrap}
.bcard h3{font-family:var(--disp);font-weight:800;font-size:17px;
  text-transform:uppercase;color:var(--navy)}
.bcard p{font-size:14.5px;color:var(--body-c)}
.bcard ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.bcard li{font-size:14px;color:var(--body-c);padding-left:20px;
  position:relative}
.bcard li::before{content:"—";position:absolute;left:0;color:var(--accent);
  font-weight:700}
.bcard .go{margin-top:auto;font-family:var(--mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
  text-decoration:none;border-bottom:1px solid currentColor;
  width:max-content;padding-bottom:3px}
.bcard .go:hover{color:var(--accent-deep)}
.wgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
  margin-top:44px}
.wcard{background:var(--card);border:1px solid var(--line);padding:28px}
.sect.tint .wcard,.sect.tint .bcard{background:#fff}
.wcard .n{font-family:var(--mono);font-size:12px;color:var(--accent);
  margin-bottom:12px;letter-spacing:.1em}
.wcard h3{font-family:var(--disp);font-weight:800;font-size:16.5px;
  text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.wcard p{font-size:14.5px;color:var(--body-c)}
.steps{margin-top:44px;display:grid;grid-template-columns:repeat(4,1fr);
  gap:16px}
.step{background:var(--card);border:1px solid var(--line);padding:26px 24px}
.step .n{width:34px;height:34px;border:1.5px solid var(--accent);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:12px;color:var(--accent);
  margin-bottom:14px}
.step h3{font-family:var(--disp);font-weight:800;font-size:15.5px;
  text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.step p{font-size:13.5px;color:var(--body-c)}

/* --- percorsi: pannelli sfalsati --- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-top:48px}
.pcard{padding:32px 28px 30px;display:flex;flex-direction:column;gap:12px;
  min-height:300px}
.pcard:nth-child(1){background:var(--cream);color:var(--ink)}
.pcard:nth-child(2){background:var(--accent);color:#fff;
  transform:translateY(24px)}
.pcard:nth-child(3){background:var(--navy-deep);color:#fff;
  border:1px solid var(--slate)}
.pcard .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;opacity:.8}
.pcard h3{font-family:var(--disp);font-weight:800;font-size:23px;
  text-transform:uppercase}
.pcard ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.pcard li{font-size:14px;opacity:.9;padding-left:20px;position:relative}
.pcard li::before{content:"—";position:absolute;left:0;font-weight:700}
.pcard:nth-child(1) li::before{color:var(--accent)}
.pcard .go{margin-top:auto;font-family:var(--mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  border-bottom:1px solid currentColor;width:max-content;padding-bottom:3px}
.pcard .go:hover{opacity:.75}

/* --- numeri --- */
.numbers{background:var(--navy);color:var(--bone);position:relative;
  overflow:hidden}
.numbers::after{content:"ERA –";position:absolute;right:-8px;bottom:-30px;
  font-family:var(--disp);font-weight:800;line-height:.9;
  font-size:clamp(90px,12vw,170px);color:transparent;
  -webkit-text-stroke:1.5px rgba(246,246,246,.08);pointer-events:none}
.numbers .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  padding:70px 28px;position:relative;z-index:2}
.numbers .n{font-family:var(--disp);font-weight:800;
  font-size:clamp(34px,4vw,48px);letter-spacing:-.02em;color:#fff}
.numbers .n em{font-style:normal;color:var(--accent-light)}
.numbers .l{font-family:var(--mono);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:#9AA0B4;margin-top:8px}

/* --- stagione --- */
.season{margin-top:44px}
.season .ev{display:grid;grid-template-columns:130px 1fr;gap:24px;
  padding:24px 0;border-bottom:1px solid var(--line)}
.season .when{font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);padding-top:4px}
.season h3{font-family:var(--disp);font-weight:800;font-size:16px;
  text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.season p{font-size:14.5px;color:var(--body-c);max-width:60ch}

/* --- prezzi --- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-top:48px}
.tier{background:#fff;border:1px solid var(--line);padding:32px;
  display:flex;flex-direction:column;gap:14px}
.tier.hl{background:var(--accent);color:#fff;border-color:var(--accent);
  transform:translateY(22px);box-shadow:0 30px 60px -28px rgba(238,43,71,.5)}
.tier .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent)}
.tier.hl .tag{color:#fff;opacity:.85}
.tier h3{font-family:var(--disp);font-weight:800;font-size:22px;
  text-transform:uppercase}
.tier .price{font-family:var(--disp);font-weight:800;font-size:26px}
.tier .price small{font-family:var(--mono);font-weight:400;font-size:11px;
  letter-spacing:.08em;opacity:.7}
.tier p.d{font-size:14px;opacity:.9}
.tier ul{list-style:none;display:flex;flex-direction:column;gap:9px;
  margin:6px 0 10px}
.tier li{font-size:14px;padding-left:20px;position:relative;opacity:.92}
.tier li::before{content:"—";position:absolute;left:0;font-weight:700;
  color:var(--accent)}
.tier.hl li::before{color:#fff}
.tier .btn{margin-top:auto;justify-content:center}
.tier.hl .btn.primary{background:#fff;color:var(--accent)}
.tier.hl .btn.primary:hover{background:var(--cream)}
.tier.hl .btn.ghost{border-color:#fff;color:#fff}
.note{font-size:13px;color:var(--mute);margin-top:40px}

/* --- FAQ --- */
.faq .list{margin-top:40px;display:flex;flex-direction:column;gap:12px;
  max-width:860px}
.faq details{background:#fff;border:1px solid var(--line);
  padding:18px 22px}
.faq details[open]{border-color:var(--accent)}
.faq summary{font-family:var(--disp);font-weight:800;font-size:14.5px;
  text-transform:uppercase;color:var(--navy);cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;
  align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:18px;
  color:var(--accent);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:12px;font-size:14.5px;color:var(--body-c)}
.faq .grp{font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent);margin:34px 0 4px;
  display:flex;align-items:center;gap:14px}
.faq .grp::after{content:"";width:64px;height:1px;background:currentColor;
  opacity:.6}

/* --- contatti --- */
.cgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;
  margin-top:44px;align-items:start}
.cinfo .item{padding:18px 0;border-bottom:1px solid var(--line)}
.cinfo .item .k{font-family:var(--mono);font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
  margin-bottom:4px}
.cinfo .item div,.cinfo .item a{font-size:15px;color:var(--navy);
  text-decoration:none}
.cinfo .item a:hover{color:var(--accent)}
.form{background:#fff;border:1px solid var(--navy);padding:34px;
  box-shadow:14px 14px 0 rgba(238,43,71,.12)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:block;font-family:var(--disp);font-weight:800;
  font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--navy);margin:0 0 6px}
.form label span{color:var(--accent)}
.form .fld{margin-bottom:16px}
.form input,.form select,.form textarea{width:100%;font-family:var(--body);
  font-size:14px;padding:12px 14px;border:1.5px solid var(--line);
  background:var(--bg);color:var(--ink)}
.form textarea{min-height:130px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{
  outline:none;border-color:var(--accent)}
.form .consent{display:flex;gap:10px;align-items:flex-start;
  font-size:13px;color:var(--body-c);margin:6px 0 18px}
.form .consent input{width:auto;margin-top:3px}
.form .ok-msg{display:none;background:#E9EFE6;color:#5E7857;
  padding:14px 16px;font-size:14px;margin-top:16px}

/* --- banda famiglia --- */
.family{background:var(--navy);color:var(--bone);position:relative;
  overflow:hidden}
.family::after{content:"ERA –";position:absolute;left:-8px;bottom:-26px;
  font-family:var(--disp);font-weight:800;line-height:.9;
  font-size:clamp(80px,10vw,150px);color:transparent;
  -webkit-text-stroke:1.5px rgba(246,246,246,.08);pointer-events:none}
.family .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:48px 28px;flex-wrap:wrap;position:relative;z-index:2}
.family .txt{max-width:56ch;font-size:14.5px;color:#C9CEDA}
.family .txt b{color:#fff}
.family a.btn{background:#fff;color:var(--navy)}
.family a.btn:hover{background:var(--cream)}

/* --- CTA finale --- */
.cta-end{background:var(--cream);padding:110px 0;text-align:center;
  position:relative;overflow:hidden}
.cta-end .kicker{justify-content:center}
.cta-end .kicker::after{display:none}
.cta-end h2{font-family:var(--disp);font-weight:800;letter-spacing:-.02em;
  text-transform:uppercase;font-size:clamp(32px,4.6vw,54px);
  line-height:1.05;color:var(--navy);margin:16px 0 14px}
.cta-end h2 em{font-style:italic;color:var(--accent)}
.cta-end p{color:var(--body-c);max-width:52ch;margin:0 auto 30px}
.cta-end .actions{display:flex;gap:12px;justify-content:center;
  flex-wrap:wrap}

/* --- footer --- */
footer{background:var(--navy);color:#9AA0B4}
footer .cols{display:grid;grid-template-columns:1.35fr .9fr .9fr .9fr;
  gap:32px;padding:56px 0 40px}
.logo-icon{height:84px;width:auto;margin-bottom:18px}
footer .addr{font-size:13.5px;line-height:1.7;margin-bottom:10px}
footer .addr a{display:inline;padding:0;font-size:13.5px;
  text-decoration:none}
footer .addr a:hover{color:var(--bone)}
footer .about{font-size:13.5px;max-width:30ch}
footer h4{font-family:var(--disp);font-weight:800;font-size:12.5px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--bone);
  margin-bottom:14px}
footer .cols a{display:block;font-size:13.5px;text-decoration:none;
  padding:4px 0}
footer .cols a:hover{color:var(--bone)}
footer .credits{display:flex;gap:44px;flex-wrap:wrap;align-items:center;
  padding:22px 0;border-top:1px solid rgba(231,232,238,.12)}
footer .credits a{display:flex;align-items:center;gap:12px;
  text-decoration:none}
footer .credits .lbl{font-size:13px;color:#9AA0B4;white-space:nowrap}
footer .credits img{height:34px;width:34px;display:block;
  transition:transform .15s ease}
footer .credits a:hover .lbl{color:var(--bone)}
footer .credits a:hover img{transform:translateY(-1px)}
footer .legal{display:flex;justify-content:space-between;gap:16px;
  flex-wrap:wrap;padding:16px 0 26px;font-size:12.5px;
  border-top:1px solid rgba(231,232,238,.12)}
footer .legal a{text-decoration:none}
footer .legal a:hover{color:var(--bone)}

/* --- reveal --- */
.rv{opacity:0;transform:translateY(18px);
  transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}

/* --- responsive --- */
@media(max-width:960px){
  .hero .grid,.tband .wrap,.datasheet .grid,.split,.cgrid{
    grid-template-columns:1fr}
  .hero .photo{margin-left:0;margin-top:26px}
  .hero .card{position:relative;right:auto;bottom:auto;margin-top:-40px;
    margin-left:22px}
  .tband.flip .txt{grid-column:1}
  .collage .cgridx{grid-auto-rows:64px}
  .cl.a{grid-column:1/13;grid-row:1/5}
  .cl.b{grid-column:1/7;grid-row:5/7}
  .cl.c{grid-column:7/13;grid-row:5/7}
  .cl.d{grid-column:1/7;grid-row:7/9}
  .cl.redblock{grid-column:7/13;grid-row:7/9}
  .bcard.c4,.bcard.c5,.bcard.c6,.bcard.c7,.bcard.c8{grid-column:span 12}
  .wgrid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .pgrid,.tiers{grid-template-columns:1fr}
  .pcard:nth-child(2),.tier.hl{transform:none}
  .numbers .wrap{grid-template-columns:repeat(2,1fr)}
  .form .row{grid-template-columns:1fr}
  .nav nav,.nav .right .lang,.nav .right .cta{display:none}
  .burger{display:flex}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .steps{grid-template-columns:1fr}
  .numbers .wrap{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr}
  .season .ev{grid-template-columns:1fr;gap:6px}
}
