@font-face { font-family:'LEMON MILK'; src:url('/assets/fonts/LEMONMILK-Regular.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Century Gothic'; src:url('/assets/fonts/Century-Gothic.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
:root { color-scheme:light; --ink:#151515; --muted:#5b5b5b; --line:#dededb; --paper:#fafaf8; --surface:#fff; --inverse-muted:#d5d5d5; }
:root[data-theme="dark"] { color-scheme:dark; --ink:#f2f2f0; --muted:#b8b8b5; --line:#3b3b3b; --paper:#111; --surface:#1b1b1b; --inverse-muted:#454545; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 'Century Gothic',sans-serif; }
h1,h2,h3,.brand,.eyebrow { font-family:'LEMON MILK',sans-serif; }
a { color:inherit; text-underline-offset:4px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid #555; outline-offset:5px; }
.wrap { width:min(1120px,calc(100% - 48px)); margin:auto; }
.skip { position:absolute; top:-100px; left:20px; padding:12px; background:var(--surface); z-index:10; }
.skip:focus { top:10px; }
header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:27px 0; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; font-weight:400; letter-spacing:-.6px; text-decoration:none; }
.mark { display:grid; place-items:center; width:36px; height:36px; background:var(--ink); color:var(--paper); font-size:23px; }
nav { display:flex; align-items:center; gap:24px; flex-wrap:wrap; font-size:14px; }
nav a { text-decoration:none; }
.header-controls { display:flex; gap:6px; padding-left:14px; border-left:1px solid var(--line); }
.language-toggle,.theme-toggle { width:36px; height:36px; display:inline-flex; justify-content:center; align-items:center; font:inherit; color:var(--ink); background:transparent; border:1px solid transparent; border-radius:6px; padding:0; cursor:pointer; }
.language-toggle { font-weight:700; }
.language-toggle:hover,.theme-toggle:hover { border-color:var(--line); background:var(--surface); text-decoration:none; }
.theme-toggle[hidden] { display:none; }
.theme-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.icon-sun { display:none; }
:root[data-theme="dark"] .icon-sun { display:block; }
:root[data-theme="dark"] .icon-moon { display:none; }
.theme-toggle:focus-visible { outline:3px solid var(--muted); outline-offset:4px; }
.hero { padding:95px 0 85px; }
.eyebrow { text-transform:uppercase; font-size:11px; font-weight:400; letter-spacing:2px; margin:0 0 24px; }
h1 { max-width:980px; font-size:clamp(30px,6vw,64px); line-height:1.2; letter-spacing:-1.5px; margin:0 0 28px; font-weight:400; }
.lead { max-width:660px; font-size:19px; line-height:1.7; color:var(--muted); }
.actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:32px; }
.button { padding:13px 22px; border:1px solid var(--ink); background:var(--ink); color:var(--paper); text-decoration:none; font-size:14px; }
.button.secondary { background:transparent; color:var(--ink); }
.section { padding:56px 0; border-top:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-bottom:32px; }
h2 { font-weight:400; font-size:28px; line-height:1.3; letter-spacing:-.5px; margin:0 0 18px; }
.section-heading p { margin:0; color:var(--muted); }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.card { padding:24px; background:var(--surface); border:1px solid var(--line); display:flex; flex-direction:column; }
.card-head { display:flex; gap:14px; align-items:center; }
.card-head > div { min-width:0; }
.card img { object-fit:contain; width:38px; height:38px; flex-shrink:0; }
h3 { margin:0; font-size:16px; font-weight:400; letter-spacing:-.3px; overflow-wrap:anywhere; }
.card p { color:var(--muted); font-size:14px; flex:1; margin:16px 0 22px; }
.card a { font-size:13px; font-weight:600; }
.status { display:block; font-size:11px; color:var(--muted); margin-top:4px; }
.training { background:var(--ink); color:var(--paper); padding:42px; display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.training p { color:var(--inverse-muted); margin:0 0 22px; }
.training .eyebrow { color:var(--inverse-muted); }
.training a { color:var(--paper); }
.contact { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; }
.contact p { color:var(--muted); margin:0; }
footer { padding:28px 0 36px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.footer-top { display:flex; gap:24px; justify-content:space-between; flex-wrap:wrap; }
footer nav { font-size:12px; gap:18px; }
.legal { max-width:780px; padding:64px 0 72px; }
.legal h1 { font-size:clamp(25px,5vw,48px); letter-spacing:-1px; overflow-wrap:anywhere; }
.legal h2 { font-size:23px; margin-top:36px; }
.legal p { color:var(--muted); }
.updated { font-size:13px; color:var(--muted); }
.legal-links { padding:22px; border:1px solid var(--line); margin-top:38px; }
@media(max-width:760px) {
 .wrap { width:calc(100% - 32px); }
 header { gap:16px; flex-wrap:wrap; padding:20px 0; }
 header nav { width:100%; gap:12px; font-size:13px; }
 .header-controls { margin-left:auto; padding-left:6px; }
 .hero { padding:58px 0; }
 h1 { letter-spacing:-.6px; }
 .lead { font-size:17px; }
 .section { padding:38px 0; }
 .section-heading,.training { grid-template-columns:1fr; gap:20px; }
 .grid { grid-template-columns:repeat(2,1fr); }
 .training { padding:28px; }
}
@media(max-width:460px) { .grid { grid-template-columns:1fr; } .card { padding:22px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
