*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d0e12;--bg-soft:#14171d;--bg-card:#1a1d24;--ink:#e6ecf2;--ink-soft:#8a93a0;--ink-mute:#4f5663;--line:rgba(230,236,242,.1);--line-strong:rgba(230,236,242,.22);--accent:#6df4ff;--accent-soft:#2cc6e8;--accent-glow:rgba(109,244,255,.4);--shadow-soft:4px 6px 24px rgba(0,0,0,.28),1px 2px 4px rgba(0,0,0,.18);--shadow-lift:8px 12px 40px rgba(0,0,0,.38),2px 4px 10px rgba(0,0,0,.22);--shadow-button:4px 6px 18px rgba(0,0,0,.3);--shadow-button-hover:6px 10px 32px rgba(0,0,0,.4),0 0 24px var(--accent-glow);--ff-display:"Unbounded","Onest",sans-serif;--ff-body:"Onest",-apple-system,BlinkMacSystemFont,sans-serif;--ff-mono:"JetBrains Mono",ui-monospace,monospace;--pad-x:clamp(20px,4.5vw,64px);--pad-y:clamp(80px,12vh,160px)}body,html{background:var(--bg);color:var(--ink);font-family:var(--ff-body);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;min-height:100dvh;overflow-x:clip;position:relative}a{text-decoration:none}a,button{color:inherit}button{font:inherit;background:none;border:none;cursor:pointer}img,svg,video{display:block;max-width:100%}::selection{background:var(--accent);color:var(--bg)}body:after{content:"";z-index:1000;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.bg-grid,body:after{position:fixed;inset:0;pointer-events:none}.bg-grid{z-index:0;background:radial-gradient(ellipse 90% 70% at 15% 5%,rgba(109,244,255,.07),transparent 55%),radial-gradient(ellipse 60% 50% at 90% 95%,rgba(94,100,200,.05),transparent 60%)}#dust{position:fixed;inset:0;z-index:2;pointer-events:none}main{z-index:4}main,section{position:relative}section{padding:var(--pad-y) var(--pad-x)}.wrap{max-width:1440px;margin:0 auto;width:100%}.display{font-weight:900;letter-spacing:-.04em;text-transform:lowercase}.display,.display-thin{font-family:var(--ff-display);line-height:.95}.display-thin{font-weight:300;letter-spacing:-.03em}.sec-num{display:inline-flex;align-items:center;gap:14px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.sec-num .n{color:var(--accent);font-weight:500;background:linear-gradient(135deg,rgba(109,244,255,.1),rgba(109,244,255,.04));padding:4px 10px;border:1px solid rgba(109,244,255,.25);border-radius:2px;box-shadow:0 0 12px rgba(109,244,255,.1)}.sec-num .slash{color:var(--ink-mute)}.bar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad-x);font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);pointer-events:none;background:linear-gradient(180deg,rgba(13,14,18,.85),rgba(13,14,18,0));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bar>*{pointer-events:auto}.bar-id{display:flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--ff-display);font-weight:700;text-transform:none;letter-spacing:-.01em;font-size:15px}.bar-id .mark{width:24px;height:24px;color:var(--accent);filter:drop-shadow(0 0 4px var(--accent-glow))}.bar-nav{display:flex;gap:32px}.bar-nav a{color:var(--ink-soft);transition:color .2s}.bar-nav a:hover,.bar-tg{color:var(--ink)}.bar-tg{display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}.bar-tg:hover{border-color:var(--accent);color:var(--accent)}.bar-tg .arrow{transition:transform .2s;display:inline-block}.bar-tg:hover .arrow{transform:translate(2px,-2px)}@media (max-width:900px){.bar-nav{display:none}}.mosquito-stage{position:fixed;inset:0;pointer-events:none;z-index:2}.mosquito{position:absolute;width:clamp(120px,14vw,200px);height:clamp(120px,14vw,200px);top:0;left:0;will-change:transform;color:var(--accent);filter:drop-shadow(2px 4px 14px rgba(0,0,0,.4)) drop-shadow(0 0 12px var(--accent-glow)) drop-shadow(0 0 28px rgba(109,244,255,.15));animation:mosquito-fly 38s cubic-bezier(.5,.1,.5,.9) infinite}.mosquito-inner{width:100%;height:100%;animation:mosquito-jitter 3.1s ease-in-out infinite}.mosquito svg{width:100%;height:100%;overflow:visible;transform:translate(-50%,-50%)}@keyframes mosquito-fly{0%{transform:translate(82vw,28vh) rotate(0deg)}6%{transform:translate(92vw,14vh) rotate(18deg)}12%{transform:translate(85vw,32vh) rotate(-8deg)}18%{transform:translate(78vw,58vh) rotate(-15deg)}24%{transform:translate(88vw,72vh) rotate(20deg)}32%{transform:translate(62vw,82vh) rotate(8deg)}40%{transform:translate(42vw,88vh) rotate(-6deg)}46%{transform:translate(26vw,78vh) rotate(-12deg)}53%{transform:translate(8vw,68vh) rotate(14deg)}60%{transform:translate(4vw,45vh) rotate(-20deg)}66%{transform:translate(8vw,28vh) rotate(6deg)}72%{transform:translate(18vw,12vh) rotate(12deg)}78%{transform:translate(34vw,18vh) rotate(-4deg)}84%{transform:translate(52vw,9vh) rotate(8deg)}90%{transform:translate(66vw,16vh) rotate(-10deg)}95%{transform:translate(76vw,22vh) rotate(4deg)}to{transform:translate(82vw,28vh) rotate(0deg)}}@keyframes mosquito-jitter{0%,to{transform:translate(0) rotate(0deg)}20%{transform:translate(-3px,-4px) rotate(-2deg)}40%{transform:translate(4px,-3px) rotate(1.5deg)}60%{transform:translate(2px,4px) rotate(-1deg)}80%{transform:translate(-2px,3px) rotate(2deg)}}.wing-l{transform-origin:80% 50%;animation:wing-flap .09s ease-in-out infinite alternate}.wing-r{transform-origin:20% 50%;animation:wing-flap .09s ease-in-out -45ms infinite alternate}@keyframes wing-flap{0%{transform:scaleY(1) skewX(0deg)}to{transform:scaleY(.32) skewX(-4deg)}}.leg{transform-origin:50% 30%;animation:leg-wiggle 1.2s ease-in-out infinite}.leg-1{animation-delay:0s}.leg-2{animation-delay:-.15s}.leg-3{animation-delay:-.3s}.leg-4{animation-delay:-.45s}.leg-5{animation-delay:-.6s}.leg-6{animation-delay:-.75s}@keyframes leg-wiggle{0%,to{transform:rotate(0deg)}50%{transform:rotate(6deg)}}.eye{animation:eye-pulse 1.8s ease-in-out infinite}@keyframes eye-pulse{0%,to{opacity:.7}50%{opacity:1}}.body-fill{animation:body-pulse 2.6s ease-in-out infinite}@keyframes body-pulse{0%,to{opacity:.5}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.mosquito{animation-duration:60s}}.hero{min-height:100vh;min-height:100dvh;padding:clamp(96px,14vh,160px) var(--pad-x) clamp(20px,3vh,40px);display:flex;flex-direction:column;justify-content:space-between;position:relative}.hero-top-row{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:16px;gap:16px;align-items:start;font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}.hero-top-row .left{text-align:left}.hero-top-row .center{text-align:center}.hero-top-row .right{text-align:right;display:inline-flex;gap:8px;justify-content:flex-end}.hero-top-row .center span{display:inline-block;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(13,14,18,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-top-row .accent{color:var(--accent)}.hero-center{flex:1 1;display:grid;place-items:center;padding:clamp(40px,6vh,80px) 0;min-height:30vh}.hero-status{text-align:center;font-family:var(--ff-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-mute);display:inline-flex;flex-direction:column;align-items:center;gap:8px}.hero-status .dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0,var(--accent-soft) 100%);box-shadow:0 0 14px var(--accent-glow),1px 1px 2px rgba(0,0,0,.3);animation:dot-pulse 1.8s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.hero-name{font-family:var(--ff-display);font-weight:800;font-size:clamp(48px,11.5vw,184px);line-height:.94;letter-spacing:-.045em;text-transform:none;margin-top:clamp(20px,4vh,60px);margin-bottom:0;width:100%;text-align:left;position:relative}.hero-name .display,.hero-name .display-thin,.hero-name span{text-transform:none!important;display:block}.hero-name .accent{color:var(--accent);filter:drop-shadow(0 0 14px var(--accent-glow));padding-left:clamp(40px,8vw,120px)}@media (max-width:760px){.hero-name{font-size:clamp(44px,13vw,100px)}.hero-name .accent{padding-left:clamp(24px,8vw,60px)}}.hero-meta-bottom{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;padding-top:clamp(20px,3vh,36px);font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);border-top:1px solid var(--line);margin-top:clamp(16px,2vh,28px)}.hero-meta-bottom .right{text-align:right}.hero-channel{color:var(--ink-mute);transition:color .2s;display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}.hero-channel b{color:var(--ink);font-weight:500}.hero-channel:hover,.hero-channel:hover b{color:var(--accent)}.hero-channel span{transition:transform .2s;display:inline-block}.hero-channel:hover span{transform:translate(2px,-2px)}@media (max-width:760px){.hero-top-row{grid-template-columns:1fr;gap:8px}.hero-top-row,.hero-top-row .left,.hero-top-row .right{text-align:center}.hero-top-row .right{justify-content:center}}.works{border-top:1px solid var(--line)}.works-head{display:grid;grid-template-columns:1fr;grid-gap:32px;gap:32px;margin-bottom:clamp(48px,7vh,88px)}@media (min-width:900px){.works-head{grid-template-columns:1.5fr 1fr;gap:80px;align-items:end}}.works-title{font-size:clamp(48px,9vw,144px);margin-top:clamp(32px,5vh,56px);line-height:1.02}.works-title .accent{color:var(--accent)}.works-title .slash{color:var(--ink-mute);font-weight:300}.works-intro{font-size:clamp(14px,1.2vw,16px);color:var(--ink-soft);line-height:1.55}.works-intro p+p{margin-top:10px}.filters{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:clamp(28px,4vh,40px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.filter-btn{padding:6px 18px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);border-radius:999px;transition:color .2s,background .2s}.filter-btn:hover{color:var(--ink)}.filter-btn.active{background:linear-gradient(135deg,var(--accent) 0,var(--accent-soft) 100%);color:#08252b;font-weight:500;box-shadow:0 2px 10px rgba(109,244,255,.25)}.filters .count{margin-left:auto;font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);align-self:center}.filters .count b{color:var(--accent);font-weight:500}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(12px,1.5vw,20px);gap:clamp(12px,1.5vw,20px);grid-auto-flow:dense;align-items:start}.work{position:relative;overflow:hidden;background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-soft);transition:border-color .3s,transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s;cursor:pointer}.work:hover{border-color:var(--line-strong);transform:translateY(-4px);box-shadow:var(--shadow-lift)}.work.featured{grid-column:span 2}@media (max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}.work.featured{grid-column:span 2}}@media (max-width:600px){.grid{grid-template-columns:1fr}.work.featured{grid-column:span 1}}.work-cover{position:absolute;inset:0;background-size:cover;background-position:50%;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}.work-cover img,.work-cover video{width:100%;height:100%;object-fit:cover;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none;-webkit-user-drag:none;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.work:hover .work-cover{transform:scale(1.05);filter:brightness(1.1)}.work-cover:after{content:"";inset:0;background:linear-gradient(180deg,transparent 40%,rgba(13,14,18,.92))}.work-cover:after,.work-cover:before{position:absolute;pointer-events:none}.work-cover:before{content:"@dimkomarov";top:clamp(12px,1.2vw,18px);right:clamp(14px,1.4vw,20px);z-index:3;font-family:var(--ff-mono);font-size:clamp(9px,.7vw,11px);letter-spacing:.15em;color:hsla(0,0%,100%,.7);text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;user-select:none}.modal-media{position:relative}.modal-media:after{content:"@dimkomarov";bottom:16px;right:16px;z-index:5;font-size:13px;letter-spacing:.18em;color:hsla(0,0%,100%,.75);text-shadow:0 1px 4px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.5);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.modal-media:after,.work-num{position:absolute;font-family:var(--ff-mono)}.work-num{top:clamp(12px,1.2vw,18px);left:clamp(14px,1.4vw,20px);font-size:10px;letter-spacing:.2em;color:rgba(230,236,242,.7);z-index:2}.work-num span{color:var(--accent)}.work-meta{position:absolute;left:0;right:0;bottom:0;padding:clamp(14px,1.6vw,22px);display:flex;align-items:flex-end;justify-content:space-between;gap:16px;z-index:2;color:var(--ink)}.work-title{font-family:var(--ff-display);font-weight:700;font-size:clamp(16px,1.5vw,22px);letter-spacing:-.02em;line-height:1.05;text-transform:lowercase;margin-bottom:6px}.work-tag{font-family:var(--ff-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.work-play{width:38px;height:38px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;color:var(--ink);flex-shrink:0;background:rgba(13,14,18,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:2px 3px 8px rgba(0,0,0,.3);transition:background .3s,color .3s,border-color .3s,box-shadow .3s}.work:hover .work-play{background:linear-gradient(135deg,var(--accent) 0,var(--accent-soft) 100%);color:#08252b;border-color:transparent;box-shadow:2px 4px 12px rgba(0,0,0,.4),0 0 16px var(--accent-glow)}.work-play svg{width:13px;height:13px}.manifesto{border-top:1px solid var(--line);padding:clamp(70px,10vh,140px) var(--pad-x);text-align:center}.manifesto-text{font-family:var(--ff-display);font-weight:300;font-size:clamp(24px,4vw,56px);line-height:1.15;letter-spacing:-.025em;text-transform:lowercase;max-width:24ch;margin:28px auto 0}.manifesto-text em{font-style:normal;font-weight:900;color:var(--accent)}.manifesto-mark{display:inline-flex;width:32px;height:1px;background:var(--accent);margin:0 16px;vertical-align:middle}.about{border-top:1px solid var(--line)}.about-headline{font-size:clamp(40px,7vw,104px);margin-top:clamp(40px,6vh,72px);margin-bottom:clamp(60px,9vh,120px);line-height:1.02}.about-headline .accent{color:var(--accent)}.about-headline .slash{color:var(--ink-mute);font-weight:300}.about-text{display:grid;grid-template-columns:1fr;grid-gap:clamp(20px,2.5vh,28px);gap:clamp(20px,2.5vh,28px);max-width:880px;margin-bottom:clamp(20px,3vh,40px)}@media (min-width:900px){.about-text{grid-template-columns:1fr 1fr;gap:64px;max-width:1100px}}.about-text p{font-size:clamp(16px,1.4vw,20px);line-height:1.6;color:var(--ink-soft)}.about-text p strong{color:var(--ink);font-weight:500}.services{margin-top:clamp(72px,10vh,120px);border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:80px 1fr auto;grid-gap:clamp(16px,3vw,48px);gap:clamp(16px,3vw,48px);padding:clamp(28px,4vh,44px) 0;border-bottom:1px solid var(--line);align-items:center;transition:padding .3s;position:relative}.service:before{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:var(--accent);opacity:0;transition:width .3s,opacity .3s}.service:hover{padding-left:24px}.service:hover:before{width:2px;opacity:.6}.service-num{font-family:var(--ff-mono);font-size:12px;letter-spacing:.2em;color:var(--ink-mute)}.service-num span{color:var(--accent)}.service-name{font-family:var(--ff-display);font-weight:700;font-size:clamp(22px,3.5vw,44px);letter-spacing:-.025em;line-height:1.05;text-transform:lowercase}.service-desc{font-size:13px;color:var(--ink-mute);text-align:right;max-width:260px;line-height:1.45}@media (max-width:760px){.service{grid-template-columns:40px 1fr}.service-desc{grid-column:2;text-align:left;max-width:none;margin-top:8px}}.pricing{border-top:1px solid var(--line)}.pricing-head{display:grid;grid-template-columns:1fr;grid-gap:32px;gap:32px;align-items:end;margin-bottom:clamp(48px,7vh,80px)}@media (min-width:900px){.pricing-head{grid-template-columns:1.5fr 1fr;gap:80px}}.pricing-title{font-size:clamp(48px,8vw,128px);margin-top:clamp(32px,5vh,56px);line-height:1.02}.pricing-title .accent{color:var(--accent)}.pricing-title .slash{color:var(--ink-mute);font-weight:300}.pricing-note{font-size:14px;color:var(--ink-soft);line-height:1.55}.menu{border-top:1px solid var(--line)}.menu-row{display:grid;grid-template-columns:60px 1fr auto auto;grid-gap:clamp(16px,3vw,40px);gap:clamp(16px,3vw,40px);padding:clamp(28px,3.5vh,44px) 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding .3s;position:relative}.menu-row:before{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:var(--accent);opacity:0;transition:width .3s,opacity .3s}.menu-row:hover{padding-left:24px}.menu-row:hover:before{width:2px;opacity:.6}.menu-num{font-family:var(--ff-mono);font-size:12px;letter-spacing:.2em;color:var(--ink-mute)}.menu-num span{color:var(--accent)}.menu-body h3{font-family:var(--ff-display);font-weight:700;font-size:clamp(24px,4vw,44px);letter-spacing:-.025em;line-height:1.05;text-transform:lowercase;margin-bottom:10px}.menu-body p{font-size:14px;color:var(--ink-soft);max-width:50ch;line-height:1.5}.menu-features{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.18em;color:var(--ink-mute);text-transform:uppercase}.menu-features span:before{content:"/ ";color:var(--accent);margin-right:4px;font-weight:500}.menu-price{font-family:var(--ff-display);font-weight:600;font-size:clamp(16px,1.6vw,22px);letter-spacing:-.01em;white-space:nowrap;color:var(--ink);text-transform:lowercase}.menu-price .from{font-size:10px;font-weight:400;color:var(--ink-mute);display:block;margin-bottom:6px}.menu-cta,.menu-price .from{font-family:var(--ff-mono);letter-spacing:.2em;text-transform:uppercase}.menu-cta{font-size:11px;display:inline-flex;align-items:center;gap:8px;padding-bottom:4px;border-bottom:1px solid var(--line-strong);white-space:nowrap;transition:border-color .2s,color .2s}.menu-cta:hover{color:var(--accent);border-color:var(--accent)}.menu-cta .arr{transition:transform .2s}.menu-cta:hover .arr{transform:translate(3px,-3px)}@media (max-width:900px){.menu-row{grid-template-columns:40px 1fr;grid-template-areas:"num body" ". price" ". cta";gap:12px 16px}.menu-num{grid-area:num}.menu-body{grid-area:body}.menu-price{grid-area:price;margin-top:12px}.menu-cta{grid-area:cta;margin-top:4px}}.contact{border-top:1px solid var(--line);padding-bottom:clamp(60px,8vh,100px)}.contact-grid{display:grid;grid-template-columns:1fr;grid-gap:clamp(40px,6vw,80px);gap:clamp(40px,6vw,80px);align-items:end;margin-top:48px}@media (min-width:900px){.contact-grid{grid-template-columns:1.5fr 1fr}}.contact-title{font-size:clamp(64px,14vw,200px);line-height:1;margin-top:clamp(20px,3vh,36px)}.contact-title .accent{color:var(--accent);filter:drop-shadow(0 0 14px var(--accent-glow));display:block;padding-left:clamp(40px,8vw,140px)}.contact-title .slash{color:var(--ink-mute);font-weight:300}.contact-side{display:flex;flex-direction:column;gap:24px}.contact-side p{font-size:clamp(15px,1.3vw,18px);color:var(--ink-soft);line-height:1.55;max-width:32ch}.tg-btn{display:inline-flex;align-items:center;gap:14px;padding:18px 28px;background:linear-gradient(135deg,var(--accent) 0,var(--accent-soft) 100%);color:#08252b;border-radius:999px;font-family:var(--ff-display);font-weight:600;font-size:15px;letter-spacing:-.005em;align-self:flex-start;transition:transform .2s,box-shadow .2s,filter .2s;border:1px solid transparent;box-shadow:var(--shadow-button),0 0 18px var(--accent-glow)}.tg-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-button-hover);filter:brightness(1.08)}.tg-btn svg{width:20px;height:20px}.tg-btn-ghost{background:linear-gradient(135deg,rgba(230,236,242,.04),rgba(230,236,242,.01));color:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--shadow-soft)}.tg-btn-ghost:hover{background:linear-gradient(135deg,var(--accent) 0,var(--accent-soft) 100%);color:#08252b;border-color:transparent;filter:brightness(1.05)}.contact-links{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:8px}.contact-link{display:flex;flex-direction:column;font-family:var(--ff-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);padding-bottom:6px;border-bottom:1px solid var(--line);transition:border-color .2s,color .2s}.contact-link:hover{border-color:var(--accent)}.contact-link:hover .username{color:var(--accent)}.contact-link .username{font-family:var(--ff-display);font-weight:500;color:var(--ink);letter-spacing:-.01em;text-transform:lowercase;font-size:17px;margin-top:6px;display:inline-flex;align-items:center;gap:6px;transition:color .2s}.contact-link .username .arr{font-size:12px;opacity:.6}.footer{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;padding:28px var(--pad-x);border-top:1px solid var(--line);font-family:var(--ff-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);position:relative;z-index:4}@media (min-width:700px){.footer{grid-template-columns:1fr 1fr 1fr;align-items:center}.footer .center{text-align:center}.footer .end{text-align:right}}.modal{position:fixed;inset:0;background:rgba(13,14,18,.94);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:300;display:none;align-items:center;justify-content:center;padding:clamp(20px,4vw,40px);overflow-y:auto}.modal.open{display:flex;animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-inner{position:relative;max-width:1200px;width:100%;flex-direction:column;gap:20px}.modal-close,.modal-inner{display:flex;align-items:center}.modal-close{position:fixed;top:16px;right:16px;z-index:999;width:52px;height:52px;justify-content:center;background:var(--accent);color:#08252b;border:2px solid var(--accent);border-radius:50%;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 4px 16px rgba(0,0,0,.4),0 0 24px var(--accent-glow);font-family:var(--ff-display);font-weight:700;font-size:0;padding:0}.modal-close:before{content:"×";font-size:32px;line-height:1;font-weight:400}.modal-close span{display:none}.modal-close:hover{transform:scale(1.1) rotate(90deg);background:#fff}@media (max-width:700px){.modal-close{width:48px;height:48px;top:12px;right:12px}.modal-close:before{font-size:28px}}.modal-media{width:auto;max-width:100%;max-height:calc(100dvh - 160px);aspect-ratio:16/10;border-radius:4px;background:var(--bg-soft);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-mute);font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;overflow:hidden}.modal-media img,.modal-media video{width:100%;height:100%;object-fit:contain;background:#000;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.modal-info{margin-top:20px;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:16px}.modal-info h3{font-family:var(--ff-display);font-weight:700;font-size:clamp(22px,2.5vw,32px);letter-spacing:-.025em;text-transform:lowercase}.modal-info .work-tag{font-size:11px;color:var(--accent)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:translateY(0)}.admin-shell{min-height:100vh;padding:32px var(--pad-x);max-width:1200px;margin:0 auto}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--line)}.admin-head h1{font-family:var(--ff-display);font-weight:700;font-size:28px;letter-spacing:-.02em}.admin-logout{font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);padding:8px 16px;border:1px solid var(--line);border-radius:999px;transition:border-color .2s,color .2s;cursor:pointer}.admin-logout:hover{border-color:var(--accent);color:var(--accent)}.admin-form{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:28px;margin-bottom:32px}.admin-form h2{font-family:var(--ff-display);font-size:18px;letter-spacing:-.01em;margin-bottom:20px}.field{margin-bottom:16px}.field label{display:block;font-family:var(--ff-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:10px 14px;background:var(--bg);border:1px solid var(--line);border-radius:4px;color:var(--ink);font-family:var(--ff-body);font-size:14px}.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.field-row{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:700px){.field-row{grid-template-columns:1fr}}.dropzone{border:2px dashed var(--line-strong);border-radius:6px;padding:32px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.dropzone.over,.dropzone:hover{border-color:var(--accent);background:rgba(109,244,255,.04)}.dropzone-info{color:var(--ink-mute);font-size:13px;line-height:1.5}.dropzone-info b{color:var(--accent)}.progress{margin-top:12px;height:4px;background:var(--bg);border-radius:2px;overflow:hidden}.progress-bar{height:100%;background:var(--accent);transition:width .3s}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,var(--accent) 0,var(--accent-soft) 100%);color:#08252b;border-radius:6px;font-family:var(--ff-display);font-weight:600;font-size:14px;cursor:pointer;transition:transform .2s,box-shadow .2s;border:none}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px var(--accent-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.admin-list{display:flex;flex-direction:column;gap:8px}.admin-item{display:grid;grid-template-columns:80px 1fr auto auto;grid-gap:16px;gap:16px;align-items:center;padding:12px 16px;background:var(--bg-soft);border:1px solid var(--line);border-radius:6px}.admin-item-thumb{width:80px;height:50px;border-radius:4px;background:var(--bg-card);object-fit:cover}.admin-item-info h4{font-family:var(--ff-display);font-weight:600;font-size:15px;letter-spacing:-.01em}.admin-item-info span{font-family:var(--ff-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute)}.admin-actions{display:flex;gap:8px}.admin-actions button{padding:6px 12px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--line);border-radius:4px;color:var(--ink-soft);cursor:pointer;transition:border-color .2s,color .2s}.admin-actions button:hover{border-color:var(--accent);color:var(--accent)}.admin-actions button.danger:hover{border-color:#ff5050;color:#ff5050}.admin-empty{text-align:center;padding:48px 24px;color:var(--ink-mute);font-size:14px}.login-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}.login-form{width:100%;max-width:360px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:32px}.login-form h1{font-family:var(--ff-display);font-weight:700;font-size:22px;letter-spacing:-.02em;margin-bottom:24px;text-align:center}.login-form input{width:100%;padding:12px 16px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:14px;margin-bottom:12px}.login-form input:focus{outline:none;border-color:var(--accent)}.login-form button{width:100%}.login-error{color:#ff5050;font-size:13px;margin-top:8px;text-align:center}