:root{--bg:#020a10;--acc:#0e7fc0;--acc2:#22d3ee;--ink:#e3f4fb;--muted:color-mix(in oklch,var(--ink) 62%,var(--bg));--line:color-mix(in oklch,var(--ink) 16%,var(--bg));--grid:color-mix(in oklch,var(--ink) 5%,var(--bg));--card:color-mix(in oklch,var(--ink) 4%,var(--bg));--tfont:"Druk Cond",Anton,Impact,sans-serif;--tweight:900;--tstroke:0px transparent;--tgrad:linear-gradient(180deg,color-mix(in oklch,var(--acc) 90%,white) 0%,var(--acc) 18%,color-mix(in oklch,var(--acc) 60%,var(--bg)) 48%,color-mix(in oklch,var(--acc) 22%,var(--bg)) 72%,var(--bg) 100%);--photo:grayscale(1) contrast(1.08);--py:3vw;--tsy:1}@font-face{font-family:Druk Cond;src:url(fonts/DrukCond-Super.otf) format("opentype");font-weight:900;font-display:swap}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Archivo,sans-serif}a{color:var(--acc)}a:hover{color:var(--acc2)}a:focus-visible,button:focus-visible{outline:2px solid var(--acc2);outline-offset:3px}::selection{background:var(--acc);color:var(--bg)}@keyframes rise{0%{transform:translateY(108%)}to{transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes photoIn{0%{opacity:0;transform:translateY(60px) scale(1.04)}to{opacity:1;transform:none}}@keyframes glow{0%,to{opacity:.75;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.06)}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--acc)}to{box-shadow:0 0 0 12px transparent}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes blink{50%{opacity:0}}@keyframes arrowDrop{0%{transform:translateY(-160%)}35%,65%{transform:translateY(0)}to{transform:translateY(160%)}}.page{position:relative;background:var(--bg);color:var(--ink);font-family:Archivo,sans-serif;overflow-x:clip}.hero{position:relative;height:100svh;min-height:520px;display:flex;flex-direction:column;overflow:hidden}.grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0 32px;pointer-events:none;animation:fade 1.6s ease .2s both}.grid-bg div{border-left:1px solid var(--grid)}.grid-bg div:last-child{border-right:1px solid var(--grid)}.header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,2vw,24px);flex-wrap:nowrap;padding:12px 32px;animation:fadeUp .9s cubic-bezier(.2,.8,.2,1) .1s both}.logo{display:flex;align-items:center;gap:12px;text-decoration:none}.logo img{height:clamp(34px,3.1vw,43px);width:auto;display:block}.nav{display:flex;gap:clamp(14px,2.2vw,28px);flex-wrap:nowrap;font-family:Archivo,sans-serif;font-size:12px;font-weight:600;letter-spacing:clamp(.06em,.9vw,.14em);text-transform:uppercase;white-space:nowrap}.nav a{color:var(--muted);text-decoration:none}.nav a:hover{color:var(--acc)}.head-right{display:flex;align-items:center;gap:clamp(10px,1.4vw,20px);flex:none}.loc{display:flex;align-items:center;gap:10px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:clamp(.04em,.8vw,.14em);text-transform:uppercase;color:var(--muted);white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;background:var(--acc);animation:pulse 1.8s ease-out infinite}.rule{position:relative;z-index:5;height:1px;margin:0 32px;background:var(--line);transform-origin:left;animation:grow 1.2s cubic-bezier(.7,0,.2,1) .2s both}.main{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;padding:0 32px}.title-wrap{position:relative;z-index:1;margin-top:6px;transform:translate3d(calc(var(--mx,0) * -24px),calc(var(--my,0) * -8px),0);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.title{margin:-.07em 0 calc((var(--tsy,1) - 1) * .9em);display:flex;justify-content:space-between;gap:.015em;font-family:var(--tfont);font-weight:var(--tweight);font-synthesis:weight;font-size:clamp(56px,min(21.2vw,30svh),440px);line-height:.9;letter-spacing:0;text-transform:uppercase;transform:scaleY(var(--tsy,1));transform-origin:top}.title .mask{display:inline-block;overflow:hidden;padding-top:.04em;min-width:.18em}.title .ch{display:inline-block;color:transparent;background:var(--tgrad);-webkit-text-stroke:var(--tstroke);-webkit-background-clip:text;background-clip:text;animation:rise 1.1s cubic-bezier(.7,0,.2,1) both}.photo-wrap{position:absolute;z-index:2;left:-1vw;top:calc(1vw + var(--py,3vw));bottom:calc(0vw - var(--py,3vw));width:min(58vw,940px);pointer-events:none;transform:translate3d(calc(var(--mx,0) * 14px),calc(var(--my,0) * 8px),0);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.glow{position:absolute;left:50%;top:18%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in oklch,var(--acc) 55%,transparent) 0%,transparent 65%);filter:blur(30px);animation:glow 6s ease-in-out 2s infinite,fade 2s ease .8s both}.photo{position:absolute;top:0;right:0;bottom:0;left:0;animation:photoIn 1.6s cubic-bezier(.2,.8,.2,1) .7s both}.photo img{width:100%;height:100%;object-fit:contain;object-position:50% 100%;filter:var(--photo);transition:filter .6s ease}.content{position:absolute;z-index:3;left:32px;right:32px;bottom:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;gap:32px;padding:12px 0 clamp(14px,2.6svh,28px)}.col{display:flex;flex-direction:column;gap:clamp(14px,2.6svh,28px);max-width:520px;justify-self:end;width:100%}.intro{display:flex;flex-direction:column;gap:18px}.eyebrow{font-family:JetBrains Mono,monospace;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);animation:fadeUp .9s cubic-bezier(.2,.8,.2,1) 1.1s both}.role{margin:0;font-family:Oswald,sans-serif;font-weight:600;letter-spacing:.005em;text-transform:uppercase;min-height:1.05em;font-size:clamp(26px,min(3.6vw,5.6svh),58px);line-height:1.02;color:var(--ink);text-wrap:balance;animation:fadeUp .9s cubic-bezier(.2,.8,.2,1) 1.25s both}.role .caret{color:var(--acc);animation:blink 1s steps(1) infinite}.actions{display:flex;flex-direction:column;gap:clamp(10px,1.8svh,18px)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;animation:fadeUp .9s cubic-bezier(.2,.8,.2,1) 1.45s both}.stat{display:flex;flex-direction:column;gap:10px;min-width:0;padding:clamp(10px,1.8svh,18px) 16px clamp(10px,1.6svh,16px)}.stat+.stat{border-left:1px solid var(--line)}.stat.hl{background:color-mix(in srgb,var(--acc) 12%,transparent)}.stat-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.stat-val{display:flex;align-items:baseline;gap:4px;font-family:Oswald,sans-serif;font-weight:600;font-stretch:100%;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:clamp(30px,min(4vw,6svh),64px);line-height:.95;color:var(--ink)}.stat.hl .stat-val{gap:6px;color:var(--acc)}.stat-val .hash{font-size:.5em;align-self:flex-start;margin-top:.1em}.stat-val .unit{font-family:JetBrains Mono,monospace;font-weight:600;font-size:max(14px,.26em);color:var(--muted)}.bar{position:relative;height:3px;border-radius:2px;background:var(--line);overflow:hidden}.bar span{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--acc);transform-origin:left;animation:grow 1.6s cubic-bezier(.2,.8,.2,1) 1.8s both}.btns{display:flex;align-items:center;gap:12px;flex-wrap:wrap;animation:fadeUp .9s cubic-bezier(.2,.8,.2,1) 1.65s both}.btn{flex:none;display:flex;align-items:center;gap:14px;padding:8px 22px 8px 8px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 65%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);text-decoration:none;transition:border-color .3s,color .3s}.btn:hover{border-color:var(--acc);color:var(--acc)}.btn .ico{position:relative;flex:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden}.btn .ico.solid{background:var(--acc);color:var(--bg)}.btn .ico.ring{border:1.5px solid var(--acc);color:var(--acc)}.btn .ico.solid svg{animation:arrowDrop 1.8s cubic-bezier(.7,0,.3,1) 2.6s infinite}.btn .lbl{font-size:14px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.btn.cv .lbl{font-size:13px}.band{position:relative;z-index:4;background:var(--acc);color:var(--bg);overflow:hidden;animation:fadeUp 1s cubic-bezier(.2,.8,.2,1) 1.8s both}.band-track{display:flex;width:max-content;animation:marquee 28s linear infinite}.band-item{display:flex;align-items:center;gap:28px;padding:16px 14px 16px 0;font-size:22px;font-weight:900;font-stretch:75%;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.band-item i{width:8px;height:8px;background:var(--bg)}.progress{position:fixed;left:0;top:0;right:0;height:3px;background:var(--acc);transform:scaleX(0);transform-origin:left;z-index:90;pointer-events:none}@keyframes tapHint{0%,to{transform:translateY(-3px)}50%{transform:translateY(3px)}}@keyframes soft{50%{opacity:.35}}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}[data-reveal].is-visible{opacity:1;transform:none}[data-reveal].reveal-title{transform:translateY(100%);transition:transform 1.1s cubic-bezier(.7,0,.2,1)}[data-reveal].reveal-title.is-visible{transform:translateY(0)}.section{width:100%;box-sizing:border-box;max-width:1400px;margin:0 auto}.section-bordered{border-top:1px solid var(--line)}.eyebrow-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}.eyebrow-row .lbl{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.eyebrow-row .lbl.acc{color:var(--acc)}.sec-title{margin:0;font-size:clamp(56px,9vw,150px);font-family:var(--tfont);font-weight:var(--tweight);line-height:.85;text-transform:uppercase}.sec-title .acc{color:var(--acc)}.manifesto{position:relative;padding:160px 32px 140px;display:flex;flex-direction:column;gap:56px;min-height:100svh;box-sizing:border-box;justify-content:center}.manifesto-text{margin:0;max-width:1240px;font-size:clamp(34px,5.2vw,84px);font-weight:800;font-stretch:78%;line-height:1.02;letter-spacing:-.015em;text-transform:uppercase;text-wrap:pretty}.manifesto-text span{opacity:.15;transition:opacity .35s ease}.manifesto-sig{display:flex;align-items:center;gap:16px}.manifesto-sig .rule{width:48px;height:2px;background:var(--acc)}.manifesto-sig .muted2{color:color-mix(in oklch,var(--ink) 55%,var(--bg))}.principles{overflow-x:auto;padding-bottom:4px;margin-top:16px}.principles-row{min-width:760px;display:flex}.principle{flex:1;display:flex;align-items:center;gap:18px;color:var(--bg);cursor:default;transition:background .3s}.principle:hover{background:var(--ink)!important}.principle .n{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.principle .t{font-family:var(--tfont);font-weight:var(--tweight);font-size:clamp(40px,4vw,64px);line-height:.85;text-transform:uppercase}.about{padding:40px 32px 160px;display:flex;flex-direction:column;gap:48px;min-height:100svh;box-sizing:border-box;justify-content:center}.about-lead{margin:0;max-width:1200px;font-family:var(--tfont);font-weight:var(--tweight);text-transform:uppercase;font-size:clamp(44px,6.4vw,110px);line-height:.9;text-wrap:balance}.about-lead .acc{color:var(--acc)}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:48px 80px;align-items:start}.about-cols{display:flex;flex-direction:column;gap:28px}.about-col{display:flex;flex-direction:column;gap:14px;padding-top:20px;border-top:2px solid var(--line)}.about-col.acc{border-top-color:var(--acc)}.about-col .k{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.about-col.acc .k{color:var(--acc)}.about-col p{margin:0;font-size:15px;line-height:1.6;color:var(--ink);text-wrap:pretty}.sql-card{border:1px solid var(--line);background:var(--card);font-family:JetBrains Mono,monospace;font-size:14px}.sql-card .head{padding:16px 20px;border-bottom:1px solid var(--line);color:var(--ink);overflow-x:auto;white-space:nowrap}.sql-card .head .m{color:var(--muted)}.sql-card .head .kw{color:var(--acc)}.sql-card .head .str{color:var(--acc2)}.sql-card .rows{display:flex;flex-direction:column;padding:8px 0}.sql-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:11px 20px;border-bottom:1px solid color-mix(in oklch,var(--line) 60%,transparent);transition:background .2s}.sql-row:hover{background:color-mix(in oklch,var(--acc) 12%,transparent)}.sql-row .k{color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.06em}.sql-foot{padding:12px 20px 16px;color:var(--muted);font-size:12px}.sql-foot .caret{display:inline-block;width:.6em;height:1.1em;margin-left:8px;vertical-align:-.2em;background:var(--acc);animation:blink 1s steps(1) infinite}.journey-wrap{padding:120px 32px;display:flex;flex-direction:column;justify-content:center;min-height:100svh;box-sizing:border-box}.journey-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:72px}.journey-list{display:flex;flex-direction:column;min-height:62svh;border-bottom:2px solid var(--ink)}.journey-item{position:relative;flex:1 1 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:center;gap:20px 48px;padding:28px 0;border-top:2px solid var(--line);transition:padding .5s cubic-bezier(.2,.8,.2,1),background .5s ease}.journey-item:hover{padding-left:20px;background:color-mix(in oklch,var(--acc) 5%,transparent)}.journey-item .pline{position:absolute;left:0;right:0;top:-2px;height:2px;transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.journey-item .pline.is-visible{transform:scaleX(1)}.journey-head-col{display:flex;align-items:center;gap:20px;grid-column:span 2;min-width:0}.journey-head-col .n{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--muted)}.journey-head-col .title-mask{overflow:hidden;padding-top:.08em}.journey-head-col h3{margin:0;font-family:var(--tfont);font-weight:var(--tweight);line-height:.86;text-transform:uppercase;text-wrap:balance;font-size:clamp(48px,6.4vw,112px)}.journey-body{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:16px;margin:-16px}.journey-tagrow{display:flex;align-items:center;gap:10px}.journey-tag{font-family:JetBrains Mono,monospace;padding:6px 10px;border:1px solid var(--acc);color:var(--acc);font-size:11px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.journey-tag.dashed{border-style:dashed}.journey-place{font-family:JetBrains Mono,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}.journey-body p{margin:0;font-size:16px;line-height:1.6;color:var(--muted);text-wrap:pretty;max-width:420px}.skills-wrap{padding:120px 0 0;min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.skills-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:0 32px 56px}.skills-rows{border-bottom:1px solid var(--line)}.skill-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,min(58%,680px));align-items:center;gap:24px;padding:20px 32px;border-top:1px solid var(--line);color:var(--ink);transition:background .35s ease,color .35s ease,padding .45s cubic-bezier(.2,.8,.2,1);cursor:default}.skill-row:hover{background:var(--acc);color:var(--bg);padding-left:56px}.skill-row .n{font-family:JetBrains Mono,monospace;font-size:13px}.skill-row .name{font-size:clamp(30px,5.2vw,96px);font-family:var(--tfont);font-weight:var(--tweight);line-height:.9;text-transform:uppercase;overflow-wrap:anywhere}.skill-items{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px 22px}.skill-logo{display:inline-flex;align-items:center}.skill-logo img{object-fit:contain;transition:transform .3s cubic-bezier(.2,.8,.2,1.4)}.skill-logo:hover img{transform:scale(1.35) translateY(-4px)}.skill-wm{display:inline-flex;align-items:center;gap:6px;height:52px;font-family:Archivo,sans-serif;font-weight:900;font-style:italic;font-size:32px;line-height:1;letter-spacing:-.02em;text-transform:uppercase;color:#fff;transition:transform .3s cubic-bezier(.2,.8,.2,1.4)}.skill-wm:hover{transform:scale(1.35) translateY(-4px)}.skill-chip{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:6px 14px;border:1px solid currentColor;font-family:JetBrains Mono,monospace;font-size:12px;text-transform:uppercase;white-space:nowrap;cursor:default;transition:transform .3s cubic-bezier(.2,.8,.2,1.4),background .25s,color .25s,border-color .25s}.skill-chip:hover{transform:scale(1.2) translateY(-4px);background:#fff;color:#0b0b0b;border-color:#fff}.formation-wrap{padding:140px 32px;min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.formation-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:end;margin-bottom:72px}.formation-hint{display:flex;align-items:center;gap:12px;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-bottom:32px}.formation-hint .arrow{display:inline-flex;animation:tapHint 1.6s ease-in-out infinite}.formation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px 72px;align-items:stretch}.sem-list{display:flex;flex-direction:column;height:100%;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.sem-btn{flex:1 1 auto;width:100%;display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 20px;padding:0 0 0 8px;border:0;border-top:1px solid var(--line);background:none;cursor:pointer;font:inherit;text-align:left;color:var(--ink)}.sem-btn:first-child{border-top:none}.sem-btn .rail{position:relative;display:block}.sem-btn .rail-line{position:absolute;left:13px;top:0;bottom:0;width:2px;background:var(--line)}.sem-btn.active .rail-line,.sem-btn.done .rail-line{background:var(--acc)}.sem-btn .dot{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:16px;height:16px;box-sizing:border-box;border-radius:50%;border:2px solid var(--acc);background:var(--bg);transition:all .3s cubic-bezier(.2,.8,.2,1)}.sem-btn.active .dot{left:2px;width:24px;height:24px;background:var(--acc)}.sem-btn.now .dot{background:var(--acc);animation:pulse 1.8s ease-out infinite}.sem-btn .row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 16px;padding:18px 12px 18px 0;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.sem-btn:hover .row{transform:translate(6px)}.sem-btn .num{font-weight:800;font-stretch:80%;font-size:20px;line-height:1;text-transform:uppercase;color:var(--ink);transition:font-size .3s cubic-bezier(.2,.8,.2,1)}.sem-btn.active .num{font-size:30px;color:var(--acc)}.sem-btn .status{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.sem-detail{display:flex;flex-direction:column;gap:24px}.sem-detail .big{font-family:var(--tfont);font-weight:var(--tweight);font-size:clamp(64px,7vw,120px);line-height:.82;text-transform:uppercase}.sem-detail .big .acc{color:var(--acc)}.sem-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sem-meta .status-chip{font-family:JetBrains Mono,monospace;padding:6px 10px;border:1px solid var(--acc);color:var(--acc);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.sem-meta .cred{font-family:JetBrains Mono,monospace;font-size:12px;text-transform:uppercase;color:var(--muted)}.sem-meta .avg{display:inline-flex;align-items:baseline;gap:6px;padding:6px 10px;background:transparent;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.sem-meta .avg.has{background:var(--acc);color:var(--ink)}.sem-meta .avg strong{font-family:var(--sfont,Oswald),sans-serif;font-weight:600;font-size:16px;letter-spacing:0}.sem-detail h3{margin:0;font-weight:800;font-stretch:80%;line-height:1;text-transform:uppercase;font-size:clamp(32px,3.4vw,52px)}.sem-detail p{margin:0;font-size:17px;line-height:1.6;color:var(--muted);text-wrap:pretty;max-width:560px}.sem-modules{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:2px solid var(--ink)}.sem-modules .lbl{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:8px}.mod-chip{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;box-sizing:border-box;border:2px solid var(--acc);background:color-mix(in oklch,var(--acc) 10%,transparent);font-size:15px;font-weight:700;line-height:1.2;text-transform:uppercase;color:var(--ink);transition:background .3s ease,color .3s ease}.mod-chip:hover{background:var(--acc);color:var(--bg)}.mod-chip .n{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:inherit;opacity:.7}.projects-wrap{padding:56px 32px;min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.projects-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}.projects-head h2{font-size:clamp(48px,7vw,120px)}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,max(188px,calc((100svh - 150px - clamp(48px,7vw,120px) - 28px - 40px) / 3 * 1.18)));gap:14px}.proj-card{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--card)}.proj-card.big{grid-area:1 / 1 / 3 / 3;border-color:var(--acc)}.proj-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);transform:scale(1.01);transition:filter .6s ease,transform 1.2s cubic-bezier(.2,.8,.2,1)}.proj-card:hover img{filter:grayscale(0) contrast(1);transform:scale(1.06)}.proj-card.big:hover img{transform:scale(1.05)}.proj-card .veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,var(--bg) 6%,color-mix(in oklch,var(--bg) 50%,transparent) 55%,transparent);pointer-events:none}.proj-card.big .veil{background:linear-gradient(to top,var(--bg) 4%,color-mix(in oklch,var(--bg) 55%,transparent) 42%,transparent 70%)}.proj-card .badge{position:absolute;left:0;top:0;padding:6px 10px;background:var(--acc);color:var(--ink);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.proj-card.big .badge{padding:10px 14px;font-size:13px}.proj-card .info{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:14px 16px}.proj-card.big .info{left:0;right:0;top:44px;bottom:0;padding:clamp(20px,2.4vw,36px);justify-content:flex-end;gap:14px}.proj-card .chips{display:flex;flex-wrap:wrap;gap:8px}.proj-card .chip{font-family:JetBrains Mono,monospace;padding:6px 10px;border:1px solid var(--acc);color:var(--ink);background:color-mix(in oklch,var(--bg) 60%,transparent);font-size:11px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.proj-card .chip.solid{background:var(--acc)}.proj-card .tags{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--acc2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-card.big .tags{font-size:11px;letter-spacing:.08em}.proj-card h3{margin:0;font-weight:800;font-stretch:80%;line-height:1.05;text-transform:uppercase;font-size:clamp(15px,1.25vw,19px);color:var(--ink)}.proj-card.big h3{max-width:760px;font-size:clamp(34px,3.8vw,64px);line-height:.9}.proj-card .desc{margin:0;font-size:12.5px;line-height:1.45;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;opacity:0;max-height:0;transition:opacity .4s ease,max-height .5s cubic-bezier(.2,.8,.2,1)}.proj-card:hover .desc{opacity:1;max-height:120px}.proj-card.big .desc{font-size:15px;line-height:1.55;max-width:640px;-webkit-line-clamp:6}.proj-links{display:flex;flex-wrap:nowrap;gap:6px;margin-top:4px}.proj-card.big .proj-links{gap:10px}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-family:Archivo,sans-serif;font-size:10px;font-weight:800;letter-spacing:.06em;white-space:nowrap;text-transform:uppercase;text-decoration:none;background:var(--acc);border:1px solid var(--acc);color:var(--ink);transition:background .25s,border-color .25s,gap .25s}.pill:hover{background:var(--acc2);border-color:var(--acc2);gap:12px;color:var(--ink)}.pill.ghost{background:color-mix(in oklch,var(--bg) 55%,transparent);border-color:var(--ink);color:var(--ink)}.pill.ghost:hover{border-color:var(--acc2);color:var(--acc2)}.proj-card.big .pill{padding:12px 20px;font-size:12px;gap:12px}.pending-lbl{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.contact-wrap{padding:140px 32px 40px;min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.contact-inner{display:flex;flex-direction:column;gap:64px}.contact-title-row{display:flex;justify-content:flex-end}.contact-title{margin:0;font-size:clamp(52px,8.6vw,160px);font-family:var(--tfont);font-weight:var(--tweight);line-height:.86;text-transform:uppercase;text-wrap:balance}.contact-title .line{display:block;overflow:hidden}.contact-title .acc{color:var(--acc)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:48px 64px;align-items:stretch}.contact-left{display:flex;flex-direction:column;justify-content:space-between;gap:40px}.contact-open{display:flex;flex-direction:column;gap:14px}.contact-open .lbl{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.open-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}.open-card{display:flex;flex-direction:column;gap:12px;padding:24px;border:2px solid var(--line)}.open-card.acc{border-color:var(--acc);background:color-mix(in oklch,var(--acc) 14%,transparent)}.open-card .t{font-family:var(--tfont);font-weight:var(--tweight);font-size:48px;line-height:.85;text-transform:uppercase;color:var(--ink)}.open-card p{margin:0;font-size:15px;line-height:1.55;color:var(--ink);text-wrap:pretty}.contact-buttons{display:flex;flex-direction:column;gap:12px}.contact-btn{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:12px;text-decoration:none;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s}.contact-btn:hover{transform:translate(6px)}.contact-btn.fill{background:var(--acc);border:1px solid var(--acc);color:var(--ink)}.contact-btn.fill:hover{background:var(--acc2);border-color:var(--acc2)}.contact-btn.line{background:transparent;border:1px solid var(--ink);color:var(--ink)}.contact-btn.line:hover{border-color:var(--acc)}.contact-btn .ic{flex:none;display:flex}.contact-btn .txt{flex:1;min-width:0;font-size:clamp(15px,1.4vw,19px);font-weight:800;word-break:break-all}.socials{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.socials a{flex:none;display:flex;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.socials a:hover{transform:translateY(-4px) scale(1.06)}.contact-form{display:flex;flex-direction:column;gap:24px;padding:clamp(24px,3vw,44px);border:1px solid color-mix(in oklch,var(--acc) 45%,var(--line));border-radius:18px;background:var(--card);box-shadow:0 24px 60px #00000059,0 0 0 1px color-mix(in oklch,var(--acc) 12%,transparent)}.contact-form h3{margin:0;font-family:var(--tfont);font-weight:var(--tweight);font-size:clamp(28px,2.6vw,40px);line-height:.95;text-transform:uppercase;color:var(--ink)}.contact-form h3 .acc{color:var(--acc)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:20px}.field{display:flex;flex-direction:column;gap:10px;font-size:15px;font-weight:600;color:var(--ink)}.field input,.field textarea{width:100%;box-sizing:border-box;padding:16px 18px;border:1px solid color-mix(in oklch,var(--acc) 35%,var(--line));border-radius:10px;background:color-mix(in oklch,var(--acc) 12%,var(--bg));color:var(--ink);font:inherit;font-size:16px;outline:none;transition:border-color .25s ease,box-shadow .25s ease}.field input:focus,.field textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in oklch,var(--acc) 30%,transparent)}.field textarea{resize:vertical;line-height:1.5}.send-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 24px;border:0;border-radius:10px;background:var(--acc);color:var(--ink);font-family:Archivo,sans-serif;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s}.send-btn:hover{background:var(--acc2)}.contact-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:32px;border-top:1px solid var(--line);font-family:JetBrains Mono,monospace;font-size:12px;text-transform:uppercase;color:var(--muted)}.contact-foot a{color:var(--muted);text-decoration:none}.contact-foot a:hover{color:var(--acc)}@media (prefers-reduced-motion:reduce){.band-track,.glow,.btn .ico.solid svg,.role .caret,.dot,.formation-hint .arrow{animation:none}.title-wrap,.photo-wrap{transform:none;transition:none}[data-reveal]{opacity:1;transform:none;transition:none}}.mob-header{position:fixed;z-index:90;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px 20px;background:transparent;border-bottom:1px solid transparent;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .35s ease,border-color .35s ease;animation:fadeUp .8s cubic-bezier(.2,.8,.2,1) .1s both}.mob-header.scrolled{background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom-color:var(--line)}.mob-logo{display:flex;align-items:center;min-height:44px;text-decoration:none}.mob-logo img{height:32px;width:auto;display:block}.mob-burger{position:relative;flex:none;width:48px;height:48px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 60%,transparent);color:var(--ink);cursor:pointer;padding:0}.mob-burger .bar{position:absolute;left:15px;right:15px;top:50%;height:2px;background:currentColor;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .2s ease,background .3s}.mob-burger .bar1{transform:translateY(-7px)}.mob-burger .bar1.open{transform:translateY(-50%) rotate(45deg)}.mob-burger .bar3{transform:translateY(5px)}.mob-burger .bar3.open{opacity:0}.mob-burger .bar2{transform:translateY(-50%)}.mob-burger .bar2.open{transform:translateY(-50%) rotate(-45deg);background:var(--acc)}.mob-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;display:flex;flex-direction:column;padding:calc(84px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));background:var(--bg);overflow-y:auto;animation:fade .3s ease both}.mob-menu-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 20px;pointer-events:none}.mob-menu-grid div{border-left:1px solid var(--grid)}.mob-menu-grid div:last-child{border-right:1px solid var(--grid)}.mob-menu-nav{position:relative;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.mob-menu-nav a{display:flex;align-items:baseline;gap:16px;padding:14px 0 10px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;overflow:hidden}.mob-menu-nav a:active{color:var(--acc)}.mob-menu-nav .n{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--acc)}.mob-menu-nav .t{display:block;font-family:var(--tfont);font-weight:var(--tweight);font-size:clamp(44px,13vw,64px);line-height:.9;text-transform:uppercase;animation:rise .7s cubic-bezier(.7,0,.2,1) both}.mob-menu-foot{position:relative;margin-top:auto;padding-top:32px;display:flex;flex-direction:column;gap:16px;animation:fadeUp .6s cubic-bezier(.2,.8,.2,1) .35s both}.mob-menu-foot .loc{display:flex;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.mob-menu-foot .dot{width:8px;height:8px;border-radius:50%;background:var(--acc);animation:pulse 1.8s ease-out infinite}.mob-cv{display:flex;align-items:center;gap:14px;padding:6px 20px 6px 6px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none}.mob-cv:active{border-color:var(--acc);color:var(--acc)}.mob-cv .ic{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--acc);color:var(--acc);display:flex;align-items:center;justify-content:center}.mob-cv span:last-child{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.mob-toprow,.mob-only,.journey-mobile,.skills-mobile,.formation-mobile,.projects-mobile{display:none}@media (max-width:767px){.mob-toprow{display:flex;position:relative;z-index:2;align-items:center;justify-content:space-between;gap:12px;padding:calc(76px + env(safe-area-inset-top)) 20px 10px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);animation:fadeUp .9s cubic-bezier(.2,.8,.2,1) .2s both}.mob-toprow .loc{display:flex;align-items:center;gap:10px}.mob-toprow .dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--acc);animation:pulse 1.8s ease-out infinite}.mob-only{display:block}.header,.rule{display:none}.grid-bg{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 20px}.grid-bg div:nth-child(n+5){display:none}.hero{height:auto;min-height:100svh}.main{flex:1 0 auto;padding:0 20px}.title-wrap{margin-top:4px;padding:0}.title{margin:0}.photo-wrap{position:relative;inset:auto;width:auto;flex:1 1 auto;min-height:clamp(260px,44svh,420px);margin:-4svh 0 0;pointer-events:auto}.photo{position:absolute;top:0;right:0;bottom:0;left:0}.photo img{transform-origin:50% 100%}.content{position:relative;left:auto;right:auto;bottom:auto;z-index:3;display:flex;flex-direction:column;gap:16px;margin-top:-120px;padding:64px 0 18px;background:linear-gradient(to top,var(--bg) 62%,color-mix(in srgb,var(--bg) 70%,transparent) 82%,transparent)}.content>div:first-child{display:none}.col{max-width:none;width:100%;justify-self:stretch}.intro{gap:10px}.eyebrow{font-size:11px;line-height:1.5}.role{font-size:clamp(26px,8vw,36px)}.actions{gap:16px}.stats{border-radius:18px}.stat{padding:12px;gap:8px}.stat-label{font-size:9.5px}.stat-val{font-size:clamp(24px,7.4vw,32px)}.btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.btn{padding:6px 14px 6px 6px}.btn .ico{width:44px;height:44px}.btn .lbl{font-size:12px}.btn.cv .lbl{font-size:11px;line-height:1.25}.band-item{font-size:17px;padding:12px 10px 12px 0;gap:20px}.manifesto{padding:96px 20px 88px;gap:24px}.manifesto-text{font-size:clamp(30px,9vw,46px)}.manifesto-sig{margin-top:0}.principles-row{flex-direction:column;min-width:0}.principle{padding:24px 22px 36px}.principle .t{font-size:clamp(44px,14vw,64px)}.about{padding:40px 20px 96px;gap:24px}.about-lead{font-size:clamp(40px,12.4vw,62px)}.about-grid{grid-template-columns:1fr;gap:32px;min-width:0}.about-cols{gap:24px;min-width:0}.about-col{padding-top:18px;gap:12px;min-width:0}.about-col p{font-size:16px;text-wrap:wrap;overflow-wrap:break-word}.sql-card{font-size:13px;min-width:0}.sql-row{grid-template-columns:1fr;gap:4px;padding:10px 16px}.sql-row span:last-child{font-size:14px}.journey-wrap{padding:88px 20px}.journey-head{margin-bottom:40px}.journey-head h2{font-size:clamp(64px,21vw,104px)}.journey-list{display:none}.journey-mobile{display:flex;flex-direction:column;border-top:2px solid var(--line);border-bottom:2px solid var(--ink)}.journey-mobile .jm-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:0 16px}.journey-mobile .jm-rail{position:relative}.journey-mobile .jm-rail .line{position:absolute;left:11px;top:0;bottom:0;width:2px}.journey-mobile .jm-rail .dot{position:absolute;left:4px;top:34px;width:16px;height:16px;box-sizing:border-box;border-radius:50%;border:2px solid var(--acc)}.journey-mobile .jm-body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:28px 0 32px}.journey-mobile .jm-body .n{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--muted)}.journey-mobile .jm-body h3{margin:0;font-family:var(--tfont);font-weight:var(--tweight);font-size:clamp(38px,11.5vw,56px);line-height:.88;text-transform:uppercase;text-wrap:balance}.journey-mobile .jm-body p{margin:0;font-size:16px;line-height:1.6;color:var(--muted);text-wrap:pretty}.skills-wrap{padding:88px 0 0;gap:24px}.skills-head{padding:0 20px}.skills-head h2{font-size:clamp(64px,21vw,104px)}.skills-rows{display:none}.skills-mobile{display:flex;flex-direction:column;gap:40px;padding:0 20px 56px}.skill-block{display:flex;flex-direction:column;gap:14px}.skill-block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:2px solid var(--ink)}.skill-block-head.acc{border-bottom-color:var(--acc)}.skill-block-head .top{display:flex;flex-direction:column;gap:8px;min-width:0}.skill-block-head .num{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;color:var(--acc)}.skill-block-head .name{font-family:var(--tfont);font-weight:var(--tweight);font-size:clamp(34px,10.5vw,48px);line-height:.88;text-transform:uppercase}.skill-block-head .count{flex:none;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.skill-tiles{display:grid;gap:8px}.skill-tile{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px;min-height:104px;padding:16px 6px 12px;box-sizing:border-box;border:1px solid var(--line);background:var(--card);text-align:center;transition:background .25s ease,border-color .25s ease,transform .25s cubic-bezier(.2,.8,.2,1.4)}.skill-tile:active{background:color-mix(in oklch,var(--acc) 22%,var(--bg));border-color:var(--acc);transform:scale(.96)}.skill-tile .glyph{flex:1;display:flex;align-items:center;justify-content:center}.skill-tile .glyph img{object-fit:contain}.skill-tile .lbl{font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.25;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);overflow-wrap:anywhere}.skill-tile .wm{font-weight:900;font-style:italic;font-size:clamp(20px,6vw,26px);line-height:1;letter-spacing:-.02em;text-transform:uppercase}.skill-tile .chip{font-family:Oswald,sans-serif;font-weight:600;font-size:34px;line-height:1;color:var(--acc)}.formation-wrap{padding:88px 20px;gap:32px}.formation-top{margin-bottom:0;gap:14px}.formation-top h2{font-size:clamp(56px,18vw,96px)}.formation-grid,.sem-list{display:none}.formation-mobile{display:flex;flex-direction:column;gap:18px}.sem-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.sem-tab{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;min-height:72px;padding:10px 0 10px 8px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font:inherit;text-align:left;transition:background .3s ease,color .3s ease}.sem-tab:first-child{border-left:0}.sem-tab.active{background:var(--acc);color:var(--bg)}.sem-tab .sdot{width:10px;height:10px;box-sizing:border-box;border-radius:50%;border:2px solid var(--acc)}.sem-tab .snum{font-family:var(--tfont);font-weight:var(--tweight);font-size:clamp(24px,7.4vw,34px);line-height:.85}.formation-mobile .sem-detail .big{font-size:clamp(56px,17vw,84px)}.formation-mobile .sem-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sem-nav-btn{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:none;color:var(--ink);font:inherit;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.sem-nav-btn:last-child{justify-content:space-between}.sem-nav-btn:disabled{opacity:.35;cursor:default}.sem-nav-btn:not(:disabled):active{border-color:var(--acc);color:var(--acc)}.sem-detail{gap:18px}.sem-meta{gap:8px 10px}.sem-detail h3{font-size:clamp(26px,8vw,36px)}.sem-detail p{font-size:16px}.mod-chip{min-height:52px;padding:10px 14px;font-size:14px}.mod-grid{grid-template-columns:1fr;gap:8px}.projects-wrap{padding:88px 0;gap:16px}.projects-head{padding:0 20px;margin-bottom:0}.projects-head h2{font-size:clamp(60px,20vw,100px)}.proj-title-acc{display:block}.projects-grid{display:none}.projects-mobile{display:flex;flex-direction:column;gap:28px}.proj-oracle-mobile{margin:0 20px;border:1px solid var(--acc);background:var(--card)}.proj-oracle-mobile .img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden}.proj-oracle-mobile img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);transition:filter .8s ease}.proj-oracle-mobile.in-view img{filter:grayscale(0) contrast(1)}.proj-oracle-mobile .veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,var(--card) 2%,transparent 55%)}.proj-oracle-mobile .badge{position:absolute;left:0;top:0;padding:8px 12px;background:var(--acc);color:var(--ink);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.proj-oracle-mobile .body{display:flex;flex-direction:column;gap:14px;padding:4px 18px 20px}.proj-oracle-mobile .chips{display:flex;flex-wrap:wrap;gap:6px}.proj-oracle-mobile .chips span{font-family:JetBrains Mono,monospace;padding:5px 8px;border:1px solid var(--acc);color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.proj-oracle-mobile .chips span:first-child{background:var(--acc)}.proj-oracle-mobile .tags{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc2)}.proj-oracle-mobile h3{margin:0;font-family:var(--tfont);font-weight:var(--tweight);font-size:clamp(34px,10.4vw,48px);line-height:.9;text-transform:uppercase;text-wrap:balance}.proj-oracle-mobile p{margin:0;font-size:15px;line-height:1.55;color:var(--ink);text-wrap:pretty;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.proj-oracle-mobile p.open{-webkit-line-clamp:unset}.proj-oracle-mobile .more{align-self:flex-start;display:flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;color:var(--acc2);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.proj-oracle-mobile .actions{display:flex;flex-direction:column;gap:10px}.proj-oracle-mobile .pill{justify-content:space-between;min-height:52px;padding:0 20px}.proj-oracle-mobile .pill.ghost{display:flex;align-items:center;min-height:52px;padding:0 20px}.carousel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px}.carousel-head .count{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.06em;color:var(--muted)}.carousel-head .count b{color:var(--ink);font-weight:400}.carousel-arrows{display:flex;gap:8px}.carousel-arrow{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--ink);font-size:16px;cursor:pointer}.carousel-arrow:disabled{opacity:.35;cursor:default}.carousel-arrow:not(:disabled):active{border-color:var(--acc);color:var(--acc)}.carousel-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;padding:0 20px 4px;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.carousel-card{flex:0 0 84%;max-width:360px;scroll-snap-align:start;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--card);transition:border-color .3s ease}.carousel-card.active{border-color:var(--acc)}.carousel-card .img-wrap{position:relative;aspect-ratio:16/11;overflow:hidden}.carousel-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);transform:scale(1.01);transition:filter .6s ease,transform 1.2s cubic-bezier(.2,.8,.2,1)}.carousel-card.active img{filter:grayscale(0) contrast(1);transform:scale(1.05)}.carousel-card .badge{position:absolute;left:0;top:0;padding:6px 10px;background:var(--acc);color:var(--ink);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.carousel-card .body{flex:1;display:flex;flex-direction:column;gap:10px;padding:16px}.carousel-card .tags{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--acc2)}.carousel-card h3{margin:0;font-weight:800;font-stretch:80%;font-size:20px;line-height:1.05;text-transform:uppercase}.carousel-card p{margin:0 0 auto;font-size:14px;line-height:1.5;color:var(--muted);text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.carousel-card .links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.carousel-card .pill{min-height:44px;padding:0 14px;font-size:11px}.carousel-card .pill.ghost{display:inline-flex;align-items:center;min-height:44px;padding:0 14px}.carousel-dots{display:flex;gap:6px;padding:0 20px}.carousel-dots span{flex:1;height:3px;background:var(--line);transition:background .3s}.carousel-dots span.active{background:var(--acc)}.contact-wrap{padding:88px 20px calc(28px + env(safe-area-inset-bottom))}.contact-inner{gap:40px}.contact-title{font-size:clamp(50px,15.5vw,80px)}.contact-grid{grid-template-columns:1fr;gap:32px}.open-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.open-card{padding:18px}.open-card .t{font-size:40px}.open-card p{font-size:14px;line-height:1.5}.contact-btn{min-height:60px;padding:0 18px}.contact-btn .txt{font-size:clamp(14px,4.2vw,17px)}.socials{gap:10px}.socials a{width:56px;height:56px;border:1px solid var(--line);border-radius:12px}.socials a:active{border-color:var(--acc)}.contact-form{padding:22px 18px;gap:18px}.contact-form h3{font-size:32px}.form-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:14px}.field{gap:8px;font-size:14px}.field input,.field textarea{min-height:52px;padding:14px 16px}.send-btn{min-height:56px}.contact-foot{flex-direction:column;align-items:flex-start;gap:14px}}
