/* ══════════════════════════════════════════════════════════════
   AwakerHz — stile globale
   Base: identica al sito originale (awakerhz.com).
   In fondo: sezione "ADDITIONS" per multi-pagina, nav, i18n, contenuti.
   ══════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════
   RESET & TOKENS
══════════════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --bg:       #070714;
  --bg2:      #0d0d20;
  --bg3:      #0a0518;
  --purple:   #7C3AED;
  --purple-l: #A855F7;
  --cyan:     #06B6D4;
  --cyan-l:   #22D3EE;
  --gold:     #F59E0B;
  --text:     #E2E8F0;
  --muted:    #718096;
  --border:   #1a0a2e;
}

html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Raleway', Arial, sans-serif;
  overflow-x: hidden;
}

::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--purple); border-radius:3px; }

/* ══════════════════════════════════════
   NAV
══════════════════════════════════════ */
nav {
  position: fixed; top:0; width:100%; z-index:200;
  padding: 22px 48px;
  display: flex; align-items:center; justify-content:space-between;
  transition: background 0.35s, padding 0.35s, box-shadow 0.35s, border-color 0.35s;
  border-bottom: 1px solid transparent;
}
nav.scrolled {
  background: rgba(7,7,20,0.94);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: 14px 48px;
  border-bottom-color: var(--border);
  box-shadow: 0 4px 24px rgba(0,0,0,0.35);
}
.nav-logo {
  font-family: 'Cinzel', Georgia, serif;
  font-size: 18px; letter-spacing: 7px;
  background: linear-gradient(90deg, var(--purple-l), var(--cyan-l));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; text-decoration: none;
  white-space: nowrap;
}
.nav-links { display:flex; gap:26px; list-style:none; }
.nav-links a {
  color: var(--muted); text-decoration:none;
  font-size:11px; letter-spacing:3px; text-transform:uppercase;
  transition: color 0.2s; white-space:nowrap;
}
.nav-links a:hover { color: var(--cyan-l); }
.nav-links a.active { color: var(--cyan-l); }
.nav-yt {
  background: linear-gradient(135deg, var(--purple), var(--cyan)) !important;
  color: white !important;
  padding: 8px 20px; border-radius:6px; font-weight:600 !important;
  text-decoration:none; font-size:11px; letter-spacing:2px; text-transform:uppercase;
  white-space:nowrap;
}
.nav-yt:hover { opacity:0.88; color:white !important; }

/* right cluster: lang switch + subscribe */
.nav-right { display:flex; align-items:center; gap:16px; }

/* language switcher */
.lang-switch { display:flex; align-items:center; gap:4px; }
.lang-btn {
  background:none; border:1px solid transparent; color:var(--muted);
  font-family:'Raleway', sans-serif; font-size:11px; letter-spacing:2px;
  text-transform:uppercase; cursor:pointer; padding:4px 7px; border-radius:5px;
  transition:color .2s, border-color .2s;
}
.lang-btn:hover { color:var(--cyan-l); }
.lang-btn.active { color:var(--cyan-l); border-color:var(--border); }

/* hamburger */
.nav-ham { display:none; font-size:22px; color:var(--muted); cursor:pointer; background:none; border:none; }
.nav-mobile {
  display:none; flex-direction:column; gap:0;
  position:fixed; top:60px; left:0; right:0; z-index:199;
  background:rgba(7,7,20,0.97); border-bottom:1px solid var(--border);
}
.nav-mobile.open { display:flex; }
.nav-mobile a {
  color:var(--muted); text-decoration:none; font-size:13px;
  letter-spacing:3px; text-transform:uppercase;
  padding:18px 32px; border-bottom:1px solid var(--border);
  transition:color 0.2s;
}
.nav-mobile a:hover { color:var(--cyan-l); }
.nav-mobile a.active { color:var(--cyan-l); }
.lang-switch-mobile { justify-content:center; gap:14px; padding:16px 32px; border-bottom:1px solid var(--border); }

