:root{--purple:#39154E;--orange:#DF5F0F;--bg:#fff;--alt:#F4F1F5;--surface:#fff;--ink:#2a1238;--muted:#6B5A73;--line:#e3dbe8;--accent-text:#B84A06;--display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--body:"Instrument Sans","Segoe UI",system-ui,sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#1a0b25;--alt:#220f31;--surface:#2b1540;--ink:#f4f1f5;--muted:#bfb0c7;--line:#43285a;--accent-text:#ff8a4a}}:root[data-theme=dark]{color-scheme:dark;--bg:#1a0b25;--alt:#220f31;--surface:#2b1540;--ink:#f4f1f5;--muted:#bfb0c7;--line:#43285a;--accent-text:#ff8a4a}*,*:before,*:after{box-sizing:border-box}html{height:100%;scroll-behavior:smooth;scroll-padding-top:calc(76px + env(safe-area-inset-top,0px))}body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--body)}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--purple);z-index:60}h1,h2,h3{font-family:var(--display);line-height:1.1;margin:0;letter-spacing:-.02em}h2{font-size:clamp(1.9rem,4vw,2.75rem);font-weight:800;max-width:20ch}h3{font-size:1.2rem;font-weight:700}p{margin:0}a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:0 1.25rem}section{padding:5rem 0}.alt{background:var(--alt)}.lead{color:var(--muted);max-width:60ch;margin-top:1rem}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.btn{display:inline-block;padding:.85rem 1.5rem;border-radius:6px;font-weight:600;text-decoration:none;border:2px solid transparent;cursor:pointer;font:600 1rem var(--body);transition:transform .15s,background .15s}.btn:hover{transform:translateY(-2px)}.btn-o{background:var(--orange);color:#fff}.btn-o:hover{background:#c85409}.btn-g{border-color:#ffffff80;color:#fff}.btn-g:hover{background:#ffffff1f}header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--purple);color:#fff}.nav{display:flex;align-items:center;justify-content:space-between;height:68px}.logo{font:800 1.15rem var(--display);text-decoration:none;letter-spacing:-.01em}.logo b{color:var(--orange)}.links{display:flex;gap:1.5rem;align-items:center}.links a{text-decoration:none;font-size:.95rem;opacity:.9}.links a:hover{opacity:1;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:6px}.links .btn{padding:.55rem 1.1rem;opacity:1}.burger{display:none;background:none;border:0;color:#fff;font-size:1.7rem;cursor:pointer;padding:.25rem .5rem}@media (max-width:860px){.burger{display:block}.links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--purple);flex-direction:column;align-items:flex-start;padding:1rem 1.25rem 1.5rem;gap:1rem}.links.open{display:flex}}.hero{background:var(--purple);color:#fff;padding:5rem 0 5.5rem;overflow:hidden}.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:800}.hero h1 span{display:block;color:#ffb27d}.hero p{margin-top:1.4rem;color:#e3d6ea;max-width:52ch;font-size:1.15rem}.cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}.stats{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2)}.stats div{font-size:.9rem;color:#cdbcd7}.stats strong{display:block;font:800 2rem var(--display);color:#fff}.panel{background:#2a0f3b;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:1.1rem;box-shadow:0 24px 60px #00000059}.bar{display:flex;gap:6px;margin-bottom:1rem}.bar i{width:10px;height:10px;border-radius:50%;background:#ffffff40}.row{display:flex;justify-content:space-between;align-items:center;padding:.7rem .8rem;border-radius:8px;background:#ffffff0f;margin-bottom:.55rem;font-size:.92rem}.row small{color:#cdbcd7;display:block;font-size:.78rem}.tag{font-size:.78rem;font-weight:600;padding:.2rem .6rem;border-radius:99px;background:#df5f0f40;color:#ffb27d}.tag.ok{background:#78dca033;color:#9ee6bd}.meter{height:8px;border-radius:9px;background:#ffffff1f;margin:.4rem 0 .2rem;overflow:hidden}.meter i{display:block;height:100%;width:72%;background:var(--orange);border-radius:9px;animation:fill 1.6s ease-out both}@keyframes fill{0%{width:0}}@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}}.grid{display:grid;gap:1.25rem;margin-top:2.5rem}.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.about{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}@media (max-width:860px){.about{grid-template-columns:1fr}}.about .text p+p{margin-top:1rem}.about .text{color:var(--muted)}.vm{display:grid;gap:1rem}.vm div{border-left:4px solid var(--orange);padding:.2rem 0 .2rem 1.1rem}.vm p{color:var(--muted);margin-top:.3rem}.values{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.values span{background:var(--alt);border:1px solid var(--line);padding:.35rem .9rem;border-radius:99px;font-weight:500;font-size:.95rem}.svc{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1.5rem}.svc svg{width:30px;height:30px;stroke:var(--orange);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:.9rem}.svc p{color:var(--muted);margin-top:.5rem;font-size:.98rem}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.filters button{font:500 .95rem var(--body);padding:.5rem 1.1rem;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}.filters button[aria-pressed=true]{background:var(--purple);color:#fff;border-color:var(--purple)}.proj{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.proj[hidden]{display:none}.shot{height:150px;padding:14px 14px 0;display:flex;flex-direction:column}.shot .chrome{background:#fffffff2;color:#4a3a55;border-radius:7px 7px 0 0;flex:1;padding:.5rem .7rem;font-size:.78rem;overflow:hidden}.shot .chrome:after{content:"";display:block;height:7px;width:70%;background:#e6dfeb;border-radius:4px;margin-top:.55rem;box-shadow:0 14px #eee7f1,0 28px #eee7f1}.pb{padding:1.2rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.55rem;flex:1}.pb p{color:var(--muted);font-size:.96rem;flex:1}.meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.8rem;font-weight:600}.meta span{padding:.15rem .6rem;border-radius:99px;background:var(--alt);border:1px solid var(--line)}.meta .mern{color:var(--accent-text)}.visit{color:var(--accent-text);font-weight:600;text-underline-offset:4px}.note{margin-top:2rem;font-weight:500;color:var(--muted)}.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem 3rem;margin-top:2.5rem}.why h3{padding-bottom:.5rem;border-bottom:2px solid var(--orange);display:inline-block}.why p{color:var(--muted);margin-top:.6rem}.chips{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.chips span{padding:.6rem 1.1rem;border-radius:8px;background:var(--surface);border:1px solid var(--line);font-weight:600}.chips.tech span{font-family:var(--display)}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem}@media (max-width:860px){.contact{grid-template-columns:1fr}}.info p{margin-top:1rem;color:var(--muted)}.info strong{color:var(--ink);display:block}form{display:grid;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.5rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width:560px){.two{grid-template-columns:1fr}}label{font-weight:600;font-size:.92rem;display:grid;gap:.35rem}input,textarea{font:400 1rem var(--body);padding:.75rem .85rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);width:100%}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#d33}.err{color:#c0392b;font-size:.85rem;font-weight:500;min-height:0}@media (prefers-color-scheme:dark){.err{color:#ff8a80}}.ok-msg{display:none;padding:1rem;border-radius:8px;background:#28a06426;border:1px solid rgba(40,160,100,.5);font-weight:500}footer{background:var(--purple);color:#d8c9e0;padding:3.5rem 0 2rem;font-size:.95rem}footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}@media (max-width:760px){footer .top{grid-template-columns:1fr}}footer h3{color:#fff;font-size:1rem;margin-bottom:.8rem}footer a{display:block;text-decoration:none;margin-bottom:.4rem}footer a:hover{color:#fff;text-decoration:underline}footer .copy{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.18);font-size:.88rem}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}};{}
