
    * { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --bg: #211f1d;
      --surface: #2b2825;
      --surface-2: #34302c;
      --text: #f2eee8;
      --muted: #c8beb5;
      --soft: #9d9289;
      --line: rgba(255, 255, 255, .13);
      --red: #c84438;
      --red-2: #e35b4d;
      --gold: #d2ad6b;
      --steel: #9cafb6;
      --shadow: 0 18px 44px rgba(0, 0, 0, .28);
      --display: "Bebas Neue", "Segoe UI", Arial, sans-serif;
      --body: "Inter", "Segoe UI", Arial, sans-serif;
    }
    html { scroll-behavior: smooth; }
    body {
      background: var(--bg);
      color: var(--text);
      font-family: var(--body);
      line-height: 1.6;
      overflow-x: hidden;
    }
    a { color: inherit; }
    img { max-width: 100%; display: block; }
    .skip { position: absolute; left: -999px; top: 12px; background: #fff; color: #000; padding: 10px 12px; z-index: 99; }
    .skip:focus { left: 12px; }
    .topbar {
      position: fixed;
      inset: 0 0 auto;
      z-index: 20;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      min-height: 76px;
      padding: 18px 48px;
      background: linear-gradient(to bottom, rgba(0,0,0,.85) 0%, transparent 100%);
      border-bottom: 0;
      backdrop-filter: none;
    }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      text-transform: uppercase;
      font-family: var(--display);
      font-size: 1.6rem;
      letter-spacing: .1em;
      white-space: nowrap;
    }
    .brand-logo {
      width: 54px;
      height: 54px;
      object-fit: contain;
      flex: 0 0 54px;
      filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .35));
    }
    .brand-text {
      display: inline-flex;
      align-items: baseline;
      gap: 9px;
    }
    .brand strong { color: var(--red); font-weight: 400; }
    .brand small {
      color: rgba(255,255,255,.62);
      font-family: var(--body);
      font-size: .68rem;
      font-weight: 800;
      letter-spacing: .16em;
    }
    .nav { display: flex; align-items: center; gap: 36px; }
    .nav a {
      color: rgba(255,255,255,.58);
      font-size: .82rem;
      font-weight: 600;
      letter-spacing: .12em;
      text-decoration: none;
      text-transform: uppercase;
    }
    .nav a:hover { color: #fff; }
    .nav .nav-call {
      min-width: 132px;
      padding: 10px 24px;
      text-align: center;
      background: var(--red);
      color: #fff;
      border-radius: 0;
      font-size: .8rem;
      font-weight: 700;
      letter-spacing: .12em;
    }
    .menu-toggle { display: none; }
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
    .menu-icon {
      width: 20px;
      height: 14px;
      display: grid;
      gap: 4px;
    }
    .menu-icon span {
      display: block;
      height: 2px;
      background: #fff;
    }
    .hero {
      position: relative;
      height: 100vh;
      min-height: 600px;
      display: grid;
      align-items: center;
      padding: 110px 24px 64px;
      isolation: isolate;
      overflow: hidden;
    }
    .hero-media {
      position: absolute;
      inset: 0;
      z-index: -3;
      overflow: hidden;
    }
    .hero-slide {
      position: absolute;
      inset: -2%;
      opacity: 0;
      transform: scale(1.04);
      transition: opacity 1100ms ease, transform 5200ms ease;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat;
      filter: saturate(.88) contrast(1.04) brightness(.78);
      will-change: opacity, transform;
    }
    .hero-slide.is-visible {
      opacity: 1;
      transform: scale(1);
    }
    .hero-overlay {
      position: absolute;
      inset: 0;
      z-index: -2;
      background:
        radial-gradient(circle at 50% 38%, rgba(255,222,158,.12), transparent 28%),
        linear-gradient(to bottom, rgba(0,0,0,.22) 0%, rgba(0,0,0,.58) 56%, rgba(13,13,13,.96) 100%);
      pointer-events: none;
    }
    .hero-overlay::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image: repeating-linear-gradient(
        -45deg,
        transparent 0px,
        transparent 3px,
        rgba(192,57,43,.04) 3px,
        rgba(192,57,43,.04) 4px
      );
      pointer-events: none;
    }
    .hero-inner { width: min(980px, 100%); margin: 0 auto; text-align: center; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 32px;
      padding: 6px 20px;
      color: var(--red);
      border: 1px solid var(--red);
      background: transparent;
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .3em;
      text-transform: uppercase;
    }
    h1, h2, h3 { font-family: var(--display); font-weight: 800; letter-spacing: 0; }
    h1 {
      max-width: 1050px;
      margin: 32px auto 0;
      color: #f4f0ec;
      font-size: clamp(4rem, 12vw, 9rem);
      line-height: .95;
      letter-spacing: .02em;
      text-transform: uppercase;
      text-shadow: none;
    }
    h1 span { display: block; color: var(--red); }
    .subtitle {
      max-width: 760px;
      color: rgba(255,255,255,.72);
      font-size: clamp(.95rem, 2vw, 1.15rem);
      font-weight: 300;
      line-height: 1.7;
      max-width: 560px;
      margin: 28px auto 0;
    }
    .actions { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 44px; }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 58px;
      padding: 16px 40px;
      color: #fff;
      background: var(--red);
      border: 2px solid var(--red);
      text-decoration: none;
      font-size: .85rem;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase;
      border-radius: 0;
    }
    .btn:hover { background: var(--red-2); border-color: var(--red-2); }
    .btn.alt { color: #fff; background: transparent; border-color: rgba(240,236,236,.3); }
    .btn.alt:hover { color: #fff; background: var(--red); border-color: var(--red); }
    .scroll-cue {
      display: inline-grid;
      gap: 8px;
      justify-items: center;
      position: absolute;
      left: 50%;
      bottom: 36px;
      transform: translateX(-50%);
      margin-top: 0;
      color: rgba(255,255,255,.46);
      font-size: .7rem;
      font-weight: 900;
      letter-spacing: .28em;
      text-transform: uppercase;
    }
    .scroll-cue::after {
      content: "";
      width: 1px;
      height: 25px;
      background: var(--red);
      opacity: .65;
    }
    .hero-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      background: #292623;
    }
    .metric {
      min-height: 96px;
      padding: 18px 16px;
      display: grid;
      align-content: center;
      text-align: center;
      border-right: 1px solid var(--line);
    }
    .metric:last-child { border-right: 0; }
    .metric strong {
      color: var(--red);
      font-family: var(--display);
      font-size: clamp(2.1rem, 4vw, 3.35rem);
      line-height: 1;
    }
    .metric span {
      color: var(--soft);
      font-size: .72rem;
      font-weight: 900;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    section { padding: 76px clamp(20px, 5vw, 70px); }
    .container { width: min(1180px, 100%); margin: 0 auto; }
    .section-head { max-width: 790px; margin: 0 auto 34px; text-align: center; }
    .tag {
      display: block;
      color: var(--red);
      font-size: .72rem;
      font-weight: 900;
      letter-spacing: .24em;
      text-transform: uppercase;
      margin-bottom: 12px;
    }
    h2 {
      font-size: clamp(2.05rem, 4.7vw, 4.1rem);
      line-height: 1.02;
      letter-spacing: 0;
      margin-bottom: 18px;
    }
    .lead { color: var(--muted); font-size: 1.02rem; max-width: 780px; }
    .split {
      display: grid;
      grid-template-columns: 1fr .92fr;
      gap: clamp(28px, 5vw, 58px);
      align-items: center;
    }
    .feature-copy p { color: var(--muted); margin: 0 0 16px; }
    .feature-copy { text-align: center; }
    .rule { width: 62px; height: 4px; background: var(--red); margin: 19px auto 26px; }
    .photo-panel {
      min-height: 430px;
      background: #272421;
      border: 1px solid var(--line);
      box-shadow: var(--shadow);
      overflow: hidden;
    }
    .photo-panel img { width: 100%; height: 100%; object-fit: cover; }
    .tiles {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      margin-top: 34px;
    }
    .tile {
      min-height: 158px;
      padding: 23px;
      background: var(--surface);
      border: 1px solid var(--line);
      border-left: 4px solid var(--red);
      text-align: center;
    }
    .tile h3 { font-size: 1.55rem; line-height: 1; margin-bottom: 10px; }
    .tile p { color: var(--muted); font-size: .93rem; }
    .programs { background: #26231f; }
    .card-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }
    .card {
      background: var(--surface);
      border: 1px solid var(--line);
      overflow: hidden;
      box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
    }
    .card img { width: 100%; height: 210px; object-fit: cover; }
    .card-body { padding: 24px; }
    .card-body { text-align: center; }
    .card h3 { color: var(--text); font-size: 1.65rem; line-height: 1.08; margin-bottom: 10px; }
    .card p { color: var(--muted); font-size: .94rem; }
    .wide-band {
      background:
        linear-gradient(90deg, rgba(33,31,29,.93), rgba(33,31,29,.82)),
        none center / cover no-repeat;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .band-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 22px;
      align-items: start;
      text-align: center;
    }
    .band-list {
      list-style: none;
      display: grid;
      gap: 10px;
    }
    .band-list li {
      min-height: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 12px 15px;
      color: var(--text);
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.12);
    }
    .director { background: linear-gradient(135deg, #24211f, #302c28); }
    .director-grid {
      display: grid;
      grid-template-columns: minmax(260px, 420px) 1fr;
      gap: clamp(28px, 5vw, 58px);
      align-items: start;
    }
    .director-photo {
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: visible;
      position: sticky;
      top: 96px;
      background: transparent;
      border: 0;
      box-shadow: none;
    }
    .director-photo img {
      width: min(92%, 390px);
      height: auto;
      object-fit: contain;
      filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .38));
      display: block;
    }
    .name {
      font-family: var(--display);
      font-size: clamp(3rem, 7vw, 5.4rem);
      line-height: .9;
      text-transform: none;
    }
    .name span { display: block; color: var(--red-2); }
    .role { color: var(--muted); margin: 15px 0 24px; max-width: 760px; }
    .qual-title {
      display: inline-flex;
      min-height: 34px;
      align-items: center;
      padding: 8px 13px;
      background: var(--red);
      color: #fff;
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .qualifiche {
      list-style: none;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 9px 12px;
      margin-top: 18px;
    }
    .qualifiche li {
      min-height: 44px;
      padding: 10px 12px 10px 34px;
      position: relative;
      color: var(--text);
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.1);
      font-size: .86rem;
      line-height: 1.35;
    }
    .qualifiche li::before {
      content: "";
      position: absolute;
      left: 13px;
      top: 15px;
      width: 9px;
      height: 9px;
      background: var(--red-2);
    }
    .instructors {
      background: linear-gradient(180deg, #1f1c19, #181513);
    }
    .instructor-list {
      display: grid;
      gap: 18px;
      margin-top: 34px;
    }
    .instructor-card {
      display: grid;
      grid-template-columns: minmax(230px, 290px) 1fr;
      background: rgba(255,255,255,.04);
      border: 1px solid var(--line);
      box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
      overflow: hidden;
    }
    .instructor-photo {
      background: #171412;
    }
    .instructor-photo img {
      width: 100%;
      height: 100%;
      min-height: 320px;
      object-fit: cover;
      object-position: center top;
      display: block;
    }
    .instructor-body {
      padding: 28px 28px 24px;
      text-align: left;
    }
    .instructor-role {
      color: var(--gold);
      font-size: .72rem;
      font-weight: 900;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .instructor-name {
      margin-top: 8px;
      font-family: var(--display);
      font-size: clamp(2rem, 4vw, 3rem);
      line-height: .94;
      text-transform: uppercase;
      letter-spacing: .02em;
    }
    .instructor-name span { color: var(--red); }
    .instructor-copy {
      margin-top: 12px;
      color: var(--muted);
      max-width: 760px;
    }
    .instructor-credentials {
      list-style: none;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px 12px;
      margin-top: 18px;
    }
    .instructor-credentials li {
      min-height: 44px;
      padding: 10px 12px 10px 34px;
      position: relative;
      color: var(--text);
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.08);
      font-size: .86rem;
      line-height: 1.35;
    }
    .instructor-credentials li::before {
      content: "";
      position: absolute;
      left: 13px;
      top: 15px;
      width: 8px;
      height: 8px;
      background: var(--red);
    }
    .locations { background: #211f1d; }
    .location-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      margin-top: 34px;
    }
    .location {
      min-height: 158px;
      padding: 24px;
      background: #2d2926;
      border: 1px solid var(--line);
      text-align: center;
    }
    .location strong {
      display: block;
      color: var(--gold);
      font-size: .72rem;
      font-weight: 900;
      letter-spacing: .16em;
      text-transform: uppercase;
      margin-bottom: 10px;
    }
    .location h3 { font-size: 1.85rem; line-height: 1; margin-bottom: 9px; }
    .location h3 a { color: var(--text); text-decoration: none; }
    .location h3 a:hover { color: var(--gold); }
    .location p { color: var(--muted); font-size: .92rem; }
    .testimonials {
      background: linear-gradient(180deg, #262220 0%, #211f1d 100%);
    }
    .testimonial-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 34px;
    }
    .testimonial-card {
      min-height: 100%;
      padding: 26px 24px;
      background: #2d2926;
      border: 1px solid var(--line);
      box-shadow: var(--shadow);
    }
    .testimonial-card strong {
      display: inline-block;
      margin-bottom: 14px;
      color: var(--gold);
      font-size: .72rem;
      font-weight: 900;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .testimonial-card p {
      color: var(--text);
      font-size: 1rem;
      line-height: 1.7;
    }
    .faq-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-top: 32px;
    }
    details {
      background: var(--surface);
      border: 1px solid var(--line);
      padding: 18px 20px;
      text-align: center;
    }
    summary {
      cursor: pointer;
      color: var(--text);
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    details p { color: var(--muted); margin-top: 12px; }
    .cta {
      text-align: center;
      background:
        linear-gradient(180deg, rgba(183,51,45,.96), rgba(139,39,35,.98));
    }
    .cta .container { max-width: 900px; }
    .cta .tag { color: rgba(255,255,255,.74); }
    .cta p { color: rgba(255,255,255,.88); margin: 0 auto 27px; max-width: 720px; }
    .cta .btn { background: #fff; color: var(--red); border-color: #fff; }
    .cta .btn.alt { color: #fff; background: transparent; border-color: rgba(255,255,255,.62); }
    .contact-row {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 14px 22px;
      margin-top: 24px;
    }
    .contact-row a {
      color: #fff;
      font-weight: 900;
      text-decoration: none;
    }
    footer {
      padding: 44px clamp(20px, 5vw, 70px);
      background: #191614;
      border-top: 1px solid var(--line);
    }
    .footer-grid {
      width: min(1180px, 100%);
      display: grid;
      grid-template-columns: 1.7fr 1fr 1.25fr 1.15fr;
      gap: 32px;
      margin: auto;
    }
    footer h3, footer h4 { font-family: var(--display); text-transform: none; letter-spacing: 0; }
    footer h3 { font-size: 1.85rem; line-height: 1; }
    footer h3 span { color: var(--red-2); }
    footer h4 { color: var(--red-2); font-size: 1.2rem; margin-bottom: 10px; }
    footer p, footer li { color: #b8afa8; font-size: .9rem; margin: 6px 0; }
    footer ul { list-style: none; }
    footer a { color: #d7d0cc; text-decoration: none; }
    footer a:hover { color: #fff; }
    .copyright {
      width: min(1180px, 100%);
      margin: 26px auto 0;
      padding-top: 19px;
      border-top: 1px solid rgba(255,255,255,.08);
      color: #9b928a;
      font-size: .78rem;
    }
    @media (max-width: 1160px) {
      .topbar { padding: 16px 24px; }
      .menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        color: #fff;
        background: rgba(255,255,255,.06);
        border: 1px solid var(--line);
        font-size: 1.35rem;
      }
      .nav {
        position: absolute;
        left: 0;
        right: 0;
        top: 72px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px 18px 18px;
        background: #0d0d0d;
        border-bottom: 1px solid var(--line);
      }
      .nav.open { display: flex; }
      .nav a { padding: 14px 6px; border-bottom: 1px solid rgba(255,255,255,.08); }
      .nav .nav-call { margin-top: 10px; border-bottom: 0; }
      .hero { min-height: 600px; }
      .hero-strip, .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .split, .band-grid, .director-grid, .footer-grid, .instructor-card, .testimonial-grid { grid-template-columns: 1fr; }
      .director-photo { position: relative; top: auto; }
      .card-grid, .location-grid { grid-template-columns: 1fr; }
      .faq-grid, .instructor-credentials { grid-template-columns: 1fr; }
    }
    @media (max-width: 560px) {
      .topbar {
        min-height: 68px;
        padding: 14px 16px;
        gap: 12px;
      }
      .brand {
        gap: 10px;
        font-size: 1.15rem;
        letter-spacing: .06em;
      }
      .brand-logo {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
      }
      .brand-text {
        gap: 6px;
        flex-wrap: wrap;
      }
      .brand small { display: none; }
      .nav { top: 68px; padding: 8px 14px 16px; }
      .hero {
        min-height: 540px;
        padding: 96px 16px 48px;
      }
      .hero-inner { width: 100%; }
      .eyebrow {
        width: min(100%, 320px);
        min-height: 0;
        padding: 8px 12px;
        font-size: .6rem;
        letter-spacing: .18em;
        line-height: 1.35;
      }
      h1 {
        margin-top: 22px;
        font-size: clamp(3rem, 16vw, 4.2rem);
        line-height: .94;
      }
      .subtitle {
        max-width: 100%;
        margin-top: 20px;
        font-size: .98rem;
        line-height: 1.55;
      }
      .actions {
        gap: 12px;
        margin-top: 28px;
      }
      .btn {
        min-height: 52px;
        padding: 14px 20px;
        font-size: .76rem;
        letter-spacing: .11em;
      }
      .actions .btn { width: 100%; }
      .scroll-cue { display: none; }
      .hero-strip, .tiles, .qualifiche { grid-template-columns: 1fr; }
      .metric { border-right: 0; border-bottom: 1px solid var(--line); }
      .metric:last-child { border-bottom: 0; }
      section { padding-top: 56px; padding-bottom: 56px; }
      .photo-panel { min-height: 300px; }
    }
    @media (max-width: 400px) {
      h1 { font-size: 2.7rem; }
      .subtitle { font-size: .92rem; }
      .brand { font-size: 1.02rem; }
      .brand-logo {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
      }
    }

    /* Fixed rotating photographic background: visual-only enhancement, SEO content unchanged */
    body{position:relative;isolation:isolate;background:#120f0d}
    body::before{content:none!important}
    body::after{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(rgba(8,8,8,.22),rgba(8,8,8,.38)),radial-gradient(circle at 50% 18%,rgba(200,68,56,.08),transparent 42%);pointer-events:none}
    .fixed-carousel-bg{position:fixed;inset:0;z-index:-3;overflow:hidden;pointer-events:none}
    .fixed-bg-slide{position:absolute;inset:-2%;opacity:0;transform:scale(1.04);transition:opacity 1100ms ease,transform 5200ms ease;background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.88) contrast(1.04) brightness(.78);will-change:opacity,transform}
    .fixed-bg-slide.is-visible{opacity:1;transform:scale(1)}
    #metodo,.programs,.wide-band,.director,.instructors,.locations,.testimonials,#faq{background:rgba(24,21,19,.32)!important;backdrop-filter:blur(.4px)}
    .hero-strip{background:rgba(30,27,24,.48)!important}
    .tile,.card,.location,.testimonial-card,details,.instructor-card{background:rgba(43,40,37,.48)!important;backdrop-filter:blur(.8px);border-color:rgba(255,255,255,.18)!important}
    .photo-panel{background:rgba(39,36,33,.16)!important;border-color:rgba(255,255,255,.16)!important;box-shadow:0 10px 28px rgba(0,0,0,.14)!important}
    footer{background:rgba(18,15,13,.68)!important}
    @media(max-width:780px){body::before{background-position:center center}}

    

html{scroll-behavior:auto!important}
.topbar .brand-logo{width:76px!important;height:76px!important;object-fit:contain!important;border:0!important;border-radius:50%!important;box-shadow:none!important;background:transparent!important}
.topbar .fenalc-head-logo{width:65px;height:65px;object-fit:contain;flex:none}
@media(max-width:1100px){.topbar .brand-logo{width:57px!important;height:57px!important}.topbar .fenalc-head-logo{width:44px;height:44px}}

header nav a[aria-current="page"],header nav a.ifa-current-page{color:#f2cb7c!important;border-bottom:2px solid #e0b66d!important;text-decoration:none!important;opacity:1!important;font-weight:800!important}header nav a[aria-current="page"]::after{opacity:1!important}

/* Fixed primary identity and working mobile navigation. Academy subnav stays below primary bar. */
:root{--ifa-primary-header-height:76px}
.topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:3000!important;background:rgba(12,17,22,.97)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border-bottom:1px solid rgba(210,176,111,.28)!important}
.topbar .nav.open{z-index:3100!important}
body{padding-top:var(--ifa-primary-header-height)}
.ifa-academy-section-nav{top:var(--ifa-primary-header-height)!important;z-index:1100!important}
.ifa-landing section[id],#ifa-accademia{scroll-margin-top:calc(var(--ifa-primary-header-height) + 94px)!important}
@media(max-width:767px){
:root{--ifa-primary-header-height:78px}
.topbar{min-height:78px!important;padding:9px 12px!important;gap:7px!important;box-sizing:border-box!important}
.topbar .brand{min-width:0!important;flex:1 1 auto!important;gap:6px!important}
.topbar .brand-text{font-size:clamp(12px,3.5vw,16px)!important;line-height:1.1!important;min-width:0!important}
.topbar .brand-text small{font-size:10px!important}
.topbar .ifa-header-logo{width:43px!important;height:43px!important;flex-shrink:0!important}
.topbar .fenalc-header-logo{width:40px!important;height:40px!important;margin:0 3px!important;flex-shrink:0!important}
.topbar .menu-toggle{display:inline-flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:3200!important;flex:0 0 42px!important;width:42px!important;height:42px!important;padding:7px!important}
.topbar .nav{position:absolute!important;top:100%!important;left:0!important;right:0!important;z-index:3100!important;max-height:calc(100dvh - 78px)!important;overflow-y:auto!important;background:#101820!important}
.topbar .nav.open{display:flex!important;visibility:visible!important;opacity:1!important}
.ifa-academy-section-nav{top:78px!important}
.ifa-landing section[id],#ifa-accademia{scroll-margin-top:190px!important}
}


.topbar .brand>a{color:inherit;text-decoration:none}.topbar .ifa-home-identity,.topbar .ifa-antiterrorismo-header-link{display:inline-flex;align-items:center;flex:0 0 auto;line-height:0}.topbar .ifa-brand-label{min-width:0}.topbar .ifa-antiterrorismo-header-link:focus-visible{outline:2px solid #f2cb7c;outline-offset:4px}
.topbar:not(:has(.menu-toggle)){flex-wrap:wrap!important}
.topbar .ifa-antiterrorismo-header-logo{width:118px!important;height:72px!important;object-fit:contain!important;flex:0 0 auto!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
@media(min-width:1161px){.topbar:has(.menu-toggle){padding-left:24px!important;padding-right:24px!important;gap:14px!important}.topbar:has(.menu-toggle) .brand{gap:10px!important}.topbar:has(.menu-toggle) .brand-text{font-size:1.15rem!important}.topbar:has(.menu-toggle) .brand-text small{display:none!important}.topbar:has(.menu-toggle) .nav{gap:18px!important}.topbar:has(.menu-toggle) .nav a{white-space:nowrap!important;font-size:.72rem!important;letter-spacing:.1em!important}.topbar:has(.menu-toggle) .nav-call{padding:15px 18px!important}}
@media(min-width:1161px) and (max-width:1280px){.topbar:has(.menu-toggle) .brand-text{display:none!important}}
@media(max-width:767px){.topbar:not(:has(.menu-toggle)) .brand{font-size:clamp(11px,3vw,16px)!important;white-space:normal!important;align-items:center!important}.topbar .ifa-antiterrorismo-header-logo{width:70px!important;height:43px!important}.topbar .brand{gap:6px!important;min-width:0!important}.topbar:has(.menu-toggle) .brand-text{display:block!important;font-size:12px!important;letter-spacing:.04em!important;line-height:1.25!important;white-space:normal!important}.topbar:has(.menu-toggle) .brand-text strong{display:block!important;white-space:nowrap!important}.topbar:has(.menu-toggle) .brand-text small{display:none!important}}
@media(max-width:350px){.topbar:has(.menu-toggle) .brand-text{font-size:10px!important}.topbar .ifa-antiterrorismo-header-logo{width:60px!important}}

/* Presentation of the project, derived from the destination site's typography and rotating background. */
html{scroll-padding-top:160px}body.ifa-antiterrorismo-preview{--gold:#d2ad6b;--muted:#e2d9cf;color:#f2eee8}
.ifa-antiterrorismo-preview .topbar{background:rgba(15,14,13,.92);z-index:100;min-height:100px}
.ifa-antiterrorismo-preview .brand-logo{width:66px;height:66px}.ifa-antiterrorismo-preview .fenalc-header-logo{width:55px;height:55px;object-fit:contain;flex-shrink:0}
.ifa-antiterrorismo-preview .brand a{color:inherit;text-decoration:none}.ifa-antiterrorismo-preview .nav{max-height:calc(100dvh - 98px);overflow-y:visible}.ifa-antiterrorismo-preview .nav.open{overflow-y:auto}
.ifa-antiterrorismo-preview .hero{min-height:730px;height:100svh;padding:154px 30px 90px}.ifa-antiterrorismo-preview .hero-inner{max-width:1080px}
.ifa-antiterrorismo-preview h1{font-size:clamp(3.6rem,8.2vw,7.4rem);margin-top:24px;line-height:1;letter-spacing:.01em}.ifa-antiterrorismo-preview h1 span{color:#f1d29f}
.ifa-antiterrorismo-preview .subtitle{max-width:710px;color:#eee5db;font-weight:400;font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.75;margin-top:25px}
.ifa-antiterrorismo-preview .hero-overlay{background:linear-gradient(180deg,rgba(8,7,6,.14),rgba(8,7,6,.48) 48%,rgba(8,7,6,.76))}
.ifa-antiterrorismo-preview .eyebrow{color:#f1d29f;border-color:#d2ad6b;font-size:.7rem;letter-spacing:.19em}
.ifa-antiterrorismo-preview .hero .actions{margin-top:30px}.ifa-antiterrorismo-preview .btn{min-height:50px;padding:14px 24px;font-size:.74rem;letter-spacing:.09em}
.carousel-pause{position:absolute;right:28px;bottom:22px;padding:10px 15px;background:rgba(8,7,6,.7);color:#f5eee5;border:1px solid #c7b49a;font:500 12px var(--body);cursor:pointer;min-height:44px}
.chapter-nav{position:sticky;top:100px;z-index:30;display:flex;justify-content:center;gap:28px;padding:17px 20px;background:rgba(18,16,14,.94);border-block:1px solid #7d6b504d;backdrop-filter:blur(12px);overflow-x:auto}
.chapter-nav a{flex-shrink:0;color:#e6dbcc;text-transform:uppercase;text-decoration:none;font-size:11px;letter-spacing:.12em;padding:5px 0;border-bottom:2px solid transparent;min-height:30px;display:flex;align-items:center}
.chapter-nav a:hover,.chapter-nav a[aria-current]{color:#f1d29f;border-bottom-color:#d2ad6b}
.ifa-antiterrorismo-preview .chapter{padding:88px clamp(22px,5vw,75px);background:rgba(20,18,16,.56);border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:blur(.4px)}
.ifa-antiterrorismo-preview .chapter:nth-of-type(2n){background:rgba(20,18,16,.69)}
.ifa-antiterrorismo-preview .chapter .container{max-width:1180px}.ifa-antiterrorismo-preview .tag{color:#edc990;letter-spacing:.18em;font-size:11px}
.ifa-antiterrorismo-preview h2{font-weight:400;font-size:clamp(2.5rem,4.7vw,4.3rem);line-height:1.02;margin-bottom:25px;text-wrap:balance}
.ifa-antiterrorismo-preview h3{font-weight:400;font-size:1.8rem;line-height:1.12;margin-bottom:12px}
.chapter p{color:#e2d9cf;font-size:15px;line-height:1.85;margin-bottom:19px}.chapter .opening{font-size:clamp(1.05rem,1.6vw,1.22rem);color:#f4eee6;line-height:1.65}.chapter .rule{margin:22px 0 28px;background:#d2ad6b}
.editorial-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:56px;align-items:center}.editorial-grid>*{min-width:0}
.chapter .scope-note{padding:20px 22px;border-left:3px solid #d2ad6b;background:rgba(12,11,10,.3);font-size:13px;margin-top:25px}.scope-note strong{color:#f3d39e}
.media-panel{margin:0;min-width:0;background:#100f0e;border:1px solid rgba(210,173,107,.38);box-shadow:0 16px 44px #0004}
.media-panel video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#080808;object-fit:contain}.media-panel figcaption{padding:16px 20px;color:#c7bfb4;font-size:12px;line-height:1.6}.media-panel figcaption span{display:block;text-transform:uppercase;font-size:10px;color:#e3c392;letter-spacing:.13em;margin-bottom:6px}
.chapter .section-head{max-width:820px;margin-bottom:42px}.chapter .lead{font-size:16px;margin-inline:auto;line-height:1.8}.learning-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.learning-path article{padding-top:22px;border-top:1px solid #d2ad6b;display:grid;gap:20px}.learning-path .step{color:#d2ad6b;font:400 42px/1 var(--display)}.learning-path article p{margin-bottom:0}
.integration-note{margin-top:45px;padding:28px 32px;border:1px solid #b29b795c;background:rgba(19,17,14,.4)}.integration-note p{max-width:980px}.text-link{color:#f0cd96;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px;line-height:1.8}.text-link span{padding-left:8px}
.simulation-head{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;margin-bottom:24px}.simulation-head p{margin:0}.wide-video video{aspect-ratio:2320/1080}.after-video{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:25px}.after-video p{font-size:14px}
.network-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.72fr);gap:80px;align-items:center}.portrait-video{max-width:340px;justify-self:center}.portrait-video video{aspect-ratio:9/16;max-height:570px;object-fit:contain}
.expertise{list-style:none;margin:26px 0;display:flex;gap:10px;flex-wrap:wrap}.expertise li{font-size:12px;color:#eee1cd;padding:9px 12px;background:rgba(21,18,15,.58);border:1px solid #a889575e}
.organizing-steps{counter-reset:step;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.organizing-steps li{counter-increment:step;position:relative;border-top:1px solid #ad97725c;padding:25px 0 0}.organizing-steps li:before{content:'0' counter(step);font:400 45px var(--display);color:#d2ad6b;display:block;margin-bottom:16px}.organizing-steps p{margin:0}.chapter .small-print{font-size:13px;padding-top:25px;margin-top:25px;border-top:1px solid #ffffff24}
.limited{max-width:800px}.collaboration-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;margin:30px 0}.collaboration-grid article{padding:25px 0 5px;border-top:1px solid #b29b7960}.collaboration-grid h3{color:#ecd0a0}.collaboration-grid p{max-width:500px}
.contact-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:70px;align-items:center}.contact-chapter .actions{justify-content:flex-start;margin:24px 0}.contact-chapter .contact-row{justify-content:flex-start;margin:26px 0 0;font-size:14px}.contact-grid aside{padding:28px 0 28px 40px;border-left:1px solid #d2ad6b66}.contact-grid aside img{width:240px;height:auto;margin-bottom:20px}.contact-grid aside p{font-size:14px}.contact-chapter .btn.alt{border-color:#cdb18a}
.preview-footer{padding:28px clamp(22px,5vw,75px);background:rgba(13,12,11,.92)!important;font-size:12px}.preview-footer p{font-size:12px;margin:0 0 15px}.preview-footer>div{display:flex;flex-wrap:wrap;gap:14px 28px}.preview-footer a{font-size:12px}
a:focus-visible,button:focus-visible,video:focus-visible{outline:2px solid #f3d39e;outline-offset:5px}button{font-family:var(--body)}
@media(max-width:1470px){.ifa-antiterrorismo-preview .topbar .nav{overflow-y:auto}.ifa-antiterrorismo-preview .topbar{padding:12px 24px}}
@media(max-width:900px){.editorial-grid,.simulation-head,.network-grid,.contact-grid{grid-template-columns:minmax(0,1fr);gap:30px}.learning-path{gap:22px}.chapter-nav{justify-content:flex-start;gap:24px}.network-grid{grid-template-columns:minmax(0,1fr) minmax(230px,.65fr);gap:30px}.contact-grid aside{border-left:0;border-top:1px solid #d2ad6b66;padding:28px 0 0}.contact-grid aside img{width:200px}.ifa-antiterrorismo-preview .chapter{padding-top:60px;padding-bottom:60px}.editorial-grid .media-panel{max-width:720px;width:100%;justify-self:center}}
@media(max-width:600px){html{scroll-padding-top:132px}.ifa-antiterrorismo-preview .topbar{min-height:78px;padding:8px 12px!important;gap:6px}.ifa-antiterrorismo-preview .topbar .ifa-header-logo{width:44px!important;height:44px!important}.ifa-antiterrorismo-preview .topbar .fenalc-header-logo{width:30px!important;height:30px!important;margin:0!important}.ifa-antiterrorismo-preview .topbar .ifa-antiterrorismo-header-logo{width:62px!important;height:40px!important}.ifa-antiterrorismo-preview .topbar .brand{gap:5px!important;flex:1}.ifa-antiterrorismo-preview .topbar .brand-text{font-size:10px!important}.ifa-antiterrorismo-preview .topbar .brand-text small{display:none!important}.ifa-antiterrorismo-preview .topbar .menu-toggle{flex-basis:40px!important;width:40px!important}.ifa-antiterrorismo-preview .hero{min-height:740px;height:auto;padding:145px 22px 100px}.ifa-antiterrorismo-preview h1{font-size:clamp(2.9rem,11.8vw,4.4rem);line-height:1.02}.ifa-antiterrorismo-preview h1 span{margin-top:8px}.ifa-antiterrorismo-preview .subtitle{font-size:15px;margin-top:22px}.ifa-antiterrorismo-preview .eyebrow{font-size:9px;padding:7px 10px;letter-spacing:.13em}.ifa-antiterrorismo-preview .actions{gap:12px}.ifa-antiterrorismo-preview .hero .btn{width:100%;max-width:330px}.carousel-pause{right:22px;bottom:22px}.chapter-nav{top:78px;padding:10px 22px;gap:24px}.chapter-nav a{font-size:10px}.ifa-antiterrorismo-preview .chapter{padding:48px 22px}.ifa-antiterrorismo-preview h2{font-size:2.55rem}.chapter p{font-size:14px;line-height:1.8}.learning-path,.after-video,.organizing-steps,.network-grid,.collaboration-grid{grid-template-columns:minmax(0,1fr);gap:24px}.learning-path article{display:grid;grid-template-columns:40px 1fr;gap:16px}.learning-path .step{font-size:34px}.integration-note{padding:22px;margin-top:30px}.simulation-head{gap:10px}.portrait-video{width:min(300px,100%)}.after-video{gap:0;margin-top:20px}.collaboration-grid{gap:0;margin:20px 0}.collaboration-grid article{padding-top:22px}.media-panel figcaption{padding:13px 16px}.contact-chapter .btn{width:100%}.contact-chapter .contact-row{flex-direction:column;gap:12px}.preview-footer>div{gap:12px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.fixed-bg-slide{transition:none;transform:none!important}}

/* The mission introduces the page over its original film. The site's photographic carousel continues below. */
.ifa-antiterrorismo-preview .mission-film{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.ifa-antiterrorismo-preview .hero-overlay{background:linear-gradient(180deg,rgba(6,7,8,.25),rgba(6,7,8,.43) 48%,rgba(6,7,8,.75))}
.ifa-antiterrorismo-preview .hero h1{font-size:clamp(3.3rem,6.9vw,6.1rem);text-shadow:0 3px 24px #0009}
.ifa-antiterrorismo-preview .hero .subtitle{max-width:770px;text-shadow:0 2px 14px #000c;background:rgba(10,10,10,.18);padding:8px 12px}
.ifa-antiterrorismo-preview .hero .subtitle strong{display:block;color:#fff;font-weight:600;margin-bottom:9px}
.hero-video-toggle{position:absolute;right:28px;bottom:22px;min-height:44px;padding:10px 15px;background:rgba(8,7,6,.7);color:#f5eee5;border:1px solid #c7b49a;font:500 12px var(--body);cursor:pointer}
.chapter-nav .carousel-pause{position:static;flex-shrink:0;margin-left:8px;align-self:center;min-height:34px;padding:6px 10px;font-size:10px}
.project-frame img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
@media(max-width:600px){.ifa-antiterrorismo-preview .hero h1{font-size:clamp(2.8rem,11.5vw,4.3rem)}.ifa-antiterrorismo-preview .hero .subtitle{font-size:14px;padding:8px 0}.hero-video-toggle{right:22px;bottom:22px}.chapter-nav .carousel-pause{margin:0}}
