/* PORTAL WEB AC LOCAL v0.3.5 — capa d'impacte visual cinematogràfic */
:root{
  --impact-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --impact-shadow-soft: 0 20px 44px rgba(5, 42, 76, 0.12);
  --impact-shadow-strong: 0 34px 72px rgba(5, 42, 76, 0.18);
  --impact-radius-xl: 34px;
}

html{scroll-behavior:smooth;}

body{
  background:
    radial-gradient(circle at top, rgba(15,77,129,0.055), transparent 30%),
    #f7fafc;
}

.hero{
  min-height: min(100svh, 980px);
  overflow:hidden;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.22;
  background-image:
    radial-gradient(rgba(255,255,255,.18) 0.7px, transparent 0.7px),
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 30%);
  background-size: 18px 18px, 100% 100%;
}

.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  z-index:1;
  height:180px;
  background:linear-gradient(180deg, rgba(5,42,76,0), rgba(5,42,76,.28));
  pointer-events:none;
}

.hero-media{filter:saturate(1.05) contrast(1.04);}
.hero-video{transform:scale(1.03);}
.hero-overlay{
  background:
    radial-gradient(circle at 78% 22%, rgba(246,209,58,.16), transparent 18%),
    linear-gradient(90deg, rgba(5,42,76,.9) 0%, rgba(5,42,76,.78) 28%, rgba(5,42,76,.34) 62%, rgba(5,42,76,.16) 100%);
}

.hero-inner{
  min-height: min(100svh, 980px);
  display:flex;
  align-items:flex-end;
  padding-top:132px;
  padding-bottom:86px;
  position:relative;
  z-index:2;
}

.hero-copy{max-width:min(760px, 100%);}
.hero-kicker{letter-spacing:.22em; opacity:.92;}
.hero h1{
  font-size: clamp(4rem, 8vw, 6.8rem);
  line-height:.92;
  letter-spacing:-0.05em;
  margin: 0 0 16px;
  text-wrap: balance;
}
.hero-line,.hero-word{display:block;}
.hero-word{
  background: linear-gradient(135deg, #ffffff 0%, #f6d13a 46%, #ffffff 92%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 10px 32px rgba(5,42,76,.18);
}
.hero-hashtag{font-size:clamp(1rem,1.8vw,1.2rem);}
.hero .subscribe-form, .hero .subscribe-note, .hero .hero-hashtag, .hero .hero-kicker{max-width:620px;}
.hero .subscribe-form{box-shadow: var(--impact-shadow-soft);}
.hero .subscribe-form button{transition: transform .35s var(--impact-ease), box-shadow .35s var(--impact-ease);}
.hero .subscribe-form button:hover{transform: translateY(-2px); box-shadow: 0 14px 28px rgba(5,42,76,.14);}

.hero-scroll-cue{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:18px;
  translate:-50% 0;
  border:1px solid rgba(255,255,255,.32);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  color:#fff;
  padding: 12px 18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  letter-spacing:.02em;
  box-shadow: 0 16px 34px rgba(0,0,0,.14);
  transition: transform .35s var(--impact-ease), background-color .3s ease, border-color .3s ease;
}
.hero-scroll-cue:hover{transform: translateY(-4px); background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.48);}
.hero-scroll-cue b{font-size:1.15rem; animation: acHeroCue 1.6s ease-in-out infinite;}
@keyframes acHeroCue{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

.voice,.program,.affiliate,.territory,.news,.social-section{position:relative; isolation:isolate;}
.voice::before,.program::before,.affiliate::before,.territory::before,.news::before,.social-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.9;
}
.voice::before{background: radial-gradient(circle at 18% 6%, rgba(15,77,129,.06), transparent 26%);}
.program::before{background: radial-gradient(circle at 88% 6%, rgba(246,209,58,.11), transparent 22%), linear-gradient(180deg, rgba(15,77,129,.03), transparent 45%);}
.affiliate::before{background: radial-gradient(circle at 78% 16%, rgba(15,77,129,.085), transparent 25%);}
.territory::before{background: radial-gradient(circle at 18% 24%, rgba(15,77,129,.065), transparent 24%);}
.news::before{background: radial-gradient(circle at 82% 14%, rgba(246,209,58,.085), transparent 18%);}
.social-section::before{background: linear-gradient(180deg, rgba(15,77,129,.035), transparent 70%);}

.section-heading h2, .territory-heading h2, .social-section h2{
  text-wrap:balance;
  letter-spacing:-0.04em;
}

.section-heading p:last-child, .territory-heading p, .news-feature p, .footer-contact p{
  text-wrap:pretty;
}

.media-carousel, .affiliate-panel, .news-layout{position:relative;}
.media-carousel::before, .affiliate-panel::before, .news-layout::before{
  content:""; position:absolute; inset:-8px; z-index:-1; border-radius:40px; background: linear-gradient(180deg, rgba(255,255,255,.7), rgba(255,255,255,.25)); opacity:.62; filter: blur(28px);
}

.media-card, .news-feature, .news-secondary-card, .news-compact-card, .member-card-stage, .map-link, .telegram-cta{
  box-shadow: var(--impact-shadow-soft);
  transition: transform .42s var(--impact-ease), box-shadow .42s var(--impact-ease), filter .35s ease;
}
.media-card:hover, .news-feature:hover, .news-secondary-card:hover, .news-compact-card:hover, .map-link:hover, .telegram-cta:hover{
  transform: translateY(-8px);
  box-shadow: var(--impact-shadow-strong);
}

.media-card::after, .news-feature::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.22) 18%, transparent 36%);
  transform: translateX(-120%);
  transition: transform .85s var(--impact-ease);
  pointer-events:none;
}
.media-card:hover::after, .news-feature:hover::after{transform: translateX(140%);}

