
  .home-page {
    background: var(--paper);
  }
  .hero {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    background: #153B49;
    color: #fff;
  }
  .hero-background {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 54%;
  }
  .hero-instagram {
    color: #fff;
    border: 1px solid rgba(255,255,255,.72);
    background: rgba(18,89,110,.62);
    font-weight: 800;
  }
  .hero-instagram:hover {
    color: #fff;
    background: #12596E;
    border-color: #56C4D7;
  }
  .campaign-poster-section {
    padding: clamp(2rem, 5vw, 4.5rem) 0;
    background: var(--paper);
  }
  .campaign-poster-section .container {
    display: flex;
    justify-content: center;
  }
  .campaign-poster-image {
    display: block;
    width: min(100%, 620px);
    height: auto;
    border: 1px solid color-mix(in srgb, var(--fire-red) 20%, transparent);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(20, 53, 63, .18);
  }
  .sticker-stream {
    position: relative;
    min-height: clamp(190px, 28vw, 340px);
    margin-bottom: 3.5rem;
    overflow: hidden;
    container-type: inline-size;
    perspective: 100cqw;
    perspective-origin: 50% 53%;
    pointer-events: none;
  }
  .sticker-stream::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(
      90deg,
      var(--page-tickets-bg, #F7EEC8) 0%,
      color-mix(in srgb, var(--page-tickets-bg) 90%, transparent) 5%,
      transparent 13%,
      transparent 87%,
      color-mix(in srgb, var(--page-tickets-bg) 90%, transparent) 95%,
      var(--page-tickets-bg, #F7EEC8) 100%
    );
  }
  .sticker-stream__world {
    position: absolute;
    inset: 0;
    transform-style: preserve-3d;
  }
  .sticker-stream__card {
    position: absolute;
    top: 53%;
    left: 50%;
    width: 20cqw;
    height: 13.2cqw;
    margin: -6.6cqw 0 0 -10cqw;
    object-fit: cover;
    filter: none;
    opacity: .78;
    border-radius: 28px;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 40%, rgba(0, 0, 0, .88) 68%, transparent 100%);
    mask-image: radial-gradient(ellipse at center, #000 40%, rgba(0, 0, 0, .88) 68%, transparent 100%);
    backface-visibility: hidden;
    animation: sticker-stream-right 18s linear infinite;
  }
  .sticker-stream__card--left {
    animation-name: sticker-stream-left;
  }
  @keyframes sticker-stream-right {
    from { transform: translate3d(0, 0, -120cqw) rotateY(8deg); }
    to { transform: translate3d(24cqw, 0, 55cqw) rotateY(-28deg); }
  }
  @keyframes sticker-stream-left {
    from { transform: translate3d(0, 0, -120cqw) rotateY(-8deg); }
    to { transform: translate3d(-24cqw, 0, 55cqw) rotateY(28deg); }
  }
  .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to bottom, black, transparent 90%);
  }
  .hero::after {
    content: "";
    position: absolute;
    right: -160px;
    bottom: -210px;
    width: 680px;
    height: 680px;
    border: 2px solid color-mix(in srgb, var(--ember) 28%, transparent);
    border-radius: 50%;
    box-shadow: 0 0 120px color-mix(in srgb, var(--fire-red) 16%, transparent);
  }
  .hero-inner {
    position: relative;
    z-index: 2;
    padding: 7rem 0 5rem;
  }
  .hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: var(--ember);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .82rem;
  }
  .hero-title {
    max-width: 820px;
    font-size: clamp(3.1rem, 7vw, 6.8rem);
    line-height: .94;
    font-weight: 950;
    letter-spacing: 0;
    margin: 1.3rem 0 1.5rem;
  }
  .hero-title span {
    color: var(--ember);
    background: rgba(0, 0, 0, .5);
    border-radius: 8px;
    padding: 0 .2em .08em;
  }
  .hero-copy {
    max-width: 660px;
    color: rgba(255,255,255,.82);
    font-size: 1.28rem;
    line-height: 1.65;
  }
  .hero-panel {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: 1.2rem;
  }
  .hero-countdown-kicker {
    margin-bottom: .45rem;
    color: var(--ember);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .hero-countdown h2 {
    margin-bottom: .45rem;
    color: #fff;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 950;
  }
  .hero-countdown-date {
    margin-bottom: 1.25rem;
    color: rgba(255,255,255,.72);
    font-size: .92rem;
  }
  .countdown-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
  }
  .countdown-unit {
    padding: .8rem .55rem;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 12px;
    background: rgba(0, 0, 0, .38);
    text-align: center;
  }
  .countdown-unit strong {
    display: block;
    color: #fff;
    font-size: clamp(1.65rem, 3vw, 2.3rem);
    font-variant-numeric: tabular-nums;
    line-height: 1;
  }
  .countdown-unit span {
    display: block;
    margin-top: .35rem;
    color: rgba(255,255,255,.68);
    font-size: .74rem;
    font-weight: 800;
    text-transform: uppercase;
  }
  .countdown-finished {
    margin: 1rem 0 0;
    color: var(--ember);
    font-weight: 800;
  }
  .metric {
    border-left: 4px solid var(--fire-red);
    padding-left: 1rem;
  }
  .metric strong {
    display: block;
    color: #fff;
    font-size: 2rem;
    line-height: 1;
  }
  .metric span {
    color: rgba(255,255,255,.68);
    font-size: .92rem;
  }
  .section-pad {
    padding: 5.5rem 0;
  }
  #campanas {
    background-color: var(--page-tickets-bg, #F7EEC8);
    background-image:
      radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--fire-red) 13%, transparent), transparent 28%),
      radial-gradient(circle at 88% 76%, color-mix(in srgb, var(--fire-red) 11%, transparent), transparent 30%),
      repeating-linear-gradient(135deg, rgba(255, 255, 255, .18) 0 1px, transparent 1px 15px);
    background-size: auto, auto, 21px 21px;
  }
  #campanas > .container > .text-center .text-muted { color: #254E5A !important; }
  .section-title {
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    font-weight: 950;
    color: #153B49;
    letter-spacing: 0;
  }
  .raffle-card {
    height: 100%;
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 22px 55px rgba(17, 20, 39, .10);
  }
  .raffle-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
  }
  .raffle-grid-item {
    flex: 1 1 320px;
    width: 100%;
    max-width: 525px;
    min-width: 0;
  }
  .raffle-grid-empty {
    flex-basis: 100%;
    max-width: none;
  }
  .quick-pack-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    margin: 0 auto 3.5rem;
    max-width: 1400px;
  }
  .quick-pack-kicker {
    margin-bottom: .55rem;
    color: #153B49;
    font-size: 1.05rem;
    font-weight: 950;
    letter-spacing: .02em;
    text-transform: uppercase;
  }
  .quick-pack-title {
    margin-bottom: .8rem;
    color: #153B49;
    font-size: clamp(2.5rem, 5vw, 4.25rem);
    font-weight: 950;
    letter-spacing: -.04em;
    line-height: 1.02;
  }
  .quick-pack-title span {
    color: #153B49;
    text-decoration: underline;
    text-decoration-color: var(--fire-red);
    text-underline-offset: .12em;
  }
  .quick-pack-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 500px;
    padding: 1.5rem 1.35rem 1.35rem;
    border: 2px solid var(--pack-color, var(--fire-red));
    border-radius: 22px;
    background: #153B49;
    box-shadow: 0 18px 38px rgba(17, 20, 39, .09);
    text-align: center;
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .quick-pack-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 45px rgba(17, 20, 39, .14);
  }
  .quick-pack-card--1 { --pack-color: #D18F31; --pack-soft: rgba(244, 185, 66, .18); }
  .quick-pack-card--2 { --pack-color: #1B728D; --pack-soft: rgba(78, 165, 255, .18); }
  .quick-pack-card--5 { --pack-color: #D18F31; --pack-soft: rgba(255, 159, 67, .2); }
  .quick-pack-card--10 { --pack-color: #56C4D7; --pack-soft: rgba(192, 132, 252, .2); }
  .quick-pack-card--30 { --pack-color: #992915; --pack-soft: rgba(240, 108, 108, .2); }
  .quick-pack-card.is-featured {
    border-color: var(--pack-color);
    box-shadow: 0 0 0 1px var(--pack-color), 0 20px 42px rgba(0, 0, 0, .22);
  }
  .quick-pack-card .text-muted { color: #D9EFF0 !important; }
  .quick-pack-badge {
    display: inline-flex;
    align-self: center;
    align-items: center;
    justify-content: center;
    min-width: 102px;
    padding: .38rem .8rem;
    border-radius: 999px;
    background: var(--pack-color, var(--fire-red));
    color: #153B49;
    font-size: .75rem;
    font-weight: 900;
    text-transform: uppercase;
  }
  .quick-pack-savings {
    position: absolute;
    top: 1.1rem;
    right: 1rem;
    padding: .5rem .55rem;
    border-radius: 10px;
    background: var(--pack-color, var(--fire-red));
    color: #153B49;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.05;
    text-transform: uppercase;
  }
  .quick-pack-ribbon {
    position: absolute;
    top: -1.05rem;
    left: 50%;
    transform: translateX(-50%);
    padding: .55rem 1.15rem;
    border-radius: 999px;
    background: var(--pack-color);
    color: #153B49;
    font-size: .78rem;
    font-weight: 900;
    white-space: nowrap;
    text-transform: uppercase;
  }
  .quick-pack-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 130px;
    margin: 1.4rem auto 1.3rem;
    border-radius: 50%;
    background: var(--pack-soft, color-mix(in srgb, var(--fire-red) 18%, transparent));
  }
  .quick-pack-ticket {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 48px;
    border: 3px solid var(--pack-color, var(--fire-red));
    border-radius: 9px;
    color: var(--pack-color, var(--fire-red));
    font-size: 1.4rem;
    font-weight: 900;
    transform: rotate(-8deg);
  }
  .quick-pack-card h3 {
    color: var(--pack-color, var(--ember));
    font-size: 1.35rem;
    font-weight: 900;
  }
  .quick-pack-price {
    color: var(--pack-color, var(--ember));
    font-size: 1.8rem;
    font-weight: 950;
  }
  .quick-pack-price-regular {
    min-height: 1.3rem;
    margin-bottom: .1rem;
    color: #bcb39c;
    font-size: .9rem;
    font-weight: 700;
  }
  .quick-pack-savings-amount {
    min-height: 1.25rem;
    margin-top: -.65rem;
    margin-bottom: .7rem;
    color: var(--ember);
    font-size: .82rem;
    font-weight: 850;
  }
  .quick-pack-card .btn {
    width: 100%;
    margin-top: auto;
    border-color: var(--pack-color, var(--fire-red));
    background: var(--pack-color, var(--fire-red));
    color: #153B49;
  }
  .quick-pack-card .btn:hover {
    background: var(--ember);
    border-color: var(--ember);
    color: #153B49;
  }
  .how-to-buy {
    max-width: 1050px;
    margin: 0 auto 4rem;
    padding: .45rem;
    border: 1px solid color-mix(in srgb, var(--fire-red) 24%, transparent);
    border-radius: 24px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 20px 45px rgba(17, 20, 39, .09);
  }
  .how-to-buy__inner {
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
  }
  .how-to-buy__step {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr) 30px;
    align-items: center;
    gap: 1rem;
    padding: 1.3rem 1.5rem;
    border-bottom: 1px solid #E6D8A8;
  }
  .how-to-buy__step:last-child {
    border-bottom: 0;
  }
  .how-to-buy__number {
    color: #1B728D;
    font-size: .92rem;
    font-weight: 950;
    letter-spacing: .08em;
  }
  .how-to-buy__title {
    margin: 0;
    color: #153B49;
    font-size: 1.08rem;
    font-weight: 900;
    letter-spacing: .01em;
    text-transform: uppercase;
  }
  .how-to-buy__copy {
    margin: .25rem 0 0;
    color: #45604a;
    font-size: .98rem;
  }
  .how-to-buy__arrow {
    color: var(--fire-red);
    font-size: 1.5rem;
    font-weight: 900;
    text-align: right;
  }
  .how-to-buy__cta {
    display: flex;
    justify-content: center;
    padding: 1.5rem 1rem 1.25rem;
  }
  .how-to-buy__cta .btn {
    min-width: 245px;
    padding: .9rem 1.5rem;
    border-color: var(--fire-red);
    background: var(--fire-red);
    color: #153B49;
    font-size: .95rem;
    font-weight: 950;
    letter-spacing: .04em;
  }
  .how-to-buy__cta .btn:hover {
    border-color: #155D73;
    background: #155D73;
    color: #fff;
  }
  @media (max-width: 700px) {
    .how-to-buy__step {
      grid-template-columns: 75px minmax(0, 1fr) 20px;
      gap: .7rem;
      padding: 1.1rem 1rem;
    }
    .how-to-buy__title {
      font-size: .92rem;
    }
    .how-to-buy__copy {
      font-size: .88rem;
      line-height: 1.4;
    }
  }
  .bases-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    max-width: 1060px;
    margin: 0 auto;
    padding: 1.5rem 1.75rem;
    border: 1px solid var(--fire-red);
    border-radius: 18px;
    background: #153B49;
    box-shadow: 0 16px 34px rgba(17, 20, 39, .07);
  }
  .bases-cta h3 {
    margin: 0 0 .3rem;
    color: var(--ember);
    font-size: 1.35rem;
    font-weight: 900;
  }
  .bases-cta p {
    margin: 0;
    color: #D9EFF0;
  }
  @media (max-width: 575.98px) {
    .bases-cta {
      align-items: stretch;
      flex-direction: column;
    }
    .bases-cta .btn {
      width: 100%;
    }
  }
  @media (max-width: 1100px) {
    .quick-pack-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      max-width: 760px;
    }
  }
  @media (max-width: 575.98px) {
    .quick-pack-grid {
      grid-template-columns: 1fr;
    }
    .quick-pack-card {
      min-height: 440px;
    }
  }
  .home-prizes {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--paper);
    color: var(--ink);
  }
  .home-prizes::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    content: "";
    background:
      radial-gradient(circle at 7% 12%, color-mix(in srgb, var(--fire-red) 10%, transparent), transparent 28%),
      radial-gradient(circle at 94% 84%, color-mix(in srgb, var(--ember) 12%, transparent), transparent 30%);
  }
  .home-prizes::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    content: "";
    opacity: .38;
    background-image:
      linear-gradient(125deg, transparent 0 48%, color-mix(in srgb, var(--ember) 55%, transparent) 49% 52%, transparent 53%),
      linear-gradient(35deg, transparent 0 48%, color-mix(in srgb, var(--fire-red) 50%, transparent) 49% 52%, transparent 53%);
    background-position: 7% 10%, 92% 18%;
    background-repeat: no-repeat;
    background-size: 22px 35px, 19px 31px;
    pointer-events: none;
  }
  .home-prizes > .container {
    position: relative;
    z-index: 1;
  }
  .home-prizes .section-title { color: var(--ink); }
  .home-prizes .text-muted { color: color-mix(in srgb, var(--ink) 70%, var(--paper)) !important; }
  .home-prize-group + .home-prize-group {
    margin-top: 3rem;
  }
  .home-prize-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: 1rem;
    padding: .4rem 1.25rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--fire-red) 70%, transparent);
    color: var(--ember);
    background: rgba(7, 16, 8, .54);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
    box-shadow: 0 8px 20px color-mix(in srgb, var(--fire-red) 16%, transparent);
  }
  .home-prize-heading {
    margin-bottom: 2.75rem;
  }
  .home-prize-heading .section-title span {
    color: var(--ember);
  }
  .home-prize-heading p {
    max-width: 850px;
    margin-right: auto;
    margin-left: auto;
  }
  .home-prize-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    max-width: 1150px;
    margin: 0 auto;
  }
  .home-prize-grid--campaign { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-prize-card--campaign { min-width: 0; border-color: color-mix(in srgb, var(--fire-red) 22%, transparent); background: linear-gradient(145deg, #fffdf6, #f6edcf); }
  .home-prize-card--campaign .home-prize-visual { height: 245px; background: #fff; }
  .home-prize-card--campaign .home-prize-body h3 { align-self: flex-start; border-radius: 8px; padding: 0; color: var(--fire-red-dark); background: transparent; font-size: 1.18rem; text-transform: none; white-space: normal; }
  .home-prize-card--campaign .home-prize-description { color: #254E5A; }
  .campaign-prize-gallery { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); grid-template-rows: repeat(2, 1fr); gap: 4px; width: 100%; height: 100%; background: #fff; }
  .campaign-prize-gallery img { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; background: #fff; }
  .campaign-prize-gallery img:first-child { grid-row: 1 / span 2; }
  .campaign-prize-gallery--single { display: block; }
  .campaign-prize-gallery--single img { object-fit: cover; }
  .home-prize-card {
    --prize-color: var(--fire-red);
    --prize-soft: #122615;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--ember) 42%, transparent);
    border-radius: 22px;
    background: linear-gradient(145deg, #fffefa, #f1f8f5);
    box-shadow: 0 14px 32px rgba(18, 57, 70, .12), 0 0 0 1px color-mix(in srgb, var(--fire-red) 10%, transparent);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
  }
  .home-prize-card:hover {
    transform: translateY(-5px);
    border-color: color-mix(in srgb, var(--ember) 72%, transparent);
    box-shadow: 0 20px 38px rgba(18, 57, 70, .18), 0 0 0 1px color-mix(in srgb, var(--ember) 16%, transparent);
  }
  .home-prize-card:nth-child(even) {
    --prize-color: var(--ember);
    --prize-soft: #1b361d;
  }
  .home-prize-visual {
    position: relative;
    height: 270px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: radial-gradient(circle at 72% 30%, color-mix(in srgb, var(--fire-red) 12%, transparent), transparent 34%), color-mix(in srgb, var(--paper) 70%, #d5f1eb);
  }
  .home-prize-visual::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background: linear-gradient(180deg, rgba(10, 18, 38, 0) 70%, rgba(10, 18, 38, .04) 100%);
  }
  .home-prize-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home-prize-label {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    min-width: 112px;
    padding: .75rem 1rem .85rem;
    border-radius: 0 0 18px 0;
    color: #153B49;
    background: var(--prize-color);
    line-height: 1;
    text-align: center;
  }
  .home-prize-label span {
    display: block;
    margin-bottom: .35rem;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .04em;
  }
  .home-prize-label strong {
    display: block;
    font-size: 2.7rem;
    font-weight: 950;
  }
  .home-prize-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.5rem 1.5rem 1.25rem;
  }
  .home-prize-body h3 {
    margin-bottom: .6rem;
    color: var(--fire-red-dark);
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    font-weight: 950;
  }
  .home-prize-description {
    min-height: 3.2rem;
    margin-bottom: 1.5rem;
    color: #254E5A;
  }
  .home-prize-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: auto;
    padding: 1rem 0 0;
    border-top: 1px solid color-mix(in srgb, var(--ember) 20%, transparent);
    color: #254E5A;
  }
  .home-prize-value {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .45rem .7rem;
  }
  .home-prize-footer strong {
    color: var(--fire-red-dark);
    font-size: clamp(1.55rem, 3vw, 2rem);
    font-weight: 950;
  }
  .home-prize-footer-label {
    display: block;
    color: #254E5A;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .home-prize-footer-action {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem .85rem;
    border-radius: 999px;
    color: #153B49;
    background: var(--ember);
    font-size: .7rem;
    font-weight: 950;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .home-prize-card--compact .home-prize-visual {
    height: 185px;
  }
  .home-prize-card--compact .home-prize-body {
    padding-top: 1.1rem;
  }
  .home-prize-card--compact .home-prize-description {
    min-height: 2.8rem;
  }
  .home-prize-placeholder {
    color: var(--prize-color);
    font-size: 6rem;
    font-weight: 950;
  }
  @media (max-width: 767.98px) {
    .home-prize-grid {
      grid-template-columns: 1fr;
    }
    .home-prize-grid--campaign { grid-template-columns: 1fr; }
    .home-prize-visual {
      height: 235px;
    }
    .home-prize-card--compact .home-prize-visual {
      height: 235px;
    }
    .home-prize-card--compact .home-prize-body {
      padding: 1.5rem;
    }
  }
  .raffle-card-visual {
    position: relative;
    min-height: 245px;
    overflow: hidden;
    background:
      linear-gradient(135deg, color-mix(in srgb, var(--fire-red) 92%, transparent), rgba(7, 16, 8,.92)),
      repeating-linear-gradient(45deg, rgba(255,255,255,.16) 0 1px, transparent 1px 13px);
  }
  .raffle-card-visual > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .raffle-card-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 13, 24, .04) 25%, rgba(5, 13, 24, .82) 100%);
  }
  .raffle-card-top {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #fff;
    padding: 1.4rem;
  }
  .things-to-do {
    background: #F0DF99;
    padding: 5.5rem 0;
  }
  .things-to-do .hero-kicker,
  .things-to-do .section-title { color: #153B49 !important; }
  .things-to-do .text-muted { color: #254E5A !important; }
  .things-to-do-heading {
    max-width: 700px;
  }
  .things-to-do-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
  .things-to-do-card {
    position: relative;
    min-height: 280px;
    grid-column: auto;
    overflow: hidden;
    border-radius: 18px;
    background: #153B49;
    box-shadow: 0 18px 45px rgba(17, 20, 39, .12);
  }
  .things-to-do-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
  }
  .cabin-gallery,
  .cabin-gallery .carousel-inner,
  .cabin-gallery .carousel-item {
    height: 100%;
  }
  .cabin-gallery {
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  .cabin-gallery .carousel-item img {
    transition: none;
  }
  .cabin-gallery .carousel-control-prev,
  .cabin-gallery .carousel-control-next {
    z-index: 2;
    width: 12%;
  }
  .things-to-do-card:hover img {
    transform: scale(1.05);
  }
  .things-to-do-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 28%, rgba(6, 18, 35, .88) 100%);
  }
  .things-to-do-copy {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    padding: 1.25rem;
    color: #fff;
  }
  .things-to-do-copy h3 {
    margin: 0 0 .25rem;
    font-size: 1.35rem;
    font-weight: 900;
  }
  .things-to-do-copy p {
    margin: 0;
    color: rgba(255,255,255,.78);
  }
  @media (max-width: 767.98px) {
    .things-to-do-grid {
      grid-template-columns: 1fr;
    }
    .things-to-do-card,
    .things-to-do-card:nth-child(4),
    .things-to-do-card:nth-child(5) {
      grid-column: auto;
      min-height: 230px;
    }
  }
  .progress-fire {
    height: 10px;
    border-radius: 999px;
    background: #eceff5;
    overflow: hidden;
  }
  .progress-fire span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--fire-red), var(--ember));
  }
  .step-card {
    background: var(--page-tickets-bg, #F7EEC8);
    border: 1px solid var(--fire-red);
    border-radius: 12px;
    padding: 1.5rem;
    height: 100%;
  }
  #como-funciona { background: #153B49; }
  #como-funciona .text-muted { color: #D9EFF0 !important; }
  #como-funciona .step-card .text-muted { color: #254E5A !important; }
  .step-num {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #153B49;
    color: var(--ember);
    display: grid;
    place-items: center;
    font-weight: 900;
    margin-bottom: 1rem;
  }
  .cta-band {
    background: #153B49;
    color: var(--ember);
    border-radius: 18px;
    padding: 2rem;
  }
  .home-footer {
    background: #12596E;
    color: #fff;
    padding: 4.5rem 0 1.5rem;
  }
  .footer-brand-mark {
    position: relative;
    width: 34px;
    height: 38px;
    display: inline-block;
    background: var(--fire-red);
    border-radius: 7px 7px 5px 5px;
    box-shadow: inset 0 -6px 0 rgba(0,0,0,.16);
  }
  .footer-brand-mark::before {
    content: "";
    position: absolute;
    width: 25px;
    height: 8px;
    right: -14px;
    top: 6px;
    background: var(--fire-red);
    border-radius: 2px;
    transform: rotate(-8deg);
  }
  .footer-brand-mark::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    left: -5px;
    top: -5px;
    border: 3px solid var(--fire-red);
    border-radius: 50%;
  }
  .footer-title {
    color: var(--ember);
    font-size: .86rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .footer-link {
    display: inline-flex;
    color: rgba(255,255,255,.68);
    font-weight: 700;
    text-decoration: none;
    transition: color .18s ease;
  }
  .footer-link:hover {
    color: var(--ember);
  }
  .footer-contact {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    background: rgba(255,255,255,.06);
    padding: 1rem;
  }
  @media (prefers-reduced-motion: reduce) {
    .sticker-stream__card { animation-play-state: paused; }
  }
