/* Original VIM identity and self-contained project showcase. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:root{--orange:#ff5e2c;--vanilla:#fff6c0;--font:Nunito,Arial,sans-serif;--display:Nunito,Arial,sans-serif;--yellow:#fff6c0}body{font-family:var(--font)}.primary{color:#17130f;font-weight:800}.primary:hover{background:#ff774c}.light{background:#fff}h1,h2{font-weight:700}h3{font-weight:700}.pill{letter-spacing:.06em}.logo-crop{display:block!important;position:relative;width:110px;aspect-ratio:310/220;overflow:hidden;margin:0!important;line-height:1!important}.logo-crop img{position:absolute;width:451.613%;height:auto;max-width:none;left:-176.774%;top:-147.727%}.header .brand .logo-crop{width:69px}.header{padding-block:4px}.intro-logo{display:block}.intro-logo>span>.logo-crop{width:250px}.intro-logo small{white-space:nowrap;left:50%;right:auto;transform:translateX(-50%);font-family:var(--font);font-size:.6rem;letter-spacing:.16em}.footer-brand .logo-crop{width:120px}.feature-word .logo-crop{width:230px}.core img{display:block;width:100%;height:100%;border-radius:inherit}.core{background:transparent;border:0}.experience-brand{background:none;padding:0}.experience-brand img{width:100%;height:auto;display:block}.feature-word{position:relative}.feature-visual{background:radial-gradient(ellipse at 15% 0%,#ff5e2c35,transparent 65%),#090909}.icon{color:#ad3512}.light .pill{background:#ff5e2c0b;border-color:#ddd;color:#6b4822}.light .eyebrow{color:#8c391c}.light p{color:#666}.service-grid{grid-template-columns:repeat(6,1fr);gap:24px}.service-card{grid-column:span 2;border-top-color:#ddd}.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 3}.service-card p{min-height:85px}.tags span{border-color:#ddd;color:#666}.services-foot{border-color:#ddd}.feature-copy .eyebrow{color:#964420}.experience-panel{background:#fff;border-color:#e5e5e5}.experience-grid>div>span{background:#ff5e2c15;color:#a43614}.experience-halo{background:radial-gradient(ellipse at 50% 0%,#ffe2a3,#fff2d4 40%,#fff0 72%)}.experience-panel>.feature-link{border-color:#e5e5e5}.contact-hint{text-align:center;font-size:.7rem;color:#a49b92;margin:14px 0 0}.verified-links a{color:#b4a596}.portfolio{background:#080808;position:relative;z-index:3;padding-bottom:120px}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}.portfolio-heading h2{margin-bottom:0}.portfolio-heading>p{max-width:350px;font-size:.9375rem;margin:0;color:#9b938b}.portfolio .eyebrow{color:#e79a74}.portfolio-filters{display:flex;flex-wrap:wrap;gap:8px;margin:35px 0}.portfolio-filters button{padding:10px 19px;min-height:43px;border:1px solid #ffffff18;border-radius:30px;font-size:.8125rem;color:#b2a79e;transition:background .2s,color .2s}.portfolio-filters button[aria-pressed=true]{background:var(--vanilla);color:#17130f;border-color:var(--vanilla);font-weight:800}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px 24px}.project-card{min-width:0}.project-card[hidden]{display:none}.project-open{width:100%;display:block;text-align:left;border-radius:13px;overflow:hidden;border:1px solid #ffffff13;background:#101010;transition:border-color .25s,transform .25s}.project-open:hover{border-color:#ff5e2c66;transform:translateY(-3px)}.project-screen{position:relative;aspect-ratio:1360/900;overflow:hidden;background:#171717}.project-screen img{width:100%;height:100%;display:block;object-fit:cover;object-position:top;transition:transform .6s}.project-open:hover .project-screen img{transform:scale(1.025)}.browser-chrome{height:27px;display:flex;align-items:center;gap:5px;padding:0 12px;background:#1c1c1c;border-bottom:1px solid #ffffff09}.browser-chrome i{width:5px;height:5px;border-radius:50%;background:#6c6157}.browser-chrome>span{font-size:.6rem;color:#9f9185;margin-left:auto}.project-overlay{position:absolute;right:15px;bottom:15px;background:#fff6c0;color:#17130f;backdrop-filter:blur(10px);border-radius:30px;padding:9px 14px;font-size:.75rem;font-weight:800;box-shadow:0 5px 20px #0003}.project-info{padding:22px 24px}.project-type{font-size:.625rem;text-transform:uppercase;letter-spacing:.13em;color:#dd9773;margin:0 0 8px}.project-info h3{font-size:1.5rem;margin-bottom:8px;color:#fff7eb}.project-info>p:not(.project-type){font-size:.875rem;line-height:1.65;color:#a69a90;margin-bottom:17px}.project-tags{display:flex;gap:6px;flex-wrap:wrap}.project-tags span{font-size:.625rem;color:#bbae9e;border:1px solid #ffffff15;border-radius:4px;padding:3px 7px}.portfolio-footnote{margin:26px 0 0;font-size:.75rem;color:#8b8177}.social-heading{margin:80px 0 30px}.social-heading h3{font-size:1.8rem}.social-heading p{font-size:.9375rem;max-width:600px}.social-projects{display:grid;grid-template-columns:1fr 1fr;gap:24px}.social-projects .project-screen{aspect-ratio:1360/900}.project-dialog{width:min(1240px,calc(100% - 36px));max-width:none;height:min(92svh,1000px);max-height:92svh;padding:0;border:1px solid #ffffff25;border-radius:16px;background:#101010;color:#fff6ee;overflow:hidden;box-shadow:0 30px 120px #0009}.project-dialog::backdrop{background:#000b;backdrop-filter:blur(12px)}.project-dialog[open]{display:flex;flex-direction:column}.dialog-heading{padding:21px 25px 15px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0}.dialog-heading h2{font-size:1.6rem;margin:0}.dialog-heading .eyebrow{font-size:.6rem;color:#e99e7c;margin-bottom:5px}.dialog-close{width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff20;border-radius:50%;font-size:1.4rem;flex-shrink:0}.dialog-close:hover{background:#ffffff10}.dialog-description{padding:0 25px;margin:0 0 15px;max-width:850px;font-size:.8125rem;color:#b3a397}.dialog-toolbar{display:flex;align-items:center;gap:15px;padding:0 25px 16px;flex-shrink:0;border-bottom:1px solid #ffffff12}.project-views{display:flex;flex:1;flex-wrap:wrap;gap:7px}.project-views button{border:1px solid #ffffff19;border-radius:6px;padding:8px 11px;font-size:.75rem;color:#bfae9f}.project-views button[aria-pressed=true]{border-color:#ff5e2c;background:#ff5e2c14;color:#ffd5bb}.zoom-toggle{font-size:.75rem;white-space:nowrap;color:#fff6c0;padding:8px 10px;min-height:38px}.project-viewport{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;background:#252525;scrollbar-color:#685447 #211b17;position:relative}.project-viewport img{display:block;width:100%;height:auto;margin:auto}.project-viewport.is-zoom img{width:1360px;max-width:none;margin:0}.dialog-caption{padding:10px 25px;margin:0;flex-shrink:0;border-top:1px solid #ffffff12;font-size:.7rem;color:#a89585;background:#101010}.project-dialog .project-error{padding:60px 30px;color:#ddd0c0}.social-heading[hidden],.social-projects[hidden]{display:none}.project-empty{grid-column:1/-1;padding:20px;color:#a99c90}.project-card:focus-within{outline-offset:7px}.service-card:nth-child(5) .icon{font-size:1.4rem}
@media(max-width:760px){.portfolio-heading{display:block}.portfolio-heading>p{margin-top:23px;max-width:100%}.portfolio-grid,.social-projects{grid-template-columns:1fr;gap:22px}.portfolio-filters{gap:6px}.portfolio-filters button{padding:8px 13px;font-size:.75rem}.project-info{padding:20px}.project-info h3{font-size:1.3rem}.project-overlay{font-size:.6875rem;padding:7px 11px;right:10px;bottom:10px}.portfolio{padding-bottom:80px}.project-dialog{width:calc(100% - 16px);height:94svh;max-height:94svh;border-radius:11px}.dialog-heading{padding:17px 16px 12px}.dialog-heading h2{font-size:1.25rem}.dialog-description{padding:0 16px;font-size:.75rem}.dialog-toolbar{padding:0 16px 13px;gap:6px;align-items:start;flex-direction:column}.project-views button{padding:7px 9px;font-size:.7rem}.zoom-toggle{align-self:flex-end;min-height:32px;padding:5px 0}.dialog-caption{padding:10px 15px;font-size:.65rem}.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}.service-card p{min-height:0}.header .brand .logo-crop{width:62px}.intro-logo>span>.logo-crop{width:190px}.feature-word .logo-crop{width:180px}.social-heading{margin-top:60px}}
@media(prefers-reduced-motion:reduce){.project-open:hover{transform:none}.project-open:hover .project-screen img{transform:none}.project-viewport{scroll-behavior:auto}}

/* Embedded local demos retain their own typography and independent scroll. */
.demo-tools{display:flex;align-items:center;gap:8px;padding:9px 25px;border-bottom:1px solid #ffffff14;flex-shrink:0}
.demo-tools[hidden],#project-zoom[hidden]{display:none}
.demo-tools button{padding:6px 13px;border:1px solid #ffffff25;border-radius:6px;font-size:.75rem;min-height:35px}
.demo-tools button:disabled{opacity:.35;cursor:default}
.demo-tools button:last-child{margin-left:auto}
.demo-page-picker{min-width:0;max-width:240px;color:#eee;background:#211d1c;border:1px solid #ffffff25;border-radius:6px;padding:7px 11px;font:400 .75rem Nunito,Arial,sans-serif}
.demo-page-picker[hidden]{display:none}
.project-viewport.is-demo{overflow:hidden;background:#fff;display:flex;min-height:250px}
.project-demo{border:0;width:100%;height:100%;flex:1;display:block;background:#fff}
.project-dialog.demo-expanded{width:calc(100% - 16px);height:calc(100svh - 16px);max-height:calc(100svh - 16px)}
@media(max-width:760px){.demo-tools{padding:7px 12px;display:grid;grid-template-columns:auto auto 1fr auto;gap:6px}.demo-tools button{padding:5px 8px;font-size:.68rem;min-height:31px}.demo-tools button:last-child{margin-left:0}.demo-page-picker{max-width:none;width:100%;padding:5px 6px;font-size:.68rem}.project-dialog:has(.is-demo) .dialog-heading{padding:10px 12px 7px}.project-dialog:has(.is-demo) .dialog-heading .eyebrow{display:none}.project-dialog:has(.is-demo) .dialog-heading h2{font-size:1.05rem}.project-dialog:has(.is-demo) .dialog-close{width:32px;height:32px;font-size:1.15rem}.project-dialog:has(.is-demo) .dialog-description{display:none}.project-dialog:has(.is-demo) .dialog-toolbar{padding:0 12px 8px;display:block}.project-dialog:has(.is-demo) .project-views{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.project-dialog:has(.is-demo) .project-views button{white-space:nowrap;padding:5px 8px;font-size:.68rem}.project-dialog:has(.is-demo) .dialog-caption{padding:6px 12px;font-size:.62rem}}
