:root{--ink:#0E2238;--bg:#F3F6FA;--accent:#6FA0F2;--band:#C7DAF2;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--sans);-webkit-text-size-adjust:100%}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.w{max-width:940px;margin:0 auto;padding:0 22px}
.home{--band:#C7DAF2}.about{--band:#D5E0EE}.skills{--band:#BCD0EA}.projects{--band:#CADAEE}.contact{--band:#D0DCEB}
header{background:#fff;border-bottom:3px solid var(--ink)}
header .w{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding-top:12px;padding-bottom:12px}
.logo{font-weight:900;font-size:22px;text-decoration:none;letter-spacing:-.02em}
nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-weight:600;font-size:15px}
nav a{text-decoration:none;padding:4px 0;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--accent)}
.lang button{font:700 13px var(--sans);background:#fff;color:var(--ink);border:2px solid var(--ink);padding:4px 10px;cursor:pointer}
.lang button+button{margin-left:-2px}
.lang button[aria-pressed="true"]{background:var(--ink);color:#fff}
.band{background:var(--band);border-bottom:3px solid var(--ink);padding:64px 0 48px}
h1{font-weight:900;font-size:clamp(42px,9vw,88px);line-height:1;letter-spacing:-.035em;margin:0 0 16px}
.band p{font-size:clamp(19px,2.6vw,25px);line-height:1.35;max-width:32ch;margin:0;font-weight:500}
main .w{padding-top:44px;padding-bottom:64px}
h2{font-weight:800;font-size:28px;line-height:1.15;letter-spacing:-.02em;margin:0 0 14px}
p{margin:0 0 14px;max-width:62ch}
.box{background:#fff;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:22px;margin:0 0 30px}
.box h2{font-size:24px}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.btn{display:inline-block;font-weight:800;text-decoration:none;padding:11px 18px;border:3px solid var(--ink);background:var(--accent);box-shadow:4px 4px 0 var(--ink)}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn.o{background:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.grid .box{margin:0}
dl{margin:0}dl div{display:grid;grid-template-columns:200px 1fr;gap:4px 24px;padding:16px 0;border-top:3px solid var(--ink)}
dl div:last-child{border-bottom:3px solid var(--ink)}dt{font-weight:800}dd{margin:0}
@media(max-width:640px){dl div{grid-template-columns:1fr}}
.flow{list-style:none;margin:16px 0 0;padding:0;counter-reset:s}
.flow li{counter-increment:s;padding:10px 0 10px 46px;position:relative}
.flow li::before{content:counter(s);position:absolute;left:0;top:8px;width:32px;height:32px;border:3px solid var(--ink);background:var(--accent);font-weight:800;text-align:center;line-height:26px}
.flow b{display:block}
.tag{display:inline-block;font-weight:800;font-size:14px;border:2px solid var(--ink);padding:1px 8px;background:var(--accent);margin-left:8px;vertical-align:middle}
ul.p{padding-left:20px}ul.p li{margin-bottom:8px;max-width:60ch}
footer{border-top:3px solid var(--ink);background:#fff;padding:22px 0;font-size:14px}