:root{
  --fc-black:#111111;
  --fc-black-soft:#1a1d21;
  --fc-red:#c21b1b;
  --fc-red-dark:#991313;
  --fc-muted:#6b7280;
  --fc-bg:#ffffff;
  --fc-bg-soft:#f8f9fb;
  --fc-border:#eaecf0;
  --fc-shadow:0 10px 30px rgba(17, 17, 17, 0.08);
}

body.public-site{
  color:var(--fc-black);
  background:var(--fc-bg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body.public-site section{
  position:relative;
}

.ud-header{
  position:sticky;
  top:0;
  z-index:1030;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(17,17,17,0.05);
}

.navbar.site-navbar{
  padding:1rem 0;
}

.navbar.site-navbar .navbar-brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  color:var(--fc-black);
  font-weight:800;
  letter-spacing:-0.02em;
  text-decoration:none;
}

.navbar.site-navbar .navbar-brand img{
  height:46px;
  width:auto;
  object-fit:contain;
}

.navbar.site-navbar .nav-link{
  color:var(--fc-black);
  font-weight:600;
  font-size:.95rem;
  padding:.65rem .85rem;
  transition:all .2s ease;
}

.navbar.site-navbar .nav-link:hover{
  color:var(--fc-red);
}

.navbar.site-navbar .navbar-toggler{
  border:none;
  padding:.35rem;
  box-shadow:none;
}

.toggler-icon{
  display:block;
  width:24px;
  height:2px;
  background:var(--fc-black);
  margin:5px 0;
  border-radius:999px;
}

.navbar-btn .ud-main-btn{
  padding:.8rem 1.25rem;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
}

.ud-main-btn.ud-white-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:.95rem 1.5rem;
  border-radius:999px;
  background:var(--fc-red);
  color:#fff;
  border:1px solid var(--fc-red);
  box-shadow:0 10px 25px rgba(194,27,27,0.18);
  font-weight:700;
  line-height:1;
}

.ud-main-btn.ud-white-btn:hover{
  background:var(--fc-red-dark);
  border-color:var(--fc-red-dark);
  color:#fff;
}

.ud-main-btn.ud-link-btn{
  color:var(--fc-black);
  font-weight:700;
  text-decoration:none;
}

.ud-main-btn.ud-link-btn:hover{
  color:var(--fc-red);
}

.fede-hero{
  /*padding:7rem 0 5rem;*/
  background:
    radial-gradient(circle at top right, rgba(194,27,27,0.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
}

.ud-hero-content{
  max-width:680px;
}

.hero-kicker{
  display:inline-block;
  margin-bottom:1rem;
  padding:.45rem .85rem;
  border-radius:999px;
  background:rgba(194,27,27,0.08);
  color:var(--fc-red);
  font-size:.85rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.ud-hero-title{
  font-size:clamp(2.25rem, 5vw, 4.1rem);
  line-height:1.02;
  letter-spacing:-0.04em;
  font-weight:800;
  color:var(--fc-black);
  margin-bottom:1.2rem;
}

.ud-hero-desc{
  font-size:1.2rem;
  color:var(--fc-black-soft);
  margin-bottom:.8rem;
  font-weight:600;
}

.hero-copy{
  font-size:1.02rem;
  color:var(--fc-muted);
  max-width:620px;
  margin-bottom:1.8rem;
}

.ud-hero-buttons{
  list-style:none;
  display:flex;
  gap:1rem;
  padding:0;
  margin:0 0 1.7rem;
  flex-wrap:wrap;
}

.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.hero-badges span{
  font-size:.9rem;
  color:var(--fc-black-soft);
  background:#fff;
  border:1px solid var(--fc-border);
  padding:.65rem .9rem;
  border-radius:999px;
  box-shadow:0 8px 18px rgba(17,17,17,0.04);
}

.fede-hero-panel{
  display:flex;
  justify-content:center;
}

.hero-panel-card{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:24px;
  padding:2rem;
  box-shadow:var(--fc-shadow);
  width:100%;
  max-width:430px;
}

.hero-panel-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:1rem;
}

.hero-panel-label{
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--fc-red);
  font-weight:800;
}

.hero-panel-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--fc-red);
}

