:root{--paper:#f2ecdc;--sheet:#fdfbf5;--ink:#23211c;--ink-80:#45413a;--ink-60:#6b6454;--rule:#e6dcc3;--rule-strong:#d6c9a8;--accent:#26456f;--accent-wash:#e3e7ef;--flag:#a23b28;--settled:#40614a;--sand:#f2e4c4;--serif:"Newsreader", Georgia, serif;--hand:"Caveat", "Bradley Hand", cursive;--sans:"Archivo", system-ui, sans-serif;--gutter:clamp(16px, 5vw, 72px);--rule-step:33px;--ease:cubic-bezier(.2, .7, .1, 1)}*,:before,:after{box-sizing:border-box}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}h1,h2,p,ol,ul,dl,dd{margin:0;padding:0}ol,ul{list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}em{font-style:italic}#loom{z-index:0;pointer-events:none;width:100vw;height:100lvh;position:fixed;inset:0}.eyebrow,.label{font:500 11.5px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60)}.eyebrow{margin-bottom:20px}.label.muted{letter-spacing:.06em;text-transform:none;font-size:12.5px}h1{font:300 clamp(44px, 6.4vw, 96px) / 1 var(--serif);letter-spacing:-.028em;text-wrap:balance;max-width:15ch}h2{font:380 clamp(30px, 3.1vw, 46px) / 1.08 var(--serif);letter-spacing:-.018em;text-wrap:balance}h2.big{font-size:clamp(36px,4.6vw,68px);font-weight:300}.lede,.body{font:400 clamp(17px, 1.3vw, 19.5px) / 1.5 var(--serif);color:var(--ink-80);max-width:46ch}.body{margin-top:18px}.lede{margin-top:28px}.btn{font:500 14.5px/1 var(--sans);transition:background .2s, color .2s, transform .2s var(--ease);border:1px solid #0000;align-items:center;gap:8px;padding:13px 20px;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--sheet)}.btn-primary:hover{background:#1d3656}.btn-quiet{color:var(--ink);border-bottom:1px solid var(--ink);padding-inline:4px}.btn-quiet:hover{color:var(--accent);border-color:var(--accent)}.btn-sm{padding:10px 14px;font-size:13px}.actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:34px;display:flex}.seg{border:1px solid var(--rule-strong);background:var(--sheet);display:inline-flex}.seg button{font:500 12.5px/1 var(--sans);color:var(--ink-60);padding:7px 12px;transition:background .2s,color .2s}.seg button+button{border-left:1px solid var(--rule-strong)}.seg [aria-selected=true],.seg [aria-checked=true]{background:var(--ink);color:var(--sheet)}.sheet{background:var(--sheet);border:1px solid var(--rule-strong);box-shadow:0 1px 0 var(--rule), 0 18px 40px -28px #23211c59}.top{z-index:20;padding:18px var(--gutter);pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;inset:0 0 auto}.top>*{pointer-events:auto}.top>.btn{justify-self:end}.wordmark{font:450 24px/1 var(--serif);letter-spacing:-.01em;justify-self:start;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.wordmark svg{fill:none;width:20px;height:20px;stroke:var(--ink);stroke-width:1.4px}.wordmark svg .w{stroke:var(--accent);stroke-width:2px}.guide{flex-direction:column;align-items:center;gap:8px;display:flex}.guide-label{font:500 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-60);white-space:nowrap}.guide-ticks{gap:6px;display:flex}.guide-ticks button{width:22px;height:14px;display:block;position:relative}.guide-ticks button:after{content:"";background:var(--rule-strong);height:2px;transition:background .3s;position:absolute;top:6px;left:0;right:0}.guide-ticks .past button:after{background:var(--ink)}.guide-ticks .now button:after{background:var(--accent);height:4px;top:5px}.guide-ticks button:hover:after{background:var(--ink-60)}main{z-index:1;position:relative}.ch{--p:0;height:calc(var(--len) * 1vh);position:relative}.stick{height:100svh;padding:104px var(--gutter) 44px;flex-direction:column;justify-content:center;display:flex;position:sticky;top:0;overflow:hidden}.inner{--in:clamp(0, (var(--p) + .16) * 7, 1);--out:clamp(0, (1.12 - var(--p)) * 7, 1);opacity:calc(var(--in) * var(--out));transform:translate3d(0, calc((1 - var(--in)) * 28px - (1 - var(--out)) * 28px), 0);will-change:opacity, transform}.ch-hero .inner{--in:1}.ch-start .inner{--out:1}.centred{text-align:center;max-width:820px;margin-inline:auto}.centred .body{margin-inline:auto}.side{max-width:min(540px,43vw)}.hint{font:500 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-60);opacity:calc(clamp(0, (var(--p) + .1) * 8, 1) * clamp(0, (.9 - var(--p)) * 6, 1));align-items:center;gap:10px;transition:opacity .6s;display:flex;position:absolute}.hint-line{background:currentColor;width:28px;height:1px}.hint.gone{opacity:0!important}.hero{margin-top:-14vh}.hero-hint{right:var(--gutter);bottom:12vh}.ch-paradox .stick{justify-content:flex-start;padding-top:15vh}.paradox-captions{pointer-events:none;position:absolute;inset:0}.cap{text-align:center;width:240px;font:400 15px/1.4 var(--serif);color:var(--ink-80);position:absolute;top:88%;transform:translate(-50%)}.cap b{font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;display:block}.cap-form{left:28%}.cap-call{left:72%}.string-labels{z-index:5;pointer-events:none;position:fixed;inset:0}.string-labels span{opacity:0;flex-direction:column;align-items:center;gap:5px;width:64px;margin:-34px 0 0 -32px;display:flex;position:absolute;top:0;left:0}.string-labels b{font:600 11px/1 var(--sans);letter-spacing:.06em}.string-labels i,.brief-list em{font:600 9px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);padding:3px 5px 2px;font-style:normal}.string-labels i.nice,.brief-list em.nice{border-style:dashed;border-color:var(--ink-60);color:var(--ink-60)}.strings-hint{right:var(--gutter);bottom:7vh}.brief{background:var(--sheet);border:1px solid var(--rule-strong);margin-top:28px}.brief-head{border-bottom:1px solid var(--rule-strong);justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex}.brief-cap{font:600 10.5px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);padding:10px 16px 4px}.brief-list li{min-height:var(--rule-step);border-bottom:1px solid var(--rule);font:400 16.5px/1.3 var(--serif);animation:line-in .5s var(--ease) both;align-items:baseline;gap:12px;padding:7px 16px 6px;display:flex}.brief-list li:last-child{border-bottom:0}.brief-list li:nth-child(2){animation-delay:40ms}.brief-list li:nth-child(3){animation-delay:80ms}.brief-list li:nth-child(4){animation-delay:.12s}.brief-list li:nth-child(5){animation-delay:.16s}.brief-list .t{flex-direction:column;gap:2px;min-width:0;display:flex}.brief-list .a{font:400 13.5px/1.35 var(--sans);color:var(--accent)}.brief-list .a.muted{color:var(--ink-60)}[data-list=questions] .brief-list li{color:var(--ink-80)}[data-list=questions] .brief-list .a{color:var(--ink-60);font-style:italic}[data-list=questions] .brief-list li:before{content:"?";font:600 13px/1 var(--sans);color:var(--flag);flex:none;width:14px}.brief-list .n{font:600 11px/1 var(--sans);color:var(--ink-60);flex:none;width:14px}.brief-list em{flex:none;margin-left:auto}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}}.lesson{border-top:1px solid var(--rule-strong);grid-template-columns:1fr 1fr;gap:22px;margin-top:26px;padding-top:16px;display:grid}.lesson>div:only-child{grid-column:1/-1}.lesson dt{font:600 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-60);margin-bottom:8px}.lesson div+div dt{color:var(--accent)}.lesson dd{font:400 14px/1.5 var(--sans);color:var(--ink-80)}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,96px);display:grid}.split-text{max-width:500px}.pencil-head{font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);justify-content:space-between;margin-bottom:12px;display:flex}.pencil-head .count{transition:color .3s}.pencil-head .count.done{color:var(--settled)}.pencil-cards{gap:10px;display:grid}.qcard{text-align:left;background:var(--sheet);border:1px solid var(--rule-strong);border-left:2px solid var(--rule-strong);width:100%;transition:border-color .25s, transform .25s var(--ease);padding:14px 18px;display:block}.qcard:hover{border-left-color:var(--flag);transform:translate(3px)}.qcard .q{font:400 17.5px/1.4 var(--serif);-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .55s var(--ease), color .3s;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' preserveAspectRatio='none'%3E%3Cpath d='M1 7 C 60 4, 120 9, 180 5 S 270 8, 299 5' fill='none' stroke='%23A23B28' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") 0 62%/0% 12px no-repeat}.qcard .flaw,.qcard .fix{opacity:0;transition:grid-template-rows .4s var(--ease), opacity .3s, margin .4s var(--ease);grid-template-rows:0fr;display:grid}.qcard .flaw{font:400 13px/1.4 var(--sans);color:var(--flag)}.qcard .flaw b{font-weight:600}.qcard .fix{font:400 17.5px/1.4 var(--serif);color:var(--ink)}.qcard .fix:before{content:"→ ";color:var(--accent)}.qcard[aria-pressed=true]{border-left-color:var(--flag)}.qcard[aria-pressed=true] .q{color:var(--ink-60);background-size:100% 12px}.qcard[aria-pressed=true] .flaw,.qcard[aria-pressed=true] .fix{opacity:1;grid-template-rows:1fr;margin-top:8px}.qcard .flaw,.qcard .fix{max-height:0;overflow:hidden}.qcard[aria-pressed=true] .flaw,.qcard[aria-pressed=true] .fix{max-height:80px}.rules{border:1px solid var(--settled);background:var(--sheet);animation:line-in .5s var(--ease) both;margin-top:16px;padding:14px 18px}.rules .label{color:var(--settled);margin-bottom:10px}.rules ol{columns:2;font:400 13.5px/1.9 var(--sans);column-gap:24px}.rules li:before{content:"✓ ";color:var(--settled)}.ch-follow .stick{padding-top:96px;padding-bottom:28px}.follow{flex-direction:column;justify-content:center;height:100%;display:flex}.follow h2{font-size:clamp(28px,2.6vw,40px)}.follow .body{margin-top:12px;font-size:16.5px}.chat{flex-direction:column;min-height:0;margin-top:22px;display:flex}.chat-top{border-bottom:1px solid var(--ink);align-items:center;gap:14px;padding:12px 18px;display:flex}.chat-top .muted{font-variant-numeric:tabular-nums;margin-left:auto}.chat-progress{gap:4px;display:inline-flex}.chat-progress i{border:1px solid var(--ink-60);width:10px;height:10px;transition:background .3s}.chat-progress i.on{background:var(--accent);border-color:var(--accent)}.chat-window{height:clamp(240px,100svh - 440px,440px);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 56px);mask-image:linear-gradient(#0000 0,#000 56px)}.chat-list{transition:transform .7s var(--ease);will-change:transform;padding:8px 0 0}.msg{opacity:0;transition:opacity .45s, transform .55s var(--ease);transform:translateY(14px)}.msg.on{opacity:1;transform:none}.msg-bot{font:400 17px/1.45 var(--serif);padding:12px 20px 6px}.msg-you{font:500 24px/var(--rule-step) var(--hand);color:var(--accent);background:repeating-linear-gradient(to bottom, transparent 0 calc(var(--rule-step) - 1px), var(--rule) calc(var(--rule-step) - 1px) var(--rule-step));margin:4px 0 6px;padding:0 20px}.msg-note{border-left:2px solid var(--ink-60);font:500 10.5px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-60);margin:2px 20px 8px;padding:3px 0 3px 10px}.msg-note.tone-probe{border-color:var(--flag);color:var(--flag)}.msg-note.tone-done{border-color:var(--settled);color:var(--settled)}.follow-hint{right:var(--gutter);bottom:5vh}.budget{background:var(--sheet);border:1px solid var(--rule-strong);margin-top:26px}.budget-head{border-bottom:1px solid var(--rule-strong);justify-content:space-between;align-items:center;padding:10px 10px 10px 16px;display:flex}.budget-list li{min-height:var(--rule-step);border-bottom:1px solid var(--rule);font:400 16.5px/1.3 var(--serif);grid-template-columns:22px 1fr auto;align-items:baseline;gap:10px;padding:6px 16px 5px;transition:color .3s;display:grid}.budget-list .n{font:600 11px/1 var(--sans);color:var(--ink-60)}.budget-list .s{font:500 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-60)}.budget-list .st-full .s:after,.budget-list .st-deep .s:after{content:" ✓"}.budget-list .st-deep .s{color:var(--accent)}.budget-list .st-dropped .g{color:var(--ink-60);text-decoration:line-through;-webkit-text-decoration-color:var(--flag);text-decoration-color:var(--flag);text-decoration-thickness:1.5px}.budget-list .st-dropped .s{color:var(--flag)}.budget-note{font:400 13.5px/1.5 var(--sans);color:var(--ink-80);padding:10px 16px 12px}.row{margin-top:26px}.row-head{border-bottom:1px solid var(--ink);justify-content:space-between;padding:12px 16px;display:flex}.row-cells button{text-align:left;border-bottom:1px solid var(--rule);width:100%;font:400 15px/1.4 var(--sans);border-left:2px solid #0000;grid-template-columns:22px 1fr;gap:10px;padding:8px 16px 7px 14px;transition:background .2s,border-color .2s;display:grid}.row-cells button.on{background:var(--paper);border-left-color:var(--ink)}.row-cells .n{font:600 11px/1.9 var(--sans);color:var(--ink-60)}.row-cells .muted{color:var(--ink-60)}.row-cells .low{-webkit-text-decoration:underline dotted var(--ink-60);text-decoration:underline dotted var(--ink-60);text-underline-offset:4px}.quote{border-left:2px solid var(--flag);min-height:92px;margin:14px 16px 16px;padding:4px 0 4px 16px}.quote .label{margin-bottom:4px}.hand{font:500 23px/1.35 var(--hand);color:var(--accent)}.hand mark{background:var(--sand);color:inherit;box-shadow:inset 0 -1px 0 var(--ink-60);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 2px}.hand.in{animation:line-in .45s var(--ease) both}.ch-weave .stick{justify-content:flex-start;padding-top:13vh}.counter{font:300 22px/1 var(--serif);color:var(--ink-60);margin-top:14px}.counter #counter{font:300 clamp(48px, 5vw, 76px) / 1 var(--serif);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.weave .body{max-width:52ch;margin-top:12px}.weave-foot{left:var(--gutter);right:var(--gutter);--in:clamp(0, (var(--p) - .55) * 5, 1);position:absolute;bottom:36px}.lesson-row{background:var(--paper);border:1px solid var(--rule-strong);max-width:820px;margin:0 auto;padding:16px 20px}.start .steps{text-align:left;grid-template-columns:repeat(3,1fr);gap:28px;max-width:900px;margin:44px auto 0;display:grid}.steps li{border-top:1px solid var(--ink);font:400 14.5px/1.5 var(--sans);color:var(--ink-80);padding-top:14px}.steps .n{font:600 11px/1 var(--sans);color:var(--ink-60);margin-bottom:10px;display:block}.steps b{font:400 21px/1.2 var(--serif);color:var(--ink);margin-bottom:6px;display:block}.start .actions{justify-content:center;margin-top:44px}.foot{left:var(--gutter);right:var(--gutter);font:400 12px/1.4 var(--sans);color:var(--ink-60);justify-content:space-between;gap:24px;display:flex;position:absolute;bottom:22px}@media (width<=860px),(aspect-ratio<=21/20){.guide{display:none}.top{background:linear-gradient(var(--paper) 55%, transparent);grid-template-columns:1fr auto}.side,.split{background:color-mix(in srgb, var(--paper) 92%, transparent);max-width:640px;margin-inline:-16px;padding:16px}.split{grid-template-columns:1fr;gap:28px}.ch:not(.ch-follow):not(.ch-weave):not(.ch-hero):not(.ch-paradox){height:auto}.ch:not(.ch-follow):not(.ch-weave):not(.ch-hero):not(.ch-paradox) .stick{height:auto;min-height:100svh;padding-top:46svh;position:relative}.ch:not(.ch-follow):not(.ch-weave):not(.ch-hero):not(.ch-paradox) .inner{--in:1;--out:1}.ch-follow .stick{padding-top:76px}.follow .body,.follow-hint,.strings-hint{display:none}.follow{background:color-mix(in srgb, var(--paper) 90%, transparent)}.chat-window{height:clamp(220px,100svh - 300px,520px)}.lesson{grid-template-columns:1fr;gap:16px}.cap{width:42vw;font-size:13.5px}.start .steps{grid-template-columns:1fr;gap:18px}.ch-start{height:auto}.ch-start .stick{height:auto;min-height:100svh;padding-bottom:140px;position:relative}.foot{flex-direction:column;gap:6px}.rules ol{columns:1}}@media (height<=820px) and (aspect-ratio>=21/20){.stick{padding-top:84px;padding-bottom:28px}.side h2{font-size:clamp(26px,4.4vh,38px)}.side .body{margin-top:12px;font-size:16px}.brief,.budget,.row,.lesson{margin-top:18px}.brief-list li,.budget-list li{min-height:28px;padding-block:4px;font-size:15.5px}.lesson dd{font-size:13px}.brief-cap{padding-top:8px}.brief-list .a{font-size:12.5px}.row-cells button{padding-block:5px;font-size:14px}.quote{min-height:76px;margin-block:10px 12px}.hand{font-size:21px}.cap{top:90%}}@media (height<=720px) and (aspect-ratio>=21/20){.side .body{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
