:root {
  --tp-primary: #008DBB;
  --tp-secondary: #005D7A;
  --tp-text: #F2FAFC;
  --tp-accent: #F4C95D;
  --tp-background: #06171D;
  --tp-surface: #0B2731;
  --tp-border: #195064;
  --tp-muted: #BBD2D9;
  --tp-deep: #031015;
  --tp-shadow: 0 24px 60px rgba(0, 0, 0, .32);
}

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden; }
body { margin: 0; background: var(--tp-background); color: var(--tp-text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.7; }
main, section, article, figure, img, a, button, h1, h2, h3, p, figcaption { max-width: 100%; }
h1, h2, h3, p, a, button, figcaption, summary, th, td { overflow-wrap: anywhere; word-break: normal; white-space: normal; }
img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: cover; }
a { color: var(--tp-accent); text-underline-offset: 4px; }

.tau77-promos-a { width: 100%; min-width: 0; background: radial-gradient(circle at 8% 7%, rgba(0, 141, 187, .25), transparent 32rem), radial-gradient(circle at 96% 46%, rgba(0, 93, 122, .2), transparent 34rem), var(--tp-background); }
.tau77-promos-a > section { width: min(1160px, calc(100% - 40px)); min-width: 0; margin: 0 auto; padding: 76px 0; }
.tau77-rewards-entry, .tau77-welcome-focus, .tau77-event-window, .tau77-mobile-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 52px; align-items: center; }
.tau77-rewards-entry > *, .tau77-rewards-actions > *, .tau77-rewards-tags > *, .tau77-promo-showcase > *, .tau77-welcome-focus > *, .tau77-welcome-checks > *, .tau77-type-panels > *, .tau77-event-window > *, .tau77-claim-steps > *, .tau77-mobile-benefits > *, .tau77-final-actions > * { min-width: 0; }
.tau77-rewards-entry { min-height: 680px; }
.tau77-promos-kicker, .tau77-promos-heading > span { display: inline-flex; align-items: center; color: var(--tp-accent); font-size: .82rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.tau77-promos-heading > span::before { width: 30px; height: 2px; margin-right: 11px; background: var(--tp-primary); content: ""; }
.tau77-rewards-copy h1 { margin: 16px 0 21px; font-size: clamp(2.65rem, 6vw, 5rem); line-height: 1.01; letter-spacing: -.05em; }
.tau77-rewards-copy h1 strong, .tau77-promos-heading h2 strong, .tau77-claim-flow h2 strong, .tau77-promos-final h2 strong { color: var(--tp-primary); }
.tau77-rewards-copy > p, .tau77-promos-heading p, .tau77-welcome-copy > p, .tau77-type-panels p, .tau77-event-copy > p, .tau77-mobile-copy > p, .tau77-promos-final > p { color: var(--tp-muted); }
.tau77-rewards-actions, .tau77-final-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 28px; }
.tau77-promo-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 14px 24px; border: 1px solid transparent; border-radius: 12px; font-weight: 850; line-height: 1.2; text-align: center; text-decoration: none; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.tau77-promo-button:hover { transform: translateY(-2px); }
.tau77-promo-primary { background: var(--tp-primary); color: #021014; box-shadow: 0 14px 30px rgba(0, 141, 187, .25); }
.tau77-promo-primary:hover { background: #2BC2F1; color: #021014; }
.tau77-promo-outline { border-color: var(--tp-border); background: rgba(11, 39, 49, .74); color: var(--tp-text); }
.tau77-promo-outline:hover { border-color: var(--tp-primary); background: var(--tp-secondary); color: #FFFFFF; }
.tau77-promo-gold { background: var(--tp-accent); color: #1B1503; }
.tau77-promo-gold:hover { background: #FFE08A; color: #1B1503; }
.tau77-promo-dark { border-color: rgba(255, 255, 255, .32); background: rgba(3, 16, 21, .82); color: #FFFFFF; }
.tau77-promo-dark:hover { border-color: var(--tp-primary); background: var(--tp-surface); color: var(--tp-accent); }
.tau77-rewards-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.tau77-rewards-tags span { padding: 7px 11px; border: 1px solid var(--tp-border); border-radius: 999px; background: rgba(11, 39, 49, .78); color: var(--tp-muted); font-size: .85rem; }
.tau77-rewards-visual, .tau77-welcome-image, .tau77-types-image, .tau77-event-image, .tau77-mobile-image { margin: 0; min-width: 0; }
.tau77-rewards-visual { justify-self: center; width: min(100%, 500px); padding: 12px; border: 1px solid var(--tp-primary); border-radius: 30px; background: linear-gradient(145deg, rgba(0, 141, 187, .23), var(--tp-surface)); box-shadow: var(--tp-shadow); }
.tau77-rewards-visual img { min-height: 535px; border-radius: 21px; }
.tau77-rewards-visual figcaption, .tau77-types-image figcaption, .tau77-event-image figcaption { padding: 13px 8px 3px; color: var(--tp-muted); font-size: .86rem; text-align: center; }

.tau77-promos-heading { max-width: 800px; margin: 0 auto 36px; text-align: center; }
.tau77-heading-left { margin-left: 0; text-align: left; }
.tau77-promos-heading h2, .tau77-welcome-copy h2, .tau77-event-copy h2, .tau77-mobile-copy h2, .tau77-promos-final h2 { margin: 10px 0 15px; font-size: clamp(2.05rem, 4.2vw, 3.2rem); line-height: 1.1; letter-spacing: -.035em; }
.tau77-promo-showcase { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.tau77-promo-tile { position: relative; overflow: hidden; padding: 27px; border: 1px solid var(--tp-border); border-radius: 20px; background: linear-gradient(150deg, rgba(0, 141, 187, .11), rgba(11, 39, 49, .96)); }
.tau77-promo-tile::after { position: absolute; right: -45px; bottom: -55px; width: 130px; height: 130px; border: 1px solid rgba(0, 141, 187, .24); border-radius: 50%; content: ""; }
.tau77-promo-tile-main { border-color: var(--tp-primary); background: linear-gradient(145deg, rgba(0, 141, 187, .25), var(--tp-surface)); }
.tau77-promo-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: var(--tp-primary); color: #021014; font-size: 1.35rem; }
.tau77-promo-label { margin: 18px 0 4px; color: var(--tp-accent); font-size: .78rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.tau77-promo-tile h3 { margin: 0 0 9px; font-size: 1.45rem; }
.tau77-promo-tile > p:not(.tau77-promo-label) { margin: 0 0 16px; color: var(--tp-muted); }
.tau77-promo-tile a { position: relative; z-index: 1; font-weight: 850; }

.tau77-welcome-focus, .tau77-event-window, .tau77-before-activate, .tau77-mobile-benefits { border-top: 1px solid rgba(25, 80, 100, .62); }
.tau77-welcome-image img, .tau77-event-image img, .tau77-mobile-image img { min-height: 440px; border: 1px solid var(--tp-border); border-radius: 24px; box-shadow: var(--tp-shadow); }
.tau77-welcome-checks { display: grid; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.tau77-welcome-checks li { display: flex; gap: 14px; padding: 16px; border: 1px solid var(--tp-border); border-radius: 14px; background: rgba(11, 39, 49, .8); }
.tau77-welcome-checks li > span { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; background: var(--tp-primary); color: #021014; font-size: .8rem; font-weight: 900; }
.tau77-welcome-checks h3 { margin: 0 0 3px; font-size: 1rem; }
.tau77-welcome-checks p { margin: 0; color: var(--tp-muted); font-size: .9rem; }

.tau77-bonus-types { padding-bottom: 54px !important; }
.tau77-type-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.tau77-type-panels article { padding: 25px; border-left: 3px solid var(--tp-primary); background: rgba(11, 39, 49, .8); }
.tau77-type-top { display: flex; gap: 12px; align-items: center; }
.tau77-type-top > span { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 50%; background: rgba(0, 141, 187, .2); }
.tau77-type-top h3 { margin: 0; font-size: 1.23rem; }
.tau77-type-panels article > p { margin: 13px 0 0; }
.tau77-types-image { width: 100%; margin-top: 24px; padding: 9px; border: 1px solid var(--tp-border); border-radius: 22px; background: var(--tp-surface); }
.tau77-types-image img { max-height: 450px; border-radius: 16px; }

.tau77-promo-matrix { width: min(1220px, calc(100% - 40px)) !important; padding: 58px 30px !important; border: 1px solid var(--tp-border); border-radius: 25px; background: rgba(11, 39, 49, .86); }
.tau77-matrix-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--tp-border); border-radius: 16px; }
.tau77-matrix-wrap table { width: 100%; min-width: 790px; border-collapse: collapse; }
.tau77-matrix-wrap th, .tau77-matrix-wrap td { padding: 17px 16px; border-bottom: 1px solid var(--tp-border); text-align: left; vertical-align: top; }
.tau77-matrix-wrap th { background: var(--tp-secondary); color: #FFFFFF; font-size: .9rem; }
.tau77-matrix-wrap td { color: var(--tp-muted); }
.tau77-matrix-wrap tr:last-child td { border-bottom: 0; }
.tau77-matrix-wrap td a { font-weight: 850; }

.tau77-event-copy .tau77-inline-action { display: inline-block; margin-top: 12px; font-weight: 850; }
.tau77-before-activate { display: flex; gap: 30px; align-items: end; justify-content: space-between; }
.tau77-before-activate > * { min-width: 0; }
.tau77-before-activate .tau77-promos-heading { flex: 1 1 720px; margin-bottom: 0; }
.tau77-activation-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); flex: 1 1 360px; gap: 10px; }
.tau77-activation-notes > * { min-width: 0; }
.tau77-activation-notes span { padding: 15px; border: 1px solid var(--tp-border); border-radius: 13px; background: rgba(11, 39, 49, .86); color: var(--tp-text); font-weight: 780; text-align: center; }
.tau77-claim-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.tau77-claim-steps li { padding: 21px; border-top: 2px solid var(--tp-primary); background: linear-gradient(180deg, rgba(0, 141, 187, .12), rgba(11, 39, 49, .8)); }
.tau77-claim-steps li > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: var(--tp-primary); color: #021014; font-weight: 900; }
.tau77-claim-steps h3 { margin: 15px 0 7px; font-size: 1.08rem; }
.tau77-claim-steps p { margin: 0; color: var(--tp-muted); font-size: .9rem; }
.tau77-mobile-copy .tau77-promo-button { margin-top: 13px; }

.tau77-promo-questions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.tau77-promo-questions details { align-self: start; border: 1px solid var(--tp-border); border-radius: 14px; background: rgba(11, 39, 49, .9); }
.tau77-promo-questions details[open] { border-color: var(--tp-primary); }
.tau77-promo-questions summary { padding: 18px 20px; font-weight: 820; cursor: pointer; }
.tau77-promo-questions p { margin: 0; padding: 0 20px 19px; color: var(--tp-muted); }

.tau77-promos-final { margin-bottom: 68px !important; padding: 58px !important; border: 1px solid var(--tp-primary); border-radius: 28px; background: radial-gradient(circle at 50% 0, rgba(244, 201, 93, .11), transparent 18rem), linear-gradient(120deg, rgba(0, 141, 187, .3), rgba(0, 93, 122, .14)), var(--tp-surface); text-align: center; box-shadow: var(--tp-shadow); }
.tau77-final-mark { display: grid; width: 58px; height: 58px; margin: 0 auto; place-items: center; border-radius: 17px; background: var(--tp-accent); color: #1B1503; font-size: 1.75rem; }
.tau77-final-label { margin: 16px 0 0; color: var(--tp-accent) !important; font-size: .8rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.tau77-promos-final > p:last-of-type { max-width: 760px; margin: 0 auto; }
.tau77-final-actions { justify-content: center; }

@media (max-width: 980px) {
  .tau77-rewards-entry, .tau77-welcome-focus, .tau77-event-window, .tau77-mobile-benefits { grid-template-columns: 1fr; }
  .tau77-before-activate { align-items: stretch; flex-direction: column; }
  .tau77-before-activate .tau77-promos-heading, .tau77-activation-notes { flex-basis: auto; }
  .tau77-rewards-visual { width: min(100%, 680px); }
  .tau77-welcome-image, .tau77-event-image, .tau77-mobile-image { order: -1; }
  .tau77-claim-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .tau77-promo-showcase, .tau77-type-panels, .tau77-promo-questions { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .tau77-promos-a > section { width: min(100% - 24px, 1160px); padding: 48px 0; }
  .tau77-rewards-entry { gap: 28px; min-height: 0; padding-top: 38px !important; }
  .tau77-rewards-copy h1 { font-size: clamp(2.15rem, 11.5vw, 3.15rem); }
  .tau77-promos-heading h2, .tau77-welcome-copy h2, .tau77-event-copy h2, .tau77-mobile-copy h2, .tau77-promos-final h2 { font-size: clamp(1.7rem, 8.6vw, 2.25rem); }
  .tau77-rewards-actions, .tau77-final-actions { gap: 9px; }
  .tau77-promo-button, .tau77-rewards-actions a, .tau77-final-actions a, .tau77-mobile-copy .tau77-promo-button { width: 100%; max-width: 100%; }
  .tau77-rewards-visual img, .tau77-welcome-image img, .tau77-event-image img, .tau77-mobile-image img { min-height: 270px; }
  .tau77-promo-tile, .tau77-type-panels article { padding: 20px; }
  .tau77-claim-steps { grid-template-columns: 1fr; gap: 9px; }
  .tau77-activation-notes { grid-template-columns: 1fr; }
  .tau77-promo-matrix { width: min(100% - 24px, 1160px) !important; padding: 34px 14px !important; }
  .tau77-matrix-wrap th, .tau77-matrix-wrap td { padding: 14px 12px; }
  .tau77-promos-final { margin-bottom: 36px !important; padding: 38px 20px !important; }
  .tau77-rewards-tags { gap: 7px; }
}