.hero-panel-card h4{
  font-size:1.55rem;
  line-height:1.15;
  margin-bottom:1rem;
  color:var(--fc-black);
  font-weight:800;
}

.hero-panel-card p{
  color:var(--fc-muted);
  margin-bottom:1.25rem;
}

.hero-panel-points{
  display:grid;
  gap:.9rem;
}

.hero-point{
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:.9rem 1rem;
  border-radius:16px;
  background:var(--fc-bg-soft);
}

.hero-point i{
  width:40px;
  height:40px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(194,27,27,0.10);
  color:var(--fc-red);
  font-size:1rem;
}

.hero-point span{
  font-weight:600;
  color:var(--fc-black-soft);
}

.fede-section{
  padding:1rem 0;
}

.fede-section.alt{
  background:var(--fc-bg-soft);
}

.ud-section-title,
.section-title{
  margin-bottom:2rem;
}

.ud-section-title span{
  display:inline-block;
  margin-bottom:.7rem;
  color:var(--fc-red);
  text-transform:uppercase;
  font-weight:800;
  font-size:.82rem;
  letter-spacing:.04em;
}

.ud-section-title h2{
  font-size:clamp(1.8rem, 3vw, 2.8rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  margin-bottom:.85rem;
  color:var(--fc-black);
  font-weight:800;
}

.ud-section-title p{
  max-width:680px;
  color:var(--fc-muted);
  font-size:1rem;
}

.fede-feature-card{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:22px;
  padding:2rem 1.5rem;
  height:100%;
  box-shadow:0 10px 24px rgba(17,17,17,0.05);
  transition:transform .2s ease, box-shadow .2s ease;
}

.fede-feature-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(17,17,17,0.08);
}

.fede-feature-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(194,27,27,0.10);
  color:var(--fc-red);
  font-size:1.25rem;
  margin-bottom:1.1rem;
}

.fede-feature-card h4{
  font-size:1.2rem;
  font-weight:700;
  margin-bottom:.7rem;
  color:var(--fc-black);
}

.fede-feature-card p{
  color:var(--fc-muted);
  margin-bottom:0;
}

.fede-split-card{
  background:#fff;
  border-radius:24px;
  border:1px solid rgba(17,17,17,0.06);
  box-shadow:var(--fc-shadow);
  overflow:hidden;
}

.fede-split-card .content{
  padding:2.2rem;
}

.fede-split-card .eyebrow{
  display:inline-block;
  margin-bottom:.85rem;
  color:var(--fc-red);
  text-transform:uppercase;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
}

.fede-split-card h3{
  font-size:1.9rem;
  font-weight:800;
  line-height:1.1;
  margin-bottom:1rem;
}

.fede-split-card p{
  color:var(--fc-muted);
}

.fede-cta{
  padding:4.5rem 0;
}

.fede-cta-box{
  background:linear-gradient(135deg, #111111 0%, #1c1f24 100%);
  color:#fff;
  border-radius:28px;
  padding:2.5rem;
  box-shadow:0 18px 40px rgba(17,17,17,0.18);
}

.fede-cta-box h3{
  font-size:2rem;
  font-weight:800;
  margin-bottom:.8rem;
}

.fede-cta-box p{
  color:rgba(255,255,255,0.78);
  margin-bottom:0;
}

.fede-cta-actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.5rem;
}

.site-footer{
  background:#0b0c0e;
  color:#fff;
  padding:4rem 0 1.5rem;
  margin-top:0;
}

.site-footer .footer-col h5{
  font-size:1.05rem;
  font-weight:700;
  margin-bottom:1rem;
}

.site-footer .muted{
  color:rgba(255,255,255,0.68);
}

.footer-links li{
  margin-bottom:.6rem;
}

.footer-links a{
  color:rgba(255,255,255,0.9);
  text-decoration:none;
}

.footer-links a:hover{
  color:#fff;
}

.footer-cta{
  margin-top:.75rem;
}

.footer-bottom{
  margin-top:2rem;
  padding-top:1.3rem;
  border-top:1px solid rgba(255,255,255,0.08);
}

.text-accent{
  color:var(--fc-red) !important;
}

