.bar .logo { display: block; color: inherit; }
.hero.full .hero-in { min-height: min(80svh, 780px); align-content: center; }
.hero.full .hero-in.split { align-items: start; align-content: start; }
.hero-in.split > div:first-child { padding-top: clamp(8px, 5vh, 56px); }
.hero img.bg { object-fit: cover; }
.hero .ctas { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.sec-h { font: var(--display-weight) clamp(1.8rem, 1.2rem + 2vw, 2.6rem)/1.05 var(--display); letter-spacing: var(--display-tracking); color: var(--ink); margin: 0 0 24px; text-wrap: balance; max-width: 22ch; }

.sec { padding: clamp(64px, 9vw, 112px) 0; background: #fff; }
.sec-paper { background: var(--paper); }
.sec-ink { background: var(--ink); color: #fff; }
.sec-ink .sec-h { color: #fff; }
.sec .sec-h { max-width: 24ch; }
.pain-grid { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .pain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pain-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .pain-grid.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pain { display: grid; align-content: start; margin: 0; background: #fff; border: 1px solid var(--rule-2); border-radius: 14px; overflow: hidden; }
.pain .pic { display: grid; place-items: center; aspect-ratio: 4 / 3; background: #fff; border-bottom: 1px solid var(--rule-2); }
.pain .pic img { width: 56%; height: auto; object-fit: contain; }
.pain .pic svg { width: 72px; height: 72px; color: var(--ink); }
.pain h3 { margin: 0; padding: 18px 18px 20px; font: 700 1.25rem/1.25 var(--sans); color: var(--ink); }

.moment { position: relative; isolation: isolate; display: grid; align-content: center; min-height: 190px; padding: 26px 16px 34px; border-bottom: 1px solid var(--rule-2);
  background: radial-gradient(120% 110% at 12% 0%, rgba(var(--accent-rgb), .14) 0%, transparent 58%), linear-gradient(165deg, var(--tint) 0%, var(--rule-2) 100%); }
.notif { position: relative; display: grid; gap: 3px; padding: 11px 13px 12px; border-radius: 16px; background: rgba(255,255,255,.95);
  box-shadow: 0 1px 0 rgba(var(--ink-rgb), .04), 0 16px 30px -18px rgba(var(--deep-rgb), .55); }
.notif.stack::before, .notif.stack::after { content: ""; position: absolute; z-index: -1; left: 5%; right: 5%; bottom: -8px; height: 30px; border-radius: 0 0 14px 14px;
  background: rgba(255,255,255,.85); box-shadow: 0 1px 0 rgba(var(--ink-rgb), .06), 0 8px 16px -10px rgba(var(--deep-rgb), .45); }
.notif.stack::after { left: 10%; right: 10%; bottom: -16px; background: rgba(255,255,255,.62); }
.notif-head { display: flex; align-items: center; gap: 7px; margin-bottom: 3px; }
.notif-ico { display: grid; place-items: center; flex: none; width: 20px; height: 20px; border-radius: 6px; background: var(--ink); color: #fff; }
.notif-ico svg { width: 12px; height: 12px; }
.notif-app { font: 600 .6875rem/1 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.notif-time { margin-left: auto; font: 500 .6875rem/1 var(--sans); color: var(--muted); }
.notif-from { font: 700 .875rem/1.25 var(--sans); color: var(--ink); }
.notif-text { margin: 0; font: 500 .875rem/1.35 var(--sans); color: var(--text); }
.motion .moments.pre .notif { opacity: 0; transform: translateY(-16px) scale(.97); }
.motion .moments.in .notif { transition: opacity .5s var(--ease), transform .6s var(--ease); }
.motion .moments.in .pain:nth-child(2) .notif { transition-delay: .14s; }
.motion .moments.in .pain:nth-child(3) .notif { transition-delay: .28s; }
.motion .moments.in .pain:nth-child(4) .notif { transition-delay: .42s; }

.pain.photo { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; aspect-ratio: 4 / 5;
  padding: 14px; border: 0; border-radius: 16px; background: var(--ink); color: #fff; }
.pain.photo > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.pain.photo::after { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(var(--deep-rgb), .08) 0%, rgba(var(--deep-rgb), 0) 34%, rgba(var(--deep-rgb), .55) 66%, rgba(var(--deep-rgb), .9) 100%); }
.pain.photo h3 { padding: 0 6px 6px; color: #fff; font: 800 clamp(1.3rem, 1.05rem + .7vw, 1.6rem)/1.15 var(--sans); text-wrap: balance; text-shadow: 0 1px 12px rgba(var(--deep-rgb), .5); }
.notif.mini { padding: 9px 11px 10px; border-radius: 14px; background: #fff; box-shadow: 0 14px 28px -14px rgba(var(--deep-rgb), .7); }
.notif.mini .notif-head { margin-bottom: 2px; }
.notif.mini .notif-from, .notif.mini .notif-text { font-size: .8125rem; }
@media (max-width: 639px) { .pain.photo { aspect-ratio: 4 / 3.3; } }
@media (min-width: 640px) and (max-width: 1099px) { .pain.photo { aspect-ratio: 1 / 1; } }
.sol { display: grid; gap: 40px; align-items: center; grid-template-columns: 1fr; }
@media (min-width: 1000px) { .sol { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } .sol.solo { grid-template-columns: 1fr; } }
.sol-list { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 20px; }
.sol.solo .sol-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.sol-list li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; }
.sol-list .ico { width: 44px; height: 44px; border-radius: 10px; background: var(--tint); color: var(--ink); display: grid; place-items: center; }
.sol-list .ico svg { width: 22px; height: 22px; }
.sol-list h3 { font: 700 1.25rem/1.25 var(--sans); color: var(--ink); margin: 0; }
.shot { margin: 0; min-width: 0; }
.shot img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--rule-2); box-shadow: 0 30px 70px -30px rgba(var(--deep-rgb),.45); }
.step-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 760px) { .step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .step-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .step-grid.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.step { display: grid; justify-items: start; align-content: start; gap: 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; padding: 20px 20px 22px; background: rgba(255,255,255,.04); }
.step .tile { width: 84px; height: 84px; border-radius: 18px; background: #fff; display: grid; place-items: center; overflow: hidden; }
.step .tile img { width: 72px; height: 72px; object-fit: contain; }
.step .tile svg { width: 44px; height: 44px; color: var(--ink); }
.step .n { font: 500 .8125rem/1 var(--mono); color: var(--accent-light); }
.step h3 { font: 700 1.25rem/1.2 var(--sans); margin: 2px 0 0; color: #fff; }
.cmp-wrap { overflow-x: auto; border-radius: 12px; border: 1px solid var(--rule-2); background: #fff; }
.cmp { width: 100%; border-collapse: collapse; }
.cmp th, .cmp td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--rule-2); vertical-align: top; }
.cmp thead th { font: 500 .75rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); background: var(--tint); }
.cmp tbody th { font-weight: 700; color: var(--ink); width: 24%; }
.cmp td:nth-child(2) { color: var(--muted); }
.cmp td:nth-child(3) { color: var(--ink); font-weight: 700; }
.cmp tbody tr:last-child th, .cmp tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 520px) { .cmp th, .cmp td { padding: 12px 10px; font-size: .9375rem; } }
.price { padding: 26px 28px; border-radius: 12px; background: var(--ink); color: #fff; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; }
.price p { margin: 0; color: var(--on-ink-strong); }
.price .price-big { font: var(--display-weight) clamp(1.8rem, 1.2rem + 2vw, 2.4rem)/1 var(--display); letter-spacing: var(--display-tracking); color: #fff; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.faq { padding: clamp(56px, 8vw, 104px) 0 0; }
.sec + .faq { padding-top: clamp(64px, 9vw, 112px); }
.faq-list { border-top: 2px solid var(--ink); max-width: 820px; }
.faq details { border-bottom: 1px solid var(--rule); }
.faq summary { list-style: none; cursor: pointer; padding: 18px 40px 18px 0; position: relative; font: 600 1.125rem/1.35 var(--sans); color: var(--ink); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 14px; font: 400 1.6rem/1 var(--sans); color: var(--accent); }
.faq details[open] summary::after { content: "\2212"; }
.faq summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.faq details p { margin: 0 0 18px; max-width: 64ch; color: var(--text); }
.signup p.lead2:empty { display: none; }
.band-wrap { padding: clamp(56px, 8vw, 104px) 0; }
.band { padding: clamp(36px, 6vw, 64px) clamp(20px, 5vw, 64px); border-radius: 16px; background: var(--ink); color: #fff; text-align: center; display: grid; justify-items: center; gap: 14px; }
.band h2 { margin: 0; font: var(--display-weight) clamp(1.9rem, 1.2rem + 2.4vw, 3rem)/1.05 var(--display); letter-spacing: var(--display-tracking); text-wrap: balance; max-width: 20ch; }
.band p { margin: 0 0 8px; color: var(--on-ink); max-width: 44ch; }
.btn-light { background: var(--accent-light); color: var(--ink); }
.btn-light:hover { background: #fff; }

.top-band { background: var(--ink); color: #fff; }
.legal-page { padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 8vw, 96px); }
.legal-page .narrow { max-width: 720px; }
.legal-page h1 { font: var(--display-weight) clamp(2.2rem, 1.4rem + 2.6vw, 3.2rem)/1.02 var(--display); letter-spacing: var(--display-tracking); color: var(--ink); margin: 0 0 18px; }
.legal-page h2 { font: 700 1.375rem/1.2 var(--sans); color: var(--ink); margin: 32px 0 8px; }
.legal-page p, .legal-page li { color: var(--text); }
.legal-status:empty { display: none; }
.field textarea { width: 100%; min-height: 140px; padding: 12px 14px; border: 1.5px solid var(--rule); border-radius: 6px; font: 400 1rem/1.5 var(--sans); color: var(--text); background: #fff; resize: vertical; }
.field textarea:focus-visible { outline: 2px solid var(--ink); outline-offset: 1px; border-color: var(--ink); }
.contact-form { display: grid; gap: 4px; max-width: 560px; margin-top: 24px; }
.contact-form .btn { justify-self: start; margin-top: 8px; }
.contact-done { max-width: 560px; margin-top: 24px; padding: 24px; border-radius: 12px; background: var(--tint); }
.contact-done h2 { margin: 0 0 6px; }
.contact-done p { margin: 0; }

.site-foot { background: var(--ink); color: var(--on-ink); padding: clamp(48px, 7vw, 80px) 0 32px; margin-top: 0; }
.site-foot a { color: var(--on-ink-strong); text-decoration: none; }
.site-foot a:hover { text-decoration: underline; }
.foot-grid { display: grid; gap: 32px 24px; grid-template-columns: 1fr 1fr; }
@media (min-width: 900px) { .foot-grid { grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 1fr)); } }
.foot-brand { grid-column: 1 / -1; }
@media (min-width: 900px) { .foot-brand { grid-column: auto; } }
.foot-brand p { margin: 14px 0 0; max-width: 36ch; }
.foot-brand .sig { color: var(--on-ink-muted); font-size: .875rem; }
.site-foot nav { display: grid; gap: 10px; align-content: start; }
.site-foot nav h2 { margin: 4px 0 6px; font: 500 .75rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--on-ink-muted); }
.foot-bottom { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; font-size: .8125rem; color: var(--on-ink-muted); }
.foot-bottom p { margin: 0; }

.covers { list-style: none; margin: 0 0 26px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; max-width: 40rem; }
.covers li { display: flex; align-items: center; gap: 8px; font: 700 1.0625rem/1.3 var(--sans); color: var(--on-ink-strong); }
.covers svg { width: 18px; height: 18px; flex: none; color: var(--accent-light); }

.form-hero::after { display: none; }
.form-hero .fh-grid { display: grid; gap: 22px; padding-top: 6px; padding-bottom: clamp(40px, 6vw, 80px); grid-template-areas: "media" "body" "form"; }
.form-hero .fh-grid.no-media { grid-template-areas: "body" "form"; }
.form-hero .fh-media { grid-area: media; position: relative; overflow: hidden; border-radius: 16px; aspect-ratio: 16 / 10; max-height: 44svh; background: var(--ink-2); }
.form-hero .fh-media .bg { object-position: 50% 45%; }
.form-hero .fh-body { grid-area: body; min-width: 0; }
.form-hero h1 { font-size: clamp(2.3rem, 1.2rem + 2.6vw, 3.5rem); }
.form-hero .fh-body .lede { margin-bottom: 20px; }
.form-hero .fh-body .covers { margin-bottom: 18px; }
.form-hero .fh-form { grid-area: form; min-width: 0; }
@media (min-width: 1000px) {
  .form-hero .fh-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 460px); grid-template-rows: auto 1fr; grid-template-areas: "body form" "media form"; column-gap: clamp(32px, 4vw, 64px); row-gap: 28px; align-items: start; padding-top: clamp(12px, 2.4vw, 36px); }
  .form-hero .fh-grid.no-media { grid-template-areas: "body form"; }
  .form-hero .fh-media { aspect-ratio: 16 / 9; max-height: none; }

  .form-hero.fh-full .fh-grid { position: static; grid-template-areas: "body form"; grid-template-rows: auto; min-height: min(92svh, 940px); padding-bottom: clamp(48px, 6vw, 88px); }
  .form-hero.fh-full .fh-media { position: absolute; inset: 0; z-index: 0; aspect-ratio: auto; border-radius: 0; background: var(--ink); }
  .form-hero.fh-full .fh-media .bg { object-position: var(--focus-full, 70% 50%) !important; }
  .form-hero.fh-full .fh-body, .form-hero.fh-full .fh-form { position: relative; z-index: 2; }
  .form-hero.fh-full::after { display: block; z-index: 1;
    background: linear-gradient(180deg, rgba(var(--ink-rgb),calc(.62 * var(--hero-wash, 1))) 0%, rgba(var(--ink-rgb),calc(.5 * var(--hero-wash, 1))) 30%, rgba(var(--ink-rgb),calc(.12 * var(--hero-wash, 1))) 52%, rgba(var(--ink-rgb),0) 64%),
                linear-gradient(90deg, rgba(var(--ink-rgb),calc(.42 * var(--hero-wash, 1))) 0%, rgba(var(--ink-rgb),0) 48%); }
}
@media (min-width: 1600px) {
  .form-hero.fh-full .fh-grid { min-height: min(92svh, 52vw); }
  .form-hero.fh-full .fh-media { inset: 50% 0 auto 0; height: auto; aspect-ratio: 1.515; min-height: 100%; transform: translateY(-48%); }
}

.form-hero .fh-go { display: none; }
@media (max-width: 760px) {
  .form-hero.fh-full { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto minmax(24px, 1fr) auto auto; }
  .form-hero.fh-full > header { grid-area: 1 / 1; z-index: 3; }
  .form-hero.fh-full .fh-grid { display: contents; }
  .form-hero.fh-full .fh-media { grid-area: 1 / 1 / 5 / 2; z-index: 0; aspect-ratio: auto; max-height: none; border-radius: 0; min-height: 100vh; min-height: 100svh; }
  .form-hero.fh-full .fh-body, .form-hero.fh-full .fh-go, .form-hero.fh-full .fh-form { position: relative; z-index: 2; }
  .form-hero.fh-full .bar { min-height: 64px; }
  .form-hero.fh-full .fh-body { grid-area: 2 / 1; padding: 4px clamp(16px, 4vw, 56px) 0; }

  .form-hero.fh-full .fh-body::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; top: -120px; bottom: -64px;
    background: linear-gradient(180deg, rgba(var(--ink-rgb), .7) 0, rgba(var(--ink-rgb), .62) calc(100% - 82px), rgba(var(--ink-rgb), 0) 100%); }
  .form-hero.fh-full h1 { font-size: min(2.6rem, calc(12vw - 6px)); margin-bottom: 18px; }
  .form-hero.fh-full .fh-body .lede { margin-bottom: 18px; }
  .form-hero.fh-full .covers { row-gap: 8px; }
  .form-hero.fh-full .fh-go { grid-area: 4 / 1; display: flex; margin: 0 clamp(16px, 4vw, 56px) max(20px, env(safe-area-inset-bottom)); }
  .form-hero.fh-full .fh-go:focus-visible { outline-color: #fff; }
  .form-hero.fh-full .fh-form { grid-area: 5 / 1; padding: 22px clamp(16px, 4vw, 56px) clamp(40px, 6vw, 80px); }
}

@media (min-width: 1000px) { .sol.has-phone { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.phone-wrap { position: relative; margin: 0 auto; width: min(100%, 320px); padding: 0 0 12px; }
.phone { position: relative; aspect-ratio: 9 / 18.4; border-radius: 46px; padding: 11px; background: #101316;
  box-shadow: 0 46px 90px -40px rgba(var(--deep-rgb), .6), inset 0 0 0 2px rgba(255,255,255,.07); }
.ph-island { position: absolute; z-index: 5; top: 21px; left: 50%; width: 88px; height: 25px; margin-left: -44px; border-radius: 999px; background: #000; }
.ph-display { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 36px; background: var(--paper); }
.ph-display > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ph-status { flex: none; display: flex; align-items: center; justify-content: space-between; height: 46px; padding: 2px 22px 0 30px; font: 700 .8125rem/1 var(--sans); color: var(--ink); }
.ph-sys { display: flex; align-items: center; gap: 5px; }
.ph-sys svg { display: block; width: auto; height: 11px; fill: currentColor; }
.ph-app { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 9px; padding: 4px 13px 24px; }
.ph-app.has-tabs { padding-bottom: 9px; }
.ph-sum { flex: none; display: grid; gap: 3px; padding: 12px 14px 13px; border-radius: 18px; background: var(--ink); color: #fff; box-shadow: 0 14px 26px -18px rgba(var(--deep-rgb), .8); }
.ph-sum-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; font: 600 .6875rem/1.2 var(--sans); color: var(--on-ink); }
.ph-sum-top .pc-tag { background: rgba(var(--accent-rgb), .32); color: var(--accent-light); }
.ph-sum-big { font: var(--display-weight) 1.75rem/1.05 var(--display); letter-spacing: var(--display-tracking); font-variant-numeric: tabular-nums; }
.ph-sum small { font: 500 .6875rem/1.3 var(--sans); color: var(--on-ink); }
.ph-tabs { flex: none; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); padding: 8px 8px 22px; border-top: 1px solid var(--rule-2); background: #fff; }
.ph-tab { display: grid; justify-items: center; gap: 3px; color: var(--muted); }
.ph-tab svg { width: 19px; height: 19px; }
.ph-tab small { font: 600 .5625rem/1 var(--sans); }
.ph-tab.on { color: var(--accent); }
.ph-home { position: absolute; z-index: 4; left: 33%; right: 33%; bottom: 7px; height: 4px; border-radius: 99px; background: var(--ink); opacity: .85; }
.ph-ask { flex: none; margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 7px 7px 16px; border-radius: 999px; background: #fff;
  box-shadow: 0 1px 0 var(--rule-2), 0 10px 22px -16px rgba(var(--deep-rgb), .45); font: 500 .8125rem/1.2 var(--sans); color: var(--muted); }
.ph-mic { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--ink); color: #fff; }
.ph-mic svg { width: 16px; height: 16px; }
.ph-top { display: flex; align-items: center; justify-content: space-between; }
.ph-name { font: 700 .8125rem/1 var(--sans); color: var(--ink); }
.ph-live { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgba(var(--accent-rgb), .18); }
.ph-title { margin: 0 0 2px; font: var(--display-weight) 1.5rem/1.1 var(--display); letter-spacing: var(--display-tracking); color: var(--ink); }
.ph-feed { flex: 0 1 auto; min-height: 0; overflow: hidden; list-style: none; margin: 0; padding: 0; display: grid; align-content: start; gap: 8px; }
.pc { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border-radius: 16px; background: #fff;
  box-shadow: 0 1px 0 var(--rule-2), 0 10px 20px -16px rgba(var(--deep-rgb), .4); }
.pc-ico { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--tint); color: var(--ink); }
.pc-ico svg { width: 17px; height: 17px; }
.pc-txt { display: grid; gap: 2px; min-width: 0; }
.pc-txt b { font: 700 .8125rem/1.25 var(--sans); color: var(--ink); }
.pc-txt small { overflow: hidden; font: 500 .6875rem/1.3 var(--sans); color: var(--muted); white-space: nowrap; text-overflow: ellipsis; }
.pc-tag { padding: 5px 7px; border-radius: 999px; background: rgba(var(--accent-rgb), .12); color: var(--accent); font: 700 .625rem/1 var(--sans); letter-spacing: .04em; }
.ph-toast { position: absolute; z-index: 6; top: 40px; left: 8px; right: 8px; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: center;
  padding: 10px 12px; border-radius: 22px; background: rgba(255,255,255,.93); -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
  box-shadow: 0 1px 0 rgba(var(--ink-rgb), .05), 0 18px 34px -20px rgba(var(--deep-rgb), .65); color: var(--ink); }
.ph-toast-ico { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--accent); color: var(--accent-ink); font: 800 1rem/1 var(--display); }
.ph-toast-txt { display: grid; gap: 1px; min-width: 0; }
.ph-toast-app { display: flex; justify-content: space-between; gap: 8px; font: 600 .5625rem/1.3 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.ph-toast b { font: 700 .78rem/1.25 var(--sans); }
.ph-toast small { overflow: hidden; font: 500 .72rem/1.3 var(--sans); color: var(--muted); white-space: nowrap; text-overflow: ellipsis; }
.motion .phone-wrap.pre .pc, .motion .phone-wrap.pre .ph-sum { opacity: 0; transform: translateY(14px); }
.motion .phone-wrap.pre .ph-toast { opacity: 0; transform: translateY(-130%); }
.motion .phone-wrap.in .pc, .motion .phone-wrap.in .ph-sum { transition: opacity .45s var(--ease), transform .55s var(--ease); }
.motion .phone-wrap.in .ph-sum { transition-delay: .1s; }
.motion .phone-wrap.in .pc:nth-child(1) { transition-delay: .5s; }
.motion .phone-wrap.in .pc:nth-child(2) { transition-delay: .85s; }
.motion .phone-wrap.in .pc:nth-child(3) { transition-delay: 1.2s; }
.motion .phone-wrap.in .pc:nth-child(4) { transition-delay: 1.55s; }
.motion .phone-wrap.in .pc:nth-child(5) { transition-delay: 1.9s; }
.motion .phone-wrap.in .ph-toast { transition: opacity .3s ease 2.3s, transform .6s var(--ease) 2.3s; }

.ai-grid { display: grid; gap: 40px; align-items: center; grid-template-columns: 1fr; }
@media (min-width: 1000px) { .ai-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.ai-side { display: grid; gap: 24px; justify-items: start; min-width: 0; }
.ai-card { width: min(100%, 380px); padding: 18px 18px 16px; border-radius: 20px; background: #fff;
  box-shadow: 0 1px 0 var(--rule-2), 0 30px 60px -34px rgba(var(--deep-rgb), .5); }
.ai-card-top { display: flex; align-items: center; gap: 10px; font: 700 .875rem/1.2 var(--sans); color: var(--ink); }
.ai-card-what { margin: 12px 0 14px; font: 700 1.125rem/1.3 var(--sans); color: var(--ink); }
.ai-card-btns { display: flex; gap: 8px; }
.ai-btn { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border: 1.5px solid var(--rule); border-radius: 999px; font: 700 .875rem/1 var(--sans); color: var(--ink); }
.ai-btn-ok { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); }
.ai-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ai-checks li { display: flex; align-items: center; gap: 10px; }
.ai-checks svg { flex: none; width: 22px; height: 22px; color: var(--accent); }
.ai-checks b { font: 700 1.125rem/1.3 var(--sans); color: var(--ink); }

.proof-row { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 760px) { .proof-row { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } }
.proof-row li { display: grid; align-content: start; gap: 10px; padding: 24px 22px 26px; border: 1px solid var(--rule-2); border-radius: 14px; background: #fff; }
.proof-big { font: var(--display-weight) clamp(2.4rem, 1.6rem + 2.4vw, 3.4rem)/1 var(--display); letter-spacing: var(--display-tracking); color: var(--accent); }
.proof-row b { font: 700 1.125rem/1.3 var(--sans); color: var(--ink); }

.band .band-line { margin: 0 0 8px; font-weight: 700; color: var(--on-ink-strong); }

.vo-grid { display: grid; gap: clamp(30px, 4vw, 52px); }
.vo-head .sec-h { margin-bottom: 16px; }

.vo-head .vo-title { display: grid; gap: .1em; max-width: none; margin: 0; font-size: clamp(2.375rem, 1.35rem + 3.3vw, 4rem); line-height: 1.02; }
.vo-t { display: grid; grid-template-columns: .92em auto; column-gap: .3em; align-items: center; justify-content: start; }
.vo-t-ico { display: grid; place-items: center; width: .92em; height: .92em; }
.vo-t-wave svg { width: .92em; height: .66em; fill: var(--accent); }
.vo-t-check { border-radius: 50%; background: var(--accent); color: var(--accent-ink); }
.vo-t-check svg { width: .52em; height: .52em; }
.voices-line { margin: 0; max-width: 40rem; font: 700 clamp(1.0625rem, 1rem + .3vw, 1.1875rem)/1.5 var(--sans); color: var(--ink); text-wrap: pretty; }
.vo-list { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(34px, 4vw, 56px) clamp(24px, 4vw, 64px); grid-template-columns: 1fr; }
@media (min-width: 700px) { .vo-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vo-list.n4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .vo-lead { grid-column: 1 / -1; } }
.vo { display: grid; align-content: start; gap: 14px; min-width: 0; }
.vo blockquote { margin: 0; }
.vo blockquote p { margin: 0; max-width: 24ch; font: var(--display-weight) clamp(1.375rem, 1.15rem + .8vw, 1.875rem)/1.18 var(--display); letter-spacing: var(--display-tracking); color: var(--ink); text-wrap: balance; }
.vo-lead { gap: 22px; padding: clamp(26px, 4vw, 56px); border-radius: 16px; background: var(--ink); box-shadow: 0 40px 80px -50px rgba(var(--deep-rgb), .75); }
.vo-lead blockquote p { max-width: 20ch; font-size: clamp(2.125rem, 1.2rem + 3.2vw, 4.25rem); line-height: 1.02; color: #fff; }
.vo-lead.long blockquote p { max-width: 22ch; font-size: clamp(1.875rem, 1.1rem + 2.4vw, 3.25rem); line-height: 1.05; }
.vo-wave-box { overflow: hidden; }
.vo-wave { display: block; width: auto; max-width: none; height: 28px; fill: var(--accent); }
.vo-lead .vo-wave { height: 48px; fill: var(--accent-light); }

.vo-reply { justify-self: start; display: flex; align-items: center; gap: 12px; max-width: 30rem; margin: 2px 0 0; padding: 11px 16px 12px 12px; border-radius: 14px;
  background: #fff; box-shadow: 0 1px 0 var(--rule-2), 0 14px 28px -22px rgba(var(--deep-rgb), .5); }
.vo-check { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--accent); color: var(--accent-ink); }
.vo-check svg { width: 16px; height: 16px; }
.vo-ans { display: grid; gap: 1px; min-width: 0; }
.vo-ans small { font: 700 .8125rem/1.3 var(--sans); color: var(--accent); }
.vo-ans b { font: 700 1.0625rem/1.35 var(--sans); color: var(--ink); text-wrap: pretty; }
.vo-lead .vo-reply { background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); }
.vo-lead .vo-ans small { color: var(--accent-light); }
.vo-lead .vo-ans b { font-size: clamp(1.0625rem, 1rem + .35vw, 1.25rem); color: #fff; }
@media (min-width: 900px) {
  .vo-lead { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); grid-template-areas: "wave wave" "quote reply"; column-gap: clamp(32px, 4vw, 64px); align-items: end; }
  .vo-lead .vo-wave-box { grid-area: wave; }
  .vo-lead blockquote { grid-area: quote; }
  .vo-lead .vo-reply { grid-area: reply; margin-bottom: 6px; }
}
.motion .vo-list.pre .vo-wave rect { transform: scaleY(.1); }
.motion .vo-list .vo-wave rect { transform-box: fill-box; transform-origin: center; }
.motion .vo-list.in .vo-wave rect { transition: transform .45s var(--ease); transition-delay: calc(var(--i) * 18ms + .1s); }
.motion .vo-list.in .vo-lead .vo-wave rect { transition-delay: calc(var(--i) * 8ms + .1s); }

.rail { position: relative; list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 30px; grid-template-columns: 1fr; }
.rail-step { position: relative; display: grid; justify-items: start; gap: 12px; padding-left: 64px; }
.rail-step::before { content: ""; position: absolute; left: 21px; top: 46px; bottom: -30px; width: 2px; background: rgba(255,255,255,.18); }
.rail-step:last-child::before { display: none; }
.rail-dot { position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid var(--accent-light); border-radius: 50%;
  background: var(--ink); color: #fff; font: 700 .9375rem/1 var(--mono); }
.rail-step h3 { margin: 9px 0 0; font: 700 1.375rem/1.2 var(--sans); color: #fff; }
.rail-ai { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 10px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.07); }
.rail-ai b { font: 700 1rem/1.3 var(--sans); color: var(--on-ink-strong); }
.rail-ai .pc-tag { background: rgba(var(--accent-rgb), .3); color: var(--accent-light); }
@media (min-width: 1000px) {
  .rail { gap: 24px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rail.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rail.n5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .rail-step { padding-left: 0; padding-top: 64px; }
  .rail-step::before { left: 50px; right: -18px; top: 21px; bottom: auto; width: auto; height: 2px; }
  .rail-step h3 { margin: 0; }
}

.pn-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; max-width: 1000px; }
.pn { display: grid; grid-template-columns: 1fr; gap: 8px 22px; align-items: center; padding: 16px 20px; border: 1px solid var(--rule-2); border-radius: 14px; background: #fff; }
@media (min-width: 760px) { .pn { grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr) minmax(0, 1.5fr); } }
.pn-part { font: 700 1.0625rem/1.3 var(--sans); color: var(--ink); }
.pn-before { color: var(--muted); }
.pn-before s { text-decoration-thickness: 1.5px; text-decoration-color: rgba(var(--ink-rgb), .4); }
.pn-now { display: flex; align-items: center; gap: 10px; }
.pn-now em { padding: 5px 9px; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font: 700 .75rem/1 var(--sans); font-style: normal; letter-spacing: .03em; }
.pn-now b { font: 700 1.0625rem/1.3 var(--sans); color: var(--ink); }

.badges-sec { color: var(--ink); }
.sec-ink.badges-sec { color: var(--on-ink-strong); }
.crest { display: flex; align-items: center; justify-content: center; gap: clamp(10px, 2.4vw, 30px); margin: 0 auto clamp(36px, 5vw, 64px); text-align: center; }
.laurel { flex: none; width: clamp(30px, 2.6vw + 20px, 58px); height: auto; }
.laurel-r { transform: scaleX(-1); }
.crest-mid { display: grid; justify-items: center; gap: 10px; min-width: 0; }
.crest-top { display: flex; align-items: center; gap: 14px; width: 100%; }
.crest-top i { flex: 1; min-width: 20px; height: 1.5px; background: currentColor; opacity: .55; }
.crest-top svg { flex: none; width: 34px; height: 34px; }
.crest-h { margin: 0; font: var(--display-weight) clamp(1.6rem, 1rem + 2.6vw, 3rem)/1.05 var(--display); letter-spacing: .04em; text-transform: uppercase; color: inherit; text-wrap: balance; }
.crest-line { margin: 0; font: 600 clamp(.6875rem, .62rem + .3vw, .9375rem)/1.45 var(--sans); letter-spacing: .14em; text-transform: uppercase; opacity: .85; text-wrap: balance; }
.badge-row { list-style: none; margin: 0 auto; padding: 0; display: grid; gap: clamp(14px, 2vw, 30px); grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1120px; }
@media (min-width: 900px) { .badge-row { grid-template-columns: repeat(4, minmax(0, 1fr)); } .badge-row.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 840px; } }
.badge { position: relative; container-type: inline-size; justify-self: center; width: 100%; max-width: 250px; aspect-ratio: 1; color: inherit; }
.badge-frame { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; }
.badge-frame > * { stroke-width: 3.5px; vector-effect: non-scaling-stroke; }
.badge-frame .in { stroke-width: 1.25px; opacity: .75; }
.badge-body { position: absolute; inset: 15% 13% 16%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; text-align: center; }
.b-shield { width: 93%; max-width: 232px; aspect-ratio: 200 / 220; }
.b-shield .badge-body { inset: 11% 18% 25%; }
.b-shield small { max-width: 82%; }
.badge-ico svg { display: block; width: 44px; width: 19.5cqi; height: auto; }
.badge b { font: 800 15px/1.08 var(--sans); font-size: 7.6cqi; letter-spacing: .02em; text-transform: uppercase; text-wrap: balance; }
.badge-rule { width: 64%; height: 1.5px; margin: 2px 0 1px; background: currentColor; opacity: .55; }
.badge small { font: 500 12px/1.25 var(--sans); font-size: max(10.5px, 5.5cqi); opacity: .92; text-wrap: balance; }
.motion .badge-row.pre .badge { opacity: 0; transform: scale(.92); }
.motion .badge-row.in .badge { transition: opacity .5s var(--ease), transform .6s var(--ease); }
.motion .badge-row.in .badge:nth-child(2) { transition-delay: .07s; }
.motion .badge-row.in .badge:nth-child(3) { transition-delay: .14s; }
.motion .badge-row.in .badge:nth-child(4) { transition-delay: .21s; }
.motion .badge-row.in .badge:nth-child(5) { transition-delay: .28s; }
.motion .badge-row.in .badge:nth-child(6) { transition-delay: .35s; }
.motion .badge-row.in .badge:nth-child(7) { transition-delay: .42s; }
.motion .badge-row.in .badge:nth-child(8) { transition-delay: .49s; }

.stat-sec { --st-fg: var(--ink); --st-soft: var(--muted); --st-ring: var(--accent); --st-track: rgba(var(--ink-rgb), .1); }
.stat-sec.sec-ink { --st-fg: #fff; --st-soft: var(--on-ink-muted); --st-ring: var(--accent-light); --st-track: rgba(255,255,255,.13); }
.stat-grid { display: grid; gap: 30px; grid-template-columns: 1fr; }
@media (min-width: 900px) { .stat-grid.n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; } .stat-grid.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; } }
.stat-item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(18px, 2vw, 28px); align-items: center; }
.stat-dial { position: relative; display: grid; place-items: center; }
.stat-item.has-ring .stat-dial { container-type: inline-size; width: clamp(124px, 7vw + 84px, 180px); aspect-ratio: 1; }
.stat-item.has-ring .stat-num { font-size: 1.9rem; font-size: 19.5cqi; }
.stat-item.has-ring .stat-pre { font-size: max(10px, 6.4cqi); }
.stat-ring { position: absolute; inset: 0; width: 100%; height: 100%; }
.stat-ring circle { fill: none; stroke-width: 9; }
.ring-track { stroke: var(--st-track); }
.ring-val { stroke: var(--st-ring); stroke-linecap: round; }
.ring-tail { stroke: var(--st-ring); stroke-linecap: round; opacity: .38; }
.stat-big { position: relative; margin: 0; color: var(--st-fg); }
.stat-vis { display: grid; justify-items: center; text-align: center; }
.stat-num { font: var(--display-weight) clamp(1.9rem, 1.3rem + 1.7vw, 2.9rem)/1 var(--display); letter-spacing: var(--display-tracking); font-variant-numeric: tabular-nums; }
.stat-item:not(.has-ring) .stat-num { font-size: clamp(3rem, 2rem + 4vw, 5rem); color: var(--st-ring); }
.stat-pre { margin-bottom: 4px; font: 700 .75rem/1.2 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--st-soft); }
.stat-line { margin: 0; max-width: 30ch; font: 700 clamp(1.125rem, 1rem + .5vw, 1.375rem)/1.35 var(--sans); color: var(--st-fg); text-wrap: pretty; }
.stat-cite { margin: 30px 0 0; font: 500 .875rem/1.5 var(--sans); color: var(--st-soft); }
.stat-cite a { color: inherit; text-underline-offset: 3px; }
.stat-ask { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; margin-top: 34px; padding-top: 32px; border-top: 1px solid var(--st-track); }
.stat-q { margin: 0; max-width: 24ch; font: var(--display-weight) clamp(1.55rem, 1.1rem + 1.5vw, 2.4rem)/1.12 var(--display); letter-spacing: var(--display-tracking); color: var(--st-fg); text-wrap: balance; }
.motion .stat-grid.pre .ring-val { stroke-dasharray: 0 100; opacity: 0; }
.motion .stat-grid.pre .ring-tail { opacity: 0; }
.motion .stat-grid.in .ring-val { transition: stroke-dasharray 1.3s var(--ease), opacity .15s linear; }
.motion .stat-grid.in .ring-tail { transition: opacity .6s ease 1.15s; }
.motion .stat-grid.in .stat-item:nth-child(2) .ring-val { transition-delay: .15s; }

.site-foot a.choices { display: inline-block; margin: 0; }
.site-foot a.choices img { vertical-align: -2px; margin-right: 6px; }

.opt-out { margin: 16px 0 0; }
.opt-out [hidden] { display: none; }
.opt-out [data-opt-out-done] { font-weight: 600; color: var(--ink); }
