:root{color-scheme:light;--text:#2b2d42;--muted:#5c6178;--accent:#5b54e6;--accent-2:#3b82f6;--bg:#f3f4fb;--card:#fff;--chip:#f4f5fa;--line:#e4e7f2;--shadow:0 18px 40px #2b2d4214;--sans:ui-sans-serif, system-ui, "Segoe UI", sans-serif;--mono:ui-monospace, "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--radius:24px}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--text:#eceef8;--muted:#b4b8cc;--accent:#aea8ff;--accent-2:#8eb8ff;--bg:#12141c;--card:#1b1e2a;--chip:#262a3a;--line:#32374c;--shadow:0 18px 40px #00000059}}*{box-sizing:border-box}body{min-height:100vh;font-family:var(--sans);color:var(--text);background:radial-gradient(ellipse at 0% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 42%), radial-gradient(ellipse at 100% 80%, color-mix(in srgb, var(--accent-2) 14%, transparent), transparent 38%), var(--bg);margin:0;padding:2.5rem 1.25rem 4rem;font-size:1.0625rem;line-height:1.6}h1,h2,h3,p{margin:0}a{color:inherit}.skip{background:var(--card);color:var(--text);z-index:2;border-radius:0 0 12px 12px;padding:.5rem .9rem;position:absolute;top:0;left:1rem;transform:translateY(-120%)}.skip:focus{transform:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.page{width:min(1120px,100%);margin-inline:auto;container:page/inline-size}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem;position:relative}.card+.card,.column .card+.card{margin-top:1.5rem}.masthead{margin-bottom:1.5rem;padding:2rem;overflow:hidden}.masthead:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));height:7px;position:absolute;inset:0 0 auto}.profile{grid-template-columns:auto 1fr;align-items:center;gap:2rem;display:grid}.portrait{object-fit:cover;width:168px;height:168px;box-shadow:var(--shadow);border-radius:20px;transition:transform .3s;transform:rotate(-4deg)}.profile:hover .portrait{transform:rotate(0)}h1{letter-spacing:-.03em;background:linear-gradient(100deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.2rem,5cqi,3.2rem);line-height:1.05}.role{color:var(--accent);margin-top:.4rem;font-size:1.15rem;font-weight:650}.summary{max-width:62ch;color:var(--muted);text-wrap:pretty;margin-top:.9rem}.contacts{flex-wrap:wrap;gap:.7rem;margin-top:1.25rem;font-style:normal;display:flex}.contact{background:var(--chip);border-radius:999px;align-items:center;gap:.45rem;min-height:2.5rem;padding:.35rem .85rem;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}a.contact:hover{background:linear-gradient(100deg, var(--accent), var(--accent-2));color:#fff;transform:translateY(-2px)}.icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.05rem;height:1.05rem}.columns{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:start;gap:1.5rem;display:grid}h2{border-bottom:2px solid var(--line);letter-spacing:-.02em;background-image:linear-gradient(90deg, var(--accent), var(--accent-2));background-position:0 100%;background-repeat:no-repeat;background-size:3rem 2px;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:1.35rem}h3{letter-spacing:-.01em;font-size:1.05rem}.timeline{margin:0;padding:0 0 0 1.6rem;list-style:none;position:relative}.timeline:before{content:"";background:var(--line);width:2px;position:absolute;top:.45rem;bottom:.45rem;left:0}.timeline-item{padding:0 0 1.6rem 1.15rem;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 3px var(--card);border-radius:50%;position:absolute;top:.45rem;left:-1.6rem;transform:translate(-4px)}.timeline-date{font-family:var(--mono);color:var(--accent);margin-bottom:.2rem;font-size:.82rem}.organization{color:var(--muted);margin-top:.15rem}.highlights{margin:.7rem 0 0;padding-left:1.1rem}.highlights li+li{margin-top:.3rem}.skill-groups{gap:1.4rem;display:grid}.skill-group h3{color:var(--accent);margin-bottom:.75rem}.skill-list,.languages{margin:0;padding:0;list-style:none}.skill{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.35rem 1rem;padding:.55rem 0;display:grid}.skill-level,.language-level{font-family:var(--mono);color:var(--accent);white-space:nowrap;font-size:.75rem}.languages{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.languages li{background:var(--chip);text-align:center;border-radius:16px;padding:.9rem .5rem}.language-name{display:block}.language-level{margin-top:.35rem;display:inline-block}@container page (width<=860px){.columns,.profile{grid-template-columns:1fr}.profile{text-align:center;justify-items:center}.summary{margin-inline:auto}.contacts{justify-content:center}.skill-groups{grid-template-columns:1fr 1fr}}@container page (width<=560px){.skill-groups,.languages,.skill{grid-template-columns:1fr}.masthead,.card{padding:1.25rem}}@media (width<=600px){body{padding:1rem .75rem 2.5rem}}@media (prefers-reduced-motion:reduce){.portrait,a.contact{transition:none;transform:none}}@media print{:root{color-scheme:light;--text:#1a1c2b;--muted:#333;--accent:#3a34b0;--accent-2:#1d4ed8;--bg:#fff;--card:#fff;--chip:#f6f6f6;--line:#ccc;--shadow:none}@page{margin:1.4cm}body{background:#fff;padding:0;font-size:11pt}.skip,.masthead:before{display:none}.page{width:auto}.card,.masthead{box-shadow:none;border-color:#ddd}.columns,.profile,.skill-groups{display:block}.portrait{width:2.6cm;height:2.6cm;transform:none}.card,.timeline-item,.skill-group{break-inside:avoid}a{text-decoration:none}}
