*,*::before,*::after{box-sizing:border-box}
:root{--accent:#4F46E5;--on-accent:#ffffff;--ink:#0f172a;--muted:#475569;--line:#e2e8f0;--bg:#ffffff;--soft:#f8fafc;--width:960px;--radius:8px;--gap:0px;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--ink:#f1f5f9;--muted:#cbd5e1;--line:#334155;--bg:#0f172a;--soft:#1e293b}a{color:inherit}}
body{margin:0;font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
h1,h2,h3{font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;line-height:1.2}
a{color:var(--accent)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--bg);padding:8px}
.in{max-width:var(--width);margin:0 auto;padding:0 16px}.in-narrow{max-width:720px}.in-full{max-width:none;padding:0}
.site-header{border-bottom:1px solid var(--line)}
.site-header .in{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px}
.site-header .name{font-weight:700;font-size:1.15rem;color:inherit;text-decoration:none;font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}
nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0}
nav a{color:inherit;text-decoration:none}nav a[aria-current=page]{font-weight:600;text-decoration:underline;text-underline-offset:4px}
nav ul{align-items:center}nav a.client-login{padding:6px 14px;font-size:.95rem;color:var(--on-accent)}

main{padding:16px 0}
.blk{padding:var(--gap) 0}
.band{padding:48px 0}.sp-tight{padding:8px 0}.sp-normal{padding:24px 0}.sp-roomy{padding:80px 0}
.band-soft{background:var(--soft)}
.band-accent{background:var(--accent);color:var(--on-accent)}.band-accent a{color:inherit}.band-accent .button{background:var(--on-accent);color:var(--accent);border-color:var(--on-accent)}
.band-dark{background:#0f172a;color:#f1f5f9}.band-dark a{color:inherit}
.band-image{background-color:#0f172a;background-size:cover;background-position:center;color:#ffffff}.band-image a{color:inherit}

.center{text-align:center}.center .buttons,.center .columns{justify-content:center}.center .contact{justify-content:center}
.hero{padding:48px 0 24px}.hero h1{font-size:clamp(1.8rem,5vw,2.8rem);margin:0 0 12px}
.hero-small .hero{padding:16px 0 8px}.hero-large .hero{min-height:60vh;display:flex;flex-direction:column;justify-content:center;padding:64px 0}.hero-large .hero h1{font-size:clamp(2.2rem,7vw,4rem)}
.button{display:inline-block;padding:10px 18px;border-radius:var(--radius);background:var(--accent);color:var(--on-accent);text-decoration:none;font-weight:600;border:2px solid var(--accent)}
.button.secondary{background:transparent;color:inherit;border:2px solid var(--line)}
.button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
img{max-width:100%;height:auto;border-radius:var(--radius)}figure{margin:24px 0}
.img-small img{max-width:320px}.img-medium img{max-width:640px}.img-full img{width:100%}.center figure img{margin:0 auto;display:block}
.columns{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.columns.boxed>div{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--soft)}
.band .columns.boxed>div{color:var(--ink)}
.band-soft .columns.boxed>div,.band-soft .cards li{background:var(--bg)}
.split{display:grid;gap:32px;align-items:center;grid-template-columns:1fr 1fr}.split figure{margin:0}.split-right figure{order:2}
@media (max-width:720px){.split{grid-template-columns:1fr}.split-right figure{order:0}}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}.space{height:48px}
.cards{list-style:none;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.cards li{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--soft);color:var(--ink)}.cards h3{margin:0 0 8px}.cards p{margin:4px 0}.cards span{color:var(--muted)}
table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}th,td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--line)}
.contact{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px}.contact dt{opacity:.8}.contact dd{margin:0}
.empty{color:var(--muted)}
.form label{display:block;font-weight:600;margin-bottom:4px}.form .optional{font-weight:400;opacity:.8}
.form input,.form textarea,.form select{width:100%;max-width:520px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);font:inherit;background:var(--bg);color:var(--ink)}
.form .consent label{display:inline;font-weight:400}.form .consent input{width:auto}
.form fieldset{border:0;padding:0;margin:0}.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
button.button{cursor:pointer;font:inherit}
.placeholder{border:1px dashed var(--line);border-radius:var(--radius);padding:48px 16px;text-align:center;color:var(--muted)}
.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;margin-top:48px}.site-footer .in{padding-top:16px;padding-bottom:16px}
.site-footer a{color:inherit}
