
  .gil-top-wrap,
  .gil-top-wrap * {
    box-sizing: border-box;
  }

  .gil-top-wrap {
    --gil-bg-1: #041228;
    --gil-bg-2: #082046;
    --gil-bg-3: #173761;
    --gil-card: rgba(43, 58, 92, 0.88);
    --gil-card-border: rgba(255, 255, 255, 0.10);
    --gil-text: #ffffff;
    --gil-muted: #d6e2f2;
    --gil-pill: rgba(255,255,255,0.06);
    --gil-pill-border: rgba(255,255,255,0.14);
    --gil-orange: #f49a1b;
    --gil-red: #ff2b16;
    --gil-shadow: 0 20px 50px rgba(0,0,0,0.22);

    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    color: var(--gil-text);
    font-family: inherit;
    background:
      radial-gradient(circle at 0% 0%, rgba(255,120,0,0.12), transparent 18%),
      radial-gradient(circle at 100% 100%, rgba(0,102,255,0.10), transparent 20%),
      linear-gradient(90deg, var(--gil-bg-1) 0%, #031631 35%, #041c3d 65%, var(--gil-bg-2) 100%);
    overflow: hidden;
  }

  .gil-top-inner {
    width: min(1180px, calc(100vw - 40px));
    margin: 0 auto;
  }

  .gil-topbar {
    border-top: 1px solid rgba(255,255,255,0.08);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    background: linear-gradient(90deg, rgba(255,255,255,0.02), rgba(46,95,170,0.18), rgba(255,255,255,0.02));
  }

  .gil-topbar-inner {
    width: min(1180px, calc(100vw - 40px));
    margin: 0 auto;
    min-height: 96px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }

  .gil-brand {
    display: flex;
    align-items: center;
    gap: 18px;
    text-decoration: none;
    color: #fff;
  }

  .gil-brand img {
    width: 92px;
    height: auto;
    display: block;
  }

  .gil-brand-text {
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.02em;
  }

  .gil-nav {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
  }

  .gil-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 18px;
    border-radius: 999px;
    text-decoration: none;
    color: #fff;
    background: var(--gil-pill);
    border: 1px solid var(--gil-pill-border);
    font-weight: 700;
    font-size: 15px;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
  }

  .gil-nav a:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,0.10);
  }

  .gil-hero {
    padding: 38px 0 34px;
  }

  .gil-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 34px;
    align-items: start;
  }

  .gil-pill-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    color: #fff;
    font-size: 14px;
    line-height: 1;
    margin-bottom: 26px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  }

  .gil-pill-label::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--gil-orange);
    box-shadow: 0 0 0 4px rgba(244,154,27,0.15);
    flex: 0 0 10px;
  }

  .gil-pill-label.red::before {
    background: #ff1d0d;
    box-shadow: 0 0 0 4px rgba(255,29,13,0.15);
  }

  .gil-main h1 {
    margin: 0 0 18px;
    font-size: clamp(54px, 7vw, 76px);
    line-height: .95;
    letter-spacing: -0.04em;
    color: #fff8ef;
    font-weight: 900;
  }

  .gil-main p {
    margin: 0;
    max-width: 620px;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.55;
    color: var(--gil-muted);
  }

  .gil-main p strong {
    color: #fff;
    font-weight: 900;
  }

  .gil-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
  }

  .gil-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 14px 22px 14px 24px;
    border-radius: 999px;
    text-decoration: none;
    color: #fff;
    font-weight: 800;
    font-size: 16px;
    border: 1px solid rgba(255,255,255,0.08);
    transition: transform .18s ease, opacity .18s ease;
    box-shadow: var(--gil-shadow);
  }

  .gil-cta:hover {
    transform: translateY(-1px);
  }

  .gil-cta .gil-arrow {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.16);
    font-size: 14px;
    line-height: 1;
  }

  .gil-cta-orange {
    background: linear-gradient(90deg, #f39a1d 0%, #f08f0f 100%);
  }

  .gil-cta-red {
    background: linear-gradient(90deg, #ff5c2e 0%, #ff1609 100%);
  }

  .gil-cta-dark {
    background: rgba(59, 77, 112, 0.58);
  }

  .gil-side-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 16px;
  }

  .gil-mini-card,
  .gil-feature-card {
    display: block;
    text-decoration: none;
    color: #fff;
    background: var(--gil-card);
    border: 1px solid var(--gil-card-border);
    border-radius: 28px;
    box-shadow: var(--gil-shadow);
    backdrop-filter: blur(4px);
  }

  .gil-mini-card {
    padding: 24px 22px;
    min-height: 120px;
  }

  .gil-mini-card h3 {
    margin: 0 0 10px;
    font-size: 18px;
    line-height: 1.2;
    color: #fff;
    font-weight: 800;
  }

  .gil-mini-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: var(--gil-muted);
  }

  .gil-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 22px;
    margin-top: 30px;
  }

  .gil-feature-card {
    padding: 28px 22px 24px;
    min-height: 188px;
  }

  .gil-feature-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
  }

  .gil-feature-top .gil-label {
    font-size: 16px;
    line-height: 1;
    font-weight: 900;
    color: #fff;
  }

  .gil-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    font-size: 14px;
    font-weight: 700;
  }

  .gil-chip.orange { color: #ffd39d; }
  .gil-chip.red { color: #ffb9b0; }
  .gil-chip.blue { color: #d3e6ff; }

  .gil-feature-card p {
    margin: 0 0 24px;
    font-size: 16px;
    line-height: 1.55;
    color: var(--gil-muted);
  }

  .gil-feature-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
  }

  .gil-feature-link .gil-arrow {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    font-size: 14px;
    line-height: 1;
  }

  .gil-photo-strip {
    margin-top: 30px;
    padding-bottom: 34px;
  }

  .gil-photo-strip-head {
    margin-bottom: 18px;
  }

  .gil-photo-strip-head h2 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 32px;
    line-height: 1.1;
  }

  .gil-photo-strip-head p {
    margin: 0;
    color: var(--gil-muted);
    font-size: 17px;
    line-height: 1.6;
  }

  .gil-photo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 18px;
  }

  .gil-photo-card {
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,0.10);
    box-shadow: var(--gil-shadow);
    background: rgba(255,255,255,0.05);
  }

  .gil-photo-card img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform .25s ease;
  }

  .gil-photo-card:hover img {
    transform: scale(1.04);
  }

  .gil-home-updates-anchor {
    padding-bottom: 34px;
  }

  .gil-home-updates-head {
    margin-bottom: 18px;
  }

  .gil-home-updates-head h2 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 32px;
    line-height: 1.1;
  }

  .gil-home-updates-head p {
    margin: 0;
    color: var(--gil-muted);
    font-size: 17px;
    line-height: 1.6;
  }

  @media (max-width: 1100px) {
    .gil-hero-grid {
      grid-template-columns: 1fr;
    }

    .gil-side-grid,
    .gil-features,
    .gil-photo-grid {
      grid-template-columns: repeat(2, minmax(0,1fr));
    }
  }

  @media (max-width: 700px) {
    .gil-topbar-inner,
    .gil-top-inner {
      width: calc(100vw - 20px);
    }

    .gil-topbar-inner {
      min-height: auto;
      padding: 16px 0;
      flex-direction: column;
      align-items: flex-start;
    }

    .gil-brand img {
      width: 72px;
    }

    .gil-brand-text {
      font-size: 17px;
    }

    .gil-nav {
      width: 100%;
      gap: 10px;
    }

    .gil-nav a {
      flex: 1 1 calc(50% - 10px);
    }

    .gil-main h1 {
      font-size: 48px;
    }

    .gil-main p {
      font-size: 18px;
    }

    .gil-cta {
      width: 100%;
      justify-content: space-between;
    }

    .gil-side-grid,
    .gil-features,
    .gil-photo-grid {
      grid-template-columns: 1fr;
    }

    .gil-mini-card,
    .gil-feature-card,
    .gil-photo-card {
      border-radius: 22px;
    }

    .gil-photo-card img {
      height: 220px;
    }

    .gil-photo-strip-head h2,
    .gil-home-updates-head h2 {
      font-size: 26px;
    }
  }
