.landing-top,main,.landing-foot{max-width:1120px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.landing-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px}.landing-nav{display:flex;align-items:center;gap:8px 20px}.landing-nav a:not(.button){color:var(--muted);font-weight:600;text-decoration:none}.landing-nav a:not(.button):hover{color:var(--ink)}.button-large{min-height:60px;padding:0 32px;font-size:1.15rem}a.button{text-decoration:none}.hero{padding:clamp(40px,9vh,96px) 0 clamp(28px,5vh,48px)}.hero h1{max-width:14ch;font-size:clamp(2.8rem,7.5vw,5.6rem);line-height:.98;font-weight:700;font-stretch:82%;letter-spacing:-.03em;text-wrap:balance}.hero-text{max-width:58ch;margin-top:24px;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:32px}.demo{padding:clamp(20px,3vw,36px);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--line)}.demo-lead{color:var(--muted);font-weight:550}.demo-name{min-height:1.1em;margin-top:4px;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.05;font-weight:700;font-stretch:88%;letter-spacing:-.02em;text-wrap:balance}.demo-detail{margin-top:4px;font-size:1.15rem;font-weight:600;color:var(--felt)}.demo-keybed .keyboard{max-height:none;cursor:pointer;touch-action:manipulation}.demo-keybed .key{transition:fill 90ms ease-out}.demo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:12px}.demo-actions .button{margin-left:-18px}.demo-hint{color:var(--muted);font-size:.95rem}.band{padding:clamp(48px,8vh,88px) 0 0}.band h2{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15;font-weight:700;font-stretch:90%;letter-spacing:-.015em;text-wrap:balance}.band-text{max-width:64ch;margin-top:16px;color:var(--muted);font-size:1.05rem}.parts{counter-reset:part;list-style:none;margin:32px 0 8px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}.parts li{counter-increment:part;padding-top:16px;border-top:3px solid var(--felt)}.parts li:before{content:counter(part);display:block;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;line-height:1;color:var(--felt)}.parts h3{margin:12px 0 6px;font-size:1.15rem}.parts p{color:var(--muted);font-size:.98rem}.needs{margin:28px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px}.needs dt{font-weight:700;font-size:1.1rem}.needs dd{margin:6px 0 0;color:var(--muted)}.steps{max-width:64ch;margin:24px 0 0;padding-left:1.4em;font-size:1.05rem}.steps li+li{margin-top:10px}.steps li::marker{font-family:Georgia,Times New Roman,serif;font-weight:700;color:var(--felt)}main a:not(.button),.landing-foot a{color:var(--felt);font-weight:600}.landing-foot{margin-top:clamp(56px,10vh,112px);padding-top:24px;padding-bottom:40px;border-top:1px solid var(--line);color:var(--muted)}@media (max-width: 900px){.parts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.needs{grid-template-columns:minmax(0,1fr)}}@media (max-width: 520px){.parts{grid-template-columns:minmax(0,1fr)}.landing-nav a:not(.button){display:none}}.landing-top .wordmark-text{display:inline;font-size:1.2rem}.faq{max-width:72ch;margin-top:24px;border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--tap);padding:12px 0;font-size:1.1rem;font-weight:650;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";flex:none;font-size:1.5rem;font-weight:400;line-height:1;color:var(--felt)}.faq details[open] summary:after{content:"−"}.faq details p{max-width:64ch;padding:0 0 18px;color:var(--muted);font-size:1.05rem}.foot-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px}.legal{max-width:1120px}.legal h1{margin-top:clamp(32px,6vh,64px);font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05;font-weight:700;font-stretch:85%;letter-spacing:-.02em}.legal h2{margin-top:36px;font-size:1.35rem;font-stretch:90%}.legal p{max-width:68ch;margin-top:10px;font-size:1.05rem}.legal .band-text{margin-top:8px}
