@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/torana/fonts/fraunces.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/torana/fonts/fraunces-italic.woff2)format("woff2")}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/torana/fonts/familjen-grotesk.woff2)format("woff2")}:root{--ground:#fcfbf9;--surface:#f5f3ee;--ink:#211d19;--ink-soft:#4a443c;--muted:#6f675d;--line:#e8e3da;--accent:#c87e04;--accent-bright:#e9a23b;--accent-ink:#96610a;--accent-wash:#fbf3e2;--good:#3d7a4a;--code-bg:#24201b;--code-ink:#ede7dc;--code-line:#ede7dc1a;--display:"Fraunces", Georgia, serif;--body:"Familjen Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{--ground:#141110;--surface:#1c1815;--ink:#efe9de;--ink-soft:#c9c1b3;--muted:#9c927f;--line:#2b2620;--accent:#e9a23b;--accent-bright:#efad4c;--accent-ink:#e9a23b;--accent-wash:#241d12;--good:#7fb98a;--code-bg:#1c1815;--code-ink:#ede7dc;--code-line:#ede7dc1a;color-scheme:dark}}:root[data-theme=light]{--ground:#fcfbf9;--surface:#f5f3ee;--ink:#211d19;--ink-soft:#4a443c;--muted:#6f675d;--line:#e8e3da;--accent:#c87e04;--accent-bright:#e9a23b;--accent-ink:#96610a;--accent-wash:#fbf3e2;--good:#3d7a4a;--code-bg:#24201b;--code-ink:#ede7dc;--code-line:#ede7dc1a;color-scheme:light}:root[data-theme=dark]{--ground:#141110;--surface:#1c1815;--ink:#efe9de;--ink-soft:#c9c1b3;--muted:#9c927f;--line:#2b2620;--accent:#e9a23b;--accent-bright:#efad4c;--accent-ink:#e9a23b;--accent-wash:#241d12;--good:#7fb98a;--code-bg:#1c1815;--code-ink:#ede7dc;--code-line:#ede7dc1a;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ground);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16.5px;line-height:1.62}a{color:var(--accent-ink);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}::selection{background:var(--accent-bright);color:#211d19}img,svg{max-width:100%}.wrap{max-width:1060px;margin:0 auto;padding:0 24px}.site-head{z-index:40;background:color-mix(in srgb, var(--ground) 86%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-head .row{justify-content:space-between;align-items:center;padding:14px 0;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;display:flex}.brand:hover{text-decoration:none}.brand svg{display:block}.brand-name{font-family:var(--display);letter-spacing:-.01em;font-size:21px}.nav{align-items:center;gap:4px;font-size:14px;display:flex}.nav a{color:var(--muted);border-radius:6px;padding:6px 11px}.nav a:hover{color:var(--ink);background:var(--surface);text-decoration:none}.nav a.active{color:var(--ink);background:var(--surface)}.nav a.gh{color:var(--ink);font-weight:600}.theme-toggle{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;margin-left:6px;display:inline-flex}.theme-toggle:hover{background:var(--surface)}.theme-toggle svg{width:17px;height:17px;display:block}.theme-toggle .icon-moon,:root[data-theme=dark] .theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-moon{display:block}@media (prefers-color-scheme:dark){.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}}:root[data-theme=light] .theme-toggle .icon-sun{display:block}:root[data-theme=light] .theme-toggle .icon-moon{display:none}.hero{text-align:center;padding:76px 0 0}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);font-size:11.5px}h1{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;max-width:14ch;margin:20px auto 22px;font-size:clamp(44px,7vw,78px);font-weight:600;line-height:1.02}h1 em{color:var(--accent-ink);font-style:italic;font-weight:500}.hero .lede{max-width:54ch;color:var(--muted);text-wrap:pretty;margin:0 auto;font-size:18.5px;line-height:1.55}.hero .meaning{font-family:var(--display);color:var(--muted);margin-top:16px;font-size:15.5px;font-style:italic;font-weight:500}.cta-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;display:flex}.btn{font-family:var(--mono);letter-spacing:.01em;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:8px;padding:12px 22px;font-size:13.5px;transition:transform .12s,border-color .12s,background .12s;display:inline-flex}.btn:hover{border-color:var(--muted);text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--ink);color:var(--ground);border-color:var(--ink)}.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}.hero-badges{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.badge{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:11px}.flow-stage{margin:60px auto 0;position:relative}.flow-frame{border:1px solid var(--line);background:radial-gradient(120% 140% at 30% 15%, var(--surface), var(--ground) 70%);border-radius:18px;position:relative;overflow:hidden}.flow-frame canvas{cursor:crosshair;width:100%;height:400px;display:block}@media (width<=720px){.flow-frame canvas{height:300px}}.flow-readout{text-align:right;pointer-events:none;position:absolute;top:18px;right:20px}.flow-count{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:21px;font-weight:600;line-height:1.1;display:block}.flow-count-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:9.5px}.flow-caption{font-family:var(--mono);color:var(--muted);letter-spacing:.02em;text-align:center;margin-top:14px;font-size:11.5px}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.stat{text-align:center;padding:30px 12px}.stat+.stat{border-left:1px solid var(--line)}.stat b{font-family:var(--display);letter-spacing:-.015em;font-variant-numeric:tabular-nums;font-size:clamp(28px,3.8vw,42px);font-weight:600;line-height:1.15;display:block}.stat span{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px}@media (width<=640px){.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:none}.stat:nth-child(n+3){border-top:1px solid var(--line)}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(16px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}section{padding:96px 0 0}.sec-head{max-width:660px}h2{font-family:var(--display);letter-spacing:-.015em;text-wrap:balance;margin:14px 0;font-size:clamp(30px,4.2vw,44px);font-weight:600;line-height:1.1}.sec-head p{color:var(--muted);text-wrap:pretty;margin:0;font-size:17px}.bench{grid-template-columns:1fr 1fr;gap:28px;margin-top:46px;display:grid}@media (width<=760px){.bench{grid-template-columns:1fr}}.bench-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 55%, transparent);border-radius:14px;padding:26px 26px 22px}.bench-panel h3{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 22px;font-size:11.5px;font-weight:500}.bar-row{grid-template-columns:62px 1fr 76px;align-items:center;gap:14px;margin-bottom:16px;display:grid}.bar-row .who{font-family:var(--mono);font-size:13px}.bar-track{background:var(--surface);border-radius:3px;height:30px}.bar-fill{background:var(--line);transform-origin:0;border-radius:3px;height:100%;animation:.9s cubic-bezier(.2,.7,.2,1) both grow}.bar-row.hero-bar .bar-fill{background:var(--accent-bright)}@keyframes grow{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.bar-fill{animation:none}}.bar-row .val{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.bench-note{color:var(--muted);max-width:74ch;margin-top:28px;font-size:14px}.bench-note code{font-family:var(--mono);background:var(--surface);border-radius:4px;padding:1px 6px;font-size:12.5px}.two-col{grid-template-columns:1fr 1fr;gap:52px;margin-top:46px;display:grid}@media (width<=760px){.two-col{grid-template-columns:1fr}}.plain-list{margin:0;padding:0;list-style:none}.plain-list li{border-top:1px solid var(--line);border-radius:6px;align-items:baseline;gap:14px;padding:13px 4px;font-size:15.5px;transition:background .15s;display:flex}.plain-list li:hover{background:color-mix(in srgb, var(--surface) 70%, transparent)}.plain-list .tick{width:18px;height:18px;font-family:var(--mono);color:var(--good);background:color-mix(in srgb, var(--good) 14%, transparent);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:10.5px;font-weight:700;display:inline-flex;position:relative;top:1px}.plain-list .tick.no{color:var(--muted);background:var(--surface)}.col-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:11.5px;font-weight:500}.cases{grid-template-columns:repeat(2,1fr);gap:14px 20px;margin-top:46px;display:grid}@media (width<=760px){.cases{grid-template-columns:1fr}}.case{border:1px solid var(--line);border-radius:12px;padding:20px 22px 22px;transition:border-color .15s,transform .15s,background .15s}.case:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent-wash) 60%, transparent);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.case:hover{transform:none}}.case .tag{font-family:var(--mono);letter-spacing:.14em;color:var(--accent-ink);text-transform:uppercase;font-size:10.5px}.case h3{margin:9px 0 6px;font-size:17px;font-weight:600}.case p{color:var(--muted);text-wrap:pretty;margin:0;font-size:14.5px}.install-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:46px;display:grid}@media (width<=860px){.install-grid{grid-template-columns:1fr}}.code-card{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;transition:border-color .15s,transform .15s;overflow:hidden}.code-card:hover{border-color:var(--accent);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.code-card:hover{transform:none}}.code-card .code-head{border-bottom:1px solid var(--code-line);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.code-card .code-head span{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#ede7dc80;font-size:11px}.copy-btn{font-family:var(--mono);letter-spacing:.05em;color:#ede7dc99;cursor:pointer;background:0 0;border:1px solid #ede7dc38;border-radius:4px;padding:3px 10px;font-size:11px}.copy-btn:hover{color:#fff;border-color:#ede7dc8c}.code-card pre{font-family:var(--mono);color:var(--code-ink);margin:0;padding:16px 18px;font-size:13px;line-height:1.7;overflow-x:auto}.code-card .cm{color:#ede7dc66}.code-card .ac{color:var(--accent-bright)}.install-span{grid-column:1/-1}.docs-cta{margin-top:26px;font-size:15px}footer.site-foot{border-top:1px solid var(--line);margin-top:104px;padding:34px 0 52px}.foot-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;display:flex}.foot-row p{color:var(--muted);max-width:62ch;margin:0;font-size:13.5px}.foot-links{font-family:var(--mono);gap:22px;font-size:12.5px;display:flex}.docs-layout{grid-template-columns:210px 1fr;align-items:start;gap:56px;padding:52px 0 0;display:grid}@media (width<=860px){.docs-layout{grid-template-columns:1fr;gap:20px}}.docs-nav{position:sticky;top:76px}@media (width<=860px){.docs-nav{flex-wrap:wrap;gap:6px;display:flex;position:static}}.docs-nav a{color:var(--muted);border-radius:6px;padding:6px 10px;font-size:14px;display:block}@media (width<=860px){.docs-nav a{border:1px solid var(--line);font-size:13px}}.docs-nav a:hover{color:var(--ink);background:var(--surface);text-decoration:none}.docs-nav a.active{color:var(--ink);background:var(--surface);font-weight:600}.docs-nav .dn-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:18px 0 6px;padding:0 10px;font-size:10.5px}@media (width<=860px){.docs-nav .dn-label{display:none}}.docs-body{min-width:0;max-width:720px}.docs-body>h1{text-align:left;max-width:none;margin:0 0 8px;font-size:clamp(34px,4.6vw,48px)}.docs-body .docs-sub{color:var(--muted);margin:0 0 8px;font-size:17px}.docs-body h2{border-top:1px solid var(--line);margin:10px 0;padding-top:18px;font-size:clamp(24px,3vw,31px)}.docs-body h2:first-of-type{border-top:none;padding-top:0}.docs-body h3{margin:26px 0 8px;font-size:17px;font-weight:650}.docs-body p,.docs-body li{color:var(--ink-soft);font-size:15.5px}.docs-body p{text-wrap:pretty}.docs-body .code-card{margin:16px 0}.docs-body code:not(pre code){font-family:var(--mono);background:var(--surface);color:var(--ink);border-radius:4px;padding:1.5px 6px;font-size:13px}.callout{border-left:3px solid var(--accent-bright);background:var(--accent-wash);color:var(--ink-soft);border-radius:0 8px 8px 0;margin:16px 0;padding:12px 16px;font-size:14.5px}.table-scroll{border:1px solid var(--line);border-radius:10px;margin:18px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px}th{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);background:var(--surface);padding:12px 16px;font-size:10.5px;font-weight:500}td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 16px}tr:last-child td{border-bottom:none}td code{font-family:var(--mono);font-size:12.5px}.pill{font-family:var(--mono);letter-spacing:.08em;white-space:nowrap;border-radius:999px;padding:2.5px 9px;font-size:10px}.pill.on{color:var(--good);border:1px solid color-mix(in srgb, var(--good) 40%, transparent)}.pill.off{color:var(--muted);border:1px solid var(--line)}.td-note{color:var(--muted)}