.gil-events{margin:32px 0}.gil-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.gil-event-card{padding:20px;border-radius:14px;color:#16375b;background:#fff}.gil-event-card h3{margin:.4em 0}.gil-event-card a{color:#1768aa}
.gil-event-card .event-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:14px}
/* Events carousel modelled on the existing site. */
.gil-events{margin:30px 0 18px}.event-carousel{position:relative;padding:0 44px}.event-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.event-track::-webkit-scrollbar{display:none}.gil-event-card{scroll-snap-align:start;background:#fff;color:#12375b;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;padding:0;min-width:0}.gil-event-card>a{display:block}.gil-event-card .event-image{display:block;width:100%;aspect-ratio:1.7;object-fit:cover;object-position:center;border-radius:0;margin:0}.event-card-body{display:flex;flex:1;flex-direction:column;padding:16px 17px 20px}.event-date{font-size:11px;font-weight:800;line-height:1.35;color:#064985;background:#e9f3fd;border-radius:9px;padding:7px 9px}.event-badge{align-self:flex-start;font-size:10px;font-weight:800;color:#9c4400;background:#fff1e4;border:1px solid #f0b78f;border-radius:999px;margin-top:9px;padding:3px 9px}.event-card-body h3{font-size:18px;font-weight:500;line-height:1.25;margin:12px 0 8px}.event-venue{font-size:13px;line-height:1.45;padding-left:13px;position:relative;color:#52677a}.event-venue:before{content:'•';position:absolute;left:0;color:#1768aa}.event-venue a{color:#52677a}.event-description{font-size:14px;line-height:1.5;color:#445f7d;margin:14px 0 26px}.event-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e0e8ef;padding-top:17px;margin-top:auto;font-size:13px;font-weight:800;color:#075296!important;text-decoration:none}.event-arrow{position:absolute;top:45%;width:36px;height:50px;padding:0;border-radius:10px;font-size:20px;color:#09294c;background:#eef4fb;z-index:2}.event-prev{left:0}.event-next{right:0}@media(max-width:1000px){.event-track{grid-auto-columns:calc((100% - 36px)/3)}}@media(max-width:700px){.event-carousel{padding:0 34px}.event-track{grid-auto-columns:calc((100% - 18px)/2)}.event-arrow{width:30px}}@media(max-width:470px){.event-track{grid-auto-columns:100%}}