.program-grid{gap:26px;}
.program-card{
  border:1px solid rgba(255,255,255,.28);
  box-shadow: var(--impact-shadow-soft);
  transition: transform .45s var(--impact-ease), box-shadow .45s var(--impact-ease), filter .35s ease;
  transform-style: preserve-3d;
}
.program-card:hover{transform: translateY(-12px) scale(1.012); box-shadow: var(--impact-shadow-strong);}
.program-card .program-card-content{position:relative; z-index:2;}
.program-card .program-card-visual{filter: drop-shadow(0 20px 30px rgba(4,34,59,.18));}
.program-card .program-card-visual img{transition: transform .55s var(--impact-ease), filter .35s ease;}
.program-card:hover .program-card-visual img{transform: translateY(-6px) rotate(-2deg) scale(1.04);}
.program-card .program-card-action{transition: transform .35s var(--impact-ease), opacity .35s ease;}
.program-card:hover .program-card-action{transform: translateX(6px);}

.button, .header-cta, .telegram-cta, .program-full-button{
  transition: transform .34s var(--impact-ease), box-shadow .34s var(--impact-ease), background-color .3s ease, color .3s ease, border-color .3s ease;
}
.button:hover, .header-cta:hover, .telegram-cta:hover, .program-full-button:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(5,42,76,.16);
}

.map-link{
  border-radius: 36px;
  overflow:hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.75));
}
.map-link .map-hint{transition: transform .35s var(--impact-ease), box-shadow .35s var(--impact-ease);}
.map-link:hover .map-hint{transform: translateY(-4px); box-shadow: 0 14px 30px rgba(5,42,76,.14);}

.news-feature{border-radius: var(--impact-radius-xl); overflow:hidden;}
.news-secondary-card, .news-compact-card{border-radius: 26px; overflow:hidden;}
.news-feature-copy h3{font-size: clamp(2rem, 3.1vw, 3.2rem); line-height:.96; letter-spacing:-.04em;}
.news-feature-copy p{max-width:48ch;}

.social-inner{
  padding: 12px 0;
}
.social-link, .drawer-socials a{transition: transform .3s var(--impact-ease), filter .3s ease;}
.social-link:hover, .drawer-socials a:hover{transform: translateY(-4px) scale(1.04); filter: saturate(1.08);}

.drawer-panel{box-shadow: -26px 0 64px rgba(5,42,76,.14);}
.drawer-head{position:sticky; top:0; z-index:3; backdrop-filter: blur(18px);}
.drawer-nav a, .drawer-pages a{
  position:relative;
  font-size: clamp(1.05rem, 1.7vw, 1.24rem);
  font-weight:800;
  letter-spacing:-.02em;
  transition: padding-left .35s var(--impact-ease), color .3s ease, background-color .3s ease;
}
.drawer-nav a::after, .drawer-pages a::after{
  content:"→";
  position:absolute;
  right:12px; top:50%; translate:0 -50%;
  opacity:0;
  transform: translateX(-6px);
  transition: opacity .35s ease, transform .35s var(--impact-ease);
}
.drawer-nav a:hover, .drawer-pages a:hover{padding-left: 22px; background: rgba(15,77,129,.04);}
.drawer-nav a:hover::after, .drawer-pages a:hover::after{opacity:1; transform: translateX(0);}

.site-footer{position:relative;}
.site-footer::before{content:""; position:absolute; inset:0; pointer-events:none; background: radial-gradient(circle at 22% 0%, rgba(255,255,255,.07), transparent 28%);}
.footer-grid, .footer-bottom{position:relative; z-index:1;}

.ac-reveal, .ac-stagger-item, .ac-hero-animate{
  opacity:0;
  transform: translateY(34px);
  will-change: transform, opacity;
}
body.ac-impact-ready .ac-reveal.is-in,
body.ac-impact-ready .ac-stagger-item.is-in,
body.ac-impact-ready .ac-hero-animate.is-in{
  opacity:1;
  transform:none;
  transition: opacity .72s var(--impact-ease), transform .72s var(--impact-ease);
}
body.ac-impact-ready .ac-stagger-item{transition-duration:.8s;}

@media (max-width: 1024px){
  .hero-inner{padding-top:118px; padding-bottom:92px;}
  .hero h1{font-size: clamp(3.55rem, 9vw, 5.4rem);}
  .program-card:hover{transform: translateY(-8px) scale(1.008);}
}

@media (max-width: 768px){
  .hero{min-height: 92svh;}
  .hero-inner{align-items:flex-end; padding-top:108px; padding-bottom:88px;}
  .hero h1{font-size: clamp(3.15rem, 13vw, 4.3rem);}
  .hero-scroll-cue{bottom:12px; padding:10px 14px; font-size:.88rem;}
  .voice::before,.program::before,.affiliate::before,.territory::before,.news::before,.social-section::before{opacity:.72;}
  .media-carousel::before, .affiliate-panel::before, .news-layout::before{inset:-4px; filter: blur(18px);}
  .news-feature-copy h3{font-size: clamp(1.7rem, 7vw, 2.35rem);}
  .drawer-nav a, .drawer-pages a{font-size:1rem;}
}

@media (prefers-reduced-motion: reduce){
  .hero-scroll-cue b{animation:none;}
  .media-card, .news-feature, .news-secondary-card, .news-compact-card, .program-card, .map-link, .button, .header-cta, .telegram-cta, .social-link, .drawer-socials a{transition:none !important;}
  .ac-reveal, .ac-stagger-item, .ac-hero-animate{opacity:1; transform:none;}
}

/* v0.9.3 — auditoria responsive: el halo de l’afiliació no amplia 4 px el document en mòbil. */
@media (max-width: 768px) {
  .affiliate-panel::before { inset: 0; }
}