/* ══════════════════════════════════════
   HERO (home)
══════════════════════════════════════ */
.hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  text-align:center; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0;
  background: radial-gradient(ellipse 80% 80% at 50% 40%, #1a0835 0%, #0d0520 45%, var(--bg) 100%);
}
.hero-fol {
  position:absolute; top:50%; left:50%;
  transform: translate(-50%,-50%);
  width: min(680px, 95vw); height: min(680px, 95vw);
  animation: fol-pulse 9s ease-in-out infinite;
  will-change: transform, opacity;
}
@keyframes fol-pulse {
  0%,100% { transform:translate(-50%,-50%) scale(1)   rotate(0deg);   opacity:0.38; }
  33%      { transform:translate(-50%,-50%) scale(1.03) rotate(2deg);   opacity:0.50; }
  66%      { transform:translate(-50%,-50%) scale(0.98) rotate(-1.5deg);opacity:0.42; }
}
.hero-stars { position:absolute; inset:0; pointer-events:none; }
.hero::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:220px;
  background:linear-gradient(to top, var(--bg), transparent);
  z-index:2; pointer-events:none;
}
.hero-content { position:relative; z-index:3; padding:0 24px; }

.hero-eyebrow {
  font-size:10px; letter-spacing:7px; color:var(--purple-l);
  text-transform:uppercase; margin-bottom:22px; opacity:0.85;
}
.hero-title {
  font-family:'Cinzel',Georgia,serif;
  font-size: clamp(48px, 11vw, 128px);
  font-weight:700; letter-spacing: clamp(8px,2vw,22px);
  background: linear-gradient(90deg, var(--purple-l), var(--cyan-l));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text; line-height:1; margin-bottom:24px;
}
.hero-divider {
  width:240px; height:1px; margin:0 auto 28px;
  background: linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent);
}
.hero-tagline {
  font-size: clamp(12px,1.8vw,17px); letter-spacing: clamp(4px,1vw,12px);
  color:#A0AEC0; font-weight:300; text-transform:uppercase;
  margin-bottom:54px;
}
.hero-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

.btn {
  display:inline-flex; align-items:center; gap:9px;
  text-decoration:none; border-radius:8px;
  font-size:12px; letter-spacing:3px; text-transform:uppercase;
  font-weight:600; transition:all 0.28s; padding:14px 30px;
  font-family:'Raleway',sans-serif;
}
.btn-primary {
  background:linear-gradient(135deg, var(--purple), var(--cyan));
  color:white; border:none; cursor:pointer;
}
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 10px 32px rgba(124,58,237,0.38); }
.btn-outline {
  background:transparent; color:var(--cyan-l);
  border:1px solid var(--cyan);
}
.btn-outline:hover { background:rgba(6,182,212,0.08); transform:translateY(-3px); }

/* ══════════════════════════════════════
   SECTION COMMON
══════════════════════════════════════ */
section { padding:110px 48px; }
.container { max-width:1160px; margin:0 auto; }

.section-label {
  font-size:10px; letter-spacing:6px; color:var(--purple-l);
  text-transform:uppercase; margin-bottom:10px;
}
.section-title {
  font-family:'Cinzel',Georgia,serif;
  font-size: clamp(26px,4vw,44px); font-weight:700;
  background:linear-gradient(90deg,var(--purple-l),var(--cyan-l));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text; margin-bottom:14px; line-height:1.2;
}
.section-sub {
  font-size:15px; color:var(--muted); line-height:1.9;
  max-width:560px; margin-bottom:56px; font-weight:300;
}

/* fade-in on scroll */
.fi { opacity:0; transform:translateY(28px); transition:opacity 0.7s ease, transform 0.7s ease; }
.fi.vis { opacity:1; transform:none; }
.fi-d1 { transition-delay:0.1s; }
.fi-d2 { transition-delay:0.2s; }
.fi-d3 { transition-delay:0.3s; }

/* ══════════════════════════════════════
   FREQUENCIES
══════════════════════════════════════ */
#frequencies { background:var(--bg); }

/* ── lista verticale (accordion): una riga per frequenza ── */
.freq-list { display:flex; flex-direction:column; gap:12px; max-width:880px; margin:0 auto; }

