@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.p.woff2) format("woff2");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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,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:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_3026fd{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_3026fd{--font-sans:"Manrope","Manrope Fallback"}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.p.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_e7e80d{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_e7e80d{--font-display:"Space Grotesk","Space Grotesk Fallback"}:root{--green:#35c759;--blue:#2196f3;--ink:#07111f;--muted:#647285;--line:#dfe8ef;--line-strong:#c7d7e2;--paper:#ffffff;--mist:#f4faff;--shadow:0 28px 90px rgba(20,82,128,0.12)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;overflow-x:hidden;background-color:var(--paper);background-image:url(/assets/background/background.png);background-attachment:fixed;background-position:top;background-repeat:no-repeat;background-size:cover;color:var(--ink);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body::selection{background:rgba(53,199,89,.22)}a{color:inherit}img,svg{max-width:100%}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;width:100%;border-bottom:1px solid rgba(199,215,226,.72);background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;width:min(1240px,calc(100% - 36px));height:74px;margin:0 auto}.brand{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-family:var(--font-display),var(--font-sans),sans-serif;font-size:15px;font-weight:800;line-height:1;text-decoration:none}.brand span:first-child{color:var(--green)}.brand span:last-child{color:var(--blue)}nav{display:flex;align-items:center;gap:26px}nav a{position:relative;color:var(--muted);font-size:14px;font-weight:800;text-decoration:none}nav a:after{position:absolute;right:0;bottom:-7px;left:0;height:2px;background:var(--green);content:"";transform:scaleX(0);transform-origin:right;transition:transform .22s ease}nav a:hover{color:var(--ink)}nav a:hover:after{transform:scaleX(1);transform-origin:left}.system-bubbles{position:fixed;top:50%;right:18px;z-index:120;display:grid;grid-gap:10px;gap:10px;transform:translateY(-50%)}.system-bubbles a{position:relative;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(199,215,226,.82);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 16px 42px rgba(20,82,128,.12);text-decoration:none;transition:border-color .18s ease,transform .18s ease,background .18s ease}.system-bubbles a:after{display:none}.system-bubbles a:hover{border-color:rgba(53,199,89,.42);background:rgba(255,255,255,.96);transform:translateX(-4px) scale(1.04)}.system-bubbles img{width:28px;height:28px;object-fit:contain}.system-bubbles span{position:absolute;right:calc(100% + 10px);width:max-content;max-width:160px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.94);padding:8px 11px;color:var(--ink);font-size:12px;font-weight:900;line-height:1;opacity:0;pointer-events:none;transform:translateX(8px);transition:opacity .18s ease,transform .18s ease}.system-bubbles a:focus-visible span,.system-bubbles a:hover span{opacity:1;transform:translateX(0)}.contact-section,.hero,.projects,footer{width:min(1240px,calc(100% - 36px));margin:0 auto}.hero{position:relative;min-height:calc(100svh - 74px);padding:clamp(52px,7vh,72px) 0 clamp(42px,6vh,60px)}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:44px;gap:44px;align-items:end}.eyebrow{margin:0;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}h1,h2{font-family:var(--font-display),var(--font-sans),sans-serif;letter-spacing:0}h1{max-width:1040px;margin:18px 0 0;font-size:clamp(60px,11vw,156px);font-weight:700;line-height:.84}h1 span{display:block}h1 span:first-of-type{color:var(--green)}h1 span:last-of-type{color:var(--blue)}.hero-card{position:relative;z-index:2;overflow:hidden;border:1px solid rgba(199,215,226,.86);border-radius:8px;background:rgba(255,255,255,.78);padding:18px;box-shadow:var(--shadow)}.hero-card:before{position:absolute;top:-42px;right:-42px;width:118px;height:118px;border-radius:999px;background:rgba(33,150,243,.16);content:""}.availability{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(53,199,89,.22);border-radius:999px;background:rgba(53,199,89,.08);padding:8px 11px;color:var(--ink);font-size:13px;font-weight:900}.availability span{width:9px;height:9px;border-radius:999px;background:var(--green);box-shadow:0 0 0 7px rgba(53,199,89,.12)}.hero-card strong{display:block;max-width:230px;margin-top:28px;color:var(--ink);font-family:var(--font-display),var(--font-sans),sans-serif;font-size:28px;font-weight:700;line-height:.98}.hero-card p{margin:14px 0 18px;color:var(--muted);font-size:15px;font-weight:650;line-height:1.55}.hero-card a{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;width:100%;border:1px solid rgba(7,17,31,.08);border-radius:8px;background:rgba(53,199,89,.12);padding:0 10px 0 14px;color:var(--ink);font-size:13px;font-weight:900;text-decoration:none;transition:background .18s ease,transform .18s ease}.hero-card a:after{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:999px;background:var(--ink);color:#fff;content:"->"}.hero-card a:hover{border-color:rgba(33,150,243,.24);background:rgba(33,150,243,.14);color:var(--ink);transform:translateY(-2px)}.hero-card a:hover:after{background:var(--green);color:var(--ink)}.hero-visual{position:absolute;right:4vw;bottom:26px;z-index:-1;width:min(48vw,560px);aspect-ratio:1;pointer-events:none}.water-scene{position:absolute;right:8%;bottom:0;width:68%;aspect-ratio:1.9;border:1px solid rgba(33,150,243,.14);border-radius:50%;background:rgba(33,150,243,.08);box-shadow:inset 0 12px 34px rgba(255,255,255,.72),inset 0 -18px 42px rgba(33,150,243,.09),0 28px 90px rgba(20,82,128,.1);transform:rotate(-6deg)}.water-scene:before{position:absolute;inset:12%;border:1px solid rgba(255,255,255,.62);border-radius:50%;content:""}.water-drop{position:absolute;top:-34px;left:52%;width:8px;height:18px;border-radius:999px 999px 999px 4px;background:var(--blue);opacity:0;transform:rotate(32deg) translateY(-24px);animation:water-drop 6.8s ease-in-out infinite}.drop-two{left:36%;background:var(--green);animation-delay:3.4s}.drop-three{left:66%;width:6px;height:14px;animation-delay:1.2s;animation-duration:5.6s}.drop-four{left:24%;width:7px;height:16px;background:var(--green);animation-delay:4.8s;animation-duration:7.4s}.drop-five{left:78%;width:5px;height:12px;opacity:0;animation-delay:6.1s;animation-duration:8.2s}.water-ring{position:absolute;top:48%;left:52%;width:22px;height:12px;border:2px solid rgba(33,150,243,.3);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.2);animation:water-ring 6.8s ease-out infinite}.ring-two{border-color:rgba(53,199,89,.28);animation-delay:.18s}.ring-three{left:36%;border-color:rgba(53,199,89,.26);animation-delay:3.4s}.ring-four{left:66%;border-color:rgba(33,150,243,.24);animation-delay:1.2s;animation-duration:5.6s}.ring-five{left:24%;border-color:rgba(53,199,89,.24);animation-delay:4.8s;animation-duration:7.4s}.ring-six{left:78%;border-color:rgba(33,150,243,.2);animation-delay:6.1s;animation-duration:8.2s}.orb,.orbit{position:absolute;border-radius:999px}.orb{filter:blur(2px);opacity:.18}.orb-green{inset:18% 50% 38% 7%;background:var(--green);animation:float-one 8s ease-in-out infinite}.orb-blue{inset:36% 6% 12% 38%;background:var(--blue);animation:float-two 10s ease-in-out infinite}.orbit{border:1px solid rgba(33,150,243,.16)}.orbit-one{inset:7%;animation:spin 24s linear infinite}.orbit-two{inset:21%;border-color:rgba(53,199,89,.18);animation:spin 18s linear infinite reverse}.marquee{display:flex;width:100%;overflow:hidden;border-block:1px solid var(--line);background:rgba(244,250,255,.72)}.marquee div{display:flex;min-width:max-content;animation:marquee 28s linear infinite}.marquee span{padding:18px 28px;color:var(--muted);font-family:var(--font-display),var(--font-sans),sans-serif;font-size:clamp(22px,4vw,54px);font-weight:700;white-space:nowrap}.marquee span:nth-child(2n){color:var(--blue)}.marquee span:nth-child(3n){color:var(--green)}.projects{padding:112px 0 0}.section-heading{display:grid;grid-template-columns:180px minmax(0,1fr);grid-gap:36px;gap:36px;align-items:end;margin-bottom:42px}h2{max-width:880px;margin:0;font-size:clamp(48px,8vw,118px);font-weight:700;line-height:.9}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.project-door{position:relative;display:grid;grid-template-rows:auto auto 1fr;min-height:620px;overflow:visible;border:1px solid var(--line-strong);border-radius:8px;background:rgba(255,255,255,.78);padding:18px 18px 76px;text-decoration:none;transform:translateZ(0);perspective:1500px;box-shadow:0 22px 70px rgba(20,82,128,.08);transition:box-shadow .42s cubic-bezier(.22,1,.36,1),filter .42s ease,transform .64s cubic-bezier(.16,1,.3,1)}.project-door>*{position:relative;z-index:1}.project-door:before{position:absolute;inset:10px;z-index:0;background:rgba(244,250,255,.9);border-radius:6px;content:"";opacity:0;transform:translateY(10px) scale(.98);transform-origin:left;transition:opacity .22s ease,transform .22s ease}.project-door:hover:before{opacity:1;transform:translateY(0) scale(1)}.project-door .project-index{position:absolute;top:20px;left:22px;z-index:2}.door-frame{position:relative;display:block;height:360px;overflow:visible;border:1px solid rgba(199,215,226,.92);border-radius:7px;background:rgba(244,250,255,.92);box-shadow:inset 12px 0 24px rgba(7,17,31,.06),0 18px 42px rgba(20,82,128,.1);transform-style:preserve-3d}.door-frame:before{position:absolute;inset:14px;z-index:2;border:1px solid rgba(255,255,255,.78);border-radius:5px;content:"";pointer-events:none}.door-frame:after{position:absolute;top:50%;right:18px;z-index:4;width:11px;height:11px;border-radius:999px;background:var(--green);box-shadow:0 0 0 7px rgba(53,199,89,.12);content:""}.door-light{position:absolute;inset:20px 18px 20px 32px;z-index:1;border-radius:5px;background:rgba(255,255,255,.94);box-shadow:0 0 0 1px rgba(53,199,89,.2),0 0 42px rgba(53,199,89,.32),0 0 84px rgba(33,150,243,.22);opacity:0;transform:scale(.74);transition:opacity .26s ease,transform .36s cubic-bezier(.22,1,.36,1)}.door-hinge{position:absolute;top:34px;bottom:34px;left:13px;z-index:5;width:4px;border-radius:999px;background:var(--green);box-shadow:0 0 0 5px rgba(255,255,255,.74),0 14px 34px rgba(33,150,243,.18)}.door-panel{position:absolute;inset:14px 14px 14px 22px;display:grid;place-items:center;z-index:3;overflow:hidden;border:1px solid rgba(199,215,226,.8);border-radius:5px;background:#fff;transform-origin:left center;transition:box-shadow .26s ease,filter .26s ease,transform .36s cubic-bezier(.22,1,.36,1)}.project-door:focus-visible .door-panel,.project-door:hover .door-panel{box-shadow:22px 12px 28px rgba(7,17,31,.12);filter:saturate(1.08) contrast(1.02);transform:rotateY(-16deg) translateX(8px) skewY(-.5deg)}.project-door.is-opening{pointer-events:none;z-index:30;box-shadow:0 34px 110px rgba(7,17,31,.18);transform:translateY(-8px) scale(1.015)}.project-door.is-opening:after{position:absolute;inset:-1px;z-index:8;border-radius:8px;background:rgba(255,255,255,.72);content:"";opacity:0;animation:door-flash .62s ease forwards}.project-door.is-opening .door-light{opacity:1;transform:scale(1.42)}.project-door.is-opening .door-panel{box-shadow:24px 12px 30px rgba(7,17,31,.14);filter:saturate(1.08) contrast(1.02);transform:rotateY(-38deg) translateX(14px) skewY(-.5deg)}.project-door.is-opening .project-index,.project-door.is-opening .project-main,.project-door.is-opening .project-tags{opacity:.22;transform:translateY(12px);transition:opacity .26s ease,transform .36s ease}.project-door.is-opening .door-shine{opacity:1;transform:translateX(56%)}.cinematic-gate{position:fixed;inset:0;z-index:400;display:block;width:100%;height:100dvh;overflow:hidden;background:var(--blue);perspective:1200px;pointer-events:none}.gate-light{position:absolute;inset:0;background:rgba(255,255,255,.96);opacity:0;transform:scaleX(.02) scaleY(.64);transform-origin:center;filter:blur(18px);animation:gate-light 1.08s cubic-bezier(.16,1,.3,1) forwards}.gate-panel{position:absolute;top:0;bottom:0;width:calc(50% + 2px);box-shadow:0 0 46px rgba(20,82,128,.22);will-change:transform}.gate-panel-left{left:0;background:var(--green);transform-origin:left center;animation:gate-open-left 1.08s cubic-bezier(.16,1,.3,1) forwards}.gate-panel-right{right:0;background:var(--blue);transform-origin:right center;animation:gate-open-right 1.08s cubic-bezier(.16,1,.3,1) forwards}.gate-title{position:absolute;inset:0;z-index:3;display:grid;place-items:center;color:#fff;font-family:var(--font-display),var(--font-sans),sans-serif;font-size:clamp(34px,7vw,112px);font-weight:700;letter-spacing:0;opacity:0;transform:translateY(18px) scale(.96);animation:gate-title 1.08s ease forwards}.gate-title span{max-width:min(960px,calc(100vw - 44px));text-align:center}.project-door.is-opening .project-arrow{background:var(--blue);color:#fff;transform:translateX(8px) rotate(-18deg) scale(1.08)}.door-panel img{width:100%;height:100%;object-fit:cover}.door-fallback{display:grid;width:118px;height:118px;place-items:center;border-radius:999px;background:rgba(53,199,89,.12);color:var(--ink);font-family:var(--font-display),var(--font-sans),sans-serif;font-size:42px;font-weight:700;box-shadow:var(--shadow)}.door-shine{position:absolute;inset:16px;z-index:4;border-radius:5px;background:rgba(255,255,255,.46);opacity:0;pointer-events:none;transform:translateX(-34%);transition:opacity .22s ease,transform .46s ease}.project-door:focus-visible .door-shine,.project-door:hover .door-shine{opacity:1;transform:translateX(34%)}.project-index{color:var(--blue);font-family:var(--font-display),var(--font-sans),sans-serif;font-size:14px;font-weight:700}.project-main{display:grid;grid-gap:14px;gap:14px;align-content:start;min-height:172px;margin-top:28px}.project-main strong{font-family:var(--font-display),var(--font-sans),sans-serif;font-size:clamp(32px,4.8vw,72px);font-weight:700;line-height:.96;min-height:calc(clamp(32px, 4.8vw, 72px) * 1.92);transition:transform .22s ease}.project-door:hover .project-main strong{transform:translateX(10px)}.project-main span{display:-webkit-box;max-width:700px;min-height:3.2em;overflow:hidden;color:var(--muted);font-size:15px;font-weight:650;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-tags{display:flex;flex-wrap:wrap;gap:8px;align-self:end;justify-content:flex-start;min-height:36px;margin-top:22px;padding-right:58px}.project-tags span{border:1px solid var(--line);background:rgba(255,255,255,.65);padding:8px 11px;color:var(--muted);font-size:12px}.project-arrow,.project-tags span{border-radius:999px;font-weight:900}.project-arrow{position:absolute;right:18px;bottom:18px;display:grid;width:44px;height:44px;place-items:center;background:var(--ink);color:#fff;transition:background .18s ease,transform .18s ease}.project-door:hover .project-arrow{background:var(--green);color:var(--ink);transform:translateX(4px) rotate(-12deg)}.contact-section{display:grid;grid-template-columns:minmax(0,.82fr) minmax(360px,.58fr);grid-gap:36px;gap:36px;align-items:center;padding:104px 0 84px}.contact-section h2{max-width:760px;margin:14px 0 0}.contact-copy p:not(.eyebrow){max-width:520px;margin:22px 0 0;color:var(--muted);font-size:clamp(17px,2vw,22px);font-weight:650;line-height:1.5}.contact-board{position:relative;min-height:360px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.74);box-shadow:0 24px 70px rgba(20,82,128,.08)}.contact-board:before{position:absolute;inset:22px;border:1px dashed rgba(100,114,133,.22);border-radius:999px;content:""}.contact-mail{position:absolute;right:28px;bottom:28px;left:28px;display:flex;align-items:center;gap:12px;border:1px solid rgba(7,17,31,.08);border-radius:8px;background:rgba(255,255,255,.82);padding:14px;color:var(--ink);font-size:clamp(13px,1.8vw,15px);font-weight:850;text-decoration:none;word-break:break-word;box-shadow:0 16px 42px rgba(20,82,128,.08);transition:border-color .18s ease,transform .18s ease}.contact-mail span,.contact-node span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:999px;background:rgba(244,250,255,.9);color:var(--ink);font-family:var(--font-display),var(--font-sans),sans-serif;font-size:12px;font-weight:900}.contact-mail svg,.contact-node svg{width:17px;height:17px;fill:currentColor}.contact-mail:hover{border-color:rgba(33,150,243,.3);transform:translateY(-3px)}.contact-mail:hover span,.contact-node:hover span{background:rgba(53,199,89,.22)}.contact-orbit,.contact-orbit span{position:absolute;border-radius:999px}.contact-orbit{inset:48px 52px 92px;border:1px solid rgba(33,150,243,.2);animation:spin 26s linear infinite}.contact-orbit span:first-child{top:-5px;left:30%;width:10px;height:10px;background:var(--green)}.contact-orbit span:last-child{right:12%;bottom:-6px;width:12px;height:12px;background:var(--blue)}.contact-node{position:absolute;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(199,215,226,.86);border-radius:999px;background:rgba(255,255,255,.84);padding:8px 12px 8px 8px;color:var(--muted);font-size:13px;font-weight:900;text-decoration:none;box-shadow:0 16px 40px rgba(20,82,128,.08);transition:color .18s ease,transform .18s ease}.contact-node:hover{color:var(--ink);transform:translateY(-5px) rotate(-2deg)}.node-linkedin{top:54px;left:42px}.node-facebook{top:122px;right:42px}.node-github{top:190px;left:112px}footer{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:28px 0 44px;color:var(--muted);font-size:14px;font-weight:800}footer a{color:var(--blue);text-decoration:none}.reveal-up{animation:reveal-up .7s cubic-bezier(.22,1,.36,1) both}.hero-card.reveal-up{animation-delay:.12s}.project-door{animation:reveal-up .62s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 0 cover 34%}.admin-page{display:block;min-height:100vh;padding:88px 32px 48px}.back-link{position:fixed;top:24px;left:24px;color:var(--muted);font-size:14px;font-weight:800;text-decoration:none}.admin-shell{width:min(1180px,100%);margin:0 auto}.admin-heading{margin-bottom:30px}.admin-heading h1{margin:10px 0 0;font-size:clamp(56px,8vw,112px);line-height:.88}.admin-layout{grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);grid-gap:18px}.admin-dashboard-layout,.admin-layout{display:grid;gap:18px;align-items:start}.admin-dashboard-layout{grid-template-columns:220px minmax(0,1fr);grid-gap:18px}.admin-sidebar{position:-webkit-sticky;position:sticky;top:24px;display:grid;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.86);padding:12px;box-shadow:var(--shadow)}.admin-sidebar button{display:grid;height:auto;justify-items:start;grid-gap:6px;gap:6px;border:1px solid transparent;background:transparent;padding:12px;color:var(--muted);text-align:left}.admin-sidebar button.is-active,.admin-sidebar button:hover{border-color:rgba(33,150,243,.24);background:rgba(244,250,255,.92);color:var(--ink)}.admin-sidebar button.is-active{box-shadow:inset 4px 0 0 var(--green)}.admin-sidebar span{font-size:14px;font-weight:900}.admin-sidebar small{color:var(--muted);font-size:11px;font-weight:800}.admin-section-stage{min-width:0}.admin-list,.admin-marquee-panel,.admin-panel{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.86);padding:32px;box-shadow:var(--shadow)}.admin-marquee-panel h2,.admin-panel h2{margin:12px 0 26px;font-size:clamp(38px,6vw,70px);line-height:.92}.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.admin-panel-head span{border:1px solid rgba(53,199,89,.22);border-radius:999px;background:rgba(53,199,89,.08);padding:8px 11px;color:var(--ink);font-size:12px;font-weight:900}.admin-list{padding:18px}.admin-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.admin-list-head strong{font-size:14px}.admin-list-head button{width:auto;height:36px;padding:0 14px}.admin-projects{display:grid;grid-gap:10px;gap:10px}.admin-projects article{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:8px;background:rgba(244,250,255,.56);padding:8px}.admin-projects article.is-editing{border-color:rgba(33,150,243,.38);box-shadow:0 0 0 4px rgba(33,150,243,.08)}.admin-projects article button:first-child{display:grid;height:auto;justify-items:start;border-radius:6px;background:transparent;padding:6px;color:var(--ink);text-align:left}.admin-projects article button:first-child:hover{background:#fff;color:var(--ink)}.admin-projects span{font-size:14px;font-weight:900}.admin-projects small{max-width:230px;overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.danger-button{width:auto;height:34px;align-self:center;background:#fff1f2;padding:0 10px;color:#be123c;font-size:12px}.danger-button:hover{background:#be123c;color:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.admin-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.52fr);grid-gap:18px;gap:18px;align-items:start}.admin-form-fields,form{display:grid;grid-gap:16px;gap:16px}label{display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-size:13px;font-weight:800}input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:13px 14px;color:var(--ink);font:inherit;outline:none}.checkbox-label{display:flex;align-items:center;gap:10px}.checkbox-label input{width:18px;height:18px}textarea{min-height:110px;resize:vertical}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(33,150,243,.12)}button{height:48px;border:0;border-radius:8px;background:var(--green);color:var(--ink);cursor:pointer;font:inherit;font-weight:900}button:hover{background:var(--blue);color:#fff}.admin-actions{display:flex;gap:10px;align-items:center}.save-button{display:inline-flex;flex:1 1;align-items:center;justify-content:space-between;gap:12px;min-width:0;background:var(--green);padding:0 12px 0 18px;color:var(--ink)}.save-button span:last-child{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:999px;background:rgba(255,255,255,.78)}.save-button:hover{background:var(--ink);color:#fff}.ghost-button{width:auto;border:1px solid var(--line);background:#fff;padding:0 16px;color:var(--muted)}.ghost-button:hover{border-color:rgba(33,150,243,.28);background:rgba(244,250,255,.78);color:var(--ink)}.form-message{margin:0;color:var(--muted);font-size:14px;font-weight:700}.admin-preview{position:-webkit-sticky;position:sticky;top:96px;display:grid;grid-gap:12px;gap:12px}.admin-preview-head{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:900}.admin-preview-head small{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-preview-door{position:relative;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:rgba(255,255,255,.78);padding:14px;box-shadow:0 18px 56px rgba(20,82,128,.08)}.admin-preview-door .door-frame{height:210px}.admin-preview-door .door-panel{transform:rotateY(-10deg) translateX(5px)}.admin-preview-door .project-main{min-height:0;margin-top:18px}.admin-preview-door .project-main strong{min-height:0;font-size:clamp(28px,4vw,44px)}.admin-preview-door .project-main span{min-height:0;font-size:13px;-webkit-line-clamp:3}.admin-preview-door .project-tags{min-height:0;margin-top:16px;padding-right:0}.admin-marquee-panel{display:grid;grid-gap:22px;gap:22px}.marquee-preview{display:flex;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:rgba(244,250,255,.72)}.marquee-preview div{display:flex;min-width:max-content;animation:marquee 24s linear infinite}.marquee-preview span{padding:14px 20px;color:var(--muted);font-family:var(--font-display),var(--font-sans),sans-serif;font-size:clamp(22px,4vw,46px);font-weight:700;white-space:nowrap}.marquee-preview span:nth-child(2n){color:var(--blue)}.marquee-preview span:nth-child(3n){color:var(--green)}.marquee-editor{display:grid;grid-gap:16px;gap:16px}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.inline-field button{width:auto;padding:0 18px}.marquee-items{display:grid;grid-gap:10px;gap:10px}.marquee-items article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:rgba(244,250,255,.56);padding:10px}.marquee-items article>span{color:var(--blue);font-family:var(--font-display),var(--font-sans),sans-serif;font-size:14px;font-weight:700}.system-link-items article{grid-template-columns:42px 38px minmax(120px,.75fr) minmax(190px,1.2fr) minmax(170px,1fr) 72px auto auto}.bubble-admin-icon{width:30px;height:30px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff;padding:4px}.compact-checkbox{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:800;white-space:nowrap}.compact-checkbox input{width:16px;height:16px;accent-color:var(--green)}.not-found-page{min-height:100svh}.not-found-shell{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);grid-gap:44px;gap:44px;align-items:end;width:min(1240px,calc(100% - 36px));min-height:calc(100svh - 74px);margin:0 auto;padding:clamp(56px,8vh,88px) 0 clamp(44px,7vh,72px)}.not-found-copy{max-width:940px}.not-found-copy h1{max-width:860px}.not-found-copy h1 span{color:var(--blue)}.not-found-copy>p:not(.eyebrow){max-width:590px;margin:26px 0 0;color:var(--muted);font-size:clamp(17px,2vw,22px);font-weight:650;line-height:1.5}.not-found-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.not-found-actions a{display:inline-flex;align-items:center;justify-content:space-between;min-height:48px;border-radius:8px;padding:0 16px;font-size:14px;font-weight:900;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.primary-action{min-width:154px;background:var(--green);color:var(--ink)}.primary-action:after,.secondary-action:after{margin-left:14px;content:"->"}.primary-action:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}.secondary-action{min-width:172px;border:1px solid var(--line);background:rgba(255,255,255,.78);color:var(--muted)}.secondary-action:hover{border-color:rgba(33,150,243,.28);background:rgba(244,250,255,.9);color:var(--ink);transform:translateY(-2px)}.not-found-card{position:relative;z-index:2;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:rgba(255,255,255,.78);padding:18px;box-shadow:var(--shadow)}.not-found-card .door-frame{height:300px;margin-top:34px}.missing-door .door-panel{transform:rotateY(-12deg) translateX(6px)}.missing-door .door-light{opacity:.7;transform:scale(1)}.not-found-card strong{display:block;margin-top:24px;color:var(--ink);font-family:var(--font-display),var(--font-sans),sans-serif;font-size:clamp(30px,4vw,48px);font-weight:700;line-height:.98}.not-found-card p{margin:14px 0 18px;color:var(--muted);font-size:15px;font-weight:650;line-height:1.55}.not-found-card a{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;width:100%;border:1px solid rgba(7,17,31,.08);border-radius:8px;background:rgba(53,199,89,.12);padding:0 10px 0 14px;color:var(--ink);font-size:13px;font-weight:900;text-decoration:none;transition:background .18s ease,transform .18s ease}.not-found-card a:after{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:999px;background:var(--ink);color:#fff;content:"->"}.not-found-card a:hover{border-color:rgba(33,150,243,.24);background:rgba(33,150,243,.14);transform:translateY(-2px)}.not-found-card a:hover:after{background:var(--green);color:var(--ink)}.not-found-visual{position:absolute;right:1vw;bottom:24px;z-index:-1;width:min(48vw,560px);aspect-ratio:1;pointer-events:none}@keyframes reveal-up{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes float-one{50%{transform:translate(18px,-16px) scale(1.06)}}@keyframes float-two{50%{transform:translate(-14px,18px) scale(.96)}}@keyframes water-drop{0%,62%,to{opacity:0;transform:rotate(32deg) translateY(-24px)}72%{opacity:.86}82%{opacity:0;transform:rotate(32deg) translateY(86px)}}@keyframes water-ring{0%,74%,to{opacity:0;transform:translate(-50%,-50%) scale(.2)}80%{opacity:.62}96%{opacity:0;transform:translate(-50%,-50%) scale(5.2)}}@keyframes door-flash{0%{opacity:0}36%{opacity:.18}70%{opacity:.72}to{opacity:.96}}@keyframes gate-open-left{0%{transform:translateX(0) rotateY(0deg)}36%{transform:translateX(-8vw) rotateY(14deg)}68%{transform:translateX(-34vw) rotateY(36deg)}to{transform:translateX(-64vw) rotateY(54deg)}}@keyframes gate-open-right{0%{transform:translateX(0) rotateY(0deg)}36%{transform:translateX(8vw) rotateY(-14deg)}68%{transform:translateX(34vw) rotateY(-36deg)}to{transform:translateX(64vw) rotateY(-54deg)}}@keyframes gate-light{0%{opacity:0;transform:scaleX(.018) scaleY(.62);filter:blur(22px)}24%{opacity:.42;transform:scaleX(.06) scaleY(.74)}58%{opacity:.86;transform:scaleX(.38) scaleY(1);filter:blur(16px)}to{opacity:1;transform:scaleX(1.18) scaleY(1.18);filter:blur(0)}}@keyframes gate-title{0%{opacity:0;transform:translateY(18px) scale(.96)}22%{opacity:.9;transform:translateY(0) scale(1)}54%{opacity:.62}to{opacity:0;transform:translateY(-16px) scale(1.08)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (max-width:880px){body{background-attachment:scroll;background-position:top}.contact-section,.hero,.projects,.site-header-inner,footer{width:min(100% - 28px,1240px)}nav{gap:14px}nav a{font-size:13px}.hero{min-height:auto;padding:62px 0 54px}.contact-section,.hero-grid,.not-found-shell,.section-heading{grid-template-columns:1fr}.hero-card{max-width:420px}.not-found-card{max-width:460px}.hero-visual{bottom:10%}.hero-visual,.not-found-visual{right:-10vw;width:min(78vw,520px);overflow:hidden}.not-found-visual{bottom:8%}.projects{padding-top:72px}.admin-dashboard-layout,.admin-editor-grid,.admin-layout,.project-list{grid-template-columns:1fr}.admin-sidebar{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-preview,.admin-sidebar{position:static}.marquee-items article{grid-template-columns:34px minmax(0,1fr)}.system-link-items article{grid-template-columns:34px 34px minmax(0,1fr)}.system-link-items article .compact-checkbox,.system-link-items article input{grid-column:3}.marquee-items article .danger-button{grid-column:2;width:-moz-fit-content;width:fit-content}.system-link-items article .danger-button{grid-column:3}.system-bubbles{top:auto;right:8px;bottom:max(10px,env(safe-area-inset-bottom));left:8px;display:flex;justify-content:center;gap:clamp(4px,1.5vw,8px);overflow-x:auto;padding:4px;scrollbar-width:none;transform:none}.system-bubbles::-webkit-scrollbar{display:none}.system-bubbles a{width:clamp(32px,9vw,40px);height:clamp(32px,9vw,40px);flex:0 0 clamp(32px,9vw,40px)}.system-bubbles img{width:clamp(20px,5.8vw,25px);height:clamp(20px,5.8vw,25px)}.system-bubbles a:hover{transform:translateY(-3px) scale(1.04)}.system-bubbles span{right:50%;bottom:calc(100% + 9px);transform:translate(50%,8px)}.system-bubbles a:focus-visible span,.system-bubbles a:hover span{transform:translate(50%)}.project-door{min-height:0;overflow:hidden;padding-bottom:76px}.door-frame{overflow:hidden;height:280px}.contact-board{min-height:340px}.project-main strong{min-height:0;font-size:clamp(30px,11vw,56px)}.project-main{min-height:0}.project-main span{min-height:0;-webkit-line-clamp:3}.form-grid{grid-template-columns:1fr}}@media (max-width:560px){.site-header-inner{height:66px}.site-header nav a:nth-child(2){display:none}.brand{gap:3px;font-size:13px}h1{font-size:clamp(56px,18vw,88px)}.not-found-shell{min-height:auto;padding-top:52px}.not-found-actions a{width:100%}.not-found-card .door-frame{height:240px}.marquee span{padding-inline:18px}.contact-section{padding-top:76px}.contact-board{min-height:410px}.contact-board:before,.contact-orbit{inset:34px 20px 124px}.contact-mail{right:16px;bottom:16px;left:16px}.contact-node{max-width:calc(100% - 32px)}.node-linkedin{top:48px;left:18px}.node-facebook{top:126px;right:18px}.node-github{top:208px;left:52px}}