@charset "UTF-8";*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.absolute{position:absolute}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.contents{display:contents}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.p-5{padding:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[11px\]{font-size:11px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}html,body{height:100%}:root{scroll-behavior:smooth}:root{color-scheme:light;--night: #0a0f1f;--night-2: #0f1730;--night-line: #232d4a;--on-night: #e8ecf8;--on-night-muted: #a3aeca;--paper: #f6f7fb;--surface: #ffffff;--surface-2: #edeff7;--ink: #0e1424;--muted: #566077;--line: #dce0ec;--link: #0a6a84;--cyan: #1cb5d8;--violet: #7c6cf2;--pink: #e5487f;--rule: linear-gradient(90deg, var(--cyan), var(--violet) 55%, var(--pink));--dev-fg: #0a6a84;--dev-bg: #e4f5fa;--dev-bd: #9ed8e8;--biz-fg: #5240d0;--biz-bg: #eeebfd;--biz-bd: #c7bef7;--sec-fg: #ad1450;--sec-bg: #fdebf2;--sec-bd: #f3abc6;--focus: #6a58e6;--r-s: 5px;--r-m: 10px;--r-l: 14px;--font-body: "IBM Plex Sans", "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Archivo Variable", "IBM Plex Sans", "IBM Plex Sans Arabic", system-ui, sans-serif;--font-code: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--wrap: 1120px;--gutter: clamp(16px, 4vw, 32px)}:root[data-theme=dark]{color-scheme:dark;--paper: #0a0f1f;--surface: #111a30;--surface-2: #18223c;--ink: #e8ecf8;--muted: #a0abc6;--line: #243052;--link: #74d8ef;--focus: #9b8dff}:root[data-theme=dark],.on-night{--dev-fg: #74d8ef;--dev-bg: rgba(28, 181, 216, .12);--dev-bd: rgba(28, 181, 216, .4);--biz-fg: #b7adff;--biz-bg: rgba(124, 108, 242, .16);--biz-bd: rgba(124, 108, 242, .5);--sec-fg: #ff94b9;--sec-bg: rgba(229, 72, 127, .14);--sec-bd: rgba(229, 72, 127, .5)}:root[dir=rtl]{--font-body: "IBM Plex Sans Arabic", "IBM Plex Sans", system-ui, sans-serif;--font-display: "IBM Plex Sans Arabic", "IBM Plex Sans", system-ui, sans-serif}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{padding-top:0;outline:none}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);margin:0;line-height:1.15;color:var(--ink)}h1,h2{font-weight:800;font-stretch:110%;letter-spacing:-.015em}h3{font-weight:700;font-stretch:104%;letter-spacing:-.005em}:root[dir=rtl] h1,:root[dir=rtl] h2,:root[dir=rtl] h3{font-stretch:100%;letter-spacing:0;font-weight:700;line-height:1.35}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.on-night :focus-visible{outline-color:var(--cyan)}::selection{background:var(--violet);color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wrap{max-inline-size:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.muted{color:var(--muted)}.skip{position:fixed;inset-block-start:8px;inset-inline-start:8px;z-index:100;background:var(--cyan);color:var(--night);padding:10px 14px;border-radius:var(--r-s);font-weight:600;transform:translateY(-200%)}.skip:focus{transform:none;text-decoration:none}.section{padding-block:clamp(48px,7vw,88px)}.section+.section{border-top:1px solid var(--line)}.section__head{margin-block-end:clamp(24px,4vw,40px);max-inline-size:62ch}.section__head h2{font-size:clamp(1.6rem,3.2vw,2.25rem)}.section__head p{margin-block-start:10px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:44px;padding:0 18px;border-radius:8px;font:600 .9375rem/1 var(--font-body);border:1px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.btn:hover{text-decoration:none}.btn--primary{background:var(--cyan);color:var(--night)}.btn--primary:hover{background:#4cc9e6}.btn--line{border-color:var(--line);color:var(--ink);background:var(--surface)}.btn--line:hover{border-color:var(--link);color:var(--link)}.on-night .btn--line{background:transparent;color:var(--on-night);border-color:var(--night-line)}.on-night .btn--line:hover{border-color:var(--cyan);color:var(--cyan)}.btn[disabled]{opacity:.55;cursor:not-allowed}.chip{--c-fg: var(--dev-fg);--c-bg: var(--dev-bg);--c-bd: var(--dev-bd);display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-s);border:1px solid var(--c-bd);background:var(--c-bg);color:var(--c-fg);font:500 .8125rem/1.45 var(--font-body);white-space:nowrap;transition:background-color .15s,color .15s,border-color .15s}.chip[data-tone=biz]{--c-fg: var(--biz-fg);--c-bg: var(--biz-bg);--c-bd: var(--biz-bd)}.chip[data-tone=sec]{--c-fg: var(--sec-fg);--c-bg: var(--sec-bg);--c-bd: var(--sec-bd)}a.chip:hover{text-decoration:none;border-color:var(--c-fg)}.chip.is-active{background:var(--c-fg);color:var(--paper);border-color:var(--c-fg)}.on-night .chip.is-active{color:var(--night)}.chip.is-off{opacity:.55}.chip__n{font-variant-numeric:tabular-nums;font-size:.75rem;padding-inline-start:7px;border-inline-start:1px solid var(--c-bd)}.chip.is-active .chip__n{border-color:currentColor}.chips{display:flex;flex-wrap:wrap;gap:8px}.topbar{position:sticky;inset-block-start:0;z-index:50;background:var(--night);color:var(--on-night);border-block-end:1px solid var(--night-line)}.topbar__in{display:flex;align-items:center;gap:16px;min-block-size:60px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--on-night);font-weight:600;margin-inline-end:auto}.brand:hover{text-decoration:none}.brand__mark{font-family:var(--font-code);color:var(--cyan);font-size:.95rem;direction:ltr}.brand__name{font-family:var(--font-code);font-size:.9rem;direction:ltr;unicode-bidi:isolate;white-space:nowrap}@media (max-width: 479px){.brand__name{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0,0,0,0)}.tools{gap:6px}.seg button{min-inline-size:34px}}.nav{display:none;align-items:center;gap:4px}.nav a{color:var(--on-night-muted);padding:8px 12px;border-radius:8px;font-size:.9375rem;font-weight:500}.nav a:hover{color:var(--on-night);text-decoration:none;background:#ffffff0f}.nav a.is-current{color:var(--on-night);background:#7c6cf238}.tools{display:flex;align-items:center;gap:8px}.seg{display:inline-flex;border:1px solid var(--night-line);border-radius:8px;overflow:hidden}.seg button{min-inline-size:38px;min-block-size:38px;padding:0 8px;background:transparent;color:var(--on-night-muted);border:0;font:600 .8125rem var(--font-body);cursor:pointer}.seg button[aria-pressed=true]{background:var(--cyan);color:var(--night)}.seg button:not([aria-pressed=true]):hover{color:var(--on-night);background:#ffffff0f}.icon-btn{display:inline-grid;place-items:center;inline-size:40px;block-size:40px;border-radius:8px;background:transparent;border:1px solid var(--night-line);color:var(--on-night);cursor:pointer}.icon-btn:hover{border-color:var(--cyan);color:var(--cyan)}.icon-btn svg{inline-size:18px;block-size:18px}.burger{display:inline-grid}.mobile-nav{border-block-start:1px solid var(--night-line);background:var(--night-2)}.mobile-nav a{display:block;padding:14px var(--gutter);color:var(--on-night);border-block-end:1px solid var(--night-line);font-weight:500}.mobile-nav a.is-current{color:var(--cyan)}.mobile-nav a:hover{text-decoration:none;background:#ffffff0a}@media (min-width: 960px){.nav{display:flex}.burger{display:none}.tools .cv-wrap{display:block}}.cv-wrap{position:relative;display:none}@media (min-width: 560px){.cv-wrap{display:block}}.cv-pop{position:absolute;inset-inline-end:0;inset-block-start:calc(100% + 8px);inline-size:240px;z-index:60;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-m);padding:6px;box-shadow:0 12px 32px #03081859}.cv-pop a{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;color:var(--ink);font-weight:500}.cv-pop a:hover{background:var(--surface-2);text-decoration:none}.cv-pop small{display:block;padding:6px 12px 8px;color:var(--muted);font-size:.8125rem}.cv-pop .tag{color:var(--muted);font-family:var(--font-code);font-size:.8125rem;direction:ltr}.on-night{background:var(--night);color:var(--on-night)}.on-night h1,.on-night h2,.on-night h3{color:#fff}.rule{block-size:3px;background:var(--rule);border:0}.hero{position:relative;padding-block:clamp(36px,6vw,72px) clamp(36px,6vw,64px)}.hero__grid{display:grid;gap:36px;align-items:center}@media (min-width: 900px){.hero__grid{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:56px}}.file{border:1px solid var(--night-line);border-radius:var(--r-l);background:var(--night-2);overflow:hidden}.file__bar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-block-end:1px solid var(--night-line);background:#0000002e}.file__dots{display:inline-flex;gap:6px}.file__dots i{inline-size:10px;block-size:10px;border-radius:50%;background:#ff5f57}.file__dots i:nth-child(2){background:#febc2e}.file__dots i:nth-child(3){background:#28c840}.file__tab{font-family:var(--font-code);font-size:.8125rem;color:var(--cyan);direction:ltr}.file__body{padding:clamp(18px,3vw,30px);direction:ltr;text-align:left;font-family:var(--font-code)}.file__line{animation:line-in .5s ease both;animation-delay:calc(var(--i, 0) * 90ms + .12s)}.c-com{color:#6f7c9e;font-size:.8125rem;unicode-bidi:isolate}.c-kw{color:var(--violet);font-size:1rem;filter:brightness(1.25)}.c-key{color:#cdd6f4}.c-str{color:#8fe3a8;unicode-bidi:isolate}.c-op{color:#7f8bad}.c-eq{margin-inline:.5em}.file__name{font-family:Archivo Variable,IBM Plex Sans,sans-serif;font-weight:800;font-stretch:118%;font-size:clamp(1.75rem,4.4vw,2.75rem);line-height:1.1;color:#fff;letter-spacing:-.02em;display:block;margin-block:6px 14px}.file__decl{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.file__decl .file__name{margin:4px 0 12px}.file__row{font-size:clamp(.8125rem,1.8vw,.9375rem);line-height:1.8;overflow-wrap:anywhere}.file__chips{margin-block-start:18px;direction:ltr}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}}.hero__tag{margin-block-start:28px;max-inline-size:58ch;font-size:clamp(1.0625rem,2vw,1.25rem);color:#d3daee;line-height:1.55}.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-block-start:24px}.facts{display:grid;gap:18px;margin-block-start:32px;padding-block-start:22px;border-block-start:1px solid var(--night-line)}@media (min-width: 640px){.facts{grid-template-columns:repeat(3,1fr)}}.facts dt{color:var(--on-night-muted);font-size:.8125rem}.facts dd{margin:2px 0 0;color:#fff;font-weight:500}.portrait{inline-size:min(100%,300px);aspect-ratio:1;justify-self:center;padding:4px;border-radius:50%;background:var(--rule)}.portrait img{inline-size:100%;block-size:100%;border-radius:50%;object-fit:cover;border:4px solid var(--night)}@media (max-width: 899px){.portrait{inline-size:168px;order:-1;justify-self:start}}.page-head{padding-block:clamp(36px,6vw,60px) clamp(28px,4vw,44px)}.page-head h1{font-size:clamp(2rem,5vw,3rem)}.page-head p{margin-block-start:12px;color:var(--on-night-muted);max-inline-size:60ch}.focus{display:grid;gap:20px}@media (min-width: 860px){.focus{grid-template-columns:repeat(3,1fr);gap:28px}}.focus__item{border-block-start:3px solid var(--cyan);padding-block-start:18px}.focus__item[data-tone=sec]{border-color:var(--pink)}.focus__item[data-tone=biz]{border-color:var(--violet)}.focus__item h3{font-size:1.25rem}.focus__item p{margin-block:10px 16px;color:var(--muted);max-inline-size:46ch}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l)}.case{overflow:hidden}.case+.case{margin-block-start:28px}.case__media{background:var(--night);padding:clamp(14px,3vw,36px);display:flex;justify-content:center}.case__media img{inline-size:100%;max-inline-size:940px;border-radius:8px;border:1px solid var(--night-line)}.case__body{padding:clamp(20px,3vw,34px);display:grid;gap:28px}@media (min-width: 900px){.case__body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px}}.case__main{display:grid;gap:18px;align-content:start}.case__title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.case__title h3{font-size:clamp(1.5rem,3vw,2rem)}.badge{font-size:.8125rem;font-weight:600;color:var(--link);border:1px solid currentColor;border-radius:99px;padding:1px 10px}.case__idea{border-inline-start:3px solid var(--violet);padding-inline-start:16px}.case__idea h4,.case__list h4,.case__skills h4{font-size:.9375rem;font-family:var(--font-body);font-stretch:100%;font-weight:600;margin-block-end:6px}.case__idea p{color:var(--muted)}.bullets{display:grid;gap:8px}.bullets li{position:relative;padding-inline-start:20px;color:var(--ink);font-size:.9375rem}.bullets li:before{content:"";position:absolute;inset-inline-start:2px;inset-block-start:.7em;inline-size:7px;block-size:7px;border-radius:2px;background:var(--cyan)}.case__links{display:flex;flex-wrap:wrap;gap:12px}.grid-cards{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.pcard{display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s}.pcard:hover{border-color:var(--link)}.pcard__img{aspect-ratio:16/10;background:var(--night);overflow:hidden}.pcard__img img{inline-size:100%;block-size:100%;object-fit:cover}.pcard__body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.pcard__body h3{font-size:1.125rem}.pcard__meta{color:var(--muted);font-size:.8125rem;font-variant-numeric:tabular-nums}.pcard__desc{color:var(--muted);font-size:.9375rem}.pcard .chips{margin-block-start:auto;padding-block-start:6px}.subhead{font-size:1.25rem;margin-block:clamp(36px,5vw,56px) 18px}.note{margin-block-start:36px;color:var(--muted);max-inline-size:70ch;font-size:.9375rem}.filter{padding:0;margin-block-end:28px}.filter summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:14px 18px;font-weight:600;font-family:var(--font-display)}.filter summary::-webkit-details-marker{display:none}.filter summary:after{content:"+";font-size:1.25rem;color:var(--muted);line-height:1}.filter[open] summary:after{content:"\2212"}.filter__groups{display:grid;gap:18px 28px;padding:6px 18px 20px;border-block-start:1px solid var(--line);padding-block-start:18px}@media (min-width: 760px){.filter__groups{grid-template-columns:repeat(2,1fr)}}.filter__group h4{font-family:var(--font-body);font-stretch:100%;font-size:.875rem;font-weight:600;color:var(--muted);margin-block-end:8px}.status{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-block-end:24px;font-size:1rem;min-block-size:40px}.status strong{font-weight:600}.empty{text-align:start;padding:28px;border:1px dashed var(--line);border-radius:var(--r-l);display:grid;gap:14px;justify-items:start}.browse{display:grid;gap:22px 40px}@media (min-width: 760px){.browse{grid-template-columns:repeat(2,1fr)}}.browse h3{font-size:.9375rem;font-family:var(--font-body);font-stretch:100%;font-weight:600;color:var(--muted);margin-block-end:8px}.steps{display:grid;gap:22px;counter-reset:step}@media (min-width: 760px){.steps{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1040px){.steps{grid-template-columns:repeat(6,1fr);gap:18px}}.steps li{position:relative;padding-block-start:22px;border-block-start:2px solid var(--line);counter-increment:step}.steps li:before{content:counter(step);position:absolute;inset-block-start:-13px;inset-inline-start:0;inline-size:24px;block-size:24px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--paper);font:600 .8125rem var(--font-body)}.steps h3{font-size:1.0625rem}.steps p{margin-block-start:6px;color:var(--muted);font-size:.9375rem}.cta{padding-block:clamp(44px,6vw,72px)}.cta__in{display:grid;gap:22px;align-items:center}@media (min-width: 900px){.cta__in{grid-template-columns:1.2fr 1fr;gap:48px}}.cta h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}.cta p{margin-block-start:10px;color:var(--on-night-muted);max-inline-size:48ch}.cta__btns{display:flex;flex-wrap:wrap;gap:12px}.skill-groups{display:grid;gap:28px 40px}@media (min-width: 860px){.skill-groups{grid-template-columns:repeat(2,1fr)}}.skill-group h3{font-size:1.125rem;margin-block-end:12px}.hint{color:var(--muted);margin-block-end:28px;font-size:.9375rem}.lang-list{display:grid;gap:16px;max-inline-size:520px}.meter{display:grid;gap:6px}.meter__top{display:flex;justify-content:space-between;font-size:.9375rem}.meter__bar{block-size:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.meter__bar i{display:block;block-size:100%;background:var(--rule);border-radius:99px}.cert-list{display:grid;gap:14px;max-inline-size:70ch}.cert-list li{padding-inline-start:16px;border-inline-start:3px solid var(--line)}.cert-list b{font-weight:600}.cert-list span{display:block;color:var(--muted);font-size:.9375rem}.courses{margin-block-start:22px;max-inline-size:70ch}.courses summary{cursor:pointer;font-weight:600;color:var(--link)}.courses ul{display:grid;gap:8px;margin-block-start:14px}.courses li{display:flex;justify-content:space-between;gap:16px;font-size:.9375rem;border-block-end:1px solid var(--line);padding-block-end:8px}.courses time{color:var(--muted);font-variant-numeric:tabular-nums;direction:ltr;white-space:nowrap}.gantt{direction:ltr;position:relative;margin-block:24px 8px;padding-block-start:26px}.gantt__grid{position:absolute;inset:0;pointer-events:none}.gantt__tick{position:absolute;inset-block:0;border-inline-start:1px dashed var(--line)}.gantt__tick span{position:absolute;inset-block-start:0;inset-inline-start:4px;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.gantt__row{position:relative;block-size:52px}.gantt__label{position:relative;font-size:.8125rem;color:var(--ink);padding-block-start:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:100%}.gantt__bar{position:absolute;inset-block-end:6px;block-size:14px;border-radius:4px;min-inline-size:8px;inset-inline-start:calc(var(--s) * 1%);inline-size:calc(var(--w) * 1%);background:var(--cyan)}.gantt__bar[data-kind=intern]{background:var(--violet)}.legend{display:flex;gap:20px;font-size:.875rem;color:var(--muted);margin-block-start:12px}.legend i{display:inline-block;inline-size:12px;block-size:12px;border-radius:3px;background:var(--cyan);margin-inline-end:8px;vertical-align:-1px}.legend i.is-intern{background:var(--violet)}.xp{display:grid;gap:18px}.xp__item{padding:20px 22px;display:grid;gap:10px}.xp__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;align-items:baseline}.xp__head h3{font-size:1.125rem}.xp__head time{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.xp__meta{color:var(--muted);font-size:.9375rem}.about{display:grid;gap:40px}@media (min-width: 900px){.about{grid-template-columns:1.4fr 1fr;gap:64px}}.about__lead{font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.55;max-inline-size:52ch}.about__text{margin-block-start:18px;color:var(--muted);max-inline-size:62ch}.edu{display:grid;gap:0}.edu li{display:grid;gap:2px;padding-block:14px;border-block-end:1px solid var(--line)}.edu li:first-child{padding-block-start:0}.edu b{font-weight:600}.edu small{color:var(--muted);font-size:.875rem;font-variant-numeric:tabular-nums}.kv{display:grid;gap:14px}.kv div{display:flex;justify-content:space-between;gap:16px;padding-block-end:12px;border-block-end:1px solid var(--line)}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:end;direction:ltr;unicode-bidi:isolate;overflow-wrap:anywhere;font-weight:500}.side-title{font-size:1.125rem;margin-block-end:16px}.contact{display:grid;gap:32px}@media (min-width: 900px){.contact{grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}}.form{padding:clamp(20px,3vw,30px);display:grid;gap:18px}.field{display:grid;gap:6px}.field label{font-weight:600;font-size:.9375rem}.field input,.field textarea{inline-size:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:12px 14px;min-block-size:46px}.field input:focus,.field textarea:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:transparent}.field .err{color:#c0264f;font-size:.875rem}:root[data-theme=dark] .field .err{color:#ff8fb0}.status-msg{font-size:.9375rem}.status-msg.ok{color:#0c7a4b}.status-msg.bad{color:#c0264f}:root[data-theme=dark] .status-msg.ok{color:#6ee7a8}:root[data-theme=dark] .status-msg.bad{color:#ff8fb0}.side{display:grid;gap:22px}.side .card{padding:22px}.cv-btns{display:grid;gap:10px}.cv-btns .btn{justify-content:space-between}.footer{padding-block:28px;margin-block-start:0}.footer__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;font-size:.9375rem;color:var(--on-night-muted)}.footer__links{display:flex;gap:18px}.footer a{color:var(--on-night)}.totop{position:fixed;inset-inline-end:18px;inset-block-end:18px;z-index:40;inline-size:44px;block-size:44px;border-radius:10px;border:1px solid var(--night-line);background:var(--night);color:var(--on-night);cursor:pointer;display:grid;place-items:center}.totop:hover{color:var(--cyan);border-color:var(--cyan)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.topbar,.totop,.footer,.cta{display:none!important}}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-vietnamese-wdth-normal-JICEILHD.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-latin-ext-wdth-normal-GPGIT4GY.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-latin-wdth-normal-R3FITQA7.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-400-normal-COQVXTP6.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-400-normal-JC3YNCCZ.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-latin-500-normal-JTONHBWS.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-500-normal-7DOULDHV.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-latin-600-normal-DTNZULF4.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-600-normal-B3O423MA.woff") format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-arabic-arabic-400-normal-HDFIX7LY.woff2") format("woff2"),url("./media/ibm-plex-sans-arabic-arabic-400-normal-N4DMJBB5.woff") format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-arabic-arabic-500-normal-AAIACC75.woff2") format("woff2"),url("./media/ibm-plex-sans-arabic-arabic-500-normal-5MTGWOCT.woff") format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-arabic-arabic-600-normal-LS4CIPTS.woff2") format("woff2"),url("./media/ibm-plex-sans-arabic-arabic-600-normal-USVRKN2F.woff") format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:700;src:url("./media/ibm-plex-sans-arabic-arabic-700-normal-HXTRD7MG.woff2") format("woff2"),url("./media/ibm-plex-sans-arabic-arabic-700-normal-PHKC2NDM.woff") format("woff")}
