* {box-sizing:border-box}
html {scroll-padding-top:96px;background:var(--paper);color:var(--ink)}
body {margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
h1,h2,h3,h4,p,figure {margin:0}
h1,h2,h3,h4 {font-weight:500;letter-spacing:-.022em;line-height:1.2;text-wrap:balance}
h1 {font-size:clamp(36px,5.2vw,64px)}
h2 {font-size:clamp(26px,3.1vw,40px)}
h3 {font-size:22px}
p {max-width:68ch}
a {color:inherit;text-underline-offset:4px}
a:hover {text-decoration-thickness:1px}
button,input,textarea,select {font:inherit}
button,a,input,textarea,select {touch-action:manipulation}
button {cursor:pointer}
button:disabled {cursor:default;opacity:.4}
button,input,textarea,select {color:var(--ink);background:var(--sunken);border:1px solid var(--control-line);border-radius:var(--radius-field)}
input,textarea,select {padding:12px;min-height:44px}
textarea {resize:vertical}
::placeholder {color:var(--ink-3);opacity:1}
img,video,svg {max-width:100%;height:auto}
[hidden] {display:none!important}
:focus-visible {outline:2px solid var(--focus);outline-offset:4px}
.container {width:min(1200px,calc(100% - 64px));margin-inline:auto}
.container-narrow {max-width:940px}
.lead {font-size:19px;line-height:1.6;color:var(--ink-2);margin-top:24px}
.eyebrow,.meta,.margin-label {font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase}
.eyebrow {margin-bottom:16px}
.btn {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border:1px solid var(--control-line);border-radius:var(--radius-field);font-size:14px;font-weight:500;text-decoration:none;line-height:1.4;transition:background .16s var(--ease),color .16s var(--ease)}
.btn--primary {background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn--primary:not(:disabled):not([aria-disabled="true"]):hover {background:var(--btn-hover);border-color:var(--btn-hover)}
.btn--secondary,.btn--ghost {background:transparent;color:var(--ink)}
.btn--secondary:not(:disabled):not([aria-disabled="true"]):hover,.btn--ghost:not(:disabled):not([aria-disabled="true"]):hover {background:var(--wash-hover)}
.btn--lg {min-height:48px;padding:12px 24px}
.btn-group {display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}
.skip-link {position:fixed;top:8px;left:8px;z-index:1000;padding:12px 20px;background:var(--ink);color:var(--paper);transform:translateY(-150%)}
.skip-link:focus {transform:none}
.site-nav {position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}
.site-nav__row {display:flex;align-items:center;gap:32px;min-height:80px}
.site-nav__brand {display:flex;align-items:center;flex-shrink:0;min-height:44px}
.site-nav__links {display:flex;gap:22px;margin-left:auto}
.site-nav__links a,.site-nav__login {font-size:14px;text-decoration:none;min-height:44px;display:flex;align-items:center;color:var(--ink-2)}
.site-nav__links a[aria-current="page"] {color:var(--ink);text-decoration:underline}
.site-nav__actions {display:flex;align-items:center;gap:20px}
.theme-control {width:44px;height:44px;border:0;display:grid;place-items:center}
.theme-control__mark {width:17px;height:17px;border:1px solid var(--ink-2);border-radius:50%;position:relative;overflow:hidden}
.theme-control__mark::after {content:"";position:absolute;inset:0 50% 0 0;background:var(--ink-2)}
.site-nav__menu {display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;border:0}
.site-nav__menu span {width:19px;height:1px;background:var(--ink)}
.site-nav__mobile {padding-block:20px;display:grid;gap:4px;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}
.site-nav__mobile a {padding:12px 0;text-decoration:none;min-height:44px}
.site-hero {padding:88px 0 80px}
.site-hero__grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:64px;align-items:start}
.site-hero h1 {max-width:14ch;margin-top:24px;line-height:1.04;letter-spacing:-.035em}
.site-hero__answer {font-size:24px;line-height:1.4;margin-top:24px;max-width:24ch}
.site-hero__description {color:var(--ink-2);margin-top:20px;max-width:46ch}
.site-hero__links {display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}
.site-hero__links>a:not(.btn) {font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.site-evidence {border-top:1px solid var(--line);padding-block:24px;margin-top:64px;display:grid;grid-template-columns:168px 1fr;gap:32px}
.document-example {border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}
.document-example__head {display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}
.document-example__head h2 {font-size:20px}
.document-example__field {padding:16px 0;border-top:1px solid var(--line-2)}
.document-example__field .meta {display:block;margin-bottom:8px}
.document-example__suggestion {padding:20px 0;margin-top:16px;border-top:1px solid var(--line)}
.state {display:flex;align-items:center;gap:8px;font-size:13px;color:var(--green-deep)}
.state::before {content:"";width:8px;height:8px;background:var(--signal);flex-shrink:0}
.document-example__suggestion h3 {font-size:16px;margin-top:12px}
.document-example__suggestion p {font-size:14px;color:var(--ink-2);margin-top:8px}
.statement {font-family:var(--serif);font-style:italic;font-weight:var(--serif-weight);font-size:22px;line-height:1.32}
.document-example__end {margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.document-example figcaption {font-size:13px;color:var(--ink-3);margin-top:24px}
.doc-section {padding-block:80px;border-top:1px solid var(--line)}
.doc-section__layout {display:grid;grid-template-columns:168px minmax(0,1fr);gap:32px}
.doc-section__content>p {margin-top:24px;color:var(--ink-2)}
.doc-rows {margin-top:32px}
.doc-row {display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;padding:24px 0;border-bottom:1px solid var(--line-2)}
.doc-row h3 {font-size:20px}
.doc-row p {color:var(--ink-2)}
.doc-note {font-size:14px;color:var(--ink-3);margin-top:24px}
.doc-steps {padding:0;list-style:none;counter-reset:steps;margin-top:32px}
.doc-steps li {counter-increment:steps;padding:24px 0;border-bottom:1px solid var(--line-2);display:grid;grid-template-columns:40px 160px 1fr;gap:24px}
.doc-steps li::before {content:counter(steps,decimal-leading-zero);font:12px var(--mono);color:var(--ink-3);padding-top:4px}
.doc-steps h3 {font-size:20px}.doc-steps p {color:var(--ink-2)}
.doc-faq {margin-top:32px}
.doc-faq details {border-bottom:1px solid var(--line-2)}
.doc-faq summary {min-height:64px;padding:20px 32px 20px 0;cursor:pointer;list-style:none;font-size:18px;position:relative}
.doc-faq summary::-webkit-details-marker {display:none}
.doc-faq summary::after {content:"";position:absolute;right:0;top:30px;width:12px;height:1px;background:var(--ink)}
.doc-faq summary::before {content:"";position:absolute;right:5px;top:25px;height:12px;width:1px;background:var(--ink)}
.doc-faq details[open] summary::before {display:none}
.doc-faq details p {color:var(--ink-2);padding-bottom:24px}
.site-footer {border-top:1px solid var(--line);padding:48px 0 calc(72px + env(safe-area-inset-bottom,0px))}
.site-footer__main {display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
.site-footer p {font-size:14px;color:var(--ink-3);margin-top:16px}
.site-footer nav {display:grid;gap:8px;align-content:start}
.site-footer h2 {font-size:14px;margin-bottom:8px}
.site-footer nav a {color:var(--ink-2);text-decoration:none;min-height:44px;font-size:14px}
.site-footer__bottom {display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line-2);margin-top:48px;padding-top:24px}
.site-footer__bottom>div {display:flex;gap:20px;flex-wrap:wrap}
.site-footer__bottom a {font-size:13px;min-height:44px;display:inline-flex;align-items:center}
.site-footer__bottom p {font-family:var(--mono);font-size:12px;margin:0}
.v2-cookie {position:fixed;bottom:24px;left:24px;z-index:90;max-width:480px;padding:24px;background:var(--raised);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-field)}
.v2-cookie__head {font-size:18px;font-weight:500;margin-bottom:12px}
.v2-cookie__desc,.v2-cookie__status,.v2-cookie__opt-desc {font-size:14px;color:var(--ink-2)}
.v2-cookie__actions {display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.v2-cookie__close {position:absolute;right:12px;top:12px;min-height:44px}
.v2-cookie__options {margin-top:20px}
.v2-cookie__opt {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0;border-top:1px solid var(--line-2)}
.v2-cookie__opt-title {display:block;font-size:14px}
.v2-cookie__opt-desc {display:block;font-size:13px;max-width:30ch}
.v2-cookie-fab {position:fixed;left:16px;bottom:16px;z-index:80;min-height:44px;padding:10px 14px;font-size:13px}
.v2-cookie i[class*="fa-"] {display:none}
#scroll-progress {display:none}
section {background:var(--paper);color:var(--ink)}
/* Nested DS sections inherit the surrounding surface; explicit component surfaces still win. */
:where([data-design-system="0.1"]) section:where(section section, aside section, article section) {background:transparent}
main>:where(section:not(.site-hero):not(.doc-section)) {padding-block:72px}
main>section>div.container h1 {margin-bottom:24px}
main>section>div.container .eyebrow+h1 {margin-top:12px}
.text-hero {font-size:clamp(36px,5vw,60px)}.text-display {font-size:clamp(28px,3vw,40px)}
.v2-prose {max-width:76ch;margin-inline:auto;font-size:17px;line-height:1.8}
.v2-prose p {margin-block:20px}.v2-prose h2 {font-size:30px;margin-top:48px}.v2-prose h3 {font-size:23px;margin-top:32px}
.v2-prose img {display:block;margin:24px auto}.v2-prose figcaption {font-size:13px;color:var(--ink-3)}
.v2-prose table {border-collapse:collapse;width:100%}.v2-prose th,.v2-prose td {border-bottom:1px solid var(--line);padding:14px 16px;text-align:left;font-size:14px}
.v2-prose__table {overflow:auto;margin-block:24px}.v2-prose__table [data-brand] {background:var(--green-tint)}
@media(max-width:1100px){.site-nav__links{gap:14px}.site-nav__row{gap:24px}.site-nav__actions{gap:12px}.site-hero__grid{gap:40px}}
@media(max-width:1100px){.site-nav__links,.site-nav__login{display:none}.site-nav__actions{margin-left:auto}.site-nav__menu{display:flex}.site-nav__row{min-height:72px}.site-hero__grid{grid-template-columns:1fr;gap:48px}.site-hero h1{max-width:18ch}.document-example{max-width:720px}.site-footer__bottom{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:640px){.container{width:calc(100% - 40px)}.site-hero{padding:48px 0}.site-hero h1{font-size:44px}.site-hero__answer{font-size:22px}.site-hero__description{font-size:16px}.site-hero__links{gap:16px}.site-nav__row{gap:12px}.site-nav__actions{gap:4px}.site-nav__actions>.btn{font-size:13px;padding-inline:12px}.site-nav__brand svg{width:118px}.site-nav .theme-control{display:none}.site-evidence,.doc-section__layout{grid-template-columns:1fr;gap:20px}.site-evidence{margin-top:48px}.doc-section{padding-block:48px}.doc-row{grid-template-columns:1fr;gap:12px;padding-block:24px}.doc-steps li{grid-template-columns:28px 1fr;gap:12px}.doc-steps li p{grid-column:2}.site-footer__main{grid-template-columns:1fr 1fr;gap:32px}.site-footer__main>div{grid-column:1/-1}.site-footer nav a{min-height:44px}.site-footer__bottom{margin-top:32px}.v2-cookie{inset:auto 12px 12px;max-width:none;padding:20px}.v2-cookie__actions .btn{flex:1;padding-inline:12px}.v2-prose{font-size:16px}.doc-faq summary{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.state--attention {color:var(--rust-deep)}
.state--attention::before {background:var(--rust)}
.document-example__suggestion .statement {font-family:var(--serif);font-size:22px;color:var(--ink);margin-top:16px}
@media(max-width:640px){.site-nav .theme-control{display:grid}.site-nav__actions>.btn{display:none}}
.document-example__lesson {border-top:1px solid var(--line-2);padding-top:16px;margin-top:16px}
.document-example__lesson .meta {display:block;margin-bottom:8px}
.product-details summary {font-size:20px}
.site-hero .meta {max-width:50ch}

.customer-logos {display:flex;flex-wrap:wrap;align-items:center;gap:32px;list-style:none;padding:0;margin:32px 0}
.customer-logos li {width:140px;min-height:64px;display:flex;align-items:center;justify-content:center}
.customer-logos a {display:flex;min-height:64px;align-items:center;justify-content:center;width:100%}
.customer-logos img {max-width:140px;max-height:48px;object-fit:contain;filter:brightness(0) invert(1)}
[data-theme="light"] .customer-logos img {filter:brightness(0)}
.customer-quotes {margin-top:32px;display:grid;gap:24px}
.customer-quotes figure {padding-top:24px;border-top:1px solid var(--line-2)}
.customer-quotes blockquote {margin:0;font-size:20px;line-height:1.5}
.customer-quotes figcaption {margin-top:12px;color:var(--ink-3);font-size:13px}

/* Different compositions for proof, process and product; one visual cue per meaning. */
.site-hero h1 {font-size:clamp(44px,5.6vw,76px);max-width:13ch}
.document-example {background:var(--side);padding:24px;border:1px solid var(--line);border-radius:var(--radius-field)}
.document-example__suggestion {border-left:2px solid var(--rust);padding-left:20px}
.customer-evidence {border-block:1px solid var(--line);background:var(--side)}
.customer-evidence h2 {font-size:28px;max-width:26ch;margin-top:16px}
.customer-evidence__content {display:grid;grid-template-columns:1fr 1.4fr;column-gap:64px}
.customer-evidence__content h2 {grid-column:1}
.customer-logos {grid-column:1;align-self:start;gap:24px}
.customer-quotes {grid-column:2;grid-row:1/4;margin-top:0}
.customer-quotes figure:first-child {border:0;padding:0}
.customer-quotes figure:first-child blockquote {font-size:clamp(23px,2.3vw,32px);line-height:1.4;letter-spacing:-.02em}
.customer-quotes figure:not(:first-child) blockquote {font-size:17px}
.customer-evidence .doc-note {grid-column:1/-1;margin-top:32px}
.strategy-creation__heading {max-width:780px}.strategy-creation h2 {margin-top:16px;font-size:clamp(36px,4.2vw,56px)}
.strategy-path {display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0;margin:48px 0}
.strategy-path li {border-top:1px solid var(--line);padding-top:20px;position:relative}
.strategy-path__number {font:12px var(--mono);color:var(--green-deep);display:block;margin-bottom:24px}
.strategy-path h3 {font-size:22px;margin-bottom:16px}.strategy-path p {color:var(--ink-2)}
.strategy-path__output {display:block;margin-top:24px;font:12px var(--mono);color:var(--green-deep);padding-top:16px;border-top:1px solid var(--line-2)}
.strategy-workbench {display:grid;grid-template-columns:1fr 1.2fr;gap:64px;background:var(--side);padding:40px}
.strategy-workbench__context {align-self:center}.strategy-workbench h3 {font-size:28px;margin:20px 0}.strategy-workbench__context>p:not(.meta) {color:var(--ink-2);margin-bottom:24px}
.strategy-draft {border-top:2px solid var(--signal);padding-top:20px}.strategy-draft dl {margin:24px 0}
.strategy-draft dl>div {display:grid;grid-template-columns:120px 1fr;gap:24px;padding:16px 0;border-top:1px solid var(--line-2)}
.strategy-draft dt {font:12px/1.5 var(--mono);color:var(--ink-3)}.strategy-draft dd {margin:0;font-size:15px}
.product-overview {border-top:1px solid var(--line)}.product-overview__grid {display:grid;grid-template-columns:1fr 1fr;gap:32px 80px}
.product-overview h2 {margin-top:20px}.product-overview .lead {margin-bottom:24px}.product-overview .doc-faq {margin-top:0}
.product-overview__roles {grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid var(--line);padding-top:32px;margin-top:24px}
.product-overview__roles h3 {font-size:18px;margin-bottom:12px}.product-overview__roles p {font-size:14px;color:var(--ink-2)}.product-overview__roles>a {grid-column:1/-1;font-size:14px}
@media(max-width:980px){.customer-evidence__content{grid-template-columns:1fr;gap:24px}.customer-evidence__content h2,.customer-logos,.customer-quotes{grid-column:1;grid-row:auto}.strategy-workbench{gap:32px;padding:24px}.product-overview__grid{gap:32px}}
@media(max-width:640px){.strategy-path{grid-template-columns:1fr;gap:24px;margin-block:32px}.strategy-path__number{margin-bottom:12px}.strategy-path__output{margin-top:16px}.strategy-workbench,.product-overview__grid{grid-template-columns:1fr}.strategy-workbench{padding:24px 20px}.strategy-draft dl>div{grid-template-columns:1fr;gap:8px}.product-overview__roles{grid-template-columns:1fr 1fr;gap:24px}.customer-logos li{width:110px}.customer-logos img{max-width:110px}.document-example{padding:20px}.site-hero h1{font-size:48px}.strategy-creation h2{font-size:36px}}

.strategy-path {grid-template-columns:repeat(4,1fr);gap:32px}
.strategy-methods {display:grid;grid-template-columns:1fr 2fr;gap:48px;border-top:1px solid var(--line);padding:24px 0 40px}
.strategy-methods h3 {font-size:20px}.strategy-methods p {color:var(--ink-2)}
.pricing-summary {margin-top:32px;border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.pricing-summary h3 {font-size:20px}.pricing-summary p {font-size:15px;color:var(--ink-2)}
@media(max-width:980px){.strategy-path{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.strategy-path{grid-template-columns:1fr}.strategy-methods{grid-template-columns:1fr;gap:16px}.pricing-summary{align-items:flex-start}}

@media(max-width:640px){.strategy-path{grid-template-columns:1fr 1fr;gap:24px 20px}.strategy-path h3{font-size:18px}.strategy-path p{font-size:15px}.strategy-path__output{display:none}.strategy-creation .doc-note{font-size:14px}}

.site-hero h1>span {display:block}

.app-preview {padding:28px;background:var(--side);border:1px solid var(--line);border-radius:var(--radius-field);min-width:0}
.app-preview__caption {font:12px/1.6 var(--mono);color:var(--ink-3);margin-bottom:28px}
.app-preview__heading {display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}
.app-preview h3 {font-size:22px}.app-preview h4 {font-size:20px}.app-preview .mono {font:12px/1.6 var(--mono);color:var(--ink-3)}
.app-preview__note {font-size:14px;color:var(--ink-3);margin-bottom:20px}
.app-preview .mk {display:inline-flex;align-items:center;gap:8px;font:12px/1.5 var(--mono);white-space:normal}
.app-preview .mk::before {content:"";width:7px;height:7px;border:1px solid currentColor;flex:none}
.app-preview .mk.suggestion {color:var(--green-deep)}.app-preview .mk.attention {color:var(--rust-deep)}
.strategy-ui {margin-top:32px}.strategy-ui .polku {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;list-style:none;margin:0;padding:0}
.strategy-ui .askel {display:flex;flex-direction:column;min-height:108px}
.strategy-ui .bar {height:4px;background:var(--line-2);border-radius:2px}
.strategy-ui .past .bar {background:var(--ink-3)}.strategy-ui .now .bar {background:var(--signal)}
.strategy-ui .askel b {display:flex;gap:8px;margin-top:12px;padding-right:12px;font-size:14px;font-weight:500;line-height:1.3;color:var(--ink-3)}
.strategy-ui .askel .nro {font:12px var(--mono);padding-top:2px}
.strategy-ui .askel.now b {color:var(--ink)}.strategy-ui .askel small {font:12px/1.4 var(--mono);color:var(--ink-3);margin-top:auto;padding-top:12px}
.strategy-ui .askel.now small {color:var(--green-deep)}
.strategy-ui .tyo-ehdotus {display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.strategy-ui .tyo-ehdotus p {font-size:14px;color:var(--ink-2)}
.session-preview {display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--line);padding-top:28px;margin-top:28px}
.session-preview h4 {margin:12px 0}.session-preview p:not(.mono):not(.state) {font-size:15px;color:var(--ink-2)}.session-preview .btn {margin-top:20px}
.session-record {border-left:1px solid var(--line);padding-left:32px}.session-record dl {margin:12px 0 20px}.session-record dl>div {margin-top:16px}
.session-record dt {font:12px var(--mono);color:var(--ink-3);margin-bottom:8px}.session-record dd {margin:0;font-size:15px}
.product-overview__ui {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;margin-top:16px}
.goal-ui .goal {display:grid;grid-template-columns:1fr auto;gap:24px}.goal-ui .who .met {color:var(--ink-3);font-size:14px;margin-top:8px}
.goal-ui .fig {display:flex;flex-direction:column;align-items:flex-end;gap:4px}.goal-ui .fig strong {font-size:32px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.2}.goal-ui .fig span,.goal-ui .fig small {font-size:13px;color:var(--ink-3);font-weight:400}
.goal-ui .own {grid-column:1/-1;display:flex;align-items:center;gap:12px;font-size:14px}.goal-ui .av {display:grid;place-items:center;width:32px;height:32px;background:var(--wash);font:12px var(--mono);border-radius:50%}
.goal-ui .goal-kerros {grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px}.goal-ui dl {margin:0 0 20px}.goal-ui .gk-ln {display:grid;grid-template-columns:100px 1fr;gap:16px;padding-block:10px}
.goal-ui dt {font:12px var(--mono);color:var(--ink-3)}.goal-ui dd {margin:0;font-size:14px}.goal-ui dd p {margin-top:8px}.goal-ui .assumption-row {border-top:1px solid var(--line-2);margin-top:8px;padding-top:20px}
.execution-ui .exm-ledger-record>summary {display:grid;grid-template-columns:1fr 120px 90px;gap:16px;cursor:pointer;list-style:none;border-block:1px solid var(--line);padding:20px 0}
.execution-ui summary::-webkit-details-marker {display:none}.execution-ui .exm-ledger-item {display:flex;flex-direction:column;gap:8px}.execution-ui .exm-ledger-title {font-size:16px;font-weight:500}
.execution-ui .exm-ledger-owner {font-size:14px;color:var(--ink-2)}.execution-ui .exm-ledger-measure {display:flex;flex-direction:column;gap:8px;text-align:right}
.execution-ui .exm-ledger-measure strong {font-weight:500;font-size:20px;font-variant-numeric:tabular-nums}.execution-ui .exm-ledger-measure small {font:12px/1.6 var(--mono);color:var(--ink-3)}
.execution-ui .exm-ledger-path {grid-column:1/-1;font-size:13px;color:var(--ink-3)}.execution-ui .exm-ledger-peek {padding-top:24px}
.execution-ui .exm-ledger-value-entry {display:flex;align-items:center;gap:24px}.execution-ui .exm-ledger-field {display:grid;gap:8px;font-size:13px;min-width:0}
.execution-ui .exm-ledger-field input,.execution-ui .exm-ledger-field textarea,.execution-ui .exm-ledger-field select {width:100%;background:var(--sunken);font-size:15px}
.execution-ui .exm-ledger-value-entry input {max-width:160px;font-variant-numeric:tabular-nums}.execution-ui .exm-ledger-more {margin-top:20px;border-top:1px solid var(--line-2)}
.execution-ui .exm-ledger-more>summary {min-height:48px;padding:12px 0;cursor:pointer;font-size:14px}.execution-ui .exm-ledger-fields {display:grid;gap:16px;padding-bottom:20px}
.execution-ui .exm-ledger-field-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px}.execution-ui .exm-ledger-footer {display:flex;gap:20px;align-items:center;margin-top:20px}.execution-ui .exm-ledger-footer .mono {margin-right:auto}
.demo-link {border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px 0;font-size:14px}
.execution-ui .exm-ledger-receipt {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid var(--line);color:var(--green-deep);font-size:15px}
@media(max-width:980px){.product-overview__ui{grid-template-columns:1fr}.execution-ui .exm-ledger-record>summary{grid-template-columns:1fr 140px 100px}}
@media(max-width:640px){.app-preview{padding:20px}.app-preview__heading{gap:12px}.app-preview__heading h3{font-size:20px}.strategy-ui .polku{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.strategy-ui .askel{min-height:88px}.strategy-ui .tyo-ehdotus{grid-template-columns:1fr;gap:12px}.strategy-ui .tyo-ehdotus .btn{justify-self:start}.session-preview{grid-template-columns:1fr;gap:24px}.session-record{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.goal-ui .goal{grid-template-columns:1fr}.goal-ui .fig{align-items:flex-start}.goal-ui .own{grid-column:1}.goal-ui .gk-ln{grid-template-columns:80px 1fr;gap:12px}.execution-ui .exm-ledger-record>summary{grid-template-columns:1fr auto}.execution-ui .exm-ledger-item{grid-column:1/-1}.execution-ui .exm-ledger-owner{align-self:center}.execution-ui .exm-ledger-field-grid{grid-template-columns:1fr}.execution-ui .exm-ledger-footer{gap:16px}.execution-ui .exm-ledger-footer .mono{font-size:12px}.execution-ui .exm-ledger-receipt{flex-wrap:wrap}}

.app-preview .mk::before {border-radius:50%}
.app-preview .mk.test {color:var(--rust-deep)}

/* A quieter page, with one product moment in focus. */
.kinetic-hero {padding:64px 0 40px;overflow:hidden}
.kinetic-hero h1 {font-size:clamp(58px,8.1vw,116px);max-width:none;letter-spacing:-.055em;line-height:1.02;margin:28px 0 40px}
.kinetic-hero h1 .hero-provocation {text-decoration:underline;text-decoration-color:var(--rust);text-decoration-thickness:2px;text-underline-offset:14px}
.kinetic-hero__bottom {display:grid;grid-template-columns:1fr auto;gap:64px;align-items:center}
.kinetic-hero .site-hero__answer {font-size:24px;max-width:none;line-height:1.35;margin:0}
.kinetic-hero .site-hero__description {font-size:16px;max-width:48ch;margin-top:16px}
.kinetic-hero .site-hero__links {flex-direction:column;align-items:flex-start;gap:12px;margin:0}
.hero-arrow {display:inline-block;width:24px;height:1px;background:currentColor;position:relative;margin-left:8px;transition:transform .2s var(--ease)}
.hero-arrow::after {content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}
.kinetic-hero .site-hero__links a:hover .hero-arrow {transform:translateX(5px)}
.hero-flow {display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px;border-top:1px solid var(--line);padding-top:20px}
.hero-flow>span {display:flex;gap:12px;align-items:center;font:12px var(--mono);color:var(--ink-3)}
.hero-flow i {display:block;width:8px;height:8px;border:1px solid var(--signal);border-radius:50%}
.hero-flow>span:first-child i {background:var(--signal)}
.proof-strip {padding-block:40px!important}.proof-strip .customer-logos {gap:24px;justify-content:space-between;margin:24px 0 32px;grid-column:auto}
.proof-strip .customer-logos li {width:110px;min-height:48px}.proof-strip .customer-logos img {max-width:110px;max-height:40px}
.proof-voice {max-width:840px;margin:0}.proof-voice blockquote {margin:0;font-size:clamp(22px,2.5vw,34px);line-height:1.35;letter-spacing:-.02em}
.proof-voice figcaption {font-size:13px;color:var(--ink-3);margin-top:16px}.proof-strip .doc-note {font-size:13px;margin-top:24px}
.product-story {padding-block:72px!important}.product-story__heading h2 {font-size:clamp(40px,5vw,72px);margin:16px 0 20px;letter-spacing:-.04em}
.product-story__heading>p:not(.meta) {font-size:19px;color:var(--ink-2)}
.story-controls {display:flex;align-items:stretch;gap:32px;margin-top:40px}
.story-tabs {display:grid;grid-template-columns:repeat(3,1fr);gap:24px;flex:1}
.story-tabs button {border:0;border-radius:0;background:transparent;padding:16px 0 20px;text-align:left;display:flex;align-items:center;gap:16px;position:relative;border-top:1px solid var(--line);font-size:18px;color:var(--ink-3);min-height:64px}
.story-tabs button[aria-selected="true"] {color:var(--ink)}.story-tabs .mono {color:var(--ink-3);font:12px var(--mono)}
.story-tabs button[aria-selected="true"] .mono {color:var(--green-deep)}
.story-progress {position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--signal);transform:scaleX(var(--story-progress,0));transform-origin:left;transition:transform .1s linear}
.story-play {border:0;background:transparent;font:12px var(--mono);text-decoration:underline;text-underline-offset:4px;min-width:64px;min-height:44px}
.story-stage {margin-top:24px;min-height:650px}
.story-stage [role="tabpanel"]:not([hidden]) {animation:story-arrive .45s var(--ease) both}
.story-chapter {display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:24px}
.story-chapter h3 {font-size:28px;letter-spacing:-.03em}.story-chapter p {color:var(--ink-2);font-size:16px}
.product-story .strategy-ui {margin-top:0}.product-story .app-preview {border-radius:0;border:0;border-top:1px solid var(--line);padding:28px}
.product-story .strategy-ui .session-preview {margin-top:20px;padding-top:20px}.product-story .strategy-ui .tyo-ehdotus {margin-top:16px;padding-top:16px}
.story-work {display:grid;grid-template-columns:1.4fr 1fr;gap:48px}
.story-work__context {padding-top:28px}.story-work__context h4 {font-size:28px;margin:16px 0}.story-work__context>p:not(.meta) {font-size:17px;color:var(--ink-2)}
.story-goal {margin-top:28px;border-top:1px solid var(--line)}.story-goal>summary {padding-block:16px;min-height:48px;font-size:15px;cursor:pointer}
.story-goal .goal-ui {margin-top:8px;padding:20px!important}
.story-review {display:grid;grid-template-columns:.9fr 1.1fr;gap:64px}.story-review .story-chapter {display:block;padding-top:32px}.story-review h3 {font-size:42px;line-height:1.15;margin-bottom:24px}
.story-review .story-condition {border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:14px;color:var(--ink-3)}
.story-review .document-example {border-radius:0}.story-review .document-example__head h2 {font-size:20px}
.story-end {display:flex;gap:32px;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:24px;font-size:14px}.story-end a {min-height:44px;display:inline-flex;align-items:center}
.faq-more {border-top:1px solid var(--line);margin-top:16px}.faq-more>summary {padding:20px 0;min-height:64px;cursor:pointer;font-size:16px}
.motion-ready [data-reveal] {opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.motion-ready [data-reveal].has-entered {opacity:1;transform:none}
.kinetic-hero h1.has-entered>span {animation:hero-arrive .7s var(--ease) both}
.kinetic-hero h1.has-entered>span:nth-child(2) {animation-delay:.12s}
@keyframes hero-arrive {from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes story-arrive {from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:980px){.kinetic-hero__bottom{gap:32px}.story-stage{min-height:720px}.story-review{gap:32px}.story-work{grid-template-columns:1fr}.story-work__context{padding-top:0}.story-controls{gap:16px}.story-tabs{gap:16px}.story-tabs button{font-size:15px;gap:12px}}
@media(max-width:640px){.kinetic-hero{padding:40px 0 28px}.kinetic-hero h1{font-size:clamp(48px,12.5vw,64px);line-height:1.06;margin:24px 0 32px;letter-spacing:-.04em}.kinetic-hero h1 .hero-provocation{text-underline-offset:8px}.kinetic-hero__bottom{grid-template-columns:1fr;gap:24px}.kinetic-hero .site-hero__answer{font-size:22px}.kinetic-hero .site-hero__links{flex-direction:row;align-items:center;gap:16px}.kinetic-hero .site-hero__links>a:not(.btn){font-size:13px}.hero-flow{gap:16px;margin-top:32px}.hero-flow>span{font-size:12px;line-height:1.5;align-items:flex-start}.hero-flow i{margin-top:5px;flex:none}.proof-strip .customer-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 12px}.proof-strip .customer-logos li{width:auto;min-width:0}.proof-strip .customer-logos img{max-width:100%;max-height:32px}.proof-voice blockquote{font-size:23px}.product-story{padding-block:48px!important}.story-controls{gap:12px;margin-top:28px;align-items:flex-start}.story-tabs{gap:12px}.story-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:14px;padding-top:12px;line-height:1.35;min-height:90px}.story-play{min-width:44px;padding-inline:0}.story-chapter{grid-template-columns:1fr;gap:12px;margin-bottom:20px}.story-chapter h3{font-size:25px}.story-stage{min-height:0}.product-story .app-preview{padding:20px}.story-review{grid-template-columns:1fr;gap:24px}.story-review .story-chapter{padding-top:0}.story-review h3{font-size:34px}.story-end{flex-direction:column;gap:8px;margin-top:20px}.story-review .document-example{padding:20px}.product-story__heading>p:not(.meta){font-size:17px}}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal]{opacity:1;transform:none}.story-stage [role="tabpanel"],.kinetic-hero h1>span{animation:none!important}.story-progress{transition:none}}

.story-label {font:12px var(--mono);color:var(--ink-3);margin-top:32px}
.story-label+.story-controls {margin-top:16px}

/* Shared visually hidden text; retained for directory, table and reader labels. */
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Desktop sections: budget the space below the sticky navigation; never clip content. */
@media(min-width:1024px){
 :root{--section-space:clamp(28px,4.5vh,56px);--section-gap:clamp(40px,4vw,64px);--section-heading:clamp(32px,4.5vh,44px)}
 main section[id],main article[id]{scroll-margin-top:0}
 .doc-section{padding-block:var(--section-space)}.doc-section__layout{gap:24px}.doc-section__content>p{margin-top:16px}.doc-row{padding-block:16px}.doc-steps li{padding-block:16px}
}

/* Keep the privacy control clear of left-aligned chapter actions on desktop. */
@media(min-width:1024px){.v2-cookie-fab{left:auto;right:16px}}

@media(min-width:1024px){.site-footer__main{grid-template-columns:minmax(0,2fr) repeat(var(--footer-columns,2),minmax(0,1fr))}}

/* One text-link treatment: underline the label, never a decorative arrow. */
a.text-link{text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px}
a.text-link:is(:hover,:focus-visible){text-decoration:none}
a.text-link:is(:hover,:focus-visible)>.text-link__label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
a.text-link>i,a.text-link>[aria-hidden="true"]{flex:none}
.btn:is(:hover,:focus-visible){text-decoration:none}
.site-nav__links a:is(:hover,:focus-visible),.site-nav__login:is(:hover,:focus-visible),.site-nav__mobile a:is(:hover,:focus-visible),.site-footer nav a:is(:hover,:focus-visible),.subpage-links a:is(:hover,:focus-visible){color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
button:not(.btn):not(:disabled):hover{border-color:var(--ink-3)}
button[aria-pressed]:not(.btn):not(:disabled):hover{color:var(--ink)}

/* Placeholder instructions must remain readable in both colour themes. */
input::placeholder,textarea::placeholder{color:var(--ink-3);opacity:1}