/* colori accento per frequenza */
.f174 { --c:#7C3AED; } .f285 { --c:#8B5CF6; } .f396 { --c:#9D4EDD; }
.f417 { --c:#A855F7; } .f432 { --c:#C084FC; } .f639 { --c:#34D399; }
.f741 { --c:#22D3EE; } .f852 { --c:#38BDF8; } .f963 { --c:#F59E0B; }
.f528 { --c:#22D3EE; }

.freq-row {
  position:relative;
  background:var(--bg2);
  border:1px solid var(--border);
  border-left:3px solid var(--c, var(--purple));
  border-radius:12px;
  overflow:hidden;
  transition: border-color .28s, background .28s, transform .28s, box-shadow .28s;
}
.freq-row:hover { border-color:var(--c, var(--purple)); background:#11112a; transform:translateX(2px); }
.freq-row.expanded { border-color:var(--c, var(--purple)); }

/* testa cliccabile */
.freq-row-head {
  display:flex; align-items:center; gap:20px;
  padding:18px 22px; cursor:pointer; user-select:none;
}
.freq-row-hz {
  font-family:'Cinzel',Georgia,serif; font-weight:700;
  font-size:30px; line-height:1; color:var(--c, var(--purple-l));
  min-width:88px; flex-shrink:0;
}
.freq-row-unit { font-size:14px; opacity:0.55; margin-left:3px; }
.freq-row-main { flex:1; min-width:0; }
.freq-row-name {
  font-size:11px; letter-spacing:3px; text-transform:uppercase;
  color:var(--text); margin-bottom:5px; font-weight:600;
}
.freq-row-desc { font-size:13px; color:var(--muted); line-height:1.6; font-weight:300; }
.freq-row-badge {
  flex-shrink:0; align-self:center;
  font-size:9px; letter-spacing:2px; text-transform:uppercase;
  padding:4px 12px; border-radius:20px;
  background:rgba(34,211,238,0.10); color:var(--cyan-l); white-space:nowrap;
}
/* chevron (triangolo CSS, nessuna dipendenza font) */
.freq-row-chevron {
  flex-shrink:0; width:9px; height:9px;
  border-right:2px solid var(--muted); border-bottom:2px solid var(--muted);
  transform:rotate(45deg); margin-right:6px;
  opacity:0.5; transition:transform .35s ease, opacity .2s, border-color .2s;
}
.freq-row:hover .freq-row-chevron { opacity:0.85; border-color:var(--c, var(--purple-l)); }
.freq-row.expanded .freq-row-chevron { transform:rotate(-135deg); opacity:0.85; border-color:var(--c, var(--purple-l)); }

/* corpo collassabile — l'altezza esatta è gestita via JS (vedi site.js).
   Il valore qui sotto è solo fallback se il JS è disattivato (evita il taglio). */
.freq-row-body { max-height:0; overflow:hidden; transition:max-height .42s ease; }
.freq-row.expanded .freq-row-body { max-height:1500px; }
.freq-row-body-inner { padding:0 22px 22px 130px; }
.freq-row-sep {
  height:1px; margin-bottom:14px;
  background:linear-gradient(90deg, var(--c, var(--purple)), transparent);
  opacity:0.4;
}
.freq-row-long {
  font-size:13px; color:#8899AA; line-height:1.8;
  margin-bottom:16px; max-width:620px;
}

/* link "guarda su youtube" (riusato) */
.freq-watch {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 9px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--c, var(--purple-l));
  text-decoration: none;
  border: 1px solid var(--c, var(--purple));
  padding: 7px 16px; border-radius: 20px;
  transition: background 0.2s, transform 0.2s;
  opacity: 0.85;
}
.freq-watch:hover { background: rgba(255,255,255,0.06); transform: translateY(-1px); opacity: 1; }

/* responsive */
@media (max-width:560px) {
  .freq-row-head { gap:14px; padding:16px; flex-wrap:wrap; }
  .freq-row-hz { font-size:26px; min-width:62px; }
  .freq-row-body-inner { padding:0 16px 18px 16px; }
}

/* ══════════════════════════════════════
   VIDEOS
══════════════════════════════════════ */
#videos { background:linear-gradient(180deg,var(--bg) 0%,var(--bg3) 100%); }

.video-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(310px,1fr));
  gap:22px;
}
.video-card {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:14px; overflow:hidden; transition:all 0.28s;
}
.video-card:hover { transform:translateY(-5px); border-color:var(--purple); }
.video-thumb {
  position:relative; padding-bottom:56.25%;
  background:var(--bg3);
}
.video-thumb img,
.video-thumb iframe {
  position:absolute; inset:0; width:100%; height:100%; border:none; display:block;
}
.video-ph {
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:14px;
}
.video-ph-ring {
  width:58px; height:58px; border-radius:50%;
  border:1.5px solid var(--purple); display:flex; align-items:center;
  justify-content:center; color:var(--purple-l); font-size:20px;
  transition: all 0.2s;
}
.video-card:hover .video-ph-ring { border-color:var(--cyan-l); color:var(--cyan-l); box-shadow:0 0 20px rgba(6,182,212,0.25); }
.video-ph-text { font-size:10px; letter-spacing:4px; color:var(--muted); text-transform:uppercase; }
.video-info { padding:20px 22px; }
.video-title { font-size:14px; font-weight:600; color:var(--text); line-height:1.45; margin-bottom:8px; }
.video-meta { font-size:11px; color:var(--muted); letter-spacing:0.5px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.video-tag {
  font-size:9px; letter-spacing:2px; padding:2px 9px; border-radius:4px;
  background:rgba(124,58,237,0.15); color:var(--purple-l); text-transform:uppercase;
}
.video-cta { text-align:center; margin-top:48px; }

/* ══════════════════════════════════════
   ABOUT
══════════════════════════════════════ */
#about { background:radial-gradient(ellipse 90% 70% at 85% 50%,#160630 0%,var(--bg) 65%); }

.about-grid {
  display:grid; grid-template-columns:1fr 1.2fr;
  gap:80px; align-items:center;
}
.about-logo-wrap { display:flex; justify-content:center; }
.about-logo-wrap svg { width:min(300px,75vw); height:auto; }
.about-section-sub { max-width:100%; margin-bottom:24px; }

.stats-row { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:40px; }
.stat-card {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:12px; padding:20px 14px; text-align:center;
}
.stat-num {
  font-family:'Cinzel',Georgia,serif; font-size:28px;
  background:linear-gradient(90deg,var(--purple-l),var(--cyan-l));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.stat-label { font-size:9px; letter-spacing:3px; color:var(--muted); margin-top:4px; text-transform:uppercase; }

/* ══════════════════════════════════════
   NEWSLETTER
══════════════════════════════════════ */
#newsletter {
  background:linear-gradient(135deg,#0f0520 0%,#051520 100%);
  text-align:center;
}
#newsletter .section-sub { margin-left:auto; margin-right:auto; }
.nl-form {
  display:flex; gap:12px; max-width:460px; margin:0 auto;
}
.nl-form input {
  flex:1; background:rgba(255,255,255,0.05); border:1px solid var(--border);
  border-radius:8px; padding:14px 20px; color:var(--text);
  font-size:14px; font-family:'Raleway',sans-serif;
  outline:none; transition:border-color 0.2s;
}
.nl-form input:focus { border-color:var(--purple); }
.nl-form input::placeholder { color:var(--muted); }
.nl-note { font-size:11px; color:var(--muted); margin-top:14px; letter-spacing:0.5px; }
.nl-success { display:none; color:var(--cyan-l); font-size:14px; letter-spacing:2px; margin-top:16px; }

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
footer {
  background:#050510; border-top:1px solid var(--border);
  padding:50px 48px 40px; text-align:center;
}
.footer-bar { height:3px; background:linear-gradient(90deg,var(--purple),var(--cyan)); opacity:0.6; margin-bottom:50px; }
.footer-logo {
  font-family:'Cinzel',Georgia,serif; font-size:22px; letter-spacing:8px;
  background:linear-gradient(90deg,var(--purple-l),var(--cyan-l));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  margin-bottom:7px;
}
.footer-tagline { font-size:10px; letter-spacing:5px; color:var(--muted); margin-bottom:32px; text-transform:uppercase; }
.footer-links { display:flex; gap:28px; justify-content:center; flex-wrap:wrap; margin-bottom:30px; }
.footer-links a { color:var(--muted); text-decoration:none; font-size:12px; letter-spacing:2px; transition:color 0.2s; }
.footer-links a:hover { color:var(--cyan-l); }
.footer-copy { font-size:11px; color:#2d3748; letter-spacing:1px; }

/* ══════════════════════════════════════════════════════════════
   ADDITIONS — pagine interne, griglie contenuti, avvisi
   ══════════════════════════════════════════════════════════════ */

/* page hero (pagine interne) */
.page-hero {
  position:relative; padding:170px 48px 70px; text-align:center;
  background:radial-gradient(ellipse 85% 95% at 50% 0%, #1a0835 0%, #0d0520 55%, var(--bg) 100%);
  overflow:hidden;
}
.page-hero .page-hero-inner { position:relative; z-index:2; max-width:780px; margin:0 auto; }
.page-eyebrow { font-size:10px; letter-spacing:7px; color:var(--purple-l); text-transform:uppercase; margin-bottom:16px; }
.page-title {
  font-family:'Cinzel',Georgia,serif; font-size:clamp(34px,6vw,62px); font-weight:700;
  letter-spacing:clamp(3px,1.1vw,9px); line-height:1.05;
  background:linear-gradient(90deg,var(--purple-l),var(--cyan-l));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:18px;
}
.page-divider { width:200px; height:1px; margin:0 auto 22px; background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent); }
.page-sub { font-size:15px; color:#A0AEC0; font-weight:300; line-height:1.9; max-width:620px; margin:0 auto; }

/* generic content grid + cards (books, store, articles) */
.card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:22px; }
.content-card {
  background:var(--bg2); border:1px solid var(--border); border-radius:14px;
  overflow:hidden; transition:all .28s; display:flex; flex-direction:column;
}
.content-card:hover { transform:translateY(-5px); border-color:var(--purple); }
.cc-media {
  position:relative; padding-bottom:62%;
  background:linear-gradient(135deg,#0f0825,#051a2a);
}
.cc-media .cc-ph {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--purple-l); font-size:30px; opacity:.5;
}
.cc-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.cc-body { padding:22px; flex:1; display:flex; flex-direction:column; }
.cc-kicker { font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--cyan-l); margin-bottom:9px; }
.cc-title { font-family:'Cinzel',Georgia,serif; font-size:18px; color:var(--text); line-height:1.3; margin-bottom:10px; }
.cc-text { font-size:13px; color:var(--muted); line-height:1.7; font-weight:300; margin-bottom:16px; flex:1; }
.cc-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.cc-price { font-family:'Cinzel',Georgia,serif; color:var(--gold); font-size:17px; }
.cc-link {
  font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--cyan-l);
  text-decoration:none; border:1px solid var(--cyan); padding:7px 14px; border-radius:20px; transition:all .2s;
  white-space:nowrap;
}
.cc-link:hover { background:rgba(6,182,212,0.08); transform:translateY(-1px); }

/* "in arrivo" / avviso */
.notice {
  text-align:center; max-width:580px; margin:54px auto 0;
  background:var(--bg2); border:1px solid var(--border); border-radius:14px; padding:38px 30px;
}
.notice-title { font-family:'Cinzel',Georgia,serif; color:var(--purple-l); font-size:21px; margin-bottom:12px; }
.notice-text { color:var(--muted); font-size:14px; line-height:1.85; font-weight:300; }

/* ══════════════════════════════════════
   HOME TILES — "Aurora Nodes"
══════════════════════════════════════ */
.at-grid {
  display: grid;
  gap: clamp(16px,2.2vw,26px);
  grid-template-columns: repeat(3,1fr);
  max-width: 1160px;
  margin: 0 auto;
}
@media (max-width:920px){ .at-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .at-grid{ grid-template-columns:1fr; } }

.at-tile {
  position: relative; display: block; min-height: 240px;
  padding: clamp(24px,2.5vw,32px);
  text-decoration: none; color: var(--text);
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: 18px; overflow: hidden; isolation: isolate;
  transition: transform .6s cubic-bezier(.2,.7,.2,1), border-color .6s ease, box-shadow .6s ease;
}
.at-tile:focus-visible { outline:1px solid var(--cyan); outline-offset:3px; }

.at-aurora {
  position: absolute; inset: -40%; z-index: 0; opacity: .5;
  background:
    radial-gradient(40% 50% at 28% 22%, color-mix(in srgb, var(--purple) 58%, transparent), transparent 70%),
    radial-gradient(38% 46% at 76% 78%, color-mix(in srgb, var(--cyan) 40%, transparent), transparent 72%),
    radial-gradient(62% 70% at 50% 120%, color-mix(in srgb, var(--purple-l) 28%, transparent), transparent 75%);
  background-color: var(--bg);
  filter: blur(14px) saturate(115%);
  animation: at-drift 24s ease-in-out infinite alternate;
  transition: opacity .6s ease;
}
.at-veil {
  position: absolute; inset: 0; z-index: 1; opacity: 0;
  background: linear-gradient(115deg, transparent 30%, color-mix(in srgb, var(--cyan-l) 22%, transparent) 48%, transparent 66%);
  transform: translateX(-30%); transition: opacity .6s ease;
}
.at-stars { position:absolute; inset:0; z-index:1; pointer-events:none; }
.at-star {
  position:absolute; width:2px; height:2px; border-radius:50%;
  background: var(--text); opacity:.16;
  box-shadow: 0 0 6px color-mix(in srgb, var(--cyan-l) 80%, transparent);
  transition: opacity .6s ease;
}
.at-star:nth-child(1){ top:18%; left:74%; }
.at-star:nth-child(2){ top:62%; left:22%; width:1.5px; height:1.5px; }
.at-star:nth-child(3){ top:36%; left:54%; width:2.5px; height:2.5px; }
.at-star:nth-child(4){ top:80%; left:82%; }

.at-content { position: relative; z-index: 2; display: flex; flex-direction: column; height: 100%; min-height: inherit; }
.at-head { display:flex; align-items:flex-start; justify-content:space-between; }
.at-icon {
  display:inline-flex; width:32px; height:32px; color: var(--purple-l);
  transition: color .6s ease, transform .7s cubic-bezier(.2,.7,.2,1), filter .6s ease;
}
.at-icon svg { width:100%; height:100%; display:block; }
.at-index {
  font-family:'Cinzel',Georgia,serif; font-size:12px; letter-spacing:.22em;
  color: var(--muted); transition: color .6s ease;
}
.at-rule {
  display:block; height:0; width:34px; margin:18px 0;
  border-top:1px solid var(--border);
  transition: width .6s cubic-bezier(.2,.7,.2,1), border-color .6s ease;
}
.at-body { margin-top:auto; }
.at-title {
  font-family:'Cinzel',Georgia,serif; font-weight:600;
  font-size: clamp(18px,1.5vw,22px); line-height:1.18; letter-spacing:.02em;
  margin:0 0 9px; color: var(--text);
}
.at-text { font-family:'Raleway',sans-serif; font-size:13px; line-height:1.7; font-weight:300; color: var(--muted); margin:0; }
.at-cta {
  display:inline-flex; align-items:center; gap:8px; margin-top:18px;
  font-family:'Raleway',sans-serif; font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color: var(--muted);
  opacity:0; transform: translateY(6px);
  transition: opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1), color .5s ease;
}
.at-cta-arrow { display:inline-flex; width:15px; height:15px; color: var(--cyan); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.at-cta-arrow svg { width:100%; height:100%; display:block; }

.at-tile:hover, .at-tile:focus-visible {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--purple-l) 55%, var(--border));
  box-shadow: 0 22px 60px -30px color-mix(in srgb, var(--purple) 75%, transparent),
              inset 0 0 0 1px color-mix(in srgb, var(--cyan) 16%, transparent);
}
.at-tile:hover .at-aurora, .at-tile:focus-visible .at-aurora { opacity:.85; }
.at-tile:hover .at-veil, .at-tile:focus-visible .at-veil { opacity:1; animation: at-sweep 1.1s cubic-bezier(.2,.7,.2,1) forwards; }
.at-tile:hover .at-star, .at-tile:focus-visible .at-star { opacity:.95; animation: at-twinkle 2.6s ease-in-out infinite; }
.at-tile:hover .at-star:nth-child(2), .at-tile:focus-visible .at-star:nth-child(2){ animation-delay:.5s; }
.at-tile:hover .at-star:nth-child(3), .at-tile:focus-visible .at-star:nth-child(3){ animation-delay:.9s; }
.at-tile:hover .at-star:nth-child(4), .at-tile:focus-visible .at-star:nth-child(4){ animation-delay:1.3s; }
.at-tile:hover .at-icon, .at-tile:focus-visible .at-icon {
  color: var(--cyan-l); transform: translateY(-2px);
  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--cyan) 55%, transparent));
}
.at-tile:hover .at-index, .at-tile:focus-visible .at-index { color: var(--gold); }
.at-tile:hover .at-rule, .at-tile:focus-visible .at-rule { width:64px; border-top-color: var(--cyan-l); }
.at-tile:hover .at-cta, .at-tile:focus-visible .at-cta { opacity:1; transform:translateY(0); color: var(--text); }
.at-tile:hover .at-cta-arrow, .at-tile:focus-visible .at-cta-arrow { transform: translateX(3px); }