@media (max-width: 991.98px){
  .ud-header{
    background:#fff;
  }

  .navbar.site-navbar .navbar-collapse{
    background:#fff;
    border-radius:18px;
    padding:1rem;
    margin-top:1rem;
    box-shadow:0 16px 35px rgba(17,17,17,0.08);
  }

  .navbar-btn{
    margin-top:1rem;
  }

  .fede-hero{
    padding:6rem 0 4rem;
  }

  .fede-hero-panel{
    margin-top:2rem;
  }
}

@media (max-width: 767.98px){
  .ud-hero-title{
    font-size:2.3rem;
  }

  .fede-section{
    padding:3.5rem 0;
  }

  .hero-panel-card,
  .fede-split-card .content,
  .fede-cta-box{
    padding:1.5rem;
  }
}

.about-points{
  display:grid;
  gap:1rem;
}

.about-point{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1rem 1.1rem;
  border:1px solid rgba(17,17,17,0.06);
  background:#fff;
  border-radius:18px;
  box-shadow:0 8px 20px rgba(17,17,17,0.04);
}

.about-point i{
  width:48px;
  height:48px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(194,27,27,0.10);
  color:var(--fc-red);
  font-size:1.1rem;
  flex-shrink:0;
}

.about-point h5{
  margin:0 0 .35rem;
  font-weight:700;
  color:var(--fc-black);
}

.about-point p{
  margin:0;
  color:var(--fc-muted);
}

.mini-stat-list{
  display:grid;
  gap:.9rem;
}

.mini-stat-item{
  padding:.95rem 1rem;
  border-radius:16px;
  background:var(--fc-bg-soft);
  border:1px solid rgba(17,17,17,0.05);
}

.mini-stat-item strong{
  display:block;
  font-size:1rem;
  color:var(--fc-black);
  margin-bottom:.25rem;
}

.mini-stat-item span{
  color:var(--fc-muted);
  font-size:.95rem;
}

.quick-link-card{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:22px;
  padding:1.7rem;
  height:100%;
  box-shadow:0 10px 24px rgba(17,17,17,0.05);
  transition:transform .2s ease, box-shadow .2s ease;
}

.quick-link-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(17,17,17,0.08);
}

.quick-link-card h4{
  font-size:1.25rem;
  font-weight:800;
  margin-bottom:.75rem;
  color:var(--fc-black);
}

.quick-link-card p{
  color:var(--fc-muted);
  margin-bottom:1rem;
}

.quick-link-action{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:var(--fc-red);
  font-weight:700;
  text-decoration:none;
}

.quick-link-action:hover{
  color:var(--fc-red-dark);
}

.highlight-card{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:22px;
  padding:1.8rem;
  height:100%;
  box-shadow:0 10px 24px rgba(17,17,17,0.05);
}

.highlight-tag{
  display:inline-block;
  margin-bottom:.8rem;
  padding:.4rem .75rem;
  border-radius:999px;
  background:rgba(194,27,27,0.10);
  color:var(--fc-red);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.highlight-card h4{
  font-size:1.3rem;
  font-weight:800;
  margin-bottom:.8rem;
}

.highlight-card p{
  color:var(--fc-muted);
  margin-bottom:1rem;
}

.ud-main-btn,
.ud-main-btn:hover,
.ud-main-btn:focus,
.ud-main-btn:active {
  text-decoration: none !important;
}

.fede-btn-secondary,
.fede-btn-secondary:hover,
.fede-btn-secondary:focus,
.fede-btn-secondary:active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 1.4rem;
  border-radius: 999px;
  border: 1px solid rgba(17, 17, 17, 0.12);
  background: #fff;
  color: var(--fc-black);
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.fede-btn-secondary:hover {
  border-color: var(--fc-red);
  color: var(--fc-red);
  box-shadow: 0 10px 24px rgba(17, 17, 17, 0.06);
}

.fede-btn-link,
.fede-btn-link:hover,
.fede-btn-link:focus,
.fede-btn-link:active {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--fc-black);
  font-weight: 700;
  text-decoration: none !important;
}

.fede-btn-link:hover {
  color: var(--fc-red);
}

