:root { --navy: #1B2A4E; --gold: #F4B400; --cream: #FFF8EC; --red: #D62839; --green: #1E8E3E; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--cream); color: #222; font: 17px/1.6 Arial, Helvetica, sans-serif; }
a { color: var(--navy); }
img { max-width: 100%; height: auto; }

header { background: var(--navy); }
.bar { max-width: 960px; margin: 0 auto; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.logo { display: flex; align-items: center; gap: 0; color: #fff; text-decoration: none; font-weight: 900; font-size: 26px; letter-spacing: 1px; }
.logo .o { display: inline-block; width: .8em; height: .8em; margin: 0 .12em; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #FFE27A, var(--gold)); }
nav a { color: #fff; text-decoration: none; margin-left: 16px; font-size: 16px; white-space: nowrap; }
nav a:hover { color: var(--gold); }

main { max-width: 960px; margin: 0 auto; padding: 24px 16px 48px; }
h1 { color: var(--navy); font-size: 32px; line-height: 1.2; margin: 0 0 8px; }
h2 { color: var(--navy); font-size: 24px; margin: 36px 0 10px; }
h3 { color: var(--navy); font-size: 18px; margin: 18px 0 4px; }
.lead { font-size: 20px; color: #333; margin: 0 0 18px; }
.date { color: #666; font-size: 15px; margin: 0 0 20px; }
.box { background: #fff; border-left: 5px solid var(--gold); padding: 12px 16px; border-radius: 8px; }

.hero { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: center; }
.banner { display: block; width: 100%; border-radius: 18px; box-shadow: 0 6px 20px rgba(0,0,0,.10); }
.btn { display: inline-block; background: var(--green); color: #fff; text-decoration: none; font-weight: 700; padding: 12px 22px; border-radius: 12px; }
.btn.soon { background: #fff; color: var(--navy); border: 2px solid var(--navy); }
.note { font-size: 14px; color: #666; margin-top: 8px; }

.steps { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 0; list-style: none; counter-reset: s; }
.steps > li { background: #fff; border-radius: 14px; padding: 14px 16px 14px 58px; position: relative; }
.steps > li::before { counter-increment: s; content: counter(s); position: absolute; left: 14px; top: 14px; width: 32px; height: 32px; border-radius: 50%; background: var(--red); color: #fff; font-weight: 700; text-align: center; line-height: 32px; }
.steps > li > b { color: var(--navy); font-size: 19px; }
.steps ul { margin: 8px 0 0; padding-left: 18px; }
.steps ul li { margin: 6px 0; }
.steps ul li::marker { color: var(--red); }
.steps .tip { margin: 10px 0 0; background: #FDF0C8; border: 1px solid var(--gold); border-radius: 10px; padding: 10px 12px; color: var(--navy); }

/* Screens: one row, swipe left and right with a finger; the script also
   moves it slowly and pauses while it is touched. No scroll bar. */
.shots { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding: 4px 0 12px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.shots::-webkit-scrollbar { display: none; }
.shots .track { display: flex; gap: 14px; width: max-content; }
.shots figure { margin: 0; flex: 0 0 200px; text-align: center; font-size: 14px; color: #555; cursor: zoom-in; }
.shots img { border-radius: 16px; box-shadow: 0 4px 12px rgba(0,0,0,.15); -webkit-user-drag: none; }
.center { text-align: center; }

/* A screen shown big. */
#zoom { border: 0; padding: 12px; border-radius: 18px; background: var(--cream); max-width: 94vw; max-height: 94vh; text-align: center; }
#zoom::backdrop { background: rgba(10, 16, 32, .75); }
#zoom img { display: block; max-width: 100%; max-height: 80vh; width: auto; border-radius: 14px; margin: 0 auto; }
#zoom p { margin: 8px 0 0; color: var(--navy); font-weight: 700; }
#zoom .close { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #111; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }

ul.ticks { padding-left: 0; list-style: none; }
ul.ticks li { padding-left: 28px; position: relative; margin: 6px 0; }
ul.ticks li::before { content: "\2713"; position: absolute; left: 0; color: var(--green); font-weight: 900; }

details { background: #fff; border-radius: 12px; margin: 8px 0; padding: 0 16px; }
summary { cursor: pointer; padding: 12px 0; font-weight: 700; color: var(--navy); }
details p { margin: 0 0 12px; }

footer { background: var(--navy); color: #cfd6e6; text-align: center; font-size: 14px; padding: 22px 16px; }
footer a { color: #fff; margin: 0 8px; }

@media (min-width: 760px) {
  h1 { font-size: 42px; }
  .steps { grid-template-columns: 1fr 1fr; align-items: start; }
}
@media (max-width: 480px) {
  nav a { margin-left: 10px; font-size: 15px; }
  .logo { font-size: 22px; }
}

/* FAQ section headings, like the app's Help. */
.faq-head { margin: 22px 0 8px; padding: 8px 12px; background: #FDF0C8; border-radius: 10px; color: var(--navy); font-size: 18px; }
