:root {
      --as-saffron: #ff6a00;
      --as-ink: #1a2a3a;
      --as-teal: #0f766e;
      --as-coral: #f97316;
      --as-gold: #facc15;
      --as-amber-deep: #fb923c;
      --as-cream: #f7fafc;
      --as-shadow: 0 18px 40px rgba(17, 24, 39, 0.12);
      --card-bg-primary: #eef5ff;
      --card-bg-alt: #deebff;
      --card-bg-elevated: rgba(240, 247, 255, 0.96);
      --card-border: #c5d9f5;
    }

    html, body {
      font-family: "Outfit", sans-serif;
      color: var(--as-ink);
      background: 
                  /* radial-gradient(circle at 10% 12%, rgba(249, 115, 22, 0.22) 0%, rgba(249, 115, 22, 0) 34%),
                  radial-gradient(circle at 88% 18%, rgba(15, 118, 110, 0.18) 0%, rgba(15, 118, 110, 0) 32%), */
                  
                  /* linear-gradient(180deg, rgba(15, 118, 110, 0.18) 0%, rgba(15, 118, 110, 0.18) 55%, rgba(249, 115, 22, 0.22) 100%); */
                  
                  /* linear-gradient(180deg, rgba(15, 118, 110, 0.18) 0%, rgba(59, 130, 246, 0.22) 50%, rgba(22, 154, 249, 0.22) 100%); */

                  linear-gradient(180deg, #1D4E89 0%, #1D4E89 50%, #1D4E89 100%);




      scroll-behavior: smooth;
    }

    .event-shell {
      position: relative;
      overflow-x: hidden;
    }

    .event-shell::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      opacity: 0.18;
      background-image: linear-gradient(rgba(26, 42, 58, 0.06) 1px, transparent 1px),
                        linear-gradient(90deg, rgba(26, 42, 58, 0.06) 1px, transparent 1px);
      background-size: 36px 36px;
      z-index: 0;
    }

    .hero-decor {
      position: absolute;
      border-radius: 999px;
      filter: blur(2px);
      opacity: 0.14;
      z-index: 0;
      animation: floatY 6s ease-in-out infinite;
    }

    .decor-a {
      width: 280px;
      height: 280px;
      background: var(--as-saffron);
      top: 80px;
      left: -110px;
    }

    .decor-b {
      width: 220px;
      height: 220px;
      background: var(--as-teal);
      top: 180px;
      right: -90px;
      animation-delay: 1s;
    }

    .main-nav {
      backdrop-filter: blur(12px);
      background: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(242, 248, 255, 0.94) 100%);
      border-bottom: 1px solid rgba(26, 42, 58, 0.08);
      box-shadow: 0 8px 20px rgba(10, 24, 40, 0.08);
    }

    .brand-wordmark {
      font-family: "Teko", sans-serif;
      letter-spacing: 1px;
      font-size: 1.85rem;
      color: var(--as-coral);
    }

    .brand-logo {
      width: 130px;
      height: auto;
      object-fit: cover;
      padding: 4px;
      filter: drop-shadow(0 4px 12px rgba(29, 78, 137, 0.18));
    }

    .main-nav .navbar-nav {
      align-items: center;
      gap: .45rem;
    }

    .main-nav .nav-link {
      position: relative;
      color: #173450;
      font-weight: 700;
      letter-spacing: .2px;
      padding: .52rem .92rem !important;
      border-radius: 999px;
      transition: color .2s ease, background-color .2s ease, transform .2s ease;
    }

    .main-nav .nav-link::after {
      content: "";
      position: absolute;
      left: 14px;
      right: 14px;
      bottom: 6px;
      height: 2px;
      border-radius: 99px;
      background: linear-gradient(90deg, #ff6a00, #1d4e89);
      transform: scaleX(0);
      transform-origin: center;
      transition: transform .22s ease;
    }

    .main-nav .nav-link:hover,
    .main-nav .nav-link:focus-visible {
      color: #0f2740;
      background: rgba(255, 255, 255, 0.78);
      transform: translateY(-1px);
    }

    .main-nav .nav-link:hover::after,
    .main-nav .nav-link:focus-visible::after {
      transform: scaleX(1);
    }

    .main-nav .nav-link.nav-cta-link {
      color: #fff !important;
      background: linear-gradient(90deg, #ff6a00 0%, #ff8b22 100%);
      box-shadow: 0 8px 18px rgba(249, 115, 22, 0.32);
      padding-inline: 1.05rem !important;
    }

    .main-nav .nav-link.nav-cta-link::after {
      display: none;
    }

    .main-nav .nav-link.nav-cta-link:hover,
    .main-nav .nav-link.nav-cta-link:focus-visible {
      color: #fff !important;
      background: linear-gradient(90deg, #ff7a12 0%, #ff9a39 100%);
      box-shadow: 0 10px 20px rgba(249, 115, 22, 0.38);
    }

    .hero {
      position: relative;
      z-index: 1;
      padding: 7rem 0 4rem;
    }

    .hero-card {
      background: var(--card-bg-elevated);
      border: 1px solid var(--card-border);
      box-shadow: var(--as-shadow);
      border-radius: 1.4rem;
      padding: 2rem;
      animation: fadeUp .8s ease both;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      background: #e7f0fb;
      color: #174a7c;
      border-radius: 999px;
      padding: .35rem .75rem;
      font-size: .85rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .5px;
    }

    .hero-title {
      font-family: "Outfit", sans-serif;
      line-height: 1.05;
      font-size: clamp(1.65rem, 3.8vw, 2.5rem);
      font-weight: 700;
      margin: .35rem 0 1rem;
      color: #0f2740;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: .45rem .7rem;
    }

    .top-brand-badge {
      display: inline-flex;
      align-items: center;
      gap: .6rem;
      background: linear-gradient(140deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 250, 255, 0.95) 100%);
      border: 1px solid var(--card-border);
      border-radius: 999px;
      padding: .38rem .72rem;
      box-shadow: 0 8px 16px rgba(17, 24, 39, 0.1);
    }

    .top-brand-label {
      font-size: .7rem;
      text-transform: uppercase;
      letter-spacing: .35px;
      font-weight: 800;
      color: #8a3f08;
      background: rgba(249, 115, 22, 0.12);
      border: 1px solid rgba(249, 115, 22, 0.25);
      border-radius: 999px;
      padding: .26rem .5rem;
      line-height: 1;
    }

    .top-brand-logo {
      width: clamp(88px, 10vw, 125px);
      height: 34px;
      object-fit: contain;
      display: block;
    }

    .hero-title-stacked {
      flex-direction: column;
      align-items: center;
      gap: .55rem;
    }

    .hero-highlight {
      color: var(--as-coral);
    }

    .hero-title-text {
      line-height: 1.08;
    }

    .hero-logo-badge {
      width: clamp(150px, 18vw, 220px);
      aspect-ratio: 1 / 1;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      border-radius: 999px;
      padding: .55rem;
      background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 247, 255, 0.88));
      border: 1px solid rgba(29, 78, 137, 0.12);
      box-shadow: 0 8px 18px rgba(15, 39, 64, 0.12);
      overflow: hidden;
    }

    .hero-logo-badge-only {
      width: clamp(190px, 22vw, 280px);
      padding: .7rem;
    }

    .hero-title-below {
      font-family: "Teko", sans-serif;
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 700;
      letter-spacing: .7px;
      line-height: .95;
      text-transform: uppercase;
      color: #0f2740;
      text-shadow: 0 8px 16px rgba(17, 24, 39, 0.1);
    }

    .hero-title-logo {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
      display: block;
    }

    .hero-logo-badge-only .hero-title-logo {
      transform: translateY(-10%);
    }

    .chip {
      background: #fff;
      border: 1px solid #b8c9dc;
      border-radius: 999px;
      padding: .35rem .75rem;
      font-size: .85rem;
      font-weight: 600;
      color: #173450;
    }

    .btn-festive {
      background: linear-gradient(90deg, #f97316 0%, #fb923c 100%);
      border: none;
      color: #fff;
      font-weight: 700;
      box-shadow: 0 10px 20px rgba(249, 115, 22, 0.26);
    }

    .btn-festive:hover {
      color: #fff;
      transform: translateY(-1px);
    }

    .stat-card {
      border-radius: 1rem;
      border: 1px solid var(--card-border);
      background: linear-gradient(160deg, var(--card-bg-primary) 0%, var(--card-bg-alt) 100%);
      padding: 1rem;
      text-align: center;
      height: 100%;
      transition: transform .22s ease, box-shadow .22s ease;
      box-shadow: 0 10px 20px rgba(17, 24, 39, 0.1);
    }

    .stat-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 14px 26px rgba(17, 24, 39, 0.16);
    }

    .stat-num {
      font-size: 1.8rem;
      font-weight: 800;
      color: #0f5f8f;
    }

    .stat-label {
      color: #24425f;
      font-weight: 600;
      letter-spacing: .2px;
    }

    .stat-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 34px;
      height: 34px;
      border-radius: .7rem;
      font-size: 2rem;
      background: transparent;
      margin-bottom: .45rem;
      box-shadow: 0 6px 12px rgba(17, 24, 39, 0.08);
    }

    .stat-card-1 {
      background: linear-gradient(145deg, #fff1e6 0%, #ffd6b5 100%);
      border-color: #f3c79c;
    }

    .stat-card-2 {
      background: linear-gradient(145deg, #e8f3ff 0%, #cfe4ff 100%);
      border-color: #b9d3f3;
    }

    .stat-card-3 {
      background: linear-gradient(145deg, #ecf9f4 0%, #cdefdf 100%);
      border-color: #b4dfcc;
    }

    .stat-card-4 {
      background: linear-gradient(145deg, #f2ecff 0%, #ddd1ff 100%);
      border-color: #c8b8f0;
    }

    .stat-card-5 {
      background: linear-gradient(145deg, #fff7dc 0%, #ffe9a8 100%);
      border-color: #e8d189;
    }

    .stat-card-6 {
      background: linear-gradient(145deg, #ffeef3 0%, #ffd6e4 100%);
      border-color: #e8bfd0;
    }

    .section-title {
      font-family: "Outfit", sans-serif;
      letter-spacing: 0;
      font-size: clamp(1.8rem, 3.6vw, 2.6rem);
      font-weight: 800;
    }

    .event-spotlight-title {
      background: linear-gradient(90deg, #ff6a00 0%, #ff9a1f 35%, #1d4e89 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      text-transform: uppercase;
      font-size: clamp(1.4rem, 2.8vw, 2rem);
      letter-spacing: .8px;
      text-shadow: 0 8px 22px rgba(29, 78, 137, 0.18);
    }

    .offer-card {
      border: 1px solid var(--card-border);
      border-radius: 1.2rem;
      overflow: hidden;
      box-shadow: 0 14px 28px rgba(17, 24, 39, 0.16);
      transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
      background: linear-gradient(155deg, var(--card-bg-primary) 0%, var(--card-bg-alt) 100%);
      height: 100%;
      display: flex;
      flex-direction: column;
      position: relative;
    }

    #offers .row > div:nth-child(1) .offer-card {
      background: linear-gradient(155deg, #eef5ff 0%, #cfe0fb 100%);
    }

    #offers .row > div:nth-child(2) .offer-card {
      background: linear-gradient(155deg, #f1f3ff 0%, #d8ddff 100%);
    }

    #offers .row > div:nth-child(3) .offer-card {
      background: linear-gradient(155deg, #eefaf7 0%, #cfeee5 100%);
    }

    #offers .row > div:nth-child(4) .offer-card {
      background: linear-gradient(155deg, #fff3ea 0%, #ffd9c2 100%);
    }

    .offer-card::before {
      content: "";
      position: absolute;
      width: 220px;
      height: 220px;
      border-radius: 50%;
      right: -100px;
      top: -135px;
      background: radial-gradient(circle, rgba(255, 161, 64, 0.2) 0%, rgba(255, 161, 64, 0) 70%);
      pointer-events: none;
    }

    .category-spotlight-wrap {
      background: linear-gradient(145deg, var(--card-bg-elevated) 0%, var(--card-bg-alt) 100%);
    }

    .category-card {
      position: relative;
      border-radius: 1.2rem;
      padding: 1.2rem;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.28);
      box-shadow: 0 14px 32px rgba(17, 24, 39, 0.14);
      transition: transform .25s ease, box-shadow .25s ease;
    }

    .category-card::after {
      content: "";
      position: absolute;
      width: 180px;
      height: 180px;
      right: -65px;
      top: -80px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.18);
      pointer-events: none;
    }

    .category-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 18px 36px rgba(17, 24, 39, 0.18);
    }

    .category-card-decor {
      background: linear-gradient(140deg, #f97316 0%, #fb923c 55%, #fdba74 100%);
    }

    .category-card-essentials {
      background: linear-gradient(140deg, #1d4e89 0%, #2563a3 58%, #3b82f6 100%);
    }

    .category-card-head {
      display: flex;
      flex-wrap: wrap;
      gap: .45rem;
      margin-bottom: .9rem;
      position: relative;
      z-index: 1;
    }

    .category-chip {
      background: rgba(255, 255, 255, 0.92);
      color: #1f2937;
      border-radius: 999px;
      font-size: .74rem;
      line-height: 1;
      padding: .4rem .65rem;
      font-weight: 700;
      letter-spacing: .2px;
    }

    .category-chip-soft {
      background: rgba(255, 255, 255, 0.28);
      color: #ffffff;
      border: 1px solid rgba(255, 255, 255, 0.35);
    }

    .category-logo-wrap {
      width: 100%;
      height: 175px;
      border-radius: 14px;
      border: 1px solid rgba(255, 255, 255, 0.28);
      background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04));
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: .9rem;
      padding: 8px;
      overflow: hidden;
      box-shadow: 0 10px 22px rgba(10, 20, 35, 0.2);
      position: relative;
      z-index: 1;
    }

    .category-logo {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
      border-radius: 10px;
      display: block;
      mix-blend-mode: multiply;
      filter: drop-shadow(0 6px 12px rgba(10, 20, 35, 0.2)) contrast(1.08) saturate(1.08);
    }

    .category-copy {
      color: rgba(255, 255, 255, 0.95);
      font-size: .92rem;
      line-height: 1.45;
      position: relative;
      z-index: 1;
    }

    .category-punch {
      color: #fff;
      font-weight: 800;
      letter-spacing: .2px;
      position: relative;
      z-index: 1;
    }

    .offer-card:hover {
      transform: translateY(-7px);
      border-color: rgba(249, 115, 22, 0.5);
      box-shadow: 0 18px 36px rgba(26, 20, 10, 0.22);
    }

    .offer-top {
      background: linear-gradient(130deg, #ffeddc 0%, #ffdcbf 45%, #ffcfa9 100%);
      padding: .95rem 1.1rem .85rem;
      border-bottom: 1px solid rgba(180, 83, 9, 0.16);
      position: relative;
      z-index: 1;
    }

    .offer-kicker {
      display: inline-flex;
      align-items: center;
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .35px;
      text-transform: uppercase;
      color: #7c2d12;
      background: rgba(255, 255, 255, 0.85);
      border: 1px solid rgba(180, 83, 9, 0.2);
      border-radius: 999px;
      padding: .32rem .62rem;
      margin-bottom: .45rem;
    }

    .offer-value {
      font-family: "Teko", sans-serif;
      font-size: clamp(1.9rem, 3vw, 2.35rem);
      margin: 0;
      color: #b45309;
      line-height: 1;
      letter-spacing: .35px;
    }

    .offer-body {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: .7rem;
      padding: 1rem 1.1rem 1.15rem;
      position: relative;
      z-index: 1;
    }

    .offer-copy {
      color: #344355;
      font-size: .9rem;
      line-height: 1.5;
    }

    .offer-tags {
      display: flex;
      flex-wrap: wrap;
      gap: .45rem;
    }

    .offer-tag {
      font-size: .74rem;
      font-weight: 700;
      color: #1d4e89;
      background: #eaf4ff;
      border: 1px solid #cde2f8;
      border-radius: 999px;
      padding: .28rem .58rem;
    }

    .timeline {
      position: relative;
      padding-left: 1.2rem;
      border-left: 3px solid #f59e0b;
    }

    .timeline-item {
      position: relative;
      padding: .1rem 0 1rem 1rem;
    }

    .timeline-item::before {
      content: "";
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: var(--as-coral);
      position: absolute;
      left: -9px;
      top: .45rem;
      box-shadow: 0 0 0 4px #fde6bf;
    }

    .schedule-unified-card {
      position: relative;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(231, 241, 255, 0.95) 58%, rgba(255, 235, 220, 0.94) 100%);
      border: 1px solid rgba(29, 78, 137, 0.18);
    }

    .schedule-unified-card::before {
      content: "";
      position: absolute;
      width: 260px;
      height: 260px;
      border-radius: 50%;
      right: -120px;
      top: -130px;
      background: radial-gradient(circle, rgba(249, 115, 22, 0.22) 0%, rgba(249, 115, 22, 0) 72%);
      pointer-events: none;
    }

    .schedule-kicker {
      display: inline-flex;
      align-items: center;
      font-size: .74rem;
      text-transform: uppercase;
      font-weight: 800;
      letter-spacing: .35px;
      color: #8a3f08;
      background: rgba(249, 115, 22, 0.14);
      border: 1px solid rgba(249, 115, 22, 0.3);
      border-radius: 999px;
      padding: .35rem .68rem;
    }

    .countdown-grid .col {
      display: flex;
    }

    .countdown-box {
      border: 1px solid var(--card-border);
      border-radius: .9rem;
      background: var(--card-bg-primary);
      text-align: center;
      padding: .9rem .4rem;
      width: 100%;
      box-shadow: 0 10px 18px rgba(17, 24, 39, 0.1);
    }

    .countdown-value {
      font-family: "Teko", sans-serif;
      font-size: 2rem;
      line-height: 1;
      color: #1d4e89;
    }

    .schedule-cta {
      min-width: 220px;
      width: auto;
    }

    .schedule-visual-wrap {
      position: relative;
      border-radius: 1.2rem;
      border: 1px solid rgba(29, 78, 137, 0.16);
      background: linear-gradient(145deg, #eff6ff 0%, #dfeeff 100%);
      background-color: #e7f2ff;
      padding: .9rem;
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: 290px;
      overflow: hidden;
      isolation: isolate;
      box-shadow: 0 14px 30px rgba(15, 39, 64, 0.16);
    }

    .schedule-image {
      width: min(100%, 390px);
      height: clamp(220px, 30vw, 300px);
      object-fit: contain;
      object-position: left center;
      display: block;
      position: relative;
      z-index: 2;
      mix-blend-mode: multiply;
    }


    .cta-band {
      background: linear-gradient(100deg, #1f3f5b 0%, #2f5f86 55%, #3a7ca5 100%);
      color: #fff;
      border-radius: 1.4rem;
      box-shadow: var(--as-shadow);
    }

    .cta-qr {
      width: 150px;
      height: 150px;
      object-fit: cover;
      background: #fff;
      border-radius: .7rem;
      border: 3px solid rgba(255, 255, 255, 0.5);
      padding: 6px;
      box-shadow: 0 8px 22px rgba(10, 20, 35, 0.25);
    }

    .qr-wrap {
      gap: .35rem;
    }

    .qr-caption {
      color: #eaf4ff;
      font-size: 1rem;
      letter-spacing: .2px;
      width: 150px;
      text-align: center;
      line-height: 1.25;
    }

    .visit-panel {
      background: linear-gradient(145deg, var(--card-bg-elevated) 0%, var(--card-bg-alt) 100%);
    }

    .visit-info-card {
      background: var(--card-bg-primary);
      border: 1px solid var(--card-border);
      border-radius: 1rem;
      padding: 1rem;
      box-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .visit-info-card:hover {
      transform: translateY(-3px);
      border-color: rgba(249, 115, 22, 0.4);
      box-shadow: 0 14px 26px rgba(17, 24, 39, 0.12);
    }

    .visit-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 34px;
      height: 34px;
      border-radius: .7rem;
      font-size: 1rem;
      background: #eef6ff;
      margin-bottom: .55rem;
    }

    .visit-action-card {
      background: linear-gradient(140deg, #1d4e89 0%, #2563a3 58%, #3b82f6 100%);
      color: #fff;
      border-radius: 1.1rem;
      padding: 1.2rem;
      border: 1px solid rgba(255, 255, 255, 0.25);
      box-shadow: 0 14px 30px rgba(15, 39, 64, 0.24);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .visit-action-card .small {
      color: rgba(255, 255, 255, 0.92);
    }

    .visit-action-kicker {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      font-size: .74rem;
      text-transform: uppercase;
      font-weight: 800;
      letter-spacing: .35px;
      background: rgba(255, 255, 255, 0.2);
      border: 1px solid rgba(255, 255, 255, 0.35);
      border-radius: 999px;
      padding: .35rem .68rem;
    }

    .visit-pill {
      font-size: .75rem;
      font-weight: 700;
      border-radius: 999px;
      padding: .35rem .62rem;
      background: rgba(255, 255, 255, 0.18);
      border: 1px solid rgba(255, 255, 255, 0.3);
      color: #fff;
    }

    .visit-action-card .btn-outline-light {
      border-width: 1px;
      font-weight: 600;
    }

    .participate-wrap {
      background: linear-gradient(145deg, var(--card-bg-elevated) 0%, var(--card-bg-alt) 100%);
    }

    .participate-card {
      background: var(--card-bg-primary);
      border: 1px solid var(--card-border);
      border-radius: 1rem;
      padding: 1rem;
      box-shadow: 0 10px 22px rgba(17, 24, 39, 0.08);
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .participate-card:hover {
      transform: translateY(-4px);
      border-color: rgba(249, 115, 22, 0.42);
      box-shadow: 0 14px 28px rgba(17, 24, 39, 0.14);
    }

    .participate-step {
      display: inline-flex;
      align-items: center;
      font-size: .72rem;
      text-transform: uppercase;
      letter-spacing: .35px;
      font-weight: 800;
      color: #8a3f08;
      background: rgba(249, 115, 22, 0.12);
      border: 1px solid rgba(249, 115, 22, 0.28);
      border-radius: 999px;
      padding: .32rem .6rem;
      margin-bottom: .55rem;
    }

    .brand-showcase-wrap {
      background: linear-gradient(145deg, var(--card-bg-elevated) 0%, var(--card-bg-alt) 100%);
    }

    .brand-featured-card {
      background: rgb(250, 110, 7) !important;
      color: white !important;
      font-weight: bold;
      border: 1px solid #f1d0b2;
      border-radius: 1.1rem;
      padding: 1rem;
      box-shadow: 0 12px 26px rgba(17, 24, 39, 0.12);
    }

    .brand-featured-logo-wrap {
      background: #fff;
      border: 1px solid var(--card-border);
      border-radius: .95rem;
      min-height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.1rem;
      box-shadow: 0 12px 24px rgba(17, 24, 39, 0.14);
      position: relative;
      overflow: hidden;
    }

    .brand-featured-logo-wrap::after {
      content: "";
      position: absolute;
      width: 180px;
      height: 180px;
      right: -65px;
      top: -70px;
      border-radius: 999px;
      background: radial-gradient(circle, rgba(249, 115, 22, 0.16) 0%, rgba(249, 115, 22, 0) 70%);
      pointer-events: none;
    }

    .brand-featured-logo {
      width: 100%;
      max-height: 130px;
      object-fit: cover;
      display: block;
      position: relative;
      z-index: 1;
      filter: drop-shadow(0 6px 12px rgba(15, 39, 64, 0.16));
    }

    .brand-logo-card {
      position: relative;
      background: transparent;
      border: 0;
      border-radius: 0;
      min-height: 130px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      box-shadow: none;
      transition: transform .2s ease;
      isolation: isolate;
    }

    .brand-logo-card::before {
      content: none;
    }

    .brand-logo-card::after {
      content: none;
    }

    .brand-logo-card:hover {
      transform: translateY(-2px);
    }

    .brand-logo-card:hover::before {
      transform: none;
    }

    .brand-grid-logo {
      width: 100%;
      max-height: 140px;
      object-fit: contain;
      display: block;
      position: relative;
      z-index: 1;
      filter: none;
      transition: filter .24s ease, transform .24s ease;
    }

    .brand-logo-card:hover .brand-grid-logo {
      filter: grayscale(0) saturate(1.18) contrast(1.08);
      transform: scale(1.04);
    }

    .brand-owl-carousel .owl-stage {
      display: flex;
      align-items: stretch;
      transition-timing-function: linear !important;
    }

    .brand-owl-carousel .owl-item {
      padding: .3rem .3rem .5rem;
    }

    .brand-owl-carousel .owl-dots {
      margin-top: .35rem !important;
    }

    .brand-owl-carousel .owl-dot span {
      width: 8px !important;
      height: 8px !important;
      margin: 4px !important;
      background: rgba(29, 78, 137, 0.35) !important;
    }

    .brand-owl-carousel .owl-dot.active span {
      background: rgba(249, 115, 22, 0.95) !important;
    }

    .brand-highlight-card {
      background: linear-gradient(140deg, var(--card-bg-primary) 0%, var(--card-bg-alt) 100%);
      border: 1px solid var(--card-border);
      border-radius: 1.2rem;
      padding: 1rem 1.2rem;
      box-shadow: 0 12px 26px rgba(17, 24, 39, 0.12);
    }

    .brand-highlight-logo-wrap {
      background: #fff;
      border: 1px solid var(--card-border);
      border-radius: 1rem;
      padding: .8rem;
      min-height: 120px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 16px rgba(17, 24, 39, 0.08);
    }

    .brand-highlight-logo {
      max-width: 100%;
      max-height: 90px;
      object-fit: contain;
      display: block;
    }

    .brand-highlight-kicker {
      display: inline-flex;
      align-items: center;
      font-size: .74rem;
      text-transform: uppercase;
      font-weight: 800;
      letter-spacing: .35px;
      background: rgba(249, 115, 22, 0.12);
      border: 1px solid rgba(249, 115, 22, 0.26);
      border-radius: 999px;
      padding: .32rem .62rem;
    }


    .footer {
      border-top: 1px solid rgba(255, 255, 255, 0.12);
      background: #13263a;
    }

    .footer p {
      color: #dbe6f2;
    }

    .go-top-btn {
      position: fixed;
      right: 1rem;
      bottom: 1rem;
      width: 46px;
      height: 46px;
      border: 0;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
      font-weight: 700;
      color: #fff;
      background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
      box-shadow: 0 10px 22px rgba(17, 24, 39, 0.24);
      cursor: pointer;
      opacity: 0;
      visibility: hidden;
      transform: translateY(12px);
      transition: opacity .2s ease, transform .2s ease, visibility .2s ease, box-shadow .2s ease;
      z-index: 1050;
    }

    .go-top-btn:hover {
      box-shadow: 0 14px 28px rgba(17, 24, 39, 0.3);
      transform: translateY(-2px);
    }

    .go-top-btn.is-visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .fade-stagger > * {
      animation: fadeUp .6s ease both;
    }

    .fade-stagger > *:nth-child(2) { animation-delay: .08s; }
    .fade-stagger > *:nth-child(3) { animation-delay: .16s; }
    .fade-stagger > *:nth-child(4) { animation-delay: .24s; }

    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes floatY {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(15px); }
    }

    @media (max-width: 991.98px) {
      .hero {
        padding-top: 5.5rem;
      }

      .hero-card {
        padding: 1.4rem;
      }

      .main-nav .navbar-nav {
        align-items: stretch;
        gap: .2rem;
        padding-top: .4rem;
      }

      .main-nav .nav-link {
        border-radius: .7rem;
      }

      .section-title {
        line-height: 1;
      }

      .schedule-image {
        height: clamp(210px, 40vw, 260px);
      }

      .schedule-visual-wrap {
        min-height: 250px;
      }

      .offer-value {
        font-size: clamp(1.7rem, 5vw, 2.05rem);
      }

      .visit-action-card {
        padding: 1.05rem;
      }
    }

    @media (max-width: 575.98px) {
      .decor-a,
      .decor-b {
        display: none;
      }

      .hero {
        padding-top: 5rem;
        padding-bottom: 2.5rem;
      }

      .hero-logo-badge {
        width: clamp(130px, 36vw, 170px);
      }

      .hero-logo-badge-only {
        width: clamp(170px, 52vw, 220px);
      }

      .chip {
        font-size: .78rem;
      }

      .btn-lg {
        width: 100%;
      }

      .countdown-box {
        padding: .7rem .2rem;
      }

      .brand-logo {
        width: 88px;
        height: auto;
      }

      .schedule-image {
        height: 200px;
      }

      .schedule-cta {
        width: 100%;
      }

      .schedule-visual-wrap {
        min-height: 220px;
      }

      .cta-qr {
        width: 130px;
        height: 130px;
      }

      .qr-caption {
        width: 130px;
      }

      .category-logo-wrap {
        height: 150px;
      }

      .offer-top {
        padding: .9rem 1rem .8rem;
      }

      .offer-body {
        padding: .95rem 1rem 1.05rem;
      }

      .offer-copy {
        font-size: .86rem;
      }

      .visit-info-card,
      .visit-action-card {
        padding: .95rem;
      }

      .brand-featured-logo-wrap {
        min-height: 150px;
      }

      .brand-logo-card {
        min-height: 105px;
      }

      .brand-owl-carousel .owl-item {
        padding-inline: .15rem;
      }

      .go-top-btn {
        right: .75rem;
        bottom: .85rem;
        width: 42px;
        height: 42px;
        font-size: 1.05rem;
      }
    }
