@font-face{font-family:Anton;src:url('/fonts/anton-latin-400-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-latin-wght-normal.woff2') format('woff2');font-weight:200 800;font-display:swap}
/* Chat demo: same tokens, fonts, square controls and 2px rules as the live site. Ink, cream and cobalt only. */
:root{--ink:#0E1525;--cream:#F6F1E6;--cobalt:#2F5BEA;--gutter:max(4vw,calc((100vw - 1440px) / 2));--pad:100px;--col-gap:12%;--h2:clamp(52px,6vw,92px);--lead:22px;--body:18px;--small:15px;--chat:15px;--rule:2px solid var(--ink);-webkit-tap-highlight-color:var(--cream)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color:var(--ink)}
body{margin:0;min-height:100vh;background:var(--cream);color:var(--ink);font:400 var(--body)/1.55 Manrope,sans-serif}
h1,h2,h3,p,ul{margin:0}
ul{list-style:none;padding:0}
a{color:inherit}
a:hover{text-decoration-thickness:3px}
p,li{text-wrap:pretty;overflow-wrap:break-word}
body [hidden]{display:none}
:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.dark :focus-visible{outline-color:var(--cream)}
::selection{color:var(--cream);background:var(--ink)}
.skip-link{position:absolute;z-index:100;left:12px;top:-100px;padding:12px;background:var(--cream);color:var(--ink)}
.skip-link:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.dark{background:var(--ink);color:var(--cream)}
header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px var(--gutter);border-bottom:var(--rule)}
header a{text-decoration:none}
.logo{font:400 30px/1 Anton,sans-serif}
nav{font-size:15px;font-weight:800}
.nav-cta{display:inline-flex;align-items:center;min-height:44px;padding:12px 18px;background:var(--cobalt);color:var(--cream);border:2px solid var(--cobalt);text-decoration:none}
.nav-cta:hover{background:var(--ink);border-color:var(--ink)}
.fiction-label{padding:12px var(--gutter);font-size:var(--small);border-bottom:var(--rule)}
.fiction-label strong{display:inline-block;margin-left:12px}
h1,h2{font:400 var(--h2)/1 Anton,sans-serif;text-transform:uppercase;letter-spacing:-.025em;text-wrap:balance}

/* Copy on the left, the phone on the right. */
.day{padding:40px var(--gutter) 72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:var(--col-gap);align-items:start}
h1{font-size:clamp(66px,7.4vw,106px)}
.day-kicker{color:var(--cobalt);font:400 clamp(26px,3vw,44px)/1.05 Anton,sans-serif;text-transform:uppercase;letter-spacing:-.01em;margin-top:10px}
.business-line{margin-top:20px;font-size:var(--lead);max-width:40ch}
.how{margin-top:28px;max-width:640px;border-bottom:var(--rule)}
.how li{border-top:var(--rule);padding:14px 0}
.team-note{margin-top:20px;max-width:640px}
.demo-end{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin-top:28px}
.demo-end p{font-size:var(--small);font-weight:800}
.no-script{margin-top:16px;font-weight:800}

/* Buttons, shared with the site. */
button,.button{font:800 17px/1.4 Manrope,sans-serif;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;border:2px solid var(--cobalt);background:var(--cobalt);color:var(--cream);cursor:pointer;border-radius:0;text-decoration:none}
button:hover,.button:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
button.secondary{background:var(--cream);border-color:var(--ink);color:var(--ink)}
button.secondary:hover{background:var(--ink);color:var(--cream)}
button.quiet{background:var(--cream);color:var(--ink);border-color:var(--cream);text-decoration:underline;text-underline-offset:4px}
button.quiet:hover{background:var(--cream);color:var(--ink);border-color:var(--ink)}
.dark .button:hover{background:var(--cream);border-color:var(--cream);color:var(--ink)}