.fede-cta-box .ud-main-btn,
.site-footer .ud-main-btn,
.site-footer .footer-cta,
.fede-cta-actions .ud-main-btn {
  text-decoration:none !important;
  min-height:50px;
  padding:.9rem 1.35rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}

.site-footer a,
.site-footer a:hover,
.site-footer a:focus {
  text-decoration: none;
}

.fede-cta-box .fede-btn-link,
.fede-cta-box .fede-btn-link:hover,
.fede-cta-box .fede-btn-link:focus {
  color: #fff;
  text-decoration: none !important;
}

.fede-page-hero{
  padding:5.5rem 0 2.5rem;
  background:
    radial-gradient(circle at top left, rgba(194,27,27,0.06), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
}

.fede-page-hero-box{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:28px;
  padding:2.4rem;
  box-shadow:0 14px 34px rgba(17,17,17,0.06);
}

.fede-page-hero-box.hero-with-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
}

.fede-page-hero-box h1{
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:1.04;
  letter-spacing:-0.04em;
  font-weight:800;
  color:var(--fc-black);
  margin:0 0 .8rem;
}

.fede-page-hero-box p{
  max-width:760px;
  color:var(--fc-muted);
  margin:0;
  font-size:1.03rem;
}

.hero-action{
  flex-shrink:0;
}

.fede-content-shell{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:24px;
  padding:2rem;
  box-shadow:0 12px 30px rgba(17,17,17,0.05);
}

.fede-rich-content{
  color:var(--fc-black-soft);
}

.fede-rich-content h2,
.fede-rich-content h3,
.fede-rich-content h4{
  color:var(--fc-black);
  font-weight:800;
  margin-top:1.8rem;
  margin-bottom:.9rem;
  letter-spacing:-0.02em;
}

.fede-rich-content h2:first-child,
.fede-rich-content h3:first-child{
  margin-top:0;
}

.fede-rich-content p,
.fede-rich-content li{
  color:var(--fc-black-soft);
  line-height:1.85;
}

.fede-rich-content ul,
.fede-rich-content ol{
  padding-left:1.2rem;
}

.fede-side-card{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:24px;
  padding:1.8rem;
  box-shadow:0 12px 30px rgba(17,17,17,0.05);
}

.fede-side-card.subtle{
  background:var(--fc-bg-soft);
}

.fede-side-card h4{
  font-size:1.5rem;
  line-height:1.15;
  font-weight:800;
  margin-bottom:.9rem;
}

.fede-side-card p,
.fede-side-card li{
  color:var(--fc-muted);
}

.fede-note-box{
  margin-top:1.5rem;
  padding:1rem 1.1rem;
  border-radius:18px;
  background:rgba(194,27,27,0.08);
  border:1px solid rgba(194,27,27,0.14);
  color:var(--fc-black-soft);
}

.process-list{
  margin:0;
  padding-left:1.2rem;
}

.contact-card{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:22px;
  padding:1.6rem;
  box-shadow:0 10px 24px rgba(17,17,17,0.05);
  height:100%;
}

.contact-card h4{
  font-size:1.2rem;
  font-weight:800;
  margin:.85rem 0 .7rem;
}

.contact-card p,
.contact-card a{
  color:var(--fc-black-soft);
}

.fede-listing-card{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(17,17,17,0.06);
  height:100%;
}

.listing-media{
  height:240px;
  overflow:hidden;
  background:var(--fc-bg-soft);
}

.listing-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.listing-content{
  padding:1.6rem;
}

.listing-tag{
  display:inline-block;
  margin-bottom:.85rem;
  padding:.4rem .75rem;
  border-radius:999px;
  background:rgba(194,27,27,0.10);
  color:var(--fc-red);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.listing-content h3{
  font-size:1.4rem;
  line-height:1.15;
  font-weight:800;
  margin-bottom:.85rem;
}

.listing-content p{
  color:var(--fc-muted);
  margin-bottom:1rem;
}

.empty-state-box{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:24px;
  padding:2.3rem;
  box-shadow:0 12px 30px rgba(17,17,17,0.05);
  text-align:center;
}

.empty-state-box h3{
  font-size:1.7rem;
  font-weight:800;
  margin-bottom:.9rem;
}

.empty-state-box p{
  color:var(--fc-muted);
  max-width:680px;
  margin:0 auto 1.4rem;
}

.fede-detail-shell{
  background:#fff;
  border:1px solid rgba(17,17,17,0.06);
  border-radius:24px;
  padding:2rem;
  box-shadow:0 12px 30px rgba(17,17,17,0.05);
}

.detail-media{
  border-radius:20px;
  overflow:hidden;
  background:var(--fc-bg-soft);
}

.detail-media img{
  width:100%;
  display:block;
}

.fede-disabled-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.9rem 1.3rem;
  border-radius:999px;
  background:#f2f4f7;
  border:1px solid #e5e7eb;
  color:#98a2b3;
  font-weight:700;
}

