/* Page composition. The original signal desk keeps its own layout. */
/* Approved brand: Dispatch refined, reference commit 93aec45bc. */
.brand, .footer-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  min-height: 44px;
  color: var(--paper);
}
.brand .brand-mark, .footer-wordmark .brand-mark { width: 34px; height: 34px; flex-shrink: 0; }
.brand-wordmark, .footer-wordmark > span, .paper-brand {
  font-family: var(--serif);
  font-weight: 600;
  letter-spacing: -.045em;
  font-style: normal;
  font-optical-sizing: auto;
}
.brand-wordmark { font-size: 29px; line-height: 1.1; }
.hero h1, .section-heading h2, .reader-copy h2, .faq-heading h2, .invitation-copy h2,
.setup-steps h3, .access-card h3, .reader-content h3 {
  font-optical-sizing: auto;
}
h1 em, h2 em, .desk-foot em { font-style: normal; }
.signal-desk:before, .signal-desk:after { display: none; }
.reader-paper {
  --reader-paper: var(--surface);
  --reader-ink: var(--paper);
  --reader-blue: var(--blue);
  --reader-muted: var(--muted);
  --reader-rule: var(--rule-strong);
  --reader-inset: var(--raised);
  color-scheme: dark;
  border: 1px solid var(--rule-strong);
  border-top: 3px solid var(--blue);
}
.paper-logo-dot { color: var(--reader-blue); }
.reader-content .reader-highlight { background: var(--reader-inset); padding: 12px 16px; }
.brief-seal { border-color: transparent; }
[hidden] { display: none !important; }
summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.mobile-menu { display: none; }
.hero {
  min-height: 100vh;
  min-height: 100svh;
  padding-top: 148px;
  padding-bottom: 27px;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: 1fr auto;
  gap: 66px 76px;
  align-items: center;
}
.hero h1 { font-size: clamp(82px, 8.5vw, 124px); line-height: .98; margin-top: 30px; }
.hero-intro { font: 400 25px/1.5 var(--serif); margin-top: 34px; color: var(--muted); }
.hero-main .hero-actions { margin-top: 29px; }
.hero-main .access-note { margin-top: 20px; font-size: 9px; }
.hero-copy { margin: 47px 0 0; padding: 0; max-width: 365px; justify-self: end; }
.hero-lede { font-size: 31px; line-height: 1.3; letter-spacing: -.015em; margin-bottom: 24px; }
.hero-copy > .muted { font-size: 15px; line-height: 1.85; }
.hero-promise { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 30px; }
.hero-promise > .mono { font-size: 9px; }
.hero-promise p { margin: 15px 0 18px; font-size: 14px; line-height: 1.85; }
.hero-bottom { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding-top: 20px; }
.hero-bottom > .mono { font-size: 8px; color: var(--muted); }
.hero-bottom .text-link { font-size: 11px; }
.aggregation-section { padding-top: 80px; }
.aggregation-section .section-heading { margin-bottom: 43px; }
.aggregation-section .signal-desk { scroll-margin-top: 24px; }
.desk-head h3 { display: flex; gap: 9px; align-items: center; font-size: 11px; }
@media (min-width: 901px) {
  .output-caption { position: static; margin-top: 14px; }
}
.input-paths path, .source-card { transition-duration: 200ms; }
.brief-junction { box-shadow: none; }
.source-ledger { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 30px; padding-top: 27px; }
.source-ledger > p { grid-column: 1 / -1; margin-bottom: 19px; font-size: 9px; }
.source-ledger details { border-bottom: 1px solid var(--line); }
.source-ledger summary { position: relative; list-style: none; padding: 14px 24px 16px 0; cursor: pointer; }
.source-ledger summary::-webkit-details-marker, .faq-list summary::-webkit-details-marker { display: none; }
.source-ledger summary > span:first-child { display: block; font-size: 14px; }
.source-ledger summary .mono { display: block; font-size: 8px; color: var(--muted); margin-top: 5px; }
.source-ledger summary:after, .faq-list summary:after { content: '+'; position: absolute; right: 0; top: 18px; font: 20px/1 var(--serif); color: var(--blue); }
.source-ledger details[open] summary:after, .faq-list details[open] summary:after { content: '−'; }
.source-ledger details > p { font-size: 13px; line-height: 1.85; color: var(--muted); padding: 0 20px 22px 0; }
.brief-section { padding-top: 112px; }
.brief-examples { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-bottom: 20px; }
.brief-examples > span { font-size: 9px; margin-right: auto; padding-right: 16px; }
.brief-examples button { min-height: 42px; padding: 10px 15px; border: 1px solid var(--line); background: transparent; color: var(--muted); font-size: 11px; }
.brief-examples button:hover { border-color: var(--rule-strong); }
.brief-examples button[aria-pressed=true] { background: var(--selected); color: var(--paper); border-color: var(--blue); }
.assignment { min-height: 327px; }
.assignment-main { padding: 36px 40px; }
.assignment blockquote { min-height: 170px; font-size: 28px; }
.assignment-side { padding: 32px; }
.brief-seal { border: 1px solid var(--line); width: 74px; height: 74px; display: grid; place-items: center; }
.assignment-tags span:not(.mono) { font: 12px/1.7 var(--sans); color: var(--muted); margin: 0; }
.brief-afterword { display: grid; grid-template-columns: 1fr 3fr; gap: 0; padding-top: 24px; }
.brief-afterword > span { padding-right: 30px; font-size: 8px; }
.brief-afterword p { font-size: 13px; color: var(--muted); max-width: 650px; }
.reader-section { padding-block: 116px; grid-template-columns: 1fr 1.07fr; gap: 80px; align-items: center; }
.reader-copy .reader-benefits { margin-top: 25px; max-width: 415px; }
.reader-benefits > div { display: grid; grid-template-columns: 23px 1fr; gap: 15px; padding: 17px 0; border-top: 1px solid var(--line); }
.reader-benefits > div > span { font-size: 9px; padding-top: 2px; }
.reader-benefits p { font-size: 13px; color: var(--muted); line-height: 1.75; }
.reader-benefits strong { display: block; font-weight: 500; font-size: 14px; color: var(--paper); margin-bottom: 3px; }
.reader-paper { padding: 28px 34px; min-height: 530px; }
.reader-content { min-height: 359px; }
.reading-views { display: flex; gap: 24px; padding-top: 8px; border-bottom: 1px solid var(--reader-rule); }
.reading-views button { background: none; border: 0; border-bottom: 2px solid transparent; padding: 13px 0 11px; min-height: 44px; font-size: 11px; color: var(--reader-muted); }
.reading-views button[aria-pressed=true] { color: var(--reader-blue); border-bottom-color: var(--reader-blue); }
.reading-views button:hover { color: var(--reader-blue); }
.reading-views button:focus-visible { outline-color: var(--reader-blue); outline-offset: 2px; }
.reader-content .reader-notes-title { font: 400 27px/1.2 var(--serif); margin: 0 0 23px; }
.reader-content .reader-highlight { padding: 0 0 0 18px; margin: 12px 0 25px; border-left: 2px solid var(--reader-blue); font: 400 22px/1.55 var(--serif); color: var(--reader-ink); }
.reader-annotation { font-size: 13px; color: var(--reader-muted); border-top: 1px solid var(--reader-rule); padding-top: 18px; }
.reader-annotation .mono { font-size: 9px; display: block; color: var(--reader-blue); margin-bottom: 8px; }
.setup-section { background: var(--surface); padding: 79px 0 71px; border-top: 1px solid var(--rule-strong); border-bottom: 1px solid var(--rule-strong); }
.setup-section .section-heading { align-items: end; margin-bottom: 44px; }
.setup-section .section-heading h2 { font-size: 48px; }
.setup-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.setup-steps li { padding: 29px 33px 0; border-top: 1px solid var(--rule-strong); border-left: 1px solid var(--line); }
.setup-steps li:first-child { padding-left: 0; border-left: 0; }
.setup-steps li:last-child { padding-right: 0; }
.setup-steps .mono { font-size: 9px; }
.setup-steps h3 { font: 400 29px/1.2 var(--serif); letter-spacing: -.02em; margin: 23px 0 15px; }
.setup-steps p { color: var(--muted); font-size: 14px; max-width: 295px; }
.setup-steps a { color: var(--paper); margin-top: 23px; font-size: 11px; }
.faq-section { display: grid; grid-template-columns: 1fr 1.4fr; gap: 100px; padding-block: 110px; }
.faq-heading h2 { font: 400 46px/1.12 var(--serif); letter-spacing: -.03em; margin: 22px 0 25px; }
.faq-heading .muted { font-size: 13px; }
.faq-heading .text-link { color: var(--blue); }
.faq-list { border-top: 1px solid var(--rule-strong); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { list-style: none; cursor: pointer; font-size: 15px; position: relative; padding: 22px 35px 22px 0; line-height: 1.5; }
.faq-list summary:after { top: 24px; }
.faq-list details p { color: var(--muted); font-size: 14px; padding: 0 32px 24px 0; line-height: 1.85; }
.invitation-section { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: 76px; }
.invitation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 105px; align-items: center; }
.invitation-copy h2 { font: 400 96px/.98 var(--serif); letter-spacing: -.04em; margin: 32px 0 30px; }
.invitation-copy > p:last-child { font: 400 23px/1.5 var(--serif); color: var(--muted); }
.access-card { border: 1px solid var(--rule-strong); background: var(--surface); padding: 28px 32px; }
.access-card-head { display: flex; justify-content: space-between; gap: 15px; flex-wrap: wrap; border-bottom: 1px solid var(--line); padding-bottom: 18px; }
.access-card-head > span { font-size: 8px; }
.access-card h3 { font: 400 32px/1.2 var(--serif); letter-spacing: -.02em; margin: 24px 0 15px; }
.access-card > .muted { color: var(--muted); font-size: 13px; line-height: 1.85; }
.access-card ul { margin: 23px 0; padding: 0; list-style: none; }
.access-card li { color: var(--muted); font-size: 12px; padding: 9px 0 9px 18px; border-top: 1px solid var(--line); position: relative; }
.access-card li:before { content: ''; position: absolute; width: 4px; height: 4px; background: var(--blue); left: 0; top: 17px; }
.access-card .button { width: 100%; justify-content: space-between; }
.access-card > .access-fine { font-size: 8px; margin-top: 13px; }
.access-signin { font-size: 11px; color: var(--muted); margin-top: 22px; }
.access-signin a { color: var(--paper); text-decoration: underline; text-underline-offset: 4px; display: inline-block; }
.page-footer { display: grid; grid-template-columns: 1fr 1fr auto; gap: 50px; padding-block: 45px; align-items: start; }
.footer-wordmark { font: 500 28px/1.3 var(--serif); letter-spacing: -.03em; }
.page-footer > div > .mono { font-size: 8px; margin-top: 14px; }
.page-footer > nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 25px; font-size: 12px; color: var(--muted); padding-top: 5px; }
.page-footer nav a:hover { color: var(--paper); }
.preview-links { display: grid; gap: 9px; font-size: 10px; color: var(--muted); }
.page-footer .preview-links > .mono { margin: 0; font-size: 8px; }
.preview-links a:hover { text-decoration: underline; }

