/* Fettle Android waitlist: shares the cinematic site's tokens and exact mark. */
.waitlist-link { color: #E08A50; border-color: #E08A50; text-decoration: none; }
/* The decorative phone overlaps long translated hero CTAs at some widths. */
.hero-visual[aria-hidden=true] { pointer-events: none; }
.hero-ctas .waitlist-link { position: relative; z-index: 2; white-space: normal; }
.waitlist-dialog { padding: 0; border: 1px solid #69503e; border-radius: 18px; width: min(580px, calc(100% - 24px)); max-height: calc(100dvh - 24px); color: #F4F1EC; background: #0F1115; overflow: auto; }
.waitlist-dialog::backdrop { background: rgb(0 0 0 / .78); }
.waitlist-dialog-inner { position: relative; }
.waitlist-dialog-copy { padding: 0 32px 24px; }
.waitlist-popup-art { width: 100%; height: 160px; object-fit: cover; object-position: center 48%; border-radius: 18px 18px 0 0; }
.waitlist-close { position: absolute; right: 10px; top: 10px; width: 44px; height: 44px; border: 1px solid #69503e; border-radius: 50%; background: #0F1115; color: #F4F1EC; font-size: 28px; cursor: pointer; }
.waitlist-eyebrow { display: flex; align-items: center; gap: 10px; margin: 16px 0; color: #E08A50; font: 500 .75rem/1.5 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.waitlist-dialog h2 { margin: 0 0 12px; font-size: clamp(1.65rem, 4vw, 2.25rem); line-height: 1.08; letter-spacing: -.04em; }
.waitlist-dialog p:not(.waitlist-eyebrow) { color: #beb8ae; }
.waitlist-form { margin-top: 22px; }
.waitlist-form fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.waitlist-form label { display: block; font-size: .9rem; }
.waitlist-form input[type=email] { display: block; width: 100%; margin: 8px 0 14px; padding: 13px 14px; border: 1px solid #817467; border-radius: 6px; background: #16181D; color: #F4F1EC; font: inherit; min-height: 48px; }
.waitlist-form .waitlist-consent { font-size: .85rem; line-height: 1.5; margin: 0 0 16px; color: #beb8ae; }
.waitlist-submit { width: 100%; border: 0; border-radius: 6px; padding: 14px 16px; background: #E08A50; color: #0F1115; font: 700 1rem/1.4 var(--font-sans); cursor: pointer; min-height: 48px; }
.waitlist-submit:hover { background: #efa36c; }
.waitlist-form fieldset:disabled { opacity: .65; }
.waitlist-status:empty { display: none; }
.waitlist-status { margin-top: 14px; padding: 12px; border-left: 3px solid #E08A50; color: #F4F1EC; background: #1C1F26; }
.waitlist-status[data-success] { border-color: #7CAC8B; }
.waitlist-status strong { display: block; color: #7CAC8B; margin-bottom: 4px; }
.waitlist-form .waitlist-privacy { font-size: .75rem; line-height: 1.6; color: #beb8ae; margin: 12px 0 0; overflow-wrap: anywhere; }
.waitlist-privacy a { text-underline-offset: 3px; }
.waitlist-dismiss { display: block; margin: 12px auto 0; border: 0; padding: 10px 18px; min-height: 44px; background: none; color: #F4F1EC; font: inherit; text-decoration: underline; cursor: pointer; }
.android-main { max-width: 1320px; margin: auto; padding: 48px 40px 64px; }
.android-current { color: #7CAC8B; text-transform: none; letter-spacing: 0; }
.android-copy > .waitlist-eyebrow { flex-wrap: wrap; }
.android-art-credit { font-size: .7rem; line-height: 1.5; color: #beb8ae; margin: 24px 0 0; }
.android-hero { display: grid; grid-template-columns: 1fr 1.05fr; align-items: start; gap: 56px; }
.android-copy h1 { font-size: clamp(2.15rem, 4.4vw, 4rem); line-height: 1.04; letter-spacing: -.055em; margin: 16px 0 20px; max-width: 12ch; }
.android-intro { color: #beb8ae; font-size: 1rem; line-height: 1.65; margin: 0; max-width: 55ch; }
.android-iphone { display: inline-block; font-size: .8rem; color: #beb8ae; margin-top: 22px; text-underline-offset: 4px; }
.android-workshop { padding-top: 24px; }
.android-workshop > img { width: 100%; height: auto; }
.android-progress { border-top: 1px solid #69503e; margin-top: 24px; padding-top: 18px; }
.android-progress h2 { font: 500 .85rem var(--font-mono); margin: 0 0 18px; color: #E08A50; }
.android-progress ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; counter-reset: stage; }
.android-progress li { counter-increment: stage; padding-left: 30px; position: relative; font-size: .85rem; }
.android-progress li::before { content: counter(stage, decimal-leading-zero); position: absolute; left: 0; color: #beb8ae; font-family: var(--font-mono); font-size: .75rem; }
.android-progress li:first-child::before { content: '✓'; color: #7CAC8B; }
.android-progress li[aria-current]::before, .android-progress li[aria-current] small { color: #E08A50; }
.android-progress small { display: block; color: #beb8ae; margin-top: 4px; }
.android-proof { border-top: 1px solid #2A2D34; padding-top: 36px; margin-top: 56px; }
.android-proof h2 { max-width: 32ch; font-size: 1.7rem; letter-spacing: -.03em; }
.android-proof ul { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 40px; padding-left: 20px; color: #beb8ae; }
.android-proof li::marker { color: #E08A50; }
@media (max-width: 850px) {
  .android-main { padding: 28px 24px 40px; }
  .android-hero { grid-template-columns: 1fr; gap: 24px; }
  .android-copy h1 { max-width: 18ch; }
  .android-workshop { padding: 0; }
  .android-workshop > img { max-height: 330px; object-fit: contain; }
  .android-proof ul { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .android-main { padding: 20px 18px 32px; }
  .android-copy h1 { margin: 12px 0; }
  .waitlist-dialog-copy { padding: 0 18px 16px; }
  .waitlist-popup-art { height: 110px; }
  .waitlist-dialog .waitlist-form { margin-top: 16px; }
  .android-progress ol { gap: 16px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .waitlist-dialog, .waitlist-dialog *, .android-main * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