@keyframes at-drift {
  0%   { transform: translate3d(-3%,-2%,0) scale(1); }
  50%  { transform: translate3d(2%,3%,0)  scale(1.08); }
  100% { transform: translate3d(3%,-1%,0) scale(1.04); }
}
@keyframes at-sweep { 0%{ transform: translateX(-30%); } 100%{ transform: translateX(30%); } }
@keyframes at-twinkle { 0%,100%{ opacity:.95; transform:scale(1); } 50%{ opacity:.35; transform:scale(.7); } }
@keyframes at-rise { from{ opacity:0; transform:translateY(20px); } to{ opacity:1; transform:translateY(0); } }
.at-tile { opacity:0; animation: at-rise .8s cubic-bezier(.2,.7,.2,1) forwards; }
.at-tile[data-i="1"]{ animation-delay:.05s; }
.at-tile[data-i="2"]{ animation-delay:.12s; }
.at-tile[data-i="3"]{ animation-delay:.19s; }
.at-tile[data-i="4"]{ animation-delay:.26s; }
.at-tile[data-i="5"]{ animation-delay:.33s; }
.at-tile[data-i="6"]{ animation-delay:.40s; }
.at-tile[data-i="2"] .at-aurora{ animation-delay:-5s; }
.at-tile[data-i="3"] .at-aurora{ animation-delay:-9s; }
.at-tile[data-i="4"] .at-aurora{ animation-delay:-13s; }
.at-tile[data-i="5"] .at-aurora{ animation-delay:-3s; }
.at-tile[data-i="6"] .at-aurora{ animation-delay:-17s; }
@media (prefers-reduced-motion: reduce){
  .at-tile, .at-aurora, .at-veil, .at-star, .at-icon, .at-rule, .at-cta, .at-cta-arrow { transition:none; animation:none; opacity:1; transform:none; }
  .at-veil { opacity:0; } .at-star { opacity:.22; } .at-aurora { opacity:.55; } .at-cta { opacity:1; transform:none; }
}