.fede-cta-box{
  position:relative;
  overflow:hidden;
}

.fede-cta-box::before{
  content:"";
  position:absolute;
  top:-30%;
  right:-10%;
  width:260px;
  height:260px;
  background:radial-gradient(circle, rgba(194,27,27,0.18) 0%, rgba(194,27,27,0.02) 55%, transparent 72%);
  pointer-events:none;
}

.fede-cta-box .row{
  position:relative;
  z-index:1;
}

.fede-cta-actions{
  display:flex;
  gap:.9rem;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:center;
}

.fede-cta-actions .ud-main-btn,
.fede-cta-actions .fede-btn-secondary,
.fede-cta-actions .fede-btn-link{
  min-width:220px;
}

.fede-cta-box .fede-btn-secondary,
.fede-cta-box .fede-btn-secondary:hover,
.fede-cta-box .fede-btn-secondary:focus{
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;
  text-decoration:none !important;
  backdrop-filter:blur(4px);
}

.fede-cta-box .fede-btn-secondary:hover{
  background:rgba(255,255,255,0.14);
  border-color:rgba(255,255,255,0.28);
  color:#fff;
}

.site-footer .footer-col{
  height:100%;
}

.site-footer .footer-col p,
.site-footer .footer-col li,
.site-footer .footer-col a{
  font-size:1rem;
  line-height:1.75;
}

.site-footer .footer-cta{
  margin-top:1rem;
  min-width:160px;
}

.site-footer .footer-col:last-child .ud-main-btn{
  box-shadow:0 10px 25px rgba(194,27,27,0.18);
}

.fede-side-card .ud-main-btn,
.fede-side-card .fede-btn-secondary{
  margin-top:.75rem;
}

.fede-feature-card{
  position:relative;
}

.fede-feature-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  border-radius:22px 22px 0 0;
  background:linear-gradient(90deg, rgba(194,27,27,0.95) 0%, rgba(17,17,17,0.85) 100%);
  opacity:.08;
  transition:opacity .2s ease;
}

.fede-feature-card:hover::before{
  opacity:.9;
}

.quick-link-card{
  position:relative;
}

.quick-link-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  border-radius:22px 22px 0 0;
  background:linear-gradient(90deg, rgba(194,27,27,0.95) 0%, rgba(17,17,17,0.85) 100%);
  opacity:.08;
  transition:opacity .2s ease;
}

.quick-link-card:hover::before{
  opacity:.9;
}

@media (min-width: 992px){
  .fede-cta-actions{
    justify-content:flex-end;
  }
}

@media (max-width: 991.98px){
  .fede-cta-actions .ud-main-btn,
  .fede-cta-actions .fede-btn-secondary,
  .fede-cta-actions .fede-btn-link{
    min-width:auto;
    width:100%;
  }
}

.fede-listing-card--program .listing-tag,
.fede-listing-card--alliance .listing-tag{
  margin-bottom:1rem;
}

.fede-listing-card .listing-actions{
  margin-top:1.1rem;
  padding-top:1rem;
  border-top:1px solid rgba(17,17,17,0.06);
}

.fede-listing-card .listing-content h3{
  letter-spacing:-0.02em;
}

.fede-listing-card--program:hover,
.fede-listing-card--alliance:hover{
  transform:translateY(-4px);
  transition:transform .2s ease, box-shadow .2s ease;
  box-shadow:0 18px 34px rgba(17,17,17,0.09);
}

.fede-detail-shell .ud-main-btn{
  margin-top:.5rem;
}

