/* LOCAL (see PATCHES.md patch 199): "Try it first" at /try-it.
 *
 * Translated from the approved design (16 artboards, desktop 1440 and phone
 * 390). One page, eight screens: the sales top, six stops, the end. Wide
 * (1100px and up) follows the desktop boards, narrow follows the phone boards.
 * Everything is scoped under .tif so nothing leaks into the rest of the site. */

html.tif-page body, body:has(#tif) { background: #01102F; }
html.tif-page footer { background: #01102F; border-top: 1px solid rgba(255,255,255,.13); }
html.tif-page footer, html.tif-page footer a, html.tif-page footer p, html.tif-page footer .text-dark-r, html.tif-page footer .text-muted { color: rgba(255,255,255,.7) !important; }

.tif { background: #01102F; color: rgba(255,255,255,.8); font-family: Manrope, system-ui, sans-serif; font-size: 16px; line-height: 1.5; overflow-x: clip; }
.tif *, .tif *::before, .tif *::after { box-sizing: border-box; }
.tif h1, .tif h2, .tif h3, .tif h4, .tif p, .tif ol, .tif ul { margin: 0; }
.tif ::selection { background: #FFD800; color: #011F5D; }
.tif a { color: #FFD800; }
.tif a:hover { color: #E6C200; }
.tif a:focus-visible, .tif button:focus-visible, .tif input:focus-visible, .tif select:focus-visible { outline: 3px solid #FFD800; outline-offset: 3px; }
.tif .app a:focus-visible, .tif .app button:focus-visible, .tif .app input:focus-visible, .tif .app select:focus-visible { outline-color: #0A3596; }
.tif [hidden] { display: none !important; }
.tif .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.tif .hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Only one screen at a time once the script runs; without it, all of them in
   a row (and search engines read every heading). */
.tif.js-tour .tif-screen { display: none; }
.tif.js-tour .tif-screen.is-on { display: block; }

.tif-wrap { max-width: 1440px; margin: 0 auto; padding: 18px 80px 26px; }
/* .tif-wide shows on the desktop boards only, .tif-narrow on the phone boards
   only. Each keeps its own display value where it shows. */
@media (min-width: 1100px) { .tif .tif-narrow { display: none !important; } }
@media (max-width: 1099px) { .tif .tif-wide { display: none !important; } }

/* ---- buttons, shared ---- */
.tif .btn-gold { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; border-radius: 999px; background: #FFD800; color: #011F5D; border: 1px solid #FFD800; font: 700 16px Manrope, system-ui, sans-serif; text-decoration: none; white-space: nowrap; cursor: pointer; }
.tif .btn-gold:hover { background: #E6C200; border-color: #E6C200; color: #011F5D; }
.tif .btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 999px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); font: 700 16px Manrope, system-ui, sans-serif; text-decoration: none; white-space: nowrap; }
.tif .btn-ghost:hover { border-color: #fff; color: #fff; }
.tif .tif-next { display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; min-height: 48px; padding: 0 20px; border-radius: 999px; background: #011F5D; color: #fff; font: 700 15px Manrope, system-ui, sans-serif; text-decoration: none; }
.tif .tif-next:hover { color: #fff; background: #0A3596; }
.tif .tif-next.is-gold { background: #FFD800; color: #011F5D; }
.tif .tif-next.is-gold:hover { background: #E6C200; color: #011F5D; }
.tif .next-block { display: flex; flex-direction: column; gap: 8px; padding-top: 4px; }
.tif .next-block span { font-size: 14px; color: #3F4A5E; }

/* ---- the sales top ---- */
.tif-top .tif-wrap { padding: 32px 80px 48px; }
.tif-top-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.13); }
.tif-logo { display: inline-flex; align-items: center; gap: 10px; font-family: Archivo, system-ui, sans-serif; font-weight: 900; font-size: 26px; letter-spacing: -0.03em; color: #fff !important; text-decoration: none; }
.tif-logo img { display: block; width: 27px; height: auto; }
.tif-top-links { display: flex; align-items: center; gap: 28px; font-size: 15px; }
.tif-top-links a { color: rgba(255,255,255,.8); text-decoration: none; }
.tif-top-links a.is-gold { color: #FFD800; font-weight: 700; }
.tif-top-main { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 80px; align-items: center; padding-top: 48px; }
.tif-sales { display: flex; flex-direction: column; gap: 22px; }
.tif-sales h1 { font-family: Archivo, system-ui, sans-serif; font-weight: 900; font-size: 62px; line-height: 1.04; letter-spacing: -0.03em; color: #fff; max-width: 16ch; }
.tif-sales .lead { font-size: 19px; line-height: 1.55; color: rgba(255,255,255,.85); max-width: 50ch; }
.tif-sales .years { font-size: 17px; font-weight: 700; color: #FFD800; }
.tif-points { padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.tif-points li { display: flex; gap: 12px; align-items: flex-start; }
.tif-points svg { flex-shrink: 0; margin-top: 4px; }
.tif-points span { display: flex; flex-direction: column; gap: 2px; }
.tif-points strong { color: #fff; font-size: 17px; }
.tif-points small { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.75); }
.tif-offer { padding: 16px 20px; border-radius: 16px; border: 1px solid rgba(255,216,0,.45); background: rgba(255,216,0,.06); display: flex; flex-direction: column; gap: 4px; }
.tif-offer strong { color: #FFD800; font-size: 17px; }
.tif-offer span { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.8); }
.tif-offer .guarantee { font-size: 14px; color: rgba(255,255,255,.6); }
.tif-lead { padding: 20px 22px; border-radius: 16px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.04); display: flex; flex-direction: column; gap: 12px; }
.tif-lead-head { display: flex; flex-direction: column; gap: 2px; }
.tif-lead-head strong { font-size: 18px; color: #fff; }
.tif-lead-head span { font-size: 15px; line-height: 1.45; }
.tif-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tif-field { display: flex; flex-direction: column; gap: 5px; }
.tif .g-lbl { font-size: 13px; font-weight: 700; color: #fff; margin: 0; }
.tif .g-input { width: 100%; min-height: 48px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.35); background: #fff; color: #011F5D; font: 600 15px Manrope, system-ui, sans-serif; }
.tif .g-chk { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: rgba(255,255,255,.8); cursor: pointer; margin: 0; font-weight: 400; }
.tif .g-chk input { width: 20px; height: 20px; margin: 1px 0 0; flex-shrink: 0; accent-color: #FFD800; }
.tif-lead-actions { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.tif-lead .err { font-size: 14px; font-weight: 700; color: #FFB4A8; }
.tif-lead .thanks { font-size: 16px; line-height: 1.5; color: #fff; }
.tif-tour { display: flex; flex-direction: column; }
.tif-tour > p:first-child { margin: 0 0 14px 8px; font-family: Archivo, system-ui, sans-serif; font-weight: 800; font-size: 22px; color: #fff; letter-spacing: -0.02em; }
.tif .stop { display: grid; grid-template-columns: 56px minmax(0,1fr) 24px; gap: 20px; align-items: center; padding: 22px 8px; border-top: 1px solid rgba(255,255,255,.13); text-decoration: none; color: #fff; transition: background-color .18s cubic-bezier(.16,1,.3,1); }
.tif .stop:last-of-type { border-bottom: 1px solid rgba(255,255,255,.13); }
.tif .stop:hover { background: rgba(255,255,255,.04); color: #fff; }
.tif .stop b { font-family: Archivo, system-ui, sans-serif; font-weight: 900; font-size: 34px; color: #FFD800; letter-spacing: -0.03em; }
.tif .stop > span { display: flex; flex-direction: column; gap: 2px; }
.tif .stop strong { font-size: 18px; }
.tif .stop small { font-size: 15px; color: rgba(255,255,255,.7); }
.tif .stop svg { transition: transform .18s cubic-bezier(.16,1,.3,1); }
.tif .stop:hover svg { transform: translateX(4px); }
.tif-tour .after { margin: 18px 0 0 8px; font-size: 15px; color: rgba(255,255,255,.7); }
.tif-top-foot { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.6); }

/* ---- stop screens: header and rail ---- */
.tif-stop .tif-wrap { display: flex; flex-direction: column; gap: 18px; min-height: 100vh; }
.tif-stop-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.tif-stop-head .tif-logo { font-size: 24px; }
.tif-stop-head .tif-logo img { width: 25px; }
.tif-stop-head .tag { font-size: 14px; color: rgba(255,255,255,.66); white-space: nowrap; }
.tif .rail { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; }
.tif .rail a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border-radius: 999px; color: rgba(255,255,255,.72); text-decoration: none; font: 600 15px Manrope, system-ui, sans-serif; border: 1px solid transparent; white-space: nowrap; }
.tif .rail a:hover { color: #fff; border-color: rgba(255,255,255,.25); }
.tif .rail a.on { background: #FFD800; color: #011F5D; }
.tif .rail b { font-family: Archivo, system-ui, sans-serif; font-weight: 900; }
.tif .dots { display: flex; gap: 8px; }
.tif .dots a { width: 44px; height: 44px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.3); color: #fff; text-decoration: none; font: 900 17px Archivo, system-ui, sans-serif; }
.tif .dots a.on { background: #FFD800; border-color: #FFD800; color: #011F5D; }

/* ---- stop screens: the two columns ---- */
.tif-stop-main { flex-grow: 1; display: grid; grid-template-columns: 420px minmax(0, 1fr); grid-template-rows: auto auto 1fr; grid-template-areas: "intro app" "notes app" "ctas app"; column-gap: 64px; row-gap: 14px; align-items: start; }
.tif-intro { grid-area: intro; display: flex; flex-direction: column; gap: 14px; padding-top: 8px; }
.tif-intro h2 { font-family: Archivo, system-ui, sans-serif; font-weight: 900; font-size: 42px; line-height: 1.02; letter-spacing: -0.03em; color: #fff; }
.tif-intro p { font-size: 16px; line-height: 1.5; }
.tif-intro .try { display: flex; flex-direction: column; gap: 6px; }
.tif-intro .try strong { color: #fff; font-size: 15px; }
.tif-intro .try ol { padding-left: 20px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: 1.45; }
.tif-intro .try-line { font-size: 15px; line-height: 1.5; color: #fff; }
.tif-notes { grid-area: notes; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.7); }
.tif-ctas { grid-area: ctas; margin-top: 4px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.tif-appcol { grid-area: app; display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* ---- the sample app, shared ---- */
.tif .app { background: #F7F8FA; color: #011F5D; border-radius: 16px; font-family: Manrope, system-ui, sans-serif; overflow: hidden; }
.tif .app h3 { font-family: Archivo, system-ui, sans-serif; letter-spacing: -0.02em; color: #011F5D; margin: 0; font-weight: 800; }
.tif .app h4 { margin: 0; }
.tif .app p { margin: 0; }
.tif .app label { margin: 0; }
.tif .a-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px; border-radius: 999px; background: #FFD800; color: #011F5D; border: 1px solid #FFD800; font: 700 15px Manrope, system-ui, sans-serif; cursor: pointer; }
.tif .a-btn:hover { background: #E6C200; border-color: #E6C200; }
.tif .a-btn-block { width: 100%; min-height: 56px; font-size: 18px; }
.tif .a-out { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 14px; border-radius: 999px; background: #fff; color: #011F5D; border: 1px solid #9AA3B5; font: 600 14px Manrope, system-ui, sans-serif; cursor: pointer; text-decoration: none; }
.tif .a-out:hover { border-color: #011F5D; color: #011F5D; }
.tif .a-link { background: none; border: 0; padding: 8px 4px; min-height: 44px; color: #3F4A5E; font: 600 14px Manrope, system-ui, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tif .a-input { width: 100%; min-height: 48px; padding: 0 20px; border-radius: 999px; border: 1px solid #9AA3B5; background: #fff; color: #011F5D; font: 600 16px Manrope, system-ui, sans-serif; }
.tif .a-input::placeholder { color: #6B7489; }
.tif .lbl { font-size: 14px; font-weight: 700; }
.tif .chk { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.45; cursor: pointer; font-weight: 400; }
.tif .chk input { width: 22px; height: 22px; margin: 0; flex-shrink: 0; accent-color: #011F5D; }
.tif .alert-red { padding: 12px 16px; border-radius: 16px; background: #B42318; color: #fff; font-size: 15px; font-weight: 700; line-height: 1.45; }
.tif .alert-green { padding: 12px 16px; border-radius: 16px; background: #E3F4EA; color: #0E4D2E; font-size: 15px; font-weight: 700; }
.tif .ok-text { font-size: 14px; color: #177245; font-weight: 700; }
.tif .cup { display: block; flex-shrink: 0; }
.tif .place { display: inline-flex; align-items: center; gap: 6px; font-family: Archivo, system-ui, sans-serif; font-weight: 900; }
.tif .ini { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 999px; background: #FFD800; color: #011F5D; border: 2px solid #FFD800; font-family: Archivo, system-ui, sans-serif; font-weight: 900; letter-spacing: -0.02em; }

/* ---- stop 1: the door ---- */
.ci-app { display: grid; grid-template-columns: 380px minmax(0, 1fr); }
.ci-phonecol { background: #EEF2F8; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 28px; }
.ci-phonecol > .lbl-sm { font-size: 13px; font-weight: 700; color: #3F4A5E; }
.ci-bezel { width: 320px; height: 640px; border-radius: 44px; background: #1C2C4C; padding: 10px; box-shadow: 0 18px 40px rgba(1,16,47,.18); }
.ci-screen { width: 100%; height: 100%; border-radius: 34px; background: #fff; padding: 56px 24px 24px; display: flex; flex-direction: column; gap: 14px; overflow: hidden; position: relative; }
.ci-screen.is-dark { background: #0B1428; }
.ci-cam { margin: -56px -24px -24px; padding: 36px 20px; min-height: calc(100% + 80px); background: #0B1428; display: flex; flex-direction: column; align-items: center; gap: 22px; color: #fff; text-align: center; }
.ci-cam .cam-lbl { font-size: 13px; font-weight: 700; letter-spacing: 0.02em; color: rgba(255,255,255,.75); }
.ci-cam p { font-size: 16px; line-height: 1.45; }
.ci-cam .found { font-weight: 700; color: #3DDC84; }
.tif .scan-box { position: relative; width: 236px; height: 236px; margin: 0 auto; border-radius: 18px; background: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tif .scan-line { position: absolute; left: 10px; right: 10px; height: 3px; border-radius: 3px; background: #FFD800; box-shadow: 0 0 14px 2px rgba(255,216,0,.75); animation: ozscan 1.2s cubic-bezier(.45,0,.55,1) infinite alternate; }
@keyframes ozscan { from { top: 12px; } to { top: 221px; } }
.tif .scan-corner { position: absolute; width: 30px; height: 30px; border-color: #FFD800; border-style: solid; border-width: 0; }
.tif .scan-ring { position: absolute; inset: -8px; border: 4px solid #3DDC84; border-radius: 22px; }
@media (prefers-reduced-motion: reduce) { .tif .scan-line { animation: none; top: 117px; } }
.ci-where { text-align: center; }
.ci-where p { font-size: 13px; color: #5A6478; }
.ci-where h3 { font-size: 26px; margin: 0 0 8px !important; }
.ci-block { display: flex; flex-direction: column; gap: 12px; }
.ci-hint { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border-radius: 16px; background: #FFF7C2; }
.ci-hint span { font-size: 14px; line-height: 1.4; font-weight: 600; }
.ci-err { display: flex; flex-direction: column; gap: 10px; padding: 12px 16px; border-radius: 16px; background: #B42318; color: #fff; font-size: 14px; line-height: 1.45; }
.ci-err .a-out { align-self: flex-start; }
.ci-screen .a-out { min-height: 44px; padding: 0 18px; font-size: 15px; }
.ci-screen .a-input { min-height: 56px; padding: 0 22px; font-size: 20px; }
.ci-small { text-align: center; font-size: 13px; line-height: 1.5; color: #5A6478; }
.ci-done { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; padding-top: 8px; }
.ci-done .big { font-family: Archivo, system-ui, sans-serif; font-weight: 800; font-size: 21px; line-height: 1.2; }
.ci-done .grey { font-size: 14px; color: #5A6478; }
.ci-done .bold { font-size: 14px; font-weight: 700; }
.ci-forget { margin-top: auto; display: flex; flex-direction: column; align-items: center; }
.ci-reg { background: #fff; padding: 32px 32px 24px; display: flex; flex-direction: column; gap: 10px; border-left: 1px solid #E4E7EC; }
.ci-reg .lbl-sm { font-size: 13px; font-weight: 700; color: #3F4A5E; }
.ci-reg h3 { font-size: 24px; }
.ci-reg .today { font-size: 15px; color: #3F4A5E; }
.ci-reg .today strong { color: #011F5D; }
.ci-reg .how { margin: 0 0 6px !important; font-size: 14px; line-height: 1.5; color: #5A6478; }
.ci-roster { padding: 0; list-style: none; display: flex; flex-direction: column; }
.ci-roster li { display: flex; align-items: center; gap: 14px; min-height: 56px; border-top: 1px solid #E4E7EC; background: #fff; padding: 0 8px; transition: background-color .4s ease-out; }
.ci-roster li.is-new { background: #FFF7C2; }
.ci-roster input { width: 22px; height: 22px; accent-color: #011F5D; cursor: pointer; margin: 0; flex-shrink: 0; }
.ci-roster label { flex-grow: 1; font-size: 16px; font-weight: 600; cursor: pointer; }
.tif .badge-s { display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 999px; border: 1px solid #C9CFDA; background: #fff; color: #011F5D; font: 600 12px Manrope, system-ui, sans-serif; white-space: nowrap; }
.ci-roster .badge-s { width: 165px; }

/* ---- stop 2: a new student ---- */
.rg-app { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.rg-form { background: #fff; padding: 32px; display: flex; flex-direction: column; gap: 16px; border-right: 1px solid #E4E7EC; }
.rg-form h3 { font-size: 24px; }
.rg-form .a-btn { align-self: flex-start; }
.rg-field { display: flex; flex-direction: column; gap: 6px; }
.rg-field small { font-size: 13px; color: #5A6478; }
.rg-csv { margin-top: auto; padding-top: 18px; border-top: 1px solid #E4E7EC; display: flex; flex-direction: column; gap: 6px; }
.rg-csv p { font-size: 14px; line-height: 1.5; color: #5A6478; }
.rg-side { padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.rg-fm { padding: 18px 20px; border-radius: 16px; background: #FFF7C2; display: flex; flex-direction: column; gap: 10px; }
.rg-fm h3 { font-size: 18px; }
.rg-fm p { font-size: 15px; }
.rg-fm .a-out { align-self: flex-start; border-color: #177245; color: #0E4D2E; }
.rg-side > h3 { font-size: 20px; margin-top: 4px; }
.rg-list { padding: 0; list-style: none; }
.rg-list li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 13px 4px; border-top: 1px solid #E4E7EC; }
.rg-list li.is-new { background: #FFF7C2; }
.rg-list strong { font-size: 16px; }
.rg-list span { font-size: 14px; color: #5A6478; }

/* ---- stop 3: first month ---- */
.fm-app { display: grid; grid-template-columns: minmax(0, 1fr) 380px; }
.fm-list { background: #fff; padding: 32px; display: flex; flex-direction: column; gap: 6px; }
.fm-list h3 { font-size: 24px; }
.fm-list .sub { margin: 0 0 12px !important; font-size: 14px; color: #5A6478; }
.fm-row { display: flex; flex-direction: column; gap: 10px; padding: 18px 16px; border-top: 1px solid #E4E7EC; }
.fm-row.is-open { background: #FFF7C2; }
.fm-row .top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.fm-row .top strong { font-size: 17px; }
.fm-row .top span { font-size: 14px; color: #5A6478; }
.fm-row .btns { display: grid; grid-template-columns: 260px auto; justify-content: start; gap: 10px; }
.fm-row .note { font-size: 14px; font-weight: 700; }
.tif .a-wa { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: #fff; color: #0E4D2E; border: 1px solid #177245; font: 700 14px Manrope, system-ui, sans-serif; cursor: pointer; }
.tif .a-wa:hover { background: #E3F4EA; }
.fm-app .a-out { min-height: 44px; padding: 0 16px; color: #3F4A5E; }
.fm-wa { background: #E9ECF2; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.fm-wa > .lbl-sm { font-size: 13px; font-weight: 700; color: #3F4A5E; }
.fm-chat { flex-grow: 1; min-height: 420px; border-radius: 16px; background: #fff; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #D5DAE3; }
.fm-chat-head { padding: 14px 18px; border-bottom: 1px solid #E4E7EC; display: flex; align-items: center; gap: 12px; }
.fm-chat-head .av { width: 36px; height: 36px; border-radius: 999px; background: #011F5D; color: #FFD800; display: inline-flex; align-items: center; justify-content: center; font-family: Archivo, system-ui, sans-serif; font-weight: 900; font-size: 15px; flex-shrink: 0; }
.fm-chat-head strong { font-size: 16px; }
.fm-chat-head .sub2 { font-size: 12px; color: #3F4A5E; }
.fm-chat-body { flex-grow: 1; background: #F3F0EA; padding: 18px; display: flex; flex-direction: column; justify-content: flex-end; }
.fm-chat-body p { margin: auto 0 !important; text-align: center; font-size: 15px; line-height: 1.5; color: #5A6478; }
.fm-compose { padding: 14px; border-top: 1px solid #E4E7EC; display: flex; flex-direction: column; gap: 10px; }
.fm-compose .msg { padding: 12px 16px; border-radius: 16px; background: #F7F8FA; border: 1px solid #D5DAE3; font-size: 15px; line-height: 1.5; color: #011F5D; }
.fm-compose .row2 { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.fm-compose .row2 span:first-child { font-size: 13px; line-height: 1.4; color: #3F4A5E; }
.fm-compose .send { width: 44px; height: 44px; flex-shrink: 0; border-radius: 999px; background: #177245; display: inline-flex; align-items: center; justify-content: center; }

/* ---- stop 4: the challenge ---- */
.ch-app { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-rows: auto 1fr; grid-template-areas: "table form" "friends form"; }
.ch-table { grid-area: table; background: #fff; padding: 28px 32px 0; display: flex; flex-direction: column; gap: 12px; }
.ch-friends { grid-area: friends; background: #fff; padding: 10px 32px 28px; display: flex; flex-direction: column; gap: 12px; }
.ch-form { grid-area: form; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.ch-table .h { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.ch-table h3 { font-size: 24px; }
.ch-table .days { font-size: 14px; font-weight: 700; color: #3F4A5E; }
.ch-table .rewards { font-size: 14px; color: #5A6478; }
.ch-table table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.ch-table th { font-size: 13px; font-weight: 700; color: #3F4A5E; text-align: left; padding: 8px 10px; border-bottom: 1px solid #C9CFDA; }
.ch-table td { padding: 11px 10px; border-bottom: 1px solid #E4E7EC; font-size: 15px; transition: background-color .5s ease-out; }
.ch-table tr.is-last td { background: #FFF7C2; }
.ch-table .num { text-align: right; }
.ch-table td.pl { font-size: 17px; white-space: nowrap; }
.ch-table td.nm { font-weight: 700; }
.ch-table td.pts { font-weight: 800; font-size: 17px; }
.tif .delta { margin-left: 10px; font-size: 13px; font-weight: 800; color: #177245; }
.ch-list { padding: 0; list-style: none; }
.ch-list li { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px 6px; border-top: 1px solid #E4E7EC; font-variant-numeric: tabular-nums; }
.ch-list li.is-last { background: #FFF7C2; }
.ch-list .place { font-size: 17px; }
.ch-list .who { display: flex; flex-direction: column; gap: 2px; }
.ch-list .who strong { font-size: 16px; }
.ch-list .who span { font-size: 13px; color: #5A6478; }
.ch-list .pts { font-family: Archivo, system-ui, sans-serif; font-weight: 800; font-size: 20px; }
.ch-friends h3 { font-size: 17px; }
.ch-flist { padding: 0; list-style: none; }
.ch-flist li { display: grid; grid-template-columns: minmax(0, 1fr) 124px 76px; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid #E4E7EC; font-size: 15px; }
.ch-flist .by { color: #5A6478; }
.ch-flist .cell { display: flex; justify-content: flex-end; }
.tif .pill-w { width: 124px; }
.tif .pill-u { width: 76px; }
.tif .pill-done { display: inline-flex; align-items: center; justify-content: center; width: 124px; min-height: 40px; border-radius: 999px; background: #E3F4EA; color: #0E4D2E; border: 1px solid #9FD4B4; font: 700 14px Manrope, system-ui, sans-serif; }
.ch-form h3 { font-size: 19px; }
.ch-form .alert-red { padding: 10px 14px; font-size: 14px; }
.ch-form .fld { display: flex; flex-direction: column; gap: 5px; }
.ch-form .lbl { font-size: 13px; }
.ch-form .a-input { min-height: 44px; padding: 0 18px; font-size: 15px; }
.ch-form .a-btn { align-self: flex-start; }
.ch-form .fine { font-size: 13px; line-height: 1.5; color: #5A6478; }
.ch-form .how { margin-top: auto; padding-top: 14px; border-top: 1px solid #D5DAE3; font-size: 13px; line-height: 1.55; color: #3F4A5E; }
.ch-form .how strong { color: #011F5D; }
.tif .sel-wrap { position: relative; }
.tif .sel-wrap select { -webkit-appearance: none; appearance: none; padding-right: 50px; cursor: pointer; }
.tif .sel-wrap svg { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); pointer-events: none; color: #011F5D; }

/* ---- stop 5: the Wall of Fame ---- */
.wl-app { display: grid; grid-template-columns: minmax(0, 1fr) 400px; }
.wl-rows { background: #fff; padding: 28px 32px; display: flex; flex-direction: column; gap: 10px; }
.wl-rows h3 { font-size: 24px; }
.wl-rows .ended { margin: 0 0 8px !important; font-size: 15px; color: #3F4A5E; }
.wl-rows .ended strong { color: #011F5D; }
.wl-row { display: flex; flex-direction: column; gap: 10px; padding: 16px 0; border-top: 1px solid #E4E7EC; }
.wl-row .top { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.wl-row .place { font-size: 22px; width: 52px; }
.wl-row .top strong { font-size: 17px; }
.wl-row .top span.st { font-size: 14px; color: #5A6478; }
.wl-row .body { padding-left: 36px; display: flex; flex-direction: column; gap: 10px; }
.wl-row .status { font-size: 14px; font-weight: 700; }
.wl-row .a-out, .wl-row .a-ok { align-self: flex-start; }
.wl-row .chk { font-size: 14px; gap: 10px; }
.tif .a-ok { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border-radius: 999px; background: #fff; color: #0E4D2E; border: 1px solid #177245; font: 700 14px Manrope, system-ui, sans-serif; cursor: pointer; }
.tif .a-ok:hover { background: #E3F4EA; }
.tif .a-ok:disabled { color: #6B7489; border-color: #C9CFDA; background: #F7F8FA; cursor: not-allowed; }
.wl-ask { padding: 14px 16px; border-radius: 16px; background: #F3F0EA; font-size: 14px; line-height: 1.5; }
.wl-ask strong { display: block; margin-bottom: 4px; font-size: 13px; color: #3F4A5E; }
.wl-side { background: #E9ECF2; padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.wl-side > .lbl-sm { font-size: 13px; font-weight: 700; color: #3F4A5E; }
.wl-page { flex-grow: 1; border-radius: 16px; background: #01102F; color: rgba(255,255,255,.8); padding: 28px 26px; display: flex; flex-direction: column; gap: 12px; overflow: hidden; }
.wl-page .school { font-family: Archivo, system-ui, sans-serif; font-weight: 900; font-size: 28px; letter-spacing: -0.03em; color: #fff; }
.wl-page .loc { font-size: 13px; color: rgba(255,255,255,.66); }
.wl-page .sect { border-top: 1px solid rgba(255,255,255,.13); margin-top: 8px; padding-top: 18px; display: flex; flex-direction: column; gap: 8px; }
.wl-page h4 { font-family: Archivo, system-ui, sans-serif; font-weight: 800; font-size: 22px; color: #fff; }
.wl-page .sect > p { font-size: 14px; line-height: 1.5; }
.wl-page .wall { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.wl-page .wall > strong { font-size: 15px; color: #fff; }
.wl-page ol { padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.wl-page li { display: flex; gap: 12px; align-items: baseline; font-size: 15px; }
.wl-page li .place { font-size: 20px; color: #FFD800; width: 48px; }
.wl-page li strong { color: #fff; }
.wl-page li .hint { display: block; margin-top: 2px; font-size: 12px; color: rgba(255,255,255,.62); }
.wl-page .empty { margin: 8px 0 0 !important; padding: 16px; border-radius: 16px; border: 1px dashed rgba(255,255,255,.35); font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.75); }
.wl-page .fine { margin: auto 0 0 !important; font-size: 12px; line-height: 1.5; color: rgba(255,255,255,.66); }

/* ---- stop 6: share the win ---- */
.sh-app { background: #fff !important; padding: 18px 28px; display: flex; flex-direction: column; gap: 10px; }
.sh-app h3 { font-size: 24px; }
.sh-row { display: flex; align-items: center; gap: 14px; padding: 16px 0; border-top: 1px solid #E4E7EC; border-bottom: 1px solid #E4E7EC; }
.sh-row .place { font-size: 22px; }
.sh-row .who { display: flex; flex-direction: column; gap: 2px; flex-grow: 1; min-width: 0; }
.sh-row .who strong { font-size: 17px; }
.sh-row .who span { font-size: 14px; font-weight: 700; color: #177245; }
.sh-app .fine { font-size: 15px; line-height: 1.55; color: #5A6478; }
.tif .s-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 999px; background: #FFD800; color: #011F5D; border: 1px solid #FFD800; font: 700 15px Manrope, system-ui, sans-serif; cursor: pointer; }
.tif .s-btn:hover { background: #E6C200; }
.tif .s-out { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; border-radius: 999px; background: #fff; color: #011F5D; border: 1px solid #9AA3B5; font: 600 14px Manrope, system-ui, sans-serif; cursor: pointer; }
.tif .s-out:hover { border-color: #011F5D; }
.sh-cards { display: flex; gap: 24px; align-items: flex-start; }
.sh-card { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.sh-post, .sh-story { zoom: 0.82; }
.sh-post { width: 380px; height: 380px; border-radius: 16px; background: #01102F; color: #fff; padding: 26px; display: flex; flex-direction: column; gap: 5px; overflow: hidden; flex-shrink: 0; }
.sh-story { width: 260px; height: 462px; border-radius: 16px; background: #01102F; color: #fff; padding: 51px 19px 55px; display: flex; flex-direction: column; gap: 6px; overflow: hidden; flex-shrink: 0; }
.sh-brand { display: flex; align-items: center; gap: 9px; }
.sh-brand .sn { font: 800 14px Archivo, system-ui, sans-serif; }
.sh-brand .loc { font-size: 11px; color: rgba(255,255,255,.7); }
.sh-brand .bar { width: 1px; height: 15px; background: #FFD800; }
.sh-post .sh-brand .bar { margin-left: auto; }
.sh-brand .oo { display: inline-flex; align-items: center; gap: 5px; font: 800 11px Archivo, system-ui, sans-serif; color: rgba(255,255,255,.85); }
.sh-brand .oo img { display: block; width: 14px; height: auto; }
.sh-story .sh-brand { gap: 8px; }
.sh-story .sh-brand .sn { font-size: 12px; }
.sh-story .sh-brand .oo { font-size: 9px; }
.sh-story .sh-brand .oo img { width: 12px; }
.sh-eyebrow { margin-top: 4px; font: 800 13px Manrope, system-ui, sans-serif; color: #FFD800; letter-spacing: 0.04em; display: inline-flex; align-items: center; gap: 8px; }
.sh-story .sh-eyebrow { font-size: 11px; }
.sh-name { font: 900 33px/1 Archivo, system-ui, sans-serif; letter-spacing: -0.03em; }
.sh-story .sh-name { font-size: 34px; }
.sh-place { font-size: 16px; font-weight: 700; }
.sh-story .sh-place { font-size: 14px; }
.sh-title { font-size: 14px; color: rgba(255,255,255,.75); }
.sh-story .sh-title { font-size: 12px; }
.sh-title strong { color: #FFD800; letter-spacing: 0.02em; }
.sh-title small { font-size: .8em; opacity: .85; }
.sh-join { margin-top: auto; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: #FFD800; color: #011F5D; }
.sh-join strong { font: 900 19px Archivo, system-ui, sans-serif; display: block; }
.sh-join span { font-size: 11px; font-weight: 700; }
.sh-sticker { margin-top: auto; align-self: center; display: flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; background: #fff; color: #011F5D; font-weight: 800; font-size: 13px; }
.sh-story .stick-note { align-self: center; font-size: 10px; color: rgba(255,255,255,.6); }
.sh-link { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.sh-link span { font-size: 14px; color: #3F4A5E; }
.sh-link strong { font-size: 15px; }
.sh-hide { align-self: flex-start; }

/* ---- the end ---- */
.tif-end .tif-wrap { display: flex; flex-direction: column; gap: 18px; min-height: 100vh; }
.tif-end-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.tif-end-head .again { font-size: 14px; color: rgba(255,255,255,.75); }
.tif-end-main { flex-grow: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 96px; align-items: center; }
.tif-end-pitch { display: flex; flex-direction: column; gap: 26px; }
.tif-end-pitch h1 { font-family: Archivo, system-ui, sans-serif; font-weight: 900; font-size: 68px; line-height: 0.98; letter-spacing: -0.035em; color: #fff; max-width: 12ch; overflow-wrap: anywhere; }
.tif-end-pitch .p1 { font-size: 20px; line-height: 1.6; max-width: 44ch; }
.tif-end-pitch .p1 strong { color: #fff; }
.tif-end-pitch .p2 { font-size: 17px; line-height: 1.6; max-width: 48ch; color: rgba(255,255,255,.75); }
.tif-end .btn-gold { min-height: 56px; padding: 0 32px; font-size: 17px; }
.tif-end .btn-ghost { min-height: 56px; padding: 0 28px; font-size: 17px; }
.tif-end-ig { margin-top: 14px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.13); display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 720px; }
.tif-end-ig p { font-size: 17px; line-height: 1.5; }
.tif-end-ig strong { color: #fff; }
.tif-prices { display: flex; flex-direction: column; gap: 14px; }
.tif-prices h2 { font-family: Archivo, system-ui, sans-serif; font-weight: 800; font-size: 28px; letter-spacing: -0.02em; color: #fff; }
.tif-prices > p { font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.72); }
.tif-prices table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.tif-prices td { padding: 16px 0; border-top: 1px solid rgba(255,255,255,.13); font-size: 17px; }
.tif-prices tr:last-child td { border-bottom: 1px solid rgba(255,255,255,.13); }
.tif-prices td.p { text-align: right; font-family: Archivo, system-ui, sans-serif; font-weight: 800; color: #fff; font-size: 20px; white-space: nowrap; padding-left: 12px; }
.tif-prices td.p.is-gold { color: #FFD800; }
.tif-prices .all { font-size: 15px; }
.tif-prices .never { margin-top: 10px; font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.66); }

/* ---- between desktop and laptop ---- */
@media (max-width: 1379px) {
    .tif-wrap, .tif-top .tif-wrap { padding-left: 40px; padding-right: 40px; }
    .tif-stop-main { grid-template-columns: 360px minmax(0, 1fr); column-gap: 40px; }
    .tif-intro h2 { font-size: 38px; }
    .tif-stop-head { flex-wrap: wrap; }
    .tif-stop-head .rail { order: 3; width: 100%; justify-content: flex-start; }
    .ci-app { grid-template-columns: 360px minmax(0, 1fr); }
    .ci-phonecol { padding: 24px 20px; }
    .ci-reg { padding: 28px 24px 20px; }
    .ci-roster .badge-s { width: auto; }
    .fm-app { grid-template-columns: minmax(0, 1fr) 320px; }
    .fm-row .btns { grid-template-columns: minmax(0, 1fr) auto; }
    .fm-list, .rg-form, .rg-side { padding: 28px 24px; }
    .ch-app { grid-template-columns: minmax(0, 1fr) 300px; }
    .ch-table { padding: 24px 22px 0; }
    .ch-friends { padding: 10px 22px 24px; }
    .ch-form { padding: 24px 22px; }
    .ch-table td, .ch-table th { padding-left: 6px; padding-right: 6px; }
    .wl-app { grid-template-columns: minmax(0, 1fr) 340px; }
    .wl-rows { padding: 24px; }
    .tif-top-main { gap: 56px; }
    .tif-sales h1 { font-size: 54px; }
    .tif-end-main { gap: 64px; }
    .tif-end-pitch h1 { font-size: 60px; }
}

/* ---- phone: the Phone-* boards ---- */
@media (max-width: 1099px) {
    .tif-wrap, .tif-top .tif-wrap { max-width: 680px; padding: 18px 20px 40px; }

    .tif-top-head { min-height: 44px; padding-bottom: 12px; }
    .tif-logo { font-size: 22px; }
    .tif-logo img { width: 23px; }
    .tif-top-links a:not(.is-gold) { display: none; }
    .tif-top-links a.is-gold { padding: 10px 0; }
    .tif-top-main { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 28px; }
    .tif-sales { gap: 18px; }
    .tif-sales h1 { font-size: 38px; line-height: 1.05; }
    .tif-sales .lead { font-size: 17px; }
    .tif-sales .years { font-size: 16px; }
    .tif-points strong { font-size: 16px; }
    .tif-points small { font-size: 14px; }
    .tif-offer strong { font-size: 16px; }
    .tif-offer span { font-size: 14px; }
    .tif-offer .guarantee { font-size: 13px; }
    .tif-fields { grid-template-columns: minmax(0, 1fr); }
    .tif-lead-actions { flex-direction: column; align-items: stretch; gap: 12px; }
    .tif-lead .btn-gold { min-height: 56px; font-size: 17px; }
    .tif-tour > p:first-child { margin: 0 0 10px; }
    .tif .stop { grid-template-columns: 36px minmax(0,1fr) 20px; gap: 14px; padding: 18px 0; }
    .tif .stop b { font-size: 30px; }
    .tif .stop strong { font-size: 17px; }
    .tif .stop small { font-size: 14px; }
    .tif-tour .after { margin: 16px 0 0; line-height: 1.5; }

    .tif-stop .tif-wrap, .tif-end .tif-wrap { gap: 22px; min-height: 0; }
    .tif-stop-head { min-height: 44px; }
    .tif-stop-head .tif-logo { font-size: 22px; }
    .tif-stop-head .tif-logo img { width: 23px; }
    .tif-stop-head .tag { font-size: 14px; color: rgba(255,255,255,.7); }
    .tif-stop-main { display: flex; flex-direction: column; align-items: stretch; gap: 22px; }
    .tif-intro { order: 1; padding-top: 0; }
    .tif-appcol { order: 2; }
    .tif-notes { order: 3; font-size: 14px; }
    .tif-ctas { order: 4; margin-top: 0; align-items: stretch; gap: 22px; }
    .tif-intro h2 { font-size: 36px; line-height: 1; }
    .tif-intro p { line-height: 1.6; }
    .tif .btn-gold, .tif .btn-ghost { display: flex; white-space: normal; text-align: center; padding: 0 20px; }
    .tif .btn-gold { min-height: 56px; }
    .tif .tif-next { display: flex; width: 100%; justify-content: center; align-self: stretch; }

    .ci-app { display: flex; flex-direction: column; background: transparent; gap: 16px; overflow: visible; }
    .ci-phonecol { padding: 0; background: transparent; display: block; }
    .ci-phonecol > .lbl-sm { display: none; }
    .ci-bezel { width: auto; height: auto; border-radius: 0; background: transparent; padding: 0; box-shadow: none; }
    .ci-screen { border-radius: 16px; padding: 28px 20px 16px; height: auto; min-height: 480px; }
    .ci-cam { margin: -28px -20px -16px; min-height: calc(100% + 44px); }
    .ci-where h3 { margin: 0 0 6px !important; }
    .ci-reg { border-left: 0; border-radius: 16px; background: #F7F8FA; padding: 22px 18px; gap: 8px; }
    .ci-reg h3 { font-size: 22px; }
    .ci-reg .how { display: none; }
    .ci-roster li { min-height: 52px; gap: 12px; padding: 0 6px; }
    .ci-roster label { font-size: 15px; }
    .ci-roster .badge-s { width: auto; }

    .rg-app { display: flex; flex-direction: column; gap: 16px; background: transparent; overflow: visible; }
    .rg-form { border-right: 0; border-radius: 16px; padding: 22px 18px; gap: 14px; }
    .rg-form h3 { font-size: 22px; }
    .rg-csv { display: none; }
    .rg-side { padding: 0; gap: 16px; }
    .rg-fm { padding: 18px; }
    .rg-all { border-radius: 16px; background: #F7F8FA; padding: 20px 18px; display: flex; flex-direction: column; gap: 8px; }
    .rg-list li { flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 6px; }

    .fm-app { display: flex; flex-direction: column; gap: 16px; background: transparent; overflow: visible; }
    .fm-list { border-radius: 16px; padding: 22px 18px 8px; gap: 4px; }
    .fm-list h3 { font-size: 22px; }
    .fm-list .sub { margin: 0 0 10px !important; }
    .fm-row { padding: 16px 8px; }
    .fm-row .top strong { font-size: 16px; }
    .fm-row .btns { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
    .fm-wa { padding: 0; background: transparent; }
    .fm-wa > .lbl-sm { display: none; }
    .fm-chat { min-height: 0; border: 0; background: #F3F0EA; }
    .fm-chat-head { background: #fff; padding: 12px 16px; }
    .fm-chat-head strong { font-size: 15px; }
    .fm-chat-body { padding: 0; }
    .fm-chat-body p { padding: 28px 20px; }
    .fm-compose { background: #fff; border-top: 0; }

    .ch-app { display: flex; flex-direction: column; gap: 16px; background: transparent; overflow: visible; }
    .ch-table { order: 1; border-radius: 16px; padding: 22px 18px; gap: 8px; }
    .ch-table .h { flex-direction: column; gap: 4px; }
    .ch-table h3 { font-size: 22px; }
    .ch-form { order: 2; border-radius: 16px; background: #F7F8FA; padding: 22px 18px; }
    .ch-form h3 { font-size: 20px; }
    .ch-form .how { display: none; }
    .ch-friends { order: 3; border-radius: 16px; padding: 22px 18px; }
    .ch-flist li { grid-template-columns: minmax(0, 1fr) 116px 70px; }
    .ch-flist .who { display: flex; flex-direction: column; gap: 2px; }
    .ch-flist .by { font-size: 13px; }
    .tif .pill-w, .tif .pill-done { width: 116px; }
    .tif .pill-u { width: 70px; }

    .wl-app { display: flex; flex-direction: column; gap: 16px; background: transparent; overflow: visible; }
    .wl-rows { border-radius: 16px; padding: 22px 18px; gap: 6px; }
    .wl-rows h3 { font-size: 22px; }
    .wl-row { padding: 14px 0; }
    .wl-row .body { padding-left: 0; }
    .wl-row .place { width: 44px; font-size: 20px; }
    .wl-side { padding: 0; background: transparent; }
    .wl-side > .lbl-sm { display: none; }
    .wl-page { border: 1px solid rgba(255,255,255,.2); background: #011F5D; padding: 22px 18px; }
    .wl-page .phone-lbl { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.75); }
    .wl-page .school, .wl-page .loc { display: none; }
    .wl-page .sect { border-top: 0; margin-top: 0; padding-top: 0; }

    .sh-app { padding: 22px 18px; gap: 14px; }
    .sh-app h3 { font-size: 20px; }
    .sh-row .place { display: none; }
    .sh-cards { flex-direction: column; align-items: center; gap: 12px; }
    .sh-card { align-items: center; }
    .sh-post { zoom: 0.79; }
    .sh-story { zoom: 0.923; }

    .tif-end-head .again { padding: 12px 0; }
    .tif-end-main { display: flex; flex-direction: column; gap: 26px; }
    .tif-end-pitch { gap: 18px; padding-top: 8px; }
    .tif-end-pitch h1 { font-size: 46px; }
    .tif-end-pitch .p1 { font-size: 17px; }
    .tif-end-pitch .p2 { font-size: 15px; }
    .tif-end .btn-ghost { min-height: 52px; font-size: 16px; }
    .tif-end-ig { flex-direction: column; align-items: stretch; gap: 14px; padding-top: 18px; margin-top: 0; }
    .tif-end-ig p { font-size: 16px; }
    .tif-prices { gap: 10px; }
    .tif-prices h2 { font-size: 24px; }
    .tif-prices > p { font-size: 14px; }
    .tif-prices .all { padding: 10px 0; }
}

@media (max-width: 400px) {
    .ch-flist li { grid-template-columns: minmax(0, 1fr) 108px 64px; gap: 8px; }
    .tif .pill-w, .tif .pill-done { width: 108px; }
    .tif .pill-u { width: 64px; }
}
