:root{color-scheme:dark;--bg:#111;--surface:#191919;--raised:#202020;--border:#303030;--text:#f4f4f2;--muted:#9b9b98;--accent:#b6f04a;--accent-soft:#d9ff91;--header-accent:#b6f04a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Arial,Helvetica,sans-serif}
.page{position:relative;isolation:isolate;width:min(var(--louhos-width-site,1180px),calc(100% - var(--louhos-gutter,40px)));margin:auto;padding:28px 0 46px}
.page::before{content:"";position:absolute;z-index:-1;top:150px;left:0;width:70%;height:240px;background:radial-gradient(ellipse at 25% 40%,#b6f04a16,transparent 70%);pointer-events:none}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.hero{padding:74px 0 38px}.hero-copy{max-width:800px;padding:6px 10px 12px 0}
.status{margin:0;color:var(--accent);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
h1{margin:14px 0 18px;font-size:clamp(2.7rem,7vw,5.7rem);font-weight:600;line-height:.98}
.lead{max-width:620px;margin:0;color:var(--muted);font-size:1.08rem;line-height:1.6}
.local{margin:18px 0 0;color:var(--muted);font-size:.78rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--accent);border-radius:5px;padding:0 16px;background:var(--accent);color:var(--bg);font:inherit;text-decoration:none;cursor:pointer}.btn:hover,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.block{margin-top:18px;border:1px solid var(--border);border-radius:7px;background:var(--surface);padding:24px}.block h2{margin:0;font-size:1.45rem;font-weight:600}
.workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:24px}.workflow-step{border-top:2px solid var(--accent);padding:14px 4px 0}.workflow-step strong{display:block;color:var(--accent);font-size:1.35rem;font-weight:600}.workflow-step h3{margin:8px 0 0;font-size:1rem;font-weight:600}.workflow-step p{margin:5px 0 0;color:var(--muted);font-size:.85rem}
.output{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:40px}.output-copy>p{max-width:480px;color:var(--muted)}
.mapping{margin:0;min-width:0}.mapping svg{display:block;width:100%;height:auto;overflow:visible}
.source{fill:var(--surface);stroke:var(--border)}.divider{stroke:var(--border)}.crop{fill:#b6f04a18;stroke:var(--accent)}.arrow{stroke:var(--muted)}.canvas{fill:var(--bg);stroke:var(--border)}.placed{fill:#b6f04a18;stroke:var(--accent)}
.diagram-label{fill:var(--muted)}.selected-label{fill:var(--accent)}
.mapping figcaption{text-align:center;color:var(--muted);font-size:.78rem;margin-top:4px}
[data-language="en"]{display:none}html[data-locale="en"] [data-language="fi"]{display:none}html[data-locale="en"] [data-language="en"]{display:inline}
@media(max-width:760px){.page{width:calc(100% - var(--louhos-gutter-mobile,32px));padding-top:18px}.hero{padding:54px 0 24px}h1{font-size:clamp(2.55rem,13vw,4.3rem)}.workflow{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.output{grid-template-columns:1fr;gap:12px}.mapping{width:100%;max-width:440px;justify-self:center}}
@media(max-width:420px){.workflow{grid-template-columns:1fr}.block{padding:20px}}
