/* Loogika launch page. Tokens from the Fjord design (copy-deck.md). Light theme only. */
:root{--bg:#F4F7F8;--bg-2:#E8EFF0;--bg-3:#DCE6E7;--card:#FFFFFF;--line:#D0DCDD;--ink:#071A1E;--ink-2:#3A4B50;--accent:#0F766E;--accent-2:#115E59;--on-accent:#FFFFFF;--accent-soft:#DDF2EE;--line-strong:#6F8286;--ok:#166534;--err:#B42318;--err-soft:#FEE4E2;--shadow:0 1px 2px rgb(15 23 42/.05),0 12px 32px rgb(15 23 42/.07);--r-1:6px;--r-2:10px;--r-3:16px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--t-xs:.8125rem;--t-sm:.9375rem;--t-md:clamp(1rem,.95rem + .25vw,1.125rem);--t-lg:clamp(1.125rem,1rem + .5vw,1.375rem);--t-xl:clamp(1.5rem,1.25rem + 1vw,2rem);--t-2xl:clamp(1.875rem,1.4rem + 2vw,2.875rem);--t-3xl:clamp(2.375rem,1.6rem + 3.6vw,4.25rem);--measure:66ch;--wrap:1120px;--gutter:max(var(--s-5),calc((100% - var(--wrap))/2))}
.dark{--bg:#0B2A2E;--bg-2:#0F3338;--bg-3:#143D42;--card:#0F3338;--line:#214F54;--line-strong:#4F7A7E;--ink:#EAF4F3;--ink-2:#B3C9C7;--accent:#5EEAD4;--accent-2:#99F6E4;--on-accent:#042F2E;--accent-soft:#164B4A;--ok:#6EE7A0;--shadow:0 1px 2px rgb(0 0 0/.35),0 16px 40px rgb(0 0 0/.35);background:var(--bg);color:var(--ink)}
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-md);line-height:1.6;-webkit-font-smoothing:antialiased;text-wrap:pretty}
:where(h1,h2,h3,p,ul,ol,dl,figure,table,blockquote){margin:0}
:where(ul,ol){padding:0;list-style:none}
:where(a){color:var(--accent);text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px}
:where(a:hover){color:var(--accent-2)}
:where(:focus-visible){outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
:where(h1,h2){font-family:var(--font-serif);font-weight:400;letter-spacing:-.02em;line-height:1.08;text-wrap:balance}
h1{font-size:var(--t-3xl)}h2{font-size:var(--t-2xl)}h3{font-size:var(--t-lg);font-weight:600;letter-spacing:-.01em;line-height:1.3}
.lead{font-size:var(--t-lg);line-height:1.5;color:var(--ink-2);max-width:var(--measure)}
.vh{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;inset-inline-start:var(--s-4);inset-block-start:-100px;background:var(--accent);color:var(--on-accent);padding:var(--s-2) var(--s-4);border-radius:var(--r-1);z-index:10}
.skip:focus{inset-block-start:var(--s-4)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--s-5);border-radius:var(--r-2);font:inherit;font-weight:600;font-size:var(--t-sm);text-decoration:none;border:1px solid transparent;background:var(--accent);color:var(--on-accent);cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--accent-2);color:var(--on-accent)}
.tag{display:inline-block;font-size:var(--t-xs);font-weight:600;line-height:1;padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);letter-spacing:.01em}
.sec{padding-block:var(--s-9);padding-inline:var(--gutter)}
.alt{background:var(--bg-2)}
.sec>h2{max-width:22ch}
.head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);min-height:64px;padding-inline:var(--gutter);border-block-end:1px solid var(--line)}
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1.125rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.logo:hover{color:var(--ink)}
.logo svg{inline-size:24px;block-size:24px;display:block}
.hero{padding-block:var(--s-8) var(--s-9);padding-inline:var(--gutter);text-align:center;display:grid;justify-items:center;gap:var(--s-5)}
.hero h1{max-width:16ch}
.hero .lead{max-width:58ch}
.claim{inline-size:100%;max-width:560px;display:grid;gap:var(--s-3);text-align:start;margin-block-start:var(--s-3)}
.claim input[type=email]{min-height:48px;padding:0 var(--s-4);font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-2);inline-size:100%;min-inline-size:0}
.claim input[type=email]::placeholder{color:var(--ink-2);opacity:1}
.claim input[type=email]:hover{border-color:var(--ink)}
.claim input[type=email]:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.claim .btn{min-height:48px}
.consent{display:grid;grid-template-columns:20px 1fr;gap:var(--s-3);align-items:start;font-size:var(--t-sm);color:var(--ink-2);grid-column:1/-1}
.consent input{inline-size:20px;block-size:20px;margin:2px 0 0;accent-color:var(--accent)}
.help{font-size:var(--t-sm);color:var(--ink-2);text-align:center;grid-column:1/-1}
.hp{position:absolute;inset-inline-start:-9999px;inline-size:1px;block-size:1px;overflow:hidden}
.demo{inline-size:100%;max-width:var(--wrap);margin-block-start:var(--s-7);text-align:start;display:grid;gap:var(--s-4)}
.demo figcaption{font-size:var(--t-xs);color:var(--ink-2);text-align:center}
.panel{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow);padding:var(--s-5);display:grid;gap:var(--s-5);align-content:start;min-inline-size:0}
.panel>header{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);font-size:var(--t-sm)}
.panel>header span,.muted{color:var(--ink-2)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4)}
.stats dt{font-size:var(--t-xs);color:var(--ink-2)}
.stats dd{margin:0;font-size:var(--t-xl);font-weight:600;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.stats small{display:block;font-size:var(--t-xs);font-weight:500;color:var(--ok);letter-spacing:0;margin-block-start:2px}
.bars{display:grid;grid-template-columns:repeat(30,1fr);gap:3px;align-items:end;block-size:150px;border-block-end:1px solid var(--line);padding-block-end:1px}
.bars li{background:var(--accent);opacity:.35;border-radius:2px 2px 0 0;min-block-size:3px}
.bars li:nth-child(n+24){opacity:1}
.bars li:last-child{background:var(--accent-2)}
.axis{display:flex;justify-content:space-between;font-size:var(--t-xs);color:var(--ink-2);margin-block-start:calc(-1*var(--s-3))}
table{inline-size:100%;border-collapse:collapse;font-size:var(--t-sm);font-variant-numeric:tabular-nums}
th{text-align:start;font-weight:500;font-size:var(--t-xs);color:var(--ink-2);padding:0 var(--s-2) var(--s-2);border-block-end:1px solid var(--line)}
td{padding:var(--s-3) var(--s-2);border-block-end:1px solid var(--line)}
tr:last-child td{border:0}
:where(th,td):first-child{padding-inline-start:0}:where(th,td):last-child{padding-inline-end:0}
td:not(:first-child),th:not(:first-child){text-align:end;white-space:nowrap}
.pages td:nth-child(2),.pages th:nth-child(2){text-align:start;white-space:normal}
.up{color:var(--ok);font-weight:600;font-size:var(--t-xs)}
.pos{font-weight:600}.hl{color:var(--accent)}.down{color:var(--ink-2)}
code{font-family:var(--font-mono);font-size:.9em}
.edit,.feature{display:grid;gap:var(--s-6)}
.edit .body p+p{margin-block-start:var(--s-4)}
.costs{display:grid;margin-block-start:var(--s-6);border-block-start:1px solid var(--line)}
.costs>div{display:grid;gap:var(--s-2);padding-block:var(--s-5);border-block-end:1px solid var(--line)}
.costs dt{font-weight:600}.costs dd{margin:0;color:var(--ink-2);font-size:var(--t-sm);line-height:1.55}
.feature{gap:var(--s-7);align-items:center}
.feature .text{display:grid;gap:var(--s-5);align-content:start}
.feature .text h2{max-width:20ch}
.feature .text p{color:var(--ink-2)}
.checks{display:grid;gap:var(--s-2)}
.checks li{display:flex;gap:var(--s-3);align-items:baseline}
.checks li::before{content:"";flex:none;inline-size:8px;block-size:8px;border-radius:2px;background:var(--accent);transform:translateY(-1px)}
.live .big{font-size:clamp(3rem,2rem + 5vw,5.5rem);font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.live .big small{display:block;font-size:var(--t-sm);font-weight:400;color:var(--ink-2);letter-spacing:0;margin-block-start:var(--s-2)}
.dot{display:inline-block;inline-size:8px;block-size:8px;border-radius:50%;background:var(--ok);margin-inline-end:6px;vertical-align:middle}
.toplist{display:grid;gap:var(--s-4)}
.toplist li{display:grid;grid-template-columns:1fr auto;gap:var(--s-1) var(--s-3);align-items:center}
.toplist i{grid-column:1/-1;display:block;block-size:8px;border-radius:3px;background:var(--accent);opacity:.8}
.toplist .n{color:var(--ink-2);font-variant-numeric:tabular-nums}
.audit{display:grid;gap:var(--s-2)}
.audit li{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-3);align-items:center;padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-1);font-size:var(--t-sm)}
.audit li::before{content:"";inline-size:8px;block-size:8px;border-radius:50%;background:var(--accent)}
.audit li:last-child::before{background:var(--line)}
.audit .n{color:var(--ink-2)}
.team{display:grid;gap:var(--s-7)}
.team .grid{display:grid;gap:var(--s-6)}
.quote{display:grid;gap:var(--s-5);align-content:start;padding-block-start:var(--s-5);border-block-start:2px solid var(--ink)}
.quote blockquote{margin:0;font-family:var(--font-serif);font-size:var(--t-xl);line-height:1.3;letter-spacing:-.01em;max-width:34ch}
.quote blockquote::before{content:"\201C";color:var(--accent);margin-inline-start:-.45em}
.quote blockquote::after{content:"\201D";color:var(--accent)}
.quote figcaption{display:grid;grid-template-columns:44px 1fr;gap:var(--s-3);align-items:center;font-size:var(--t-sm);color:var(--ink-2)}
.quote figcaption::before{content:"TA";inline-size:44px;block-size:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:600;font-size:var(--t-xs)}
.quote strong{display:block;color:var(--ink)}
.bio{padding-block-start:var(--s-5);border-block-start:2px solid var(--line)}
.bio p{color:var(--ink-2);max-width:48ch}
.final{padding-block:var(--s-9) var(--s-8);padding-inline:var(--gutter);text-align:center;display:grid;justify-items:center;gap:var(--s-4)}
.final h2{max-width:18ch}.final p{max-width:48ch;color:var(--ink-2)}
.foot{padding-block:var(--s-6);padding-inline:var(--gutter);border-block-start:1px solid var(--line);font-size:var(--t-sm);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3) var(--s-6)}
.foot a{color:var(--ink)}.foot p{color:var(--ink-2)}
.doc{padding-block:var(--s-8) var(--s-9);padding-inline:var(--gutter);max-width:calc(var(--measure) + 2*var(--s-5));margin-inline:auto;display:grid;gap:var(--s-4)}
.doc h1{font-size:var(--t-2xl)}.doc h2{font-size:var(--t-xl);margin-block-start:var(--s-5)}
.doc ul{list-style:disc;padding-inline-start:var(--s-5);display:grid;gap:var(--s-2)}
.doc .muted{font-size:var(--t-sm)}
.msg{inline-size:100%;max-width:560px;margin:var(--s-8) auto;padding-inline:var(--s-5);display:grid;gap:var(--s-4)}
.msg h1{font-size:var(--t-2xl)}
@media (min-width:640px){.claim{grid-template-columns:1fr auto}.costs{grid-template-columns:1fr 1fr;gap:0 var(--s-6)}.team .grid{grid-template-columns:1fr 1fr}}
@media (min-width:880px){.demo{grid-template-columns:minmax(0,3fr) minmax(400px,2fr)}.edit{grid-template-columns:5fr 7fr;gap:var(--s-8)}.feature{grid-template-columns:7fr 5fr;gap:var(--s-8)}.feature.flip{grid-template-columns:5fr 7fr}.feature.flip .text{order:-1}.team .grid{grid-template-columns:7fr 5fr;gap:var(--s-8)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.bars li:nth-child(1){height:42%}.bars li:nth-child(2){height:48%}.bars li:nth-child(3){height:45%}.bars li:nth-child(4){height:52%}.bars li:nth-child(5){height:50%}.bars li:nth-child(6){height:38%}.bars li:nth-child(7){height:35%}.bars li:nth-child(8){height:55%}.bars li:nth-child(9){height:58%}.bars li:nth-child(10){height:54%}.bars li:nth-child(11){height:61%}.bars li:nth-child(12){height:57%}.bars li:nth-child(13){height:44%}.bars li:nth-child(14){height:40%}.bars li:nth-child(15){height:63%}.bars li:nth-child(16){height:66%}.bars li:nth-child(17){height:60%}.bars li:nth-child(18){height:70%}.bars li:nth-child(19){height:68%}.bars li:nth-child(20){height:49%}.bars li:nth-child(21){height:46%}.bars li:nth-child(22){height:72%}.bars li:nth-child(23){height:75%}.bars li:nth-child(24){height:71%}.bars li:nth-child(25){height:82%}.bars li:nth-child(26){height:79%}.bars li:nth-child(27){height:58%}.bars li:nth-child(28){height:55%}.bars li:nth-child(29){height:88%}.bars li:nth-child(30){height:96%}
.toplist li:nth-child(1) i{width:100%}.toplist li:nth-child(2) i{width:64%}.toplist li:nth-child(3) i{width:50%}.toplist li:nth-child(4) i{width:29%}.toplist li:nth-child(5) i{width:21%}