/* ══════════════════════════════════════
   SUB-TAB (pills) + pannelli
══════════════════════════════════════ */
.subtabs { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:42px; }
.subtab {
  background:var(--bg2); border:1px solid var(--border); color:var(--muted);
  font-family:'Raleway',sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase;
  padding:9px 20px; border-radius:30px; cursor:pointer; transition:all .25s; white-space:nowrap;
}
.subtab:hover { color:var(--cyan-l); border-color:var(--cyan); }
.subtab.active { color:#fff; background:linear-gradient(135deg,var(--purple),var(--cyan)); border-color:transparent; }
.subpanel { display:none; }
.subpanel.active { display:block; animation:fadepanel .4s ease; }
@keyframes fadepanel { from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.cat-intro { text-align:center; max-width:660px; margin:0 auto 42px; color:var(--muted); font-weight:300; line-height:1.9; font-size:14px; }
.content-disclaimer { text-align:center; max-width:680px; margin:40px auto 0; color:var(--muted); font-size:12px; font-weight:300; line-height:1.7; opacity:.8; font-style:italic; }

/* chakra / binaural: varianti della riga frequenza */
.freq-row-meta { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--c, var(--purple-l)); margin-bottom:12px; opacity:.9; }
.freq-row.is-binaural .freq-row-hz { font-size:15px; min-width:88px; letter-spacing:0; display:flex; align-items:center; font-weight:700; }
.bb-range { font-family:'Raleway',sans-serif; }

/* HIDDEN: griglia argomenti */
.topic-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.topic-card {
  background:var(--bg2); border:1px solid var(--border); border-radius:16px;
  padding:30px 26px; transition:all .3s; position:relative; overflow:hidden;
}
.topic-card:hover { transform:translateY(-5px); border-color:var(--purple); box-shadow:0 18px 50px -28px color-mix(in srgb, var(--purple) 80%, transparent); }
.topic-ico { width:40px; height:40px; color:var(--purple-l); margin-bottom:18px; }
.topic-ico svg { width:100%; height:100%; display:block; }
.topic-card:hover .topic-ico { color:var(--cyan-l); }
.topic-title { font-family:'Cinzel',Georgia,serif; font-size:19px; color:var(--text); margin-bottom:10px; line-height:1.3; }
.topic-text { font-size:13px; color:var(--muted); line-height:1.7; font-weight:300; }

/* ABOUT (Cos'è AwakerHz) */
.about-lead { font-size:clamp(16px,1.8vw,20px); line-height:1.9; color:#A0AEC0; font-weight:300; max-width:780px; margin:0 auto 26px; text-align:center; }
.about-p { font-size:15px; line-height:1.95; color:var(--muted); font-weight:300; max-width:760px; margin:0 auto 20px; }
.about-mission { max-width:760px; margin:46px auto; padding:34px 32px; background:linear-gradient(135deg,#0f0825,#06182a); border:1px solid var(--border); border-radius:16px; }
.about-mission-label { font-family:'Cinzel',Georgia,serif; font-size:13px; letter-spacing:5px; text-transform:uppercase; color:var(--cyan-l); margin-bottom:14px; text-align:center; }
.about-mission .about-p { margin-bottom:0; color:#A0AEC0; }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:900px; margin:46px auto 0; }
.value-card { background:var(--bg2); border:1px solid var(--border); border-radius:14px; padding:26px 22px; text-align:center; }
.value-title { font-family:'Cinzel',Georgia,serif; font-size:17px; color:var(--purple-l); margin-bottom:10px; }
.value-text { font-size:13px; color:var(--muted); line-height:1.7; font-weight:300; }
@media (max-width:700px){ .values-grid { grid-template-columns:1fr; } }

/* HERO — riga social / canali */
.hero-socials { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:38px; }
.hero-social {
  width:46px; height:46px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--border); color:var(--muted);
  background:rgba(255,255,255,0.02); position:relative;
  transition:color .28s, border-color .28s, transform .28s, box-shadow .28s;
}
.hero-social svg { width:21px; height:21px; display:block; }
.hero-social:hover {
  color:var(--cyan-l); border-color:var(--cyan); transform:translateY(-3px);
  box-shadow:0 10px 26px -12px color-mix(in srgb, var(--cyan) 70%, transparent);
}
.hero-social::after {
  content:attr(data-label); position:absolute; bottom:-23px; left:50%; transform:translateX(-50%);
  font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted);
  white-space:nowrap; opacity:0; transition:opacity .2s; pointer-events:none;
}
.hero-social:hover::after { opacity:.8; }
@media (max-width:560px){ .hero-socials{ gap:11px; } .hero-social{ width:42px; height:42px; } .hero-social svg{ width:19px; height:19px; } }

/* intro / manifesto (home) */
.intro-section { padding:88px 48px 24px; text-align:center; }
.intro-lead {
  max-width:790px; margin:16px auto 0;
  font-size:clamp(15px,1.6vw,18px); line-height:1.95; font-weight:300; color:#A0AEC0;
}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width:1100px) {
  .nav-links { display:none; }
  .nav-right { display:none; }
  .nav-ham { display:block; }
}
@media (max-width:900px) {
  .about-grid { grid-template-columns:1fr; gap:48px; }
  .about-logo-wrap { order:-1; }
}
@media (max-width:700px) {
  nav { padding:16px 20px; } nav.scrolled { padding:12px 20px; }
  section { padding:80px 20px; }
  .page-hero { padding:130px 20px 56px; }
  .f528 { grid-column:span 1; }
  .nl-form { flex-direction:column; }
  .stats-row { grid-template-columns:repeat(3,1fr); }
  footer { padding:40px 20px 32px; }
}
@media (max-width:400px) {
  .stats-row { grid-template-columns:1fr 1fr; }
}
