/* W4 pages: plans, contact, policies, invite. Loaded after site.css; the comps' inline styles live here as classes. */
.s96 { padding-top: 96px; }
.h72 { font-size: 72px; line-height: 1.02; letter-spacing: -.025em; font-weight: 500; }
.h64 { font-size: 64px; line-height: 1.02; letter-spacing: -.025em; font-weight: 500; }
.anchor { display: block; height: 0; overflow: hidden; }
@media (max-width: 600px) {
  .s96 { padding-top: 48px; }
  .h72 { font-size: 44px; } .h64 { font-size: 44px; }
}

/* plans */
.toggle { text-decoration: none; }
.toggle a { padding: 9px 18px; text-decoration: none; color: var(--ink); }
.toggle a.on { background: var(--ink); color: var(--paper); }
.toggle a:focus-visible { outline-offset: -3px; }
.plan .line { font-size: 19px; margin-top: 10px; }
.plan .alt { color: var(--ink-2); font-size: 15px; margin-top: 4px; }
.plan .plancta { margin: 28px 0 0; }
.plan .plancta .btn { font-size: 15px; }
.fine { font-size: 14px; line-height: 1.5; color: var(--ink-2); margin: 20px 0 0; }
.fq { font-size: 17px; }
.billing[data-billing="yearly"] .bill.m, .billing[data-billing="monthly"] .bill.y { display: none; }
.billing:has(#monthly:target) .bill.y { display: none; }
.billing:has(#monthly:target) .bill.m { display: block; }
.billing:has(#yearly:target) .bill.m { display: none; }
.billing:has(#yearly:target) .bill.y { display: block; }
.billing:has(#monthly:target) .toggle a:first-child, .billing:has(#yearly:target) .toggle a:last-child { background: none; color: var(--ink); }
.billing:has(#monthly:target) .toggle a:last-child, .billing:has(#yearly:target) .toggle a:first-child { background: var(--ink); color: var(--paper); }
@media (max-width: 600px) { .g-head .toggle { margin-top: 24px; } .toggle a { padding: 9px 12px; font-size: 14px; } }

/* contact */
.narrow { max-width: 760px; }
.mailbig { color: var(--ink); font-size: 24px; text-decoration: none; }
.rows { margin-top: 56px; border-top: 1px solid var(--ink); }
.row2 .what { font-size: 19px; }
.row2 .how { margin: 0; }
@media (max-width: 600px) { .mailbig { font-size: 20px; } .rows { margin-top: 40px; } }

/* policies */
.prose .changed { margin-top: 16px; }
.short .caps { margin-bottom: 8px; }
.short ul { padding-left: 20px; margin: 0; }
.prose h2 { scroll-margin-top: 24px; }
.short { scroll-margin-top: 24px; }
.toc a:hover { color: var(--ink); }
.prose a { color: inherit; text-underline-offset: 3px; }
.prose h1 { margin: 0; }
.prose ol { padding-left: 22px; }
/* invite */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fld[hidden] { display: none; }
.place { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; font-size: 17px; line-height: 1.3; color: var(--ink); background: var(--paper); border: 1px solid var(--ink); padding: 12px 14px; box-sizing: border-box; }
.place .pl { color: var(--ink); }
.place .lnk { flex: none; color: var(--ink-2, var(--mid)); text-decoration: underline; text-underline-offset: 3px; }
.place .lnk:hover, .place .lnk:focus-visible { color: var(--ink); }
.place .lnk:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.sentt { font-size: 30px; font-weight: 500; margin: 0; letter-spacing: -.01em; line-height: 1.2; }
.invite.sent .body { margin-top: 8px; }
.ret a { color: inherit; }