/* The phone. */
.phone{width:100%;max-width:460px;justify-self:end;border:3px solid var(--ink);background:var(--cream);font-size:var(--chat);line-height:1.45}
.phone-top{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ink);color:var(--cream)}
.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--cobalt);color:var(--cream);font:800 15px/1 Manrope,sans-serif}
.chat-name{font-weight:800;font-size:16px}
.chat-sub{font-size:14px}
.topics{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-bottom:var(--rule)}
.topic{min-height:40px;padding:6px 12px;font-size:14px;line-height:1.2;background:var(--cream);color:var(--ink);border-color:var(--ink)}
.topic:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.topic[aria-selected='true']{background:var(--ink);color:var(--cream)}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:6px;padding:0 6px;border-radius:11px;background:var(--cobalt);color:var(--cream);font-size:13px;line-height:1}
.badge[hidden]{display:none}
.thread{height:420px;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:12px}
.thread[hidden]{display:none}
.thread:focus-visible{outline-offset:-3px}
.topic-head{font-weight:800}
.phone.js .topic-head{display:none}
.phone:not(.js) .topics,.phone:not(.js) .actions{display:none}
.phone:not(.js) .thread{height:auto}
.day-sep{align-self:center;padding:2px 10px;border:2px solid var(--ink);font-size:13px;font-weight:800}
.msg{max-width:90%;padding:10px 12px;border:2px solid var(--ink);background:var(--cream)}
.msg.bot{align-self:flex-start}
.msg.me{align-self:flex-end;background:var(--cobalt);border-color:var(--cobalt);color:var(--cream)}
.msg.approval{max-width:100%;width:100%}
.morning-list{margin-top:6px;padding-left:18px;list-style:disc}
.morning-list li+li{margin-top:2px}
.time{display:block;margin-top:6px;text-align:right;font-size:12px}
.draft{margin-top:10px;padding:8px 10px;border-left:4px solid var(--cobalt);white-space:pre-wrap}
.msg[data-state='skipped'] .draft{text-decoration:line-through;text-decoration-thickness:1px}
.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}
.actions[hidden]{display:none}
.actions button,.editor-actions button{min-height:44px;padding:8px 10px;font-size:15px}
.editor{margin-top:10px}
.editor label{display:block;font-size:14px;font-weight:800;margin-bottom:6px}
textarea{display:block;width:100%;min-height:190px;resize:vertical;border:var(--rule);border-radius:0;background:var(--cream);color:var(--ink);caret-color:var(--ink);padding:10px;font:400 var(--chat)/1.45 Manrope,sans-serif}
.edit-error{margin-top:8px;font-size:14px;font-weight:800}
.editor-actions{display:flex;gap:6px;margin-top:10px}
.resolved{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:12px}
.resolved[hidden]{display:none}
.stamp{padding:6px 10px;font-size:14px;font-weight:800;line-height:1.2}
.msg[data-state='approved'] .stamp{background:var(--cobalt);color:var(--cream)}
.msg[data-state='skipped'] .stamp{background:var(--ink);color:var(--cream)}
.reply{flex:1 1 180px;font-size:14px;font-weight:800}
.resolved .quiet{min-height:44px;padding:8px 10px;font-size:15px}
.composer{padding:10px 12px;border-top:var(--rule)}
.composer span{display:block;padding:8px 12px;border:2px solid var(--ink);font-size:14px}

.closing{padding:var(--pad) var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--col-gap);align-items:start}
.closing p{font-size:var(--lead);max-width:600px}
.closing .button{margin-top:28px}
footer{padding:40px var(--gutter);border-top:2px solid var(--cream);display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:var(--small)}
footer a{display:inline-flex;min-height:44px;align-items:center}

@media(max-width:960px){.day{grid-template-columns:minmax(0,1fr);row-gap:36px}.phone{justify-self:start}.closing{grid-template-columns:minmax(0,1fr);row-gap:32px}}
@media(max-width:700px){:root{--gutter:18px;--pad:64px;--lead:19px;--body:17px;--h2:clamp(48px,8.5vw,56px)}header{gap:12px;padding-top:12px;padding-bottom:12px}.logo{font-size:24px}.nav-cta{font-size:14px;padding:10px 12px}.fiction-label strong{margin-left:0;margin-top:4px;display:block}.day{padding-top:28px;padding-bottom:56px}.day-kicker{margin-top:14px;font-size:26px}.phone{max-width:none}.thread{height:480px}.closing{row-gap:24px}}
@media(max-width:360px){:root{--gutter:14px;--h2:44px}.logo{font-size:22px}.nav-cta{font-size:13px;padding:10px}.topic{padding:6px 10px}.actions{gap:4px}.actions button{padding:8px 6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