@media (min-width: 1500px) {
  .hero { gap: 80px 100px; }
  .hero-copy { max-width: 410px; }
  .hero-lede { font-size: 36px; }
  .hero-copy > .muted { font-size: 16px; }
}
@media (max-width: 1100px) {
  .hero { gap: 60px 40px; grid-template-columns: 1.4fr 1fr; padding-top: 139px; }
  .hero h1 { font-size: 88px; }
  .hero-copy { max-width: 315px; }
  .hero-lede { font-size: 28px; }
  .hero-copy > .muted { font-size: 14px; }
  .hero-promise p { font-size: 13px; }
  .hero-intro { font-size: 24px; }
  .section-heading { gap: 45px; }
  .assignment blockquote { min-height: 205px; }
  .reader-section { gap: 40px; }
  .reader-paper { padding-inline: 25px; }
  .reader-content { min-height: 395px; }
  .setup-steps li { padding-inline: 24px; }
  .faq-section { gap: 65px; }
  .invitation-grid { gap: 65px; }
  .invitation-copy h2 { font-size: 88px; }
  .access-card { padding-inline: 25px; }
}
@media (max-width: 900px) {
  .mobile-menu { display: block; margin-left: auto; }
  .mobile-menu summary { cursor: pointer; display: flex; align-items: center; gap: 9px; min-height: 44px; font-size: 11px; list-style: none; padding-inline: 4px; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary > span { color: var(--blue); font: 20px/1 var(--serif); }
  .mobile-menu[open] summary > span { transform: rotate(45deg); }
  .topbar .mobile-menu nav { display: grid; position: absolute; top: 77px; left: 24px; right: 24px; margin: 0; padding: 14px 22px; gap: 0; background: var(--surface); border: 1px solid var(--rule-strong); }
  .topbar .mobile-menu nav a { min-height: 48px; display: flex; align-items: center; border-bottom: 1px solid var(--line); font-size: 14px; }
  .topbar .mobile-menu nav a:last-child { border-bottom: 0; color: var(--blue); }
  .hero { padding-top: 123px; gap: 55px 34px; }
  .hero h1 { font-size: 72px; }
  .hero-copy { max-width: 290px; margin-top: 30px; }
  .hero-lede { font-size: 26px; }
  .hero-intro { font-size: 23px; }
  .hero-main .hero-actions { display: flex; gap: 18px; }
  .hero-actions > .text-link { margin-top: 0; }
  .hero-bottom > .mono { max-width: 260px; line-height: 1.9; }
  .source-ledger { gap: 0 22px; }
  .source-ledger summary > span:first-child { font-size: 12px; }
  .source-ledger summary > .mono { font-size: 7px; }
  .source-ledger details > p { font-size: 12px; }
  .brief-section { padding-top: 90px; }
  .brief-examples > span { width: 100%; margin-bottom: 8px; }
  .brief-examples button { min-height: 44px; }
  .assignment-side { padding: 20px 28px; align-items: center; }
  .brief-seal { display: none; }
  .assignment-main { padding: 28px; }
  .assignment blockquote { min-height: 165px; }
  .brief-afterword { grid-template-columns: 1fr; gap: 13px; }
  .reader-section { padding-block: 90px; }
  .reader-copy h2 { font-size: 40px; }
  .reader-paper { padding: 24px; }
  .reader-content { min-height: 425px; }
  .reader-content h3 { font-size: 30px; }
  .setup-section .section-heading h2 { font-size: 40px; }
  .setup-steps h3 { font-size: 25px; }
  .setup-steps p { font-size: 13px; }
  .setup-steps li { padding-inline: 20px; }
  .faq-section { gap: 50px; padding-block: 90px; }
  .faq-heading h2 { font-size: 40px; }
  .invitation-grid { gap: 40px; }
  .invitation-copy h2 { font-size: 75px; }
  .invitation-copy > p:last-child { font-size: 21px; }
  .access-card { padding: 25px; }
  .page-footer { grid-template-columns: 1fr 1fr; gap: 30px; }
  .preview-links { grid-column: 1 / -1; grid-template-columns: auto auto auto; justify-content: start; align-items: center; gap: 25px; padding-top: 22px; border-top: 1px solid var(--line); }
}
@media (max-width: 640px) {
  .topbar-inner { gap: 12px; }
  .topbar .mobile-menu nav { top: 69px; left: 20px; right: 20px; }
  .hero { display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto auto; min-height: 100svh; padding-top: 119px; padding-bottom: 23px; gap: 36px; }
  .hero h1 { font-size: clamp(64px, 16.3vw, 93px); margin-top: 25px; }
  .hero-intro { font-size: 23px; margin-top: 25px; }
  .hero-main .hero-actions { margin-top: 26px; gap: 24px; }
  .hero-main .hero-actions > .text-link { font-size: 11px; }
  .hero-main .access-note { font-size: 8px; margin-top: 17px; }
  .hero-copy { justify-self: start; max-width: 100%; margin: 0; }
  .hero-lede { font-size: 25px; margin-bottom: 17px; }
  .hero-copy > .muted { font-size: 14px; }
  .hero-promise { display: none; }
  .hero-bottom { align-items: center; gap: 15px; padding-top: 16px; }
  .hero-bottom > .mono { font-size: 7px; max-width: 157px; line-height: 1.8; }
  .hero-bottom > .text-link { font-size: 10px; max-width: 133px; line-height: 1.6; }
  .aggregation-section { padding-top: 58px; }
  .aggregation-section .section-heading { margin-bottom: 30px; }
  .source-ledger { display: block; padding-top: 22px; }
  .source-ledger > p { font-size: 8px; margin-bottom: 9px; }
  .source-ledger summary { padding: 18px 23px 18px 0; display: flex; align-items: center; justify-content: space-between; gap: 13px; }
  .source-ledger summary > span:first-child { font-size: 13px; }
  .source-ledger summary > .mono { font-size: 7px; text-align: right; margin: 0; }
  .source-ledger summary:after { top: 19px; }
  .source-ledger details > p { font-size: 13px; }
  .brief-section { padding-top: 68px; }
  .brief-examples { gap: 7px; padding-bottom: 17px; }
  .brief-examples button { font-size: 10px; padding-inline: 10px; }
  .brief-examples > span { font-size: 8px; margin-bottom: 5px; }
  .assignment-side { padding: 17px 21px; }
  .assignment-side > span { font-size: 8px; }
  .assignment-main { padding: 24px 21px; }
  .assignment blockquote { min-height: 0; font-size: 26px; }
  .assignment-tags { gap: 16px; }
  .assignment-tags span:not(.mono) { font-size: 13px; }
  .brief-afterword { gap: 11px; }
  .brief-afterword p { font-size: 13px; line-height: 1.85; }
  .reader-section { padding-block: 68px; }
  .reader-copy h2 { font-size: 44px; }
  .reader-copy .reader-benefits { margin-top: 25px; }
  .reader-benefits strong { font-size: 14px; }
  .reader-benefits p { font-size: 13px; }
  .reader-paper { padding: 25px 22px; min-height: 0; }
  .reader-content { min-height: 0; }
  .reader-content h3 { font-size: 35px; }
  .reader-content .reader-notes-title { font-size: 29px; }
  .reader-content .reader-highlight { font-size: 23px; padding-left: 14px; }
  .setup-section { padding-block: 55px; }
  .setup-section .section-heading { margin-bottom: 32px; }
  .setup-section .section-heading h2 { font-size: 41px; }
  .setup-steps { grid-template-columns: 1fr; }
  .setup-steps li, .setup-steps li:first-child, .setup-steps li:last-child { border-left: 0; padding: 27px 0; }
  .setup-steps li:last-child { padding-bottom: 0; }
  .setup-steps h3 { font-size: 30px; margin: 15px 0 13px; }
  .setup-steps p { font-size: 14px; max-width: 100%; }
  .setup-steps a { margin-top: 13px; }
  .faq-section { display: block; padding-block: 62px; }
  .faq-heading h2 { font-size: 43px; margin-top: 18px; }
  .faq-list { margin-top: 30px; }
  .faq-list summary { font-size: 14px; padding-right: 24px; }
  .faq-list details p { padding-right: 15px; font-size: 13px; }
  .invitation-section { padding-block: 52px; }
  .invitation-grid { display: block; }
  .invitation-copy h2 { font-size: 83px; margin-block: 26px; }
  .invitation-copy > p:last-child { font-size: 23px; }
  .access-card { margin-top: 36px; padding: 24px 21px; }
  .access-card h3 { font-size: 33px; }
  .access-card > .muted { font-size: 13px; }
  .access-card .access-fine { font-size: 7px; }
  .access-signin { margin-top: 16px; }
  .access-signin a { min-height: 44px; display: inline-flex; align-items: center; }
  .page-footer { display: block; padding-block: 33px; }
  .page-footer > nav { margin-top: 25px; gap: 0 25px; }
  .page-footer > nav a { min-height: 44px; display: flex; align-items: center; }
  .preview-links { display: flex; gap: 7px 20px; flex-wrap: wrap; margin-top: 24px; padding-top: 24px; }
  .page-footer .preview-links > .mono { width: 100%; }
  .preview-links a { min-height: 44px; display: flex; align-items: center; }
}
@media (max-width: 380px) { .topbar .header-cta { display: none; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { transition: none !important; }
}

/* Consistent display tracking across section recipes. */
.hero h1, .section-heading h2, .reader-copy h2, .faq-heading h2,
.invitation-copy h2, .setup-steps h3, .access-card h3, .reader-content h3 {
  font-weight: 400;
  letter-spacing: -.04em;
}
@media (max-width: 640px) {
  .brand-wordmark { font-size: 26px; }
  .brand .brand-mark { width: 30px; height: 30px; }
}

/* Production invitation form and footer wrapper. */
.footer{display:block;padding:0;border:0}.invite-form{display:grid;gap:12px;margin-top:24px}.invite-form label{font-size:13px}.invite-form input{width:100%;min-height:48px;padding:12px;background:var(--ink);color:var(--paper);border:1px solid var(--rule-strong);border-radius:0;font:inherit}.invite-form input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.invite-form .button{width:100%;justify-content:center}.invite-form button:disabled{opacity:.65;cursor:wait}.invite-status{font-size:13px;color:var(--paper)}.invite-status:empty{display:none}

#sources,#product,#pricing{position:absolute;scroll-margin-top:110px}