.fede-detail-shell + .fede-side-card,
.fede-side-card + .fede-side-card{
  transition:transform .2s ease, box-shadow .2s ease;
}

.fede-side-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 32px rgba(17,17,17,0.08);
}

/* =========================
   VIDEO SHOWCASE
========================= */

.fede-video-showcase-section{
  padding-top: 0.5rem;
  padding-bottom: 1.5rem;
}

.fede-video-showcase{
  position: relative;
}

.fede-video-card{
  height: 100%;
  overflow: hidden;
  border-radius: 24px;
}

.fede-video-trigger{
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  text-align: left;
  box-shadow: 0 16px 34px rgba(17,17,17,0.08);
  border: 1px solid rgba(17,17,17,0.06);
  transition: transform .2s ease, box-shadow .2s ease;
}

.fede-video-trigger:hover{
  transform: translateY(-4px);
  box-shadow: 0 22px 42px rgba(17,17,17,0.12);
}

.fede-video-media{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 320px;
  min-height: 220px;
  background: #0f1115;
  overflow: hidden;
}

.fede-video-media img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.fede-video-fallback{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #111111 0%, #232831 100%);
  color: rgba(255,255,255,0.78);
  font-size: 3rem;
}

.fede-video-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,10,12,0.10) 0%, rgba(10,10,12,0.42) 100%);
}

.fede-video-play{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 74px;
  height: 74px;
  border-radius: 999px;
  background: rgba(255,255,255,0.16);
  border: 1px solid rgba(255,255,255,0.25);
  backdrop-filter: blur(6px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.5rem;
  transition: transform .2s ease, background .2s ease;
}

.fede-video-trigger:hover .fede-video-play{
  transform: translate(-50%, -50%) scale(1.06);
  background: rgba(194,27,27,0.92);
}

.fede-video-body{
  padding: 1.4rem 1.35rem 1.5rem;
}

.fede-video-body h3{
  font-size: 1.35rem;
  line-height: 1.15;
  font-weight: 800;
  margin-bottom: 0.7rem;
  color: var(--fc-black);
}

.fede-video-body p{
  color: var(--fc-muted);
  margin-bottom: 0.9rem;
}

.fede-video-link{
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 700;
  color: var(--fc-red);
}

.fede-video-modal-content{
  background: #0b0c0f;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 22px;
  overflow: hidden;
}

.fede-video-modal-header{
  border-bottom: 1px solid rgba(255,255,255,0.08);
  color: #fff;
  padding: 1rem 1.2rem;
}

.fede-video-modal-body{
  padding: 0;
  background: #000;
}

.fede-modal-video{
  display: block;
  width: 100%;
  max-height: 78vh;
  background: #000;
}

@media (max-width: 991.98px){
  .fede-video-media{
    max-height: 280px;
    min-height: 200px;
  }
}

@media (max-width: 767.98px){
  .fede-video-showcase-section{
    padding-top: 0.25rem;
    padding-bottom: 1rem;
  }

  .fede-video-media{
    aspect-ratio: 16 / 10;
    max-height: 240px;
    min-height: 180px;
  }

  .fede-video-play{
    width: 64px;
    height: 64px;
    font-size: 1.25rem;
  }

  .fede-video-body{
    padding: 1.1rem 1rem 1.2rem;
  }

  .fede-video-body h3{
    font-size: 1.15rem;
  }
}

/* =========================
   HERO DOWNLOAD BUTTON
========================= */

.hero-download-btn{
  min-height: 52px;
  white-space: nowrap;
}

.hero-download-btn i{
  font-size: 1rem;
}

@media (max-width: 991.98px){
  .fede-video-media{
    height: 260px;
  }
}

@media (max-width: 767.98px){
  .fede-video-showcase-section{
    padding-top: 0.25rem;
    padding-bottom: 1rem;
  }

  .fede-video-media{
    height: 220px;
  }

  .fede-video-play{
    width: 64px;
    height: 64px;
    font-size: 1.25rem;
  }

  .fede-video-body{
    padding: 1.1rem 1rem 1.2rem;
  }

  .fede-video-body h3{
    font-size: 1.15rem;
  }

  .hero-download-btn{
    width: 100%;
    justify-content: center;
  }
}