:root{--background-color: rgb(6, 4, 14);--background-transparent-color: rgba(6, 4, 14, 0);--background-header-color: rgba(10, 8, 20, .82);--quarte-color: rgb(20, 10, 40);--tertiary-color: rgb(96, 76, 140);--secondary-color: rgb(136, 112, 176);--primary-color: rgb(214, 206, 255);--text-color: rgba(228, 228, 232, 1);--highlight-color: rgb(214, 171, 105);--dropshadow-color: rgba(136, 112, 176, .6)}body{margin:0;min-height:100vh;background-color:var(--background-color);color:var(--text-color);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}canvas{display:block}#quarks-js{position:absolute;width:100%;height:100%;background-color:var(--background-color)}#quarks-webgl{position:fixed;inset:0;width:100%;height:100%;display:block;background-color:var(--background-color);z-index:0;pointer-events:none}.page-body{display:flex;flex-direction:row;flex-wrap:wrap;vertical-align:middle;background-color:var(--background-transparent-color);position:relative;z-index:10;padding:96px 8vw 48px;box-sizing:border-box;gap:25px}.menu-brand-container{display:flex;flex-direction:row;padding:10px;flex-wrap:wrap;align-items:left}.menu-brand-title-container{display:flex;flex-direction:column;flex-wrap:wrap;vertical-align:title;font-weight:600}.menu-header{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;vertical-align:middle;background-color:var(--background-header-color);position:sticky;top:0;z-index:1001;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(214,171,105,.25);box-shadow:0 10px 30px #0000008c}.menu-brand-logo-container{display:block;padding:0;margin:0}.menu-brand-logo{width:75px;height:75px;display:block;filter:drop-shadow(0 0 6px var(--dropshadow-color));padding-right:25px}.menu-brand-title-primary{color:var(--primary-color);font-size:24px}.menu-brand-title-second{color:var(--secondary-color);font-size:30px}.menu-brand-tagline{color:var(--text-color);padding:0;font-size:12px}.menu-links{display:flex;flex-direction:row;flex-wrap:wrap;flex-grow:1;align-items:center;justify-content:end;gap:20px;font-size:14px;text-transform:uppercase;letter-spacing:1.4px;padding-right:25px}.menu-links a{color:var(--text-color);text-decoration:none;opacity:.85;transition:opacity .2s ease}.menu-links a:hover{opacity:1;color:var(--highlight-color);transform:scale(1.2)}.menu-links a.active{opacity:1;color:var(--highlight-color)}h1{color:var(--primary-color);z-index:10;position:relative}h2{position:relative;z-index:10;color:var(--tertiary-color)}h3{position:relative;z-index:10;color:var(--secondary-color)}.card{position:relative;background:radial-gradient(circle at top left,rgba(214,171,105,.08),transparent 55%),linear-gradient(145deg,#140a28f5,#050210fa);margin:12px;border-radius:20px;border:1px solid rgba(214,171,105,.28);box-shadow:0 18px 45px #000000bf,0 0 0 1px #604c8c59;width:auto;overflow:hidden;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out}.card:hover{transform:translateY(-4px);box-shadow:0 26px 60px #000000d9,0 0 0 1px #d6ab6973;border-color:#d6ab698c}.card-title{display:flex;flex-direction:row;flex-wrap:wrap;flex-grow:1;align-items:center;justify-content:center;position:relative;padding:20px;border-radius:20px 20px 0 0;border-bottom:1px solid rgba(214,171,105,.55);background:linear-gradient(120deg,#140a28fa,#3c235cf5);color:var(--text-color);text-transform:uppercase;letter-spacing:2px;font-size:.9rem}.card-body{display:flex;flex-direction:row;flex-wrap:wrap;flex-grow:1;vertical-align:middle;position:relative;width:100%;color:var(--text-color);padding:25px;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}.headshot{width:150px;padding:10px 25px 10px 10px;border-radius:80px;height:auto;display:block}.site-footer{display:flex;justify-content:center;gap:20px;padding:12px 20px 28px}.site-footer a{color:var(--text-color);font-size:.85rem;letter-spacing:.04em}.menu-about{position:relative}.menu-about-toggle{background:none;border:0;padding:0;color:var(--text-color);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;opacity:.85}.menu-about-toggle:hover,.menu-about-toggle.active{opacity:1;color:var(--highlight-color)}.menu-about-panel{display:none;position:absolute;top:100%;right:0;min-width:220px;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;background-color:var(--background-header-color);border:1px solid rgba(214,171,105,.25);box-shadow:0 10px 30px #0000008c;z-index:1003}.menu-about:hover .menu-about-panel,.menu-about:focus-within .menu-about-panel,.menu-about--open .menu-about-panel{display:flex}.menu-about-panel a{transform:none;text-transform:none;letter-spacing:.04em;white-space:nowrap}.menu-about-panel a:hover{transform:none}.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;margin-right:16px;background:transparent;border:1px solid var(--secondary-color);border-radius:8px;cursor:pointer;z-index:20}.menu-toggle-bar{display:block;width:20px;height:2px;background:var(--text-color);margin:3px 0;transition:transform .2s ease}@media(max-width:768px){.menu-header{align-items:center}.menu-links{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px 20px;background-color:var(--background-header-color);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1002}.menu-links.menu-links--open{display:flex}.menu-about-panel{position:static;min-width:0;padding:4px 0 0 12px;background:transparent;border:0;box-shadow:none}.menu-links--open .menu-about-panel{display:flex}.menu-toggle{display:inline-flex}}.home-page{flex-direction:column;align-items:stretch;justify-content:center;min-height:calc(100vh - 96px);gap:0;padding-top:72px;padding-bottom:72px}.home-choices{display:flex;flex-direction:column;gap:20px;width:min(720px,100%);margin:0 auto}.home-choice{display:flex;flex-direction:column;gap:10px;padding:28px 32px;text-decoration:none;color:inherit;border-radius:20px;border:1px solid rgba(214,171,105,.28);background:radial-gradient(circle at top left,rgba(214,171,105,.08),transparent 55%),linear-gradient(145deg,#140a28f5,#050210fa);box-shadow:0 18px 45px #000000bf,0 0 0 1px #604c8c59;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out}.home-choice:hover{transform:translateY(-4px);border-color:#d6ab698c;box-shadow:0 26px 60px #000000d9,0 0 0 1px #d6ab6973}.home-choice:hover .home-choice-cta{color:var(--highlight-color);letter-spacing:.04em}.home-choice:focus-visible{outline:2px solid var(--highlight-color);outline-offset:4px}.home-choice-question{font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:600;line-height:1.25;color:var(--primary-color);letter-spacing:.02em}.home-choice-offer{font-size:.95rem;line-height:1.4;color:var(--text-color)}.home-choice-cta{font-size:clamp(1rem,1.8vw,1.15rem);color:var(--secondary-color);transition:color .18s ease-out,letter-spacing .18s ease-out}@media(max-width:640px){.home-page{min-height:auto;padding-top:48px;padding-bottom:48px}.home-choice{padding:22px 20px}}.projects-intro-card{width:100%}.projects-section{flex:1 1 100%;display:flex;flex-direction:column;gap:8px}.projects-section-title{margin:8px 12px 0;letter-spacing:2px;text-transform:uppercase;font-size:1rem}.projects-client-name{margin:0;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;color:var(--highlight-color)}.projects-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:25px;width:100%;align-items:stretch}.projects-headshot-card,.projects-repo-card{flex:1 1 300px;min-width:min(100%,280px);margin:0}.projects-headshot-body{align-items:center;gap:16px}.projects-headshot-text h3{margin:0}.projects-repos-wrapper{display:flex;flex-wrap:wrap;gap:25px;flex:1 1 100%}.projects-repo-card .card-body{display:flex;flex-direction:column;gap:12px}.projects-repo-card.has-logo .card-body{flex-direction:row;align-items:flex-start}.projects-repo-badge{width:120px;height:120px;flex:0 0 120px;object-fit:contain;box-sizing:border-box;padding:8px;border-radius:16px;border:1px solid rgba(214,171,105,.45);background:radial-gradient(circle at top left,rgba(214,171,105,.16),transparent 60%),#050210b8}.projects-repo-copy{display:flex;flex-direction:column;gap:12px;flex:1 1 180px;min-width:0}.projects-repo-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}.projects-repo-language{font-size:.8rem;opacity:.9}.projects-repo-link{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--highlight-color);text-decoration:none}.projects-repo-link:hover{text-decoration:underline}@media(max-width:900px){.projects-headshot-card,.projects-repo-card{flex-basis:100%;min-width:0}.projects-repo-card.has-logo .card-body{flex-direction:column;align-items:center}}.gallery-card{width:calc(50% - 50px)}.page-body>.card:first-child{width:100%}.gallery-intro-card .card-body{flex-direction:column;align-items:flex-start;gap:16px}.gallery-art-link{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--highlight-color);text-decoration:none}.gallery-art-link:hover{text-decoration:underline}.gallery-card .card-body{flex-direction:column;align-items:center;text-align:center}.gallery-card-image{width:100%;max-width:420px;height:auto;border-radius:16px;box-shadow:0 6px 18px #00000059;margin-bottom:16px}.gallery-card-description{margin:0;color:var(--text-color);line-height:1.5}@media(max-width:900px){.gallery-card{width:calc(100% - 50px)}}.animate-page{flex-direction:column;align-items:stretch;gap:48px;max-width:1100px;margin:0 auto}.animate-hero{display:flex;flex-direction:column;gap:16px;max-width:40rem}.animate-headline{margin:0;font-size:clamp(2rem,5vw,3.25rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--primary-color)}.animate-subheadline{margin:0;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.55;color:var(--text-color);opacity:.92}.animate-examples{display:flex;flex-direction:column;gap:40px}.animate-example{display:flex;flex-direction:column;gap:14px}.animate-example-title{margin:0;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--highlight-color)}.animate-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}.animate-frame{margin:0;display:flex;flex-direction:column;gap:10px}.animate-frame-media{position:relative;aspect-ratio:1;overflow:hidden;border-radius:12px;border:1px solid rgba(214,171,105,.28);background:#140a28d9}.animate-frame-media img{display:block;width:100%;height:100%;object-fit:cover}.animate-frame figcaption{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary-color)}.animate-after{will-change:transform}.animate-after img{transform-origin:center center}.animate-after--float img{animation:animate-float 4.5s ease-in-out infinite}.animate-after--breathe img{animation:animate-breathe 5s ease-in-out infinite}.animate-after--drift img{animation:animate-drift 7s ease-in-out infinite}@keyframes animate-float{0%,to{transform:translateY(0) scale(1.04)}50%{transform:translateY(-3.5%) scale(1.08)}}@keyframes animate-breathe{0%,to{transform:scale(1.02)}50%{transform:scale(1.1)}}@keyframes animate-drift{0%,to{transform:translate(0) scale(1.08)}33%{transform:translate(-2%,1.5%) scale(1.1)}66%{transform:translate(2%,-1%) scale(1.12)}}.animate-promise{margin:0;max-width:28rem;font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.4;color:var(--primary-color)}.animate-cta-wrap{display:flex;justify-content:flex-start}.animate-cta{display:inline-flex;align-items:center;justify-content:center;padding:18px 28px;border-radius:12px;border:1px solid rgba(214,171,105,.55);background:linear-gradient(120deg,#d6ab69f2,#b88c4eeb);color:#120a08;font-size:clamp(1rem,1.8vw,1.15rem);font-weight:700;text-decoration:none;letter-spacing:.01em;box-shadow:0 14px 36px #00000073;transition:transform .18s ease-out,box-shadow .18s ease-out,filter .18s ease-out}.animate-cta:hover{transform:translateY(-3px);filter:brightness(1.05);box-shadow:0 20px 44px #0000008c}.animate-cta:focus-visible{outline:2px solid var(--highlight-color);outline-offset:4px}@media(prefers-reduced-motion:reduce){.animate-after--float img,.animate-after--breathe img,.animate-after--drift img{animation:none}}@media(max-width:720px){.animate-page{gap:36px}.animate-compare{grid-template-columns:1fr;gap:20px}.animate-cta{width:100%;text-align:center}}.contact-card{width:100%}.contact-form{display:flex;flex-direction:column;gap:16px;width:100%}.contact-field{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--text-color)}.contact-field input,.contact-field textarea{background:#050109a6;border:1px solid rgba(194,184,255,.35);border-radius:12px;padding:12px 14px;color:var(--text-color);font-size:14px;font-family:inherit}.contact-field input:focus,.contact-field textarea:focus{outline:2px solid var(--highlight-color);outline-offset:2px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.contact-submit{background:var(--secondary-color);color:var(--text-color);border:none;border-radius:10px;padding:12px 18px;cursor:pointer;text-transform:uppercase;letter-spacing:1px;font-weight:600}.contact-submit:hover{color:var(--highlight-color)}.contact-submit:disabled{cursor:not-allowed;opacity:.7}.contact-email-link{color:var(--text-color);text-decoration:none;font-size:14px;opacity:.85}.contact-email-link:hover{opacity:1;color:var(--highlight-color)}.contact-thanks{margin-top:8px;padding:12px 14px;border-radius:12px;border:1px solid rgba(234,249,182,.6);background:#1a042bcc;color:var(--highlight-color);font-size:14px;letter-spacing:.4px}.contact-error{margin-top:8px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,120,120,.6);background:#3c0a14e6;color:#ffd6d6;font-size:14px}.about-intro-card{width:100%}.about-intro-body{display:flex;align-items:center;gap:24px}.about-intro-body h3{margin-top:0}.about-intro-body p{margin:0}.steampunk-card{position:relative;border:1px solid rgba(214,171,105,.45);background:linear-gradient(160deg,#140a28fa,#3c235ce6)}.steampunk-card:before{content:"";position:absolute;inset:10px;border:1px dashed rgba(234,249,182,.45);border-radius:18px;pointer-events:none}.about-site-card .card-body{flex-direction:column}.steampunk-card .card-body{gap:24px 32px}.about-card-section{display:flex;flex-direction:column;gap:8px;flex:1 1 240px;min-width:min(100%,220px);margin-bottom:0}.about-card-section:last-child{margin-bottom:0}.about-card-section h3{margin:0;color:var(--highlight-color)}.about-card-section ul{margin:0;padding-left:18px;color:var(--text-color)}.about-card-section p{margin:0;color:var(--text-color)}@media(max-width:900px){.about-intro-body{flex-direction:column;align-items:flex-start}}.privacy-body{flex-direction:column;flex-wrap:nowrap;gap:12px}.privacy-body h2{margin:12px 0 0;font-size:1.05rem;letter-spacing:.04em}.privacy-body p{margin:0;line-height:1.55}.privacy-body a{color:var(--highlight-color)}.terms-body{flex-direction:column;flex-wrap:nowrap;gap:12px}.terms-body h2{margin:12px 0 0;font-size:1.05rem;letter-spacing:.04em}.terms-body p{margin:0;line-height:1.55}.terms-body a{color:var(--highlight-color)}.not-found-page{justify-content:center}.not-found-card{width:min(720px,100%)}.not-found-body{flex-direction:column;gap:16px;text-align:center}.not-found-link{align-self:center;padding:10px 18px;border-radius:10px;background:var(--secondary-color);color:var(--text-color);text-decoration:none;text-transform:uppercase;letter-spacing:1px}.not-found-link:hover{color:var(--highlight-color)}
