.ttsf,
.ttsf *,
.ttsf-landing,
.ttsf-landing * { box-sizing: border-box; }
.ttsf[hidden] { display: none !important; }
.ttsf { align-items: center; display: flex; inset: 0; justify-content: center; padding: 24px; position: fixed; z-index: 1000000; }
.ttsf__backdrop { animation: ttsf-fade-in .35s ease both; backdrop-filter: blur(9px); background: rgba(7,8,11,.78); cursor: pointer; inset: 0; position: absolute; }
.ttsf__dialog { animation: ttsf-arrive .5s cubic-bezier(.2,.75,.25,1) both; background: #fff; border-radius: 22px; box-shadow: 0 32px 100px rgba(0,0,0,.52); color: #111318; display: grid; font-family: "Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif; grid-template-columns: 1.05fr .95fr; max-height: min(650px,calc(100vh - 40px)); max-width: 960px; min-height: 540px; overflow: hidden; position: relative; width: 100%; }
.ttsf__close { align-items: center; appearance: none; background: #fff; border: 0; border-radius: 50%; box-shadow: 0 8px 24px rgba(13,15,19,.12); cursor: pointer; display: flex; height: 42px; justify-content: center; margin: 0; min-height: 42px; min-width: 42px; padding: 0; position: absolute; right: 18px; top: 18px; transition: background .2s ease,transform .2s ease; width: 42px; z-index: 8; }
.ttsf__close:hover,.ttsf__close:focus-visible { background: #e2001a; outline: none; transform: rotate(5deg); }
.ttsf__close span { background: #111318; height: 1.5px; left: 13px; position: absolute; top: 20px; transform: rotate(45deg); width: 16px; }
.ttsf__close span + span { transform: rotate(-45deg); }
.ttsf__close:hover span,.ttsf__close:focus-visible span { background: #fff; }
.ttsf__copy { align-self: center; padding: 52px 38px 48px 58px; position: relative; z-index: 2; }
.ttsf__copy::before { background: #e2001a; content: ""; height: 6px; left: 0; position: absolute; top: 0; width: 100%; }
.ttsf__eyebrow { align-items: center; color: #6b6e76; display: flex; font-size: 11px; font-weight: 800; gap: 9px; letter-spacing: .13em; line-height: 1.4; margin: 0 0 28px; text-transform: uppercase; }
.ttsf__eyebrow span { background: #e2001a; border-radius: 50%; box-shadow: 0 0 0 5px rgba(226,0,26,.1); height: 7px; width: 7px; }
.ttsf__saving { align-items: center; background: #e2001a; border-radius: 5px 999px 999px 5px; color: #fff; display: inline-flex; font-size: 19px; font-weight: 850; letter-spacing: -.02em; line-height: 1; margin: 0 0 18px; padding: 12px 17px; text-transform: uppercase; transform: rotate(-1.5deg); }
.ttsf__saving span { border-left: 1px solid rgba(255,255,255,.38); font-size: 9px; letter-spacing: .09em; line-height: 1.2; margin-left: 11px; max-width: 88px; padding-left: 11px; }
.ttsf__title { color: #111318 !important; font-size: clamp(44px,5vw,66px) !important; font-weight: 750 !important; letter-spacing: -.06em !important; line-height: .91 !important; margin: 0 0 24px !important; text-transform: uppercase !important; }
.ttsf__title em { color: #e2001a; font-style: normal; }
.ttsf__description { color: #555962; font-size: 16px; line-height: 1.55; margin: 0 0 27px; max-width: 430px; }
.ttsf__cta { align-items: center; background: #111318; border: 1px solid #111318; border-radius: 999px; color: #fff !important; display: inline-flex; font-size: 14px; font-weight: 750; gap: 24px; justify-content: center; min-height: 50px; padding: 12px 20px 12px 24px; text-decoration: none !important; transition: background .2s ease,border-color .2s ease,transform .2s ease; }
.ttsf__cta:hover,.ttsf__cta:focus-visible { background: #e2001a; border-color: #e2001a; color: #fff !important; outline: none; transform: translateY(-2px); }
.ttsf__cta span { font-size: 20px; font-weight: 400; line-height: 1; }
.ttsf__fineprint { color: #989ba2; font-size: 10px; line-height: 1.4; margin: 14px 0 0; }
.ttsf__product { background: radial-gradient(circle at 80% 12%,rgba(226,0,26,.15),transparent 31%),linear-gradient(145deg,#faf9f7,#efefec); overflow: hidden; position: relative; }
.ttsf__product::before,.ttsf__product::after { border: 1px solid rgba(17,19,24,.09); border-radius: 50%; content: ""; height: 380px; position: absolute; right: -210px; top: -160px; width: 380px; }
.ttsf__product::after { bottom: -150px; height: 270px; left: -150px; right: auto; top: auto; width: 270px; }
.ttsf__free { align-items: center; background: #e2001a; border-radius: 50%; box-shadow: 0 14px 30px rgba(226,0,26,.28); color: #fff; display: flex; flex-direction: column; height: 94px; justify-content: center; left: 24px; line-height: 1; margin: 0; position: absolute; top: 28px; transform: rotate(-9deg); width: 94px; z-index: 5; }
.ttsf__free span { font-size: 11px; font-weight: 850; letter-spacing: .14em; margin-bottom: 3px; }
.ttsf__free strong { color: #fff; font-size: 28px; letter-spacing: -.05em; }
.ttsf__system-wrap { filter: drop-shadow(0 25px 24px rgba(12,15,20,.17)); position: absolute; right: -58px; top: 82px; transform: rotate(7deg); width: 116%; z-index: 2; }
.ttsf__battery-wrap { bottom: 38px; filter: drop-shadow(0 16px 15px rgba(12,15,20,.18)); position: absolute; right: 30px; transform: rotate(-13deg); width: 37%; z-index: 4; }
.ttsf__system-wrap img,.ttsf__battery-wrap img { display: block; height: auto; mix-blend-mode: multiply; width: 100%; }
.ttsf__plus { align-items: center; background: #111318; border-radius: 50%; bottom: 106px; color: #fff; display: flex; font-size: 29px; font-weight: 400; height: 50px; justify-content: center; left: 70px; line-height: 1; position: absolute; width: 50px; z-index: 5; }
.ttsf__product-name { bottom: 34px; color: #111318; font-size: 11px; font-weight: 800; left: 30px; letter-spacing: .08em; line-height: 1.4; margin: 0; position: absolute; text-transform: uppercase; z-index: 5; }
.ttsf__product-name span { color: #e2001a; }
body.ttsf-lock { overflow: hidden !important; }

/* Lifestyle popup artwork */
.ttsf__dialog { background: #0b0d11; grid-template-columns: .9fr 1.1fr; max-width: 1040px; }
.ttsf__copy { background: #0b0d11; }
.ttsf__eyebrow { color: rgba(255,255,255,.62); }
.ttsf__saving { border-radius: 999px; font-size: 11px; letter-spacing: .12em; padding: 11px 15px; transform: none; }
.ttsf__title { color: #fff !important; font-size: clamp(42px,4.7vw,64px) !important; text-transform: none !important; }
.ttsf__description { color: rgba(255,255,255,.7); }
.ttsf__cta { background: #e2001a; border-color: #e2001a; }
.ttsf__cta:hover,.ttsf__cta:focus-visible { background: #ff1833; border-color: #ff1833; }
.ttsf__fineprint { color: rgba(255,255,255,.38); }
.ttsf__product { background: #121318; min-width: 0; }
.ttsf__product::before,.ttsf__product::after { display: none; }
.ttsf__lifestyle { display: block; height: 100%; inset: 0; object-fit: cover; object-position: center; position: absolute; transform: scale(1.12); width: 100%; }
.ttsf__battery-offer { align-items: center; background: rgba(255,255,255,.97); border: 1px solid rgba(255,255,255,.88); border-radius: 16px; bottom: 22px; box-shadow: 0 18px 42px rgba(0,0,0,.36); display: grid; grid-template-columns: 1fr 92px; min-height: 112px; overflow: hidden; padding: 15px 10px 15px 18px; position: absolute; right: 20px; width: 268px; z-index: 4; }
.ttsf__battery-offer-copy { display: flex; flex-direction: column; position: relative; z-index: 2; }
.ttsf__battery-offer-copy span { color: #24272d; font-size: 11px; font-weight: 800; letter-spacing: .11em; line-height: 1.15; text-transform: uppercase; }
.ttsf__battery-offer-copy strong { color: #e2001a; font-size: 42px; font-weight: 850; letter-spacing: -.055em; line-height: .95; }
.ttsf__battery-offer img { display: block; height: auto; mix-blend-mode: multiply; transform: rotate(-10deg) scale(1.18); width: 100%; }

/* Campaign landing page */
body.ttsf-landing-page,body.ttsf-landing-page #wrapper,body.ttsf-landing-page #main { background: #090a0d !important; margin-bottom: 0 !important; min-height: 100%; padding: 0 !important; }
.ttsf-landing { color: #fff; font-family: "Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif; }
.ttsf-landing__hero { align-items: center; background-image: var(--ttsf-hero); background-position: center center; background-size: cover; display: flex; isolation: isolate; min-height: 100vh; min-height: 100svh; overflow: hidden; padding: 108px clamp(28px,6.7vw,110px) 52px; position: relative; }
.ttsf-landing__shade { background: linear-gradient(90deg,rgba(6,7,9,.96) 0%,rgba(6,7,9,.76) 34%,rgba(6,7,9,.08) 63%,rgba(6,7,9,.08) 100%),linear-gradient(0deg,rgba(5,6,8,.6),transparent 31%); inset: 0; position: absolute; z-index: -1; }
.ttsf-landing__content { max-width: 590px; position: relative; z-index: 2; width: 100%; }
.ttsf-landing__eyebrow { align-items: center; color: rgba(255,255,255,.72); display: flex; font-size: 11px; font-weight: 800; gap: 10px; letter-spacing: .15em; margin: 0 0 22px; text-transform: uppercase; }
.ttsf-landing__eyebrow span { background: #e2001a; border-radius: 50%; box-shadow: 0 0 0 6px rgba(226,0,26,.14); height: 7px; width: 7px; }
.ttsf-landing h1 { color: #fff !important; font-size: clamp(48px,5.2vw,78px) !important; font-weight: 650 !important; letter-spacing: -.058em !important; line-height: .95 !important; margin: 0 0 20px !important; text-transform: none !important; }
.ttsf-landing h1 em { color: #ff233c; font-style: normal; }
.ttsf-landing__lead { color: rgba(255,255,255,.76); font-size: 16px; line-height: 1.55; margin: 0 0 18px; max-width: 510px; }
.ttsf-landing__finder { margin: 0 0 14px; max-width: 520px; }
.ttsf-landing__finder-heading { align-items: baseline; display: flex; gap: 12px; justify-content: space-between; margin: 0 2px 8px; }
.ttsf-landing__finder-heading h2 { color: #fff !important; font-size: 15px !important; font-weight: 750 !important; letter-spacing: -.01em !important; line-height: 1.25 !important; margin: 0 !important; text-transform: none !important; }
.ttsf-landing__finder-heading p { color: rgba(255,255,255,.5); font-size: 10px; line-height: 1.3; margin: 0; text-align: right; }
.ttsf-landing__finder .ttgf-finder { --ttgf-red: #ff1732; background: rgba(10,11,14,.86); border: 1px solid rgba(255,255,255,.22); border-radius: 13px; box-shadow: 0 16px 38px rgba(0,0,0,.24); color: #fff; margin: 0; max-width: none; padding: 14px; }
.ttsf-landing__finder .ttgf-finder__progress { margin-bottom: 10px; }
.ttsf-landing__finder .ttgf-finder__progress span { color: #ff3148; font-size: 9px; }
.ttsf-landing__finder .ttgf-finder__progress strong { color: #fff; font-size: 13px; }
.ttsf-landing__finder .ttgf-finder__field { gap: 5px; }
.ttsf-landing__finder .ttgf-finder__field > span { color: rgba(255,255,255,.56); font-size: 9px; }
.ttsf-landing__finder .ttgf-combobox__toggle { border-radius: 9px; min-height: 48px; }
.ttsf-landing__finder .ttgf-combobox__panel { position: relative; z-index: 20; }
.ttsf-landing__finder .ttgf-finder__help { color: rgba(255,255,255,.52); font-size: 10px; margin: 9px 0 0; }
.ttsf-landing__finder .ttgf-finder__help a { color: #ff5366; }
.ttsf-landing__choice-label { color: rgba(255,255,255,.64); font-size: 10px; font-weight: 700; letter-spacing: .055em; margin: 0 0 8px; text-transform: uppercase; }
.ttsf-landing__choices { display: grid; gap: 10px; max-width: 520px; }
.ttsf-choice { align-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 13px; box-shadow: 0 16px 35px rgba(0,0,0,.18); color: #fff !important; display: grid; gap: 16px; grid-template-columns: 42px minmax(0,1fr) 34px; min-height: 84px; padding: 14px 18px; text-decoration: none !important; transition: border-color .2s ease,transform .2s ease,background .2s ease; }
.ttsf-choice--33 { backdrop-filter: blur(12px); background: rgba(255,255,255,.95); color: #111318 !important; }
.ttsf-choice--6 { background: rgba(226,0,26,.95); border-color: rgba(255,255,255,.28); }
.ttsf-choice:hover,.ttsf-choice:focus-visible { border-color: #fff; outline: none; transform: translateX(7px); }
.ttsf-choice--33:hover,.ttsf-choice--33:focus-visible { background: #fff; }
.ttsf-choice--6:hover,.ttsf-choice--6:focus-visible { background: #ff1732; }
.ttsf-choice__number { color: currentColor; font-size: 11px; font-weight: 800; letter-spacing: .08em; opacity: .55; }
.ttsf-choice__copy { display: flex; flex-direction: column; gap: 2px; }
.ttsf-choice__copy small { color: currentColor; font-size: 10px; font-weight: 700; letter-spacing: .11em; line-height: 1.3; opacity: .62; text-transform: uppercase; }
.ttsf-choice__copy strong { color: currentColor; font-size: 22px; font-weight: 750; letter-spacing: -.025em; line-height: 1.15; }
.ttsf-choice__arrow { align-items: center; border: 1px solid currentColor; border-radius: 50%; display: flex; font-size: 17px; height: 32px; justify-content: center; line-height: 1; opacity: .8; width: 32px; }
.ttsf-landing__note { color: rgba(255,255,255,.48); font-size: 11px; margin: 15px 0 0; }
.ttsf-landing__legal { bottom: 24px; color: rgba(255,255,255,.38); font-size: 10px; margin: 0; position: absolute; right: clamp(28px,4vw,64px); z-index: 2; }

@keyframes ttsf-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes ttsf-arrive { from { opacity: 0; transform: translateY(18px) scale(.975); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 760px) {
  .ttsf { align-items: flex-end; padding: 10px; }
  .ttsf__dialog { border-radius: 18px; display: flex; flex-direction: column; max-height: calc(100svh - 20px); min-height: 0; overflow-y: auto; }
  .ttsf__product { flex: 0 0 252px; min-height: 252px; order: -1; }
  .ttsf__copy { padding: 30px 24px 26px; }
  .ttsf__copy::before { display: none; }
  .ttsf__eyebrow { font-size: 9px; margin-bottom: 17px; }
  .ttsf__saving { font-size: 9px; margin-bottom: 14px; padding: 10px 14px; }
  .ttsf__title { font-size: clamp(38px,12vw,50px) !important; margin-bottom: 16px !important; }
  .ttsf__description { font-size: 14px; margin-bottom: 20px; }
  .ttsf__cta { width: 100%; }
  .ttsf__fineprint { text-align: center; }
  .ttsf__free { height: 76px; left: 18px; top: 18px; width: 76px; }
  .ttsf__free strong { font-size: 23px; }
  .ttsf__system-wrap { right: -26px; top: 5px; width: 88%; }
  .ttsf__battery-wrap { bottom: 12px; right: 17px; width: 31%; }
  .ttsf__plus { bottom: 56px; height: 38px; left: 31%; width: 38px; }
  .ttsf__product-name { bottom: 15px; font-size: 9px; left: 22px; }
  .ttsf__lifestyle { object-position: center 47%; }
  .ttsf__battery-offer { border-radius: 12px; bottom: 10px; grid-template-columns: 1fr 68px; min-height: 76px; padding: 9px 7px 9px 12px; right: 10px; width: 202px; }
  .ttsf__battery-offer-copy span { font-size: 8px; }
  .ttsf__battery-offer-copy strong { font-size: 31px; }
  .ttsf__battery-offer img { transform: rotate(-10deg) scale(1.22); }
  .ttsf__close { right: 12px; top: 12px; }
  .ttsf-landing__hero { align-items: flex-end; background-position: 66% center; min-height: 100svh; padding: 44vh 18px 24px; }
  .ttsf-landing__shade { background: linear-gradient(180deg,rgba(4,5,7,.12) 0%,rgba(4,5,7,.24) 32%,rgba(4,5,7,.95) 59%,#060709 100%); }
  .ttsf-landing__content { max-width: none; width: 100%; }
  .ttsf-landing__eyebrow { font-size: 9px; margin-bottom: 14px; }
  .ttsf-landing h1 { font-size: clamp(38px,11.6vw,52px) !important; margin-bottom: 14px !important; }
  .ttsf-landing__lead { font-size: 14px; line-height: 1.45; margin-bottom: 18px; }
  .ttsf-landing__finder { margin-bottom: 14px; max-width: none; }
  .ttsf-landing__finder-heading { align-items: flex-start; flex-direction: column; gap: 2px; }
  .ttsf-landing__finder-heading p { text-align: left; }
  .ttsf-landing__finder .ttgf-finder { padding: 13px; }
  .ttsf-landing__choice-label { font-size: 9px; }
  .ttsf-choice { gap: 10px; grid-template-columns: 30px minmax(0,1fr) 30px; min-height: 70px; padding: 11px 13px; }
  .ttsf-choice__copy small { font-size: 8px; }
  .ttsf-choice__copy strong { font-size: 18px; }
  .ttsf-choice__arrow { height: 28px; width: 28px; }
  .ttsf-landing__note,.ttsf-landing__legal { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .ttsf__backdrop,.ttsf__dialog { animation: none; }
  .ttsf-choice,.ttsf__cta { transition: none; }
}
